![見出し画像](https://assets.st-note.com/production/uploads/images/78664326/rectangle_large_type_2_52629f33f3c27d56541c0c6b95650254.png?width=1200)
REALITYの文言の日本語と翻訳文の長さを比べてみた
最近、とある科学の超電磁砲Tを見るために、アニメ第1期から見直して懐かしさで涙が止まらないiOSエンジニアのあおやまです。
はじめに
REALITYは日本語をはじめとして、英語、繁体中国語、フランス語、ドイツ語、インドネシア語、韓国語、マレー語、ポルトガル語(ブラジル)、ロシア語、スペイン語、タイ語の12の言語に対応しています。
当初は、日本語のみに対応していましたが、追加で11の言語に対応しました。
最初に他言語対応した際には、文言が定められたスペースに入りきらないという問題が様々な場所で発生していました。
![](https://assets.st-note.com/img/1652660673528-zZ9YD5Imnq.png?width=1200)
言語ごとに個別に対応するのは非常に手間がかかるため、適切に優先度を設定し、文字幅に応じてUIの幅が自動で調整されるようにする必要があります。
![](https://assets.st-note.com/img/1652661006639-FWrov6mA72.png?width=1200)
自動で調整すると言っても、スマートフォンは横幅に限りがあるため、デザイン時や実装時にある程度、目処を付けて余裕を持たせていないと横幅が足りずにデザインが崩れる原因となってしまいます。
そこで、REALITYのアプリで利用されている約700の文言の各言語での長さを比較してみました。
![](https://assets.st-note.com/img/1652661741190-MWubtG6U8p.png?width=1200)
REALITYの文言の日本語と翻訳文の長さを比較する
調査対象
対象はREALITYのアプリで利用されている文言全てとしました。
約700文言×12言語です。
文字数は日本語で1文字から89文字の文言が含まれます。
アプリで実際利用されている文言のため、比較的短い単語がほとんどです。
文字数の比較
最初に、日本語とその他の言語の文字数を比較してみました。
例えば日本語の「友達を招待」という5文字の文言は、英語では「Invite a Friend」の15文字、タイ語では「เชิญเพื่อน」の7文字となります。
REALITYで利用されている日本語での文言の文字数と、対応する翻訳文の文字数の平均はこのような関係となりました。
![](https://assets.st-note.com/img/1652663336095-gyU42KOuMS.png?width=1200)
このままでは、読み取るのが難しいため、ボリュームゾーンである1文字から15文字の部分にフォーカスしてみます。
日本語で15文字の文言として「シェアして配信に友達を呼ぼう!」などがあります。
![](https://assets.st-note.com/img/1652663664627-6QgZFcf4WM.png?width=1200)
文字数で比較すると、繁体中国語が日本語より文字数が少なく、スペイン語やフランス語が文字数が多い事がわかります。
例えば、日本語で10文字の文言の場合、繁体中国語は平均6.2文字、スペイン語は平均23.2文字です。
つまり、日本語からスペイン語へ翻訳された場合に2倍近い文字数となる事がわかります。
文字数と表示幅
上の章では文字数を比較しましたが、UIに表示される上で、言語によって文字数と文言が表示された時の幅の関係が異なります。
「シェアして配信に友達を呼ぼう!」という文言は日本語では15文字ですが、英語では「Share it and invite your friends to your broadcast!」で51文字となり、文字数では3.4倍です。
しかし、表示された時の幅は3.4倍になっていません。
![](https://assets.st-note.com/img/1652665950153-2yjHBYK0ZG.png?width=1200)
そこで、iPhoneで実際に表示された時に必要な文字幅を比較してみます。
必要な文字サイズは対象文字列をセットしたUILabelでsizeThatFitsを実行して求めました。
表示幅の比較
REALITYで利用されている日本語での文言の文字数と、対応する翻訳文の表示幅の平均はこのような関係となりました。
引き続き1文字から15文字の部分にフォーカスしています。
![](https://assets.st-note.com/img/1652666565493-10q8bdPK2j.png?width=1200)
平均の表示幅は、平均の文字数の少ない繁体中国語に加えて、タイ語、韓国語も日本語より短い事がわかります。
英語は意外と、日本語とほぼ同じ表示幅である事がわかります。
また、文字数の比較では目立っていなかったロシア語が頭一つ抜けて表示幅が必要となっており、日本語と比べておよそ1.3倍になっています。
しかし、日本語で1文字から4文字の短い文言の場合は、どの言語も日本語に比べてかなり長くなる傾向があるため注意が必要です。
これまでは、平均の表示幅を比較していましたが、最大の表示幅も比較してみます。
結果がこちらです。
![](https://assets.st-note.com/img/1652668625031-ptJHtoud4m.png?width=1200)
これを比較することで最大でどの程度の長さとなるか目処を付ける事ができるようになります。
繁体中国語や韓国語は最大長でも2倍程度であり、日本語と比べてそこまで長くなることは無さそうです。
しかし、ロシア語、フランス語、ドイツ語などは4倍程度になる事があるため注意が必要そうです。
まとめ
REALITYの文言の日本語と翻訳文の長さを比べてみました。
単純な文字数比較ではドイツ語、フランス語が目立っていましたが、表示幅では、ロシア語が頭一つ長いという結果となりました。
他言語対応する上で、表示幅が1.3倍程度になって問題ないように、デザインや実装時にある程度横幅に余裕を持って設計する必要があります。
また、表示幅が長くなりがちな言語を把握しておき、注意して確認することで、アプリの表示崩れを防ぐことが可能です。
w3cから英語から翻訳した時のテキストのサイズに関する資料が公開されています。
この資料の中でも、英語からドイツ語やイタリア語に翻訳された場合はサイズが大きくなること、特に短い文言の翻訳で膨張率が高い事が指摘されており、日本語から翻訳した場合を調査した今回の結果も近い傾向にあると言えそうです。
REALITYではローカライズ対応を通して、一緒に世界中にメターバースを届ける仲間を募集してます。
カジュアル面談も実施しているため、お気軽にお声かけください。