.po.moファイルを使用してプラグインを翻訳する
5 回答
- 投票
-
- 2012-07-02
編集者
他にもありますが、これが最もよく使用されます: Poedit 、クロスプラットフォームのgettextカタログ(.poファイル)エディター.
フォーマット
-
.mo
はMachineObjectの略です
--WordPressで使用される.po
ファイルのコンパイル済みエクスポート -
.po
はPortableObjectの略です
-翻訳文字列を含む編集可能なテキストファイル
-マスターの.pot
ファイルに基づいて、 POTファイルからの更新 PoEdit関数を使用
-これをマスターファイルとして配布する人もいますが、翻訳にのみ使用する必要があります -
.pot
はPortableObjectTemplateの略です
-ソースからの更新 PoEdit関数 を使用して、WordPress自体とテーマおよびプラグインからすべての翻訳可能な文字列を取得するために使用される編集可能なテキストファイル
手順
- .potファイルを複製し、名前を
plugin-basename-lang_COUNTRY.po
に変更します.
- 参照されているプラグインのケースの例:
subscribe-reloaded-pt_BR.po
-pt_BR はポルトガル語のブラジルを意味しますが、多くの言語には国のバリエーションがありません...
-自分の言語を入力する必要があります -
.po
ファイルを保存するたびに、PoEditは自動的に.mo
ファイルを生成します.これは、WordPressが使用するファイルであり、基本的にアップロードする必要があるのは1つだけです
wp-config.php
WPLANG
>ファイルはご使用の言語に設定する必要があります(例:pt_BR
)観察
- 完全または適切な部分翻訳を行う場合は、プラグインの作成者に送信して、リポジトリに含めることができるようにしてください.クレジットを取得してください
- プラグインをアップグレードするとファイルが失われるため、翻訳のバックアップを作成することを忘れないでください
- @ user17078プラグインの提案は非常に優れていますが、あまり使用したことはありません
The Editor
There are others, but this is most used: Poedit, a cross-platform gettext catalogs (.po files) editor.
The Formats
.mo
stands for Machine Object
-- compiled export of the.po
file which is used by WordPress.po
stands for Portable Object
-- editable text file with the translations strings
-- based on the master.pot
file, using Update from POT file PoEdit function
-- some folks distribute this as a master file, but it should be used only for translations.pot
stands for Portable Object Template
-- editable text file used to grab all the translatable strings from WordPress itself and Themes and Plugins, using Update from Sources PoEdit function
The Procedure
- Duplicate the .pot file and rename it to
plugin-basename-lang_COUNTRY.po
- Example for the referenced plugin case:
subscribe-reloaded-pt_BR.po
-- pt_BR means Portuguese Brazil, but many languages don't have a country variation...
-- you'll have to fill in with your own language WPLANG
inwp-config.php
file must be set to your language, e.g.,pt_BR
- Every time you save the
.po
file, PoEdit automatically generates a.mo
file, which is the one WordPress uses and basically the only one you need to upload
Observations
- If you do a full or a decent partial translation, submit it to the plugin author so he can include it in the Repository and you get credited for it
- Don't forget to make a backup of your translation, because if you upgrade the plugin your file will be lost
- @user17078 plugin suggestion is quite nice, but I never used it much
-
新しいmo/poファイルが有効になるまでどのくらいかかりますか?How long is the new mo/po file supposed to take to have effect?
- 2
- 2015-12-14
- Nemo
-
- 2012-07-02
この
codestyling-localizationプラグイン:を試すことができます.これを使用して、プラグインとテーマを翻訳できます. You can try this codestyling-localization plugin:. You can translate you plugins and themes using this.
-
これは私が今まで見た中で最高の翻訳プラグインです.このプラグインはいつでもpoeditを所有できますが、最良の部分は無料でユーザーフレンドリーなことです.この回答は、少なくとも投票する必要があります.This is the best translation plugin I have ever seen. This plugin can own poedit anyday and the best part is that it is free and user-friendly. This answer should be voted up atleast.
- 1
- 2014-10-02
- Gogol
-
もはや存在しない.No longer exists.
- 1
- 2015-06-03
- Chris Cox
-
これは良い選択肢のように見えます:https://wordpress.org/plugins/say-what/This looks like a good alternative: https://wordpress.org/plugins/say-what/
- 1
- 2015-06-10
- jetlej
-
@jetlejは興味深いですが、私のpoファイルでは機能しないようです:/@jetlej interesting, doesn't seem to work for my po file though :/
- 0
- 2015-12-14
- Nemo
-
- 2013-10-24
(これはDEUTSCHへの翻訳の例です.税関を希望の税関に変更してください.)
すべてのプラグインヘッドには、一意の名前があります. (例:
/* Plugin Name: my-pluginname ....... */
次に、そのプラグインのフォルダーに「languages」フォルダーを作成します.
次に、プラグインの.phpファイル(上部のどこかにあります)に、初期化コードを挿入します.
class load_language { public function __construct() { add_action('init', array($this, 'load_my_transl')); } public function load_my_transl() { load_plugin_textdomain('my-pluginname', FALSE, dirname(plugin_basename(__FILE__)).'/languages/'); } } $zzzz = new load_language;
次に、任意のテキストエディタを開き、次のコードのように挿入します(注:「hello」と「bye」の2つのサンプルメッセージのみを追加しているため、同様の行で必要な数のメッセージを追加できます) .
# English translations for PACKAGE package. # Copyright (C) 2012 THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # Automatically generated, 2012. # msgid "" msgstr "" "Project-Id-Version: my-pluginname 1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2012-08-06 13:46-0400\n" "PO-Revision-Date: 2013-03-21 11:20+0400\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "X-Poedit-SourceCharset: iso-8859-1\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Poedit 1.5.4\n" #: mypluginindex.php:87 (it is just a line of a note, to remind where our code appears) msgid "mymessage1" msgstr "Hello" #: mypluginindex.php:88 msgid "mymessage2" msgstr "Bye"
次に、このファイルを「my-pluginname-en_US.po」として保存します(.poはファイルの拡張子であるため、テキストエディタプログラムが「my-pluginname-en_US.po.TXT」に保存されていないことを確認してください. ").
次にPOEDITソフトウェアをダウンロードし、このファイルを開きます.次に、「translation」フィールドを編集して、「my-pluginname-de_DE」として保存します. 2つのファイルが生成されます(poEditが2番目の.moファイルを自動的に生成しない場合は、[ファイル]-> [設定]-> [エディター]に移動し、[保存時に.moファイルを自動的にコンパイルする]チェックボックスをオンにします)
次に、これら2つのファイルを「languages」フォルダに配置します.
この後、wp-config.phpを開き、次のコードを見つけます.
define ('WPLANG, '');
そしてに変更
define ('WPLANG, 'de_DE');
それだけです. WordPressが読み込まれると、プレフィックス-de_DEが付いたプラグイン言語ファイルが読み込まれます.
つまり、プラグインの.phpファイルでは、次の代わりに:
echo "Something string";
使用する必要があります:
echo __("mymessage1", 'my-pluginname');
終了しました.次に、プラグインをテストする必要があります.p.s.使用済みリンク:
(Here is an EXAMPLE of translation to DEUTSCH. CHANGE the customs to YOUR DESIRED ones.)
in every plugins head, there is an unique name. (for example:
/* Plugin Name: my-pluginname ....... */
then, in that plugin's folder, create a folder "languages";
then, into your plugin .php file (somewhere in the top), insert the initialization code:
class load_language { public function __construct() { add_action('init', array($this, 'load_my_transl')); } public function load_my_transl() { load_plugin_textdomain('my-pluginname', FALSE, dirname(plugin_basename(__FILE__)).'/languages/'); } } $zzzz = new load_language;
then open any text editor, then insert like this code (NOTE, THAT we are only adding two sample messages, "hello" and "bye", so , you can ADD AS MANY messages AS YOU WANT with the similar lines).
# English translations for PACKAGE package. # Copyright (C) 2012 THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # Automatically generated, 2012. # msgid "" msgstr "" "Project-Id-Version: my-pluginname 1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2012-08-06 13:46-0400\n" "PO-Revision-Date: 2013-03-21 11:20+0400\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "X-Poedit-SourceCharset: iso-8859-1\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Poedit 1.5.4\n" #: mypluginindex.php:87 (it is just a line of a note, to remind where our code appears) msgid "mymessage1" msgstr "Hello" #: mypluginindex.php:88 msgid "mymessage2" msgstr "Bye"
then save this file as "my-pluginname-en_US.po" (note, that .po is an extension of file, so check that your text editor program has not saved to "my-pluginname-en_US.po.TXT").
then download POEDIT software, and open this file. then edit the "translation" field, and then save as "my-pluginname-de_DE" there will be generated two files ( If poEdit does not generate the second .mo file automatically, just go to File -> Preferences -> Editor and check the box that says "Automatically compile .mo file on save"),
then put those two file into "languages" folder.
after this, open wp-config.php and find this code:
define ('WPLANG, '');
and change to
define ('WPLANG, 'de_DE');
That's all. When WordPress is loaded, it will read your plugins language file, with prefix -de_DE.
So, in the plugin's .php file, instead of:
echo "Something string";
you should use:
echo __("mymessage1", 'my-pluginname');
Finished. Now you should test your plugin.p.s. used links:
-
私は自分のテーマでこれを試しました.header.phpには、 `echo __("thanks-for-visiting "、 'transparent');`があります.theme \言語\transparent-en_US.poに `msgid"thanks-for-visiting "`があります `msgstr"こんにちは!ご覧いただきありがとうございます.周りを見て、 "`を購読してください.これにより、フロントエンドに「訪問してくれてありがとう」が出力されます.I tried this with my theme. In header.php, I have `echo __("thanks-for-visiting", 'transparent');`. In theme\languages\transparent-en_US.po, I have `msgid "thanks-for-visiting"` `msgstr "Hello! Thank you for visiting. Take a look around and subscribe to the "`. This outputs "thanks-for-visiting" on the front end.
- 0
- 2014-03-10
- Steve
-
- 2012-07-02
POEdit を使用することをお勧めします..po/.moファイルを作成するための無料のアプリケーションです.
トピック全体についてかなり詳細なチュートリアルを作成しました
ここ.手順3-テキストドメインの翻訳ファイルを作成するにスキップできます. -
- 2013-01-29
h ttp://poeditor.com/もお勧めします.これは、.po、.mo、.pot、およびその他の種類のファイルでうまく機能するWebベースの翻訳ツールです.
I suggest also http://poeditor.com/. It is a web-based translation tool that works great with .po, .mo, .pot and other types of files.
プラグインはすでに他の言語に翻訳されており、新しい言語を追加するための
.pot
ファイルがあります(説明から理解できる限り).新しい言語用に
.po
ファイルと.mo
ファイルを作成し、プラグインで使用できるようにアクセスできるようにするにはどうすればよいですか?以下の定義を挿入して、wp-config.php
ファイルでロシア語を定義しようとしました.