@intlayer/docs 5.8.1-canary.0 → 6.0.0-canary.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/blog/ar/rag_powered_documentation_assistant.md +282 -0
- package/blog/de/rag_powered_documentation_assistant.md +282 -0
- package/blog/en/rag_powered_documentation_assistant.md +289 -0
- package/blog/en-GB/rag_powered_documentation_assistant.md +284 -0
- package/blog/es/rag_powered_documentation_assistant.md +308 -0
- package/blog/fr/rag_powered_documentation_assistant.md +308 -0
- package/blog/hi/rag_powered_documentation_assistant.md +284 -0
- package/blog/it/rag_powered_documentation_assistant.md +284 -0
- package/blog/ja/rag_powered_documentation_assistant.md +284 -0
- package/blog/ko/rag_powered_documentation_assistant.md +283 -0
- package/blog/pt/rag_powered_documentation_assistant.md +284 -0
- package/blog/ru/rag_powered_documentation_assistant.md +284 -0
- package/blog/tr/index.md +69 -0
- package/blog/tr/internationalization_and_SEO.md +273 -0
- package/blog/tr/intlayer_with_i18next.md +162 -0
- package/blog/tr/intlayer_with_next-i18next.md +367 -0
- package/blog/tr/intlayer_with_next-intl.md +392 -0
- package/blog/tr/intlayer_with_react-i18next.md +346 -0
- package/blog/tr/intlayer_with_react-intl.md +345 -0
- package/blog/tr/list_i18n_technologies/CMS/drupal.md +143 -0
- package/blog/tr/list_i18n_technologies/CMS/wix.md +167 -0
- package/blog/tr/list_i18n_technologies/CMS/wordpress.md +188 -0
- package/blog/tr/list_i18n_technologies/frameworks/angular.md +125 -0
- package/blog/tr/list_i18n_technologies/frameworks/flutter.md +150 -0
- package/blog/tr/list_i18n_technologies/frameworks/react-native.md +217 -0
- package/blog/tr/list_i18n_technologies/frameworks/react.md +155 -0
- package/blog/tr/list_i18n_technologies/frameworks/svelte.md +129 -0
- package/blog/tr/list_i18n_technologies/frameworks/vue.md +130 -0
- package/blog/tr/next-i18next_vs_next-intl_vs_intlayer.md +170 -0
- package/blog/tr/rag_powered_documentation_assistant.md +284 -0
- package/blog/tr/react-i18next_vs_react-intl_vs_intlayer.md +162 -0
- package/blog/tr/vue-i18n_vs_intlayer.md +276 -0
- package/blog/tr/what_is_internationalization.md +166 -0
- package/blog/zh/rag_powered_documentation_assistant.md +284 -0
- package/dist/cjs/generated/blog.entry.cjs +212 -0
- package/dist/cjs/generated/blog.entry.cjs.map +1 -1
- package/dist/cjs/generated/docs.entry.cjs +660 -132
- package/dist/cjs/generated/docs.entry.cjs.map +1 -1
- package/dist/cjs/generated/frequentQuestions.entry.cjs +84 -0
- package/dist/cjs/generated/frequentQuestions.entry.cjs.map +1 -1
- package/dist/cjs/generated/legal.entry.cjs +6 -0
- package/dist/cjs/generated/legal.entry.cjs.map +1 -1
- package/dist/esm/generated/blog.entry.mjs +212 -0
- package/dist/esm/generated/blog.entry.mjs.map +1 -1
- package/dist/esm/generated/docs.entry.mjs +660 -132
- package/dist/esm/generated/docs.entry.mjs.map +1 -1
- package/dist/esm/generated/frequentQuestions.entry.mjs +84 -0
- package/dist/esm/generated/frequentQuestions.entry.mjs.map +1 -1
- package/dist/esm/generated/legal.entry.mjs +6 -0
- package/dist/esm/generated/legal.entry.mjs.map +1 -1
- package/dist/types/generated/blog.entry.d.ts +1 -0
- package/dist/types/generated/blog.entry.d.ts.map +1 -1
- package/dist/types/generated/docs.entry.d.ts +5 -2
- package/dist/types/generated/docs.entry.d.ts.map +1 -1
- package/dist/types/generated/frequentQuestions.entry.d.ts.map +1 -1
- package/dist/types/generated/legal.entry.d.ts.map +1 -1
- package/docs/ar/autoFill.md +41 -40
- package/docs/ar/configuration.md +202 -199
- package/docs/ar/dictionary/content_file.md +1059 -0
- package/docs/ar/intlayer_CMS.md +4 -4
- package/docs/ar/intlayer_with_nestjs.md +271 -0
- package/docs/ar/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/ar/intlayer_with_react_router_v7.md +533 -0
- package/docs/ar/intlayer_with_tanstack.md +465 -299
- package/docs/ar/intlayer_with_vite+preact.md +7 -7
- package/docs/ar/intlayer_with_vite+react.md +7 -7
- package/docs/ar/intlayer_with_vite+vue.md +9 -9
- package/docs/ar/packages/vite-intlayer/index.md +3 -3
- package/docs/ar/readme.md +261 -0
- package/docs/ar/testing.md +199 -0
- package/docs/de/autoFill.md +42 -19
- package/docs/de/configuration.md +155 -147
- package/docs/de/dictionary/content_file.md +1059 -0
- package/docs/de/intlayer_CMS.md +4 -5
- package/docs/de/intlayer_with_nestjs.md +270 -0
- package/docs/de/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/de/intlayer_with_react_router_v7.md +537 -0
- package/docs/de/intlayer_with_tanstack.md +469 -302
- package/docs/de/intlayer_with_vite+preact.md +7 -7
- package/docs/de/intlayer_with_vite+react.md +7 -7
- package/docs/de/intlayer_with_vite+vue.md +9 -9
- package/docs/de/packages/vite-intlayer/index.md +3 -3
- package/docs/de/readme.md +261 -0
- package/docs/de/testing.md +200 -0
- package/docs/en/CI_CD.md +4 -6
- package/docs/en/autoFill.md +25 -5
- package/docs/en/configuration.md +45 -54
- package/docs/en/dictionary/content_file.md +1054 -0
- package/docs/en/intlayer_CMS.md +8 -7
- package/docs/en/intlayer_cli.md +112 -5
- package/docs/en/intlayer_with_nestjs.md +268 -0
- package/docs/en/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/en/intlayer_with_react_router_v7.md +531 -0
- package/docs/en/intlayer_with_tanstack.md +463 -294
- package/docs/en/intlayer_with_vite+preact.md +8 -8
- package/docs/en/intlayer_with_vite+react.md +8 -8
- package/docs/en/intlayer_with_vite+vue.md +8 -8
- package/docs/en/packages/intlayer/getLocalizedUrl.md +102 -25
- package/docs/en/packages/vite-intlayer/index.md +3 -3
- package/docs/en/readme.md +261 -0
- package/docs/en/testing.md +200 -0
- package/docs/en-GB/autoFill.md +29 -6
- package/docs/en-GB/configuration.md +79 -71
- package/docs/en-GB/dictionary/content_file.md +1084 -0
- package/docs/en-GB/intlayer_CMS.md +4 -5
- package/docs/en-GB/intlayer_with_nestjs.md +268 -0
- package/docs/en-GB/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/en-GB/intlayer_with_react_router_v7.md +533 -0
- package/docs/en-GB/intlayer_with_tanstack.md +466 -299
- package/docs/en-GB/intlayer_with_vite+preact.md +7 -7
- package/docs/en-GB/intlayer_with_vite+react.md +7 -7
- package/docs/en-GB/intlayer_with_vite+vue.md +9 -9
- package/docs/en-GB/packages/vite-intlayer/index.md +3 -3
- package/docs/en-GB/readme.md +261 -0
- package/docs/en-GB/testing.md +200 -0
- package/docs/es/autoFill.md +45 -23
- package/docs/es/configuration.md +171 -167
- package/docs/es/dictionary/content_file.md +1088 -0
- package/docs/es/intlayer_CMS.md +4 -5
- package/docs/es/intlayer_with_nestjs.md +268 -0
- package/docs/es/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/es/intlayer_with_react_router_v7.md +533 -0
- package/docs/es/intlayer_with_tanstack.md +469 -280
- package/docs/es/intlayer_with_vite+preact.md +7 -7
- package/docs/es/intlayer_with_vite+react.md +7 -7
- package/docs/es/intlayer_with_vite+vue.md +9 -9
- package/docs/es/packages/vite-intlayer/index.md +3 -3
- package/docs/es/readme.md +261 -0
- package/docs/es/testing.md +200 -0
- package/docs/fr/autoFill.md +47 -24
- package/docs/fr/configuration.md +213 -198
- package/docs/fr/dictionary/content_file.md +1054 -0
- package/docs/fr/intlayer_CMS.md +4 -5
- package/docs/fr/intlayer_with_nestjs.md +268 -0
- package/docs/fr/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/fr/intlayer_with_react_router_v7.md +549 -0
- package/docs/fr/intlayer_with_tanstack.md +465 -279
- package/docs/fr/intlayer_with_vite+preact.md +7 -7
- package/docs/fr/intlayer_with_vite+react.md +7 -7
- package/docs/fr/intlayer_with_vite+vue.md +9 -9
- package/docs/fr/packages/vite-intlayer/index.md +3 -3
- package/docs/fr/readme.md +261 -0
- package/docs/fr/testing.md +200 -0
- package/docs/hi/autoFill.md +47 -25
- package/docs/hi/configuration.md +194 -189
- package/docs/hi/dictionary/content_file.md +1056 -0
- package/docs/hi/intlayer_CMS.md +4 -5
- package/docs/hi/intlayer_with_nestjs.md +269 -0
- package/docs/hi/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/hi/intlayer_with_react_router_v7.md +533 -0
- package/docs/hi/intlayer_with_tanstack.md +467 -282
- package/docs/hi/intlayer_with_vite+preact.md +7 -7
- package/docs/hi/intlayer_with_vite+react.md +7 -7
- package/docs/hi/intlayer_with_vite+vue.md +9 -9
- package/docs/hi/packages/vite-intlayer/index.md +3 -3
- package/docs/hi/readme.md +261 -0
- package/docs/hi/testing.md +200 -0
- package/docs/it/autoFill.md +46 -24
- package/docs/it/configuration.md +169 -161
- package/docs/it/dictionary/content_file.md +1061 -0
- package/docs/it/intlayer_CMS.md +4 -5
- package/docs/it/intlayer_with_nestjs.md +268 -0
- package/docs/it/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/it/intlayer_with_react_router_v7.md +535 -0
- package/docs/it/intlayer_with_tanstack.md +467 -301
- package/docs/it/intlayer_with_vite+preact.md +7 -7
- package/docs/it/intlayer_with_vite+react.md +7 -7
- package/docs/it/intlayer_with_vite+vue.md +9 -9
- package/docs/it/packages/vite-intlayer/index.md +3 -3
- package/docs/it/readme.md +261 -0
- package/docs/it/testing.md +200 -0
- package/docs/ja/autoFill.md +45 -23
- package/docs/ja/configuration.md +243 -204
- package/docs/ja/dictionary/content_file.md +1064 -0
- package/docs/ja/intlayer_CMS.md +4 -5
- package/docs/ja/intlayer_with_nestjs.md +268 -0
- package/docs/ja/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/ja/intlayer_with_react_router_v7.md +534 -0
- package/docs/ja/intlayer_with_tanstack.md +467 -303
- package/docs/ja/intlayer_with_vite+preact.md +7 -7
- package/docs/ja/intlayer_with_vite+react.md +7 -7
- package/docs/ja/intlayer_with_vite+vue.md +9 -9
- package/docs/ja/packages/vite-intlayer/index.md +3 -3
- package/docs/ja/readme.md +263 -0
- package/docs/ja/testing.md +200 -0
- package/docs/ko/autoFill.md +39 -16
- package/docs/ko/configuration.md +217 -197
- package/docs/ko/dictionary/content_file.md +1060 -0
- package/docs/ko/intlayer_CMS.md +4 -5
- package/docs/ko/intlayer_with_nestjs.md +268 -0
- package/docs/ko/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/ko/intlayer_with_react_router_v7.md +540 -0
- package/docs/ko/intlayer_with_tanstack.md +466 -302
- package/docs/ko/intlayer_with_vite+preact.md +7 -7
- package/docs/ko/intlayer_with_vite+react.md +7 -7
- package/docs/ko/intlayer_with_vite+vue.md +9 -9
- package/docs/ko/packages/vite-intlayer/index.md +3 -3
- package/docs/ko/readme.md +261 -0
- package/docs/ko/testing.md +200 -0
- package/docs/pt/autoFill.md +39 -15
- package/docs/pt/configuration.md +165 -147
- package/docs/pt/dictionary/content_file.md +1062 -0
- package/docs/pt/intlayer_CMS.md +4 -5
- package/docs/pt/intlayer_with_nestjs.md +271 -0
- package/docs/pt/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/pt/intlayer_with_react_router_v7.md +535 -0
- package/docs/pt/intlayer_with_tanstack.md +469 -300
- package/docs/pt/intlayer_with_vite+preact.md +7 -7
- package/docs/pt/intlayer_with_vite+react.md +7 -7
- package/docs/pt/intlayer_with_vite+vue.md +9 -9
- package/docs/pt/packages/vite-intlayer/index.md +3 -3
- package/docs/pt/readme.md +261 -0
- package/docs/pt/testing.md +200 -0
- package/docs/ru/autoFill.md +52 -30
- package/docs/ru/configuration.md +164 -117
- package/docs/ru/dictionary/content_file.md +1064 -0
- package/docs/ru/intlayer_CMS.md +4 -4
- package/docs/ru/intlayer_with_nestjs.md +270 -0
- package/docs/ru/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/ru/intlayer_with_react_router_v7.md +534 -0
- package/docs/ru/intlayer_with_tanstack.md +470 -305
- package/docs/ru/intlayer_with_vite+preact.md +7 -7
- package/docs/ru/intlayer_with_vite+react.md +7 -7
- package/docs/ru/intlayer_with_vite+vue.md +9 -9
- package/docs/ru/packages/vite-intlayer/index.md +3 -3
- package/docs/ru/readme.md +261 -0
- package/docs/ru/testing.md +202 -0
- package/docs/tr/CI_CD.md +198 -0
- package/docs/tr/autoFill.md +201 -0
- package/docs/tr/configuration.md +585 -0
- package/docs/tr/dictionary/condition.md +243 -0
- package/docs/tr/dictionary/content_file.md +1055 -0
- package/docs/tr/dictionary/enumeration.md +251 -0
- package/docs/tr/dictionary/file.md +228 -0
- package/docs/tr/dictionary/function_fetching.md +218 -0
- package/docs/tr/dictionary/gender.md +279 -0
- package/docs/tr/dictionary/insertion.md +191 -0
- package/docs/tr/dictionary/markdown.md +385 -0
- package/docs/tr/dictionary/nesting.md +279 -0
- package/docs/tr/dictionary/translation.md +315 -0
- package/docs/tr/formatters.md +618 -0
- package/docs/tr/how_works_intlayer.md +254 -0
- package/docs/tr/index.md +168 -0
- package/docs/tr/interest_of_intlayer.md +288 -0
- package/docs/tr/intlayer_CMS.md +347 -0
- package/docs/tr/intlayer_cli.md +570 -0
- package/docs/tr/intlayer_visual_editor.md +269 -0
- package/docs/tr/intlayer_with_angular.md +694 -0
- package/docs/tr/intlayer_with_create_react_app.md +1218 -0
- package/docs/tr/intlayer_with_express.md +415 -0
- package/docs/tr/intlayer_with_lynx+react.md +511 -0
- package/docs/tr/intlayer_with_nestjs.md +268 -0
- package/docs/tr/intlayer_with_nextjs_14.md +1029 -0
- package/docs/tr/intlayer_with_nextjs_15.md +1506 -0
- package/docs/tr/intlayer_with_nextjs_page_router.md +1484 -0
- package/docs/tr/intlayer_with_nuxt.md +773 -0
- package/docs/tr/intlayer_with_react_native+expo.md +660 -0
- package/docs/tr/intlayer_with_react_router_v7.md +531 -0
- package/docs/tr/intlayer_with_tanstack.md +452 -0
- package/docs/tr/intlayer_with_vite+preact.md +1673 -0
- package/docs/tr/intlayer_with_vite+react.md +1632 -0
- package/docs/tr/intlayer_with_vite+solid.md +288 -0
- package/docs/tr/intlayer_with_vite+svelte.md +288 -0
- package/docs/tr/intlayer_with_vite+vue.md +1042 -0
- package/docs/tr/introduction.md +209 -0
- package/docs/tr/locale_mapper.md +244 -0
- package/docs/tr/mcp_server.md +207 -0
- package/docs/tr/packages/@intlayer/api/index.md +58 -0
- package/docs/tr/packages/@intlayer/chokidar/index.md +57 -0
- package/docs/tr/packages/@intlayer/cli/index.md +47 -0
- package/docs/tr/packages/@intlayer/config/index.md +142 -0
- package/docs/tr/packages/@intlayer/core/index.md +51 -0
- package/docs/tr/packages/@intlayer/design-system/index.md +47 -0
- package/docs/tr/packages/@intlayer/dictionary-entry/index.md +53 -0
- package/docs/tr/packages/@intlayer/editor/index.md +47 -0
- package/docs/tr/packages/@intlayer/editor-react/index.md +47 -0
- package/docs/tr/packages/@intlayer/webpack/index.md +61 -0
- package/docs/tr/packages/angular-intlayer/index.md +59 -0
- package/docs/tr/packages/express-intlayer/index.md +258 -0
- package/docs/tr/packages/express-intlayer/t.md +459 -0
- package/docs/tr/packages/intlayer/getConfiguration.md +151 -0
- package/docs/tr/packages/intlayer/getEnumeration.md +165 -0
- package/docs/tr/packages/intlayer/getHTMLTextDir.md +127 -0
- package/docs/tr/packages/intlayer/getLocaleLang.md +87 -0
- package/docs/tr/packages/intlayer/getLocaleName.md +124 -0
- package/docs/tr/packages/intlayer/getLocalizedUrl.md +324 -0
- package/docs/tr/packages/intlayer/getMultilingualUrls.md +225 -0
- package/docs/tr/packages/intlayer/getPathWithoutLocale.md +81 -0
- package/docs/tr/packages/intlayer/getTranslation.md +196 -0
- package/docs/tr/packages/intlayer/getTranslationContent.md +195 -0
- package/docs/tr/packages/intlayer/index.md +505 -0
- package/docs/tr/packages/intlayer-cli/index.md +71 -0
- package/docs/tr/packages/intlayer-editor/index.md +139 -0
- package/docs/tr/packages/lynx-intlayer/index.md +85 -0
- package/docs/tr/packages/next-intlayer/index.md +154 -0
- package/docs/tr/packages/next-intlayer/t.md +354 -0
- package/docs/tr/packages/next-intlayer/useDictionary.md +270 -0
- package/docs/tr/packages/next-intlayer/useIntlayer.md +265 -0
- package/docs/tr/packages/next-intlayer/useLocale.md +133 -0
- package/docs/tr/packages/nuxt-intlayer/index.md +59 -0
- package/docs/tr/packages/preact-intlayer/index.md +55 -0
- package/docs/tr/packages/react-intlayer/index.md +148 -0
- package/docs/tr/packages/react-intlayer/t.md +304 -0
- package/docs/tr/packages/react-intlayer/useDictionary.md +554 -0
- package/docs/tr/packages/react-intlayer/useI18n.md +478 -0
- package/docs/tr/packages/react-intlayer/useIntlayer.md +253 -0
- package/docs/tr/packages/react-intlayer/useLocale.md +212 -0
- package/docs/tr/packages/react-native-intlayer/index.md +85 -0
- package/docs/tr/packages/react-scripts-intlayer/index.md +82 -0
- package/docs/tr/packages/solid-intlayer/index.md +56 -0
- package/docs/tr/packages/svelte-intlayer/index.md +55 -0
- package/docs/tr/packages/vite-intlayer/index.md +82 -0
- package/docs/tr/packages/vue-intlayer/index.md +59 -0
- package/docs/tr/per_locale_file.md +321 -0
- package/docs/tr/readme.md +261 -0
- package/docs/tr/roadmap.md +338 -0
- package/docs/tr/testing.md +200 -0
- package/docs/tr/vs_code_extension.md +154 -0
- package/docs/zh/autoFill.md +40 -18
- package/docs/zh/configuration.md +245 -226
- package/docs/zh/dictionary/content_file.md +1064 -0
- package/docs/zh/intlayer_CMS.md +4 -5
- package/docs/zh/intlayer_with_nestjs.md +268 -0
- package/docs/zh/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/zh/intlayer_with_react_router_v7.md +535 -0
- package/docs/zh/intlayer_with_tanstack.md +468 -278
- package/docs/zh/intlayer_with_vite+preact.md +7 -7
- package/docs/zh/intlayer_with_vite+react.md +7 -7
- package/docs/zh/intlayer_with_vite+vue.md +7 -7
- package/docs/zh/packages/vite-intlayer/index.md +3 -3
- package/docs/zh/readme.md +261 -0
- package/docs/zh/testing.md +198 -0
- package/frequent_questions/tr/SSR_Next_no_[locale].md +105 -0
- package/frequent_questions/tr/array_as_content_declaration.md +72 -0
- package/frequent_questions/tr/build_dictionaries.md +59 -0
- package/frequent_questions/tr/build_error_CI_CD.md +75 -0
- package/frequent_questions/tr/customized_locale_list.md +65 -0
- package/frequent_questions/tr/domain_routing.md +114 -0
- package/frequent_questions/tr/esbuild_error.md +30 -0
- package/frequent_questions/tr/get_locale_cookie.md +142 -0
- package/frequent_questions/tr/intlayer_command_undefined.md +156 -0
- package/frequent_questions/tr/locale_incorect_in_url.md +74 -0
- package/frequent_questions/tr/static_rendering.md +45 -0
- package/frequent_questions/tr/translated_path_url.md +56 -0
- package/frequent_questions/tr/unknown_command.md +98 -0
- package/legal/tr/privacy_notice.md +83 -0
- package/legal/tr/terms_of_service.md +55 -0
- package/package.json +13 -13
- package/src/generated/blog.entry.ts +212 -0
- package/src/generated/docs.entry.ts +663 -135
- package/src/generated/frequentQuestions.entry.ts +85 -1
- package/src/generated/legal.entry.ts +7 -1
- package/docs/ar/dictionary/content_extention_customization.md +0 -100
- package/docs/ar/dictionary/get_started.md +0 -527
- package/docs/de/dictionary/content_extention_customization.md +0 -100
- package/docs/de/dictionary/get_started.md +0 -531
- package/docs/en/dictionary/content_extention_customization.md +0 -102
- package/docs/en/dictionary/get_started.md +0 -529
- package/docs/en-GB/dictionary/content_extention_customization.md +0 -100
- package/docs/en-GB/dictionary/get_started.md +0 -591
- package/docs/es/dictionary/content_extention_customization.md +0 -100
- package/docs/es/dictionary/get_started.md +0 -527
- package/docs/fr/dictionary/content_extention_customization.md +0 -100
- package/docs/fr/dictionary/get_started.md +0 -527
- package/docs/hi/dictionary/content_extention_customization.md +0 -100
- package/docs/hi/dictionary/get_started.md +0 -527
- package/docs/it/dictionary/content_extention_customization.md +0 -113
- package/docs/it/dictionary/get_started.md +0 -573
- package/docs/ja/dictionary/content_extention_customization.md +0 -113
- package/docs/ja/dictionary/get_started.md +0 -576
- package/docs/ko/dictionary/content_extention_customization.md +0 -100
- package/docs/ko/dictionary/get_started.md +0 -530
- package/docs/pt/dictionary/content_extention_customization.md +0 -100
- package/docs/pt/dictionary/get_started.md +0 -532
- package/docs/ru/dictionary/content_extention_customization.md +0 -100
- package/docs/ru/dictionary/get_started.md +0 -575
- package/docs/zh/dictionary/content_extention_customization.md +0 -117
- package/docs/zh/dictionary/get_started.md +0 -533
|
@@ -0,0 +1,367 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2025-09-07
|
|
3
|
+
updatedAt: 2025-09-07
|
|
4
|
+
title: Intlayer ve next-i18next
|
|
5
|
+
description: Next.js uygulaması için Intlayer'ı next-i18next ile entegre edin
|
|
6
|
+
keywords:
|
|
7
|
+
- i18next
|
|
8
|
+
- next-i18next
|
|
9
|
+
- Intlayer
|
|
10
|
+
- Internationalization
|
|
11
|
+
- Blog
|
|
12
|
+
- Next.js
|
|
13
|
+
- JavaScript
|
|
14
|
+
- React
|
|
15
|
+
slugs:
|
|
16
|
+
- blog
|
|
17
|
+
- intlayer-with-next-i18next
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
# next-i18next ve Intlayer ile Next.js Uluslararasılaştırma (i18n)
|
|
21
|
+
|
|
22
|
+
Hem next-i18next hem de Intlayer, Next.js uygulamaları için tasarlanmış açık kaynaklı uluslararasılaştırma (i18n) çerçeveleridir. Yazılım projelerinde çevirileri, yerelleştirmeyi ve dil değiştirmeyi yönetmek için yaygın olarak kullanılırlar.
|
|
23
|
+
|
|
24
|
+
Her iki çözüm de üç temel kavramı içerir:
|
|
25
|
+
|
|
26
|
+
1. **Sözlük**: Uygulamanızın çevrilebilir içeriğini tanımlama yöntemi.
|
|
27
|
+
- `i18next` durumunda `resource` olarak adlandırılır, içerik beyanı bir veya daha fazla dilde çeviriler için anahtar-değer çiftleri içeren yapılandırılmış bir JSON nesnesidir. Daha fazla bilgi için [i18next dokümantasyonuna](https://www.i18next.com/translation-function/essentials) bakın.
|
|
28
|
+
- `Intlayer` durumunda `content declaration file` olarak adlandırılır, içerik beyanı yapılandırılmış veriyi dışa aktaran bir JSON, JS veya TS dosyası olabilir. Daha fazla bilgi için [Intlayer dokümantasyonuna](https://intlayer.org/fr/doc/concept/content) bakın.
|
|
29
|
+
|
|
30
|
+
2. **Araçlar**: Uygulamada içerik beyanlarını oluşturmak ve yorumlamak için araçlar, örneğin next-i18next için `getI18n()`, `useCurrentLocale()` veya `useChangeLocale()`, Intlayer için `useIntlayer()` veya `useLocale()`.
|
|
31
|
+
|
|
32
|
+
3. **Eklentiler ve Ara Yazılımlar**: URL yönlendirmesini, paket optimizasyonunu vb. yönetmek için özellikler, örneğin next-i18next için `next-i18next/middleware` veya Intlayer için `intlayerMiddleware`.
|
|
33
|
+
|
|
34
|
+
## Intlayer vs. i18next: Temel Farklılıklar
|
|
35
|
+
|
|
36
|
+
i18next ve Intlayer arasındaki farkları keşfetmek için [next-i18next vs. next-intl vs. Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/blog/en/i18next_vs_next-intl_vs_intlayer.md) blog yazımıza bakın.
|
|
37
|
+
|
|
38
|
+
## Intlayer ile next-i18next Sözlükleri Nasıl Oluşturulur
|
|
39
|
+
|
|
40
|
+
### Neden Intlayer'ı next-i18next ile Kullanmalı?
|
|
41
|
+
|
|
42
|
+
Intlayer içerik beyan dosyaları genellikle daha iyi bir geliştirici deneyimi sunar. İki ana avantaj nedeniyle daha esnek ve sürdürülebilirlerdir:
|
|
43
|
+
|
|
44
|
+
1. **Esnek Yerleştirme**: Bir Intlayer içerik beyan dosyası uygulamanın dosya ağacında herhangi bir yere yerleştirilebilir, kullanılmayan içerik beyanları bırakmadan yinelenen veya silinen bileşenlerin yönetimini basitleştirir.
|
|
45
|
+
|
|
46
|
+
Örnek dosya yapıları:
|
|
47
|
+
|
|
48
|
+
```bash codeFormat="typescript"
|
|
49
|
+
.
|
|
50
|
+
└── src
|
|
51
|
+
└── components
|
|
52
|
+
└── MyComponent
|
|
53
|
+
├── index.content.ts # İçerik beyan dosyası
|
|
54
|
+
└── index.tsx
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
```bash codeFormat="esm"
|
|
58
|
+
.
|
|
59
|
+
└── src
|
|
60
|
+
└── components
|
|
61
|
+
└── MyComponent
|
|
62
|
+
├── index.content.mjs # İçerik beyan dosyası
|
|
63
|
+
└── index.mjx
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
```bash codeFormat="cjs"
|
|
67
|
+
.
|
|
68
|
+
└── src
|
|
69
|
+
└── components
|
|
70
|
+
└── MyComponent
|
|
71
|
+
├── index.content.cjs # İçerik beyan dosyası
|
|
72
|
+
└── index.cjx
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
```bash codeFormat="json"
|
|
76
|
+
.
|
|
77
|
+
└── src
|
|
78
|
+
└── components
|
|
79
|
+
└── MyComponent
|
|
80
|
+
├── index.content.json # İçerik beyan dosyası
|
|
81
|
+
└── index.jsx
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
2. **Merkezi Çeviriler**: Intlayer tüm çevirileri tek bir dosyada depolar, hiçbir çevirinin eksik olmasını sağlar. TypeScript kullanırken, eksik çeviriler otomatik olarak algılanır ve hatalar olarak raporlanır.
|
|
85
|
+
|
|
86
|
+
### Kurulum
|
|
87
|
+
|
|
88
|
+
```bash packageManager="npm"
|
|
89
|
+
npm install intlayer i18next next-i18next i18next-resources-to-backend
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
```bash packageManager="yarn"
|
|
93
|
+
yarn add intlayer i18next next-i18next i18next-resources-to-backend
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
```bash packageManager="pnpm"
|
|
97
|
+
pnpm add intlayer i18next next-i18next i18next-resources-to-backend
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### i18next Sözlüklerini Dışa Aktarmak İçin Intlayer'ı Yapılandırma
|
|
101
|
+
|
|
102
|
+
> i18next kaynaklarını dışa aktarmak diğer çerçevelerle 1:1 uyumluluk sağlamaz. Sorunları en aza indirmek için Intlayer tabanlı bir yapılandırmaya bağlı kalmak önerilir.
|
|
103
|
+
|
|
104
|
+
i18next kaynaklarını dışa aktarmak için Intlayer'ı bir `intlayer.config.ts` dosyasında yapılandırın. Örnek yapılandırmalar:
|
|
105
|
+
|
|
106
|
+
```typescript fileName="intlayer.config.ts" codeFormat="typescript"
|
|
107
|
+
import { Locales, type IntlayerConfig } from "intlayer";
|
|
108
|
+
|
|
109
|
+
const config: IntlayerConfig = {
|
|
110
|
+
internationalization: {
|
|
111
|
+
locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
|
|
112
|
+
defaultLocale: Locales.ENGLISH,
|
|
113
|
+
},
|
|
114
|
+
content: {
|
|
115
|
+
dictionaryOutput: ["i18next"],
|
|
116
|
+
i18nextResourcesDir: "./i18next/resources",
|
|
117
|
+
},
|
|
118
|
+
};
|
|
119
|
+
|
|
120
|
+
export default config;
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
```javascript fileName="intlayer.config.mjs" codeFormat="esm"
|
|
124
|
+
import { Locales } from "intlayer";
|
|
125
|
+
|
|
126
|
+
/** @type {import('intlayer').IntlayerConfig} */
|
|
127
|
+
const config = {
|
|
128
|
+
internationalization: {
|
|
129
|
+
locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
|
|
130
|
+
defaultLocale: Locales.ENGLISH,
|
|
131
|
+
},
|
|
132
|
+
content: {
|
|
133
|
+
dictionaryOutput: ["i18next"],
|
|
134
|
+
i18nextResourcesDir: "./i18next/resources",
|
|
135
|
+
},
|
|
136
|
+
};
|
|
137
|
+
|
|
138
|
+
export default config;
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
|
|
142
|
+
const { Locales } = require("intlayer");
|
|
143
|
+
|
|
144
|
+
/** @type {import('intlayer').IntlayerConfig} */
|
|
145
|
+
const config = {
|
|
146
|
+
internationalization: {
|
|
147
|
+
locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
|
|
148
|
+
defaultLocale: Locales.ENGLISH,
|
|
149
|
+
},
|
|
150
|
+
content: {
|
|
151
|
+
dictionaryOutput: ["i18next"],
|
|
152
|
+
i18nextResourcesDir: "./i18next/resources",
|
|
153
|
+
},
|
|
154
|
+
};
|
|
155
|
+
|
|
156
|
+
module.exports = config;
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
Burada belgenizin kalan kısımlarının devamı ve düzeltmesi:
|
|
160
|
+
|
|
161
|
+
---
|
|
162
|
+
|
|
163
|
+
### Sözlükleri i18next Yapılandırmanıza İçe Aktarma
|
|
164
|
+
|
|
165
|
+
Oluşturulan kaynakları i18next yapılandırmanıza içe aktarmak için `i18next-resources-to-backend` kullanın. Aşağıda örnekler:
|
|
166
|
+
|
|
167
|
+
```typescript fileName="i18n/client.ts" codeFormat="typescript"
|
|
168
|
+
import i18next from "i18next";
|
|
169
|
+
import resourcesToBackend from "i18next-resources-to-backend";
|
|
170
|
+
|
|
171
|
+
i18next.use(
|
|
172
|
+
resourcesToBackend(
|
|
173
|
+
(language: string, namespace: string) =>
|
|
174
|
+
import(`../i18next/resources/${language}/${namespace}.json`)
|
|
175
|
+
)
|
|
176
|
+
);
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
```javascript fileName="i18n/client.mjs" codeFormat="esm"
|
|
180
|
+
import i18next from "i18next";
|
|
181
|
+
import resourcesToBackend from "i18next-resources-to-backend";
|
|
182
|
+
|
|
183
|
+
i18next.use(
|
|
184
|
+
resourcesToBackend(
|
|
185
|
+
(language, namespace) =>
|
|
186
|
+
import(`../i18next/resources/${language}/${namespace}.json`)
|
|
187
|
+
)
|
|
188
|
+
);
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
```javascript fileName="i18n/client.cjs" codeFormat="commonjs"
|
|
192
|
+
const i18next = require("i18next");
|
|
193
|
+
const resourcesToBackend = require("i18next-resources-to-backend");
|
|
194
|
+
|
|
195
|
+
i18next.use(
|
|
196
|
+
resourcesToBackend(
|
|
197
|
+
(language, namespace) =>
|
|
198
|
+
import(`../i18next/resources/${language}/${namespace}.json`)
|
|
199
|
+
)
|
|
200
|
+
);
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
### Sözlük
|
|
204
|
+
|
|
205
|
+
Çeşitli formatlardaki içerik beyan dosyalarının örnekleri:
|
|
206
|
+
|
|
207
|
+
```typescript fileName="**/*.content.ts" contentDeclarationFormat="typescript"
|
|
208
|
+
import { t, type Dictionary } from "intlayer";
|
|
209
|
+
|
|
210
|
+
const content = {
|
|
211
|
+
key: "my-content",
|
|
212
|
+
content: {
|
|
213
|
+
myTranslatedContent: t({
|
|
214
|
+
en: "Hello World",
|
|
215
|
+
es: "Hola Mundo",
|
|
216
|
+
fr: "Bonjour le monde",
|
|
217
|
+
}),
|
|
218
|
+
},
|
|
219
|
+
} satisfies Dictionary;
|
|
220
|
+
|
|
221
|
+
export default content;
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
```javascript fileName="**/*.content.mjs" contentDeclarationFormat="esm"
|
|
225
|
+
import { t } from "intlayer";
|
|
226
|
+
|
|
227
|
+
/** @type {import('intlayer').Dictionary} */
|
|
228
|
+
const content = {
|
|
229
|
+
key: "my-content",
|
|
230
|
+
content: {
|
|
231
|
+
myTranslatedContent: t({
|
|
232
|
+
en: "Hello World",
|
|
233
|
+
es: "Hola Mundo",
|
|
234
|
+
fr: "Bonjour le monde",
|
|
235
|
+
}),
|
|
236
|
+
},
|
|
237
|
+
};
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
```javascript fileName="**/*.content.cjs" contentDeclarationFormat="commonjs"
|
|
241
|
+
const { t } = require("intlayer");
|
|
242
|
+
|
|
243
|
+
module.exports = {
|
|
244
|
+
key: "my-content",
|
|
245
|
+
content: {
|
|
246
|
+
myTranslatedContent: t({
|
|
247
|
+
en: "Hello World",
|
|
248
|
+
es: "Hola Mundo",
|
|
249
|
+
fr: "Bonjour le monde",
|
|
250
|
+
}),
|
|
251
|
+
},
|
|
252
|
+
};
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
```json fileName="**/*.content.json" contentDeclarationFormat="json"
|
|
256
|
+
{
|
|
257
|
+
"$schema": "https://intlayer.org/schema.json",
|
|
258
|
+
"key": "my-content",
|
|
259
|
+
"content": {
|
|
260
|
+
"myTranslatedContent": {
|
|
261
|
+
"nodeType": "translation",
|
|
262
|
+
"translation": {
|
|
263
|
+
"en": "Hello World",
|
|
264
|
+
"fr": "Bonjour le monde",
|
|
265
|
+
"es": "Hola Mundo"
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
### next-i18next Kaynaklarını Oluştur
|
|
273
|
+
|
|
274
|
+
next-i18next kaynaklarını oluşturmak için aşağıdaki komutu çalıştırın:
|
|
275
|
+
|
|
276
|
+
```bash packageManager="npm"
|
|
277
|
+
npx run intlayer build
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
```bash packageManager="yarn"
|
|
281
|
+
yarn intlayer build
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
```bash packageManager="pnpm"
|
|
285
|
+
pnpm intlayer build
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
Bu, `./i18next/resources` dizininde kaynaklar oluşturacaktır. Beklenen çıktı:
|
|
289
|
+
|
|
290
|
+
```bash
|
|
291
|
+
.
|
|
292
|
+
└── i18next
|
|
293
|
+
└── resources
|
|
294
|
+
└── en
|
|
295
|
+
└── my-content.json
|
|
296
|
+
└── fr
|
|
297
|
+
└── my-content.json
|
|
298
|
+
└── es
|
|
299
|
+
└── my-content.json
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
Not: i18next ad alanı Intlayer beyan anahtarına karşılık gelir.
|
|
303
|
+
|
|
304
|
+
### Next.js Eklentisini Uygula
|
|
305
|
+
|
|
306
|
+
Yapılandırıldıktan sonra, Intlayer içerik beyan dosyaları güncellendiğinde i18next kaynaklarınızı yeniden oluşturmak için Next.js eklentisini uygulayın.
|
|
307
|
+
|
|
308
|
+
```typescript fileName="next.config.mjs"
|
|
309
|
+
import { withIntlayer } from "next-intlayer/server";
|
|
310
|
+
|
|
311
|
+
/** @type {import('next').NextConfig} */
|
|
312
|
+
const nextConfig = {};
|
|
313
|
+
|
|
314
|
+
export default withIntlayer(nextConfig);
|
|
315
|
+
```
|
|
316
|
+
|
|
317
|
+
### Next.js Bileşenlerinde İçeriği Kullanma
|
|
318
|
+
|
|
319
|
+
Next.js eklentisini uyguladıktan sonra, içeriği bileşenlerinizde kullanabilirsiniz:
|
|
320
|
+
|
|
321
|
+
```typescript fileName="src/components/myComponent/index.tsx" codeFormat="typescript"
|
|
322
|
+
import type { FC } from "react";
|
|
323
|
+
import { useTranslation } from "react-i18next";
|
|
324
|
+
|
|
325
|
+
const IndexPage: FC = () => {
|
|
326
|
+
const { t } = useTranslation();
|
|
327
|
+
|
|
328
|
+
return (
|
|
329
|
+
<div>
|
|
330
|
+
<h1>{t("my-content.title")}</h1>
|
|
331
|
+
<p>{t("my-content.description")}</p>
|
|
332
|
+
</div>
|
|
333
|
+
);
|
|
334
|
+
};
|
|
335
|
+
|
|
336
|
+
export default IndexPage;
|
|
337
|
+
```
|
|
338
|
+
|
|
339
|
+
```jsx fileName="src/components/myComponent/index.mjx" codeFormat="esm"
|
|
340
|
+
import { useTranslation } from "react-i18next";
|
|
341
|
+
|
|
342
|
+
const IndexPage = () => {
|
|
343
|
+
const { t } = useTranslation();
|
|
344
|
+
|
|
345
|
+
return (
|
|
346
|
+
<div>
|
|
347
|
+
<h1>{t("my-content.title")}</h1>
|
|
348
|
+
<p>{t("my-content.description")}</p>
|
|
349
|
+
</div>
|
|
350
|
+
);
|
|
351
|
+
};
|
|
352
|
+
```
|
|
353
|
+
|
|
354
|
+
```jsx fileName="src/components/myComponent/index.cjx" codeFormat="commonjs"
|
|
355
|
+
const { useTranslation } = require("react-i18next");
|
|
356
|
+
|
|
357
|
+
const IndexPage = () => {
|
|
358
|
+
const { t } = useTranslation();
|
|
359
|
+
|
|
360
|
+
return (
|
|
361
|
+
<div>
|
|
362
|
+
<h1>{t("my-content.title")}</h1>
|
|
363
|
+
<p>{t("my-content.description")}</p>
|
|
364
|
+
</div>
|
|
365
|
+
);
|
|
366
|
+
};
|
|
367
|
+
```
|