Question

J'ai examiné quelques options pour permettre la localisation et l'internationalisation d'une application php dynamique. Il semble exister divers outils disponibles, tels que gettext et R3 de Yahoo, et les développeurs et les traducteurs souhaiteraient savoir quels outils sont utiles à utiliser et quelles fonctionnalités sont importantes pour faciliter la tâche de mise en œuvre et de traduction.

Était-ce utile?

La solution

La mise en œuvre de PHP Gettext fonctionne très bien. Et les fichiers po avec po edit et gettext sont un moyen aussi efficace que la gestion de la localisation, sachant qu'aucune solution de ce type ne peut gérer complètement la complexité des différentes langues. Par exemple, la méthode gettext convient très bien aux formes plurielles, mais rien de ce que j'ai vu ne peut gérer des choses comme la conjugaison.

Pour plus d'informations, consultez mon post ici: Comment construisez-vous un site Web multilingue?

Autres conseils

Nous avons bricolé Zend_Translate , car nous utilisons le Zend Framework quand même. C'est très bien documenté et jusqu'à présent extrêmement solide.

Par le passé, j’avais presque toujours utilisé ma propre solution développée à la maison . Ce qui implique des fichiers de langue avec des constantes ou des variables qui contiennent toutes les parties de texte et qui sont ensuite répercutés dans la vue / le modèle.

Pour ce qui est de gettext, j’avais entendu dans le passé des références à la mise en œuvre de PHP par gettext, mais je ne peux pas vraiment en assurer la sauvegarde. Je n’ai aucune référence pour le moment.

Il existe un certain nombre d'extensions utiles dans pecl: http://pecl.php.net/packages.php?catpid=28& catname = Internationalisation

En particulier, vous voudrez peut-être consulter php-intl, qui fournit la plupart des fonctions i18n clés de Composants internationaux pour Unicode (ICU)

La solution basée sur la base de données pour afficher les messages n’est pas toujours la bonne, j’ai travaillé sur un site de plus de 15 langues et la traduction était un problème.

notre conception était donc:

  • application de traduction en php-mysql (accès à la traduction, etc.)
  • alors les traductions sont écrites dans les tableaux php
  • ces tableaux sont également mis en cache dans APC pour accélérer le site.

afin de localiser différentes langues, il vous suffit de faire une inclusion

comme

<?php
include('lang/en.php');
include('lang/en_us.php'); // this file overrides few keys from the last one.
?>

Xataface peut être utilisé pour internationaliser assez facilement une application arbitraire PHP / MySQL. Il prend en charge la traduction de votre texte statique et des données de votre base de données. Tout ce que vous avez à faire est d’ajouter une ligne ou 2 codes à plusieurs endroits de votre application et vous pourrez continuer.

http://xataface.com/documentation/tutorial/internationalization-with-dataface-0.6

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