目次
NVDA翻訳グループ
checkout
> mkdir srt > cd srt > svn checkout http://subversion.assembla.com/svn/screenReaderTranslations .
システムの概要
NVDAのソースを直接編集するのではなく、翻訳者に影響があるソース差分と、翻訳者が編集するべきファイルだけを subversion (svn) で供給するしくみ。
SRTシステムは週に2回、自動処理をして、翻訳すべき差分をメンバーにメールで通知している。
ローカルで何か作業して、それが月曜日または木曜日の朝(GMT 4:00 から 8:00)までにコミットされていない場合には、スクリプトの処理とローカルの作業が衝突する可能性があるので注意、という話。。
コミットメッセージは "ja: updated changes up to and including 5188" みたいな書き方でよいとのこと。
ツール
since 2012-12-23
TortoiseSVN が推奨されている http://tortoisesvn.net/downloads.html
Windows 7 x64 で環境を作り直すために TortoiseSVN-1.7.11.23600-x64-svn-1.7.8.msi を試してみる。
インストールオプションで念のために command line tool も有効にする。
ドキュメントの翻訳
- ch-diffs: changes.t2t の要翻訳差分
- ug-diffs: userGuide.t2t の要翻訳差分
ドキュメントは txt2tags フォーマット。拡張子 t2t
ワークフロー説明の翻訳:
- メールで ch-diffs と ug-diffs を翻訳しなさい、と通知される。
- svn update すると、例えば ch-diffs/4500 のようなディレクトリが増えている。数字は svn のリビジョン番号。
- ディレクトリ 4500 にあるファイル: changes.t2t, diff.txt wdiff.txt log.txt
- diff.txt : 追加、変更、削除された行が「diffブロック」単位で書かれている。
- 翻訳が終わったら diff の中の行番号が編集済みファイルの行番号とほぼ一致するはずである。
- もしも diff.txt で変更があるとされているが、どこが変更されているか分かりにくいときは、同じ行を wdiff.txt で確認すると、単語単位の変更を知ることができる。
- log.txt は NVDA の bzr にコミットされたときのログメッセージ。翻訳に役立つことがある。
- すべての diff ブロックについて 4500 に関する作業が完了したら、svn diff と svn status を使って(抜けている作業がないか)確認する。
- svn commit する。コミットメッセージの中で 4500 の翻訳が完了したことを宣言する。
メッセージの翻訳
http://www.nvda-project.org/wiki/TranslatingTheInterface
poedit for Windows での作業。
- svn checkout / update した ja/nvda.po を poedit から開く。
- poeditの「表示」「自動コメントウィンドウを表示する」で翻訳者コメントを見ることができる。
- 編集しなかった行の改行位置などが変わってしまう可能性があるので svn diff するべき。。
ワークフロー説明の翻訳:
- メールで nvda.po が更新されたことを通知される。まだ翻訳されていないメッセージと fuzzy なメッセージ(poeditが勝手に日本語を当てはめただけで人手によるチェックができていないもの)の個数が示されている。
- svn update で変更を取り出す。
- 新しいメッセージとfuzzyなメッセージを翻訳する。
- コミットする。コミットのメッセージの中で作業が終了したかどうかを報告する。
msgmerge
since 2011-07-14
本家 nvda-dev MLで 2011-05-19..21 に議論。
翻訳の手順 http://www.nvda-project.org/wiki/TranslatingNVDA
に出てくるツール msgmerge.py は
http://trac.umitproject.org/export/4348/trunk/utils/i18n/msgmerge.py で手に入る、という話。
http://www.nvda-project.org/wiki/Snapshots にはスナップショットと一緒に pot が置かれている。
python msgmerge.py nvda.po nvda_snapshot_main-NNNN.pot > new_nvda.po
-U, --update update def.po, do nothing if def.po is already up to date. -o, --output-file=FILE write output to file FILE. Output is written to stdout if set to - or if the option is not present. -D, --docstrings don't remove docstring flag. -h, --help display help text and exit. -V, --version display version and exit. -q, --quiet, --silent suppress progress indicators.
どうやら msgmerge.py がマルチバイトセーフではなかったらしく文字化けに泣かされる。。
このへんにもあるけど同じものかどうか。
cygwin の gettext-devel に msgmerge.exe があるっぽい。。
emacs で PO 編集
emacs_po_mode に移動。
svn で diff
svn で diff を取ると、コマンドプロンプトのロケールが UTF-8 ではないので変なことになる。
SET LANG=C svn diff nvda.po > __diff
UTF-8 が読めるエディタで __diff を開くとよい。
過去の情報
NVDA のページから移動した内容。
中国語対応
- eSpeak
- zh Chinese - Mandarin と zhy Chinese - Cantonese のデータ