SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Drupal 9で始めるWebサイト開発入門

ノンコーディングでサイト構築~Drupalの多言語機能とメディア管理

Drupal 9で始めるWebサイト開発入門 第3回

  • X ポスト
  • このエントリーをはてなブックマークに追加

 前回はDrupalのベーシックかつ比較的簡単な機能を使い、ノンコーディングでタピオカドリンク喫茶店「まる茶」のWebサイトを構築していきましたが、上記でご紹介した機能はDrupalの標準機能のほんの一部です。Drupalはコアのリリースサイクルに従い6カ月ごとに新機能が継続的にリリースされ、日進月歩で機能拡張と改善が行われています。第3回では、Drupal 8以降にリリースされた機能の中から「多言語」「メディア管理」機能に焦点を当て、ノンコーディングかつDrupalコア機能のみで、Webサイトをよりリッチに変化させていきたいと思います。

  • X ポスト
  • このエントリーをはてなブックマークに追加

対象読者

  • HTML、JavaScript、PHPなどWeb開発の基礎に理解がある方
  • Webサイト、アプリケーション開発の経験者

多言語機能でサイトの翻訳(1)

 Drupalの多言語機能を使って、トップページや店舗情報など、Webサイトのコンテンツを英語対応したいと思います。

 Drupalでは強力な多言語機能が標準で備わっており、Webサイトのあらゆる部分を翻訳することが可能です。100カ国以上の言語に対応しているほか、ユーザーのIPアドレス、ブラウザの設定、URL、セッションなどに応じて優先言語を検出することができます。

これから構築する英語サイトの外観
これから構築する英語サイトの外観

モジュールの有効化

 多言語機能はコア機能に導入されていますが、デフォルトでは有効になっていません。多言語サイトの構築に必要なモジュールを有効化していきます。

 機能拡張のページに移動します。「多言語」セクション内の4つのモジュールがDrupalの多言語機能をつかさどります。

  • Configuration Translation:設定オプションの翻訳インターフェイスを提供します。構成システムに組み込まれている全てのもの(ビュー、サイト名、ボキャブラリー、ブロック、メニューなど)をこのモジュールで翻訳することができます。
  • Content Translation:コメント、ノード、ユーザー、タクソノミー用語を含むコンテンツエンティティを翻訳することができます。
  • Interface Translation:組み込みのユーザーインターフェイスを翻訳します。
  • Language:Drupalの言語機能を扱うための基本モジュールです。ユーザーが言語を設定してコンテンツに適用することができます。他の3つのコア多言語モジュールはこのモジュールに依存しています。

 デフォルトでは「Configuration Translation」と「Content Translation」が有効になっていないので、横のチェックボックスにチェックを入れてインストールします。

機能拡張画面
機能拡張画面

言語の追加

 Webサイトで対応する言語を追加します。環境設定>言語>言語を追加 と進みます。

 言語名に「英語」を選択して「言語を追加」をクリックします。

 サイト内で英語が利用できるようになりました。このページでは、言語の追加のほかに、サイトのデフォルト言語の設定が行えます。

言語の判定方法の設定

 Drupalには、さまざまな方法を使用した言語判定がサポートされています。サイト訪問者に言語を選択させることなく、最適な言語をスムーズに提供するために言語判定を定義します。「判定と選択」タブに移動します。

 言語を判定するための組み込みメソッドは以下の通りです。

  • アカウント管理ページ:管理ページの言語設定に従います。
  • URL:URL(パスのプレフィックスまたはドメイン)から言語を決定します。
  • セッション:リクエスト/セッションパラメータから言語を決定します。
  • ユーザー:ユーザーの言語設定に従います。
  • ブラウザー:ブラウザの言語設定から言語を決定します。
  • 選択された言語:デフォルトのサイト言語を使用します。

 デフォルトでは「URL」にチェックが入っています。つまり、ページのURLで言語が指定されている場合、ページはその言語で表示されます。どのような設定になっているのか「設定」をクリックして確認します。

 デフォルトでは以下の画像のような設定となっています。今回は設定はこのままにしておきます。

コンテンツの言語と翻訳の設定

 コンテンツを翻訳するにあたり、Drupalではどのコンテンツタイプ、タクソノミー、カスタムブロックを翻訳可能とするのかを明示的に許可する必要があります。デフォルトでは無効となっているため、これを有効にしていきます。

 環境設定>コンテンツの言語と翻訳 に移動し、「コンテンツ」「システムブロック」「カスタムメニューリンク」「タクソノミーターム」にチェックを入れます。

 少し下にスクロールして、コンテンツセクションのコンテンツタイプ「記事」「基本ページ」「店舗」の「翻訳可能」にチェックを入れます。カスタムブロック、カスタムメニュー、タクソノミータームのセクションも同様に、「翻訳可能」の全てのチェックボックスにチェックを入れていきます。チェックを入れると詳しい項目がさらに出てきますが、こちらはデフォルトのままでかまいません。

 最後に「構成を保存」をクリックします。

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
多言語機能でサイトの翻訳(2)

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
Drupal 9で始めるWebサイト開発入門連載記事一覧

もっと読む

この記事の著者

丸山 ひかる(マルヤマ ヒカル)

2014年、独立系ソフトウェア開発会社に新卒入社。 Web APIの開発をメインに、保守、運用、顧客サポートまで幅広く携わったのちに、テクニカルエバンジェリストとしてプロダクトの普及に貢献。 現在はDrupalを基盤としたエンタープライズ向けCMSプラットフォームを提供するAcquia(アク...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/12860 2020/10/01 11:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング