ホームページ > バックエンド開発 > PHPチュートリアル > PHP 機能の国際化とローカライゼーション

PHP 機能の国際化とローカライゼーション

王林
リリース: 2024-04-26 13:54:02
オリジナル
551 人が閲覧しました

PHP は、次のような多言語サポートを実装するための I18N/L10N 関数を提供します。 gettext(): 翻訳されたテキストを取得します。 setlocale(): ロケールを設定します。 lc* 関数: ロケール関連の操作を実行します。 strftime(): ロケール設定形式を使用して日付と時刻をフォーマットします。

PHP 函数的国际化和本地化

PHP 関数の国際化とローカリゼーション

国際化 (I18N) とローカリゼーション (L10N) はアプリケーション内で処理されます。さまざまな言語とロケール。 PHP は、アプリケーションに多言語サポートを実装するのに役立つ多くの関数を提供します。

gettext 関数

gettext() 関数は、国際化で最もよく使用される関数の 1 つです。テキスト文字列が存在する場合は、その翻訳バージョンに変換します。

<?php
$text = gettext("Hello, world!");
echo $text; // 输出:"你好,世界!"
?>
ログイン後にコピー

gettext() を使用するには、テキスト文字列とその翻訳を含むロケール ファイルを作成する必要があります。

setlocale 関数

setlocale() 関数は現在のロケールを設定します。

<?php
// 设置语言环境为中文
setlocale(LC_ALL, 'zh_CN');
?>
ログイン後にコピー

lc* 関数

PHP は、ロケール関連の操作を実行できる一連の lc* 関数を提供します。

  • lcfirst() 文字列の最初の文字を小文字にする
  • lctranslate() 文字列を大文字または小文字に変換する
  • ##lcwords( ) 大文字にする文字列内の各単語の最初の文字
strftime 関数

strftime() この関数は日付と時刻をフォーマットします。ロケール設定を使用して日付と時刻の形式を決定します。

<?php
// 输出当前日期,格式为中文
echo strftime("%Y-%m-%d %H:%M:%S", time());
?>
ログイン後にコピー

実際のケース: 単純な多言語アプリケーションの作成

次のコードを含む単純な PHP アプリケーションがあるとします。

<?php
echo "Hello, world!";
?>
ログイン後にコピー

複数の言語をサポートするには、次のようにします。次の手順が必要です:

    ロケール ディレクトリ (
  1. lang) を作成します。
  2. 言語ファイル (
  3. en.pozh_CN.po など) を lang ディレクトリに作成します。
  4. これらのファイルにテキスト文字列とその翻訳を追加します。
  5. gettext() 関数を使用するようにアプリケーション コードを変更します。
  6. <?php
    $text = gettext("Hello, world!");
    echo $text;
    ?>
    ログイン後にコピー
    アプリケーションを実行し、別のロケールを設定します。例:
  1. LC_ALL=en php app.php
    ログイン後にコピー
    これにより、テキスト

    "Hello, world!" の英語版が表示されます。

    PHP の国際化機能とローカライゼーション機能を使用すると、さまざまな言語やロケール設定で実行できる多言語アプリケーションを簡単に作成できます。

    以上がPHP 機能の国際化とローカライゼーションの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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