Lokalizace web aplikace rubrika: Programování: PHP

1 loneswan
položil/-a 5.2.2014

Dnes jsem se opět dostal k otázce, na kterou už delší dobu nemohu najít (správnou) odpověď.

Mám webovou aplikaci psanou v nette a jQuery, kde překlad latte šalon zajišťuji vlastním překladačem ala gettext. Nenašel jsem ale zatím způsob, jak k tomu nějakým pro mě friendly způsobem připojit lokalizaci javascriptu.

Napadá mě několik možností:

1.) - javascript bude součástí latte šalony jako - mohu zde tedy použít překlad {}translate me{/}

  • toto zavrhuji protože vzhledem k množství udržovaného JS nechci psát JS do šablon a includovat JS jako latte šablonu mi přijde jako masochismus.

2.) - do latte šablony nějak přihodím do divů (.hidden) překlady a v js je použiju.

  • zavrhuji jako prasárnu

3.) - překlad JS řešit zvlášť

  • "programmer unfriendly"

4.) ?

odkaz
Anonym
odpověděl/-a 5.2.2014

Podla mna, najspravnejsie riesenie je preklad v JS casti riesit v JS. Ale tento JS generovat serverom. Kukni sa na to ako je 118n riesena v Require.js. V podstate sa vytvori mapa vyraz=>preklad pre kazdu locale. Tato mapa sa potom pouzije v JS casti aplikacie.

A prave tuto mapu generuj pomocou Nette. Urob si akciu v Presenteri, ktora vrati MIME text/javascript a tuto nalinkuj v sablone pomocou <script src>
Vdaka tomu mas preklady stale riesene pomocou gettext a okrem toho v Nette casti aplikacie si vies zistit/ulozit locale pre JS.

Komentáře

  • loneswan : Díky tohle mě nenapadlo. Určitě lepší než nějaké data atributy a podobné zhovadilosti. Takhle jsem to řešil už "pravěku", když nebylo nette, ale teď mě to nenapadlo. Díky! 5.2.2014
  • siq : Velmi dobre riesenie, dik za inspiraciu. 5.2.2014
  • Anonym : velmi pěkné řešení, toto bych také použil 5.2.2014
  • Martin Mystik Jonáš : Přesně takhle to používáme. 5.2.2014

Pro zobrazení všech 2 odpovědí se prosím přihlaste:

Rychlé přihlášení přes sociální sítě:

Nebo se přihlaste jménem a heslem:

Zadejte prosím svou e-mailovou adresu.
Zadejte své heslo.