IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

[i18n - GNU gettext]Conseil d'internationalisation


Sujet :

Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Janvier 2008
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 44
    Points : 33
    Points
    33
    Par défaut [i18n - GNU gettext]Conseil d'internationalisation
    Bonjour,

    J'aurais besoin de conseils de conception pour la mise en place de l'internationalisation en java.

    Je travaille sur un projet java déjà internationalisé, et j'aimerais savoir si le mécanisme est à remettre en cause et comment l'améliorer. Voici une présentation rapide du mode de fonctionnement :
    • utilisation de i18n et des ResourceBundle
    • utilisation de PoEdit et des utilitaires de GNU gettext
    • multiples fichiers de traduction pour une seule langue
    • traduction complète de l'interface à chaque changement de traduction demandé par l'utilisateur


    J'aimerais savoir si cela serait plus judicieux d'avoir un fichier unique pour chaque langue. Dans mon cas, plusieurs clés de traduction identiques se retrouvent dans des fichiers différents, ce qui peut amener le traducteur à mettre des traductions différentes pour une même clé.
    Qu'en pensez-vous ?

    J'ai voulu créer un fichier unique rassemblant toutes mes clés de traduction en un fichier .po.
    Je rassemble automatiquement une partie de mes clés de traduction dans un fichier .pot. Ce fichier contient des doublons de clé de traduction. J'essaie de créer mon .po à l'aide de msmerge, ce qui ne fonctionne pas à cause des doublons.
    Dois-je faire un tri auparavant ? Dois-je m'y prendre tout simplement autrement ?

    Je n'ai pas l'impression d'être très clair dans ma demande, donc n'hésitez pas à me poser vos questions.
    Merci beaucoup d'avance,

    Sophie

  2. #2
    Membre du Club Avatar de daronmaster
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    67
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Vienne (Poitou Charente)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 67
    Points : 56
    Points
    56
    Par défaut
    Bonjour,

    je pense qu'il est plus judicieux d'avoir un fichier par langue. A quoi bon avoir plusieurs traduction pour un même mot ? sauf si bien entendu ce mot peut être traduit autrement suivant le contexte dans lequel il se trouve (par exemple un mot anglais peut être traduit en français en plusieurs mots suivant son interprétation).

    Voilà, je ne suis pas expert mais un seul fichier me semble plus logique et moins long à gérer lors de changement, ajout ou suppression de mots.

    Tchû

  3. #3
    Nouveau membre du Club
    Inscrit en
    Janvier 2008
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 44
    Points : 33
    Points
    33
    Par défaut
    Bonjour,

    Je suis assez d'accord avec toi, je cherchais pourquoi cela avait été développé de cette manière... J'ai désormais quelques pistes. Je rencontre quelques problèmes dans la génération automatique de mon fichier unique de traduction.

    J'ai plusieurs fichiers de configuration qui contiennent des chaînes à traduire, certains de ces fichiers contiennent des clés identiques.
    J'utilise un stylesheet pour extraire ces clés de traductions dans un même fichier .pot formaté comme il faut :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    msgid "translatekey"
    msgstr "translate"
    Cet unique fichier .pot contient donc des doublons.
    Cependant, lorsque je veux créer mon .po à l'aide de la commande suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    msgmerge.exe -U test.po test.pot
    J'obtiens des erreurs dûs aux doublons !

    Je me suis pas mal plongée dans la doc
    http://www.gnu.org/software/gettext/manual/gettext.html
    sans rien y trouver de réelle solution à mon problème...

    J'avais trouvé le moyen d'ajouter un contexte pour différencier mes clés identiques en utilisant msgctxt, mais là j'ai aussi une erreur dans le aprse de msgmerge qui me dit ne pas connaître ce mot clé !
    Cependant lorsque je charge mon .pot à partir de POEdit, pas de problème, il me crée bien mon .po avec mes doublons !
    Par contre, POEdit n'affiche pas l'information de contexte...

    Si quelqu'un a des idées, je suis prête à prendre toutes suggestions.
    Merci d'avance.

    Sophie

  4. #4
    Nouveau membre du Club
    Inscrit en
    Janvier 2008
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 44
    Points : 33
    Points
    33
    Par défaut Gnu Gettext version 0.17
    Bonjour,

    J'ai continué mes recherches sur gettext. Pour différencier mes doublons, j'ai utilisé le mot clé 'mscgtxt' tel que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    msgctxt "com1"
    msgid "translatekey"
    msgstr "translate"
     
    msgctxt "com2"
    msgid "translatekey"
    msgstr "translate2"
    Pour cela, j'ai utilisé la version 0.17.0 des tools de gnu gettext.
    J'ai trouvé une partie de ces utilitaires dans le répertoire d'installation de POEdit (Program Files\Poedit\bin), cependant tous les utilitaires n'y sont pas regroupés.

    Quelqu'un aurait une idée de l'endroit où je pourrais télécharger le reste ???

    J'ai bien entendu trouver sur le site de gnu gettext le lien pour télécharger l'ensemble des sources de la version 0.17 qu'il reste à compiler.
    Quelqu'un l'a-t-il déjà fait ?

    Merci d'avance d'avoir lu ce poste.

    Sophie

  5. #5
    Membre chevronné

    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Novembre 2006
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 252
    Points : 1 954
    Points
    1 954
    Par défaut
    Pourquoi n'introduis-tu pas le discriminant contextuel dans la clé, sous la forme context.key ?

  6. #6
    Nouveau membre du Club
    Inscrit en
    Janvier 2008
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 44
    Points : 33
    Points
    33
    Par défaut
    Bonjour Tommy31,

    Merci d'avoir lu mon poste.

    Je n'introduis pas de discriminant contextuel dans la clé (type context.key) car
    • tout d'abord je trouve que ça rend le travail un peu plus complexe pour le traducteur.
    • ensuite, pour mettre en place cette solution, cela m'oblige à repérer tous mes doublons "à la main" et à y changer toutes mes clés de traduction.


    En réfléchissant à ta remarque, je me dis que je pourrais trouver un moyen de faire un tri dans mon fichier .pot rassemblant toutes les clés de traduction de mes différents fichiers de configuration pour supprimer mes doublons.
    Qu'en pensez-vous ?

    Quelqu'un a d'autres idées ?
    Merci

    Sophie

Discussions similaires

  1. Utiliser GNU gettext dans un projet visual studio c++
    Par sentza dans le forum Débuter
    Réponses: 1
    Dernier message: 08/01/2012, 19h20
  2. Support Gettext pour l'internationalisation
    Par Franck.H dans le forum GTK+ avec C & C++
    Réponses: 16
    Dernier message: 22/07/2007, 18h15
  3. [I18n] Internationalisation d'une image?
    Par questionneuse dans le forum Struts 1
    Réponses: 6
    Dernier message: 22/06/2006, 12h22
  4. [I18N] internationalisation ne marche pas
    Par gloglo dans le forum Struts 1
    Réponses: 44
    Dernier message: 31/05/2006, 10h59
  5. [I18N] Conseil pour l'architecture
    Par Alec6 dans le forum API standards et tierces
    Réponses: 5
    Dernier message: 11/10/2005, 23h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo