オープンセミナー香川2012 lt
TRANSCRIPT
OSSの翻訳やってみた
今中幸太( @pside )
自己紹介
• 今中幸太
• 徳島大学工学部 知能情報工学科 4年
• GDG四国(旧:四国GTUG) スタッフ
• 80枚近く旧ロゴ名刺あるんですが・・・
• http://p-side.net
• 見たら後悔すると巷で話題
• @pside
• フォローしたら後悔すると巷で話題
• 詳しくはWebで!
ありがちな話。
「良いアイデアが閃いたからこれからアプリ作るぞー」
ありがちな話。
プライベートGitを作ってサァ作るぞ−!
数十分後、同じアイデアのアプリが公開されていることに
気がつく
orz
「あれ?でもこれgithubで
ソース公開されてるじゃん」
(゚∀゚)
深刻な日本語不足
• 有名なOSSプロジェクト
• 潤沢な人的リソース
• 翻訳者も多い
• (それでも人が足りないと申しますか)
深刻な日本語不足
• 「とりあえずソース公開してみる」程度から始まったOSSの場合
• 開発者は一人(githubのマスター)
• 翻訳は殆ど進んでいない
• 日本語まず無い
• (OSSに限らず)Excite翻訳みたいな酷い日本語がまかり通っている
本題終わり
• 英単語読める書ける、英語文章読めない書けない
• gitをコマンドで触るの不得意だけどEgit経由だったら30%くらいは使いこなせる
• ガジェットとかOSとか大好き、そのプロダクトの隅々まで触って悦に浸る
• プログラミングは下手なのにEclipse等のツールの使い方はやたらこだわる
そんな人間がOSSなAndroidアプリを翻訳した一連の流れを残った時間でレクチャー!
翻訳したアプリNotes for ICS
Author: NoNonsenseApps
(Space Cowboy)
Android 3.2+
Price: FREE!
翻訳の流れ(Android)
1. githubで翻訳対象のプロジェクトをfork
2. gitコマンド等で対象プロジェクトをclone
3. 言語ファイルを追加などして翻訳
4. forkした(自分のgithubにある)プロジェクトにpush
5. githubサイト上でpull request作成、送信
6. 対象プロジェクトの管理者の審査、マージ成立
fork, checkout
• 翻訳したいプロジェクトのgithubリポジトリでforkすることで自分のgithubリポジトリに対象のコピーが作成される
• 厳密にはコピー言うたらいかんのだろうけど・・・
• githubリポジトリにあるだけだと作業できないので、EclipseのEgitやgitコマンドでcloneする
• git clone <dest> <branch>
みたいなそんなノリかな・・・?Egitしか使わないので分からんっす
翻訳で手抜きする
• 翻訳者ツールキット(at Google Translate)
• Androidのstring.xmlなどを一括翻訳してくれる
• 精度については触れてはいけない
• “About”(“このアプリについて”の意味)を”約”と訳す
• 翻訳元のストリングと翻訳後のストリングを見比べながら手動翻訳が出来るので楽
• http://translate.google.com/toolkit/
• あるいはGoogle翻訳の下にあるリンクから
Androidアプリ翻訳のキモ
• “values-ja”フォルダを”res”配下に作成し、“values”フォルダから”string.xml”コピーしてくる
• 場合によっては”arrays.xml”もコピーするかも
• ある程度翻訳したら実際に表示させてみる
• ボタン領域で意図しない改行があるかもしれないし
• “%01d”とか気をつける
• 自動翻訳で書式くずれる危険ある
• 手動翻訳でも前後のストリングとの兼ね合いを考える
pushするとアラ便利〜
• 翻訳はローカルリポジトリにガシガシcommit
• でも”master”,”workspace”,”japanese”みたいな具合にブランチ切った方が良いかも。
• japaneseでは翻訳完了時にコミットするだけ、あとgithubに投げるのもこのリポジトリだけ
• masterにコミットするのは止めといた方が良いです
• ローカルリポジトリの内容をgithubにpush
• こうすることでgithubに変更内容が届く
• githubの自分のページではpull request投げるフォームが出来ている
• 相手にコメントをしたためて送信して、祈りながら待つ
難しかったところ
• 特にないです
• 言うてもワシもAndroidデベロッパーの端くれ
• 英語難しかったです^q^
• ハードコーディングなストリングと出会ったら頭抱えるかも知れない
• もしかしたら意図があるのかも知れない、とか
• 時刻や日付の書式で今頭抱えてる
• pull requestの時に一言添えるのだけど、それ考えるの難しかったです
• でも相手から「arigatou!」とレス返ってきて嬉しかった
終わりです
• 「酷い日本語」と馬鹿にする前に「美しい日本語」を提供するようなそんなエンジニアに、私はなりたい けいま