Para quem está trabalhando c/ internacionalização


(Danbastos) #1

Fala galera… blz?

Provavelmente vou engajar num novo projeto c/ yii rodando em várias línguas e surgui uma dúvida.

Pelo que ví até agora, o Yii, usando CHtml::ActiveLabel exibe apenas os labels cadastrados na função attributeLabels do model. Gostaria de continuar usando o CHtml::ActiveLabel mas necessitaria traduzir os labels para a língua do usuário.

Não daria trabalho usar CHtml::Label, ou mesmo fazer um dicionário de dados separado do Yii, mas é que eu aproveitaria alguns múdulos que já desenvolvi aqui pra empresa, e, não queria perder tempo mudando o que já está pronto.

Alguem fez algo do tipo?


(Bastardgoblin) #2

Cara será que não dá pra usar o método Yii::t() no attributeLabels()?


public function attributeLabels() {

   return array(

      'propriedade1' => Yii::t('Propriedade 1'),

      'propriedade2' => Yii::t('Propriedade 2'),

      ...

   );

}


(Danbastos) #3

heheh … provavelmente dá … o cerebro cansado e estressado que me fez pensar em paradas mirabolântes pra fazer isso, e não me deixou em pensar na coisa mais simples possível. :(

Já tava pensando que teria que sobreescrever o objeto CActiveRecord e colocar um monte de coisas. hauahuahau

Acho que tenho que diminuir o café.

vlw mesmo, e foi mal a dúvida besta.


(Armandoricky) #4

Putz, vc me fez lembrar de um detalhe num projeto que fiz junto com JJMF. Esquecemos de traduzir os labels dos forms. hahahahahahaha.

Agora já era, ainda bem que eles pediram pra colorar um tradutor extra do Google (que coisa mais feia - isto estraga o visual <_< )

Dê uma olhada em Claf Física

Procure traduzir no topo do site (Português/Español)… :lol:

Mas valeu pelo tópico!


(Bastardgoblin) #5

Heheheheehe, normal cara. Eu também sempre faço isso =D

Deve ter alguma coisa que explique essa mania de sempre pensar no mais difícil primeiro.


(Megabr) #6

eu usei o proprio sistema interno do yii, que traduz automaticamente todo o site independente do idioma, que for escrito, no main.php tem de colocar o idioma em que foi desenvolvido o siste, e tambem colocar os ‘idiomas destinos’ para os quais o sistema tentara criar uma tradução automaticamente um arquivo onde vc tera de editar um array de idiomas chaves e significados, e armazennando um cache da tradução… agora nao lmbro mais como foi que fiz… já foi ha mais de um ano…