Где я могу найти список языков и language_code вот так.Коды языков интернационализации Django
(Swedish,sv)
(English,en)
Где я могу найти список языков и language_code вот так.Коды языков интернационализации Django
(Swedish,sv)
(English,en)
Если вы хотите что-то вы можете использовать внутри Джанго, попробуйте:
from django.conf import settings
это будет в формате выше, что делает его идеальным для назначение в одном из ваших вариантов models = fields. (Т.е. user_language = models.CharField(max_length=7, choices=settings.LANGUAGES)
)
LANGUAGES = (
('ar', gettext_noop('Arabic')),
('bg', gettext_noop('Bulgarian')),
('bn', gettext_noop('Bengali')),
etc....
)
Добавлен бонус к этому методу: поскольку gettext_noop() - ленивый поиск, имена языков будут переведены на основе языкового стандарта вашего пользователя в момент визуализации шаблона. Значение английского пользователя увидит «французский», но французский пользователь увидит «Francais» – Thomas
. Есть ли ссылки на указанные языки .. – Hulk
http://code.djangoproject.com/browser/django/trunk/django/conf /global_settings.py предоставит вам полный список языков, поддерживаемых django, и http://docs.djangoproject.com/en/dev/ref/settings/#languages дает вам обзор использования. Надеюсь это поможет. – Thomas
я понял из Django Project, что вы можете использовать только фиктивную функцию GetText:
Если определить пользовательские LANGUAGES, как описано в предыдущей брошюре, нормально отмечать языки как строки перевода - но используйте «манекен»
ugettext()
, а не вdjango.utils.translation
. Вы никогда не должны импортироватьdjango.utils.translation
из вашего файла настроек, потому что модуль сам по себе зависит от настроек, и это приведет к круговой импорта. ".
Потребовалось некоторое время, чтобы найти решение, но я, наконец, получил его, выбор поля модели должен иметь кортеж с функциями реального GetText с лямбда-функции манекена может быть завернутые в функции реального GetText следующим образом:
from django.utils.translation import ugettext_lazy as _
language = models.CharField(max_length=5, choices=map(lambda (k,v): (k, _(v)), settings.LANGUAGES), verbose_name=_('language'))
from django.conf import settings
#note settings is an object , hence you cannot import its contents
settings.configure()
#note LANGUAGES is a tuple of tuples
lang_dict = dict(settings.LANGUAGES)
#use lang_dict for your query.
print lang_dict['en']
с уважением
SACHIN
Предыдущие ответы упоминают только получение LANGUAGE
из settings.py, hovewer есть большая вероятность того, что эта переменная будет перезаписан. Таким образом, вы можете получить полный список от django.conf.global_settings.LANGUAGES
from django.db import models
from django.conf.global_settings import LANGUAGES
class ModelWithLanguage(models.Model):
languages = models.CharField(max_length=7, choices=LANGUAGES)
Не все эти языковые коды поддерживаются. См. Файл django.conf.locale.LANG_INFO для главного списка. – spiderlama