Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

LMPの導入・活用 15

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

デザインの工夫 22

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

iOSアプリの工夫 25

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

複数形の対応 28

Slide 29

Slide 29 text

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

Slide 30

Slide 30 text

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

Slide 31

Slide 31 text

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

Slide 32

Slide 32 text

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

Slide 33

Slide 33 text

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

Slide 34

Slide 34 text

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

Slide 35

Slide 35 text

多言語翻訳の課題 35

Slide 36

Slide 36 text

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

Slide 37

Slide 37 text

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

Slide 38

Slide 38 text

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

Slide 39

Slide 39 text

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

Slide 40

Slide 40 text

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

Slide 41

Slide 41 text

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

Slide 42

Slide 42 text

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

Slide 43

Slide 43 text

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

Slide 44

Slide 44 text

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

Slide 45

Slide 45 text

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

Slide 46

Slide 46 text

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推奨)

Slide 47

Slide 47 text

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

Slide 48

Slide 48 text

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

Slide 49

Slide 49 text

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

Slide 50

Slide 50 text

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

Slide 51

Slide 51 text

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

Slide 52

Slide 52 text

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

Slide 53

Slide 53 text

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

Slide 54

Slide 54 text

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

Slide 55

Slide 55 text

55 REALITY VALUE

Slide 56

Slide 56 text

56