WAMPserver(Apache、MySQL、PHP)を使用しているWindowsでは、次のものがあります。
//test.php
if (!defined('LC_MESSAGES'))
define('LC_MESSAGES', 6);
$lang = "sv";
putenv("LANG=$lang");
setlocale(LC_ALL, $lang);
$domain = "messages";
bindtextdomain($domain, "./locale");
textdomain($domain);
echo _("This is a string");
正常に動作します。つまり、「これは文字列です」と出力されます。これは、gettext
が正しく設定されていることを意味します。
しかし、世界でどのように.po
ファイルを作成しますか?
Poeditをダウンロードしましたが、そのソフトウェアでこれを実現する方法がわかりません。
どんな助けでも大歓迎です!
PoEditは、.poファイルを作成するためのツールです。あなたはそれで少し設定をしなければならず、それは最も簡単ではありません。動作する方法は、設定したマーカー文字列でラップされたソースコード内のすべてのテキストを検索することです。これが、翻訳者に提供するソーステキストになります。次に、それをターゲット言語に翻訳し、翻訳ファイルを保存して返送します。次に、これらのファイルをphpアプリケーションの特別なディレクトリにダンプし、gettext拡張機能が翻訳文字列の1つを検出すると、適切な翻訳をフェッチします。
Poeditに夢中になった場所について詳細を示していただければ、おそらくもっとお役に立てます。
Phpの場合:
---- test_1.php ----のようなファイルがあります
_<?php
echo _("Test phrase");
echo gettext("Test phrase two");
// NOTE: _ == gettext()
?>
_
[ファイル]-> [新しいカタログ...]タブで、[新しいフォルダー]をクリックし、ファイルがあるフォルダーのパスを追加する必要があります(この例ではtest_1.php)。
... gettext()
または_()
で呼び出されるすべての文字列をキャッチしました...これらの関数の便利さはここで説明されています http://www.php。 net/manual/es/function.gettext.php
AND ... Apache(Xamppなど)を使用している場合は、gettext()
を使用して定義された言語で新しい変更をテストするときに、Apacheを停止して開始(再起動)してください。変更は影響を受けません