最初のブラウザのaccept-languageが`zh-HK`の場合、デフォルトのUI言語が正しくありません

Discourse には現在、繁体中国語(zh_TW)と簡体中国語(zh_CN)のローカライズが用意されています。しかし、ブラウザの accept-language を zh-HK に設定すると、Discourse は誤って zh_CN をデフォルト言語として選択してしまいます。

台湾(zh-TW)、香港(zh-HK)、マカオ(zh-MO)のユーザーの多くは繁体中国語を好むため、これらの accept-language 値に対しては、Discourse が代わりに zh_TW をデフォルト言語として選択すべきです(技術的には Unicode CLDR の likely subtags の情報を利用することも可能ですが、中国語に限ればやりすぎでしょう)。

また、言語選択に「中文」と「中文 (TW)」を並べるのは非常に不自然です。簡体中国語には「简体中文」、繁体中国語には「正體中文」と表示すべきです。

「いいね!」 5

その通りです。これを変更する PR を用意しました:

(Twitter は 正體 の代わりに 繁體 を使用しているため、それに倣いました。)

@gerhard さん、他に変更が必要な点はありますか?

「いいね!」 5

タイトルで挙げられた問題に対処するためには、zh-Hans と zh-Hant を使用するのが「正しい」選択肢となりますが、ブラウザによって提示されるオプションが統一されていません。

Chrome:

Firefox:

Safari では言語を選択する方法が見つからなかったため、常にシステム設定が使用されるのでしょうか?その場合、以下のようなすべてのオプションが含まれる可能性があります。


ドキュメント では、macOS から zh-Hans_HK のような言語コードが使用可能であると示されています。これがブラウザにも反映されるかどうかは気になるところです。

「いいね!」 1

台湾の FOSS 翻訳コミュニティは「正體」を「繁體」よりも好む傾向がありますが、どちらでも私は気にしません。

バリエーションが 2 つしかない限り、コードは主に装飾的なものです。名称が「Chinese (Traditional)」(中国語(繁体字))と表示されていても、裏側のコードは依然として zh_TW であることがよくあります。どちらの場合でも、ブラウザから送信される言語タグの language-region バリエーションと language-script-region バリエーションの両方を処理する必要があります。私の知る限り、Android 版 Firefox は、Android システムのロケール設定に応じて、zh-Hant-HK を含む accept-language を送信します。

「いいね!」 2