2013-03-13 14 views
10

Muszę leczyć 9 rodzajów języka z poniższej listy.Czy istnieje prosty sposób użycia String.toLowerCase() dla 9 rodzajów języków?

  • holenderski
  • English
  • francuski
  • niemiecki
  • włoski
  • portugalski
  • rosyjski
  • hiszpański
  • ukraiński

Do słów w tych językach potrzebuję użyć tolowercase(). i wiem, że muszę użyć Locale(country, language) jako parametru funkcji. Czy muszę używać określonych ustawień narodowych dla każdego języka, czy jest na to prostszy sposób?

+0

i dodatkowo, Locale może traktować wszystkie języki z listy ?? –

+0

Możesz użyć mapy, aby odwzorować języki na języki lokalne ... – jahroy

+0

Myślę, że ważne jest, aby wiedzieć, że potrzebujesz dziewięciu języków jednocześnie lub po prostu chcesz, w zależności od ustawień użytkownika. – Areks

Odpowiedz

8

Można skonstruować Locale z ISO 639 kod języka:

Locale russian = new Locale("RU"); 

Są tam ładne domyślne lokalizacje do użycia, na przykład:

Locale english = Locale.ENGLISH; 
Locale french = Locale.FRENCH; 
Locale german = Locale.GERMAN; 
Locale italian = Locale.ITALIAN; 

Następnie wystarczy użyć String#toLowerCase() z lokalizacji :

String lower = str.toLowerCase(someLocale); 
+0

dokładnie to, co bym opublikował. +1 :-) –

Powiązane problemy