This page was translated from English by the community. Learn more and join the MDN Web Docs community.

View in English Always switch to English

Intl

Baseline Widely available *

This feature is well established and works across many devices and browser versions. Itโ€™s been available across browsers since โจ2017๋…„ 9์›”โฉ.

* Some parts of this feature may have varying levels of support.

Intl ๋„ค์ž„์ŠคํŽ˜์ด์Šค ๊ฐ์ฒด์—๋Š” ์—ฌ๋Ÿฌ ์ƒ์„ฑ์ž์™€ ๊ตญ์ œํ™” ์ƒ์„ฑ์ž ๋ฐ ๊ธฐํƒ€ ์–ธ์–ด์— ๋ฏผ๊ฐํ•œ ํ•จ์ˆ˜์— ๊ณตํ†ต๋œ ๊ธฐ๋Šฅ์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ์ข…ํ•ฉํ•˜์—ฌ ์–ธ์–ด์— ๋ฏผ๊ฐํ•œ ๋ฌธ์ž์—ด ๋น„๊ต, ์ˆซ์ž ์„œ์‹, ๋‚ ์งœ ๋ฐ ์‹œ๊ฐ„ ์„œ์‹ ๋“ฑ์„ ์ œ๊ณตํ•˜๋Š” ECMAScript ๊ตญ์ œํ™” API๋ฅผ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.

์„ค๋ช…

๋Œ€๋ถ€๋ถ„์˜ ์ „์—ญ ๊ฐ์ฒด์™€ ๋‹ฌ๋ฆฌ Intl์€ ์ƒ์„ฑ์ž๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. new ์—ฐ์‚ฐ์ž์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ Intl ๊ฐ์ฒด๋ฅผ ํ•จ์ˆ˜๋กœ ํ˜ธ์ถœํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. Math ๊ฐ์ฒด์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ Intl์˜ ๋ชจ๋“  ํ”„๋กœํผํ‹ฐ์™€ ๋ฉ”์„œ๋“œ๋Š” ์ •์ ์ž…๋‹ˆ๋‹ค.

๊ตญ์ œํ™” ์ƒ์„ฑ์ž๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋‹ค๋ฅธ ์ƒ์„ฑ์ž์˜ ์—ฌ๋Ÿฌ ์–ธ์–ด์— ๋ฏผ๊ฐํ•œ ๋ฉ”์„œ๋“œ(๊ฐ™์ด ๋ณด๊ธฐ์— ๋‚˜์—ด๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค)๋Š” ๋กœ์ผ€์ผ์„ ์‹๋ณ„ํ•˜๊ณ  ์‹ค์ œ๋กœ ์‚ฌ์šฉํ•  ๋กœ์ผ€์ผ์„ ๊ฒฐ์ •ํ•˜๋Š” ๋ฐ ๊ณตํ†ต ํŒจํ„ด์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋‘ locales ๋ฐ options ์ธ์ˆ˜๋ฅผ ๋ฐ›์•„๋“ค์ด๊ณ  options.localeMatcher ์†์„ฑ์— ์ง€์ •๋œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜์—ฌ ์ง€์›๋˜๋Š” ๋กœ์ผ€์ผ์— ๋Œ€ํ•ด ์š”์ฒญ๋œ ๋กœ์ผ€์ผ์„ ํ˜‘์ƒํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.

locales ์ธ์ˆ˜

locales ์ธ์ˆ˜๋Š” ์ฃผ์–ด์ง„ ์—ฐ์‚ฐ์— ์‚ฌ์šฉ๋˜๋Š” ๋กœ์ผ€์ผ์„ ์ •ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. JavaScript ๊ตฌํ˜„์ฒด๋Š” locales์„ ๊ฒ€์‚ฌํ•˜๊ณ  ํ‘œํ˜„๋œ ๊ธฐ๋ณธ ์„ค์ •์„ ์ถฉ์กฑํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ€์žฅ ๊ทผ์ ‘ํ•œ ๋กœ์ผ€์ผ์„ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค. ์•„๋ž˜ ํ•ญ๋ชฉ์ด locales์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • undefined (ํ‘์€ ์ƒ๋žต): ๊ตฌํ˜„์ฒด์˜ ๊ธฐ๋ณธ ๋กœ์ผ€์ผ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ํ•˜๋‚˜์˜ ๋กœ์ผ€์ผ: ํ•˜๋‚˜์˜ ๋กœ์ผ€์ผ ์‹๋ณ„์ž ํ˜น์€ ๋กœ์ผ€์ผ ์‹๋ณ„์ž๋ฅผ ๊ฐ์‹ธ๋Š” Intl.Locale ๊ฐ์ฒด
  • ๋กœ์ผ€์ผ ๋ฆฌ์ŠคํŠธ: ๋‹ค๋ฅธ ๊ฐ’์€ ๊ฐ์ฒด๋กœ ๋ณ€ํ™˜๋œ ๋‹ค์Œ ๋กœ์ผ€์ผ ๋ฐฐ์—ด๋กœ ์ฒ˜๋ฆฌ๋ฉ๋‹ˆ๋‹ค.

ํ›„์ž์˜ ๋‘ ๊ฒฝ์šฐ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์‹ค์ œ ๋กœ์ผ€์ผ์€ ๋กœ์ผ€์ผ ํ˜‘์ƒ์„ ํ†ตํ•ด ๊ฒฐ์ •๋œ, ๊ฐ€์žฅ ์ž˜ ์ง€์›๋˜๋Š” ๋กœ์ผ€์ผ์ž…๋‹ˆ๋‹ค. ๋กœ์ผ€์ผ ์‹๋ณ„์ž๊ฐ€ ๋ฌธ์ž์—ด์ด๋‚˜ ๊ฐ์ฒด๊ฐ€ ์•„๋‹Œ ๊ฒฝ์šฐ TypeError๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๋กœ์ผ€์ผ ์‹๋ณ„์ž๊ฐ€ ๊ตฌ๋ฌธ์ƒ ์œ ํšจํ•˜์ง€ ์•Š์€ ๋ฌธ์ž์—ด์ธ ๊ฒฝ์šฐ RangeError๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๋กœ์ผ€์ผ ์‹๋ณ„์ž๊ฐ€ ์ œ๋Œ€๋กœ ํ˜•์„ฑ๋˜์—ˆ์ง€๋งŒ ๊ตฌํ˜„์ฒด๊ฐ€ ์ด๋ฅผ ์ธ์‹ํ•˜์ง€ ๋ชปํ•˜๋ฉด ๋ฌด์‹œ๋˜๊ณ  ๋ชฉ๋ก์˜ ๋‹ค์Œ ๋กœ์ผ€์ผ์ด ๊ณ ๋ ค๋˜์–ด ๊ฒฐ๊ตญ ์‹œ์Šคํ…œ์˜ ๋กœ์ผ€์ผ๋กœ ๋˜๋Œ์•„๊ฐ‘๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ตฌํ˜„์ฒด๊ฐ€ ํ–ฅํ›„ ๋ชจ๋“  ๋กœ์ผ€์ผ์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ํŠน์ • ๋กœ์ผ€์ผ ์ด๋ฆ„์ด ๋ฌด์‹œ๋˜๋Š” ๊ฒƒ์— ์˜์กดํ•ด์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด new Intl.DateTimeFormat("default")๋Š” "default"๊ฐ€ ๊ตฌ๋ฌธ์ƒ์œผ๋กœ๋Š” ์œ ํšจํ•˜์ง€๋งŒ ์–ด๋–ค ๋กœ์ผ€์ผ๋กœ๋„ ์ธ์‹๋˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๊ตฌํ˜„์ฒด์˜ ๊ธฐ๋ณธ ๋กœ์ผ€์ผ๋งŒ ์‚ฌ์šฉํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

๋กœ์ผ€์ผ ์‹๋ณ„์ž๋Š” ๋‹ค์Œ์œผ๋กœ ๊ตฌ์„ฑ๋œ ๋ฌธ์ž์—ด์ž…๋‹ˆ๋‹ค.

  1. 2~3์ž ๋˜๋Š” 5~8์ž๋กœ ๊ตฌ์„ฑ๋œ ์–ธ์–ด ํ•˜์œ„ ํƒœ๊ทธ
  2. 4๊ธ€์ž๋กœ ๊ตฌ์„ฑ๋œ ์Šคํฌ๋ฆฝํŠธ ํ•˜์œ„ ํƒœ๊ทธ Optional
  3. 2๊ธ€์ž ๋˜๋Š” 3์ž๋ฆฌ๋กœ ๊ตฌ์„ฑ๋œ ์ง€์—ญ ํ•˜์œ„ ํƒœ๊ทธ Optional
  4. ๊ฐ๊ฐ 5~8๊ฐœ์˜ ์˜์ˆซ์ž ๋˜๋Š” ์ˆซ์ž ํ•œ ์ž๋ฆฌ ๋’ค์— ์˜์ˆซ์ž 3๊ฐœ๊ฐ€ ํฌํ•จ๋œ ํ•˜๋‚˜ ์ด์ƒ์˜ ๋ณ€ํ˜• ํ•˜์œ„ ํƒœ๊ทธ(๋ฐ˜๋“œ์‹œ ๋ชจ๋‘ ๊ณ ์œ ํ•ด์•ผ ํ•จ) Optional
  5. ํ•˜๋‚˜ ์ด์ƒ์˜ BCP 47 ํ™•์žฅ ์‹œํ€€์Šค Optional
  6. ๊ฐœ์ธ์šฉ ํ™•์žฅ ์‹œํ€€์Šค Optional

๊ฐ ํ•˜์œ„ ํƒœ๊ทธ์™€ ์‹œํ€€์Šค๋Š” ํ•˜์ดํ”ˆ์œผ๋กœ ๊ตฌ๋ถ„๋ฉ๋‹ˆ๋‹ค. ๋กœ์ผ€์ผ ์‹๋ณ„์ž๋Š” ๋Œ€์†Œ๋ฌธ์ž๋ฅผ ๊ตฌ๋ถ„ํ•˜์ง€ ์•Š๋Š” ASCII์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์Šคํฌ๋ฆฝํŠธ ํ•˜์œ„ ํƒœ๊ทธ์—๋Š” ์ œ๋ชฉ ๋Œ€๋ฌธ์ž(์ฒซ ๊ธ€์ž๋Š” ๋Œ€๋ฌธ์ž, ์ด์–ด์ง€๋Š” ๊ธ€์ž๋Š” ์†Œ๋ฌธ์ž)๋ฅผ, ์ง€์—ญ ํ•˜์œ„ ํƒœ๊ทธ์—๋Š” ๋Œ€๋ฌธ์ž๋ฅผ, ๊ทธ ์™ธ์—๋Š” ๋ชจ๋‘ ์†Œ๋ฌธ์ž๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ผ๋ฐ˜์ ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด

  • "hi": ํžŒ๋‘์–ด(์–ธ์–ด)
  • "de-AT": ์˜ค์ŠคํŠธ๋ฆฌ์•„(์ง€์—ญ)์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๋…์ผ์–ด(์–ธ์–ด)
  • "zh-Hans-CN": ์ค‘๊ตญ(์ง€์—ญ)์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฐ„์ฒด(์Šคํฌ๋ฆฝํŠธ)๋กœ ์“ฐ์ธ ์ค‘๊ตญ์–ด(์–ธ์–ด)
  • "en-emodeng": "์ดˆ๊ธฐ ํ˜„๋Œ€ ์˜์–ด" ๋ฐฉ์–ธ(๋ณ€ํ˜•)์˜ ์˜์–ด(์–ธ์–ด)

์–ธ์–ด, ์Šคํฌ๋ฆฝํŠธ, ์ง€์—ญ(๊ตญ๊ฐ€ ํฌํ•จ) ๋ฐ ๋ณ€ํ˜•(๋“œ๋ฌผ๊ฒŒ ์‚ฌ์šฉ)์„ ์‹๋ณ„ํ•˜๋Š” ํ•˜์œ„ ํƒœ๊ทธ๋Š” IANA ์–ธ์–ด ํ•˜์œ„ ํƒœ๊ทธ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์— ๋“ฑ๋ก๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ๋Š” ์‹œ๊ฐ„์ด ์ง€๋‚จ์— ๋”ฐ๋ผ ์ฃผ๊ธฐ์ ์œผ๋กœ ์—…๋ฐ์ดํŠธ๋˜๋ฉฐ ๊ตฌํ˜„์ด ํ•ญ์ƒ ์ตœ์‹  ์ƒํƒœ๊ฐ€ ์•„๋‹ ์ˆ˜๋„ ์žˆ์œผ๋ฏ€๋กœ ํ•˜์œ„ ํƒœ๊ทธ๊ฐ€ ๋„๋ฆฌ ์ง€์›๋  ๊ฒƒ์ด๋ผ๋Š”๋ฐ ๋„ˆ๋ฌด ์˜์กดํ•˜์ง€ ๋งˆ์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.

