top of page

ゲームが1週間で14の言語を覚えた話 🌍

執筆者の写真: Marcel Dütscher
Marcel Dütscher
8月10日
読了時間: 4分

2026年8月10日


はじめのころ、Blocks Beyond the Starsが話せる言語は2つだけでした。私たちが住んでいるのでドイツ語、そしてインターネットは英語を話すので英語です。今では14の言語を話します。ここでは、その道のりと、途中で壊れたあれこれをお話しします。🌍


はじまりはFrancescoでした。 数週間前、イタリアからプルリクエストが届きました。Francesco Quirinoが、ゲームをイタリア語に訳しはじめてくれたんです。しかも手作業で。290個すべてのブロック名と説明から、グループごとに少しずつ。そこで私たちは、言語に本気で向き合わなければと気づきました。それまでは、ゲームのテキストの半分が、そもそも翻訳できる形になっていなかったからです。300個を超えるサーバーメッセージが英語に固定されていました。そこでまず、Francescoの仕事の受け皿になるように、大掃除をしました。


つぎに来たのは、やっかいな問いでした。 言語を手作業で訳すには、何週間もかかります。私たちは家族であって、ローカライズ専門のスタジオではありません。そこで機械の出番ですが、ちゃんとした形で使います。言語ファイルをかたまりに分けて、言語モデルに訳してもらい、そのあとでチェックする小さなツールを作りました。文字列が抜けていないか? {0}のようなプレースホルダーが消えていないか? 存在しないキーを作り出していないか? もしそうなら、その結果は捨てます。ツールが安定して動くようになってはじめて、言語を足しはじめました。オランダ語、ブラジルポルトガル語、ポーランド語、トルコ語、そしてロシア語、ウクライナ語、中国語、日本語、韓国語です。


言葉より、トーンのほうが大変でした。 言語モデルは、放っておくと丁寧でかたい言い方で訳します。でも、子ども向けのゲームが銀行の手紙みたいに話しかけてきたら、ちょっと不気味ですよね。だから言語ごとにルールを決めました。オランダ語は「je/jij」、ポーランド語は「ty」、トルコ語は「sen」、ブラジルポルトガル語は「você」、ロシア語は「ты」、日本語はです/ます、韓国語は해요체です。オランダ語は、さらにもう1周必要でした。語頭のIJは両方の文字を大文字にするので、「Ijzererts」ではなく「IJzererts」なんです。これは機械には見つけられません。結果を読んで、はじめて気づけることです。


そして、空っぽの四角が現れました。 ロシア語の翻訳が完成してゲームを起動したら、メニューには四角形しか出ませんでした。私たちの書体Rajdhaniには、キリル文字がなかったんです。中国語、日本語、韓国語になるともっと厄介で、完全なCJKフォントは約16メガバイトもあります。3つ分で、50MBに近くなります。ブラウザでも動かしたいゲームには、とても無理な大きさです。そこで解決策として、私たちのテキストに出てくる文字だけを入れた、言語ごとの専用サブセットフォントを作りました。16MBが800KBになります。50MBではなく、2MBの増加で済みます。🔤


そこで学んだこと。 翻訳は、翻訳が2割で、残りの8割はそれ以外です。そもそも文字列をコードの外に出すこと、フォントを探すこと、文がボタンに収まるかを確かめること(ドイツ語は長いですが、ロシア語はもっと長いです)、そして、言語ファイルが読み込まれる前に出るエラーダイアログまで、きちんと訳すこと。この最後のメッセージは、14回ぶん直接コードに書き込まなければなりませんでした。気持ちとしてはモヤモヤしますが、これだけは絶対に読めなければいけないメッセージなんです。


正直にお伝えします。最初の訳は機械翻訳です。 品質は良く、抜けもなく、検証もしていますが、ネイティブスピーカーに読んでもらったわけではありません。14人の翻訳者がいるようなふりをせず、あえてそう言っています。だからこそ、Francescoのイタリア語は1文字も変えずに残してあります。私たちのツールはすき間を埋めるだけで、人間の翻訳を上書きすることは決してありません。人の手が入った場所では、人が優先されます。


これらの言語が話せる人は、1つだけでもいいので、ぜひ修正を教えてください。リポジトリには、貢献のしかたを1歩ずつ案内する翻訳ガイドがあります。GitHubが苦手でも、変に聞こえる文を教えてもらうだけで大丈夫です。ネイティブスピーカーなら、5分で、私たちが5時間かけても見つけられないことに気づけます。🌍✨

最新記事

すべて表示
分析、計画、コード、チェック:AIと開発するときの私たちのリズム 🤖

Blocks Beyond The StarsでAIをたくさん使っていることは、これまで一度も隠していません。AIがなければ、このくらいの大きさのゲームを仕事のあとの趣味プロジェクトとして作るのは、とてもできません。でも私たちにとって「AIと開発する」は、願いごとを打ち込んで、結果をそのまま受け取って、うまくいくよう祈ることではありません。この数か月で決まった型ができて、それは意外なほど昔ながらで

 
 
まず一種類、それから五種類へ:このゲームの育ち方 🪨

バージョン一覧を見ると、5週間ちょっとで29回のリリースがあります。6月20日の0.1.0から、昨日の0.9.0まで。どうしてそんなことができるのでしょう。完成した機能をいっぺんに作り上げているわけでは、もちろんありません。私たちは段階をふんで作ります。まず、本当に動く、いちばん小さいバージョン。そして、それが安定して楽しくなったら、次の段階です。いま、小惑星がそれをいちばんよく見せてくれています

 
 
見えない見守り役、そして理由をきちんと伝えるBAN 👁️

少し前、このブログで子どもにやさしい設計について書きました。通報、フィードバック、そして見守る目。正直に言うと、見守る目がいちばん弱い部分でした。通報を受け取ることはできるのに、ワールドで実際に何が起きているのかを見ることは、ほとんどできなかったのです。そこで、ふたつの柱で改善に取り組んできました。見守りのための観察者モードと、対象になったプレイヤーにようやく状況をきちんと伝える、全面的に作り直し

 
 

コメント


この投稿へのコメントは利用できなくなりました。詳細はサイト所有者にお問い合わせください。
bottom of page