Espaços reservados nas traduções e como lidar com eles

Updated April 12, 2017
Place holders save the day - Smartcat blog
Smartcat covers all your language needs with AI translation, AI content generation and AI human workflows.
Lembro-me da primeira vez que participei num projeto de localização de software. Fui designado para traduzir a interface do usuário de um sistema de computador industrial usando uma ferramenta complicada de localização de software. Não tive problemas com os aspectos técnicos, mas traduzir uma interface do usuário era algo novo para mim e a tarefa acabou sendo um verdadeiro desafio.
Na verdade, o estilo dos textos não era tão estranho para mim. Por ter algum conhecimento de TI, eu estava bem familiarizado com a linguagem “computacional” normalmente usada em softwares (sob a influência de chatbots e interfaces de voz, minha visão mudou drasticamente desde então). A parte realmente intrigante eram esses trechos de aparência estranha: {0}, %d, %setup% e $stop$. Eu não tinha ideia do que significavam e se as palavras entre os símbolos deveriam ser traduzidas ou não, então cometi muitos erros em pouco tempo. Os caracteres de nova linha, representados como \n, foram o golpe final na minha autoconfiança. Eu nunca tinha visto isso antes, e o pior era que eles frequentemente se fundiam com outras palavras. Como se a situação não fosse ridícula o suficiente, o texto estava em alemão, o que tornava muito difícil saber se \nein deveria ser “nein” ou “\n” + “ein”. O gerente de projeto deve ter se arrependido de ter atribuído essa tarefa a um novato como eu depois de ser bombardeado com perguntas. Talvez até tenha feito um desabafo no Twitter.
Descobrir que os espaços reservados nos arquivos traduzidos para um projeto urgente desapareceram magicamente. #PMproblems #StartPanicking
Os tradutores que traduzem o espaço reservado $DepartureTime$ por $HeureDépart$ estão simplesmente sendo coerentes.

Os tradutores que traduzem o espaço reservado $Departure Time$ como $HeureDépart$ são apenas consistentes.

Aquele momento em que um tradutor decide mudar o formato das aspas e metade das variáveis do jogo desaparecem.

— Vojtěch Schubert (@falagor)12 de janeiro de 2016

Anos depois, as lembranças da minha primeira experiência me trazem um sorriso ao rosto. Não preciso dizer que sempre dedico tempo aos tradutores para explicar como as variáveis funcionam. E a melhor maneira de evitar erros e economizar tempo para você e sua equipe é usar expressões regulares. Elas podem ser usadas para transformar variáveis em objetos não editáveis e facilmente rastreáveis. Em diferentes softwares, esses objetos são chamados por nomes diferentes. Nós, na Smartcat, gostamos de chamá-los de placeholders. E se você está se perguntando o que são expressões regulares, elas não têm nada a ver com conversa fiada. São padrões usados para combinar e manipular combinações de caracteres. Aprender sobre expressões regulares não requer habilidades de programação. Clique nesta apresentação simples feita por Thomas Vackier, especialista em localização da Yamagata Europe, para entender o que é regex (abreviação de “expressão regular”).

Os símbolos misteriosos

Para um exemplo rápido, vamos pegar algumas linhas de uma música chamada “I’m Gonna Be (500 miles)” dos The Proclaimers:Digamos que queremos que essa letra mude sempre que o ouvinte viajar para um local diferente. Para isso, precisaremos de variáveis: Mas eu caminharia %$1s milhas E caminharia mais %$2s Só para ser o homem que caminhou {spelled-number} milhas Para cair aos seus pés em {location} Caracteres importantes podem ser excluídos e/ou usados incorretamente. Os dígitos em %$1s devem seguir um padrão sequencial e “spelled-number” e “location” não devem ser traduzidos. Infelizmente, nem todos sabem disso.

“Mas por que não contratar um tradutor especialista em vez de ter que lidar com toda essa confusão de novatos?”, alguém poderia perguntar. Quaisquer que sejam as razões reais, vale a pena lembrar: ninguém nasce um profissional de localização, mas qualquer pessoa que tenha lutado em seus primeiros passos e ganhado experiência inestimável no processo pode se tornar um.

À prova de novatos, ou como salvar o mundo

Então, o que podemos fazer para impedir que os desastres aconteçam e economizar tempo de edição? Vamos descrever as variáveis usando expressões regulares:

  • Para variáveis com números consecutivos: %\$\ds

  • Para variáveis entre chaves: \{.+?\}

