Skip to content
Extraits de code Groupes Projets
Bifurcation depuis spip / spip
700 validations de retard le dépôt en amont.
traduire.php 11,36 Kio
<?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.     *
\***************************************************************************/

use Spip\I18n\Description;

/**
 * Outils pour la traduction et recherche de traductions
 *
 * @package SPIP\Core\Traductions
 **/

if (!defined('_ECRIRE_INC_VERSION')) {
	return;
}

/**
 * Rechercher tous les lang/file dans le path
 * qui seront ensuite chargés dans l'ordre du path
 *
 * Version dédiée et optimisée pour cet usage de find_in_path
 *
 * @see find_in_path()
 *
 * @staticvar array $dirs
 *
 * @param string $file
 *     Nom du fichier cherché, tel que `mots_fr.php`
 * @param string $dirname
 *     Nom du répertoire de recherche
 * @return array
 *     Liste des fichiers de langue trouvés, dans l'ordre des chemins
 */
function find_langs_in_path($file, $dirname = 'lang') {
	static $dirs = [];
	$liste = [];
	foreach (creer_chemin() as $dir) {
		if (!isset($dirs[$a = $dir . $dirname])) {
			$dirs[$a] = (is_dir($a) || !$a);
		}
		if ($dirs[$a] && is_readable($a .= $file)) {
			$liste[] = $a;
		}
	}

	return array_reverse($liste);
}

/**
 * Recherche le ou les fichiers de langue d'un module de langue
 *
 * @param string $module
 *     Nom du module de langue, tel que `mots` ou `ecrire`
 * @param string $lang
 *     Langue dont on veut obtenir les traductions.
 *     Paramètre optionnel uniquement si le module est `local`
 * @return array
 *     Liste des fichiers touvés pour ce module et cette langue.
 **/
function chercher_module_lang($module, $lang = '') {
	if ($lang) {
		$lang = '_' . $lang;
	}