我正在将语言文件与我的插件组件一起使用。我已手动将其放置在语言文件夹中并将其命名为 en-GB.com_componentname.sys.ini 和 en-GB.com_componentname.ini 但每当我的组件运行时,这些字符串都不会被翻译。
我试过调试语言文件,它显示?? 围绕字符串并按原样发布。COM_COMPONENTNAME_VIEW_TEST ,并且不会更改它们。
我正在将语言文件与我的插件组件一起使用。我已手动将其放置在语言文件夹中并将其命名为 en-GB.com_componentname.sys.ini 和 en-GB.com_componentname.ini 但每当我的组件运行时,这些字符串都不会被翻译。
我试过调试语言文件,它显示?? 围绕字符串并按原样发布。COM_COMPONENTNAME_VIEW_TEST ,并且不会更改它们。
这是插件和组件之间的混淆吗?也许您只是在提问时混淆了这些术语。
我的第一个建议是,对于插件,语言文件的名称将是 en-GB.plg_pluginname.sys.ini - 用于安装、卸载和升级以及发现安装期间使用的字符串。
对于插件标准执行期间使用的文件,文件名将是 en-GB.plg_pluginname.ini(请注意,此版本中没有 .sys.。
唯一的另一个问题是您是否在前端和管理应用程序中获得了文件(在您网站的 /administrator/ 区域中。每个都有其独立的 /languages/ 文件夹。
如果您正在谈论一个组件,那么文件在中间有 com_ 而不是 plg_ ,并且显然用您的组件/插件的实际名称代替“插件名”。
如果只想为您的插件使用语言文件,则您创建的语言文件应以插件命名。如果我是对的,插件的通常约定是这样的:
plg_[group]_[plugin_name].ini(对于 .sys.ini 文件,约定相同)
此外,如果你想加载另一个语言文件,你可以这样做:
JFactory::getLanguage()->load( 'com_componentname', [ROOT_FOLDER] )
其中 [ROOT_FOLDER] 通常是 JPATH_ROOT 或 JPATH_ADMINISTRATOR,具体取决于您的语言文件在哪里(对于插件,通常的位置,至少在最近的 Joomla 版本中,是在管理员中。此外,请确保您创建的文件是完全 UTF- 8编码!
我希望它有帮助!