Pergunta

Eu estou trabalhando em um aplicativo Eclipse RCP com localização. Um usuário deve ser capaz de alterar o idioma usado na aplicação em tempo real. A reinicialização do aplicativo não deve ter lugar durante esta mudança de idioma. Também deve ser possível alternar entre idiomas escritos da esquerda para a direita e idiomas escritos da direita para a esquerda.
Existe uma (boa) forma de resolver este problema?

Foi útil?

Solução

De acordo com a esta discussão :

A maioria das bibliotecas eclipse carregar suas informações de linguagem na criação de widget. Se você alterar sua localidade depois que você precisa reiniciar o Eclipse para que ele tenha efeito.

Você poderia escrever esse tipo de comportamento dinâmico em seu próprio programa SWT, no entanto (quando a localidade muda, você precisaria setText(*) chamada em tudo : -)

Portanto, este não é actualmente gerido dinamicamente a menos que você programá-lo a si mesmo ...
Outros rcp / plugins aplicação como Birt especificar as mesmas instruções (ou seja, "Restart Eclipse" no final ...)


Dito isto, um problema ligeiramente diferente foi criado em este enrosque :

mudar a configuração de idioma, reiniciar, e depois executar nesse idioma

Eu tenho que trabalhar pela leitura bug 222023 e imitando org.eclipse.ui.internal.ide.actions.OpenWorkspaceAction

Eu tentei-lo manualmente:

  • acrescentado "-configuration @user.home/.myapp/configuration" ao launcher.ini
  • acrescentado "osgi.nl" para os usuários config.ini que residem lá e funcionou.

Desde que eu possa acessar o config-Location via Platform.getConfigurationLocation() eu acho que poderia ser o caminho.

Nota: a adição de "osgi.nl" ao webstart jnlp obras também .

Outras dicas

Você precisa chamar setText em cada widget, com o respectivo texto. Desde que não há nenhum mapeamento variável de texto sobre os widgets, você teria que fazer isso completamente manualmente.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top