BCP 47 ํ™•์žฅ ์‹œํ€€์Šค๋Š” ํ•œ ์ž๋ฆฌ ์ˆซ์ž ๋˜๋Š” ๋ฌธ์ž("x" ์ œ์™ธ)์™€ ํ•˜์ดํ”ˆ์œผ๋กœ ๊ตฌ๋ถ„๋œ ํ•˜๋‚˜ ์ด์ƒ์˜ 2~8์ž๋ฆฌ ์ˆซ์ž ๋˜๋Š” ์ˆซ์ž ํ•˜์œ„ ํƒœ๊ทธ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. ๊ฐ ์ˆซ์ž ๋˜๋Š” ๋ฌธ์ž๋‹น ํ•˜๋‚˜์˜ ์‹œํ€€์Šค๋งŒ ํ—ˆ์šฉ๋ฉ๋‹ˆ๋‹ค "de-a-foo-a-foo"๋Š” ์œ ํšจํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. BCP 47 ํ™•์žฅ์ž ํ•˜์œ„ํƒœ๊ทธ๋Š” ์œ ๋‹ˆ์ฝ”๋“œ CLDR ํ”„๋กœ์ ํŠธ์— ์ •์˜๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ ๋‘ ๊ฐœ์˜ ํ™•์žฅ์ž๋งŒ ์˜๋ฏธ๊ฐ€ ์ •์˜๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

  • "u"(์œ ๋‹ˆ์ฝ”๋“œ) ํ™•์žฅ์ž๋Š” Intl API ๊ฐ์ฒด์˜ ์ถ”๊ฐ€ ์‚ฌ์šฉ์ž ์ง€์ •์„ ์š”์ฒญํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜๋Š” ์˜ˆ์‹œ์ž…๋‹ˆ๋‹ค.

    • "de-DE-u-co-phonebk": ๋…์ผ์–ด ์ •๋ ฌ ์ˆœ์„œ์˜ ์ „ํ™”๋ฒˆํ˜ธ๋ถ€ ๋ณ€ํ˜•์„ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์›€๋ผ์šฐํŠธ ๋ชจ์Œ์„ ํ•ด๋‹น ๋ฌธ์ž ์Œ์œผ๋กœ ํ•ด์„ํ•ฉ๋‹ˆ๋‹ค. รค โ†’ ae, รถ โ†’ oe, รผ โ†’ ue.
    • "th-TH-u-nu-thai": ์ˆซ์ž ํ˜•์‹์— ํƒœ๊ตญ ์ˆซ์ž(เน, เน‘, เน’, เน“, เน”, เน•, เน–, เน—, เน˜, เน™)๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
    • "ja-JP-u-ca-japanese": ๋‚ ์งœ ๋ฐ ์‹œ๊ฐ„ ์„œ์‹์—์„œ ์ผ๋ณธ ๋‹ฌ๋ ฅ์„ ์‚ฌ์šฉํ•˜์—ฌ 2013๋…„์„ ํ—ค์ด์„ธ์ด ์‹œ๋Œ€ 25๋…„, ์ฆ‰ ๅนณๆˆ 25๋กœ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.
    • "en-GB-u-ca-islamic": ์˜๊ตญ์‹ ์˜์–ด์™€ ์ด์Šฌ๋žŒ(ํšŒ๊ต) ๋‹ฌ๋ ฅ์„ ์‚ฌ์šฉํ•˜๋ฉฐ, 2017๋…„ 10์›” 14์ผ ๊ทธ๋ ˆ๊ณ ๋ฆฌ๋ ฅ์€ 1439๋…„ ๋ฌดํ•˜๋žŒ 24์ผ ํšŒ๊ต๋ ฅ์ž…๋‹ˆ๋‹ค.
  • "t"(๋ณ€ํ™˜๋จ) ํ™•์žฅ์ž๋Š” ๋ณ€ํ™˜๋œ ์ฝ˜ํ…์ธ (์˜ˆ: ๋‹ค๋ฅธ ๋กœ์ผ€์ผ์—์„œ ๋ฒˆ์—ญ๋œ ํ…์ŠคํŠธ)๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ํ˜„์žฌ Intl ๊ธฐ๋Šฅ์€ "t" ํ™•์žฅ์ž๋ฅผ ๊ณ ๋ คํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด ํ™•์žฅ์ž๋Š” ๋•Œ๋•Œ๋กœ ํ™•์žฅ์ž๊ฐ€ ์—†๋Š” ์ค‘์ฒฉ ๋กœ์ผ€์ผ์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด "de-t-en"์˜ ๋ณ€ํ™˜๋œ ํ™•์žฅ์ž๋Š” ์˜์–ด์— ๋Œ€ํ•œ ๋กœ์ผ€์ผ ์‹๋ณ„์ž๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ์ค‘์ฒฉ ๋กœ์ผ€์ผ์ด ์žˆ๋Š” ๊ฒฝ์šฐ ์œ ํšจํ•œ ๋กœ์ผ€์ผ ์‹๋ณ„์ž์ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด "en-emodeng-emodeng"์€ ์ค‘๋ณต๋œ emodeng ๋ณ€ํ˜• ํ•˜์œ„ ํƒœ๊ทธ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฏ€๋กœ ์œ ํšจํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ "de-t-en-emodeng-emodeng"๋„ ์œ ํšจํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋งˆ์ง€๋ง‰์œผ๋กœ ๋ฌธ์ž "x"๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋น„๊ณต๊ฐœ ํ™•์žฅ์ž ์‹œํ€€์Šค ๋’ค์— ํ•˜์ดํ”ˆ์œผ๋กœ ๊ตฌ๋ถ„๋œ ํ•˜๋‚˜ ์ด์ƒ์˜ 1~8์ž ๋˜๋Š” ์ˆซ์ž ํ•˜์œ„ ํƒœ๊ทธ๊ฐ€ ๋‚˜ํƒ€๋‚  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์ž์ฒด์ ์œผ๋กœ ๋น„๊ณต๊ฐœ๋กœ ์‚ฌ์šฉํ•  ์ •๋ณด๋ฅผ ์ธ์ฝ”๋”ฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋ชจ๋“  Intl ์—ฐ์‚ฐ์—์„œ ๋ฌด์‹œ๋ฉ๋‹ˆ๋‹ค.

options ์ธ์ˆ˜

