

Para quem não sabe, o WordPress está no centro de quase 43% dos sites do mundo. Além disso, o Sistema de Gerenciamento de Conteúdo (CMS) está disponível em 205 localidades diferentes. Como a plataforma é uma entidade global, a localização é importante. O processo i18n do WordPress é fundamental para isso.
O "argumento de venda" da i18n é que ela é uma forma de preparar o código de seu tema e plug-in para tradução. A partir daí, você pode aplicar traduções precisas a outros idiomas, alinhar-se a outras culturas e localidades e colher os benefícios.
Nesta postagem, discutiremos a i18n do WordPress em mais detalhes e mostraremos como aplicá-la. Embora você deva ter algum conhecimento de codificação, também discutiremos as etapas em detalhes, juntamente com o que é (e o que faz) o WordPress i18n.
Produto de uma época passada, o "leet speak" está vivo e de boa saúde nos círculos de desenvolvimento da Web. Embora você não veja muito "l33t" e "n00b", verá muitos numerônimos: a11y quando a discussão for sobre acessibilidade, por exemplo.
Na verdade, i18n é outro numerônimo. Ele significa "internacionalização" e consiste na primeira e na última letra combinadas com um número que indica quantas outras letras estão entre elas. Você também verá que a localização tem seu próprio numerônimo: l10n. Há outros numerônimos também, como globalização (g11n), europeização (e13n) e muitos outros.
Aqui, daremos uma olhada especificamente na internacionalização. O resumo oficial do World Wide Web Consortium (W3C) observa que é aqui que o design e o desenvolvimento permitem a localização simples para usuários de várias culturas, localidades, idiomas e muito mais.
É importante observar que a internacionalização é apenas a primeira etapa do processo de tradução. A partir daí, você realizará a localização usando uma solução de tradução adequada.
Para o processo de i18n em si, há uma série de etapas que o desenvolvedor do WordPress realizará antes de entregar ao tradutor. Em poucas palavras, o processo de localização é o seguinte:
O tradutor pegará o arquivo .pot e o usará para realizar a localização, portanto, essa é uma parte importante do procedimento.
Para quem não sabe, os arquivos POT são um exemplo daqueles que você gera usando a ferramenta GNU gettext. Essa é uma tecnologia e um software da década de 1980 que ainda oferece imenso valor para aqueles que realizam i18n atualmente.
Não é necessário saber exatamente o que é isso para realizar a i18n do WordPress, mas é útil entender o que ele faz em um sentido geral e o que ele gera. Considere o gettext como uma estrutura que ajuda o WordPress a produzir mensagens multilíngues.
Você verá com frequência vários arquivos associados ao gettext:
Com tudo isso em mente, você pode praticamente iniciar o processo de i18n. Primeiro, é bom preparar seu site WordPress para o trabalho que está por vir.
Como em qualquer projeto relacionado aos arquivos principais do WordPress, você deve se certificar de que sua instalação esteja "limpa" antes de começar. Você também deve se certificar de que pode reverter todas as alterações feitas, caso o pior cenário aconteça e você precise restaurar.
Dessa forma, há duas "etapas prévias" quase inegociáveis antes do processo de i18n:
Para esse último caso, recomendamos que você atualize os plug-ins que deseja manter e exclua aqueles que não são mais necessários.
Mais uma vez, trabalharemos com os arquivos principais do WordPress, portanto, você deve ter conhecimento de como eles funcionam e de seu conteúdo. Alguns dos conceitos sobre os quais falaremos no tutorial não terão necessariamente uma explicação, embora as etapas em si tenham.
Com todos esses pontos concluídos, você pode começar a trabalhar no processo de i18n.
Nas próximas seções, mostraremos como conduzir o WordPress i18n com seus temas e plug-ins. Embora cada seção possa ter um código pesado e ser técnica em alguns pontos, explicaremos tudo o mais detalhadamente possível e colocaremos links para quaisquer recursos adicionais que você possa precisar.
Começaremos com a forma de internacionalizar seus temas.
A primeira etapa é atualizar o cabeçalho do tema para incluir um domínio de texto e um caminho de domínio. Em resumo:
Para fazer isso, basta adicionar algumas palavras ao arquivo de cabeçalho do tema:
/*
Nome do tema: My Custom Theme
Autor: Weglot Translate
Text Domain: my-theme
Domain Path: /languages/
*/
Em seguida, você precisa carregar esse domínio de texto usando uma "ação" e uma "função":
add_action( 'after_setup_theme', 'my_theme_setup' );
function my_theme_setup() {
load_theme_textdomain( 'my-theme', get_template_directory() . '/languages' );
}
Esse conjunto de códigos precisa estar no arquivo functions.php do seu tema, e não no do seu site. Depois de fazer isso, você pode começar a realizar uma "auditoria de strings". Isso exige que você envolva todas as cadeias de texto do seu tema em funções de tradução. Há duas funções que você usará com frequência:
Essas funções exigem dois argumentos: a string de texto e o domínio do texto. Por exemplo:
__()
$welcome = __( 'Olá! Bem-vindo ao painel de controle!', 'my-theme' );
_e( 'Olá novamente!', 'my-theme' );
Embora os prós e contras das várias funções de tradução estejam além do escopo deste artigo, o Manual do Desenvolvedor de Temas do WordPress tem quase todas as informações de que você precisa para fazer o trabalho.
Nesse ponto, você pode criar um arquivo POT. Há muitas soluções para fazer isso, mas o WordPress recomenda o Poedit, uma solução gratuita e de código aberto.
Depois de baixar e instalar o Poedit, vá para File > New (Arquivo > Novo ) na barra de ferramentas:

