Вопрос

Я работаю над приложением Eclipse RCP с локализацией.Пользователь должен иметь возможность изменять язык, используемый в приложении, "на лету".Перезапуск приложения не должен происходить во время этого переключения языка.Также должна быть возможность переключения между языками, написанными слева направо, и языками, написанными справа налево.
Есть ли (хороший) способ решить эту проблему?

Это было полезно?

Решение

Согласно этот поток:

Большинство библиотек eclipse загружают информацию о своем языке при создании виджета.Если вы впоследствии измените свой языковой стандарт, вам нужно перезапустить eclipse, чтобы он вступил в силу.

Однако вы могли бы записать такое динамическое поведение в свою собственную SWT-программу (при переключении локали, тебе нужно будет позвонить setText(*) на всем :-)

Так что в настоящее время это не удается динамически если только вы не запрограммируете это сами...
Другое приложение rcp / plugins как Бирт укажите те же инструкции (т. е."Перезапустить Eclipse" в конце ...)


Тем не менее, в этот поток:

переключите языковые настройки, перезапустите, а затем запустите программу на этом языке

Я заставил это сработать, прочитав ошибка 222023 и подражающий org.eclipse.ui.internal.ide.actions.OpenWorkspaceAction

Я попробовал сделать это вручную:

  • добавлено "-configuration @user.home/.myapp/configuration" в файл launcher.ini
  • добавлено "osgi.nl" для пользователей config.ini жил там, и это сработало.

Поскольку я могу получить доступ к config-Location через Platform.getConfigurationLocation() Я думаю, что так могло бы быть.

Примечание:добавление "osgi.nl" для веб -запуска jnlp тоже работает.

Другие советы

Вам нужно будет вызывать setText для каждого виджета с соответствующим текстом. Поскольку в виджетах нет сопоставления текстовой переменной, вам также придется делать это полностью вручную.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top