ホームページ >バックエンド開発 >PHPチュートリアル >phpmaster | PHPアプリケーションのローカライズパート3:2011年11月 - SitePoint
この記事は、PHPでgetTextライブラリを使用するための高度な手法を掘り下げ、フォールバックロケール、ロケールスイッチング、およびオーバーライドメッセージドメインに焦点を当てています。
重要な概念:
msgids
dgettext()
gettext()
PHPローカリゼーションの利点:textdomain()
PHPのローカリゼーションは、グローバルリーチにとって不可欠であり、ユーザーエクスペリエンスと市場アクセシビリティを向上させます。
dgettext()
bindtextdomain()
):msgid
):
スペイン語(
.po
.mo
アラビア語(
fr_FR
<code>#Test token 1 msgid "Hello World!" msgstr "Bonjour tout le monde!" #Test token 2 msgid "Testing Translation..." msgstr "Test de traduction..."</code>ロケールの切り替え:
es_ES
<code>#Test token 1 msgid "Hello World!" msgstr "¡Hola mundo!" #Test token 2 msgid "Testing Translation..." msgstr "Prueba de traducción..."</code>ファイルは、Getパラメーターまたはセッションを使用してロケール選択を管理します:
ar_EG
<code>#Test token 1 msgid "Hello World!" msgstr "!أهلا بالعالم" #Test token 2 msgid "Testing Translation..." msgstr "...اختبار الترجمة"</code>:
のサンプルの使用
へのアクセスは、フランスの翻訳を出力します。
locale.php
<?php session_start(); $language = isset($_GET["lang"]) ? $_GET["lang"] : (isset($_SESSION["lang"]) ? $_SESSION["lang"] : "en_US"); $_SESSION["Language"] = $language; $folder = "Locale"; $domain = "messages"; $encoding = "UTF-8"; putenv("LANG=" . $language); setlocale(LC_ALL, $language); bindtextdomain($domain, $folder); bind_textdomain_codeset($domain, $encoding); textdomain($domain); ?>
test-locale.php
<?php require_once "locale.php"; echo _("Hello World!"), "<br></br>"; echo _("Testing Translation..."); ?>:
:test-locale.php?lang=fr_FR
を使用してこのドメインをバインドすることを忘れないでください
in :
これは、選択したロケールの「エラー」ドメインに変換が存在する場合、「コンテンツの取得エラー」と「エラー保存データの保存」を正しく変換します。
dgettext()
bindtextdomain()
概要とFAQ:locale.php
以上がphpmaster | PHPアプリケーションのローカライズパート3:2011年11月 - SitePointの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。