Ответ 1
Я понял это. Это произошло из-за того, что я ранее называл Locale.setDefault() и передал ему локаль, которая, в свою очередь, я создал, ошибочно передав ей все имя языка (я взял язык из настройки предпочтений, и я ошибочно выбрал метку записи от значения).
То есть, я сделал:
String lang= //... here I assigned "English" while I thought
// I was assigning it "en"
Locale locale=new Locale(lang);
Locale.setDefault(locale); // (*)
// and later
Locale.getLocale().getLanguage(); //returns "english"
Итак, когда я запросил языковой стандарт по умолчанию, на самом деле это был язык, который я создал, код языка которого я ошибочно настроил на "английский".
Есть несколько забавных вещей:
- Линия (*) фактически работает и фактически меняет языковой стандарт на английский (или на испанский, когда я использовал "испанский язык" ), то есть setDefault(), похоже, принимает "искаженный" язык и даже понимает его. Но это не исправляет.
- Примечание. Я использовал прописные буквы при неправильном настройке языка, но в конце он возвращает "английский" все строчные буквы.