μ΄ νμ΄μ§μ μνλ AI μ΄μμ€ν΄νΈλ₯Ό μ¬μ©νμ¬ λ¬Έμλ₯Ό μμ½ν©λλ€
λ²μ κΈ°λ‘
- "μ΄κΈ° μ΄λ ₯"v9.7.12026. 11. 3.
μ΄ νμ΄μ§μ μ½ν μΈ λ AIλ₯Ό μ¬μ©νμ¬ λ²μλμμ΅λλ€.
μμ΄ μλ³Έ λ΄μ©μ μ΅μ λ²μ μ λ³΄κΈ°μ΄ λ¬Έμλ₯Ό κ°μ ν μμ΄λμ΄κ° μμΌμλ©΄ GitHubμ ν 리νμ€νΈλ₯Ό μ μΆνμ¬ μμ λ‘κ² κΈ°μ¬ν΄ μ£ΌμΈμ.
λ¬Έμμ λν GitHub λ§ν¬λ¬Έμμ Markdownμ ν΄λ¦½λ³΄λμ 볡μ¬
Prettier νλ¬κ·ΈμΈ
prettier-plugin-intlayerλ Prettierκ° νμΌμ ν¬λ§·ν λλ§λ€ λ²μ ν€λ₯Ό κ³ μ λ μμλ‘ μ λ ¬ν©λλ€. diffλ₯Ό μκ² μ μ§νκ³ , λ³ν© μΆ©λμ μ€μ΄λ©°, λλ½λ λ‘μΌμΌμ μ½κ² λ°κ²¬ν μ μμ΅λλ€.
μ½λλ₯Ό ν΄λ¦½λ³΄λμ 볡μ¬
μ€μΉ
μ½λλ₯Ό ν΄λ¦½λ³΄λμ 볡μ¬
Prettier 3 μ΄μμ΄ νμν©λλ€.
νλ‘μ νΈμμ μ΄λ―Έ Prettierλ₯Ό μ¬μ© μ€μΈ κ²½μ° intlayer init prettier λͺ
λ Ήμ μ€ννλ©΄ νλ¬κ·ΈμΈμ΄ μ€μΉλκ³ μ€μ μ μλμΌλ‘ μΆκ°λ©λλ€.
μ¬μ©λ²
Prettier μ€μ νμΌμ νλ¬κ·ΈμΈμ μΆκ°ν©λλ€:
μ½λλ₯Ό ν΄λ¦½λ³΄λμ 볡μ¬
μ½ν μΈ μ μΈ νμΌμλ§ μ μ©νλ €λ©΄ overrideλ₯Ό μ¬μ©νμΈμ:
μ½λλ₯Ό ν΄λ¦½λ³΄λμ 볡μ¬
μ λ ¬λλ λμ
t(): λ‘μΌμΌ
κ³ μ λ(pinned) λ‘μΌμΌμ΄ λ¨Όμ μ΅λλ€(κΈ°λ³Έκ°μ en). λλ¨Έμ§ λ‘μΌμΌμ μνλ²³ μμλλ‘ μ λ ¬λ©λλ€.
μ½λλ₯Ό ν΄λ¦½λ³΄λμ 볡μ¬
plural(): CLDR μμ
μΉ΄ν
κ³ λ¦¬λ κ°μ₯ μμ μλλΆν° λ체κ°(fallback) μμΌλ‘ μ λ ¬λ©λλ€: zero, one, two, few, many, other.
μ½λλ₯Ό ν΄λ¦½λ³΄λμ 볡μ¬
enu(): μ€λ¦μ°¨μ μκ³κ°
쑰건μ μ«μ μμΌλ‘ μ λ ¬λ ν μ°μ°μ μ(<1, <=1, 1, >=1, >1)μΌλ‘ μ λ ¬λ©λλ€. fallbackμ λ§μ§λ§μ μμΉν©λλ€.
μ½λλ₯Ό ν΄λ¦½λ³΄λμ 볡μ¬
λ°νμμμλ λ¨Όμ μΌμΉνλ μ‘°κ±΄μ΄ μ μ©λ©λλ€. νλ¬κ·ΈμΈμ λͺ¨λ μλμ΄ λμΌν μ½ν
μΈ λ‘ νμΈλ λμλ§ μ μμλ₯Ό μ μ©ν©λλ€. μμκ° κ²°κ³Όμ μν₯μ λ―ΈμΉλ κ²½μ° κ°μ²΄λ μμ±λ μν κ·Έλλ‘ μ μ§λ©λλ€. μλ₯Ό λ€μ΄ { '<1': β¦, '<=-2.3': β¦ }μμλ '<1' ν€κ° λͺ¨λ μμλ₯Ό μ²λ¦¬ν©λλ€.
select(): μνλ²³ μμ
μΌμ΄μ€λ μνλ²³ μμλ‘ μ λ ¬λλ©° fallbackμ΄ λ§μ§λ§μ λ°°μΉλ©λλ€.
μ½λλ₯Ό ν΄λ¦½λ³΄λμ 볡μ¬
fallbackμ΄λ other ν€κ° μλ κ²½μ° λ§μ§λ§ μΌμ΄μ€κ° fallbackμΌλ‘ μ¬μ©λ©λλ€. ν΄λΉ μΌμ΄μ€λ λ§μ§λ§μ μ μ§λκ³ μ΄μ μΌμ΄μ€λ€λ§ μ λ ¬λ©λλ€.
.content.json νμΌ
μ§λ ¬νλ ννλ λμΌν λ°©μμΌλ‘ μ λ ¬λ©λλ€: { "nodeType": "translation", "translation": { β¦ } }, κ·Έλ¦¬κ³ plural, enumeration, select λ
Έλλ λ§μ°¬κ°μ§μ
λλ€.
μ½ν μΈ ν€ (μ ν μ¬ν)
intlayerSortContentKeys: trueλ₯Ό μ§μ νλ©΄ νλ¬κ·ΈμΈμ΄ λμ
λ리 contentμ ν€λ λͺ¨λ μ€μ²© μμ€μμ μνλ²³μμΌλ‘ μ λ ¬ν©λλ€. μ΄λ *.content.* νμΌμλ§ μ μ©λ©λλ€.
μ½λλ₯Ό ν΄λ¦½λ³΄λμ 볡μ¬
μ λ ¬μ κ° ν¬νΌ ν¨μ(t, plural, enu, select, cond, gender, md, insert, nest, fileβ¦)λ₯Ό κ±°μ³ λ΄λΆ κ°μ²΄κΉμ§ μ μ©λ©λλ€. κ° ν¬νΌ μ체μ ν€ κ΅¬μ‘°λ κ³ μ ν μμλ₯Ό μ μ§ν©λλ€. cond() λ° gender()μ μ λ¬λ ν€λ λ§μ§λ§ ν€κ° fallback μν μ νλ―λ‘ μμκ° μ¬μ λ ¬λμ§ μμ΅λλ€. contentμ κ°μ μμ€μ νλ(key, title, localeβ¦)λ μλ μνλ₯Ό μ μ§ν©λλ€.
μ΅μ
ν μ΄λΈμ λͺ¨λ¬λ‘ μ΄μ΄ λͺ¨λ λ°μ΄ν°λ₯Ό λͺ ννκ² νμΈ
| μ΅μ | κΈ°λ³Έκ° | μ€λͺ |
|---|---|---|
intlayerPinnedLocales | ["en"] | t()μμ μ°μ μ μΌλ‘ μμ μ μ§ν λ‘μΌμΌ λͺ©λ‘. λͺ¨λ λ‘μΌμΌμ μ λ ¬νλ €λ©΄ []λ₯Ό μ λ¬νμΈμ. |
intlayerSortContentKeys | false | *.content.* νμΌμμ λμ
λ리μ μ½ν
μΈ ν€ λ° μ€μ²©λ κ°μ²΄λ μ λ ¬ν©λλ€. |
λ³κ²½λμ§ μλ λμ
- μ€νλ λ(
...base), κ³μ°λ ν€([key]), λ©μλ λλ μ€λ³΅ ν€κ° ν¬ν¨λ κ°μ²΄. - CLDR μΉ΄ν
κ³ λ¦¬κ° μλ ν€λ₯Ό κ°μ§
plural()λ§΅. - μλ‘μ΄ μμ μ μ© μ νμΈλλ μ½ν
μΈ κ° λ¬λΌμ§ μ μλ
enu()λ§΅. - ν¬νΌμ μ΄λ¦μ κ°μ§λ§ κ°μ²΄κ° μλ μΈμκ° μ λ¬λ ν¨μ νΈμΆ.
μ£Όμμ ν΄λΉ μ£Όμμ΄ μν ν€μ ν¨κ» μ΄λν©λλ€.
μ§μλλ νμ
babel, babel-flow, babel-ts, typescript, flow, acorn, espree, meriyah, json, json5, jsonc. Vue, Svelte, Astro νμΌμ <script> λΈλ‘λ μ΄ νμλ€μ ν΅ν΄ ν¬λ§·λ©λλ€.
μλ €μ§ μ ν μ¬ν. Prettierλ νμλΉ λ¨ νλμ νλ¬κ·ΈμΈλ§ μ€νν©λλ€. λ€λ₯Έ νλ¬κ·ΈμΈλ JavaScript/TypeScript νμλ₯Ό λ체νλ κ²½μ°(μ:prettier-plugin-tailwindcss), λ§μ§λ§μ λμ΄λ νλ¬κ·ΈμΈλ§ ν΄λΉ νμΌμ μ μ©λ©λλ€. μΆ©λμ νΌνλ €λ©΄ overrideλ₯Ό μ¬μ©νμ¬prettier-plugin-intlayerμ λ²μλ₯Ό*.content.*νμΌλ‘ νμ νμΈμ.
