Petr Kolesa napsal(a):
Ale kdyz pustim aplikaci na Debian + Tomcat 5.0.30 + JDK 1.5.0_06, bere
to pro vsechny locales hodnoty ze souboru messages_cs.properties. Kdyz
pridam prazdny sobor messages_en.properties, zacne to pro locale en
fungovat podle ocekavani. Ale napr pro locale fr, to stale cte hodnoty z
_cs.properties. Skoro to vypada, jako kdyby bylo nekde nastaveno, ze
pokud pro dane locale chybi messages_xx.properties, ma se brat _cs.
Netusite, kde hledat?
Takhle se to chovat ma, javadoc jasne rika:
http://java.sun.com/j2se/1.5.0/docs/api/java/util/ResourceBundle.html#getBundle(java.lang.String,%20java.util.Locale,%20java.lang.ClassLoader)
getBundle uses the base name, the specified locale, and the default
locale (obtained from Locale.getDefault) to generate a sequence of
candidate bundle names. If the specified locale's language, country, and
variant are all empty strings, then the base name is the only candidate
bundle name. Otherwise, the following sequence is generated from the
attribute values of the specified locale (language1, country1, and
variant1) and of the default locale (language2, country2, and variant2):
* baseName + "_" + language1 + "_" + country1 + "_" + variant1
* baseName + "_" + language1 + "_" + country1
* baseName + "_" + language1
* baseName + "_" + language2 + "_" + country2 + "_" + variant2
* baseName + "_" + language2 + "_" + country2
* baseName + "_" + language2
* baseName
Cili, receno srozumitelneji, pokud uzivatel chce treba "fr",
JVM ma default locale "cs" a existuji "messages_cs.properties"
a "messages.properties", tak se zkusi:
messages_fr.properties
messages_cs.properties
a k messages.properties se to nedostane, protoze _cs uz existuje.
Onehdy me to taky dostalo, u webove aplikace clovek tohle chovani
tak nejak neceka, ale je to tim, ze ResourceBundle je primo v JavaSE
a vznikl jeste pred webovymi aplikacemi.
Spravne reseni je tudiz mit anglictinu vzdycky v messages_en.properties,
messages.properties vyrabet Antovym skriptem jako jeho kopii,
a dat si pozor, aby servletovy kontejner byl spusten v tom locale,
z jakeho chceme zobrazovat default jazyk.
Makub
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Supercomputing Center Brno Martin Kuba
Institute of Computer Science email: [EMAIL PROTECTED]
Masaryk University http://www.ics.muni.cz/~makub/
Botanicka 68a, 60200 Brno, CZ mobil: +420-603-533775
--------------------------------------------------------------