Internacionalização e localização - Internationalization and localization

Captura de tela dos programas de software TDE localizados principalmente para chinês (tradicional) .

Na computação , internacionalização e localização ( americana ) ou internacionalização e localização ( BrE ), freqüentemente abreviadas como i18n e L10n, são meios de adaptar o software de computador para diferentes idiomas, peculiaridades regionais e requisitos técnicos de um local de destino. Internacionalização é o processo de projetar um aplicativo de software de forma que possa ser adaptado a vários idiomas e regiões sem alterações de engenharia. Localização é o processo de adaptação de software internacionalizado para uma região ou idioma específico, traduzindo texto e adicionando componentes específicos de localidade . A localização (que é potencialmente realizada várias vezes, para locais diferentes) usa a infraestrutura ou flexibilidade fornecida pela internacionalização (que é idealmente executada apenas uma vez antes da localização, ou como parte integrante do desenvolvimento contínuo).

Nomeação

Os termos são freqüentemente abreviados para os numerônimos i18n (onde 18 representa o número de letras entre o primeiro i e o último n na palavra internacionalização , um uso cunhado na Digital Equipment Corporation nos anos 1970 ou 1980) e L10n para localização , devido para o comprimento das palavras. Alguns escritores têm a última sigla em maiúscula para ajudar a distinguir os dois.

Algumas empresas, como IBM e Oracle , usam o termo globalização , g11n , para a combinação de internacionalização e localização.

A Microsoft define internacionalização como uma combinação de prontidão para o mundo e localização. Prontidão mundial é uma tarefa do desenvolvedor, que permite que um produto seja usado com vários scripts e culturas (globalização) e separa os recursos da interface do usuário em um formato localizável (localizabilidade, abreviado para L12y ).

A Hewlett-Packard e o HP-UX criaram um sistema denominado "National Language Support" ou "Native Language Support" (NLS) para produzir software localizável.

Escopo

O processo de internacionalização e localização
(com base em um gráfico do site da LISA )

De acordo com Software sem fronteiras , os aspectos de design a serem considerados ao internacionalizar um produto são "codificação de dados, dados e documentação, construção de software, suporte a dispositivos de hardware, interação com o usuário"; enquanto as principais áreas de design a serem consideradas ao fazer um produto totalmente internacionalizado do zero são "interação do usuário, design de algoritmo e formatos de dados, serviços de software, documentação".

A tradução é normalmente o componente mais demorado da localização de idiomas . Isso pode envolver:

  • Para filme, vídeo e áudio, tradução de palavras faladas ou letras de música, geralmente usando dublagem ou legendas
  • Tradução de texto para materiais impressos, mídia digital (possivelmente incluindo mensagens de erro e documentação)
  • Potencialmente alterando imagens e logotipos contendo texto para conter traduções ou ícones genéricos
  • Diferentes comprimentos de tradução e diferenças em tamanhos de caracteres (por exemplo, entre letras do alfabeto latino e caracteres chineses ) podem fazer com que layouts que funcionam bem em um idioma funcionem mal em outros
  • Consideração das diferenças de dialeto , registro ou variedade
  • Convenções de escrita como:

Dados de localidade padrão

