python - django 翻译不适合我

标签 python django translation django-i18n

我无法强制 django 翻译字符串,从请求中选择的语言是正确的,但我没有翻译的字符串。

也许这里可能有问题:当我运行 shell 时,返回的 language_code 与我在 settings.py 中的不相等

gettext = lambda s: s
USE_I18N = True
USE_L10N = True
LANGUAGE_CODE = 'en'

LANGUAGES = (
   ('cs', gettext('Czech')),
   ('en', gettext('English')),
)

>>> from django.utils import translation
>>> 
>>> translation.get_language()
'en-us'
>>> from django.conf import settings
>>> settings.LANGUAGE_CODE
'en'

我的消息文件位于locale/cs/LC_MESSAGES/django.{mo,po} 我那里有这个内容(翻译后的周短名称缩写):

msgid "Mo Tu We Th Fr Sa Su"
msgstr "Po Út St Čt Pá So Ne"

看来,当我得到正确的值“cs”时

print get_language() 
'cs'

下一行是ugettext

ugettext('Mo Tu We Th Fr Sa Su')
'Mo Tu We Th Fr Sa Su'

但我期待

'Po Út St Čt Pá So Ne'

有人可以告诉我哪里可能有问题吗? :o)

最佳答案

翻译可能位于 .po 文件中,但在 .mo 文件中缺失。尝试通过运行重新编译消息

./manage.py compilemessages 

关于python - django 翻译不适合我,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21492633/

相关文章:

python - NLTK 索引不工作

python - 从列表和字典创建新元组

animation - 在 JavaFX 中,如何在屏幕上移动 Sprite ?

c++ - 使用在全局范围内声明的 Qt 本地化字符串

java - 缩放后屏幕坐标和图像坐标之间的转换

python - 如何使用 PyScripter 调试 Google App Engine 脚本

python - 在 django 上使用 Amazon S3 使用 ImageField 上传图像

python - django 模板性能

python - Django - ModelForm 到模板不提交数据

python - Django urls.py,name参数有什么作用?