MylingualThere’s More Than One Language To Do It
MylingualThere’s More Than One Language To Do It
Cybozu LabsKazuho Oku
2007 4 5年 月 日 Mylingual - There's More Than One Language To Do It 2
Self Introduction自己紹介
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 関連技術の研究開発をしていますもともとはウェブブラウザの開発者
2007 4 5年 月 日 Mylingual - There's More Than One Language To Do It 4
Do You Have Experience in Localization?ローカライズしたことがありますか ?
2007 4 5年 月 日 Mylingual - There's More Than One Language To Do It 5
Do You Love Localization?ローカライズは好きですか ?
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
ローカライズは「開発」じゃないローカライズは「やらざるを得ないもの」訳語を探すのがたいへん手間がかかる
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…
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
優先順位が低いので儲かりまへんがな法規制の問題があるので
2007 4 5年 月 日 Mylingual - There's More Than One Language To Do It 9
How about letting the users localize the services?
ユーザーが勝手にローカライズすればいいじゃん
2007 4 5年 月 日 Mylingual - There's More Than One Language To Do It 10
Japanizehttp://japanize.31tools.com/
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 の「ローカライザ」からインスパイヤ
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 ライクなシステムにデータを集積誰でも翻訳に参加できるすべての翻訳は共有 – プライベートデータなし
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
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 の文書は翻訳しちゃダメ正確な翻訳 ( 超訳が必要な場合も )
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 を翻訳でき
ない
2007 4 5年 月 日 Mylingual - There's More Than One Language To Do It 16
Demofrom YouTube to an Iranian newssite
2007 4 5年 月 日 Mylingual - There's More Than One Language To Do It 17
Translation Syntax翻訳データの文法
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 テキスト要素単位での全一致 – 多くの場合
必要十分
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
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
2007 4 5年 月 日 Mylingual - There's More Than One Language To Do It 21
Popularity普及度
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
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
2007 4 5年 月 日 Mylingual - There's More Than One Language To Do It 24
Architectureアーキテクチャ
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 形式差分アップデートを定期的に配信アンチウイルスソフトの定義ファイルに類似
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 で配信
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
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.
2007 4 5年 月 日 Mylingual - There's More Than One Language To Do It 29
Mylingualhttp://mylingual.net/
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以上の言語に対応先週公開
2007 4 5年 月 日 Mylingual - There's More Than One Language To Do It 31
Mylingual – DemoMylingual – Demo
mixilivedoor Reader
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
英語圏以外のユーザーに、母語でウェブアプリを利用するチャンスを提供
英語圏以外の開発者に、母語で開発する機会を提供
2007 4 5年 月 日 Mylingual - There's More Than One Language To Do It 33
Future Plans今後の計画
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 対応開発者むけの国際化サービスを提供
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 をインストールしていないユーザーにも対応可能
2007 4 5年 月 日 Mylingual - There's More Than One Language To Do It 36
Ways of Developing a World-wide Service国際的なサービスを開発する方法
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
シリコンバレーに移住アメリカに子会社を作るネイティブに翻訳させる
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…)
日本に残りローカライズや国際化に悩むのはやめようきっとユーザーが翻訳してくれる ( かも )
2007 4 5年 月 日 Mylingual - There's More Than One Language To Do It 39
Thank you!