O software de computador pode encontrar diferenças além da tradução direta de palavras e frases, porque os programas de computador podem gerar conteúdo dinamicamente. Essas diferenças podem precisar ser levadas em consideração no processo de internacionalização na preparação para a tradução. Muitas dessas diferenças são tão regulares que uma conversão entre idiomas pode ser facilmente automatizada. O Common Locale Data Repository by Unicode fornece uma coleção de tais diferenças. Seus dados são usados ​​pelos principais sistemas operacionais , incluindo Microsoft Windows , macOS e Debian , e pelas principais empresas ou projetos da Internet, como o Google e a Wikimedia Foundation . Exemplos de tais diferenças incluem:

  • Diferentes "scripts" em diferentes sistemas de escrita usam diferentes caracteres - um conjunto diferente de letras, silogramas, logogramas ou símbolos. Os sistemas modernos usam o padrão Unicode para representar muitos idiomas diferentes com uma única codificação de caractere .
  • A direção da escrita é da esquerda para a direita na maioria dos idiomas europeus, da direita para a esquerda em hebraico e árabe ou ambos em scripts boustrophedon e, opcionalmente, vertical em alguns idiomas asiáticos.
  • Layout de texto complexo , para idiomas onde os caracteres mudam de forma dependendo do contexto
  • A capitalização existe em alguns scripts e não em outros
  • Diferentes idiomas e sistemas de escrita têm diferentes regras de classificação de texto
  • Idiomas diferentes têm sistemas de numeração diferentes , que podem precisar ser suportados se os numerais árabes ocidentais não forem usados
  • Idiomas diferentes têm regras de pluralização diferentes, o que pode complicar programas que exibem conteúdo numérico dinamicamente. Outras regras gramaticais também podem variar, por exemplo, genitivo .
  • Idiomas diferentes usam pontuação diferente (por exemplo, citar texto usando aspas duplas ("") como em inglês, ou guillemets («») como em francês)
  • Os atalhos de teclado só podem usar os botões do layout de teclado para o qual está sendo localizado. Se um atalho corresponder a uma palavra em um determinado idioma (por exemplo, Ctrl-s significa "salvar" em inglês), pode ser necessário alterá-lo.

Convenções nacionais

Diferentes países têm diferentes convenções econômicas, incluindo variações em:

Em particular, os Estados Unidos e a Europa diferem na maioria desses casos. Outras áreas geralmente seguem uma dessas.

Serviços específicos de terceiros, como mapas on-line, boletins meteorológicos ou provedores de serviços de pagamento , podem não estar disponíveis em todo o mundo pelas mesmas operadoras ou de forma alguma.

Os fusos horários variam em todo o mundo e isso deve ser levado em consideração se um produto originalmente interagia apenas com pessoas em um único fuso horário. Para internacionalização, o UTC é frequentemente usado internamente e depois convertido em um fuso horário local para fins de exibição.

Diferentes países têm diferentes requisitos legais, ou seja, por exemplo:

A localização também pode levar em consideração diferenças culturais, como:

Processo de negócios para internacionalização de software

Para internacionalizar um produto, é importante olhar para uma variedade de mercados em que o produto entrará previsivelmente. Detalhes como comprimento do campo para endereços, formato exclusivo do endereço, capacidade de tornar o campo de código postal opcional para endereços de países que não têm códigos postais ou o campo de estado para países que não têm estados, além da introdução de novo registro os fluxos que seguem as leis locais são apenas alguns dos exemplos que tornam a internacionalização um projeto complexo. Uma abordagem mais ampla leva em consideração fatores culturais relativos, por exemplo, à adaptação da lógica do processo de negócios ou à inclusão de aspectos culturais (comportamentais) individuais.

Já na década de 1990, empresas como a Bull usavam a tradução automática ( Systran ) em grande escala, para toda a sua atividade de tradução: os tradutores humanos cuidavam da pré-edição (tornando a entrada legível por máquina) e da pós-edição .

Engenharia

Tanto na reengenharia de um software existente quanto no projeto de um novo software internacionalizado, a primeira etapa da internacionalização é dividir cada parte potencialmente dependente da localidade (seja código, texto ou dados) em um módulo separado. Cada módulo pode então contar com uma biblioteca / dependência padrão ou ser substituído independentemente conforme necessário para cada localidade.

A prática prevalecente atual é que os aplicativos coloquem texto em cadeias de caracteres de recursos que são carregadas durante a execução do programa, conforme necessário. Essas strings, armazenadas em arquivos de recursos, são relativamente fáceis de traduzir. Os programas geralmente são criados para fazer referência a bibliotecas de recursos, dependendo dos dados de localidade selecionados.

O armazenamento de cadeias traduzíveis e traduzidas às vezes é chamado de catálogo de mensagens, pois as cadeias são chamadas de mensagens. O catálogo geralmente compreende um conjunto de arquivos em um formato de localização específico e uma biblioteca padrão para lidar com esse formato. Uma biblioteca de software e formato que ajuda isso é gettext .

