J'écris un site web en utilisant ZendFramework et j'ai décidé d'utiliser le système gettext pour internationaliser son contenu. Dans mes vues, j'écris des chaînes en français et ne fournissons qu'un seul fichier "en.mo" pour traduire les phrases en anglais. Je voudrais éviter de maintenir un fichier "fr.mo" qui traduirait seulement une phrase à la même phrase exacte. Existe-t-il un moyen de dire à Zend ou gettext que lorsque les paramètres régionaux sont "fr" ou "fr_FR" alors il n'y a pas besoin de chercher un fichier de traduction et la chaîne de clé doit être retournée telle quelle? Ou peut-être existe-t-il une raison de créer le fichier "traduction d'identité" fr.mo?Zend framework, gettext, poedit et langage humain dans lequel les chaînes de caractères sont écrites
-clés citations de mon code à ce point:
Extrait de mon bootstrap:
protected function _initTranslations() { $config = $this->getApplication()->getOptions(); Zend_Locale::setDefault('en'); // fallback if detection fails completely $locale = new Zend_Locale(); if (!in_array($locale->getLanguage(), explode(',',$config['available_translations']))) { $locale->setLocale('en'); // requested language is not available => use english } $translate = new Zend_Translate(array( 'adapter' => 'gettext', 'content' => APPLICATION_PATH.'/../languages/gda-'.$locale->getLanguage().'.mo', 'locale' => $locale)); $translate->setLocale($locale); $this->bootstrap('view'); $this->getResource('view')->getHelper('translate')->setTranslator($translate); }
contenu/langues /:
gda-en.mo gda-fr.mo <== this one I would like to avoid maintaining
grâce
Merci beaucoup, il fait sens pour faire ce que vous proposez et fonctionne comme prévu.De plus, je consigne les traductions manquantes dans un fichier en utilisant les options Zend_Translate, mais comme presque toutes les traductions sont manquantes pour le français, je vais avoir des milliers de lignes dans mon fichier journal. Existe-t-il un moyen connu de ne pas enregistrer les traductions manquantes pour un environnement particulier? Bien que la journalisation des traductions manquantes ne soit probablement pas la meilleure façon de gérer la situation. – Fluxine
La journalisation de la traduction manquante est en quelque sorte généralisée, car poEdit et le format gettext en général vous aideront à garder votre modèle de traduction * .pot à jour (en utilisant la source du formulaire de mise à jour, vous aurez XXX nouveau, YYY obsolète). Ensuite, ouvrez chaque fichier de langue gda - *. Po, et effectuez une mise à jour à partir du modèle, a.k.a. votre gda.pot. – Julien
Si vous répondez à votre question, cliquez sur la coche verte ;-) – Julien