Domanda
Ho sentito da una fonte relativamente affidabile che gettext non richiede localizzazioni di sistema per funzionare. Ma ho provato alcuni tutorial e, a meno che non abbia fi_FI.utf8 locale-gen'd (in arch), non riesco a visualizzare alcuna traduzione.
root@junior:~/programming/Projects/Cpp/web/test# LANG=fi_FI.utf8 bin/hello Hello world! This is package: web-cms root@junior:~/programming/Projects/Cpp/web/test# sed -i 's/#fi_FI.UTF-8/fi_FI.UTF-8/' /etc/locale.gen && locale-gen Generating locales... en_GB.UTF-8... done en_US.UTF-8... done fi_FI.UTF-8... done Generation complete. root@junior:~/programming/Projects/Cpp/web/test# LANG=fi_FI.utf8 bin/hello Terve maailma Tämä on paketti: web-cms
Soluzione
Hai sentito bene? Per quanto ne so, hai bisogno delle localizzazioni di sistema affinché gettext funzioni. Tuttavia, non è necessario installare tutte le traduzioni per quelle impostazioni di sistema solo per rendere il tuo "ciao mondo" lavoro.
Altri suggerimenti
setenv("LANGUAGE", languagecode);
Se il languagecode è " fr " ;, e hai un " fr / LC_MESSAGES / .mo " file nella directory indicata da bindtextdomain, dovrebbe funzionare.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow