0
110

SHARE

Como Internacionalizar seu Plugin WordPress (i18n e l10n) do Jeito Certo

Internacionalização e Localização (i18n e l10n)

Aprenda como preparar seu plugin para tradução com WordPress, incluindo uso de text domains, funções de i18n e criação de arquivos .pot, .po e .mo
Este post é a parte 10 de 15 da Série WordPress Extremo: Arquitetura e Engenharia de Plugins

Fala, pessoal! 👋
Aqui é o Asllan Maciel e hoje vamos mergulhar em uma parte fundamental para quem quer distribuir plugins de WordPress para o mundo: internacionalização e localização — os famosos i18n e l10n.

Se você já criou um plugin e usou strings direto no código como "Erro ao salvar dados" ou "Clique aqui", saiba que isso dificulta (ou impede) a tradução do seu plugin para outros idiomas.

Vamos resolver isso e deixar seu projeto pronto para ser usado em qualquer idioma!


🌍 Diferença entre i18n e l10n

  • Internacionalização (i18n)
    É o processo de preparar seu código para ser traduzido — ou seja, usar funções que permitem a tradução, organizar arquivos .pot etc.
  • Localização (l10n)
    É a parte onde de fato traduzimos os textos — criando arquivos .po e .mo para o idioma desejado.

🧰 Como preparar seu plugin para i18n no WordPress

1. Text Domain

É o identificador único para as traduções do seu plugin. Deve ser igual ao slug do plugin.

Exemplo:
Se o nome do plugin for wp-arquitetura-extrema.php, o domínio deve ser:

load_plugin_textdomain('wp-arquitetura-extrema', false, dirname(plugin_basename(__FILE__)) . '/languages');

Inclua isso no seu arquivo principal do plugin logo após carregar o autoload.


2. Funções de tradução

Aqui estão as funções que você deve usar em vez de strings fixas:

FunçãoUso
__()Retorna a string traduzida
_e()Exibe a string traduzida
_x()Como __, mas com contexto
_n()Para pluralização (singular, plural, $number, domain)
_nx()Plural com contexto

Exemplo:

echo __('Erro ao processar o pagamento', 'wp-arquitetura-extrema');
_e('Clique aqui para continuar', 'wp-arquitetura-extrema');

3. Estrutura de Pastas

Seu plugin deve conter uma pasta chamada languages/.
Dentro dela ficarão os arquivos de tradução: .pot, .po e .mo.

Exemplo:

wp-arquitetura-extrema/
├── languages/
│   ├── wp-arquitetura-extrema.pot
│   ├── wp-arquitetura-extrema-pt_BR.po
│   └── wp-arquitetura-extrema-pt_BR.mo

🛠️ Gerando o Arquivo .pot

Você pode usar o WP-CLI para gerar automaticamente o arquivo .pot com todas as strings que podem ser traduzidas.

Comando:

wp i18n make-pot . languages/wp-arquitetura-extrema.pot --slug=wp-arquitetura-extrema

Lembre-se de rodar o comando dentro da pasta do seu plugin.


🧪 Exemplo prático no seu plugin

Suponha que você tenha isso no seu plugin:

echo 'Erro ao conectar com a API';

Substitua por:

echo __('Erro ao conectar com a API', 'wp-arquitetura-extrema');

Agora a string está pronta para ser traduzida.


🔄 Traduzindo com Poedit

  1. Abra o arquivo .pot no Poedit.
  2. Adicione as traduções para pt_BR.
  3. Salve como wp-arquitetura-extrema-pt_BR.po.
  4. O Poedit vai gerar automaticamente o .mo.

Coloque ambos em languages/ e está pronto.


🔗 Lembrando os dias anteriores

  • Já viu como organizamos nosso plugin com Composer e PSR-4? 👉 Dia 01/15
  • Já sabe como criar serviços e repositórios desacoplados? 👉 Dia 02/15
  • Já criamos logs para rastrear erros no plugin? 👉 Dia 07/15

✨ Encerrando

Adicionar i18n/l10n mostra profissionalismo e respeito ao seu público internacional.

Se você está construindo um plugin para mais do que só você mesmo, isso é obrigatório.


🚀 Quer avançar mais rápido?

🔗 Faça parte dos nossos cursos e mentorias
📲 Siga @wp24horas no Instagram e YouTube.
💬 Deixe seu comentário aqui abaixo!

Navegação<< Segurança Profunda em Plugins WordPressCriando Settings Pages Profissionais no WordPress >>

Não perca mais nenhuma atualização aqui!

Ative as Notificações!

Clique aqui e, em seguida, clique em Permitir na caixa que aparecerá na parte superior da janela, próximo à barra de endereços.

Torne-se um Assinante e Eleve seu Conhecimento do WordPress!

Acesso Exclusivo, Suporte Especializado e Muito Mais.

Se você está aproveitando nosso conteúdo gratuito, vai adorar os benefícios exclusivos que oferecemos aos nossos assinantes! Ao se tornar um assinante do WP24Horas, você terá acesso a:

Não perca a oportunidade de maximizar seu potencial no WordPress. Clique no botão abaixo para se tornar um assinante e leve suas habilidades ao próximo nível!

Não perca mais nenhuma atualização aqui!

Tabela de Conteúdo
PUBLICIDADE
Últimos Posts
Listagem e Detalhes de Posts WordPress com API REST no Next.js

Listagem de Posts e Roteamento Dinâmico no Next.js

Frontend com Next.js - Setup e Integração Inicial com WordPress

Frontend com Next.js: Setup e Integração Inicial

Configurando o WordPress como Backend Headless

Configurando o WordPress como Backend Headless

REST API do WordPress

REST API do WordPress: Visão Geral

Introdução ao WordPress Headless

Introdução ao WordPress Headless

Como Distribuir Seus Blocos Gutenberg em Plugins ou no GitHub

Distribuindo Seus Blocos: Plugins, Repositório e GitHub

Você precisa estar logado para ver esta informação.

Torne-se um Assinante e Eleve seu Conhecimento do WordPress!

Acesso Exclusivo, Suporte Especializado e Muito Mais.

Se você está aproveitando nosso conteúdo gratuito, vai adorar os benefícios exclusivos que oferecemos aos nossos assinantes! 

Não perca a oportunidade de maximizar seu potencial no WordPress. Clique no botão abaixo para se tornar um assinante e leve suas habilidades ao próximo nível!