SlideShare uma empresa Scribd logo
1 de 19
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!」とレス返ってきて嬉しかった
終わりです

• 「酷い日本語」と馬鹿にする前に
  「美しい日本語」を提供するような
  そんなエンジニアに、私はなりたい けいま

Mais conteúdo relacionado

Mais procurados

ちょっとGoogle Analyticsの話しようぜ
ちょっとGoogle Analyticsの話しようぜちょっとGoogle Analyticsの話しようぜ
ちょっとGoogle Analyticsの話しようぜShinobu Okano
 
Gitの内部構造を 調べてみたら・・・
Gitの内部構造を 調べてみたら・・・Gitの内部構造を 調べてみたら・・・
Gitの内部構造を 調べてみたら・・・DQNEO
 
Git hubで雑誌記事を執筆するのは間違っているだろうか
Git hubで雑誌記事を執筆するのは間違っているだろうかGit hubで雑誌記事を執筆するのは間違っているだろうか
Git hubで雑誌記事を執筆するのは間違っているだろうかKakigi Katuyuki
 
git初心者からgit-flowを使えるレベルになって、リリースとレビューを効率化しよう
git初心者からgit-flowを使えるレベルになって、リリースとレビューを効率化しようgit初心者からgit-flowを使えるレベルになって、リリースとレビューを効率化しよう
git初心者からgit-flowを使えるレベルになって、リリースとレビューを効率化しようStudy Group by SciencePark Corp.
 
Pro Git 第2版はじめました
Pro Git 第2版はじめましたPro Git 第2版はじめました
Pro Git 第2版はじめましたharupong
 
BOOTがぶっとんだ
BOOTがぶっとんだBOOTがぶっとんだ
BOOTがぶっとんだparalleltree
 
お前の逐モン、GETだぜ!
お前の逐モン、GETだぜ!お前の逐モン、GETだぜ!
お前の逐モン、GETだぜ!Nagi Teramo
 
再帰、漸化式、差分方程式とアルゴリズム Gx#20
再帰、漸化式、差分方程式とアルゴリズム   Gx#20再帰、漸化式、差分方程式とアルゴリズム   Gx#20
再帰、漸化式、差分方程式とアルゴリズム Gx#20鉄次 尾形
 
新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?
新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?
新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?naoki koyama
 
Github pagesでRPubsにサヨナラ!
Github pagesでRPubsにサヨナラ!Github pagesでRPubsにサヨナラ!
Github pagesでRPubsにサヨナラ!yutannihilation
 
Gitを使いこなしてみよう!
Gitを使いこなしてみよう!Gitを使いこなしてみよう!
Gitを使いこなしてみよう!Hiroshi Maekawa
 
GoPiGo2で遊んでみた
GoPiGo2で遊んでみたGoPiGo2で遊んでみた
GoPiGo2で遊んでみたKazuyuki Mori
 
今時のオンプレなgithubクローン環境構築
今時のオンプレなgithubクローン環境構築今時のオンプレなgithubクローン環境構築
今時のオンプレなgithubクローン環境構築You&I
 
コマンドなしでぼくはAndroid開発できない話
コマンドなしでぼくはAndroid開発できない話コマンドなしでぼくはAndroid開発できない話
コマンドなしでぼくはAndroid開発できない話Shinobu Okano
 
イベント駆動とノンブロッキング #hokkaidopm
イベント駆動とノンブロッキング #hokkaidopmイベント駆動とノンブロッキング #hokkaidopm
イベント駆動とノンブロッキング #hokkaidopm鉄次 尾形
 
スクレイピングとPython
スクレイピングとPythonスクレイピングとPython
スクレイピングとPythonHironori Sekine
 

Mais procurados (20)

ちょっとGoogle Analyticsの話しようぜ
ちょっとGoogle Analyticsの話しようぜちょっとGoogle Analyticsの話しようぜ
ちょっとGoogle Analyticsの話しようぜ
 
Gitの内部構造を 調べてみたら・・・
Gitの内部構造を 調べてみたら・・・Gitの内部構造を 調べてみたら・・・
Gitの内部構造を 調べてみたら・・・
 
Git hubで雑誌記事を執筆するのは間違っているだろうか
Git hubで雑誌記事を執筆するのは間違っているだろうかGit hubで雑誌記事を執筆するのは間違っているだろうか
Git hubで雑誌記事を執筆するのは間違っているだろうか
 
git初心者からgit-flowを使えるレベルになって、リリースとレビューを効率化しよう
git初心者からgit-flowを使えるレベルになって、リリースとレビューを効率化しようgit初心者からgit-flowを使えるレベルになって、リリースとレビューを効率化しよう
git初心者からgit-flowを使えるレベルになって、リリースとレビューを効率化しよう
 
