Construindo produtos para mercados internacionais

Danielle Moreira
Ship It!
Published in
5 min readNov 13, 2020

Em 2019, ingressei no desafio de construir uma plataforma global que ajudasse os clientes em mercados emergentes a expandirem seus negócios e gostaria de compartilhar com vocês um pouco dessa experiência.

A estratégia de produto Internacional é baseada em quatro pilares: Tradução, Globalização, Internacionalização e Localização. E durante esses quase dois anos, lançamos uma série de novas funcionalidades sobre esses pilares e corrigimos muitos débitos do passado.

Com o objetivo de disseminar o mindset global first para os nossos times de produto e engenharia, criamos um guia de boas práticas de localização para ser usado quando estivermos desenvolvendo novas funcionalidades ou alterando as existentes.

Este guia foi dividido em 2 partes: Design &Produto e Engenharia, mas acredito que todos os pontos são válidos para ambos.

Design e Produto

  1. Separamos todo o texto das imagens?

Não devemos ter nenhuma imagem com texto embutido nela sempre que possível. Se você puder criar uma camada de texto que seja “traduzível” sobreposta na imagem, usando CSS ou algum outro método, isso tornará a localização muito mais fácil.

2. Nosso design permite traduções mais longas para outros idiomas?

Se o seu design incluir palavras, certifique-se de ter espaço suficiente para acomodar traduções mais longas. Do contrário, você pode acabar com texto sobreposto ou texto cortado.

3. Estamos incluindo textos em colunas estreitas?

Quando você coloca texto em colunas estreitas, há uma boa chance de que algumas traduções sejam quebradas em mais linhas.

4. Estamos criando frases com elementos da UI — user interface?

Idiomas tem ordem diferentes de palavras, pluralização e gênero também podem ser um problema. Por isso, tome bastante cuidado se escolher usar elementos de UI para criar frases.

5. Tornamos os arquivos de imagem fáceis de trocar ou ocultar? (se necessário).

Embora seja uma boa prática separar texto das imagens, isso nem sempre é possível. Há momentos em que você precisa mostrar capturas de tela ou gráficos do produto e simplesmente não será viável extrair o texto da imagem.

O que você pode fazer nesses casos? O ideal é que, ao fazer capturas de tela, você faça as mesmas em todos os idiomas em que sua UI está disponível.

6. As dependências de ferramentas de terceiros oferecem suporte a casos de uso internacionais?

Ao utilizar ferramentas de terceiros no produto como por exemplo: Intercom, Appcues, Hotjar — lembre-se de criar versões para todos os idiomas que seu produto está disponível ou criar filtros por idioma que a mensagem será mostrada.

7. Estamos considerando vários locais em nosso caso de uso?

Ao desenvolver um novo recurso se pergunte se ele funcionará para vários locais ou se precisará de adaptações no futuro. Garanta que a solução atual será fácil de ser modificada.

8. Estamos usando localidade e não apenas idioma para definir a regra de negócio?

Freqüentemente, as pessoas pensam primeiro no idioma, mas o país também é muito importante.

Imagina que você tem um template de Landing Page em espanhol cujo a temática é um feriado do México. Provavelmente os usuários da Colômbia não estarão interessados nesse template e podemos criar um filtro para que o mesmo não seja mostrado com base no país.

Engenharia

9. Todas as strings estão em arquivos específicos de tradução (como por exemplo json e yml) e separadas do código?

Quando decidimos traduzir um produto que não foi construido inicialmente para ser global, um dos maiores trabalhos é separar todas as strings do código fonte para que elas possam passar por máquina de tradução sem problemas. Por isso, se você está pensando em disponibilizar seu produto para o mundo, não esquecer dessa boa prática vai lhe economizar muito tempo e dinheiro.

10. Todos os elementos contidos nos arquivos específicos de tradução podem passar por machine translation (como Google, Amazon, Microsoft, etc.) sem nenhum problema?

Na minha experiência já vi o sistema quebrar, pois havia o path de uma página em um arquivo de tradução. Logo, garanta que todas as strings contidas no arquivo poderão ser traduzidas sem problemas por uma máquina de tradução.

11. Os links externos como por exemplo: central de ajuda, blog post, artigo, etc. — estão fora dos arquivos específicos de tradução?

Os links não podem passar por máquina de tradução e devem ser armazenados em arquivos separados.

12. Estamos tendo cuidado ao separar as strings?

A tradução de palavras sem contexto pode ficar bem estranha. Como o tradutor não tem o contexto da pessoa desenvolvedora e chega a ele somente as partes isoladas, fica difícil realizar a tradução corretamente. Por exemplo, dada as seguintes chaves que foram divididas em mais de uma string:

  • parte_1: Modelo de
  • parte_2: Landing pages
  • parte_3: são usados para...

Porém em inglês a tradução não ficaria do mesmo jeito:

  • parte_1:
  • parte_2: Landing pages
  • parte_3: templates are used for...

Por isso é importante manter o contexto da frase. Talvez você tenha separado para reutilizar essa tradução, pois quer repetir a frase somente com a parte_2 alterada, mas como pode ser visto, isso não funcionaria corretamente em outros idiomas. Tenha isso em mente ao criar textos que vão ser traduzidos.

13. Nosso banco de dados suporta múltiplos locales?

Um exemplo típico é um banco de dados que exibirá um campo para os usuários em um idioma, mas o próprio campo foi construído de uma forma que não é possível exibir variantes multilíngues. Quando isso acontece, a localização simplesmente não é possível. Está bloqueada pelo próprio banco de dados! Portanto, é útil pensar sobre o caso de uso internacional, incluindo como seu banco de dados será usado, enquanto você projeta a experiência.

14. Evitamos a codificação permanente dos formatos de data e hora, número e moeda?

Se o seu software possui essas variáveis, evite espalhar elas pelo seu código fonte, pois quando você precisar adequar seu produto para funcionar em mais de um mercado isso pode custar caro. Logo, mesmo que você ainda não tenha clareza dos formatos que serão disponibilizados no futuro, centralize a configuração em um lugar só, de forma que possa ser mudada rápido e fácil.

15. A ordenação das listas funciona para múltiplos idiomas?

Para listas que precisam ser ordenadas, teste a ordenação em todos os idiomas suportados pelo produto.

16. Horas são mostradas de acordo com o timezone da conta?

Caso o seu sistema possua uma configuração de timezone, garanta que o mesmo respeite essa configuração, principalmente para casos de uso sensíveis como disparo de email por exemplo.

Para te ajudar, criei esta lista com todas as perguntas do guia de boas práticas de localização para que você possa compartilhar com o seu time!

[Template] Guia de boas práticas de localização

Também trabalha com produto internacional? Sentiu falta de alguma coisa? Compartilha comigo =)

Referências

--

--

Danielle Moreira
Ship It!

System Analyst Manager at iFood and casual writer. I love people and solve problems.