Autor Subiect: ghid localizare  (Citit de 2653 ori)

petro

  • Novice
  • *
  • Mesaje postate: 16
ghid localizare
« : Septembrie 25, 2006, 02:49:54 pm »
Iata o documentatie simpla si la obiect pentru crearea paginilor in mai multe limbi.

http://typo3.org/documentation/tips-tricks/multi-language-sites-in-typo3/

andrei

  • Novice
  • *
  • Mesaje postate: 64
    • IT Focus
MultiLanguage
« Răspuns #1 : Februarie 06, 2007, 11:24:41 pm »
Ok, am vazut acel articol si este ok, dar nu functioneaza, adica nu reusesc sa impac TemplaVoila-ul cu ceea ce e prezentat acolo.

Este vreo documentatie despre cum se poate face un site in mai multe limbi cu Typo3? Eu nu am avut succes la cautari...

Care sunt pasii cand vreau sa fac un site in mai multe limbi, daca vreau sa pastrez acelasi page-tree?
Bogdan Andrei  Craciun
Programator Web

http://www.bogdancraciun.com

tiberiu

  • Novice
  • *
  • Mesaje postate: 212
    • http://www.arobs.com
Re: MultiLanguage
« Răspuns #2 : Februarie 08, 2007, 09:41:07 am »
Ar trebui sa-ti mearga. Am configurat cu mai multe limbi un site care folosea templavoila  si a functionat. Pasii sunt urmatorii:

1. creezi o inregistrare de tipul 'Website language' chiar in 'New TYPO3 site', chiar in root.
2. creezi o extensie simpla care iti va face link-urile ptr. switch-ul de limba. Trebuie sa folosesti variabila GET "L" pentru a schimba limba in sistem. Functia main a extensiei poate arata asa:


function main($content,$conf) {
$this->conf=$conf;
$this->pi_setPiVarDefaults();
$this->pi_loadLL();


$content = '';
if (!t3lib_div::_GP('L')) {
$content .= $this->pi_linkTP("English", array('L'=>1),1);
} else {
$content .= $this->pi_linkTP("Dutch", array('L'=>0),1);
}
$content .= '';

return $content;
}


3. configurezi in typoscript-ul din root-ul paginii faptul ca ai 2 limbi. Iata codul ptr. configurarea limbii olandeze si engleze:

################## Languages Setup ##################
config.linkVars = L , type
config.sys_language_uid = 0
config.language = nl
config.locale_all = nl_NL

[globalVar = GP:L =0]
config.sys_language_uid = 0
config.language = nl
config.locale_all = nl_NL
[global]

[globalVar = GP:L =1]
config.sys_language_uid = 1
config.language = en
config.locale_all = english
[global]


4. acum poti trece la traducerea continutului fiecarei pagini. Observa ca ar trebui, cand te duci pe modului 'Page', sa ai inca un selector in partea de sus care contine 2 valori: 'Default' si 'English', respectiv limba default si a doua limba configurata.
Tiberiu Contiu
PHP System Architect
AROBS Transilvania Software
str. Minerilor, nr. 63, Cluj-Napoca

www.arobs.ro , www.arobs.com

E-mail: tiberiu.contiu(at)arobs.com , tiberiu.contiu(at)yahoo.com
Skype:  tiberiu.contiu

andrei

  • Novice
  • *
  • Mesaje postate: 64
    • IT Focus
languages
« Răspuns #3 : Februarie 08, 2007, 05:53:37 pm »
Multumesc de raspuns. Am facut asa, dar am o problema: indiferent ce limba aleg, mi se afiseaza continutul "default", nu cel tradus, desi el exista.

Deci daca pentru pagina cu id-ul 25 aleg limba, astfel: pentru index.php?id=25&L=1 mi se afiseaza tot coninutul "default", desi eu am facut traducere...  :cry:

Codul pe care il am la template este:

config.spamProtectEmailAddresses = 1

################## Languages Setup ##################
config.linkVars = L , type

[globalVar = GP:L =1]
config.sys_language_uid = 1
config.language = en
config.locale_all = en_GB

[globalVar = GP:L =2]
config.sys_language_uid = 2
config.language = de
config.locale_all = de_DE

[globalVar = GP:L =3]
config.sys_language_uid = 3
config.language = fr
config.locale_all = fr_FR
[global]

page = PAGE
page.typeNum = 0
page.10 = USER
page.10.userFunc = tx_templavoila_pi1->main_page


Am incercat si sa definesc limba prestabilita, asa cum ai aratat in cod, dar tot degeaba. Am folosit ca referinta si link-ul http://wiki.typo3.org/index.php/TemplaVoila#TemplaVoila_localization
Cu ce gresesc? Ce sa fac sa-mi afiseze continutul tradus, nu ceea ce este default?
Bogdan Andrei  Craciun
Programator Web

http://www.bogdancraciun.com

tiberiu

  • Novice
  • *
  • Mesaje postate: 212
    • http://www.arobs.com
Re: languages
« Răspuns #4 : Februarie 09, 2007, 02:07:49 pm »
Ar putea fi vorba si de caching. Incearca sa pui la link-urile de schimbare a limbii si variabila GET no_cache=1 si vezi ce iti da.
Tiberiu Contiu
PHP System Architect
AROBS Transilvania Software
str. Minerilor, nr. 63, Cluj-Napoca

www.arobs.ro , www.arobs.com

E-mail: tiberiu.contiu(at)arobs.com , tiberiu.contiu(at)yahoo.com
Skype:  tiberiu.contiu

andrei

  • Novice
  • *
  • Mesaje postate: 64
    • IT Focus
