多言語のWebアプリケーションを構築する場合、中国語と英語の切り替えをサポートすることは、一般的な機能要件です。この記事では、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で中国語と英語の切り替え機能を簡単に実装できます。この方法は柔軟で効率的であり、国際的なサポートを必要とするあらゆる種類のウェブサイトプロジェクトに適しています。