@intlayer/docs 5.8.1 → 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 +12 -12
- 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
|
@@ -1,529 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
createdAt: 2025-08-23
|
|
3
|
-
updatedAt: 2025-08-23
|
|
4
|
-
title: Dictionary | Get Started
|
|
5
|
-
description: Discover how to declare and use dictionaries in your multilingual website. Follow the steps in this online documentation to set up your project in a few minutes.
|
|
6
|
-
keywords:
|
|
7
|
-
- Get Started
|
|
8
|
-
- Internationalization
|
|
9
|
-
- Documentation
|
|
10
|
-
- Intlayer
|
|
11
|
-
- Next.js
|
|
12
|
-
- JavaScript
|
|
13
|
-
- React
|
|
14
|
-
slugs:
|
|
15
|
-
- doc
|
|
16
|
-
- concept
|
|
17
|
-
- content
|
|
18
|
-
---
|
|
19
|
-
|
|
20
|
-
# Getting Started the declaration of your content
|
|
21
|
-
|
|
22
|
-
<iframe title="i18n, Markdown, JSON… one single solution to manage it all | Intlayer" class="m-auto aspect-[16/9] w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/1VHgSY_j9_I?autoplay=0&origin=http://intlayer.org&controls=0&rel=1"/>
|
|
23
|
-
|
|
24
|
-
## Files extensions
|
|
25
|
-
|
|
26
|
-
By default, Intlayer watches all files with the following extensions for content declarations:
|
|
27
|
-
|
|
28
|
-
- `.content.json`
|
|
29
|
-
- `.content.ts`
|
|
30
|
-
- `.content.tsx`
|
|
31
|
-
- `.content.js`
|
|
32
|
-
- `.content.jsx`
|
|
33
|
-
- `.content.mjs`
|
|
34
|
-
- `.content.mjx`
|
|
35
|
-
- `.content.cjs`
|
|
36
|
-
- `.content.cjx`
|
|
37
|
-
|
|
38
|
-
The application will search for files that match the `./src/**/*.content.{json,ts,tsx,js,jsx,mjs,mjx,cjs,cjx}` glob pattern by default.
|
|
39
|
-
|
|
40
|
-
These default extensions are suitable for most applications. However, if you have specific requirements, refer to the [content extension customization guide](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/configuration.md#content-configuration) for instructions on how to manage them.
|
|
41
|
-
|
|
42
|
-
For a full list of configuration options, visit the configuration documentation.
|
|
43
|
-
|
|
44
|
-
## Declare Your Content
|
|
45
|
-
|
|
46
|
-
Create and manage your dictionaries:
|
|
47
|
-
|
|
48
|
-
```tsx fileName="src/example.content.tsx" contentDeclarationFormat="typescript"
|
|
49
|
-
import { type ReactNode } from "react";
|
|
50
|
-
import {
|
|
51
|
-
t,
|
|
52
|
-
enu,
|
|
53
|
-
cond,
|
|
54
|
-
nest,
|
|
55
|
-
md,
|
|
56
|
-
insert,
|
|
57
|
-
file,
|
|
58
|
-
type Dictionary,
|
|
59
|
-
} from "intlayer";
|
|
60
|
-
|
|
61
|
-
interface Content {
|
|
62
|
-
imbricatedContent: {
|
|
63
|
-
imbricatedContent2: {
|
|
64
|
-
stringContent: string;
|
|
65
|
-
numberContent: number;
|
|
66
|
-
booleanContent: boolean;
|
|
67
|
-
javaScriptContent: string;
|
|
68
|
-
};
|
|
69
|
-
};
|
|
70
|
-
multilingualContent: string;
|
|
71
|
-
quantityContent: string;
|
|
72
|
-
conditionalContent: string;
|
|
73
|
-
markdownContent: never;
|
|
74
|
-
externalContent: string;
|
|
75
|
-
insertionContent: string;
|
|
76
|
-
nestedContent: string;
|
|
77
|
-
fileContent: string;
|
|
78
|
-
jsxContent: ReactNode;
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
export default {
|
|
82
|
-
key: "page",
|
|
83
|
-
content: {
|
|
84
|
-
imbricatedContent: {
|
|
85
|
-
imbricatedContent2: {
|
|
86
|
-
stringContent: "Hello World",
|
|
87
|
-
numberContent: 123,
|
|
88
|
-
booleanContent: true,
|
|
89
|
-
javaScriptContent: `${process.env.NODE_ENV}`,
|
|
90
|
-
},
|
|
91
|
-
},
|
|
92
|
-
multilingualContent: t({
|
|
93
|
-
en: "English content",
|
|
94
|
-
"en-GB": "English content (UK)",
|
|
95
|
-
fr: "French content",
|
|
96
|
-
es: "Spanish content",
|
|
97
|
-
}),
|
|
98
|
-
quantityContent: enu({
|
|
99
|
-
"<-1": "Less than minus one car",
|
|
100
|
-
"-1": "Minus one car",
|
|
101
|
-
"0": "No cars",
|
|
102
|
-
"1": "One car",
|
|
103
|
-
">5": "Some cars",
|
|
104
|
-
">19": "Many cars",
|
|
105
|
-
}),
|
|
106
|
-
conditionalContent: cond({
|
|
107
|
-
true: "Validation is enabled",
|
|
108
|
-
false: "Validation is disabled",
|
|
109
|
-
}),
|
|
110
|
-
insertionContent: insert("Hello {{name}}!"),
|
|
111
|
-
nestedContent: nest(
|
|
112
|
-
"navbar", // The key of the dictionary to nest
|
|
113
|
-
"login.button" // [Optional] The path to the content to nest
|
|
114
|
-
),
|
|
115
|
-
fileContent: file("./path/to/file.txt"),
|
|
116
|
-
externalContent: fetch("https://example.com").then((res) => res.json()),
|
|
117
|
-
markdownContent: md("# Markdown Example"),
|
|
118
|
-
|
|
119
|
-
/*
|
|
120
|
-
* Only available using `react-intlayer` or `next-intlayer`
|
|
121
|
-
*/
|
|
122
|
-
jsxContent: <h1>My title</h1>,
|
|
123
|
-
},
|
|
124
|
-
} satisfies Dictionary<Content>; // [optional] Dictionary is generic and allow you to strengthen the formatting of your dictionary
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
```javascript fileName="src/example.content.mjx" contentDeclarationFormat="esm"
|
|
128
|
-
import { t, enu, cond, nest, md, insert, file } from "intlayer";
|
|
129
|
-
|
|
130
|
-
/** @type {import('intlayer').Dictionary} */
|
|
131
|
-
export default {
|
|
132
|
-
key: "page",
|
|
133
|
-
content: {
|
|
134
|
-
imbricatedContent: {
|
|
135
|
-
imbricatedContent2: {
|
|
136
|
-
stringContent: "Hello World",
|
|
137
|
-
numberContent: 123,
|
|
138
|
-
booleanContent: true,
|
|
139
|
-
javaScriptContent: `${process.env.NODE_ENV}`,
|
|
140
|
-
},
|
|
141
|
-
imbricatedArray: [1, 2, 3],
|
|
142
|
-
},
|
|
143
|
-
multilingualContent: t({
|
|
144
|
-
en: "English content",
|
|
145
|
-
"en-GB": "English content (UK)",
|
|
146
|
-
fr: "French content",
|
|
147
|
-
es: "Spanish content",
|
|
148
|
-
}),
|
|
149
|
-
quantityContent: enu({
|
|
150
|
-
"<-1": "Less than minus one car",
|
|
151
|
-
"-1": "Minus one car",
|
|
152
|
-
"0": "No cars",
|
|
153
|
-
"1": "One car",
|
|
154
|
-
">5": "Some cars",
|
|
155
|
-
">19": "Many cars",
|
|
156
|
-
}),
|
|
157
|
-
conditionalContent: cond({
|
|
158
|
-
true: "Validation is enabled",
|
|
159
|
-
false: "Validation is disabled",
|
|
160
|
-
}),
|
|
161
|
-
insertionContent: insert("Hello {{name}}!"),
|
|
162
|
-
nestedContent: nest(
|
|
163
|
-
"navbar", // The key of the dictionary to nest
|
|
164
|
-
"login.button" // [Optional] The path to the content to nest
|
|
165
|
-
),
|
|
166
|
-
markdownContent: md("# Markdown Example"),
|
|
167
|
-
fileContent: file("./path/to/file.txt"),
|
|
168
|
-
externalContent: fetch("https://example.com").then((res) => res.json())
|
|
169
|
-
|
|
170
|
-
// Only available using `react-intlayer` or `next-intlayer`
|
|
171
|
-
jsxContent: <h1>My title</h1>,
|
|
172
|
-
},
|
|
173
|
-
};
|
|
174
|
-
```
|
|
175
|
-
|
|
176
|
-
```javascript fileName="src/example.content.cjx" contentDeclarationFormat="commonjs"
|
|
177
|
-
const { t, enu, cond, nest, md, insert, file } = require("intlayer");
|
|
178
|
-
|
|
179
|
-
/** @type {import('intlayer').Dictionary} */
|
|
180
|
-
module.exports = {
|
|
181
|
-
key: "page",
|
|
182
|
-
content: {
|
|
183
|
-
imbricatedContent: {
|
|
184
|
-
imbricatedContent2: {
|
|
185
|
-
stringContent: "Hello World",
|
|
186
|
-
numberContent: 123,
|
|
187
|
-
booleanContent: true,
|
|
188
|
-
javaScriptContent: `${process.env.NODE_ENV}`,
|
|
189
|
-
},
|
|
190
|
-
imbricatedArray: [1, 2, 3],
|
|
191
|
-
},
|
|
192
|
-
multilingualContent: t({
|
|
193
|
-
en: "English content",
|
|
194
|
-
"en-GB": "English content (UK)",
|
|
195
|
-
fr: "French content",
|
|
196
|
-
es: "Spanish content",
|
|
197
|
-
}),
|
|
198
|
-
quantityContent: enu({
|
|
199
|
-
"<-1": "Less than minus one car",
|
|
200
|
-
"-1": "Minus one car",
|
|
201
|
-
"0": "No cars",
|
|
202
|
-
"1": "One car",
|
|
203
|
-
">5": "Some cars",
|
|
204
|
-
">19": "Many cars",
|
|
205
|
-
}),
|
|
206
|
-
conditionalContent: cond({
|
|
207
|
-
true: "Validation is enabled",
|
|
208
|
-
false: "Validation is disabled",
|
|
209
|
-
}),
|
|
210
|
-
insertionContent: insert("Hello {{name}}!"),
|
|
211
|
-
nestedContent: nest(
|
|
212
|
-
"navbar", // The key of the dictionary to nest
|
|
213
|
-
"login.button" // [Optional] The path to the content to nest
|
|
214
|
-
),
|
|
215
|
-
markdownContent: md("# Markdown Example"),
|
|
216
|
-
fileContent: file("./path/to/file.txt"),
|
|
217
|
-
externalContent: fetch("https://example.com").then((res) => res.json())
|
|
218
|
-
|
|
219
|
-
// Only available using `react-intlayer` or `next-intlayer`
|
|
220
|
-
jsxContent: <h1>My title</h1>,
|
|
221
|
-
},
|
|
222
|
-
};
|
|
223
|
-
```
|
|
224
|
-
|
|
225
|
-
```json5 fileName="src/example.content.json" contentDeclarationFormat="json"
|
|
226
|
-
{
|
|
227
|
-
"$schema": "https://intlayer.org/schema.json",
|
|
228
|
-
"key": "page",
|
|
229
|
-
"content": {
|
|
230
|
-
"imbricatedContent": {
|
|
231
|
-
"imbricatedContent2": {
|
|
232
|
-
"stringContent": "Hello World",
|
|
233
|
-
"numberContent": 123,
|
|
234
|
-
"booleanContent": true,
|
|
235
|
-
},
|
|
236
|
-
"imbricatedArray": [1, 2, 3],
|
|
237
|
-
},
|
|
238
|
-
"multilingualContent": {
|
|
239
|
-
"nodeType": "translation",
|
|
240
|
-
"translation": {
|
|
241
|
-
"en": "English content",
|
|
242
|
-
"en-GB": "English content (UK)",
|
|
243
|
-
"fr": "French content",
|
|
244
|
-
"es": "Spanish content",
|
|
245
|
-
},
|
|
246
|
-
},
|
|
247
|
-
"quantityContent": {
|
|
248
|
-
"nodeType": "enumeration",
|
|
249
|
-
"enumeration": {
|
|
250
|
-
"0": "No cars",
|
|
251
|
-
"1": "One car",
|
|
252
|
-
"<-1": "Less than minus one car",
|
|
253
|
-
"-1": "Minus one car",
|
|
254
|
-
">5": "Some cars",
|
|
255
|
-
">19": "Many cars",
|
|
256
|
-
},
|
|
257
|
-
},
|
|
258
|
-
"conditionalContent": {
|
|
259
|
-
"nodeType": "condition",
|
|
260
|
-
"condition": {
|
|
261
|
-
"true": "Validation is enabled",
|
|
262
|
-
"false": "Validation is disabled",
|
|
263
|
-
},
|
|
264
|
-
},
|
|
265
|
-
"insertionContent": {
|
|
266
|
-
"nodeType": "insertion",
|
|
267
|
-
"insertion": "Hello {{name}}!",
|
|
268
|
-
},
|
|
269
|
-
"nestedContent": {
|
|
270
|
-
"nodeType": "nested",
|
|
271
|
-
"nested": { "dictionaryKey": "app" },
|
|
272
|
-
},
|
|
273
|
-
"markdownContent": {
|
|
274
|
-
"nodeType": "markdown",
|
|
275
|
-
"markdown": "# Markdown Example",
|
|
276
|
-
},
|
|
277
|
-
"fileContent": {
|
|
278
|
-
"nodeType": "file",
|
|
279
|
-
"file": "./path/to/file.txt",
|
|
280
|
-
},
|
|
281
|
-
"jsxContent": {
|
|
282
|
-
"type": "h1",
|
|
283
|
-
"key": null,
|
|
284
|
-
"ref": null,
|
|
285
|
-
"props": {
|
|
286
|
-
"children": ["My title"],
|
|
287
|
-
},
|
|
288
|
-
},
|
|
289
|
-
},
|
|
290
|
-
}
|
|
291
|
-
```
|
|
292
|
-
|
|
293
|
-
## Function imbrication
|
|
294
|
-
|
|
295
|
-
You can without problem imbricate functions into other ones.
|
|
296
|
-
|
|
297
|
-
Example :
|
|
298
|
-
|
|
299
|
-
```javascript fileName="src/example.content.tsx" contentDeclarationFormat="typescript"
|
|
300
|
-
import { t, enu, cond, nest, md, type Dictionary } from "intlayer";
|
|
301
|
-
|
|
302
|
-
const getName = async () => "John Doe";
|
|
303
|
-
|
|
304
|
-
export default {
|
|
305
|
-
key: "page",
|
|
306
|
-
content: {
|
|
307
|
-
// `getIntlayer('page','en').hiMessage` returns `['Hi', ' ', 'John Doe']`
|
|
308
|
-
hiMessage: [
|
|
309
|
-
t({
|
|
310
|
-
en: "Hi",
|
|
311
|
-
fr: "Salut",
|
|
312
|
-
es: "Hola",
|
|
313
|
-
}),
|
|
314
|
-
" ",
|
|
315
|
-
getName(),
|
|
316
|
-
],
|
|
317
|
-
// Composite content imbricating condition, enumeration, and multilingual content
|
|
318
|
-
// `getIntlayer('page','en').advancedContent(true)(10) returns 'Multiple items found'`
|
|
319
|
-
advancedContent: cond({
|
|
320
|
-
true: enu({
|
|
321
|
-
"0": t({
|
|
322
|
-
en: "No items found",
|
|
323
|
-
fr: "Aucun article trouvé",
|
|
324
|
-
es: "No se encontraron artículos",
|
|
325
|
-
}),
|
|
326
|
-
"1": t({
|
|
327
|
-
en: "One item found",
|
|
328
|
-
fr: "Un article trouvé",
|
|
329
|
-
es: "Se encontró un artículo",
|
|
330
|
-
}),
|
|
331
|
-
">1": t({
|
|
332
|
-
en: "Multiple items found",
|
|
333
|
-
fr: "Plusieurs articles trouvés",
|
|
334
|
-
es: "Se encontraron múltiples artículos",
|
|
335
|
-
}),
|
|
336
|
-
}),
|
|
337
|
-
false: t({
|
|
338
|
-
en: "No valid data available",
|
|
339
|
-
fr: "Aucune donnée valide disponible",
|
|
340
|
-
es: "No hay datos válidos disponibles",
|
|
341
|
-
}),
|
|
342
|
-
}),
|
|
343
|
-
},
|
|
344
|
-
} satisfies Dictionary;
|
|
345
|
-
```
|
|
346
|
-
|
|
347
|
-
```javascript fileName="src/example.content.mjx" contentDeclarationFormat="esm"
|
|
348
|
-
import { t, enu, cond, nest, md } from "intlayer";
|
|
349
|
-
|
|
350
|
-
const getName = async () => "John Doe";
|
|
351
|
-
|
|
352
|
-
/** @type {import('intlayer').Dictionary} */
|
|
353
|
-
export default {
|
|
354
|
-
key: "page",
|
|
355
|
-
content: {
|
|
356
|
-
// `getIntlayer('page','en').hiMessage` returns `['Hi', ' ', 'John Doe']`
|
|
357
|
-
hiMessage: [
|
|
358
|
-
t({
|
|
359
|
-
en: "Hi",
|
|
360
|
-
fr: "Salut",
|
|
361
|
-
es: "Hola",
|
|
362
|
-
}),
|
|
363
|
-
" ",
|
|
364
|
-
getName(),
|
|
365
|
-
],
|
|
366
|
-
// Composite content imbricating condition, enumeration, and multilingual content
|
|
367
|
-
// `getIntlayer('page','en').advancedContent(true)(10) returns 'Multiple items found'`
|
|
368
|
-
advancedContent: cond({
|
|
369
|
-
true: enu({
|
|
370
|
-
"0": t({
|
|
371
|
-
en: "No items found",
|
|
372
|
-
fr: "Aucun article trouvé",
|
|
373
|
-
es: "No se encontraron artículos",
|
|
374
|
-
}),
|
|
375
|
-
"1": t({
|
|
376
|
-
en: "One item found",
|
|
377
|
-
fr: "Un article trouvé",
|
|
378
|
-
es: "Se encontró un artículo",
|
|
379
|
-
}),
|
|
380
|
-
">1": t({
|
|
381
|
-
en: "Multiple items found",
|
|
382
|
-
fr: "Plusieurs articles trouvés",
|
|
383
|
-
es: "Se encontraron múltiples artículos",
|
|
384
|
-
}),
|
|
385
|
-
}),
|
|
386
|
-
false: t({
|
|
387
|
-
en: "No valid data available",
|
|
388
|
-
fr: "Aucune donnée valide disponible",
|
|
389
|
-
es: "No hay datos válidos disponibles",
|
|
390
|
-
}),
|
|
391
|
-
}),
|
|
392
|
-
},
|
|
393
|
-
};
|
|
394
|
-
```
|
|
395
|
-
|
|
396
|
-
```javascript fileName="src/example.content.cjx" contentDeclarationFormat="commonjs"
|
|
397
|
-
const { t, enu, cond, nest, md } = require("intlayer");
|
|
398
|
-
|
|
399
|
-
const getName = async () => "John Doe";
|
|
400
|
-
|
|
401
|
-
/** @type {import('intlayer').Dictionary} */
|
|
402
|
-
module.exports = {
|
|
403
|
-
key: "page",
|
|
404
|
-
content: {
|
|
405
|
-
// `getIntlayer('page','en').hiMessage` returns `['Hi', ' ', 'John Doe']`
|
|
406
|
-
hiMessage: [
|
|
407
|
-
t({
|
|
408
|
-
en: "Hi",
|
|
409
|
-
fr: "Salut",
|
|
410
|
-
es: "Hola",
|
|
411
|
-
}),
|
|
412
|
-
" ",
|
|
413
|
-
getName(),
|
|
414
|
-
],
|
|
415
|
-
// Composite content imbricating condition, enumeration, and multilingual content
|
|
416
|
-
// `getIntlayer('page','en').advancedContent(true)(10) returns 'Multiple items found'`
|
|
417
|
-
advancedContent: cond({
|
|
418
|
-
true: enu({
|
|
419
|
-
"0": t({
|
|
420
|
-
en: "No items found",
|
|
421
|
-
fr: "Aucun article trouvé",
|
|
422
|
-
es: "No se encontraron artículos",
|
|
423
|
-
}),
|
|
424
|
-
"1": t({
|
|
425
|
-
en: "One item found",
|
|
426
|
-
fr: "Un article trouvé",
|
|
427
|
-
es: "Se encontró un artículo",
|
|
428
|
-
}),
|
|
429
|
-
">1": t({
|
|
430
|
-
en: "Multiple items found",
|
|
431
|
-
fr: "Plusieurs articles trouvés",
|
|
432
|
-
es: "Se encontraron múltiples artículos",
|
|
433
|
-
}),
|
|
434
|
-
}),
|
|
435
|
-
false: t({
|
|
436
|
-
en: "No valid data available",
|
|
437
|
-
fr: "Aucune donnée valide disponible",
|
|
438
|
-
es: "No hay datos válidos disponibles",
|
|
439
|
-
}),
|
|
440
|
-
}),
|
|
441
|
-
},
|
|
442
|
-
};
|
|
443
|
-
```
|
|
444
|
-
|
|
445
|
-
```json5 fileName="src/example.content.json" contentDeclarationFormat="json"
|
|
446
|
-
{
|
|
447
|
-
"$schema": "https://intlayer.org/schema.json",
|
|
448
|
-
"key": "page",
|
|
449
|
-
"content": {
|
|
450
|
-
"hiMessage": {
|
|
451
|
-
"nodeType": "composite",
|
|
452
|
-
"composite": [
|
|
453
|
-
{
|
|
454
|
-
"nodeType": "translation",
|
|
455
|
-
"translation": {
|
|
456
|
-
"en": "Hi",
|
|
457
|
-
"fr": "Salut",
|
|
458
|
-
"es": "Hola",
|
|
459
|
-
},
|
|
460
|
-
},
|
|
461
|
-
" ",
|
|
462
|
-
"John Doe",
|
|
463
|
-
],
|
|
464
|
-
},
|
|
465
|
-
"advancedContent": {
|
|
466
|
-
"nodeType": "condition",
|
|
467
|
-
"condition": {
|
|
468
|
-
"true": {
|
|
469
|
-
"nodeType": "enumeration",
|
|
470
|
-
"enumeration": {
|
|
471
|
-
"0": {
|
|
472
|
-
"nodeType": "translation",
|
|
473
|
-
"translation": {
|
|
474
|
-
"en": "No items found",
|
|
475
|
-
"fr": "Aucun article trouvé",
|
|
476
|
-
"es": "No se encontraron artículos",
|
|
477
|
-
},
|
|
478
|
-
},
|
|
479
|
-
"1": {
|
|
480
|
-
"nodeType": "translation",
|
|
481
|
-
"translation": {
|
|
482
|
-
"en": "One item found",
|
|
483
|
-
"fr": "Un article trouvé",
|
|
484
|
-
"es": "Se encontró un artículo",
|
|
485
|
-
},
|
|
486
|
-
},
|
|
487
|
-
">1": {
|
|
488
|
-
"nodeType": "translation",
|
|
489
|
-
"translation": {
|
|
490
|
-
"en": "Multiple items found",
|
|
491
|
-
"fr": "Plusieurs articles trouvés",
|
|
492
|
-
"es": "Se encontraron múltiples artículos",
|
|
493
|
-
},
|
|
494
|
-
},
|
|
495
|
-
},
|
|
496
|
-
},
|
|
497
|
-
"false": {
|
|
498
|
-
"nodeType": "translation",
|
|
499
|
-
"translation": {
|
|
500
|
-
"en": "No valid data available",
|
|
501
|
-
"fr": "Aucune donnée valide disponible",
|
|
502
|
-
"es": "No hay datos válidos disponibles",
|
|
503
|
-
},
|
|
504
|
-
},
|
|
505
|
-
},
|
|
506
|
-
},
|
|
507
|
-
},
|
|
508
|
-
}
|
|
509
|
-
```
|
|
510
|
-
|
|
511
|
-
## Additional Resources
|
|
512
|
-
|
|
513
|
-
For more details in Intlayer, refer to the following resources:
|
|
514
|
-
|
|
515
|
-
- [Per-Locale Content Declaration Documentation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/per_locale_file.md)
|
|
516
|
-
- [Translation Content Documentation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/translation.md)
|
|
517
|
-
- [Enumeration Content Documentation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/enumeration.md)
|
|
518
|
-
- [Condition Content Documentation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/condition.md)
|
|
519
|
-
- [Insertion Content Documentation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/insertion.md)
|
|
520
|
-
- [File Content Documentation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/file.md)
|
|
521
|
-
- [Nesting Content Documentation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/nesting.md)
|
|
522
|
-
- [Markdown Content Documentation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/markdown.md)
|
|
523
|
-
- [Function Fetching Content Documentation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/function_fetching.md)
|
|
524
|
-
|
|
525
|
-
## Doc History
|
|
526
|
-
|
|
527
|
-
| Version | Date | Changes |
|
|
528
|
-
| ------- | ---------- | ------------ |
|
|
529
|
-
| 5.5.10 | 2025-06-29 | Init history |
|
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
createdAt: 2025-02-07
|
|
3
|
-
updatedAt: 2025-06-29
|
|
4
|
-
title: Content Extension Customisation
|
|
5
|
-
description: Learn how to customise the extensions for your content declaration files. Follow this documentation to implement conditions efficiently in your project.
|
|
6
|
-
keywords:
|
|
7
|
-
- Content Extension Customisation
|
|
8
|
-
- Documentation
|
|
9
|
-
- Intlayer
|
|
10
|
-
slugs:
|
|
11
|
-
- doc
|
|
12
|
-
- concept
|
|
13
|
-
- content
|
|
14
|
-
---
|
|
15
|
-
|
|
16
|
-
# Content Extension Customisation
|
|
17
|
-
|
|
18
|
-
## Content File Extensions
|
|
19
|
-
|
|
20
|
-
Intlayer allows you to customise the extensions for your content declaration files. This customisation provides flexibility in managing large-scale projects and helps to avoid conflicts with other modules.
|
|
21
|
-
|
|
22
|
-
### Default Extensions
|
|
23
|
-
|
|
24
|
-
By default, Intlayer watches all files with the following extensions for content declarations:
|
|
25
|
-
|
|
26
|
-
- `.content.json`
|
|
27
|
-
- `.content.ts`
|
|
28
|
-
- `.content.tsx`
|
|
29
|
-
- `.content.js`
|
|
30
|
-
- `.content.jsx`
|
|
31
|
-
- `.content.mjs`
|
|
32
|
-
- `.content.mjx`
|
|
33
|
-
- `.content.cjs`
|
|
34
|
-
- `.content.cjx`
|
|
35
|
-
|
|
36
|
-
These default extensions are suitable for most applications. However, when you have specific needs, you can define custom extensions to streamline the build process and reduce the risk of conflicts with other components.
|
|
37
|
-
|
|
38
|
-
### Customising Content Extensions
|
|
39
|
-
|
|
40
|
-
To customise the file extensions Intlayer uses to identify content declaration files, you can specify them in the Intlayer configuration file. This approach is beneficial for large-scale projects where limiting the scope of the watch process improves build performance.
|
|
41
|
-
|
|
42
|
-
Here is an example of how to define custom content extensions in your configuration:
|
|
43
|
-
|
|
44
|
-
```typescript fileName="intlayer.config.ts" codeFormat="typescript"
|
|
45
|
-
import type { IntlayerConfig } from "intlayer";
|
|
46
|
-
|
|
47
|
-
const config: IntlayerConfig = {
|
|
48
|
-
content: {
|
|
49
|
-
fileExtensions: [".my_content.ts", ".my_content.tsx"], // Your custom extensions
|
|
50
|
-
},
|
|
51
|
-
};
|
|
52
|
-
|
|
53
|
-
export default config;
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
```javascript fileName="intlayer.config.mjs" codeFormat="esm"
|
|
57
|
-
/** @type {import('intlayer').IntlayerConfig} */
|
|
58
|
-
const config = {
|
|
59
|
-
content: {
|
|
60
|
-
fileExtensions: [".my_content.cjs", ".my_content.cjx"], // Your custom extensions
|
|
61
|
-
},
|
|
62
|
-
};
|
|
63
|
-
|
|
64
|
-
export default config;
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
|
|
68
|
-
/** @type {import('intlayer').IntlayerConfig} */
|
|
69
|
-
const config = {
|
|
70
|
-
content: {
|
|
71
|
-
fileExtensions: [".my_content.mjs", ".my_content.mjx"], // Your custom extensions
|
|
72
|
-
},
|
|
73
|
-
};
|
|
74
|
-
|
|
75
|
-
module.exports = config;
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
In this example, the configuration specifies two custom extensions: `.my_content.ts` and `.my_content.tsx`. Intlayer will only watch files with these extensions to build dictionaries.
|
|
79
|
-
|
|
80
|
-
### Benefits of Custom Extensions
|
|
81
|
-
|
|
82
|
-
- **Build Performance**: Reducing the scope of watched files can significantly improve build performance in large projects.
|
|
83
|
-
- **Conflict Avoidance**: Custom extensions help prevent conflicts with other JavaScript or TypeScript files in your project.
|
|
84
|
-
- **Organisation**: Custom extensions allow you to organise your content declaration files according to your project's needs.
|
|
85
|
-
|
|
86
|
-
### Guidelines for Custom Extensions
|
|
87
|
-
|
|
88
|
-
When customising content file extensions, keep the following guidelines in mind:
|
|
89
|
-
|
|
90
|
-
- **Uniqueness**: Choose extensions that are unique within your project to avoid conflicts.
|
|
91
|
-
- **Consistent Naming**: Use consistent naming conventions for better code readability and maintenance.
|
|
92
|
-
- **Avoiding Common Extensions**: Refrain from using common extensions like `.ts` or `.js` to prevent conflicts with other modules or libraries.
|
|
93
|
-
|
|
94
|
-
## Conclusion
|
|
95
|
-
|
|
96
|
-
Customising content file extensions in Intlayer is a valuable feature for optimising performance and avoiding conflicts in large-scale applications. By following the guidelines outlined in this documentation, you can effectively manage your content declarations and ensure smooth integration with other parts of your project.
|
|
97
|
-
|
|
98
|
-
## Doc History
|
|
99
|
-
|
|
100
|
-
- 5.5.10 - 2025-06-29: Init history
|