2017-05-29 3 views
0

Je développe une bibliothèque utilisateur dans cakephp pour les opérations de traduction dans mon application. Je veux créer des fichiers .po dans le répertoire Lib lui-même, c'est pourquoi j'ai créé le dossier Locale dans le répertoire Lib et créer des fichiers po dans les répertoires de langue respectifs. Mais le problème est que CakePHP recherche par défaut les fichiers po dans son emplacement par défaut. Et mon répertoire de paramètres régionaux dans le dossier Lib maintenant.Comment définir le chemin Locale personnalisé dans cakephp?

Comment puis-je faire à cakephp pour rechercher des fichiers po dans mon propre répertoire Locale qui se trouve dans le dossier Lib?

Voici mon code de classe Traduire: -

//App::uses($className, $location) 
class Translate { 
//put your code here 

    public $defaultLanguage = ""; 

    public function __construct() {    
     $this->defaultLanguage = Configure::read('Config.language'); 
    } 

    public function get($key,$language){ 
     Configure::write('Config.language',$language); 
     return __($key); 
    } 

    public function getDefaultLanguage(){ 
     return $this->defaultLanguage; 
    } 

    //public function setNewKey() 
} 

enter image description here

+0

Cela n'a aucun sens. CakePHP a un système de traduction puissant intégré. https://book.cakephp.org/3.0/en/core-libraries/internationalization-and-localization.html – burzum

+0

@burzum Yep. Et j'essaie d'utiliser son système de traduction intégré pour créer une bibliothèque de traduction plus simple et plus robuste pour ma propre application. –

Répondre

0

Je l'ai moi-même travailler. J'ai utilisé la méthode de construction de la bibliothèque de base de gâteau pour définir le chemin personnalisé de ma propre bibliothèque de Locale. Voici le code: -

public function __construct() {    
    $this->defaultLanguage = Configure::read('Config.language'); 

    App::build(array(
     'Locale'=>ROOT.DS.'app'.DS.'Lib'.DS.'Locale'.DS 
    ));  
}