PHP で gettext を使用して多言語メソッドをサポートする方法_PHP チュートリアル
今日は、PHP での getText の使用法を説明するために簡単な例を使用します (getText は、プログラマーや翻訳者が多言語ソフトウェアを開発するのに役立つ一連のツールとライブラリ関数です)。これにより、PHP の i18n を実現したいとします。ホームページに戻るリンク:
$str = 'home'
print <<< a href="#">{$str}
HTML;
Pot ファイルを作成します。 po 一つは mo で、Machine Object の略です。前者は元の文字列ファイルを指し、一般に翻訳者が変更するために使用されます。一方、後者はマシン関連であり、通常はプログラムによって読み取られます。 Pot ファイルは手動で作成することも、xgettext を通じてコードから文字列を抽出することによって生成することもできます。これは xgettext を使用して生成されます:
xgettext -a home.php -o home.pot
このコマンドを実行すると、home.pot という名前のファイルが現在のディレクトリに生成されたことがわかります。ファイルを開くと、次の場所に移動することがわかります。
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# このファイルは、PACKAGE パッケージと同じライセンスの下で配布されています。 # 最初の著者 、年
#
#、あいまい
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSIONn"
"Report-Msgid-Bugs-To: n"
「POT -Creation-Date: 2009-07-23 20:56+0800n」
「PO-Revision-Date: YEAR-MO-DA HO:MI+ZONEn」
「最終翻訳者: FULL NAME
"MIME バージョン: 1.0n"
"Content-Type: text/plain=CHARSETn"
"コンテンツ転送エンコーディング: 8bitn "
#: home.php:2
msgid "home"
msgstr "
pot に従ってさまざまな言語で po ファイルを生成します。 ここでは、まず簡体字中国語の po ファイルを生成します:
msginit - l zh_CN.gb2312 -i home.pot
このコマンドを実行すると、現在のディレクトリに zh_CN.po という名前のファイルが生成されたことがわかりました。 ファイルを開くと、次の内容が表示されます。
# このファイルは PACKAGE パッケージと同じライセンスの下で配布されます。 # < ;huixinchen@localhost.localdomain>、2009。
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSIONn"
"Report-Msgid-Bugs-To: n"
"POT-Creation -日付: 2009-07-23 20:56+0800n"
"PO-Revision-Date: 2009-07-23 21:00+0800n"
"最終翻訳者: フルネーム n"
"Language -Team: Chinese"
"MIME-Version: 1.0n"
"Content-Type: text/plain; charset=GB2312n"
"Content-Transfer-Encoding: 8bitn"
#: test.php:2
msgid "home "
msgstr "
zh_CN.po の対応する文字列を中国語に翻訳します:
コードをコピーします
#
#
msgid ""
msgstr ""
" Project-Id-Version: PACKAGE VERSIONn"
"Report-Msgid-Bugs-To: n"
"POT-Creation-Date: 2009-07-23 20:56+0800n"
"PO-Revision -日付: 2009- 07-23 21:00+0800n"
"最終翻訳者:
"Language-Team: Chinese"
"MIME-Version: 1.0n"
"Content -Type: text/ plain; charset=GB2312n"
"Content-Transfer-Encoding: 8bitn"
#: test.php:2
msgid "home"
msgstr "Homepage
po ファイルに基づいて mo ファイルを生成します。
msgfmt zh_CN.po -o zh_CN.mo
このコマンドを実行すると、zh_CN.mo という名前のファイルが現在のディレクトリに生成されたことがわかりました。これはバイナリなので、テキスト エディタでは開くことができません。
cp -f zh_CN.mo .local/LC_MESSAGES/home.mo
プログラムを変更します。
コードをコピーします
setlocale(LC_ALL, 'zh_CN');
// 変換テーブルの場所を指定します
bindtextdomain("home", ".");
// ドメインを選択します
textdomain("home"); for in ./locale/zh_CN/LC_MESSAGES/home.mo
$str = gettext('home') //_('home') も使用できます
print <<{$str}
HTML;
プログラムを変更せずに他の言語を追加することも簡単です。中国語の場合と同様に、mo ファイルを生成し、システム内の対応するディレクトリにインストールします。異なる言語間の切り替えには、現在のロケールを変更するだけで済みます。

ホット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 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、