Pro Git 第2版はじめました
Pro Git 第2版はじめましたPro Git 第2版はじめました
Pro Git 第2版はじめました
 
Kotlinにお触り
Kotlinにお触りKotlinにお触り
Kotlinにお触り
 
BOOTがぶっとんだ
BOOTがぶっとんだBOOTがぶっとんだ
BOOTがぶっとんだ
 
お前の逐モン、GETだぜ!
お前の逐モン、GETだぜ!お前の逐モン、GETだぜ!
お前の逐モン、GETだぜ!
 
再帰、漸化式、差分方程式とアルゴリズム Gx#20
再帰、漸化式、差分方程式とアルゴリズム   Gx#20再帰、漸化式、差分方程式とアルゴリズム   Gx#20
再帰、漸化式、差分方程式とアルゴリズム Gx#20
 
Logcatの話
Logcatの話Logcatの話
Logcatの話
 
ChatOps with Hubot
ChatOps with HubotChatOps with Hubot
ChatOps with Hubot
 
新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?
新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?
新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?
 
Github pagesでRPubsにサヨナラ!
Github pagesでRPubsにサヨナラ!Github pagesでRPubsにサヨナラ!
Github pagesでRPubsにサヨナラ!
 
Gitを使いこなしてみよう!
Gitを使いこなしてみよう!Gitを使いこなしてみよう!
Gitを使いこなしてみよう!
 
GoPiGo2で遊んでみた
GoPiGo2で遊んでみたGoPiGo2で遊んでみた
GoPiGo2で遊んでみた
 
今時のオンプレなgithubクローン環境構築
今時のオンプレなgithubクローン環境構築今時のオンプレなgithubクローン環境構築
今時のオンプレなgithubクローン環境構築
 
コマンドなしでぼくはAndroid開発できない話
コマンドなしでぼくはAndroid開発できない話コマンドなしでぼくはAndroid開発できない話
コマンドなしでぼくはAndroid開発できない話
 
イベント駆動とノンブロッキング #hokkaidopm
イベント駆動とノンブロッキング #hokkaidopmイベント駆動とノンブロッキング #hokkaidopm
イベント駆動とノンブロッキング #hokkaidopm
 
スクレイピングとPython
スクレイピングとPythonスクレイピングとPython
スクレイピングとPython
 
Goをえらんだ理由
Goをえらんだ理由Goをえらんだ理由
Goをえらんだ理由
 

Destaque

OrganoLinx ViaGlue Introduction
OrganoLinx ViaGlue IntroductionOrganoLinx ViaGlue Introduction
OrganoLinx ViaGlue Introductionpincomm
 
Ad mob - tablet survey
Ad mob - tablet surveyAd mob - tablet survey
Ad mob - tablet surveydigicatie
 
OrganoLinx Aydin Reagent Bioconjugation Introduction
OrganoLinx Aydin Reagent Bioconjugation IntroductionOrganoLinx Aydin Reagent Bioconjugation Introduction
OrganoLinx Aydin Reagent Bioconjugation Introductionpincomm
 
Murphy Dunn - Event Producer | Creative Lead | Master Portfolio
Murphy Dunn - Event Producer | Creative Lead | Master PortfolioMurphy Dunn - Event Producer | Creative Lead | Master Portfolio
Murphy Dunn - Event Producer | Creative Lead | Master PortfolioMurphy Dunn
 
HubSpot inbound marketing
HubSpot inbound marketingHubSpot inbound marketing
HubSpot inbound marketingdigicatie
 

Destaque (8)

OrganoLinx ViaGlue Introduction
OrganoLinx ViaGlue IntroductionOrganoLinx ViaGlue Introduction
OrganoLinx ViaGlue Introduction
 
Powerpoint blog
Powerpoint blogPowerpoint blog
Powerpoint blog
 
Ad mob - tablet survey
Ad mob - tablet surveyAd mob - tablet survey
Ad mob - tablet survey
 
Bridges
BridgesBridges
Bridges
 
Bridges
BridgesBridges
Bridges
 
OrganoLinx Aydin Reagent Bioconjugation Introduction
OrganoLinx Aydin Reagent Bioconjugation IntroductionOrganoLinx Aydin Reagent Bioconjugation Introduction
OrganoLinx Aydin Reagent Bioconjugation Introduction
 
Murphy Dunn - Event Producer | Creative Lead | Master Portfolio
Murphy Dunn - Event Producer | Creative Lead | Master PortfolioMurphy Dunn - Event Producer | Creative Lead | Master Portfolio
Murphy Dunn - Event Producer | Creative Lead | Master Portfolio
 
