mylingual there ’ s more than one language to do it cybozu labs kazuho oku

39
Mylingual There’s More Than One Language To Do It Cybozu Labs Kazuho Oku

Upload: loreen-molly-horton

Post on 27-Dec-2015

222 views

Category:

Documents


7 download

TRANSCRIPT

Page 1: Mylingual There ’ s More Than One Language To Do It Cybozu Labs Kazuho Oku

MylingualThere’s More Than One Language To Do It

MylingualThere’s More Than One Language To Do It

Cybozu LabsKazuho Oku

Page 2: Mylingual There ’ s More Than One Language To Do It Cybozu Labs Kazuho Oku

2007 4 5年 月 日 Mylingual - There's More Than One Language To Do It 2

Self Introduction自己紹介

Page 3: Mylingual There ’ s More Than One Language To Do It Cybozu Labs Kazuho Oku

2007 4 5年 月 日 Mylingual - There's More Than One Language To Do It 3

Self Introduction ( 自己紹介 )Self Introduction ( 自己紹介 )

Name: Kazuho OkuJoined Cybozu Labs in 2005R&D of web-related technologiesBackground: web browser developer

名前 : 奥 一穂2005 年からサイボウズ・ラボ勤務Web 関連技術の研究開発をしていますもともとはウェブブラウザの開発者

Page 4: Mylingual There ’ s More Than One Language To Do It Cybozu Labs Kazuho Oku

2007 4 5年 月 日 Mylingual - There's More Than One Language To Do It 4

Do You Have Experience in Localization?ローカライズしたことがありますか ?

Page 5: Mylingual There ’ s More Than One Language To Do It Cybozu Labs Kazuho Oku

2007 4 5年 月 日 Mylingual - There's More Than One Language To Do It 5

Do You Love Localization?ローカライズは好きですか ?

Page 6: Mylingual There ’ s More Than One Language To Do It Cybozu Labs Kazuho Oku

2007 4 5年 月 日 Mylingual - There's More Than One Language To Do It 6

Localization is a Burden (L10n は重荷 )Localization is a Burden (L10n は重荷 )

It’s not DevelopmentIt’s a RequirementIt’s Hard to Find the Right WordingIt’s Time Consuming

ローカライズは「開発」じゃないローカライズは「やらざるを得ないもの」訳語を探すのがたいへん手間がかかる

Page 7: Mylingual There ’ s More Than One Language To Do It Cybozu Labs Kazuho Oku

2007 4 5年 月 日 Mylingual - There's More Than One Language To Do It 7

Websites NOT in JapaneseWebsites NOT in Japanese

YouTubeGoogle Docs & Spreadsheets

not until March 2007

Yahoo! PipeseBayFlickrLingr

developed by a Japanese, but…

Page 8: Mylingual There ’ s More Than One Language To Do It Cybozu Labs Kazuho Oku

2007 4 5年 月 日 Mylingual - There's More Than One Language To Do It 8

Excuses NOT Localizing (L10n しない言い訳 )Excuses NOT Localizing (L10n しない言い訳 )

Due to Our PriorityNo Business OpportunitiesDifferences in Government Regulation

優先順位が低いので儲かりまへんがな法規制の問題があるので

Page 9: Mylingual There ’ s More Than One Language To Do It Cybozu Labs Kazuho Oku

2007 4 5年 月 日 Mylingual - There's More Than One Language To Do It 9

How about letting the users localize the services?

ユーザーが勝手にローカライズすればいいじゃん

Page 10: Mylingual There ’ s More Than One Language To Do It Cybozu Labs Kazuho Oku

2007 4 5年 月 日 Mylingual - There's More Than One Language To Do It 10

Japanizehttp://japanize.31tools.com/

Page 11: Mylingual There ’ s More Than One Language To Do It Cybozu Labs Kazuho Oku

2007 4 5年 月 日 Mylingual - There's More Than One Language To Do It 11

What is Japanize? (Japanize とは )What is Japanize? (Japanize とは )

A web browser extensionTransparent localization to JapaneseReleased Aug. 2006Inspired from “Localizer” of PalmOS

ウェブブラウザの拡張機能ウェブページを勝手に日本語へローカライズ2006 年 8 月公開Palm OS の「ローカライザ」からインスパイヤ

Page 12: Mylingual There ’ s More Than One Language To Do It Cybozu Labs Kazuho Oku

2007 4 5年 月 日 Mylingual - There's More Than One Language To Do It 12

Translation Archive ( 翻訳アーカイブ )Translation Archive ( 翻訳アーカイブ )

All data on a Wikipedia-like websiteAnyone can contributeAll translation shared, no private data

Wikipedia ライクなシステムにデータを集積誰でも翻訳に参加できるすべての翻訳は共有 – プライベートデータなし

Page 13: Mylingual There ’ s More Than One Language To Do It Cybozu Labs Kazuho Oku

2007 4 5年 月 日 Mylingual - There's More Than One Language To Do It 13

Ways of Translation ( 翻訳の手法 )Ways of Translation ( 翻訳の手法 )

