PO ファイルで翻           訳管理               倉澤 望 (鍋太郎)                  @nabetaroPO ファイルで翻訳管理           Powered by Rabbit 0.9.2
自己紹介    ✓ プログラマー    ✓ Debian JP    ✓ 長野ソフトウェアエンジニアグ      ループ (NSEG)                                   1/26PO ファイルで翻訳管理    ...
自己紹介    ✓ Debian JP で文書翻訳        ✓ インストールマニュアル        ✓ po4a, apt, etc    ✓ TortoiseSVN のヘルプ翻訳      (休止)                  ...
ドキュメントの翻訳    ✓ 訳すのは時間がかかる    ✓ でも保守が要らなければ、そん      なにつらくない    ✓ 保守しなければならない      と……?                                    3...
ドキュメントの翻訳保守    ✓ 保守し続けるのは大変    ✓ 終わらない    ✓ 追いつかないと、悲しいことに                                4/26PO ファイルで翻訳管理       Powered b...
悲しいことの例    ✓ 某 Linux ディストリビュー      ションの最新開発版のSSを例      示    ✓ 特定のプロダクトをdisる意図      はありません                                 ...
悲しいことの例 (日本語)                             6/26PO ファイルで翻訳管理    Powered by Rabbit 0.9.2
悲しいことの例 (原文)                               7/26PO ファイルで翻訳管理      Powered by Rabbit 0.9.2
追いつかないと    ✓ 古いままになる    ✓ 最新のプログラムの挙動を説明      していない    ✓ 結果的に「嘘」になる                                      8/26PO ファイルで翻訳管理 ...
翻訳が追いつかないなら    ✓ 原文の方が「嘘」の翻訳より      は、ましじゃないか?    ✓ そんな仕組みはないかな?    ✓ ...                                  9/26PO ファイルで翻訳管...
翻訳が追いつかないなら    ✓ 原文の方が「嘘」の翻訳より      は、ましじゃないか?    ✓ そんな仕組みはないかな?    ✓ ...ある                                10/26PO ファイルで翻訳...
GetText の PO ファイル    ✓ GNU GetText では、未訳の部      分は自動で原文 (msgid) にな      る    ✓ これをドキュメントに応用    ✓ 既存の PO ファイル翻訳支援      ツールが...
ドキュメントの翻訳にPOを      使用するツール    ✓ xml2po (gnome由来)    ✓ po2xml (kde由来)     対象はDocBook(XML)のみ?                               ...
Po4a (Po for anything)    ✓ 各種ドキュメントで po ファ      イルを使用するツール群     http://po4a.alioth.debian.org/                           ...
Po4a (Po for anything)    ✓ ドキュメントから文字列抽出      → po ファイル生成    ✓ poファイルから、ドキュメン      トに翻訳文字列挿入    ✓ 翻訳時に追加内容テキスト挿入    ✓ 上記の...
対応フォーマット       -   dia: 非圧縮 Dia ダイアグラム。       -   docbook: DocBook XML。       -   guide: Gentoo Linux の XML ドキュメントフォーマット。 ...
翻訳のフロー(po化)                                16/26PO ファイルで翻訳管理         Powered by Rabbit 0.9.2
翻訳のフロー(更新)                                   17/26PO ファイルで翻訳管理            Powered by Rabbit 0.9.2
翻訳のフロー(翻訳生成)                            18/26PO ファイルで翻訳管理     Powered by Rabbit 0.9.2
翻訳のフロー    ✓ 以上を、ファイルごとに行う    ✓ めんどくさい    ✓ Makefile 書く?                                   19/26PO ファイルで翻訳管理            Pow...
一括でやる方法    ✓ po4a コマンド    ✓ 設定ファイルで一括処理                                    20/26PO ファイルで翻訳管理             Powered by Rabbit...
po4a コマンドのフロー                            21/26PO ファイルで翻訳管理     Powered by Rabbit 0.9.2
設定ファイルの例        # location of pot and po        [po_directory] po        # Entities need to be present, even if not transl...
設定の基本        [po4a_alias:エイリアス] 形式 オプションなど        [type: 形式] 原文ファイル 生成する翻訳ファイル 追加内容ファイル        ...  ✓ $lang は 各言語コードに展開  ✓...
翻訳の位置    ✓ po_directory で POTファイ      ル、POファイルの位置指定    ✓ 言語コード.po が翻訳対象    ✓ 新言語の追加は POファイルを      置くだけ                    ...
おわりに    ✓ xmlだけじゃない    ✓ 特に manpage には便利    ✓ 問題はなくはないが、今のとこ      ろ使いやすい                                   25/26PO ファイルで翻訳...
おまけ  ✓ xml の階層はプレースホルダと    しておける        #. type: Content of: <refentry><refsect1><para>        #: apt-ftparchive.1.xml:612...
Upcoming SlideShare
Loading in …5
×

