使用webpy的国际化(i18n)

2 投票
1 回答
711 浏览
提问于 2025-04-15 23:42

我在使用webpy的时候遇到了一个关于国际化(i18n)的问题。

我按照这个链接的步骤进行了操作: http://webpy.org/cookbook/i18n_support_in_template_file

所以,在我的.wsgi文件里有:

#i18n
gettext.install('messages',I18N_PATH,unicode=True)
gettext.translation('messages',I18N_PATH,languages=['fr_FR','en_US']).install(True)

然后我执行了:

pygettext.py -a -v -d messages -o i18n/messages.po controllers/*.py views/*.html 

我已经复制并翻译了messages.po文件,还更改了“content-type”和“content-transfer-encoding”:

"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: UTF-8\n"

然后我运行了这个命令:

msgfmt -v -o i18n/fr_FR/LC_MESSAGES/messages.mo i18n/fr_FR/LC_MESSAGES/messages.po
>>>93 messages traduits.

这是i18n文件夹的结构:

i18n/:
en_US  fr_FR  messages.po

i18n/en_US:
LC_MESSAGES

i18n/en_US/LC_MESSAGES:
messages.mo  messages.po

i18n/fr_FR:
LC_MESSAGES

i18n/fr_FR/LC_MESSAGES:
messages.mo  messages.po

但是当我打开我的网站时(我浏览器的语言设置为“fr_fr”),我没有看到翻译的内容。

我不知道为什么。有没有人知道原因?

谢谢

1 个回答

0

web.py 的文档在这里有详细说明。

http://webpy.org/cookbook/runtime-language-switch

撰写回答