在Django应用中添加用于本地化的自定义语言 [英] Add custom language for localization in Django app

查看:57
本文介绍了在Django应用中添加用于本地化的自定义语言的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

将自定义语言添加到Django

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

I checked this question and did all the steps mentioned in the accepted answer. After doing all when I go to /kjv/ then it redirects to /en/kjv/

项目结构:

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

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

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

Some one can help me to fix this?

settings.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和所有网址都包装在i18n_patterns中.

Django-1.6.5 and all urls are wrapped in i18n_patterns.

推荐答案

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

If anyone come to this place and facing similar issue then don't forget to update/add LOCALE_PATHS in settings.py

例如

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

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

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

You can point to anywhere, given they exist and have valid locale structure.

这篇关于在Django应用中添加用于本地化的自定义语言的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