본문으로 건너뛰기

"Intl" 태그로 연결된 5개 게시물개의 게시물이 있습니다.

모든 태그 보기

`Intl.DisplayNames`

· 약 4분
Shu-yu Guo ([@_shu](https://twitter.com/_shu)) 과 Frank Yung-Fong Tang

전 세계를 대상으로 하는 웹 애플리케이션은 다양한 언어로 언어, 지역, 스크립트, 통화의 표시 이름을 보여줄 필요가 있습니다. 이러한 이름의 번역에는 데이터가 필요하며, 이는 Unicode CLDR에서 제공됩니다. 애플리케이션의 일부로 데이터를 포함시키는 것은 개발자 시간에 비용이 발생합니다. 사용자들은 언어 및 지역 이름의 일관된 번역을 선호할 가능성이 있으며, 세계의 지리적 변화에 맞춰 해당 데이터를 최신 상태로 유지하려면 지속적인 유지 관리가 필요합니다.

`Intl.NumberFormat`

· 약 4분
Mathias Bynens ([@mathias](https://twitter.com/mathias)) 그리고 Shane F. Carr

현재 Intl.NumberFormat API에 대해 알고 있을 수도 있습니다. 이 API는 현대 환경에서 이미 오랫동안 지원되고 있습니다.

Intl.NumberFormat의 기본 형태는 지역별 숫자 형식을 지원하는 재사용 가능한 포매터 인스턴스를 생성할 수 있도록 합니다. 다른 Intl.*Format API처럼, 포매터 인스턴스는 formatformatToParts 메서드 모두를 지원합니다:

`Intl.ListFormat`

· 약 3분
Mathias Bynens ([@mathias](https://twitter.com/mathias)) 및 Frank Yung-Fong Tang

모던 웹 애플리케이션은 종종 동적 데이터로 구성된 목록을 사용합니다. 예를 들어, 사진 뷰어 앱은 다음과 같은 내용을 표시할 수 있습니다:

이 사진에는 Ada, Edith, 그리고 Grace가 포함되어 있습니다.

텍스트 기반 게임은 다른 종류의 목록을 가질 수 있습니다:

초능력을 선택하세요: 투명화, 염력, 또는 공감 능력.

각 언어에는 다른 목록 포맷팅 규칙과 단어가 있기 때문에 로컬화된 목록 포맷터를 구현하는 것은 간단하지 않습니다. 지원하고자 하는 각 언어에 대해 모든 단어(위 예에서는 '그리고' 또는 '혹은'과 같은 단어)를 목록화해야 할 뿐만 아니라, 이러한 언어들의 정확한 포맷팅 규칙을 인코딩해야 합니다! Unicode CLDR은 이러한 데이터를 제공하지만 이를 JavaScript에서 사용하려면 다른 라이브러리 코드와 함께 임베드되어 제공되어야 합니다. 이는 불행히도 이러한 라이브러리의 번들 크기를 증가시켜 로드 시간, 파싱/컴파일 비용, 메모리 소비에 부정적인 영향을 미칩니다.

`Intl.RelativeTimeFormat`

· 약 4분
Mathias Bynens ([@mathias](https://twitter.com/mathias))

현대적인 웹 애플리케이션은 종종 "어제", "42초 전", "3개월 후"와 같은 구문을 사용하여 전체 날짜와 타임스탬프 대신 사용합니다. 이러한 _상대적인 시간 형식 값_은 매우 일반적으로 사용되어 여러 인기 있는 라이브러리에서 이러한 값을 로컬화된 형식으로 출력하는 유틸리티 함수를 구현하고 있습니다. (예로는 Moment.js, Globalize, 그리고 date-fns 등이 있습니다.)

`Intl.PluralRules`

· 약 4분
Mathias Bynens ([@mathias](https://twitter.com/mathias))

Iñtërnâtiônàlizætiøn은 어렵습니다. 복수형 처리는 언뜻 간단해 보이는 문제들 중 하나지만, 각 언어마다 고유한 복수형 규칙이 있다는 것을 깨닫게 되면 복잡해질 수 있습니다.

영어 복수형의 경우 가능한 결과는 두 가지뿐입니다. “cat”이라는 단어를 예로 들어보겠습니다:

  • 1 cat, 즉 'one' 형태로, 영어에서는 단수형으로 알려져 있습니다.
  • 2 cats, 하지만 42 cats, 0.5 cats 등도 포함됩니다. 즉, 'other' 형태(유일한 다른 형태)로, 영어에서는 복수형으로 알려져 있습니다.

새롭게 제공되는 Intl.PluralRules API는 주어진 숫자를 기준으로 선택한 언어에서 어떤 형태를 적용해야 하는지 알려줍니다.

const pr = new Intl.PluralRules('en-US');
pr.select(0); // 'other' (예: '0 cats')
pr.select(0.5); // 'other' (예: '0.5 cats')
pr.select(1); // 'one' (예: '1 cat')
pr.select(1.5); // 'other' (예: '0.5 cats')
pr.select(2); // 'other' (예: '0.5 cats')