Question

Je recherche un moyen conforme aux normes de stocker du contenu multilingue pour une application Web. Jusqu'à présent, j'ai utilisé mon propre " translate () " fonctions qui lisent les données d'un fichier ou d'une table de dictionnaire dans une base de données. Cependant, la maintenance des dictionnaires dans une table de base de données est très fastidieuse si vous travaillez avec différentes copies de l'application Web.

J'aime gettext car il existe une multitude d’outils disponibles. Cependant, je développe des applications pour différentes plates-formes. Je ne suis absolument pas disposé à faire face aux méthodes merdiques de setlocale () et consorts - à savoir les dizaines de variations de chaînes de paramètres régionaux différentes d'un système à l'autre que vous devez prévoir pour le faire fonctionner. Plus jamais. J'ai un ensemble de langues - disons de, en, et es - et je souhaite charger le dictionnaire approprié et travailler avec _ () sans toucher une fois à setlocale () ou à bindtexdomain ().

Est-ce possible d'utiliser gettext? Ou quelqu'un connaît-il une autre solution simple, petite et rapide (!) I18n pour PHP qui fonctionne avec les fichiers .po / .mo, de préférence sans extension PHP?

Était-ce utile?

Autres conseils

Cette méthode devrait fonctionner même avec des paramètres régionaux non standard:

$locale = 'someWeirdLocale';

putenv('LC_MESSAGES=' . $locale);
bindtextdomain('domain', './locale');
textdomain('domain');

Profitez!

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