「CEDEC2024」講演レポート、全世界同時リリースに向けた多言語対応の仕組みも解説
目指すは“毎秒20万リクエスト”対応、「FF7エバークライシス」におけるパフォーマンス向上策の数々
2024年09月02日 10時00分更新
運用に耐える海外環境の構築:マスターデータ・リソースの多言語化、国内・海外の差分管理
もうひとつの目標である全世界同時リリースのための多言語対応の取り組みも紹介した。
海外対応における多言語化には、マスターの文字列および文字列が埋め込まれた画像を日本語・英語表記にしなければならない。その一方で、日本語版と英語版のマスターデータはリアルタイムに同期する必要があり、そのためには設定やストア情報など、国内と海外で差分が出るマスターを取り込む仕組みが求められた。
まず、マスターデータの多言語対応には、翻訳が必要な文字列をすべて言語テーブルで管理することで解決した。この言語テーブルは通常のマスターとは別で管理を行い、言語別で配信することでクライアントが必要とする言語情報のみが取得できる。これにより、通常のマスターデータからほとんどの文字列情報を排除して容量を削減し、それを言語テーブルに集中させることで、翻訳などの管理コストも低減できた。
リソースの多言語対応も必要となる。前提として、画像などのリソースには極力文字情報を含めない方針をとった。ただし、ヘルプなどどうしても言語の出し分けが必要な場面では、クライアント側で対応した。日本語、英語で階層を用意して、同じIDで常にそれぞれのリソースを作成、言語に応じて参照してもらう仕組みを採用した。
最後に、全世界同時リリースのための、マスター差分管理機能だ。まず、国内・海外で専用のブランチを作成して管理する形をとった。マスターの差分管理では、ブランチにどこまで取り込んだかの情報を持たせ、最後に取り込んだブランチからの追加差分を取り込む、“gitのリベース”のような挙動を管理画面のロジックとして採用。国内・海外マスターの追従が容易にできるようにしている。この仕組みは、マスターのバージョン管理や個人ブランチのデータ反映にも用いているという。