ThinkPHP の多言語実装がどのように行われているかご存知ですか?
最近プロジェクトが忙しくてあまり書けませんでした。この記事の主な内容は、多言語バックエンドを実装する方法です。
#はじめに
会社は多言語のバックエンドを作成する必要があります、以前はやったことがなかったので、Baidu に行って確認してみました。 TP フレームワークを 2 年間使用して、フレームワークに独自の多言語切り替え機能があることを初めて発見しました。ここには本当に感謝します。 次にこの関数を実装しましょう。1. 多言語のバックエンド実装
フレームワークの使用はv5. 1.38 LTS
config/app.php言語に関する設定情報には、これら 2 つのパラメータのみがあることがわかります。
lang_switch_onこのパラメータは、自動的に監視されるブラウザ言語です。
設定ファイルの理解 その後、必要なモジュールに lang ディレクトリを作成し、対応する言語の言語パッケージを構成する必要があります。
ここでは、Kaka は英語と中国語のみを設定します。他の言語が必要な場合は、自分で追加できます。 このステップでは、言語リストの構成に使用されるパラメーターが最初から最後まで存在しないことがわかります。設定ファイルも見つかりませんでした。
ただし、このコード行はドキュメント内で確認できます。ソース コードにアクセスして見てみましょう。
ソース コードを見ると、言語 Cookie の名前の値も固定されており、Cookie の有効期間が 3600 であることが明確にわかります。これらは独自のプロジェクトに応じて調整する必要があります。
最も重要なことは、許可されている言語のリストを確認することです。この変数のトレースを続けます。ファイル内で
thinkphp/library/think/Lang.php
最後に、ドキュメントで指定されているメソッドとまったく同じメソッドを確認できます。バックエンドは複数の言語を使用する必要があるため、共通に設定する必要があります
#2. 表示言語の切り替え## ビュー テンプレートで languageChange
メソッドを直接呼び出します。ビューには
$ languageName という変数があります。この変数はクリック 構成ファイルから直接取得され、後でデータベースに合わせて調整されます。
次に、言語切り替え後の Cookie の変更を処理するメソッド
changeLanguage
をコントローラーに記述します。現時点での背景ページは次のようになります
3. テスト
##上記の操作の後、設定した言語パッケージに従ってテストできます。言語の切り替えテンプレートでは、lang template タグを使用してデータを取得する必要がありますこれは英語の状態ですこれは中国語の状態です
多言語の実装が完了しました。
4. まとめ
以上、いろいろ述べてきましたが、簡単にまとめてみました。各ステップの詳細。ステップは全員に向けて文書化されています。 重要なポイントは次のとおりですapplication/config.php
構成ファイルの変更対応するモジュールに lang ディレクトリを追加し、必要な言語パッケージを作成します ビューは言語の切り替えを実行し、バックグラウンド インターフェイスを呼び出して Cookie 値を保存します。 think_var テンプレートに保存し、lang タグを使用してください
学習、ブログ、共有の継続こそが Kaka の信念です。以来ずっと続けている信念。 Nuoda Internet に関する Kaka の記事が少しでもお役に立てれば幸いです。
以上がThinkPHP の多言語実装がどのように行われているかご存知ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









