Php javascript中的Joomla JText翻译

Php javascript中的Joomla JText翻译,php,javascript,joomla,translation,Php,Javascript,Joomla,Translation,我正在从Joomla 1.5到2.5移植一个运行在JUMI元素中的小型web应用程序(PHP+Javascript) 基本上,在1.5版的翻译中,我们使用jsJText使翻译后的字符串在Javascript中可用。从我在几个教程中了解到的情况来看,2.5应该会使这更容易,因为集成了对Javascript翻译的支持 在检查了几个站点和google结果之后,他们几乎都说:首先使用JText::script('key')将字符串添加到PHP中的javascript语言存储中;然后在javascript

我正在从Joomla 1.5到2.5移植一个运行在JUMI元素中的小型web应用程序(PHP+Javascript)

基本上,在1.5版的翻译中,我们使用jsJText使翻译后的字符串在Javascript中可用。从我在几个教程中了解到的情况来看,2.5应该会使这更容易,因为集成了对Javascript翻译的支持

在检查了几个站点和google结果之后,他们几乎都说:首先使用JText::script('key')将字符串添加到PHP中的javascript语言存储中;然后在javascript中使用Joomla.JText.uwk('key')或Joomla.JText.strings.key检索它们

然而,要让它工作起来,我遇到了不少麻烦。PHP中的翻译工作得非常好,但在Javascript中,我最终得到的是未定义的而不是正确的翻译文本

我已经拍摄了一个小屏幕截图来说明我的方法和问题。

包含语言字符串的PHP文件包含在显示内容的PHP主页面中。这几乎是页面中的第一个包含

我很确定我在某个地方犯了一个愚蠢的错误,但老实说,我一生都找不到它。如果有人能为我指出正确的搜索方向,我将不胜感激

多谢各位

20130612编辑:

关于我在评论中建议的东西的更多信息:

  • 启用joomla debuggin没有帮助。没有错误
  • Mootools已加载,版本为1.4.5
我也尝试过一些非正统的东西。JText::脚本行列表位于单独的PHP文件中。我尝试将该文件包含到一个随机模块中,并将该模块显示在与我的web应用程序相同的页面上。在那一点上,它确实起了作用。然而,这并不是问题的真正解决方案,只是一个相当肮脏的解决办法

不过,该测试确实确认了代码本身没有真正的问题。我只是错过了一些东西。还不知道少了什么。有什么建议吗

20130612-Edit2:

我比较了包含在随机模块中时的页面源代码,以及包含在我的webapp中时的页面源代码。唯一的区别似乎是页面中添加了以下Javascript,我认为应该由JText::script代码生成,所以。。。我真的被难住了

    <script type="text/javascript">
      (function() {
        var strings = {"PA_ITEM_BLOWD":"Blow-dryer"...};
        if (typeof Joomla == 'undefined') {
          Joomla = {};
          Joomla.JText = strings;
        }
        else {
          Joomla.JText.load(strings);
        }
      })();
    </script>

(功能(){
var字符串={“吹风机”:“吹风机”…};
如果(Joomla的类型=='undefined'){
乔姆拉={};
Joomla.JText=字符串;
}
否则{
Joomla.JText.load(字符串);
}
})();

警报(“”)在javascript中使用PHP,在本例中,这将起作用。不过,这只是一个说明问题的例子。在web应用程序中,我正在使用需要翻译的动态键。请尝试打开Joomla调试,并查看字符串没有加载的结果:Try
Joomla.JText.(('PA_ITEM_COMPU','string missing'),但我不知道为什么,正如你所说,这些工作服务器端。如果在DOM准备好后尝试发出警报会怎么样<代码>window.addEvent('domready',function(){alert(Joomla.JText.(('PA_ITEM_COMPU'))})确保您的站点上加载了mootools,这是一个mootools功能