options ์ธ์ˆ˜๋Š” ์ƒ์„ฑ์ž์™€ ํ•จ์ˆ˜๋งˆ๋‹ค ๋‹ค๋ฅธ ์†์„ฑ์„ ๊ฐ€์ง„ ๊ฐ์ฒด์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค. options ์ธ์ˆ˜๊ฐ€ ์ œ๊ณต๋˜์ง€ ์•Š๊ฑฐ๋‚˜ ์ •์˜๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ๋ชจ๋“  ์†์„ฑ์— ๊ธฐ๋ณธ๊ฐ’์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

localeMatcher ์†์„ฑ์€ ๋ชจ๋“  ์–ธ์–ด์— ๋ฏผ๊ฐํ•œ ์ƒ์„ฑ์ž ๋ฐ ํ•จ์ˆ˜์—์„œ ์ง€์›๋ฉ๋‹ˆ๋‹ค. ์ด ์†์„ฑ์˜ ๊ฐ’์€ ๋ฌธ์ž์—ด "lookup" ๋˜๋Š” "best fit"์ด์–ด์•ผ ํ•˜๋ฉฐ ์•„๋ž˜์— ์„ค๋ช…๋œ ๋กœ์ผ€์ผ ์ผ์น˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋กœ์ผ€์ผ ์‹๋ณ„ ๋ฐ ํ˜‘์ƒ

locales ์ธ์ˆ˜๋กœ ์ง€์ •๋œ ๋กœ์ผ€์ผ ๋ชฉ๋ก์€ ์œ ๋‹ˆ์ฝ”๋“œ ํ™•์žฅ์ด ์ œ๊ฑฐ๋œ ํ›„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ์ง€์ •๋œ ์š”์ฒญ์œผ๋กœ ํ•ด์„๋ฉ๋‹ˆ๋‹ค. ๋Ÿฐํƒ€์ž„์€ ์ด๋ฅผ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋กœ์ผ€์ผ๊ณผ ๋น„๊ตํ•˜์—ฌ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ตœ์ƒ์˜ ๋กœ์ผ€์ผ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—” ๋‘ ๊ฐ€์ง€ ๋งค์นญ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. "lookup" ๋งค์นญ์€ BCP 47์— ๋ช…์‹œ๋œ Lookup ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋”ฐ๋ฅด๊ณ , "best fit" ๋งค์นญ์€ ๋Ÿฐํƒ€์ž„์ด Lookup ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ๊ฒฐ๊ณผ๋ณด๋‹ค ์ตœ์†Œํ•œ ์š”์ฒญ์— ๋” ์ ํ•ฉํ•œ ๋กœ์ผ€์ผ์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ locales ์ธ์ˆ˜๋ฅผ ์ œ๊ณตํ•˜์ง€ ์•Š๊ฑฐ๋‚˜ ๋Ÿฐํƒ€์ž„์— ์š”์ฒญ๊ณผ ์ผ์น˜ํ•˜๋Š” ๋กœ์ผ€์ผ์ด ์—†๋Š” ๊ฒฝ์šฐ ๋Ÿฐํƒ€์ž„์˜ ๊ธฐ๋ณธ ๋กœ์ผ€์ผ์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ผ์น˜ ์—ฌ๋ถ€ ๊ฒ€์‚ฌ๊ธฐ๋Š” options ์ธ์ˆ˜์˜ ์†์„ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(์•„๋ž˜๋ฅผ ์ฐธ์กฐํ•˜์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค).

์„ ํƒํ•œ ๋กœ์ผ€์ผ ์‹๋ณ„์ž์— ์œ ๋‹ˆ์ฝ”๋“œ ํ™•์žฅ ์ˆœ์„œ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ ์ด์ œ ํ•ด๋‹น ํ™•์žฅ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ƒ์„ฑ๋œ ๊ฐ์ฒด ๋˜๋Š” ํ•จ์ˆ˜์˜ ๋™์ž‘์„ ์‚ฌ์šฉ์ž ๋งž์ถค ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ์ƒ์„ฑ์ž ๋˜๋Š” ํ•จ์ˆ˜๋Š” ์œ ๋‹ˆ์ฝ”๋“œ ํ™•์žฅ์— ๋Œ€ํ•ด ์ •์˜๋œ ํ‚ค์˜ ํ•˜์œ„ ์ง‘ํ•ฉ๋งŒ ์ง€์›ํ•˜๋ฉฐ, ์ง€์›๋˜๋Š” ๊ฐ’์€ ๋กœ์ผ€์ผ ์‹๋ณ„์ž์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง€๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด "co" ํ‚ค(์ฝœ๋ ˆ์ด์…˜)๋Š” Intl.Collator์—์„œ๋งŒ ์ง€์›๋˜๋ฉฐ, "phonebk" ๊ฐ’์€ ๋…์ผ์–ด์—์„œ๋งŒ ์ง€์›๋ฉ๋‹ˆ๋‹ค.

์ •์  ์†์„ฑ

Intl.Collator

์–ธ์–ด๋ณ„ ๋ฌธ์ž์—ด ๋น„๊ต๋ฅผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋Š” ๊ฐ์ฒด์ธ ์ฝœ๋ ˆ์ดํ„ฐ์˜ ์ƒ์„ฑ์ž์ž…๋‹ˆ๋‹ค.

Intl.DateTimeFormat

์–ธ์–ด๋ณ„ ๋‚ ์งœ์™€ ์‹œ๊ฐ„ ํ˜•์‹์„ ์ •ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ์ฒด์˜ ์ƒ์„ฑ์ž์ž…๋‹ˆ๋‹ค.

Intl.DisplayNames

์–ธ์–ด, ์ง€์—ญ ๋ฐ ์Šคํฌ๋ฆฝํŠธ ํ‘œ์‹œ ์ด๋ฆ„์„ ์ผ๊ด€๋˜๊ฒŒ ๋ฒˆ์—ญํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ์ฒด์˜ ์ƒ์„ฑ์ž์ž…๋‹ˆ๋‹ค.

Intl.DurationFormat Experimental

๋กœ์ผ€์ผ๋ณ„๋กœ ๊ธฐ๊ฐ„ ํ˜•์‹์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ์ฒด์˜ ์ƒ์„ฑ์ž์ž…๋‹ˆ๋‹ค.

Intl.ListFormat

์–ธ์–ด๋ณ„ ๋ฆฌ์ŠคํŠธ ํ˜•์‹์„ ์ •ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ์ฒด์˜ ์ƒ์„ฑ์ž์ž…๋‹ˆ๋‹ค.

Intl.Locale

์œ ๋‹ˆ์ฝ”๋“œ ์‹๋ณ„์ž๋ฅผ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ์ฒด์˜ ์ƒ์„ฑ์ž์ž…๋‹ˆ๋‹ค.

Intl.NumberFormat

์–ธ์–ด๋ณ„ ์ˆซ์ž ํ˜•์‹์„ ์ •ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ์ฒด์˜ ์ƒ์„ฑ์ž์ž…๋‹ˆ๋‹ค.

Intl.PluralRules

๋ณต์ˆ˜ํ˜•์„ ๊ตฌ๋ถ„ํ•˜๋Š” ํ˜•์‹๊ณผ ์–ธ์–ด๋ณ„ ๊ทœ์น™์„ ํ™œ์„ฑํ™”ํ•˜๋Š” ๊ฐ์ฒด์˜ ์ƒ์„ฑ์ž์ž…๋‹ˆ๋‹ค.

Intl.RelativeTimeFormat

์ƒ๋Œ€ ์‹œ๊ฐ„ ํ˜•์‹์„ ์ •ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ์ฒด์˜ ์ƒ์„ฑ์ž์ž…๋‹ˆ๋‹ค.

Intl.Segmenter

๋กœ์ผ€์ผ์— ๋”ฐ๋ฅธ ํ…์ŠคํŠธ ์„ธ๊ทธ๋จผํŠธ๋ฅผ ์ •ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ์ฒด์˜ ์ƒ์„ฑ์ž์ž…๋‹ˆ๋‹ค.

