2 Jazykové mutace – jak na to?
- dotTwelve
- Člen | 167
Ahoj,
prohledal jsem to tady a i když jsem na něco narazil stále nevím jak mám
začít abych mohl web mít ve 2 jazykových mutacích: /en/ a /cs/ kde
defaultne bude /cs/.
Konkrétní příklad: Nyní mám presenter PortfolioPresenter.php a sablonu default.phtml ve slozce Portfolio – využívám příkladu „Skeleton“. V šabloně @layout.phtml mám generované odkazy a jeden je na zmiňováné Portfolio.
Jak a kde mohu například tento odkaz počeštit. Mám si vytvořit další šablony pro CZ verzi a nějak podle presenteru určovat, která šablona se bude načítat? Jak docílím toho abych měl URL ve tvaru /cs/presenter/akce/id místo /presenter/akce/id.
Díky
- lucass
- Člen | 89
Mrkni na toto, zřejmě bys v tom mohl najít odpověď:
- https://forum.nette.org/…tni-parametr
- https://forum.nette.org/…mi-parametry
- https://forum.nette.org/…pleseorouter?…
Každopádně šablonu měj jednu, v BasePresenteru si udělej persistentní $lang proměnnou a nastav routy. S největší pravděpodobností si budeš muset udělat svou vlastní routu a načítat příslušné jazykové alternativy parametrů z Db.
Editoval lucass (9. 11. 2009 10:59)
- dotTwelve
- Člen | 167
Tomik napsal(a):
Pokud máš správně nastavený lokalizátor (pokud nevíš, jak na to, hledej zde na fóru, dobře o tom psal Karel Klíma), pak stačí toto:
Předpoklad je, že parametr $lang bude persistentní, pak se do odkazu doplní sám, podle aktuálně zvolené jazykové verze…
Použil jsem NetteGettextExtractor a získal soubor .po, ten jsem následně pomocí Poeditu přeložil a mám nyní binární soubor .mo, který jsem nahrál zpět do složky /locale.
Jak mám nyní postupovat abych získal překlady v šabloně, kde mám
tvary {_'Portfolio'} atd.?
Předpokládám, že musím zaregistrovat GettextTranslator a ten potom
v šabloně volat pomocí:
?
Tak nakonec jsem tedy zprovoznil i překlad řetězců v šabloně. Ovšem nechaápu nyní jak mám udělat to, abych měl dva odkazy /en/ a /cs/ podle toho na který uživatel klikne se načte správná lokalizace. Lze na to jít přes persistentní parametr $lang a úpravu rout?
Editoval dotTwelve (9. 11. 2009 13:05)
- iguana007
- Člen | 970
V Nette jsem s gettextem jeste nepracoval, ale co jsem delal drive web
s pomoci gettextu, tak stacilo zmenit locale a jazyk se prepnul …
viz: http://php.net/…etlocale.php