>我有一个自定义的Joomla模板,我想在其中应用一个模板语言文件。我可以将 en_GB.tpl_my_tpl.ini 放入我网站语言文件夹中的适当位置,一切正常。但是我想把这个文件放到我的模板文件夹中,以便更容易地访问我的语言文件。
我读了人们写的关于这个的文章,在我看来,如果我输入模板/my_template/语言/en_GB/en_GB.tpl_my_tpl.ini它应该可以正常工作,但它没有。据我了解,默认的Joomla模板使用相同的技术。我还向我的模板 xml 添加了以下内容,但仍然没有结果。
<languages folder="language">
<language tag=”en_GB”>en_GB.tpl_my_tpl.ini</language>
</languages>
我做错了什么,如何克服这个问题?
JLanguage::load()
时,第一个参数是$extension
,在模板的情况下是模板名称,例如 tpl_beez_20
(其中tpl_
在组件助手renderComponent()
调用JSite
的dispatch()
方法期间附加到模板name
(。
$template
名称是通过 $app->getTemplate(true)->template
检索的,该 最初来自模板清单<name>beez_20</name>
。
因此,由于您的小 XML 代码段看起来不错,这可能是一些事情:
<name>
元素中没有my_tpl
的值。- 您实际上并没有重新安装模板,只是修改XML,并且由于某种原因,Joomla没有更新清单的缓存副本 - 尝试使用
Extension Manger
的Discover
功能 - 您的模板文件夹命名不正确,在您的问题中,您可能
/template/my_template
您可能只是输入错误,但是,如果您的templateDetails.xml
指定my_tpl
作为<name>
您的路径应该/templates/my_tpl/...
(虽然我制作模板已经有几年了,但规则曾经是"name
标签必须包含模板要成为的文件夹的确切名称安装在/templates/
" 参见 TheArtOfJoomla
更多详细信息,例如templateDetails.xml
的关键部分和目录结构列表,也将帮助我们为您提供帮助。
我们对自定义模板执行相同的操作。包含文件夹名称的所有内容看起来都很好。不知道为什么你被告知这是错误的。一切看起来都不错,除了你使用"_"而不是"-"。即...你有:
<languages folder="language">
<language tag="en_GB">en_GB.tpl_my_tpl.ini</language>
</languages>
这应该是:
<languages folder="language">
<language tag="en-GB">en-GB.tpl_my_tpl.ini</language>
</languages>
如果您在语言翻译问题上遇到任何问题,只需按照官方 Joomla 文档中描述的调试指南进行操作:http://docs.joomla.org/Making_templates_translatable#Debugging_a_translation