symfony2 (2.6.4) – Traduções

Olá de novo!

Trabalho com traduções hoje em dia. Então, depois de muitas tentativas de usar traduções. eu encontrei a solução.

1 config.yml – “locale” é o exemplo de idioma padrão “en”

framework:
translator
: { fallbacks: ["%locale%"] }
default_locale
: "%locale%"

com isso você habilita os serviços de tradução no twig.

2 arquivo de modelo de galho

{{ 'tu quieres esto en ingles' | trans }}

com esse “você quer isso em inglês”

3
tradução do console do terminal (comando) php : update –force –output-format = “xlf” en AcmeMyBundle

“en” é o idioma de sua escolha.

4 Em src / Acme / MyBundle / Resources / translations você obterá o arquivo de tradução com a extensão .xlf

Nesta pesquisa de arquivo ou você pode encontrar:

<trans-unit id="super number" resname="tu quieres esto en ingles">
<source>tu quieres esto en ingles</source>
<target>__tu quieres esto en ingles</target>
</trans-unit>

mudar para:

<trans-unit id="super number" resname="tu quieres esto en ingles">
<source>tu quieres esto en ingles</source>
<target>you want this in english</target>
</trans-unit>

5 quase pronto … no pacote / função do controlador, adicione isto:

$locale = substr($request->server->get('HTTP_ACCEPT_LANGUAGE'), 0, 2);
//$locale = 'en';
$this
->get('translator')->setLocale($locale);

com isso você obtém o idioma do usuário do navegador.

Espero que isso possa ser útil para você …