Dove posso trovare l'elenco delle lingue e il codice lingua come questo.Codici lingua per l'internazionalizzazione di Django
(Swedish,sv)
(English,en)
Dove posso trovare l'elenco delle lingue e il codice lingua come questo.Codici lingua per l'internazionalizzazione di Django
(Swedish,sv)
(English,en)
Se si desidera qualcosa che si può utilizzare all'interno di django, provare:
from django.conf import settings
questo sarà nel formato di cui sopra, che lo rende perfetto per assegnazione in uno dei tuoi modelli scelte = campi. (Cioè user_language = models.CharField(max_length=7, choices=settings.LANGUAGES)
)
LANGUAGES = (
('ar', gettext_noop('Arabic')),
('bg', gettext_noop('Bulgarian')),
('bn', gettext_noop('Bengali')),
etc....
)
Aggiunto bonus a questo metodo: poiché gettext_noop() è una ricerca pigra, i nomi della lingua verranno tradotti in base alle impostazioni locali dell'utente al momento del rendering del modello. Significa che un utente inglese vedrà "Francese" ma un utente francese vedrà "Francais" – Thomas
c'è qualche pagina di riferimento per le lingue di cui sopra .. – Hulk
http://code.djangoproject.com/browser/django/trunk/django/conf /global_settings.py ti fornirà l'elenco completo delle lingue supportate da django, e http://docs.djangoproject.com/en/dev/ref/settings/#languages ti offre una panoramica sull'utilizzo. Spero che questo ti aiuti. – Thomas
ho capito da Django Project che è possibile utilizzare solo una funzione gettext dummy:
Se si definisce un costume L'impostazione LANGUAGES, come spiegato nel punto precedente, è OK per contrassegnare le lingue come stringhe di traduzione, ma utilizzare un "dummy"Funzione, non quella in
django.utils.translation
. Non si dovrebbe mai importaredjango.utils.translation
all'interno del tuo file di impostazioni, perché quel modulo in sé dipende dalle impostazioni, e che causerebbe un'importazione circolare. ".
Mi c'è voluto un po 'di tempo per trovare la soluzione, ma alla fine capito, le scelte di campo modello ha bisogno di avere una tupla con funzioni reali gettext, con una funzione lambda il manichino del possono essere avvolti nelle funzioni reali gettext come segue:
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']
saluti
012.Sachin
risposte precedenti menzione ottenendo soltanto LANGUAGE
da settings.py, hovewer v'è una grande opportunità che questa variabile verrà sovrascritto. Quindi, è possibile ottenere l'elenco completo da 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)
Non tutti questi codici lingua sono supportati. Vedere il file django.conf.locale.LANG_INFO per l'elenco principale. – spiderlama