@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
|
@@ -105,18 +105,22 @@ syncJSON({
|
|
|
105
105
|
source: ({ key, locale }) => string, // wymagane
|
|
106
106
|
location?: string, // opcjonalna etykieta, domyślnie: "plugin"
|
|
107
107
|
priority?: number, // opcjonalny priorytet do rozstrzygania konfliktów, domyślnie: 0
|
|
108
|
-
format?: 'intlayer' | 'icu' | 'i18next', // opcjonalny formatator,
|
|
108
|
+
format?: 'intlayer' | 'icu' | 'i18next', // opcjonalny formatator, używany dla kompatybilności z runtime Intlayer
|
|
109
109
|
});
|
|
110
110
|
```
|
|
111
111
|
|
|
112
112
|
#### `format` ('intlayer' | 'icu' | 'i18next')
|
|
113
113
|
|
|
114
|
-
Określa formatator, który będzie używany do zawartości słownika podczas synchronizacji plików JSON. Pozwala to na używanie różnych składni formatowania wiadomości zgodnych z
|
|
114
|
+
Określa formatator, który będzie używany do zawartości słownika podczas synchronizacji plików JSON. Pozwala to na używanie różnych składni formatowania wiadomości zgodnych z runtime Intlayer.
|
|
115
115
|
|
|
116
|
+
- `undefined`: Żaden formatator nie będzie używany, zawartość JSON będzie używana bez zmian.
|
|
116
117
|
- `'intlayer'`: Domyślny formatator Intlayer (domyślnie).
|
|
117
118
|
- `'icu'`: Używa formatowania wiadomości ICU (zgodne z bibliotekami takimi jak react-intl, vue-i18n).
|
|
118
119
|
- `'i18next'`: Używa formatowania wiadomości i18next (zgodne z i18next, next-i18next, Solid-i18next).
|
|
119
120
|
|
|
121
|
+
> Należy pamiętać, że użycie formatora przekształci zawartość JSON na wejściu i wyjściu. W przypadku złożonych reguł JSON, takich jak liczba mnoga ICU, parsowanie może nie zapewnić mapowania 1 do 1 między wejściem a wyjściem.
|
|
122
|
+
> Jeśli nie używasz runtime Intlayer, możesz preferować nie ustawiać formatora.
|
|
123
|
+
|
|
120
124
|
**Przykład:**
|
|
121
125
|
|
|
122
126
|
```ts
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2026-01-06
|
|
3
|
+
updatedAt: 2026-01-06
|
|
4
|
+
title: Comando CI
|
|
5
|
+
description: Aprenda como usar o comando Intlayer CI para executar comandos Intlayer com credenciais auto-injetadas em pipelines CI/CD e monorepos.
|
|
6
|
+
keywords:
|
|
7
|
+
- CI
|
|
8
|
+
- CI/CD
|
|
9
|
+
- Automação
|
|
10
|
+
- Monorepo
|
|
11
|
+
- Credenciais
|
|
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: Adicionar comando CI
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
# Comando CI
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
npx intlayer ci <command...>
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
O comando CI é projetado para automação e pipelines CI/CD. Ele injeta automaticamente credenciais da variável de ambiente `INTLAYER_PROJECT_CREDENTIALS` e pode executar comandos Intlayer em vários projetos em um monorepo.
|
|
32
|
+
|
|
33
|
+
## Como funciona
|
|
34
|
+
|
|
35
|
+
O comando CI opera em dois modos:
|
|
36
|
+
|
|
37
|
+
1. **Modo de projeto único**: Se o diretório de trabalho atual corresponder a um dos caminhos do projeto em `INTLAYER_PROJECT_CREDENTIALS`, ele executa o comando apenas para esse projeto específico.
|
|
38
|
+
|
|
39
|
+
2. **Modo de iteração**: Se nenhum contexto de projeto específico for detectado, ele itera sobre todos os projetos configurados e executa o comando para cada um.
|
|
40
|
+
|
|
41
|
+
## Variável de ambiente
|
|
42
|
+
|
|
43
|
+
O comando requer que a variável de ambiente `INTLAYER_PROJECT_CREDENTIALS` seja definida. Esta variável deve conter um objeto JSON mapeando caminhos de projeto para suas credenciais:
|
|
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
|
+
## Detecção do gerenciador de pacotes
|
|
59
|
+
|
|
60
|
+
O comando CI detecta automaticamente qual gerenciador de pacotes está sendo usado (npm, yarn, pnpm ou bun) com base na variável de ambiente `npm_config_user_agent` e usa o comando apropriado para executar Intlayer.
|
|
61
|
+
|
|
62
|
+
## Argumentos
|
|
63
|
+
|
|
64
|
+
- **`<command...>`**: O comando Intlayer a ser executado (por exemplo, `fill`, `push`, `build`). Você pode passar qualquer comando Intlayer e seus argumentos.
|
|
65
|
+
|
|
66
|
+
> Exemplo: `npx intlayer ci fill --verbose`
|
|
67
|
+
>
|
|
68
|
+
> Exemplo: `npx intlayer ci push`
|
|
69
|
+
>
|
|
70
|
+
> Exemplo: `npx intlayer ci build`
|
|
71
|
+
|
|
72
|
+
## Exemplos
|
|
73
|
+
|
|
74
|
+
### Executar um comando no modo de projeto único
|
|
75
|
+
|
|
76
|
+
Se você estiver em um diretório de projeto que corresponde a um dos caminhos em `INTLAYER_PROJECT_CREDENTIALS`:
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
cd packages/app
|
|
80
|
+
npx intlayer ci fill
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
Isso executará o comando `fill` com credenciais automaticamente injetadas para o projeto `packages/app`.
|
|
84
|
+
|
|
85
|
+
### Executar um comando em todos os projetos
|
|
86
|
+
|
|
87
|
+
Se você estiver em um diretório que não corresponde a nenhum caminho de projeto, o comando iterará sobre todos os projetos configurados:
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
cd /path/to/monorepo
|
|
91
|
+
npx intlayer ci push
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
Isso executará o comando `push` para cada projeto configurado em `INTLAYER_PROJECT_CREDENTIALS`.
|
|
95
|
+
|
|
96
|
+
### Passar flags adicionais
|
|
97
|
+
|
|
98
|
+
Você pode passar quaisquer flags para o comando Intlayer subjacente:
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
npx intlayer ci fill --verbose --mode complete
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### Usar em pipelines CI/CD
|
|
105
|
+
|
|
106
|
+
Em sua configuração CI/CD (por exemplo, GitHub Actions, GitLab CI), defina `INTLAYER_PROJECT_CREDENTIALS` como um segredo:
|
|
107
|
+
|
|
108
|
+
```yaml
|
|
109
|
+
# Exemplo GitHub Actions
|
|
110
|
+
env:
|
|
111
|
+
INTLAYER_PROJECT_CREDENTIALS: ${{ secrets.INTLAYER_PROJECT_CREDENTIALS }}
|
|
112
|
+
|
|
113
|
+
steps:
|
|
114
|
+
- name: Preencher dicionários
|
|
115
|
+
run: npx intlayer ci fill
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
## Tratamento de erros
|
|
119
|
+
|
|
120
|
+
- Se `INTLAYER_PROJECT_CREDENTIALS` não estiver definida, o comando sairá com um erro.
|
|
121
|
+
- Se `INTLAYER_PROJECT_CREDENTIALS` não for um JSON válido, o comando sairá com um erro.
|
|
122
|
+
- Se um caminho de projeto não existir, ele será ignorado com um aviso.
|
|
123
|
+
- Se algum projeto falhar, o comando sairá com um código de status diferente de zero.
|
|
124
|
+
|
|
125
|
+
## Casos de uso
|
|
126
|
+
|
|
127
|
+
- **Automação de monorepo**: Executar comandos Intlayer em vários projetos em um monorepo
|
|
128
|
+
- **Pipelines CI/CD**: Automatizar o gerenciamento de dicionários em fluxos de trabalho de integração contínua
|
|
129
|
+
- **Operações em massa**: Realizar a mesma operação em vários projetos Intlayer de uma vez
|
|
130
|
+
- **Gerenciamento de segredos**: Gerenciar com segurança credenciais para vários projetos usando variáveis de ambiente
|
|
131
|
+
|
|
132
|
+
## Melhores práticas de segurança
|
|
133
|
+
|
|
134
|
+
- Armazene `INTLAYER_PROJECT_CREDENTIALS` como segredos criptografados em sua plataforma CI/CD
|
|
135
|
+
- Nunca faça commit de credenciais no controle de versão
|
|
136
|
+
- Use credenciais específicas do ambiente para diferentes ambientes de implantação
|
|
137
|
+
- Rotacione credenciais regularmente
|
package/docs/pt/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: Descubra como usar o Intlayer CLI para gerenciar seu site multilíngue. Siga os passos nesta documentação online para configurar seu projeto em poucos minutos.
|
|
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: Adicionado comando projects list
|
|
20
23
|
- version: 7.5.9
|
|
21
24
|
date: 2025-12-30
|
|
22
25
|
changes: Adicionado comando init
|
|
@@ -119,6 +122,7 @@ Para ver como configurar os locais disponíveis ou outros parâmetros, consulte
|
|
|
119
122
|
- **[Construir Dicionários](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/cli/build.md)** - Construa seus dicionários a partir dos arquivos de declaração de conteúdo
|
|
120
123
|
- **[Observar Dicionários](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/cli/watch.md)** - Observe alterações e construa automaticamente os dicionários
|
|
121
124
|
- **[Verificar Versão do CLI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/cli/version.md)** - Verifique a versão instalada do Intlayer CLI
|
|
125
|
+
- **[Listar Projetos](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/cli/list_projects.md)** - Liste todos os projetos Intlayer em um diretório ou repositório git
|
|
122
126
|
|
|
123
127
|
### Gerenciamento de Dicionários
|
|
124
128
|
|
|
@@ -166,6 +170,7 @@ Para ver como configurar os locais disponíveis ou outros parâmetros, consulte
|
|
|
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 @@ Para ver como configurar os locais disponíveis ou outros parâmetros, consulte
|
|
|
175
180
|
>
|
|
176
181
|
> - `npx intlayer list` ao invés de `npx intlayer content list`
|
|
177
182
|
> - `npx intlayer test` ao invés de `npx intlayer content test`
|
|
183
|
+
> - `npx intlayer projects-list` ou `npx intlayer pl` ao invés de `npx intlayer projects list`
|
package/docs/pt/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: Listar Arquivos de Declaração de Conteúdo
|
|
5
5
|
description: Aprenda como listar todos os arquivos de declaração de conteúdo no seu projeto.
|
|
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: Adicionar opção de saída absoluta ao comando list
|
|
20
|
+
- version: 7.5.11
|
|
21
|
+
date: 2026-01-06
|
|
22
|
+
changes: Adicionar opção de saída JSON ao comando list
|
|
16
23
|
---
|
|
17
24
|
|
|
18
25
|
# Listar arquivos de declaração de conteúdo
|
|
@@ -27,14 +34,36 @@ npx intlayer content list
|
|
|
27
34
|
|
|
28
35
|
Este comando exibe todos os arquivos de declaração de conteúdo no seu projeto, mostrando suas chaves de dicionário e caminhos dos arquivos. É útil para obter uma visão geral de todos os seus arquivos de conteúdo e verificar se eles estão sendo corretamente descobertos pelo Intlayer.
|
|
29
36
|
|
|
30
|
-
##
|
|
37
|
+
## Argumentos:
|
|
38
|
+
|
|
39
|
+
- **`--json`**: Exibe os resultados como JSON em vez de texto formatado. Útil para scripts e acesso programático.
|
|
40
|
+
|
|
41
|
+
> Exemplo: `npx intlayer content list --json`
|
|
42
|
+
|
|
43
|
+
## Exemplos:
|
|
44
|
+
|
|
45
|
+
### Listar arquivos de declaração de conteúdo:
|
|
31
46
|
|
|
32
47
|
```bash
|
|
33
48
|
npx intlayer content list
|
|
34
49
|
```
|
|
35
50
|
|
|
51
|
+
### Saída como JSON:
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
npx intlayer content list --json
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### Saída como caminhos absolutos:
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
npx intlayer content list --absolute
|
|
61
|
+
```
|
|
62
|
+
|
|
36
63
|
## Exemplo de saída:
|
|
37
64
|
|
|
65
|
+
### Saída formatada:
|
|
66
|
+
|
|
38
67
|
```bash
|
|
39
68
|
npx intlayer content list
|
|
40
69
|
Content declaration files:
|
|
@@ -45,6 +74,14 @@ Content declaration files:
|
|
|
45
74
|
Total de arquivos de declaração de conteúdo: 3
|
|
46
75
|
```
|
|
47
76
|
|
|
77
|
+
### Saída 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
|
Este comando exibirá:
|
|
49
86
|
|
|
50
87
|
- Uma lista formatada de todos os arquivos de declaração de conteúdo com suas chaves e caminhos relativos dos arquivos
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2025-12-30
|
|
3
|
+
updatedAt: 2026-01-06
|
|
4
|
+
title: Listar Projetos Intlayer
|
|
5
|
+
description: Aprenda como listar todos os projetos Intlayer em um diretório ou repositório git.
|
|
6
|
+
keywords:
|
|
7
|
+
- Listar
|
|
8
|
+
- Projetos
|
|
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: Adicionar opção de saída absoluta ao comando list projects
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
# Listar Projetos Intlayer
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
npx intlayer projects list
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Este comando procura e lista todos os projetos Intlayer ao encontrar diretórios que contenham ficheiros de configuração do Intlayer. É útil para descobrir todos os projetos Intlayer em um monorepo, workspace ou repositório git.
|
|
30
|
+
|
|
31
|
+
## Atalhos:
|
|
32
|
+
|
|
33
|
+
- `npx intlayer projects-list`
|
|
34
|
+
- `npx intlayer pl`
|
|
35
|
+
|
|
36
|
+
## Argumentos:
|
|
37
|
+
|
|
38
|
+
- **`--base-dir [path]`**: Especifica o diretório base a partir do qual pesquisar. O padrão é o diretório de trabalho atual.
|
|
39
|
+
|
|
40
|
+
> Exemplo: `npx intlayer projects list --base-dir /path/to/workspace`
|
|
41
|
+
|
|
42
|
+
> Exemplo: `npx intlayer projects list --base-dir /path/to/workspace`
|
|
43
|
+
|
|
44
|
+
- **`--git-root`**: Pesquise a partir do diretório raiz do git em vez do diretório base. Isto é útil para encontrar todos os projetos Intlayer num monorepo ou repositório git.
|
|
45
|
+
|
|
46
|
+
> Exemplo: `npx intlayer projects list --git-root`
|
|
47
|
+
|
|
48
|
+
- **`--json`**: Exibe os resultados como JSON em vez de texto formatado. Útil para scripts e acesso programático.
|
|
49
|
+
|
|
50
|
+
> Exemplo: `npx intlayer projects list --json`
|
|
51
|
+
|
|
52
|
+
- **`--absolute`**: Exibe os resultados como caminhos absolutos em vez de caminhos relativos.
|
|
53
|
+
|
|
54
|
+
> Exemplo: `npx intlayer projects list --absolute`
|
|
55
|
+
|
|
56
|
+
## Como funciona:
|
|
57
|
+
|
|
58
|
+
O comando procura ficheiros de configuração do Intlayer no diretório especificado (ou na raiz do git se `--git-root` for usado). Procura pelos seguintes padrões de ficheiro de configuração:
|
|
59
|
+
|
|
60
|
+
- `intlayer.config.ts`
|
|
61
|
+
- `intlayer.config.js`
|
|
62
|
+
- `intlayer.config.json`
|
|
63
|
+
- `intlayer.config.cjs`
|
|
64
|
+
- `intlayer.config.mjs`
|
|
65
|
+
- `.intlayerrc`
|
|
66
|
+
|
|
67
|
+
Cada diretório que contiver um destes ficheiros é considerado um projeto Intlayer e será listado na saída.
|
|
68
|
+
|
|
69
|
+
## Exemplos:
|
|
70
|
+
|
|
71
|
+
### Listar projetos no diretório atual:
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
npx intlayer projects list
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
### Listar projetos em um diretório específico:
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
npx intlayer projects list --base-dir ./packages
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### Listar todos os projetos no repositório git:
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
npx intlayer projects list --git-root
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### Usando o alias de atalho:
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
npx intlayer pl --git-root
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### Saída como JSON:
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
npx intlayer projects list --json
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
## Exemplo de saída:
|
|
102
|
+
|
|
103
|
+
### Saída formatada:
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
$ npx intlayer projects list --git-root
|
|
107
|
+
|
|
108
|
+
Found 3 Intlayer project(s):
|
|
109
|
+
|
|
110
|
+
- /Users/user/workspace/packages/app
|
|
111
|
+
- /Users/user/workspace/packages/admin
|
|
112
|
+
- /Users/user/workspace/packages/shared
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
### Saída JSON:
|
|
116
|
+
|
|
117
|
+
```bash
|
|
118
|
+
$ npx intlayer projects list --json
|
|
119
|
+
|
|
120
|
+
["/Users/user/workspace/packages/app","/Users/user/workspace/packages/admin","/Users/user/workspace/packages/shared"]
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
## Casos de uso:
|
|
124
|
+
|
|
125
|
+
- **Gestão de monorepo**: Descobrir todos os projetos Intlayer numa estrutura monorepo
|
|
126
|
+
- **Descoberta de projetos**: Encontrar todos os projetos com Intlayer num workspace
|
|
127
|
+
- **CI/CD**: Verificar projetos Intlayer em workflows automatizados
|
|
128
|
+
- **Documentação**: Gerar documentação listando todos os projetos que usam Intlayer
|
|
129
|
+
|
|
130
|
+
A saída fornece caminhos absolutos para cada diretório de projeto, facilitando a navegação ou a automatização de operações em múltiplos projetos Intlayer.
|
|
131
|
+
|
|
132
|
+
- **Documentação**: Gerar documentação listando todos os projetos que usam o Intlayer
|
|
133
|
+
|
|
134
|
+
A saída fornece caminhos absolutos para cada diretório de projeto, tornando fácil navegar até eles ou escrever scripts para executar operações em vários projetos Intlayer.
|
package/docs/pt/intlayer_CMS.md
CHANGED
|
@@ -71,6 +71,26 @@ Para integração com Vite + React, consulte o [guia de configuração](https://
|
|
|
71
71
|
|
|
72
72
|
## Configuração
|
|
73
73
|
|
|
74
|
+
Execute o seguinte comando para fazer login no 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
|
+
Isso abrirá seu navegador padrão para concluir o processo de autenticação e receber as credenciais necessárias (Client ID e Client Secret) para usar os serviços do Intlayer.
|
|
93
|
+
|
|
74
94
|
No seu arquivo de configuração do Intlayer, você pode personalizar as configurações do CMS:
|
|
75
95
|
|
|
76
96
|
```typescript fileName="intlayer.config.ts" codeFormat="typescript"
|
|
@@ -74,6 +74,34 @@ bunx intlayer init
|
|
|
74
74
|
|
|
75
75
|
### Passo 2: Configure Seu Projeto
|
|
76
76
|
|
|
77
|
+
Here is the final structure that we will make:
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
.
|
|
81
|
+
├── src
|
|
82
|
+
│ ├── app
|
|
83
|
+
│ │ ├── [locale]
|
|
84
|
+
│ │ │ ├── layout.tsx # Locale layout for the Intlayer provider
|
|
85
|
+
│ │ │ ├── page.content.ts
|
|
86
|
+
│ │ │ └── page.tsx
|
|
87
|
+
│ │ └── layout.tsx # Root layout for style and global providers
|
|
88
|
+
│ ├── components
|
|
89
|
+
│ │ ├── client-component-example.content.ts
|
|
90
|
+
│ │ ├── ClientComponentExample.tsx
|
|
91
|
+
│ │ ├── LocaleSwitcher
|
|
92
|
+
│ │ │ ├── localeSwitcher.content.ts
|
|
93
|
+
│ │ │ └── LocaleSwitcher.tsx
|
|
94
|
+
│ │ ├── server-component-example.content.ts
|
|
95
|
+
│ │ └── ServerComponentExample.tsx
|
|
96
|
+
│ └── middleware.ts
|
|
97
|
+
├── intlayer.config.ts
|
|
98
|
+
├── next.config.ts
|
|
99
|
+
├── package.json
|
|
100
|
+
└── tsconfig.json
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
> 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.
|
|
104
|
+
|
|
77
105
|
Crie um arquivo de configuração para configurar os idiomas da sua aplicação:
|
|
78
106
|
|
|
79
107
|
```typescript fileName="intlayer.config.ts" codeFormat="typescript"
|
|
@@ -84,6 +84,34 @@ bunx intlayer init
|
|
|
84
84
|
|
|
85
85
|
### Passo 2: Configure Seu Projeto
|
|
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
|
Crie um arquivo de configuração para configurar os idiomas da sua aplicação:
|
|
88
116
|
|
|
89
117
|
```typescript fileName="intlayer.config.ts" codeFormat="typescript"
|
|
@@ -104,6 +104,34 @@ bunx intlayer init
|
|
|
104
104
|
|
|
105
105
|
### Passo 2: Configure Seu Projeto
|
|
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
|
Crie um arquivo de configuração para configurar os idiomas da sua aplicação:
|
|
108
136
|
|
|
109
137
|
```typescript fileName="intlayer.config.ts" codeFormat="typescript"
|