福岡のIT系の会社で働くエンジニアのブログです。

技術雑記

Poeditを使って複数形のソースを読み込み編集する方法

Twitter bookmark Facebook LINE Pocket Feedly RSS

Poeditとはなんぞや?


[caption id="attachment_811" align="alignleft" width="300"]Poedit (画像はMacOSX版) Poedit (画像はMacOSX版)
クリックすると拡大します。[/caption]

WordPressのテーマやプラグインなど、普段いろいろと便利に使わせてもらっています。公開していただいている方には頭がさがる思いです。

そんな中、自分で使う場合には気にならないのですが、クライアント様のサイトなどに納品するときなどに時々言われるのが、

「ココ英語のままなんだけど、何とかならんの?」

という指摘がたまにあったりします…。

テーマやプラグイン自体が対応していなくても、有志の方などで日本語リソースが作成されている場合は、ありがたく活用させていただいているのですが、ない場合はどうしようもないので、自分で作るわけです。

で、そんなときに使うのがPoeditです(例がわかりにくッ!)。

Poeditは Windows版やMacOSX版、Linux版など各種プラットフォームに対応した翻訳ファイル作成用のエディタです。.potファイルから.poファイル、.moファイルを作ったりします。

翻訳ファイルの仕組みや詳しいことは詳しく書かれたブログなどたくさんありますので、参考サイトなどを見て下さい。(参考:poEdit で翻訳ファイルを作る

まぁ、簡単に説明すると、英語なんかのソースファイルから翻訳する部分をバババッと抜き出して、エディタでちまちま英語に対応する翻訳を記述して行くというツールですね。地味な作業ですが結構大変です。出来た翻訳ファイルはとても役に立ちます(^^)

複数形の翻訳はどうやって記述するのか


で、本題です。

日本語だけ見てるとあまり気が付かないのですが、英語(日本語以外の言語)は数を表示するときに単語が変わったり(単数形、複数形)、いくつか表示方法がある場合があります。

例えば
One Thought on “ ほげほげ ”
28 Thoughts on “ ほげほげ ”

とか
One Response to ふがふが
12s Responses to ふがふが

みたいなの。

まぁ、.poファイルに直接記述するときは
msgid "One Response to %2$s"
msgid_plural "%1$s Responses to %2$s"
msgstr[0] "なんとかかんとか1"
msgstr[1] "なんとかかんとか2"

みたいにすればよいのですが、PoeditのGUIで、となるとわからずちょっと困ったのですが、きちんと複数形の設定をすれば、GUIでも考慮されているようで、さすが!って感じでした。

Poedit 複数形の設定の方法


メニューの「カタログ」→「設定」で「カタログの設定」画面を出します。


Poedit カタログの設定 ー 翻訳の設定
「カタログの設定」画面が表示されましたら、「翻訳の設定」の項目をよく見ると下の方に「複数形」という設定項目があります。

ここに
nplurals=1; plural=0;

と記述して複数形を表示するようにします。




Poedit カタログの設定 ー ソース中のキーワード

また、「ソース中のキーワード」の項目に
_n:1,2

とキーワードを追加して下さい。

※ ここの追加方法がちょっと分かりにくいですが、_eの下辺りの空白を選択して、poedit : カタログ設定 - ソース中のキーワード - 新規項目ボタンボタン(新規項目ボタン)を押すと入力できるようになります。


きちんと設定されていると、上部の「更新する」アイコンを押すと、下記の画像のように「単数形」「複数」「翻訳」と複数形の処理が出来る様になります。

[caption id="attachment_830" align="aligncenter" width="300"]poedit04 Poedit 複数形の入力画面
(クリックすると拡大します。)[/caption]

日本語の場合は単数形も複数形もほぼ同じなので入力エリアはひとつに設定されています。

これで保存すると、正しく.moファイルも作成されます。バッチリ!

参考


Twitter bookmark Facebook LINE Pocket Feedly RSS