目次
ThinkPHP 6.0 多言語最適化拡張パック
使用方法
基本構成
公式ドキュメント(https://www.kancloud.cn/manual)を参照してください。 /thinkphp6_0 /1037637) 関連する構成を実行します。
ミドルウェア名は次のとおりです:
自動ロードされたアプリケーション言語ファイル:
セカンダリ ディレクトリを使用して対応する言語ページにアクセスするには、ルーティング定義を使用する必要があり、
ヘルパー関数 がアプリケーション公開ファイル
ホームページ PHPフレームワーク ThinkPHP ThinkPHP 6.0 多言語最適化拡張パッケージのインストールと使用

ThinkPHP 6.0 多言語最適化拡張パッケージのインストールと使用

Jun 23, 2020 pm 01:50 PM
thinkphp6

以下は、ThinkPHP 6.0 多言語最適化拡張パッケージを紹介する thinkphp フレームワーク チュートリアル コラムです。困っている友人のお役に立てば幸いです。

ThinkPHP 6.0 多言語最適化拡張パッケージのインストールと使用

think-lang

ThinkPHP 6.0 多言語最適化拡張パック

https://github.com/TLingC/think-lang
ログイン後にコピー

機能

    mywebsite.com/zh-hans/
  1. などのセカンダリ ディレクトリを介した対応する言語ページへのアクセスをサポートします。 各言語でサポートされている言語パックは個別のディレクトリに分かれており、そのディレクトリの下に 2 番目のディレクトリが存在する場合があります。
  2. インストール
composer require tlingc/think-lang
ログイン後にコピー

使用方法

基本構成

公式ドキュメント(https://www.kancloud.cn/manual)を参照してください。 /thinkphp6_0 /1037637) 関連する構成を実行します。

公式ドキュメントとの以下の相違点にも注意してください。

言語パックを開いてロードします

ミドルウェア名は次のとおりです:

'tlingc\lang\middleware\LoadLangPack',
ログイン後にコピー

複数の言語にはセカンダリ ディレクトリ経由でアクセスするため、

Cookie を使用して言語を保存します

関数が無効です。 言語ファイル定義

自動ロードされたアプリケーション言語ファイル:

// 单应用模式app\lang\当前语言.php
app\lang\当前语言\*.php
app\lang\当前语言\*\*.php// 多应用模式app\应用\lang\当前语言.php
app\应用\lang\当前语言\*.php
app\应用\lang\当前语言\*\*.php
ログイン後にコピー

この拡張パックは、言語パックの解析動作やファイル名を変更しないことに注意してください。言語ファイルは言語のグループ化には影響しないため、同じ定義が複数のファイルに存在する場合は上書きが発生します。

ルーティング設定

セカンダリ ディレクトリを使用して対応する言語ページにアクセスするには、ルーティング定義を使用する必要があり、

強制ルーティング

モードをオンにすることをお勧めします。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">use think\facade\Config;Route::view(&amp;#39;/&amp;#39;, &amp;#39;index/index&amp;#39;);$langs = Config::get(&amp;#39;lang.allow_lang_list&amp;#39;);foreach($langs as $lang){ Route::rule($lang . &amp;#39;/&amp;#39;, &amp;#39;index/index&amp;#39;); Route::rule($lang . &amp;#39;/welcome&amp;#39;, &amp;#39;index/welcome&amp;#39;);}</pre><div class="contentsignin">ログイン後にコピー</div></div>書き換え

url

ヘルパー関数 がアプリケーション公開ファイル

common.php

に追加されます。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">use think\facade\Request;use think\facade\Lang;use think\facade\Route;use think\route\Url as UrlBuild;function url(string $url = &amp;#39;&amp;#39;, array $vars = [], $suffix = true, $domain = false, $lang = true, $replace = false): UrlBuild{ if (!$lang) { if($replace) { $explode = explode(&amp;#39;/&amp;#39;, Request::url(), 3); $url = $url . $explode[2]; } return Route::buildUrl($url, $vars)-&amp;gt;suffix($suffix)-&amp;gt;domain($domain); } $lang = Lang::getLangSet(); return Route::buildUrl(&amp;#39;/&amp;#39; . $lang . $url, $vars)-&amp;gt;suffix($suffix)-&amp;gt;domain($domain);}</pre><div class="contentsignin">ログイン後にコピー</div></div>公式ヘルパー関数と比較すると、

$lang

$replace パラメータが追加されています。 通常のジャンプでは、URL の生成時に前述の言語名が自動的に含まれます。

url(&#39;/welcome&#39;)
ログイン後にコピー

URL 内の言語名のみを置換する必要がある場合 (言語セレクターで使用されている場合など)、

$replace

パラメーターを true に設定します。 TODO

    ルート定義メソッドを統合します。
  • url パラメータを統合して書き換えます。

以上がThinkPHP 6.0 多言語最適化拡張パッケージのインストールと使用の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Think BookとThinkPadの違いは何ですか Think BookとThinkPadの違いは何ですか Mar 06, 2025 pm 02:16 PM

Think BookとThinkPadの違いは何ですか

SQLインジェクションチュートリアルを防ぐ方法 SQLインジェクションチュートリアルを防ぐ方法 Mar 06, 2025 pm 02:10 PM

SQLインジェクションチュートリアルを防ぐ方法

ThinkPhpによって開発されたソフトウェアのインストール方法チュートリアルをインストールする方法 ThinkPhpによって開発されたソフトウェアのインストール方法チュートリアルをインストールする方法 Mar 06, 2025 pm 02:09 PM

ThinkPhpによって開発されたソフトウェアのインストール方法チュートリアルをインストールする方法

thinkphpの脆弱性を修正する方法thinkphpの脆弱性に対処する方法 thinkphpの脆弱性を修正する方法thinkphpの脆弱性に対処する方法 Mar 06, 2025 pm 02:04 PM

thinkphpの脆弱性を修正する方法thinkphpの脆弱性に対処する方法

ThinkPhpの脆弱性に対処する方法は? ThinkPhpの脆弱性に対処する方法は? Mar 06, 2025 pm 02:08 PM

ThinkPhpの脆弱性に対処する方法は?

ThinkPhpチュートリアルの使用方法 ThinkPhpチュートリアルの使用方法 Mar 06, 2025 pm 02:11 PM

ThinkPhpチュートリアルの使用方法

Think PadとThinkbookの違いは何ですか Think PadとThinkbookの違いは何ですか Mar 06, 2025 pm 02:13 PM

Think PadとThinkbookの違いは何ですか

サーバーレスアーキテクチャでThinkPhpを使用するための重要な考慮事項は何ですか? サーバーレスアーキテクチャでThinkPhpを使用するための重要な考慮事項は何ですか? Mar 18, 2025 pm 04:54 PM

サーバーレスアーキテクチャでThinkPhpを使用するための重要な考慮事項は何ですか?

See all articles