国际化不起作用或我不知道如何使其发挥作用

时间:2012-12-25 15:06:07

标签: django localization internationalization

Settings.py常量

TIME_ZONE = 'Europe/Vilnius'
LANGUAGE_CODE = 'lt'
USE_I18N = True
USE_L10N = True
USE_TZ = True

MIDDLEWARE_CLASSES = (
    'django.middleware.common.CommonMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
)

如果我将LocaleMiddleware添加到中间件类并编辑源代码以便打印我的区域设置,它会按预期打印lt

此外:

./manage.py makemessages -l lt生成了文件,我翻译了文本出现。

./manage.py compilemessages返回processing file django.po in /Users/aemdy/PycharmProjects/rezervavau_v2/locale/lt/LC_MESSAGES

但遗憾的是,我仍然在网页上看到英文文字。

我使用django admin并且基本django管理员中包含的短语被翻译(更改密码,密码,编辑和其他一些)。不过,我自己定义的短语用英语显示。

1 个答案:

答案 0 :(得分:4)

好吧,我自己找到了答案。

我需要在settings.py中添加以下行:

LOCALE_PATHS = (os.path.join(os.path.dirname(__file__), '../locale/'),)