Pergunta
Eu ouvi de uma fonte relativamente trustworty que gettext não requer localidades do sistema para que ele funcione. Mas eu tentei alguns tutoriais, e menos que eu tenha locale-gen'd (em arco) fi_FI.utf8, não posso obter quaisquer traduções para mostrar.
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
Solução
Você ouviu certo? Tanto quanto eu sei, você faz localidades do sistema necessidade de gettext ao trabalho. No entanto, você não precisa instalar todas as traduções para as localidades do sistema apenas para fazer o seu trabalho "Olá mundo".
Outras dicas
setenv("LANGUAGE", languagecode);
Se languagecode é "fr", e você tem um "fr / LC_MESSAGES / .mo" arquivo no diretório apontado pela bindtextdomain, ele deve funcionar.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow