【问题标题】:Add custom language for localization in Django app在 Django 应用程序中添加用于本地化的自定义语言
【发布时间】:2016-11-25 12:00:25
【问题描述】:

adding a custom language to django

我检查了这个问题并完成了接受的答案中提到的所有步骤。完成所有操作后,当我转到 /kjv/ 时,它会重定向到 /en/kjv/

项目结构:

MyProject ---------locale -------------kjv -----------------LC_MESSAGES --------------------django.mo --------------------django.po ---------myproject --------------settings.py ---------app ---------manage.py

有人可以帮我解决这个问题吗?

settings.py

...

import django.conf.locale

gettext = lambda s: s

EXTRA_LANG_INFO = {
    'kjv': {
        'bidi': False,
        'code': u'kjv',
        'name': u'Kjvx',
        'name_local': u'Kjvx'
    },
}

# Add custom languages not provided by Django
LANG_INFO = dict(django.conf.locale.LANG_INFO.items() + EXTRA_LANG_INFO.items())
django.conf.locale.LANG_INFO = LANG_INFO
LANGUAGES = (
    ('hr', gettext('hr')),
    ('en', gettext('en')),
    ('de', gettext('de')),
    ('fr', gettext('fr')),
    ('kjv', gettext('kjv')),
)
...

Django-1.6.5 和所有 url 都包裹在 i18n_patterns 中。

【问题讨论】:

  • 你知道这种方法是否适用于较新版本的 Django 吗?

标签: python django web-applications localization internationalization


【解决方案1】:

如果有人来到这个地方并遇到类似问题,请不要忘记在 settings.py 中更新/添加 LOCALE_PATHS

例如

PROJECT_PATH = os.path.dirname(os.path.abspath(__file__))

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

您可以指向任何地方,只要它们存在并且具有有效的语言环境结构。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-14
    • 2023-04-03
    • 1970-01-01
    相关资源
    最近更新 更多