使用webpy的国际化(i18n)
我在使用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”),我没有看到翻译的内容。
我不知道为什么。有没有人知道原因?
谢谢