Portál AbcLinuxu, 10. května 2024 09:49


Dotaz: stripes servlety - nastavení locale

5.7.2012 08:50 razor | skóre: 33
stripes servlety - nastavení locale
Přečteno: 132×
Odpovědět | Admin
Ahoj. Hraju si s frameworkem stripes a potřebuji mít lokalizované chybové zprávy generované frameworkem. Jestli se nemýlím, tak locale pro tyto zprávy se získá z HttpServletRequest. Nastavit locale pro request se dá ovšem pouze relativně nešikovně prostřednictvím LocalePicker a StripesFilter, který vytvoří HttpServletRequestWrapper. Nechápu proč se na to nepoužívá HttpServletResponse locale, které se dá i jednoduše nastavit pomoci response.setLocale(locale) . Připadá mi i logičtější použít pro "formátování dat" uživateli locale určené v response.

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

5.7.2012 17:24 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: stripes servlety - nastavení locale
Odpovědět | | Sbalit | Link | Blokovat | Admin
HttpServletRequest.getLocale() a getLocales() poskytují informace o preferencích klienta, které se přenášejí v hlavičce Accept-Language. Nedává smysl je nastavovat na serveru, který o preferencích klienta neví nic víc, než co dostal v těch hlavičkách. HttpServletResponse.setLocale() nastavuje hlavičku Content-Language odpovědi. Jinak Servlet API je nízkoúrovňové rozhraní a většina metod tam čte nebo nastavuje přímo nějaké HTTP hlavičky nebo jiné záležitosti týkající se HTTP protokolu.

Pro lokalizaci aplikace je logické použít locale z požadavku. Nastavovat není potřeba, každý uživatel už to má nastavené ve svém prohlížeči.
7.7.2012 00:02 razor | skóre: 33
Rozbalit Rozbalit vše Re: stripes servlety - nastavení locale
Díki za odpověd. U mě to pak dopadne tak, že klient má nastavenou nějakou preferenci dejme tomu cs_CZ, klikne si na anglickou mutaci stránek a v nich pak má některé texty v češtině, protože framework to lokalizuje podle locale z requestu. No já to vyřešit umím, ale připadá mi to hloupé ... Ocenil bych možnost nastavit locale pro request a nebo aby framework lokalizoval podle locale pro response, kde to nastavit můžu.
xkucf03 avatar 7.7.2012 09:57 xkucf03 | skóre: 49 | blog: xkucf03
Rozbalit Rozbalit vše Re: stripes servlety - nastavení locale
Pro lokalizaci aplikace je logické použít locale z požadavku. Nastavovat není potřeba, každý uživatel už to má nastavené ve svém prohlížeči.
Souhlas, ale občas přidávám ještě filtr, který čte GET parametr jazyk a umožňuje tím přebít preference z HTTP hlaviček (pro případ, že by uživatel seděl u cizího nebo blbě nastaveného prohlížeče).
Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.