Publicidade

Criando uma classe de traduções em PHP para multi idiomas

29/07/2015 » PHP » Intermediário

Boa tarde pessoal!

É aquele papo de sempre, fico um tempo sem postar e depois volto prometendo e etc,mas vamos ao que interessa.

Hoje vamos criar uma classe em PHP para realizarmos traduções, é isso mesmo... Quem nunca teve que criar três sites iguais só por que precisava ser traduzido em inglês e espanhol não é verdade?

Essa classe é bem simples e a tradução fica toda em um único arquivo, peguei referências usando o framework Yii e achei bem funcional o método de tradução que ele nos dá, mas chega papo e bora começar, vamos criar a classe.

1º Passo - Iniciar a classe e definir as configurações com seus getters e setters

2º Passo - Criar o método da tradução

3º Passo - Criar os arquivos de tradução

Nessa parte vamos criar os arquivos em uma pasta separada no sistema, eu recomendo criar essa pasta na raiz do site, aqui no tutorial eu usei o nome de "translate". Para cada idioma vamos criar um arquivo, no exemplo eu criarei o "en.php", recomendo usar esse padrão do nome do arquivo seguir o idioma como sigla. Dentro dele vamos criar um array já com o return;

4º Passo - Testar

Para o meu teste eu fiz dessa forma:

Observações 

Reparem que criamos a classe para que fique flexível o local onde os arquivos serão alocados, e também qual idioma vai estar sendo usado no momento, a classe já vem configurada para traduzir para o inglês, para trocar o idioma é só chamar o método "setLanguageDefault" e passar o idioma que desejar, mas lembre-se de ter o arquivo da tradução, o parametro passado nesse método é o nome do arquivo. Se quisermos traduzir para o espanhol ficaria assim:

Baixei aqui esse tutorial com um exemplo de uso.

Caso não exista o arquivo ou o caminho esteja errado a classe não gera erro, o retorno da tradução será a string que foi passada como parametro.

Espero que tenham entendido e que aproveitem bem, pois está sendo muito útil nos meus casos.

Grande abraço e até a próxima.

Publicado por:

Rogério Mantoanelli @rmantoanelli
166 artigo(s) publicado(s)
Fundador do site "RogérioMaster", programador web desde 2002, especialista em PHP, jQuery. Comecei a programar server-side no ASP 3.0 e depois migrei para PHP onde estou até hoje. Já me aventurei em Action Script mas o mercado se afunilou muito e me dediquei ao PHP e jQuery.

Avalie esse post:

Comentários:

© Copyright 2018. Todos direitos reservados.