Jeśli mam przeglądarkę w języku angielskim (US), to nagłówek zwraca mi en_US
. Otrzymuję tutaj kod kraju USA. Ale na przykład, kiedy używam języka japońskiego i pobieram nagłówek, otrzymuję ja
. Otrzymuję tylko kod języka. Nie podano kodu kraju, np. JP
. Czy możliwe jest uzyskanie kodu kraju w jakiś sposób w oparciu o język? Języki takie jak angielski lub arabski są używane w wielu krajach, ich kod wygląda tak jak en-CA
en-IE
en-NZ
ar-DZ
ar-BH
ar-EG
. Jednak takie języki, jak duński lub polski, są używane tylko przez jeden kraj. Dlatego ich kod wygląda na tak da
pl
. I dlatego, jeśli otrzymam tylko język, chciałbym uzyskać kod kraju, np. Dla języka duńskiego byłby to DK
. Jest to możliwe?
- Rejestracja:ponad 7 lat
- Ostatnio:ponad 6 lat
- Postów:87

- Rejestracja:ponad 13 lat
- Ostatnio:prawie 3 lata
Tam jest kod kraju, ale nie wiem czy o taki Ci chodzi.
To jest kraj z którego dany wariant języka pochodzi.
Nic nie stoi na przeszkodzie żeby ktoś w Warszawie ustawił sobie kod języka en_UK (np. konsultant który przyjechał na 1 projekt).
Co wtedy zrobisz ze swoją logiką? Czy na pewno będzie dobrze działać?
Wersja brute force:
public static void main (String[] args) throws java.lang.Exception
{
Scanner sc = new Scanner(System.in);
String lang;
while((lang = sc.nextLine()) != null) {
if (lang.length() % 5 > 0) {
lang = lang + "_" + lang.toUpperCase();
}
System.out.println(lang);
}
}
Więcej: http://www.oracle.com/us/technologies/java/locale-140624.html

- Rejestracja:ponad 7 lat
- Ostatnio:około 6 lat
- Postów:101
Na drugiej pozycji wcale nie musi być kod regionu. Poprawnym identyfikatorem jest np. sr-Latn
oznaczający serbski zapisany alfabetem łacińskim bez określania regionu, już nie wspominając o kodzie sl-Cyrl-YU-rozaj-solba-1994
;).
A odpowiadając bezpośrednio na Twoje pytanie - tak, musisz sobie zbudować mapę język => kraj.
PS. Co temat ma wspólnego z Javą?

- Rejestracja:ponad 13 lat
- Ostatnio:prawie 3 lata
@Czarek12: Zacznij od informacji podstawowej - standardy które opisują podane przez Ciebie źródło:
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Language
A potem to już googlasz: java convert language to country code iso 639
i wychodzi:
- Rejestracja:ponad 7 lat
- Ostatnio:ponad 6 lat
- Postów:87
Dzięki, ale dostałem już na SO https://stackoverflow.com/questions/49562997/how-do-you-get-a-country-from-language/49565137#49565137 odpowiedź. Że nie wpadłem na to.
PS: Robię to w taki sposób, bo chcę uzyskać efekt podobny do tego jaki występuje na stronie IMDB. Czyli jeśli mam przeglądarkę w języku polskim i konkretny film posiada zapisany inny tytuł w języku polskim, to chcę go wyświetlić na stronie filmu zamiast oryginalnego. Wejdźcie sobie np. na stronę filmu Black Panether http://www.imdb.com/title/tt1825683/?pf_rd_m=A2FGELUUNOQJNL&pf_rd_p=740b2354-425b-4cd3-947b-7f9cb4349875&pf_rd_r=0N0CKVCN6VH19XRS6ZX3&pf_rd_s=right-7&pf_rd_t=15061&pf_rd_i=homepage&ref_=hm_cht_t1. IMDB identyfikuje kraj i w miejscu gdzie powinien być oryginalny język stawia ten odpowiedni dla regionu klienta.
vpiotrsr-Latn
: http://cldr.unicode.org , https://unicode.org/cldr/utility/languageid.jsp?a=sr-Cyrl&l=envpiotrvpiotr