Question

Où puis-je trouver la liste des langues et language_code comme ça.

(Swedish,sv)
(English,en)
Était-ce utile?

Autres conseils

Si vous voulez quelque chose que vous pouvez utiliser à partir de l'intérieur de django, essayez:

from django.conf import settings

ce sera dans le format ci-dessus, le rendant parfait pour affectation dans l'un de vos modèles de choix= champs.(c'est à dire user_language = models.CharField(max_length=7, choices=settings.LANGUAGES))

LANGUAGES = (
    ('ar', gettext_noop('Arabic')),
    ('bg', gettext_noop('Bulgarian')),
    ('bn', gettext_noop('Bengali')),
    etc....
    )

Remarque sur l'utilisation de paramètres:

Notez que django.conf.paramètres n'est pas un module

Les réponses précédentes ne citer que se LANGUAGE à partir de settings.py, hovewer il ya une grande chance que cette variable sera remplacée.Ainsi, vous pouvez obtenir la liste complète de django.conf.global_settings.LANGUAGES

from django.db import models

from django.conf.global_settings import LANGUAGES

class ModelWithLanguage(models.Model):
    language = models.CharField(max_length=7, choices=LANGUAGES)
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']

Cordialement

Sachin

J'ai compris à partir de Projet Django vous pouvez uniquement utiliser un mannequin gettext fonction:

Si vous définissez une coutume LANGUES, ainsi qu'il est expliqué dans le point précédent, c'est OK pour marquer les langues comme des chaînes de traduction -- mais l'utilisation d'une "dummy" ugettext() la fonction, et non dans django.utils.translation.Vous ne devriez jamais importation django.utils.translation à partir de votre fichier de paramètres, parce que le module en lui-même dépend des paramètres, et qui serait la cause d'une circulaire de l'importation.".

Il m'a fallu un certain temps pour trouver la solution, mais j'ai finalement obtenu;le choix du modèle de terrain a besoin d'avoir un tuple avec de vraies fonctions gettext, avec une fonction lambda le mannequin peut être enveloppé dans le réel gettext fonctions comme suit:

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'))
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top