[28] POファイルは、 プログラム等で利用する文字列データの記述形式です。 多言語対応のためプログラムと文字列を分離する際に使われています。
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.
[12] POファイルの構文解析を参照してください。
[4] KDE 日本語翻訳プロジェクト KDE の独自拡張 ( 版) http://www.kde.gr.jp/document/po/index.php#KDEorig
[9] Locale::Maketext::Lexicon::Gettext - PO and MO file parser for Maketext - search.cpan.org ( 版) http://search.cpan.org/~drtech/Locale-Maketext-Lexicon-0.77/lib/Locale/Maketext/Lexicon/Gettext.pm
[26] Content-Transfer-Encoding: GNU gettextContent-Type: GNU gettextLanguage-Team: GNU gettextLast-Translator: GNU gettextMIME-Version: GNU gettextProject-Id-Version: GNU gettextPlural-Forms: GNU gettextPO-Revision-Date: GNU gettextPOT-Creation-Date: GNU gettextReport-Msgid-Bugs-To: GNU gettextX-Accelerator-Marker:X-Launchpad-Export-Date:X-Generator:X-Poedit-Country:X-Poedit-Language:X-Poedit-SourceCharset:Language:X-Loco-Source-Locale:X-Loco-Target-Locale:X-Loco-Project-Id:X-Loco-Api-Version:X-Direction: >>34X-Language: >>34X-Language-in-English: >>34X-HasWikiMarkup: >>34
fuzzy GNU gettextno-wrapawk-format GNU gettextno-awk-format GNU gettextboost-format GNU gettextno-boost-format GNU gettextc-format GNU gettextno-c-format GNU gettextcsharp-format GNU gettextno-csharp-format GNU gettextelisp-format GNU gettextno-elisp-format GNU gettextgcc-internal-format GNU gettextno-gcc-internal-format GNU gettextjava-format GNU gettextno-java-format GNU gettextkde-format GNU gettextno-kde-format GNU gettextlibrep-format GNU gettextno-librep-format GNU gettextlisp-format GNU gettextno-lisp-format GNU gettextobjc-format GNU gettextno-objc-format GNU gettextobject-pascal-format GNU gettextno-object-pascal-format GNU gettextperl-format GNU gettextno-perl-format GNU gettextperl-brace-format GNU gettextno-perl-brace-format GNU gettextphp-format GNU gettextno-php-format GNU gettextpython-format GNU gettextno-python-format GNU gettextqt-format GNU gettextno-qt-format GNU gettextscheme-format GNU gettextno-scheme-format GNU gettextsh-format GNU gettextno-sh-format GNU gettextsmalltalk-format GNU gettextno-smalltalk-format GNU gettexttcl-format GNU gettextno-tcl-format GNU gettextycp-format GNU gettextno-ycp-format GNU gettext[3] Re: gettext-0.10.38 について ( 版) http://mail.gnome.gr.jp/ml/gnome-translation/200106/msg00005.html
0.1.36 から multibyte が正しく処理されるようになった、ということです よね。
で、shift_jis っぽい encoding である big5 では single byte の encoding として処理された時の不具合を避けるために、文字によっては \ を 入れてた、というのがありました。それが最近の gettext では問題となる、 ということのようです (shift_jis の文字列を C のコードに埋め込む場合に 「表」を「表\」にするような...)。
euc-jp でも何か問題がありましたかね。文字の上位バイトと下位バイトが 別々の行に泣き別れになってる ja.po の場合にはなにかありそうですが、そ れかな。
[10] Locale::Maketext::Simpleのハマリどころ - Kitano’s Ramblings on Sillicon Valley ( 版) http://d.hatena.ne.jp/t-kitano/20070528/1180334424
Content-Type: や Content-Transfer-Encoding:
の左右が utf8旗に影響を与えるらしいです。
[35]
msgstr に記述される値は、文字列、つまり当該言語に翻訳された人間対象の文章片です。
[36] 実際には応用依存となる部分が大きく、いろいろな文字列化データが入ることがあります。
[38]
#, のような形で指定されることもあれば、されないこともあります。
[37]
printf されるデータは、 %s などの printf 形式の変数文字列が使われます。
#, c-format です。
[40]
#, python-format
>>34
のように各言語の同様の雛形構文の文字列が使われることがあります。
[41] Webページ目的のものでは HTML のタグが使われることがあります。
[42]
言語によって変化するフォント名、色、 class、
その他の人間向け以外の文字列を msgstr とすることがあります。
[5] Ruby-GetText-Package - YotaLab Storage ( 版) http://www.yotabanana.com/hiki/ruby-gettext.html
[6] Locale::PO - Perl module for manipulating .po entries from GNU gettext - search.cpan.org ( 版) http://search.cpan.org/~ken/Locale-PO-0.21/PO.pm
[8] Steffen Winkler / DBD-PO-2.04 - search.cpan.org ( 版) http://search.cpan.org/~steffenw/DBD-PO-2.04/
[11] Text::Po::Parser というのもありましたが、なぜか
CPAN からは削除されているみたいですね。探せば出てきますが。
2006年のものみたいです。
[13] PO Viewer ( 版) http://suika.fam.cx/~wakaba/-temp/test/po/tools/live
[18] >>17 は >>13 のソースコード。 >>13 はもう動作しない。
[19] POEditor - Software translation management app ( 版) https://poeditor.com/
[20] ITS Tool | XML to PO and back again ( 版) http://itstool.org/
[23] Online PO file editor - Powered by Loco ( 版) https://localise.biz/free/poeditor
[24] Compiling translations ( 版) https://angular-gettext.rocketeer.be/dev-guide/compile/
[22] 翻訳した文字列データを含まない空の状態の PO ファイルを特に POT (PO template) と呼んでいます。
After preparing the sources, the programmer creates a PO template file.
When starting a new translation, the translator creates a file called LANG.po, as a copy of the package.pot template file with modifications in the initial comments (at the beginning of the file) and in the header entry (the first entry, near the beginning of the file).
[14] MIME型は text/x-po が用いられます。
charset 引数が指定されることもあります。
[33] POファイルに
text/x-gettext-translation、
POTファイルに
text/x-gettext-translation-template
も使われるようです。
[21] ITS and PO | ITS Tool ( 版) http://itstool.org/documentation/its-and-po/
[25] Apps/Gtranslator - GNOME Wiki! ( 版) https://wiki.gnome.org/Apps/Gtranslator