gino CMS  2.5.0
gino è un CMS scritto in PHP che offre tutti gli strumenti necessari per poter creare un sito web e gestire i contenuti al suo interno in maniera semplice ed efficace, svincolando l'amministratore da conoscenze tecniche di programmazione
Locale Class Reference

Libreria per la gestione delle traduzioni che non utilizzano le librerie gettext. More...

Inheritance diagram for Locale:
Collaboration diagram for Locale:

Public Member Functions

 get ($key)
 Recupera la traduzione corrispondente alla chiave data. More...
 
 manageLocale ($controller)
 Interfaccia per la gestione dei file delle traduzioni dei moduli. More...
 
- Public Member Functions inherited from Singleton
 __clone ()
 I Singleton non possono essere clonati. More...
 
 __sleep ()
 I Singleton non possono essere serializzati. More...
 
 __wakeup ()
 I Singleton non possono essere serializzati. More...
 

Static Public Member Functions

static init ()
 Setta la lingua del client Quando viene richiesto un cambio di lingua viene effettuato un refresh della pagina per poter reimpostare le librerie gettext. More...
 
static initGettext ()
 Inizializza le librerie getttext. More...
 
- Static Public Member Functions inherited from Singleton
static instance ()
 Metodo per recuperare istanze Singleton. More...
 
static instance_to_class ($main_class)
 Metodo per recuperare istanze Singleton rispetto alla classe fornita. More...
 

Protected Member Functions

 __construct ($class_name)
 Costruttore. More...
 
- Protected Member Functions inherited from Singleton
 __construct ()
 Costruttore Il costruttore è definito come metodo protetto in modo che classi client non possano ottenere nuove istanze di una class Gino.Singleton attraverso di esso. More...
 

Private Member Functions

 pathToFile ()
 Percorso file traduzioni della classe o quello di default se non presente. More...
 
 pathToBaseDir ($code=null)
 Percorso assoluto della directory dei file delle traduzioni. More...
 
 fileName ()
 Nome del file delle traduzioni. More...
 
 setProperties ($controller)
 Imposta alcune proprietà More...
 
 listLocaleFile ()
 Lista dei file delle traduzioni. More...
 
 moduleList ()
 Tabella con l'elenco dei file delle traduzioni del modulo. More...
 
 formModuleFile ($request)
 Form di modifica file. More...
 
 actionModuleFile ($request)
 Processa il form di modifica di un file. More...
 
 formCreateFile ($request)
 Form di creazione di un file delle traduzioni. More...
 
 actionCreateFile ($request)
 Processa il form di creazione di un file. More...
 

Static Private Member Functions

static setLanguage ()
 Setta la lingua di navigazione e di default in sessione. More...
 
static userLanguage ()
 Lingua dello User Agent. More...
 
static get_languages ()
 Recupera le caratteristiche di tutti i locale. More...
 
static detectCodes ()
 Elenco dei codici lingua associati alle nazioni. More...
 

Private Attributes

 $_session
 
 $_strings
 
 $_class_name
 
 $_file_list
 

Additional Inherited Members

- Static Protected Attributes inherited from Singleton
static $_instances = array()
 

Detailed Description

Libreria per la gestione delle traduzioni che non utilizzano le librerie gettext.

Meccanismi per la gestione delle traduzioni

In gino sono previsti due meccanismi per gestire le traduzioni:

  • utilizzo delle librerie gettext
  • file di stringhe localizzate

La classe locale si prende carico della gestione dei file di stringhe.

La classe locale viene inclusa nel file class.Core.php e viene istanziata come singleton:

  • nella classe Gino.Controller per le classi applicative (che risiedono nella directory app)
  • nelle classi modello delle classi applicative che estendono la classe Model
  • nelle classi non applicative

Esempio di richiamo in una classe modello

$this->_locale = locale::instance_to_class($this->_controller->getClassName());

Esempio di richiamo in una classe non applicativa

$locale = locale::instance_to_class(get_class());

Directory dei file

La definizione delle directory dei file avviene nel metodo pathToFile().
Mentre il nome del file è comunque sempre nella forma [nome_classe]_lang.php, come ad esempio

app/user/language/en_US/user_lang.php

la directory dove risiedono questi file non è univoca.