Pessoalmente, acho esta folha de dicas muito útil para compor expressões regulares, e o regex101.com é uma ótima ferramenta online que recomendo para testes. Agora vamos enviar o arquivo contendo variáveis para o Smartcat. É isso que veremos:

As variáveis são exibidas como unidades roxas que obviamente não são traduzíveis e podem ser transferidas com segurança do texto original para o idioma de destino por meio de um atalho do teclado. Esses elementos permanecerão intactos no documento traduzido após serem baixados. O uso de espaços reservados não se limita a projetos de localização. Imagine que você tem uma grande ficha técnica de uma bomba de ar com milhares de itens. São atribuídos códigos de pedido a cada item e todos eles são muito semelhantes, pelo que é fácil confundir-se.
Cometa um erro aqui e as consequências podem ser muito infelizes. Pode haver erros ao despachar pedidos do armazém, e a instalação adequada também pode ser problemática. O cliente sofrerá perdas ou pior: dados incorretos podem causar problemas técnicos que, por sua vez, podem resultar em catástrofes ambientais. Os placeholders não devem ser traduzidos, eles devem apenas ser transferidos com segurança para o idioma de destino, então por que perder tempo com eles? Vamos encontrar todos os códigos de pedido usando esta elegante expressão regular [A-Z]{2}\d{4}\-\d{4} e transformá-los magicamente em elementos não editáveis:

Que ótima maneira de tornar nosso processo de tradução (e também a parte de edição) mais fácil e rápido! No momento, os placeholders são suportados por padrão apenas para os formatos de arquivo de localização comuns. Se você quiser usá-los em qualquer outro tipo de documento, entre em contato conosco. Entrei em contato com meus colegas para perguntar sobre sua experiência com placeholders.

Fyodor Bezrukov, Diretor Executivo da Logrus IT (escritório de Kiev)

“Usar placeholders e tags em formatos de documentos é um cenário de trabalho comum para nós. Eles são essenciais quando os clientes enviam arquivos Excel contendo marcações HTML ou XML. Graças ao suporte a placeholders e expressões regulares no Smartcat, ficou muito mais fácil e conveniente lidar com esses recursos.”

Marina Ilyinykh, Gerente de Localização da Bookmate

“Usamos muito variáveis e formatação nas interfaces de usuário dos nossos aplicativos. Substituir tags e variáveis por placeholders nos permite executar verificações automáticas de consistência e proteger dados importantes, como preços, datas de assinatura e links.”

Yannis Evangelou, CEO da lexiQA, compartilhou seus sentimentos contraditórios:

Yannis Evangelou, CEO da lexiQA

“Há um problema comum com tradutores que traduzem o texto dentro de espaços reservados, tokens e tags. Os caracteres de escape também são frequentemente ignorados. A maioria deles não sabe que essas não são unidades lexicais traduzíveis. Os gerentes de projeto também não sabem disso. No entanto, esse tipo de negligência pode causar erros críticos. Um tradutor me disse uma vez que teve que lidar com um texto que incluía formatação HTML e acabou traduzindo a linha <p style="border: 1px solid red;"></p> para <π στυλ="περίγραμμα: 1 πίξελ συμπαγές κόκκινο;"></π>. Ele argumentou que talvez o desenvolvedor que iria usá-lo não falasse inglês. A gerente de projeto não corrigiu porque achou o raciocínio do tradutor... razoável!”

Então, Rolf Klischewski, especialista em localização de jogos, acrescentou:

«Os tradutores de jogos frequentemente precisam lidar com situações como esta:

E, é claro, há todo tipo de problemas relacionados a isso.
Aqui, o problema é que alguns destinos exigem um artigo. Por exemplo, é “as Bahamas”, mas “Barbados”. Ou, em alemão, é “die Schweiz” para “Suíça”. Em casos como esses, muitas vezes rejeitamos o projeto. Normalmente, aconselho os clientes a mudar seu mecanismo de texto, porque não quero entregar um trabalho de má qualidade. Os desenvolvedores geralmente perguntam: “Isso é realmente um problema tão grande?” E, quer dizer, não, porque você pode jogar o jogo. Então, como lidar com essas questões? Informe o cliente, explique o problema. Se eles não puderem ou não quiserem corrigir o mecanismo e você precisar do dinheiro, faça o trabalho, mas certifique-se de não receber os créditos.»

💌

Assine nossa newsletter

E-mail *