Exemplo da vida real do processo de localização de Software

Este é um exemplo da vida real de traduzir um pequeno aplicativo do Windows chamado Multilizer Tradutor Gadget, que é um Gadget de barra lateral do Windows. Embora cada projeto de localização de software é exclusivo, Há um caminho universal que é seguido pela maioria dos casos de localização. Vamos passar por este caminho com este caso.

Fase de pré-localização

Antes de qualquer projeto de localização pode ser iniciado, é preciso definir os objetivos do projeto. Localização Não é um termo simples e para evitar mal-entendidos, é importante esclarecer o que significa neste caso específico. No nosso caso, a localização foi reduzida para traduzir a interface de usuário em vários idiomas.

#1 Estabelecer os objetivos para o projeto.

Depois que um sabe o que é o resultado desejado do projeto, é aconselhável dar uma olhada o software. Há muitas coisas que os desenvolvedores de software podem fazer para facilitar o processo de localização real. (Devido o aspecto técnico desta fase, os seguintes parágrafos contêm algum jargão técnico. Se é muito complicado, apenas saltar diretamente para o “Fase de localização” ou pedir ajuda um nerd.)

No nosso caso nós descobrimos que gadgets consistem tipicamente em HTML, CSS, e JavaScript. E os textos de tradução podem ser em arquivos HTML, ou às vezes também no JavaScript. Isto também aplicado para o gadget que desenvolvemos.

As fontes foram organizadas em uma maneira típica nas seguintes pastas:

raiz   imagens   css, js

A raiz contém o HTML e o manifesto do gadget. CSS contém as folhas de estilo. Imagens contém as imagens usadas pelo gadget. E js contém o JavaScript que adiciona a funcionalidade desejada no gadget.

#2 Seleção da arquitetura de software.

O Gadget tem um uso da arquitetura do Microsoft MUI; pode haver pastas nomeadas pela localidade do ISO, como 'es-ES'. Em um sistema espanhol barra lateral iria primeiro procurar arquivos sob ' es-ES’ diretório. Se não for encontrado, Então ' neutro’ arquivos poderia ser carregados. Baseado nesta arquitetura, Tradução implicaria que seriam copiados todos os arquivos em um novo diretório chamado pela localidade do ISO. Depois que os arquivos com textos em Português seria traduzidos para outro idioma. Esta abordagem, no entanto, Não é tão elegante.. Um monte de arquivos duplicado como tal.

Para superar isso, Estamos decididos a internacionalizar o código. Isso significa que nós removido todos os textos em inglês e colocou-os em um arquivo de recurso comum chamado 'resourcestrings.js'. E a interface do usuário é agora preenchida no arranque, chamando um getResourceString() função.
Com esta abordagem a tradução do gadget é simplesmente reduzida a tradução de 'resourcestrings.js'.

Nós também adicionamos duas funções extras para fazer a parte de programação ainda mais conveniente:

  • setElementText(elementid,resourcekey)
  • setAttributeText(elementid,attributename,resourcekey)

#3 Internacionalizar o código (se possível)

Estas relativamente pequenas alterações no código facilitar e simplificar significativamente a fase seguinte do projecto de localização.

Fase de localização

Quando terminar todo o trabalho preparativa, a localização real pode começar. Um pode fazer a fase de localização semi automaticamente ou manualmente com uma ferramenta de localização especial. Trabalho manual exige conhecimentos mais técnicos sobre desenvolvimento de software do que trabalhar com uma ferramenta de localização. As diferenças mais significativas entre esses dois métodos são tempo e segurança. Uma ferramenta de localização acelera o processo, automatizando algumas tarefas e protege o software, eliminando a possibilidade de fazer alterações fatais no código durante o processo de localização.

Fizemos nosso projeto com a nossa própria, ferramenta de localização avançada chamada Multilizer Enterprise. É uma ferramenta versátil para pequenas e grandes projetos. Primeiro criamos um novo projeto de Multilizer e digitalizados nosso software com a ferramenta. Nossa ferramenta de localização reconhece que parte do código deve ser traduzido e mostra apenas essas cadeias de caracteres. Depois de nós exportado o material pode ser convertido automaticamente para o Google Translator Toolkit com MOTO.

#4 Preparar o projeto de tradução.

Neste ponto do projeto é tempo para traduzir. Acordo com os objectivos do projecto de localização, um deve decidir como a tradução é feita. A melhor saída é susceptível de ser feita por um tradutor profissional especializado sobre o tema e na localização de software. No entanto, existem também situações quando por exemplo. Tradução de crowdsourcing é a melhor solução. Mais uma vez os objetivos e metas do projeto devem ter em conta. Em nosso projeto usamos uma plataforma de emprego on-line chamada Elance para encontrar tradutores.

Os tradutores que trabalharam no nosso projeto com Google Translator Toolkit. Este tipo de terceirização online é simples para os tradutores, Porque eles podem trabalhar on-line onde e quando eles querem sem qualquer necessidade de baixar ou instalar programas para seus próprios computadores. Para garantir a qualidade, deve haver um canal de boa comunicação entre os participantes.

#5 Recrutar Tradutor(s) e se comunicar com eles.

Quando as traduções estão acabadas, Eles podem ser integrados ao código. Em nosso projeto, esta foi feita por importar as traduções automaticamente volta do Google Translator Toolkit Multilizer Enterprise.

#6 Integrar as traduções para você projeto.

Quando tudo isto foram feitas, pode-se terminar o projeto e construir o software localizado. Nesta etapa, há uma tentação para marcar o projeto como terminou e mover para o próximo. No entanto, ainda há uma coisa importante a fazer.

Fase pós-localização

Após o software é localizado, um deve testá-lo corretamente. É uma boa idéia deixar o tradutor(s) Veja o resultado também. Todos os possíveis erros ou erros de digitação são relativamente fáceis de corrigir agora, antes de quaisquer ações de marketing mais.

Isto é como procedeu o nosso projeto de localização. Você faria algo diferente?

Links: