로케일 및 UI 언어

Business Week Day에서 이어서 논의합니다:

링크된 게시글에서 언급했듯이, 로케일(Locale)은 UI 언어와 정확히 같은 개념이 아닙니다.

여기서 KDE(Linux 및 Qt)를 예로 들어보겠습니다:

첫 번째 스크린샷에서 볼 수 있듯이, UI 언어를 선택할 수 있습니다. 이는 화면에서 볼 수 있는 UI 및 모든 요소의 언어를 정의합니다. 다만 두 번째 스크린샷에 표시된 항목은 예외입니다.
두 번째 스크린샷에서는 사용자의 로케일을 정의하고, 숫자, 시간, 통화, 단위 및 정렬 방식을 재정의(Override)할 수 있습니다.
이는 많은 사용자가 선호하는 언어로 시스템을 사용하되, 다른 국가에 거주하여 로케일 설정에 대해 다른 선호도를 가지고 있기 때문에 중요합니다.

저의 지역인 아랍 지역을 예로 들어보겠습니다:

따라서 날짜는 이러한 차이점에 영향을 받습니다:

  • 모든 국가에서 오른쪽에서 왼쪽으로 씁니다.
  • 마슈리크 국가: ⁨١٢ يناير ٢٠٢٠⁩ = 2020년 1월 12일 (오른쪽에서 왼쪽으로 읽음)
  • 마그레브 국가: ⁨12 جانفي 2020⁩ = 2020년 1월 12일 (오른쪽에서 왼쪽으로 읽음)
  • 간단히 말해, 동부 아랍어 숫자가든 서양/아랍 숫자가든 오른쪽에서 왼쪽으로 쓰여지기 때문에 숫자 형식 결정이 더 어렵습니다.

심지어 천 단위 구분자도 다릅니다:


(동부 아랍어 숫자에는 다른 구분자도 있습니다: ١٠٬٠٠٠٫٠٠: image )

Discourse에 미치는 영향:

  • 날짜 및 시간 형식, 숫자, 업무 주 시작일.

영향받지 않는 사항:

  • 상대적 날짜.

이상적인 해결책:

  • 유니코드 형식을 추출하고 내장(Bake)하여 사용자가 원하는 로케일을 선택할 수 있도록 합니다. 이는 Moment.JS와 충돌할 수 있으므로 신중한 검토가 필요합니다.
  • 번역자가 소프트웨어의 어디에 어떤 형식을 표시할지 선택할 수 있도록 모든 수단과 방법을 제공하십시오.
3개의 좋아요

가까운 미래에 현재 로케일 시스템을 로케일과 UI 언어로 분리할 계획은 없습니다. 그러나 동의합니다. 그렇게 하는 것이 좋은 일이 될 것입니다.

어쨌든, 현재 시스템으로도 이미 지역별 로케일을 생성할 수 있다고 생각합니다. 날짜/시간 형식, 숫자 등을 오버라이드하는 client.en_US.yml과 server.en_US.yml이 있습니다.

아랍어에 대해서도 비슷한 것을 할 수 있을 것이라고 확신합니다. 플러그인을 통해 이것을 수행하는 것도 가능해야 합니다.

2개의 좋아요