Přetížení části překladu

Úvodní stránka Fórum podpory WordPressu Čeština pro WordPress Přetížení části překladu

Zvolené téma obsahuje celkem 8 odpovědí. Do diskuze (2 účastníci) se naposledy zapojil uživatel  Landsman a poslední změna je stará 7 let, 7 měsíců.

Aktuálně je na stránce zobrazeno 9 příspěvků - 1. až 9. (z celkem 9)
  • Autor
    Příspěvky
  • #28320

    Landsman
    Participant
    Web

    Ahoj,

    mám nejnovější wp + woocommerce s češtinou. Mám custom šablonu u které chci pojmenovat možnosti řazení podle svého.

    Zajímá mě tedy, jak mohu přetížit tyto vybrané překlady, aniž bych zasahoval do oficiálního překlad.

    Jde to?

    Zkoušel jsem plugin “Say What?” ale buď jsem to zadal špatně nebo má prioritu ten český překlad, nevím.

    Jak by jste na to šli?

    díky

    #28321

    admin
    Keymaster
    Web

    Ano, plugin Say what? je dobrá volba. Důležití je ale zjistit, zda jde o překlad z WooComerce nebo šablona a podle toho správně doplnit textdomain. Případně prosím nahrajte screenshot, jak to máte nastavené.

    #28322

    Landsman
    Participant
    Web

    Mám to takto (screenshot).

    Každopádně bych se rád vyhnul, pokud to půjde kvantě pluginů, tzn. víte i o možnosti jak to přetížit přes functions.php v motivu?

    Našel jsem ještě tento zápis:

    add_filter( 'load_textdomain_mofile', 'load_custom_plugin_translation_file', 10, 2 );
    
    /*
     * Replace 'textdomain' with your plugin's textdomain. e.g. 'woocommerce'.
     * File to be named, for example, yourtranslationfile-en_GB.mo
     * File to be placed, for example, wp-content/lanaguages/textdomain/yourtranslationfile-en_GB.mo
     */
    function load_custom_plugin_translation_file( $mofile, $domain ) {
        if ( 'woocommerce' === $domain ) {
            $mofile = get_template_directory() . '/woocommerce/languages/' . get_locale() . '.mo';
        }
        return $mofile;
    }

    Avšak nevím, jak tam jsou ty priority, co se bude načítat jako poslední, jak to nastavit. Nerad bych přetěžoval kompletně celý překlad, dělal vlastní verzi, když mi jde o cca 20 klíčů, především kvůli aktualizacím.

    #28324

    admin
    Keymaster
    Web

    Filtr load_textdomain_mofile je možné použít, ale tím budete načítat celý upravený soubor, který bude ale postupně s každou verzí zastarávat. Žádnou prioritu tam není třeba řešit, pro lokalizaci se bude brát ten soubor, který tam napíšete.

    Další možností je filtr gettext (řešili jsme to třeba zde). Tam už neměníte načítaný soubor, ale pouze zvolené řetězce. Na zcela stejném principu funguje i plugin Say what?, který bych se asi nebál použít. Jediná zátěž navíc bude v tom, že si uložené změněné překlady načte z databáze (tedy jeden SQL dotaz navíc).

    V nastavení pluginu bude problém patrně v tom, že jako “Original string” nemáte původní anglický výraz (můžete ho dohledat např. zde). Dalším možným problémem je to, že nejde o řetězec WooCommerce, ale použité šablony, bohužel těžko říci.

    #28325

    Landsman
    Participant
    Web

    @admin Zkusil jsem právě původní a funguje, skvěle.
    Zůstanu tedy prozatím u tohoto pluginu.

    Děkuji Vám za pomoc.

    #28326

    admin
    Keymaster
    Web

    Takže když tam dáte “Default sorting”, tak se tam nic nezmění?

    #28327

    Landsman
    Participant
    Web

    @admin Funguje díky!

    #28331

    admin
    Keymaster
    Web

    Perfektní, v čem byl tedy původně problém?

    #28339

    Landsman
    Participant
    Web

    @admin To právě nevím, poprvé jsem zkoušel také zadávat anglický výraz a stále to přepisovala ona čeština, původní. Zřejmě nějaká cahe prohlížeče. Takže klávesnice a židle. Plugin funguje skvěle.

Aktuálně je na stránce zobrazeno 9 příspěvků - 1. až 9. (z celkem 9)

Pokud chcete odpovědět na toto téma, musíte se nejdříve přihlásit.

WordPress – novinky, návody a zajímavosti