Forum Replies Created

Viewing 3 replies - 1 through 3 (of 3 total)
  • Hi again,

    today I get another email with critical problem from dokan.kit

    An E_ERROR type error occurred on line 884 of the file:

    /home/platne/[hidden-server]/public_html/[hidden-site]/wp-content/plugins/dokan-kits/includes/Core/Data/Stores/SettingsDataStore.php

    Error message:
    Uncaught TypeError: Cannot access offset of type string on string in /home/platne/[hidden-server]/public_html/[hidden-site]/wp-content/plugins/dokan-kits/includes/Core/Data/Stores/SettingsDataStore.php:884

    Stack trace:

    #0 /home/platne/[hidden-server]/public_html/[hidden-site]/wp-content/plugins/dokan-kits/class-dokan-kits.php(328): DokanKits\Core\Data\Stores\SettingsDataStore->update_db_version() #1 /home/platne/[hidden-server]/public_html/[hidden-site]/wp-content/plugins/dokan-kits/class-dokan-kits.php(293): Dokan_Kits->initialize_data_stores() #2 /home/platne/[hidden-server]/public_html/[hidden-site]/wp-includes/class-wp-hook.php(324): Dokan_Kits->boot() #3 /home/platne/[hidden-server]/public_html/[hidden-site]/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters() #4 /home/platne/[hidden-server]/public_html/[hidden-site]/wp-includes/plugin.php(517): WP_Hook->do_action() #5 /home/platne/[hidden-server]/public_html/[hidden-site]/wp-content/plugins/dokan-lite/dokan-class.php(250): do_action() #6 /home/platne/[hidden-server]/public_html/[hidden-site]/wp-includes/class-wp-hook.php(324): WeDevs_Dokan->init_plugin() #7 /home/platne/[hidden-server]/public_html/[hidden-site]/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters() #8 /home/platne/[hidden-server]/public_html/[hidden-site]/wp-includes/plugin.php(517): WP_Hook->do_action() #9 /home/platne/[hidden-server]/public_html/[hidden-site]/wp-content/plugins/woocommerce/includes/class-woocommerce.php(257): do_action() #10 /home/platne/[hidden-server]/public_html/[hidden-site]/wp-includes/class-wp-hook.php(324): WooCommerce->on_plugins_loaded() #11 /home/platne/[hidden-server]/public_html/[hidden-site]/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters() #12 /home/platne/[hidden-server]/public_html/[hidden-site]/wp-includes/plugin.php(517): WP_Hook->do_action() #13 /home/platne/[hidden-server]/public_html/[hidden-site]/wp-settings.php(578): do_action() #14 /home/platne/[hidden-server]/public_html/[hidden-site]/wp-config.php(118): require_once('...') #15 /home/platne/[hidden-server]/public_html/[hidden-site]/wp-load.php(50): require_once('...') #16 /home/platne/[hidden-server]/public_html/[hidden-site]/wp-admin/admin-ajax.php(22): require_once('...') #17 {main} thrown

    System Diagnostics

    ✓ Success7/17/2025, 11:02:13 PM

    Message: System diagnostics completed successfully.

    System Status Overview

    WordPress: 6.8.1

    PHP: 8.3.21

    Plugin: 3.0.3

    System Check: Pass

    I still cannot use this plugin because every time I’ve tried to change some settings and save I got an error:
    “Failed to save settings. Please try again.”

    • This reply was modified 10 months, 2 weeks ago by mateo0.
    Thread Starter mateo0

    (@mateo0)

    https://paste.pics/be8c6b7dc0111f1298bfd99e54ec5ba0

    The problem is that phrases is generated by the JavaScript plugin extension it’s a dynamic generated. Like “Balance” on the screen, althouth the phrase Balance is translated in the .po file and trasnalted in the plugin Loco.

    My resolve was to add some java script plugin ans add this code to this plugin:



    const translateText = () => {
    // Przetłumacz "Balance:" na "Saldo:"
    const balanceHeading = document.querySelector('h4.vendor-earning-title.dokan-layout');
    if (balanceHeading && balanceHeading.textContent.includes('Balance')) {
    balanceHeading.childNodes[0].nodeValue = balanceHeading.childNodes[0].nodeValue.replace('Balance', 'Saldo');
    }

    // Przetłumacz "Overview" na "Przegląd"
    const overviewHeading = document.querySelector('div.woocommerce-layout__header-wrapper > h3:nth-child(1)');
    if (overviewHeading && overviewHeading.textContent.trim() === 'Overview') {
    overviewHeading.textContent = 'Przegląd';
    }

    // Przetłumacz "No data for the selected date range" na "Brak danych dla wybranego zakresu dat"
    document.querySelectorAll('*').forEach(el => {
    if (el.children.length === 0 && el.textContent.trim() === 'No data for the selected date range') {
    el.textContent = 'Brak danych dla wybranego zakresu dat';
    }
    });

    // Przetłumacz "Net sales" na "Sprzedaż netto"
    document.querySelectorAll('*').forEach(el => {
    if (el.children.length === 0 && el.textContent.trim() === 'Net sales') {
    el.textContent = 'Sprzedaż netto';
    }
    });

    // Przetłumacz "Total sales" na "Całkowita sprzedaż"
    document.querySelectorAll('*').forEach(el => {
    if (el.children.length === 0 && el.textContent.trim() === 'Total sales') {
    el.textContent = 'Całkowita sprzedaż';
    }
    });

    };

    // Obserwator do wykrywania zmian w DOM – uruchamia tłumaczenia przy każdym załadowaniu dynamicznej treści
    const observer = new MutationObserver((mutations, obs) => {
    translateText();
    });

    // Rozpocznij obserwację DOM
    observer.observe(document.body, {
    childList: true,
    subtree: true,
    });

    // Pierwsze tłumaczenie na wypadek gdyby elementy już były widoczne
    translateText();

    @timwhitlock Is there any chance to loco be able trasnlate as well the dynamic phrases?

    Thread Starter mateo0

    (@mateo0)

    [url=https://postimg.cc/xXyWVtCS][img]https://i.postimg.cc/xXyWVtCS/Zrzut-ekranu-2025-05-10-130222.png[/img][/url]

    [url=https://postimg.cc/gxPf7fGD][img]https://i.postimg.cc/gxPf7fGD/Zrzut-ekranu-2025-05-10-130626.jpg[/img][/url]

    • This reply was modified 1 year ago by mateo0.
Viewing 3 replies - 1 through 3 (of 3 total)