Plugins cakephp3插件未加载我的翻译文件

Plugins cakephp3插件未加载我的翻译文件,plugins,internationalization,cakephp-3.0,Plugins,Internationalization,Cakephp 3.0,我的名为“AdminTheme”的cakephp3插件有一个本地化文件 AdminTheme /src /Locale /de AdminTheme.po 地点完全改变了。在我的模板中,我使用函数 __d('AdminTheme','Sign-In') 功能 \Cake\I18n\MessagesFileLoader::\uu invoke() 在第122行(is_file())中说:找不到文件 路径tomycake/plugins/Adm

我的名为“AdminTheme”的cakephp3插件有一个本地化文件

AdminTheme
/src  
   /Locale  
       /de  
          AdminTheme.po 
地点完全改变了。在我的模板中,我使用函数

__d('AdminTheme','Sign-In')

功能

\Cake\I18n\MessagesFileLoader::\uu invoke()

在第122行(is_file())中说:找不到文件

路径tomycake/plugins/AdminTheme/src/Locale/de/AdminTheme.po

为什么?? 文件正确吗

请帮帮我。非常感谢

调试器屏幕


我很困惑。

您确定访问该文件的用户/组是相同的吗?看着调试输出,我想到的只是权限或缓存问题是,权限不正确。将plugin文件夹的权限设置为777,它就会运行。非常感谢:-)
public function __invoke()
{
    $package = new Package('default');
    $folders = $this->translationsFolders();
    $ext = $this->_extension;
    $file = false;

    $fileName = $this->_name;
    $pos = strpos($fileName, '/');
    if ($pos !== false) {
        $fileName = substr($fileName, $pos + 1);
    }
    foreach ($folders as $folder) {
        $path = $folder . $fileName . ".$ext";
        if (is_file($path)) {
            $file = $path;
            break;
        }
    }

    if (!$file) {
        return $package;
    }

    $name = ucfirst($ext);
    $class = App::classname($name, 'I18n\Parser', 'FileParser');

    if (!$class) {
        throw new RuntimeException(sprintf('Could not find class %s', "{$name}FileParser"));
    }

    $messages = (new $class)->parse($file);
    $package->setMessages($messages);
    return $package;
}