2017-05-29 136 views
0

我正在Cakephp中开发一个用户库,用于在我的应用程序中进行翻译操作。我想在Lib目录本身中创建.po文件,这就是为什么我在Lib目录内创建Locale文件夹并在各自的语言目录中创建po文件的原因。但问题是CakePHP默认在默认的Locale位置搜索po文件。现在我的语言环境目录在Lib文件夹中。如何在cakephp中定义自定义区域路径?

我该如何让cakephp在我自己的Locale目录下的Lib文件夹中搜索po文件?

这里是我的翻译类代码: -

//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

这没有任何意义。 CakePHP具有内置强大的翻译系统。 https://book.cakephp.org/3.0/en/core-libraries/internationalization-and-localization.html – burzum

+0

@burzum是的。我正尝试利用其内置的翻译系统为我自己的应用程序创建更简化和更强大的翻译库。 –

回答

0

我得到它的工作我自己。我已经使用蛋糕核心库的构建方法来定义我自己的Locale库的自定义路径。这里是代码: -

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

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