$30 off During Our Annual Pro Sale. View Details »

ソフトウェア・グローバリゼーションの概要

Nishinos
January 27, 2018

 ソフトウェア・グローバリゼーションの概要

東京GILT会#1の発表資料

Nishinos

January 27, 2018
Tweet

More Decks by Nishinos

Other Decks in Technology

Transcript

  1. ソフトウェア・グローバリゼーション
    の概要
    東京GILT会#1 「ソフトウェアと翻訳」
    2018年1月27日
    西野 竜太郎
    @nishinos
    1

    View Slide

  2. 自己紹介
    •  IT分野の英語翻訳者/語学書著者
    •  合同会社グローバリゼーションデザイン研究所 代表社員
    •  日本翻訳連盟(JTF)理事
    •  著書
    •  『ソフトウェア・グローバリゼーション入門』 → 本日発表
    •  『アプリケーションをつくる英語』
    •  第4回ブクログ対象(電子書籍部門)
    •  『ITエンジニアのための英語リーディング』
    •  『英語語源が魔術に変わる世界では』
    2

    View Slide

  3. グローバルなソフトウェアとは
    A.  多言語で表示される
    •  日本語、英語、フランス語…
    B.  ロケールに合った形で情報が表示される
    •  日付、通貨、数字の桁区切りと小数点…
    v ロケール: 通常は「言語」と「地域」(国)の組み合わせで示される区域
    •  アメリカの英語: en-US
    •  イギリスの英語: en-GB
    •  カナダの英語: en-CA
    •  カナダのフランス語: fr-CA
    3

    View Slide

  4. グローバルなアプリの例(Pokémon GO)
    A.  多言語で表示
    4

    View Slide

  5. グローバルなアプリの例(Pokémon GO)
    B.  ロケールに合った形で情報を表示
    5
    アメリカ英語
    → 「月/日/年」の順
    イギリス英語
    → 「日/月/年」の順

    View Slide

  6. グローバル化に必要なI18NとL10N
    •  グローバルなソフトウェアの開発には「I18N」と「L10N」が必要
    v  間の数字は略されている文字の数
    •  I18NとL10Nを合わせて「G11N」(グローバリゼーション)
    6
    土台
    (言語や文化に非依存)
    アメリカ英

    イギリス英

    フランス語 ドイツ語
    日本語
    L10N
    I18N
    G11N

    View Slide

  7. グローバル化に必要なI18NとL10N
    •  I18N
    •  インターナショナリゼーション/国際化
    •  特定の言語、地域、文化に依存しない形に製品を汎用化する
    Ø L10N の土台を築く作業
    •  主にプログラマー
    •  ほかにデザイナーやテクニカル・ライターも
    7

    View Slide

  8. グローバル化に必要なI18NとL10N
    •  L10N
    •  ローカリゼーション/地域化
    •  特定の言語、地域、文化に合う形に製品を特殊化すること
    •  I18N で築いた土台の上に多言語情報を制作する作業
    •  主に翻訳者
    l G11Nにおける現在の課題
    •  L10N業界はウォーターフォール型で分業化され、90年代頃に成立
    •  最近のアジャイルにうまく適応できていない
    Ø 認識のギャップを埋め、一連の流れ(→G11N)として理解する必要
    8

    View Slide

  9. I18Nですること
    9
    カテゴリー 実装内容
    A. 文字と書字方向 Unicodeを使う
    異なる方向に書く言語に対応する
    B. L10Nの分業化と自動化 リソースを外部化する
    ロケールに合う形式で自動的に表示させる
    C. 訳文の質向上 翻訳可能な単位にまとめる
    条件に応じて異なる訳文を選択可能にする
    翻訳を意識したGUI設計をする
    翻訳を意識した原文テキストを書く
    ロケール依存の要素を汎用化する

    View Slide

  10. A. 文字と書字方向
    u Unicodeを使う
    Ø 多様な文字を表示できる
    •  かつてI18Nでは努力のほとんどが文字コードとの格闘だった(らしい)
    u 異なる方向に書く言語に対応する
    Ø 右から左へ書く言語を表示できる
    •  RTL(Right To Left)とも
    •  アラビア語やヘブライ語
    10

    View Slide

  11. A. 文字と書字方向
    11
    基本的に右から左
    ラテン文字や数字は左から右
    (アラビア語Wikipediaの「スティーブ・ジョブズ」の項目)

    View Slide

  12. A. 文字と書字方向
    •  HTMLの場合「dir」属性で
    •  レイアウトもRTL
    •  鏡写し
    12

    View Slide

  13. B. L10Nの分業化と自動化
    u リソースを外部化する
    •  ソースコードと表示テキストを切り離して別々にしておくこと
    Ø 開発と翻訳の分業が可能
    Ø ソースコードを保護
    Ø 単一のソースコードを維持
    •  実装方法の例
    •  PHPなど: gettext
    •  Java: .properties
    •  iOS: .xliff
    13

    View Slide

  14. B. L10Nの分業化と自動化
    u ロケールに合う形式で自動的に表示させる
    •  日付の場合、汎用的な形式(例:UNIX時間)で保持し、ロケールに合わ
    せてフォーマットして表示
    Ø 翻訳が不要に
    14
    ロケール 日付 (短い形式)
    アメリカ December 1, 2015 12/1/15
    イギリス 1 December 2015 01/12/2015
    日本 2015年12月1日 2015/12/01
    ロケール 数字
    アメリカ 1,234.56
    日本 1,234.56
    ドイツ 1.234,56
    フランス 1 234,56

    View Slide

  15. C. 訳文の質向上
    u 翻訳可能な単位にまとめる
    Ø 不自然で無理な訳文を作る必要がなくなる
    •  例:変数とテキストを結合して作った英語メッセージ…
    numOfDownloaded + "of" + numOfTotal + "have been downloaded.”
    •  英語 「7 of 10 files have been downloaded.」
    •  日本語 「7 ファイルをダウンロードしました(全10 ファイル)。」
    ü 英語と日本語では語順が違うので、訳が苦しい…
    •  一般的な対策: フォーマッター(例:JavaのMessageFormatクラス)
    •  プレースホルダー({1})は自由に移動可能
    "{1} of {2} have been downloaded.”
    “全{2}ファイル中{1}ファイルをダウンロードしました。”
    15

    View Slide

  16. C. 訳文の質向上
    u 条件に応じて異なる訳文を選択可能にする
    Ø 名詞に性があったり複数形がいくつもある言語の翻訳が可能に
    •  例:
    •  「カートに{n}個の商品があります。」
    •  英訳: 「You have {n} item(s) in your cart.」
    Ø 「item(s)」という形も可能だが、きちんとした英語にしたい
    1 item、2 items、3 items …
    •  英語は2種類だけ(単数/複数)なので、それほど苦労はなかった
    Ø ロシア語では4つ、アラビア語では6つも種類(カテゴリー)が…
    16

    View Slide

  17. C. 訳文の質向上
    17
    言語 カテゴリー ルール(整数の場合のみ)
    日本語 other すべて
    英語 one 1
    other 上記以外
    ロシア語 one 1、21、31、41、51、61、71、81、101、1001 …
    few 2〜4、22〜24、32〜34、42〜44、52〜54、62、102、1002 …
    many 0、5〜19、100、1000、10000、100000、1000000 …
    other 上記以外
    アラビア語 zero 0
    one 1
    two 2
    few 3〜10、103〜110、1003 …
    many 11〜26、111、1011 …
    other 上記以外
    参考: UnicodeのCLDR(バージョン28)

    View Slide

  18. C. 訳文の質向上
    •  条件(数や性別)で表示を変える仕組みが広がりつつある
    •  例:ICU(International Component for Unicode)形式
    •  結果
    0: 「 No items in your cart.」
    1: 「 You have 1 item in your cart.」
    5: 「 You have 5 items in your cart.」
    18
    {商品数, plural,
    =0 {No items in your cart.}
    one {You have 1 item in your cart.}
    other {You have # items in your cart.}
    }

    View Slide

  19. C. 訳文の質向上
    u 翻訳を意識したGUI 設計をする
    •  翻訳によってGUI要素(例:ボタン)のテキストの長さが変わる
    Ø 対処例: サイズを自動調整する、スペースを取る…
    u 翻訳を意識した原文テキストを書く
    Ø 対処例: 文化に固有の比喩や例は避ける
    u ロケール依存の要素を汎用化する
    •  住所は大きな単位(県など)ではなく小さな単位から書く国も
    Ø 対処例: 住所は1つのテキストボックスにする
    19

    View Slide

  20. 各ロケールでの優先度
    20
    実装内容 中・

    英・仏ほ

    アラビ

    A. 文字と書
    字方向
    Unicodeを使う ◯ ◯ ◯
    異なる方向に書く言語に対応する ― ― ◯
    B. L10Nの分
    業化と自動化
    リソースを外部化する ◯ ◯ ◯
    ロケールに合う形式で自動的に表示させる △ △ △
    C. 訳文の質
    向上
    翻訳可能な単位にまとめる ◯ ◯ ◯
    条件に応じて異なる訳文を選択可能にする ― △ △
    翻訳を意識したGUI設計をする △ △ △
    翻訳を意識した原文テキストを書く △ △ △
    ロケール依存の要素を汎用化する △ △ △
    ※ 「◯」は必須、「△」は望ましい、「―」は必ずしも必要ない、という優先度を示す

    View Slide

  21. L10Nですること
    •  各ロケール向けに特殊化する内容
    •  テキスト
    •  UIラベル、エラー・メッセージ、ヘルプ/マニュアル…
    Ø 「翻訳」のこと
    •  画像、ビデオ、オーディオ
    •  文化的要素
    •  名前、住所、電話番号、度量衡など
    •  機能とハードウェア
    21

    このアイコンを付けたアプリは世界で売れるか?

    View Slide

  22. L10Nの基本3ステップ
    1.  抽出
    •  ソフトウェアから翻訳対象のテキスト(や画像など)を取り出す
    2.  翻訳
    •  翻訳する
    3.  統合
    •  ソフトウェアに翻訳テキスト(画像なども)を戻す
    •  翻訳では主に「アウトソーシング」と「内製」
    •  ウォーターフォール的なやり方ではアウトソーシングが主流
    Ø ただしアジャイル的なやり方に対応できない点が課題
    22

    View Slide

  23. L10Nでよく使うツール
    A.  翻訳作業環境
    Ø 「翻訳」ステップで利用
    •  エディター、翻訳メモリー(TM)、用語ベース、機械翻訳など
    例: Google Translator Toolkit → 次のスライド
    B.  TMS(Translation Management System)
    Ø ステータス管理機能などで、プロジェクトを円滑化
    C.  抽出/統合支援ツール
    Ø 「抽出」「統合」ステップで利用
    •  Android StudioなどIDEに搭載されていることも
    23

    View Slide

  24. L10Nでよく使うツール
    24
    原文
    訳文
    翻訳メモリーからの検索結果
    用語ベースからの検索結果
    機械翻訳の結果

    View Slide

  25. 翻訳者に渡すべき情報
    Ø 最適な翻訳者を見つけ、質を高められる
    •  テキストの全般情報
    •  種類や分野: 理科教育のアプリ、通信機器のマニュアル…
    •  想定ユーザーや言葉づかい: 子供/大人、フォーマル/カジュアル…
    •  翻訳の対象と対象外
    •  HTMLタグのalt属性は訳す、など
    •  文脈が分かる資料
    •  アプリそのもの、UIのスクリーンショット、画面設計書…
    •  (あれば)TM、用語集、スタイルガイド
    25

    View Slide

  26. 以上です
    26

    View Slide