Em seguida, crie um novo catálogo. Você pode clicar no link Extrair de fontes na tela principal:

Em seguida, preencha os campos para o nome do projeto, a equipe de idiomas e o idioma principal na guia Propriedades de tradução:

Se o arquivo for novo, salve-o aqui (o nome do arquivo deve ser o mesmo do slug do seu tema). Em seguida, selecione a guia Sources Paths e localize a pasta /languages/ em seu computador:

A guia Sources Keywords final será uma lista das funções de tradução que você usou em seu tema:

Você deve adicioná-las aqui, embora possa ser difícil encontrar as palavras-chave certas. Para começar, você pode usar a lista a seguir:
__
_e
_x
_ex
_n
_nx
_n_noop
_nx_noop
translate_nooped_plural
number_format_i18n
date_i18n
esc_html__
esc_html__
esc_html_x
esc_attr__
esc_attr_e
esc_attr_x
Depois de clicar para confirmar, salve as alterações e verifique os novos arquivos: você verá arquivos MO e PO no computador. Se você duplicar o arquivo PO, poderá adicionar a extensão POT e, a partir daí, poderá passar para a localização.
Sua tarefa inicial aqui é semelhante à de um tema: primeiro, atualize os campos de domínio de texto e caminho de domínio do plug-in no cabeçalho:
/*
Nome do plug-in: My Custom Plugin
Plugin URI:weglot
Descrição: Um plug-in personalizado para mostrar a tradução e o i18n.
Autor: Weglot Translate
Versão: 1.0
URI do autor:weglot
Domínio do texto: my-plugin
Caminho do domínio: /languages/
*/
Recomendamos criar uma pasta /languages/ para o caminho do domínio e defini-la como o caminho do domínio. A partir daí, você pode carregar o domínio de texto para o plug-in, mas, dessa vez, pode adicionar a seguinte função ao seu código, em vez de usar o functions.php:
load_plugin_textdomain( $domain, $abs_rel_path, $plugin_rel_path );
No entanto, isso só permite que o WordPress saiba que há um arquivo de tradução disponível. Para carregá-lo, é necessário envolver a função em uma ação:
add_action( 'plugins_loaded', 'plugin_load_td' );function plugin_load_td() {
load_plugin_textdomain( 'my-plugin', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' );
}
Grande parte da auditoria de strings será semelhante ao tema i18n. A etapa final é gerar um arquivo POT usando o mesmo processo anterior; o arquivo gerado terminará no diretório de trabalho atual
A esta altura, você já deve ter entendido como o WordPress i18n pode ser incrível. É ótimo se você desenvolve temas ou plug-ins e deseja deixá-los prontos para tradução. Entretanto, como todas as coisas boas, também há algumas desvantagens.
Por exemplo, se um plug-in contiver conteúdo gerado pelo usuário, isso não fará parte da tradução i18n.
O processo i18n habilitará traduções para elementos estáticos que você codifica, como o texto do botão. No entanto, se o usuário quiser digitar uma frase específica para um campo, criar rótulos exclusivos e outros elementos "do lado do cliente", você não poderá levar isso em conta. Na verdade, você poderia, mas essa é uma tarefa complexa e está além do escopo de uma postagem como esta.
Além disso, se você não for um desenvolvedor, o i18n não o ajudará a traduzir seu site. Para isso, você precisará de um plug-in, e talvez queira pular para a próxima seção para encontrar uma opção adequada.
Também vale a pena observar que, embora os plug-ins de tradução possam ajudar de várias maneiras, um site precisará de uma média de cinco plug-ins para ser totalmente multilíngue. Por outro lado, uma solução como o Weglot funciona rapidamente, é capaz de detectar todas as partes traduzíveis de um site e é compatível com quase todos os temas e plugins. Isso independe do fato de esses temas e plug-ins estarem prontos para tradução.
Além disso, Weglot usa os elementos de tema, plug-in e conteúdo principal da página HTML inicial e os torna traduzíveis. Dessa forma, não há arquivos .pot e .po, e o método gettext também não é necessário.
Em termos técnicos, discutiremos agora a localização de seu conteúdo - o processo de tradução direta.
Uma boa estratégia de tradução não é fácil. É um trabalho árduo e requer muito planejamento para garantir que seu conteúdo atinja diferentes culturas, locais e idiomas da maneira correta. Isso não se refere apenas ao texto traduzido no corpo de seu conteúdo. Você também deve considerar todos os itens a seguir:
Se você utiliza comércio eletrônico, há uma série de considerações a serem feitas aqui também. Por exemplo, você deve garantir que sua tela de checkout ofereça uma tradução completa de todos os elementos, especialmente os campos de moeda e impostos:

Além disso, as informações de envio são um aspecto fundamental a ser traduzido na íntegra e com alta qualidade. Você quer que os clientes não tenham nenhuma desculpa para clicar no botão Comprar, independentemente do idioma usado.

Weglot realiza grande parte do trabalho pesado em seu nome. É um aliado valioso para seus esforços de i18n do WordPress porque detecta todos os aspectos do seu site que podem ser traduzidos. A partir daí, ele realizará uma primeira camada de tradução automática para você:

Isso pode ser suficiente para suas necessidades, mas Weglot pode ajudá-lo a dar um passo adiante. Você pode trazer traduções profissionais, editar as traduções existentes e muito mais. Isso lhe dá toda a flexibilidade de que você precisa para realizar uma localização completa de seu site.
O WordPress está disponível em quase todo o mundo. Dessa forma, temas e plug-ins internacionalizados ajudarão na tradução para outros idiomas. O WordPress i18n é uma engrenagem vital para os desenvolvedores que trabalham com a plataforma.
Se você puder internacionalizar seu tema para ajudar os usuários a criar traduções sem modificar o código-fonte, estará em uma ótima posição. No entanto, o fato de você aplicar conceitos de i18n não significa que seu tema ou plug-in esteja traduzido.
Para realizar essa etapa, você deve contar com uma solução como o Weglot. Ela é compatível com muitas plataformas e tecnologias diferentes e funciona muito bem com o WordPress. Depois de concluir a parte i18n do seu fluxo de trabalho, você pode recorrer ao Weglot para gerar traduções precisas e fáceis de implementar em praticamente qualquer idioma.
Para descobrir por si mesmo, Weglot oferece uma avaliação gratuita de 10 dias, sem obrigação de compra.