Olivero's language switcherの挙動

hagi に投稿

Drupal(10.1)を日本語でインストールすると多言語モジュールのLanguageとInterface Translationがオンになった状況になる。

画像

言語として英語を追加すると、以下のような言語スイッチャーブロックを利用を促すメッセージが出る。

画像

このリンクにしたがって、ブロックレイアウト画面からセカンダリーメニューに配置

画像

ホームに飛ぶと無事言語スイッチャーが表示される。

画像

スイッチャーでEnglishに切り替えると無事英語になるが、スイッチャーのタイトルが日本語ままだ。

画像

Configuration Translationモジュールが有効でないからだと思って有効にしても状況は変わらない。

翻訳状況を見ると、英語版の方で追加ボタンがあるので、英語ページでも日本語のままになるのがわかる。

画像

念のために日本語の方を確認するとマシン名がolivero_yanyunoqieritieと変だ。言語の切り替えの中国語音になっているのだと思う。

画像

一旦ブロックレイアウトから、言語の切り替えブロックを削除して、英語版のブロックレイアウトから、再びLanguage switcherを配置する。

今度は、英語ページも日本語ページもタイトルはLanguage switcherとなる。

画像

ブロックの翻訳状況を見ると今度は、日本語の翻訳が存在していない。

画像

ここで日本語の翻訳を当てれば日本語ページと英語ページの出方を調整できる。

ユーザーインタフェースの翻訳のページでソースの翻訳を確認してみるとソースコードでt関数で変換される文字列が入っているのがわかる。

画像

翻訳の設定を再度確認してみる。

画像

このBlock descriptionの値から、Titleが設定されていることが想定され、その結果英語管理画面から配置すると、Machine name: olivero_languageswitcherとなっているのがわかる。

ブロックを配置する時に、このマシン名のタイトル翻訳にBlock descriptionの翻訳値を入れてもらえば、問題は解決するだろう。関連Issueを見つけられてはいないが、ワークアラウンドはできるので状況が理解できただけで良しとすべきだろう。

Drupalの多言語化は非常に良くできているが、使いこなすにはOriginal言語、表示言語を理解する必要がある。コンテンツの場合は、そのコンテンツのデフォルト言語があり、その言語が翻訳元になる。

タグ
feedback
こちらに記入いただいた内容は執筆者のみに送られます。内容によっては、執筆者からメールにて連絡させていただきます。