J'ai des problèmes étranges avec le module d'internationalisation de Django. La plupart des cordes sont traduites comme elles doivent être et d'autres ne sont pas. Laissez-moi vous montrer et exemple: J'ai une liste de 4 éléments pour un menu. Je gère les makemessages de commandement de Django pour traduire le site en français et je reçois tout comme prévu: p> mais quand je le compile, les compilemessages Django-admin, uniquement "profil" et "paramètres" sont traduits. Savez-vous d'où cela pourrait venir? Pourrait-il être lié à l'utilisation d'espaces blancs? Existe-t-il un mode de débogage dans le module I18N? P> Merci pour votre aide! :) p> Edit: Nous sommes sur Django 1.4. p> p>
3 Réponses :
Vous devez supprimer des lignes floues. P>
FUZZY signifie probablement que la chaîne d'origine a été modifiée. GetText ne veut pas perdre vos traductions afin que cela le changera mais le marquez-le flou. P>
Je vous recommande Rosetta . Il vous créera une interface administratrice comme une interface où vous pouvez traduire des chaînes et gérer FUZZY. P>
acclamations p>
J'avais exactement le même symptôme, j'ai simplement oublié d'ajouter le Locale_Paths Paramètres et Django utilise des chaînes de traduction par défaut pour certaines de mes chaînes, et n'atteignez pas mes fichiers de messages développés personnalisés.
Ajout de ce paramètre résolu le problème: P >
LOCALE_PATHS = (
PROJECT_DIR.child('locale'), # assuming PROJECT_DIR is set to project root (using unipath)
)
Ne devrait-il pas être locale_path (Sans S)
J'ai lié aux docs où il est très clair que c'est locale_paths code>.
Dans mon cas, il s'agissait que le répertoire tenant mon répertoire lc_mesages code> a été nommé d'après le code de langue que je voulais (par exemple, en-nous code>) plutôt que la locale ( EN_US code>). Le renommer au format local format des choses fixes. P>
Comment ressemble vos paramètres de langue de projet Django? (
Language_Code CODE>,UTILISE_I18N CODE>). Comment ressemblent vos paramètres de langue système?Profil CODE> etParamètres CODE> sont une chaîne générique, qui peut être trouvée dans les traductions appartenant à Django même. Je suppose que vos traductions ne sont pas utilisées du tout, en raison de l'inadéquation des paramètres de langue ou de quelque chose comme ça.