PHP – Traduzindo e localizando páginas Web com gettext

Criação dos arquivos de tradução

Com a nossa estrutura de arquivos criada, escreveremos nossos arquivos de tradução. A documentação GETTEXT é facilmente encontrada pela internet, porém se resume basicamente na edição dos arquivos .po. Trataremos nesse arquivo da parte básica desse padrão, que geralmente é mais que o necessário para a maioria dos projetos.

Abra cada arquivo .po com o editor de texto de sua preferência e complete-o no seguinte formato:

A lógica do arquivo gettext é extremamente intuitiva e acredito que o leitor não terá dificuldades de entendê-lo à partir deste exemplo. Pode-se criar quantos pares msgid-msgstr que forem necessários.

msgid – A frase original, que está presente no projeto (Costumo fazer meus projetos em inglês e depois traduzi-lo para português).
msgstr – A frase traduzida.

Esta parte é somente trabalho bruto, basta editar todos os arquivos .po fazendo as traduções de todas as frases para todas os idiomas que o projeto irá suportar. Não esqueça de editar o cabeçalho!!!

Compilação dos arquivos de tradução

A biblioteca GETTEXT não lê diretamente os arquivos .po, e sim arquivos .mo, que é uma versão compilada do arquivo original. Para compilar um arquivo .po, basta executar o seguinte comando na pasta onde ele está contido:

msgfmt projeto.po -o projeto.mo

Após a compilação, a estrutura do projedo deve ser esta:

Instalação das localizações no sistema

Para cada localização que for utilizada no sistema, lembre-se de instalá-la no sistema utilizando:

$ sudo locale-gen pt_BR
$ sudo locale-gen pt_BR.UTF-8
$ sudo update-locale

Substituindo a localização desejada. Lembre-se de executar estes comandos para TODAS as localizações utilizadas.

Comentários