2011-12-29 25 views
1

cakephp(cakephpバージョン2を使用しています)を使用しているときにjsで言語文字列を指定する方法はありますか?私は知っている、これは次の方法で行うことができます。JavascriptのCakephp多言語サポート

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

私のビューファイルからjsコードを分離したいと思います。 .jsファイルで同じことをすると何か間違っている(私はグローバル変数を使用しているので)? jsに多言語を適用するための他の良い解決法はありますか?私は考えることができ

+0

あなたの.jsファイルでPHPを使用することはできません.. –

答えて

1

ケーキを箱から出してJSでの国際化をサポートしていませんお役に立てば幸いです。私は、構文上互換性のあるi18n JSプラグインを使用することをお勧めします。つまり、グローバル__関数も使用します。 次に、同じ方法を使用して、i18nキーのすべてのソースコードを解析します。

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 
 

それは

+0

助けてくれてありがとう..しかし、私は私のビューファイルからjsを分離する必要があります..このアプローチでは、登録の場合は、登録言語の文字列のための別のctpファイル? 1つのctpファイルにすべての言語文字列を読み込むことはできません。 – binoy

+0

そうです、ビュー固有のjs変数を追加するために異なるctpを作成し、それぞれのページで使用すると、すべての変数を1つのctpファイル.. –

関連する問題