
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
18.12.2006, 17:24:56
|
|||
|---|---|---|---|
Swing_ru и интернационализация |
|||
|
#18+
Для руссификации диалогов приложения использовал файл Swing_ru.jar. Теперь встал вопрос об интернационализации приложения, т.е. работа поочередно на нескольких языках без перекомпилляции приложения. Устанавливаю локаль в en, но диалог FileChooser все равно показывает русские названия. Стал копать исхоодники в JDK и обнаружил, что там теперь нет файлов *.properties, но есть файлы *.java. Вопрос: нужно ли переделать Swing_ru.jar, записав туда новые классы для *_ru.class или как-то можно использовать старый файл для интернационализации приложений с файлами _ru.properties? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
19.12.2006, 16:46:51
|
|||
|---|---|---|---|
Swing_ru и интернационализация |
|||
|
#18+
Тоже сталкивался с этим - решил "в лоб" - перестал использовать стандартные диаложки, написал свои... Только вот с FileChooser'ом проблема - самому лень писать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
19.12.2006, 17:12:12
|
|||
|---|---|---|---|
Swing_ru и интернационализация |
|||
|
#18+
В общем заменил все файлы *_ru.properies на сооответствующие *_ru.class. Для motif и windows английские исходники взял в src.zip. Перевел, пропустил через native2ascii. Для остальных исходников не оказалось. Пришлось дезассемблировать из rt.jar. Потом подобным же путем. В итоге все равно ничего не получилось. Только диалог принтера "слушает" локаль и соответственно изменяет язык. Диалоги выбора файла и цвета остаються русскими, независимо от локали. Кто знает, куда дальше копать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.12.2006, 13:13:41
|
|||
|---|---|---|---|
Swing_ru и интернационализация |
|||
|
#18+
Продолжил эксперименты, заменил язык и настройках операционной ситемы. После перезагрузки диалоги выбора файлов и цвета тоже стали выводиться на английском языке. Таким образом эти диалоги "смотрят" на язык операционной системы, в отличие от диалога вывода на печать, который срабатывает просто от изменения локали в самой программе. Вот такое неоднозначное поведение диалогов... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.01.2007, 16:01:20
|
|||
|---|---|---|---|
Swing_ru и интернационализация |
|||
|
#18+
Вот к чему пришел я, пользуясь полейнейшим методом научного тыка и копания в исходниках. Этот метод нужно вызывать при изменении локали. Здесь диалоги не полностью настраиваются, но идея думаю ясна. Констант для первого параметра я так и не нашел :( getConfigLocaleString - метод, который возвращает локализованную строку по ключу public static void prepareStandartDialogButtonText() { UIManager.put("OptionPane.cancelButtonText", getConfigLocaleString("Cancel")); UIManager.put("OptionPane.yesButtonText", getConfigLocaleString("Yes")); UIManager.put("OptionPane.noButtonText", getConfigLocaleString("No")); UIManager.put("FileChooser.cancelButtonText", getConfigLocaleString("Cancel")); UIManager.put("FileChooser.directoryOpenButtonText", getConfigLocaleString("Open")); UIManager.put("FileChooser.updateButtonText", getConfigLocaleString("Update")); } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=59&tablet=1&tid=2146914]: |
0ms |
get settings: |
14ms |
get forum list: |
22ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
74ms |
get topic data: |
21ms |
get forum data: |
4ms |
get page messages: |
72ms |
get tp. blocked users: |
4ms |
| others: | 275ms |
| total: | 498ms |

| 0 / 0 |
