quarta-feira, 1 de setembro de 2010

Symfony - Internacionalização




Uma das grandes vantagens do Symfony é a sua facilidade para trabalhar com internacionalização, mas por algum motivo ou por ser novo ainda, as vezes falta algum passo em sua documentação para que o desenvolvedor chegue no seu propósito.


No caso da Internacionalização a primeira coisa que deve ser feita é alterar o arquivo apps/"sua_aplicação"/config/settings.yml. 
Devemos habilitar 2 parâmetros: um referente ao i18n e o outro ao culture. São eles:
all: 
  .settings: 
      i18n: on 
     default_culture: pt_BR 
A linha i18n serve para habilitar o suporte a internacionalização do symfony e a default_culture creio que dispensa explicações.
Após feito isso basta limpar o cache através do comando de linha "php symfony cc", e pronto sua aplicação está em Português Brasil.


Um comentário:

  1. Dois detalhes.

    1) i18n: on => isto não funciona no symfony 1.4, porque utiliza o Yaml 1.2 e ele só aceita valores boolean como true/false
    http://www.symfony-project.org/reference/1_4/en/02-YAML#chapter_02_sub_booleans
    http://www.yaml.org/spec/1.2/spec.html#id2803629

    2) Limpar o cache é necessário, mas se você estiver com o navegador aberto enquanto fizer esta alteração, não haverá tradução... porque a sessão está com a culture ainda em "en". Limpar o cache da sessão do navegador resolve este "problema".

    []'s

    Rafael Goulart

    ResponderExcluir