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