在Django应用中添加用于本地化的自定义语言 [英] Add custom language for localization in Django app
问题描述
我检查了这个问题,并做了接受的答案中提到的所有步骤.完成所有操作后,当我转到/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屋!