Skip to content

Latest commit

 

History

History
36 lines (22 loc) · 2.34 KB

internationalization.md

File metadata and controls

36 lines (22 loc) · 2.34 KB

Internacionalização

Ao criar uma aplicação, você pode querer disponibilizá-la em diversos idiomas, sem a necessidade de implementá-la novamente. Isso é possível utilizando o sistema de internacionalização que o Trilado disponibiliza.

Para fazer uma aplicação em português e inglês, basta definir qual das duas será a linguagem padrão, por exemplo, o português, depois crie um arquivo de tradução com a singla do idioma, por exemplo app/locale/en.lang.

~! As singlas devem estar em minúsculo e em caso de quatro letras, use hífen - ao invés de underline _. ~!

Dentro do arquivo, escreva a tradução, na qual a linha que começar com msgid deverá ser na linguagem padrão e linha que começar com msgstr será a tradução. Veja um exemplo:

msgid "isso é apenas um teste"
msgstr "this is an test"

msgid "olá mundo"
msgstr "hello world"

Você pode comentar as linhas usando # no início do texto, como por exemplo:

msgid "isso é apenas um teste"
msgstr "this is an test"

#isso é um comentário
msgid "Olá mundo"
msgstr "Hello world"

Para utilizar a tradução no meio texto, o Trilado oferece duas funções, a __() e a _e(), na qual a primeira retorna o valor traduzido e a segunda imprime o valor. Caso o valor não tenha sido traduzido pelo programador, dentro do arquivo de tradução, será retornado o próprio valor.

<h1><?= __('Olá mundo') ?></h1>
<p><?php _e('Seja bem-vindo') ?></p>

No exemplo acima estamos utilizando as duas formas. A primeira o conteúdo está sendo retornado pela função e impresso pelo PHP, já no segundo o valor está sendo impresso diretamente pela função. Outro detalhe é que o primeiro definimos a tradução, a função irá apresentar Hello world quando, somente quando, acessarmos a versão em inglês, já a outra irá apresentar o próprio texto Seja bem-vindo, pois não traduzimos.

~? Os textos são case sensitive, ou seja, tem diferenciação de maiúscula para minúscula. ~?

Para apresentarmos a versão em inglês, basta acessarmos o endeço do site com en/, pois é a sigla que definimos no nome do arquivo. No nosso exemplo ficaria exemplo.com/en/.

Uma página que estivesse no seguinte endereço exemplo.com/news/view/3, caso tivesse tradução para o inglês, poderiamos acessar o endereço exemplo.com/en/news/view/3.