JavaME internacionalização (i18n)

votos
3

Alguém tem algum conhecimento com a internacionalização com JavaME? Estou à procura de informações, tanto quanto possível, como exemplos, experiências e talvez algumas das melhores práticas. obrigado

Publicado 30/01/2009 em 16:03
fonte usuário
Em outras línguas...                            


4 respostas

votos
3

Alguns pensamentos. J2ME does not suporte i18n, uma vez que o apoio api não está lá (pacotes não pode utilização de recursos). Mas podemos fazer isso de forma limitada. Aqui está o que eu descobri.

  1. É difícil, se não impossível apoiar Inglês e dizer Idiomas chinês (caracteres tipográficos) para um determinado aplicativo J2ME. Mas mais fácil de suportar Inglês e dizer spanish (I esqueceu a nomenclatura correta para falar sobre o suporte i18n, mas você começa a idéia).
  2. Nós podemos ter todas as cordas em uma classe de configuração, de que maneira você pode trocar um presente para fora para diferentes idiomas.
  3. Nós podemos ter o texto / cordas baixados do servidor no lançamento inicial do aplicativo e, portanto, têm a capacidade de trocá-lo para fora do servidor.
  4. Devido a diferentes tamanhos de tela, é melhor trabalhar com fontes personalizadas para que o código pode ser escrito para calcular o comprimento do texto, enquanto exibi-lo. Isso fará com que suporte a múltiplos idiomas mais fácil.
  5. ativos de imagem também pode ser baixado do servidor com base em diferentes idiomas. Mas eu não acho que podemos mudar o ícone midlet, por isso deve ser genérico.

Com isto em mente, é possível projetar suporte a vários idiomas.

Respondeu 30/01/2009 em 20:50
fonte usuário

votos
1

Veja a especificação internacionalização real para JavaME: http://www.jcp.org/en/jsr/detail?id=238

telefones recentes Symbian deve apoiar isso.

Um conselho óbvio é realmente tentar a sua aplicação em um telefone localizada: Obter um telefone da Suíça (deve suportar pelo menos 4 línguas) e outro de Hong Kong (com 3 versão diferente de "chinese"). Pode valer a pena olhar em Europa Oriental / ex-URSS também.

Quando os personagens reais não são seus usuais ascii, você precisa usar uma caixa de texto ou TextField, a fim de ter o controle nativa localizada na tela.

Respondeu 03/02/2009 em 12:59
fonte usuário

votos
1

A resposta de omemuhammed é um excelente coberturas de localização no espaço móvel.

Eu só tinha para apoiar EFIGS (Inglês, Francês, Italiano, Alemão e Espanhol). Nós armazenadas todas as cordas em XML, tinha um pacote de XML para cada idioma. Teríamos então compilar esses pacotes XML em dados binário proprietário e tinha a capacidade de construir tanto todos os 5 idiomas em uma compilação, tem apenas um idioma para a construção em casos em que o tamanho do aplicativo foi apertado, ou baixar o binário a partir de um servidor.

Outras considerações com localização é layout da tela. Eu também recomendo fontes personalizadas a fim de ter um melhor controle da tela em muitos dispositivos diferentes. Você vai precisar de algum código de auto-wrapping para ser capaz de se ajustar a diferentes resoluções de tela e proporções e você vai precisar de uma maneira de lidar com cordas que funcionam fora da tela em alguns dispositivos. Ou paginação ou rolagem ou seria uma boa solução.

Finalmente, só sei que o alemão vai estragar a sua formatação. Tente permitir que 20-30% estofamento em Inglês para os menus e outros elementos de interface do usuário como as traduções em alemão será muito mais tempo do que as outras línguas.

Respondeu 30/01/2009 em 22:00
fonte usuário

votos
0

Tenha em mente que quando você usa RTL (righ para a esquerda) línguas, como árabe, você deve inverter as posições de quase tudo na tela, como uma lista ficaria assim em línguas latinas

  • item da lista 1
  • item da lista 2
  • item da lista 3

mas as balas seria do outro lado da tela na arábica (tentou fazê-lo aqui, mas eu could'n gerar na lista invertida: P)

Uma outra coisa é que é melhor para armazenar suas cordas em uma classe do que propriedades de texto simples, pois isso pode causar alguns erros de interpretação do unicode de alguns idiomas, dependendo do editor OS e texto que você está usando.

O que eu costumo fazer é ter uma classe I18nManager que armazena o idioma no startApp e através dessa classe eu recebo todas as cordas que eu preciso.

Respondeu 13/02/2009 em 20:32
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more