A maioria dos meus clientes exige apenas um idioma e, de fato, especifica esse idioma. Portanto, não gastamos tempo localizando o aplicativo. No entanto, isso não significa que podemos ignorar completamente outros idiomas. Então, continuamos com o básico:
- Use Unicode em qualquer lugar. É 2k10, não há desculpa para não fazê-lo.
- Design para alguma elasticidade no layout. Mesmo com todo o inglês, fontes diferentes têm pegadas de tela muito diferentes no mesmo tamanho de ponto.
- Mantenha as funções do aplicativo / modelagem de dados fora da camada de visualização
Pessoalmente, quando um potencial idioma de localização é fundamentalmente diferente daquele em que o aplicativo foi projetado, há muito mais acontecendo do que a simples seleção de texto. Embora a substituição de texto ajude e permita que uma empresa obtenha uma implementação "rápida e suja" em um novo local comparativamente mais cedo - ela não resolve as diferenças fundamentais na maneira como os usuários do outro idioma pensam.
Estudei japonês e, embora eu possa me considerar apenas um iniciante nesse idioma, sei o suficiente que existem alguns conceitos para os quais não há uma tradução direta. Existem idéias diferentes sobre o que torna algo útil. Embora os grandes conceitos principais possam ser semelhantes, são os detalhes que realmente fazem a diferença para os usuários.
Para realmente atender às necessidades de uma cultura muito diferente, você precisa de uma nova cara para sua aplicação. É por isso que a separação Modelo / Vista / Controlador se torna ainda mais importante. Desde que o aplicativo funcione da mesma maneira, a parte da vista pode ser completamente substituída. Quando isso acontece, alguém está planejando pagar algum dinheiro real para resolver o problema adequadamente.