PO ファイルで翻訳管理

4,147 views

Published on

変わり続けるドキュメントの翻訳を保守し続けるのは大変です。それをサポートしてくれるツールを紹介します。

Published in: Technology, News & Politics
  • Be the first to comment

PO ファイルで翻訳管理

  1. 1. PO ファイルで翻 訳管理 倉澤 望 (鍋太郎) @nabetaroPO ファイルで翻訳管理 Powered by Rabbit 0.9.2
  2. 2. 自己紹介 ✓ プログラマー ✓ Debian JP ✓ 長野ソフトウェアエンジニアグ ループ (NSEG) 1/26PO ファイルで翻訳管理 Powered by Rabbit 0.9.2
  3. 3. 自己紹介 ✓ Debian JP で文書翻訳 ✓ インストールマニュアル ✓ po4a, apt, etc ✓ TortoiseSVN のヘルプ翻訳 (休止) 2/26PO ファイルで翻訳管理 Powered by Rabbit 0.9.2
  4. 4. ドキュメントの翻訳 ✓ 訳すのは時間がかかる ✓ でも保守が要らなければ、そん なにつらくない ✓ 保守しなければならない と……? 3/26PO ファイルで翻訳管理 Powered by Rabbit 0.9.2
  5. 5. ドキュメントの翻訳保守 ✓ 保守し続けるのは大変 ✓ 終わらない ✓ 追いつかないと、悲しいことに 4/26PO ファイルで翻訳管理 Powered by Rabbit 0.9.2
  6. 6. 悲しいことの例 ✓ 某 Linux ディストリビュー ションの最新開発版のSSを例 示 ✓ 特定のプロダクトをdisる意図 はありません 5/26PO ファイルで翻訳管理 Powered by Rabbit 0.9.2
  7. 7. 悲しいことの例 (日本語) 6/26PO ファイルで翻訳管理 Powered by Rabbit 0.9.2
  8. 8. 悲しいことの例 (原文) 7/26PO ファイルで翻訳管理 Powered by Rabbit 0.9.2
  9. 9. 追いつかないと ✓ 古いままになる ✓ 最新のプログラムの挙動を説明 していない ✓ 結果的に「嘘」になる 8/26PO ファイルで翻訳管理 Powered by Rabbit 0.9.2
  10. 10. 翻訳が追いつかないなら ✓ 原文の方が「嘘」の翻訳より は、ましじゃないか? ✓ そんな仕組みはないかな? ✓ ... 9/26PO ファイルで翻訳管理 Powered by Rabbit 0.9.2
  11. 11. 翻訳が追いつかないなら ✓ 原文の方が「嘘」の翻訳より は、ましじゃないか? ✓ そんな仕組みはないかな? ✓ ...ある 10/26PO ファイルで翻訳管理 Powered by Rabbit 0.9.2
  12. 12. GetText の PO ファイル ✓ GNU GetText では、未訳の部 分は自動で原文 (msgid) にな る ✓ これをドキュメントに応用 ✓ 既存の PO ファイル翻訳支援 ツールが使える 11/26PO ファイルで翻訳管理 Powered by Rabbit 0.9.2
  13. 13. ドキュメントの翻訳にPOを 使用するツール ✓ xml2po (gnome由来) ✓ po2xml (kde由来) 対象はDocBook(XML)のみ? 12/26PO ファイルで翻訳管理 Powered by Rabbit 0.9.2
  14. 14. Po4a (Po for anything) ✓ 各種ドキュメントで po ファ イルを使用するツール群 http://po4a.alioth.debian.org/ 13/26PO ファイルで翻訳管理 Powered by Rabbit 0.9.2
  15. 15. Po4a (Po for anything) ✓ ドキュメントから文字列抽出 → po ファイル生成 ✓ poファイルから、ドキュメン トに翻訳文字列挿入 ✓ 翻訳時に追加内容テキスト挿入 ✓ 上記の複数ファイル一括処理 ✓ etc.PO ファイルで翻訳管理 14/26 Powered by Rabbit 0.9.2
  16. 16. 対応フォーマット - dia: 非圧縮 Dia ダイアグラム。 - docbook: DocBook XML。 - guide: Gentoo Linux の XML ドキュメントフォーマット。 - ini: .INI フォーマット。 - kernelhelp: 各カーネルのコンパイルオプションのヘルプメッセージ。 - latex: LaTeX フォーマット。 - man: 古き良きマニュアルページフォーマット。 - pod: Perl オンラインドキュメントフォーマット。 - sgml: DebianDoc DTD と DocBook DTD。 - texinfo: info ページフォーマット。 - tex: 汎用 TeX ドキュメント (latex が参照)。 - text: シンプルなテキストフォーマット。(fortunes, markdown, asciidoc) - wml: WML ドキュメント。 - xhtml: XHTML ドキュメント。 - xml: 汎用 XML ドキュメント (docbook が参照)。 15/26PO ファイルで翻訳管理 Powered by Rabbit 0.9.2
  17. 17. 翻訳のフロー(po化) 16/26PO ファイルで翻訳管理 Powered by Rabbit 0.9.2
  18. 18. 翻訳のフロー(更新) 17/26PO ファイルで翻訳管理 Powered by Rabbit 0.9.2
  19. 19. 翻訳のフロー(翻訳生成) 18/26PO ファイルで翻訳管理 Powered by Rabbit 0.9.2
  20. 20. 翻訳のフロー ✓ 以上を、ファイルごとに行う ✓ めんどくさい ✓ Makefile 書く? 19/26PO ファイルで翻訳管理 Powered by Rabbit 0.9.2
  21. 21. 一括でやる方法 ✓ po4a コマンド ✓ 設定ファイルで一括処理 20/26PO ファイルで翻訳管理 Powered by Rabbit 0.9.2
  22. 22. po4a コマンドのフロー 21/26PO ファイルで翻訳管理 Powered by Rabbit 0.9.2
  23. 23. 設定ファイルの例 # location of pot and po [po_directory] po # Entities need to be present, even if not translated [po4a_alias:entity] text opt:"-k 0" # define source file and translated file (one file per line) [type: man] apt.8 $lang:$lang/apt.$lang.8 [type: entity] apt.ent $lang:$lang/apt.ent [type: docbook] apt-cache.8.xml $lang:$lang/apt-cache.$lang.8.xml add_$lang:xml.add [type: docbook] apt-cdrom.8.xml $lang:$lang/apt-cdrom.$lang.8.xml add_$lang:xml.add [type: docbook] apt-config.8.xml $lang:$lang/apt-config.$lang.8.xml add_$lang:xml.add 22/26PO ファイルで翻訳管理 Powered by Rabbit 0.9.2
  24. 24. 設定の基本 [po4a_alias:エイリアス] 形式 オプションなど [type: 形式] 原文ファイル 生成する翻訳ファイル 追加内容ファイル ... ✓ $lang は 各言語コードに展開 ✓ エイリアスを設定して、それを 形式として扱う 23/26PO ファイルで翻訳管理 Powered by Rabbit 0.9.2
  25. 25. 翻訳の位置 ✓ po_directory で POTファイ ル、POファイルの位置指定 ✓ 言語コード.po が翻訳対象 ✓ 新言語の追加は POファイルを 置くだけ 24/26PO ファイルで翻訳管理 Powered by Rabbit 0.9.2
  26. 26. おわりに ✓ xmlだけじゃない ✓ 特に manpage には便利 ✓ 問題はなくはないが、今のとこ ろ使いやすい 25/26PO ファイルで翻訳管理 Powered by Rabbit 0.9.2
  27. 27. おまけ ✓ xml の階層はプレースホルダと しておける #. type: Content of: <refentry><refsect1><para> #: apt-ftparchive.1.xml:612 msgid "" "To create a compressed Packages file for a directory containing binary " "packages (.deb): <placeholder type="programlisting" id="0"/>" msgstr "" "バイナリパッケージ (.deb) があるディレクトリの Packages ファイルを生成するに" "は、以下のようにします。<placeholder type="programlisting" id="0"/>" 26/26PO ファイルで翻訳管理 Powered by Rabbit 0.9.2

×