@intlayer/docs 8.9.6 โ 8.9.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/blog/ar/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
- package/blog/de/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
- package/blog/en/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
- package/blog/en/react-i18next_vs_react-intl_vs_intlayer.md +1 -3
- package/blog/en/vue-i18n_vs_intlayer.md +0 -2
- package/blog/en-GB/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
- package/blog/es/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
- package/blog/fr/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
- package/blog/id/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
- package/blog/id/react-i18next_vs_react-intl_vs_intlayer.md +1 -3
- package/blog/id/vue-i18n_vs_intlayer.md +0 -2
- package/blog/it/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
- package/blog/ja/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
- package/blog/ko/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
- package/blog/pl/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
- package/blog/pl/react-i18next_vs_react-intl_vs_intlayer.md +1 -3
- package/blog/pl/vue-i18n_vs_intlayer.md +0 -2
- package/blog/pt/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
- package/blog/ru/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
- package/blog/tr/next-i18next_vs_next-intl_vs_intlayer.md +1 -3
- package/blog/tr/react-i18next_vs_react-intl_vs_intlayer.md +1 -3
- package/blog/tr/vue-i18n_vs_intlayer.md +0 -2
- package/blog/uk/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
- package/blog/uk/react-i18next_vs_react-intl_vs_intlayer.md +1 -3
- package/blog/uk/vue-i18n_vs_intlayer.md +0 -2
- package/blog/vi/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
- package/blog/vi/react-i18next_vs_react-intl_vs_intlayer.md +1 -3
- package/blog/vi/vue-i18n_vs_intlayer.md +0 -2
- package/blog/zh/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
- package/dist/cjs/blog.cjs.map +1 -1
- package/dist/cjs/common.cjs.map +1 -1
- package/dist/cjs/doc.cjs.map +1 -1
- package/dist/cjs/frequentQuestions.cjs.map +1 -1
- package/dist/cjs/generated/blog.entry.cjs.map +1 -1
- package/dist/cjs/generated/docs.entry.cjs.map +1 -1
- package/dist/cjs/generated/frequentQuestions.entry.cjs.map +1 -1
- package/dist/cjs/generated/legal.entry.cjs.map +1 -1
- package/dist/cjs/legal.cjs.map +1 -1
- package/dist/esm/blog.mjs.map +1 -1
- package/dist/esm/common.mjs.map +1 -1
- package/dist/esm/doc.mjs.map +1 -1
- package/dist/esm/frequentQuestions.mjs.map +1 -1
- package/dist/esm/generated/blog.entry.mjs.map +1 -1
- package/dist/esm/generated/docs.entry.mjs.map +1 -1
- package/dist/esm/generated/frequentQuestions.entry.mjs.map +1 -1
- package/dist/esm/generated/legal.entry.mjs.map +1 -1
- package/dist/esm/legal.mjs.map +1 -1
- package/dist/types/blog.d.ts.map +1 -1
- package/dist/types/common.d.ts.map +1 -1
- package/dist/types/doc.d.ts.map +1 -1
- package/dist/types/frequentQuestions.d.ts.map +1 -1
- package/dist/types/legal.d.ts.map +1 -1
- package/docs/ar/interest_of_intlayer.md +105 -80
- package/docs/bn/interest_of_intlayer.md +235 -0
- package/docs/cs/interest_of_intlayer.md +235 -0
- package/docs/de/interest_of_intlayer.md +96 -74
- package/docs/en/configuration.md +2 -1
- package/docs/en/interest_of_intlayer.md +1 -3
- package/docs/en-GB/configuration.md +2 -1
- package/docs/en-GB/interest_of_intlayer.md +57 -33
- package/docs/es/interest_of_intlayer.md +26 -2
- package/docs/fr/interest_of_intlayer.md +45 -21
- package/docs/hi/interest_of_intlayer.md +112 -88
- package/docs/id/interest_of_intlayer.md +80 -82
- package/docs/it/interest_of_intlayer.md +94 -69
- package/docs/ja/interest_of_intlayer.md +106 -81
- package/docs/ko/interest_of_intlayer.md +99 -74
- package/docs/nl/interest_of_intlayer.md +235 -0
- package/docs/pl/interest_of_intlayer.md +84 -84
- package/docs/pt/interest_of_intlayer.md +89 -67
- package/docs/ru/interest_of_intlayer.md +93 -69
- package/docs/tr/interest_of_intlayer.md +94 -91
- package/docs/uk/interest_of_intlayer.md +93 -97
- package/docs/ur/interest_of_intlayer.md +235 -0
- package/docs/vi/interest_of_intlayer.md +81 -80
- package/docs/zh/interest_of_intlayer.md +97 -72
- package/docs/zh-TW/interest_of_intlayer.md +235 -0
- package/package.json +6 -6
- package/src/blog.ts +4 -1
- package/src/frequentQuestions.ts +4 -1
- package/src/legal.ts +4 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2024-08-14
|
|
3
|
-
updatedAt: 2025-
|
|
4
|
-
title: Intlayer์
|
|
5
|
-
description: ํ๋ก์ ํธ์์ Intlayer๋ฅผ ์ฌ์ฉํ ๋์ ์ด์ ๊ณผ ์ฅ์ ์ ์์๋ณด์ธ์. Intlayer๊ฐ ๋ค๋ฅธ ํ๋ ์์ํฌ์ ์ฐจ๋ณํ๋๋ ์ด์ ๋ฅผ
|
|
3
|
+
updatedAt: 2025-09-27
|
|
4
|
+
title: Intlayer์ ์ฅ์
|
|
5
|
+
description: ํ๋ก์ ํธ์์ Intlayer๋ฅผ ์ฌ์ฉํ ๋์ ์ด์ ๊ณผ ์ฅ์ ์ ์์๋ณด์ธ์. Intlayer๊ฐ ๋ค๋ฅธ ํ๋ ์์ํฌ์ ์ฐจ๋ณํ๋๋ ์ด์ ๋ฅผ ์ดํดํด ๋ณด์ธ์.
|
|
6
6
|
keywords:
|
|
7
7
|
- ์ด์
|
|
8
8
|
- ์ฅ์
|
|
@@ -13,32 +13,35 @@ slugs:
|
|
|
13
13
|
- doc
|
|
14
14
|
- why
|
|
15
15
|
history:
|
|
16
|
+
- version: 7.3.1
|
|
17
|
+
date: 2025-11-27
|
|
18
|
+
changes: "์ปดํ์ผ๋ฌ ๋ฆด๋ฆฌ์ค"
|
|
16
19
|
- version: 5.8.0
|
|
17
20
|
date: 2025-08-19
|
|
18
21
|
changes: "๋น๊ต ํ ์
๋ฐ์ดํธ"
|
|
19
22
|
- version: 5.5.10
|
|
20
23
|
date: 2025-06-29
|
|
21
|
-
changes: "
|
|
24
|
+
changes: "์ด๊ธฐ ๊ธฐ๋ก"
|
|
22
25
|
---
|
|
23
26
|
|
|
24
27
|
# ์ Intlayer๋ฅผ ๊ณ ๋ คํด์ผ ํ๋์?
|
|
25
28
|
|
|
26
29
|
## Intlayer๋ ๋ฌด์์ธ๊ฐ์?
|
|
27
30
|
|
|
28
|
-
**Intlayer**๋
|
|
31
|
+
**Intlayer**๋ JavaScript ๊ฐ๋ฐ์๋ฅผ ์ํด ํน๋ณํ ์ค๊ณ๋ ๊ตญ์ ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์
๋๋ค. ์ฝ๋์ ๋ชจ๋ ๊ณณ์์ ์ฝํ
์ธ ๋ฅผ ์ ์ธํ ์ ์๊ฒ ํด์ค๋๋ค. ๋ค๊ตญ์ด ์ฝํ
์ธ ์ ์ธ์ ๊ตฌ์กฐํ๋ ์ฌ์ ์ผ๋ก ๋ณํํ์ฌ ์ฝ๋์ ์ฝ๊ฒ ํตํฉํ ์ ์๋๋ก ํฉ๋๋ค. TypeScript๋ฅผ ์ฌ์ฉํ์ฌ **Intlayer**๋ ๊ฐ๋ฐ์ ๋ ๊ฐ๋ ฅํ๊ณ ํจ์จ์ ์ผ๋ก ๋ง๋ญ๋๋ค.
|
|
29
32
|
|
|
30
33
|
## Intlayer๋ ์ ๋ง๋ค์ด์ก๋์?
|
|
31
34
|
|
|
32
|
-
Intlayer๋ `next-intl`, `react-i18next`, `react-intl`, `next-i18next`, `react-intl`, `vue-i18n`๊ณผ ๊ฐ์ ๋ชจ๋ ์ผ๋ฐ์ ์ธ i18n ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ํฅ์ ๋ฏธ์น๋
|
|
35
|
+
Intlayer๋ `next-intl`, `react-i18next`, `react-intl`, `next-i18next`, `react-intl`, ๊ทธ๋ฆฌ๊ณ `vue-i18n`๊ณผ ๊ฐ์ ๋ชจ๋ ์ผ๋ฐ์ ์ธ i18n ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ํฅ์ ๋ฏธ์น๋ ๊ณตํต์ ์ธ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋ง๋ค์ด์ก์ต๋๋ค.
|
|
33
36
|
|
|
34
|
-
์ด ๋ชจ๋ ์๋ฃจ์
์ ์ฝํ
์ธ ๋ฅผ ๋์ดํ๊ณ ๊ด๋ฆฌํ๊ธฐ ์ํด ์ค์ ์ง์ค์ ๋ฐฉ์์ ์ฑํํฉ๋๋ค. ์๋ฅผ ๋ค์ด:
|
|
37
|
+
์ด ๋ชจ๋ ์๋ฃจ์
์ ์ฝํ
์ธ ๋ฅผ ๋์ดํ๊ณ ๊ด๋ฆฌํ๊ธฐ ์ํด ์ค์ ์ง์ค์ ์ ๊ทผ ๋ฐฉ์์ ์ฑํํฉ๋๋ค. ์๋ฅผ ๋ค์ด:
|
|
35
38
|
|
|
36
39
|
```bash
|
|
37
40
|
.
|
|
38
41
|
โโโ locales
|
|
39
42
|
โ โโโ en.json
|
|
40
|
-
โ โโโ
|
|
41
|
-
โ โโโ
|
|
43
|
+
โ โโโ es.json
|
|
44
|
+
โ โโโ fr.json
|
|
42
45
|
โโโ i18n.ts
|
|
43
46
|
โโโ src
|
|
44
47
|
โโโ components
|
|
@@ -67,29 +70,29 @@ Intlayer๋ `next-intl`, `react-i18next`, `react-intl`, `next-i18next`, `react-i
|
|
|
67
70
|
โโโ index.tsx
|
|
68
71
|
```
|
|
69
72
|
|
|
70
|
-
์ด๋ฌํ ์ ํ์ ์ํคํ
์ฒ๋ ๊ฐ๋ฐ
|
|
73
|
+
์ด๋ฌํ ์ ํ์ ์ํคํ
์ฒ๋ ๊ฐ๋ฐ ํ๋ก์ธ์ค๋ฅผ ๋ฆ์ถ๊ณ ๋ค์๊ณผ ๊ฐ์ ์ฌ๋ฌ ์ด์ ๋ก ์ฝ๋๋ฒ ์ด์ค๋ฅผ ์ ์ง ๊ด๋ฆฌํ๊ธฐ ๋ณต์กํ๊ฒ ๋ง๋ญ๋๋ค.
|
|
71
74
|
|
|
72
|
-
1. **์๋ก์ด ์ปดํฌ๋ํธ๋ฅผ ์์ฑํ ๋๋ง๋ค
|
|
73
|
-
- `locales` ํด๋์ ์๋ก์ด
|
|
74
|
-
- ํ์ด์ง์์ ์๋ก์ด ๋ค์์คํ์ด์ค๋ฅผ
|
|
75
|
-
-
|
|
75
|
+
1. **์๋ก์ด ์ปดํฌ๋ํธ๋ฅผ ์์ฑํ ๋๋ง๋ค ๋ค์์ ์ํํด์ผ ํฉ๋๋ค.**
|
|
76
|
+
- `locales` ํด๋์ ์๋ก์ด ๋ฆฌ์์ค/๋ค์์คํ์ด์ค ์์ฑ
|
|
77
|
+
- ํ์ด์ง์์ ์๋ก์ด ๋ค์์คํ์ด์ค๋ฅผ ๊ฐ์ ธ์ค๋ ๊ฒ์ ์์ง ์๊ธฐ
|
|
78
|
+
- ์ฝํ
์ธ ๋ฒ์ญ(์ข
์ข
AI ์ ๊ณต์
์ฒด๋ก๋ถํฐ ๋ณต์ฌ/๋ถ์ฌ๋ฃ๊ธฐ๋ฅผ ํตํด ์๋์ผ๋ก ์ํ๋จ)
|
|
76
79
|
|
|
77
|
-
2.
|
|
78
|
-
- ๊ด๋ จ
|
|
79
|
-
-
|
|
80
|
-
- ๋ชจ๋ ๋ก์ผ์ผ์ ๋ํด ์ฝํ
์ธ ๊ฐ ์ต์ ์ํ์ธ์ง
|
|
81
|
-
- ๋ค์์คํ์ด์ค์
|
|
82
|
-
- ๋ชจ๋ ๋ก์ผ์ผ์ ๋ํด JSON
|
|
80
|
+
2. **์ปดํฌ๋ํธ๋ฅผ ๋ณ๊ฒฝํ ๋๋ง๋ค ๋ค์์ ์ํํด์ผ ํฉ๋๋ค.**
|
|
81
|
+
- ๊ด๋ จ ๋ฆฌ์์ค/๋ค์์คํ์ด์ค ๊ฒ์(์ปดํฌ๋ํธ์์ ๋ฉ๋ฆฌ ๋จ์ด์ ธ ์์)
|
|
82
|
+
- ์ฝํ
์ธ ๋ฒ์ญ
|
|
83
|
+
- ๋ชจ๋ ๋ก์ผ์ผ์ ๋ํด ์ฝํ
์ธ ๊ฐ ์ต์ ์ํ์ธ์ง ํ์ธ
|
|
84
|
+
- ๋ค์์คํ์ด์ค์ ์ฌ์ฉ๋์ง ์๋ ํค/๊ฐ์ด ํฌํจ๋์ด ์์ง ์์์ง ํ์ธ
|
|
85
|
+
- ๋ชจ๋ ๋ก์ผ์ผ์ ๋ํด JSON ํ์ผ ๊ตฌ์กฐ๊ฐ ๋์ผํ์ง ํ์ธ
|
|
83
86
|
|
|
84
|
-
์ด๋ฌํ ์๋ฃจ์
์ ์ฌ์ฉํ๋ ์ ๋ฌธ ํ๋ก์ ํธ์์๋ ์ฝํ
์ธ ๋ฒ์ญ ๊ด๋ฆฌ๋ฅผ ๋๊ธฐ ์ํด ๋ก์ปฌ๋ผ์ด์ ์ด์
|
|
87
|
+
์ด๋ฌํ ์๋ฃจ์
์ ์ฌ์ฉํ๋ ์ ๋ฌธ ํ๋ก์ ํธ์์๋ ์ฝํ
์ธ ๋ฒ์ญ ๊ด๋ฆฌ๋ฅผ ๋๊ธฐ ์ํด ์ข
์ข
๋ก์ปฌ๋ผ์ด์ ์ด์
ํ๋ซํผ์ด ์ฌ์ฉ๋ฉ๋๋ค. ๊ทธ๋ฌ๋ ๋๊ท๋ชจ ํ๋ก์ ํธ์ ๊ฒฝ์ฐ ์ด๋ ๋น ๋ฅด๊ฒ ๋น์ฉ์ด ๋ง์ด ๋ค ์ ์์ต๋๋ค.
|
|
85
88
|
|
|
86
|
-
์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด Intlayer๋ ์ฝํ
์ธ ๋ฅผ ์ปดํฌ๋ํธ๋ณ๋ก ๋ฒ์๋ฅผ ์ง์ ํ๊ณ , CSS(`styled-components`), ํ์
, ๋ฌธ์(`storybook`),
|
|
89
|
+
์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด Intlayer๋ ์ฝํ
์ธ ๋ฅผ ์ปดํฌ๋ํธ๋ณ๋ก ๋ฒ์๋ฅผ ์ง์ ํ๊ณ , ์ฐ๋ฆฌ๊ฐ ์ข
์ข
CSS(`styled-components`), ํ์
, ๋ฌธ์(`storybook`), ๋๋ ์ ๋ ํ
์คํธ(`jest`)์์ ํ๋ฏ์ด ์ฝํ
์ธ ๋ฅผ ์ปดํฌ๋ํธ ๊ทผ์ฒ์ ์ ์งํ๋ ์ ๊ทผ ๋ฐฉ์์ ์ฑํํฉ๋๋ค.
|
|
87
90
|
|
|
88
91
|
```bash codeFormat="typescript"
|
|
89
92
|
.
|
|
90
93
|
โโโ components
|
|
91
94
|
โโโ MyComponent
|
|
92
|
-
โโโ index.content.
|
|
95
|
+
โโโ index.content.ts
|
|
93
96
|
โโโ index.test.tsx
|
|
94
97
|
โโโ index.stories.tsx
|
|
95
98
|
โโโ index.tsx
|
|
@@ -142,69 +145,91 @@ export const ComponentExample = () => {
|
|
|
142
145
|
};
|
|
143
146
|
```
|
|
144
147
|
|
|
145
|
-
์ด ์ ๊ทผ ๋ฐฉ์์
|
|
148
|
+
์ด ์ ๊ทผ ๋ฐฉ์์ ๋ค์๊ณผ ๊ฐ์ ์ด์ ์ ์ ๊ณตํฉ๋๋ค.
|
|
146
149
|
|
|
147
150
|
1. **๊ฐ๋ฐ ์๋ ํฅ์**
|
|
148
|
-
- `.content.{{ts|mjs|cjs|json}}`
|
|
149
|
-
- IDE
|
|
151
|
+
- VSCode ํ์ฅ ํ๋ก๊ทธ๋จ์ ์ฌ์ฉํ์ฌ `.content.{{ts|mjs|cjs|json}}` ํ์ผ์ ์์ฑํ ์ ์์ต๋๋ค.
|
|
152
|
+
- IDE์ ์๋ ์์ฑ AI ๋๊ตฌ(์: GitHub Copilot)๊ฐ ์ฝํ
์ธ ์ ์ธ์ ๋์ ๋ณต์ฌ/๋ถ์ฌ๋ฃ๊ธฐ๋ฅผ ์ค์ฌ์ค๋๋ค.
|
|
150
153
|
|
|
151
154
|
2. **์ฝ๋๋ฒ ์ด์ค ์ ๋ฆฌ**
|
|
152
155
|
- ๋ณต์ก์ฑ ๊ฐ์
|
|
153
|
-
-
|
|
156
|
+
- ์ ์ง ๊ด๋ฆฌ ์ฉ์ด์ฑ ํฅ์
|
|
154
157
|
|
|
155
|
-
3.
|
|
156
|
-
- ๋ค๋ฅธ ์ปดํฌ๋ํธ์ ์ฝํ
์ธ ์ ์ํฅ์
|
|
157
|
-
- ์ธ๋ถ
|
|
158
|
+
3. **์ปดํฌ๋ํธ ๋ฐ ๊ด๋ จ ์ฝํ
์ธ ๋ฅผ ๋ ์ฝ๊ฒ ๋ณต์ (์: ๋ก๊ทธ์ธ/๊ฐ์
์ปดํฌ๋ํธ ๋ฑ)**
|
|
159
|
+
- ๋ค๋ฅธ ์ปดํฌ๋ํธ์ ์ฝํ
์ธ ์ ์ํฅ์ ์ค ์ํ ์ ํ
|
|
160
|
+
- ์ธ๋ถ ์ข
์์ฑ ์์ด ํ ์ ํ๋ฆฌ์ผ์ด์
์์ ๋ค๋ฅธ ์ ํ๋ฆฌ์ผ์ด์
์ผ๋ก ์ฝํ
์ธ ๋ฅผ ๋ณต์ฌ/๋ถ์ฌ๋ฃ๊ธฐ
|
|
158
161
|
|
|
159
|
-
4.
|
|
162
|
+
4. **์ฌ์ฉ๋์ง ์๋ ์ปดํฌ๋ํธ์ ๋ํด ์ฌ์ฉ๋์ง ์๋ ํค/๊ฐ์ผ๋ก ์ฝ๋๋ฒ ์ด์ค๊ฐ ์ค์ผ๋๋ ๊ฒ์ ๋ฐฉ์ง**
|
|
160
163
|
- ์ปดํฌ๋ํธ๋ฅผ ์ฌ์ฉํ์ง ์์ผ๋ฉด Intlayer๋ ๊ด๋ จ ์ฝํ
์ธ ๋ฅผ ๊ฐ์ ธ์ค์ง ์์ต๋๋ค.
|
|
161
|
-
- ์ปดํฌ๋ํธ๋ฅผ ์ญ์ ํ๋ฉด
|
|
164
|
+
- ์ปดํฌ๋ํธ๋ฅผ ์ญ์ ํ๋ฉด ๊ฐ์ ํด๋์ ์์ผ๋ฏ๋ก ๊ด๋ จ ์ฝํ
์ธ ๋ฅผ ์ญ์ ํ๋ ๊ฒ์ ๋ ์ฝ๊ฒ ๊ธฐ์ตํ ์ ์์ต๋๋ค.
|
|
162
165
|
|
|
163
|
-
5. **AI ์์ด์ ํธ๊ฐ ๋ค๊ตญ์ด ์ฝํ
์ธ ๋ฅผ
|
|
164
|
-
- AI
|
|
165
|
-
- IDE
|
|
166
|
+
5. **AI ์์ด์ ํธ๊ฐ ๋ค๊ตญ์ด ์ฝํ
์ธ ๋ฅผ ์ ์ธํ๊ธฐ ์ํ ์ถ๋ก ๋น์ฉ ๊ฐ์**
|
|
167
|
+
- AI ์์ด์ ํธ๋ ์ฝํ
์ธ ๋ฅผ ๊ตฌํํ ์์น๋ฅผ ์๊ธฐ ์ํด ์ ์ฒด ์ฝ๋๋ฒ ์ด์ค๋ฅผ ์ค์บํ ํ์๊ฐ ์์ต๋๋ค.
|
|
168
|
+
- IDE์ ์๋ ์์ฑ AI ๋๊ตฌ(์: GitHub Copilot)๋ฅผ ํตํด ๋ฒ์ญ์ ์ฝ๊ฒ ์ํํ ์ ์์ต๋๋ค.
|
|
169
|
+
|
|
170
|
+
6. **๋ก๋ ์ฑ๋ฅ ์ต์ ํ**
|
|
171
|
+
- ์ปดํฌ๋ํธ๊ฐ ์ง์ฐ ๋ก๋(lazy-load)๋๋ ๊ฒฝ์ฐ ๊ด๋ จ ์ฝํ
์ธ ๋ ๋์์ ๋ก๋๋ฉ๋๋ค.
|
|
166
172
|
|
|
167
173
|
## Intlayer์ ์ถ๊ฐ ๊ธฐ๋ฅ
|
|
168
174
|
|
|
169
|
-
| ๊ธฐ๋ฅ | ์ค๋ช
|
|
170
|
-
| ------------------------------------------------------------------------------------------------------------------------- |
|
|
171
|
-
|  |
|
|
173
|
-
|
|
|
174
|
-
|  | **๊ต์ฐจ ํ๋ ์์ํฌ ์ง์**<br><br>Intlayer๋ Next.js, React, Vite, Vue.js, Nuxt, Preact, Express ๋ฑ์ ํฌํจํ ๋ชจ๋ ์ฃผ์ ํ๋ ์์ํฌ ๋ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ํธํ๋ฉ๋๋ค. |
|
|
178
|
+
|  | **JavaScript ๊ธฐ๋ฐ ์ฝํ
์ธ ๊ด๋ฆฌ**<br><br>JavaScript์ ์ ์ฐ์ฑ์ ํ์ฉํ์ฌ ์ฝํ
์ธ ๋ฅผ ํจ์จ์ ์ผ๋ก ์ ์ํ๊ณ ๊ด๋ฆฌํ์ธ์. <br><br> - [์ฝํ
์ธ ์ ์ธ](https://intlayer.org/doc/concept/content) |
|
|
179
|
+
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/compiler.jpg?raw=true" alt="๊ธฐ๋ฅ" width="700"> | **์ปดํ์ผ๋ฌ**<br><br>Intlayer ์ปดํ์ผ๋ฌ๋ ์ปดํฌ๋ํธ์์ ์ฝํ
์ธ ๋ฅผ ์๋์ผ๋ก ์ถ์ถํ๊ณ ์ฌ์ ํ์ผ์ ์์ฑํฉ๋๋ค.<br><br> - [์ปดํ์ผ๋ฌ](https://intlayer.org/doc/compiler) |
|
|
180
|
+
|  | **๋ก์ผ์ผ๋ณ ์ฝํ
์ธ ์ ์ธ ํ์ผ**<br><br>์๋ ์์ฑ ์ ์ฝํ
์ธ ๋ฅผ ํ ๋ฒ ์ ์ธํ์ฌ ๊ฐ๋ฐ ์๋๋ฅผ ๋์ด์ธ์.<br><br> - [๋ก์ผ์ผ๋ณ ์ฝํ
์ธ ์ ์ธ ํ์ผ](https://intlayer.org/doc/concept/per-locale-file) |
|
|
181
|
+
|  | **ํ์
์์ ํ๊ฒฝ**<br><br>TypeScript๋ฅผ ํ์ฉํ์ฌ ์ฝํ
์ธ ์ ์์ ์ฝ๋๊ฐ ์ค๋ฅ๊ฐ ์๋์ง ํ์ธํ๊ณ IDE ์๋ ์์ฑ์ ์ด์ ์ ๋๋ฆฌ์ธ์.<br><br> - [TypeScript ๊ตฌ์ฑ](https://intlayer.org/doc/environment/vite-and-react#configure-typescript) |
|
|
182
|
+
|  | **๊ฐ์ํ๋ ์ค์ **<br><br>์ต์ํ์ ๊ตฌ์ฑ์ผ๋ก ์ ์ํ๊ฒ ์์ํ๊ณ ์คํํ์ธ์. ๊ตญ์ ํ, ๋ผ์ฐํ
, AI, ๋น๋ ๋ฐ ์ฝํ
์ธ ์ฒ๋ฆฌ ์ค์ ์ ์ฝ๊ฒ ์กฐ์ ํ์ธ์. <br><br> - [Next.js ํตํฉ ์์๋ณด๊ธฐ](https://intlayer.org/doc/environment/nextjs) |
|
|
183
|
+
|  | **๊ฐ์ํ๋ ์ฝํ
์ธ ๊ฒ์**<br><br>๊ฐ ์ฝํ
์ธ ํญ๋ชฉ์ ๋ํด `t` ํจ์๋ฅผ ํธ์ถํ ํ์๊ฐ ์์ต๋๋ค. ๋จ์ผ ํํฌ๋ฅผ ์ฌ์ฉํ์ฌ ๋ชจ๋ ์ฝํ
์ธ ๋ฅผ ์ง์ ๊ฒ์ํ์ธ์.<br><br> - [React ํตํฉ](https://intlayer.org/doc/environment/create-react-app) |
|
|
184
|
+
|  | **์ผ๊ด๋ ์๋ฒ ์ปดํฌ๋ํธ ๊ตฌํ**<br><br>Next.js ์๋ฒ ์ปดํฌ๋ํธ์ ์๋ฒฝํ๊ฒ ์ ํฉํ๋ฉฐ, ํด๋ผ์ด์ธํธ ๋ฐ ์๋ฒ ์ปดํฌ๋ํธ ๋ชจ๋์ ๋์ผํ ๊ตฌํ์ ์ฌ์ฉํ๋ฏ๋ก ๊ฐ ์๋ฒ ์ปดํฌ๋ํธ์ `t` ํจ์๋ฅผ ์ ๋ฌํ ํ์๊ฐ ์์ต๋๋ค. <br><br> - [์๋ฒ ์ปดํฌ๋ํธ](https://intlayer.org/doc/environment/nextjs#step-7-utilize-content-in-your-code) |
|
|
185
|
+
|  | **์ ๋ฆฌ๋ ์ฝ๋๋ฒ ์ด์ค**<br><br>์ฝ๋๋ฒ ์ด์ค๋ฅผ ๋ ์ฒด๊ณ์ ์ผ๋ก ์ ์งํ์ธ์: 1 ์ปดํฌ๋ํธ = ๋์ผํ ํด๋ ๋ด 1 ์ฌ์ . ๊ฐ ์ปดํฌ๋ํธ์ ๊ฐ๊น์ด ๋ฒ์ญ์ ์ ์ง ๊ด๋ฆฌ์ฑ๊ณผ ๋ช
ํ์ฑ์ ํฅ์์ํต๋๋ค. <br><br> - [Intlayer ์๋ ๋ฐฉ์](https://intlayer.org/doc/concept/how-works-intlayer) |
|
|
186
|
+
|  | **ํฅ์๋ ๋ผ์ฐํ
**<br><br>์ฑ ๋ผ์ฐํ
์ ์๋ฒฝํ๊ฒ ์ง์ํ์ฌ Next.js, React, Vite, Vue.js ๋ฑ์ ๋ณต์กํ ์ ํ๋ฆฌ์ผ์ด์
๊ตฌ์กฐ์ ์ํํ๊ฒ ์ ์ํฉ๋๋ค.<br><br> - [Next.js ํตํฉ ์์๋ณด๊ธฐ](https://intlayer.org/doc/environment/nextjs) |
|
|
187
|
+
|  | **Markdown ์ง์**<br><br>๊ฐ์ธ์ ๋ณด ๋ณดํธ์ ์ฑ
, ๋ฌธ์ ๋ฑ๊ณผ ๊ฐ์ ๋ค๊ตญ์ด ์ฝํ
์ธ ๋ฅผ ์ํด ๋ก์ผ์ผ ํ์ผ ๋ฐ ์๊ฒฉ Markdown์ ๊ฐ์ ธ์ค๊ณ ํด์ํฉ๋๋ค. Markdown ๋ฉํ๋ฐ์ดํฐ๋ฅผ ํด์ํ๊ณ ์ฝ๋์์ ์ก์ธ์คํ ์ ์๋๋ก ํฉ๋๋ค.<br><br> - [์ฝํ
์ธ ํ์ผ](https://intlayer.org/doc/concept/content/file) |
|
|
188
|
+
|  | **๋ฌด๋ฃ ๋น์ฃผ์ผ ์๋ํฐ ๋ฐ CMS**<br><br>์ฝํ
์ธ ์์ฑ์๋ฅผ ์ํด ๋ฌด๋ฃ ๋น์ฃผ์ผ ์๋ํฐ์ CMS๊ฐ ์ ๊ณต๋๋ฏ๋ก ๋ก์ปฌ๋ผ์ด์ ์ด์
ํ๋ซํผ์ด ํ์ํ์ง ์์ต๋๋ค. Git์ ์ฌ์ฉํ์ฌ ์ฝํ
์ธ ๋ฅผ ๋๊ธฐํํ๊ฑฐ๋ CMS๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ฒด ๋๋ ์ผ๋ถ๋ฅผ ์ธ๋ถํํ์ธ์.<br><br> - [Intlayer ์๋ํฐ](https://intlayer.org/doc/concept/editor) <br> - [Intlayer CMS](https://intlayer.org/doc/concept/cms) |
|
|
189
|
+
|  | **Tree-shakable ์ฝํ
์ธ **<br><br>์ต์ข
๋ฒ๋ค ํฌ๊ธฐ๋ฅผ ์ค์ฌ์ฃผ๋ Tree-shakable ์ฝํ
์ธ ์
๋๋ค. ์ปดํฌ๋ํธ๋น ์ฝํ
์ธ ๋ฅผ ๋ก๋ํ์ฌ ๋ฒ๋ค์์ ์ฌ์ฉ๋์ง ์๋ ์ฝํ
์ธ ๋ฅผ ์ ์ธํฉ๋๋ค. ์ฑ ๋ก๋ฉ ํจ์จ์ฑ์ ๋์ด๊ธฐ ์ํด ์ง์ฐ ๋ก๋๋ฅผ ์ง์ํฉ๋๋ค. <br><br> - [์ฑ ๋น๋ ์ต์ ํ](https://intlayer.org/doc/concept/how-works-intlayer#app-build-optimization) |
|
|
190
|
+
|  | **์ ์ ๋ ๋๋ง**<br><br>์ ์ ๋ ๋๋ง์ ์ฐจ๋จํ์ง ์์ต๋๋ค. <br><br> - [Next.js ํตํฉ](https://intlayer.org/doc/environment/nextjs) |
|
|
191
|
+
|  | **AI ๊ธฐ๋ฐ ๋ฒ์ญ**<br><br>์์ฒด AI ์ ๊ณต์
์ฒด/API ํค๋ฅผ ์ฌ์ฉํ์ฌ Intlayer์ ๊ณ ๊ธ AI ๊ธฐ๋ฐ ๋ฒ์ญ ๋๊ตฌ๋ก ๋จ ํ ๋ฒ์ ํด๋ฆญ์ผ๋ก ์น์ฌ์ดํธ๋ฅผ 231๊ฐ ์ธ์ด๋ก ๋ณํํ์ธ์. <br><br> - [CI/CD ํตํฉ](https://intlayer.org/doc/concept/ci-cd) <br> - [Intlayer CLI](https://intlayer.org/doc/concept/cli) <br> - [์๋ ์ฑ์ฐ๊ธฐ](https://intlayer.org/doc/concept/auto-fill) |
|
|
192
|
+
|  | **MCP ์๋ฒ ํตํฉ**<br><br>IDE ์๋ํ๋ฅผ ์ํ MCP(Model Context Protocol) ์๋ฒ๋ฅผ ์ ๊ณตํ์ฌ ๊ฐ๋ฐ ํ๊ฒฝ ๋ด์์ ์ํํ ์ฝํ
์ธ ๊ด๋ฆฌ ๋ฐ i18n ์ํฌํ๋ก์ฐ๋ฅผ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค. <br><br> - [MCP ์๋ฒ](https://github.com/aymericzip/intlayer/blob/main/docs/ko/mcp_server.md) |
|
|
193
|
+
|  | **VSCode ํ์ฅ ํ๋ก๊ทธ๋จ**<br><br>Intlayer๋ ์ฝํ
์ธ ๋ฐ ๋ฒ์ญ ๊ด๋ฆฌ, ์ฌ์ ๊ตฌ์ถ, ์ฝํ
์ธ ๋ฒ์ญ ๋ฑ์ ๋๋ VSCode ํ์ฅ ํ๋ก๊ทธ๋จ์ ์ ๊ณตํฉ๋๋ค. <br><br> - [VSCode ํ์ฅ ํ๋ก๊ทธ๋จ](https://intlayer.org/doc/vs-code-extension) |
|
|
194
|
+
|  | **์ํธ ์ด์ฉ์ฑ**<br><br>react-i18next, next-i18next, next-intl ๋ฐ react-intl๊ณผ์ ์ํธ ์ด์ฉ์ฑ์ ์ง์ํฉ๋๋ค. <br><br> - [Intlayer ๋ฐ react-intl](https://intlayer.org/blog/intlayer-with-react-intl) <br> - [Intlayer ๋ฐ next-intl](https://intlayer.org/blog/intlayer-with-next-intl) <br> - [Intlayer ๋ฐ next-i18next](https://intlayer.org/blog/intlayer-with-next-i18next) |
|
|
195
|
+
| ๋๋ฝ๋ ๋ฒ์ญ ํ
์คํธ (CLI/CI) | โ
CLI: npx intlayer content test (CI ์นํ์ ๊ฐ์ฌ) |
|
|
188
196
|
|
|
189
197
|
## Intlayer์ ๋ค๋ฅธ ์๋ฃจ์
๋น๊ต
|
|
190
198
|
|
|
191
|
-
| ๊ธฐ๋ฅ
|
|
192
|
-
|
|
|
193
|
-
| **์ปดํฌ๋ํธ
|
|
194
|
-
| **TypeScript ํตํฉ**
|
|
195
|
-
| **๋๋ฝ๋ ๋ฒ์ญ ๊ฐ์ง**
|
|
196
|
-
|
|
|
197
|
-
| **AI ๊ธฐ๋ฐ ๋ฒ์ญ**
|
|
198
|
-
| **๋น์ฃผ์ผ ์๋ํฐ**
|
|
199
|
-
|
|
|
200
|
-
| **๋์
|
|
201
|
-
|
|
|
202
|
-
|
|
|
203
|
-
| **์ฝํ
์ธ ํ์**
|
|
204
|
-
| **ICU ์ง์**
|
|
205
|
-
| **SEO
|
|
206
|
-
| **์์ฝ์์คํ
/ ์ปค๋ฎค๋ํฐ**
|
|
207
|
-
| **์๋ฒ ์ฌ์ด๋ ๋ ๋๋ง ๋ฐ ์๋ฒ ์ปดํฌ๋ํธ**
|
|
208
|
-
|
|
|
209
|
-
| **์ง์ฐ ๋ก๋ฉ**
|
|
210
|
-
|
|
|
199
|
+
| ๊ธฐ๋ฅ | `intlayer` | `react-i18next` | `react-intl` (FormatJS) | `lingui` | `next-intl` | `next-i18next` | `vue-i18n` |
|
|
200
|
+
| ----------------------------------------- | ---------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | ---------------------------------------------------------------- |
|
|
201
|
+
| **์ปดํฌ๋ํธ ๊ทผ์ฒ์ ๋ฒ์ญ** | โ
์, ์ฝํ
์ธ ๊ฐ ๊ฐ ์ปดํฌ๋ํธ์ ๋์ผํ ์์น์ ์์ | โ ์๋์ | โ ์๋์ | โ ์๋์ | โ ์๋์ | โ ์๋์ | โ
์ - `Single File Components`(SFC) ์ฌ์ฉ ์ |
|
|
202
|
+
| **TypeScript ํตํฉ** | โ
๊ณ ๊ธ, ์๋ ์์ฑ๋ ์๊ฒฉํ ํ์
| โ ๏ธ ๊ธฐ๋ณธ; ์์ ์ ์ํด ์ถ๊ฐ ๊ตฌ์ฑ ํ์ | โ
์ข์, ํ์ง๋ง ๋ ์๊ฒฉํจ | โ ๏ธ ํ์ดํ, ๊ตฌ์ฑ ํ์ | โ
์ข์ | โ ๏ธ ๊ธฐ๋ณธ | โ
์ข์ (ํ์
์ฌ์ฉ ๊ฐ๋ฅ; ํค ์์ ์๋ ์ค์ ํ์) |
|
|
203
|
+
| **๋๋ฝ๋ ๋ฒ์ญ ๊ฐ์ง** | โ
TypeScript ์ค๋ฅ ๊ฐ์กฐ ํ์ ๋ฐ ๋น๋ ์ ์ค๋ฅ/๊ฒฝ๊ณ | โ ๏ธ ์ฃผ๋ก ๋ฐํ์ ์ ํด๋ฐฑ(fallback) ๋ฌธ์์ด | โ ๏ธ ํด๋ฐฑ ๋ฌธ์์ด | โ ๏ธ ์ถ๊ฐ ๊ตฌ์ฑ ํ์ | โ ๏ธ ๋ฐํ์ ํด๋ฐฑ | โ ๏ธ ๋ฐํ์ ํด๋ฐฑ | โ ๏ธ ๋ฐํ์ ํด๋ฐฑ/๊ฒฝ๊ณ (๊ตฌ์ฑ ๊ฐ๋ฅ) |
|
|
204
|
+
| **ํ๋ถํ ์ฝํ
์ธ (JSX/Markdown/์ปดํฌ๋ํธ)** | โ
์ง์ ์ง์ | โ ๏ธ ์ ํ์ / ๋ณด๊ฐ๋ง ๊ฐ๋ฅ | โ ๏ธ ICU ๊ตฌ๋ฌธ, ์ค์ JSX ์๋ | โ ๏ธ ์ ํ์ | โ ํ๋ถํ ๋
ธ๋์ฉ์ผ๋ก ์ค๊ณ๋์ง ์์ | โ ๏ธ ์ ํ์ | โ ๏ธ ์ ํ์ (`<i18n-t>`๋ฅผ ํตํ ์ปดํฌ๋ํธ, ํ๋ฌ๊ทธ์ธ์ ํตํ Markdown) |
|
|
205
|
+
| **AI ๊ธฐ๋ฐ ๋ฒ์ญ** | โ
์, ์ฌ๋ฌ AI ์ ๊ณต์
์ฒด ์ง์. ์์ฒด API ํค๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ์ฉ ๊ฐ๋ฅ. ์ ํ๋ฆฌ์ผ์ด์
์ ๋ฌธ๋งฅ๊ณผ ์ฝํ
์ธ ๋ฒ์๋ฅผ ๊ณ ๋ คํจ | โ ์๋์ | โ ์๋์ | โ ์๋์ | โ ์๋์ | โ ์๋์ | โ ์๋์ |
|
|
206
|
+
| **๋น์ฃผ์ผ ์๋ํฐ** | โ
์, ๋ก์ปฌ ๋น์ฃผ์ผ ์๋ํฐ + ์ ํ์ CMS; ์ฝ๋๋ฒ ์ด์ค ์ฝํ
์ธ ์ธ๋ถํ ๊ฐ๋ฅ; ์๋ฒ ๋ ๊ฐ๋ฅ | โ ์๋์ / ์ธ๋ถ ๋ก์ปฌ๋ผ์ด์ ์ด์
ํ๋ซํผ์ ํตํด ์ฌ์ฉ ๊ฐ๋ฅ | โ ์๋์ / ์ธ๋ถ ๋ก์ปฌ๋ผ์ด์ ์ด์
ํ๋ซํผ์ ํตํด ์ฌ์ฉ ๊ฐ๋ฅ | โ ์๋์ / ์ธ๋ถ ๋ก์ปฌ๋ผ์ด์ ์ด์
ํ๋ซํผ์ ํตํด ์ฌ์ฉ ๊ฐ๋ฅ | โ ์๋์ / ์ธ๋ถ ๋ก์ปฌ๋ผ์ด์ ์ด์
ํ๋ซํผ์ ํตํด ์ฌ์ฉ ๊ฐ๋ฅ | โ ์๋์ / ์ธ๋ถ ๋ก์ปฌ๋ผ์ด์ ์ด์
ํ๋ซํผ์ ํตํด ์ฌ์ฉ ๊ฐ๋ฅ | โ ์๋์ / ์ธ๋ถ ๋ก์ปฌ๋ผ์ด์ ์ด์
ํ๋ซํผ์ ํตํด ์ฌ์ฉ ๊ฐ๋ฅ |
|
|
207
|
+
| **๋ก์ปฌ๋ผ์ด์ฆ๋ ๋ผ์ฐํ
** | โ
์, ๊ธฐ๋ณธ์ ์ผ๋ก ๋ก์ปฌ๋ผ์ด์ฆ๋ ๊ฒฝ๋ก ์ง์ (Next.js ๋ฐ Vite์ ์๋) | โ ๏ธ ๋ด์ฅ ๊ธฐ๋ฅ ์์, ํ๋ฌ๊ทธ์ธ(์: `next-i18next`) ๋๋ ์ปค์คํ
๋ผ์ฐํฐ ๊ตฌ์ฑ ํ์ | โ ์๋์, ๋ฉ์์ง ํฌ๋งทํ
๋ง ์ ๊ณต, ๋ผ์ฐํ
์ ์๋์ด์ด์ผ ํจ | โ ๏ธ ๋ด์ฅ ๊ธฐ๋ฅ ์์, ํ๋ฌ๊ทธ์ธ ๋๋ ์๋ ๊ตฌ์ฑ ํ์ | โ
๋ด์ฅ, App Router๋ `[locale]` ์ธ๊ทธ๋จผํธ ์ง์ | โ
๋ด์ฅ | โ
๋ด์ฅ |
|
|
208
|
+
| **๋์ ๊ฒฝ๋ก ์์ฑ** | โ
์ | โ ๏ธ ํ๋ฌ๊ทธ์ธ/์์ฝ์์คํ
๋๋ ์๋ ์ค์ | โ ์ ๊ณต๋์ง ์์ | โ ๏ธ ํ๋ฌ๊ทธ์ธ/์๋ | โ
์ | โ
์ | โ ์ ๊ณต๋์ง ์์ (Nuxt i18n์์ ์ ๊ณต) |
|
|
209
|
+
| **๋ณต์ํํ** | โ
์ด๊ฑฐํ ๊ธฐ๋ฐ ํจํด | โ
๊ตฌ์ฑ ๊ฐ๋ฅ (i18next-icu์ ๊ฐ์ ํ๋ฌ๊ทธ์ธ) | โ
(ICU) | โ
(ICU/messageformat) | โ
์ข์ | โ
์ข์ | โ
๋ด์ฅ ๋ณต์ํ ๊ท์น |
|
|
210
|
+
| **ํฌ๋งทํ
(๋ ์ง, ์ซ์, ํตํ)** | โ
์ต์ ํ๋ ํฌ๋งทํฐ (๋ด๋ถ์ ์ผ๋ก Intl ์ฌ์ฉ) | โ ๏ธ ํ๋ฌ๊ทธ์ธ ๋๋ ์ปค์คํ
Intl ์ฌ์ฉ์ ํตํด | โ
ICU ํฌ๋งทํฐ | โ
ICU/CLI ํฌํผ | โ
์ข์ (Intl ํฌํผ) | โ
์ข์ (Intl ํฌํผ) | โ
๋ด์ฅ ๋ ์ง/์ซ์ ํฌ๋งทํฐ (Intl) |
|
|
211
|
+
| **์ฝํ
์ธ ํ์** | โ
.tsx, .ts, .js, .json, .md, .txt, (.yaml ์์
์ค) | โ ๏ธ .json | โ
.json, .js | โ ๏ธ .po, .json | โ
.json, .js, .ts | โ ๏ธ .json | โ
.json, .js |
|
|
212
|
+
| **ICU ์ง์** | โ ๏ธ ์์
์ค | โ ๏ธ ํ๋ฌ๊ทธ์ธ(i18next-icu)์ ํตํด | โ
์ | โ
์ | โ
์ | โ ๏ธ ํ๋ฌ๊ทธ์ธ(`i18next-icu`)์ ํตํด | โ ๏ธ ์ปค์คํ
ํฌ๋งทํฐ/์ปดํ์ผ๋ฌ๋ฅผ ํตํด |
|
|
213
|
+
| **SEO ํฌํผ (hreflang, sitemap)** | โ
๋ด์ฅ ๋๊ตฌ: sitemap, robots.txt, ๋ฉํ๋ฐ์ดํฐ์ฉ ํฌํผ | โ ๏ธ ์ปค๋ฎค๋ํฐ ํ๋ฌ๊ทธ์ธ/์๋ | โ ํต์ฌ ๊ธฐ๋ฅ ์๋ | โ ํต์ฌ ๊ธฐ๋ฅ ์๋ | โ
์ข์ | โ
์ข์ | โ ํต์ฌ ๊ธฐ๋ฅ ์๋ (Nuxt i18n์์ ํฌํผ ์ ๊ณต) |
|
|
214
|
+
| **์์ฝ์์คํ
/ ์ปค๋ฎค๋ํฐ** | โ ๏ธ ๊ท๋ชจ๋ ์์ง๋ง ๋น ๋ฅด๊ฒ ์ฑ์ฅ ์ค์ด๋ฉฐ ๋ฐ์์ด ๋น ๋ฆ | โ
๊ฐ์ฅ ํฌ๊ณ ์ฑ์ํจ | โ
ํผ | โ ๏ธ ์์ | โ
์ค๊ฐ ๊ท๋ชจ, Next.js ์ค์ฌ | โ
์ค๊ฐ ๊ท๋ชจ, Next.js ์ค์ฌ | โ
Vue ์์ฝ์์คํ
์์ ํผ |
|
|
215
|
+
| **์๋ฒ ์ฌ์ด๋ ๋ ๋๋ง ๋ฐ ์๋ฒ ์ปดํฌ๋ํธ** | โ
์, SSR / React ์๋ฒ ์ปดํฌ๋ํธ์ ์ต์ ํ๋จ | โ ๏ธ ํ์ด์ง ๋ ๋ฒจ์์ ์ง์๋์ง๋ง ํ์ ์๋ฒ ์ปดํฌ๋ํธ์ ์ปดํฌ๋ํธ ํธ๋ฆฌ์ t-ํจ์๋ฅผ ์ ๋ฌํด์ผ ํจ | โ ๏ธ ์ถ๊ฐ ์ค์ ์ผ๋ก ํ์ด์ง ๋ ๋ฒจ์์ ์ง์๋์ง๋ง ํ์ ์๋ฒ ์ปดํฌ๋ํธ์ ์ปดํฌ๋ํธ ํธ๋ฆฌ์ t-ํจ์๋ฅผ ์ ๋ฌํด์ผ ํจ | โ
์ง์, ์ค์ ํ์ | โ ๏ธ ํ์ด์ง ๋ ๋ฒจ์์ ์ง์๋์ง๋ง ํ์ ์๋ฒ ์ปดํฌ๋ํธ์ ์ปดํฌ๋ํธ ํธ๋ฆฌ์ t-ํจ์๋ฅผ ์ ๋ฌํด์ผ ํจ | โ ๏ธ ํ์ด์ง ๋ ๋ฒจ์์ ์ง์๋์ง๋ง ํ์ ์๋ฒ ์ปดํฌ๋ํธ์ ์ปดํฌ๋ํธ ํธ๋ฆฌ์ t-ํจ์๋ฅผ ์ ๋ฌํด์ผ ํจ | โ
Nuxt/Vue SSR์ ํตํ SSR (RSC ์์) |
|
|
216
|
+
| **Tree-shaking (์ฌ์ฉ๋ ์ฝํ
์ธ ๋ง ๋ก๋)** | โ
์, Babel/SWC ํ๋ฌ๊ทธ์ธ์ ํตํด ๋น๋ ์ ์ปดํฌ๋ํธ๋ณ๋ก ์ํ | โ ๏ธ ์ผ๋ฐ์ ์ผ๋ก ๋ชจ๋ ๋ก๋ (๋ค์์คํ์ด์ค/์ฝ๋ ๋ถํ ๋ก ๊ฐ์ ๊ฐ๋ฅ) | โ ๏ธ ์ผ๋ฐ์ ์ผ๋ก ๋ชจ๋ ๋ก๋ | โ ๊ธฐ๋ณธ ์๋ | โ ๏ธ ๋ถ๋ถ์ | โ ๏ธ ๋ถ๋ถ์ | โ ๏ธ ๋ถ๋ถ์ (์ฝ๋ ๋ถํ /์๋ ์ค์ ์ฌ์ฉ ์) |
|
|
217
|
+
| **์ง์ฐ ๋ก๋ฉ** | โ
์, ๋ก์ผ์ผ๋ณ / ์ฌ์ ๋ณ | โ
์ (์: ์จ๋๋งจ๋ ๋ฐฑ์๋/๋ค์์คํ์ด์ค) | โ
์ (๋ก์ผ์ผ ๋ฒ๋ค ๋ถํ ) | โ
์ (๋์ ์นดํ๋ก๊ทธ ๊ฐ์ ธ์ค๊ธฐ) | โ
์ (๊ฒฝ๋ก๋ณ/๋ก์ผ์ผ๋ณ), ๋ค์์คํ์ด์ค ๊ด๋ฆฌ ํ์ | โ
์ (๊ฒฝ๋ก๋ณ/๋ก์ผ์ผ๋ณ), ๋ค์์คํ์ด์ค ๊ด๋ฆฌ ํ์ | โ
์ (๋น๋๊ธฐ ๋ก์ผ์ผ ๋ฉ์์ง) |
|
|
218
|
+
| **์ฌ์ฉ๋์ง ์๋ ์ฝํ
์ธ ์ญ์ ** | โ
์, ๋น๋ ์ ์ฌ์ ๋ณ๋ก ์ํ | โ ์๋์, ์๋ ๋ค์์คํ์ด์ค ๋ถํ ์ ํตํด์๋ง ๊ฐ๋ฅ | โ ์๋์, ์ ์ธ๋ ๋ชจ๋ ๋ฉ์์ง๊ฐ ๋ฒ๋ค๋ง๋จ | โ
์, ์ฌ์ฉ๋์ง ์๋ ํค๊ฐ ๊ฐ์ง๋์ด ๋น๋ ์ ์ญ์ ๋จ | โ ์๋์, ๋ค์์คํ์ด์ค ๊ด๋ฆฌ๋ฅผ ํตํด ์๋์ผ๋ก ๊ด๋ฆฌ ๊ฐ๋ฅ | โ ์๋์, ๋ค์์คํ์ด์ค ๊ด๋ฆฌ๋ฅผ ํตํด ์๋์ผ๋ก ๊ด๋ฆฌ ๊ฐ๋ฅ | โ ์๋์, ์๋ ์ง์ฐ ๋ก๋ฉ์ ํตํด์๋ง ๊ฐ๋ฅ |
|
|
219
|
+
| **๋๊ท๋ชจ ํ๋ก์ ํธ ๊ด๋ฆฌ** | โ
๋ชจ๋ํ๋ฅผ ์ฅ๋ คํ๋ฉฐ ๋์์ธ ์์คํ
์ ์ ํฉํจ | โ ๏ธ ์ํธํ ํ์ผ ๊ท์จ ํ์ | โ ๏ธ ์ค์ ์นดํ๋ก๊ทธ๊ฐ ์ปค์ง ์ ์์ | โ ๏ธ ๋ณต์กํด์ง ์ ์์ | โ
๊ตฌ์ฑ์ ํตํ ๋ชจ๋ํ | โ
๊ตฌ์ฑ์ ํตํ ๋ชจ๋ํ | โ
Vue Router/Nuxt i18n ๊ตฌ์ฑ์ ํตํ ๋ชจ๋ํ |
|
|
220
|
+
|
|
221
|
+
---
|
|
222
|
+
|
|
223
|
+
## GitHub ์คํ
|
|
224
|
+
|
|
225
|
+
GitHub ์คํ๋ ํ๋ก์ ํธ์ ์ธ๊ธฐ, ์ปค๋ฎค๋ํฐ ์ ๋ขฐ ๋ฐ ์ฅ๊ธฐ์ ์ธ ๊ด๋ จ์ฑ์ ๋ํ๋ด๋ ๊ฐ๋ ฅํ ์งํ์
๋๋ค. ๊ธฐ์ ์ ํ์ง์ ์ง์ ์ ์ผ๋ก ์ธก์ ํ๋ ๊ฒ์ ์๋์ง๋ง, ์ผ๋ง๋ ๋ง์ ๊ฐ๋ฐ์๊ฐ ํ๋ก์ ํธ๊ฐ ์ ์ฉํ๋ค๊ณ ์๊ฐํ๊ณ ์งํ ์ํฉ์ ํ๋ก์ฐํ๋ฉฐ ์ฑํํ ๊ฐ๋ฅ์ฑ์ด ์๋์ง๋ฅผ ๋ฐ์ํฉ๋๋ค. ํ๋ก์ ํธ์ ๊ฐ์น๋ฅผ ํ๊ฐํ ๋ ์คํ๋ ๋์ ๊ฐ์ ๊ฒฌ์ธ๋ ฅ์ ๋น๊ตํ๋ ๋ฐ ๋์์ด ๋๋ฉฐ ์ํ๊ณ ์ฑ์ฅ์ ๋ํ ํต์ฐฐ๋ ฅ์ ์ ๊ณตํฉ๋๋ค.
|
|
226
|
+
|
|
227
|
+
[](https://www.star-history.com/#formatjs/formatjs&i18next/react-i18next&i18next/i18next&i18next/next-i18next&lingui/js-lingui&amannn/next-intl&intlify/vue-i18n&opral/paraglide-js&aymericzip/intlayer)
|
|
228
|
+
|
|
229
|
+
---
|
|
230
|
+
|
|
231
|
+
## ์ํธ ์ด์ฉ์ฑ
|
|
232
|
+
|
|
233
|
+
`intlayer`๋ `react-intl`, `react-i18next`, `next-intl`, `next-i18next` ๋ฐ `vue-i18n` ๋ค์์คํ์ด์ค ๊ด๋ฆฌ๋ฅผ ๋์ธ ์ ์์ต๋๋ค.
|
|
234
|
+
|
|
235
|
+
`intlayer`๋ฅผ ์ฌ์ฉํ๋ฉด ์ ํธํ๋ i18n ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํ์์ผ๋ก ์ฝํ
์ธ ๋ฅผ ์ ์ธํ ์ ์์ผ๋ฉฐ, intlayer๋ ์ ํํ ์์น(์: `/messages/{{locale}}/{{namespace}}.json`)์ ๋ค์์คํ์ด์ค๋ฅผ ์์ฑํฉ๋๋ค.
|