Django翻译不参与制作

时间:2018-06-12 08:18:13

标签: django internationalization translation django-i18n

我已经为不同的城市翻译了网站,并且它在开发机器上工作正常。但是当在生产服务器上发布时,它没有显示任何翻译。

但它正确显示了可用语言和当前语言。

这是我的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

有什么不对?

1 个答案:

答案 0 :(得分:0)

最后我弄清楚出了什么问题。我的开发机器 - Mac和生产 - Ubuntu。并且它没有像ru-spb和ru-msk那样使用伪造的语言代码。我将它改为ru-ru和ru-ua并开始正常工作。

还有一件事。 Ubuntu需要locale文件夹为ru_RU(而不是ru_ru)。