JQUERY的html函数内部国际化

Internationalization inside html function of JQUERY

本文关键字:内部 国际化 函数 html JQUERY      更新时间:2024-05-03

我正在做一个PHP项目的国际化。在PHP中,我使用getttext()函数和poedit程序。示例:

<?php 
  echo gettext("Hello world");
?>

Hello World将是相关翻译单词的关键:一切都有效。我不知道如何用JQUERY的html函数翻译.js文件。

例如:在javascript文件中,我有

if(exchange=='mo'){
    $(#hopen.title).html("NEW WORD");
}

问题是:如何将gettext函数调用为"NEW WORD",然后将其用于poedit程序?

您不希望每次需要翻译时都从javascript文件中调用gettext.php,因为这意味着您必须为每个文本向服务器发出ajax请求。

相反,您可以在php中生成一个对象,其中包含所需的所有键和翻译,并将其发送到浏览器,使其作为javascript中的全局变量可用。

<?php
...
$needed_translations = array(
    'Hello world' => gettext("Hello world")
    ...
);
?>
<script>
var needed_translations = <?php echo json_encode($needed_translations); ?>;
// or
window.needed_translations = <?php echo json_encode($needed_translations); ?>;
</script>

如果您的javascript文件在此之后加载,或者您的代码位于文档就绪块中,您将可以访问此全局变量,并可以在任何您想要的地方使用它:

if(exchange=='mo'){
    $(#hopen.title).html( needed_translations['Hello world'] );
}