첫 번째 브라우저의 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_CN 대신 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 l10n 커뮤니티는 "繁體"보다 "正體"를 선호하지만, 저에게는 둘 다 상관없습니다.

두 가지 변형만 있는 한, 코드는 대부분 외형적인 문제입니다. 이름이 "Chinese (Traditional)"이라고 표시되어 있어도 실제 코드가 여전히 zh_TW인 경우가 매우 흔합니다. 어쨌든 브라우저가 보내는 언어 태그의 language-region과 language-script-region 변형을 모두 처리해야 합니다. AFAIK(제가 아는 한) Android용 Firefox는 Android 시스템 로케일 설정에 따라 zh-Hant-HK를 accept-language로 전송합니다.

2개의 좋아요