J'ai une application Django qui a une langue par défaut définie sur le français. Toutes les chaînes de traduction dans le code et les pages HTML sont en français. La commutation entre la langue différente fonctionne bien. Mais maintenant j'ai besoin de cacher la langue française, alors j'ai changé de langue_code sur "en-nous", mais la page par défaut s'affiche toujours en français, ai-je manqué quelque chose? P>
merci p>
4 Réponses :
J'ai eu des problèmes avec cela trop une fois ... c'est parce que la plupart des navigateurs Web modernes envoient leur paramètre locale dans la demande et Django utilise automatiquement cette langue si possible. P>
Malheureusement, je ne me souviens pas de ce que j'ai fait pour résoudre ce problème, mais j'espère que cela vous donne quelques indemneurs où chercher ou rechercher. P>
Merci, c'était le problème, résolu en changeant le navigateur Langue locale
dans votre fichier Paramètres.py Vous avez un si vous utilisez django multilingue , vous pouvez également définir langues Code>
tuple. par défaut_language code> Réglage: p>
Default_Language ne semble pas fonctionner pour moi, et cette variable n'est pas référencée dans Django Paramètres Documentation
Quelle version de Django fonctionnez-vous en ce moment?
défaut_language code> est un
django_multilingual code> paramètre; Appel utilisait probablement cela puis confondez-le pour un réglage de Django: django-multilingual.googlecode.com/svn/trunk/docs/_build/htm l / ...
J'ai fait face à ce problème juste, voici comment je pourrais réussir à le réparer sans changer la langue locale de navigateur:
L'idée est de créer un middleware pour forcer la traduction linguistique basée sur le paramètre Language_Code, voici comment le middleware pourrait ressemblent à: p> sauvegarder cet extrait de midippet.py dans votre application principale (je suppose qu'il s'appelle principal), puis ajoutez Main.MidDleware.forcelangmiddleware à votre middleware_Classes P > p>
J'ai trouvé ce https://gist.github.com/vstoykov/1366794 . Il oblige I18N Machines à choisir Paramètres.Language_Code comme langue initiale par défaut. P>
Essayez de changer de langue locale de votre navigateur, peut-être que cela aide
Jamais trouver une solution?
C'est un bug de Django, en ce qui me concerne. Il est tout simplement incorrect d'assumer que les utilisateurs de toutes les cultures de langue ont leurs navigateurs configurés à leur langue maternelle. Les utilisateurs attendent toujours que leurs sites Web spécifiques à la langue soient dans leur langue.