Maison >développement back-end >tutoriel php >Comment implémenter l'internationalisation en PHP ?
Avec l'accélération de l'internationalisation et de la mondialisation, certains sites Web et applications doivent prendre en charge plusieurs langues pour répondre aux besoins des utilisateurs dans différentes langues. En tant que langage de programmation populaire, PHP lui-même fournit également certaines fonctions de localisation du langage. Dans cet article, nous explorerons comment implémenter l'internationalisation en PHP.
Qu’est-ce que l’internationalisation ?
L'internationalisation fait référence au processus de conception et d'écriture de logiciels pour s'adapter à différentes langues et habitudes culturelles afin de favoriser sa mondialisation. Concrètement, cela comprend la traduction d'éléments tels que du texte, des images, des sons, etc. dans différentes langues et la prise en compte de différents formats locaux tels que les valeurs, les dates, les heures et les devises.
Internationalisation en PHP
En PHP, nous utilisons généralement l'extension gettext pour réaliser l'internationalisation. gettext fait partie de l'ensemble d'outils GNU gettext, qui fournit un mécanisme simple qui nous permet d'utiliser des chaînes localisées dans nos programmes et de séparer ces chaînes du code source afin qu'elles puissent être facilement traduites dans d'autres langues.
Étape 1 : Installer l'extension gettext
Pour commencer à utiliser l'extension gettext, nous devons installer l'extension gettext en PHP. L'extension gettext est généralement installée avec PHP, mais vous pouvez l'installer manuellement sur Ubuntu à l'aide de la commande suivante :
sudo apt-get install php-gettext
Si vous utilisez un autre système d'exploitation, veuillez consulter sa documentation correspondante pour obtenir une aide à l'installation .
Étape 2 : Créer le fichier de langue
Le fichier de langue gettext est généralement appelé fichier .po, qui contient les chaînes de texte dans le code source et leurs chaînes de localisation correspondantes. Chaque fichier po est spécifique à une langue et peut être édité et stocké dans un logiciel éditeur. Par exemple, nous pourrions créer un fichier en_US.po pour stocker les chaînes localisées pour l'anglais américain, ou un fichier fr_FR.po pour stocker les chaînes localisées pour le français français. Pour la chaîne de chaque langue, nous définirons une propriété dans le fichier po comme ceci :
msgid "Hello World"
msgstr "Bonjour le monde"
où msgid est l'identifiant de la chaîne que nous voulons localiser, msgstr est la chaîne localisée chaîne dont nous avons besoin.
Étape 3 : Utilisez des chaînes localisées dans votre code
Une fois que nous avons défini le fichier po et l'avons stocké à l'emplacement approprié, il est temps d'utiliser des chaînes localisées dans notre code PHP. Nous utilisons la fonction gettext() pour obtenir la chaîne localisée correspondante, par exemple :
echo gettext("Hello World");
PHP recherchera le fichier .po des paramètres régionaux actuels et renverra la chaîne localisée appropriée. Si aucune traduction appropriée n'est trouvée, la chaîne msgid originale est affichée. Pour spécifier les paramètres régionaux à utiliser, utilisez l'instruction suivante :
setlocale(LC_ALL, 'en_US.UTF-8');
Ce code définira les paramètres régionaux sur l'anglais américain et le codage des caractères sur UTF-8 .
Conclusion
Dans cet article, nous avons présenté comment implémenter l'internationalisation en PHP, en trois étapes principales. Tout d’abord, nous devons installer l’extension gettext, qui fournit le mécanisme nécessaire pour implémenter la fonctionnalité de chaîne localisée. Ensuite, nous devons créer le fichier .po correspondant et définir les chaînes de localisation appropriées à utiliser. Enfin, nous utilisons la fonction gettext() dans le code pour obtenir la chaîne localisée correspondante. En suivant ces étapes, nous pouvons facilement localiser notre programme pour prendre en charge différentes langues.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!