@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
|
@@ -1,591 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
createdAt: 2024-08-11
|
|
3
|
-
updatedAt: 2025-06-29
|
|
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
|
-
- Internationalisation
|
|
9
|
-
- Documentation
|
|
10
|
-
- Intlayer
|
|
11
|
-
- Next.js
|
|
12
|
-
- JavaScript
|
|
13
|
-
- React
|
|
14
|
-
slugs:
|
|
15
|
-
- doc
|
|
16
|
-
- concept
|
|
17
|
-
- content
|
|
18
|
-
---
|
|
19
|
-
|
|
20
|
-
# Getting Started with 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
|
-
## File extensions
|
|
25
|
-
|
|
26
|
-
By default, Intlayer monitors 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 customisation guide](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/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 allows 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 nest functions within 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-GB': "One item found",
|
|
328
|
-
en: "One item found",
|
|
329
|
-
fr: "Un article trouvé",
|
|
330
|
-
es: "Se encontró un artículo",
|
|
331
|
-
}),
|
|
332
|
-
">1": t({
|
|
333
|
-
'en-GB': "Multiple items found",
|
|
334
|
-
en: "Multiple items found",
|
|
335
|
-
fr: "Plusieurs articles trouvés",
|
|
336
|
-
es: "Se encontraron múltiples artículos",
|
|
337
|
-
}),
|
|
338
|
-
}),
|
|
339
|
-
false: t({
|
|
340
|
-
'en-GB': "No valid data available",
|
|
341
|
-
en: "No valid data available",
|
|
342
|
-
fr: "Aucune donnée valide disponible",
|
|
343
|
-
es: "No hay datos válidos disponibles",
|
|
344
|
-
}),
|
|
345
|
-
}),
|
|
346
|
-
},
|
|
347
|
-
} satisfies Dictionary;
|
|
348
|
-
```
|
|
349
|
-
|
|
350
|
-
You can without problem imbricate functions into other ones.
|
|
351
|
-
|
|
352
|
-
Example :
|
|
353
|
-
|
|
354
|
-
```javascript fileName="src/example.content.tsx" contentDeclarationFormat="typescript"
|
|
355
|
-
import { t, enu, cond, nest, md, type Dictionary } from "intlayer";
|
|
356
|
-
|
|
357
|
-
const getName = async () => "John Doe";
|
|
358
|
-
|
|
359
|
-
export default {
|
|
360
|
-
key: "page",
|
|
361
|
-
content: {
|
|
362
|
-
// `getIntlayer('page','en').hiMessage` returns `['Hi', ' ', 'John Doe']`
|
|
363
|
-
hiMessage: [
|
|
364
|
-
t({
|
|
365
|
-
en: "Hi",
|
|
366
|
-
fr: "Salut",
|
|
367
|
-
es: "Hola",
|
|
368
|
-
}),
|
|
369
|
-
" ",
|
|
370
|
-
getName(),
|
|
371
|
-
],
|
|
372
|
-
// Composite content imbricating condition, enumeration, and multilingual content
|
|
373
|
-
// `getIntlayer('page','en').advancedContent(true)(10) returns 'Multiple items found'`
|
|
374
|
-
advancedContent: cond({
|
|
375
|
-
true: enu({
|
|
376
|
-
"0": t({
|
|
377
|
-
en: "No items found",
|
|
378
|
-
fr: "Aucun article trouvé",
|
|
379
|
-
es: "No se encontraron artículos",
|
|
380
|
-
}),
|
|
381
|
-
"1": t({
|
|
382
|
-
'en-GB': "One item found",
|
|
383
|
-
en: "One item found",
|
|
384
|
-
fr: "Un article trouvé",
|
|
385
|
-
es: "Se encontró un artículo",
|
|
386
|
-
}),
|
|
387
|
-
">1": t({
|
|
388
|
-
'en-GB': "Multiple items found",
|
|
389
|
-
en: "Multiple items found",
|
|
390
|
-
fr: "Plusieurs articles trouvés",
|
|
391
|
-
es: "Se encontraron múltiples artículos",
|
|
392
|
-
}),
|
|
393
|
-
}),
|
|
394
|
-
false: t({
|
|
395
|
-
'en-GB': "No valid data available",
|
|
396
|
-
en: "No valid data available",
|
|
397
|
-
fr: "Aucune donnée valide disponible",
|
|
398
|
-
es: "No hay datos válidos disponibles",
|
|
399
|
-
}),
|
|
400
|
-
}),
|
|
401
|
-
},
|
|
402
|
-
} satisfies Dictionary;
|
|
403
|
-
```
|
|
404
|
-
|
|
405
|
-
```javascript fileName="src/example.content.mjx" contentDeclarationFormat="esm"
|
|
406
|
-
import { t, enu, cond, nest, md } from "intlayer";
|
|
407
|
-
|
|
408
|
-
const getName = async () => "John Doe";
|
|
409
|
-
|
|
410
|
-
/** @type {import('intlayer').Dictionary} */
|
|
411
|
-
export default {
|
|
412
|
-
key: "page",
|
|
413
|
-
content: {
|
|
414
|
-
// `getIntlayer('page','en').hiMessage` returns `['Hi', ' ', 'John Doe']`
|
|
415
|
-
hiMessage: [
|
|
416
|
-
t({
|
|
417
|
-
"en-GB": "Hi",
|
|
418
|
-
en: "Hi",
|
|
419
|
-
fr: "Salut",
|
|
420
|
-
es: "Hola",
|
|
421
|
-
}),
|
|
422
|
-
" ",
|
|
423
|
-
getName(),
|
|
424
|
-
],
|
|
425
|
-
// Composite content imbricating condition, enumeration, and multilingual content
|
|
426
|
-
// `getIntlayer('page','en').advancedContent(true)(10) returns 'Multiple items found'`
|
|
427
|
-
advancedContent: cond({
|
|
428
|
-
true: enu({
|
|
429
|
-
"0": t({
|
|
430
|
-
"en-GB": "No items found",
|
|
431
|
-
en: "No items found",
|
|
432
|
-
fr: "Aucun article trouvé",
|
|
433
|
-
es: "No se encontraron artículos",
|
|
434
|
-
}),
|
|
435
|
-
"1": t({
|
|
436
|
-
"en-GB": "One item found",
|
|
437
|
-
en: "One item found",
|
|
438
|
-
fr: "Un article trouvé",
|
|
439
|
-
es: "Se encontró un artículo",
|
|
440
|
-
}),
|
|
441
|
-
">1": t({
|
|
442
|
-
"en-GB": "Multiple items found",
|
|
443
|
-
en: "Multiple items found",
|
|
444
|
-
fr: "Plusieurs articles trouvés",
|
|
445
|
-
es: "Se encontraron múltiples artículos",
|
|
446
|
-
}),
|
|
447
|
-
}),
|
|
448
|
-
false: t({
|
|
449
|
-
"en-GB": "No valid data available",
|
|
450
|
-
en: "No valid data available",
|
|
451
|
-
fr: "Aucune donnée valide disponible",
|
|
452
|
-
es: "No hay datos válidos disponibles",
|
|
453
|
-
}),
|
|
454
|
-
}),
|
|
455
|
-
},
|
|
456
|
-
};
|
|
457
|
-
```
|
|
458
|
-
|
|
459
|
-
```javascript fileName="src/example.content.cjx" contentDeclarationFormat="commonjs"
|
|
460
|
-
const { t, enu, cond, nest, md } = require("intlayer");
|
|
461
|
-
|
|
462
|
-
const getName = async () => "John Doe";
|
|
463
|
-
|
|
464
|
-
/** @type {import('intlayer').Dictionary} */
|
|
465
|
-
module.exports = {
|
|
466
|
-
key: "page",
|
|
467
|
-
content: {
|
|
468
|
-
// `getIntlayer('page','en').hiMessage` returns `['Hi', ' ', 'John Doe']`
|
|
469
|
-
hiMessage: [
|
|
470
|
-
t({
|
|
471
|
-
'en-GB': "Hi",
|
|
472
|
-
en: "Hi",
|
|
473
|
-
fr: "Salut",
|
|
474
|
-
'en-GB': "No items found",
|
|
475
|
-
en: "No items found",
|
|
476
|
-
fr: "Aucun article trouvé",
|
|
477
|
-
es: "No se encontraron artículos",
|
|
478
|
-
}),
|
|
479
|
-
"1": t({
|
|
480
|
-
'en-GB': "One item found",
|
|
481
|
-
en: "One item found",
|
|
482
|
-
fr: "Un article trouvé",
|
|
483
|
-
es: "Se encontró un artículo",
|
|
484
|
-
}),
|
|
485
|
-
">1": t({
|
|
486
|
-
'en-GB': "Multiple items found",
|
|
487
|
-
en: "Multiple items found",
|
|
488
|
-
fr: "Plusieurs articles trouvés",
|
|
489
|
-
es: "Se encontraron múltiples artículos",
|
|
490
|
-
}),
|
|
491
|
-
],
|
|
492
|
-
|
|
493
|
-
false: t({
|
|
494
|
-
'en-GB': "No valid data available",
|
|
495
|
-
en: "No valid data available",
|
|
496
|
-
fr: "Aucune donnée valide disponible",
|
|
497
|
-
es: "No hay datos válidos disponibles",
|
|
498
|
-
}),
|
|
499
|
-
},
|
|
500
|
-
},
|
|
501
|
-
|
|
502
|
-
```
|
|
503
|
-
|
|
504
|
-
```json5 fileName="src/example.content.json" contentDeclarationFormat="json"
|
|
505
|
-
{
|
|
506
|
-
"$schema": "https://intlayer.org/schema.json",
|
|
507
|
-
"key": "page",
|
|
508
|
-
"content": {
|
|
509
|
-
"hiMessage": {
|
|
510
|
-
"nodeType": "composite",
|
|
511
|
-
"composite": [
|
|
512
|
-
{
|
|
513
|
-
"nodeType": "translation",
|
|
514
|
-
"translation": {
|
|
515
|
-
"en-GB": "Hi",
|
|
516
|
-
en: "Hi",
|
|
517
|
-
fr: "Salut",
|
|
518
|
-
es: "Hola",
|
|
519
|
-
},
|
|
520
|
-
},
|
|
521
|
-
" ",
|
|
522
|
-
"John Doe",
|
|
523
|
-
],
|
|
524
|
-
},
|
|
525
|
-
"advancedContent": {
|
|
526
|
-
"nodeType": "condition",
|
|
527
|
-
"condition": {
|
|
528
|
-
"true": {
|
|
529
|
-
"nodeType": "enumeration",
|
|
530
|
-
"enumeration": {
|
|
531
|
-
"0": {
|
|
532
|
-
"nodeType": "translation",
|
|
533
|
-
"translation": {
|
|
534
|
-
"en-GB": "No items found",
|
|
535
|
-
"en": "No items found",
|
|
536
|
-
"fr": "Aucun article trouvé",
|
|
537
|
-
"es": "No se encontraron artículos",
|
|
538
|
-
},
|
|
539
|
-
},
|
|
540
|
-
"1": {
|
|
541
|
-
"nodeType": "translation",
|
|
542
|
-
"translation": {
|
|
543
|
-
"en-GB": "One item found",
|
|
544
|
-
"en": "One item found",
|
|
545
|
-
"fr": "Un article trouvé",
|
|
546
|
-
"es": "Se encontró un artículo",
|
|
547
|
-
},
|
|
548
|
-
},
|
|
549
|
-
">1": {
|
|
550
|
-
"nodeType": "translation",
|
|
551
|
-
"translation": {
|
|
552
|
-
"en-GB": "Multiple items found",
|
|
553
|
-
"en": "Multiple items found",
|
|
554
|
-
"fr": "Plusieurs articles trouvés",
|
|
555
|
-
"es": "Se encontraron múltiples artículos",
|
|
556
|
-
},
|
|
557
|
-
},
|
|
558
|
-
},
|
|
559
|
-
},
|
|
560
|
-
"false": {
|
|
561
|
-
"nodeType": "translation",
|
|
562
|
-
"translation": {
|
|
563
|
-
"en-GB": "No valid data available",
|
|
564
|
-
en: "No valid data available",
|
|
565
|
-
fr: "Aucune donnée valide disponible",
|
|
566
|
-
es: "No hay datos válidos disponibles",
|
|
567
|
-
},
|
|
568
|
-
},
|
|
569
|
-
},
|
|
570
|
-
},
|
|
571
|
-
},
|
|
572
|
-
}
|
|
573
|
-
```
|
|
574
|
-
|
|
575
|
-
## Additional Resources
|
|
576
|
-
|
|
577
|
-
For more details in Intlayer, refer to the following resources:
|
|
578
|
-
|
|
579
|
-
- [Per-Locale Content Declaration Documentation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/dictionary/per_locale_file.md)
|
|
580
|
-
- [Translation Content Documentation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/dictionary/translation.md)
|
|
581
|
-
- [Enumeration Content Documentation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/dictionary/enumeration.md)
|
|
582
|
-
- [Condition Content Documentation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/dictionary/condition.md)
|
|
583
|
-
- [Insertion Content Documentation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/dictionary/insertion.md)
|
|
584
|
-
- [File Content Documentation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/dictionary/file.md)
|
|
585
|
-
- [Nesting Content Documentation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/dictionary/nesting.md)
|
|
586
|
-
- [Markdown Content Documentation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/dictionary/markdown.md)
|
|
587
|
-
- [Function Fetching Content Documentation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/dictionary/function_fetching.md)
|
|
588
|
-
|
|
589
|
-
## Doc History
|
|
590
|
-
|
|
591
|
-
- 5.5.10 - 2025-06-29: Initial history
|
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
createdAt: 2025-02-07
|
|
3
|
-
updatedAt: 2025-06-29
|
|
4
|
-
title: Personalización de Extensiones de Contenido
|
|
5
|
-
description: Aprende cómo personalizar las extensiones para tus archivos de declaración de contenido. Sigue esta documentación para implementar condiciones de manera eficiente en tu proyecto.
|
|
6
|
-
keywords:
|
|
7
|
-
- Personalización de Extensiones de Contenido
|
|
8
|
-
- Documentación
|
|
9
|
-
- Intlayer
|
|
10
|
-
slugs:
|
|
11
|
-
- doc
|
|
12
|
-
- concept
|
|
13
|
-
- content
|
|
14
|
-
---
|
|
15
|
-
|
|
16
|
-
# Personalización de Extensiones de Contenido
|
|
17
|
-
|
|
18
|
-
## Extensiones de Archivos de Contenido
|
|
19
|
-
|
|
20
|
-
Intlayer te permite personalizar las extensiones para tus archivos de declaración de contenido. Esta personalización proporciona flexibilidad en la gestión de proyectos a gran escala y ayuda a evitar conflictos con otros módulos.
|
|
21
|
-
|
|
22
|
-
### Extensiones Predeterminadas
|
|
23
|
-
|
|
24
|
-
Por defecto, Intlayer vigila todos los archivos con las siguientes extensiones para declaraciones de contenido:
|
|
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
|
-
Estas extensiones predeterminadas son adecuadas para la mayoría de las aplicaciones. Sin embargo, cuando tienes necesidades específicas, puedes definir extensiones personalizadas para optimizar el proceso de compilación y reducir el riesgo de conflictos con otros componentes.
|
|
37
|
-
|
|
38
|
-
### Personalización de Extensiones de Contenido
|
|
39
|
-
|
|
40
|
-
Para personalizar las extensiones de archivo que Intlayer utiliza para identificar los archivos de declaración de contenido, puedes especificarlas en el archivo de configuración de Intlayer. Este enfoque es beneficioso para proyectos a gran escala donde limitar el alcance del proceso de vigilancia mejora el rendimiento de la compilación.
|
|
41
|
-
|
|
42
|
-
Aquí tienes un ejemplo de cómo definir extensiones de contenido personalizadas en tu configuración:
|
|
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"], // Tus extensiones personalizadas
|
|
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"], // Tus extensiones personalizadas
|
|
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"], // Tus extensiones personalizadas
|
|
72
|
-
},
|
|
73
|
-
};
|
|
74
|
-
|
|
75
|
-
module.exports = config;
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
En este ejemplo, la configuración especifica dos extensiones personalizadas: `.my_content.ts` y `.my_content.tsx`. Intlayer solo observará archivos con estas extensiones para construir los diccionarios.
|
|
79
|
-
|
|
80
|
-
### Beneficios de las Extensiones Personalizadas
|
|
81
|
-
|
|
82
|
-
- **Rendimiento de la Compilación**: Reducir el alcance de los archivos observados puede mejorar significativamente el rendimiento de la compilación en proyectos grandes.
|
|
83
|
-
- **Evitar conflictos**: Las extensiones personalizadas ayudan a prevenir conflictos con otros archivos JavaScript o TypeScript en tu proyecto.
|
|
84
|
-
- **Organización**: Las extensiones personalizadas te permiten organizar tus archivos de declaración de contenido según las necesidades de tu proyecto.
|
|
85
|
-
|
|
86
|
-
### Directrices para Extensiones Personalizadas
|
|
87
|
-
|
|
88
|
-
Al personalizar las extensiones de los archivos de contenido, ten en cuenta las siguientes directrices:
|
|
89
|
-
|
|
90
|
-
- **Unicidad**: Elige extensiones que sean únicas dentro de tu proyecto para evitar conflictos.
|
|
91
|
-
- **Nomenclatura Consistente**: Usa convenciones de nombres consistentes para mejorar la legibilidad y el mantenimiento del código.
|
|
92
|
-
- **Evitar Extensiones Comunes**: Evita usar extensiones comunes como `.ts` o `.js` para prevenir conflictos con otros módulos o librerías.
|
|
93
|
-
|
|
94
|
-
## Conclusión
|
|
95
|
-
|
|
96
|
-
Personalizar las extensiones de los archivos de contenido en Intlayer es una característica valiosa para optimizar el rendimiento y evitar conflictos en aplicaciones a gran escala. Siguiendo las directrices descritas en esta documentación, puedes gestionar eficazmente tus declaraciones de contenido y asegurar una integración fluida con otras partes de tu proyecto.
|
|
97
|
-
|
|
98
|
-
## Historial del Documento
|
|
99
|
-
|
|
100
|
-
- 5.5.10 - 2025-06-29: Historial inicial
|