Eu estava ouvindo a palestra de Jon Skeet nos últimos dias do StackOverflow Dev Days e ele despertou minha curiosidade em relação à internacionalização.
Suponha que eu tenha um programa de fabricação de waffles, completo ou ainda em andamento, e queira distribuí-lo para outros países. Com que tipos de coisas eu preciso me preocupar com a internacionalização? Quais são algumas armadilhas não óbvias, mas fáceis?
Respostas:
A coisa mais óbvia que vem à mente é que seus rótulos provavelmente terão um comprimento diferente da versão em inglês. Isso pode causar estragos no seu layout.
Você pode acabar com acres de espaço em branco ou etiquetas lotadas e até transbordar o espaço disponível.
Você precisa tornar seu layout flexível e fluir, independentemente do tamanho do conteúdo. Ter um layout que possa lidar com diferentes resoluções de tela ajudará bastante a solucionar esse problema.
O outro grande problema é o suporte ao idioma da direita para a esquerda. Isso exigirá novamente que seu layout seja flexível.
Não são apenas os menus e diálogos que precisam ser traduzidos. É toda a documentação de suporte, arquivos de ajuda, dicas de ferramentas e legendas de títulos de janelas também. Geralmente, há muito mais texto do que você imagina em um aplicativo e sempre haverá algumas seqüências de caracteres que foram adicionadas diretamente e não como recursos.
fonte
Fusos horários e formatação de data! Ao lidar com aplicativos em que agendar datas e horas em fusos horários, verifique se você faz as coisas corretamente.
Persista TODOS os valores de data e hora como registros de data e hora, pois representam um único ponto no tempo. Controle ainda mais os fusos horários, pois você precisará das informações do fuso horário para exibir corretamente o registro de data e hora no formato correto para o usuário.
No momento, estou trabalhando em um aplicativo em que um usuário no Japão pode agendar uma data e hora para um usuário executando um aplicativo cliente em Idaho. Certificando-se de que, quando o usuário vê
3:00PM
que sabe do3:00PM
que todo mundo está falando.fonte
Lembre-se de que apenas porque uma pessoa está em um país em particular não significa que ela conhece esse idioma. O idioma e a localização são duas questões diferentes.
fonte
Números. A maior parte da Europa, América do Sul usa vírgula (10,23) como separador decimal, enquanto o restante (Reino Unido, EUA etc.) usa período (10,23).
fonte
Nem sempre é tão fácil ... Há muitas coisas a considerar, dependendo da complexidade do software que você está desenvolvendo e para onde você o enviará. Na verdade, pode acabar em qualquer lugar, então o importante é quais locais você vai apoiar oficialmente.
Felizmente, existem bibliotecas em muitas línguas para cuidar de boa parte do trabalho. Quando você não tem uma boa biblioteca para fazer isso, provavelmente desejará definir parâmetros para todos os seus locais e defini-los em detalhes usando arquivos XML ou outros tipos de arquivos de configuração (ou em um banco de dados, se você enviar um com o software , ou se você não se importa de adicionar uma pequena pegada).
fonte
Depende muito da plataforma que você está usando. O .NET suporta arquivos de recursos que podem ser alterados dentro e fora, dependendo da criação do cliente.
Outros problemas que podem ou não ser suportados em sua plataforma incluem a capacidade de reverter a ordem dos rótulos e caixas de texto (algumas culturas preferem que os rótulos estejam à direita). Essas mesmas culturas podem querer que todos os blocos de texto sejam lidos da direita para a esquerda.
fonte
Não se esqueça dos valores nas tabelas de pesquisa! Nomes de status de pedidos, descrições de tipos, et al.
se você tiver descrições e nomes nas tabelas de pesquisa, por exemplo, {OrderStatusId, OrderStatusName, OrderStatusDescription}, eles também precisarão ser traduzidos.
fonte
Pegue uma cópia do ".NET Internationalization: The Developer's Guide to Build Global Windows and Web Applications" por Smith-Ferrier .
Recentemente, recebi a tarefa de refletir profundamente sobre toda a questão da i18n com nosso conjunto de aplicativos.
Este livro trouxe à tona questões em que eu nunca teria pensado.
fonte
Além do exposto, considere os formatos de data, ortografia e controle de orientação da tela. Nos relatórios em que os idiomas são lidos da direita para a esquerda, você precisa se preocupar com a direção do recuo. O fim de semana varia entre os países. Se você estiver exibindo calendários, verifique se os fins de semana são exibidos corretamente. Se você não estiver usando o MS-Windows, verifique os recursos do sistema operacional cliente em relação à manipulação de sequências de intercalação para classificação e como funciona o sistema operacional. As mensagens de erro devem ser traduzidas para os usuários quando o modo não for inglês. No código Para o lado do banco de dados, você precisa selecionar os códigos de caracteres corretos. Isso varia de banco de dados para banco de dados e pode afetar as comparações de datas.
fonte