как добавить новые языки в Django? Мой язык «уйгурский» или «уйгурский» не поддерживается в Django

как добавить новые языки в Django? Мой язык "Уйгурский» или же "уйгурский» не поддерживается в Django.

Могу ли я добавить новый файл языкового стандарта в свой проект и использовать его? например: zh_UG

этот язык не поддерживается в Django.

 Amareswar18 окт. 2012 г., 06:23
Я думаю, вы можете внести свой вклад в его хранилище. Срарт конвертирует сейчас.
 Rehmetjan18 окт. 2012 г., 11:12
Благодарю. Я думаю это правильный ответ

Ответы на вопрос(4)

Решение Вопроса

Добавьте недоступный язык в ваше приложение Django

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"]

А также:

manage.py makemessages -l ug
manage.py compilemessages
 green16 мар. 2016 г., 13:48
Работай сейчас. Чтобы остановить автоматическое изменение localhost: 8000 / lo / на localhost: 8000 / en / lo /, мне нужно добавить собственный язык в django.conf.locale в дополнение к моему собственному приложению.
 green15 мар. 2016 г., 07:43
Я следовал за ответом выше. Теперь он перестает жаловаться на новый язык (например,вот»), который я добавил, но каким-то образом он дает неправильную ссылку localhost: 8000 / en / lo вместо localhost: 8000 / lo, даже если при наведении курсора мыши на кнопку языка отображается localhost: 8000 / lo / link. В то время как другие языковые кнопки (языки, поддерживаемые Django) работают нормально. Любое предложение, пожалуйста. Спасибо

в вашем settings.py добавить

gettext = lambda s: s


LANGUAGES = (
    ('zh_UG', gettext('Uyghur')),
    ('en', gettext('English')),
)
USE_I18N = True

бежать

manage.py makemessages -l zh_UG

создавать языковые файлы

 Jorick Spitzen16 нояб. 2015 г., 13:36
Будет ли это работать как подъязык? то есть будет ли zh_UG рассматриваться как подъязык языка zh?
 Zmicier Zaleznicenka03 мар. 2013 г., 16:43
Когда я добавлял свой язык на сайт, работающий на Django, мне также пришлось добавить его в django.conf.locale, иначе получалось "Неизвестный код языка " ошибка.

Если кто-то сталкивается с этим и будет использовать принятый ответ (также проверить комментарии к нему) и все равно будет иметь перенаправление на / en / вместо дополнительного языка - вам нужно создать файл .mo для этой локали. По крайней мере, фиктивный.

Django проверяет, является ли язык допустимым, проверяя, может ли он загрузить файл .mo. Для стандартных языков проблем нет, потому что Django поставляется с несколькими из них, но для вашего собственного языка это не так.т существует.

Я надеюсь, что это сэкономит ваше время.

 Alan Wagner11 июн. 2016 г., 17:51
Спасибо!!! Я сходил с ума!

По мотивам Лаффустаответ. Первый шаг, добавьте определение языка в 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'),)

Второй шаг, добавьте локаль в settings.py:

import os

PACKAGE_ROOT = os.path.abspath(os.path.dirname(__file__))
LOCALE_PATHS = (
    os.path.join(PACKAGE_ROOT, 'locale'),
)

Третий шаг, Add locale определяет в каталоге локали.

Ваш ответ на вопрос