HubSpot inbound marketing
HubSpot inbound marketingHubSpot inbound marketing
HubSpot inbound marketing
 

Semelhante a オープンセミナー香川2012 LT

日本androidの会 中国支部 29回勉強会 github
日本androidの会 中国支部 29回勉強会 github日本androidの会 中国支部 29回勉強会 github
日本androidの会 中国支部 29回勉強会 githubTomohiko Himura
 
gitを使って、レポジトリの一部抽出forkしてみました
gitを使って、レポジトリの一部抽出forkしてみましたgitを使って、レポジトリの一部抽出forkしてみました
gitを使って、レポジトリの一部抽出forkしてみましたTakako Miyagawa
 
LLプログラマ向けSwift ExtensionsとテストライブラリQuickの紹介
LLプログラマ向けSwift ExtensionsとテストライブラリQuickの紹介LLプログラマ向けSwift ExtensionsとテストライブラリQuickの紹介
LLプログラマ向けSwift ExtensionsとテストライブラリQuickの紹介Shoken Fujisaki
 
筋肉によるGoコードジェネレーション
筋肉によるGoコードジェネレーション筋肉によるGoコードジェネレーション
筋肉によるGoコードジェネレーションlestrrat
 
ぎっと、これから
ぎっと、これからぎっと、これから
ぎっと、これからRyo Tajima
 
Github Actionsで始めるROS/ROS2のCI
Github Actionsで始めるROS/ROS2のCIGithub Actionsで始めるROS/ROS2のCI
Github Actionsで始めるROS/ROS2のCIAtsuki Yokota
 
既存プロジェクトにSwiftLintを導入した話
既存プロジェクトにSwiftLintを導入した話既存プロジェクトにSwiftLintを導入した話
既存プロジェクトにSwiftLintを導入した話akatsuki174
 
[2023-11-01] GitHub Copilot 使ってみた.pptx
[2023-11-01] GitHub Copilot 使ってみた.pptx[2023-11-01] GitHub Copilot 使ってみた.pptx
[2023-11-01] GitHub Copilot 使ってみた.pptxmananakamura2
 
2015/10/17 第10回G-Study発表資料-あの日見たgit_hubなstarを君達はまだ知らない。
2015/10/17 第10回G-Study発表資料-あの日見たgit_hubなstarを君達はまだ知らない。2015/10/17 第10回G-Study発表資料-あの日見たgit_hubなstarを君達はまだ知らない。
2015/10/17 第10回G-Study発表資料-あの日見たgit_hubなstarを君達はまだ知らない。Yuta Hayakawa
 
@s_ssk13さん向けGitHub入門
@s_ssk13さん向けGitHub入門@s_ssk13さん向けGitHub入門
@s_ssk13さん向けGitHub入門Takashi Imagire
 
[Android] モジュール管理で ビルド高速化!
[Android] モジュール管理で ビルド高速化!	[Android] モジュール管理で ビルド高速化!
[Android] モジュール管理で ビルド高速化! ichigotake .
 
Azure Functions 開発デプロイ環境を GitHub Codespaces で爆速に整える
Azure Functions 開発デプロイ環境を GitHub Codespaces で爆速に整えるAzure Functions 開発デプロイ環境を GitHub Codespaces で爆速に整える
Azure Functions 開発デプロイ環境を GitHub Codespaces で爆速に整えるKazumi IWANAGA
 
goパッケージで型情報を用いたソースコード検索を実現する
goパッケージで型情報を用いたソースコード検索を実現するgoパッケージで型情報を用いたソースコード検索を実現する
goパッケージで型情報を用いたソースコード検索を実現するTakuya Ueda
 
デザイナー、フロントエンジニア向けgithub勉強会ワークショップ資料
デザイナー、フロントエンジニア向けgithub勉強会ワークショップ資料デザイナー、フロントエンジニア向けgithub勉強会ワークショップ資料
デザイナー、フロントエンジニア向けgithub勉強会ワークショップ資料ichikaway
 
oFの話題が殆ど出ない oF jp Summer Workout
oFの話題が殆ど出ない oF jp Summer WorkoutoFの話題が殆ど出ない oF jp Summer Workout
oFの話題が殆ど出ない oF jp Summer WorkoutTsuubito Ishii
 
20160730 fluentd meetup in matsue slide
20160730 fluentd meetup in matsue slide20160730 fluentd meetup in matsue slide
20160730 fluentd meetup in matsue slidecosmo0920
 
githubでHP作ってみよ 2019/02/16 by CODE for IKOMA
githubでHP作ってみよ 2019/02/16 by CODE for IKOMAgithubでHP作ってみよ 2019/02/16 by CODE for IKOMA
githubでHP作ってみよ 2019/02/16 by CODE for IKOMATakuya Nozu
 