Intl[@@toStringTag]

@@toStringTag์†์„ฑ์˜ ์ดˆ๊ธฐ๊ฐ’์€ ๋ฌธ์ž์—ด "Intl"์ž…๋‹ˆ๋‹ค. ์ด ์†์„ฑ์€ Object.prototype.toString()์—์„œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์ •์  ๋ฉ”์„œ๋“œ

Intl.getCanonicalLocales()

ํ‘œ์ค€ ๋กœ์ผ€์ผ ์ด๋ฆ„์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

Intl.supportedValuesOf()

๊ตฌํ˜„์ฒด์—์„œ ์ง€์›ํ•˜๋Š” ์ง€์›๋˜๋Š” ๊ณ ์œ ํ•œ ๋‹ฌ๋ ฅ, ์ฝœ๋ ˆ์ด์…˜, ํ†ตํ™”, ์ˆซ์ž ์ฒด๊ณ„ ๋˜๋Š” ๋‹จ์œ„ ๊ฐ’์ด ํฌํ•จ๋œ, ์ •๋ ฌ๋œ ๋ฐฐ์—ด์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ์ œ

๋‚ ์งœ์™€ ์ˆซ์ž ์„œ์‹ ์ง€์ •

Intl๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŠน์ • ์–ธ์–ด ๋ฐ ์ง€์—ญ์˜ ์ผ๋ฐ˜์ ์ธ ํ˜•์‹์œผ๋กœ ๋‚ ์งœ ๋ฐ ์ˆซ์ž ํ˜•์‹์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

js
const count = 26254.39;
const date = new Date("2012-05-24");

function log(locale) {
  console.log(
    `${new Intl.DateTimeFormat(locale).format(date)} ${new Intl.NumberFormat(
      locale,
    ).format(count)}`,
  );
}

log("en-US"); // 5/24/2012 26,254.39

log("de-DE"); // 24.5.2012 26.254,39

๋ธŒ๋ผ์šฐ์ €์˜ ์„ ํ˜ธ ์–ธ์–ด ์‚ฌ์šฉํ•˜๊ธฐ

Intl ๋ฉ”์„œ๋“œ์— ํ•˜๋“œ์ฝ”๋”ฉ๋œ ๋กœ์ผ€์ผ ์ด๋ฆ„์„ ์ „๋‹ฌํ•˜๋Š” ๋Œ€์‹  navigator.language์—์„œ ์ œ๊ณตํ•˜๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์„ ํ˜ธํ•˜๋Š” ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

js
const date = new Date("2012-05-24");

const formattedDate = new Intl.DateTimeFormat(navigator.language).format(date);

๋˜๋Š” navigator.languages ์†์„ฑ์€ ์‚ฌ์šฉ์ž๊ฐ€ ์„ ํ˜ธํ•˜๋Š” ์–ธ์–ด์˜ ์ •๋ ฌ๋œ ๋ชฉ๋ก์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ชฉ๋ก์„ Intl ์ƒ์„ฑ์ž์— ์ง์ ‘ ์ „๋‹ฌํ•˜์—ฌ ๊ธฐ๋ณธ ์„ค์ • ๊ธฐ๋ฐ˜ ๋กœ์ผ€์ผ ๋Œ€์ฒด ์„ ํƒ์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋กœ์ผ€์ผ ํ˜‘์ƒ ํ”„๋กœ์„ธ์Šค๋Š” ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๊ฐ€์žฅ ์ ํ•ฉํ•œ ๋กœ์ผ€์ผ์„ ์„ ํƒํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

js
const count = 26254.39;

const formattedCount = new Intl.NumberFormat(navigator.languages).format(count);

๋ช…์„ธ์„œ

Specification
ECMAScriptยฎ 2026 Internationalization API Specification
# intl-object

๋ธŒ๋ผ์šฐ์ € ํ˜ธํ™˜์„ฑ

๊ฐ™์ด ๋ณด๊ธฐ