在Javascript中的Cakephp多语言支持

时间:2011-12-29 06:17:24

标签: cakephp

如何在使用cakephp时使用js语言字符串(我使用cakephp版本2)?我知道,这可以通过以下方式完成。

<script>
     var LABEL_LOGIN = '<?php echo __('Login'); ?>';
</script>

我想将js代码与我的视图文件分开。如果我在.js文件中做同样的事情(因为我使用的是全局变量),有什么不对吗?在js中应用多语言还有其他好的解决方案吗?

2 个答案:

答案 0 :(得分:1)

Cake不支持开箱即用的i18n。我宁愿建议引入一些语法兼容的i18n JS插件,即也使用全局__函数。 然后你可以使用相同的方法来解析i18n键的所有源代码。

答案 1 :(得分:0)

我能想到的唯一更简单的方法是:


Create some element, say langs.ctp, and add your global js vars in there, like
<script type="text/javascript">
var LABEL_LOGIN = '<?php echo __('Login'); ?>';
var LABEL_LOGOUT = '<?php echo __('Logout'); ?>'; // and so on
</script>

and then load this element in your layout, like, in your layout inside head tag
<?php echo $this->element("langs");

then you could use your global js vars

希望有所帮助