@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,251 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2025-09-07
|
|
3
|
+
updatedAt: 2025-09-07
|
|
4
|
+
title: Numaralandırma
|
|
5
|
+
description: Çok dilli web sitenizde numaralandırmaları nasıl bildireceğinizi ve kullanacağınızı keşfedin. Bu çevrimiçi dokümantasyonun adımlarını takip ederek projenizi birkaç dakikada kurun.
|
|
6
|
+
keywords:
|
|
7
|
+
- Numaralandırma
|
|
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
|
+
- enumeration
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
# Numaralandırma / Çoğullaştırma
|
|
22
|
+
|
|
23
|
+
## Numaralandırma Nasıl Çalışır
|
|
24
|
+
|
|
25
|
+
Intlayer'da numaralandırma, `enu` fonksiyonu aracılığıyla gerçekleştirilir ve belirli anahtarları karşılık gelen içeriklerine eşler. Bu anahtarlar sayısal değerleri, aralıkları veya özel tanımlayıcıları temsil edebilir. React Intlayer veya Next Intlayer ile kullanıldığında, uygun içerik uygulamanın yerel ayarına ve tanımlanan kurallara göre otomatik olarak seçilir.
|
|
26
|
+
|
|
27
|
+
## Numaralandırmayı Ayarlama
|
|
28
|
+
|
|
29
|
+
Intlayer projenizde numaralandırmayı ayarlamak için, numaralandırma tanımlarını içeren bir içerik modülü oluşturmanız gerekir. İşte araba sayısı için basit bir numaralandırma örneği:
|
|
30
|
+
|
|
31
|
+
```typescript fileName="**/*.content.ts" contentDeclarationFormat="typescript"
|
|
32
|
+
import { enu, type Dictionary } from "intlayer";
|
|
33
|
+
|
|
34
|
+
const carEnumeration = {
|
|
35
|
+
key: "car_count",
|
|
36
|
+
content: {
|
|
37
|
+
numberOfCar: enu({
|
|
38
|
+
"<-1": "Eksi bir arabadan az",
|
|
39
|
+
"-1": "Eksi bir araba",
|
|
40
|
+
"0": "Araba yok",
|
|
41
|
+
"1": "Bir araba",
|
|
42
|
+
">5": "Bazı arabalar",
|
|
43
|
+
">19": "Çok araba",
|
|
44
|
+
"fallback": "Fallback değeri", // İsteğe bağlı
|
|
45
|
+
}),
|
|
46
|
+
},
|
|
47
|
+
} satisfies Dictionary;
|
|
48
|
+
|
|
49
|
+
export default carEnumeration;
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
```javascript fileName="**/*.content.mjs" contentDeclarationFormat="esm"
|
|
53
|
+
import { enu } from "intlayer";
|
|
54
|
+
|
|
55
|
+
/** @type {import('intlayer').Dictionary} */
|
|
56
|
+
const carEnumeration = {
|
|
57
|
+
key: "car_count",
|
|
58
|
+
content: {
|
|
59
|
+
numberOfCar: enu({
|
|
60
|
+
"<-1": "Eksi bir arabadan az",
|
|
61
|
+
"-1": "Eksi bir araba",
|
|
62
|
+
"0": "Araba yok",
|
|
63
|
+
"1": "Bir araba",
|
|
64
|
+
">5": "Bazı arabalar",
|
|
65
|
+
">19": "Çok araba",
|
|
66
|
+
"fallback": "Fallback değeri", // İsteğe bağlı
|
|
67
|
+
}),
|
|
68
|
+
},
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
export default carEnumeration;
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
```javascript fileName="**/*.content.cjs" contentDeclarationFormat="commonjs"
|
|
75
|
+
const { enu } = require("intlayer");
|
|
76
|
+
|
|
77
|
+
/** @type {import('intlayer').Dictionary} */
|
|
78
|
+
const carEnumeration = {
|
|
79
|
+
key: "car_count",
|
|
80
|
+
content: {
|
|
81
|
+
numberOfCar: enu({
|
|
82
|
+
"<-1": "Eksi bir arabadan az",
|
|
83
|
+
"-1": "Eksi bir araba",
|
|
84
|
+
"0": "Araba yok",
|
|
85
|
+
"1": "Bir araba",
|
|
86
|
+
">5": "Bazı arabalar",
|
|
87
|
+
">19": "Çok araba",
|
|
88
|
+
"fallback": "Fallback değeri", // İsteğe bağlı
|
|
89
|
+
}),
|
|
90
|
+
},
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
module.exports = carEnumeration;
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
```json fileName="**/*.content.json" contentDeclarationFormat="json"
|
|
97
|
+
{
|
|
98
|
+
"$schema": "https://intlayer.org/schema.json",
|
|
99
|
+
"key": "car_count",
|
|
100
|
+
"content": {
|
|
101
|
+
"numberOfCar": {
|
|
102
|
+
"nodeType": "enumeration",
|
|
103
|
+
"enumeration": {
|
|
104
|
+
"<-1": "Eksi bir arabadan az",
|
|
105
|
+
"-1": "Eksi bir araba",
|
|
106
|
+
"0": "Araba yok",
|
|
107
|
+
"1": "Bir araba",
|
|
108
|
+
">5": "Bazı arabalar",
|
|
109
|
+
">19": "Çok araba",
|
|
110
|
+
"fallback": "Fallback değeri" // İsteğe bağlı
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
Bu örnekte, `enu` çeşitli koşulları belirli içeriklere eşler. Bir React bileşeninde kullanıldığında, Intlayer verilen değişkene göre uygun içeriği otomatik olarak seçebilir.
|
|
118
|
+
|
|
119
|
+
> Bildirim sırası Intlayer numaralandırmalarında önemlidir. İlk geçerli bildirim alınacak olanıdır. Birden fazla koşul uygularsa, beklenmedik davranışlardan kaçınmak için doğru sıralandığından emin olun.
|
|
120
|
+
|
|
121
|
+
> Eğer hiçbir fallback bildirilmezse, hiçbir anahtar eşleşmezse fonksiyon `undefined` döndürür.
|
|
122
|
+
|
|
123
|
+
## React Intlayer ile Numaralandırmayı Kullanma
|
|
124
|
+
|
|
125
|
+
Bir React bileşeninde numaralandırmayı kullanmak için, `react-intlayer` paketinden `useIntlayer` hook'unu kullanabilirsiniz. Bu hook, belirtilen ID'ye göre doğru içeriği alır. İşte nasıl kullanılacağına dair bir örnek:
|
|
126
|
+
|
|
127
|
+
```tsx fileName="**/*.tsx" codeFormat="typescript"
|
|
128
|
+
import type { FC } from "react";
|
|
129
|
+
import { useIntlayer } from "react-intlayer";
|
|
130
|
+
|
|
131
|
+
const CarComponent: FC = () => {
|
|
132
|
+
const { numberOfCar } = useIntlayer("car_count");
|
|
133
|
+
|
|
134
|
+
return (
|
|
135
|
+
<div>
|
|
136
|
+
<p>
|
|
137
|
+
{
|
|
138
|
+
numberOfCar(0) // Çıktı: Araba yok
|
|
139
|
+
}
|
|
140
|
+
</p>
|
|
141
|
+
<p>
|
|
142
|
+
{
|
|
143
|
+
numberOfCar(6) // Çıktı: Bazı arabalar
|
|
144
|
+
}
|
|
145
|
+
</p>
|
|
146
|
+
<p>
|
|
147
|
+
{
|
|
148
|
+
numberOfCar(20) // Çıktı: Çok araba
|
|
149
|
+
}
|
|
150
|
+
</p>
|
|
151
|
+
<p>
|
|
152
|
+
{
|
|
153
|
+
numberOfCar(0.01) // Çıktı: Fallback değeri
|
|
154
|
+
}
|
|
155
|
+
</p>
|
|
156
|
+
</div>
|
|
157
|
+
);
|
|
158
|
+
};
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
```javascript fileName="**/*.mjx" codeFormat="esm"
|
|
162
|
+
import { useIntlayer } from "react-intlayer";
|
|
163
|
+
|
|
164
|
+
const CarComponent = () => {
|
|
165
|
+
const { numberOfCar } = useIntlayer("car_count");
|
|
166
|
+
|
|
167
|
+
return (
|
|
168
|
+
<div>
|
|
169
|
+
<p>
|
|
170
|
+
{
|
|
171
|
+
numberOfCar(0) // Çıktı: Araba yok
|
|
172
|
+
}
|
|
173
|
+
</p>
|
|
174
|
+
<p>
|
|
175
|
+
{
|
|
176
|
+
numberOfCar(6) // Çıktı: Bazı arabalar
|
|
177
|
+
}
|
|
178
|
+
</p>
|
|
179
|
+
<p>
|
|
180
|
+
{
|
|
181
|
+
numberOfCar(20) // Çıktı: Çok araba
|
|
182
|
+
}
|
|
183
|
+
</p>
|
|
184
|
+
<p>
|
|
185
|
+
{
|
|
186
|
+
numberOfCar(0.01) // Çıktı: Fallback değeri
|
|
187
|
+
}
|
|
188
|
+
</p>
|
|
189
|
+
</div>
|
|
190
|
+
);
|
|
191
|
+
};
|
|
192
|
+
|
|
193
|
+
export default CarComponent;
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
```javascript fileName="**/*.cjs" codeFormat="commonjs"
|
|
197
|
+
const { useIntlayer } = require("react-intlayer");
|
|
198
|
+
|
|
199
|
+
const CarComponent = () => {
|
|
200
|
+
const { numberOfCar } = useIntlayer("car_count");
|
|
201
|
+
|
|
202
|
+
return (
|
|
203
|
+
<div>
|
|
204
|
+
<p>
|
|
205
|
+
{
|
|
206
|
+
numberOfCar(0) // Çıktı: Araba yok
|
|
207
|
+
}
|
|
208
|
+
</p>
|
|
209
|
+
<p>
|
|
210
|
+
{
|
|
211
|
+
numberOfCar(6) // Çıktı: Bazı arabalar
|
|
212
|
+
}
|
|
213
|
+
</p>
|
|
214
|
+
<p>
|
|
215
|
+
{
|
|
216
|
+
numberOfCar(20) // Çıktı: Çok araba
|
|
217
|
+
}
|
|
218
|
+
</p>
|
|
219
|
+
<p>
|
|
220
|
+
{
|
|
221
|
+
numberOfCar(0.01) // Çıktı: Fallback değeri
|
|
222
|
+
}
|
|
223
|
+
</p>
|
|
224
|
+
</div>
|
|
225
|
+
);
|
|
226
|
+
};
|
|
227
|
+
|
|
228
|
+
module.exports = CarComponent;
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
Bu örnekte, bileşen araba sayısına göre çıktısını dinamik olarak ayarlar. Doğru içerik, belirtilen aralığa göre otomatik olarak seçilir.
|
|
232
|
+
|
|
233
|
+
## Ek Kaynaklar
|
|
234
|
+
|
|
235
|
+
Yapılandırma ve kullanım hakkında daha detaylı bilgi için aşağıdaki kaynaklara başvurun:
|
|
236
|
+
|
|
237
|
+
- [Intlayer CLI Dokümantasyonu](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_cli.md)
|
|
238
|
+
- [React Intlayer Dokümantasyonu](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_with_create_react_app.md)
|
|
239
|
+
- [Next Intlayer Dokümantasyonu](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_with_nextjs_15.md)
|
|
240
|
+
|
|
241
|
+
Bu kaynaklar, farklı ortamlar ve çeşitli çerçevelerde Intlayer'ın kurulumu ve kullanımı hakkında daha fazla bilgi sağlar.
|
|
242
|
+
|
|
243
|
+
## Dokümantasyon Geçmişi
|
|
244
|
+
|
|
245
|
+
| Sürüm | Tarih | Değişiklikler |
|
|
246
|
+
| ------ | ---------- | ----------------- |
|
|
247
|
+
| 5.5.10 | 2025-06-29 | Geçmiş başlatıldı |
|
|
248
|
+
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
```
|
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2025-09-07
|
|
3
|
+
updatedAt: 2025-09-07
|
|
4
|
+
title: Dosya
|
|
5
|
+
description: `file` fonksiyonunu kullanarak içerik sözlüğünüzde harici dosyaları nasıl gömeceğinizi öğrenin. Bu dokümantasyon, Intlayer'ın dosya içeriğini nasıl bağladığını ve dinamik olarak yönettiğini açıklar.
|
|
6
|
+
keywords:
|
|
7
|
+
- Dosya
|
|
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
|
+
- file
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
# Dosya İçeriği / Intlayer'da Dosyaları Gömme
|
|
22
|
+
|
|
23
|
+
## Dosya Gömme Nasıl Çalışır
|
|
24
|
+
|
|
25
|
+
Intlayer'da `file` fonksiyonu, harici dosya içeriğini bir sözlüğe gömmeyi sağlar. Bu yaklaşım, Intlayer'ın kaynak dosyayı tanımasını sağlar ve Intlayer Görsel Düzenleyici ve CMS ile sorunsuz entegrasyonu sağlar. Doğrudan `import`, `require` veya `fs` dosya okuma yöntemlerinden farklı olarak, `file` kullanmak dosyayı sözlükle ilişkilendirir ve Intlayer'ın dosya düzenlendiğinde içeriği dinamik olarak takip etmesine ve güncellemesine izin verir.
|
|
26
|
+
|
|
27
|
+
## Dosya İçeriğini Ayarlama
|
|
28
|
+
|
|
29
|
+
Intlayer projenizde dosya içeriğini gömmek için, bir içerik modülünde `file` fonksiyonunu kullanın. Aşağıda farklı uygulamaları gösteren örnekler verilmiştir.
|
|
30
|
+
|
|
31
|
+
```typescript fileName="**/*.content.ts" contentDeclarationFormat="typescript"
|
|
32
|
+
import { file, type Dictionary } from "intlayer";
|
|
33
|
+
|
|
34
|
+
const myFileContent = {
|
|
35
|
+
key: "my_key",
|
|
36
|
+
content: {
|
|
37
|
+
myFile: file("./path/to/file.txt"),
|
|
38
|
+
},
|
|
39
|
+
} satisfies Dictionary;
|
|
40
|
+
|
|
41
|
+
export default myFileContent;
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
```javascript fileName="**/*.content.mjs" contentDeclarationFormat="esm"
|
|
45
|
+
import { file } from "intlayer";
|
|
46
|
+
|
|
47
|
+
/** @type {import('intlayer').Dictionary} */
|
|
48
|
+
const myFileContent = {
|
|
49
|
+
key: "my_key",
|
|
50
|
+
content: {
|
|
51
|
+
myFile: file("./path/to/file.txt"),
|
|
52
|
+
},
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
export default myFileContent;
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
```javascript fileName="**/*.content.cjs" contentDeclarationFormat="commonjs"
|
|
59
|
+
const { file } = require("intlayer");
|
|
60
|
+
|
|
61
|
+
/** @type {import('intlayer').Dictionary} */
|
|
62
|
+
const myFileContent = {
|
|
63
|
+
key: "my_key",
|
|
64
|
+
content: {
|
|
65
|
+
myFile: file("./path/to/file.txt"),
|
|
66
|
+
},
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
module.exports = myFileContent;
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
```json5 fileName="**/*.content.json" contentDeclarationFormat="json"
|
|
73
|
+
{
|
|
74
|
+
"$schema": "https://intlayer.org/schema.json",
|
|
75
|
+
"key": "my_key",
|
|
76
|
+
"content": {
|
|
77
|
+
"myFile": {
|
|
78
|
+
"nodeType": "file",
|
|
79
|
+
"value": "./path/to/file.txt",
|
|
80
|
+
},
|
|
81
|
+
},
|
|
82
|
+
}
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
## React Intlayer ile Dosya İçeriğini Kullanma
|
|
86
|
+
|
|
87
|
+
Bir React bileşeninde gömülü dosya içeriğini kullanmak için, `react-intlayer` paketinden `useIntlayer` hook'unu içe aktarın ve kullanın. Bu, belirtilen anahtardan içeriği alır ve dinamik olarak görüntülenmesine izin verir.
|
|
88
|
+
|
|
89
|
+
```tsx fileName="**/*.tsx" codeFormat="typescript"
|
|
90
|
+
import type { FC } from "react";
|
|
91
|
+
import { useIntlayer } from "react-intlayer";
|
|
92
|
+
|
|
93
|
+
const FileComponent: FC = () => {
|
|
94
|
+
const { myFile } = useIntlayer("my_key");
|
|
95
|
+
|
|
96
|
+
return (
|
|
97
|
+
<div>
|
|
98
|
+
<pre>{myFile}</pre>
|
|
99
|
+
</div>
|
|
100
|
+
);
|
|
101
|
+
};
|
|
102
|
+
|
|
103
|
+
export default FileComponent;
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
```javascript fileName="**/*.mjx" codeFormat="esm"
|
|
107
|
+
import { useIntlayer } from "react-intlayer";
|
|
108
|
+
|
|
109
|
+
const FileComponent = () => {
|
|
110
|
+
const { myFile } = useIntlayer("my_key");
|
|
111
|
+
|
|
112
|
+
return (
|
|
113
|
+
<div>
|
|
114
|
+
<pre>{myFile}</pre>
|
|
115
|
+
</div>
|
|
116
|
+
);
|
|
117
|
+
};
|
|
118
|
+
|
|
119
|
+
export default FileComponent;
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
```javascript fileName="**/*.cjs" codeFormat="commonjs"
|
|
123
|
+
const { useIntlayer } = require("react-intlayer");
|
|
124
|
+
|
|
125
|
+
const FileComponent = () => {
|
|
126
|
+
const { myFile } = useIntlayer("my_key");
|
|
127
|
+
|
|
128
|
+
return (
|
|
129
|
+
<div>
|
|
130
|
+
<pre>{myFile}</pre>
|
|
131
|
+
</div>
|
|
132
|
+
);
|
|
133
|
+
};
|
|
134
|
+
|
|
135
|
+
module.exports = FileComponent;
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
## Çok Dilli Markdown Örneği
|
|
139
|
+
|
|
140
|
+
Düzenlenebilir çok dilli Markdown dosyalarını desteklemek için, farklı dil sürümlerindeki bir Markdown içerik dosyasını tanımlamak üzere `file`'ı `t()` ve `md()` ile birlikte kullanabilirsiniz.
|
|
141
|
+
|
|
142
|
+
```typescript fileName="**/*.content.ts" contentDeclarationFormat="typescript"
|
|
143
|
+
import { file, t, md, type Dictionary } from "intlayer";
|
|
144
|
+
|
|
145
|
+
const myMultilingualContent = {
|
|
146
|
+
key: "my_multilingual_key",
|
|
147
|
+
content: {
|
|
148
|
+
myContent: md(
|
|
149
|
+
t({
|
|
150
|
+
en: file("src/components/test.en.md"),
|
|
151
|
+
fr: file("src/components/test.fr.md"),
|
|
152
|
+
es: file("src/components/test.es.md"),
|
|
153
|
+
})
|
|
154
|
+
),
|
|
155
|
+
},
|
|
156
|
+
} satisfies Dictionary;
|
|
157
|
+
|
|
158
|
+
export default myMultilingualContent;
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
```javascript fileName="**/*.content.mjs" contentDeclarationFormat="esm"
|
|
162
|
+
import { file, t, md } from "intlayer";
|
|
163
|
+
|
|
164
|
+
/** @type {import('intlayer').Dictionary} */
|
|
165
|
+
const myMultilingualContent = {
|
|
166
|
+
key: "my_multilingual_key",
|
|
167
|
+
content: {
|
|
168
|
+
myContent: md(
|
|
169
|
+
t({
|
|
170
|
+
en: file("src/components/test.en.md"),
|
|
171
|
+
fr: file("src/components/test.fr.md"),
|
|
172
|
+
es: file("src/components/test.es.md"),
|
|
173
|
+
})
|
|
174
|
+
),
|
|
175
|
+
},
|
|
176
|
+
};
|
|
177
|
+
|
|
178
|
+
export default myMultilingualContent;
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
```javascript fileName="**/*.content.cjs" contentDeclarationFormat="commonjs"
|
|
182
|
+
const { file, t, md } = require("intlayer");
|
|
183
|
+
|
|
184
|
+
const myMultilingualContent = {
|
|
185
|
+
key: "my_multilingual_key",
|
|
186
|
+
content: {
|
|
187
|
+
myContent: md(
|
|
188
|
+
t({
|
|
189
|
+
en: file("src/components/test.en.md"),
|
|
190
|
+
fr: file("src/components/test.fr.md"),
|
|
191
|
+
es: file("src/components/test.es.md"),
|
|
192
|
+
})
|
|
193
|
+
),
|
|
194
|
+
},
|
|
195
|
+
};
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
Bu kurulum, içeriğin kullanıcının dil tercihine göre dinamik olarak alınmasına izin verir. Intlayer Görsel Düzenleyici veya CMS'de kullanıldığında, sistem içeriğin belirtilen Markdown dosyalarından geldiğini tanır ve düzenlenebilir kalmasını sağlar.
|
|
199
|
+
|
|
200
|
+
## Intlayer Dosya İçeriğini Nasıl Yönetir
|
|
201
|
+
|
|
202
|
+
`file` fonksiyonu, belirtilen dosyanın içeriğini okumak ve sözlüğe eklemek için Node.js'in `fs` modülüne dayanır. Intlayer Görsel Düzenleyici veya CMS ile birlikte kullanıldığında, Intlayer sözlük ile dosya arasındaki ilişkiyi takip edebilir. Bu, Intlayer'ın şunları yapmasına izin verir:
|
|
203
|
+
|
|
204
|
+
- İçeriğin belirli bir dosyadan geldiğini tanımak.
|
|
205
|
+
- Bağlantılı dosya düzenlendiğinde sözlük içeriğini otomatik olarak güncellemek.
|
|
206
|
+
- Dosya ve sözlük arasında senkronizasyonu sağlamak ve içeriğin bütünlüğünü korumak.
|
|
207
|
+
|
|
208
|
+
## Ek Kaynaklar
|
|
209
|
+
|
|
210
|
+
Intlayer'da dosya gömmenin yapılandırılması ve kullanımı hakkında daha fazla ayrıntı için aşağıdaki kaynaklara başvurun:
|
|
211
|
+
|
|
212
|
+
- [Intlayer CLI Dokümantasyonu](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_cli.md)
|
|
213
|
+
- [React Intlayer Dokümantasyonu](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_with_create_react_app.md)
|
|
214
|
+
- [Next Intlayer Dokümantasyonu](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_with_nextjs_15.md)
|
|
215
|
+
- [Markdown İçerik Dokümantasyonu](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/markdown.md)
|
|
216
|
+
- [Çeviri İçerik Dokümantasyonu](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/translation.md)
|
|
217
|
+
|
|
218
|
+
Bu kaynaklar, dosya gömmesi, içerik yönetimi ve çeşitli çerçevelerle Intlayer'ın entegrasyonu hakkında daha fazla bilgi sağlar.
|
|
219
|
+
|
|
220
|
+
## Dokümantasyon Geçmişi
|
|
221
|
+
|
|
222
|
+
| Sürüm | Tarih | Değişiklikler |
|
|
223
|
+
| ------ | ---------- | ----------------- |
|
|
224
|
+
| 5.5.10 | 2025-06-29 | Geçmiş başlatıldı |
|
|
225
|
+
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
```
|
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2025-09-07
|
|
3
|
+
updatedAt: 2025-09-07
|
|
4
|
+
title: Fonksiyon Getirme
|
|
5
|
+
description: Çok dilli web sitenizde fonksiyon getirmeyi nasıl bildireceğinizi ve kullanacağınızı keşfedin. Bu çevrimiçi dokümantasyonun adımlarını takip ederek projenizi birkaç dakikada kurun.
|
|
6
|
+
keywords:
|
|
7
|
+
- Fonksiyon Getirme
|
|
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
|
+
- function-fetching
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
# Fonksiyon Getirme
|
|
22
|
+
|
|
23
|
+
Intlayer, içerik modüllerinizde senkron veya asenkron içerik fonksiyonları bildirmenize izin verir. Uygulama oluşturulduğunda, Intlayer bu fonksiyonları çalıştırarak fonksiyonun sonucunu elde eder. Dönüş değeri bir JSON nesnesi veya dize veya sayı gibi basit bir değer olmalıdır.
|
|
24
|
+
|
|
25
|
+
> Uyarı: fonksiyon getirme şu anda JSON içerik bildiriminde ve uzak içerik bildirim dosyalarında mevcut değildir.
|
|
26
|
+
|
|
27
|
+
## Fonksiyon Bildirimleri
|
|
28
|
+
|
|
29
|
+
Basit bir senkron fonksiyon getirme içeriği örneği:
|
|
30
|
+
|
|
31
|
+
```typescript fileName="**/*.content.ts" contentDeclarationFormat="typescript"
|
|
32
|
+
import type { Dictionary } from "intlayer";
|
|
33
|
+
|
|
34
|
+
const functionContent = {
|
|
35
|
+
key: "function_content",
|
|
36
|
+
content: {
|
|
37
|
+
text: () => "Bu, bir fonksiyon tarafından oluşturulan içeriktir",
|
|
38
|
+
},
|
|
39
|
+
} satisfies Dictionary;
|
|
40
|
+
|
|
41
|
+
export default functionContent;
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
```javascript fileName="**/*.content.mjs" contentDeclarationFormat="esm"
|
|
45
|
+
/** @type {import('intlayer').Dictionary} */
|
|
46
|
+
const functionContent = {
|
|
47
|
+
key: "function_content",
|
|
48
|
+
content: {
|
|
49
|
+
text: () => "Bu, bir fonksiyon tarafından oluşturulan içeriktir",
|
|
50
|
+
},
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
export default functionContent;
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
```javascript fileName="**/*.content.cjs" contentDeclarationFormat="commonjs"
|
|
57
|
+
/** @type {import('intlayer').Dictionary} */
|
|
58
|
+
const functionContent = {
|
|
59
|
+
key: "function_content",
|
|
60
|
+
content: {
|
|
61
|
+
text: () => "Bu, bir fonksiyon tarafından oluşturulan içeriktir",
|
|
62
|
+
},
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
module.exports = functionContent;
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
```json fileName="**/*.content.json" contentDeclarationFormat="json"
|
|
69
|
+
{
|
|
70
|
+
"$schema": "https://intlayer.org/schema.json",
|
|
71
|
+
"key": "function_content",
|
|
72
|
+
"content": {
|
|
73
|
+
"text": "Bu, bir fonksiyon tarafından oluşturulan içeriktir"
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
Bu örnekte, `text` anahtarı bir dize döndüren bir fonksiyon içerir. Bu içerik, `react-intlayer` gibi Intlayer'ın yorumlayıcı paketlerini kullanarak React bileşenlerinizde oluşturulabilir.
|
|
79
|
+
|
|
80
|
+
## Asenkron Fonksiyon Getirme
|
|
81
|
+
|
|
82
|
+
Senkron fonksiyonlara ek olarak, Intlayer harici kaynaklardan veri getirmenize veya sahte verilerle veri getirmeyi simüle etmenize izin veren asenkron fonksiyonları destekler.
|
|
83
|
+
|
|
84
|
+
Aşağıda, bir sunucu getirmesini simüle eden asenkron bir fonksiyon örneği verilmiştir:
|
|
85
|
+
|
|
86
|
+
```typescript fileName="**/*.content.ts" contentDeclarationFormat="typescript"
|
|
87
|
+
import { setTimeout } from "node:timers/promises";
|
|
88
|
+
import type { Dictionary } from "intlayer";
|
|
89
|
+
|
|
90
|
+
const fakeFetch = async (): Promise<string> => {
|
|
91
|
+
// Sunucudan getirmeyi simüle etmek için 200ms bekleyin
|
|
92
|
+
return await setTimeout(200).then(() => "Bu, sunucudan getirilen içeriktir");
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
const asyncFunctionContent = {
|
|
96
|
+
key: "async_function",
|
|
97
|
+
content: { text: fakeFetch },
|
|
98
|
+
} satisfies Dictionary;
|
|
99
|
+
|
|
100
|
+
export default asyncFunctionContent;
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
```javascript fileName="**/*.content.mjs" contentDeclarationFormat="esm"
|
|
104
|
+
import { setTimeout } from "node:timers/promises";
|
|
105
|
+
|
|
106
|
+
/** @type {import('intlayer').Dictionary} */
|
|
107
|
+
const fakeFetch = async () => {
|
|
108
|
+
// Sunucudan getirmeyi simüle etmek için 200ms bekleyin
|
|
109
|
+
await setTimeout(200);
|
|
110
|
+
return "Bu, sunucudan getirilen içeriktir";
|
|
111
|
+
};
|
|
112
|
+
|
|
113
|
+
const asyncFunctionContent = {
|
|
114
|
+
key: "async_function",
|
|
115
|
+
content: { text: fakeFetch },
|
|
116
|
+
};
|
|
117
|
+
|
|
118
|
+
export default asyncFunctionContent;
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
```javascript fileName="**/*.content.cjs" contentDeclarationFormat="commonjs"
|
|
122
|
+
const { setTimeout } = require("node:timers/promises");
|
|
123
|
+
|
|
124
|
+
/** @type {import('intlayer').Dictionary} */
|
|
125
|
+
const fakeFetch = async () => {
|
|
126
|
+
// Sunucudan getirmeyi simüle etmek için 200ms bekleyin
|
|
127
|
+
await setTimeout(200);
|
|
128
|
+
return "Bu, sunucudan getirilen içeriktir";
|
|
129
|
+
};
|
|
130
|
+
|
|
131
|
+
const asyncFunctionContent = {
|
|
132
|
+
key: "async_function",
|
|
133
|
+
content: { text: fakeFetch },
|
|
134
|
+
};
|
|
135
|
+
|
|
136
|
+
module.exports = asyncFunctionContent;
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
```plaintext fileName="**/*.content.json" contentDeclarationFormat="json"
|
|
140
|
+
JSON dosyasından içerik getirmenin bir yolu yok, bunun yerine .ts veya .js dosyası kullanın
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
Bu durumda, `fakeFetch` fonksiyonu sunucu yanıt süresini simüle etmek için bir gecikme taklit eder. Intlayer asenkron fonksiyonu çalıştırır ve sonucu `text` anahtarı için içerik olarak kullanır.
|
|
144
|
+
|
|
145
|
+
## React Bileşenlerinde Fonksiyon Tabanlı İçeriği Kullanma
|
|
146
|
+
|
|
147
|
+
Bir React bileşeninde fonksiyon tabanlı içeriği kullanmak için, `react-intlayer`'dan `useIntlayer`'ı içe aktarmanız ve içeriği almak için içerik ID'si ile çağırmanız gerekir. İşte bir örnek:
|
|
148
|
+
|
|
149
|
+
```typescript fileName="**/*.jsx" codeFormat="typescript"
|
|
150
|
+
import type { FC } from "react";
|
|
151
|
+
import { useIntlayer } from "react-intlayer";
|
|
152
|
+
|
|
153
|
+
const MyComponent: FC = () => {
|
|
154
|
+
const functionContent = useIntlayer("function_content");
|
|
155
|
+
const asyncFunctionContent = useIntlayer("async_function_content");
|
|
156
|
+
|
|
157
|
+
return (
|
|
158
|
+
<div>
|
|
159
|
+
<p>{functionContent.text}</p>
|
|
160
|
+
{/* Çıktı: Bu, bir fonksiyon tarafından oluşturulan içeriktir */}
|
|
161
|
+
<p>{asyncFunctionContent.text}</p>
|
|
162
|
+
{/* Çıktı: Bu, sunucudan getirilen içeriktir */}
|
|
163
|
+
</div>
|
|
164
|
+
);
|
|
165
|
+
};
|
|
166
|
+
|
|
167
|
+
export default MyComponent;
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
```javascript fileName="**/*.mjx" codeFormat="esm"
|
|
171
|
+
import { useIntlayer } from "react-intlayer";
|
|
172
|
+
|
|
173
|
+
const MyComponent = () => {
|
|
174
|
+
const functionContent = useIntlayer("function_content");
|
|
175
|
+
const asyncFunctionContent = useIntlayer("async_function_content");
|
|
176
|
+
|
|
177
|
+
return (
|
|
178
|
+
<div>
|
|
179
|
+
<p>{functionContent.text}</p>
|
|
180
|
+
{/* Çıktı: Bu, bir fonksiyon tarafından oluşturulan içeriktir */}
|
|
181
|
+
<p>{asyncFunctionContent.text}</p>
|
|
182
|
+
{/* Çıktı: Bu, sunucudan getirilen içeriktir */}
|
|
183
|
+
</div>
|
|
184
|
+
);
|
|
185
|
+
};
|
|
186
|
+
|
|
187
|
+
export default MyComponent;
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
```javascript fileName="**/*.cjs" codeFormat="commonjs"
|
|
191
|
+
const { useIntlayer } = require("react-intlayer");
|
|
192
|
+
|
|
193
|
+
const MyComponent = () => {
|
|
194
|
+
const functionContent = useIntlayer("function_content");
|
|
195
|
+
const asyncFunctionContent = useIntlayer("async_function_content");
|
|
196
|
+
|
|
197
|
+
return (
|
|
198
|
+
<div>
|
|
199
|
+
<p>{functionContent.text}</p>
|
|
200
|
+
{/* Çıktı: Bu, bir fonksiyon tarafından oluşturulan içeriktir */}
|
|
201
|
+
<p>{asyncFunctionContent.text}</p>
|
|
202
|
+
{/* Çıktı: Bu, sunucudan getirilen içeriktir */}
|
|
203
|
+
</div>
|
|
204
|
+
);
|
|
205
|
+
};
|
|
206
|
+
|
|
207
|
+
module.exports = MyComponent;
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
## Dokümantasyon Geçmişi
|
|
211
|
+
|
|
212
|
+
| Sürüm | Tarih | Değişiklikler |
|
|
213
|
+
| ------ | ---------- | ----------------- |
|
|
214
|
+
| 5.5.10 | 2025-06-29 | Geçmiş başlatıldı |
|
|
215
|
+
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
```
|