綾小路龍之介の素人思考

[gettext] msgidとmsgstrで引数の順番を入れ替えるには%2$sや%1$sを使う

英語から日本語へ翻訳する際に、英語として自然な語順と日本語として自然な語順が異なるってのはよくあること。そんなときは %2$s や %1$s を使う。

引数の無い場合は単純に翻訳

msgid "No proxy defined"
msgstr "プロクシが定義されていません。"

引数が一つの場合は引数部分を使って翻訳

msgid "Usage: %s [option...] [plugin:option...]\n"
msgstr "使用法: %s [オプション...] [プラグイン:オプション...]\n"

引数が二つ以上の場合は逆転させて翻訳することも可能

msgid "    written by \"%s\", license: %s"
msgstr "    ライセンス \"%2$s\", 開発者: %1$s"

リファレンス

  1. Gettextによるウェブアプリケーションの国際化と地域化(2/4):CodeZine
  2. gettext msgstr "%2$s" "%1$s" - Google 検索
  3. 表示の多言語化
  4. po gmo - Google 検索

ソーシャルブックマーク

  1. はてなブックマーク
  2. Google Bookmarks
  3. del.icio.us

ChangeLog

  1. Posted: 2009-05-18T00:32:37+09:00
  2. Modified: 2009-05-18T00:32:37+09:00
  3. Generated: 2018-11-19T23:09:12+09:00