traduire.php
SPIP, Système de publication pour l'internet
Copyright © avec tendresse depuis 2001 Arnaud Martin, Antoine Pitrou, Philippe Rivière, Emmanuel Saint-James
Ce programme est un logiciel libre distribué sous licence GNU/GPL.
Table of Contents
Functions
- find_langs_in_path() : array<string|int, mixed>
- Rechercher tous les lang/file dans le path qui seront ensuite chargés dans l'ordre du path
- chercher_module_lang() : array<string|int, mixed>
- Recherche le ou les fichiers de langue d'un module de langue
- charger_langue() : mixed
- Charge en mémoire les couples cle/traduction d'un module de langue et une langue donnée
- lire_fichier_langue() : string
- Retourne les entrées d’un fichier de langue
- surcharger_langue() : mixed
- Surcharger le fichier de langue courant avec un ou plusieurs autres
- inc_traduire_dist() : string|Description
- Traduire une chaine internationalisée
- definir_details_traduction() : Description
- Modifie le texte de traduction pour indiquer des éléments servant au debug de celles-ci. (pour var_mode=traduction)
Functions
find_langs_in_path()
Rechercher tous les lang/file dans le path qui seront ensuite chargés dans l'ordre du path
find_langs_in_path(string $file[, string $dirname = 'lang' ]) : array<string|int, mixed>
Version dédiée et optimisée pour cet usage de find_in_path
Parameters
- $file : string
-
Nom du fichier cherché, tel que
mots_fr.php
- $dirname : string = 'lang'
-
Nom du répertoire de recherche
Tags
Return values
array<string|int, mixed> —Liste des fichiers de langue trouvés, dans l'ordre des chemins
chercher_module_lang()
Recherche le ou les fichiers de langue d'un module de langue
chercher_module_lang(string $module[, string $lang = '' ]) : array<string|int, mixed>
Parameters
- $module : string
-
Nom du module de langue, tel que
mots
ouecrire
- $lang : string = ''
-
Langue dont on veut obtenir les traductions. Paramètre optionnel uniquement si le module est
local
Return values
array<string|int, mixed> —Liste des fichiers touvés pour ce module et cette langue.
charger_langue()
Charge en mémoire les couples cle/traduction d'un module de langue et une langue donnée
charger_langue(string $lang[, string $module = 'spip' ]) : mixed
Interprête un fichier de langue pour le module et la langue désignée
s'il existe, et sinon se rabat soit sur la langue principale du site
(définie par la meta langue_site
), soit sur le français.
Définit la globale idx_lang
qui sert à la lecture du fichier de langue
(include) et aux surcharges via surcharger_langue()
Parameters
- $lang : string
-
Code de langue
- $module : string = 'spip'
-
Nom du module de langue
Tags
lire_fichier_langue()
Retourne les entrées d’un fichier de langue
lire_fichier_langue(string $fichier) : string
Les fichiers de langue retournent un array [ cle => valeur ].
Parameters
- $fichier : string
Return values
string —Chemin du fichier de langue (un fichier PHP)
surcharger_langue()
Surcharger le fichier de langue courant avec un ou plusieurs autres
surcharger_langue(array<string|int, mixed> $fichiers) : mixed
Charge chaque fichier de langue dont les chemins sont transmis et surcharge les infos de cette langue/module déjà connues par les nouvelles données chargées. Seule les clés nouvelles ou modifiées par la surcharge sont impactées (les clés non présentes dans la surcharge ne sont pas supprimées !).
La fonction suppose la présence de la globale idx_lang
indiquant
la destination des couples de traduction, de la forme
i18n_{$module}_{$lang}
Parameters
- $fichiers : array<string|int, mixed>
-
Liste des chemins de fichiers de langue à surcharger.
Tags
inc_traduire_dist()
Traduire une chaine internationalisée
inc_traduire_dist(string $ori, string $lang[, bool $raw = false ]) : string|Description
Lorsque la langue demandée n'a pas de traduction pour la clé de langue
transmise, la fonction cherche alors la traduction dans la langue
principale du site (défini par la meta langue_site
), puis, à défaut
dans la langue française.
Les traductions sont cherchées dans les modules de langue indiqués.
Par exemple le module mots
dans la clé mots:titre_mot
, pour une
traduction es
(espagnol) provoquera une recherche dans tous les fichiers
lang\mots_es.php
.
Des surcharges locales peuvent être présentes également
dans les fichiers lang/local_es.php
ou lang/local.php
Parameters
- $ori : string
-
Clé de traduction, tel que
bouton_enregistrer
oumots:titre_mot
- $lang : string
-
Code de langue, la traduction doit se faire si possible dans cette langue
- $raw : bool = false
-
- false : retourne le texte (par défaut)
- true : retourne une description de la chaine de langue (module, texte, langue)
Tags
Return values
string|Description —- string : Traduction demandée. Chaîne vide si aucune traduction trouvée.
- Description : traduction et description (texte, module, langue)
definir_details_traduction()
Modifie le texte de traduction pour indiquer des éléments servant au debug de celles-ci. (pour var_mode=traduction)
definir_details_traduction(Description $desc, string $modules) : Description
Parameters
- $desc : Description
- $modules : string
-
Les modules qui étaient demandés