Je suis en train d’écrire une petite application Web python (gestion personnelle de la base de connaissances principalement pour apprendre), avec le bon bottle.py
micro cadre, pourtant une question me frappe l'esprit:
Quel est le meilleur moyen de fournir l'internalisation dans une application Web? Dois-je utiliser le python gettext
ou quelque chose d'autre, devrais-je écrire un seul modèle plein de{{translatethis}}
ou y a-t-il une approche plus élégante?
Devrais-je traiter la traduction directement à partir de python ou utiliser une formule JS magic pour retraduire les modèles à la volée?
Merci
Réponses:
0 pour la réponse № 1Vous pouvez enregistrer chaque traduction dans un fichier séparé comme ceci:
english.txt
greeting hi
name bob
arabic.txt
greeting اهلاً
name بوب
Vous chargez ensuite la traduction requise dans un dictionnaire en effectuant une itération et en scindant chaque ligne. Dans cet exemple, le chargement de english.txt devrait renvoyer quelque chose comme: translation = {"greeting": "hi", "name": "bob"}
. Rendez ensuite un modèle en utilisant ce dictionnaire en appelant template("{{greeting}} {{name}}!", translation)
. Rappelez-vous également de définir dir="rtl"
dans votre HTML si vous utilisez des langues de droite à gauche.