[1] [CITE@en[GNU `gettext' utilities]] ([TIME[2009-03-20 11:59:11 +09:00]] 版) [2] >The letters PO in .po files means Portable Object, to distinguish it from .mo files, where MO stands for Machine Object. This paradigm, as well as the PO file format, is inspired by the NLS standard developed by Uniforum, and first implemented by Sun in their Solaris system. ;; [CITE@en[GNU `gettext' utilities]] ([TIME[2009-03-20 11:59:11 +09:00]] 版) * 構文 [12] [[POファイルの構文解析]]を参照してください。 * 拡張 [4] [CITE@ja[KDE 日本語翻訳プロジェクト]] [CSECTION[KDE の独自拡張]] ([TIME[2009-03-20 15:42:24 +09:00]] 版) [9] [CITE[Locale::Maketext::Lexicon::Gettext - PO and MO file parser for Maketext - search.cpan.org]] ([TIME[2009-03-20 16:20:26 +09:00]] 版) * 頭部 - [CODE@en[[[Content-Transfer-Encoding:]]]] [SRC@en[[[GNU]] [[gettext]]]] - [CODE@en[[[Content-Type:]]]] [SRC@en[[[GNU]] [[gettext]]]] - [CODE@en[[[Language-Team:]]]] [SRC@en[[[GNU]] [[gettext]]]] - [CODE@en[[[Last-Translator:]]]] [SRC@en[[[GNU]] [[gettext]]]] - [CODE@en[[[MIME-Version:]]]] [SRC@en[[[GNU]] [[gettext]]]] - [CODE@en[[[Project-Id-Version:]]]] [SRC@en[[[GNU]] [[gettext]]]] - [CODE@en[[[Plural-Forms:]]]] [SRC@en[[[GNU]] [[gettext]]]] - [CODE@en[[[PO-Revision-Date:]]]] [SRC@en[[[GNU]] [[gettext]]]] - [CODE@en[[[POT-Creation-Date:]]]] [SRC@en[[[GNU]] [[gettext]]]] - [CODE@en[[[Report-Msgid-Bugs-To:]]]] [SRC@en[[[GNU]] [[gettext]]]] - [CODE@en[[[X-Accelerator-Marker:]]]] - [CODE@en[[[X-Launchpad-Export-Date:]]]] - [CODE@en[[[X-Generator:]]]] - [CODE@en[[[X-Poedit-Country:]]]] - [CODE@en[[[X-Poedit-Language:]]]] - [CODE@en[[[X-Poedit-SourceCharset:]]]] * エントリー内 - [CODE@en[[['''#''' ]]]] [[翻訳者注釈]] [SRC@en[[[GNU]] [[gettext]]]] - [CODE@en[[['''#'''.]]]] [[抽出注釈]] [SRC@en[[[GNU]] [[gettext]]]] - [CODE@en[[['''#''':]]]] [[参照]] [SRC@en[[[GNU]] [[gettext]]]] - [CODE@en[[['''#''',]]]] [[旗]] [SRC@en[[[GNU]] [[gettext]]]] - [CODE@en[[['''#'''|]]]] 旧版 [SRC@en[[[GNU]] [[gettext]]]] - [CODE@en[[['''#'''~]]]] 廃止済み [SRC@en[[[GNU]] [[gettext]]]] - [CODE@en[[[domain]]]] [SRC@en[[[GNU]] [[gettext]]]] - [CODE@en[[[msgctxt]]]] [SRC@en[[[GNU]] [[gettext]]]] - [CODE@en[[[msgid]]]] [SRC@en[[[GNU]] [[gettext]]]] - [CODE@en[[[msgid_plural]]]] [SRC@en[[[GNU]] [[gettext]]]] - [CODE@en[[[msgstr]]]] [SRC@en[[[GNU]] [[gettext]]]] * 旗 - [CODE@en[[[fuzzy]]]] [SRC@en[[[GNU]] [[gettext]]]] - [CODE@en[[[no-wrap]]]] - [CODE@en[[[awk-format]]]] [SRC@en[[[GNU]] [[gettext]]]] - [CODE@en[[[no-awk-format]]]] [SRC@en[[[GNU]] [[gettext]]]] - [CODE@en[[[boost-format]]]] [SRC@en[[[GNU]] [[gettext]]]] - [CODE@en[[[no-boost-format]]]] [SRC@en[[[GNU]] [[gettext]]]] - [CODE@en[[[c-format]]]] [SRC@en[[[GNU]] [[gettext]]]] - [CODE@en[[[no-c-format]]]] [SRC@en[[[GNU]] [[gettext]]]] - [CODE@en[[[csharp-format]]]] [SRC@en[[[GNU]] [[gettext]]]] - [CODE@en[[[no-csharp-format]]]] [SRC@en[[[GNU]] [[gettext]]]] - [CODE@en[[[elisp-format]]]] [SRC@en[[[GNU]] [[gettext]]]] - [CODE@en[[[no-elisp-format]]]] [SRC@en[[[GNU]] [[gettext]]]] - [CODE@en[[[gcc-internal-format]]]] [SRC@en[[[GNU]] [[gettext]]]] - [CODE@en[[[no-gcc-internal-format]]]] [SRC@en[[[GNU]] [[gettext]]]] - [CODE@en[[[java-format]]]] [SRC@en[[[GNU]] [[gettext]]]] - [CODE@en[[[no-java-format]]]] [SRC@en[[[GNU]] [[gettext]]]] - [CODE@en[[[kde-format]]]] [SRC@en[[[GNU]] [[gettext]]]] - [CODE@en[[[no-kde-format]]]] [SRC@en[[[GNU]] [[gettext]]]] - [CODE@en[[[librep-format]]]] [SRC@en[[[GNU]] [[gettext]]]] - [CODE@en[[[no-librep-format]]]] [SRC@en[[[GNU]] [[gettext]]]] - [CODE@en[[[lisp-format]]]] [SRC@en[[[GNU]] [[gettext]]]] - [CODE@en[[[no-lisp-format]]]] [SRC@en[[[GNU]] [[gettext]]]] - [CODE@en[[[objc-format]]]] [SRC@en[[[GNU]] [[gettext]]]] - [CODE@en[[[no-objc-format]]]] [SRC@en[[[GNU]] [[gettext]]]] - [CODE@en[[[object-pascal-format]]]] [SRC@en[[[GNU]] [[gettext]]]] - [CODE@en[[[no-object-pascal-format]]]] [SRC@en[[[GNU]] [[gettext]]]] - [CODE@en[[[perl-format]]]] [SRC@en[[[GNU]] [[gettext]]]] - [CODE@en[[[no-perl-format]]]] [SRC@en[[[GNU]] [[gettext]]]] - [CODE@en[[[perl-brace-format]]]] [SRC@en[[[GNU]] [[gettext]]]] - [CODE@en[[[no-perl-brace-format]]]] [SRC@en[[[GNU]] [[gettext]]]] - [CODE@en[[[php-format]]]] [SRC@en[[[GNU]] [[gettext]]]] - [CODE@en[[[no-php-format]]]] [SRC@en[[[GNU]] [[gettext]]]] - [CODE@en[[[python-format]]]] [SRC@en[[[GNU]] [[gettext]]]] - [CODE@en[[[no-python-format]]]] [SRC@en[[[GNU]] [[gettext]]]] - [CODE@en[[[qt-format]]]] [SRC@en[[[GNU]] [[gettext]]]] - [CODE@en[[[no-qt-format]]]] [SRC@en[[[GNU]] [[gettext]]]] - [CODE@en[[[scheme-format]]]] [SRC@en[[[GNU]] [[gettext]]]] - [CODE@en[[[no-scheme-format]]]] [SRC@en[[[GNU]] [[gettext]]]] - [CODE@en[[[sh-format]]]] [SRC@en[[[GNU]] [[gettext]]]] - [CODE@en[[[no-sh-format]]]] [SRC@en[[[GNU]] [[gettext]]]] - [CODE@en[[[smalltalk-format]]]] [SRC@en[[[GNU]] [[gettext]]]] - [CODE@en[[[no-smalltalk-format]]]] [SRC@en[[[GNU]] [[gettext]]]] - [CODE@en[[[tcl-format]]]] [SRC@en[[[GNU]] [[gettext]]]] - [CODE@en[[[no-tcl-format]]]] [SRC@en[[[GNU]] [[gettext]]]] - [CODE@en[[[ycp-format]]]] [SRC@en[[[GNU]] [[gettext]]]] - [CODE@en[[[no-ycp-format]]]] [SRC@en[[[GNU]] [[gettext]]]] * Charset [3] [CITE@ja[Re: gettext-0.10.38 について]] ([TIME[2004-06-13 23:44:42 +09:00]] 版) > 0.1.36 から multibyte が正しく処理されるようになった、ということです よね。 > で、shift_jis っぽい encoding である big5 では single byte の encoding として処理された時の不具合を避けるために、文字によっては \ を 入れてた、というのがありました。それが最近の gettext では問題となる、 ということのようです (shift_jis の文字列を C のコードに埋め込む場合に 「表」を「表\」にするような...)。 > euc-jp でも何か問題がありましたかね。文字の上位バイトと下位バイトが 別々の行に泣き別れになってる ja.po の場合にはなにかありそうですが、そ れかな。 [10] [CITE[Locale::Maketext::Simpleのハマリどころ - Kitano’s Ramblings on Sillicon Valley]] ([TIME[2009-03-20 20:34:22 +09:00]] 版) [CODE@en[[[Content-Type:]]]] や [CODE@en[[[Content-Transfer-Encoding:]]]] の左右が [[utf8旗]]に影響を与えるらしいです。 * 実装 [5] [CITE@en[Ruby-GetText-Package - YotaLab Storage]] ([TIME[2009-03-20 15:55:41 +09:00]] 版) [6] [CITE[Locale::PO - Perl module for manipulating .po entries from GNU gettext - search.cpan.org]] ([TIME[2009-03-20 16:03:51 +09:00]] 版) [7] >>6 は[[ライセンス]]不詳なのが痛い。 [8] [CITE[Steffen Winkler / DBD-PO-2.04 - search.cpan.org]] ([TIME[2009-03-20 16:17:43 +09:00]] 版) [11] [CODE(perl)@en[[[Text::Po::Parser]]]] というのもありましたが、なぜか [[CPAN]] からは削除されているみたいですね。探せば出てきますが。 2006年のものみたいです。 [13] [CITE@en[PO Viewer]] ([TIME[2009-03-21 22:39:26 +09:00]] 版) [[msgfmt]] + [[msgunfmt]] の結果を見れます。 * 媒体型 [14] [[MIME]] [[媒体型]]は [CODE(MIME)@en[[[text/x-po]]]] が用いられます。 [CODE(MIME)@en[[[charset]]]] [[引数]]が指定されることもあります。 * 拡張子 [15] [[ファイル名]]の[[拡張子]]には [CODE(file)@en[[[.po]]]] が用いられます。