Documentation du code de SPIP et de ses plugins

SPIP

Traductions

Interfaces, Classes, Traits and Enums

SPIP_Traductions_Description

Table of Contents

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()  : void
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|SPIP_Traductions_Description
Traduire une chaine internationalisée
definir_details_traduction()  : SPIP_Traductions_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
see
find_in_path()
staticvar

array $dirs

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 ou ecrire

$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' ]) : void

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
uses
chercher_module_lang()
uses
surcharger_langue()
Return values
void

lire_fichier_langue()

Retourne les entrées d’un fichier de langue

lire_fichier_langue(string $fichier) : string

Les fichiers de langue retournent soit un array [ cle => valeur ], soit peuplent une globale $GLOBALS[$GLOBALS['idx_lang']].

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.

Return values
mixed

inc_traduire_dist()

Traduire une chaine internationalisée

inc_traduire_dist(string $ori, string $lang[, bool $raw = false ]) : string|SPIP_Traductions_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 ou mots: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
note

Les couples clé/traductions déjà connus sont sauvés en interne dans les globales i18n_{$module}_{$lang} tel que i18n_mots_es et sont également sauvés dans la variable statique deja_vu de cette fonction.

uses
charger_langue()
uses
chercher_module_lang()
uses
surcharger_langue()
Return values
string|SPIP_Traductions_Description
  • string : Traduction demandée. Chaîne vide si aucune traduction trouvée.
  • SPIP_Traductions_Description : traduction et description (texte, module, langue)

Search results