ホームページ >PHPフレームワーク >ThinkPHP >ThinkPHP の多言語実装がどのように行われているかご存知ですか?

ThinkPHP の多言語実装がどのように行われているかご存知ですか?

咔咔
咔咔オリジナル
2020-08-10 12:16:451991ブラウズ

最近プロジェクトが忙しくてあまり書けませんでした。この記事の主な内容は、多言語バックエンドを実装する方法です。

#はじめに

会社は多言語のバックエンドを作成する必要があります、以前はやったことがなかったので、Baidu に行って確認してみました。 TP フレームワークを 2 年間使用して、フレームワークに独自の多言語切り替え機能があることを初めて発見しました。ここには本当に感謝します。

次にこの関数を実装しましょう。

1. 多言語のバックエンド実装

フレームワークの使用は

v5. 1.38 LTS

設定ファイル

config/app.php言語に関する設定情報には、これら 2 つのパラメータのみがあることがわかります。

lang_switch_onこのパラメータは、自動的に監視されるブラウザ言語です。

default_langこのパラメータに関しては、他の言語を切り替える前に直接デフォルトで中国語になります。

設定ファイルの理解 その後、必要なモジュールに lang ディレクトリを作成し、対応する言語の言語パッケージを構成する必要があります。 ThinkPHP の多言語実装がどのように行われているかご存知ですか?

ここでは、Kaka は英語と中国語のみを設定します。他の言語が必要な場合は、自分で追加できます。 ThinkPHP の多言語実装がどのように行われているかご存知ですか?このステップでは、言語リストの構成に使用されるパラメーターが最初から最後まで存在しないことがわかります。設定ファイルも見つかりませんでした。

ただし、このコード行はドキュメント内で確認できます。ソース コードにアクセスして見てみましょう。

ThinkPHP の多言語実装がどのように行われているかご存知ですか?ソース コードを見ると、言語 Cookie の名前の値も固定されており、Cookie の有効期間が 3600 であることが明確にわかります。これらは独自のプロジェクトに応じて調整する必要があります。

最も重要なことは、許可されている言語のリストを確認することです。この変数のトレースを続けます。ThinkPHP の多言語実装がどのように行われているかご存知ですか?ファイル内でthinkphp/library/think/Lang.php最後に、ドキュメントで指定されているメソッドとまったく同じメソッドを確認できます。バックエンドは複数の言語を使用する必要があるため、共通に設定する必要がありますThinkPHP の多言語実装がどのように行われているかご存知ですか?ThinkPHP の多言語実装がどのように行われているかご存知ですか?

#2. 表示言語の切り替え## ビュー テンプレートで languageChange

メソッドを直接呼び出します。

ビューには $ languageNameThinkPHP の多言語実装がどのように行われているかご存知ですか? という変数があります。この変数はクリック 構成ファイルから直接取得され、後でデータベースに合わせて調整されます。 ThinkPHP の多言語実装がどのように行われているかご存知ですか?

ThinkPHP の多言語実装がどのように行われているかご存知ですか?次に、言語切り替え後の Cookie の変更を処理するメソッド changeLanguage をコントローラーに記述します。ThinkPHP の多言語実装がどのように行われているかご存知ですか?現時点での背景ページは次のようになりますThinkPHP の多言語実装がどのように行われているかご存知ですか?

3. テスト

##上記の操作の後、設定した言語パッケージに従ってテストできます。言語の切り替え

テンプレートでは、lang template タグを使用してデータを取得する必要があります

これは英語の状態ですThinkPHP の多言語実装がどのように行われているかご存知ですか?これは中国語の状態ですThinkPHP の多言語実装がどのように行われているかご存知ですか?多言語の実装が完了しました。 ThinkPHP の多言語実装がどのように行われているかご存知ですか?

4. まとめ

以上、いろいろ述べてきましたが、簡単にまとめてみました。各ステップの詳細。ステップは全員に向けて文書化されています。

重要なポイントは次のとおりです

  • application/config.php構成ファイルの変更
  • 対応するモジュールに lang ディレクトリを追加し、必要な言語パッケージを作成します
  • ビューは言語の切り替えを実行し、バックグラウンド インターフェイスを呼び出して Cookie 値を保存します。 think_var
  • テンプレートに保存し、lang タグを使用してください

学習、ブログ、共有の継続こそが Kaka の信念です。以来ずっと続けている信念。 Nuoda Internet に関する Kaka の記事が少しでもお役に立てれば幸いです。

以上がThinkPHP の多言語実装がどのように行われているかご存知ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。