L'internationa­lisation

La classe I18n

La classe I18n permet de :

  • définir les informations de localisation;
  • gérer la traduction des chaînes de texte et formats de dates/heures.

Constructeur

Le constructeur prend en paramètre l'information de localisation à définir :

$i18n = new I18n( 'fr_FR' );

La fonction PHP setLocale() est appelée.

Charger un fichier de traductions

La méthode load permet de charger un fichier de traductions :

$i18n->load( ROOT_DIR . 'i18n' . DS . $locale . '.ini' );

Fichiers de traduction

Les fichiers de traductions sont au format INI.

Traduire une chaîne

La méthode __() prend en paramètre une clé et retourne la traduction si elle existe.

hello = "Bonjour"
$i18n = \IoC::resolve( 'i18n' );
$message = $i18n->__( 'hello' );
welcome = "Bienvenue %s !"
$message = $i18n->__( 'welcome', $name );

On place également les formats de dates/heures dans le fichier de traductions:

short_date_format = "%%d/%%m/%%Y"
$today = date( $i18n->__( 'short_date_format' ) );