Odi*_*aeb 13 django translation internationalization
我有django翻译的问题.
问题1 - 我更新了django.po文件中的字符串,但更改没有出现在网页上.
问题2 - 我用django-admin.py makemessages -l et创建了我自己的语言环境文件,将翻译字符串添加到文件中,但它们也没有出现在页面上.
我不认为这是设置问题,因为django.po文件的翻译确实出现在网站上,它只是更改和我自己生成的文件中没有出现的翻译.
编辑:我的settings.py包含:
gettext = lambda s: s
LANGUAGE_CODE = 'et'
LANGUAGES = (
('et', gettext('Estonian')),
)
Run Code Online (Sandbox Code Playgroud)
我自己的语言环境文件在
/path/to/project/locale/et/LC_MESSAGES/
Run Code Online (Sandbox Code Playgroud)
和文件是
django.mo和django.po
我在问题1中提到的文件是django own et transaltion,我改变了.
Fer*_*her 26
好吧,我刚才得到了同样的错误.我解决了它在我的django.po文件中删除翻译字符串上的"#,fuzzy"标记.如果获得此标记,似乎不提供翻译文本,因此请确保翻译文本然后删除此行.
以下是po文件中翻译文本而非服务器的示例:
#: course/models.py:13
#, fuzzy
msgid "code"
msgstr "código"
Run Code Online (Sandbox Code Playgroud)
所以,只需删除标志并保留如下:
#: course/models.py:13
msgid "code"
msgstr "código"
Run Code Online (Sandbox Code Playgroud)
我希望这对你有用.祝好运!
参考:http://share-experiences.com/blog/what-fuzzy-means-python-django-gettext/
PD:我知道你几个月前就遇到过这个问题了,但我留下这个回答是因为如果你解决了这个问题我们就没听过.
jmu*_*jmu 12
有没有出现相同/类似的翻译问题.设置LOCALE_PATHS修复了问题:
# settings.py
USE_I18N = True
USE_L10N = True
LOCALE_PATHS = (
'/path/to/djangoapp/locale',
)
Run Code Online (Sandbox Code Playgroud)
翻译文件(PO)只在内存中加载一次,Django不会更改PO文件.要加载新的翻译文件,您需要重新启动Django(例如,停止/启动runserver,Apache或NGINX).
归档时间: |
|
查看次数: |
11082 次 |
最近记录: |