[ Laravel 5.2 ドキュメント ] サービス -- ローカリゼーション
1. はじめに
Laravel のローカリゼーション機能を使用すると、アプリケーションに複数の言語サポートを簡単に実装できます。
言語文字列は、デフォルトで resource/lang ディレクトリに保存されます。このディレクトリには、アプリケーションでサポートされている各言語のサブディレクトリが含まれている必要があります:
/resources /lang /en messages.php /es messages.php
すべての言語ファイルは、キーと値のペアの配列を返します。例:
<?phpreturn [ 'welcome' => 'Welcome to our application'];
設定ロケールオプション
アプリケーションのデフォルト言語は構成ファイル config/app.php に保存されます。もちろん、アプリケーションのニーズに合わせてこの値を変更できます。アプリのファサードで setLocale メソッドを使用して、実行時に現在の言語を変更することもできます:
Route::get('welcome/{locale}', function ($locale) { App::setLocale($locale); //});
現在の言語に特定の言語行が含まれていない場合に返される「バックアップ言語」を構成することもできます。デフォルト言語と同様に、代替言語も構成ファイル config/app.php で構成されます。
'fallback_locale' => 'en',
2. 基本的な使用法
このメソッドは言語ファイルから行を取得するためにヘルパー関数 trans を使用できます。最初のパラメータとしてファイルと言語行キーを指定します。たとえば、言語ファイル resource/lang/messages.php の言語行を取得しましょう:
echo trans('messages.welcome');
もちろん、Blade テンプレート エンジンを使用する場合は、 {{ }} 構文を使用した言語行:
{{ trans('messages.welcome') }}
指定された言語行が存在しない場合、trans 関数は言語行のキーを返すため、上記の例を使用すると、言語行が存在しない場合、 trans関数はmessages.welcomeを返します。
言語行のパラメータを置換します
必要に応じて、すべてのプレースホルダに : 接頭辞を付けることができます。たとえば、プレースホルダ名を使用してウェルカム メッセージを定義できます。
'welcome' => 'Welcome, :name',
echo trans('messages.welcome', ['name' => 'Dayle']);
多様化は複雑な問題です。言語によって多様化に違いがあるためです。ルールが異なると、パイプ文字 "|" を使用して、文字列の単数形と複数形を区別できます:
'apples' => 'There is one apple|There are many apples',
echo trans_choice('messages.apples', 10);
'apples' => '{0} There are none|[1,19] There are some|[20,Inf] There are many',
3. ベンダー パッケージの言語ファイルをオーバーライドします
一部のパッケージは独自の言語ファイルを処理できます。これらのパッケージのコア ファイルを壊すのではなく、resources/lang/vendor/{package}/{locale} ディレクトリにある独自のファイルでこれらの文をオーバーライドすることで、これらの文を調整できます。つまり、たとえば、skyrim/hearthfire という名前のパッケージ内のmessages.php ファイル内の英語の文章をオーバーライドする必要がある場合は、resources/lang/vendor/hearthfire/en/messages.php ファイルを作成できます。このファイルでは、カバーする文を定義するだけで済みます。カバーしない文は、パッケージの元の言語ファイルからロードされます。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

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

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

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

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

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

ホットトピック









PHPロギングは、Webアプリケーションの監視とデバッグ、および重要なイベント、エラー、ランタイムの動作をキャプチャするために不可欠です。システムのパフォーマンスに関する貴重な洞察を提供し、問題の特定に役立ち、より速いトラブルシューティングをサポートします

Laravelは、直感的なフラッシュメソッドを使用して、一時的なセッションデータの処理を簡素化します。これは、アプリケーション内に簡単なメッセージ、アラート、または通知を表示するのに最適です。 データは、デフォルトで次の要求のためにのみ持続します。 $リクエスト -

PHPクライアントURL(CURL)拡張機能は、開発者にとって強力なツールであり、リモートサーバーやREST APIとのシームレスな対話を可能にします。尊敬されるマルチプロトコルファイル転送ライブラリであるLibcurlを活用することにより、PHP Curlは効率的なexecuを促進します

Laravelは簡潔なHTTP応答シミュレーション構文を提供し、HTTP相互作用テストを簡素化します。このアプローチは、テストシミュレーションをより直感的にしながら、コード冗長性を大幅に削減します。 基本的な実装は、さまざまな応答タイプのショートカットを提供します。 Illuminate \ support \ facades \ httpを使用します。 http :: fake([[ 'google.com' => 'hello world'、 'github.com' => ['foo' => 'bar']、 'forge.laravel.com' =>

顧客の最も差し迫った問題にリアルタイムでインスタントソリューションを提供したいですか? ライブチャットを使用すると、顧客とのリアルタイムな会話を行い、すぐに問題を解決できます。それはあなたがあなたのカスタムにより速いサービスを提供することを可能にします

記事では、PHP 5.3で導入されたPHPの後期静的結合(LSB)について説明し、より柔軟な継承を求める静的メソッドコールのランタイム解像度を可能にします。 LSBの実用的なアプリケーションと潜在的なパフォーマ

この記事では、フレームワークにカスタム機能を追加し、アーキテクチャの理解、拡張ポイントの識別、統合とデバッグのベストプラクティスに焦点を当てています。
