Internationnalisation

samedi 17 juillet 2010, par oscim

La gestion d’osCSS est possible dans une système multi-langue coté back et front.

Depuis osCSS 2, il est possible de n’installer que l’un des coté (back et/ou front).

Structure et hiérarchie

Lors de l’ajout d’une langue , plusieurs éléments sont ajouté Dans includes/languages/ coté back et/ou front

  • un répertoire du nom de la langue est ajouté
  • un fichier de langue principal à la racine de languages est ajouté (format php)

Le fichier de langue principal est au format php, et contient une liste de définition de constante. il est chargé systématiquement, et les constantes sont accessible partout.

Dans le répertoire de la langue, la racine de celui contient des fichiers au format php, comme le fichier de langue principal, et est chargée ponctuellement lors de l’appel du fichier du répertoire content, portant le même nom .

Forme d’un fichier au format php

define('NEWS', 'News');
define('NEW_ARTICLE', 'New Article');
....

Vous trouverez dans ce répertoire des sous répertoires, sous la même forme que le répertoire du dossier includes. A l’intérieur des sous-répertoires les fichiers doivent être au format txt, dans ce cas, le fichier à la forme suivante

$lang['heading title']='Devises';
$lang['table heading currency name']='Devise';
$lang['table heading currency codes']='Code';
....

Les fichiers de langue du template (coté boutique uniquement) Dans le dossier includes, sous la même forme que dans le include du core. TOUS les fichier doivent être au format texte. Si un fichier porte le même nom que l’un de ceux du core, c’est celui du template qui est chargé

utilisation

Pour accéder au élément de langue sous leur forme traduite dans la langue en cours, 2 mécanismes, pour exploiter les 2 types de fichiers (php|txt)

L’utilisation des élément php sous cette forme

echo HEADING_TITLE
// affiche:
// Devises

L’utilisation des éléments des fichier texte sous cette forme.

echo __('heading title')
// affiche:
// Devises

Notion de surclass

Les fichiers de type texte, exploite la gestion des surclass, aussi une élément de traduction défini 2 fois, renverra la traduction chargée en dernier (le fichier de langue du template). Il est donc aisé de redéfinir une élément de langue .

1 Message

Répondre à cet article