Python界隈の翻訳プロジェクト

64

description

The presentation for PyCon mini JP 2011

Transcript of Python界隈の翻訳プロジェクト

Page 1: Python界隈の翻訳プロジェクト
Page 3: Python界隈の翻訳プロジェクト
Page 4: Python界隈の翻訳プロジェクト

Python は(日本では)マイナーだGoogle App Engine

ソーシャルアプリ開発

Python は日本語情報が少ないそんなことないよ!!!

Python プログラマは変態だ・・・

Page 5: Python界隈の翻訳プロジェクト

一般アンケート

翻訳者インタビュー

Doc-jp翻訳プロジェクト

翻訳とは、翻訳をがんばる

翻訳に役立つツール

Page 6: Python界隈の翻訳プロジェクト

翻訳を通しておもしろそうなことを考える

他者へ「伝える」という手段そのものを楽しむ

勉強する習慣作り

自分自身の成長のものさし

翻訳対象の第一人者を目指す

面倒なところを解決するツールを開発する

コミュニティのつながりを楽しむ

Page 7: Python界隈の翻訳プロジェクト
Page 8: Python界隈の翻訳プロジェクト

Python の日本語情報は未だ少ないのか

ブログに書いて python-ml-jpで協力を依頼

はてなーと Python 使いの回答が多いので回答内容にはやや偏りがあると見た方が良い

回答数: 65件

後日、記述式の内容を何らかの形で公開します

Page 9: Python界隈の翻訳プロジェクト

少なくないよ!

Page 10: Python界隈の翻訳プロジェクト

回答者の半分は翻訳経験者、かなり偏りがある

Page 11: Python界隈の翻訳プロジェクト
Page 12: Python界隈の翻訳プロジェクト

翻訳者たち

増田泰さん

ふるかわとおるさん

水野貴明さん

アイコン覚えておいて

翻訳ドキュメント多数

PEP8 翻訳、月刊 Python

雑誌連載、著書多数

Page 13: Python界隈の翻訳プロジェクト

俺がどれだけ翻訳したと思ってるんだ、文句あるやつ出てこい!!!

Page 14: Python界隈の翻訳プロジェクト

十分なドキュメントはあると思うけどどこかに集まっていない気がする

多いか少ないか分からないけど知りたい情報がすぐに見つからない

Page 15: Python界隈の翻訳プロジェクト

研究員のときの憂さ晴らし翻訳は必ず成果が出るから楽しい

エリック・レイモンド「ハッカーになろう」2ch ブラウザ「KittyWalk」の開発

文章を書くのが好き!!!周りに「やりたい」と言い続けてた

Page 16: Python界隈の翻訳プロジェクト

自分の成長

Page 17: Python界隈の翻訳プロジェクト

テクニカルライター洋書を隅々まで読む機会になる

本が売れないからこそエンジニアはチャンス(翻訳のプロが技術書を翻訳しない)編集者や著者・訳者の知り合いに

日頃からやる気をアピール1人で翻訳できる限界は250ページ監訳は受けない方が良いと思う

Page 18: Python界隈の翻訳プロジェクト

PEP8

Python のコーディングスタイルガイド

インデントはスペース4個、タブと混在しない

括弧の内側は余分な空白をいれない

spam(ham[1], {egg: 2})

このスタイルのチェックツールに pep8がある

Pythonのコーディング規約pep8チェックをUnitTestに組み込んでみた—清水川Web

Page 19: Python界隈の翻訳プロジェクト
Page 20: Python界隈の翻訳プロジェクト

Python 標準ドキュメントが断トツ!

Page 21: Python界隈の翻訳プロジェクト

wxPython,Pygtk,PySide

Werkzeug, pyramid,Flask, web2py

Buildout,setuptools

nose uWSGI, gunicornPEP

Twisted,gevent,eventlet

numpy, scipy

docutils

PyMOTW

Python3How to Think Like a Computer ScientistHello World! Computer Programming for Kids

Page 22: Python界隈の翻訳プロジェクト

いろんな翻訳プロジェクトを調べて、、、

きていません

ごめんなさい (><)

Python 標準ドキュメント翻訳プロジェクトのみです

Page 25: Python界隈の翻訳プロジェクト

翻訳者不足

環境整備や運用ノウハウの共有が行えない

バージョン間の翻訳作業期間が長くなる

ドキュメントのアップデートにすぐに追随できない

翻訳が一部の人に偏ってしまう

翻訳参加者、大募集中です!!!

ML に「翻訳やりたいです」と投稿してください

Page 26: Python界隈の翻訳プロジェクト

感謝感謝の気持ちでいっぱいです

感謝してもしきれないくらい感謝しています

優れたテクノロジーを広める手助けをしている

全ての翻訳者に心から賛辞を送ります

有用なコンテンツが多く大変感謝しています

ありがたい限りでございます

Windows Help ファイルを提供していただいていることは大変役に立っており、有難いです

Page 27: Python界隈の翻訳プロジェクト

フィードバック先を明示してほしい

直訳は避けて意訳するようにしてほしい

