(2次審査)資料 - deq notes

Download Report

Transcript (2次審査)資料 - deq notes

共同ローカリゼーション
フレームワーク
井上 謙次
本提案のサマリ

『共同ローカリゼーションフレームワーク』は
• チームによるローカリゼーションプロセスを支援
•
•
•
する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.
4.
5.
ユーザ登録とプロジェクト登録
オリジナルロケール(元ファイル)の
アップロード
Webブラウザ上でローカライズや
翻訳を行う
進捗状況の確認などが可能
ローカリゼーションが完了すれば
翻訳済みロケールをダウンロード
実装機能
実装機能のサマリ(1)

様々なファイル形式に対応:まずは

ロケールのライセンスの取り扱い
元ファイルの更新(データの差分)への対応
(diff / バージョン管理)

• .po:ユーザインタフェース
• HTML:ドキュメンテーション
つづく
実装機能のサマリ(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!