共同ローカリゼーション フレームワーク

30
共共共共共共共共共共共 共共共共共共共 井井 井井

Upload: melvin-nichols

Post on 01-Jan-2016

36 views

Category:

Documents


1 download

DESCRIPTION

共同ローカリゼーション フレームワーク. 井上 謙次. 本提案のサマリ. 『 共同ローカリゼーションフレームワーク 』 は チームによるローカリゼーションプロセスを支援する Web システムです ローカリゼーションコストとコミュニケーションコストを削減します 共有翻訳メモリ・共有用語集を実装します Ajax を用いた快適で一貫性のあるリッチ Web ユーザインタフェースを提供します. ローカリゼーション. ローカリゼーション(地域化)とは?. ソフトウェアを使いやすく! ユーザインタフェースの日本語化 ドキュメンテーションの翻訳. インターナショナリゼーション. - PowerPoint PPT Presentation

TRANSCRIPT

共同ローカリゼーション

フレームワーク

井上 謙次

本提案のサマリ

『共同ローカリゼーションフレームワーク』は• チームによるローカリゼーションプロセスを

支援する Web システムです• ローカリゼーションコストとコミュニケー

ションコストを削減します• 共有翻訳メモリ・共有用語集を実装します• Ajax を用いた快適で一貫性のあるリッチ

Web ユーザインタフェースを提供しますローカリゼーション

ローカリゼーション(地域化)とは?

ソフトウェアを使いやすく!• ユーザインタフェースの日本語化• ドキュメンテーションの翻訳

インターナショナリゼーション

インターナショナリゼーション(国際化)とは?

i18n と L10N

コード(ロジック)と表示(プレゼンテーション)を分離

インターナショナリゼーション( i18n )とローカリゼーション( L10N )

インターナショナリゼーション(国際化)• プログラマの作業• gettext などのフレームワークが確立

ローカリゼーション(地域化)• 日本語化担当,ドキュメンテーション担当の

作業• 標準的なフレームワークは未確立

インターナショナリゼーション( i18n )とローカリゼーション( L10N )

インターナショナリゼーション(国際化)• プログラマの作業• gettext などのフレームワークが確立

ローカリゼーション(地域化)• 日本語化担当,ドキュメンテーション担当の

作業• 標準的なフレームワークは未確立ローカリゼーションのコスト

ローカリゼーションのコスト

ローカリゼーションプロセス全体のコスト

 = 各人のローカリゼーションコスト

 + コミュニケーションコスト

ローカリゼーションのコスト

ローカリゼーションプロセス全体のコスト

 = 各人のローカリゼーションコスト

 + コミュニケーションコスト

翻訳効率を最大化!調整時間を最小化!

翻訳メモリ

翻訳効率の最大化(1)

翻訳メモリ• 「原文―翻訳文」ペアのデータベース• 似た文章が翻訳済みならその結果を取り出す• TRADOS (商用) , OmegaT (オープンソー

ス)

OmegaT の翻訳メモリ

翻訳支援ツール OmegaT

用語集

翻訳効率の最大化(2)

用語集(グロッサリ)• 品質管理:人によって同じ単語を違う単語に

訳してしまわないように• 専門語・新語:訳語を決定するのに時間がか

かってしまわないように

ユーザインタフェース

翻訳効率の最大化(3)

シンプルで直感的なユーザインタフェース• ローカライズ対象のファイル形式は様々:

PO, Java Properties, HTML, DocBook, …

• ファイル形式に依存しない一貫性のある UI

コミュニケーションコストの削減

コミュニケーションコストの削減(1)

チーム作業時の様々な事務処理…• 作業の分担(担当者の割り当て)• 進捗状況の確認• ファイル交換• 用語集の更新

つづく

コミュニケーションコストの削減(2)

オープンソースコミュニティ等ではさらに…• 以前の担当者と連絡が取れなくなった• 使用ツールの不統一

単なるメーリングリストやファイル置き場では不十分 BabelZilla の進捗管理

Mozilla 拡張機能のローカリゼーション支援システム BabelZilla

既存システムの問題点

既存システムの問題点

既存の翻訳ツール• チーム作業をサポートしない

既存の翻訳支援 Web サイト• 翻訳メモリなどの翻訳支援機能をサポートし

ない• そのプロジェクト専用のシステムである

本提案はこれらの問題を解決します3つの目標

3つの目標

誰でも使える• 自分たちのプロジェクトのために使えます

みんなで使える• チームでの共同作業を支援します

便利に使える• 既存の翻訳支援技術を活用します

1つのコンセプト

1つのコンセプト

Happy localization and translation!• 効率的で楽しい翻訳を支援したい• ユーザインタフェースドリブンな開発• シンプル・無意識・直感的• 簡単に始められて簡単に止められる

設計と実装

システムの設計と実装について

今回の開発期間内では Web アプリケーション( CGI プログラム)として設計・実装• 野望はローカルの GUI で動作する,エディタ

に依存しない翻訳環境 プログラミング言語は主に Perl 5

• システム導入を簡単にしたい(例: Xoops )• 必要があれば一部を C などで書き直す

利用シナリオ

利用シナリオ

1. ユーザ登録とプロジェクト登録2. オリジナルロケール(元ファイル)の

アップロード3. Web ブラウザ上でローカライズや

翻訳を行う4. 進捗状況の確認などが可能5. ローカリゼーションが完了すれば

翻訳済みロケールをダウンロード実装機能

実装機能のサマリ(1)

様々なファイル形式に対応:まずは• .po :ユーザインタフェース• HTML :ドキュメンテーション

ロケールのライセンスの取り扱い元ファイルの更新(データの差分)への

対応( diff / バージョン管理)

つづく

実装機能のサマリ(2)

Ajax インタフェース(リッチ Web アプリケーション)

共有翻訳メモリ 共有用語集 同時編集 オーサリティ(編集権限)

共有翻訳メモリ

共有翻訳メモリ

「翻訳元の文章」と「翻訳後の文章」のペアを記憶したデータベース

自動的に記録(登録作業が不要)・共有• 「何もせずとも自然と」他人と協力できる

類似文章の検索アルゴリズム• 有力候補: LCS (最長部分列)を求めるア

ルゴリズム(動的計画法)の変形

共有用語集

共有用語集

専門用語をプロジェクト内で統一したい場合など

自動的には登録されない• 使用頻度の高い単語の提案

用語集の検索アルゴリズム• 単語や N-gram をキーとしたハッシュテーブ

ルや Judy Array など

Imagine…

Imagine some ‘if’s…

Imagine some ‘if’s…

Imagine some ‘if’s…

Imagine some ‘if’s…

開発タイムライン

理念

理念

オープンソースコミュニティの裾野を広げる• ユーザが大切。• ドキュメントが大切。• 母語が大切。

翻訳物の大量生産は可能か?• 文学作品とは違う。評価メトリクスはあるはず。• 翻訳工学。

Thanks!