| | |
| Stránka: 1 z 1
| [ Príspevkov: 18 ] | |
Autor | Správa |
---|
Registrovaný: 26.12.06 Prihlásený: 16.11.19 Príspevky: 3971 Témy: 181 Bydlisko: Nitra / Bra... | Napísal emer: 22.01.2011 14:45 | |
|
ako riesite viacjazycne weby? prepinanie jazyku. som povodne chcel dat jazyk namiesto toho index.php nazaciatku, len mi to dajak nefachalo.
a premenu url ako robite? naprikald pri sk verzi budem mat domena.sk/prehlad a pri en verzii domena.sk/overview
asi len treba vytvorit aliasy tym funkciam a aliasy controllerom cez routes, ci ?
//nabuduce si vytvor vlastnu temu. Netreba vsetko, co sa tyka FW, pchat do jednej spolocnej. A neuviedol si, v com to presne robis, ale tipol som si Codeigniter, kebyze nie, tak nazov opravim (stenley)
//ok, polepsim sa. trafil si rpesne, problem s sql som zmazal, bolo to cachovanie, dost trapne emer
_________________ Sorry za prelkepy |
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
s CI nerobim, ale manualne vypisovanie routes asi nebude to prave orechove, ak to nie je nejaky maly "staticky" web
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 26.12.06 Prihlásený: 16.11.19 Príspevky: 3971 Témy: 181 Bydlisko: Nitra / Bra... | Napísal autor témy emer: 22.01.2011 23:02 | |
|
zas tak vela tam toho nebude lebo je to len taka cvicna aplikacia, aby som sa naucil s CI robit, ale preto sa pytam, aby som nerobil daco zbytocne zlozite, lebo pri vacsom webe to bude problem..
jedine co ma napada je spravit nejaky helper alebo modnut uri helper aby prekladal adresy "on fly".. ale to je asi tiez blbost
_________________ Sorry za prelkepy |
|
Registrovaný: 01.04.10 Prihlásený: 08.10.11 Príspevky: 339 Témy: 0 | Napísal Forty-: 22.01.2011 23:06 | |
|
Ja som to robil tak, ze som vsetky popisy napchal do XML a podla zvoleneho jazyka rozparsoval XML a priradil komponentom ...
Je to flexibilne v tom zmysle, ze tam lahucko doplnis a zmenis veci
Akurat musis parsovat XML, ale to je dnes vcelku normalka.
|
|
Registrovaný: 26.11.06 Prihlásený: 22.01.24 Príspevky: 4118 Témy: 319 Bydlisko: HE/BA | Napísal Flety: 22.01.2011 23:10 | |
|
Prečo to nehodíte do poľa?
|
|
Registrovaný: 26.12.06 Prihlásený: 16.11.19 Príspevky: 3971 Témy: 181 Bydlisko: Nitra / Bra... | Napísal autor témy emer: 22.01.2011 23:20 | |
|
flety: hm?
forty: mas aj volaku ukazku? lebo to je vpodstate to iste ako cez routes, pri vacsom webe by som sa nedopisal toho.. ak ta dobre chapem
_________________ Sorry za prelkepy |
|
Registrovaný: 20.10.08 Prihlásený: 21.06.22 Príspevky: 2602 Témy: 31 Bydlisko: Bratislava |
Definicie jazykov mam normalne v zlozke application/language/
V routes.php mam nastavene toto:
Kód: $route['default_controller'] = "home";
$route['^en/(.+)$'] = "$1"; $route['^sk/(.+)$'] = "$1";
$route['^en$'] = $route['default_controller']; $route['^sk$'] = $route['default_controller'];
To mi zabezpeci aby sa mi nacitali dane controllery na zaklade url, ktora je v tvare: www.domena.com/sk/controller
A este mam MY_Controller, ktory dedi vlastnosti hlavneho controlleru a v nom riesim okrem ineho aj to, ktory jazyk sa ma nastavit na zaklade url.
Potom ked robim aplikaciu tak mnou vytvorene controllery nededia vlastnost defaultneho controlleru, ale MY_Controlleru.
Ten regexp v routes.php by sa urcite dal riesit aj univerzalnejsie, ale mne vsetko ostatne blblo, tak to riesim hentak.
_________________ Desktop: iMac 21" CPU: i5 2.7GHz RAM: 4 GB DDR3 1333MHz GPU: AMD Radeon HD 6770M 512MB RAM HDD: 1TB 7200 rpm OS: Mac OS X Lion Desktop: CPU: AMD Phenom II x4 BE 955 3.2@3.6GHz 1.35@1.30V CPU Cooler: Gelid Tranquillo rev.2 MB: Gigabyte 880GM-UD2H RAM: 2x2 GB Kingston 1333MHz GPU: MSI HD 6850 Cyclone 1GB PSU: Seasonic S12II-620 620W HDD: Seagate Barracuda 7200.12 1TB Case: CoolerMaster Elite 333 LCD: 22" LG flatron W2261VP Keyboard: Microsoft Comfort Curve 2000 Mouse: Microsoft Wireless Mobile Mouse 4000 OS: Windows 8 Notebook: Macbook Pro 13" CPU: i5 2.4GHz RAM: 4 GB DDR3 1333MHz GPU: Intel HD Graphics 3000 384MB RAM HDD: 500GB 5400 rpm OS: Mac OS X Lion Tablet: iPad 2 64GB 3G Phone: HTC Desire S Phone: iPhone 8GB |
|
Registrovaný: 01.04.10 Prihlásený: 08.10.11 Príspevky: 339 Témy: 0 | Napísal Forty-: 22.01.2011 23:36 | |
|
emer -> v podstate, len XML nie je jazykovo zavisle ... My sme mali backend v Jave a PHP a frontend v JavaScripte ... cize flexibilita hlavne
// cize ak je to cisto CI vec, tak moc benefitov asi nebude
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
TommyHot píše: Definicie jazykov mam normalne v zlozke application/language/ V routes.php mam nastavene toto: Kód: $route['default_controller'] = "home";
$route['^en/(.+)$'] = "$1"; $route['^sk/(.+)$'] = "$1";
$route['^en$'] = $route['default_controller']; $route['^sk$'] = $route['default_controller']; To mi zabezpeci aby sa mi nacitali dane controllery na zaklade url, ktora je v tvare: www.domena.com/sk/controllerA este mam MY_Controller, ktory dedi vlastnosti hlavneho controlleru a v nom riesim okrem ineho aj to, ktory jazyk sa ma nastavit na zaklade url. Potom ked robim aplikaciu tak mnou vytvorene controllery nededia vlastnost defaultneho controlleru, ale MY_Controlleru. Ten regexp v routes.php by sa urcite dal riesit aj univerzalnejsie, ale mne vsetko ostatne blblo, tak to riesim hentak.
a kde sa riesi preklad nazvov controllerov/metod, resp. mas pre kazdy jazyk vytvoreny zvlast controller?
//osobne by som si to principialne predstavoval asi tak, ze kazdy nazov controlleru a metody by mal vytvoreny alias pre jednotlive jazyky. Ak by sa jednalo o db aplikaciu, boli by tieto udaje ulozene tam. Teraz vsak nastava problem, ako zabezpecit synchronizaciu medzi db a zdrojovym kodom => narocnost na udrzbu. Tadialto by teda cesta zrejme neviedla, lebo by dane riesenie malo viac minusov ako plusov. Co je ale vysledkom tejto mojej, zatial nic nehovoriacej, uvahy? Vhodnym riesenim sa zda byt upravit CI tak, aby si nemusel pri kazdej novej odlisnej "sekcii" vytvarat novy controller a vsetko s tym suvisiace. To znamena, vytvorenie systemu sablon/podsablon (url controller/metoda == sablona/podsablona), ktorych struktura (hierarchia) by bola ulozena v db. Tym padom by nebol ziadny problem so spravou jazykovych verzii... ale to uz som sa s uvahou dostal az k vytvoreniu akehosi CMS postaveneho na CI...
Otazkou vsak je, ci ta namaha a zdanlive znizenie vykonu aplikacie kvoli zapojeniu db, stoji za to a ci je toto mozne v CI jednoducho realizovat?
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 20.10.08 Prihlásený: 21.06.22 Príspevky: 2602 Témy: 31 Bydlisko: Bratislava |
Nazvy controllerov sa neriesia nikde, pouzivam zvycajne anglicku verziu. Pri strukture odkazov server.com/jazyk/controller nema vyznam aby som riesil aj preklad controllerov.. v takom pripade by v url uz jazyk (en/sk) bol zbytocny a bol by to skor len taky vizualny doplnok..
Inak sa to samozrejme da riesit cez routes.php, kde si bud rucne namapujes jednotlive uri, alebo ako ty hovoris, budes to riesit databazou, alebo polom. V skutocnosti som to neskusal, ale routovat sa da aj mimo suboru routes.php, takze by sa to mozno dalo riesit hookom (v pripade databazy), alebo rovno dedit Routes library.
_________________ Desktop: iMac 21" CPU: i5 2.7GHz RAM: 4 GB DDR3 1333MHz GPU: AMD Radeon HD 6770M 512MB RAM HDD: 1TB 7200 rpm OS: Mac OS X Lion Desktop: CPU: AMD Phenom II x4 BE 955 3.2@3.6GHz 1.35@1.30V CPU Cooler: Gelid Tranquillo rev.2 MB: Gigabyte 880GM-UD2H RAM: 2x2 GB Kingston 1333MHz GPU: MSI HD 6850 Cyclone 1GB PSU: Seasonic S12II-620 620W HDD: Seagate Barracuda 7200.12 1TB Case: CoolerMaster Elite 333 LCD: 22" LG flatron W2261VP Keyboard: Microsoft Comfort Curve 2000 Mouse: Microsoft Wireless Mobile Mouse 4000 OS: Windows 8 Notebook: Macbook Pro 13" CPU: i5 2.4GHz RAM: 4 GB DDR3 1333MHz GPU: Intel HD Graphics 3000 384MB RAM HDD: 500GB 5400 rpm OS: Mac OS X Lion Tablet: iPad 2 64GB 3G Phone: HTC Desire S Phone: iPhone 8GB |
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
TommyHot píše: Nazvy controllerov sa neriesia nikde, pouzivam zvycajne anglicku verziu. Pri strukture odkazov server.com/jazyk/controller nema vyznam aby som riesil aj preklad controllerov.. v takom pripade by v url uz jazyk (en/sk) bol zbytocny a bol by to skor len taky vizualny doplnok..
ale tu ide o to, aby si mal url kompletne v danom jazyku... spravit jazykove verzie pomocou identifikatora jazyka v url, pricom zvysok adresy zostava nezmeneni, nie je problem..
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 26.12.06 Prihlásený: 16.11.19 Príspevky: 3971 Témy: 181 Bydlisko: Nitra / Bra... | Napísal autor témy emer: 23.01.2011 11:33 | |
|
ja si myslim, ze to vyznam ma, pretoze potom by tie pekne adresy boli zbytocne. naco su mi pekne adresy, ked si anglicky hovoriaci navstevnik nebude vedet precitat domena.sk/en/o-nas
pozrel som si hooks, takze som dal hook na pre_system, prepisovanim $_SERVER['PATH_INFO'] by to slo. zatial som tam dal len Kód: $_SERVER['PATH_INFO'] = str_replace('prehlad', 'overview', $_SERVER['PATH_INFO']); a funguje to pekne, takze myslim ze to bude asi najlepsia cesta, len tomu spravit nejaku rozumnu funkciu. zrejme to dam zatial do pola, nebude toho vela.
kludne ma mozte spochybnovat, nech to urobim co najlepsie. toto mi vsak pride take najjednoduchsie.
a este otazocka. podla vas. je lepsie, ked dam identifikator do url, alebo budem autmaticky nastavovat jazyk? to znamena, ze ked tam bude v tomto pripade "prehlad" tak nastavim jazyk na SK, a ked tam bdue "overview" tak nastavim jazyk na EN
vyhladavacom to bude zrejme jedno a userom asi takisto.. vas nazor?
_________________ Sorry za prelkepy |
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
uff, to je prasacina takto prepisovat, ale ked ti to vyhovuje... uz sa len vyvarovat toho, aby ina podstranka neobsahovala v adrese napr. "prehladny" a pod., resp. aby si to prepisoval v spravnom poradi...
pokial vies podla adresy jednoznacne identifikovat cielovy jazyk, tak ho je do url zbytocne davat... problem vsak moze nastat pri slovach alebo skratkach, ktore sa rovnako pisu vo viacerych jazykoch - napr. detail - vies, v ktorom jazyku som to napisal? samozrejem, je malo pravdepodobne, ze taketo slovo bude pouzite osamotene, ale treba upozornit na vsetky mozne uskalia...
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 26.12.06 Prihlásený: 16.11.19 Príspevky: 3971 Témy: 181 Bydlisko: Nitra / Bra... | Napísal autor témy emer: 23.01.2011 12:16 | |
|
no hej, viem ze je to kus prasacinka, ale som tak trosku bezradny. lebo tak ci tak by som s tym daco musel robit, budto to prepisovat alebo urobit aliasy funkciam.. tak to uz radsej vypisem zoznam do pola a budem to prepisovat. prepis bude zrejme iba na urovni controller/function, zvysok netreba. spravim si nejaky helper, ktory bude uz generovat kotvy v danom jazyku, takze prepisat potrebujem len "kontrolátor" a funkciu
a neprepisoval by som to cez, alebo len cez str_replace, to je jasne. ja som len skusal ci to pojde. noooo, na ten priklad s "detail" som nemyslel, to bude mozno kapanek problem. ale hadam sa na to budu dat vymyslet nejake synonyma
_________________ Sorry za prelkepy |
|
Registrovaný: 20.10.08 Prihlásený: 21.06.22 Príspevky: 2602 Témy: 31 Bydlisko: Bratislava |
urcite by som zvolil strukturu server.com/en/controller server.com/sk/kontroler
pre uzivatela to bude lepsie, lebo povedzme bude sa nachadzat na server.com/en/controller a bude sa chciet zmenou url vratit spat na hlavnu stranku, ale anglicku, no ked zada server.com tak ho kludne moze hodit na slovensku v zavislosti od defaultneho jazyka. chapes co mam na mysli?
_________________ Desktop: iMac 21" CPU: i5 2.7GHz RAM: 4 GB DDR3 1333MHz GPU: AMD Radeon HD 6770M 512MB RAM HDD: 1TB 7200 rpm OS: Mac OS X Lion Desktop: CPU: AMD Phenom II x4 BE 955 3.2@3.6GHz 1.35@1.30V CPU Cooler: Gelid Tranquillo rev.2 MB: Gigabyte 880GM-UD2H RAM: 2x2 GB Kingston 1333MHz GPU: MSI HD 6850 Cyclone 1GB PSU: Seasonic S12II-620 620W HDD: Seagate Barracuda 7200.12 1TB Case: CoolerMaster Elite 333 LCD: 22" LG flatron W2261VP Keyboard: Microsoft Comfort Curve 2000 Mouse: Microsoft Wireless Mobile Mouse 4000 OS: Windows 8 Notebook: Macbook Pro 13" CPU: i5 2.4GHz RAM: 4 GB DDR3 1333MHz GPU: Intel HD Graphics 3000 384MB RAM HDD: 500GB 5400 rpm OS: Mac OS X Lion Tablet: iPad 2 64GB 3G Phone: HTC Desire S Phone: iPhone 8GB |
|
Registrovaný: 26.12.06 Prihlásený: 16.11.19 Príspevky: 3971 Témy: 181 Bydlisko: Nitra / Bra... | Napísal autor témy emer: 23.01.2011 16:58 | |
|
no nie je problem pridat pamatanie predchadzajuceho stavu, aby nenastal tento problem
_________________ Sorry za prelkepy |
|
Registrovaný: 20.10.08 Prihlásený: 21.06.22 Príspevky: 2602 Témy: 31 Bydlisko: Bratislava |
no to hej, ale z hladiska pristupnosti to bude lepsie ked sa user bude moct vracat zo server.com/en/controller/id na server.com/en/ a bude mat jasno v tom co sa deje.. Ako keby sa mal vracat zo server.com/en/controller/id na server.com a nebude hned z url evidentne aky jazyk ma aktualne nastaveny..
_________________ Desktop: iMac 21" CPU: i5 2.7GHz RAM: 4 GB DDR3 1333MHz GPU: AMD Radeon HD 6770M 512MB RAM HDD: 1TB 7200 rpm OS: Mac OS X Lion Desktop: CPU: AMD Phenom II x4 BE 955 3.2@3.6GHz 1.35@1.30V CPU Cooler: Gelid Tranquillo rev.2 MB: Gigabyte 880GM-UD2H RAM: 2x2 GB Kingston 1333MHz GPU: MSI HD 6850 Cyclone 1GB PSU: Seasonic S12II-620 620W HDD: Seagate Barracuda 7200.12 1TB Case: CoolerMaster Elite 333 LCD: 22" LG flatron W2261VP Keyboard: Microsoft Comfort Curve 2000 Mouse: Microsoft Wireless Mobile Mouse 4000 OS: Windows 8 Notebook: Macbook Pro 13" CPU: i5 2.4GHz RAM: 4 GB DDR3 1333MHz GPU: Intel HD Graphics 3000 384MB RAM HDD: 500GB 5400 rpm OS: Mac OS X Lion Tablet: iPad 2 64GB 3G Phone: HTC Desire S Phone: iPhone 8GB |
|
Registrovaný: 26.12.06 Prihlásený: 16.11.19 Príspevky: 3971 Témy: 181 Bydlisko: Nitra / Bra... | Napísal autor témy emer: 23.01.2011 17:07 | |
|
njn, teraz si mi azse pripomenul, ze nemoze mat jedna adresa viac jazykovych variantov... takze to budem muset riesit tym identifikatorom v url
_________________ Sorry za prelkepy |
|
| Stránka: 1 z 1
| [ Príspevkov: 18 ] | |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|