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
È stato utile?

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
scroll top