BlogLocalização de software grande e ágil: estudo de caso da Kaspersky

Localização de software grande e ágil: estudo de caso da Kaspersky

Liderar os esforços de localização de uma grande empresa de software é um desafio por si só. O que acontece quando essa empresa muda para práticas ágeis?

Vova Zakharov is a developer, AI experimenter, writer, and former Smartcat editor-in-chief with 22 years of background as a translator, editor, and copywriter. He writes about language technology, AI tooling, localization, and content workflows.

Saiba mais sobre nossas políticas editoriais

13 min de leitura

Experimente o Smartcat

Veja como sua equipe pode traduzir tudo para todos os idiomas falados pelos seus clientes.

Agendar uma demo

Iniciar teste grátis

Sem cartão de crédito - teste de 15 dias

Liderar os esforços de localização de uma grande empresa de software é, por si só, um desafio. O que acontece quando essa empresa muda para práticas ágeis? Bem, os desafios tornam-se ainda mais desafiadores, e você precisa implementar mudanças drásticas rapidamente. Neste estudo de caso, Ekaterina Galitskaya e Darya Egorushkina da equipe de documentação e localização da Kaspersky mergulham em sua jornada para aumentar a capacidade e a eficiência de seus processos com a Smartcat.

Texto adicional de Ekaterina e Darya

Nossa equipe é responsável por escrever e localizar textos da interface do usuário e artigos da central de ajuda para os aplicativos de segurança móvel da empresa. A seguir, contaremos como começamos a localizar aplicativos de segurança móvel de maneira mais confiável, ágil e automatizada. Começaremos com as dificuldades que nos levaram à necessidade de mudar tudo e apresentaremos os desafios que enfrentamos e as soluções que criamos. Esperamos que este artigo seja interessante para qualquer empresa de software de médio a grande porte que enfrente o desafio de implementar o Agile não apenas em seu desenvolvimento, mas também em todos os aspectos relacionados.

Pães

Como muitas outras empresas, a Kaspersky, em determinado momento, mudou para práticas de desenvolvimento ágeis. Isso naturalmente levou a ciclos de lançamento muito mais curtos. Se antes lançávamos novas versões do aplicativo a cada poucos meses, agora isso passou a ocorrer a cada duas semanas. É verdade que agora havia menos strings em cada novo lançamento, mas isso não ajudava muito: ainda precisávamos submeter essas poucas strings a todo o nosso processo de localização e testes linguísticos, enquanto enfrentávamos prazos muito mais apertados.

Existe também um equívoco comum de que os aplicativos móveis envolvem apenas uma pequena quantidade de texto. Quem dera! No nosso caso, por exemplo, tínhamos em média cerca de 25.000 palavras por aplicativo apenas nos textos da interface do usuário, multiplicadas por cerca de 10 aplicativos e por cerca de 20 idiomas de destino para cada aplicativo. Tudo isso com novos textos da interface do usuário e da documentação chegando a cada semana.
Como resultado, a localização tornou-se essencialmente o gargalo em todo o processo de lançamento. E se antes os gerentes de produto nem conheciam os membros da equipe de localização pelo nome — por que conheceriam, se todas as traduções apareciam “magicamente por conta própria”? — agora eles estavam cientes de todas as questões envolvidas em um nível muito mais profundo do que jamais desejaram.
No Kaspersky, o processo de localização geralmente consiste em duas etapas: tradução e teste linguístico.
O problema geral na fase de tradução era que havia muito trabalho manual, devido tanto ao processo utilizado quanto às limitações da ferramenta CAT. Especificamente:

  • Como os pipelines multirramificados não eram suportados, tivemos que criar manualmente os deltas para tradução e, posteriormente, enviá-los de volta para os ramos.

  • Não podíamos fazer traduções adicionais solicitadas em paralelo, por exemplo, se os textos de origem fossem alterados no processo. Em vez disso, tínhamos que esperar que o pacote de tradução básico estivesse pronto e só então prosseguir com as traduções adicionais.

  • Falhas na compilação devido a erros em “não traduzíveis”, apóstrofos não escapados e outros erros humanos estavam se tornando cada vez mais um problema.

