この記事では、Locale-Aware操作のためのPHPのINTL拡張を調査します。 INTL拡張機能は、ICUライブラリの機能へのアクセスを提供し、さまざまなロケールに従ってテキスト、日付、時間、およびタイムゾーンの処理を可能にします。
![Localization Demystified: Php-Intl for Everyone](/static/imghw/default1.png)
主要な機能:
locale-aware操作:- INTL拡張により、テキスト処理、日付/時刻の書式設定、タイムゾーン処理などのタスクが容易になります。
簡単なインストール:
一般に、デフォルトではPHP 5.3以降に含まれます。 手動のインストールは簡単で、さまざまなシステムに指示が提供されます(例:UbuntuでAPT-Getを使用)。
-
メッセージフォーマット(messageformatter):このクラスでは、複製、選択、複雑なシナリオの処理など、洗練されたメッセージローカリゼーションが可能になります。 ポジションと名前付きプレースホルダーの両方をサポートします
- メッセージの解析:フォーマットに使用されるのと同じパターンをレバレッジして、フォーマットされたメッセージからデータを解析および抽出できます。
- インストール:
を使用してインストールを確認します。 インストールされていない場合は、システムに適切なコマンドを使用してください(
を使用してubuntuに提供されています)。 PHP 7のインストールでは、PPAを追加する必要がある場合があります
メッセージのフォーマット例:
php -m | grep 'intl'
apt-get
メソッドはローカリゼーションの中心です。 引数には、ロケール、メッセージ文字列(プレースホルダー)、およびデータの配列が含まれます。 プレースホルダーは巻き毛のブレースを使用し、さまざまなフォーマットオプションをサポートしています(例:
、)。
-
数式のフォーマット:ロケール全体の数値システムの違いを示します(EN_US、AR、BN)。
- 日付と時刻のフォーマット:さまざまなスタイルを使用して日付と時間をフォーマットする方法を示します。
持続時間のフォーマット:- フォーマット期間を示しています。
スペルアウトのフォーマット:- 数字をスペルアウトと同等のものに変換します。
多重化:- プレースホルダーの値に基づいてさまざまな複数形式を処理します(キーワードを使用)。
plural
選択: 値の範囲に基づいてメッセージを選択します(- キーワードを使用)。 注:ICU開発者は、タイプを広範囲に使用しないことをアドバイスします。
choice
select:choice
特定の値に基づいてメッセージを選択します( キーワードを使用)。
-
複雑なケース:多元化を組み合わせて、より複雑なメッセージのカスタマイズを選択します。
select
-
メッセージの解析:
メソッドは、フォーマットと同じパターンを使用して、フォーマットされたメッセージからデータを抽出します。
結論:
PHP Intl拡張は、国際化されたアプリケーションを構築するための強力なツールです。 このガイドは、メッセージフォーマット機能を使用するための基盤を提供します。 将来の記事では、番号と日付のフォーマット、およびカレンダーの処理について説明します。
MessageFormatter::parse
よくある質問(FAQ):
FAQSセクションでは、PHPのローカリゼーションとINTL拡張に関する一般的な質問への回答を提供し、インストール、日付/時刻の書式設定、メッセージのフォーマット、メッセージ翻訳、テキストセグメンテーション、音訳、複数形成、照合、ロケール管理などのトピックをカバーしています。
以上がローカリゼーションが分かりました:すべての人のためのphp-intlの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。