ニュースのヘッドラインだけ日本語翻訳するtraiss.tabesugi.net などの Python 系ニュース版があってもおもしろいかもしれません

中途半端で放置されたものは検索エンジンの目に触れないように削除してください

原文のリンクが分かり易いところにあると良い

Page 28: Python界隈の翻訳プロジェクト

1人では分量が多いドキュメントは分担しよう

レビューしたり、されたりで英語力が高まる

競ったり、焦ったりでモチベーションを維持する

プロジェクトに参加して自身の経験値を上げる

翻訳は経験がない人の方が向く一度翻訳をした人は既に内容が分かるので継続して翻訳に参加する動機になりにくい

Page 30: Python界隈の翻訳プロジェクト

やるならやるよ

Page 31: Python界隈の翻訳プロジェクト

まっちょ!

Page 32: Python界隈の翻訳プロジェクト
Page 33: Python界隈の翻訳プロジェクト

大事なのは日本語力

エンジニアは翻訳をやるとお得 -渋日記

「することができます」 -> 「できます」「あなたは~するでしょう」 -> 「できます」

普通に使う日本語か、原文は完璧じゃない

日本語を読むリズムを考える句読点の位置にこだわる

Page 34: Python界隈の翻訳プロジェクト

翻訳が面倒になるとき

原文の更新に追随するメンテナンスコスト

共同翻訳だと他の人とのやり取り

原文の意味が分からない

ずっとやってると飽きてくる

複数プロジェクトに参加して他のプロジェクトで気分転換する

Page 35: Python界隈の翻訳プロジェクト

ソースコードを読む、もしくは実行する未訳で置いておいて後で読み返す

何回も考える、著者に聞く

Page 36: Python界隈の翻訳プロジェクト

英語の語彙の少ない人には、優れた辞書が、とても、とても、とても大切です。例文や、熟語の項目が豊富で、オフラインでも使えるもの。辞書にアクセスできないときには翻訳をする気がおきないくらい頼りにしましょう。

翻訳対象のテクノロジーがよく分からない間は、無理に直訳しないで、関連する技術を読んで、裏をとりましょう。理解していれば、それっぽい意訳ができるようになるし、だいたい自分も説明できることを原文の流れで書くだけなので、格段に筆が乗ります。

原文がテキストファイルなら、できるだけそれを使いましょう。ビルドシステムも、手元で動くように研究して手を入れましょう。レンダリング後のHTMLファイルを対象にすると、後で原文のリビジョンが変わったときに、差分の追跡が面倒です。

翻訳を始める時点で、原文のリビジョンは必ず控えておくこと。数ヶ月かかる翻訳作業で、差分を処理しながらtrunk翻訳を続けるなんて阿呆です。原文のリビジョンに追従する余力がないのなら、特定のリビジョンを完成させることにこだわるほうが気力を保てます。

慣れてくると、だいたい1時間あたり自分がどれだけ訳出できるかが見えてきます。で、翻訳対象を見たときに、どれだけかかりそうか見積もって、気合を溜めます。飽きてきたら、末尾とか、別のセクションの面白そうなところをやります。やる気が戻ってきたら、しんどいところに戻って、完全突破する気で挑みます。

公開して、反響を見ながら毎日更新するのも、やる気が出ていいかも。

Page 37: Python界隈の翻訳プロジェクト

Sun の技術用語の対訳リストが参考になる

実際に試しながら翻訳する

Windows 環境だと PDIC + DokoPopが便利

流行り廃りの影響を受けにくい内容の文書を **マイペース** で翻訳すると長続きする

厳密さにこだわらない

Page 38: Python界隈の翻訳プロジェクト

変な訳語を自分でつくると、後で必ずクレームをいただいたり、他の日本語情報と用語が一致せず悲しいことになります。

よくわからないで逐語訳っぽく適当に訳した内容が、何年も後に全く正反対のことを誤訳していたと分かってとても恥ずかしい思いをしたことがあります。

翻訳ばっかりやってると、ハックはできないよ。自分は何屋さんなのか、どっちが手段でどっちが目的か(気づいたらいい意味で本当に入れ替わってる人もいます)、時々見つめ直そうね。

Page 39: Python界隈の翻訳プロジェクト

バージョン管理、原文更新後のメンテナンスが面倒

翻訳プロジェクトでメンバーとのやり取りが煩雑でやめてしまった

他人に訂正された文体が気に入らなくてストレス

最新版ドキュメントだと思ってたらそうじゃなかった

最初に用語統一しないと後で大変

飽きたり、疲れたりすると直訳になる

翻訳したら既に誰かが翻訳していた

製品名や専門用語まで翻訳してしまった

翻訳は面倒?

Page 40: Python界隈の翻訳プロジェクト

そもそも目的は翻訳じゃない

Page 41: Python界隈の翻訳プロジェクト

(能力的に)翻訳はできるけど時間がない

ツールを使って効率化しましょう

英語が苦手で翻訳に自信がない

ツールを使って少しずつやりましょう

