|
Atunci cand dezvoltati website-uri dedicate utilizatorilor din intreaga lume si aveti nevoie de o modalitate facila de a integra suport pentru mai multe limbi, puteti apela cu incredere la Zend_Translate.
Iata mai jos o lista cu beneficiile oferite de aceasta librarie:
- Suport pentru diverse formate ale fisierului sursa: Array, CSV, TBX, TMX, Gettext, Ini, Qt, Xliff, XmlTm
- Nu exista probleme in a fi utilizata pentru medii multi-thread
- Contine cateva functii de baza, usor de utilizat
- Toate formatele utilizate sunt manipulate in exact acelasi mod, astfel daca schimbati fisierul de limba din TMX in CSV nu va fi nici o problema la nivelul codului PHP, trebuind doar sa specificati Adapter-ul nou
- Posibilitatea de a detecta limba utilizatorului
- Integrarea mai multe limbi si selectia lor automata in functie de caz
Vom incepe prin a lua in considerare un fisier .csv ca sursa ce va contine textele in limba de interes(engleza, in cazul nostru):
Tutoriale; Tutorials
Stiri; News
Intrebari frecvente; FAQ
Pentru a afisa meniul de mai sus in limba engleza, nu trebuie decat sa utilizati scriptul de mai jos:
<?php
require_once("Zend/Translate.php");
$translate = new Zend_Translate(
'Zend_Translate_Adapter_Csv',
"languages.csv",
'en');
echo $translate->_("Tutoriale")."<br />";
echo $translate->_("Stiri")."<br />";
echo $translate->_("Intrebari frecvente")."<br />";
echo $translate->_("Blog")."<br />";
echo $translate->_("Contact");
?>
Daca pentru "Tutoriale", "Stiri" si "Intrebari frecvente" avem corespondenta in limba engleza, ce se intampla cu "Blog" si "Contact" ? Este foarte simplu: in cazul in care pentru sirul de caractere dat ca parametru nu este gasita nici o traducere, atunci chiar acel sir va fi afisat. Astfel eliminandu-se afisarea unor mesaje de genul "Traducerea nu a fost gasita". Intamplator insa, in cadrul exemplului nostru, cuvintele din romana sunt la identice cu cele din engleza, asadar nu avea rost sa le mai include in fisierul .csv.
Sigur ca acesta este un exemplu banal, menit doar sa va deschida apetitul catre lucrul in Zend Framework, iar de aici puteti merge si mai departe:
- Afisarea continutului unui site in limba selectate de utilizator de la o adresa de genul: http://www.e-learn.ro/lang/en/
- Afisarea continutului unui site in functie de setarile utilizatorului
- Setarea pluralului unor cuvinte din fisierul sursa
Mai multe despre subiect puteti citi aici: http://framework.zend.com/manual/en/zend.translate.html
|