如何在Django中添加新语言?Django不支持我的语言"维吾尔语"或"维吾尔语"

Reh*_*jan 12 django locale

如何在Django中添加新语言?Django不支持我的语言"维吾尔语"或"维吾尔语".

我可以在项目中添加新的语言区域设置文件并使用它吗?例如:zh_UG

Django不支持这种语言.

laf*_*ste 19

为Django应用添加不可用的语言

Uighurئۇيغۇرتىلى的ISO语言代码是'ug'.

在您的settings.py中:

from django.conf import global_settings

gettext_noop = lambda s: s

LANGUAGES = (
       ('ug', gettext_noop('Uighur')),
)

EXTRA_LANG_INFO = {
    'ug': {
        'bidi': True, # right-to-left
        'code': 'ug',
        'name': 'Uighur',
        'name_local': u'\u0626\u06C7\u064A\u063A\u06C7\u0631 \u062A\u0649\u0644\u0649', #unicode codepoints here
    },
}

# Add custom languages not provided by Django
import django.conf.locale
LANG_INFO = dict(django.conf.locale.LANG_INFO, **EXTRA_LANG_INFO)
django.conf.locale.LANG_INFO = LANG_INFO

# Languages using BiDi (right-to-left) layout
LANGUAGES_BIDI = global_settings.LANGUAGES_BIDI + ["ug"]
Run Code Online (Sandbox Code Playgroud)

和:

manage.py makemessages -l ug
manage.py compilemessages
Run Code Online (Sandbox Code Playgroud)


小智 7

根据laffuste的回答.第一步,在settings.py中添加语言定义:

EXTRA_LANG_INFO = {
    'ms': {
        'bidi': False, # right-to-left
        'code': 'ms',
        'name': 'Bahasa Melayu',
        'name_local': u'Bahasa Melayu', #unicode codepoints here
    },
}

# Add custom languages not provided by Django
import django.conf.locale
from django.conf import global_settings
LANG_INFO = dict(django.conf.locale.LANG_INFO.items() + EXTRA_LANG_INFO.items())
django.conf.locale.LANG_INFO = LANG_INFO

# Languages using BiDi (right-to-left) layout
global_settings.LANGUAGES = global_settings.LANGUAGES + (("ms",'Bahasa Melayu'),)
Run Code Online (Sandbox Code Playgroud)

第二步,在settings.py中添加语言环境:

import os

PACKAGE_ROOT = os.path.abspath(os.path.dirname(__file__))
LOCALE_PATHS = (
    os.path.join(PACKAGE_ROOT, 'locale'),
)
Run Code Online (Sandbox Code Playgroud)

第三步,在语言环境目录中添加语言环境定义.