Semelhante a オープンセミナー香川2012 LT (20)

日本androidの会 中国支部 29回勉強会 github
日本androidの会 中国支部 29回勉強会 github日本androidの会 中国支部 29回勉強会 github
日本androidの会 中国支部 29回勉強会 github
 
Git超入門
Git超入門Git超入門
Git超入門
 
gitを使って、レポジトリの一部抽出forkしてみました
gitを使って、レポジトリの一部抽出forkしてみましたgitを使って、レポジトリの一部抽出forkしてみました
gitを使って、レポジトリの一部抽出forkしてみました
 
LLプログラマ向けSwift ExtensionsとテストライブラリQuickの紹介
LLプログラマ向けSwift ExtensionsとテストライブラリQuickの紹介LLプログラマ向けSwift ExtensionsとテストライブラリQuickの紹介
LLプログラマ向けSwift ExtensionsとテストライブラリQuickの紹介
 
筋肉によるGoコードジェネレーション
筋肉によるGoコードジェネレーション筋肉によるGoコードジェネレーション
筋肉によるGoコードジェネレーション
 
Git tutorial
Git tutorialGit tutorial
Git tutorial
 
ぎっと、これから
ぎっと、これからぎっと、これから
ぎっと、これから
 
Github Actionsで始めるROS/ROS2のCI
Github Actionsで始めるROS/ROS2のCIGithub Actionsで始めるROS/ROS2のCI
Github Actionsで始めるROS/ROS2のCI
 
既存プロジェクトにSwiftLintを導入した話
既存プロジェクトにSwiftLintを導入した話既存プロジェクトにSwiftLintを導入した話
既存プロジェクトにSwiftLintを導入した話
 
[2023-11-01] GitHub Copilot 使ってみた.pptx
[2023-11-01] GitHub Copilot 使ってみた.pptx[2023-11-01] GitHub Copilot 使ってみた.pptx
[2023-11-01] GitHub Copilot 使ってみた.pptx
 
2015/10/17 第10回G-Study発表資料-あの日見たgit_hubなstarを君達はまだ知らない。
2015/10/17 第10回G-Study発表資料-あの日見たgit_hubなstarを君達はまだ知らない。2015/10/17 第10回G-Study発表資料-あの日見たgit_hubなstarを君達はまだ知らない。
2015/10/17 第10回G-Study発表資料-あの日見たgit_hubなstarを君達はまだ知らない。
 
@s_ssk13さん向けGitHub入門
@s_ssk13さん向けGitHub入門@s_ssk13さん向けGitHub入門
@s_ssk13さん向けGitHub入門
 
[Android] モジュール管理で ビルド高速化!
[Android] モジュール管理で ビルド高速化!	[Android] モジュール管理で ビルド高速化!
[Android] モジュール管理で ビルド高速化!
 
Azure Functions 開発デプロイ環境を GitHub Codespaces で爆速に整える
Azure Functions 開発デプロイ環境を GitHub Codespaces で爆速に整えるAzure Functions 開発デプロイ環境を GitHub Codespaces で爆速に整える
Azure Functions 開発デプロイ環境を GitHub Codespaces で爆速に整える
 
goパッケージで型情報を用いたソースコード検索を実現する
goパッケージで型情報を用いたソースコード検索を実現するgoパッケージで型情報を用いたソースコード検索を実現する
goパッケージで型情報を用いたソースコード検索を実現する
 
デザイナー、フロントエンジニア向けgithub勉強会ワークショップ資料
デザイナー、フロントエンジニア向けgithub勉強会ワークショップ資料デザイナー、フロントエンジニア向けgithub勉強会ワークショップ資料
デザイナー、フロントエンジニア向けgithub勉強会ワークショップ資料
 
SnapDishの事例
SnapDishの事例SnapDishの事例
SnapDishの事例
 
oFの話題が殆ど出ない oF jp Summer Workout
oFの話題が殆ど出ない oF jp Summer WorkoutoFの話題が殆ど出ない oF jp Summer Workout
oFの話題が殆ど出ない oF jp Summer Workout
 
20160730 fluentd meetup in matsue slide
20160730 fluentd meetup in matsue slide20160730 fluentd meetup in matsue slide
20160730 fluentd meetup in matsue slide
 
githubでHP作ってみよ 2019/02/16 by CODE for IKOMA
githubでHP作ってみよ 2019/02/16 by CODE for IKOMAgithubでHP作ってみよ 2019/02/16 by CODE for IKOMA
githubでHP作ってみよ 2019/02/16 by CODE for IKOMA
 

オープンセミナー香川2012 LT