Thinkphp は、JS 多言語、thinkphpjs を含む多言語プロジェクト実装メソッドを構築します
この記事の例では、JS多言語を含む多言語プロジェクトを構築するためのThinkphpの実装方法を説明します。参考のためにみんなで共有してください。具体的な実装方法は以下の通りです
1. 質問:
プロジェクトは英語版を開発する必要があるため、多言語プロジェクトを構築する必要があります。
このプロジェクトは Thinkphp フレームワークを使用しています。Thinkphp には複数の言語設定があることを漠然と思い出しましたが、実際に試してみましょう。
2.実装方法:
Thinkphp は言語パッケージの検出と切り替えに app_begain を使用します。言語パッケージはプロジェクトに関連しており、アーキテクチャは比較的単純です: http://www.thinkphp.cn/info/188.html
セットアップ後は、URL."?l=en-us" を使用して動的に切り替えてデバッグすることができます。これは非常に優れています。
js での多言語の処理は難しいことがわかりました。すべてを割り当てることはできません。対応する多言語の js ファイルを自動的に生成するだけで、ページが動的にリクエストします。 LANG_SET ファイルに従って、対応する多言語を設定するには、基本 Action クラスの _initialize() メソッドで次の生成関数を呼び出します:
コードをコピーします コードは次のとおりです:
public function _generateJsLanguageFile(){
If(C("LANG_SWITCH_ON")){
$jsLangFilePath = "./Public/v2/js/lang";
$langList = L();
$jsLangFileName = $jsLangFilePath."/".LANG_SET.".js";
//@unlink($jsLangFileName);//テスト中、言語パックの永続的なキャッシュはありません
//言語パックはすでに存在します
If(is_file($jsLangFileName)){
戻る;
$str = "var $LANG={";
$total = count($langList);
$k = 1;
foreach ($langList as $key => $value) {
$str .=$key.":'".$value."'";
If($k
$str .=",";
}
// $str .="rn";
$k++;
}
If(!emptyempty($str)){
$str .= "}";
$file_handel = fopen($jsLangFileName, "w+");//ファイルを開き、書き換えモード
fwrite($file_handel, $str);
fclose($ file_handel);
}
}
}
このようにして、現在の言語パッケージは各訪問の前に生成され、Tpl 内で呼び出されます。
このようにすると、この js は永続的にキャッシュされます。言語パッケージに変更があった場合は、Thinkphp 言語パッケージを変更するだけで、古い js 言語パッケージが自動的にロードされます。再生されました
js では次のように使用できます: top10_title = $LANG._NEW_LANGUAGE; このようにして、プロジェクト全体がバイリンガルになり、1 か所で設定できます。
この記事で説明した内容が、皆様の ThinkPHP フレームワーク プログラミングに役立つことを願っています。
http://www.bkjia.com/PHPjc/917043.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/917043.html技術記事 Thinkphp で JS 多言語を含む多言語プロジェクト実装メソッドを構築する、thinkphpjs この記事では、Thinkphp で JS 多言語を含む多言語プロジェクト実装メソッドを構築する例について説明します。みんなのためにみんなでシェアしましょう...