GNU gettext 故障排除

GNU gettext troubleshooting

我正在尝试使用 gettext 进行一些西班牙语翻译,我尝试了以下步骤:

[aesteban@localhost ~]$ ls /usr/share/locale/es_MX/LC_MESSAGES/
libgweather-3.0.mo  mx-1.0.mo  policycoreutils.mo
[aesteban@localhost ~]$ 

然后:

[aesteban@localhost ~]$ msgunfmt /usr/share/locale/es_MX/LC_MESSAGES/mx-1.0.mo 
msgid ""
msgstr ""
"Project-Id-Version: mx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-04-26 09:42+0000\n"
"PO-Revision-Date: \n"
"Last-Translator: Salvador Cabrera Lozano <salvadorcabrera@gmail.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n!=1; \n"
"X-Poedit-Language: Spanish\n"
"X-Poedit-Country: MEXICO\n"
"X-Poedit-SourceCharset: utf-8\n"

msgid "A couple of hours ago"
msgstr "Hace un par de horas"

msgid "A couple of weeks ago"
msgstr "Hace un par de semanas"

msgid "A few minutes ago"
msgstr "Hace unos pocos minutos"

msgid "Ages ago"
msgstr "Hace mucho tiempo"

msgid "Earlier today"
msgstr "Hoy mas temprano"

msgid "Last month"
msgstr "El mes pasado"

msgid "Last week"
msgstr "La semana pasada"

msgid "Last year"
msgstr "El año pasado"

msgid "Less than a minute ago"
msgstr "Hace menos de un minuto"

msgid "On %A"
msgstr "El %A"

msgid "Raise application"
msgstr "Restaurar aplicación"

msgid "This month"
msgstr "Este mes"

msgid "This year"
msgstr "Este año"

msgid "Unavailable"
msgstr "No disponible"

msgid "Unknown"
msgstr "Desconocido"

msgid "Yesterday"
msgstr "Ayer"
[aesteban@localhost ~]$

最后:

[aesteban@localhost ~]$ LANGUAGE="es_MX"
[aesteban@localhost ~]$ 
[aesteban@localhost ~]$ gettext -d /usr/share/locale/es_MX/LC_MESSAGES/mx-1.0.mo "Yesterday"
Yesterday[aesteban@localhost ~]$ 
[aesteban@localhost ~]$

如您所见,gettext returns Yesterday 预期输出为 Ayer.

这是我第一次修改 gettext,所以我基本上不知道我在做什么。感谢任何帮助。

谢谢。

我想通了:

[aesteban@localhost ~]$ LANG=es_MX
[aesteban@localhost ~]$ gettext -d mx-1.0 "Yesterday"
Ayer

...更多播放:

[aesteban@localhost ~]$ gettext -d mx-1.0 "A few minutes ago"
Hace unos pocos minutos