@intlayer/docs 5.8.1-canary.0 → 6.0.0-canary.0
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/rag_powered_documentation_assistant.md +282 -0
- package/blog/de/rag_powered_documentation_assistant.md +282 -0
- package/blog/en/rag_powered_documentation_assistant.md +289 -0
- package/blog/en-GB/rag_powered_documentation_assistant.md +284 -0
- package/blog/es/rag_powered_documentation_assistant.md +308 -0
- package/blog/fr/rag_powered_documentation_assistant.md +308 -0
- package/blog/hi/rag_powered_documentation_assistant.md +284 -0
- package/blog/it/rag_powered_documentation_assistant.md +284 -0
- package/blog/ja/rag_powered_documentation_assistant.md +284 -0
- package/blog/ko/rag_powered_documentation_assistant.md +283 -0
- package/blog/pt/rag_powered_documentation_assistant.md +284 -0
- package/blog/ru/rag_powered_documentation_assistant.md +284 -0
- package/blog/tr/index.md +69 -0
- package/blog/tr/internationalization_and_SEO.md +273 -0
- package/blog/tr/intlayer_with_i18next.md +162 -0
- package/blog/tr/intlayer_with_next-i18next.md +367 -0
- package/blog/tr/intlayer_with_next-intl.md +392 -0
- package/blog/tr/intlayer_with_react-i18next.md +346 -0
- package/blog/tr/intlayer_with_react-intl.md +345 -0
- package/blog/tr/list_i18n_technologies/CMS/drupal.md +143 -0
- package/blog/tr/list_i18n_technologies/CMS/wix.md +167 -0
- package/blog/tr/list_i18n_technologies/CMS/wordpress.md +188 -0
- package/blog/tr/list_i18n_technologies/frameworks/angular.md +125 -0
- package/blog/tr/list_i18n_technologies/frameworks/flutter.md +150 -0
- package/blog/tr/list_i18n_technologies/frameworks/react-native.md +217 -0
- package/blog/tr/list_i18n_technologies/frameworks/react.md +155 -0
- package/blog/tr/list_i18n_technologies/frameworks/svelte.md +129 -0
- package/blog/tr/list_i18n_technologies/frameworks/vue.md +130 -0
- package/blog/tr/next-i18next_vs_next-intl_vs_intlayer.md +170 -0
- package/blog/tr/rag_powered_documentation_assistant.md +284 -0
- package/blog/tr/react-i18next_vs_react-intl_vs_intlayer.md +162 -0
- package/blog/tr/vue-i18n_vs_intlayer.md +276 -0
- package/blog/tr/what_is_internationalization.md +166 -0
- package/blog/zh/rag_powered_documentation_assistant.md +284 -0
- package/dist/cjs/generated/blog.entry.cjs +212 -0
- package/dist/cjs/generated/blog.entry.cjs.map +1 -1
- package/dist/cjs/generated/docs.entry.cjs +660 -132
- package/dist/cjs/generated/docs.entry.cjs.map +1 -1
- package/dist/cjs/generated/frequentQuestions.entry.cjs +84 -0
- package/dist/cjs/generated/frequentQuestions.entry.cjs.map +1 -1
- package/dist/cjs/generated/legal.entry.cjs +6 -0
- package/dist/cjs/generated/legal.entry.cjs.map +1 -1
- package/dist/esm/generated/blog.entry.mjs +212 -0
- package/dist/esm/generated/blog.entry.mjs.map +1 -1
- package/dist/esm/generated/docs.entry.mjs +660 -132
- package/dist/esm/generated/docs.entry.mjs.map +1 -1
- package/dist/esm/generated/frequentQuestions.entry.mjs +84 -0
- package/dist/esm/generated/frequentQuestions.entry.mjs.map +1 -1
- package/dist/esm/generated/legal.entry.mjs +6 -0
- package/dist/esm/generated/legal.entry.mjs.map +1 -1
- package/dist/types/generated/blog.entry.d.ts +1 -0
- package/dist/types/generated/blog.entry.d.ts.map +1 -1
- package/dist/types/generated/docs.entry.d.ts +5 -2
- 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/autoFill.md +41 -40
- package/docs/ar/configuration.md +202 -199
- package/docs/ar/dictionary/content_file.md +1059 -0
- package/docs/ar/intlayer_CMS.md +4 -4
- package/docs/ar/intlayer_with_nestjs.md +271 -0
- package/docs/ar/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/ar/intlayer_with_react_router_v7.md +533 -0
- package/docs/ar/intlayer_with_tanstack.md +465 -299
- package/docs/ar/intlayer_with_vite+preact.md +7 -7
- package/docs/ar/intlayer_with_vite+react.md +7 -7
- package/docs/ar/intlayer_with_vite+vue.md +9 -9
- package/docs/ar/packages/vite-intlayer/index.md +3 -3
- package/docs/ar/readme.md +261 -0
- package/docs/ar/testing.md +199 -0
- package/docs/de/autoFill.md +42 -19
- package/docs/de/configuration.md +155 -147
- package/docs/de/dictionary/content_file.md +1059 -0
- package/docs/de/intlayer_CMS.md +4 -5
- package/docs/de/intlayer_with_nestjs.md +270 -0
- package/docs/de/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/de/intlayer_with_react_router_v7.md +537 -0
- package/docs/de/intlayer_with_tanstack.md +469 -302
- package/docs/de/intlayer_with_vite+preact.md +7 -7
- package/docs/de/intlayer_with_vite+react.md +7 -7
- package/docs/de/intlayer_with_vite+vue.md +9 -9
- package/docs/de/packages/vite-intlayer/index.md +3 -3
- package/docs/de/readme.md +261 -0
- package/docs/de/testing.md +200 -0
- package/docs/en/CI_CD.md +4 -6
- package/docs/en/autoFill.md +25 -5
- package/docs/en/configuration.md +45 -54
- package/docs/en/dictionary/content_file.md +1054 -0
- package/docs/en/intlayer_CMS.md +8 -7
- package/docs/en/intlayer_cli.md +112 -5
- package/docs/en/intlayer_with_nestjs.md +268 -0
- package/docs/en/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/en/intlayer_with_react_router_v7.md +531 -0
- package/docs/en/intlayer_with_tanstack.md +463 -294
- package/docs/en/intlayer_with_vite+preact.md +8 -8
- package/docs/en/intlayer_with_vite+react.md +8 -8
- package/docs/en/intlayer_with_vite+vue.md +8 -8
- package/docs/en/packages/intlayer/getLocalizedUrl.md +102 -25
- package/docs/en/packages/vite-intlayer/index.md +3 -3
- package/docs/en/readme.md +261 -0
- package/docs/en/testing.md +200 -0
- package/docs/en-GB/autoFill.md +29 -6
- package/docs/en-GB/configuration.md +79 -71
- package/docs/en-GB/dictionary/content_file.md +1084 -0
- package/docs/en-GB/intlayer_CMS.md +4 -5
- package/docs/en-GB/intlayer_with_nestjs.md +268 -0
- package/docs/en-GB/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/en-GB/intlayer_with_react_router_v7.md +533 -0
- package/docs/en-GB/intlayer_with_tanstack.md +466 -299
- package/docs/en-GB/intlayer_with_vite+preact.md +7 -7
- package/docs/en-GB/intlayer_with_vite+react.md +7 -7
- package/docs/en-GB/intlayer_with_vite+vue.md +9 -9
- package/docs/en-GB/packages/vite-intlayer/index.md +3 -3
- package/docs/en-GB/readme.md +261 -0
- package/docs/en-GB/testing.md +200 -0
- package/docs/es/autoFill.md +45 -23
- package/docs/es/configuration.md +171 -167
- package/docs/es/dictionary/content_file.md +1088 -0
- package/docs/es/intlayer_CMS.md +4 -5
- package/docs/es/intlayer_with_nestjs.md +268 -0
- package/docs/es/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/es/intlayer_with_react_router_v7.md +533 -0
- package/docs/es/intlayer_with_tanstack.md +469 -280
- package/docs/es/intlayer_with_vite+preact.md +7 -7
- package/docs/es/intlayer_with_vite+react.md +7 -7
- package/docs/es/intlayer_with_vite+vue.md +9 -9
- package/docs/es/packages/vite-intlayer/index.md +3 -3
- package/docs/es/readme.md +261 -0
- package/docs/es/testing.md +200 -0
- package/docs/fr/autoFill.md +47 -24
- package/docs/fr/configuration.md +213 -198
- package/docs/fr/dictionary/content_file.md +1054 -0
- package/docs/fr/intlayer_CMS.md +4 -5
- package/docs/fr/intlayer_with_nestjs.md +268 -0
- package/docs/fr/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/fr/intlayer_with_react_router_v7.md +549 -0
- package/docs/fr/intlayer_with_tanstack.md +465 -279
- package/docs/fr/intlayer_with_vite+preact.md +7 -7
- package/docs/fr/intlayer_with_vite+react.md +7 -7
- package/docs/fr/intlayer_with_vite+vue.md +9 -9
- package/docs/fr/packages/vite-intlayer/index.md +3 -3
- package/docs/fr/readme.md +261 -0
- package/docs/fr/testing.md +200 -0
- package/docs/hi/autoFill.md +47 -25
- package/docs/hi/configuration.md +194 -189
- package/docs/hi/dictionary/content_file.md +1056 -0
- package/docs/hi/intlayer_CMS.md +4 -5
- package/docs/hi/intlayer_with_nestjs.md +269 -0
- package/docs/hi/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/hi/intlayer_with_react_router_v7.md +533 -0
- package/docs/hi/intlayer_with_tanstack.md +467 -282
- package/docs/hi/intlayer_with_vite+preact.md +7 -7
- package/docs/hi/intlayer_with_vite+react.md +7 -7
- package/docs/hi/intlayer_with_vite+vue.md +9 -9
- package/docs/hi/packages/vite-intlayer/index.md +3 -3
- package/docs/hi/readme.md +261 -0
- package/docs/hi/testing.md +200 -0
- package/docs/it/autoFill.md +46 -24
- package/docs/it/configuration.md +169 -161
- package/docs/it/dictionary/content_file.md +1061 -0
- package/docs/it/intlayer_CMS.md +4 -5
- package/docs/it/intlayer_with_nestjs.md +268 -0
- package/docs/it/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/it/intlayer_with_react_router_v7.md +535 -0
- package/docs/it/intlayer_with_tanstack.md +467 -301
- package/docs/it/intlayer_with_vite+preact.md +7 -7
- package/docs/it/intlayer_with_vite+react.md +7 -7
- package/docs/it/intlayer_with_vite+vue.md +9 -9
- package/docs/it/packages/vite-intlayer/index.md +3 -3
- package/docs/it/readme.md +261 -0
- package/docs/it/testing.md +200 -0
- package/docs/ja/autoFill.md +45 -23
- package/docs/ja/configuration.md +243 -204
- package/docs/ja/dictionary/content_file.md +1064 -0
- package/docs/ja/intlayer_CMS.md +4 -5
- package/docs/ja/intlayer_with_nestjs.md +268 -0
- package/docs/ja/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/ja/intlayer_with_react_router_v7.md +534 -0
- package/docs/ja/intlayer_with_tanstack.md +467 -303
- package/docs/ja/intlayer_with_vite+preact.md +7 -7
- package/docs/ja/intlayer_with_vite+react.md +7 -7
- package/docs/ja/intlayer_with_vite+vue.md +9 -9
- package/docs/ja/packages/vite-intlayer/index.md +3 -3
- package/docs/ja/readme.md +263 -0
- package/docs/ja/testing.md +200 -0
- package/docs/ko/autoFill.md +39 -16
- package/docs/ko/configuration.md +217 -197
- package/docs/ko/dictionary/content_file.md +1060 -0
- package/docs/ko/intlayer_CMS.md +4 -5
- package/docs/ko/intlayer_with_nestjs.md +268 -0
- package/docs/ko/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/ko/intlayer_with_react_router_v7.md +540 -0
- package/docs/ko/intlayer_with_tanstack.md +466 -302
- package/docs/ko/intlayer_with_vite+preact.md +7 -7
- package/docs/ko/intlayer_with_vite+react.md +7 -7
- package/docs/ko/intlayer_with_vite+vue.md +9 -9
- package/docs/ko/packages/vite-intlayer/index.md +3 -3
- package/docs/ko/readme.md +261 -0
- package/docs/ko/testing.md +200 -0
- package/docs/pt/autoFill.md +39 -15
- package/docs/pt/configuration.md +165 -147
- package/docs/pt/dictionary/content_file.md +1062 -0
- package/docs/pt/intlayer_CMS.md +4 -5
- package/docs/pt/intlayer_with_nestjs.md +271 -0
- package/docs/pt/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/pt/intlayer_with_react_router_v7.md +535 -0
- package/docs/pt/intlayer_with_tanstack.md +469 -300
- package/docs/pt/intlayer_with_vite+preact.md +7 -7
- package/docs/pt/intlayer_with_vite+react.md +7 -7
- package/docs/pt/intlayer_with_vite+vue.md +9 -9
- package/docs/pt/packages/vite-intlayer/index.md +3 -3
- package/docs/pt/readme.md +261 -0
- package/docs/pt/testing.md +200 -0
- package/docs/ru/autoFill.md +52 -30
- package/docs/ru/configuration.md +164 -117
- package/docs/ru/dictionary/content_file.md +1064 -0
- package/docs/ru/intlayer_CMS.md +4 -4
- package/docs/ru/intlayer_with_nestjs.md +270 -0
- package/docs/ru/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/ru/intlayer_with_react_router_v7.md +534 -0
- package/docs/ru/intlayer_with_tanstack.md +470 -305
- package/docs/ru/intlayer_with_vite+preact.md +7 -7
- package/docs/ru/intlayer_with_vite+react.md +7 -7
- package/docs/ru/intlayer_with_vite+vue.md +9 -9
- package/docs/ru/packages/vite-intlayer/index.md +3 -3
- package/docs/ru/readme.md +261 -0
- package/docs/ru/testing.md +202 -0
- package/docs/tr/CI_CD.md +198 -0
- package/docs/tr/autoFill.md +201 -0
- package/docs/tr/configuration.md +585 -0
- package/docs/tr/dictionary/condition.md +243 -0
- package/docs/tr/dictionary/content_file.md +1055 -0
- package/docs/tr/dictionary/enumeration.md +251 -0
- package/docs/tr/dictionary/file.md +228 -0
- package/docs/tr/dictionary/function_fetching.md +218 -0
- package/docs/tr/dictionary/gender.md +279 -0
- package/docs/tr/dictionary/insertion.md +191 -0
- package/docs/tr/dictionary/markdown.md +385 -0
- package/docs/tr/dictionary/nesting.md +279 -0
- package/docs/tr/dictionary/translation.md +315 -0
- package/docs/tr/formatters.md +618 -0
- package/docs/tr/how_works_intlayer.md +254 -0
- package/docs/tr/index.md +168 -0
- package/docs/tr/interest_of_intlayer.md +288 -0
- package/docs/tr/intlayer_CMS.md +347 -0
- package/docs/tr/intlayer_cli.md +570 -0
- package/docs/tr/intlayer_visual_editor.md +269 -0
- package/docs/tr/intlayer_with_angular.md +694 -0
- package/docs/tr/intlayer_with_create_react_app.md +1218 -0
- package/docs/tr/intlayer_with_express.md +415 -0
- package/docs/tr/intlayer_with_lynx+react.md +511 -0
- package/docs/tr/intlayer_with_nestjs.md +268 -0
- package/docs/tr/intlayer_with_nextjs_14.md +1029 -0
- package/docs/tr/intlayer_with_nextjs_15.md +1506 -0
- package/docs/tr/intlayer_with_nextjs_page_router.md +1484 -0
- package/docs/tr/intlayer_with_nuxt.md +773 -0
- package/docs/tr/intlayer_with_react_native+expo.md +660 -0
- package/docs/tr/intlayer_with_react_router_v7.md +531 -0
- package/docs/tr/intlayer_with_tanstack.md +452 -0
- package/docs/tr/intlayer_with_vite+preact.md +1673 -0
- package/docs/tr/intlayer_with_vite+react.md +1632 -0
- package/docs/tr/intlayer_with_vite+solid.md +288 -0
- package/docs/tr/intlayer_with_vite+svelte.md +288 -0
- package/docs/tr/intlayer_with_vite+vue.md +1042 -0
- package/docs/tr/introduction.md +209 -0
- package/docs/tr/locale_mapper.md +244 -0
- package/docs/tr/mcp_server.md +207 -0
- package/docs/tr/packages/@intlayer/api/index.md +58 -0
- package/docs/tr/packages/@intlayer/chokidar/index.md +57 -0
- package/docs/tr/packages/@intlayer/cli/index.md +47 -0
- package/docs/tr/packages/@intlayer/config/index.md +142 -0
- package/docs/tr/packages/@intlayer/core/index.md +51 -0
- package/docs/tr/packages/@intlayer/design-system/index.md +47 -0
- package/docs/tr/packages/@intlayer/dictionary-entry/index.md +53 -0
- package/docs/tr/packages/@intlayer/editor/index.md +47 -0
- package/docs/tr/packages/@intlayer/editor-react/index.md +47 -0
- package/docs/tr/packages/@intlayer/webpack/index.md +61 -0
- package/docs/tr/packages/angular-intlayer/index.md +59 -0
- package/docs/tr/packages/express-intlayer/index.md +258 -0
- package/docs/tr/packages/express-intlayer/t.md +459 -0
- package/docs/tr/packages/intlayer/getConfiguration.md +151 -0
- package/docs/tr/packages/intlayer/getEnumeration.md +165 -0
- package/docs/tr/packages/intlayer/getHTMLTextDir.md +127 -0
- package/docs/tr/packages/intlayer/getLocaleLang.md +87 -0
- package/docs/tr/packages/intlayer/getLocaleName.md +124 -0
- package/docs/tr/packages/intlayer/getLocalizedUrl.md +324 -0
- package/docs/tr/packages/intlayer/getMultilingualUrls.md +225 -0
- package/docs/tr/packages/intlayer/getPathWithoutLocale.md +81 -0
- package/docs/tr/packages/intlayer/getTranslation.md +196 -0
- package/docs/tr/packages/intlayer/getTranslationContent.md +195 -0
- package/docs/tr/packages/intlayer/index.md +505 -0
- package/docs/tr/packages/intlayer-cli/index.md +71 -0
- package/docs/tr/packages/intlayer-editor/index.md +139 -0
- package/docs/tr/packages/lynx-intlayer/index.md +85 -0
- package/docs/tr/packages/next-intlayer/index.md +154 -0
- package/docs/tr/packages/next-intlayer/t.md +354 -0
- package/docs/tr/packages/next-intlayer/useDictionary.md +270 -0
- package/docs/tr/packages/next-intlayer/useIntlayer.md +265 -0
- package/docs/tr/packages/next-intlayer/useLocale.md +133 -0
- package/docs/tr/packages/nuxt-intlayer/index.md +59 -0
- package/docs/tr/packages/preact-intlayer/index.md +55 -0
- package/docs/tr/packages/react-intlayer/index.md +148 -0
- package/docs/tr/packages/react-intlayer/t.md +304 -0
- package/docs/tr/packages/react-intlayer/useDictionary.md +554 -0
- package/docs/tr/packages/react-intlayer/useI18n.md +478 -0
- package/docs/tr/packages/react-intlayer/useIntlayer.md +253 -0
- package/docs/tr/packages/react-intlayer/useLocale.md +212 -0
- package/docs/tr/packages/react-native-intlayer/index.md +85 -0
- package/docs/tr/packages/react-scripts-intlayer/index.md +82 -0
- package/docs/tr/packages/solid-intlayer/index.md +56 -0
- package/docs/tr/packages/svelte-intlayer/index.md +55 -0
- package/docs/tr/packages/vite-intlayer/index.md +82 -0
- package/docs/tr/packages/vue-intlayer/index.md +59 -0
- package/docs/tr/per_locale_file.md +321 -0
- package/docs/tr/readme.md +261 -0
- package/docs/tr/roadmap.md +338 -0
- package/docs/tr/testing.md +200 -0
- package/docs/tr/vs_code_extension.md +154 -0
- package/docs/zh/autoFill.md +40 -18
- package/docs/zh/configuration.md +245 -226
- package/docs/zh/dictionary/content_file.md +1064 -0
- package/docs/zh/intlayer_CMS.md +4 -5
- package/docs/zh/intlayer_with_nestjs.md +268 -0
- package/docs/zh/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/zh/intlayer_with_react_router_v7.md +535 -0
- package/docs/zh/intlayer_with_tanstack.md +468 -278
- package/docs/zh/intlayer_with_vite+preact.md +7 -7
- package/docs/zh/intlayer_with_vite+react.md +7 -7
- package/docs/zh/intlayer_with_vite+vue.md +7 -7
- package/docs/zh/packages/vite-intlayer/index.md +3 -3
- package/docs/zh/readme.md +261 -0
- package/docs/zh/testing.md +198 -0
- package/frequent_questions/tr/SSR_Next_no_[locale].md +105 -0
- package/frequent_questions/tr/array_as_content_declaration.md +72 -0
- package/frequent_questions/tr/build_dictionaries.md +59 -0
- package/frequent_questions/tr/build_error_CI_CD.md +75 -0
- package/frequent_questions/tr/customized_locale_list.md +65 -0
- package/frequent_questions/tr/domain_routing.md +114 -0
- package/frequent_questions/tr/esbuild_error.md +30 -0
- package/frequent_questions/tr/get_locale_cookie.md +142 -0
- package/frequent_questions/tr/intlayer_command_undefined.md +156 -0
- package/frequent_questions/tr/locale_incorect_in_url.md +74 -0
- package/frequent_questions/tr/static_rendering.md +45 -0
- package/frequent_questions/tr/translated_path_url.md +56 -0
- package/frequent_questions/tr/unknown_command.md +98 -0
- package/legal/tr/privacy_notice.md +83 -0
- package/legal/tr/terms_of_service.md +55 -0
- package/package.json +13 -13
- package/src/generated/blog.entry.ts +212 -0
- package/src/generated/docs.entry.ts +663 -135
- package/src/generated/frequentQuestions.entry.ts +85 -1
- package/src/generated/legal.entry.ts +7 -1
- package/docs/ar/dictionary/content_extention_customization.md +0 -100
- package/docs/ar/dictionary/get_started.md +0 -527
- package/docs/de/dictionary/content_extention_customization.md +0 -100
- package/docs/de/dictionary/get_started.md +0 -531
- package/docs/en/dictionary/content_extention_customization.md +0 -102
- package/docs/en/dictionary/get_started.md +0 -529
- package/docs/en-GB/dictionary/content_extention_customization.md +0 -100
- package/docs/en-GB/dictionary/get_started.md +0 -591
- package/docs/es/dictionary/content_extention_customization.md +0 -100
- package/docs/es/dictionary/get_started.md +0 -527
- package/docs/fr/dictionary/content_extention_customization.md +0 -100
- package/docs/fr/dictionary/get_started.md +0 -527
- package/docs/hi/dictionary/content_extention_customization.md +0 -100
- package/docs/hi/dictionary/get_started.md +0 -527
- package/docs/it/dictionary/content_extention_customization.md +0 -113
- package/docs/it/dictionary/get_started.md +0 -573
- package/docs/ja/dictionary/content_extention_customization.md +0 -113
- package/docs/ja/dictionary/get_started.md +0 -576
- package/docs/ko/dictionary/content_extention_customization.md +0 -100
- package/docs/ko/dictionary/get_started.md +0 -530
- package/docs/pt/dictionary/content_extention_customization.md +0 -100
- package/docs/pt/dictionary/get_started.md +0 -532
- package/docs/ru/dictionary/content_extention_customization.md +0 -100
- package/docs/ru/dictionary/get_started.md +0 -575
- package/docs/zh/dictionary/content_extention_customization.md +0 -117
- package/docs/zh/dictionary/get_started.md +0 -533
package/docs/pt/configuration.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2024-08-13
|
|
3
|
-
updatedAt: 2025-
|
|
3
|
+
updatedAt: 2025-09-16
|
|
4
4
|
title: Configuração
|
|
5
|
-
description: Aprenda como configurar o Intlayer para sua aplicação. Entenda as várias configurações e opções disponíveis para personalizar o Intlayer
|
|
5
|
+
description: Aprenda como configurar o Intlayer para sua aplicação. Entenda as várias configurações e opções disponíveis para personalizar o Intlayer conforme suas necessidades.
|
|
6
6
|
keywords:
|
|
7
7
|
- Configuração
|
|
8
8
|
- Ajustes
|
|
@@ -19,13 +19,13 @@ slugs:
|
|
|
19
19
|
|
|
20
20
|
## Visão Geral
|
|
21
21
|
|
|
22
|
-
Os arquivos de configuração do Intlayer permitem a personalização de vários aspectos do plugin, como internacionalização, middleware e
|
|
22
|
+
Os arquivos de configuração do Intlayer permitem a personalização de vários aspectos do plugin, como internacionalização, middleware e manipulação de conteúdo. Este documento fornece uma descrição detalhada de cada propriedade na configuração.
|
|
23
23
|
|
|
24
24
|
---
|
|
25
25
|
|
|
26
26
|
## Suporte a Arquivos de Configuração
|
|
27
27
|
|
|
28
|
-
O Intlayer aceita formatos de
|
|
28
|
+
O Intlayer aceita formatos de arquivos de configuração JSON, JS, MJS e TS:
|
|
29
29
|
|
|
30
30
|
- `intlayer.config.ts`
|
|
31
31
|
- `intlayer.config.js`
|
|
@@ -43,23 +43,24 @@ import { Locales, type IntlayerConfig } from "intlayer";
|
|
|
43
43
|
|
|
44
44
|
const config: IntlayerConfig = {
|
|
45
45
|
internationalization: {
|
|
46
|
-
locales: [Locales.ENGLISH],
|
|
46
|
+
locales: [Locales.ENGLISH], // locais configurados para internacionalização
|
|
47
47
|
},
|
|
48
48
|
content: {
|
|
49
|
-
|
|
49
|
+
autoFill: "./{{fileName}}.content.json", // preenchimento automático do conteúdo
|
|
50
|
+
contentDir: ["src", "../ui-library"], // diretórios de conteúdo
|
|
50
51
|
},
|
|
51
52
|
middleware: {
|
|
52
|
-
noPrefix: false,
|
|
53
|
+
noPrefix: false, // configuração do middleware para prefixo
|
|
53
54
|
},
|
|
54
55
|
editor: {
|
|
55
|
-
applicationURL: "https://example.com",
|
|
56
|
+
applicationURL: "https://example.com", // URL da aplicação para o editor
|
|
56
57
|
},
|
|
57
58
|
ai: {
|
|
58
|
-
apiKey: process.env.OPENAI_API_KEY,
|
|
59
|
-
applicationContext: "This is a test application",
|
|
59
|
+
apiKey: process.env.OPENAI_API_KEY, // chave da API para AI
|
|
60
|
+
applicationContext: "This is a test application", // contexto da aplicação para AI
|
|
60
61
|
},
|
|
61
62
|
build: {
|
|
62
|
-
importMode: "dynamic",
|
|
63
|
+
importMode: "dynamic", // modo de importação para build
|
|
63
64
|
},
|
|
64
65
|
};
|
|
65
66
|
|
|
@@ -72,23 +73,23 @@ const { Locales } = require("intlayer");
|
|
|
72
73
|
/** @type {import('intlayer').IntlayerConfig} */
|
|
73
74
|
const config = {
|
|
74
75
|
internationalization: {
|
|
75
|
-
locales: [Locales.ENGLISH],
|
|
76
|
+
locales: [Locales.ENGLISH], // locais configurados para internacionalização
|
|
76
77
|
},
|
|
77
78
|
content: {
|
|
78
|
-
contentDir: ["src", "../ui-library"],
|
|
79
|
+
contentDir: ["src", "../ui-library"], // diretórios de conteúdo
|
|
79
80
|
},
|
|
80
81
|
middleware: {
|
|
81
|
-
noPrefix: false,
|
|
82
|
+
noPrefix: false, // configuração do middleware para prefixo
|
|
82
83
|
},
|
|
83
84
|
editor: {
|
|
84
|
-
applicationURL: "https://example.com",
|
|
85
|
+
applicationURL: "https://example.com", // URL da aplicação para o editor
|
|
85
86
|
},
|
|
86
87
|
ai: {
|
|
87
|
-
apiKey: process.env.OPENAI_API_KEY,
|
|
88
|
-
applicationContext: "This is a test application",
|
|
88
|
+
apiKey: process.env.OPENAI_API_KEY, // chave da API para AI
|
|
89
|
+
applicationContext: "This is a test application", // contexto da aplicação para AI
|
|
89
90
|
},
|
|
90
91
|
build: {
|
|
91
|
-
importMode: "dynamic",
|
|
92
|
+
importMode: "dynamic", // modo de importação para build
|
|
92
93
|
},
|
|
93
94
|
};
|
|
94
95
|
|
|
@@ -98,13 +99,23 @@ module.exports = config;
|
|
|
98
99
|
```json5 fileName=".intlayerrc" codeFormat="json"
|
|
99
100
|
{
|
|
100
101
|
"internationalization": {
|
|
101
|
-
"locales": ["en"],
|
|
102
|
+
"locales": ["en"], // locais configurados para internacionalização
|
|
102
103
|
},
|
|
103
104
|
"content": {
|
|
104
|
-
"
|
|
105
|
+
"contentDir": ["src", "../ui-library"], // diretórios de conteúdo
|
|
105
106
|
},
|
|
106
107
|
"middleware": {
|
|
107
|
-
"noPrefix": false,
|
|
108
|
+
"noPrefix": false, // configuração do middleware para prefixo
|
|
109
|
+
},
|
|
110
|
+
"editor": {
|
|
111
|
+
"applicationURL": "https://example.com", // URL da aplicação para o editor
|
|
112
|
+
},
|
|
113
|
+
"ai": {
|
|
114
|
+
"apiKey": "XXXX",
|
|
115
|
+
"applicationContext": "Esta é uma aplicação de teste",
|
|
116
|
+
},
|
|
117
|
+
"build": {
|
|
118
|
+
"importMode": "dynamic",
|
|
108
119
|
},
|
|
109
120
|
}
|
|
110
121
|
```
|
|
@@ -119,42 +130,37 @@ As seções a seguir descrevem as várias configurações disponíveis para o In
|
|
|
119
130
|
|
|
120
131
|
### Configuração de Internacionalização
|
|
121
132
|
|
|
122
|
-
Define configurações relacionadas à internacionalização, incluindo os
|
|
133
|
+
Define as configurações relacionadas à internacionalização, incluindo os locais disponíveis e o local padrão para a aplicação.
|
|
123
134
|
|
|
124
135
|
#### Propriedades
|
|
125
136
|
|
|
126
137
|
- **locales**:
|
|
127
|
-
|
|
128
138
|
- _Tipo_: `string[]`
|
|
129
139
|
- _Padrão_: `['en']`
|
|
130
|
-
- _Descrição_: A lista de
|
|
140
|
+
- _Descrição_: A lista de locais suportados na aplicação.
|
|
131
141
|
- _Exemplo_: `['en', 'fr', 'es']`
|
|
132
142
|
|
|
133
143
|
- **requiredLocales**:
|
|
134
|
-
|
|
135
144
|
- _Tipo_: `string[]`
|
|
136
145
|
- _Padrão_: `[]`
|
|
137
|
-
- _Descrição_: A lista de
|
|
146
|
+
- _Descrição_: A lista de locais obrigatórios na aplicação.
|
|
138
147
|
- _Exemplo_: `[]`
|
|
139
|
-
- _Nota_: Se estiver vazio, todos os
|
|
140
|
-
- _Nota_: Certifique-se de que os
|
|
141
|
-
|
|
148
|
+
- _Nota_: Se estiver vazio, todos os locais são obrigatórios no modo `strict`.
|
|
149
|
+
- _Nota_: Certifique-se de que os locais obrigatórios também estejam definidos no campo `locales`.
|
|
142
150
|
- **strictMode**:
|
|
143
|
-
|
|
144
151
|
- _Tipo_: `string`
|
|
145
152
|
- _Padrão_: `inclusive`
|
|
146
|
-
- _Descrição_: Garante implementações rigorosas de conteúdo internacionalizado usando
|
|
147
|
-
- _Nota_: Se definido como "strict", a função de tradução `t` exigirá que cada
|
|
148
|
-
- _Nota_: Se definido como "inclusive", a função de tradução `t` exigirá que cada
|
|
149
|
-
- _Nota_: Se definido como "loose", a função de tradução `t` aceitará qualquer
|
|
153
|
+
- _Descrição_: Garante implementações rigorosas de conteúdo internacionalizado usando typescript.
|
|
154
|
+
- _Nota_: Se definido como "strict", a função de tradução `t` exigirá que cada local declarado esteja definido. Se algum local estiver faltando, ou se um local não estiver declarado na sua configuração, isso gerará um erro.
|
|
155
|
+
- _Nota_: Se definido como "inclusive", a função de tradução `t` exigirá que cada local declarado esteja definido. Se algum local estiver faltando, isso gerará um aviso. Mas aceitará se um local não estiver declarado na sua configuração, mas existir.
|
|
156
|
+
- _Nota_: Se definido como "loose", a função de tradução `t` aceitará qualquer localidade existente.
|
|
150
157
|
|
|
151
158
|
- **defaultLocale**:
|
|
152
|
-
|
|
153
159
|
- _Tipo_: `string`
|
|
154
160
|
- _Padrão_: `'en'`
|
|
155
|
-
- _Descrição_:
|
|
161
|
+
- _Descrição_: A localidade padrão usada como fallback caso a localidade solicitada não seja encontrada.
|
|
156
162
|
- _Exemplo_: `'en'`
|
|
157
|
-
- _Nota_: Isso é usado para determinar
|
|
163
|
+
- _Nota_: Isso é usado para determinar a localidade quando nenhuma é especificada na URL, cookie ou cabeçalho.
|
|
158
164
|
|
|
159
165
|
---
|
|
160
166
|
|
|
@@ -165,7 +171,6 @@ Define configurações relacionadas ao editor integrado, incluindo porta do serv
|
|
|
165
171
|
#### Propriedades
|
|
166
172
|
|
|
167
173
|
- **applicationURL**:
|
|
168
|
-
|
|
169
174
|
- _Tipo_: `string`
|
|
170
175
|
- _Padrão_: `http://localhost:3000`
|
|
171
176
|
- _Descrição_: A URL da aplicação. Usada para restringir a origem do editor por razões de segurança.
|
|
@@ -173,41 +178,36 @@ Define configurações relacionadas ao editor integrado, incluindo porta do serv
|
|
|
173
178
|
- `'http://localhost:3000'`
|
|
174
179
|
- `'https://example.com'`
|
|
175
180
|
- `process.env.INTLAYER_EDITOR_URL`
|
|
176
|
-
- _Nota_: A URL da aplicação. Usada para restringir a origem do editor por razões de segurança. Se
|
|
181
|
+
- _Nota_: A URL da aplicação. Usada para restringir a origem do editor por razões de segurança. Se definida como `'*'`, o editor fica acessível de qualquer origem.
|
|
177
182
|
|
|
178
183
|
- **port**:
|
|
179
|
-
|
|
180
184
|
- _Tipo_: `number`
|
|
181
185
|
- _Padrão_: `8000`
|
|
182
186
|
- _Descrição_: A porta usada pelo servidor do editor visual.
|
|
183
187
|
|
|
184
188
|
- **editorURL**:
|
|
185
|
-
|
|
186
189
|
- _Tipo_: `string`
|
|
187
190
|
- _Padrão_: `'http://localhost:8000'`
|
|
188
191
|
- _Descrição_: A URL do servidor do editor. Usada para restringir a origem do editor por razões de segurança.
|
|
189
192
|
- `'http://localhost:3000'`
|
|
190
193
|
- `'https://example.com'`
|
|
191
194
|
- `process.env.INTLAYER_EDITOR_URL`
|
|
192
|
-
- _Nota_: A URL do servidor do editor para acessar a partir da aplicação. Usada para restringir as origens que podem interagir com a aplicação por razões de segurança. Se
|
|
195
|
+
- _Nota_: A URL do servidor do editor para acessar a partir da aplicação. Usada para restringir as origens que podem interagir com a aplicação por razões de segurança. Se definida como `'*'`, o editor é acessível de qualquer origem. Deve ser configurada se a porta for alterada ou se o editor estiver hospedado em um domínio diferente.
|
|
193
196
|
|
|
194
197
|
- **cmsURL**:
|
|
195
|
-
|
|
196
198
|
- _Tipo_: `string`
|
|
197
199
|
- _Padrão_: `'https://intlayer.org'`
|
|
198
|
-
- _Descrição_: A URL do CMS
|
|
200
|
+
- _Descrição_: A URL do CMS Intlayer.
|
|
199
201
|
- _Exemplo_: `'https://intlayer.org'`
|
|
200
|
-
- _Nota_: A URL do CMS
|
|
202
|
+
- _Nota_: A URL do CMS Intlayer.
|
|
201
203
|
|
|
202
204
|
- **backendURL**:
|
|
203
|
-
|
|
204
205
|
- _Tipo_: `string`
|
|
205
206
|
- _Padrão_: `https://back.intlayer.org`
|
|
206
207
|
- _Descrição_: A URL do servidor backend.
|
|
207
208
|
- _Exemplo_: `http://localhost:4000`
|
|
208
209
|
|
|
209
210
|
- **enabled**:
|
|
210
|
-
|
|
211
211
|
- _Tipo_: `boolean`
|
|
212
212
|
- _Padrão_: `true`
|
|
213
213
|
- _Descrição_: Indica se a aplicação interage com o editor visual.
|
|
@@ -215,215 +215,219 @@ Define configurações relacionadas ao editor integrado, incluindo porta do serv
|
|
|
215
215
|
- _Nota_: Se verdadeiro, o editor poderá interagir com a aplicação. Se falso, o editor não poderá interagir com a aplicação. Em qualquer caso, o editor só pode ser ativado pelo editor visual. Desativar o editor para ambientes específicos é uma forma de reforçar a segurança.
|
|
216
216
|
|
|
217
217
|
- **clientId**:
|
|
218
|
-
|
|
219
218
|
- _Tipo_: `string` | `undefined`
|
|
220
219
|
- _Padrão_: `undefined`
|
|
221
|
-
- _Descrição_: clientId e clientSecret permitem que os pacotes
|
|
220
|
+
- _Descrição_: clientId e clientSecret permitem que os pacotes intlayer autentiquem com o backend usando autenticação oAuth2. Um token de acesso é usado para autenticar o usuário relacionado ao projeto. Para obter um token de acesso, acesse https://intlayer.org/dashboard/project e crie uma conta.
|
|
222
221
|
- _Exemplo_: `true`
|
|
223
|
-
- _Nota_: Importante: O clientId e o clientSecret devem ser mantidos em segredo e não compartilhados publicamente.
|
|
222
|
+
- _Nota_: Importante: O clientId e o clientSecret devem ser mantidos em segredo e não compartilhados publicamente. Por favor, certifique-se de mantê-los em um local seguro, como variáveis de ambiente.
|
|
224
223
|
|
|
225
224
|
- **clientSecret**:
|
|
226
|
-
|
|
227
225
|
- _Tipo_: `string` | `undefined`
|
|
228
226
|
- _Padrão_: `undefined`
|
|
229
|
-
- _Descrição_: clientId e clientSecret permitem que os pacotes
|
|
227
|
+
- _Descrição_: clientId e clientSecret permitem que os pacotes intlayer se autentiquem com o backend usando autenticação oAuth2. Um token de acesso é usado para autenticar o usuário relacionado ao projeto. Para obter um token de acesso, acesse https://intlayer.org/dashboard/project e crie uma conta.
|
|
230
228
|
- _Exemplo_: `true`
|
|
231
|
-
- _Nota_: Importante: O clientId e o clientSecret devem ser mantidos em
|
|
229
|
+
- _Nota_: Importante: O clientId e o clientSecret devem ser mantidos em sigilo e não compartilhados publicamente. Por favor, certifique-se de mantê-los em um local seguro, como variáveis de ambiente.
|
|
232
230
|
|
|
233
|
-
- **
|
|
231
|
+
- **dictionaryPriorityStrategy**:
|
|
232
|
+
- _Tipo_: `string`
|
|
233
|
+
- _Padrão_: `'local_first'`
|
|
234
|
+
- _Descrição_: A estratégia para priorizar dicionários no caso de ambos, dicionários locais e distantes, estarem presentes. Se definido como `'distant_first'`, a aplicação priorizará dicionários distantes sobre os locais. Se definido como `'local_first'`, a aplicação priorizará dicionários locais sobre os distantes.
|
|
235
|
+
- _Exemplo_: `'distant_first'`
|
|
234
236
|
|
|
237
|
+
- **liveSync**:
|
|
235
238
|
- _Tipo_: `boolean`
|
|
236
239
|
- _Padrão_: `false`
|
|
237
|
-
- _Descrição_: Indica se
|
|
240
|
+
- _Descrição_: Indica se o servidor da aplicação deve recarregar o conteúdo da aplicação automaticamente quando uma alteração for detectada no CMS / Editor Visual / Backend.
|
|
238
241
|
- _Exemplo_: `true`
|
|
239
|
-
- _Nota_: Por exemplo, quando um novo dicionário é adicionado ou atualizado, a aplicação atualizará o conteúdo
|
|
240
|
-
- _Nota_:
|
|
242
|
+
- _Nota_: Por exemplo, quando um novo dicionário é adicionado ou atualizado, a aplicação atualizará o conteúdo para exibição na página.
|
|
243
|
+
- _Nota_: A sincronização ao vivo precisa externalizar o conteúdo da aplicação para outro servidor. Isso significa que pode impactar ligeiramente o desempenho da aplicação. Para limitar isso, recomendamos hospedar a aplicação e o servidor de sincronização ao vivo na mesma máquina. Além disso, a combinação de sincronização ao vivo e `optimize` pode gerar um número considerável de requisições ao servidor de sincronização ao vivo. Dependendo da sua infraestrutura, recomendamos testar ambas as opções e sua combinação.
|
|
241
244
|
|
|
242
|
-
- **
|
|
245
|
+
- **liveSyncPort**:
|
|
246
|
+
- _Tipo_: `number`
|
|
247
|
+
- _Padrão_: `4000`
|
|
248
|
+
- _Descrição_: A porta do servidor de sincronização ao vivo.
|
|
249
|
+
- _Exemplo_: `4000`
|
|
250
|
+
- _Nota_: A porta do servidor de sincronização ao vivo.
|
|
251
|
+
|
|
252
|
+
- **liveSyncURL**:
|
|
243
253
|
- _Tipo_: `string`
|
|
244
|
-
- _Padrão_: `'
|
|
245
|
-
- _Descrição_: A
|
|
246
|
-
- _Exemplo_: `'
|
|
254
|
+
- _Padrão_: `'http://localhost:{liveSyncPort}'`
|
|
255
|
+
- _Descrição_: A URL do servidor de sincronização ao vivo.
|
|
256
|
+
- _Exemplo_: `'https://example.com'`
|
|
257
|
+
- _Nota_: Aponta para localhost por padrão, mas pode ser alterado para qualquer URL no caso de um servidor de sincronização ao vivo remoto.
|
|
247
258
|
|
|
248
|
-
### Configuração
|
|
259
|
+
### Configuração do Middleware
|
|
249
260
|
|
|
250
|
-
Configurações que controlam o comportamento do middleware, incluindo como a aplicação lida com cookies, cabeçalhos e prefixos de URL para gerenciamento de
|
|
261
|
+
Configurações que controlam o comportamento do middleware, incluindo como a aplicação lida com cookies, cabeçalhos e prefixos de URL para gerenciamento de localidade.
|
|
251
262
|
|
|
252
263
|
#### Propriedades
|
|
253
264
|
|
|
254
265
|
- **headerName**:
|
|
255
|
-
|
|
256
266
|
- _Tipo_: `string`
|
|
257
267
|
- _Padrão_: `'x-intlayer-locale'`
|
|
258
|
-
- _Descrição_: O nome do cabeçalho HTTP usado para determinar
|
|
268
|
+
- _Descrição_: O nome do cabeçalho HTTP usado para determinar a localidade.
|
|
259
269
|
- _Exemplo_: `'x-custom-locale'`
|
|
260
|
-
- _Nota_:
|
|
270
|
+
- _Nota_: Útil para determinação de localidade baseada em API.
|
|
261
271
|
|
|
262
272
|
- **cookieName**:
|
|
263
|
-
|
|
264
273
|
- _Tipo_: `string`
|
|
265
274
|
- _Padrão_: `'intlayer-locale'`
|
|
266
|
-
- _Descrição_: O nome do cookie usado para armazenar
|
|
275
|
+
- _Descrição_: O nome do cookie usado para armazenar a localidade.
|
|
267
276
|
- _Exemplo_: `'custom-locale'`
|
|
268
|
-
- _Nota_: Usado para persistir
|
|
277
|
+
- _Nota_: Usado para persistir a localidade entre sessões.
|
|
269
278
|
|
|
270
279
|
- **prefixDefault**:
|
|
271
|
-
|
|
272
280
|
- _Tipo_: `boolean`
|
|
273
281
|
- _Padrão_: `false`
|
|
274
|
-
- _Descrição_:
|
|
282
|
+
- _Descrição_: Se deve incluir a localidade padrão na URL.
|
|
275
283
|
- _Exemplo_: `true`
|
|
276
284
|
- _Nota_:
|
|
277
|
-
- Se `true` e `defaultLocale = 'en'`:
|
|
278
|
-
- Se `false` e `defaultLocale = 'en'`:
|
|
285
|
+
- Se `true` e `defaultLocale = 'en'`: caminho = `/en/dashboard` ou `/fr/dashboard`
|
|
286
|
+
- Se `false` e `defaultLocale = 'en'`: caminho = `/dashboard` ou `/fr/dashboard`
|
|
279
287
|
|
|
280
288
|
- **basePath**:
|
|
281
|
-
|
|
282
289
|
- _Tipo_: `string`
|
|
283
290
|
- _Padrão_: `''`
|
|
284
291
|
- _Descrição_: O caminho base para as URLs da aplicação.
|
|
285
292
|
- _Exemplo_: `'/my-app'`
|
|
286
293
|
- _Nota_:
|
|
287
|
-
- Se a aplicação
|
|
294
|
+
- Se a aplicação estiver hospedada em `https://example.com/my-app`
|
|
288
295
|
- O caminho base é `'/my-app'`
|
|
289
296
|
- A URL será `https://example.com/my-app/en`
|
|
290
297
|
- Se o caminho base não estiver definido, a URL será `https://example.com/en`
|
|
291
298
|
|
|
292
299
|
- **serverSetCookie**:
|
|
293
|
-
|
|
294
300
|
- _Tipo_: `string`
|
|
295
301
|
- _Padrão_: `'always'`
|
|
296
|
-
- _Descrição_: Regra para definir o cookie de
|
|
302
|
+
- _Descrição_: Regra para definir o cookie de localidade no servidor.
|
|
297
303
|
- _Opções_: `'always'`, `'never'`
|
|
298
304
|
- _Exemplo_: `'never'`
|
|
299
|
-
- _Nota_: Controla se o cookie de
|
|
305
|
+
- _Nota_: Controla se o cookie de localidade é definido a cada requisição ou nunca.
|
|
300
306
|
|
|
301
307
|
- **noPrefix**:
|
|
302
|
-
|
|
303
308
|
- _Tipo_: `boolean`
|
|
304
309
|
- _Padrão_: `false`
|
|
305
|
-
- _Descrição_:
|
|
310
|
+
- _Descrição_: Se deve omitir o prefixo da localidade nas URLs.
|
|
306
311
|
- _Exemplo_: `true`
|
|
307
312
|
- _Nota_:
|
|
308
313
|
- Se `true`: Sem prefixo na URL
|
|
309
|
-
- Se `false`:
|
|
314
|
+
- Se `false`: Com prefixo na URL
|
|
310
315
|
- Exemplo com `basePath = '/my-app'`:
|
|
311
|
-
- Se `noPrefix = false`:
|
|
312
|
-
- Se `noPrefix = true`:
|
|
316
|
+
- Se `noPrefix = false`: a URL será `https://example.com/my-app/en`
|
|
317
|
+
- Se `noPrefix = true`: a URL será `https://example.com`
|
|
313
318
|
|
|
314
319
|
- **detectLocaleOnPrefetchNoPrefix**:
|
|
315
|
-
|
|
316
320
|
- _Tipo_: `boolean`
|
|
317
321
|
- _Padrão_: `false`
|
|
318
|
-
- _Descrição_: Controla se a detecção de
|
|
322
|
+
- _Descrição_: Controla se a detecção de local ocorre durante as requisições de prefetch do Next.js.
|
|
319
323
|
- _Exemplo_: `true`
|
|
320
|
-
- _Nota_: Esta configuração afeta como o Next.js
|
|
324
|
+
- _Nota_: Esta configuração afeta como o Next.js lida com o prefetch de local:
|
|
321
325
|
- **Cenário de exemplo:**
|
|
322
326
|
- O idioma do navegador do usuário é `'fr'`
|
|
323
327
|
- A página atual é `/fr/about`
|
|
324
328
|
- O link faz prefetch de `/about`
|
|
325
329
|
- **Com `detectLocaleOnPrefetchNoPrefix: true`:**
|
|
326
|
-
- O prefetch detecta o
|
|
330
|
+
- O prefetch detecta o local `'fr'` do navegador
|
|
327
331
|
- Redireciona o prefetch para `/fr/about`
|
|
328
332
|
- **Com `detectLocaleOnPrefetchNoPrefix: false` (padrão):**
|
|
329
|
-
- O prefetch usa o
|
|
333
|
+
- O prefetch usa o local padrão
|
|
330
334
|
- Redireciona o prefetch para `/en/about` (assumindo que `'en'` é o padrão)
|
|
331
335
|
- **Quando usar `true`:**
|
|
332
|
-
- Sua aplicação usa links internos não localizados (ex
|
|
333
|
-
- Você
|
|
336
|
+
- Sua aplicação usa links internos não localizados (ex: `<a href="/about">`)
|
|
337
|
+
- Você deseja um comportamento consistente de detecção de localidade entre requisições normais e prefetch
|
|
334
338
|
- **Quando usar `false` (padrão):**
|
|
335
|
-
- Sua aplicação usa links com prefixo de
|
|
336
|
-
- Você
|
|
337
|
-
- Você
|
|
339
|
+
- Sua aplicação usa links com prefixo de localidade (ex: `<a href="/fr/about">`)
|
|
340
|
+
- Você deseja otimizar a performance do prefetch
|
|
341
|
+
- Você deseja evitar possíveis loops de redirecionamento
|
|
338
342
|
|
|
339
343
|
---
|
|
340
344
|
|
|
341
345
|
### Configuração de Conteúdo
|
|
342
346
|
|
|
343
|
-
Configurações relacionadas ao
|
|
347
|
+
Configurações relacionadas ao manuseio de conteúdo dentro da aplicação, incluindo nomes de diretórios, extensões de arquivos e configurações derivadas.
|
|
344
348
|
|
|
345
349
|
#### Propriedades
|
|
346
350
|
|
|
347
|
-
- **
|
|
351
|
+
- **autoFill**:
|
|
352
|
+
- _Tipo_: `boolean | string | { [key in Locales]?: string }`
|
|
353
|
+
- _Padrão_: `undefined`
|
|
354
|
+
- _Descrição_: Indica como o conteúdo deve ser preenchido automaticamente usando IA. Pode ser declarado globalmente no arquivo `intlayer.config.ts`.
|
|
355
|
+
- _Exemplo_: true
|
|
356
|
+
- _Exemplo_: `'./{{fileName}}.content.json'`
|
|
357
|
+
- _Exemplo_: `{ fr: './{{fileName}}.fr.content.json', es: './{{fileName}}.es.content.json' }`
|
|
358
|
+
- _Nota_: A configuração de preenchimento automático pode ser:
|
|
359
|
+
- booleano: Ativa o preenchimento automático para todos os locais
|
|
360
|
+
- string: Caminho para um único arquivo ou template com variáveis
|
|
361
|
+
- objeto: Caminhos de arquivos por localidade
|
|
348
362
|
|
|
363
|
+
- **watch**:
|
|
349
364
|
- _Tipo_: `boolean`
|
|
350
365
|
- _Padrão_: `process.env.NODE_ENV === 'development'`
|
|
351
366
|
- _Descrição_: Indica se o Intlayer deve monitorar alterações nos arquivos de declaração de conteúdo na aplicação para reconstruir os dicionários relacionados.
|
|
352
367
|
|
|
353
368
|
- **fileExtensions**:
|
|
354
|
-
|
|
355
369
|
- _Tipo_: `string[]`
|
|
356
|
-
-
|
|
370
|
+
- _Default_: `['.content.ts', '.content.js', '.content.cjs', '.content.mjs', '.content.json', '.content.tsx', '.content.jsx']`
|
|
357
371
|
- _Descrição_: Extensões de arquivo a serem procuradas ao construir dicionários.
|
|
358
372
|
- _Exemplo_: `['.data.ts', '.data.js', '.data.json']`
|
|
359
|
-
- _Nota_: Personalizar
|
|
373
|
+
- _Nota_: Personalizar extensões de arquivo pode ajudar a evitar conflitos.
|
|
360
374
|
|
|
361
375
|
- **baseDir**:
|
|
362
|
-
|
|
363
376
|
- _Tipo_: `string`
|
|
364
377
|
- _Padrão_: `process.cwd()`
|
|
365
378
|
- _Descrição_: O diretório base para o projeto.
|
|
366
379
|
- _Exemplo_: `'/path/to/project'`
|
|
367
|
-
- _Nota_:
|
|
380
|
+
- _Nota_: Isso é usado para resolver todos os diretórios relacionados ao Intlayer.
|
|
368
381
|
|
|
369
382
|
- **dictionaryOutput**:
|
|
370
|
-
|
|
371
383
|
- _Tipo_: `string[]`
|
|
372
384
|
- _Padrão_: `['intlayer']`
|
|
373
|
-
- _Descrição_: O tipo de saída
|
|
385
|
+
- _Descrição_: O tipo de saída do dicionário a ser usado, por exemplo, `'intlayer'` ou `'i18next'`.
|
|
374
386
|
|
|
375
387
|
- **contentDir**:
|
|
376
|
-
|
|
377
388
|
- _Tipo_: `string[]`
|
|
378
|
-
- _Padrão_: `['
|
|
389
|
+
- _Padrão_: `['.']`
|
|
379
390
|
- _Exemplo_: `['src', '../../ui-library', require.resolve("@my-package/content")]`
|
|
380
391
|
- _Descrição_: O caminho do diretório onde o conteúdo é armazenado.
|
|
381
392
|
|
|
382
393
|
- **dictionariesDir**:
|
|
383
|
-
|
|
384
394
|
- _Tipo_: `string`
|
|
385
395
|
- _Padrão_: `'.intlayer/dictionaries'`
|
|
386
396
|
- _Descrição_: O caminho do diretório para armazenar resultados intermediários ou de saída.
|
|
387
397
|
|
|
388
398
|
- **moduleAugmentationDir**:
|
|
389
|
-
|
|
390
399
|
- _Tipo_: `string`
|
|
391
400
|
- _Padrão_: `'.intlayer/types'`
|
|
392
|
-
- _Descrição_: Diretório para
|
|
401
|
+
- _Descrição_: Diretório para a ampliação de módulos, permitindo melhores sugestões na IDE e verificação de tipos.
|
|
393
402
|
- _Exemplo_: `'intlayer-types'`
|
|
394
403
|
- _Nota_: Certifique-se de incluir isso no `tsconfig.json`.
|
|
395
404
|
|
|
396
405
|
- **unmergedDictionariesDir**:
|
|
397
|
-
|
|
398
406
|
- _Tipo_: `string`
|
|
399
407
|
- _Padrão_: `'.intlayer/unmerged_dictionary'`
|
|
400
408
|
- _Descrição_: O diretório para armazenar dicionários não mesclados.
|
|
401
409
|
- _Exemplo_: `'translations'`
|
|
402
410
|
|
|
403
411
|
- **dictionariesDir**:
|
|
404
|
-
|
|
405
412
|
- _Tipo_: `string`
|
|
406
413
|
- _Padrão_: `'.intlayer/dictionary'`
|
|
407
414
|
- _Descrição_: O diretório para armazenar dicionários de localização.
|
|
408
415
|
- _Exemplo_: `'translations'`
|
|
409
416
|
|
|
410
417
|
- **i18nextResourcesDir**:
|
|
411
|
-
|
|
412
418
|
- _Tipo_: `string`
|
|
413
419
|
- _Padrão_: `'i18next_dictionary'`
|
|
414
420
|
- _Descrição_: O diretório para armazenar dicionários i18n.
|
|
415
421
|
- _Exemplo_: `'translations'`
|
|
416
|
-
- _Nota_: Certifique-se de que este diretório
|
|
422
|
+
- _Nota_: Certifique-se de que este diretório está configurado para o tipo de saída i18next.
|
|
417
423
|
|
|
418
424
|
- **typesDir**:
|
|
419
|
-
|
|
420
425
|
- _Tipo_: `string`
|
|
421
426
|
- _Padrão_: `'types'`
|
|
422
427
|
- _Descrição_: O diretório para armazenar tipos de dicionário.
|
|
423
428
|
- _Exemplo_: `'intlayer-types'`
|
|
424
429
|
|
|
425
430
|
- **mainDir**:
|
|
426
|
-
|
|
427
431
|
- _Tipo_: `string`
|
|
428
432
|
- _Padrão_: `'main'`
|
|
429
433
|
- _Descrição_: O diretório onde os arquivos principais da aplicação são armazenados.
|
|
@@ -433,7 +437,7 @@ Configurações relacionadas ao gerenciamento de conteúdo dentro da aplicação
|
|
|
433
437
|
- _Tipo_: `string[]`
|
|
434
438
|
- _Padrão_: `['node_modules']`
|
|
435
439
|
- _Descrição_: Diretórios excluídos da busca de conteúdo.
|
|
436
|
-
- _Nota_: Esta configuração ainda não é
|
|
440
|
+
- _Nota_: Esta configuração ainda não é utilizada, mas está planejada para implementação futura.
|
|
437
441
|
|
|
438
442
|
### Configuração do Logger
|
|
439
443
|
|
|
@@ -442,29 +446,30 @@ Configurações que controlam o logger, incluindo o prefixo a ser usado.
|
|
|
442
446
|
#### Propriedades
|
|
443
447
|
|
|
444
448
|
- **mode**:
|
|
445
|
-
|
|
446
449
|
- _Tipo_: `string`
|
|
447
450
|
- _Padrão_: `default`
|
|
448
451
|
- _Descrição_: Indica o modo do logger.
|
|
449
452
|
- _Opções_: `default`, `verbose`, `disabled`
|
|
450
453
|
- _Exemplo_: `default`
|
|
451
|
-
- _Nota_: O modo do logger. O modo verbose registrará mais informações, mas pode ser usado para fins de depuração. O modo disabled
|
|
454
|
+
- _Nota_: O modo do logger. O modo verbose registrará mais informações, mas pode ser usado para fins de depuração. O modo disabled desabilitará o logger.
|
|
452
455
|
|
|
453
456
|
- **prefix**:
|
|
454
|
-
|
|
455
457
|
- _Tipo_: `string`
|
|
456
458
|
- _Padrão_: `'[intlayer] '`
|
|
457
459
|
- _Descrição_: O prefixo do logger.
|
|
458
|
-
- _Exemplo_: `'[
|
|
460
|
+
- _Exemplo_: `'[meu prefixo personalizado] '`
|
|
459
461
|
- _Nota_: O prefixo do logger.
|
|
460
462
|
|
|
461
463
|
### Configuração de IA
|
|
462
464
|
|
|
463
465
|
Configurações que controlam os recursos de IA do Intlayer, incluindo o provedor, modelo e chave de API.
|
|
466
|
+
|
|
464
467
|
Esta configuração é opcional se você estiver registrado no [Painel do Intlayer](https://intlayer.org/dashboard/project) usando uma chave de acesso. O Intlayer gerenciará automaticamente a solução de IA mais eficiente e econômica para suas necessidades. Usar as opções padrão garante melhor manutenção a longo prazo, pois o Intlayer atualiza continuamente para usar os modelos mais relevantes.
|
|
465
468
|
|
|
466
|
-
Se preferir usar sua própria chave de API ou modelo específico, você pode definir sua configuração personalizada de IA.
|
|
467
|
-
|
|
469
|
+
Se preferir usar sua própria chave de API ou modelo específico, você pode definir sua configuração personalizada de IA.
|
|
470
|
+
Esta configuração de IA será usada globalmente em todo o seu ambiente Intlayer. Os comandos CLI usarão essas configurações como padrão para os comandos (por exemplo, `fill`), assim como o SDK, Editor Visual e CMS. Você pode substituir esses valores padrão para casos de uso específicos usando parâmetros de comando.
|
|
471
|
+
|
|
472
|
+
O Intlayer suporta múltiplos provedores de IA para maior flexibilidade e escolha. Os provedores atualmente suportados são:
|
|
468
473
|
|
|
469
474
|
- **OpenAI** (padrão)
|
|
470
475
|
- **Anthropic Claude**
|
|
@@ -476,24 +481,21 @@ O Intlayer suporta vários provedores de IA para maior flexibilidade e escolha.
|
|
|
476
481
|
#### Propriedades
|
|
477
482
|
|
|
478
483
|
- **provider**:
|
|
479
|
-
|
|
480
484
|
- _Tipo_: `string`
|
|
481
485
|
- _Padrão_: `'openai'`
|
|
482
486
|
- _Descrição_: O provedor a ser usado para os recursos de IA do Intlayer.
|
|
483
487
|
- _Opções_: `'openai'`, `'anthropic'`, `'mistral'`, `'deepseek'`, `'gemini'`
|
|
484
488
|
- _Exemplo_: `'anthropic'`
|
|
485
|
-
- _Nota_: Diferentes provedores podem exigir diferentes chaves de API e
|
|
489
|
+
- _Nota_: Diferentes provedores podem exigir diferentes chaves de API e possuir modelos de preços distintos.
|
|
486
490
|
|
|
487
491
|
- **model**:
|
|
488
|
-
|
|
489
492
|
- _Tipo_: `string`
|
|
490
493
|
- _Padrão_: Nenhum
|
|
491
494
|
- _Descrição_: O modelo a ser usado para os recursos de IA do Intlayer.
|
|
492
495
|
- _Exemplo_: `'gpt-4o-2024-11-20'`
|
|
493
|
-
- _Nota_: O modelo específico a ser usado varia
|
|
496
|
+
- _Nota_: O modelo específico a ser usado varia conforme o provedor.
|
|
494
497
|
|
|
495
498
|
- **temperature**:
|
|
496
|
-
|
|
497
499
|
- _Tipo_: `number`
|
|
498
500
|
- _Padrão_: Nenhum
|
|
499
501
|
- _Descrição_: A temperatura controla a aleatoriedade das respostas da IA.
|
|
@@ -501,68 +503,84 @@ O Intlayer suporta vários provedores de IA para maior flexibilidade e escolha.
|
|
|
501
503
|
- _Nota_: Uma temperatura mais alta tornará a IA mais criativa e menos previsível.
|
|
502
504
|
|
|
503
505
|
- **apiKey**:
|
|
504
|
-
|
|
505
506
|
- _Tipo_: `string`
|
|
506
507
|
- _Padrão_: Nenhum
|
|
507
508
|
- _Descrição_: Sua chave de API para o provedor selecionado.
|
|
508
509
|
- _Exemplo_: `process.env.OPENAI_API_KEY`
|
|
509
|
-
- _Nota_: Importante: As chaves de API devem ser mantidas em segredo e não compartilhadas publicamente.
|
|
510
|
+
- _Nota_: Importante: As chaves de API devem ser mantidas em segredo e não compartilhadas publicamente. Por favor, certifique-se de mantê-las em um local seguro, como variáveis de ambiente.
|
|
510
511
|
|
|
511
512
|
- **applicationContext**:
|
|
512
513
|
- _Tipo_: `string`
|
|
513
514
|
- _Padrão_: Nenhum
|
|
514
|
-
- _Descrição_: Fornece contexto adicional sobre sua aplicação
|
|
515
|
+
- _Descrição_: Fornece contexto adicional sobre sua aplicação para o modelo de IA, ajudando-o a gerar traduções mais precisas e contextualmente apropriadas. Isso pode incluir informações sobre o domínio do seu app, público-alvo, tom ou terminologia específica.
|
|
515
516
|
|
|
516
517
|
### Configuração de Build
|
|
517
518
|
|
|
518
|
-
Configurações que controlam como o Intlayer otimiza e
|
|
519
|
+
Configurações que controlam como o Intlayer otimiza e constrói a internacionalização da sua aplicação.
|
|
519
520
|
|
|
520
521
|
As opções de build se aplicam aos plugins `@intlayer/babel` e `@intlayer/swc`.
|
|
521
522
|
|
|
522
523
|
> No modo de desenvolvimento, o Intlayer usa importações estáticas para dicionários para simplificar a experiência de desenvolvimento.
|
|
523
524
|
|
|
524
|
-
>
|
|
525
|
+
> Quando otimizado, o Intlayer substituirá as chamadas de dicionários para otimizar a divisão em chunks, de modo que o pacote final importe apenas os dicionários que são realmente usados.
|
|
525
526
|
|
|
526
527
|
#### Propriedades
|
|
527
528
|
|
|
528
529
|
- **optimize**:
|
|
529
|
-
|
|
530
530
|
- _Tipo_: `boolean`
|
|
531
531
|
- _Padrão_: `process.env.NODE_ENV === 'production'`
|
|
532
|
-
- _Descrição_: Controla se
|
|
532
|
+
- _Descrição_: Controla se a build deve ser otimizada.
|
|
533
533
|
- _Exemplo_: `true`
|
|
534
|
-
- _Nota_: Quando ativado, o Intlayer substituirá todas as chamadas de dicionários para otimizar
|
|
535
|
-
- _Nota_: O Intlayer substituirá todas as chamadas de `useIntlayer`
|
|
534
|
+
- _Nota_: Quando ativado, o Intlayer substituirá todas as chamadas de dicionários para otimizar a divisão em chunks. Dessa forma, o pacote final importará apenas os dicionários que são usados. Todas as importações permanecerão como importações estáticas para evitar processamento assíncrono ao carregar os dicionários.
|
|
535
|
+
- _Nota_: O Intlayer substituirá todas as chamadas de `useIntlayer` pelo modo definido pela opção `importMode` e `getIntlayer` por `getDictionary`.
|
|
536
536
|
- _Nota_: Esta opção depende dos plugins `@intlayer/babel` e `@intlayer/swc`.
|
|
537
|
-
- _Nota_: Certifique-se de que todas as chaves sejam declaradas estaticamente nas chamadas `useIntlayer`.
|
|
537
|
+
- _Nota_: Certifique-se de que todas as chaves sejam declaradas estaticamente nas chamadas de `useIntlayer`. Exemplo: `useIntlayer('navbar')`.
|
|
538
538
|
|
|
539
539
|
- **importMode**:
|
|
540
|
-
|
|
541
|
-
- _Tipo_: `'static' | 'dynamic' | 'async'`
|
|
540
|
+
- _Tipo_: `'static' | 'dynamic' | 'live'`
|
|
542
541
|
- _Padrão_: `'static'`
|
|
543
542
|
- _Descrição_: Controla como os dicionários são importados.
|
|
544
543
|
- _Exemplo_: `'dynamic'`
|
|
545
544
|
- _Nota_: Modos disponíveis:
|
|
546
545
|
- "static": Os dicionários são importados estaticamente. Substitui `useIntlayer` por `useDictionary`.
|
|
547
546
|
- "dynamic": Os dicionários são importados dinamicamente usando Suspense. Substitui `useIntlayer` por `useDictionaryDynamic`.
|
|
548
|
-
|
|
549
|
-
- _Nota_: Importações dinâmicas dependem do Suspense e podem impactar levemente o desempenho
|
|
550
|
-
- _Nota_: Se desativado, todos os idiomas serão carregados de uma vez, mesmo que não sejam
|
|
547
|
+
- "live": Os dicionários são buscados dinamicamente usando a API de sincronização ao vivo. Substitui `useIntlayer` por `useDictionaryFetch`.
|
|
548
|
+
- _Nota_: Importações dinâmicas dependem do Suspense e podem impactar levemente o desempenho da renderização.
|
|
549
|
+
- _Nota_: Se desativado, todos os idiomas serão carregados de uma vez, mesmo que não sejam usados.
|
|
551
550
|
- _Nota_: Esta opção depende dos plugins `@intlayer/babel` e `@intlayer/swc`.
|
|
552
|
-
- _Nota_:
|
|
551
|
+
- _Nota_: Garanta que todas as chaves sejam declaradas estaticamente nas chamadas `useIntlayer`. Exemplo: `useIntlayer('navbar')`.
|
|
553
552
|
- _Nota_: Esta opção será ignorada se `optimize` estiver desativado.
|
|
554
|
-
- _Nota_:
|
|
555
|
-
- _Nota_:
|
|
553
|
+
- _Nota_: Se definido como "live", apenas os dicionários que incluem conteúdo remoto e estão marcados como "live" serão transformados no modo live. Os outros serão importados dinamicamente no modo "dynamic" para otimizar o número de consultas fetch e o desempenho de carregamento.
|
|
554
|
+
- _Nota_: O modo live usará a API de sincronização ao vivo para buscar os dicionários. Se a chamada da API falhar, os dicionários serão importados dinamicamente no modo "dynamic".
|
|
555
|
+
- _Nota_: Esta opção não impactará as funções `getIntlayer`, `getDictionary`, `useDictionary`, `useDictionaryAsync` e `useDictionaryDynamic`.
|
|
556
556
|
|
|
557
557
|
- **traversePattern**:
|
|
558
558
|
- _Tipo_: `string[]`
|
|
559
|
-
- _Padrão_: `['
|
|
559
|
+
- _Padrão_: `['**\/*.{js,ts,mjs,cjs,jsx,tsx,mjx,cjx}', '!**\/node_modules/**']`
|
|
560
560
|
- _Descrição_: Padrões que definem quais arquivos devem ser percorridos durante a otimização.
|
|
561
|
-
- _Exemplo_: `['src
|
|
562
|
-
- _Nota_: Use isso para limitar a otimização
|
|
561
|
+
- _Exemplo_: `['src/**\/*.{ts,tsx}', '../ui-library/**\/*.{ts,tsx}', '!**/node_modules/**']`
|
|
562
|
+
- _Nota_: Use isso para limitar a otimização aos arquivos de código relevantes e melhorar o desempenho da compilação.
|
|
563
563
|
- _Nota_: Esta opção será ignorada se `optimize` estiver desativado.
|
|
564
564
|
- _Nota_: Use padrão glob.
|
|
565
565
|
|
|
566
566
|
## Histórico da Documentação
|
|
567
567
|
|
|
568
|
-
|
|
568
|
+
| Versão | Data | Alterações |
|
|
569
|
+
| ------ | ---------- | ------------------------------------ |
|
|
570
|
+
| 6.0.0 | 2025-09-16 | Adicionado modo de importação `live` |
|
|
571
|
+
|
|
572
|
+
- _Descrição_: Padrões que definem quais arquivos devem ser percorridos durante a otimização.
|
|
573
|
+
- _Exemplo_: `['src/**/*.{ts,tsx}', '../ui-library/**/*.{ts,tsx}', '!**/node_modules/**']`
|
|
574
|
+
- _Nota_: Use isso para limitar a otimização aos arquivos de código relevantes e melhorar o desempenho da build.
|
|
575
|
+
- _Nota_: Esta opção será ignorada se `optimize` estiver desativado.
|
|
576
|
+
- _Nota_: Use padrão glob.
|
|
577
|
+
|
|
578
|
+
## Histórico da Documentação
|
|
579
|
+
|
|
580
|
+
| Versão | Data | Alterações |
|
|
581
|
+
| ------ | ---------- | ----------------------------------------------------------------------------------------------------- |
|
|
582
|
+
| 6.0.0 | 2025-09-16 | Adicionado modo de importação `live` |
|
|
583
|
+
| 6.0.0 | 2025-09-04 | Substituído o campo `hotReload` por `liveSync` e adicionados os campos `liveSyncPort` e `liveSyncURL` |
|
|
584
|
+
| 5.6.1 | 2025-07-25 | Substituído `activateDynamicImport` pela opção `importMode` |
|
|
585
|
+
| 5.6.0 | 2025-07-13 | Alterado o valor padrão de contentDir de `['src']` para `['.']` |
|
|
586
|
+
| 5.5.11 | 2025-06-29 | Adicionados comandos `docs` |
|