je m'attaque à un système de traduction et de localisation (en PHP 5).
Alors, je me pose pas mal de questions sur la méthodologie à adapter.
On a en fait 2 problèmes de méthodologie : (1) la localisation : i10n ; (2) la traduction : l18n.
1. La localisation :
Déjà, est-ce que c'est bien ce que je pense : l10n (au sens strict du terme) ? Je ne pense pas me tromper sur le vocabulaire pour l'instant.
Ensuite, qu'est-ce qu'on doit gérer ? J'aimerais ne rien oublier, car j'en ai mal à la tête juste d'y penser, et me plonger dans le code ne me motive pas plus que ça, alors autant ne rien oublier
Quand je dis : « Qu'est-ce qu'on doit gérer ? », j'entends, qu'est-ce PHP gère et ne gère pas. Donc qu'est-ce qu'on peut utiliser, et qu'est-ce qu'on doit construire ?
Il y a le célèbre setLocal(), mais quoi d'autres ? J'ai vu qu'on pouvait comparer des chaînes localisées, ça veut dire quoi ?
On va également rencontrer le problème de format de dates. Comment est-ce qu'on peut gérer tout ça ?
2. La traduction :
Je pense que la traduction c'est l'i18n (internationalisation), sauf erreur de ma part.
Là encore, beaucoup de problèmes. J'ai beau retourner le problème dans tous les sens, on ne peut que passer par des fichiers de traductions (chaîne de référence => chaîne traduite). J'ai vu qu'il y a différents formats : Gettext (.mo, binaire), TMX (.tmx, basé sur XML), CSV (.csv, texte) etc.
Qu'est-ce que PHP supporte le mieux ? Qu'est-ce qui le plus rapide ? Je pense que le mieux est de supporter tous les formats, mais je préfère d'abord me concentrer sur un seul.
Gettext me paraît le plus adapter, car le plus utiliser. En revanche, XML est plus adapté pour les humains (nous sommes tous des extra-terrestres sur ce forum
Ne doit-on pas faire un lien en la traduction et l'encodage aussi ? Pour le CMS que je compte préparer, je pensais forcer l'UTF-8. Peut être un petit peu contraignant, mais tellement plus simple ... Si vous avez des suggestions à ce sujet, je suis preneur !
J'ai tellement de questions, que je n'ose pas tout poser. J'ai donc 2 problèmes bien distincts. Je ne sais pas trop comment procéder, vous vous en êtes rendu compte
J'espère que ce thread sera être utile à plusieurs personnes.
J'aimerais développer quelques choses de professionnels, donc on oublie le simple tableaux de traductions (même si c'est à envisager), je préfère rester sur des standards.
Peut être qu'il serait bon de faire 2 sujets pour chaque problème. Je ne sais pas.
Bref, vous avez mon avenir entre vos mains ! (bon, j'ai essayé ^^)