Projet

Général

Profil

Bug #464

Modifier la façon de charger les traductions

Ajouté par Benjamin Dauvergne il y a presque 13 ans. Mis à jour il y a plus de 12 ans.

Statut:
Rejeté
Priorité:
Normal
Assigné à:
-
Version cible:
-
Début:
31 mai 2011
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Planning:

Description

Actuellement les traductions sont chargés dans l'ordre, w.c.s puis les modules. Pour ce faire une utilisation du champ ''_catalog'' de la class gettext.Translation est faite, on charge d'abord le ".mo" de w.c.s puis le on '.update()' la valeur du _catalog avec les _catalog des fichier de traductions des différents modules ( c'est là http://tinyurl.com/3cq75l4 )

À la place je voudrai utiliser ça: http://docs.python.org/library/gettext.html#gettext.NullTranslations.add_fallback

De la manière suivante:

    trans.add_fallback(cls.translations[lang])
    cls.translations[lang] = trans

Ça ouvre la porte ensuite à par exemple permettre un fichier .mo pour un site particulier ou gérer un tout autre type de format de message.


Demandes liées

Bloque w.c.s. - Development #459: Chargement des traductions depuis les sourcesRejeté28 mai 2011

Actions

Historique

#1

Mis à jour par Frédéric Péters il y a presque 13 ans

Je ne suis pas vraiment sûr de comprendre ce que ça apporterait. Par ailleurs si un module se met en fallback de wcs.mo, on perd la possibilité pour ledit module de redéfinir certaines des traductions existantes.

#2

Mis à jour par Benjamin Dauvergne il y a presque 13 ans

écrivait:

La demande #464 a été mise à jour par Frédéric Péters.

Je ne suis pas vraiment sûr de comprendre ce que ça apporterait. Par
ailleurs si un module se met en fallback de wcs.mo, on perd la
possibilité pour ledit module de redéfinir certaines des traductions
existantes.

Le code présenté fait l'inverse de ce que tu dis, c'est wcs qui est en
fallback du module, et ainsi de suite pour chaque nouveau module dans la
liste.

Si add_fallback() fait bien ce que je pense ça doit faire l'équivalent
du .update() mais en non-destructif.

#3

Mis à jour par Frédéric Péters il y a presque 13 ans

Ce code ? En effet.

    trans.add_fallback(cls.translations[lang])
    cls.translations[lang] = trans

Mais ça fait quelque chose qui retourne complètement la logique du code, qui était jusque là de permettre à une extension d'ajouter des traductions au catalogue global; et je ne vois toujours pas le bénéfice que ça apporte.

#4

Mis à jour par Frédéric Péters il y a presque 13 ans

Je ne vois toujours pas ce que ça apporterait, le patch pour charger les traductions depuis un site ne semble pas nécessiter celui-ci (?).

#5

Mis à jour par Thomas Noël il y a plus de 12 ans

  • Statut changé de Nouveau à Rejeté

Formats disponibles : Atom PDF