Assim, para fazer com que um aplicativo suporte vários idiomas, deve-se projetar o aplicativo para selecionar o arquivo de recurso de idioma relevante no tempo de execução. O código necessário para gerenciar a verificação de entrada de dados e muitos outros tipos de dados sensíveis à localidade também deve oferecer suporte a diferentes requisitos de localidade. Os sistemas de desenvolvimento e sistemas operacionais modernos incluem bibliotecas sofisticadas para suporte internacional desses tipos; consulte também Dados de localidade padrão acima.

Muitos problemas de localização (por exemplo, direção de escrita, classificação de texto) requerem mudanças mais profundas no software do que a tradução de texto. Por exemplo, o OpenOffice.org consegue isso com opções de compilação.

Processar

Um método de globalização inclui, após o planejamento, três etapas de implementação: internacionalização, localização e garantia de qualidade.

Até certo ponto (por exemplo, para garantia de qualidade ), as equipes de desenvolvimento incluem alguém que lida com os estágios básicos / centrais do processo que, então, habilitam todos os outros. Essas pessoas normalmente entendem línguas e culturas estrangeiras e têm algum conhecimento técnico. Escritores técnicos especializados são necessários para construir uma sintaxe culturalmente apropriada para conceitos potencialmente complicados, juntamente com recursos de engenharia para implantar e testar os elementos de localização.

Uma vez devidamente internacionalizado, o software pode contar com modelos mais descentralizados para localização: o software livre e de código aberto geralmente depende da autolocalização por usuários finais e voluntários, às vezes organizados em equipes. O projeto KDE3 , por exemplo, foi traduzido para mais de 100 idiomas; MediaWiki em 270 idiomas, dos quais 100 completos em 2016.

Ao traduzir o texto existente para outros idiomas, é difícil manter as versões paralelas dos textos ao longo da vida do produto. Por exemplo, se uma mensagem exibida para o usuário for modificada, todas as versões traduzidas devem ser alteradas.

Considerações comerciais

Em um ambiente comercial, o benefício da localização é o acesso a mais mercados. No início dos anos 1980, o Lotus 1-2-3 levou dois anos para separar o código do programa e o texto e perdeu a liderança de mercado na Europa sobre a Microsoft Multiplan . A MicroPro descobriu que usar um tradutor austríaco para o mercado da Alemanha Ocidental fez com que sua documentação WordStar , disse um executivo, "não tivesse o tom que deveria ter".

No entanto, existem custos consideráveis ​​envolvidos, que vão muito além da engenharia. Além disso, as operações de negócios devem se adaptar para gerenciar a produção, armazenamento e distribuição de vários produtos localizados distintos, que geralmente são vendidos em moedas, ambientes regulatórios e regimes tributários completamente diferentes.

Finalmente, vendas, marketing e suporte técnico também devem facilitar suas próprias operações nos novos idiomas, a fim de apoiar os clientes para os produtos localizados. Particularmente para populações linguísticas relativamente pequenas, pode nunca ser economicamente viável oferecer um produto localizado. Mesmo quando grandes populações de idiomas podem justificar a localização de um determinado produto e a estrutura interna de um produto já permite a localização, um determinado desenvolvedor ou editor de software pode não ter o tamanho e a sofisticação para gerenciar as funções auxiliares associadas à operação em vários locais.

Veja também

Referências

Leitura adicional

  • .NET Internationalalization: The Developer's Guide to Building Global Windows and Web Applications , Guy Smith-Ferrier, Addison-Wesley Professional, 7 de agosto de 2006. ISBN  0-321-34138-4
  • A Practical Guide to Localization , Bert Esselink, John Benjamins Publishing, [2000]. ISBN  1-58811-006-0
  • Lydia Ash : The Web Testing Companion: The Insider's Guide to Efficient and Effective Tests , Wiley, 2 de maio de 2003. ISBN  0-471-43021-8
  • Business Without Borders: Um Guia Estratégico para o Marketing Global , Donald A. DePalma, Globa Vista Press [2004]. ISBN  978-0-9765169-0-3

links externos