現在の位置: ホーム> 最新記事一覧> 中国語と英語の切り替えを実現するためのThinkPHPフレームワークに関する完全なチュートリアル

中国語と英語の切り替えを実現するためのThinkPHPフレームワークに関する完全なチュートリアル

gitbox 2025-07-28

導入

多言語のWebアプリケーションを構築する場合、中国語と英語の切り替えをサポートすることは、一般的な機能要件です。この記事では、ThinkPHPフレームワークに焦点を当て、構成と開発を通じて柔軟な中国語および英語の切り替え機能を実現し、ウェブサイトの国際的な経験を改善する方法を紹介します。

ThinkPHPフレームワークをインストールします

まず、Composerを介してThinkPhp 6バージョンをインストールする必要があります。次のコマンドを使用して、すぐに開発環境を構築できます。

 composer create-project topthink/think myproject 6.0.*

インストールが完了したら、言語スイッチング機能の構成と開発を開始できます。

構成言語サポート

ThinkPhpプロジェクトの構成ファイルに言語関連の設定を追加します。一般的な構成ファイルはconfig/app.phpにあります:

 // config/app.php
return [
    // デフォルト言語
    'default_lang'  => 'zh-cn',

    // サポートされている言語のリスト
    'lang_list'     => ['zh-cn', 'en-us'],
];

デフォルトの言語リストと言語リストを設定することにより、システムが中国語と英語の両方をサポートすることを確認できます。

言語パッケージファイルを作成します

App/Lang Directoryに2つの言語パッケージファイルを作成します: Zh-Cn.phpおよびen-Us.php 、中国語と英語の翻訳コンテンツに対応してください。

 // app/lang/zh-cn.php
return [
    'hello'   => 'こんにちは',
    'welcome' => '私のウェブサイトへようこそ',
];

// app/lang/en-us.php
return [
    'hello'   => 'Hello',
    'welcome' => 'Welcome to my website',
];

上記は、異なる言語で同じキー名の対応するコンテンツを定義し、システムは現在の言語に従って自動的に一致します。

コントローラーに言語を切り替えます

Cookieを設定することにより、コントローラーの言語を切り替えることができます。

 public function switchLanguage($lang)
{
    if (in_array($lang, config('lang_list'))) {
        cookie('think_var', $lang);
    }
}

この方法は、着信言語パラメーターに従ってCookieを設定して、ロケールを更新します。

テンプレートで言語コンテンツを取得します

テンプレートでは、 Lang()関数を介して言語に対応する翻訳コンテンツを取得できます。

 echo lang('hello');

この関数は、現在のロケールに従って対応する言語値を返します。

テンプレート内の現在の言語を決定します

テンプレートに現在の言語ステータスを表示するには、判断Cookieを使用して達成できます。

 echo cookie('think_var') === 'en-us' ? ' English' : ' 中国語';

これにより、現在の言語ステータスが動的に表示され、ユーザーエクスペリエンスが向上します。

要約します

言語サポート、言語パック、コントローラーロジック、テンプレートの判断の作成により、開発者はThinkPHPで中国語と英語の切り替え機能を簡単に実装できます。この方法は柔軟で効率的であり、国際的なサポートを必要とするあらゆる種類のウェブサイトプロジェクトに適しています。