terça-feira, 20 de novembro de 2018

Tradução de "strings"

www.gvinci.com.br

Em informática, uma string é uma sequência de caracteres utilizada para a representação dos textos que aparecem ao usuário na interface gráfica exibida na tela, isto é, botões, menus, campos, ajuda, dicas, mensagens de erro, etc.

A tradução dos textos de interfaces gráficas, tais como softwares, sites e jogos, faz parte do processo de localização, isto é, da adaptação do produto a determinado mercado e, ao contrário do que possa parecer, é uma tarefa bastante complexa, quando não um verdadeiro pesadelo. Idealmente o tradutor deveria receber um treinamento no software que vai traduzir para entender seu funcionamento, mas, na prática, ele recebe uma lista de termos e frases fora de contexto e, na maioria das vezes, não tem acesso à interface nem a documentação de apoio, como manual, guia de estilo ou glossário, que possa ajudá-lo a fazer um bom trabalho.

A tradução das strings da interface do usuário pode ser executada com o auxílio de uma ferramenta de localização, como, por exemplo, o Poedit. Nesse caso, o tradutor receberá um arquivo com extensão “.po”. Para traduzi-lo, ele deverá baixar o programa Poedit. As ferramentas de localização de software funcionam da mesma forma que as de tradução, só que as regras de segmentação se aplicam às strings da interface em lugar de se aplicarem às frases. Está é a aparência do programa aberto com um .po:

Clique na imagem para aumentá-la

Na lista principal aparece tudo o que precisa ser traduzido, na coluna da esquerda o texto fonte; e na da direita, o texto meta. Na parte inferior, em "Texto fonte" aparece o original, que você deverá traduzir logo abaixo, na caixa "Tradução", basta digitar a tradução.

Atenção aos símbolos próprios como caracteres especiais para quebras de linha, ou para representar partes que entram automaticamente na frase e que não devem ser alteradas. Por exemplo, algo como: 

A conta %s não existe.

Deverá ser traduzido como:

La cuenta %s no existe.

Neste caso, esse %s deve ser mantido, pois quando a string aparecer na tela do aplicativo, o símbolo será substituído pelo nome da conta.

Quando não se dispõe de ferramenta de localização, o tradutor poderá receber um arquivo com strings em formato “chave=valor”. A chave, localizada à esquerda do sinal de igual ou dos dois pontos, é um texto invariável que representa os nomes dos atributos; e os valores, localizados à esquerda, são a parte variável que deverá ser traduzida e correspondem ao texto que será exibido na tela.

O formato da string geralmente segue o paradigma “chave=valor”, como mostram os seguintes exemplos:

copiaServico.erroAcessoBanco=Falha no acesso ao banco de dados.

“field.ItemDesc”:”Descrição do item”

Outro formato de arquivo que o tradutor pode receber é uma planilha, que geralmente apresenta as colunas: atributo, idioma de origem e idioma de destino, ou outras variações.

A seguir, relacionamos os principais problemas encontrados ao traduzir strings:

1)  O tamanho que a mensagem traduzida vai ocupar na interface de usuário. Ocasionalmente o tradutor deverá levar em conta o número de caracteres, já que muitas vezes o texto será exibido num espaço restrito, como, por exemplo, um botão, o que exige certa criatividade do tradutor.

2)  As diferenças culturais e os jargões especializados. É comum encontrar neologismos, como deletar, linkar, logar, setar; ou ainda, expressões metafóricas, como, por exemplo, handshaking, literalmente “aperto de mãos”, que remete ao fechamento de um acordo, mas que na informática é usado para indicar a “troca de sinais que autoriza a comunicação entre dois dispositivos”.

3)  As palavras e frases fora de contexto constituem um dos principais desafios, principalmente quando uma única palavra tem vários significados. Em ocasiões é simplesmente impossível saber a que se refere uma palavra isolada. Tomemos como exemplo a palavra “ordem”. Fora de contexto, não dá para saber se se trata de disposição (organização, fileira), de imposição (regulamento), de determinação (ordem legal); de documento (ordem de serviço, ordem de compra), de classe profissional (ordem dos advogados), de estado pacífico (manter a ordem), etc.

4)  Geralmente os tradutores não têm acesso à interface gráfica nem a material de apoio ou ao desenvolvedor do software, o que dificulta consideravelmente seu trabalho, pois, como foi dito anteriormente, o ideal seria que o tradutor pudesse acessar e testar a interface para entender como ela funciona. O material de apoio, como guia de estilo, manual de usuário e glossário, também é importante para garantir a consistência terminológica e o estilo.

Além dos problemas elencados acima, o tradutor precisa estar disposto a fazer algumas concessões estilísticas em nome da funcionalidade. As strings constituem uma linguagem ágil, enxuta e direta, o que se reflete na omissão de artigos, pronomes e verbos, o resultado é semelhante a uma linguagem robótica: “Conexão perdida, tente mais tarde”. O que não significa que o tradutor deva abrir mão da norma e aceitar construções esdrúxulas do tipo: “Usuários que é possível atribuir uma tarefa”, quando o correto seria “Usuários aos quais é possível atribuir uma tarefa”.

Deixo aqui meu agradecimento à colaboração de Bruno Fontes.

3 comentários:

  1. Extremamente instrutivo. Eu nunca fiz esse tipo de tradução, mas já me perguntaram se eu fazia. Na próxima vez poderei responder com menos ignorância da questão. Obrigada por compartilhar!

    ResponderExcluir
  2. Que bom que você achou instrutivo, Li!
    Obrigada.

    ResponderExcluir
  3. Esse tipo de projeto é bem comum e cada vez mais necessário. A cada dia vários apps são criados para Android e IOs e precisam ser traduzidos.

    ResponderExcluir