meniu limbi
« Răspuns #5 : Februarie 15, 2007, 12:38:30 pm »
Buna. Am reusit pana la urma sa fac un site in mai multe limbi, dar problema este ca dupa ce il mut online, pe un server Linux, meniul de limba nu imi mai apare. Pentru a explica putin... am folosit un astfel de meniu pentru a-mi afisa 4 stegulete:


## Localization menu:
temp.limba = HMENU
temp.limba {
special = language
special.value = 0,1,2,3
special.normalWhenNoLanguage = 0
1 = GMENU
1.NO {
XY = [5.w], [5.h]
5 = IMAGE
wrap =    
5.file = EXT:cms/tslib/media/flags/ro.gif  || EXT:cms/tslib/media/flags/gb.gif  || EXT:cms/tslib/media/flags/de.gif || EXT:cms/tslib/media/flags/fr.gif
5.offset = 0,0
     }
}
lib.limba < temp.limba


Pe calcuatorul meu, in locul desemnat de "lib.limba" prin TemplaVoila, apar acele 4 stegulete, iar cand dau click pe ele se schimba limba. Pe server, meniul nu mai apare deloc, desi schimbarea de limba o pot face din bara de adresa a browser-ului (prin &L=...).
Daca fac un test simplu, adica sa pun:

x = TEXT
x.value = proba...
lib.limba < x

in locul desemnat de lib.limba imi apare textul "proba...", deci maparea e corecta. Nu e o problema de caching, ce altceva ar putea fi? Fisierele cu steguletele exista, limbile sunt create corect.
Ca si procedura, am facut o arhiva a folder-ului cu site-ul, am exportat un fisier .sql pe care apoi le-am desfacut pe server, respectiv l-am rulat in PHPMyAdmin.
Asadar, desi se poate face schimbarea limbii, steguletele nu apar. Ce este de facut? Cum as mai putea sa testez, ca sa vad ce nu-i in regula?  :cry:
Bogdan Andrei  Craciun
Programator Web

http://www.bogdancraciun.com

tiberiu

  • Novice
  • *
  • Mesaje postate: 212
    • http://www.arobs.com
Re: meniu limbi
« Răspuns #6 : Februarie 21, 2007, 12:32:47 pm »
Ai reusit pana la urma? Eu zic ca nu are legatura cu sistemul de operare. Trebuie sa fie ceva gresit copiat in typoscript.
Tiberiu Contiu
PHP System Architect
AROBS Transilvania Software
str. Minerilor, nr. 63, Cluj-Napoca

www.arobs.ro , www.arobs.com

E-mail: tiberiu.contiu(at)arobs.com , tiberiu.contiu(at)yahoo.com
Skype:  tiberiu.contiu

Balauru007

  • Novice
  • *
  • Mesaje postate: 31
ghid localizare
« Răspuns #7 : Februarie 21, 2007, 03:01:38 pm »
Aici as avea si eu o problema... Trebuie sa fac in 3 limbi (Romana,Engleza,Germana)...Radu mi-a zis ca trebuie sa adaug limbile.. dar cum? la language imi arata decat DEFAULT... apoi.. ce script trebuie pt asta?

tiberiu

  • Novice
  • *
  • Mesaje postate: 212
    • http://www.arobs.com
ghid localizare
« Răspuns #8 : Februarie 26, 2007, 07:50:59 am »
Ca sa adaugi limbile:

Te duci in LIST -> (New TYPO3 site) -> Create New -> Website Language

Uid-ul inregistrarii va deveni valoarea variabilei get "L" care va schimba limba site-ului.
Tiberiu Contiu
PHP System Architect
AROBS Transilvania Software
str. Minerilor, nr. 63, Cluj-Napoca

www.arobs.ro , www.arobs.com

E-mail: tiberiu.contiu(at)arobs.com , tiberiu.contiu(at)yahoo.com
Skype:  tiberiu.contiu

radu

  • Novice
  • *
  • Mesaje postate: 42
    • http://www.pixelplant.ro
ghid localizare
« Răspuns #9 : Martie 13, 2007, 03:20:46 pm »
pentru generat meniuri de limba in frontend, sau selecturi cu limbile pe care le-ati creat in typo3, exista o extensie care se integreaza foarte bine si cu realurl -> sr_language_menu
E foarte usor de instalat si configurat si chiar nu are rost sa scrieti 30 de linii de cod typoscript pentru generat limbi.

o puteti cauta aici http://www.typo3.org/extensions

conditiile de genul
config.linkVars = L , type

[globalVar = GP:L =1]
config.sys_language_uid = 1
config.language = en
config.locale_all = en_GB

tot trebuie adaugate.

Pentru integrat cu realurl, tot ce trebuie sa faceti e sa adaugati urmatorul array, corespondent limbilor adaugate (fie ca folositi extensia respectiva sau nu)

array(
'GETvar' => 'L',
'valueMap' => array(
'en' => '0',
'de' => '1',
'ro' => '2',
),

la GETvar luam variabila pe care o mapam. Aceasta va fi variabila default pentru limbi, "L". apoi luam arrayul de limbi. in dreapta dam idul limbii (il puteti lua din backend), si in stanga ce text sa apara in locul limbii.

de ex, un url de genul index.php?id=22&L=1 va fi mapat ca /de/pagina_cu_id_22/ . De notat ca "de" va fi mapat inaintea titlului paginii deoarece e adaugat in sectiunea de prevars.
- PixelPlant -
solutii TYPO3 CMS si Magento eCommerce

http://www.pixelplant.ro