Upgrade to Pro — share decks privately, control downloads, hide ads and more …

アプリ「REALITY」の12言語対応プロセスの仕組みと品質向上の取り組み

 アプリ「REALITY」の12言語対応プロセスの仕組みと品質向上の取り組み

GREE Tech Conference 2023で発表された資料です。
https://techcon.gree.jp/2023/session/TrackC-2

gree_tech
PRO

October 13, 2023
Tweet

More Decks by gree_tech

Other Decks in Technology

Transcript

  1. アプリ「REALITY」の
    12言語対応プロセスの仕組みと
    品質向上の取り組み
    REALITY株式会社
    iOSアプリエンジニア
    LOKNIYOM CHATCHAI(チュイ)

    View Slide

  2. アジェンダ
    ● 自己紹介
    ● ローカライゼーションの重要性
    ● 開発プロセスの紹介
    ○ LMPの導入・活用
    ● アプリの品質向上の取り組み
    ○ デザインの工夫
    ○ iOSアプリの工夫
    ○ 複数形の対応
    ● 多言語翻訳の品質向上の取り組み
    ○ 多言語翻訳の課題
    ○ AIの活用
    ○ コミュニティの活用
    ● まとめ
    2

    View Slide

  3. ● 自己紹介
    ● ローカライゼーションの重要性
    ● 開発プロセスの紹介
    ○ LMPの導入・活用
    ● アプリの品質向上の取り組み
    ○ デザインの工夫
    ○ iOSアプリの工夫
    ○ 複数形の対応
    ● 多言語翻訳の品質向上の取り組み
    ○ 多言語翻訳の課題
    ○ AIの活用
    ○ コミュニティの活用
    ● まとめ
    アジェンダ
    3

    View Slide

  4. 自己紹介
    4
    チュイ @chuymaster
    iOSエンジニア & ローカライズマネージャー
    REALITYアバターのかわいさを布教したい
    タイ語ネイティブ / 日本語能力試験N1 / TOEIC 990点
    SNSのアイコン
    REALITYのアバター

    View Slide

  5. REALITYとは
    ● アバター作成、ライブ配信などを楽しめるスマートフォン向けメタバース
    ● 12言語対応で63の地域で配信中
    5
    USのApp Storeで配信中のアプリスクリーンショット

    View Slide

  6. ● 自己紹介
    ● ローカライゼーションの重要性
    ● 開発プロセスの紹介
    ○ LMPの導入・活用
    ● アプリの品質向上の取り組み
    ○ デザインの工夫
    ○ iOSアプリの工夫
    ○ 複数形の対応
    ● 多言語翻訳の品質向上の取り組み
    ○ 多言語翻訳の課題
    ○ AIの活用
    ○ コミュニティの活用
    ● まとめ
    アジェンダ
    6

    View Slide

  7. 7
    ローカライゼーションの重要性

    View Slide

  8. REALITYユーザーの言語
    8
    デバイス言語別
    ユーザー割合
    (2023年8月時点)

    View Slide

  9. REALITYユーザーの言語
    9
    デバイス言語別
    ユーザー割合
    (2023年8月時点)
    約半分は日英以外
    のユーザー

    View Slide

  10. 英語対応だけでは不十分
    10
    インドネシアREALITY CONの様子
    ● 2023年5月に初めて海外でのオフライン
    イベントをインドネシアで実施
    ● ユーザーインタビューを通して、
    日本語も英語も読めない人が大半だと判明

    View Slide

  11. アプリの12言語対応タイムライン
    11

    View Slide

  12. ● 自己紹介
    ● ローカライゼーションの重要性
    ● 開発プロセスの紹介
    ○ LMPの導入・活用
    ● アプリの品質向上の取り組み
    ○ デザインの工夫
    ○ iOSアプリの工夫
    ○ 複数形の対応
    ● 多言語翻訳の品質向上の取り組み
    ○ 多言語翻訳の課題
    ○ AIの活用
    ○ コミュニティの活用
    ● まとめ
    アジェンダ
    12

    View Slide

  13. 開発プロセスの紹介
    ● 多言語の開発プロセスはLokaliseというLMP (Localization Management
    Platform) を中心に行っている
    13

    View Slide

  14. 開発プロセスの紹介
    ● 言語リソースキーがあれば開発が可能で、翻訳を待つ必要がない
    14

    View Slide

  15. LMPの導入・活用
    15

    View Slide

  16. ● Lokaliseにクライアント・サーバーの言語リソースを集約
    LMPの導入で言語リソースを一元管理
    16
    弊社清が2022/5に発表した「LMPを用いたアプリの翻訳フロー改善 」

    View Slide

  17. 翻訳者に文脈を提供して品質アップ
    ● Figma連携機能でデザイン画像を添付して翻訳者に文脈を伝えられる
    17
    Lokaliseのエディター&Figmaから出力されたスクショの例

    View Slide

  18. ● 依頼タスクを作成するだけで、SlackBotが翻訳者に通知
    翻訳タスク作成で依頼作業をスピーディーに
    18
    翻訳タスクとSlackBotの通知の様子

    View Slide

  19. 機械翻訳で英語以外も素早く対応
    ● ワンクリックで機械翻訳できるため、英語以外のユーザーにも同時に
    翻訳された文章を提供することが可能
    19
    翻訳前 翻訳後

    View Slide

  20. 自動更新PRでエンジニアの工数が0に
    ● 言語リソースキーが追加・更新されると、自動でPRが作成される
    20
    GitHubの自動更新PR例

    View Slide

  21. ● 自己紹介
    ● ローカライゼーションの重要性
    ● 開発プロセスの紹介
    ○ LMPの導入・活用
    ● アプリの品質向上の取り組み
    ○ デザインの工夫
    ○ iOSアプリの工夫
    ○ 複数形の対応
    ● 多言語翻訳の品質向上の取り組み
    ○ 多言語翻訳の課題
    ○ AIの活用
    ○ コミュニティの活用
    ● まとめ
    アジェンダ
    21

    View Slide

  22. デザインの工夫
    22

    View Slide

  23. テキストは複数行を前提に
    ● 日本語で一行で収まるテキストでも、他の言語では収まらない
    可能性がある
    ● テキストが長い場合と短い場合をデザインすると良い
    23
    Before After

    View Slide

  24. テキスト同士の横並びを避ける
    ● テキスト+ボタンのような場合、横並びではなく縦に並ぶように
    24
    Before After

    View Slide

  25. iOSアプリの工夫
    25

    View Slide

  26. デザインシステムの導入
    ● Buttonのような汎用的なコンポーネントでは、縮小比率を一律で適用
    26
    デザインシステム
    なし
    デザインシステム
    あり

    View Slide

  27. プレビューアプリで多言語を確認しやすく
    27
    ● プレビュー専用アプリを用意しており、言語の切り替えが簡単
    ● 開発の段階で多言語を確認してレイアウト崩れに気づきやすい
    プレビューアプリ ロシア語のプレビューが簡単に

    View Slide

  28. 複数形の対応
    28

    View Slide

  29. 複数形の対応とは
    ● 「1 person 2 people」のように、英語等では「単数形・複数形」
    があり、その表示の出し分けができるように対応すること
    29
    単数形・複数形がちゃんと表示できると気持ちいい! 紹介記事

    View Slide

  30. 前提知識
    ● 複数形(Plural)の文法は言語によって異なる。
    ● 「1ならA、2以上ならB」の条件はNG🙅
    30
    ロシア語の複数形は 4種類あり、ルールが複雑
    UnicodeのLanguage Plural Rulesより引用

    View Slide

  31. 複数形の言語リソースの管理
    ● Lokaliseは「Plurals」機能として複数形のリソース管理に対応
    31
    複数形の言語リソースの例

    View Slide

  32. 複数形の言語リソースの表示
    ● 各プラットフォームの複数形の言語リソースを出力し、表示を実装
    32
    Unityのガチャ説明画面の表示例

    View Slide

  33. 複数形の言語リソースの表示
    ● 各プラットフォームの複数形の言語リソースを出力し、表示を実装
    33
    Unityのガチャ説明画面の表示例

    View Slide

  34. ● 自己紹介
    ● ローカライゼーションの重要性
    ● 開発プロセスの紹介
    ○ LMPの導入・活用
    ● アプリの品質向上の取り組み
    ○ デザインの工夫
    ○ iOSアプリの工夫
    ○ 複数形の対応
    ● 多言語翻訳の品質向上の取り組み
    ○ 多言語翻訳の課題
    ○ AIの活用
    ○ コミュニティの活用
    ● まとめ
    アジェンダ
    34

    View Slide

  35. 多言語翻訳の課題
    35

    View Slide

  36. ● 社内には英語の翻訳チームがいて、柔軟にテキストの翻訳に対応できる
    ● しかし、ユーザーの約半数が日英以外で、英語が読めるとは限らない
    英語以外の翻訳チームが不在
    36

    View Slide

  37. ● 「たとえ品質が低くても、英語のままで未翻訳よりは良い」
    という思想の元、機械翻訳を導入した
    ● 英語のままよりは良いが、かなり間違った翻訳で品質改善が課題となった
    機械翻訳の導入と課題
    37

    View Slide

  38. 実際に起きた問題
    ● 「配信」が繁体字で「流」に翻訳されて、ミッションの進行の妨げになった
    38
    日本語
    配信を累計60分視聴しよう
    英語
    View streams for a total of 60 minutes
    繁体字
    查看流總數60分鐘

    View Slide

  39. 実際に起きた問題
    ● 「配信」が繁体字で「流」に翻訳されて、ミッションの進行の妨げになった
    39
    日本語
    配信を累計60分視聴しよう
    英語
    View streams for a total of 60 minutes
    繁体字
    查看流總數60分鐘
    「流れ」を見る??

    View Slide

  40. 実際に起きた問題
    ● 「配信」が繁体字で「流」に翻訳されて、ミッションの進行の妨げになった
    40
    日本語
    配信を累計60分視聴しよう
    英語
    View streams for a total of 60 minutes
    繁体字
    查看流總數60分鐘 ⇒ 觀看直播共 60 分鐘

    View Slide

  41. 翻訳ロスの問題
    ● 言語間の翻訳の情報ロスによって繁体字で「配信」が「流」になった
    ● 現在の翻訳フロー
    41
    ※タイ語・繁体字・韓国語は
    社内のネイティブスピーカーが都度修正

    View Slide

  42. 翻訳ロスの問題
    42
    配信 Stream

    意味
    1.(川の)流れ
    2.(映像の)配信
    「Livestream」に翻訳すれば誤訳は
    起きないが、簡潔さが失われ、
    「英語の品質」が低下してしまう。

    View Slide

  43. ● このような事象が10言語でいたるところに発生
    ● クリティカルな翻訳ミスになりやすく、ユーザーの不利益に直結する。
    翻訳ロスの問題
    43
    理解不能、違う行動に直結する誤訳
    理解しにくい、文法的に間違っている
    軽微な誤字、文章スタイルの違い
    翻訳ミスの程度

    View Slide

  44. AIを活用して
    クリティカルなミスを軽減
    44

    View Slide

  45. 翻訳コンテキストの重要性
    ● 「Stream」が「流」に翻訳されたのは、機械翻訳に十分なコンテキストを与えていな
    いから
    45
    Stream 流
    意味
    1.(川の)流れ
    2.(映像の)配信
    一般的に
    こっちの意
    味かな
    コンテキストなし
    うちのアプリでは、
    映像の配信のことだよ 直播
    Stream
    意味
    1.(川の)流れ
    2.(映像の)配信
    了解っす!
    コンテキストあり

    View Slide

  46. Below are the glossary terms for our live
    streaming application for each language
    code. Use the terms from the glossary to
    translate from English. Correct plurals
    and verbs as necessary.
    en,id,fr,ru,de,zh-Hant,th,ko
    Stream,Siaran,Diffusion,стрима,Stream,
    直播,ไลฟ,스트리밍
    Translate the below phrase and give me
    the result in table.
    Comment during a stream 5 times
    コンテキストを生かしたAI翻訳
    ● コンテキストを提供してChatGPTに翻訳をしてもらおう
    46
    コンテキストを渡す コンテキストを使ってくれる( GPT-4推奨)

    View Slide

  47. 用語集でコンテキストを作る
    ● 自社サービスのコンテキストをまとめたものが、用語集(Glossary)
    ● AI翻訳の品質向上に直結するので、頑張って整備中
    47
    Lokaliseに登録した用語集の一例 「ガチャ」の用語例

    View Slide

  48. Lokalise AIで用語集を活かす
    ● LokaliseはAI翻訳機能があり、用語集を活かしてAIに翻訳してもらえる
    48
    例)Run a test stream を翻訳してもらう

    View Slide

  49. AIの限界
    49
    ● AIは翻訳のミスを直すことがある程度できる
    ● しかし、よりクリエイティブで、文化にあった翻訳は人間が必要
    ● 専門家によるローカライゼーションQA(LQA)は必要不可欠
    AI: マイナス要素の解消 人間:プラス要素の付加
    各文化に馴染む表現
    楽しげな
    クリエイティブ文章

    View Slide

  50. ネイティブスピーカーの
    コミュニティの活用
    50

    View Slide

  51. ● Discordでローカライゼーション専用
    チャンネルを設けている
    ● ユーザーが気軽に指摘でき、随時修正対応中
    Discordコミュニティの活用
    51
    Discordのロシア語の報告例

    View Slide

  52. 社内ネイティブスピーカーの活用
    ● ネイティブスピーカーの社員が翻訳の見直しを随時行っている
    ○ 現時点は、タイ語・繁体字・韓国語で対応
    ● 見直した単語を用語集に登録して、AI翻訳に活かせるように整備中
    52

    View Slide

  53. ● 自己紹介
    ● ローカライゼーションの重要性
    ● 開発プロセスの紹介
    ○ LMPの導入・活用
    ● アプリの品質向上の取り組み
    ○ デザインの工夫
    ○ iOSアプリの工夫
    ○ 複数形の対応
    ● 多言語翻訳の品質向上の取り組み
    ○ 多言語翻訳の課題
    ○ AIの活用
    ○ コミュニティの活用
    ● まとめ
    アジェンダ
    53

    View Slide

  54. ● LMPの導入でワークフローが非常にスムーズになったので、
    多言語対応をするなら導入の検討を強く推奨。
    ● デザインとアプリ実装においても多言語の考慮が必要。
    ● AI翻訳によって、翻訳の品質向上が期待できるが、
    そのためには、用語集の整備が非常に重要。
    ● 翻訳の品質担保には、ネイティブスピーカーによるチェックが欠かせない。
    まとめ
    54

    View Slide

  55. 55
    REALITY VALUE

    View Slide

  56. 56

    View Slide