mirror of
https://github.com/FreshRSS/FreshRSS.git
synced 2026-03-03 14:07:04 -05:00
C'est parti de changements pour https://github.com/marienfressinaud/FreshRSS/issues/255 et finalement j'ai continué la refactorisation... Ajout de préfixes FreshRSS_ et Minz_ sur le modèle de SimplePie_. Toutes les classes sont maintenant en chargement automatique (devrait améliorer les performances en évitant de charger plein de classes inutilisées, et faciliter la maintenance). Suppression de set_include_path(). Si souhaité, certaines classes de Minz pourraient être déplacées dans un sous-répertoire, par exemple les exceptions. Tests et relecture nécessaires.
72 lines
1.5 KiB
PHP
72 lines
1.5 KiB
PHP
<?php
|
|
/**
|
|
* MINZ - Copyright 2011 Marien Fressinaud
|
|
* Sous licence AGPL3 <http://www.gnu.org/licenses/>
|
|
*/
|
|
|
|
/**
|
|
* La classe Translate se charge de la traduction
|
|
* Utilise les fichiers du répertoire /app/i18n/
|
|
*/
|
|
class Minz_Translate {
|
|
/**
|
|
* $language est la langue à afficher
|
|
*/
|
|
private static $language;
|
|
|
|
/**
|
|
* $translates est le tableau de correspondance
|
|
* $key => $traduction
|
|
*/
|
|
private static $translates = array ();
|
|
|
|
/**
|
|
* Inclus le fichier de langue qui va bien
|
|
* l'enregistre dans $translates
|
|
*/
|
|
public static function init () {
|
|
$l = Minz_Configuration::language ();
|
|
self::$language = Minz_Session::param ('language', $l);
|
|
|
|
$l_path = APP_PATH . '/i18n/' . self::$language . '.php';
|
|
|
|
if (file_exists ($l_path)) {
|
|
self::$translates = include ($l_path);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Alias de init
|
|
*/
|
|
public static function reset () {
|
|
self::init ();
|
|
}
|
|
|
|
/**
|
|
* Traduit une clé en sa valeur du tableau $translates
|
|
* @param $key la clé à traduire
|
|
* @return la valeur correspondante à la clé
|
|
* > si non présente dans le tableau, on retourne la clé elle-même
|
|
*/
|
|
public static function t ($key) {
|
|
$translate = $key;
|
|
|
|
if (isset (self::$translates[$key])) {
|
|
$translate = self::$translates[$key];
|
|
}
|
|
|
|
$args = func_get_args ();
|
|
unset($args[0]);
|
|
|
|
return vsprintf ($translate, $args);
|
|
}
|
|
|
|
/**
|
|
* Retourne la langue utilisée actuellement
|
|
* @return la langue
|
|
*/
|
|
public static function language () {
|
|
return self::$language;
|
|
}
|
|
}
|