Quanto à etapa de testes linguísticos, ela pode levar até duas semanas, em comparação com os três a cinco dias necessários para a tradução propriamente dita. “O que são testes linguísticos?”, você deve estar se perguntando.
O principal objetivo dos testes linguísticos é verificar toda a tradução dentro do contexto. Contamos com uma equipe sólida de tradutores que conhecem bem nossa terminologia. Mas quando você traduz um texto sem ver o que o rodeia ou mesmo se trata de um botão ou um título, as coisas podem dar errado rapidamente.
Portanto, os testes linguísticos envolvem a verificação manual de todas as telas resultantes do aplicativo, geralmente por meio de capturas de tela. Isso ajuda a identificar problemas como:
  • Texto muito longo para o tamanho do elemento da tela. Às vezes, isso pode envolver implicações legais, se o texto omitido incluir isenções de responsabilidade ou informações financeiras.

  • Texto não traduzido, seja por erro do tradutor ou porque foi codificado em vez de externalizado como uma string,

  • Texto traduzido no contexto errado, por exemplo, quando o texto em um botão — por exemplo, “Baixar” — é gramaticalmente um imperativo em vez de um infinitivo.

Só a parte de capturar as telas já levava uma quantidade exorbitante de tempo. Por exemplo, se um novo recurso envolvesse 40 telas de interface do usuário e houvesse 20 idiomas de destino, isso poderia levar até 70 horas de trabalho manual e mecânico tedioso.

No geral, isso era algo com que se podia conviver quando havia um novo lançamento a cada três meses. Mas, com lançamentos quinzenais, isso começou a afetar a equipe de localização. Era preciso corrigir isso, e rapidamente.

Tínhamos duas opções:

1. Contratar trabalhadores com pouca experiência e diminuir a quantidade de trabalho de localização — o que naturalmente levaria a uma queda na qualidade, OU
2. Automatizar.

Optamos pela segunda opção.

Por que Smartcat

