Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > проблема с locale de_CH на MacOS


Автор: Samotnik 15.3.2010, 17:39
привет
Есть приложение, с реализованной мультиязычностью. В нем есть подтверждающие диалогои. Т.е. диалог, который появляется после какого-нибудь действия пользователся, к примеру -  "удалить запись" и пользователь выбирает Да/Нет. 
Так вот беда :
В зависимости от локали и языка OS эти Да/Нет звучат по-разному.
Кроме локали de_CH  на  Mac OS. В ней почему то вместо ожидаемого  "Ya/Nein"  выскакивает  "Yes/No"   smile 

Есть какие-нибудь идеи ? 

Автор: ivanovpv 15.3.2010, 17:58
Цитата(Samotnik @  15.3.2010,  17:39 Найти цитируемый пост)
Кроме локали de_CH  на  Mac OS. В ней почему то вместо ожидаемого  "Ya/Nein"  выскакивает  "Yes/No"


de_CH - это локаль относящаяся к швейцарскому варианту немецкого - скорее всего в приложении нет локализации этого варианта. Попробуйте подсунуть de_DE - классический немецкий или просто de.

Автор: Samotnik 15.3.2010, 18:14
ivanovpv, а почему на Windows работает ? 

Автор: ivanovpv 16.3.2010, 18:15
В разных ОС локаль может передаваться или как de_CH или de-CH/DE-ch/de_ch и т.д. Например я это наблюдал при работе с телефонами. Лечилось это приписыванием в аналитике локали что-то навроде:
Код

locale = locale.toLowerCase().replace('-', '_'); 



Автор: Samotnik 16.3.2010, 18:56
ivanovpv, спасибо, решилось специфическим способом
Код

UIManager.put("OptionPane.yesButtonText", SuiteControl.getNLS("lblYes"));
UIManager.put("OptionPane.noButtonText", SuiteControl.getNLS("lblNo"));
UIManager.put("OptionPane.cancelButtonText", SuiteControl.getNLS("button.Cancel"));

 smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)