Ciao a tutti,
avrei bisogno di trovare una guida passo-passo per far diventare la mia applicazione bilingue (EN ed IT) utilizzando CGettextMessageSource; mi consigliate qualche link utile?
Non disdegno nemmeno un’estensione
Crisz
Ciao a tutti,
avrei bisogno di trovare una guida passo-passo per far diventare la mia applicazione bilingue (EN ed IT) utilizzando CGettextMessageSource; mi consigliate qualche link utile?
Non disdegno nemmeno un’estensione
Crisz
Sto avendo una serie di errori; ecco cos’ho fatto sin ora:
Passo 1 ho creato il file "protected/includes/localization.php"
function __($string, $params = array(), $category = "") {
return Yii::t($category, $string, $params);
}
Passo 2 in "protected/config/main.php" ho inserito la riga
require_once(dirname(__FILE__) . '/../includes/localization.php');
ed ho inserito nell’array components il seguente codice:
'messages' => array(
'class' => 'CGettextMessageSource',
'useMoFile' => false,
),
Passo 3 in "protected/messages" ho creato le due cartelle "en_US" ed "it_IT" ed i relativi file messages.po
Passo 4 per fare un test ho modificato il file contact.php inserendo all’inizio del file
Yii::app()->language = 'it_IT';
ho modificato le seguenti righe:
$this->pageTitle=Yii::app()->name .' - '. __("Contact Us");
echo __("If you have business inquiries or other questions, please fill out the following form to contact us. Thank you.");
echo __("Fields with * are required");
<div class="row">
<?php echo $form->labelEx($model,__('name')); ?>
<?php echo $form->textField($model,__('name'), array('required'=>'required')); ?>
<?php echo $form->error($model,__('name')); ?>
</div>
Risultato:
"Contact US" e "If you have business inquiries …" non vengono tradotte
"Fields with * are required" viene tradotta
“$form->labelEx($model,__(‘name’)” viene tradotta
“$form->textField($model,__(‘name’), array(‘required’=>‘required’))” mi da il seguente errore: CException - Property “ContactForm.Nome” is not defined.
Aggiornamento: ho corretto un po’ di sviste ma la frase “If you have business inquiries …” continua a non venir tradotta
Per quanto riguarda invece le label dei form ho trovato questo post: using-translations-in-form-labels
ed il modo corretto per tradurre le etichette è il seguente:
<?php echo $form->labelEx($model,'name', array('attributeName' => __('name'))); ?>
<?php echo $form->textField($model,'name', array('required'=>'required')); ?>
<?php echo $form->error($model,'name'); ?>