Closed elemoine closed 9 years ago
Idéalement, on pourrait penser comment intégrer les fichiers de traduction de la partie CMS/catalogue dans ce système. Ceux-ci étant basés sur le systeme Django ! https://docs.djangoproject.com/en/1.6/topics/i18n/
Je viens d'ajouter un document de specs fonctionnelles et techniques sur la partie "internationalisation" dans le wiki : https://github.com/Geoportail-Luxembourg/geoportail_v3/wiki/Internationalisation. Je vous encourage à le lire et donner votre avis sur la solution proposée.
Dans le texte, tu parles de "fichiers" de traduction à éditer. S'agit-il de fichiers texte? Nous préférons gérer les traductions dans une base de donnée. Si un lien direct n'est pas possible, nous devons prévoir un outil de génération de texte à partir de la base de données. Il existe déjà un tel outil aujourd'hui
Dans le texte, tu parles de "fichiers" de traduction à éditer. S'agit-il de fichiers texte?
Oui, parce que c'est ce que les systèmes gettext
et les outils comme Transifex savent gérer.
Si un lien direct n'est pas possible, nous devons prévoir un outil de génération de texte à partir de la base de données. Il existe déjà un tel outil aujourd'hui
Je ne comprends pas comment ceci fonctionne actuellement, et comment ça peut fonctionner avec le système que nous avons commencer à spécifier. Où dois-je regarder dans le code actuel pour comprendre ceci ?
Par ailleurs, comptez-vous utiliser un système comme Transifex dans le futur ? Et si oui est-ce que la gestion des traductions dans une base de donnée reste pertinente ?
J'ai trouvé le script : https://project.camptocamp.com/svn/geoportail_luxembourg/trunk/geoadmin/geoadmin/geoadmin/generateTranslationFiles.py. Si je comprends bien, ce script permet de générer les fichiers po (et les fichiers de traduction "client" basés sur le système OpenLayers). Mais avec ce système utilisez-vous quand même l'extraction des messages depuis le code source Python/Mako et les fichiers pot ?
Non, pas à l'heure actuelle ... Dans le CMS, nous utilisons rosetta (https://github.com/mbi/django-rosetta) Patrick va regarder si il pourra éventuellement être utilisé dans un cadre hors-django...
Je corrige peut-être ma première position:
Nous n'avons pas nécessairement besoin d'une base de données pour stocker les traductions. Le besoin réel est d'avoir UN et UN SEUL outil dans lequel nous pouvons gérer les traductions (et qui génère les fichiers po/mo).
Non, pas à l'heure actuelle ... Dans le CMS, nous utilisons rosetta (https://github.com/mbi/django-rosetta)
Rosetta, si je comprends bien, offre une interface pour les traducteurs, intégrée dans l'interface d'admin de Django. Est-ce correct ?
Mais dans ce cas les traductions ne sont pas stockées en base de donnée ? Rosetta n'offre qu'une interface de traduction, au même titre que Transifex.
Patrick va regarder si il pourra éventuellement être utilisé dans un cadre hors-django...
Si Rosetta ne permet pas de traduire des messages qui sont en dehors du projet Django dans lequel Rosetta est installer l'alternative est d'utiliser un outil comme Transifex, qui est indépendant du projet.
Je corrige peut-être ma première position:
Nous n'avons pas nécessairement besoin d'une base de données pour stocker les traductions. Le besoin réel est d'avoir UN et UN SEUL outil dans lequel nous pouvons gérer les traductions (et qui génère les fichiers po/mo).
En se basant sur le standard gettext
pour toutes les traductions on se met dans une bonne situation de ce point de vue là. Mais on a aussi besoin d'une interface unique pour les traducteurs. C'est là qu'un outil externe/global comme Transifex devient intéressant.
En tout cas, je ne vois pas en quoi l'utilisation d'une base de donnée nous aide ici. Dis moi si je me trompe.
En tout cas, je ne vois pas en quoi l'utilisation d'une base de donnée nous aide ici. Dis moi si je me trompe.
-> c'est bien pour celà que j'ai relativé mon besoin en insistant sur l'outil unique. qu'il y a une base de donnée ou pas derrière n'est pas important. Il faut éviter de bidouiller dans des fichiers comme c'était le cas dans geoadmin ..
-> c'est bien pour celà que j'ai relativé mon besoin en insistant sur l'outil unique. qu'il y a une base de donnée ou pas derrière n'est pas important. Il faut éviter de bidouiller dans des fichiers comme c'était le cas dans geoadmin ..
Ok, donc de notre côté, on se débrouille pour utiliser gettext
pour toutes les traductions du projet (client et serveur). Et de votre côté vous regardez comment fournir une interface unique à vos traducteurs. On est d'accord avec ce principe ?
This issue is about defining the global architecture for a unified (client & server) i18n system.