2009-03-21 8 views
3

J'ai une version de développement de mon site web PHP et quand je l'ai déplacé sur mon serveur de production sur le système d'exploitation centOS, j'ai découvert que la version locale de en_EN ne fonctionnait pas.Comment activer la locale en_EN sur centOS pour obtenir i18n gettext

Pourriez-vous s'il vous plaît me dire ce que cela peut causer et quoi faire pour que cela fonctionne? J'utilise setlocale et gettext pour utiliser i18n en PHP.

Répondre

5

Je ne recommanderais pas tout le monde en utilisant setlocale() et gettext() pour localisation en PHP (il y a des problèmes graves qui stimuleront les noix de développement). Mais de toute façon, il n'y a pas de paramètres régionaux en_EN. L'identifiant avant le trait de soulignement est la langue (en = anglais), l'identifiant après le trait de soulignement est le pays (EN = ???). Vous devriez probablement utiliser en_US, en_GB ou autre chose.

+0

Alors, que pensez-vous qu'il est bon de faire pour i18n en PHP? –

+0

Les tableaux associatifs simples fonctionnent très bien. Ils sont flexibles, simples à comprendre, ne nécessitent pas de redémarrage httpd pour recharger les chaînes, etc. Remplissez-le avec des classes pour prendre en charge l'inflexion plurielle, le formatage date/heure, etc. Jetez un oeil au code source de MediaWiki, et vous serez éclairé . – Juliano

+0

Quels sont les problèmes sérieux dont vous parlez? Nous avons utilisé gettext pendant des années avec PHP sans problèmes. Il n'est également pas nécessaire de redémarrer Apache pour le faire. – markus

3

Je ne pense pas que EN_EN est correct, Peut-être que vous voulez dire en_US?

Questions connexes