Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Podpora více jazyků

Aktivity
Avatar
Matěj Kripner
Tvůrce
Avatar
Matěj Kripner:29.11.2014 10:23

Zdravím,
chtěl bych do své aplikace zabudovat podporu více jazyků. Jednalo by se pouze o text. Teoreticky vím jak na to - nějak bych měl uložené všechny hlášky v různých jazycích a podle toho, jak si uživatel navolí bych je zobrazoval. Chci se ale zeptat, jestli někdo s tímto tématem už máte nějaké zkušenosti a pokud ano, na co bych si měl dávat pozor a jak to celkově udělat, abych z toho po pár týdnech vývoje nebyl vyřízenej. Budu rád za každou rozumnou radu.

 
Odpovědět
29.11.2014 10:23
Avatar
Silvinios
Tvůrce
Avatar
Odpovídá na Matěj Kripner
Silvinios:29.11.2014 11:40

To o čem píšeš, se anglicky nazývá internationali­zation, zkráceně i18n. Pokud ovládáš angličtinu, můžeš pro inspiraci zkusit zadat toto slovo do Google a podívat se na nějaké tutoriály.

V Javě existuje třída ResourceBundle, která umožňuje načítat texty pro daný jazyk z textových souborů na classpath. Každý textový řetězec má svůj unikátní kód. V programu se pak pracuje s těmito kódy místo konkrétních textů v daném jazyce.

Příklad
Soubor messages_cs.pro­perties (čeština):

yes = Ano

Soubor messages_en.pro­perties (angličtina):

yes = Yes

Soubor messages_de.pro­perties (němčina):

yes = Ja

Příklad použití:

ResourceBundle bundle = ResourceBundle.getBundle("messages", locale);
String text = bundle.getString("yes");
JButton button = new JButton(text);

Některé frameworky (např. Spring) mají své vlastní implementace resource bundle, ale základ bývá stejný.

Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
 
Nahoru Odpovědět
29.11.2014 11:40
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.