Attualmente, Discourse supporta le localizzazioni in cinese tradizionale (zh_TW) e cinese semplificato (zh_CN). Tuttavia, quando l’accept-language del browser è impostato su zh-HK per primo, Discourse seleziona erroneamente zh_CN come lingua predefinita.
La maggior parte degli utenti di Taiwan (zh-TW), Hong Kong (zh-HK) e Macao (zh-MO) preferisce il cinese tradizionale, quindi per questi valori di accept-language, Discourse dovrebbe selezionare zh_TW come lingua predefinita. (Tecnicamente, si potrebbero anche utilizzare le informazioni sui sottotag probabili di Unicode CLDR, ma nel caso del solo cinese sarebbe un po’ eccessivo.)
Vorrei anche sottolineare che avere “中文” e “中文 (TW)” nella selezione della lingua è estremamente strano. Dovrebbe invece elencare “简体中文” per il cinese semplificato e “正體中文” per il cinese tradizionale.
Per risolvere il problema indicato nel titolo, l’opzione “corretta” sarebbe utilizzare zh-Hans e zh-Hant, ma i browser non sono coerenti nelle opzioni che offrono.
Non riesco a trovare alcun modo in Safari per selezionare una lingua, quindi deve sempre utilizzare le impostazioni di sistema? Questo potrebbe includere tutte queste opzioni:
La comunità FOSS taiwanese per la localizzazione preferisce “正體” rispetto a “繁體”, ma non mi dà fastidio nessuna delle due.
Finché hai solo due varianti, il codice è per lo più estetico. Spesso, anche se il nome indica “Cinese (Tradizionale)”, il codice sottostante è ancora zh_TW. In ogni caso, devi comunque gestire entrambe le varianti di tag linguistici lingua-regione e lingua-scripto-regione inviate dai browser. Per quanto ne so, Firefox su Android invia l’intestazione accept-language con zh-Hant-HK, a seconda dell’impostazione della localizzazione del sistema Android.