@intlayer/docs 6.0.1 → 6.0.2
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/dist/cjs/blog.cjs.map +1 -1
- package/dist/cjs/common.cjs +6 -5
- package/dist/cjs/common.cjs.map +1 -1
- package/dist/cjs/generated/blog.entry.cjs +318 -1863
- package/dist/cjs/generated/blog.entry.cjs.map +1 -1
- package/dist/cjs/generated/docs.entry.cjs +1317 -6282
- package/dist/cjs/generated/docs.entry.cjs.map +1 -1
- package/dist/cjs/generated/frequentQuestions.entry.cjs +197 -1182
- package/dist/cjs/generated/frequentQuestions.entry.cjs.map +1 -1
- package/dist/cjs/generated/legal.entry.cjs +43 -84
- package/dist/cjs/generated/legal.entry.cjs.map +1 -1
- package/dist/esm/blog.mjs.map +1 -1
- package/dist/esm/common.mjs +2 -5
- package/dist/esm/common.mjs.map +1 -1
- package/dist/esm/generated/blog.entry.mjs +318 -1863
- package/dist/esm/generated/blog.entry.mjs.map +1 -1
- package/dist/esm/generated/docs.entry.mjs +1317 -6282
- package/dist/esm/generated/docs.entry.mjs.map +1 -1
- package/dist/esm/generated/frequentQuestions.entry.mjs +197 -1182
- package/dist/esm/generated/frequentQuestions.entry.mjs.map +1 -1
- package/dist/esm/generated/legal.entry.mjs +43 -84
- package/dist/esm/generated/legal.entry.mjs.map +1 -1
- package/dist/types/blog.d.ts +1 -1
- package/dist/types/blog.d.ts.map +1 -1
- package/dist/types/common.d.ts +1 -1
- package/dist/types/common.d.ts.map +1 -1
- package/dist/types/generated/blog.entry.d.ts +1 -1
- package/dist/types/generated/blog.entry.d.ts.map +1 -1
- package/dist/types/generated/docs.entry.d.ts +2 -1
- package/dist/types/generated/docs.entry.d.ts.map +1 -1
- package/dist/types/generated/frequentQuestions.entry.d.ts +1 -1
- package/dist/types/generated/frequentQuestions.entry.d.ts.map +1 -1
- package/dist/types/generated/legal.entry.d.ts +1 -1
- package/dist/types/generated/legal.entry.d.ts.map +1 -1
- package/docs/ar/intlayer_CMS.md +261 -85
- package/docs/ar/releases/v6.md +273 -0
- package/docs/ar/roadmap.md +1 -3
- package/docs/ar/vs_code_extension.md +94 -63
- package/docs/de/intlayer_CMS.md +247 -65
- package/docs/de/releases/v6.md +298 -0
- package/docs/de/roadmap.md +1 -3
- package/docs/de/vs_code_extension.md +89 -58
- package/docs/en/configuration.md +9 -2
- package/docs/en/intlayer_CMS.md +205 -23
- package/docs/en/intlayer_cli.md +4 -4
- package/docs/en/intlayer_visual_editor.md +7 -6
- package/docs/en/intlayer_with_nextjs_14.md +17 -1
- package/docs/en/intlayer_with_nextjs_15.md +17 -1
- package/docs/en/releases/v6.md +268 -0
- package/docs/en/roadmap.md +1 -3
- package/docs/en/vs_code_extension.md +79 -49
- package/docs/en-GB/intlayer_CMS.md +216 -52
- package/docs/en-GB/releases/v6.md +297 -0
- package/docs/en-GB/roadmap.md +1 -3
- package/docs/en-GB/vs_code_extension.md +79 -48
- package/docs/es/intlayer_CMS.md +257 -84
- package/docs/es/releases/v6.md +274 -0
- package/docs/es/roadmap.md +1 -3
- package/docs/es/vs_code_extension.md +90 -60
- package/docs/fr/intlayer_CMS.md +250 -68
- package/docs/fr/releases/v6.md +274 -0
- package/docs/fr/roadmap.md +1 -3
- package/docs/fr/vs_code_extension.md +94 -63
- package/docs/hi/intlayer_CMS.md +253 -77
- package/docs/hi/releases/v6.md +273 -0
- package/docs/hi/roadmap.md +1 -3
- package/docs/hi/vs_code_extension.md +92 -61
- package/docs/it/intlayer_CMS.md +251 -73
- package/docs/it/releases/v6.md +273 -0
- package/docs/it/roadmap.md +1 -3
- package/docs/it/vs_code_extension.md +94 -63
- package/docs/ja/intlayer_CMS.md +282 -97
- package/docs/ja/releases/v6.md +273 -0
- package/docs/ja/roadmap.md +1 -3
- package/docs/ja/vs_code_extension.md +99 -68
- package/docs/ko/intlayer_CMS.md +267 -93
- package/docs/ko/releases/v6.md +273 -0
- package/docs/ko/roadmap.md +1 -3
- package/docs/ko/vs_code_extension.md +88 -57
- package/docs/pt/intlayer_CMS.md +261 -83
- package/docs/pt/releases/v6.md +273 -0
- package/docs/pt/roadmap.md +1 -3
- package/docs/pt/vs_code_extension.md +89 -58
- package/docs/ru/intlayer_CMS.md +240 -65
- package/docs/ru/releases/v6.md +274 -0
- package/docs/ru/roadmap.md +1 -1
- package/docs/ru/vs_code_extension.md +83 -52
- package/docs/tr/intlayer_CMS.md +278 -96
- package/docs/tr/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/tr/intlayer_with_tanstack.md +3 -0
- package/docs/tr/releases/v6.md +273 -0
- package/docs/tr/roadmap.md +1 -1
- package/docs/tr/vs_code_extension.md +100 -71
- package/docs/zh/intlayer_CMS.md +257 -76
- package/docs/zh/releases/v6.md +273 -0
- package/docs/zh/roadmap.md +1 -3
- package/docs/zh/vs_code_extension.md +99 -68
- package/package.json +11 -10
- package/src/blog.ts +1 -1
- package/src/common.ts +2 -6
- package/src/generated/blog.entry.ts +323 -1864
- package/src/generated/docs.entry.ts +1317 -6278
- package/src/generated/frequentQuestions.entry.ts +202 -1183
- package/src/generated/legal.entry.ts +48 -85
|
@@ -0,0 +1,273 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2025-09-22
|
|
3
|
+
updatedAt: 2025-09-22
|
|
4
|
+
title: New Intlayer v6 - 새로운 기능은 무엇인가요?
|
|
5
|
+
description: Intlayer v6의 새로운 기능을 알아보세요. 성능, 개발자 경험, 그리고 국제화 워크플로우를 향상시키는 주요 기능들이 포함되어 있습니다.
|
|
6
|
+
keywords:
|
|
7
|
+
- Intlayer
|
|
8
|
+
- 현지화
|
|
9
|
+
- 개발
|
|
10
|
+
- 성능
|
|
11
|
+
- 개발자 경험
|
|
12
|
+
- 기능
|
|
13
|
+
- React
|
|
14
|
+
- Next.js
|
|
15
|
+
- JavaScript
|
|
16
|
+
- TypeScript
|
|
17
|
+
slugs:
|
|
18
|
+
- doc
|
|
19
|
+
- releases
|
|
20
|
+
- v6
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
# New Intlayer v6 - 새로운 기능은 무엇인가요?
|
|
24
|
+
|
|
25
|
+
Intlayer v6에 오신 것을 환영합니다! 이번 릴리스는 성능, 개발자 경험, 그리고 안정성에 중점을 두고 있습니다. 아래는 주요 내용과 마이그레이션 노트, 복사하여 붙여넣을 수 있는 예제들입니다.
|
|
26
|
+
|
|
27
|
+
## 주요 내용
|
|
28
|
+
|
|
29
|
+
- 누락된 번역을 감지하는 새로운 명령어: `npx intlayer content test`
|
|
30
|
+
- 누락된 번역을 자동 생성하는 새로운 전역 `autoFill` 옵션
|
|
31
|
+
- Fill 명령어는 기본적으로 기존 번역을 건너뜁니다: `npx intlayer fill`
|
|
32
|
+
- VS Code 확장: 새로운 Intlayer 활동 표시줄(검색 및 사전), 툴바/컨텍스트 액션, 자동 표시, Fill/Test 명령어
|
|
33
|
+
- 프로미스 병렬 처리로 10배 빠른 빌드 속도
|
|
34
|
+
- 앱 시작 시 재요청을 방지하는 원격 사전 캐싱
|
|
35
|
+
- 향상된 로깅: 동작을 검사하려면 `log.mode: 'verbose'` 설정
|
|
36
|
+
- 사전 문제로 인한 앱 충돌 방지를 위한 강화된 검증
|
|
37
|
+
- `build.importMode = 'live'` 및 `pnpm intlayer live`를 사용한 CMS 실시간 업데이트
|
|
38
|
+
- 수정 사항: Vue.js 통합, Lynx 어댑터, Windows용 비주얼 에디터
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## 새로운 기능: 누락된 번역 테스트
|
|
43
|
+
|
|
44
|
+
프로젝트를 빠르게 감사하여 누락된 키/로케일을 찾습니다.
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
npx intlayer content test
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
출력:
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
pnpm intlayer content test
|
|
54
|
+
누락된 번역:
|
|
55
|
+
- blog-data - 일본어 (ja), 한국어 (ko), 중국어 (zh), 독일어 (de), 이탈리아어 (it) - src/components/BlogPage/blogData.content.ts
|
|
56
|
+
- demo-page - 프랑스어 (fr), 이탈리아어 (it) - src/components/DemoPage/demo.content.ts
|
|
57
|
+
- locale-switcher - 이탈리아어 (it), 포르투갈어 (pt) - src/components/LocaleSwitcher/localeSwitcher.content.ts
|
|
58
|
+
로케일: 영어 (en), 러시아어 (ru), 일본어 (ja), 프랑스어 (fr), 한국어 (ko), 중국어 (zh), 스페인어 (es), 독일어 (de), 아랍어 (ar), 이탈리아어 (it), 영국 영어 (en-GB), 포르투갈어 (pt), 힌디어 (hi)
|
|
59
|
+
필수 로케일: 영어 (en)
|
|
60
|
+
누락된 로케일: 일본어 (ja), 한국어 (ko), 중국어 (zh), 독일어 (de), 이탈리아어 (it), 프랑스어 (fr), 포르투갈어 (pt)
|
|
61
|
+
필수 누락 로케일: -
|
|
62
|
+
총 누락 로케일 수: 7
|
|
63
|
+
총 필수 누락 로케일 수: 0
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
CLI 문서에서 더 많은 옵션을 확인하세요: [CLI 참조](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/intlayer_cli.md) → "누락된 번역 테스트". 또한 [테스팅](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/testing.md) 가이드를 참고하세요.
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## 새 기능: 누락된 번역을 완성하는 글로벌 autoFill
|
|
71
|
+
|
|
72
|
+
이제 전역적으로 auto-fill을 활성화하여 누락된 번역이 있는 모든 사전을 자동으로 완성할 수 있습니다.
|
|
73
|
+
|
|
74
|
+
```ts fileName="intlayer.config.ts"
|
|
75
|
+
import { type IntlayerConfig, Locales } from "intlayer";
|
|
76
|
+
|
|
77
|
+
const config: IntlayerConfig = {
|
|
78
|
+
internationalization: {
|
|
79
|
+
locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
|
|
80
|
+
defaultLocale: Locales.ENGLISH,
|
|
81
|
+
requiredLocales: [Locales.ENGLISH, Locales.FRENCH],
|
|
82
|
+
},
|
|
83
|
+
content: {
|
|
84
|
+
// 모든 사전의 누락된 번역을 자동 생성합니다
|
|
85
|
+
autoFill: "./{{fileName}}.content.ts",
|
|
86
|
+
//
|
|
87
|
+
// autoFill: "/messages/{{locale}}/{{key}}/{{fileName}}.content.json",
|
|
88
|
+
//
|
|
89
|
+
// autoFill: true, // "./{{fileName}}.content.json"을 사용하는 것처럼 모든 사전에 대해 누락된 번역을 자동 생성합니다
|
|
90
|
+
//
|
|
91
|
+
// autoFill: {
|
|
92
|
+
// en: "./{{fileName}}.en.content.json",
|
|
93
|
+
// fr: "./{{fileName}}.fr.content.json",
|
|
94
|
+
// es: "./{{fileName}}.es.content.json",
|
|
95
|
+
// },
|
|
96
|
+
},
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
export default config;
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
콘텐츠 파일 내 `autoFill` 필드를 사용하여 사전별로 세부 조정을 계속할 수 있습니다. 전체 참조는 `doc/autoFill` 및 `doc/dictionary/content_file`에서 확인하세요.
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## fill 명령어: 더 안전한 기본값
|
|
107
|
+
|
|
108
|
+
fill 명령어는 이제 기본적으로 누락된 번역만 채우고 기존 콘텐츠는 건너뜁니다.
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
npx intlayer fill
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
```bash
|
|
115
|
+
처리할 사전 키: access-key-creation-form-schema, doc-search-metadata, doc-search-page
|
|
116
|
+
- [access-key-creation-form-schema] 사전에 파일 경로가 없습니다. 건너뜁니다.
|
|
117
|
+
- [access-key-creation-form-schema] 콘텐츠 선언 처리 중: src/components/Dashboard/ProjectForm/AccessKey/useAccessKeyCreationFormSchema.content.ts
|
|
118
|
+
- [access-key-creation-form-schema] 채울 로케일이 없습니다 - 사전 건너뜁니다
|
|
119
|
+
- [doc-search-metadata] 사전 파일 경로가 없습니다. 건너뜁니다.
|
|
120
|
+
- [doc-search-metadata] 콘텐츠 선언 처리 중: src/app/[locale]/(docs)/doc/search/metadata.content.ts
|
|
121
|
+
- [doc-search-metadata] 채울 로케일이 없습니다 - 사전 건너뜁니다.
|
|
122
|
+
- [doc-search-page] 사전 파일 경로가 없습니다. 건너뜁니다.
|
|
123
|
+
- [doc-search-page] 콘텐츠 선언 처리 중: src/app/[locale]/(docs)/doc/search/page.content.ts
|
|
124
|
+
- [doc-search-page] [러시아어 (ru)] 영어(en)에서 러시아어(ru)로 사전 번역 준비 중
|
|
125
|
+
[intlayer] src/app/[locale]/(docs)/doc/search/page.content.ts에 Prettier 포맷팅 적용 완료
|
|
126
|
+
- [doc-search-page] Content declaration written to src/app/[locale]/(docs)/doc/search/page.content.ts
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
CI 예제는 [CI/CD](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/CI_CD.md)에서 확인할 수 있습니다.
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
## 업데이트된 VS Code 확장 기능
|
|
134
|
+
|
|
135
|
+
이 확장 기능은 이제 Activity Bar에 전용 Intlayer 탭을 포함하며 여러 워크플로우 개선 사항이 적용되었습니다:
|
|
136
|
+
|
|
137
|
+
- 두 가지 뷰가 있는 Intlayer Activity Bar:
|
|
138
|
+
- 라이브 사전/콘텐츠 검색을 위한 검색 웹뷰 (`intlayer.searchBar`)
|
|
139
|
+
- 환경, 사전, 기여 파일을 나열하는 사전 트리 (`intlayer.dictionaries`)
|
|
140
|
+
- 사전 뷰의 툴바: 빌드, 풀, 푸시, 채우기, 새로 고침, 테스트, 사전 파일 생성
|
|
141
|
+
- 컨텍스트 메뉴: 사전에서 풀/푸시; 파일에서 채우기
|
|
142
|
+
- 자동 표시: 현재 편집기 파일이 해당되는 경우 사전 트리에서 강조 표시됩니다.
|
|
143
|
+
- 명령 팔레트에서 사용할 수 있는 새로운 명령: 사전 채우기(Fill Dictionaries) 및 사전 테스트(Test Dictionaries)
|
|
144
|
+
|
|
145
|
+
자세한 내용은 [공식 VS Code 확장](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/vs_code_extension.md) 문서를 참조하세요.
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
## 성능: 10배 빠름
|
|
150
|
+
|
|
151
|
+
- 로컬 및 원격 사전의 병렬 해석
|
|
152
|
+
- 원격 사전은 앱 시작 시 재요청을 방지하기 위해 캐시됨
|
|
153
|
+
|
|
154
|
+
```bash
|
|
155
|
+
npx intlayer build
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
출력:
|
|
159
|
+
|
|
160
|
+
```bash
|
|
161
|
+
[intlayer] Intlayer 준비 중 (v6.0.1)
|
|
162
|
+
[intlayer] 사전:
|
|
163
|
+
[intlayer] ✓ 로컬 콘텐츠: 163/163
|
|
164
|
+
[intlayer] ✓ 원격 콘텐츠: 100/100
|
|
165
|
+
[intlayer] - access-key-creation-form [local: ✔ 빌드됨] [distant: ✔ 가져옴]
|
|
166
|
+
[intlayer] - access-key-creation-form-schema [local: ✔ 빌드됨] [distant: ✔ 가져옴]
|
|
167
|
+
[intlayer] - access-key-form [local: ✔ 빌드됨] [distant: ✔ 가져옴]
|
|
168
|
+
[intlayer] - ai-ab-testing-section [distant: ✔ 가져옴]
|
|
169
|
+
[intlayer] - application-not-running-view [local: ✔ 빌드됨] [distant: ✔ 가져옴]
|
|
170
|
+
[intlayer] - application-template-message [local: ✔ 빌드됨] [distant: ✔ 가져옴]
|
|
171
|
+
[intlayer] - aside-navigation [local: ✔ 빌드됨] [distant: ✔ 가져옴]
|
|
172
|
+
[intlayer] - ask-reset-password [local: ✔ 빌드됨] [distant: ✔ 가져옴]
|
|
173
|
+
[intlayer] - ask-reset-password-schema [local: ✔ 빌드됨] [distant: ✔ 가져옴]
|
|
174
|
+
[intlayer] - 자동완성-섹션 [로컬: ✔ 빌드됨] [원격: ✔ 가져옴]
|
|
175
|
+
[intlayer] - 사용가능-기술-섹션 [로컬: ✔ 빌드됨] [원격: ✔ 가져옴]
|
|
176
|
+
[intlayer] - 블로그-데이터 [로컬: ✔ 빌드됨]
|
|
177
|
+
[intlayer] - 블로그-메타데이터 [로컬: ✔ 빌드됨]
|
|
178
|
+
[intlayer] - 블로그-네비게이션-리스트 [로컬: ✔ 빌드됨] [원격: ✔ 가져옴]
|
|
179
|
+
[intlayer] - 블로그-페이지 [원격: ✔ 가져옴]
|
|
180
|
+
[intlayer] - 블로그-검색-메타데이터 [로컬: ✔ 빌드됨] [원격: ✔ 가져옴]
|
|
181
|
+
[intlayer] - 블로그-검색-페이지 [로컬: ✔ 빌드됨] [원격: ✔ 가져옴]
|
|
182
|
+
...
|
|
183
|
+
[intlayer] 콘텐츠 로드 완료 (총: 8401ms - 로컬: 4050ms - 원격: 4222ms)
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
|
|
188
|
+
## 로깅 개선사항
|
|
189
|
+
|
|
190
|
+
빌드 및 런타임 변환 중에 발생하는 상황에 대해 더 자세한 정보를 제공하도록 로깅 시스템이 개선되었습니다.
|
|
191
|
+
|
|
192
|
+
> 빌드 및 런타임 변환 중에 발생하는 상황을 더 잘 이해하려면 자세한 로그를 활성화하세요.
|
|
193
|
+
|
|
194
|
+
```ts fileName="intlayer.config.ts"
|
|
195
|
+
export default {
|
|
196
|
+
log: {
|
|
197
|
+
mode: "verbose", // 옵션: "default" | "verbose" | "disabled"
|
|
198
|
+
},
|
|
199
|
+
};
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
모든 로깅 옵션은 [설정](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/configuration.md)에서 확인하세요.
|
|
203
|
+
|
|
204
|
+
---
|
|
205
|
+
|
|
206
|
+
## 강화된 검증
|
|
207
|
+
|
|
208
|
+
사전 처리 시 더 강력한 검증이 수행됩니다. 사전 처리에 실패할 경우, Intlayer는 애플리케이션이 중단되지 않도록 하며, 실행 가능한 오류를 표시합니다.
|
|
209
|
+
|
|
210
|
+
---
|
|
211
|
+
|
|
212
|
+
## CMS와 함께하는 라이브 업데이트 (프로덕션 안전)
|
|
213
|
+
|
|
214
|
+
프로덕션 환경에서 애플리케이션을 다시 빌드하지 않고 라이브 콘텐츠 업데이트(예: 편집 업데이트)를 제공합니다.
|
|
215
|
+
|
|
216
|
+
1. 라이브 임포트 모드를 활성화하세요:
|
|
217
|
+
|
|
218
|
+
```ts fileName="intlayer.config.ts"
|
|
219
|
+
import { type IntlayerConfig } from "intlayer";
|
|
220
|
+
|
|
221
|
+
const config: IntlayerConfig = {
|
|
222
|
+
build: {
|
|
223
|
+
importMode: "live", // "static" | "dynamic" | "live"
|
|
224
|
+
},
|
|
225
|
+
editor: {
|
|
226
|
+
liveSync: true, // 서버 측 라이브 동기화 활성화
|
|
227
|
+
},
|
|
228
|
+
};
|
|
229
|
+
|
|
230
|
+
export default config;
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
2. 앱을 실행하고 라이브 프로세스를 병행하세요:
|
|
234
|
+
|
|
235
|
+
```bash
|
|
236
|
+
npx intlayer live --process 'vite preview'
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
참고:
|
|
240
|
+
|
|
241
|
+
- 라이브 모드 사용으로 표시된 사전만 라이브로 가져옵니다. 나머지는 성능 최적화를 위해 처리됩니다.
|
|
242
|
+
- 라이브 API에 접근할 수 없으면 동적 임포트로 대체됩니다.
|
|
243
|
+
|
|
244
|
+
[CMS 및 라이브 동기화](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/intlayer_CMS.md)와 [구성](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/configuration.md)을 참조하여 완전한 안내를 확인하세요.
|
|
245
|
+
|
|
246
|
+
---
|
|
247
|
+
|
|
248
|
+
## 마이그레이션 노트
|
|
249
|
+
|
|
250
|
+
- 제거됨: `dictionaryOutput` (이전에는 `i18next` 또는 `next-intl`). 향후 버전에서 플러그형 어댑터로 다시 제공될 예정입니다. 구성에서 해당 필드를 제거하세요.
|
|
251
|
+
- 관련 제거: `i18nextResourcesDir` (`doc/configuration` 변경 로그 참조).
|
|
252
|
+
- 대규모 누락 번역 생성을 위해 새로운 전역 옵션 `content.autoFill` 사용을 권장합니다.
|
|
253
|
+
- 누락된 번역에 대해 PR을 검증하려면 `npx intlayer content test`를 사용하세요.
|
|
254
|
+
- 자세한 진단을 위해 `log.mode = 'verbose'`로 설정하세요.
|
|
255
|
+
|
|
256
|
+
---
|
|
257
|
+
|
|
258
|
+
## 수정 사항
|
|
259
|
+
|
|
260
|
+
- Vue.js 통합 안정성 향상
|
|
261
|
+
- Lynx 어댑터 개선
|
|
262
|
+
- Windows에서의 비주얼 에디터
|
|
263
|
+
|
|
264
|
+
---
|
|
265
|
+
|
|
266
|
+
## 유용한 링크
|
|
267
|
+
|
|
268
|
+
- [CLI 참조](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/intlayer_cli.md)
|
|
269
|
+
- [자동 채우기](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/autoFill.md)
|
|
270
|
+
- [구성](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/configuration.md)
|
|
271
|
+
- [콘텐츠 파일 참조](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/dictionary/content_file.md)
|
|
272
|
+
- [공식 VS 코드 확장](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/vs_code_extension.md)
|
|
273
|
+
- [CMS 및 라이브 동기화](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/intlayer_CMS.md)
|
package/docs/ko/roadmap.md
CHANGED
|
@@ -112,18 +112,16 @@ enu 함수를 사용하여 숫자 값, 범위 또는 사용자 정의 키에 따
|
|
|
112
112
|
Intlayer는 콘텐츠 선언을 위해 **TypeScript**(및 JavaScript)와 **JSON**을 지원합니다.
|
|
113
113
|
|
|
114
114
|
- **TypeScript**:
|
|
115
|
-
|
|
116
115
|
- 콘텐츠 구조가 올바르고 누락된 번역이 없도록 보장합니다.
|
|
117
116
|
- 엄격하거나 더 유연한 검증 모드를 제공합니다.
|
|
118
117
|
- 변수, 함수 또는 외부 API에서 동적으로 데이터를 가져올 수 있습니다.
|
|
119
118
|
|
|
120
119
|
- **JSON**:
|
|
121
|
-
|
|
122
120
|
- 표준화된 형식 덕분에 외부 도구(예: 시각적 편집기)와 쉽게 통합할 수 있습니다.
|
|
123
121
|
|
|
124
122
|
> 참고 자료:
|
|
125
123
|
>
|
|
126
|
-
> - [콘텐츠 선언 형식](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/dictionary/
|
|
124
|
+
> - [콘텐츠 선언 형식](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/dictionary/content_file.md)
|
|
127
125
|
|
|
128
126
|
### 7. 정리, 번들 최적화 및 동적 임포트
|
|
129
127
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-03-17
|
|
3
|
-
updatedAt: 2025-
|
|
3
|
+
updatedAt: 2025-09-22
|
|
4
4
|
title: 공식 VS 코드 확장
|
|
5
|
-
description: VS 코드에서 Intlayer 확장을 사용하여 개발
|
|
5
|
+
description: VS 코드에서 Intlayer 확장을 사용하여 개발 워크플로를 향상시키는 방법을 알아보세요. 현지화된 콘텐츠 간을 빠르게 탐색하고 사전을 효율적으로 관리할 수 있습니다.
|
|
6
6
|
keywords:
|
|
7
7
|
- VS 코드 확장
|
|
8
8
|
- Intlayer
|
|
@@ -31,27 +31,75 @@ slugs:
|
|
|
31
31
|
|
|
32
32
|
### 즉시 탐색
|
|
33
33
|
|
|
34
|
-
**정의로 이동 지원** – `useIntlayer` 키에서
|
|
34
|
+
**정의로 이동 지원** – `useIntlayer` 키에서 `⌘ + 클릭`(Mac) 또는 `Ctrl + 클릭`(Windows/Linux)을 사용하여 해당 콘텐츠 파일을 즉시 엽니다.
|
|
35
35
|
**원활한 통합** – **react-intlayer** 및 **next-intlayer** 프로젝트와 문제없이 작동합니다.
|
|
36
36
|
**다국어 지원** – 다양한 언어의 현지화된 콘텐츠를 지원합니다.
|
|
37
|
-
**VS
|
|
37
|
+
**VS 코드 통합** – VS 코드의 탐색 및 명령 팔레트와 원활하게 통합됩니다.
|
|
38
38
|
|
|
39
39
|
### 사전 관리 명령어
|
|
40
40
|
|
|
41
|
-
VS
|
|
41
|
+
VS 코드에서 직접 콘텐츠 사전을 관리하세요:
|
|
42
42
|
|
|
43
|
-
- **사전 빌드**
|
|
44
|
-
- **사전 푸시**
|
|
45
|
-
- **사전 풀**
|
|
43
|
+
- **사전 빌드** – 프로젝트 구조를 기반으로 콘텐츠 파일을 생성합니다.
|
|
44
|
+
- **사전 푸시** – 최신 사전 콘텐츠를 저장소에 업로드합니다.
|
|
45
|
+
- **사전 풀** – 저장소에서 최신 사전 콘텐츠를 로컬 환경으로 동기화합니다.
|
|
46
|
+
- **사전 채우기** – 프로젝트의 콘텐츠로 사전을 채웁니다.
|
|
47
|
+
- **사전 테스트** – 누락되었거나 불완전한 번역을 식별합니다.
|
|
46
48
|
|
|
47
49
|
### 콘텐츠 선언 생성기
|
|
48
50
|
|
|
49
51
|
다양한 형식으로 구조화된 사전 파일을 쉽게 생성할 수 있습니다:
|
|
50
52
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
53
|
+
현재 컴포넌트 작업 중이라면 `.content.{ts,tsx,js,jsx,mjs,cjs,json}` 파일을 자동으로 생성합니다.
|
|
54
|
+
|
|
55
|
+
컴포넌트 예시:
|
|
56
|
+
|
|
57
|
+
```tsx fileName="src/components/MyComponent/index.tsx"
|
|
58
|
+
const MyComponent = () => {
|
|
59
|
+
const { myTranslatedContent } = useIntlayer("my-component");
|
|
60
|
+
|
|
61
|
+
return <span>{myTranslatedContent}</span>;
|
|
62
|
+
};
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
TypeScript 형식으로 생성된 파일:
|
|
66
|
+
|
|
67
|
+
```tsx fileName="src/components/MyComponent/index.content.ts"
|
|
68
|
+
import { t, type Dictionary } from "intlayer";
|
|
69
|
+
|
|
70
|
+
const componentContent = {
|
|
71
|
+
key: "my-component",
|
|
72
|
+
content: {
|
|
73
|
+
myTranslatedContent: t({
|
|
74
|
+
en: "Hello World",
|
|
75
|
+
es: "Hola Mundo",
|
|
76
|
+
fr: "Bonjour le monde",
|
|
77
|
+
}),
|
|
78
|
+
},
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
export default componentContent;
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
사용 가능한 형식:
|
|
85
|
+
|
|
86
|
+
- **TypeScript (`.ts`)**
|
|
87
|
+
- **ES 모듈 (`.esm`)**
|
|
88
|
+
- **CommonJS (`.cjs`)**
|
|
89
|
+
- **JSON (`.json`)**
|
|
90
|
+
|
|
91
|
+
### Intlayer 탭 (활동 표시줄)
|
|
92
|
+
|
|
93
|
+
VS Code 활동 표시줄에서 Intlayer 아이콘을 클릭하여 Intlayer 탭을 엽니다. 이 탭에는 두 가지 뷰가 포함되어 있습니다:
|
|
94
|
+
|
|
95
|
+
- **검색(Search)**: 사전과 그 내용을 빠르게 필터링할 수 있는 실시간 검색 바입니다. 입력할 때마다 결과가 즉시 업데이트됩니다.
|
|
96
|
+
- **사전(Dictionaries)**: 환경/프로젝트, 사전 키, 그리고 항목을 기여하는 파일들의 트리 뷰입니다. 다음 작업을 할 수 있습니다:
|
|
97
|
+
- 파일을 클릭하여 편집기에서 엽니다.
|
|
98
|
+
- 툴바를 사용하여 다음 작업을 실행합니다: 빌드(Build), 풀(Pull), 푸시(Push), 채우기(Fill), 새로고침(Refresh), 테스트(Test), 사전 파일 생성(Create Dictionary File).
|
|
99
|
+
- 항목별 작업을 위한 컨텍스트 메뉴를 사용합니다:
|
|
100
|
+
- 사전에서는: 풀(Pull) 또는 푸시(Push)
|
|
101
|
+
- 파일에서는: 사전 채우기(Fill Dictionary)
|
|
102
|
+
- 편집기를 전환할 때, 해당 파일이 사전에 속해 있으면 트리가 일치하는 파일을 표시합니다.
|
|
55
103
|
|
|
56
104
|
## 설치
|
|
57
105
|
|
|
@@ -62,28 +110,30 @@ VS Code에서 직접 콘텐츠 사전을 관리하세요:
|
|
|
62
110
|
3. **"Intlayer"**를 검색합니다.
|
|
63
111
|
4. **설치**를 클릭합니다.
|
|
64
112
|
|
|
65
|
-
또는 명령줄을 통해 설치할 수도 있습니다:
|
|
66
|
-
|
|
67
|
-
```sh
|
|
68
|
-
code --install-extension intlayer
|
|
69
|
-
```
|
|
70
|
-
|
|
71
113
|
## 사용법
|
|
72
114
|
|
|
73
115
|
### 빠른 탐색
|
|
74
116
|
|
|
75
117
|
1. **react-intlayer**를 사용하는 프로젝트를 엽니다.
|
|
76
|
-
2.
|
|
118
|
+
2. `useIntlayer()` 호출을 찾습니다. 예를 들어:
|
|
77
119
|
|
|
78
120
|
```tsx
|
|
79
121
|
const content = useIntlayer("app");
|
|
80
122
|
```
|
|
81
123
|
|
|
82
|
-
3. 키(예: `"app"`)에서
|
|
83
|
-
4. VS Code가 자동으로 해당 사전
|
|
124
|
+
3. 키(예: `"app"`)에서 **Command-클릭**(`⌘+Click`, macOS) 또는 **Ctrl-클릭**(Windows/Linux)합니다.
|
|
125
|
+
4. VS Code가 자동으로 해당 사전 파일(예: `src/app.content.ts`)을 엽니다.
|
|
84
126
|
|
|
85
127
|
### 콘텐츠 사전 관리
|
|
86
128
|
|
|
129
|
+
### Intlayer 탭 (활동 표시줄)
|
|
130
|
+
|
|
131
|
+
사전을 탐색하고 관리하려면 사이드 탭을 사용하세요:
|
|
132
|
+
|
|
133
|
+
- 활동 표시줄에서 Intlayer 아이콘을 엽니다.
|
|
134
|
+
- **검색(Search)**에서 실시간으로 사전과 항목을 필터링하려면 입력하세요.
|
|
135
|
+
- **사전(Dictionaries)**에서는 환경, 사전, 파일을 탐색할 수 있습니다. 툴바를 사용하여 빌드(Build), 풀(Pull), 푸시(Push), 채우기(Fill), 새로고침(Refresh), 테스트(Test), 사전 파일 생성(Create Dictionary File)을 수행하세요. 사전에서 풀/푸시, 파일에서 채우기 등의 컨텍스트 작업은 마우스 오른쪽 버튼 클릭으로 실행할 수 있습니다. 현재 편집 중인 파일은 해당되는 경우 트리에서 자동으로 표시됩니다.
|
|
136
|
+
|
|
87
137
|
#### 사전 빌드하기
|
|
88
138
|
|
|
89
139
|
모든 사전 콘텐츠 파일을 생성하려면:
|
|
@@ -92,61 +142,42 @@ code --install-extension intlayer
|
|
|
92
142
|
Cmd + Shift + P (macOS) / Ctrl + Shift + P (Windows/Linux)
|
|
93
143
|
```
|
|
94
144
|
|
|
95
|
-
**Build Dictionaries**를
|
|
145
|
+
**Build Dictionaries**를 검색하여 명령을 실행하세요.
|
|
96
146
|
|
|
97
147
|
#### 사전 푸시하기
|
|
98
148
|
|
|
99
149
|
최신 사전 콘텐츠를 업로드하려면:
|
|
100
150
|
|
|
101
|
-
1. **명령
|
|
151
|
+
1. **명령 팔레트(Command Palette)**를 엽니다.
|
|
102
152
|
2. **Push Dictionaries**를 검색합니다.
|
|
103
153
|
3. 푸시할 사전을 선택하고 확인합니다.
|
|
104
154
|
|
|
105
155
|
#### 사전 풀하기
|
|
106
156
|
|
|
107
|
-
최신 사전
|
|
157
|
+
최신 사전 콘텐츠 동기화:
|
|
108
158
|
|
|
109
159
|
1. **명령 팔레트**를 엽니다.
|
|
110
160
|
2. **Pull Dictionaries**를 검색합니다.
|
|
111
|
-
3.
|
|
112
|
-
|
|
113
|
-
## 개발 및 기여
|
|
114
|
-
|
|
115
|
-
기여하고 싶으신가요? 커뮤니티 기여를 환영합니다!
|
|
116
|
-
|
|
117
|
-
저장소 URL: https://github.com/aymericzip/intlayer-vs-code-extension
|
|
118
|
-
|
|
119
|
-
### 시작하기
|
|
120
|
-
|
|
121
|
-
저장소를 클론하고 의존성을 설치하세요:
|
|
161
|
+
3. 가져올 사전을 선택합니다.
|
|
122
162
|
|
|
123
|
-
|
|
124
|
-
git clone https://github.com/aymericzip/intlayer-vs-code-extension.git
|
|
125
|
-
cd intlayer-vs-code-extension
|
|
126
|
-
npm install
|
|
127
|
-
```
|
|
128
|
-
|
|
129
|
-
> 확장 기능을 빌드하고 배포하기 위해 `vsce` 패키지와 호환되는 `npm` 패키지 관리자를 사용하세요.
|
|
130
|
-
|
|
131
|
-
### 개발 모드에서 실행하기
|
|
132
|
-
|
|
133
|
-
1. **VS Code**에서 프로젝트를 엽니다.
|
|
134
|
-
2. `F5` 키를 눌러 새로운 **확장 개발 호스트(Extension Development Host)** 창을 실행합니다.
|
|
163
|
+
#### 사전 채우기
|
|
135
164
|
|
|
136
|
-
|
|
165
|
+
프로젝트의 콘텐츠로 사전을 채웁니다:
|
|
137
166
|
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
버그를 발견했거나 기능 요청이 있나요? 우리의 **GitHub 저장소**에 이슈를 열어주세요:
|
|
167
|
+
1. **명령 팔레트**를 엽니다.
|
|
168
|
+
2. **Fill Dictionaries**를 검색합니다.
|
|
169
|
+
3. 사전을 채우기 위해 명령을 실행합니다.
|
|
143
170
|
|
|
144
|
-
|
|
171
|
+
#### 사전 테스트
|
|
145
172
|
|
|
146
|
-
|
|
173
|
+
사전을 검증하고 누락된 번역을 찾습니다:
|
|
147
174
|
|
|
148
|
-
|
|
175
|
+
1. **명령 팔레트**를 엽니다.
|
|
176
|
+
2. **Test Dictionaries**를 검색합니다.
|
|
177
|
+
3. 보고된 문제를 검토하고 필요에 따라 수정합니다.
|
|
149
178
|
|
|
150
179
|
## 문서 이력
|
|
151
180
|
|
|
152
|
-
|
|
181
|
+
| 버전 | 날짜 | 변경 사항 |
|
|
182
|
+
| ------ | ---------- | ----------- |
|
|
183
|
+
| 5.5.10 | 2025-06-29 | 이력 초기화 |
|