Question

Je cherche à introduire un support multilingue dans une application CGI mature écrite en Perl. J'avais initialement envisagé de lancer ma propre solution en utilisant un hachage Perl (stocké sur disque) pour les fichiers de traduction, mais je suis tombé sur un module CPAN qui semble faire exactement ce que je veux ( i18n ).

Quelqu'un at-il une expérience de l'internationalisation (en particulier du module CPAN i18n) en Perl? Le module i18n est-il la méthode privilégiée pour la prise en charge multilingue ou dois-je reconsidérer une solution personnalisée?

Merci

Était-ce utile?

La solution

Il existe un article du journal Perl sur la localisation de logiciels. Cela vous donnera une bonne idée de ce à quoi vous pouvez vous attendre lorsque vous ajoutez un support multilingue. C'est joliment écrit et humoristique.

Cet article a été rédigé par les personnes qui ont écrit et mis à jour Paramètres régionaux :: Maketext , je recommanderais donc ce module simplement en fonction de la douleur ressentie par les auteurs pour le faire fonctionner correctement.

Autres conseils

Voir http://rassie.org/archives/247 pour une comparaison des gettext et des paramètres régionaux GNU modernes. :: Maketext and Locale :: TextDomain.

En réponse à ma question à ce sujet , l'un des commentaires suggérés en lisant cet article sur la localisation du code Perl.

Si vous avez le temps, jetez un coup d'œil à la manière dont l'I18N est effectué dans le Jifty - bien qu’à l’origine très confus, il est très élégant et utilisable.

Ils surchargent _ afin que vous puissiez utiliser _ ("texte pour traduire") n'importe où dans le code. Ces chaînes sont ensuite traduites en utilisant Locale :: Maketext normalement.

Ce qui le rend vraiment puissant, c'est qu'ils retardent la traduction jusqu'à ce que la chaîne soit nécessaire à l'aide de Scalar :: Différez pour pouvoir commencer à ajouter les chaînes à tout moment, même avant de savoir dans quelle langue elles seront traduites. Par exemple, dans les fichiers de configuration, etc. Cela facilite vraiment le travail de I18N.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top