J'essaie de transformer diverses clés de message en un texte lisible par l'homme dans un modèle, par exemple :

database_skill => "Database Skill"
experience_3_4 => "3 to 4 years of experience"

J'ai essayé avec l'internationalisation mais cela ne semble pas fonctionner correctement. Un fichier .po est généré pour en-us, j'ajoute la "traduction" mais je ne la vois pas dans le template une fois que je l'utilise :

msgid "database_skills"
msgstr "Database Skills"

Modèle:

{% load i18n %}
Translated: {% translate "database_skills" %} => this still shows "database_skills"

Mes paramètres:

LOCALE_PATHS = (
    os.path.join(BASE_DIR, "app/locale"),
)
LANGUAGE_CODE = "en-us"
LANGUAGES = (
    ('en-us', 'English'),
)

Est-ce que je fais quelque chose de mal? Ou dois-je opter pour une autre approche?

Edit : ajouter une structure de répertoire de paramètres régionaux

project_root/app/locale/en-us/LC_MESSAGES/django.po
0
Cris Pinto 15 oct. 2020 à 16:21

1 réponse

Meilleure réponse

C'est ennuyeux, il s'avère que le répertoire de ma langue aurait dû s'appeler en_US avec un trait de soulignement et des lettres majuscules pour le code du pays, même si le code de la langue lui-même est en-us avec un tiret et une minuscule. Tout fonctionne bien maintenant.

0
Cris Pinto 19 oct. 2020 à 13:11