2013-10-10 177 views
0

我有一个自定义Joomla模板,我想应用模板语言文件。我可以把en_GB.tpl_my_tpl.ini放到我网站语言文件夹的适当位置,一切正常。但我想将这些文件放到我的模板文件夹中,以便更容易地访问我的语言文件。Joomla模板语言

我读了人们写的关于这个和我看来,如果我把模板/ my_template/language/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> 

我做错了什么,如何克服此事?

回答

0

当调用JLanguage::load()时,第一个参数是$extension,其在模板的情况下是模板名称,例如tpl_beez_20(其中tpl_JSitedispatch()方法中的ComponentHelper renderComponent()调用期间被预先添加到模板name)。

$template名称通过$app->getTemplate(true)->template检索,该名称最初来自模板清单<name>beez_20</name>

所以,你的小XML片段看起来不错,这可能是一个几件事情:

  1. <name>元素没有在它my_tpl值。
  2. 你实际上没有重新安装模板仅仅修改XML以及由于某种原因,Joomla是不更新它的缓存清单的副本 - 尝试使用Extension Manger
  3. 你的模板文件夹的Discover功能不正确命名,在你的问题中你有/template/my_template你可能只是输入了错误的,但是,如果你的templateDetails.xml指定my_tpl作为<name>你的路径应该是/templates/my_tpl/...(虽然自从我创建了一个模板以来的几年, “name标记必须包含模板将在/templates/下安装的文件夹的确切名称”请参阅TheArtOfJoomla

更多详细信息,如templateDetails.xml的关键部分和目录结构列表也可以帮助我们帮助您。

+0

感谢您的详细答案,我明白你的意思,但扩展管理器的Discover功能没有提供有关我的模板的结果。至于模板名称是相同的,我只是键入错误。据我看到唯一的方法是重新安装模板? – gag

+0

看起来像这样,至少缓存的版本会匹配你的模板包。 – Craig

+0

不,我用所有必要的文件更新了我的模板,并且在我卸载并重新安装更新的模板后,所有的东西都在它的位置,但没有出路,字符串不会显示任何方式,找不到可能的原因。 – gag

0

我们对我们的自定义模板做了同样的事情。一切都很好,包括文件夹名称。不知道为什么你被告知这是错误的。除了使用“_”而不是“ - ”以外,一切看起来都不错。 IE浏览器...您有:

这应该是:

<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