Translate on Proxy

Translate on Browser

Automatic Translation( 機械翻訳 )

BabelfishExcite 翻訳

コリャ英和 !本格翻訳

Manual Translation( 手動翻訳 )

Japanize

Page 14: Mylingual There ’ s More Than One Language To Do It Cybozu Labs Kazuho Oku

2007 4 5年 月 日 Mylingual - There's More Than One Language To Do It 14

Why Manual Translation?Why Manual Translation?

Only translate the user interfaceDo not translate files on Google DocsPrecise Translation (w. many idioms)

ex. “Save As…” → 「名前をつけて保存…」

UI のみを翻訳したいGoogle Docs の文書は翻訳しちゃダメ正確な翻訳 ( 超訳が必要な場合も )

Page 15: Mylingual There ’ s More Than One Language To Do It Cybozu Labs Kazuho Oku

2007 4 5年 月 日 Mylingual - There's More Than One Language To Do It 15

Why Translate on Browser?Why Translate on Browser?

To support services w. authenticationProxies cannot translate Google Docs, Mi

xi, …

認証が必要なサービスをサポートするためプロキシだと Google Docs や Mixi を翻訳でき

ない

Page 16: Mylingual There ’ s More Than One Language To Do It Cybozu Labs Kazuho Oku

2007 4 5年 月 日 Mylingual - There's More Than One Language To Do It 16

Demofrom YouTube to an Iranian newssite

Page 17: Mylingual There ’ s More Than One Language To Do It Cybozu Labs Kazuho Oku

2007 4 5年 月 日 Mylingual - There's More Than One Language To Do It 17

Translation Syntax翻訳データの文法

Page 18: Mylingual There ’ s More Than One Language To Do It Cybozu Labs Kazuho Oku

2007 4 5年 月 日 Mylingual - There's More Than One Language To Do It 18

Translation SyntaxTranslation Syntax

Pairs of original text and translationex. Hello => こんにちは

Support for regular expressionsex. /^(\d+) entries?$/ => $1 件のエントリ

Translation is performed as a whole match of DOM text elements - sufficient for most casesDOM テキスト要素単位での全一致 – 多くの場合

必要十分

Page 19: Mylingual There ’ s More Than One Language To Do It Cybozu Labs Kazuho Oku

2007 4 5年 月 日 Mylingual - There's More Than One Language To Do It 19

Complex Translation (ex. Date Format)Complex Translation (ex. Date Format)

“05 Apr 2007” → 「 2007 年 4 月 05 日」

/^(\d{2}) (Jan|Feb|…|Dec) (\d{4})$/ => $3 年 $R2$1 日Jan => 1 月Feb => 2 月...Dec => 12 月

Note: $Rx stands for recursive replacement

Page 20: Mylingual There ’ s More Than One Language To Do It Cybozu Labs Kazuho Oku

2007 4 5年 月 日 Mylingual - There's More Than One Language To Do It 20

Translation Control CommandsTranslation Control Commands

Some Translation Control Commandswith operands: skip & translate

$id(content) => skip$class(menu) => translate$path(/license) => skip

Page 21: Mylingual There ’ s More Than One Language To Do It Cybozu Labs Kazuho Oku

2007 4 5年 月 日 Mylingual - There's More Than One Language To Do It 21

Popularity普及度

Page 22: Mylingual There ’ s More Than One Language To Do It Cybozu Labs Kazuho Oku

2007 4 5年 月 日 Mylingual - There's More Than One Language To Do It 22

PopularityPopularity

Translated websites: > 300Translation data: 2.6MB# of contributors: > 220

Note: Numbers of April 4th 2007

Page 23: Mylingual There ’ s More Than One Language To Do It Cybozu Labs Kazuho Oku

2007 4 5年 月 日 Mylingual - There's More Than One Language To Do It 23

PopularityPopularity

27,600 active users (by IP addr./day)25,000 – Firefox Extension2,600 – User JavaScript

Already Popular for Firefox UsersRanked 5th by popularity # of users: 73% of IETabSource: minkaku.goga.co.jp

Page 24: Mylingual There ’ s More Than One Language To Do It Cybozu Labs Kazuho Oku

2007 4 5年 月 日 Mylingual - There's More Than One Language To Do It 24

Architectureアーキテクチャ

Page 25: Mylingual There ’ s More Than One Language To Do It Cybozu Labs Kazuho Oku

2007 4 5年 月 日 Mylingual - There's More Than One Language To Do It 25

Architecture – Firefox ExtensionArchitecture – Firefox Extension

Translation data in JSONPartial Updates, downloaded periodicallySimilar to def. files of AntiVirus software

翻訳データは JSON 形式差分アップデートを定期的に配信アンチウイルスソフトの定義ファイルに類似

Page 26: Mylingual There ’ s More Than One Language To Do It Cybozu Labs Kazuho Oku

2007 4 5年 月 日 Mylingual - There's More Than One Language To Do It 26

Architecture – User JavaScriptArchitecture – User JavaScript

