ホームページ >php教程 >php手册 >PHPプログラムの国際化実装方法(gettextを使用)

PHPプログラムの国際化実装方法(gettextを使用)

WBOY
WBOYオリジナル
2016-06-13 12:06:08793ブラウズ

ステップ 1: 環境をセットアップする
1. まず、php_gettext.dll ファイルが php 拡張ディレクトリに存在するかどうかを確認します。存在しない場合は、
ファイルをダウンロードするか、他のファイルからコピーする必要があります。 1 つを配置し、それを php 拡張ディレクトリに置きます。
2. php.ini を開き、「;extension=php_gettext.dll」を検索し、コメントを削除して、Apache を再起動します。
ステップ 2: 原則の説明
国際化されていないプログラムにそのようなコードがある場合は、echo "Hello"; を実行し、国際化されたプログラムの場合は、
echo gettext("Hello") と記述する必要があります。 "); 次に、構成ファイルに「Hello」に対応する英語の「Hi」を追加します。
現時点では、中国でのブラウジングでは画面に「Hello」が出力され、米国でのブラウジングでは
「Hi」が画面に出力されます。つまり、最終的に表示される内容は設定ファイルによって異なります。設定ファイルが見つからない場合、
はプログラム内の内容を出力します。
ステップ 3: エンコードテスト
1. d:www の下に新しいファイル hi.php を作成します。詳細なコードは次のとおりです。

コードをコピーします コードは次のとおりです:


$domain = 'test'
bindtextdomain($domain, "locale/"; );//ドメイン MO ファイル パスを設定します
textdomain($domain);//gettext() 関数が MO ファイルを検索するドメインを設定します
echo gettext("Hi!");//_ () は gettext() 関数
?>


変更したプログラムを実行すると、「Hi」のみが出力されます。しかし、私たちは中国人なので、「こんにちは」を知りません。
知っているのは「こんにちは」だけです。その場合、アクションを実行するようにファイルを構成する必要があります。構成ファイルは通常、ツールを使用して生成されます。
ダウンロードアドレス: http://nchc.dl.sourceforge.net/sourceforge/gnuwin32/gettext-0.14.4.exe
インストール後、任意のディレクトリで使用するには、「インストールパス/bin」をシステム環境変数に追加します。
ステップ 4: 構成ファイルの生成
1. ツールがインストールされており、任意のディレクトリで使用できることを前提としています。ここで、cmd を実行し、
パスを d:www (hi.php が存在するディレクトリ) に切り替える必要があります。
「xgettext -d hi hi.php --from-code=gb2312」と入力して実行すると、新しく生成された
hi.po ファイルが表示されます。 注: --from-code=。 gb2312。gb2312 は utf-8 にすることもできます。
2. hi.po ファイルを開くと、次のように表示されます。

コードをコピーします コードは次のとおりです:


# 説明的なタイトル
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# このファイルは PACKAGE パッケージと同じライセンスの下で配布されています
# FIRST AUTHOR #
#, ファジー
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSIONn"
"Report-Msgid-Bugs-To : n"
"POT -Creation-Date: 2009-01-19 17:47 0800n"
"PO-Revision-Date: YEAR-MO-DA HO:MI ZONEn"
"Last-Translator : フルネーム "Language-Team: LANGUAGE n"
"MIME-Version: 1.0n"
"Content-Type: text /plain; charset=CHARSETn"
"Content-Transfer-Encoding: 8bitn"
#: hi.php:6
msgid "Hi!"
msgstr ""


ここで 2 つの場所を変更する必要があります。
1: "Content-Type: text/plain; charset=CHARSETn"
2: msgstr ""
1 の CHARSET を gb2312 に変更し、次に 2 を変更します。 msgstr "こんにちは" に。
3. msgfmt -o hi.mo hi.po と入力して実行すると、hi.mo ファイルが生成されます。
次に、d:www の下に新しい localezh_CnLC_MESSAGES ディレクトリを作成し、ここに hi.mo をコピーします。
4. Apache を再起動すると、画面に「Hello」が出力されます。
その他:
utft-8 エンコーディングを使用する場合は、
bind_textdomain_codeset($domain,'UTF-8'); を使用する必要があります。
それに応じて、hi.po の CHARSET を utf-8 に変更します。また、hi.po を utf-8 形式で保存する必要があります。
hi.mo を再度生成するだけです。
概要:
私たちは皆、自分の作成したプログラムが一般の人々や、有名な wordpress のように国際的にも使用できることを望んでいます。
ワードプレスは国際的にも使用されています。 gettext は依然として非常に優れており、シンプルで使いやすいです。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。