Se esiste la directory app/[nome_classe], il file viene cercato nel percorso:

app/[nome_classe]/language/[codice_lingua]/

In caso contrario nel percorso:

languages/[codice_lingua]/

Richiamare le stringhe

Per richiamare una stringa si utilizza il metodo get passandogli il nome della chiave che identifica la stringa, ad esempio:

$this->_locale->get('label_phone')

I file contenenti le stringhe sono così costruiti:

// versione inglese
return array(
'label_name' => 'Name',
'label_comments' => 'Enabled comments'
);
// versione italina
return array(
'label_name' => 'Nome',
'label_comments' => 'Abilita i commenti'
);
Author
marco guidotti guido.nosp@m.ttim.nosp@m.@gmai.nosp@m.l.co.nosp@m.m
abidibo abidi.nosp@m.bo@g.nosp@m.mail..nosp@m.com

Constructor & Destructor Documentation

__construct (   $class_name)
protected

Costruttore.

Parameters
string$class_namenome della classe che istanzia
Returns
void

Member Function Documentation

actionCreateFile (   $request)
private

Processa il form di creazione di un file.

Parameters
actionModuleFile (   $request)
private

Processa il form di modifica di un file.

Parameters
static detectCodes ( )
staticprivate

Elenco dei codici lingua associati alle nazioni.

Returns
array codice_stato=>nome_stato
fileName ( )
private

Nome del file delle traduzioni.

Returns
nome file
formCreateFile (   $request)
private

Form di creazione di un file delle traduzioni.

Parameters
formModuleFile (   $request)
private

Form di modifica file.

Parameters
get (   $key)

Recupera la traduzione corrispondente alla chiave data.

Parameters
string$keychiave
Returns
traduzione o la chiave stessa se la traduzione non è presente
static get_languages ( )
staticprivate

Recupera le caratteristiche di tutti i locale.

Ritorna un array con i seguenti 4 elementi per ogni lingua che l'OS supporta:

  1. abbreviazione completa, es. en-ca
  2. codice lingua primario, es. en
  3. stringa completa lingua, es. English (Canada)
  4. stringa lingua primaria, es. English

Esempio

$_SERVER["HTTP_ACCEPT_LANGUAGE"]:
en-gb,en;q=0.5 [Firefox]
it-it,it;q=0.8,en-us;q=0.5,en;q=0.3 [Firefox]
it [IE7]
See also
detectCodes()
Returns
array
static init ( )
static

Setta la lingua del client Quando viene richiesto un cambio di lingua viene effettuato un refresh della pagina per poter reimpostare le librerie gettext.

Returns
TRUE
static initGettext ( )
static

Inizializza le librerie getttext.

See also
lib/global.php
Returns
TRUE
listLocaleFile ( )
private

Lista dei file delle traduzioni.

See also
self::pathToBaseDir()
Returns
void
manageLocale (   $controller)

Interfaccia per la gestione dei file delle traduzioni dei moduli.

See also
self::setProperties()
self::moduleList()
self::formModuleFile()
self::actionModuleFile()
Parameters
object$controllercontroller
Returns
interfaccia
moduleList ( )
private

Tabella con l'elenco dei file delle traduzioni del modulo.

Utilizza la libraria javascript CodeMirror

Returns
codice html
pathToBaseDir (   $code = null)
private

Percorso assoluto della directory dei file delle traduzioni.

Parameters
string$codecodice della lingua
Returns
percorso
pathToFile ( )
private

Percorso file traduzioni della classe o quello di default se non presente.

See also
self::fileName()
self::pathToBaseDir()
Parameters
string$class_namenome classe
Returns
percorso
static setLanguage ( )
staticprivate

Setta la lingua di navigazione e di default in sessione.

See also
Gino.App.Language.Lang::getMainLang()
Returns
void
setProperties (   $controller)
private

Imposta alcune proprietà

See also
self::listLocaleFile()
Parameters
object$controller
Returns
void
static userLanguage ( )
staticprivate

Lingua dello User Agent.

See also
get_languages()
Returns
lingua user agent o FALSE se non trovata

Field Documentation

$_class_name
private
$_file_list
private
$_session
private
$_strings
private

The documentation for this class was generated from the following file: