Discourse propose actuellement une localisation en chinois traditionnel (zh_TW) et en chinois simplifié (zh_CN). Cependant, lorsque j’ai défini zh-HK en premier dans les paramètres accept-language de mon navigateur, Discourse sélectionne par erreur zh_CN comme langue par défaut.
La plupart des utilisateurs de Taïwan (zh-TW), de Hong Kong (zh-HK) et de Macao (zh-MO) préfèrent le chinois traditionnel. Par conséquent, pour ces valeurs accept-language, Discourse devrait sélectionner zh_TW comme langue par défaut. (Techniquement, vous pourriez également utiliser les informations sur les sous-balises probables de Unicode CLDR, mais pour le seul chinois, cela serait un peu excessif.)
Je tiens également à souligner que la présence de « 中文 » et de « 中文 (TW) » dans la sélection de la langue est extrêmement étrange. Il faudrait en réalité lister « 简体中文 » pour le chinois simplifié et « 正體中文 » pour le chinois traditionnel.
Pour résoudre le problème mentionné dans le titre, l’option « correcte » consisterait à utiliser zh-Hans et zh-Hant, mais les navigateurs proposent des options incohérentes.
Je n’ai trouvé aucun moyen dans Safari de sélectionner une langue ; cela signifie-t-il qu’il utilise toujours les paramètres du système ? Cela inclurait potentiellement toutes ces options :
La communauté taiwanaise FOSS de localisation privilégie « 正體 » plutôt que « 繁體 », mais cela ne me dérange pas dans les deux cas.
Tant que vous n’avez que deux variantes, le code est principalement cosmétique. Très souvent, lorsque le nom indique « Chinois (traditionnel) », le code sous-jacent reste zh_TW. Dans les deux cas, vous devez tout de même gérer à la fois les variantes language-region et language-script-region des balises de langue envoyées par les navigateurs. À ma connaissance, Firefox sur Android envoie bien accept-language avec zh-Hant-HK, selon le paramètre de localisation du système Android.