Internationalisation

1. Introduction

L’internationalisation consiste à localiser et rendre disponible une application dans plusieurs langues. L’un des prérequis est d’avoir correctement encapsulé l’ensemble des libellés et des chaînes de caractères de l’application afin de les rendre traduisibles.

Lorsque l’on parle d’internationalisation, il est souvent évoqué le terme i18n. Le nombre 18 correspond au nombre de lettres entre le i et le n du mot « internationalisation ».

2. Rendre les chaînes traduisibles

a. Chaîne de caractères simple

La fonction de base permettant d’encapsuler les chaînes de caractères est __().

Syntaxe :


__(string $string_id[, $formatArgs])
 

Cette fonction récupère le message traduit, s’il existe, ou affiche la même chaîne dans le cas contraire.

Exemple :


echo __('Ajouter un article');
 

b. Regrouper les messages par domaine

La fonction __d() permet de définir le domaine de la chaîne à traduire. C’est par exemple pratique dans le cas des plugins.

Syntaxe :


__d(string $domain, string $msg, mixed $args = null)
 

Exemple :


echo __d('monPlugin', 'Ajouter une voiture');
 

c. Définir un contexte

Parfois, une même chaîne de caractères peut avoir des significations différentes en fonction du contexte dans lequel elle se trouve.

Dans ce cas la fonction __x() permet d’ajouter...

Pour consulter la suite, découvrez le livre suivant :
couv_EP3CAK.png
60-signet.svg
En version papier
20-ecran_lettre.svg
En version numérique
41-logo_abonnement.svg
En illimité avec l'abonnement ENI
130-boutique.svg
Sur la boutique officielle ENI
Précédent
Événements système
Suivant
Interface de programmation (API)