@intlayer/docs 7.5.10 → 7.5.12
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/intlayer_with_i18next.md +0 -2
- package/blog/ar/intlayer_with_next-i18next.md +0 -2
- package/blog/ar/intlayer_with_react-i18next.md +0 -2
- package/blog/de/intlayer_with_i18next.md +0 -45
- package/blog/de/intlayer_with_next-i18next.md +0 -46
- package/blog/de/intlayer_with_react-i18next.md +0 -2
- package/blog/en/intlayer_with_i18next.md +0 -46
- package/blog/en/intlayer_with_next-i18next.md +0 -48
- package/blog/en/intlayer_with_next-intl.md +0 -44
- package/blog/en/intlayer_with_react-i18next.md +0 -44
- package/blog/en/intlayer_with_react-intl.md +0 -42
- package/blog/en/intlayer_with_vue-i18n.md +0 -44
- package/blog/en-GB/intlayer_with_i18next.md +0 -45
- package/blog/en-GB/intlayer_with_next-i18next.md +0 -47
- package/blog/en-GB/intlayer_with_next-intl.md +0 -42
- package/blog/en-GB/intlayer_with_react-i18next.md +0 -43
- package/blog/en-GB/intlayer_with_react-intl.md +0 -42
- package/blog/en-GB/intlayer_with_vue-i18n.md +0 -46
- package/blog/es/intlayer_with_i18next.md +0 -45
- package/blog/es/intlayer_with_next-i18next.md +0 -47
- package/blog/es/intlayer_with_next-intl.md +0 -42
- package/blog/es/intlayer_with_react-i18next.md +0 -43
- package/blog/es/intlayer_with_react-intl.md +0 -42
- package/blog/es/intlayer_with_vue-i18n.md +0 -46
- package/blog/fr/intlayer_with_i18next.md +0 -45
- package/blog/fr/intlayer_with_next-i18next.md +0 -47
- package/blog/fr/intlayer_with_next-intl.md +0 -42
- package/blog/fr/intlayer_with_react-i18next.md +0 -43
- package/blog/fr/intlayer_with_react-intl.md +0 -42
- package/blog/fr/intlayer_with_vue-i18n.md +0 -46
- package/blog/hi/intlayer_with_i18next.md +0 -2
- package/blog/hi/intlayer_with_next-i18next.md +0 -2
- package/blog/hi/intlayer_with_react-i18next.md +0 -2
- package/blog/id/intlayer_with_i18next.md +0 -2
- package/blog/id/intlayer_with_next-i18next.md +0 -2
- package/blog/id/intlayer_with_react-i18next.md +0 -2
- package/blog/it/intlayer_with_i18next.md +0 -2
- package/blog/it/intlayer_with_next-i18next.md +0 -2
- package/blog/it/intlayer_with_react-i18next.md +0 -2
- package/blog/ja/intlayer_with_i18next.md +0 -45
- package/blog/ja/intlayer_with_next-i18next.md +0 -46
- package/blog/ja/intlayer_with_next-intl.md +0 -42
- package/blog/ja/intlayer_with_react-i18next.md +0 -42
- package/blog/ja/intlayer_with_react-intl.md +0 -42
- package/blog/ja/intlayer_with_vue-i18n.md +0 -46
- package/blog/ko/intlayer_with_i18next.md +0 -2
- package/blog/ko/intlayer_with_next-i18next.md +0 -2
- package/blog/ko/intlayer_with_react-i18next.md +0 -1
- package/blog/pl/intlayer_with_i18next.md +0 -45
- package/blog/pl/intlayer_with_next-i18next.md +0 -46
- package/blog/pl/intlayer_with_next-intl.md +0 -42
- package/blog/pl/intlayer_with_react-i18next.md +0 -43
- package/blog/pl/intlayer_with_react-intl.md +0 -42
- package/blog/pl/intlayer_with_vue-i18n.md +0 -46
- package/blog/pt/intlayer_with_i18next.md +0 -2
- package/blog/pt/intlayer_with_next-i18next.md +0 -2
- package/blog/pt/intlayer_with_react-i18next.md +0 -2
- package/blog/ru/intlayer_with_i18next.md +0 -45
- package/blog/ru/intlayer_with_next-i18next.md +0 -47
- package/blog/ru/intlayer_with_next-intl.md +0 -42
- package/blog/ru/intlayer_with_react-i18next.md +0 -43
- package/blog/ru/intlayer_with_react-intl.md +0 -42
- package/blog/ru/intlayer_with_vue-i18n.md +0 -46
- package/blog/tr/intlayer_with_i18next.md +0 -2
- package/blog/tr/intlayer_with_next-i18next.md +0 -1
- package/blog/tr/intlayer_with_react-i18next.md +0 -2
- package/blog/vi/intlayer_with_i18next.md +0 -2
- package/blog/vi/intlayer_with_next-i18next.md +0 -2
- package/blog/vi/intlayer_with_react-i18next.md +0 -2
- package/blog/zh/intlayer_with_i18next.md +0 -2
- package/blog/zh/intlayer_with_next-i18next.md +0 -2
- package/blog/zh/intlayer_with_react-i18next.md +0 -2
- package/blog/zh/intlayer_with_vue-i18n.md +0 -46
- package/dist/cjs/generated/blog.entry.cjs +58 -29
- package/dist/cjs/generated/blog.entry.cjs.map +1 -1
- package/dist/cjs/generated/docs.entry.cjs +254 -97
- package/dist/cjs/generated/docs.entry.cjs.map +1 -1
- package/dist/cjs/generated/frequentQuestions.entry.cjs +30 -15
- package/dist/cjs/generated/frequentQuestions.entry.cjs.map +1 -1
- package/dist/cjs/generated/legal.entry.cjs +4 -2
- package/dist/cjs/generated/legal.entry.cjs.map +1 -1
- package/dist/esm/generated/blog.entry.mjs +58 -29
- package/dist/esm/generated/blog.entry.mjs.map +1 -1
- package/dist/esm/generated/docs.entry.mjs +254 -97
- package/dist/esm/generated/docs.entry.mjs.map +1 -1
- package/dist/esm/generated/frequentQuestions.entry.mjs +30 -15
- package/dist/esm/generated/frequentQuestions.entry.mjs.map +1 -1
- package/dist/esm/generated/legal.entry.mjs +4 -2
- package/dist/esm/generated/legal.entry.mjs.map +1 -1
- package/dist/types/generated/blog.entry.d.ts.map +1 -1
- package/dist/types/generated/docs.entry.d.ts +3 -0
- package/dist/types/generated/docs.entry.d.ts.map +1 -1
- package/dist/types/generated/frequentQuestions.entry.d.ts.map +1 -1
- package/dist/types/generated/legal.entry.d.ts.map +1 -1
- package/docs/ar/cli/ci.md +137 -0
- package/docs/ar/cli/index.md +7 -1
- package/docs/ar/cli/list.md +39 -2
- package/docs/ar/cli/list_projects.md +131 -0
- package/docs/ar/intlayer_CMS.md +20 -0
- package/docs/ar/intlayer_with_next-i18next.md +0 -1
- package/docs/ar/intlayer_with_nextjs_14.md +28 -0
- package/docs/ar/intlayer_with_nextjs_15.md +28 -0
- package/docs/ar/intlayer_with_nextjs_16.md +28 -0
- package/docs/ar/intlayer_with_nextjs_no_locale_path.md +1159 -0
- package/docs/ar/plugins/sync-json.md +6 -2
- package/docs/de/cli/ci.md +137 -0
- package/docs/de/cli/index.md +7 -1
- package/docs/de/cli/list.md +39 -2
- package/docs/de/cli/list_projects.md +130 -0
- package/docs/de/intlayer_CMS.md +20 -0
- package/docs/de/intlayer_with_next-i18next.md +0 -1
- package/docs/de/intlayer_with_nextjs_14.md +28 -0
- package/docs/de/intlayer_with_nextjs_15.md +28 -0
- package/docs/de/intlayer_with_nextjs_16.md +28 -0
- package/docs/de/intlayer_with_nextjs_no_locale_path.md +1152 -0
- package/docs/de/plugins/sync-json.md +6 -2
- package/docs/en/cli/ci.md +137 -0
- package/docs/en/cli/index.md +14 -1
- package/docs/en/cli/list.md +39 -2
- package/docs/en/cli/list_projects.md +128 -0
- package/docs/en/interest_of_intlayer.md +1 -1
- package/docs/en/intlayer_CMS.md +20 -0
- package/docs/en/intlayer_with_next-i18next.md +0 -1
- package/docs/en/intlayer_with_nextjs_14.md +28 -0
- package/docs/en/intlayer_with_nextjs_15.md +28 -0
- package/docs/en/intlayer_with_nextjs_16.md +31 -1
- package/docs/en/intlayer_with_nextjs_no_locale_path.md +1132 -0
- package/docs/en/plugins/sync-json.md +6 -2
- package/docs/en-GB/cli/ci.md +137 -0
- package/docs/en-GB/cli/index.md +7 -1
- package/docs/en-GB/cli/list.md +39 -2
- package/docs/en-GB/cli/list_projects.md +130 -0
- package/docs/en-GB/intlayer_CMS.md +20 -0
- package/docs/en-GB/intlayer_with_next-i18next.md +0 -1
- package/docs/en-GB/intlayer_with_nextjs_14.md +28 -0
- package/docs/en-GB/intlayer_with_nextjs_15.md +28 -0
- package/docs/en-GB/intlayer_with_nextjs_16.md +28 -0
- package/docs/en-GB/intlayer_with_nextjs_no_locale_path.md +1154 -0
- package/docs/en-GB/plugins/sync-json.md +6 -2
- package/docs/es/cli/ci.md +137 -0
- package/docs/es/cli/index.md +7 -1
- package/docs/es/cli/list.md +39 -2
- package/docs/es/cli/list_projects.md +130 -0
- package/docs/es/intlayer_CMS.md +20 -0
- package/docs/es/intlayer_with_next-i18next.md +0 -1
- package/docs/es/intlayer_with_nextjs_14.md +28 -0
- package/docs/es/intlayer_with_nextjs_15.md +28 -0
- package/docs/es/intlayer_with_nextjs_16.md +28 -0
- package/docs/es/intlayer_with_nextjs_no_locale_path.md +1143 -0
- package/docs/es/plugins/sync-json.md +6 -2
- package/docs/fr/cli/ci.md +137 -0
- package/docs/fr/cli/index.md +7 -1
- package/docs/fr/cli/list.md +39 -2
- package/docs/fr/cli/list_projects.md +131 -0
- package/docs/fr/intlayer_CMS.md +20 -0
- package/docs/fr/intlayer_with_next-i18next.md +0 -1
- package/docs/fr/intlayer_with_nextjs_14.md +28 -0
- package/docs/fr/intlayer_with_nextjs_15.md +28 -0
- package/docs/fr/intlayer_with_nextjs_16.md +28 -0
- package/docs/fr/intlayer_with_nextjs_no_locale_path.md +1174 -0
- package/docs/fr/plugins/sync-json.md +9 -5
- package/docs/hi/cli/ci.md +137 -0
- package/docs/hi/cli/index.md +7 -1
- package/docs/hi/cli/list.md +38 -1
- package/docs/hi/cli/list_projects.md +130 -0
- package/docs/hi/intlayer_CMS.md +20 -0
- package/docs/hi/intlayer_with_next-i18next.md +0 -1
- package/docs/hi/intlayer_with_nextjs_14.md +28 -0
- package/docs/hi/intlayer_with_nextjs_15.md +28 -0
- package/docs/hi/intlayer_with_nextjs_16.md +28 -0
- package/docs/hi/intlayer_with_nextjs_no_locale_path.md +1151 -0
- package/docs/hi/plugins/sync-json.md +6 -2
- package/docs/id/cli/ci.md +137 -0
- package/docs/id/cli/index.md +7 -1
- package/docs/id/cli/list.md +38 -1
- package/docs/id/cli/list_projects.md +128 -0
- package/docs/id/intlayer_CMS.md +20 -0
- package/docs/id/intlayer_with_next-i18next.md +0 -1
- package/docs/id/intlayer_with_nextjs_14.md +28 -0
- package/docs/id/intlayer_with_nextjs_15.md +28 -0
- package/docs/id/intlayer_with_nextjs_16.md +28 -0
- package/docs/id/intlayer_with_nextjs_no_locale_path.md +1154 -0
- package/docs/id/plugins/sync-json.md +6 -2
- package/docs/it/cli/ci.md +137 -0
- package/docs/it/cli/index.md +7 -1
- package/docs/it/cli/list.md +39 -2
- package/docs/it/cli/list_projects.md +130 -0
- package/docs/it/intlayer_CMS.md +20 -0
- package/docs/it/intlayer_with_next-i18next.md +0 -1
- package/docs/it/intlayer_with_nextjs_14.md +28 -0
- package/docs/it/intlayer_with_nextjs_15.md +28 -0
- package/docs/it/intlayer_with_nextjs_16.md +28 -0
- package/docs/it/intlayer_with_nextjs_no_locale_path.md +1148 -0
- package/docs/it/plugins/sync-json.md +6 -2
- package/docs/ja/cli/ci.md +137 -0
- package/docs/ja/cli/index.md +7 -1
- package/docs/ja/cli/list.md +38 -1
- package/docs/ja/cli/list_projects.md +136 -0
- package/docs/ja/intlayer_CMS.md +20 -0
- package/docs/ja/intlayer_with_next-i18next.md +0 -1
- package/docs/ja/intlayer_with_nextjs_14.md +28 -0
- package/docs/ja/intlayer_with_nextjs_15.md +28 -0
- package/docs/ja/intlayer_with_nextjs_16.md +28 -0
- package/docs/ja/intlayer_with_nextjs_no_locale_path.md +1222 -0
- package/docs/ja/plugins/sync-json.md +6 -2
- package/docs/ko/cli/ci.md +137 -0
- package/docs/ko/cli/index.md +7 -1
- package/docs/ko/cli/list.md +38 -1
- package/docs/ko/cli/list_projects.md +128 -0
- package/docs/ko/intlayer_CMS.md +20 -0
- package/docs/ko/intlayer_with_next-i18next.md +0 -1
- package/docs/ko/intlayer_with_nextjs_14.md +28 -0
- package/docs/ko/intlayer_with_nextjs_15.md +28 -0
- package/docs/ko/intlayer_with_nextjs_16.md +28 -0
- package/docs/ko/intlayer_with_nextjs_no_locale_path.md +1205 -0
- package/docs/ko/plugins/sync-json.md +6 -2
- package/docs/pl/cli/ci.md +137 -0
- package/docs/pl/cli/index.md +7 -1
- package/docs/pl/cli/list.md +39 -2
- package/docs/pl/cli/list_projects.md +130 -0
- package/docs/pl/intlayer_CMS.md +20 -0
- package/docs/pl/intlayer_with_next-i18next.md +0 -1
- package/docs/pl/intlayer_with_nextjs_14.md +28 -0
- package/docs/pl/intlayer_with_nextjs_15.md +28 -0
- package/docs/pl/intlayer_with_nextjs_16.md +28 -0
- package/docs/pl/intlayer_with_nextjs_no_locale_path.md +1149 -0
- package/docs/pl/plugins/sync-json.md +6 -2
- package/docs/pt/cli/ci.md +137 -0
- package/docs/pt/cli/index.md +7 -1
- package/docs/pt/cli/list.md +39 -2
- package/docs/pt/cli/list_projects.md +134 -0
- package/docs/pt/intlayer_CMS.md +20 -0
- package/docs/pt/intlayer_with_next-i18next.md +0 -1
- package/docs/pt/intlayer_with_nextjs_14.md +28 -0
- package/docs/pt/intlayer_with_nextjs_15.md +28 -0
- package/docs/pt/intlayer_with_nextjs_16.md +28 -0
- package/docs/pt/intlayer_with_nextjs_no_locale_path.md +1152 -0
- package/docs/pt/plugins/sync-json.md +6 -2
- package/docs/ru/cli/ci.md +137 -0
- package/docs/ru/cli/index.md +7 -1
- package/docs/ru/cli/list.md +39 -2
- package/docs/ru/cli/list_projects.md +130 -0
- package/docs/ru/intlayer_CMS.md +20 -0
- package/docs/ru/intlayer_with_next-i18next.md +0 -1
- package/docs/ru/intlayer_with_nextjs_14.md +28 -0
- package/docs/ru/intlayer_with_nextjs_15.md +28 -0
- package/docs/ru/intlayer_with_nextjs_16.md +28 -0
- package/docs/ru/intlayer_with_nextjs_no_locale_path.md +1204 -0
- package/docs/ru/plugins/sync-json.md +6 -2
- package/docs/tr/cli/ci.md +137 -0
- package/docs/tr/cli/index.md +7 -1
- package/docs/tr/cli/list.md +39 -2
- package/docs/tr/cli/list_projects.md +134 -0
- package/docs/tr/intlayer_CMS.md +20 -0
- package/docs/tr/intlayer_with_next-i18next.md +0 -1
- package/docs/tr/intlayer_with_nextjs_14.md +28 -0
- package/docs/tr/intlayer_with_nextjs_15.md +28 -0
- package/docs/tr/intlayer_with_nextjs_16.md +28 -0
- package/docs/tr/intlayer_with_nextjs_no_locale_path.md +1159 -0
- package/docs/tr/plugins/sync-json.md +6 -2
- package/docs/uk/compiler.md +133 -0
- package/docs/uk/component_i18n.md +194 -0
- package/docs/uk/intlayer_with_nextjs_14.md +1646 -0
- package/docs/uk/intlayer_with_nextjs_15.md +1910 -0
- package/docs/uk/intlayer_with_nextjs_16.md +1763 -0
- package/docs/uk/intlayer_with_nextjs_no_locale_path.md +1159 -0
- package/docs/uk/intlayer_with_react_native+expo.md +715 -0
- package/docs/uk/packages/intlayer/getConfiguration.md +145 -0
- package/docs/uk/vs_code_extension.md +133 -0
- package/docs/vi/cli/ci.md +137 -0
- package/docs/vi/cli/index.md +7 -1
- package/docs/vi/cli/list.md +38 -1
- package/docs/vi/cli/list_projects.md +130 -0
- package/docs/vi/intlayer_CMS.md +20 -0
- package/docs/vi/intlayer_with_next-i18next.md +0 -1
- package/docs/vi/intlayer_with_nextjs_14.md +28 -0
- package/docs/vi/intlayer_with_nextjs_15.md +28 -0
- package/docs/vi/intlayer_with_nextjs_16.md +28 -0
- package/docs/vi/intlayer_with_nextjs_no_locale_path.md +1151 -0
- package/docs/vi/plugins/sync-json.md +6 -2
- package/docs/zh/cli/ci.md +137 -0
- package/docs/zh/cli/index.md +7 -1
- package/docs/zh/cli/list.md +38 -1
- package/docs/zh/cli/list_projects.md +130 -0
- package/docs/zh/intlayer_CMS.md +20 -0
- package/docs/zh/intlayer_with_next-i18next.md +0 -1
- package/docs/zh/intlayer_with_nextjs_14.md +28 -0
- package/docs/zh/intlayer_with_nextjs_15.md +28 -0
- package/docs/zh/intlayer_with_nextjs_16.md +28 -0
- package/docs/zh/intlayer_with_nextjs_no_locale_path.md +1206 -0
- package/docs/zh/plugins/sync-json.md +9 -5
- package/frequent_questions/ar/SSR_Next_no_[locale].md +1 -1
- package/frequent_questions/de/SSR_Next_no_[locale].md +1 -1
- package/frequent_questions/en/SSR_Next_no_[locale].md +1 -1
- package/frequent_questions/en-GB/SSR_Next_no_[locale].md +1 -1
- package/frequent_questions/es/SSR_Next_no_[locale].md +1 -1
- package/frequent_questions/fr/SSR_Next_no_[locale].md +1 -1
- package/frequent_questions/hi/SSR_Next_no_[locale].md +1 -1
- package/frequent_questions/id/SSR_Next_no_[locale].md +1 -1
- package/frequent_questions/it/SSR_Next_no_[locale].md +1 -1
- package/frequent_questions/ja/SSR_Next_no_[locale].md +1 -1
- package/frequent_questions/ko/SSR_Next_no_[locale].md +1 -1
- package/frequent_questions/pl/SSR_Next_no_[locale].md +1 -1
- package/frequent_questions/pt/SSR_Next_no_[locale].md +1 -1
- package/frequent_questions/ru/SSR_Next_no_[locale].md +1 -1
- package/frequent_questions/tr/SSR_Next_no_[locale].md +1 -1
- package/frequent_questions/vi/SSR_Next_no_[locale].md +1 -1
- package/frequent_questions/zh/SSR_Next_no_[locale].md +1 -1
- package/package.json +6 -6
- package/src/generated/blog.entry.ts +29 -0
- package/src/generated/docs.entry.ts +157 -0
- package/src/generated/frequentQuestions.entry.ts +15 -0
- package/src/generated/legal.entry.ts +2 -0
|
@@ -108,18 +108,22 @@ syncJSON({
|
|
|
108
108
|
source: ({ key, locale }) => string, // 必須
|
|
109
109
|
location?: string, // オプションのラベル、デフォルト: "plugin"
|
|
110
110
|
priority?: number, // コンフリクト解決のためのオプションの優先度、デフォルト: 0
|
|
111
|
-
format?: 'intlayer' | 'icu' | 'i18next', //
|
|
111
|
+
format?: 'intlayer' | 'icu' | 'i18next', // オプションのフォーマッター、Intlayerランタイム互換性のために使用
|
|
112
112
|
});
|
|
113
113
|
```
|
|
114
114
|
|
|
115
115
|
#### `format` ('intlayer' | 'icu' | 'i18next')
|
|
116
116
|
|
|
117
|
-
JSON
|
|
117
|
+
JSONファイルを同期する際に辞書コンテンツに使用するフォーマッターを指定します。これにより、Intlayerランタイムと互換性のある異なるメッセージフォーマット構文を使用できます。
|
|
118
118
|
|
|
119
|
+
- `undefined`: フォーマッターは使用されず、JSONコンテンツはそのまま使用されます。
|
|
119
120
|
- `'intlayer'`: デフォルトのIntlayerフォーマッター(デフォルト)。
|
|
120
121
|
- `'icu'`: ICUメッセージフォーマットを使用します(react-intl、vue-i18nなどのライブラリと互換性があります)。
|
|
121
122
|
- `'i18next'`: i18nextメッセージフォーマットを使用します(i18next、next-i18next、Solid-i18nextと互換性があります)。
|
|
122
123
|
|
|
124
|
+
> フォーマッターを使用すると、JSONコンテンツの入力と出力が変換されることに注意してください。ICU複数形などの複雑なJSONルールの場合、パースは入力と出力の1対1のマッピングを保証できない場合があります。
|
|
125
|
+
> Intlayerランタイムを使用しない場合は、フォーマッターを設定しない方が良いかもしれません。
|
|
126
|
+
|
|
123
127
|
**例:**
|
|
124
128
|
|
|
125
129
|
```ts
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2026-01-06
|
|
3
|
+
updatedAt: 2026-01-06
|
|
4
|
+
title: CI 명령어
|
|
5
|
+
description: CI/CD 파이프라인 및 모노레포에서 자동으로 주입된 자격 증명으로 Intlayer 명령어를 실행하는 방법을 알아보세요.
|
|
6
|
+
keywords:
|
|
7
|
+
- CI
|
|
8
|
+
- CI/CD
|
|
9
|
+
- 자동화
|
|
10
|
+
- 모노레포
|
|
11
|
+
- 자격 증명
|
|
12
|
+
- CLI
|
|
13
|
+
- Intlayer
|
|
14
|
+
slugs:
|
|
15
|
+
- doc
|
|
16
|
+
- concept
|
|
17
|
+
- cli
|
|
18
|
+
- ci
|
|
19
|
+
history:
|
|
20
|
+
- version: 7.5.11
|
|
21
|
+
date: 2026-01-06
|
|
22
|
+
changes: CI 명령어 추가
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
# CI 명령어
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
npx intlayer ci <command...>
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
CI 명령어는 자동화 및 CI/CD 파이프라인을 위해 설계되었습니다. `INTLAYER_PROJECT_CREDENTIALS` 환경 변수에서 자격 증명을 자동으로 주입하고 모노레포의 여러 프로젝트에서 Intlayer 명령어를 실행할 수 있습니다.
|
|
32
|
+
|
|
33
|
+
## 작동 방식
|
|
34
|
+
|
|
35
|
+
CI 명령어는 두 가지 모드로 작동합니다:
|
|
36
|
+
|
|
37
|
+
1. **단일 프로젝트 모드**: 현재 작업 디렉토리가 `INTLAYER_PROJECT_CREDENTIALS`의 프로젝트 경로 중 하나와 일치하는 경우, 해당 특정 프로젝트에 대해서만 명령어를 실행합니다.
|
|
38
|
+
|
|
39
|
+
2. **반복 모드**: 특정 프로젝트 컨텍스트가 감지되지 않으면 모든 구성된 프로젝트를 반복하고 각 프로젝트에 대해 명령어를 실행합니다.
|
|
40
|
+
|
|
41
|
+
## 환경 변수
|
|
42
|
+
|
|
43
|
+
명령어는 `INTLAYER_PROJECT_CREDENTIALS` 환경 변수가 설정되어 있어야 합니다. 이 변수는 프로젝트 경로를 자격 증명에 매핑하는 JSON 객체를 포함해야 합니다:
|
|
44
|
+
|
|
45
|
+
```json
|
|
46
|
+
{
|
|
47
|
+
"packages/app": {
|
|
48
|
+
"clientId": "your-client-id-1",
|
|
49
|
+
"clientSecret": "your-client-secret-1"
|
|
50
|
+
},
|
|
51
|
+
"packages/admin": {
|
|
52
|
+
"clientId": "your-client-id-2",
|
|
53
|
+
"clientSecret": "your-client-secret-2"
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## 패키지 관리자 감지
|
|
59
|
+
|
|
60
|
+
CI 명령어는 `npm_config_user_agent` 환경 변수를 기반으로 사용 중인 패키지 관리자(npm, yarn, pnpm 또는 bun)를 자동으로 감지하고 Intlayer를 실행하는 데 적절한 명령어를 사용합니다.
|
|
61
|
+
|
|
62
|
+
## 인수
|
|
63
|
+
|
|
64
|
+
- **`<command...>`**: 실행할 Intlayer 명령어(예: `fill`, `push`, `build`). 모든 Intlayer 명령어와 해당 인수를 전달할 수 있습니다.
|
|
65
|
+
|
|
66
|
+
> 예: `npx intlayer ci fill --verbose`
|
|
67
|
+
>
|
|
68
|
+
> 예: `npx intlayer ci push`
|
|
69
|
+
>
|
|
70
|
+
> 예: `npx intlayer ci build`
|
|
71
|
+
|
|
72
|
+
## 예제
|
|
73
|
+
|
|
74
|
+
### 단일 프로젝트 모드에서 명령어 실행
|
|
75
|
+
|
|
76
|
+
`INTLAYER_PROJECT_CREDENTIALS`의 경로 중 하나와 일치하는 프로젝트 디렉토리에 있는 경우:
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
cd packages/app
|
|
80
|
+
npx intlayer ci fill
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
이렇게 하면 `packages/app` 프로젝트에 대해 자격 증명이 자동으로 주입되어 `fill` 명령어가 실행됩니다.
|
|
84
|
+
|
|
85
|
+
### 모든 프로젝트에서 명령어 실행
|
|
86
|
+
|
|
87
|
+
프로젝트 경로와 일치하지 않는 디렉토리에 있는 경우, 명령어는 모든 구성된 프로젝트를 반복합니다:
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
cd /path/to/monorepo
|
|
91
|
+
npx intlayer ci push
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
이렇게 하면 `INTLAYER_PROJECT_CREDENTIALS`에 구성된 각 프로젝트에 대해 `push` 명령어가 실행됩니다.
|
|
95
|
+
|
|
96
|
+
### 추가 플래그 전달
|
|
97
|
+
|
|
98
|
+
기본 Intlayer 명령어에 모든 플래그를 전달할 수 있습니다:
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
npx intlayer ci fill --verbose --mode complete
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### CI/CD 파이프라인에서 사용
|
|
105
|
+
|
|
106
|
+
CI/CD 구성(예: GitHub Actions, GitLab CI)에서 `INTLAYER_PROJECT_CREDENTIALS`를 비밀 값으로 설정합니다:
|
|
107
|
+
|
|
108
|
+
```yaml
|
|
109
|
+
# GitHub Actions 예제
|
|
110
|
+
env:
|
|
111
|
+
INTLAYER_PROJECT_CREDENTIALS: ${{ secrets.INTLAYER_PROJECT_CREDENTIALS }}
|
|
112
|
+
|
|
113
|
+
steps:
|
|
114
|
+
- name: 사전 채우기
|
|
115
|
+
run: npx intlayer ci fill
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
## 오류 처리
|
|
119
|
+
|
|
120
|
+
- `INTLAYER_PROJECT_CREDENTIALS`가 설정되지 않은 경우, 명령어는 오류로 종료됩니다.
|
|
121
|
+
- `INTLAYER_PROJECT_CREDENTIALS`가 유효한 JSON이 아닌 경우, 명령어는 오류로 종료됩니다.
|
|
122
|
+
- 프로젝트 경로가 존재하지 않는 경우, 경고와 함께 건너뜁니다.
|
|
123
|
+
- 프로젝트가 실패한 경우, 명령어는 0이 아닌 상태 코드로 종료됩니다.
|
|
124
|
+
|
|
125
|
+
## 사용 사례
|
|
126
|
+
|
|
127
|
+
- **모노레포 자동화**: 모노레포의 여러 프로젝트에서 Intlayer 명령어 실행
|
|
128
|
+
- **CI/CD 파이프라인**: 지속적 통합 워크플로우에서 사전 관리 자동화
|
|
129
|
+
- **일괄 작업**: 여러 Intlayer 프로젝트에 대해 동일한 작업을 한 번에 수행
|
|
130
|
+
- **비밀 관리**: 환경 변수를 사용하여 여러 프로젝트의 자격 증명을 안전하게 관리
|
|
131
|
+
|
|
132
|
+
## 보안 모범 사례
|
|
133
|
+
|
|
134
|
+
- CI/CD 플랫폼에서 `INTLAYER_PROJECT_CREDENTIALS`를 암호화된 비밀 값으로 저장
|
|
135
|
+
- 자격 증명을 버전 관리에 커밋하지 않기
|
|
136
|
+
- 다양한 배포 환경에 대해 환경별 자격 증명 사용
|
|
137
|
+
- 정기적으로 자격 증명 로테이션
|
package/docs/ko/cli/index.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2024-08-11
|
|
3
|
-
updatedAt:
|
|
3
|
+
updatedAt: 2026-01-06
|
|
4
4
|
title: CLI
|
|
5
5
|
description: Intlayer CLI를 사용하여 다국어 웹사이트를 관리하는 방법을 알아보세요. 이 온라인 문서의 단계를 따라 몇 분 만에 프로젝트를 설정할 수 있습니다.
|
|
6
6
|
keywords:
|
|
@@ -17,6 +17,9 @@ slugs:
|
|
|
17
17
|
- concept
|
|
18
18
|
- cli
|
|
19
19
|
history:
|
|
20
|
+
- version: 7.5.11
|
|
21
|
+
date: 2026-01-06
|
|
22
|
+
changes: projects list 명령어 추가
|
|
20
23
|
- version: 7.5.9
|
|
21
24
|
date: 2025-12-30
|
|
22
25
|
changes: init 명령어 추가
|
|
@@ -119,6 +122,7 @@ Intlayer는 여러 구성 파일 형식을 지원합니다:
|
|
|
119
122
|
- **[사전 빌드](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/cli/build.md)** - 콘텐츠 선언 파일에서 사전을 빌드합니다.
|
|
120
123
|
- **[사전 감시](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/cli/watch.md)** - 변경 사항을 감시하고 자동으로 사전을 빌드합니다.
|
|
121
124
|
- **[CLI 버전 확인](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/cli/version.md)** - 설치된 Intlayer CLI 버전을 확인합니다.
|
|
125
|
+
- **[프로젝트 목록](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/cli/list_projects.md)** - 디렉토리 또는 git 저장소의 모든 Intlayer 프로젝트를 나열합니다
|
|
122
126
|
|
|
123
127
|
### 사전 관리
|
|
124
128
|
|
|
@@ -166,6 +170,7 @@ Intlayer는 여러 구성 파일 형식을 지원합니다:
|
|
|
166
170
|
"intlayer:list": "npx intlayer content list",
|
|
167
171
|
"intlayer:test": "npx intlayer content test",
|
|
168
172
|
"intlayer:transform": "npx intlayer transform",
|
|
173
|
+
"intlayer:projects": "npx intlayer projects list",
|
|
169
174
|
"intlayer:doc:translate": "npx intlayer doc translate",
|
|
170
175
|
"intlayer:doc:review": "npx intlayer doc review"
|
|
171
176
|
}
|
|
@@ -175,3 +180,4 @@ Intlayer는 여러 구성 파일 형식을 지원합니다:
|
|
|
175
180
|
>
|
|
176
181
|
> - `npx intlayer list` 는 `npx intlayer content list` 대신 사용
|
|
177
182
|
> - `npx intlayer test` 는 `npx intlayer content test` 대신 사용
|
|
183
|
+
> - `npx intlayer projects-list` 또는 `npx intlayer pl` 는 `npx intlayer projects list` 대신 사용
|
package/docs/ko/cli/list.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2024-08-11
|
|
3
|
-
updatedAt:
|
|
3
|
+
updatedAt: 2026-01-06
|
|
4
4
|
title: 콘텐츠 선언 파일 목록
|
|
5
5
|
description: 프로젝트 내 모든 콘텐츠 선언 파일을 나열하는 방법을 알아보세요.
|
|
6
6
|
keywords:
|
|
@@ -13,6 +13,13 @@ slugs:
|
|
|
13
13
|
- concept
|
|
14
14
|
- cli
|
|
15
15
|
- list
|
|
16
|
+
history:
|
|
17
|
+
- version: 7.5.12
|
|
18
|
+
date: 2026-01-06
|
|
19
|
+
changes: list 명령에 절대 경로 출력 옵션 추가
|
|
20
|
+
- version: 7.5.11
|
|
21
|
+
date: 2026-01-06
|
|
22
|
+
changes: list 명령에 JSON 출력 옵션 추가
|
|
16
23
|
---
|
|
17
24
|
|
|
18
25
|
# 콘텐츠 선언 파일 목록
|
|
@@ -27,14 +34,36 @@ npx intlayer content list
|
|
|
27
34
|
|
|
28
35
|
이 명령어는 프로젝트 내 모든 콘텐츠 선언 파일을 표시하며, 해당 파일들의 딕셔너리 키와 파일 경로를 보여줍니다. 모든 콘텐츠 파일을 한눈에 파악하고 Intlayer가 제대로 인식하는지 확인하는 데 유용합니다.
|
|
29
36
|
|
|
37
|
+
## 인수:
|
|
38
|
+
|
|
39
|
+
- **`--json`**: 결과를 포맷된 텍스트 대신 JSON으로 출력합니다. 스크립팅 및 프로그래밍 방식 접근에 유용합니다.
|
|
40
|
+
|
|
41
|
+
> 예시: `npx intlayer content list --json`
|
|
42
|
+
|
|
30
43
|
## 예시:
|
|
31
44
|
|
|
45
|
+
### 콘텐츠 선언 파일 목록:
|
|
46
|
+
|
|
32
47
|
```bash
|
|
33
48
|
npx intlayer content list
|
|
34
49
|
```
|
|
35
50
|
|
|
51
|
+
### JSON으로 출력:
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
npx intlayer content list --json
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### 절대 경로로 출력:
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
npx intlayer content list --absolute
|
|
61
|
+
```
|
|
62
|
+
|
|
36
63
|
## 예시 출력:
|
|
37
64
|
|
|
65
|
+
### 포맷된 출력:
|
|
66
|
+
|
|
38
67
|
```bash
|
|
39
68
|
npx intlayer content list
|
|
40
69
|
Content declaration files:
|
|
@@ -45,6 +74,14 @@ Content declaration files:
|
|
|
45
74
|
총 콘텐츠 선언 파일 수: 3
|
|
46
75
|
```
|
|
47
76
|
|
|
77
|
+
### JSON 출력:
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
$ npx intlayer content list --json
|
|
81
|
+
|
|
82
|
+
[{"key":"home-page","path":"src/components/HomePage/homePage.content.ts"},{"key":"server-component","path":"src/components/ServerComponent/serverComponent.content.ts"},{"key":"client-component","path":"src/components/ClientComponent/clientComponent.content.ts"}]
|
|
83
|
+
```
|
|
84
|
+
|
|
48
85
|
이 명령어는 다음을 출력합니다:
|
|
49
86
|
|
|
50
87
|
- 키와 상대 파일 경로가 포함된 모든 콘텐츠 선언 파일의 형식화된 목록
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2025-12-30
|
|
3
|
+
updatedAt: 2026-01-06
|
|
4
|
+
title: Intlayer 프로젝트 목록
|
|
5
|
+
description: 디렉터리 또는 Git 저장소에서 모든 Intlayer 프로젝트를 나열하는 방법을 알아봅니다.
|
|
6
|
+
keywords:
|
|
7
|
+
- List
|
|
8
|
+
- Projects
|
|
9
|
+
- CLI
|
|
10
|
+
- Intlayer
|
|
11
|
+
- Git
|
|
12
|
+
slugs:
|
|
13
|
+
- doc
|
|
14
|
+
- concept
|
|
15
|
+
- cli
|
|
16
|
+
- list-projects
|
|
17
|
+
history:
|
|
18
|
+
- version: 7.5.12
|
|
19
|
+
date: 2026-01-06
|
|
20
|
+
changes: list projects 명령에 절대 경로 출력 옵션 추가
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
# Intlayer 프로젝트 목록
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
npx intlayer projects list
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
이 명령은 Intlayer 구성 파일을 포함하는 디렉터리를 찾아 모든 Intlayer 프로젝트를 검색하고 나열합니다. 모노레포, 워크스페이스 또는 Git 저장소에서 모든 Intlayer 프로젝트를 발견하는 데 유용합니다.
|
|
30
|
+
|
|
31
|
+
## 별칭:
|
|
32
|
+
|
|
33
|
+
- `npx intlayer projects-list`
|
|
34
|
+
- `npx intlayer pl`
|
|
35
|
+
|
|
36
|
+
## 인수:
|
|
37
|
+
|
|
38
|
+
- **`--base-dir [path]`**: 검색을 시작할 기준 디렉터리를 지정합니다. 기본값은 현재 작업 디렉터리입니다.
|
|
39
|
+
|
|
40
|
+
> 예: `npx intlayer projects list --base-dir /path/to/workspace`
|
|
41
|
+
|
|
42
|
+
- **`--git-root`**: 기준 디렉터리 대신 git 루트 디렉터리에서 검색합니다. 모노레포나 git 저장소에서 모든 Intlayer 프로젝트를 찾을 때 유용합니다.
|
|
43
|
+
|
|
44
|
+
> 예: `npx intlayer projects list --git-root`
|
|
45
|
+
|
|
46
|
+
- **`--json`**: 결과를 포맷된 텍스트 대신 JSON으로 출력합니다. 스크립팅 및 프로그래밍 방식 접근에 유용합니다.
|
|
47
|
+
|
|
48
|
+
> 예: `npx intlayer projects list --json`
|
|
49
|
+
|
|
50
|
+
- **`--absolute`**: 결과를 상대 경로 대신 절대 경로로 출력합니다.
|
|
51
|
+
|
|
52
|
+
> 예: `npx intlayer projects list --absolute`
|
|
53
|
+
|
|
54
|
+
## 작동 방식:
|
|
55
|
+
|
|
56
|
+
이 명령은 지정한 디렉터리(또는 `--git-root` 사용 시 git 루트)에서 Intlayer 구성 파일을 검색합니다. 다음 구성 파일 패턴을 찾습니다:
|
|
57
|
+
|
|
58
|
+
- `intlayer.config.ts`
|
|
59
|
+
- `intlayer.config.js`
|
|
60
|
+
- `intlayer.config.json`
|
|
61
|
+
- `intlayer.config.cjs`
|
|
62
|
+
- `intlayer.config.mjs`
|
|
63
|
+
- `.intlayerrc`
|
|
64
|
+
|
|
65
|
+
이 파일들 중 하나를 포함하는 각 디렉터리는 Intlayer 프로젝트로 간주되어 출력에 나열됩니다.
|
|
66
|
+
|
|
67
|
+
## 예시:
|
|
68
|
+
|
|
69
|
+
### 현재 디렉터리에서 프로젝트 목록:
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
npx intlayer projects list
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
### 특정 디렉터리에서 프로젝트 목록:
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
npx intlayer projects list --base-dir ./packages
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### git 저장소의 모든 프로젝트 목록:
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
npx intlayer projects list --git-root
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### 단축 별칭 사용:
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
npx intlayer pl --git-root
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### JSON으로 출력:
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
npx intlayer projects list --json
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
## 예시 출력:
|
|
100
|
+
|
|
101
|
+
### 포맷된 출력:
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
$ npx intlayer projects list --git-root
|
|
105
|
+
|
|
106
|
+
Found 3 Intlayer project(s):
|
|
107
|
+
|
|
108
|
+
- /Users/user/workspace/packages/app
|
|
109
|
+
- /Users/user/workspace/packages/admin
|
|
110
|
+
- /Users/user/workspace/packages/shared
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
### JSON 출력:
|
|
114
|
+
|
|
115
|
+
```bash
|
|
116
|
+
$ npx intlayer projects list --json
|
|
117
|
+
|
|
118
|
+
["/Users/user/workspace/packages/app","/Users/user/workspace/packages/admin","/Users/user/workspace/packages/shared"]
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
## 사용 사례:
|
|
122
|
+
|
|
123
|
+
- **Monorepo 관리**: 모노레포 구조에서 모든 Intlayer 프로젝트를 발견
|
|
124
|
+
- **프로젝트 검색**: 워크스페이스 내 Intlayer 사용 프로젝트 찾기
|
|
125
|
+
- **CI/CD**: 자동화된 워크플로우에서 Intlayer 프로젝트를 검증
|
|
126
|
+
- **Documentation**: Intlayer를 사용하는 모든 프로젝트를 나열하는 문서를 생성
|
|
127
|
+
|
|
128
|
+
출력은 각 프로젝트 디렉터리에 대한 절대 경로를 제공하므로 여러 Intlayer 프로젝트로 이동하거나 여러 프로젝트에 대해 스크립트를 실행하기 쉽습니다.
|
package/docs/ko/intlayer_CMS.md
CHANGED
|
@@ -71,6 +71,26 @@ Vite + React와 통합하려면 [설치 가이드](https://github.com/aymericzip
|
|
|
71
71
|
|
|
72
72
|
## 구성
|
|
73
73
|
|
|
74
|
+
Intlayer CMS에 로그인하려면 다음 명령을 실행하세요:
|
|
75
|
+
|
|
76
|
+
```bash packageManager="npm"
|
|
77
|
+
npx intlayer login
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
```bash packageManager="yarn"
|
|
81
|
+
yarn intlayer login
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
```bash packageManager="pnpm"
|
|
85
|
+
pnpm intlayer login
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
```bash packageManager="bun"
|
|
89
|
+
bunx intlayer login
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
이렇게 하면 기본 브라우저가 열려 인증 프로세스를 완료하고 Intlayer 서비스를 사용하는 데 필요한 자격 증명(Client ID 및 Client Secret)을 받을 수 있습니다.
|
|
93
|
+
|
|
74
94
|
Intlayer 구성 파일에서 CMS 설정을 사용자 정의할 수 있습니다:
|
|
75
95
|
|
|
76
96
|
```typescript fileName="intlayer.config.ts" codeFormat="typescript"
|
|
@@ -78,6 +78,34 @@ Intlayer를 Next.js와 통합하는 패키지입니다. Next.js 국제화를 위
|
|
|
78
78
|
|
|
79
79
|
### 2단계: 프로젝트 구성
|
|
80
80
|
|
|
81
|
+
Here is the final structure that we will make:
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
.
|
|
85
|
+
├── src
|
|
86
|
+
│ ├── app
|
|
87
|
+
│ │ ├── [locale]
|
|
88
|
+
│ │ │ ├── layout.tsx # Locale layout for the Intlayer provider
|
|
89
|
+
│ │ │ ├── page.content.ts
|
|
90
|
+
│ │ │ └── page.tsx
|
|
91
|
+
│ │ └── layout.tsx # Root layout for style and global providers
|
|
92
|
+
│ ├── components
|
|
93
|
+
│ │ ├── client-component-example.content.ts
|
|
94
|
+
│ │ ├── ClientComponentExample.tsx
|
|
95
|
+
│ │ ├── LocaleSwitcher
|
|
96
|
+
│ │ │ ├── localeSwitcher.content.ts
|
|
97
|
+
│ │ │ └── LocaleSwitcher.tsx
|
|
98
|
+
│ │ ├── server-component-example.content.ts
|
|
99
|
+
│ │ └── ServerComponentExample.tsx
|
|
100
|
+
│ └── middleware.ts
|
|
101
|
+
├── intlayer.config.ts
|
|
102
|
+
├── next.config.ts
|
|
103
|
+
├── package.json
|
|
104
|
+
└── tsconfig.json
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
> If you don't want locale routing, intlayer can be used as a simple provider / hook. See [this guide](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_with_nextjs_no_locale_path.md) for more details.
|
|
108
|
+
|
|
81
109
|
애플리케이션의 언어를 구성하기 위한 설정 파일을 만드세요:
|
|
82
110
|
|
|
83
111
|
```typescript fileName="intlayer.config.ts" codeFormat="typescript"
|
|
@@ -84,6 +84,34 @@ Intlayer를 Next.js와 통합하는 패키지입니다. Next.js 국제화에 필
|
|
|
84
84
|
|
|
85
85
|
### 2단계: 프로젝트 구성
|
|
86
86
|
|
|
87
|
+
Here is the final structure that we will make:
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
.
|
|
91
|
+
├── src
|
|
92
|
+
│ ├── app
|
|
93
|
+
│ │ ├── [locale]
|
|
94
|
+
│ │ │ ├── layout.tsx # Locale layout for the Intlayer provider
|
|
95
|
+
│ │ │ ├── page.content.ts
|
|
96
|
+
│ │ │ └── page.tsx
|
|
97
|
+
│ │ └── layout.tsx # Root layout for style and global providers
|
|
98
|
+
│ ├── components
|
|
99
|
+
│ │ ├── client-component-example.content.ts
|
|
100
|
+
│ │ ├── ClientComponentExample.tsx
|
|
101
|
+
│ │ ├── LocaleSwitcher
|
|
102
|
+
│ │ │ ├── localeSwitcher.content.ts
|
|
103
|
+
│ │ │ └── LocaleSwitcher.tsx
|
|
104
|
+
│ │ ├── server-component-example.content.ts
|
|
105
|
+
│ │ └── ServerComponentExample.tsx
|
|
106
|
+
│ └── middleware.ts
|
|
107
|
+
├── intlayer.config.ts
|
|
108
|
+
├── next.config.ts
|
|
109
|
+
├── package.json
|
|
110
|
+
└── tsconfig.json
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
> If you don't want locale routing, intlayer can be used as a simple provider / hook. See [this guide](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_with_nextjs_no_locale_path.md) for more details.
|
|
114
|
+
|
|
87
115
|
애플리케이션의 언어를 구성하기 위해 설정 파일을 만듭니다:
|
|
88
116
|
|
|
89
117
|
```typescript fileName="intlayer.config.ts" codeFormat="typescript"
|
|
@@ -104,6 +104,34 @@ Intlayer를 Next.js와 통합하는 패키지입니다. Next.js 국제화를 위
|
|
|
104
104
|
|
|
105
105
|
### 2단계: 프로젝트 구성
|
|
106
106
|
|
|
107
|
+
Here is the final structure that we will make:
|
|
108
|
+
|
|
109
|
+
```bash
|
|
110
|
+
.
|
|
111
|
+
├── src
|
|
112
|
+
│ ├── app
|
|
113
|
+
│ │ ├── [locale]
|
|
114
|
+
│ │ │ ├── layout.tsx # Locale layout for the Intlayer provider
|
|
115
|
+
│ │ │ ├── page.content.ts
|
|
116
|
+
│ │ │ └── page.tsx
|
|
117
|
+
│ │ └── layout.tsx # Root layout for style and global providers
|
|
118
|
+
│ ├── components
|
|
119
|
+
│ │ ├── client-component-example.content.ts
|
|
120
|
+
│ │ ├── ClientComponentExample.tsx
|
|
121
|
+
│ │ ├── LocaleSwitcher
|
|
122
|
+
│ │ │ ├── localeSwitcher.content.ts
|
|
123
|
+
│ │ │ └── LocaleSwitcher.tsx
|
|
124
|
+
│ │ ├── server-component-example.content.ts
|
|
125
|
+
│ │ └── ServerComponentExample.tsx
|
|
126
|
+
│ └── proxy.ts
|
|
127
|
+
├── intlayer.config.ts
|
|
128
|
+
├── next.config.ts
|
|
129
|
+
├── package.json
|
|
130
|
+
└── tsconfig.json
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
> If you don't want locale routing, intlayer can be used as a simple provider / hook. See [this guide](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_with_nextjs_no_locale_path.md) for more details.
|
|
134
|
+
|
|
107
135
|
애플리케이션의 언어를 구성하기 위해 설정 파일을 만드세요:
|
|
108
136
|
|
|
109
137
|
```typescript fileName="intlayer.config.ts" codeFormat="typescript"
|