@intlayer/docs 8.3.0-canary.4 → 8.3.1
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/docs/ar/compiler.md +84 -49
- package/docs/ar/configuration.md +80 -37
- package/docs/ar/intlayer_with_nextjs_16.md +174 -1
- package/docs/ar/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/ar/intlayer_with_react_router_v7.md +224 -1
- package/docs/ar/intlayer_with_react_router_v7_fs_routes.md +225 -1
- package/docs/ar/intlayer_with_svelte_kit.md +175 -2
- package/docs/ar/intlayer_with_tanstack.md +176 -1
- package/docs/ar/intlayer_with_vite+preact.md +174 -1
- package/docs/ar/intlayer_with_vite+react.md +174 -1
- package/docs/ar/intlayer_with_vite+solid.md +174 -1
- package/docs/ar/intlayer_with_vite+svelte.md +174 -1
- package/docs/ar/intlayer_with_vite+vue.md +174 -1
- package/docs/de/compiler.md +83 -48
- package/docs/de/configuration.md +434 -212
- package/docs/de/intlayer_with_nextjs_16.md +176 -1
- package/docs/de/intlayer_with_nextjs_compiler.md +106 -349
- package/docs/de/intlayer_with_react_router_v7.md +225 -2
- package/docs/de/intlayer_with_react_router_v7_fs_routes.md +221 -79
- package/docs/de/intlayer_with_svelte_kit.md +158 -2
- package/docs/de/intlayer_with_tanstack.md +159 -1
- package/docs/de/intlayer_with_vite+preact.md +157 -1
- package/docs/de/intlayer_with_vite+react.md +157 -1
- package/docs/de/intlayer_with_vite+solid.md +159 -3
- package/docs/de/intlayer_with_vite+svelte.md +157 -1
- package/docs/de/intlayer_with_vite+vue.md +157 -1
- package/docs/en/compiler.md +60 -33
- package/docs/en/configuration.md +80 -57
- package/docs/en/intlayer_with_nextjs_16.md +176 -0
- package/docs/en/intlayer_with_nextjs_compiler.md +179 -1
- package/docs/en/intlayer_with_react_router_v7.md +159 -0
- package/docs/en/intlayer_with_react_router_v7_fs_routes.md +159 -0
- package/docs/en/intlayer_with_svelte_kit.md +159 -0
- package/docs/en/intlayer_with_tanstack.md +160 -1
- package/docs/en/intlayer_with_vite+preact.md +159 -0
- package/docs/en/intlayer_with_vite+react.md +159 -0
- package/docs/en/intlayer_with_vite+solid.md +148 -27
- package/docs/en/intlayer_with_vite+svelte.md +159 -0
- package/docs/en/intlayer_with_vite+vue.md +142 -41
- package/docs/en-GB/compiler.md +66 -34
- package/docs/en-GB/configuration.md +78 -36
- package/docs/es/compiler.md +83 -48
- package/docs/es/configuration.md +429 -206
- package/docs/es/intlayer_with_adonisjs.md +1 -1
- package/docs/es/intlayer_with_express.md +1 -1
- package/docs/es/intlayer_with_fastify.md +1 -1
- package/docs/es/intlayer_with_hono.md +1 -1
- package/docs/es/intlayer_with_nestjs.md +1 -1
- package/docs/es/intlayer_with_nextjs_16.md +176 -3
- package/docs/es/intlayer_with_nextjs_compiler.md +175 -2
- package/docs/es/intlayer_with_nuxt.md +1 -1
- package/docs/es/intlayer_with_react_router_v7.md +227 -4
- package/docs/es/intlayer_with_react_router_v7_fs_routes.md +162 -4
- package/docs/es/intlayer_with_svelte_kit.md +158 -2
- package/docs/es/intlayer_with_tanstack.md +160 -2
- package/docs/es/intlayer_with_vite+preact.md +162 -6
- package/docs/es/intlayer_with_vite+react.md +160 -4
- package/docs/es/intlayer_with_vite+solid.md +163 -7
- package/docs/es/intlayer_with_vite+svelte.md +157 -1
- package/docs/es/intlayer_with_vite+vue.md +165 -9
- package/docs/fr/compiler.md +81 -46
- package/docs/fr/configuration.md +355 -134
- package/docs/fr/intlayer_with_adonisjs.md +1 -1
- package/docs/fr/intlayer_with_express.md +1 -1
- package/docs/fr/intlayer_with_fastify.md +1 -1
- package/docs/fr/intlayer_with_hono.md +1 -1
- package/docs/fr/intlayer_with_nestjs.md +1 -1
- package/docs/fr/intlayer_with_nextjs_16.md +183 -7
- package/docs/fr/intlayer_with_nextjs_compiler.md +179 -3
- package/docs/fr/intlayer_with_react_router_v7.md +229 -3
- package/docs/fr/intlayer_with_react_router_v7_fs_routes.md +237 -6
- package/docs/fr/intlayer_with_svelte_kit.md +158 -2
- package/docs/fr/intlayer_with_tanstack.md +159 -1
- package/docs/fr/intlayer_with_vite+preact.md +164 -8
- package/docs/fr/intlayer_with_vite+react.md +162 -6
- package/docs/fr/intlayer_with_vite+solid.md +163 -7
- package/docs/fr/intlayer_with_vite+svelte.md +157 -1
- package/docs/fr/intlayer_with_vite+vue.md +164 -8
- package/docs/hi/compiler.md +81 -46
- package/docs/hi/configuration.md +87 -44
- package/docs/hi/intlayer_with_nextjs_16.md +174 -1
- package/docs/hi/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/hi/intlayer_with_react_router_v7.md +224 -1
- package/docs/hi/intlayer_with_react_router_v7_fs_routes.md +225 -1
- package/docs/hi/intlayer_with_svelte_kit.md +158 -2
- package/docs/hi/intlayer_with_tanstack.md +159 -1
- package/docs/hi/intlayer_with_vite+preact.md +157 -1
- package/docs/hi/intlayer_with_vite+react.md +157 -1
- package/docs/hi/intlayer_with_vite+solid.md +157 -1
- package/docs/hi/intlayer_with_vite+svelte.md +157 -1
- package/docs/hi/intlayer_with_vite+vue.md +157 -1
- package/docs/id/compiler.md +84 -51
- package/docs/id/configuration.md +83 -45
- package/docs/id/intlayer_with_nextjs_16.md +174 -1
- package/docs/id/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/id/intlayer_with_react_router_v7.md +224 -1
- package/docs/id/intlayer_with_react_router_v7_fs_routes.md +225 -1
- package/docs/id/intlayer_with_svelte_kit.md +158 -2
- package/docs/id/intlayer_with_tanstack.md +159 -1
- package/docs/id/intlayer_with_vite+preact.md +157 -1
- package/docs/id/intlayer_with_vite+react.md +157 -1
- package/docs/id/intlayer_with_vite+solid.md +157 -1
- package/docs/id/intlayer_with_vite+svelte.md +157 -1
- package/docs/id/intlayer_with_vite+vue.md +157 -1
- package/docs/it/compiler.md +81 -46
- package/docs/it/configuration.md +426 -204
- package/docs/it/intlayer_with_nextjs_16.md +174 -1
- package/docs/it/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/it/intlayer_with_react_router_v7.md +225 -2
- package/docs/it/intlayer_with_react_router_v7_fs_routes.md +226 -2
- package/docs/it/intlayer_with_svelte_kit.md +158 -2
- package/docs/it/intlayer_with_tanstack.md +159 -1
- package/docs/it/intlayer_with_vite+preact.md +157 -1
- package/docs/it/intlayer_with_vite+react.md +157 -1
- package/docs/it/intlayer_with_vite+solid.md +159 -3
- package/docs/it/intlayer_with_vite+svelte.md +157 -1
- package/docs/it/intlayer_with_vite+vue.md +157 -1
- package/docs/ja/compiler.md +94 -58
- package/docs/ja/configuration.md +88 -45
- package/docs/ja/intlayer_with_nextjs_16.md +174 -1
- package/docs/ja/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/ja/intlayer_with_react_router_v7.md +184 -394
- package/docs/ja/intlayer_with_react_router_v7_fs_routes.md +226 -2
- package/docs/ja/intlayer_with_svelte_kit.md +119 -595
- package/docs/ja/intlayer_with_tanstack.md +131 -642
- package/docs/ja/intlayer_with_vite+preact.md +111 -1231
- package/docs/ja/intlayer_with_vite+react.md +129 -1304
- package/docs/ja/intlayer_with_vite+solid.md +159 -3
- package/docs/ja/intlayer_with_vite+svelte.md +157 -1
- package/docs/ja/intlayer_with_vite+vue.md +157 -1
- package/docs/ko/compiler.md +88 -52
- package/docs/ko/configuration.md +87 -44
- package/docs/ko/intlayer_with_nextjs_16.md +174 -1
- package/docs/ko/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/ko/intlayer_with_react_router_v7.md +225 -2
- package/docs/ko/intlayer_with_react_router_v7_fs_routes.md +226 -2
- package/docs/ko/intlayer_with_svelte_kit.md +158 -2
- package/docs/ko/intlayer_with_tanstack.md +159 -1
- package/docs/ko/intlayer_with_vite+preact.md +157 -1
- package/docs/ko/intlayer_with_vite+react.md +157 -1
- package/docs/ko/intlayer_with_vite+solid.md +159 -3
- package/docs/ko/intlayer_with_vite+svelte.md +157 -1
- package/docs/ko/intlayer_with_vite+vue.md +157 -1
- package/docs/pl/compiler.md +84 -51
- package/docs/pl/configuration.md +83 -37
- package/docs/pl/intlayer_with_nextjs_16.md +174 -1
- package/docs/pl/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/pl/intlayer_with_react_router_v7.md +224 -1
- package/docs/pl/intlayer_with_react_router_v7_fs_routes.md +225 -1
- package/docs/pl/intlayer_with_svelte_kit.md +158 -2
- package/docs/pl/intlayer_with_tanstack.md +159 -1
- package/docs/pl/intlayer_with_vite+preact.md +157 -1
- package/docs/pl/intlayer_with_vite+react.md +157 -1
- package/docs/pl/intlayer_with_vite+solid.md +157 -1
- package/docs/pl/intlayer_with_vite+svelte.md +157 -1
- package/docs/pl/intlayer_with_vite+vue.md +157 -1
- package/docs/pt/compiler.md +81 -46
- package/docs/pt/configuration.md +404 -194
- package/docs/pt/intlayer_with_nextjs_16.md +174 -1
- package/docs/pt/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/pt/intlayer_with_react_router_v7.md +224 -1
- package/docs/pt/intlayer_with_react_router_v7_fs_routes.md +225 -1
- package/docs/pt/intlayer_with_svelte_kit.md +158 -2
- package/docs/pt/intlayer_with_tanstack.md +159 -1
- package/docs/pt/intlayer_with_vite+preact.md +157 -1
- package/docs/pt/intlayer_with_vite+react.md +157 -1
- package/docs/pt/intlayer_with_vite+solid.md +157 -1
- package/docs/pt/intlayer_with_vite+svelte.md +157 -1
- package/docs/pt/intlayer_with_vite+vue.md +157 -1
- package/docs/ru/compiler.md +90 -57
- package/docs/ru/configuration.md +76 -46
- package/docs/ru/intlayer_with_nextjs_16.md +174 -1
- package/docs/ru/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/ru/intlayer_with_react_router_v7.md +224 -1
- package/docs/ru/intlayer_with_react_router_v7_fs_routes.md +225 -1
- package/docs/ru/intlayer_with_svelte_kit.md +158 -2
- package/docs/ru/intlayer_with_tanstack.md +159 -1
- package/docs/ru/intlayer_with_vite+preact.md +157 -1
- package/docs/ru/intlayer_with_vite+react.md +157 -1
- package/docs/ru/intlayer_with_vite+solid.md +157 -1
- package/docs/ru/intlayer_with_vite+svelte.md +157 -1
- package/docs/ru/intlayer_with_vite+vue.md +157 -1
- package/docs/tr/compiler.md +85 -52
- package/docs/tr/configuration.md +83 -40
- package/docs/tr/intlayer_with_nextjs_16.md +174 -1
- package/docs/tr/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/tr/intlayer_with_react_router_v7.md +224 -1
- package/docs/tr/intlayer_with_react_router_v7_fs_routes.md +225 -1
- package/docs/tr/intlayer_with_svelte_kit.md +158 -2
- package/docs/tr/intlayer_with_tanstack.md +159 -1
- package/docs/tr/intlayer_with_vite+preact.md +157 -1
- package/docs/tr/intlayer_with_vite+react.md +157 -1
- package/docs/tr/intlayer_with_vite+solid.md +157 -1
- package/docs/tr/intlayer_with_vite+svelte.md +157 -1
- package/docs/tr/intlayer_with_vite+vue.md +157 -1
- package/docs/uk/compiler.md +96 -61
- package/docs/uk/configuration.md +83 -37
- package/docs/uk/intlayer_with_nextjs_16.md +174 -1
- package/docs/uk/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/uk/intlayer_with_react_router_v7.md +224 -1
- package/docs/uk/intlayer_with_react_router_v7_fs_routes.md +225 -1
- package/docs/uk/intlayer_with_svelte_kit.md +157 -1
- package/docs/uk/intlayer_with_tanstack.md +159 -1
- package/docs/uk/intlayer_with_vite+preact.md +157 -1
- package/docs/uk/intlayer_with_vite+react.md +157 -1
- package/docs/uk/intlayer_with_vite+solid.md +157 -1
- package/docs/uk/intlayer_with_vite+svelte.md +157 -1
- package/docs/uk/intlayer_with_vite+vue.md +157 -1
- package/docs/vi/compiler.md +85 -50
- package/docs/vi/configuration.md +85 -39
- package/docs/vi/intlayer_with_nextjs_16.md +174 -1
- package/docs/vi/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/vi/intlayer_with_react_router_v7.md +224 -1
- package/docs/vi/intlayer_with_react_router_v7_fs_routes.md +225 -1
- package/docs/vi/intlayer_with_svelte_kit.md +158 -2
- package/docs/vi/intlayer_with_tanstack.md +159 -1
- package/docs/vi/intlayer_with_vite+preact.md +157 -1
- package/docs/vi/intlayer_with_vite+react.md +157 -1
- package/docs/vi/intlayer_with_vite+solid.md +157 -1
- package/docs/vi/intlayer_with_vite+svelte.md +157 -1
- package/docs/vi/intlayer_with_vite+vue.md +157 -1
- package/docs/zh/compiler.md +84 -49
- package/docs/zh/configuration.md +80 -37
- package/docs/zh/intlayer_with_adonisjs.md +1 -1
- package/docs/zh/intlayer_with_express.md +1 -1
- package/docs/zh/intlayer_with_fastify.md +1 -1
- package/docs/zh/intlayer_with_hono.md +1 -1
- package/docs/zh/intlayer_with_nestjs.md +1 -1
- package/docs/zh/intlayer_with_nextjs_16.md +174 -1
- package/docs/zh/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/zh/intlayer_with_react_router_v7.md +227 -4
- package/docs/zh/intlayer_with_react_router_v7_fs_routes.md +228 -4
- package/docs/zh/intlayer_with_svelte_kit.md +158 -2
- package/docs/zh/intlayer_with_tanstack.md +159 -1
- package/docs/zh/intlayer_with_vite+preact.md +159 -3
- package/docs/zh/intlayer_with_vite+react.md +157 -1
- package/docs/zh/intlayer_with_vite+solid.md +161 -5
- package/docs/zh/intlayer_with_vite+svelte.md +157 -1
- package/docs/zh/intlayer_with_vite+vue.md +158 -2
- package/package.json +6 -6
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-11-20
|
|
3
|
-
updatedAt:
|
|
3
|
+
updatedAt: 2026-03-12
|
|
4
4
|
title: SvelteKit i18n - SvelteKit 앱 번역 방법 2026
|
|
5
5
|
description: SvelteKit 웹사이트를 다국어로 만드는 방법을 알아보세요. 서버 사이드 렌더링(SSR)을 사용하여 국제화(i18n) 및 번역하는 문서를 따라가세요.
|
|
6
6
|
keywords:
|
|
@@ -185,7 +185,7 @@ export default heroContent;
|
|
|
185
185
|
|
|
186
186
|
> **참고:** `useIntlayer`는 Svelte 스토어를 반환하므로, 반응형 값을 접근하려면 `---
|
|
187
187
|
> createdAt: 2025-11-20
|
|
188
|
-
> updatedAt:
|
|
188
|
+
> updatedAt: 2026-03-12
|
|
189
189
|
> title: SvelteKit 앱 번역 방법 – i18n 가이드 2026
|
|
190
190
|
> description: SvelteKit 웹사이트를 다국어로 만드는 방법을 알아보세요. 서버 사이드 렌더링(SSR)을 사용하여 국제화(i18n) 및 번역하는 문서를 따라가세요.
|
|
191
191
|
> keywords:
|
|
@@ -744,6 +744,162 @@ Intlayer가 생성한 파일은 무시하는 것이 권장됩니다.
|
|
|
744
744
|
|
|
745
745
|
---
|
|
746
746
|
|
|
747
|
+
### (선택 사항) 단계 1 : 컴포넌트 콘텐츠 추출
|
|
748
|
+
|
|
749
|
+
기존 코드베이스가 있는 경우 수천 개의 파일을 변환하는 데 시간이 많이 걸릴 수 있습니다.
|
|
750
|
+
|
|
751
|
+
이 프로세스를 용이하게 하기 위해 Intlayer는 컴포넌트를 변환하고 콘텐츠를 추출하기 위한 [컴파일러](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/compiler.md) / [추출기](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/cli/extract.md)를 제안합니다.
|
|
752
|
+
|
|
753
|
+
설정하려면 `intlayer.config.ts` 파일에 `compiler` 섹션을 추가할 수 있습니다.
|
|
754
|
+
|
|
755
|
+
```typescript fileName="intlayer.config.ts" codeFormat="typescript"
|
|
756
|
+
import { type IntlayerConfig } from "intlayer";
|
|
757
|
+
|
|
758
|
+
const config: IntlayerConfig = {
|
|
759
|
+
// ... 나머지 구성
|
|
760
|
+
compiler: {
|
|
761
|
+
/**
|
|
762
|
+
* 컴파일러 활성화 여부를 나타냅니다.
|
|
763
|
+
*/
|
|
764
|
+
enabled: true,
|
|
765
|
+
|
|
766
|
+
/**
|
|
767
|
+
* 출력 파일 경로를 정의합니다.
|
|
768
|
+
*/
|
|
769
|
+
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
770
|
+
|
|
771
|
+
/**
|
|
772
|
+
* 변환 후 컴포넌트를 저장할지 여부를 나타냅니다. 그렇게 하면 컴파일러를 한 번만 실행하여 앱을 변환한 다음 제거할 수 있습니다.
|
|
773
|
+
*/
|
|
774
|
+
saveComponents: false,
|
|
775
|
+
|
|
776
|
+
/**
|
|
777
|
+
* 사전 키 접두사
|
|
778
|
+
*/
|
|
779
|
+
dictionaryKeyPrefix: "",
|
|
780
|
+
},
|
|
781
|
+
};
|
|
782
|
+
|
|
783
|
+
export default config;
|
|
784
|
+
```
|
|
785
|
+
|
|
786
|
+
```javascript fileName="intlayer.config.mjs" codeFormat="esm"
|
|
787
|
+
/** @type {import('intlayer').IntlayerConfig} */
|
|
788
|
+
const config = {
|
|
789
|
+
// ... 나머지 구성
|
|
790
|
+
compiler: {
|
|
791
|
+
/**
|
|
792
|
+
* 컴파일러 활성화 여부를 나타냅니다.
|
|
793
|
+
*/
|
|
794
|
+
enabled: true,
|
|
795
|
+
|
|
796
|
+
/**
|
|
797
|
+
* 출력 파일 경로를 정의합니다.
|
|
798
|
+
*/
|
|
799
|
+
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
800
|
+
|
|
801
|
+
/**
|
|
802
|
+
* 변환 후 컴포넌트를 저장할지 여부를 나타냅니다. 그렇게 하면 컴파일러를 한 번만 실행하여 앱을 변환한 다음 제거할 수 있습니다.
|
|
803
|
+
*/
|
|
804
|
+
saveComponents: false,
|
|
805
|
+
|
|
806
|
+
/**
|
|
807
|
+
* 사전 키 접두사
|
|
808
|
+
*/
|
|
809
|
+
dictionaryKeyPrefix: "",
|
|
810
|
+
},
|
|
811
|
+
};
|
|
812
|
+
|
|
813
|
+
export default config;
|
|
814
|
+
```
|
|
815
|
+
|
|
816
|
+
```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
|
|
817
|
+
/** @type {import('intlayer').IntlayerConfig} */
|
|
818
|
+
const config = {
|
|
819
|
+
// ... 나머지 구성
|
|
820
|
+
compiler: {
|
|
821
|
+
/**
|
|
822
|
+
* 컴파일러 활성화 여부를 나타냅니다.
|
|
823
|
+
*/
|
|
824
|
+
enabled: true,
|
|
825
|
+
|
|
826
|
+
/**
|
|
827
|
+
* 출력 파일 경로를 정의합니다.
|
|
828
|
+
*/
|
|
829
|
+
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
830
|
+
|
|
831
|
+
/**
|
|
832
|
+
* 변환 후 컴포넌트를 저장할지 여부를 나타냅니다. 그렇게 하면 컴파일러를 한 번만 실행하여 앱을 변환한 다음 제거할 수 있습니다.
|
|
833
|
+
*/
|
|
834
|
+
saveComponents: false,
|
|
835
|
+
|
|
836
|
+
/**
|
|
837
|
+
* 사전 키 접두사
|
|
838
|
+
*/
|
|
839
|
+
dictionaryKeyPrefix: "",
|
|
840
|
+
},
|
|
841
|
+
};
|
|
842
|
+
|
|
843
|
+
module.exports = config;
|
|
844
|
+
```
|
|
845
|
+
|
|
846
|
+
<Tabs>
|
|
847
|
+
<Tab value='추출 명령'>
|
|
848
|
+
|
|
849
|
+
컴포넌트를 변환하고 콘텐츠를 추출하기 위해 추출기를 실행합니다
|
|
850
|
+
|
|
851
|
+
```bash packageManager="npm"
|
|
852
|
+
npx intlayer extract
|
|
853
|
+
```
|
|
854
|
+
|
|
855
|
+
```bash packageManager="pnpm"
|
|
856
|
+
pnpm intlayer extract
|
|
857
|
+
```
|
|
858
|
+
|
|
859
|
+
```bash packageManager="yarn"
|
|
860
|
+
yarn intlayer extract
|
|
861
|
+
```
|
|
862
|
+
|
|
863
|
+
```bash packageManager="bun"
|
|
864
|
+
bunx intlayer extract
|
|
865
|
+
```
|
|
866
|
+
|
|
867
|
+
</Tab>
|
|
868
|
+
<Tab value='Babel 컴파일러'>
|
|
869
|
+
|
|
870
|
+
`vite.config.ts`를 업데이트하여 `intlayerCompiler` 플러그인을 포함합니다.
|
|
871
|
+
|
|
872
|
+
```ts fileName="vite.config.ts"
|
|
873
|
+
import { defineConfig } from "vite";
|
|
874
|
+
import { intlayer, intlayerCompiler } from "vite-intlayer";
|
|
875
|
+
|
|
876
|
+
export default defineConfig({
|
|
877
|
+
plugins: [
|
|
878
|
+
intlayer(),
|
|
879
|
+
intlayerCompiler(), // 컴파일러 플러그인을 추가합니다
|
|
880
|
+
],
|
|
881
|
+
});
|
|
882
|
+
```
|
|
883
|
+
|
|
884
|
+
```bash packageManager="npm"
|
|
885
|
+
npm run build # 또는 npm run dev
|
|
886
|
+
```
|
|
887
|
+
|
|
888
|
+
```bash packageManager="pnpm"
|
|
889
|
+
pnpm run build # 또는 pnpm run dev
|
|
890
|
+
```
|
|
891
|
+
|
|
892
|
+
```bash packageManager="yarn"
|
|
893
|
+
yarn build # 또는 yarn dev
|
|
894
|
+
```
|
|
895
|
+
|
|
896
|
+
```bash packageManager="bun"
|
|
897
|
+
bun run build # Or bun run dev
|
|
898
|
+
```
|
|
899
|
+
|
|
900
|
+
</Tab>
|
|
901
|
+
</Tabs>
|
|
902
|
+
|
|
747
903
|
### 더 나아가기
|
|
748
904
|
|
|
749
905
|
- **비주얼 에디터**: UI에서 직접 번역을 편집할 수 있도록 [Intlayer 비주얼 에디터](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/intlayer_visual_editor.md)를 통합하세요.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-09-09
|
|
3
|
-
updatedAt:
|
|
3
|
+
updatedAt: 2026-03-12
|
|
4
4
|
title: Tanstack Start i18n - Tanstack Start 앱 번역 방법 2026
|
|
5
5
|
description: Intlayer를 사용하여 TanStack Start 애플리케이션에 국제화(i18n)를 추가하는 방법을 알아보세요. 로케일 인식 라우팅으로 앱을 다국어화하기 위한 이 포괄적인 가이드를 따르세요.
|
|
6
6
|
keywords:
|
|
@@ -773,6 +773,164 @@ TypeScript 구성에 자동 생성된 유형이 포함되어 있는지 확인하
|
|
|
773
773
|
|
|
774
774
|
---
|
|
775
775
|
|
|
776
|
+
### (선택 사항) 단계 1 : 컴포넌트 콘텐츠 추출
|
|
777
|
+
|
|
778
|
+
기존 코드베이스가 있는 경우 수천 개의 파일을 변환하는 데 시간이 많이 걸릴 수 있습니다.
|
|
779
|
+
|
|
780
|
+
이 프로세스를 용이하게 하기 위해 Intlayer는 컴포넌트를 변환하고 콘텐츠를 추출하기 위한 [컴파일러](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/compiler.md) / [추출기](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/cli/extract.md)를 제안합니다.
|
|
781
|
+
|
|
782
|
+
설정하려면 `intlayer.config.ts` 파일에 `compiler` 섹션을 추가할 수 있습니다.
|
|
783
|
+
|
|
784
|
+
```typescript fileName="intlayer.config.ts" codeFormat="typescript"
|
|
785
|
+
import { type IntlayerConfig } from "intlayer";
|
|
786
|
+
|
|
787
|
+
const config: IntlayerConfig = {
|
|
788
|
+
// ... 나머지 구성
|
|
789
|
+
compiler: {
|
|
790
|
+
/**
|
|
791
|
+
* 컴파일러 활성화 여부를 나타냅니다.
|
|
792
|
+
*/
|
|
793
|
+
enabled: true,
|
|
794
|
+
|
|
795
|
+
/**
|
|
796
|
+
* 출력 파일 경로를 정의합니다.
|
|
797
|
+
*/
|
|
798
|
+
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
799
|
+
|
|
800
|
+
/**
|
|
801
|
+
* 변환 후 컴포넌트를 저장할지 여부를 나타냅니다. 그렇게 하면 컴파일러를 한 번만 실행하여 앱을 변환한 다음 제거할 수 있습니다.
|
|
802
|
+
*/
|
|
803
|
+
saveComponents: false,
|
|
804
|
+
|
|
805
|
+
/**
|
|
806
|
+
* 사전 키 접두사
|
|
807
|
+
*/
|
|
808
|
+
dictionaryKeyPrefix: "",
|
|
809
|
+
},
|
|
810
|
+
};
|
|
811
|
+
|
|
812
|
+
export default config;
|
|
813
|
+
```
|
|
814
|
+
|
|
815
|
+
```javascript fileName="intlayer.config.mjs" codeFormat="esm"
|
|
816
|
+
/** @type {import('intlayer').IntlayerConfig} */
|
|
817
|
+
const config = {
|
|
818
|
+
// ... 나머지 구성
|
|
819
|
+
compiler: {
|
|
820
|
+
/**
|
|
821
|
+
* 컴파일러 활성화 여부를 나타냅니다.
|
|
822
|
+
*/
|
|
823
|
+
enabled: true,
|
|
824
|
+
|
|
825
|
+
/**
|
|
826
|
+
* 출력 파일 경로를 정의합니다.
|
|
827
|
+
*/
|
|
828
|
+
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
829
|
+
|
|
830
|
+
/**
|
|
831
|
+
* 변환 후 컴포넌트를 저장할지 여부를 나타냅니다. 그렇게 하면 컴파일러를 한 번만 실행하여 앱을 변환한 다음 제거할 수 있습니다.
|
|
832
|
+
*/
|
|
833
|
+
saveComponents: false,
|
|
834
|
+
|
|
835
|
+
/**
|
|
836
|
+
* 사전 키 접두사
|
|
837
|
+
*/
|
|
838
|
+
dictionaryKeyPrefix: "",
|
|
839
|
+
},
|
|
840
|
+
};
|
|
841
|
+
|
|
842
|
+
export default config;
|
|
843
|
+
```
|
|
844
|
+
|
|
845
|
+
```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
|
|
846
|
+
/** @type {import('intlayer').IntlayerConfig} */
|
|
847
|
+
const config = {
|
|
848
|
+
// ... 나머지 구성
|
|
849
|
+
compiler: {
|
|
850
|
+
/**
|
|
851
|
+
* 컴파일러 활성화 여부를 나타냅니다.
|
|
852
|
+
*/
|
|
853
|
+
enabled: true,
|
|
854
|
+
|
|
855
|
+
/**
|
|
856
|
+
* 출력 파일 경로를 정의합니다.
|
|
857
|
+
*/
|
|
858
|
+
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
859
|
+
|
|
860
|
+
/**
|
|
861
|
+
* 변환 후 컴포넌트를 저장할지 여부를 나타냅니다. 그렇게 하면 컴파일러를 한 번만 실행하여 앱을 변환한 다음 제거할 수 있습니다.
|
|
862
|
+
*/
|
|
863
|
+
saveComponents: false,
|
|
864
|
+
|
|
865
|
+
/**
|
|
866
|
+
* 사전 키 접두사
|
|
867
|
+
*/
|
|
868
|
+
dictionaryKeyPrefix: "",
|
|
869
|
+
},
|
|
870
|
+
};
|
|
871
|
+
|
|
872
|
+
module.exports = config;
|
|
873
|
+
```
|
|
874
|
+
|
|
875
|
+
<Tabs>
|
|
876
|
+
<Tab value='추출 명령'>
|
|
877
|
+
|
|
878
|
+
컴포넌트를 변환하고 콘텐츠를 추출하기 위해 추출기를 실행합니다
|
|
879
|
+
|
|
880
|
+
```bash packageManager="npm"
|
|
881
|
+
npx intlayer extract
|
|
882
|
+
```
|
|
883
|
+
|
|
884
|
+
```bash packageManager="pnpm"
|
|
885
|
+
pnpm intlayer extract
|
|
886
|
+
```
|
|
887
|
+
|
|
888
|
+
```bash packageManager="yarn"
|
|
889
|
+
yarn intlayer extract
|
|
890
|
+
```
|
|
891
|
+
|
|
892
|
+
```bash packageManager="bun"
|
|
893
|
+
bunx intlayer extract
|
|
894
|
+
```
|
|
895
|
+
|
|
896
|
+
</Tab>
|
|
897
|
+
<Tab value='Babel 컴파일러'>
|
|
898
|
+
|
|
899
|
+
`vite.config.ts`를 업데이트하여 `intlayerCompiler` 플러그인을 포함합니다.
|
|
900
|
+
|
|
901
|
+
```ts fileName="vite.config.ts"
|
|
902
|
+
import { defineConfig } from "vite";
|
|
903
|
+
import { intlayer, intlayerCompiler } from "vite-intlayer";
|
|
904
|
+
|
|
905
|
+
export default defineConfig({
|
|
906
|
+
plugins: [
|
|
907
|
+
intlayer(),
|
|
908
|
+
intlayerCompiler(), // 컴파일러 플러그인을 추가합니다
|
|
909
|
+
],
|
|
910
|
+
});
|
|
911
|
+
```
|
|
912
|
+
|
|
913
|
+
```bash packageManager="npm"
|
|
914
|
+
npm run build # 또는 npm run dev
|
|
915
|
+
```
|
|
916
|
+
|
|
917
|
+
```bash packageManager="pnpm"
|
|
918
|
+
pnpm run build # 또는 pnpm run dev
|
|
919
|
+
```
|
|
920
|
+
|
|
921
|
+
```bash packageManager="yarn"
|
|
922
|
+
yarn build # 또는 yarn dev
|
|
923
|
+
```
|
|
924
|
+
|
|
925
|
+
```bash packageManager="bun"
|
|
926
|
+
bun run build # Or bun run dev
|
|
927
|
+
```
|
|
928
|
+
|
|
929
|
+
</Tab>
|
|
930
|
+
</Tabs>
|
|
931
|
+
|
|
932
|
+
---
|
|
933
|
+
|
|
776
934
|
### Git 구성
|
|
777
935
|
|
|
778
936
|
Intlayer에서 생성된 파일은 무시하는 것이 좋습니다. 이를 통해 Git 저장소에 커밋되는 것을 방지할 수 있습니다.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-04-18
|
|
3
|
-
updatedAt:
|
|
3
|
+
updatedAt: 2026-03-12
|
|
4
4
|
title: Vite + Preact i18n - Preact 앱 번역 방법 2026
|
|
5
5
|
description: Vite와 Preact 웹사이트를 다국어로 만드는 방법을 알아보세요. 국제화(i18n) 및 번역을 위한 문서를 따라가세요.
|
|
6
6
|
keywords:
|
|
@@ -1359,6 +1359,162 @@ Intlayer 개발 경험을 향상시키기 위해 공식 **Intlayer VS Code 확
|
|
|
1359
1359
|
|
|
1360
1360
|
---
|
|
1361
1361
|
|
|
1362
|
+
### (선택 사항) 단계 1 : 컴포넌트 콘텐츠 추출
|
|
1363
|
+
|
|
1364
|
+
기존 코드베이스가 있는 경우 수천 개의 파일을 변환하는 데 시간이 많이 걸릴 수 있습니다.
|
|
1365
|
+
|
|
1366
|
+
이 프로세스를 용이하게 하기 위해 Intlayer는 컴포넌트를 변환하고 콘텐츠를 추출하기 위한 [컴파일러](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/compiler.md) / [추출기](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/cli/extract.md)를 제안합니다.
|
|
1367
|
+
|
|
1368
|
+
설정하려면 `intlayer.config.ts` 파일에 `compiler` 섹션을 추가할 수 있습니다.
|
|
1369
|
+
|
|
1370
|
+
```typescript fileName="intlayer.config.ts" codeFormat="typescript"
|
|
1371
|
+
import { type IntlayerConfig } from "intlayer";
|
|
1372
|
+
|
|
1373
|
+
const config: IntlayerConfig = {
|
|
1374
|
+
// ... 나머지 구성
|
|
1375
|
+
compiler: {
|
|
1376
|
+
/**
|
|
1377
|
+
* 컴파일러 활성화 여부를 나타냅니다.
|
|
1378
|
+
*/
|
|
1379
|
+
enabled: true,
|
|
1380
|
+
|
|
1381
|
+
/**
|
|
1382
|
+
* 출력 파일 경로를 정의합니다.
|
|
1383
|
+
*/
|
|
1384
|
+
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
1385
|
+
|
|
1386
|
+
/**
|
|
1387
|
+
* 변환 후 컴포넌트를 저장할지 여부를 나타냅니다. 그렇게 하면 컴파일러를 한 번만 실행하여 앱을 변환한 다음 제거할 수 있습니다.
|
|
1388
|
+
*/
|
|
1389
|
+
saveComponents: false,
|
|
1390
|
+
|
|
1391
|
+
/**
|
|
1392
|
+
* 사전 키 접두사
|
|
1393
|
+
*/
|
|
1394
|
+
dictionaryKeyPrefix: "",
|
|
1395
|
+
},
|
|
1396
|
+
};
|
|
1397
|
+
|
|
1398
|
+
export default config;
|
|
1399
|
+
```
|
|
1400
|
+
|
|
1401
|
+
```javascript fileName="intlayer.config.mjs" codeFormat="esm"
|
|
1402
|
+
/** @type {import('intlayer').IntlayerConfig} */
|
|
1403
|
+
const config = {
|
|
1404
|
+
// ... 나머지 구성
|
|
1405
|
+
compiler: {
|
|
1406
|
+
/**
|
|
1407
|
+
* 컴파일러 활성화 여부를 나타냅니다.
|
|
1408
|
+
*/
|
|
1409
|
+
enabled: true,
|
|
1410
|
+
|
|
1411
|
+
/**
|
|
1412
|
+
* 출력 파일 경로를 정의합니다.
|
|
1413
|
+
*/
|
|
1414
|
+
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
1415
|
+
|
|
1416
|
+
/**
|
|
1417
|
+
* 변환 후 컴포넌트를 저장할지 여부를 나타냅니다. 그렇게 하면 컴파일러를 한 번만 실행하여 앱을 변환한 다음 제거할 수 있습니다.
|
|
1418
|
+
*/
|
|
1419
|
+
saveComponents: false,
|
|
1420
|
+
|
|
1421
|
+
/**
|
|
1422
|
+
* 사전 키 접두사
|
|
1423
|
+
*/
|
|
1424
|
+
dictionaryKeyPrefix: "",
|
|
1425
|
+
},
|
|
1426
|
+
};
|
|
1427
|
+
|
|
1428
|
+
export default config;
|
|
1429
|
+
```
|
|
1430
|
+
|
|
1431
|
+
```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
|
|
1432
|
+
/** @type {import('intlayer').IntlayerConfig} */
|
|
1433
|
+
const config = {
|
|
1434
|
+
// ... 나머지 구성
|
|
1435
|
+
compiler: {
|
|
1436
|
+
/**
|
|
1437
|
+
* 컴파일러 활성화 여부를 나타냅니다.
|
|
1438
|
+
*/
|
|
1439
|
+
enabled: true,
|
|
1440
|
+
|
|
1441
|
+
/**
|
|
1442
|
+
* 출력 파일 경로를 정의합니다.
|
|
1443
|
+
*/
|
|
1444
|
+
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
1445
|
+
|
|
1446
|
+
/**
|
|
1447
|
+
* 변환 후 컴포넌트를 저장할지 여부를 나타냅니다. 그렇게 하면 컴파일러를 한 번만 실행하여 앱을 변환한 다음 제거할 수 있습니다.
|
|
1448
|
+
*/
|
|
1449
|
+
saveComponents: false,
|
|
1450
|
+
|
|
1451
|
+
/**
|
|
1452
|
+
* 사전 키 접두사
|
|
1453
|
+
*/
|
|
1454
|
+
dictionaryKeyPrefix: "",
|
|
1455
|
+
},
|
|
1456
|
+
};
|
|
1457
|
+
|
|
1458
|
+
module.exports = config;
|
|
1459
|
+
```
|
|
1460
|
+
|
|
1461
|
+
<Tabs>
|
|
1462
|
+
<Tab value='추출 명령'>
|
|
1463
|
+
|
|
1464
|
+
컴포넌트를 변환하고 콘텐츠를 추출하기 위해 추출기를 실행합니다
|
|
1465
|
+
|
|
1466
|
+
```bash packageManager="npm"
|
|
1467
|
+
npx intlayer extract
|
|
1468
|
+
```
|
|
1469
|
+
|
|
1470
|
+
```bash packageManager="pnpm"
|
|
1471
|
+
pnpm intlayer extract
|
|
1472
|
+
```
|
|
1473
|
+
|
|
1474
|
+
```bash packageManager="yarn"
|
|
1475
|
+
yarn intlayer extract
|
|
1476
|
+
```
|
|
1477
|
+
|
|
1478
|
+
```bash packageManager="bun"
|
|
1479
|
+
bunx intlayer extract
|
|
1480
|
+
```
|
|
1481
|
+
|
|
1482
|
+
</Tab>
|
|
1483
|
+
<Tab value='Babel 컴파일러'>
|
|
1484
|
+
|
|
1485
|
+
`vite.config.ts`를 업데이트하여 `intlayerCompiler` 플러그인을 포함합니다.
|
|
1486
|
+
|
|
1487
|
+
```ts fileName="vite.config.ts"
|
|
1488
|
+
import { defineConfig } from "vite";
|
|
1489
|
+
import { intlayer, intlayerCompiler } from "vite-intlayer";
|
|
1490
|
+
|
|
1491
|
+
export default defineConfig({
|
|
1492
|
+
plugins: [
|
|
1493
|
+
intlayer(),
|
|
1494
|
+
intlayerCompiler(), // 컴파일러 플러그인을 추가합니다
|
|
1495
|
+
],
|
|
1496
|
+
});
|
|
1497
|
+
```
|
|
1498
|
+
|
|
1499
|
+
```bash packageManager="npm"
|
|
1500
|
+
npm run build # 또는 npm run dev
|
|
1501
|
+
```
|
|
1502
|
+
|
|
1503
|
+
```bash packageManager="pnpm"
|
|
1504
|
+
pnpm run build # 또는 pnpm run dev
|
|
1505
|
+
```
|
|
1506
|
+
|
|
1507
|
+
```bash packageManager="yarn"
|
|
1508
|
+
yarn build # 또는 yarn dev
|
|
1509
|
+
```
|
|
1510
|
+
|
|
1511
|
+
```bash packageManager="bun"
|
|
1512
|
+
bun run build # Or bun run dev
|
|
1513
|
+
```
|
|
1514
|
+
|
|
1515
|
+
</Tab>
|
|
1516
|
+
</Tabs>
|
|
1517
|
+
|
|
1362
1518
|
### 더 나아가기
|
|
1363
1519
|
|
|
1364
1520
|
더 나아가려면, [비주얼 에디터](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/intlayer_visual_editor.md)를 구현하거나 [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/intlayer_CMS.md)를 사용하여 콘텐츠를 외부화할 수 있습니다.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2024-03-07
|
|
3
|
-
updatedAt:
|
|
3
|
+
updatedAt: 2026-03-12
|
|
4
4
|
title: Vite + React i18n - React 앱 번역 방법 2026
|
|
5
5
|
description: Intlayer를 사용하여 Vite 및 React 애플리케이션에 국제화(i18n)를 추가하는 방법을 배우세요. 이 가이드를 따라 앱을 다국어로 만드세요.
|
|
6
6
|
keywords:
|
|
@@ -1406,6 +1406,162 @@ Intlayer와 함께 개발 경험을 향상시키기 위해 공식 **Intlayer VS
|
|
|
1406
1406
|
|
|
1407
1407
|
---
|
|
1408
1408
|
|
|
1409
|
+
### (선택 사항) 단계 1 : 컴포넌트 콘텐츠 추출
|
|
1410
|
+
|
|
1411
|
+
기존 코드베이스가 있는 경우 수천 개의 파일을 변환하는 데 시간이 많이 걸릴 수 있습니다.
|
|
1412
|
+
|
|
1413
|
+
이 프로세스를 용이하게 하기 위해 Intlayer는 컴포넌트를 변환하고 콘텐츠를 추출하기 위한 [컴파일러](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/compiler.md) / [추출기](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/cli/extract.md)를 제안합니다.
|
|
1414
|
+
|
|
1415
|
+
설정하려면 `intlayer.config.ts` 파일에 `compiler` 섹션을 추가할 수 있습니다.
|
|
1416
|
+
|
|
1417
|
+
```typescript fileName="intlayer.config.ts" codeFormat="typescript"
|
|
1418
|
+
import { type IntlayerConfig } from "intlayer";
|
|
1419
|
+
|
|
1420
|
+
const config: IntlayerConfig = {
|
|
1421
|
+
// ... 나머지 구성
|
|
1422
|
+
compiler: {
|
|
1423
|
+
/**
|
|
1424
|
+
* 컴파일러 활성화 여부를 나타냅니다.
|
|
1425
|
+
*/
|
|
1426
|
+
enabled: true,
|
|
1427
|
+
|
|
1428
|
+
/**
|
|
1429
|
+
* 출력 파일 경로를 정의합니다.
|
|
1430
|
+
*/
|
|
1431
|
+
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
1432
|
+
|
|
1433
|
+
/**
|
|
1434
|
+
* 변환 후 컴포넌트를 저장할지 여부를 나타냅니다. 그렇게 하면 컴파일러를 한 번만 실행하여 앱을 변환한 다음 제거할 수 있습니다.
|
|
1435
|
+
*/
|
|
1436
|
+
saveComponents: false,
|
|
1437
|
+
|
|
1438
|
+
/**
|
|
1439
|
+
* 사전 키 접두사
|
|
1440
|
+
*/
|
|
1441
|
+
dictionaryKeyPrefix: "",
|
|
1442
|
+
},
|
|
1443
|
+
};
|
|
1444
|
+
|
|
1445
|
+
export default config;
|
|
1446
|
+
```
|
|
1447
|
+
|
|
1448
|
+
```javascript fileName="intlayer.config.mjs" codeFormat="esm"
|
|
1449
|
+
/** @type {import('intlayer').IntlayerConfig} */
|
|
1450
|
+
const config = {
|
|
1451
|
+
// ... 나머지 구성
|
|
1452
|
+
compiler: {
|
|
1453
|
+
/**
|
|
1454
|
+
* 컴파일러 활성화 여부를 나타냅니다.
|
|
1455
|
+
*/
|
|
1456
|
+
enabled: true,
|
|
1457
|
+
|
|
1458
|
+
/**
|
|
1459
|
+
* 출력 파일 경로를 정의합니다.
|
|
1460
|
+
*/
|
|
1461
|
+
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
1462
|
+
|
|
1463
|
+
/**
|
|
1464
|
+
* 변환 후 컴포넌트를 저장할지 여부를 나타냅니다. 그렇게 하면 컴파일러를 한 번만 실행하여 앱을 변환한 다음 제거할 수 있습니다.
|
|
1465
|
+
*/
|
|
1466
|
+
saveComponents: false,
|
|
1467
|
+
|
|
1468
|
+
/**
|
|
1469
|
+
* 사전 키 접두사
|
|
1470
|
+
*/
|
|
1471
|
+
dictionaryKeyPrefix: "",
|
|
1472
|
+
},
|
|
1473
|
+
};
|
|
1474
|
+
|
|
1475
|
+
export default config;
|
|
1476
|
+
```
|
|
1477
|
+
|
|
1478
|
+
```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
|
|
1479
|
+
/** @type {import('intlayer').IntlayerConfig} */
|
|
1480
|
+
const config = {
|
|
1481
|
+
// ... 나머지 구성
|
|
1482
|
+
compiler: {
|
|
1483
|
+
/**
|
|
1484
|
+
* 컴파일러 활성화 여부를 나타냅니다.
|
|
1485
|
+
*/
|
|
1486
|
+
enabled: true,
|
|
1487
|
+
|
|
1488
|
+
/**
|
|
1489
|
+
* 출력 파일 경로를 정의합니다.
|
|
1490
|
+
*/
|
|
1491
|
+
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
1492
|
+
|
|
1493
|
+
/**
|
|
1494
|
+
* 변환 후 컴포넌트를 저장할지 여부를 나타냅니다. 그렇게 하면 컴파일러를 한 번만 실행하여 앱을 변환한 다음 제거할 수 있습니다.
|
|
1495
|
+
*/
|
|
1496
|
+
saveComponents: false,
|
|
1497
|
+
|
|
1498
|
+
/**
|
|
1499
|
+
* 사전 키 접두사
|
|
1500
|
+
*/
|
|
1501
|
+
dictionaryKeyPrefix: "",
|
|
1502
|
+
},
|
|
1503
|
+
};
|
|
1504
|
+
|
|
1505
|
+
module.exports = config;
|
|
1506
|
+
```
|
|
1507
|
+
|
|
1508
|
+
<Tabs>
|
|
1509
|
+
<Tab value='추출 명령'>
|
|
1510
|
+
|
|
1511
|
+
컴포넌트를 변환하고 콘텐츠를 추출하기 위해 추출기를 실행합니다
|
|
1512
|
+
|
|
1513
|
+
```bash packageManager="npm"
|
|
1514
|
+
npx intlayer extract
|
|
1515
|
+
```
|
|
1516
|
+
|
|
1517
|
+
```bash packageManager="pnpm"
|
|
1518
|
+
pnpm intlayer extract
|
|
1519
|
+
```
|
|
1520
|
+
|
|
1521
|
+
```bash packageManager="yarn"
|
|
1522
|
+
yarn intlayer extract
|
|
1523
|
+
```
|
|
1524
|
+
|
|
1525
|
+
```bash packageManager="bun"
|
|
1526
|
+
bunx intlayer extract
|
|
1527
|
+
```
|
|
1528
|
+
|
|
1529
|
+
</Tab>
|
|
1530
|
+
<Tab value='Babel 컴파일러'>
|
|
1531
|
+
|
|
1532
|
+
`vite.config.ts`를 업데이트하여 `intlayerCompiler` 플러그인을 포함합니다.
|
|
1533
|
+
|
|
1534
|
+
```ts fileName="vite.config.ts"
|
|
1535
|
+
import { defineConfig } from "vite";
|
|
1536
|
+
import { intlayer, intlayerCompiler } from "vite-intlayer";
|
|
1537
|
+
|
|
1538
|
+
export default defineConfig({
|
|
1539
|
+
plugins: [
|
|
1540
|
+
intlayer(),
|
|
1541
|
+
intlayerCompiler(), // 컴파일러 플러그인을 추가합니다
|
|
1542
|
+
],
|
|
1543
|
+
});
|
|
1544
|
+
```
|
|
1545
|
+
|
|
1546
|
+
```bash packageManager="npm"
|
|
1547
|
+
npm run build # 또는 npm run dev
|
|
1548
|
+
```
|
|
1549
|
+
|
|
1550
|
+
```bash packageManager="pnpm"
|
|
1551
|
+
pnpm run build # 또는 pnpm run dev
|
|
1552
|
+
```
|
|
1553
|
+
|
|
1554
|
+
```bash packageManager="yarn"
|
|
1555
|
+
yarn build # 또는 yarn dev
|
|
1556
|
+
```
|
|
1557
|
+
|
|
1558
|
+
```bash packageManager="bun"
|
|
1559
|
+
bun run build # Or bun run dev
|
|
1560
|
+
```
|
|
1561
|
+
|
|
1562
|
+
</Tab>
|
|
1563
|
+
</Tabs>
|
|
1564
|
+
|
|
1409
1565
|
### 더 나아가기
|
|
1410
1566
|
|
|
1411
1567
|
더 나아가려면 [비주얼 에디터](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/intlayer_visual_editor.md)를 구현하거나 [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/intlayer_CMS.md)를 사용하여 콘텐츠를 외부화할 수 있습니다.
|