Plugins cakephp3插件未加载我的翻译文件
我的名为“AdminTheme”的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
/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;
}