translate 插件用于翻译 content 前端,但要翻译代码中的消息,最好使用 locale lang 消息。
假设这是您的网站:http://octdev.local.com/demo/ajax(默认语言设置为 en)
然后您可以创建插件并在lang/en/lang.php 文件中定义翻译消息
en lang 文件将在那里,默认内容将如下所示
// lang/en/lang.php
<?php return [
'plugin' => [
'name' => 'TestPlugin',
'description' => ''
]
];
您可以在任何地方访问此消息
\Flash::success(\Lang::get('hardiksatasiya.testplugin::lang.plugin.name'));
hardiksatasiya.testplugin => plugin auther name 。 pluginname
lang.plugin.name => 像数组一样工作 lang 代表文件名(语言)然后得到 plugin array 然后它的键 name 所以在我们的例子中它会输出 TestPlugin
现在您可以使用新网址:http://octdev.local.com/de/demo/ajax 它在 de
这样您就可以在插件目录lang/de/lang.php 中创建新的 lang 文件,并将相同的 php 代码与已翻译的消息一起放在上面
// lang/de/lang.php
<?php return [
'plugin' => [
'name' => 'TestPlugin In de',
'description' => ''
]
];
它会起作用的。如果您需要整个文档,您可以使用它
参考:https://octobercms.com/docs/plugin/localization
更新
如果你认为我只需要在一个地方做,你可以做这样的事情(但不是首选方式)
$locale = \Lang::getLocale();
switch($locale) {
case 'en':
\Flash::success('Message has been sent - EN');
break;
case 'de':
\Flash::success('Message has been sent - DE');
break;
default:
\Flash::success('Message has been sent - default');
}