OlĂĄ mundo! Ou Habr em inglĂȘs, v1.0

Este Ă© o primeiro post do nosso blog em 2019. E isso Ă© importante para todos nĂłs: estamos finalmente lançando a versĂŁo em inglĂȘs do Habr! Na verdade, ele estava pronto em meados de dezembro, mas - vocĂȘ sabe - lançar um novo recurso antes do Natal Ă© como implantar na sexta-feira Ă  tarde. Decidimos fazĂȘ-lo no inĂ­cio de 2019.



Iceberg


O desenvolvimento da versĂŁo em inglĂȘs parecia um iceberg com "seria legal poder criar postagens em inglĂȘs" na parte superior - uma das inĂșmeras solicitaçÔes de recursos sem escopo de trabalho sequer aproximado.

Solicitação de recurso (em russo)

Por quase um ano, essa solicitação de recursos teve ganho de gostos (e, afinal, ganhou apenas uma), mas essa ideia nasceu muito antes da solicitação. A ideia parecia promissora porque vocĂȘ pode contar com nossos concorrentes em inglĂȘs nos dedos de uma mĂŁo (alĂ©m de opçÔes de implementação). Durante muito tempo, estĂĄvamos pensando muito, estimando, ouvindo solicitaçÔes de usuĂĄrios e clientes, aprovando postagens em inglĂȘs do "Sandbox", mas as peças do quebra-cabeça ainda nĂŁo se encaixavam.

Sabe-se que mais de 90% do iceberg estĂĄ escondido debaixo d'ĂĄgua. E nosso iceberg tinha densidade ainda maior, entĂŁo tivemos que retrabalhar quase todo o Habr. Na verdade, passamos metade de 2018 por isso. E agora, no inĂ­cio de 2019, temos o prazer de divulgar o resultado do nosso trabalho.

O que fizemos


Quando anunciamos que a Habr se tornaria internacional, jå tínhamos um plano específico. Era um escopo bruto de trabalho e termos aproximados. Mas depois que começamos, entendemos que o retrabalho se tornaria realmente massivo.

Habr Ă© bastante grande - por dentro e por fora. VocĂȘ nĂŁo percebe isso se precisar adicionar uma Ășnica linha de texto, mas quando vocĂȘ traduz todo o site, fica claro que Ă© realmente um iceberg. Entendemos que “Habr em inglĂȘs” nĂŁo Ă© apenas a tradução “Habr” → “Habr”.

1. Estrutura de tradução

NĂŁo tĂ­nhamos praticamente nenhuma experiĂȘncia em localização; no inĂ­cio, nĂŁo esperĂĄvamos que o Habr fosse multilĂ­ngue. EntĂŁo tivemos que mudar muitas coisas na arquitetura do projeto para tornĂĄ-lo tecnicamente possĂ­vel.

No começo, tentamos resolver o problema rapidamente com o gettext clåssico, mas logo percebemos que ele não tinha recursos suficientes ...

Dividimos todas as traduçÔes em 3 blocos funcionais:

  • Interface (arquivos de idioma)

    Para uma internacionalização completa, escolhemos o formato ICU - vocĂȘ pode traduzir datas, finais de palavras etc. Cada elemento da tradução possui seu prĂłprio ID e, por conveniĂȘncia, foram agrupados por entidades. Depois que o tradutor recebeu um arquivo de idioma multilinha.
  • Modelos (ajuda, documentos, guias, e-mails)

    Traduzimos grandes pedaços de texto "independentes" individualmente, sem nenhuma ajuda externa. Mas os documentos legais são um universo diferente, com seus próprios "buracos negros", então pedimos ajuda a um OVNI.

    Tentamos traduzir imagens pares e aprimorĂĄ-las ao mesmo tempo. Por exemplo:

    O que tĂ­nhamos anteriormente (em russo)

    O que temos agora
    ( daqui ):

  • Guias (hubs, emblemas, fluxos)

    Essa foi uma tarefa mais ou menos simples - CRUD clåssico com guia separada no painel de administração.

No futuro, essa abordagem nos permitirĂĄ adicionar (se necessĂĄrio) novos idiomas. Se nĂŁo houver um caso muito grande, nenhum caso muito pequeno, vocĂȘ deseja traduzir Habr para outro idioma, entre em contato conosco.

Alguns nĂșmeros:

Interface: cerca de 250 KB de texto, mais de 3.000 linhas
Modelos: mais de 800 KB de texto
E-mails: mais de 400 KB de texto

2. ConfiguraçÔes multilíngues

Tivemos que decidir como tudo deveria funcionar. Havia algumas idéias para criar um site separado, mas na verdade não levamos essa opção a sério.

Por isso, escolhemos a maneira de separar o conteĂșdo como a mais flexĂ­vel: quando o usuĂĄrio pode selecionar ambos - o idioma da interface e o idioma do feed.

Todo usuĂĄrio pode acessar as configuraçÔes e selecionar o idioma. VocĂȘ pode escolher apenas feed em inglĂȘs, ou apenas russo, ou ativar os dois.


EntĂŁo, hoje anunciamos dois novos recursos no Habr:

  • Language of the interface

    The language of all the elements on the website. Currently you can choose from English and Russian. We've attempted to determine locale in a «smart» way (based on Accept-Language header) but you always can override it yourself.
  • Language of the posts

    This feature allows user to see personal feed in selected languages. It also affects on the content of context blocks («Top posts», «Most popular right now», «Top discussions»). By default it's inherited from the interface language setting, but you can change it any time.

If you are not logged in, you can find language selector is in the upper right corner (planet icon), if you are logged in — you’ll find it in the user menu. In the mobile version the scenario is similar — settings menu is in the footer and in the user menu.


For your feed you can choose more than one language but when you create new post you will be able to choose only one.


3. SEO

Everything was done and checked, and it was time for testing. The result was good, but there was something the air
 Something that we missed. It was SEO.

When you maintain a website in a single language you usually don’t have to think about search optimization — it just works somehow. But after you add another language you can’t ignore this thing.

Before English was added to Habr search engines had been indexing it quite well. After we made the website multilingual we got need to teach search engines to «see» our website both in English and Russian clearly. We had to make a full check and rework things — change links, create new sitemap, specify canonical-URL, etc.

Like this:


ÎČ-testing


Generally speaking we are announcing beta-testing of new functionality. We’d be grateful for any feedback, especially for ideas and bug reports. We need to carefully test new features in different conditions: different platforms, OS and browsers, from different locations, w/ and w/o VPN, etc. Historically our users are the best testers, and we hope you will help us.

Let’s play!


From today you can create publications in English and translate articles from Russian. Also feel free to invite friends who live abroad and speak English. If each of us will send invitation even to one such fellow, be sure we will succeed and our bold attempt to get out of our throughout regulated sandbox will look not so crazy. To make it easier during the day we will grant one invitation to each user with positive karma.

There are a lot of interesting things ahead — strategy development, search for new authors and translators, SMM, analytics, and much more. If you also can offer something please send email to welcome@habr.com — we are always glad to meet new people.

Stay tuned!

Source: https://habr.com/ru/post/pt435764/


All Articles