ホームページ > バックエンド開発 > PHPチュートリアル > PHP と Laravel の統合により、多言語アプリケーション開発が可能になります

PHP と Laravel の統合により、多言語アプリケーション開発が可能になります

WBOY
リリース: 2023-06-25 18:48:02
オリジナル
1775 人が閲覧しました

グローバリゼーションの進展に伴い、さまざまな地域や文化のユーザーのニーズを満たすために、ますます多くのアプリケーションが複数の言語をサポートする必要があります。 Web アプリケーションの開発では、PHP がよく使われますが、PHP のフレームワークとして Laravel がよく使われますが、この記事では、PHP と Laravel を統合して多言語アプリケーション開発を実現する方法を紹介します。

1. 多言語サポートが必要な理由

グローバリゼーションの状況において、単一言語のみをサポートするアプリケーションは、そのユーザー グループの範囲を制限します。たとえば、英語は世界共通言語ですが、英語が理解できないユーザーにとって英語のアプリケーションを使用することは不便や困難を引き起こす可能性があり、また、国や地域によってはユーザーが使用する言語が他の言語である場合もあります。がサポートされているため、このユーザー グループはアプリケーションを使用できません。

さまざまな言語のユーザーのニーズを満たすには、多言語をサポートするアプリケーションを開発する必要があります。 Web アプリケーションでは、通常、フロントエンドで複数の翻訳ファイルを用意し、ユーザーの言語設定に応じて対応する翻訳ファイルを読み込んで多言語表示を実現することで多言語を実装します。 PHP プログラムでは、GET または POST リクエストの使用、URL パラメーターの使用など、複数の方法を使用して多言語を実装できます。

2. 多言語を実現する方法

ネイティブ PHP を使用してアプリケーションを開発する場合、多言語を実現するために各ページの翻訳をどのように処理するかを考慮する必要があります。 Laravel フレームワークには多言語サポートが組み込まれており、Laravel を使用すると多言語を簡単に実装できます。

  1. 設定ファイル

Laravel では、設定ファイルはアプリケーションの設定を保存するファイルです。次のように、さまざまな言語の翻訳を含む lang.php ファイルを config フォルダーの下に作成できます。

<?php

return [
    'welcome' => '欢迎',
    'hello' => '你好',
    'learn' => '学习',
    'laravel' => 'Laravel'
];
ログイン後にコピー
  1. routing

Laravel では、ルーティングのマッピングです。 URL とアプリケーション ロジックの関係。使用する言語は、ルート内のミドルウェアまたはリクエスト パラメーターを使用して指定できます。例:

Route::get('/welcome/{locale}', function ($locale) {
    App::setLocale($locale);
    return view('welcome');
});
ログイン後にコピー

ここで、{locale} は、ユーザーが選択した言語を渡すために使用されるリクエスト パラメーターです。 App::setLocale($locale) は、選択した言語をアプリケーションの現在の言語に設定するために使用されます。

  1. View

Laravel では、アプリケーション インターフェイスを表示するためにビューが使用されます。ビューに多言語コンテンツを表示する必要がある場合は、Laravel が提供する言語パック機能を使用できます。例:

{{ __('lang.welcome') }}
ログイン後にコピー

__ メソッドは言語パッケージ内の翻訳を呼び出すために使用され、lang.welcome は翻訳ファイル内の welcome に対応するキーです。 __ メソッドを呼び出した後、現在のアプリケーションの言語に従って、対応する翻訳が自動的にロードされます。言語を変更する必要がある場合は、App::setLocale メソッドを使用できます。

3. デモの例

以下では、例を使用して、Laravel で多言語を実装する方法を示します。

  1. Laravel アプリケーションを作成する

まず、Laravel アプリケーションを作成する必要があります。composer create-project コマンドを使用して、新しい Laravel アプリケーションを作成できます。例:

composer create-project --prefer-dist laravel/laravel multilingualapp
ログイン後にコピー
  1. 構成言語

config/app.php ファイルを開き、ロケール配列でサポートする必要がある言語を追加します。 :

'locales' => ['en', 'es', 'fr'],
ログイン後にコピー
  1. 翻訳ファイルの作成

resources/lang ディレクトリに各言語に対応する翻訳ファイルを作成します。例:

  • resources /lang/en/messages.php
  • resources/lang/es/messages.php
  • resources/lang/fr/messages.php

を追加できます。各ファイル内の対応する言語を翻訳します。例:

<?php
// resources/lang/en/messages.php
return [
    'welcome' => 'Welcome to our multilingual app!',
    'about_us' => 'About Us'
];
ログイン後にコピー
  1. 多言語ルーティングの作成

routes/web.php ファイルを開いて、多言語ルートを作成します。例:

Route::get('/{locale}', function ($locale) {
    App::setLocale($locale);
    return view('welcome');
});

Route::get('/{locale}/about', function ($locale) {
    App::setLocale($locale);
    return view('about');
});
ログイン後にコピー
  1. 多言語ビューの作成

リソース/ビュー ディレクトリに多言語ビューを作成します。例:

  • resource/views/welcome.blade.php
  • resources/views/about.blade.php

ビュー内の Laravel 言語パッケージを通じて多言語翻訳を呼び出すことができます。例:

<h1>{{ __('messages.welcome') }}</h1>
<a href="{{ url('/'.app()->getLocale().'/about') }}">{{ __('messages.about_us') }}</a>
ログイン後にコピー

アプリケーションを実行した後、URL に追加します。異なる言語コードを使用すると、多言語表示を実現できます。

4. まとめ

この記事では、PHP と Laravel の統合を使用して多言語アプリケーション開発を実現する方法を紹介しました。 Laravel は、構成ファイル、ルート、ビューにおける多言語の問題を簡単に処理するための組み込みの多言語サポートを提供します。 Laravel を使用すると、さまざまな言語のユーザーのニーズを満たす、多言語をサポートする Web アプリケーションを迅速に開発できます。

以上がPHP と Laravel の統合により、多言語アプリケーション開発が可能になりますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート