@intlayer/docs 5.8.1 → 6.0.0-canary.1
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
|
@@ -0,0 +1,385 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2025-09-07
|
|
3
|
+
updatedAt: 2025-09-07
|
|
4
|
+
title: Markdown
|
|
5
|
+
description: Intlayer ile çok dilli web sitenizde Markdown içeriği nasıl bildireceğinizi ve kullanacağınızı öğrenin. Bu çevrimiçi dokümantasyonun adımlarını takip ederek Markdown'ı projenize sorunsuz bir şekilde entegre edin.
|
|
6
|
+
keywords:
|
|
7
|
+
- Markdown
|
|
8
|
+
- Uluslararasılaştırma
|
|
9
|
+
- Dokümantasyon
|
|
10
|
+
- Intlayer
|
|
11
|
+
- Next.js
|
|
12
|
+
- JavaScript
|
|
13
|
+
- React
|
|
14
|
+
slugs:
|
|
15
|
+
- doc
|
|
16
|
+
- concept
|
|
17
|
+
- content
|
|
18
|
+
- markdown
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
# Markdown / Zengin Metin İçeriği
|
|
22
|
+
|
|
23
|
+
## Markdown Nasıl Çalışır
|
|
24
|
+
|
|
25
|
+
Intlayer, Markdown sözdizimi kullanılarak tanımlanan zengin metin içeriğini destekler. Bu, bir Markdown dizesini Intlayer tarafından yönetilebilecek bir biçime dönüştüren `md` fonksiyonu aracılığıyla gerçekleştirilir. Markdown kullanarak bloglar, makaleler ve daha fazlası gibi zengin biçimlendirmeye sahip içeriği kolayca yazabilir ve bakımını yapabilirsiniz.
|
|
26
|
+
|
|
27
|
+
[Intlayer Görsel Düzenleyici](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_visual_editor.md) ve [Intlayer CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_CMS.md) her ikisi de Markdown içerik yönetimini destekler.
|
|
28
|
+
|
|
29
|
+
Bir React uygulamasıyla entegre edildiğinde, Markdown içeriğini HTML'ye dönüştürmek için bir Markdown oluşturma sağlayıcısı kullanabilirsiniz (örneğin [`markdown-to-jsx`](https://www.npmjs.com/package/markdown-to-jsx)). Bu, Markdown'da içerik yazarken uygulamanızda düzgün görüntülenmesini sağlar.
|
|
30
|
+
|
|
31
|
+
## Markdown İçeriğini Ayarlama
|
|
32
|
+
|
|
33
|
+
Intlayer projenizde Markdown içeriğini ayarlamak için, `md` fonksiyonunu kullanan bir içerik sözlüğü tanımlayın.
|
|
34
|
+
|
|
35
|
+
```typescript fileName="markdownDictionary.content.ts" contentDeclarationFormat="typescript"
|
|
36
|
+
import { md, type Dictionary } from "intlayer";
|
|
37
|
+
|
|
38
|
+
const markdownDictionary = {
|
|
39
|
+
key: "app",
|
|
40
|
+
content: {
|
|
41
|
+
myMarkdownContent: md("## Başlığım \n\nLorem Ipsum"),
|
|
42
|
+
},
|
|
43
|
+
} satisfies Dictionary;
|
|
44
|
+
|
|
45
|
+
export default markdownDictionary;
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
```javascript fileName="markdownDictionary.content.mjs" contentDeclarationFormat="esm"
|
|
49
|
+
import { md } from "intlayer";
|
|
50
|
+
|
|
51
|
+
/** @type {import('intlayer').Dictionary} */
|
|
52
|
+
const markdownDictionary = {
|
|
53
|
+
key: "app",
|
|
54
|
+
content: {
|
|
55
|
+
myMarkdownContent: md("## Başlığım \n\nLorem Ipsum"),
|
|
56
|
+
},
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
export default markdownDictionary;
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
```javascript fileName="markdownDictionary.content.cjs" contentDeclarationFormat="commonjs"
|
|
63
|
+
const { md } = require("intlayer");
|
|
64
|
+
|
|
65
|
+
/** @type {import('intlayer').Dictionary} */
|
|
66
|
+
const markdownDictionary = {
|
|
67
|
+
key: "app",
|
|
68
|
+
content: {
|
|
69
|
+
myMarkdownContent: md("## Başlığım \n\nLorem Ipsum"),
|
|
70
|
+
},
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
module.exports = markdownDictionary;
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
```json fileName="markdownDictionary.content.json" contentDeclarationFormat="json"
|
|
77
|
+
{
|
|
78
|
+
"$schema": "https://intlayer.org/schema.json",
|
|
79
|
+
"key": "app",
|
|
80
|
+
"content": {
|
|
81
|
+
"myMarkdownContent": {
|
|
82
|
+
"nodeType": "markdown",
|
|
83
|
+
"markdown": "## Başlığım \n\nLorem Ipsum"
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
## (Çok dilli) `.md` dosyasını içe aktarma
|
|
90
|
+
|
|
91
|
+
Markdown dosyanız bir `.md` dosyasıysa, JavaScript tarafından sağlanan farklı içe aktarma formatlarını veya Intlayer'ı kullanarak içe aktarabilirsiniz.
|
|
92
|
+
|
|
93
|
+
[`file` fonksiyonu](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/file.md) aracılığıyla içe aktarmayı önceliklendirmeniz önerilir, çünkü bu, Intlayer'ın dosyanın konumuna göre yolları düzgün bir şekilde yönetmesine ve bu dosyanın Görsel Düzenleyici / CMS ile entegrasyonunu sağlamasına izin verir.
|
|
94
|
+
|
|
95
|
+
```typescript fileName="md.d.ts" contentDeclarationFormat="typescript"
|
|
96
|
+
// Bu bildirim, TypeScript'in Markdown (.md) dosyalarını modüller olarak tanımalarına ve içe aktarmalarına izin verir.
|
|
97
|
+
// Bu olmadan, TypeScript Markdown dosyalarını içe aktarmaya çalışırken hata verir,
|
|
98
|
+
// çünkü yerel olarak kod dışı dosya içe aktarmalarını desteklemez.
|
|
99
|
+
|
|
100
|
+
declare module "*.md";
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
```typescript fileName="markdownDictionary.content.ts" contentDeclarationFormat="typescript"
|
|
104
|
+
import { md, file, t, type Dictionary } from "intlayer";
|
|
105
|
+
import { readFileSync } from "fs";
|
|
106
|
+
import { resolve } from "path";
|
|
107
|
+
|
|
108
|
+
import markdown from "./myMarkdown.md";
|
|
109
|
+
|
|
110
|
+
const markdownDictionary = {
|
|
111
|
+
key: "app",
|
|
112
|
+
content: {
|
|
113
|
+
contentMultilingualFile: t({
|
|
114
|
+
en: md(file("./myMarkdown.en.md")),
|
|
115
|
+
fr: md(file("./myMarkdown.fr.md")),
|
|
116
|
+
es: md(file("./myMarkdown.es.md")),
|
|
117
|
+
}),
|
|
118
|
+
|
|
119
|
+
contentImport: md(markdown),
|
|
120
|
+
contentRequire: md(require("./myMarkdown.md")),
|
|
121
|
+
contentAsyncImport: md(
|
|
122
|
+
import("./myMarkdown.md").then((module) => module.default)
|
|
123
|
+
),
|
|
124
|
+
contentFetch: md(fetch("https://example.com").then((res) => res.text())),
|
|
125
|
+
contentFS: md(() => {
|
|
126
|
+
const filePath = resolve(process.cwd(), "doc/test.md");
|
|
127
|
+
return readFileSync(filePath, "utf8");
|
|
128
|
+
}),
|
|
129
|
+
},
|
|
130
|
+
} satisfies Dictionary;
|
|
131
|
+
|
|
132
|
+
export default markdownDictionary;
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
```javascript fileName="markdownDictionary.content.mjs" contentDeclarationFormat="esm"
|
|
136
|
+
import { md, file, t } from "intlayer";
|
|
137
|
+
import { readFileSync } from "fs";
|
|
138
|
+
import { resolve } from "path";
|
|
139
|
+
|
|
140
|
+
import markdown from "./myMarkdown.md";
|
|
141
|
+
|
|
142
|
+
/** @type {import('intlayer').Dictionary} */
|
|
143
|
+
const markdownDictionary = {
|
|
144
|
+
key: "app",
|
|
145
|
+
content: {
|
|
146
|
+
contentMultilingualFile: t({
|
|
147
|
+
en: md(file("./myMarkdown.en.md")),
|
|
148
|
+
fr: md(file("./myMarkdown.fr.md")),
|
|
149
|
+
es: md(file("./myMarkdown.es.md")),
|
|
150
|
+
}),
|
|
151
|
+
|
|
152
|
+
contentImport: md(markdown),
|
|
153
|
+
contentRequire: md(require("./myMarkdown.md")),
|
|
154
|
+
contentAsyncImport: md(
|
|
155
|
+
import("./myMarkdown.md").then((module) => module.default)
|
|
156
|
+
),
|
|
157
|
+
contentFetch: md(fetch("https://example.com").then((res) => res.text())),
|
|
158
|
+
contentFS: md(() => {
|
|
159
|
+
const filePath = resolve(process.cwd(), "doc/test.md");
|
|
160
|
+
return readFileSync(filePath, "utf8");
|
|
161
|
+
}),
|
|
162
|
+
},
|
|
163
|
+
};
|
|
164
|
+
|
|
165
|
+
export default markdownDictionary;
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
```javascript fileName="markdownDictionary.content.cjs" contentDeclarationFormat="commonjs"
|
|
169
|
+
const { md, file, t } = require("intlayer");
|
|
170
|
+
|
|
171
|
+
const markdown_en = require("./myMarkdown.en.md");
|
|
172
|
+
const markdown_fr = require("./myMarkdown.fr.md");
|
|
173
|
+
const markdown_es = require("./myMarkdown.es.md");
|
|
174
|
+
|
|
175
|
+
/** @type {import('intlayer').Dictionary} */
|
|
176
|
+
const markdownDictionary = {
|
|
177
|
+
key: "app",
|
|
178
|
+
content: {
|
|
179
|
+
contentMultilingualFile: t({
|
|
180
|
+
en: md(file("./myMarkdown.en.md")),
|
|
181
|
+
fr: md(file("./myMarkdown.fr.md")),
|
|
182
|
+
es: md(file("./myMarkdown.es.md")),
|
|
183
|
+
}),
|
|
184
|
+
|
|
185
|
+
contentImport: md(markdown),
|
|
186
|
+
contentFetch: md(fetch("https://example.com").then((res) => res.text())),
|
|
187
|
+
contentFS: md(() => {
|
|
188
|
+
const filePath = resolve(process.cwd(), "doc/test.md");
|
|
189
|
+
return readFileSync(filePath, "utf8");
|
|
190
|
+
}),
|
|
191
|
+
},
|
|
192
|
+
};
|
|
193
|
+
|
|
194
|
+
module.exports = markdownDictionary;
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
```jsonc fileName="markdownDictionary.content.json" contentDeclarationFormat="json"
|
|
198
|
+
// - Harici Markdown dosyalarını (.md) içe aktarma sadece `file` düğümü veya JS veya TS bildirim dosyaları kullanılarak mümkündür.
|
|
199
|
+
// - Harici Markdown içeriğini getirme sadece JS veya TS bildirim dosyaları kullanılarak mümkündür.
|
|
200
|
+
|
|
201
|
+
{
|
|
202
|
+
"$schema": "https://intlayer.org/schema.json",
|
|
203
|
+
"key": "app",
|
|
204
|
+
"content": {
|
|
205
|
+
"": {
|
|
206
|
+
"nodeType": "file",
|
|
207
|
+
"file": "./myMarkdown.md",
|
|
208
|
+
},
|
|
209
|
+
},
|
|
210
|
+
|
|
211
|
+
"contentMultilingualFile": {
|
|
212
|
+
"nodeType": "translation",
|
|
213
|
+
"translation": {
|
|
214
|
+
"en": {
|
|
215
|
+
"nodeType": "markdown",
|
|
216
|
+
"markdown": {
|
|
217
|
+
"nodeType": "file",
|
|
218
|
+
"file": "./myMarkdown.en.md",
|
|
219
|
+
},
|
|
220
|
+
},
|
|
221
|
+
"fr": {
|
|
222
|
+
"nodeType": "markdown",
|
|
223
|
+
"markdown": {
|
|
224
|
+
"nodeType": "file",
|
|
225
|
+
"file": "./myMarkdown.fr.md",
|
|
226
|
+
},
|
|
227
|
+
},
|
|
228
|
+
"es": {
|
|
229
|
+
"nodeType": "markdown",
|
|
230
|
+
"markdown": {
|
|
231
|
+
"nodeType": "file",
|
|
232
|
+
"file": "./myMarkdown.es.md",
|
|
233
|
+
},
|
|
234
|
+
},
|
|
235
|
+
},
|
|
236
|
+
},
|
|
237
|
+
},
|
|
238
|
+
}
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
## React Intlayer ile Markdown Kullanma
|
|
242
|
+
|
|
243
|
+
Bir React uygulamasında Markdown içeriğini oluşturmak için, `react-intlayer` paketinden `useIntlayer` hook'unu bir Markdown oluşturma sağlayıcısıyla birlikte kullanabilirsiniz. Bu örnekte, Markdown'ı HTML'ye dönüştürmek için [`markdown-to-jsx`](https://www.npmjs.com/package/markdown-to-jsx) paketini kullanıyoruz.
|
|
244
|
+
|
|
245
|
+
```tsx fileName="App.tsx" codeFormat="typescript"
|
|
246
|
+
import type { FC } from "react";
|
|
247
|
+
import { useIntlayer, MarkdownProvider } from "react-intlayer";
|
|
248
|
+
import Markdown from "markdown-to-jsx";
|
|
249
|
+
|
|
250
|
+
const AppContent: FC = () => {
|
|
251
|
+
const { myMarkdownContent } = useIntlayer("app");
|
|
252
|
+
|
|
253
|
+
return <>{myMarkdownContent}</>;
|
|
254
|
+
};
|
|
255
|
+
|
|
256
|
+
export const AppProvider: FC = () => (
|
|
257
|
+
<MarkdownProvider
|
|
258
|
+
renderMarkdown={(markdown) => <Markdown>{markdown}</Markdown>}
|
|
259
|
+
>
|
|
260
|
+
<AppContent />
|
|
261
|
+
</MarkdownProvider>
|
|
262
|
+
);
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
```jsx fileName="App.jsx" codeFormat="esm"
|
|
266
|
+
import { useIntlayer, MarkdownProvider } from "react-intlayer";
|
|
267
|
+
import Markdown from "markdown-to-jsx";
|
|
268
|
+
|
|
269
|
+
const AppContent = () => {
|
|
270
|
+
const { myMarkdownContent } = useIntlayer("app");
|
|
271
|
+
|
|
272
|
+
return <>{myMarkdownContent}</>;
|
|
273
|
+
};
|
|
274
|
+
|
|
275
|
+
export const AppProvider = () => (
|
|
276
|
+
<MarkdownProvider
|
|
277
|
+
renderMarkdown={(markdown) => <Markdown>{markdown}</Markdown>}
|
|
278
|
+
>
|
|
279
|
+
<AppContent />
|
|
280
|
+
</MarkdownProvider>
|
|
281
|
+
);
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
```jsx fileName="App.jsx" codeFormat="commonjs"
|
|
285
|
+
const { useIntlayer, MarkdownProvider } = require("react-intlayer");
|
|
286
|
+
const Markdown = require("markdown-to-jsx");
|
|
287
|
+
|
|
288
|
+
const AppContent = () => {
|
|
289
|
+
const { myMarkdownContent } = useIntlayer("app");
|
|
290
|
+
|
|
291
|
+
return <>{myMarkdownContent}</>;
|
|
292
|
+
};
|
|
293
|
+
|
|
294
|
+
AppProvider = () => (
|
|
295
|
+
<MarkdownProvider
|
|
296
|
+
renderMarkdown={(markdown) => <Markdown>{markdown}</Markdown>}
|
|
297
|
+
>
|
|
298
|
+
<AppContent />
|
|
299
|
+
</MarkdownProvider>
|
|
300
|
+
);
|
|
301
|
+
|
|
302
|
+
module.exports = {
|
|
303
|
+
AppProvider,
|
|
304
|
+
};
|
|
305
|
+
```
|
|
306
|
+
|
|
307
|
+
Bu uygulamada:
|
|
308
|
+
|
|
309
|
+
- `MarkdownProvider`, uygulamayı (veya ilgili kısmını) sarar ve bir `renderMarkdown` fonksiyonu kabul eder. Bu fonksiyon, `markdown-to-jsx` paketini kullanarak Markdown dizelerini JSX'e dönüştürmek için kullanılır.
|
|
310
|
+
- `useIntlayer` hook'u, `"app"` anahtarlı sözlükten Markdown içeriğini (`myMarkdownContent`) almak için kullanılır.
|
|
311
|
+
- Markdown içeriği doğrudan bileşende oluşturulur ve Markdown oluşturma sağlayıcı tarafından işlenir.
|
|
312
|
+
|
|
313
|
+
### Next Intlayer ile Markdown Kullanma
|
|
314
|
+
|
|
315
|
+
`next-intlayer` paketini kullanarak uygulama yukarıdakine benzer. Tek fark, `renderMarkdown` fonksiyonunun bir istemci bileşeninde `MarkdownProvider` bileşenine geçirilmesidir.
|
|
316
|
+
|
|
317
|
+
```tsx title="src/providers/IntlayerMarkdownProvider.tsx" codeFormat="typescript"
|
|
318
|
+
"use client";
|
|
319
|
+
|
|
320
|
+
import type { FC, PropsWithChildren } from "react";
|
|
321
|
+
import { MarkdownProvider } from "next-intlayer";
|
|
322
|
+
|
|
323
|
+
const renderMarkdown = (markdown: string) => (
|
|
324
|
+
<span style={{ color: "red" }}>{markdown}</span>
|
|
325
|
+
);
|
|
326
|
+
|
|
327
|
+
export const IntlayerMarkdownProvider: FC<PropsWithChildren> = ({
|
|
328
|
+
children,
|
|
329
|
+
}) => (
|
|
330
|
+
<MarkdownProvider renderMarkdown={renderMarkdown}>
|
|
331
|
+
{children}
|
|
332
|
+
</MarkdownProvider>
|
|
333
|
+
);
|
|
334
|
+
```
|
|
335
|
+
|
|
336
|
+
```jsx title="src/providers/IntlayerMarkdownProvider.msx" codeFormat="esm"
|
|
337
|
+
"use client";
|
|
338
|
+
|
|
339
|
+
import { MarkdownProvider } from "next-intlayer";
|
|
340
|
+
|
|
341
|
+
const renderMarkdown = (markdown) => (
|
|
342
|
+
<span style={{ color: "red" }}>{markdown}</span>
|
|
343
|
+
);
|
|
344
|
+
|
|
345
|
+
export const IntlayerMarkdownProvider = ({ children }) => (
|
|
346
|
+
<MarkdownProvider renderMarkdown={renderMarkdown}>
|
|
347
|
+
{children}
|
|
348
|
+
</MarkdownProvider>
|
|
349
|
+
);
|
|
350
|
+
```
|
|
351
|
+
|
|
352
|
+
```jsx title="src/providers/IntlayerMarkdownProvider.csx" codeFormat="commonjs"
|
|
353
|
+
"use client";
|
|
354
|
+
|
|
355
|
+
const { MarkdownProvider } = require("next-intlayer");
|
|
356
|
+
|
|
357
|
+
const renderMarkdown = (markdown) => (
|
|
358
|
+
<span style={{ color: "red" }}>{markdown}</span>
|
|
359
|
+
);
|
|
360
|
+
|
|
361
|
+
const IntlayerMarkdownProvider = ({ children }) => (
|
|
362
|
+
<MarkdownProvider renderMarkdown={renderMarkdown}>
|
|
363
|
+
{children}
|
|
364
|
+
</MarkdownProvider>
|
|
365
|
+
);
|
|
366
|
+
```
|
|
367
|
+
|
|
368
|
+
## Ek Kaynaklar
|
|
369
|
+
|
|
370
|
+
- [Intlayer CLI Dokümantasyonu](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_cli.md)
|
|
371
|
+
- [React Intlayer Dokümantasyonu](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_with_create_react_app.md)
|
|
372
|
+
- [Next Intlayer Dokümantasyonu](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_with_nextjs_15.md)
|
|
373
|
+
- [markdown-to-jsx on npm](https://www.npmjs.com/package/markdown-to-jsx)
|
|
374
|
+
|
|
375
|
+
Bu kaynaklar, çeşitli içerik türleri ve çerçevelerle Intlayer'ın kurulumu ve kullanımı hakkında daha fazla bilgi sağlar.
|
|
376
|
+
|
|
377
|
+
## Dokümantasyon Geçmişi
|
|
378
|
+
|
|
379
|
+
| Sürüm | Tarih | Değişiklikler |
|
|
380
|
+
| ------ | ---------- | ----------------- |
|
|
381
|
+
| 5.5.10 | 2025-06-29 | Geçmiş başlatıldı |
|
|
382
|
+
|
|
383
|
+
```
|
|
384
|
+
|
|
385
|
+
```
|
|
@@ -0,0 +1,279 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2025-09-07
|
|
3
|
+
updatedAt: 2025-09-07
|
|
4
|
+
title: Sözlüklerin iç içe yerleştirilmesi
|
|
5
|
+
description: Intlayer'da içerik iç içe yerleştirmeyi kullanarak çok dilli içeriğinizi yeniden kullanmayı ve yapılandırmayı verimli bir şekilde nasıl yapacağınızı öğrenin. Bu dokümantasyonu takip ederek projenizde iç içe yerleştirmeyi sorunsuz bir şekilde uygulayın.
|
|
6
|
+
keywords:
|
|
7
|
+
- İç İçe Yerleştirme
|
|
8
|
+
- İçerik Yeniden Kullanılabilirliği
|
|
9
|
+
- Dokümantasyon
|
|
10
|
+
- Intlayer
|
|
11
|
+
- Next.js
|
|
12
|
+
- JavaScript
|
|
13
|
+
- React
|
|
14
|
+
slugs:
|
|
15
|
+
- doc
|
|
16
|
+
- concept
|
|
17
|
+
- content
|
|
18
|
+
- nesting
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
# İç İçe Yerleştirme / Alt İçerik Referansı
|
|
22
|
+
|
|
23
|
+
## İç İçe Yerleştirme Nasıl Çalışır
|
|
24
|
+
|
|
25
|
+
Intlayer'da iç içe yerleştirme, `nest` fonksiyonu aracılığıyla gerçekleştirilir ve başka bir sözlükten içeriği referans almanıza ve yeniden kullanmanıza olanak sağlar. İçeriği çoğaltmak yerine, mevcut bir içerik modülünü anahtarına göre işaret edebilirsiniz.
|
|
26
|
+
|
|
27
|
+
## İç İçe Yerleştirmeyi Ayarlama
|
|
28
|
+
|
|
29
|
+
Intlayer projenizde iç içe yerleştirmeyi ayarlamak için, önce yeniden kullanmak istediğiniz temel içeriği tanımlayın. Ardından, ayrı bir içerik modülünde, o içeriği içe aktarmak için `nest` fonksiyonunu kullanın.
|
|
30
|
+
|
|
31
|
+
### Temel Sözlük
|
|
32
|
+
|
|
33
|
+
Aşağıda, başka bir sözlükte iç içe yerleştirilecek temel sözlük örneği verilmiştir:
|
|
34
|
+
|
|
35
|
+
```typescript fileName="firstDictionary.content.ts" contentDeclarationFormat="typescript"
|
|
36
|
+
import { type Dictionary } from "intlayer";
|
|
37
|
+
|
|
38
|
+
const firstDictionary = {
|
|
39
|
+
key: "key_of_my_first_dictionary",
|
|
40
|
+
content: {
|
|
41
|
+
content: "content",
|
|
42
|
+
subContent: {
|
|
43
|
+
contentNumber: 0,
|
|
44
|
+
contentString: "string",
|
|
45
|
+
},
|
|
46
|
+
},
|
|
47
|
+
} satisfies Dictionary;
|
|
48
|
+
|
|
49
|
+
export default firstDictionary;
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
```javascript fileName="firstDictionary.content.mjs" contentDeclarationFormat="esm"
|
|
53
|
+
/** @type {import('intlayer').Dictionary} */
|
|
54
|
+
const firstDictionary = {
|
|
55
|
+
key: "key_of_my_first_dictionary",
|
|
56
|
+
content: {
|
|
57
|
+
content: "content",
|
|
58
|
+
subContent: {
|
|
59
|
+
contentNumber: 0,
|
|
60
|
+
contentString: "string",
|
|
61
|
+
},
|
|
62
|
+
},
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
export default firstDictionary;
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
```javascript fileName="firstDictionary.content.cjs" contentDeclarationFormat="commonjs"
|
|
69
|
+
/** @type {import('intlayer').Dictionary} */
|
|
70
|
+
const firstDictionary = {
|
|
71
|
+
key: "key_of_my_first_dictionary",
|
|
72
|
+
content: {
|
|
73
|
+
content: "content",
|
|
74
|
+
subContent: {
|
|
75
|
+
contentNumber: 0,
|
|
76
|
+
contentString: "string",
|
|
77
|
+
},
|
|
78
|
+
},
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
module.exports = firstDictionary;
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
```json fileName="firstDictionary.content.json" contentDeclarationFormat="json"
|
|
85
|
+
{
|
|
86
|
+
"$schema": "https://intlayer.org/schema.json",
|
|
87
|
+
"key": "key_of_my_first_dictionary",
|
|
88
|
+
"content": {
|
|
89
|
+
"content": "content",
|
|
90
|
+
"subContent": {
|
|
91
|
+
"contentNumber": 0,
|
|
92
|
+
"contentString": "string"
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
### Nest ile Referans Alma
|
|
99
|
+
|
|
100
|
+
Şimdi, yukarıdaki içeriği referans almak için `nest` fonksiyonunu kullanan başka bir içerik modülü oluşturun. Tüm içeriği veya belirli bir iç içe değeri referans alabilirsiniz:
|
|
101
|
+
|
|
102
|
+
```typescript fileName="secondDictionary.content.ts" contentDeclarationFormat="typescript"
|
|
103
|
+
import { nest, type Dictionary } from "intlayer";
|
|
104
|
+
|
|
105
|
+
const myNestingContent = {
|
|
106
|
+
key: "key_of_my_second_dictionary",
|
|
107
|
+
content: {
|
|
108
|
+
// Tüm sözlüğü referans alır:
|
|
109
|
+
fullNestedContent: nest("key_of_my_first_dictionary"),
|
|
110
|
+
// Belirli bir iç içe değeri referans alır:
|
|
111
|
+
partialNestedContent: nest(
|
|
112
|
+
"key_of_my_first_dictionary",
|
|
113
|
+
"subContent.contentNumber"
|
|
114
|
+
),
|
|
115
|
+
},
|
|
116
|
+
} satisfies Dictionary;
|
|
117
|
+
|
|
118
|
+
export default myNestingContent;
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
```javascript fileName="secondDictionary.content.mjs" contentDeclarationFormat="esm"
|
|
122
|
+
import { nest } from "intlayer";
|
|
123
|
+
|
|
124
|
+
/** @type {import('intlayer').Dictionary} */
|
|
125
|
+
const myNestingContent = {
|
|
126
|
+
key: "key_of_my_second_dictionary",
|
|
127
|
+
content: {
|
|
128
|
+
fullNestedContent: nest("key_of_my_first_dictionary"),
|
|
129
|
+
partialNestedContent: nest(
|
|
130
|
+
"key_of_my_first_dictionary",
|
|
131
|
+
"subContent.contentNumber"
|
|
132
|
+
),
|
|
133
|
+
},
|
|
134
|
+
};
|
|
135
|
+
|
|
136
|
+
export default myNestingContent;
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
```javascript fileName="secondDictionary.content.cjs" contentDeclarationFormat="commonjs"
|
|
140
|
+
const { nest } = require("intlayer");
|
|
141
|
+
|
|
142
|
+
/** @type {import('intlayer').Dictionary} */
|
|
143
|
+
const myNestingContent = {
|
|
144
|
+
key: "key_of_my_second_dictionary",
|
|
145
|
+
content: {
|
|
146
|
+
fullNestedContent: nest("key_of_my_first_dictionary"),
|
|
147
|
+
partialNestedContent: nest(
|
|
148
|
+
"key_of_my_first_dictionary",
|
|
149
|
+
"subContent.contentNumber"
|
|
150
|
+
),
|
|
151
|
+
},
|
|
152
|
+
};
|
|
153
|
+
|
|
154
|
+
module.exports = myNestingContent;
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
```json fileName="secondDictionary.content.json" contentDeclarationFormat="json"
|
|
158
|
+
{
|
|
159
|
+
"$schema": "https://intlayer.org/schema.json",
|
|
160
|
+
"key": "key_of_my_second_dictionary",
|
|
161
|
+
"content": {
|
|
162
|
+
"fullNestedContent": {
|
|
163
|
+
"nodeType": "nested",
|
|
164
|
+
"nested": {
|
|
165
|
+
"dictionaryKey": "key_of_my_first_dictionary"
|
|
166
|
+
}
|
|
167
|
+
},
|
|
168
|
+
"partialNestedContent": {
|
|
169
|
+
"nodeType": "nested",
|
|
170
|
+
"nested": {
|
|
171
|
+
"dictionaryKey": "key_of_my_first_dictionary",
|
|
172
|
+
"path": "subContent.contentNumber"
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
İkinci parametre olarak, o içerik içindeki iç içe bir değere giden bir yol belirtebilirsiniz. Yol sağlanmadığında, referans alınan sözlüğün tüm içeriği döndürülür.
|
|
180
|
+
|
|
181
|
+
## React Intlayer ile İç İçe Yerleştirmeyi Kullanma
|
|
182
|
+
|
|
183
|
+
Bir React bileşeninde iç içe yerleştirilmiş içeriği kullanmak için, `react-intlayer` paketinden `useIntlayer` hook'unu kullanın. Bu hook, belirtilen anahtara göre doğru içeriği alır. İşte nasıl kullanılacağına dair bir örnek:
|
|
184
|
+
|
|
185
|
+
```tsx fileName="**/*.tsx" codeFormat="typescript"
|
|
186
|
+
import type { FC } from "react";
|
|
187
|
+
import { useIntlayer } from "react-intlayer";
|
|
188
|
+
|
|
189
|
+
const NestComponent: FC = () => {
|
|
190
|
+
const { fullNestedContent, partialNestedContent } = useIntlayer(
|
|
191
|
+
"key_of_my_second_dictionary"
|
|
192
|
+
);
|
|
193
|
+
|
|
194
|
+
return (
|
|
195
|
+
<div>
|
|
196
|
+
<p>
|
|
197
|
+
Tam İç İçe Yerleştirilmiş İçerik: {JSON.stringify(fullNestedContent)}
|
|
198
|
+
{/* Çıktı: {"content": "content", "subContent": {"contentNumber": 0, "contentString": "string"}} */}
|
|
199
|
+
</p>
|
|
200
|
+
<p>
|
|
201
|
+
Kısmi İç İçe Yerleştirilmiş Değer: {partialNestedContent}
|
|
202
|
+
{/* Çıktı: 0 */}
|
|
203
|
+
</p>
|
|
204
|
+
</div>
|
|
205
|
+
);
|
|
206
|
+
};
|
|
207
|
+
|
|
208
|
+
export default NestComponent;
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
```javascript fileName="**/*.mjx" codeFormat="esm"
|
|
212
|
+
import { useIntlayer } from "react-intlayer";
|
|
213
|
+
|
|
214
|
+
const NestComponent = () => {
|
|
215
|
+
const { fullNestedContent, partialNestedContent } = useIntlayer(
|
|
216
|
+
"key_of_my_second_dictionary"
|
|
217
|
+
);
|
|
218
|
+
|
|
219
|
+
return (
|
|
220
|
+
<div>
|
|
221
|
+
<p>
|
|
222
|
+
Tam İç İçe Yerleştirilmiş İçerik: {JSON.stringify(fullNestedContent)}
|
|
223
|
+
{/* Çıktı: {"content": "content", "subContent": {"contentNumber": 0, "contentString": "string"}} */}
|
|
224
|
+
</p>
|
|
225
|
+
<p>
|
|
226
|
+
Kısmi İç İçe Yerleştirilmiş Değer: {partialNestedContent}
|
|
227
|
+
{/* Çıktı: 0 */}
|
|
228
|
+
</p>
|
|
229
|
+
</div>
|
|
230
|
+
);
|
|
231
|
+
};
|
|
232
|
+
|
|
233
|
+
export default NestComponent;
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
```javascript fileName="**/*.cjx" codeFormat="commonjs"
|
|
237
|
+
const { useIntlayer } = require("react-intlayer");
|
|
238
|
+
|
|
239
|
+
const NestComponent = () => {
|
|
240
|
+
const { fullNestedContent, partialNestedContent } = useIntlayer(
|
|
241
|
+
"key_of_my_second_dictionary"
|
|
242
|
+
);
|
|
243
|
+
|
|
244
|
+
return (
|
|
245
|
+
<div>
|
|
246
|
+
<p>
|
|
247
|
+
Tam İç İçe Yerleştirilmiş İçerik: {JSON.stringify(fullNestedContent)}
|
|
248
|
+
{/* Çıktı: {"content": "content", "subContent": {"contentNumber": 0, "contentString": "string"}} */}
|
|
249
|
+
</p>
|
|
250
|
+
<p>
|
|
251
|
+
Kısmi İç İçe Yerleştirilmiş Değer: {partialNestedContent}
|
|
252
|
+
{/* Çıktı: 0 */}
|
|
253
|
+
</p>
|
|
254
|
+
</div>
|
|
255
|
+
);
|
|
256
|
+
};
|
|
257
|
+
|
|
258
|
+
module.exports = NestComponent;
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
## Ek Kaynaklar
|
|
262
|
+
|
|
263
|
+
Yapılandırma ve kullanım hakkında daha detaylı bilgi için aşağıdaki kaynaklara başvurun:
|
|
264
|
+
|
|
265
|
+
- [Intlayer CLI Dokümantasyonu](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_cli.md)
|
|
266
|
+
- [React Intlayer Dokümantasyonu](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_with_create_react_app.md)
|
|
267
|
+
- [Next Intlayer Dokümantasyonu](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_with_nextjs_15.md)
|
|
268
|
+
|
|
269
|
+
Bu kaynaklar, farklı ortamlar ve çeşitli çerçevelerde Intlayer'ın kurulumu ve kullanımı hakkında daha fazla bilgi sağlar.
|
|
270
|
+
|
|
271
|
+
## Dokümantasyon Geçmişi
|
|
272
|
+
|
|
273
|
+
| Sürüm | Tarih | Değişiklikler |
|
|
274
|
+
| ------ | ---------- | ----------------- |
|
|
275
|
+
| 5.5.10 | 2025-06-29 | Geçmiş başlatıldı |
|
|
276
|
+
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
```
|