Úvodní stránka › Fórum podpory WordPressu › Čeština pro WordPress › Přetížení části překladu
Štítky: Gettext, load_textdomain_mofile, překlad, Say what?, WooCommerce
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á 9 let, 5 měsíců.
-
AutorPříspěvky
-
1. srpna 2016 (22:27) #28320
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
1. srpna 2016 (22:40) #28321Ano, 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é.1. srpna 2016 (22:50) #28322Má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.phpv 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.
Attachments:
1. srpna 2016 (23:06) #28324Filtr 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.
1. srpna 2016 (23:20) #28325@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.
1. srpna 2016 (23:22) #283261. srpna 2016 (23:26) #283271. srpna 2016 (23:35) #283312. srpna 2016 (16:41) #28339 -
AutorPříspěvky
Pokud chcete odpovědět na toto téma, musíte se nejdříve přihlásit.
