我已经为不同的城市翻译了网站,并且它在开发机器上工作正常。但是当在生产服务器上发布时,它没有显示任何翻译。
但它正确显示了可用语言和当前语言。
这是我的settings.py:
USE_I18N = True
USE_L10N = True
LANGUAGES = [
('ru-spb', _('SaintP')),
('ru-msk', _('Moscow')),
]
LOCALE_PATHS = (
os.path.join(BASE_DIR, 'nordicsite/locale'),
)
这是语言检查的模板:
{% load i18n %}
{% get_current_language as LANGUAGE_CODE %}
{% get_available_languages as LANGUAGES %}
{% get_language_info_list for LANGUAGES as languages %}
{{server}}<br/>
{% trans 'Test 2' %}<br/>
{{LANGUAGE_CODE}}<br/>
{% for language in languages %}
{{ language.name_local }} ({{ language.code }})<br/>
{% endfor %}
<br/>
{% for path in paths %}
{{path}}<br/>
{% endfor %}
dev:
的输出Тест 1 Питер
Тест 2 Питер
ru-spb
Русский (ru)
Русский (ru)
/*****/nordicsite/locale
生产产出:
Test 1
Test 2
ru-spb
Русский (ru)
Русский (ru)
/*****/nordicsite/locale
有什么不对?
答案 0 :(得分:0)
最后我弄清楚出了什么问题。我的开发机器 - Mac和生产 - Ubuntu。并且它没有像ru-spb和ru-msk那样使用伪造的语言代码。我将它改为ru-ru和ru-ua并开始正常工作。
还有一件事。 Ubuntu需要locale文件夹为ru_RU(而不是ru_ru)。