Insertion of CSI by User JavaScript<script src=“http://~ /translate.js”></script>

Translation data in JSONP

User JavaScript による CSI 埋め込み翻訳データを JSONP で配信

Page 27: Mylingual There ’ s More Than One Language To Do It Cybozu Labs Kazuho Oku

2007 4 5年 月 日 Mylingual - There's More Than One Language To Do It 27

Architecture – Server-sideArchitecture – Server-side

Static files + CGI::Applicationand some PHP

All data stored and served in JSON(P)no RDBMS, use symlinks

Typekey-compatible authenticationmod_rewrite for normalizing hostnames

ex. www.youtube.com should use translation for youtube.com

Page 28: Mylingual There ’ s More Than One Language To Do It Cybozu Labs Kazuho Oku

2007 4 5年 月 日 Mylingual - There's More Than One Language To Do It 28

Architecture – Server-sideArchitecture – Server-side

Runs on a Virtual Private Server (Linux)WebARENA SuitePRORunning Cost: \8,820/month ($73/month)

Serving…Avg. 22 HTTP requests/sec.Avg. 2Mbits/sec.

Page 29: Mylingual There ’ s More Than One Language To Do It Cybozu Labs Kazuho Oku

2007 4 5年 月 日 Mylingual - There's More Than One Language To Do It 29

Mylingualhttp://mylingual.net/

Page 30: Mylingual There ’ s More Than One Language To Do It Cybozu Labs Kazuho Oku

2007 4 5年 月 日 Mylingual - There's More Than One Language To Do It 30

What is Mylingual? (Mylingual とは )What is Mylingual? (Mylingual とは )

Internationalized version of JapanizeSupport for > 50 languagesReleased last week

Japanize の国際化版50以上の言語に対応先週公開

Page 31: Mylingual There ’ s More Than One Language To Do It Cybozu Labs Kazuho Oku

2007 4 5年 月 日 Mylingual - There's More Than One Language To Do It 31

Mylingual – DemoMylingual – Demo

mixilivedoor Reader

Page 32: Mylingual There ’ s More Than One Language To Do It Cybozu Labs Kazuho Oku

2007 4 5年 月 日 Mylingual - There's More Than One Language To Do It 32

The Aims of Mylingual (Mylingual の目標 )The Aims of Mylingual (Mylingual の目標 )

For native speakers of minor languagesprovide ability to use apps in mother languages

For developers using minor languageslet develop their webapps in mother languages

英語圏以外のユーザーに、母語でウェブアプリを利用するチャンスを提供

英語圏以外の開発者に、母語で開発する機会を提供

Page 33: Mylingual There ’ s More Than One Language To Do It Cybozu Labs Kazuho Oku

2007 4 5年 月 日 Mylingual - There's More Than One Language To Do It 33

Future Plans今後の計画

Page 34: Mylingual There ’ s More Than One Language To Do It Cybozu Labs Kazuho Oku

2007 4 5年 月 日 Mylingual - There's More Than One Language To Do It 34

Future PlansFuture Plans

Internet Explorer versionSupport for HTTPSI18n Service for developers

IE 対応HTTPS 対応開発者むけの国際化サービスを提供

Page 35: Mylingual There ’ s More Than One Language To Do It Cybozu Labs Kazuho Oku

2007 4 5年 月 日 Mylingual - There's More Than One Language To Do It 35

Internationalization Service for DevelopersInternationalization Service for Developers

Developers add <script> to webapps<script src=“http://mylingual.net/…”></script>

The app will be localized using Mylingualeven for the users wo. Mylingual installed

開発者が <script> タグをウェブアプリに追加Mylingual がそのウェブアプリを翻訳

Mylingual をインストールしていないユーザーにも対応可能

Page 36: Mylingual There ’ s More Than One Language To Do It Cybozu Labs Kazuho Oku

2007 4 5年 月 日 Mylingual - There's More Than One Language To Do It 36

Ways of Developing a World-wide Service国際的なサービスを開発する方法

Page 37: Mylingual There ’ s More Than One Language To Do It Cybozu Labs Kazuho Oku

2007 4 5年 月 日 Mylingual - There's More Than One Language To Do It 37

Ways of Developing a World-wide ServiceWays of Developing a World-wide Service

Move to Silicon ValleyCreate a subsidiary in the U.S.Hire a native for translation

シリコンバレーに移住アメリカに子会社を作るネイティブに翻訳させる

Page 38: Mylingual There ’ s More Than One Language To Do It Cybozu Labs Kazuho Oku

2007 4 5年 月 日 Mylingual - There's More Than One Language To Do It 38

Mylingual – a Yet Another Way to Do ItMylingual – a Yet Another Way to Do It

Stay in JapanForget about L10n & I18nAnd let the users do the work (maybe…)

日本に残りローカライズや国際化に悩むのはやめようきっとユーザーが翻訳してくれる ( かも )

Page 39: Mylingual There ’ s More Than One Language To Do It Cybozu Labs Kazuho Oku

2007 4 5年 月 日 Mylingual - There's More Than One Language To Do It 39

Thank you!