RTL ユーザー向けのレイアウトはユーザーごとに設定できず、サイト全体レベルでのみ設定可能

私のブラウザはヘブライ語(RTL)として認識されており、そのため Vuejs などの LTR フォーラムにアクセスする場合でも、UI 全体が RTL でレイアウトされてしまいます。

これは RTL UI を構築する正しい方法ではなく、アプリの使用を非常に困難にしています。

以下のスクリーンショットを例に、読んでみてください。すべての句読点が誤った位置に配置され、配置も悪いため、非常に読みづらいことがお分かりいただけるでしょう。

direction:rtl CSS プロパティが必要なのは、完全に翻訳された部分のみです。

例えば、日付ウィジェット自体はこのプロパティを持つべきです。実際、テキストもヘブライ語であるため、RTL でも見栄えは良好です。

現状では、アプリを使用するために開発者ツールを開いて UI を LTR に変更しなければなりません。

UI 全体を RTL にするのは、フォーラム全体が RTL 言語で構成されている場合のみとし、ブラウザが RTL と認識された場合のみに行うべきではありません。

「いいね!」 1

Discourse では、「Accept-Language ヘッダーからロケールを設定」するサイト設定が有効になっている場合のみ、ブラウザのロケールをユーザーのロケールとして使用します。この設定が有効だと、匿名ユーザーのブラウザ言語ヘッダーに基づいてロケールが設定されます。また、ユーザーが初めてアカウントを作成した際にも、このロケールが設定されます。ただし、ユーザーは「設定 / インターフェース」ページに移動して、希望するインターフェース言語を選択することで、このロケールを上書きできます。一度選択すると、言語ヘッダーは無視され、ユーザーが選んだインターフェース言語がブラウザの言語ヘッダーに優先します。

Discourse フォーラムで RTL ロケールを選択すると、すべてのコンテンツが RTL レイアウトで表示されます。LTR サイトを利用している場合は、設定ページで LTR ロケールを選択することをお勧めします。唯一の例外は、「混合テキスト方向のサポート」サイト設定が有効になっている場合です。この設定が有効だと、投稿コンテンツのテキスト方向が解析され、適切な dir 属性が投稿コンテンツに追加されます。この設定の詳細については、こちらをご覧ください: Supporting mixed text directions

「いいね!」 5

私の主張は、これによりユーザー体験が壊れてしまうということです。
レイアウトが崩れるため、何でもかんに RTL を適用することはできません。RTL は翻訳されたテキストに対してのみ適用すべきです。

したがって、「Accept-Language ヘッダーからロケールを設定」機能が私のロケールを正しく選択することは問題ありませんが、だからといって HTML 全体に RTL を適用してよいわけではありません。

ロケールはメニューやその他の翻訳済みコンテンツに影響を与えるべきであり、すべてのユーザー生成コンテンツは元の方向性を維持すべきです。

これは以下の 2 つの理由でバグです:

  1. すべての RTL ユーザーがフォーラムを訪れるたびに設定を変更しなければならないというのは理にかなっていません。フォーラムは最初から正しく表示されるべきです。

  2. 設定を変更すれば方向性は修正されますが、メニューや日付などの翻訳済みテキストの言語も変更されてしまい、それは望んでいない結果です。

ネイティブの英語ユーザー(および他の LTR 言語のユーザー)にとっては、ヘブライ語やアラビア語の UI が何を意味しているか理解しにくいため、この問題が見えにくいことは承知しています。しかし、これは明らかに誤った動作です。ユーザーコンテンツおよびすべての翻訳されていないコンテンツは、元のロケールの方向性を維持すべきです。

「いいね!」 1

上記で説明されている「テキスト方向の混合をサポート」サイトの設定では、これは達成されないのでしょうか?

「いいね!」 2

これは RTL 言語圏における正当な懸念事項です。このトピックで既に言及されている通り、「テキスト方向の混合サポート」を有効にすることで問題は解決しますが、この設定はサイト管理者によって有効化する必要があり、サイト上の全ユーザーに影響を及ぼします。もしかすると、ユーザーが選択した言語圏の方向性がサイトのデフォルト言語圏と異なる場合にのみ、この設定を適用するオプションを追加できるかもしれません。

「いいね!」 2

混合コンテンツがどのように表示されるかは見ていませんが、あなたの説明からすれば、これで問題が解決するはずです。
これはデフォルト設定であるべきだと思います。なぜ誰かがこれを無効にしたがるのか不思議です。投稿は、著者が書いた通りに表示されるべきではないでしょうか?他に副作用はありますか?

私はこのバグを、フォーラムの所有者ではなく、メンバーとしていくつかのフォーラムで報告しました。
私のようなユーザーの体験を改善する設定を、すべてのフォーラム管理者に依頼して変更してもらうのは不自然でしょう。フォーラム管理者は、最初からすべてのユーザーにとって見栄えの良いフォーラムを提供することを期待しているはずです。

この設定を有効にすると、ブラウザでテキストの方向を検出するためにテキストが解析されます。これにより、サイトのパフォーマンスに何らかの影響が生じます。必要とするユーザーにのみこの設定を有効にできるのが望ましいでしょう。この設定は、投稿内にコードを多く含む右から左(RTL)のサイトをサポートするために設計されました。その場合、すべてのユーザーに対して有効にすることが理にかなっています。

ユーザーのロケールがサイトのデフォルトロケールと異なる方向を持つ場合、投稿コンテンツを自動的に解析してテキストの方向を判定することが理にかなっていると考えられます。

「いいね!」 3

それも良いアプローチかもしれませんね。
とにかく、これは貴社の顧客の一人として、イライラしながらここに投稿しています。貴社は非常に成功されているようですので、この問題は私にとってますます頻繁に発生しています。ぜひ修正をお願いします。

この件を ux に再カテゴライズしましたが、自分自身にもアサインして、この課題にどのように対処するのが最善か詳しく検討します。調査結果をこちらで報告します。

これが適切な対応方法です。サイト管理者の @danbars にご連絡ください。

「いいね!」 1

私が疑問に思っているのは、サイトに RTL コンテンツが一切ない場合、その設定を有効にする必要があるかどうかです。その場合、ユーザーのロケールがサイトのデフォルトロケールと異なる方向を持つときに、ユーザーごとに自動的に設定を有効にするのは理にかなっているでしょうか。例えば、Meta でヘブライ語のロケールを選択すると、すべてのテキストコンテンツが誤った方向に揃えられてしまいます。