言語切り替えのUIデザイン

言語切り替えのUIデザインを、設計パターンとして整理したページです。
ヘッダーに並べるのか、ボタンで一覧を開くのか、フッターにまとめるのか、別の言語の読み手にどう提案し、版がないページをどう案内するのかによって、向いている型が変わります。
国旗を使わず言語名で示し、読み手が自分の読める言語へ迷わず移れるようにするための型をまとめています。

5 patterns

型の選び方を見る ↓

言語切り替えの型の一覧

言語切り替えの型の選び方

言語切り替えの型は、「どこに置くか」「別の言語の読み手をどう案内するか」「版がないページをどう扱うか」の3つで変わります。問い1で置き方を決め、問い2と問い3で案内の仕方を加えます。型を選んだら、各Patternのページでワイヤーフレームとプロンプト、動くデモを確認できます。

問い1:言語の切り替えを、どこに置きますか?

対応する言語の数と、別の言語の読み手の多さで決まる問いです。

状況向く型
対応する言語が2〜3つで、別の言語の読み手も多い(基本)ヘッダー内リンク型
対応する言語が4つ以上あるドロップダウン型
ほとんどの読み手が1つの言語で、別の言語の読み手は少ない(直接たどり着く別の言語の読み手が多いなら、問い2の提案を組み合わせる)フッター配置型

問い2:別の言語の読み手が、最初に違う言語のページを開くことがありますか?

検索や共有されたリンクから、読めない言語のページにたどり着く読み手への案内です。

状況向く型
ブラウザの言語とページの言語が違う読み手に、別の言語のページを知らせたい言語の提案バナー型
ほとんどの読み手が、自分の言語のページから入ってくる提案は出さず、切り替えを置くだけで足りる

問い3:一部のページにしか、別の言語の版がありませんか?

言語を切り替えたときに、移る先がない場合の扱いです。

状況向く型
ブログやお知らせは日本語のみなど、版がないページがある翻訳がないページの案内型
すべてのページに版がある同じ内容のページへ移れば足りる(ヘッダー内リンク型 など)

言語切り替えの型の比較

型役割置く場所向く状況
ヘッダー内リンク型置き方ヘッダーの右端対応する言語が2〜3つ
ドロップダウン型置き方ヘッダーの右端対応する言語が4つ以上
フッター配置型置き方フッター別の言語の読み手が少ない
言語の提案バナー型案内の仕方ページの最上部別の言語の読み手が、違う言語のページから入ってくる
翻訳がないページの案内型案内の仕方版がないページの上部一部のページにしか別の言語の版がない

すべての型に共通する設計の原則

言語切り替えの型を作る中で、型が違っても繰り返し出てきた原則です。どの型を選んでも、次の点は同じように確かめます。

  • 国旗を使わず、言語名をそれぞれの言語で書く(日本語・English・简体中文など)
  • 今見ているページと同じ内容の、別の言語のページへ移る。版がない場合は、ないことを伝えて次の行動を示す
  • アクセスした場所やブラウザの言語で、自動的に転送しない。提案にとどめ、読み手が選べるようにする
  • リンクに lang と hreflang を付け、表示中の言語に aria-current を付ける。lang はリンクの文字の言語、hreflang はリンク先のページの言語を示す。ページの html 要素には lang を指定する
  • head に hreflang で、同じ内容の別の言語のページを示す。対応づけは相互に行い(日本語のページから英語のページ、英語のページから日本語のページ)、版がない言語のページは示さない
  • 別の言語の読み手が検索などから直接たどり着く可能性が高い場合は、切り替えの置き場所にかかわらず、提案のバナーを組み合わせる。閉じた提案は繰り返し出さない
  • 提案や案内の文は、読み手が読める言語で書く
  • 機械翻訳を出す場合は、機械翻訳であることを明記する

組み合わせの例

よくある質問

言語の切り替えに、国旗を使ってもよいですか?

国旗は国を表すもので、言語を表しません。英語のように多くの国で使われる言語や、1つの国で複数の言語が使われる場合に合わなくなるため、言語名を文字で書くのが望ましいと考えられます。

アクセスした国に合わせて、自動で言語を切り替えてもよいですか?

自動で切り替えると、海外にいる日本語の読み手や、あえて元の言語のページを見たい読み手が困ります。ブラウザの設定などを手がかりに提案するところまでにとどめ、読み手が選べるようにする形が安全です。

言語ごとのページは、検索エンジンにどう伝えればよいですか?

各ページの html 要素に lang 属性でページの言語を指定し、head に hreflang で同じ内容の別の言語のページを示す方法があります。版がないページでは、その言語のページを示しません。対応づけは、それぞれのページから相互に行います。どの言語にも当てはまらない読み手向けの既定のページがある場合は、x-default を使う方法もあります。

言語の切り替えは、ヘッダーとフッターのどちらに置けばよいですか?

別の言語の読み手が多いならヘッダー、少ないならフッターが目安です。両方に置き、ヘッダーには主な言語だけ、フッターにはすべての言語を並べる方法もあります。