PHP – Traduzindo e localizando páginas Web com gettext

Introdução e Inicialização

Com a globalização dos serviços e a criação dos conceitos de produtos globais, a tradução e localização das páginas se torna uma coisa rotineira. Neste artigo apresentarei como fazer a internacionalização de um site (i18n) utilizando o padrão GETTEXT e o PHP. Sempre é importante saber que existem abordagens mais avançadas, como a utilização de arquivos de recursos com mapas de tradução obtidos pela página através de requisições ajax.

Para o nosso artigo, utilizarei uma página de testes hospedada em um servidor rodando Ubuntu 14.04, outras distribuições Linux podem ter os pacotes instalados através do seu gerenciador de pacotes ou compilado da fonte.

Começaremos instalando os pacotes necessários, no caso o compilador para os arquivos de tradução, que serão discutidos mais à frente e a biblioteca PHP para suporte. Para instala-los, executaremos o seguinte comando:

$ sudo apt-get install php-gettext gettext

Tudo já deve estar pronto para começarmos as traduções. Primeiramente vamos estruturar as pastas e arquivos que conterão nossas traduções de acordo com o padrão GETTEXT, segundo a seguinte estrutura (lembrando que tal estrutura está dentro da pasta raiz do site e todos os arquivos .po devem ter o mesmo nome para este exemplo):

Observe que podemos criar quantas pastas precisarmos dentro do diretório locale para acomodar todas as nossas traduções. A lista completa de locais pode ser acessada neste link do Wikipédia. Crie as pastas e arquivos vazios .po para todos os idiomas que a página irá suportar.

Comentários