Correction commentaires
This commit is contained in:
parent
cceebcfed1
commit
e676feffca
@ -22,26 +22,25 @@
|
||||
\file htdocs/translate.class.php
|
||||
\brief Fichier de la classe de traduction
|
||||
\author Laurent Destailleur
|
||||
\version $Revision$
|
||||
\version $Id$
|
||||
*/
|
||||
|
||||
|
||||
/**
|
||||
/**
|
||||
\class Translate
|
||||
\brief Classe permettant de gérer les traductions
|
||||
\brief Class to manage translations
|
||||
*/
|
||||
|
||||
class Translate {
|
||||
|
||||
var $dir;
|
||||
var $origlang; // Langue origine
|
||||
var $defaultlang; // Langue courante en vigueur de l'utilisateur
|
||||
|
||||
var $tab_loaded=array(); // Tableau pour signaler les fichiers deja chargés
|
||||
var $tab_loaded=array(); // Tableau pour signaler les fichiers deja charges
|
||||
var $tab_translate=array(); // Tableau des traductions
|
||||
|
||||
var $charset_inputfile='ISO-8859-1'; // Codage du contenu du fichier langue
|
||||
var $charset_output='ISO-8859-1'; // Codage par defaut de la sortie de la méthode trans
|
||||
var $charset_output='ISO-8859-1'; // Codage par defaut de la sortie de la methode trans
|
||||
|
||||
|
||||
/**
|
||||
@ -61,9 +60,9 @@ class Translate {
|
||||
|
||||
|
||||
/**
|
||||
* \brief Renvoie la chaine traduite pour une clé donnée.
|
||||
* Le tableau des traductions doit avoir été chargé.
|
||||
* \param key Clé de traduction
|
||||
* \brief Renvoie la chaine traduite pour une cl<EFBFBD> donn<EFBFBD>e.
|
||||
* Le tableau des traductions doit avoir <EFBFBD>t<EFBFBD> charg<EFBFBD>.
|
||||
* \param key Cl<EFBFBD> de traduction
|
||||
* \return string Chaine de traduction
|
||||
*/
|
||||
function getTransFromTab($key)
|
||||
@ -79,8 +78,8 @@ class Translate {
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Positionne la chaine traduite pour une clé donnée.
|
||||
* \param key Clé de traduction
|
||||
* \brief Positionne la chaine traduite pour une cl<EFBFBD> donn<EFBFBD>e.
|
||||
* \param key Cl<EFBFBD> de traduction
|
||||
* \param value Chaine de traduction
|
||||
*/
|
||||
function setTransFromTab($key,$value)
|
||||
@ -91,7 +90,7 @@ class Translate {
|
||||
|
||||
/**
|
||||
* \brief Accesseur de this->defaultlang
|
||||
* \param srclang Langue à utiliser
|
||||
* \param srclang Langue <EFBFBD> utiliser
|
||||
*/
|
||||
function setDefaultLang($srclang='fr_FR')
|
||||
{
|
||||
@ -117,7 +116,7 @@ class Translate {
|
||||
|
||||
/**
|
||||
* \brief Accesseur de this->defaultlang
|
||||
* \return string Langue utilisée
|
||||
* \return string Langue utilis<EFBFBD>e
|
||||
*/
|
||||
function getDefaultLang()
|
||||
{
|
||||
@ -127,7 +126,7 @@ class Translate {
|
||||
|
||||
/**
|
||||
\brief Positionne environnement PHP en fonction du langage
|
||||
\remarks Le code langue long (fr_FR, en_US, ...) doit être positionné
|
||||
\remarks Le code langue long (fr_FR, en_US, ...) doit <EFBFBD>tre positionn<EFBFBD>
|
||||
\return int >0 si ok, <0 so ko
|
||||
*/
|
||||
function setPhpLang()
|
||||
@ -147,14 +146,14 @@ class Translate {
|
||||
|
||||
|
||||
/**
|
||||
* \brief Charge en mémoire le tableau de traduction pour un domaine particulier
|
||||
* Si le domaine est deja chargé, la fonction ne fait rien
|
||||
* \param domain Nom du domain (fichier lang) à charger
|
||||
* \param alt Utilise le fichier alternatif meme si fichier dans la langue est trouvée
|
||||
* \brief Charge en memoire le tableau de traduction pour un domaine particulier
|
||||
* Si le domaine est deja charge, la fonction ne fait rien
|
||||
* \param domain Nom du domain (fichier lang) a charger
|
||||
* \param alt Utilise le fichier alternatif meme si fichier dans la langue est trouvee
|
||||
*/
|
||||
function Load($domain,$alt=0)
|
||||
{
|
||||
if (! empty($this->tab_loaded[$domain])) { return; } // Le fichier de ce domaine est deja chargé
|
||||
if (! empty($this->tab_loaded[$domain])) { return; } // Le fichier de ce domaine est deja charge
|
||||
|
||||
// Repertoire de traduction
|
||||
$scandir = $this->dir."/".$this->defaultlang;
|
||||
@ -187,7 +186,7 @@ class Translate {
|
||||
foreach($_SESSION['lang_'.$domain] as $key => $value)
|
||||
{
|
||||
$this->tab_translate[$key]=$value;
|
||||
$this->tab_loaded[$domain]=1; // Marque ce fichier comme chargé
|
||||
$this->tab_loaded[$domain]=1; // Marque ce fichier comme charg<EFBFBD>
|
||||
}
|
||||
}
|
||||
else
|
||||
@ -236,7 +235,7 @@ class Translate {
|
||||
$this->load($domain,1);
|
||||
}
|
||||
|
||||
$this->tab_loaded[$domain]=1; // Marque ce fichier comme chargé
|
||||
$this->tab_loaded[$domain]=1; // Marque ce fichier comme charg<EFBFBD>
|
||||
|
||||
// To save lang in session
|
||||
if ($enablelangcacheinsession && sizeof($tabtranslatedomain)) $_SESSION['lang_'.$domain]=$tabtranslatedomain;
|
||||
@ -247,8 +246,8 @@ class Translate {
|
||||
|
||||
|
||||
/**
|
||||
* \brief Retourne la liste des domaines chargées en memoire
|
||||
* \return array Tableau des domaines chargées
|
||||
* \brief Retourne la liste des domaines charg<EFBFBD>es en memoire
|
||||
* \return array Tableau des domaines charg<EFBFBD>es
|
||||
*/
|
||||
function list_domainloaded()
|
||||
{
|
||||
@ -257,17 +256,17 @@ class Translate {
|
||||
|
||||
|
||||
/**
|
||||
* \brief Retourne la version traduite du texte passé en paramètre en la codant en HTML
|
||||
* \brief Retourne la version traduite du texte pass<EFBFBD> en param<EFBFBD>tre en la codant en HTML
|
||||
* Si il n'y a pas de correspondance pour ce texte, on cherche dans fichier alternatif
|
||||
* et si toujours pas trouvé, il est retourné tel quel
|
||||
* Les paramètres de cette méthode peuvent contenir de balises HTML.
|
||||
* \param key clé de chaine a traduire
|
||||
* et si toujours pas trouv<EFBFBD>, il est retourn<EFBFBD> tel quel
|
||||
* Les param<EFBFBD>tres de cette m<EFBFBD>thode peuvent contenir de balises HTML.
|
||||
* \param key cl<EFBFBD> de chaine a traduire
|
||||
* \param param1 chaine de param1
|
||||
* \param param2 chaine de param2
|
||||
* \param param3 chaine de param3
|
||||
* \param param4 chaine de param4
|
||||
* \param maxsize taille max
|
||||
* \return string chaine traduite et codé en HTML
|
||||
* \return string chaine traduite et cod<EFBFBD> en HTML
|
||||
*/
|
||||
function trans($key, $param1='', $param2='', $param3='', $param4='', $maxsize=0)
|
||||
{
|
||||
@ -301,11 +300,11 @@ class Translate {
|
||||
|
||||
|
||||
/**
|
||||
* \brief Retourne la version traduite du texte passé en paramètre
|
||||
* \brief Retourne la version traduite du texte pass<EFBFBD> en param<EFBFBD>tre
|
||||
* Si il n'y a pas de correspondance pour ce texte, on cherche dans fichier alternatif
|
||||
* et si toujours pas trouvé, il est retourné tel quel.
|
||||
* Les paramètres de cette méthode ne doivent pas contenir de balises HTML.
|
||||
* \param key clé de chaine a traduire
|
||||
* et si toujours pas trouv<EFBFBD>, il est retourn<EFBFBD> tel quel.
|
||||
* Les param<EFBFBD>tres de cette m<EFBFBD>thode ne doivent pas contenir de balises HTML.
|
||||
* \param key cl<EFBFBD> de chaine a traduire
|
||||
* \param param1 chaine de param1
|
||||
* \param param2 chaine de param1
|
||||
* \param param3 chaine de param1
|
||||
@ -324,7 +323,7 @@ class Translate {
|
||||
|
||||
|
||||
/**
|
||||
* \brief Retourne la version traduite du texte passé en paramètre complété du code pays
|
||||
* \brief Retourne la version traduite du texte pass<EFBFBD> en param<EFBFBD>tre compl<EFBFBD>t<EFBFBD> du code pays
|
||||
* \param str chaine a traduire
|
||||
* \param countrycode code pays (FR, ...)
|
||||
* \return string chaine traduite
|
||||
@ -355,7 +354,7 @@ class Translate {
|
||||
*/
|
||||
function get_available_languages($langdir=DOL_DOCUMENT_ROOT)
|
||||
{
|
||||
// On parcour le répertoire langs pour détecter les langues disponibles
|
||||
// On parcour le r<EFBFBD>pertoire langs pour d<>tecter les langues disponibles
|
||||
$handle=opendir($langdir ."/langs");
|
||||
$langs_available=array();
|
||||
while ($file = trim(readdir($handle)))
|
||||
@ -369,7 +368,7 @@ class Translate {
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Expédie le header correct et retourne le début de la page html
|
||||
* \brief Exp<EFBFBD>die le header correct et retourne le d<EFBFBD>but de la page html
|
||||
* [en] Send header and return a string of html start page
|
||||
* \return string html header avec charset
|
||||
*/
|
||||
@ -382,18 +381,18 @@ class Translate {
|
||||
|
||||
/**
|
||||
* \brief Renvoi si le fichier $filename existe dans la version de la langue courante ou alternative
|
||||
* \param filename nom du fichier à rechercher
|
||||
* \param filename nom du fichier <EFBFBD> rechercher
|
||||
* \param searchalt cherche aussi dans langue alternative
|
||||
* \return boolean true si existe, false sinon
|
||||
*/
|
||||
function file_exists($filename,$searchalt=0)
|
||||
{
|
||||
// Test si fichier dans répertoire de la langue
|
||||
// Test si fichier dans r<EFBFBD>pertoire de la langue
|
||||
$htmlfile=$this->dir."/".$this->defaultlang."/".$filename;
|
||||
if (is_readable($htmlfile)) return true;
|
||||
|
||||
if ($searchalt) {
|
||||
// Test si fichier dans répertoire de la langue alternative
|
||||
// Test si fichier dans r<EFBFBD>pertoire de la langue alternative
|
||||
if ($this->defaultlang != "en_US") $htmlfilealt = $this->dir."/en_US/".$filename;
|
||||
else $htmlfilealt = $this->dir."/fr_FR/".$filename;
|
||||
if (is_readable($htmlfilealt)) return true;
|
||||
@ -405,12 +404,12 @@ class Translate {
|
||||
|
||||
/**
|
||||
* \brief Renvoi le fichier $filename dans la version de la langue courante, sinon alternative
|
||||
* \param filename nom du fichier à rechercher
|
||||
* \param filename nom du fichier <EFBFBD> rechercher
|
||||
* \param searchalt cherche aussi dans langue alternative
|
||||
*/
|
||||
function print_file($filename,$searchalt=0)
|
||||
{
|
||||
// Test si fichier dans répertoire de la langue
|
||||
// Test si fichier dans r<EFBFBD>pertoire de la langue
|
||||
$htmlfile=$this->dir."/".$this->defaultlang."/".$filename;
|
||||
if (is_readable($htmlfile))
|
||||
{
|
||||
@ -419,7 +418,7 @@ class Translate {
|
||||
}
|
||||
|
||||
if ($searchalt) {
|
||||
// Test si fichier dans répertoire de la langue alternative
|
||||
// Test si fichier dans r<EFBFBD>pertoire de la langue alternative
|
||||
if ($this->defaultlang != "en_US") $htmlfilealt = $this->dir."/en_US/".$filename;
|
||||
else $htmlfilealt = $this->dir."/fr_FR/".$filename;
|
||||
if (is_readable($htmlfilealt))
|
||||
|
||||
Loading…
Reference in New Issue
Block a user