ブラウザの自動翻訳をゲームでオフにする方法
遊びを見つける執筆にClaudeを使用しています。

ブラウザゲームを開いたとき、画面のテキストが突然日本語以外の言語に変わってしまった、あるいは逆に英語のゲームを日本語に翻訳されてレイアウトが崩れてしまった、という経験はないでしょうか。これはブラウザに搭載された自動翻訳機能が、ゲームのHTMLを「翻訳すべきページ」と判断して動作した結果です。 自動翻訳はニュースや説明文には便利な機能ですが、ゲームのUIには予期しない影響を与えることがあります。ボタンのラベルが別の言葉に置き換わってキャンセルできなくなる、ふりがなや縦書きの表示が崩れる、JavaScriptがDOM(ページの構造)の書き換えを検知してエラーを起こす、といったトラブルが代表的です。この記事では、主要なブラウザごとに自動翻訳をゲーム単位でオフにする手順と、作者として対策を組み込む方法を順に説明します。
この記事の目次
なぜゲームで自動翻訳が問題になるのか
ブラウザの自動翻訳は、ページの<html>タグに付いた言語属性(lang属性)やページ内のテキスト量を手がかりに動作します。ゲームのHTMLにlang="en"と書かれていれば、日本語ロケールのブラウザは「翻訳しますか?」と提案するか、設定によっては自動で翻訳を適用します。
翻訳エンジンはページのテキストノードを直接書き換えるため、ゲームのスクリプトが同じノードを参照していると「値が変わった」「要素が消えた」と誤検知します。特にCanvasを使わずDOMでUIを組んでいるゲームや、テキストの長さに合わせてレイアウトを計算するゲームで影響が出やすい傾向があります。Canvasだけで描画しているゲームはテキストノードが少ないため比較的影響を受けにくいですが、タイトル画面や説明画面にHTMLを使っている場合は同様に注意が必要です。
Chrome・Edgeで特定ページの自動翻訳をオフにする
ChromeとEdgeはどちらもGoogle Translateベースの翻訳UIを採用しており、操作方法がほぼ共通です。
翻訳バーが表示されたときに止める
- ページを開いて翻訳バー(「日本語に翻訳しますか?」という帯)が出たら、右端の「︙」(その他のオプション)をクリックします。
- 「このサイトでは翻訳しない」を選ぶと、そのドメインでは以後バーが出なくなります。
- ゲームが別ドメインのiframe内に埋め込まれている場合は、iframeのドメインに対して同じ操作が必要です。
自動翻訳がすでに適用されてしまったとき
アドレスバー右端に地球儀のアイコンが出ていれば翻訳中です。アイコンをクリックして「元の言語で表示」を選ぶと翻訳が解除されます。
サイトごとの設定を恒久的に管理する
Chromeの場合は「設定 → 言語 → 翻訳しないサイトを追加」からURLを登録できます。Edgeでは「設定 → 言語 → 翻訳 → 翻訳しないサイト」に対応するリストがあります。公式サイトで最新の項目名を確認してください。バージョンによって画面構成が変わることがあります。
Firefoxで自動翻訳をオフにする
Firefoxの翻訳機能(Firefox Translations)は、ページ言語の検出後にアドレスバーにアイコンが出る形で動作します。Chrome・Edgeと異なり、デフォルトでは自動で翻訳を適用せず、ユーザーが明示的に操作したときだけ翻訳されます。そのため、何も操作していないのに翻訳されることは基本的にありません。
もしアドオンやポリシー設定で自動翻訳が有効になっている環境では、アドレスバーのAアイコンをクリックして「翻訳しない」か「このサイトでは翻訳しない」を選ぶと停止できます。
Safariで自動翻訳をオフにする
iPhoneやiPad、Macでゲームをブラウザプレイする場合、Safariの翻訳機能が動作することがあります。
- iPhone・iPad:アドレスバー左端の「ぁあ」ボタンをタップし、「翻訳しない」を選びます。
- Mac:アドレスバー左端のアイコンから「翻訳しない」または「このWebサイトを翻訳しない」を選びます。
Safariには「特定のドメインを常に翻訳しない」一覧をまとめて管理するUIが現時点で少ないため、ゲームサイトごとに都度操作するか、後述のHTML側の対策を組み合わせるのが現実的です。
ゲーム作者が組み込める対策
プレイヤー側の設定に頼らず、ゲームのHTMLで翻訳を抑制できます。作者として公開するゲームに適用すると、どのブラウザ・どの設定のユーザーにも一貫した表示を届けやすくなります。
`translate="no"` 属性を使う
HTML要素にtranslate="no"を付けると、翻訳エンジンへ「このノードは翻訳しないでください」と伝えられます。<html>タグに付けるとページ全体が対象になります。
<html lang="ja" translate="no">lang属性は残したままにします。langを省略するとブラウザが言語を誤検知して逆に翻訳を試みることがあるため、正しい言語コードを明示したうえでtranslate="no"を添えるのが適切な書き方です。
`<meta name="google" content="notranslate">` を入れる
Chromeの翻訳エンジンは<head>内のこのメタタグを読み取って翻訳を抑制します。translate="no"と併用しておくと、複数のブラウザエンジンに対して冗長に効かせられます。
<meta name="google" content="notranslate">Canvasで描画する部分は翻訳の影響を受けにくい
ゲームのUIをすべてCanvas上に描いている場合、翻訳エンジンがテキストノードを書き換えても描画には直接影響しません。ただし、Canvas外にHTMLでスコア表示やモーダルを作っている場合はその部分が対象になるため、そこにもtranslate="no"を付けておくと安心です。
次の行動
使っているブラウザのバージョンによって設定画面の場所が変わることがあるため、操作に迷ったときはブラウザの公式ヘルプで「翻訳 オフ」と検索するのが最も確実です。ゲームを自作している場合は、HTMLの<html>タグにlang属性とtranslate="no"を両方書いておくと、プレイヤー側の設定に関係なく翻訳が干渉しにくくなります。アソバースにゲームを投稿する際も同じ対策がそのまま使えます。