Page 42: Python界隈の翻訳プロジェクト
Page 43: Python界隈の翻訳プロジェクト

辞書サイト

翻訳サイト

アプリケーションの国際化の仕組み

Web コラボレーションツール

翻訳ツール

Page 44: Python界隈の翻訳プロジェクト

アルク人気

Page 45: Python界隈の翻訳プロジェクト

英和・和英辞書

スペースアルク(英辞郎)

英英辞書

ケンブリッジ大学出版局のオンライン辞書

言いたいことのニュアンスを理解して日本語らしく

「Working on APIs」-アルク: 取り組む、取り掛かる、従事する、働き掛ける-ケンブリッジ: to spend time repairing or improving something

API の開発プロセス

Page 46: Python界隈の翻訳プロジェクト

エキサイト人気

Page 47: Python界隈の翻訳プロジェクト

GNU gettext

poファイルというテキストで記述

Qt Linguist

tsファイルという XML で記述

Babel

edgewallが開発、Tracで採用

テンプレート内の文字列も国際化できる

GNU gettextの高レベル API を提供?

Page 48: Python界隈の翻訳プロジェクト

GNU gettext

最も普及している国際化の仕組み

実際に翻訳するテキストファイルが poファイル

アプリから参照するバイナリファイルmo ファイル

gettext メッセージカタログ - PyMOTW

msgid “translate”msgstr “翻訳する”

msgfmt

poファイル

mo ファイル

Page 49: Python界隈の翻訳プロジェクト

翻訳経験者32人に対して以外に少ない?

Page 50: Python界隈の翻訳プロジェクト

Transifex

Djangoで開発されている翻訳プラットホーム

Fedora やMeeGoの翻訳プロジェクトで採用

PO ファイルをサポート

バージョン管理システムと連携(直接的にコミット)

Page 51: Python界隈の翻訳プロジェクト
Page 52: Python界隈の翻訳プロジェクト

LaunchPadZope3 で開発されたソフトウェア開発プラットホーム

Canonical 社(Ubuntuの開発元)が開発

コンポーネントCode(Bazaar): バージョン管理システム

Bugs: バグトラッキングシステム

Blueprints: 新機能開発やリリースを管理する仕組み

Translations: PO ファイルの翻訳プラットホーム

Answers: Web フォーラム + トラッキングのような仕組み

Packaging(Soyuz): パッケージビルドシステム

Page 53: Python界隈の翻訳プロジェクト
Page 54: Python界隈の翻訳プロジェクト

Google 翻訳者ツールキット

Google インフラなのでツールの学習コストが低く、複数人で共有し易い

グローバル TM が利用可能

Google 翻訳が利用可能

対応フォーマットはWord, OpenOffice, RTF, HTML, Wikipedia, Knol

Page 55: Python界隈の翻訳プロジェクト
Page 56: Python界隈の翻訳プロジェクト

OmegaT

2000年から10年以上の開発実績

Java で開発されたデスクトップツール

Google 翻訳 API を呼び出す機能が追加

翻訳メモリとして十分な基本機能

対応フォーマットはWord, Excel, PowerPoint, OpenOffice, RTF, HTML, Tex, XML, DokuWiki, Mozilla DTD, XLIFF, PO, SVG

Page 57: Python界隈の翻訳プロジェクト
Page 59: Python界隈の翻訳プロジェクト

Translate Toolkit

翻訳に関する便利なツール集

対応フォーマットが多い

異なるフォーマット間の変換が可能

様々なフォーマットから poファイルへの変換

wiki から poファイルへの変換

Page 60: Python界隈の翻訳プロジェクト

ikazuchi

3週間前から開発が始まった期待のツール

Web Translate API を呼び出す CUI ツール

PO ファイルの参考訳文を表示 (polib)

他ツールとの連携や組み込みを考慮した設計

コアライブラリ: izuchi

Vim プラグイン: raimei

デモ

Page 61: Python界隈の翻訳プロジェクト

poファイルの翻訳ツールはたくさんあるし、今後もさらに洗練されていくだろう

Web コラボレーションツールバージョン管理ツールとの連携

世の中のドキュメントは全て poファイルだったreST も poファイルに変換できるらしい(Sphinx 1.1)

msgidを分節と見なして poファイルなら分節単位で差分や分担の管理がやり易い「毎日10個のmsgidを翻訳する」といった目標設定が簡単、面倒じゃないよ

Page 62: Python界隈の翻訳プロジェクト

翻訳に関わる様々なことを調べました

一般アンケートを募集

偉大な翻訳者からのコメント

Doc-jpの変遷

翻訳ツール

未来の翻訳について提案?

翻訳プロジェクトは未経験者大歓迎

Page 63: Python界隈の翻訳プロジェクト

翻訳を通して おもしろそうなこと を考える

他者へ「伝える」という手段そのものを楽しむ

勉強する習慣作り

自分自身の成長のものさし

翻訳対象の第一人者を目指す

面倒なところを解決するツールを開発する

コミュニティのつながりを楽しむ

おもしろそうなこと

Page 64: Python界隈の翻訳プロジェクト