我已经看过一百多个关于i18n问题的帖子,似乎没有任何解决方案可以解决我的问题.
我有一个运行Django 1.3.1的应用程序,它在我的开发机器上运行良好.但是当我带到heroku时没有任何反应.文件根本没有翻译.似乎找不到我项目中的locale文件夹.
Locale文件夹位于我的项目级别,这是我的设置:
BASE_PATH = os.path.dirname(os.path.abspath(__file__))
LANGUAGE_CODE = 'pt-br'
USE_I18N = True
USE_L10N = True
ugettext = lambda s: s
LANGUAGES = (
('en-us', ugettext('English')),
('pt-br', ugettext('Portuguese')),
)
LOCALE_PATHS = (
os.path.join(BASE_PATH, "locale"),
)
Run Code Online (Sandbox Code Playgroud)
Locale文件夹遵循以下结构:
locale
pt_BR
LC_MESAGES
django.mo
django.po
Run Code Online (Sandbox Code Playgroud) 我有一个模板:
{% trans "Log out" %}
Run Code Online (Sandbox Code Playgroud)
这是由Django自动翻译为西班牙语作为Terminarsesión.但是我想把它翻译为Cerrarsesión.
我试图将这个文字添加到.po文件中,但是当我编译消息时,我得到一个错误,说这个文字是重复的.
有没有办法更改/覆盖默认的Django翻译?
谢谢.