Ao escolher a solução CAT/TMS, nossas principais prioridades foram: — para que pudéssemos começar a usá-la imediatamente, sem esperar que mais recursos fossem desenvolvidos,

  • Requisitos de servidor leves — novamente, para evitar aprovações demoradas,

  • Acessível, de preferência gratuito, para entrar no serviço.

  • Suporte adequado por parte do serviço para não precisarmos contratar um desenvolvedor interno,

  • Requisitos de segurança — nós nos conectamos a ele, e não o contrário,

  • Suporte multirramo — para traduzir vários recursos em paralelo,

  • Traduções adicionais possíveis em paralelo com o lote original.

  • Quando compilamos uma lista de opções, acabamos ficando com apenas dois nomes: Smartcat e Zing, um servidor de localização contínua dos criadores do Evernote.
    Gostamos do Zing por sua personalização, pacote de instalação gratuito e acesso privado — poderíamos hospedá-lo dentro da nossa própria organização. Por outro lado, o processo de instalação estava longe de ser fácil, então integrar todos os nossos tradutores e funcionários tornaria os custos de tempo para operar o serviço muito altos.

    Então, escolhemos o Smartcat. Como não temos permissão para conectar ferramentas CAT diretamente ao nosso VCS interno, optamos por usar um pacote Smartcat–Serge. (O Serge é um software de código aberto que sincroniza strings entre sistemas de controle de versão e gerenciamento de tradução. Ele identifica strings em arquivos de vários formatos e as converte para o formato PO padrão da indústria, que é então enviado para o Smartcat. Podemos instalá-lo diretamente em nossos servidores, para que nenhuma de nossas informações confidenciais saia da empresa.)

    Aqui está o que mais gostamos na solução resultante:

    • Ela atende a todos os nossos requisitos: pipelines multirramificados, traduções adicionais, segurança, etc.

    • Recebemos atualizações instantâneas, sem precisar baixar ou instalar nada.

    • Podemos criar nossos próprios esquemas de análise para strings graças ao pacote Smartcat–Serge.

    • Podemos conversar com os tradutores que trabalham em nossos documentos sem sair da plataforma.p>

    • Podemos encontrar freelancers diretamente no mercado da plataforma, se precisarmos aumentar a produção,

    • Podemos pagar por todos os idiomas e projetos com apenas uma fatura,

    • Adoramos o suporte que recebemos — a equipe da Smartcat nos ajudou a colocar nosso fluxo de trabalho em funcionamento e priorizou alguns dos recursos que eram essenciais para nós,

    • O serviço é praticamente gratuito — acabamos optando por uma assinatura por causa do recurso de pesquisa de texto em todo o projeto, mas essa mudança foi opcional.

    Alguns dos desafios que enfrentamos foram: Inicialmente, não podíamos pesquisar texto dentro de todos os documentos de um projeto — isso não é mais um problema, pois a Smartcat implementou esse recurso desde então. Freelancers às vezes perdem ou ignoram notificações de que um documento do projeto foi atualizado, então temos que enviar lembretes manualmente por meio do chat integrado.

  • O gerente de projeto precisa enviar convites manualmente aos tradutores — mas soubemos que essa etapa será automatizada em breve.

  • Considerando nossa experiência com o Smartcat até agora, temos esperança de que a equipe deles já esteja trabalhando para resolver essas questões.

    Antes e depois

    Para colocar as coisas em perspectiva, aqui está uma comparação entre o que tínhamos e o que temos agora, tanto em termos de processo quanto de números.

    Processo

    Antes

    Antes das mudanças, tínhamos que realizar cerca de 30 etapas nas fases de tradução e testes linguísticos:

    Tradução:

    1. Obter textos de diferentes ramos no repositório — manualmente,

    2. Criar um delta para tradução — manualmente,

    3. Criar pacotes para tradução,

    4. Carregue-os em um servidor FTP,

    5. Escreva uma série de e-mails para agências, freelancers ou escritórios locais,

    6. Pegue a tradução do servidor FTP assim que estiver pronta,

    7. Carregue-a na ferramenta CAT e certifique-se de que tudo está correto,

    8. Carregar as strings traduzidas no repositório, tentando não misturar os branches — manualmente,

    9. Executar uma compilação, corrigir erros, concluir a compilação,

    10. Solicitar traduções adicionais — basicamente repetindo o mesmo processo novamente.

    Testes linguísticos:

    1. Inicie a compilação e aguarde até que ela seja concluída,

    2. Reinicie a compilação se ela falhar devido a erros de localização,

    3. Configure um ambiente de teste especial, se não houver menu de depuração,

    4. Faça todas as capturas de tela relevantes para mais de 20 idiomas,

    5. Descubra, junto com a equipe de controle de qualidade, como obter as capturas de tela que ainda estão faltando,

    6. Crie e nomeie pacotes de capturas de tela,

    7. Faça o upload deles para o servidor FTP,

    8. Atribua tarefas a agências de tradução para verificar as traduções,

    9. Responda às perguntas das agências,

    10. Aceite as tarefas e faça as alterações,

    11. Faça a compilação — o que às vezes leva muito tempo,

    12. Refaz a compilação se houver erros,

    13. Tire capturas de tela para testes regressivos,

    14. Mais uma vez, fazer o upload das capturas de tela e atribuir tarefas às agências de tradução,

    15. Mais uma vez, discutir tudo com as agências,

    16. Mais uma vez, realizar outra rodada de testes regressivos se houver alterações na tradução.

    Depois

    Agora temos apenas nove etapas em todas as fases:

  • O gerente de projetos de localização designa tradutores,

  • Os tradutores traduzem no contexto — com capturas de tela e comentários ao alcance dos dedos,

  • O gerente de projetos de localização revisa e confirma a tradução, que então retorna automaticamente ao Git,

  • A equipe de localização executa o bot de captura de tela de recursos para textos localizados,

  • A equipe de localização coloca as capturas de tela localizadas no servidor FTP e as envia aos linguistas,

  • Os linguistas verificam e corrigem as traduções, se necessário, enquanto analisam as capturas de tela localizadas,

  • As alterações são automaticamente enviadas para o Git,

  • A equipe de localização fecha a solicitação de pull.

  • É isso — com essa redução de complexidade em três vezes, realmente sentimos a diferença em relação ao que tínhamos antes!

    Números

    Todos os números são por lançamento — a cada duas semanas — e por aplicativo.

    Etapa

    Horas antes

    Horas depois

    Coletar strings de todos os ramos

    1

    -

    Criar um delta contendo apenas strings novas ou atualizadas e enviá-las para a ferramenta CAT para mais de 20 idiomas

    4

    0,25

    Crie pacotes de tradução para mais de 20 idiomas

    0,5

    -

    Carregar pacotes de tradução para o servidor FTP para mais de 20 idiomas

    0,5

    -

    Comunicar-se com agências/tradutores para confirmar que eles podem aceitar o trabalho, para mais de 20 idiomas

    2–3

    Atribuir trabalhos a agências/tradutores diretamente na plataforma

    -

    0,25

    Responda às perguntas dos tradutores

    2–4

    0,5

    Revisar e confirmar traduções

    1

    0,25

    Executar uma compilação

    Até 8

    0,25

    Traduções adicionais

    8

    0,25

    Obter capturas de tela

    16–32

    8 com a ferramenta de captura de tela automática

    Carregar capturas de tela para o servidor FTP

    8

    1

    Comunicar com agências/tradutores e obter traduções corrigidas

    8

    1

    Atualizar os arquivos de recursos

    8

    2

    Grave as alterações no Git

    8

    0,25

    Tempo total por lançamento por aplicativo

    84 horas

    14 horas
    SEIS vezes menos!

    Bônus

    Benefícios adicionais — alguns dos quais não prevíamos — incluem: href="https://help.smartcat.com/115002049931-adding-placeholders/">placeholders, não precisamos mais nos preocupar com textos não traduzíveis sendo traduzidos ou apóstrofos não sendo escapados, entre outros.

  • O Smartcat identificou alguns bugs antigos graças às suas configurações de erros críticos.

  • Não desperdiçamos o tempo e os recursos de outras pessoas: não precisamos pegar dispositivos de teste da equipe de controle de qualidade nem usar o tempo da equipe de desenvolvimento para fazer capturas de tela.

  • As capturas de tela disponíveis para os tradutores, que eles podem abrir e visualizar facilmente diretamente no editor, melhoraram muito a qualidade das traduções.

  • Podemos continuar e temos certeza de que, com o tempo, encontraremos outras maneiras de melhorar a eficiência e a qualidade dos nossos processos de localização. Mais importante ainda, a localização não é mais um gargalo no ciclo de lançamento. Acreditamos que obter esses resultados em tão pouco tempo foi uma conquista tanto para a nossa equipe quanto para a plataforma Smartcat.


    Apêndice. Dicas e ideias

    Aqui estão algumas medidas concretas que tomamos depois de implementar o Smartcat. Colocamos aqui como um “guia rápido” para outras empresas e equipes que desejam seguir nossos passos. Nem todas são fáceis de implementar, mas a maioria ajudará a tornar o processo de localização mais suave e menos propenso a erros.

    Integração:

    • Teste a integração Git–Serge–Smartcat para garantir que todas as strings cheguem aos projetos Smartcat e vice-versa. Você não quer ter surpresas na fase de produção.

    • Chegue a um acordo com os engenheiros de software sobre a nomenclatura dos branches. Dessa forma, você poderá configurar um bot que procurará os branches específicos que precisam ser localizados, economizando horas de comunicação tanto para você quanto para os desenvolvedores.

    • . Por exemplo, tornamos os IDs das strings, comentários e links para referências de capturas de tela visíveis para os tradutores.

    • de acordo com a máscara de nome acordada acima.

    • Considere testar a interface do usuário e fazer capturas de tela dos recursos usando a estrutura Kaspresso. Por exemplo, nossos desenvolvedores colocam um link para uma captura de tela para cada string que usam. Quando o arquivo chega ao Smartcat, o link da captura de tela vai automaticamente para a guia Comentários. Você pode ler mais sobre o Kaspresso e por que você pode querer usá-lo aqui.

    Localização e testes linguísticos:

    • Se você tiver glossários disponíveis, carregue-os no Smartcat para garantir a consistência em todas as suas localizações.

    • Adicione seus linguistas internos para que eles possam explorar a plataforma e aprender como ela funciona antes de receberem trabalhos reais de você.

    • Encontre e selecione freelancers e integre-os aos processos da sua empresa, garantindo que eles saibam como usar capturas de tela, comentários, glossários etc.

    • Quando necessário, encontre agências de tradução para necessidades adicionais de localização ou testes.

    Espero que tenham sido úteis — se você tiver alguma sugestão, entre em contato conosco!
    💌

    Assine nossa newsletter

    E-mail *

    Kacie Saxer-Taulbee
    Editado por
    Kacie Saxer-Taulbee

    Kacie Saxer-Taulbee is Director of Growth at EverQuote and a data-informed content leader with a background in high-scale B2B SaaS, legal tech, and insurtech. As former Director of Content and Strategic Brand at Smartcat, she led global storytelling efforts connecting thought leadership with AI-powered localization and multilingual communication.

    Saiba mais sobre nossas políticas editoriais

    Nicole DiNicola
    Revisado por
    Nicole DiNicola

    Nicole DiNicola is Senior Director of Product Marketing at Progress Software and a high-performing, empathetic global marketing leader with over 15 years of experience in B2B technology. She previously served as Global VP of Marketing at Smartcat, leading global marketing strategy, growth, and enablement for AI-powered content and localization solutions.

    Saiba mais sobre nossas políticas editoriais

    Padrões editoriais

    Por que você pode confiar na Smartcat

    Cada guia é escrito pela nossa equipe de localização, editado para maior clareza por editores com experiência em redação técnica e revisado por um engenheiro de soluções da Smartcat antes de ser publicado. Atualizamos cada conteúdo à medida que a plataforma e as práticas evoluem.

    • Escrito por profissionais, nunca apenas por IA
    • Verificado com base nas especificações mais recentes da Apple e do ICU
    • Atualizado quando SDKs, políticas das lojas ou fluxos de trabalho mudam
    Leia nossos padrões editoriais
    100+avaliações de 5 estrelas
    ★★★★★ G2 · 4.6 / 5
    “Este foi um dos nossos primeiros investimentos em IA. O que antes levava semanas agora leva minutos — a tradução acontece em paralelo com todo o resto, e a equipe de marketing assume o processo de ponta a ponta.”
    OS
    Ollie Scheers

    CTO da Huel

    Continue lendo

    Todos os artigos →

    Por que as operações de conteúdo são a próxima fronteira da IA corporativa

    Claire Foster

    Como traduzir um site do WordPress

    Maksym Ostapenko

    Por dentro do “Lunch & Learn” do eBay: Como uma equipe global de Aprendizagem e Desenvolvimento está ampliando a localização com a Smartcat

    Loie Favre

    Conheça a Smartcat

    Traduza tudo para todos os idiomas falados pelos seus clientes.

    Uma plataforma para tradução com IA, linguistas humanos e os sistemas de conteúdo que você já usa. Comece com uma demo ou crie um workspace gratuito.

    Agendar uma demo

    Iniciar teste grátis