@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,276 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2025-09-07
|
|
3
|
+
updatedAt: 2025-09-07
|
|
4
|
+
title: vue-i18n vs Intlayer
|
|
5
|
+
description: vue-i18n'i Intlayer ile Vue/Nuxt uygulamalarında uluslararasılaştırma (i18n) için karşılaştırın
|
|
6
|
+
keywords:
|
|
7
|
+
- vue-i18n
|
|
8
|
+
- Intlayer
|
|
9
|
+
- Internationalization
|
|
10
|
+
- i18n
|
|
11
|
+
- Blog
|
|
12
|
+
- Vue
|
|
13
|
+
- Nuxt
|
|
14
|
+
- JavaScript
|
|
15
|
+
slugs:
|
|
16
|
+
- blog
|
|
17
|
+
- vue-i18n-vs-intlayer
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
# vue-i18n VS Intlayer | Vue Uluslararasılaştırma (i18n)
|
|
21
|
+
|
|
22
|
+
Bu rehber, **Vue 3** (ve **Nuxt**) için iki popüler i18n seçeneğini karşılaştırır: **vue-i18n** ve **Intlayer**.
|
|
23
|
+
Modern Vue araçlarına (Vite, Composition API) odaklanıyoruz ve şunları değerlendiriyoruz:
|
|
24
|
+
|
|
25
|
+
1. **Mimari ve içerik organizasyonu**
|
|
26
|
+
2. **TypeScript ve güvenlik**
|
|
27
|
+
3. **Eksik çeviri işleme**
|
|
28
|
+
4. **Yönlendirme ve URL stratejisi**
|
|
29
|
+
5. **Performans ve yükleme davranışı**
|
|
30
|
+
6. **Geliştirici deneyimi (DX), araçlar ve bakım**
|
|
31
|
+
7. **SEO ve büyük proje ölçeklenebilirliği**
|
|
32
|
+
|
|
33
|
+
> **tl;dr**: İkisi de Vue uygulamalarını yerelleştirebilir. **Bileşen kapsamlı içerik**, **katı TypeScript türleri**, **derleme zamanı eksik anahtar kontrolleri**, **ağaç sallanan sözlükler** ve **pil dahil yönlendirici/SEO yardımcıları** artı **Görsel Düzenleyici ve AI çevirileri** istiyorsanız, **Intlayer** daha kapsamlı, modern seçimdir.
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## Yüksek düzey konumlandırma
|
|
38
|
+
|
|
39
|
+
- **vue-i18n** - Vue için de-facto i18n kütüphanesi. Esnek mesaj formatlaması (ICU tarzı), yerel mesajlar için SFC `<i18n>` blokları ve büyük bir ekosistem. Güvenlik ve büyük ölçekli bakım çoğunlukla sizin sorumluluğunuzdur.
|
|
40
|
+
- **Intlayer** - Vue/Vite/Nuxt için bileşen merkezli içerik modeli, **katı TS yazımı**, **derleme zamanı kontrolleri**, **ağaç sallama**, **yönlendirici ve SEO yardımcıları**, isteğe bağlı **Görsel Düzenleyici/CMS** ve **AI destekli çeviriler**.
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## Yan Yana Özellik Karşılaştırması (Vue odaklı)
|
|
45
|
+
|
|
46
|
+
| Özellik | **Intlayer** | **vue-i18n** |
|
|
47
|
+
| ------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- |
|
|
48
|
+
| **Bileşenlere yakın çeviriler** | ✅ Evet, bileşen başına birlikte yerleştirilmiş içerik (örneğin, `MyComp.content.ts`) | ✅ Evet, SFC `<i18n>` blokları aracılığıyla (isteğe bağlı) |
|
|
49
|
+
| **TypeScript entegrasyonu** | ✅ Gelişmiş, otomatik olarak oluşturulan **katı** türler ve anahtar otomatik tamamlama | ✅ İyi yazımlar; **katı anahtar güvenliği ekstra kurulum/disiplin gerektirir** |
|
|
50
|
+
| **Eksik çeviri algılama** | ✅ **Derleme zamanı** uyarılar/hatalar ve TS yüzeyleme | ⚠️ Çalışma zamanı geri dönüşleri/uyarılar |
|
|
51
|
+
| **Zengin içerik (bileşenler/Markdown)** | ✅ Zengin düğümler ve Markdown içerik dosyaları için doğrudan destek | ⚠️ Sınırlı (bileşenler `<i18n-t>` aracılığıyla, Markdown harici eklentiler aracılığıyla) |
|
|
52
|
+
| **AI destekli çeviri** | ✅ Kendi AI sağlayıcı anahtarlarınızı kullanarak yerleşik iş akışları | ❌ Yerleşik değil |
|
|
53
|
+
| **Görsel Düzenleyici / CMS** | ✅ Ücretsiz Görsel Düzenleyici ve isteğe bağlı CMS | ❌ Yerleşik değil (harici platformları kullanın) |
|
|
54
|
+
| **Yerelleştirilmiş yönlendirme** | ✅ Yerelleştirilmiş yollar, URL'ler ve `hreflang` oluşturmak için Vue Router/Nuxt yardımcıları | ⚠️ Çekirdek değil (Nuxt i18n veya özel Vue Router kurulumunu kullanın) |
|
|
55
|
+
| **Dinamik yol oluşturma** | ✅ Evet | ❌ Sağlanmadı (Nuxt i18n sağlar) |
|
|
56
|
+
| **Çoğullaştırma ve formatlama** | ✅ Numaralandırma desenleri; Intl tabanlı formatlayıcılar | ✅ ICU tarzı mesajlar; Intl formatlayıcıları |
|
|
57
|
+
| **İçerik formatları** | ✅ `.ts`, `.js`, `.json`, `.md`, `.txt` (YAML WIP) | ✅ `.json`, `.js` (artı SFC `<i18n>` blokları) |
|
|
58
|
+
| **ICU desteği** | ⚠️ WIP | ✅ Evet |
|
|
59
|
+
| **SEO yardımcıları (site haritası, robots, meta veri)** | ✅ Yerleşik yardımcılar (çerçeve agnostik) | ❌ Çekirdek değil (Nuxt i18n/topluluk) |
|
|
60
|
+
| **SSR/SSG** | ✅ Vue SSR ve Nuxt ile çalışır; statik oluşturmayı engellemez | ✅ Vue SSR/Nuxt ile çalışır |
|
|
61
|
+
| **Ağaç sallama (yalnızca kullanılan içeriği gönder)** | ✅ Derleme zamanında bileşen başına | ⚠️ Kısmi; manuel kod bölme/zaman uyumsuz mesajlar gerektirir |
|
|
62
|
+
| **Tembel yükleme** | ✅ Yerel / sözlük başına | ✅ Zaman uyumsuz yerel mesajlar desteklenir |
|
|
63
|
+
| **Kullanılmayan içeriği temizle** | ✅ Evet (derleme zamanı) | ❌ Yerleşik değil |
|
|
64
|
+
| **Büyük proje bakımı** | ✅ Modüler teşvik eder, tasarım sistemi dostu yapı | ✅ Olası, ancak güçlü dosya/ad alanı disiplini gerektirir |
|
|
65
|
+
| **Ekosistem / topluluk** | ⚠️ Daha küçük ama hızlı büyüyen | ✅ Vue ekosisteminde büyük ve olgun |
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## Derinlemesine karşılaştırma
|
|
70
|
+
|
|
71
|
+
### 1) Mimari ve ölçeklenebilirlik
|
|
72
|
+
|
|
73
|
+
- **vue-i18n**: Ortak kurulumlar yerel başına **merkezi kataloglar** kullanır (isteğe bağlı olarak dosyalara/ad alanlarına bölünür). SFC `<i18n>` blokları yerel mesajlara izin verir ancak ekipler projeler büyüdükçe paylaşılan kataloglara geri döner.
|
|
74
|
+
- **Intlayer**: Hizmet ettikleri bileşenle birlikte **bileşen başına sözlükleri** teşvik eder. Bu, ekip arası çatışmaları azaltır, içeriği keşfedilebilir tutar ve doğal olarak kayma/kullanılmayan anahtarları sınırlandırır.
|
|
75
|
+
|
|
76
|
+
**Neden önemli:** Büyük Vue uygulamalarında veya tasarım sistemlerinde, **modüler içerik** monolitik kataloglardan daha iyi ölçeklenir.
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
### 2) TypeScript ve güvenlik
|
|
81
|
+
|
|
82
|
+
- **vue-i18n**: İyi TS desteği; **katı anahtar yazımı** genellikle özel şemalar/genel türler ve dikkatli kurallar gerektirir.
|
|
83
|
+
- **Intlayer**: İçeriğinizden **katı türler oluşturur**, **IDE otomatik tamamlama** ve yazım/eksik anahtarlar için **derleme zamanı hataları** sağlar.
|
|
84
|
+
|
|
85
|
+
**Neden önemli:** Güçlü yazım, sorunları **çalışma zamanından önce** yakalar.
|
|
86
|
+
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
### 3) Eksik çeviri işleme
|
|
90
|
+
|
|
91
|
+
- **vue-i18n**: **Çalışma zamanı** uyarılar/geri dönüşler (örneğin, yerel veya anahtara geri dön).
|
|
92
|
+
- **Intlayer**: Yerel ve anahtarlar genelinde **derleme zamanı** algılama ile uyarılar/hatalar.
|
|
93
|
+
|
|
94
|
+
**Neden önemli:** Derleme zamanı uygulaması, üretim UI'sini temiz ve tutarlı tutar.
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
### 4) Yönlendirme ve URL stratejisi (Vue Router/Nuxt)
|
|
99
|
+
|
|
100
|
+
- **İkisi de** yerelleştirilmiş yollarla çalışabilir.
|
|
101
|
+
- **Intlayer**, **yerelleştirilmiş yollar oluşturmak**, **yerel önekleri yönetmek** ve SEO için **`<link rel="alternate" hreflang>`** yaymak için yardımcılar sağlar. Nuxt ile, çerçevenin yönlendirmesini tamamlar.
|
|
102
|
+
|
|
103
|
+
**Neden önemli:** Daha az özel yapıştırıcı katman ve yerel genelinde **daha temiz SEO**.
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
### 5) Performans ve yükleme davranışı
|
|
108
|
+
|
|
109
|
+
- **vue-i18n**: Zaman uyumsuz yerel mesajları destekler; aşırı paketlemeyi önlemek sizin sorumluluğunuzdur (katalogları dikkatlice bölün).
|
|
110
|
+
- **Intlayer**: **Derleme zamanında ağaç sallar** ve **sözlük/yere göre tembel yükler**. Kullanılmayan içerik gönderilmez.
|
|
111
|
+
|
|
112
|
+
**Neden önemli:** Çok yerel Vue uygulamaları için daha küçük paketler ve daha hızlı başlatma.
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
### 6) Geliştirici deneyimi ve araçlar
|
|
117
|
+
|
|
118
|
+
- **vue-i18n**: Olgun dokümantasyon ve topluluk; genellikle düzenleme iş akışları için **harici yerelleştirme platformlarına** güveneceksiniz.
|
|
119
|
+
- **Intlayer**: **Ücretsiz Görsel Düzenleyici**, isteğe bağlı **CMS** (Git dostu veya dışa aktarılmış), **VSCode uzantısı**, **CLI/CI** yardımcıları ve kendi sağlayıcı anahtarlarınızı kullanarak **AI destekli çeviriler** gönderir.
|
|
120
|
+
|
|
121
|
+
**Neden önemli:** Daha düşük operasyon maliyeti ve geliştiriciler ile içerik yazarları arasındaki döngüyü kısaltır.
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
### 7) SEO, SSR ve SSG
|
|
126
|
+
|
|
127
|
+
- **İkisi de** Vue SSR ve Nuxt ile çalışır.
|
|
128
|
+
- **Intlayer**: Vue/Nuxt yapılarıyla iyi uyumlu, çerçeve agnostik **SEO yardımcıları** (site haritaları/meta veri/`hreflang`) ekler.
|
|
129
|
+
|
|
130
|
+
**Neden önemli:** Özel kablolama olmadan uluslararası SEO.
|
|
131
|
+
|
|
132
|
+
---
|
|
133
|
+
|
|
134
|
+
## Neden Intlayer? (Sorun ve yaklaşım)
|
|
135
|
+
|
|
136
|
+
Çoğu i18n yığını (**vue-i18n** dahil) **merkezi kataloglardan** başlar:
|
|
137
|
+
|
|
138
|
+
```bash
|
|
139
|
+
.
|
|
140
|
+
├── locales
|
|
141
|
+
│ ├── en.json
|
|
142
|
+
│ ├── es.json
|
|
143
|
+
│ └── fr.json
|
|
144
|
+
└── src
|
|
145
|
+
└── components
|
|
146
|
+
└── MyComponent.vue
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
Veya yerel klasörlerle:
|
|
150
|
+
|
|
151
|
+
```bash
|
|
152
|
+
.
|
|
153
|
+
├── locales
|
|
154
|
+
│ ├── en
|
|
155
|
+
│ │ ├── footer.json
|
|
156
|
+
│ │ └── navbar.json
|
|
157
|
+
│ ├── fr
|
|
158
|
+
│ │ ├── footer.json
|
|
159
|
+
│ │ └── navbar.json
|
|
160
|
+
│ └── es
|
|
161
|
+
│ ├── footer.json
|
|
162
|
+
│ └── navbar.json
|
|
163
|
+
└── src
|
|
164
|
+
└── components
|
|
165
|
+
└── MyComponent.vue
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
Bu, uygulamalar büyüdükçe geliştirmeyi yavaşlatır:
|
|
169
|
+
|
|
170
|
+
1. **Yeni bir bileşen için** uzak katalogları oluştur/düzenle, ad alanlarını bağla ve çevir (genellikle AI araçlarından manuel kopyala/yapıştır ile).
|
|
171
|
+
2. **Bileşenleri değiştirirken** paylaşılan anahtarları avla, çevir, yerel'leri senkronize tut, ölü anahtarları kaldır ve JSON yapılarını hizala.
|
|
172
|
+
|
|
173
|
+
**Intlayer**, içeriği **bileşen başına** kapsüller ve onu **kodun yanında** tutar, zaten CSS, hikayeler, testler ve dokümantasyonla yaptığımız gibi:
|
|
174
|
+
|
|
175
|
+
```bash
|
|
176
|
+
.
|
|
177
|
+
└── components
|
|
178
|
+
└── MyComponent
|
|
179
|
+
├── MyComponent.content.ts
|
|
180
|
+
└── MyComponent.vue
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
**İçerik beyanı** (bileşen başına):
|
|
184
|
+
|
|
185
|
+
```ts fileName="./components/MyComponent/MyComponent.content.ts"
|
|
186
|
+
import { t, type Dictionary } from "intlayer";
|
|
187
|
+
|
|
188
|
+
const componentExampleContent = {
|
|
189
|
+
key: "component-example",
|
|
190
|
+
content: {
|
|
191
|
+
greeting: t({
|
|
192
|
+
en: "Hello World",
|
|
193
|
+
es: "Hola Mundo",
|
|
194
|
+
fr: "Bonjour le monde",
|
|
195
|
+
}),
|
|
196
|
+
},
|
|
197
|
+
} satisfies Dictionary;
|
|
198
|
+
|
|
199
|
+
export default componentExampleContent;
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
**Vue'da kullanım** (Composition API):
|
|
203
|
+
|
|
204
|
+
```vue fileName="./components/MyComponent/MyComponent.vue"
|
|
205
|
+
<script setup lang="ts">
|
|
206
|
+
import { useIntlayer } from "vue-intlayer"; // Vue entegrasyonu
|
|
207
|
+
const { greeting } = useIntlayer("component-example");
|
|
208
|
+
</script>
|
|
209
|
+
|
|
210
|
+
<template>
|
|
211
|
+
<span>{{ greeting }}</span>
|
|
212
|
+
</template>
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
Bu yaklaşım:
|
|
216
|
+
|
|
217
|
+
- **Geliştirmeyi hızlandırır** (bir kez beyan et; IDE/AI otomatik tamamlar).
|
|
218
|
+
- **Kod tabanını temizler** (1 bileşen = 1 sözlük).
|
|
219
|
+
- **Çoğaltmayı/migrasyonu kolaylaştırır** (bir bileşeni ve içeriğini birlikte kopyala).
|
|
220
|
+
- **Ölü anahtarları önler** (kullanılmayan bileşenler içerik içe aktarmaz).
|
|
221
|
+
- **Yüklemeyi optimize eder** (tembel yüklenen bileşenler içeriklerini yanlarında getirir).
|
|
222
|
+
|
|
223
|
+
---
|
|
224
|
+
|
|
225
|
+
## Intlayer'ın ek özellikleri (Vue ilgili)
|
|
226
|
+
|
|
227
|
+
- **Çapraz çerçeve desteği**: Vue, Nuxt, Vite, React, Express vb. ile çalışır.
|
|
228
|
+
- **JavaScript destekli içerik yönetimi**: Tam esneklikle kodda beyan et.
|
|
229
|
+
- **Yerel başına beyan dosyası**: Tüm yerel'leri tohumla ve geri kalanını araçların oluşturmasına izin ver.
|
|
230
|
+
- **Tip güvenli ortam**: Otomatik tamamlama ile güçlü TS yapılandırması.
|
|
231
|
+
- **Basitleştirilmiş içerik alma**: Bir sözlük için tüm içeriği almak için tek bir hook/composable.
|
|
232
|
+
- **Düzenlenmiş kod tabanı**: Aynı klasörde 1 bileşen = 1 sözlük.
|
|
233
|
+
- **Gelişmiş yönlendirme**: **Vue Router/Nuxt** yerelleştirilmiş yolları ve meta veri için yardımcılar.
|
|
234
|
+
- **Markdown desteği**: Yerel başına uzak/yerel Markdown içe aktar; frontmatter'ı koda göster.
|
|
235
|
+
- **Ücretsiz Görsel Düzenleyici ve isteğe bağlı CMS**: Ücretli yerelleştirme platformu olmadan yazma; Git dostu senk.
|
|
236
|
+
- **Ağaç sallanabilir içerik**: Yalnızca kullanılanı gönderir; tembel yüklemeyi destekler.
|
|
237
|
+
- **Statik oluşturma dostu**: SSG'yi engellemez.
|
|
238
|
+
- **AI destekli çeviriler**: Kendi AI sağlayıcı/API anahtarınızı kullanarak 231 dile çevirin.
|
|
239
|
+
- **MCP sunucusu ve VSCode uzantısı**: IDE'nizde i18n iş akışlarını ve yazmayı otomatikleştirin.
|
|
240
|
+
- **Birlikte çalışabilirlik**: Gerektiğinde **vue-i18n**, **react-i18next** ve **react-intl** ile köprü kurar.
|
|
241
|
+
|
|
242
|
+
---
|
|
243
|
+
|
|
244
|
+
## Hangisini ne zaman seçmeli?
|
|
245
|
+
|
|
246
|
+
- **vue-i18n**'i seçin eğer **standart Vue yaklaşımını** istiyorsanız, katalogları/ad alanlarını kendiniz yönetmekle rahatınız ve uygulamanız **küçük ila orta boy**.
|
|
247
|
+
- **Intlayer**'ı seçin eğer **bileşen kapsamlı içerik**, **katı TypeScript**, **derleme zamanı garantileri**, **ağaç sallama** ve **pil dahil yönlendirme/SEO/düzenleyici araçlarını** takdir ediyorsanız - özellikle **büyük, modüler Vue/Nuxt kod tabanları**, tasarım sistemleri vb. için.
|
|
248
|
+
|
|
249
|
+
---
|
|
250
|
+
|
|
251
|
+
## vue-i18n ile birlikte çalışabilirlik
|
|
252
|
+
|
|
253
|
+
`intlayer`, `vue-i18n` ad alanlarınızı yönetmenize de yardımcı olabilir.
|
|
254
|
+
|
|
255
|
+
`intlayer` kullanarak, içeriğinizi favori i18n kütüphanenizin formatında beyan edebilirsiniz ve intlayer ad alanlarınızı istediğiniz konumda oluşturacaktır (örnek: `/messages/{{locale}}/{{namespace}}.json`).
|
|
256
|
+
|
|
257
|
+
Daha fazla detay için [`dictionaryOutput` ve `i18nextResourcesDir` seçeneklerine](https://intlayer.org/doc/concept/configuration#content-configuration) bakın.
|
|
258
|
+
|
|
259
|
+
---
|
|
260
|
+
|
|
261
|
+
## GitHub YILDIZLARI
|
|
262
|
+
|
|
263
|
+
GitHub yıldızları, bir projenin popülaritesinin, topluluk güveninin ve uzun vadeli öneminin güçlü bir göstergesidir. Teknik kalitenin doğrudan bir ölçüsü olmasa da, kaç geliştiricinin projeyi yararlı bulduğunu, ilerlemesini takip ettiğini ve muhtemelen benimsediğini yansıtır. Bir projenin değerini tahmin etmek için yıldızlar, alternatifler arasındaki çekişmeyi karşılaştırmaya ve ekosistem büyümesine ilişkin içgörüler sağlamaya yardımcı olur.
|
|
264
|
+
|
|
265
|
+
[](https://www.star-history.com/#intlify/vue-i18n&aymericzip/intlayer)
|
|
266
|
+
|
|
267
|
+
---
|
|
268
|
+
|
|
269
|
+
## Sonuç
|
|
270
|
+
|
|
271
|
+
Hem **vue-i18n** hem de **Intlayer** Vue uygulamalarını iyi yerelleştirir. Fark, sağlam, ölçeklenebilir bir kurulum elde etmek için **ne kadar kendiniz inşa etmeniz gerektiğidir**:
|
|
272
|
+
|
|
273
|
+
- **Intlayer** ile, **modüler içerik**, **katı TS**, **derleme zamanı güvenliği**, **ağaç sallanan paketler** ve **yönlendirici/SEO/düzenleyici araçları** **kutudan çıkar**.
|
|
274
|
+
- Ekibiniz çok yerel, bileşen odaklı bir Vue/Nuxt uygulamasında **bakım ve hızı** takdir ediyorsa, Intlayer bugün **en kapsamlı** deneyimi sunar.
|
|
275
|
+
|
|
276
|
+
Daha fazla detay için ['Neden Intlayer?' dokümantasyonuna](https://intlayer.org/doc/why) bakın.
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2025-09-07
|
|
3
|
+
updatedAt: 2025-09-07
|
|
4
|
+
title: Uluslararasılaştırma (i18n) Nedir? Tanım ve zorluklar
|
|
5
|
+
description: Web sitenizi uluslararasılaştırmanın neden gerekli olduğunu keşfedin. SEO'yu artırmak, kullanıcı deneyimini geliştirmek ve küresel erişiminizi genişletmek için temel ilkeleri öğrenin.
|
|
6
|
+
keywords:
|
|
7
|
+
- i18n
|
|
8
|
+
- multilingual
|
|
9
|
+
- SEO
|
|
10
|
+
- Internationalization
|
|
11
|
+
- Blog
|
|
12
|
+
- Next.js
|
|
13
|
+
- JavaScript
|
|
14
|
+
- React
|
|
15
|
+
slugs:
|
|
16
|
+
- blog
|
|
17
|
+
- what-is-internationalization
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
# Uluslararasılaştırma (i18n) Nedir? Tanım ve zorluklar
|
|
21
|
+
|
|
22
|
+

|
|
23
|
+
|
|
24
|
+
## Uluslararasılaştırmayı Anlamak (i18n)
|
|
25
|
+
|
|
26
|
+
**Uluslararasılaştırma**, genellikle **i18n** olarak kısaltılır, bir uygulamanın birden fazla dil, kültür ve bölgesel kuralları destekleyecek şekilde tasarlanması ve hazırlanması sürecidir **kod tabanında büyük değişiklikler olmadan**. i18n adı, "internationalization" kelimesindeki **i** ve **n** arasında 18 harf olduğu gerçeğinden türetilmiştir.
|
|
27
|
+
|
|
28
|
+
## Neden i18n Önemli?
|
|
29
|
+
|
|
30
|
+
### SEO
|
|
31
|
+
|
|
32
|
+
Uluslararasılaştırma, bir web sitesinin Arama Motoru Optimizasyonunu (SEO) geliştirmede kritik bir rol oynar. Google ve Bing gibi arama motorları, içeriğin dil ve kültürel uygunluğunu analiz ederek sıralamasını belirler. Sitenizi birden fazla dil ve bölgesel formatı destekleyecek şekilde uyarlayarak, arama sonuçlarındaki görünürlüğünü önemli ölçüde iyileştirebilirsiniz. Bu sadece daha geniş bir kitleyi çekmekle kalmaz, aynı zamanda arama motorlarının çeşitli bir kullanıcı tabanına hitap etme çabalarını tanıması nedeniyle web sitenizin daha yüksek sıralanmasına yardımcı olur.
|
|
33
|
+
|
|
34
|
+
### Küresel Erişim
|
|
35
|
+
|
|
36
|
+
Uluslararasılaştırmanın sunduğu küresel erişim de eşit derecede önemlidir. Dil engellerini kaldırdığınızda ve uygulamanızı çeşitli kültürel normları destekleyecek şekilde tasarladığınızda, dünya çapındaki milyonlarca potansiyel kullanıcıya kapı açarsınız. Yerelleştirilmiş içerik ve kullanıcı arayüzleri sağlamak, ürününüzü sınırlı sayıda dil desteği sunan rakiplerinden ayırır. Bu kapsayıcı yaklaşım, kullanıcıların nereden olursa olsun kabul edildiğini ve değerli hissettiğini sağlar, sonuçta ürününüzün pazarını genişleterek küresel rekabet gücünü artırır.
|
|
37
|
+
|
|
38
|
+
### Kullanıcı Deneyimi
|
|
39
|
+
|
|
40
|
+
i18n'nin bir diğer önemli faydası, kullanıcı deneyimini geliştirmesidir. Kullanıcılar, tarih formatları, para birimleri ve ölçüm birimleri gibi yerel kurallara saygı duyan ve kendi dillerinde iletişim kuran yazılımlarla daha rahat ve bağlantılı hissederler. Bu kişiselleştirilmiş deneyim, güven ve memnuniyet oluşturmada anahtar olup, uzun vadeli kullanıcı tutma oranını teşvik eder. Kullanıcılar bir uygulamada sorunsuz bir şekilde gezinebildiğinde ve anlayabildiğinde, onunla daha derin bir şekilde etkileşim kurma olasılıkları daha yüksektir, bu da olumlu yorumlar, yönlendirmeler ve sürdürülebilir büyüme için zemin hazırlar.
|
|
41
|
+
|
|
42
|
+
## Uluslararasılaştırma (i18n) vs. Yerelleştirme (l10n)
|
|
43
|
+
|
|
44
|
+
**Uluslararasılaştırma (i18n)**, ürününüzün birden fazla dil ve bölgesel farkı kolayca destekleyebilecek şekilde tasarlanması sürecidir. Örneğin, uluslararasılaştırma göz önünde bulundurularak bir web sitesi oluşturursanız, metin alanlarının çeşitli karakter setlerini desteklediğinden, tarihlerin farklı yerel formatları takip ettiğinden ve diğer dillere çevrilirken metin genişlemesi için düzenlerin ayarlandığından emin olursunuz.
|
|
45
|
+
|
|
46
|
+
**Yerelleştirme (l10n)**, uluslararasılaştırmadan sonra yapılan çalışmadır. İçeriği çevirmeyi ve belirli bir kitleye uyacak şekilde kültürel detayları uyarlamayı içerir. Örneğin, bir web sitesi uluslararasılaştırıldıktan sonra, Fransız kullanıcılar için tüm metni çevirerek, tarih formatını gün/ay/yıl olarak değiştirerek ve hatta Fransız kültürel normlarına daha uygun şekilde resimleri veya simgeleri ayarlayarak yerelleştirebilirsiniz.
|
|
47
|
+
|
|
48
|
+
Özetle, uluslararasılaştırma ürününüzü küresel kullanım için hazırlar, yerelleştirme ise onu belirli bir pazar için uyarlar.
|
|
49
|
+
|
|
50
|
+
## Bir web sitesinde ne uluslararasılaştırılmalı?
|
|
51
|
+
|
|
52
|
+
1. **Metin İçeriği:** Başlıklar, gövde metni ve düğmeler gibi tüm yazılı unsurlar çeviriye ihtiyaç duyar. Örneğin, "Web sitemize hoş geldiniz" gibi bir başlık, İspanyol kitleler için "Bienvenido a nuestro sitio web" haline gelmelidir.
|
|
53
|
+
|
|
54
|
+
2. **Hata Mesajları:** Açık ve öz hata bildirimleri gereklidir. Bir form hatası "Geçersiz e-posta adresi" diyorsa, Fransızca'da "Adresse e-mail non valide" olarak oluşturulmalıdır ki kullanıcılar sorunu anlayabilsin.
|
|
55
|
+
|
|
56
|
+
3. **E-postalar ve Bildirimler:** Şifre sıfırlamaları veya sipariş onayları dahil olmak üzere otomatik iletişimler yerelleştirilmelidir. Bir sipariş onayı e-postası, İngilizce'de kullanıcıyı "Sevgili Müşteri" olarak selamlayabilirken, Fransızca'da uygun kitle için "Cher(e) client(e)" olarak selamlayabilir.
|
|
57
|
+
|
|
58
|
+
4. **Erişilebilirlik Etiketleri:** Yardımcı teknolojilerin doğru çalışması için resimlerin etiketleri ve alt metinleri çevrilmelidir. "Gülen çocuk oynuyor" alt metnine sahip bir resim, Fransızca'da "Enfant souriant qui joue" olarak uyarlanmalıdır.
|
|
59
|
+
|
|
60
|
+
5. **Numaralandırma:** Farklı bölgeler sayıları farklı şekilde formatlar. İngilizce konuşulan yerel'lerde **“1,000.50”** çalışırken, birçok Avrupa formatı **“1.000,50,”** gerektirir, bu da yerel uyarlamayı önemli kılar.
|
|
61
|
+
|
|
62
|
+
6. **Para Birimi:** Fiyatları yerel için doğru simgeler ve formatlar kullanarak görüntüleyin. Örneğin, Amerika Birleşik Devletleri'nde **“$99.99”** olarak fiyatlandırılan bir ürün, Avrupa müşterilerini hedeflerken **“€97.10”** olarak dönüştürülmelidir.
|
|
63
|
+
|
|
64
|
+
7. **Ölçüm Birimleri:** Sıcaklık, mesafe ve hacim gibi birimler yerel tercihlerine göre görüntülenmelidir. Örneğin, bir hava durumu uygulaması Amerikan kullanıcıları için **“68°F”** gösterebilirken, diğerleri için **“20°C”** gösterebilir.
|
|
65
|
+
|
|
66
|
+
8. **Metnin Yönü:** Farklı yönlere sahip diller için okuma sırası ve düzen ayarlanmalıdır. İngilizce'de (soldan sağa) bir web sitesi, Arapça için yerelleştirildiğinde hizalamasını değiştirmelidir (sağdan sola okunur).
|
|
67
|
+
|
|
68
|
+
9. **Tarih ve Saat:** Formatlar bölgeye göre değişir. ABD'de **“12/25/2025 saat 3:00 PM”** olarak görüntülenen bir olay, başka yerlerde karışıklığı önlemek için **“25/12/2025 saat 15:00”** olarak gösterilmelidir.
|
|
69
|
+
|
|
70
|
+
10. **Saat Dilimi**: Yerel saat dilimlerine göre ayarlamak, **etkinlik programları, teslimat süreleri veya müşteri destek saatleri** gibi zaman duyarlı içeriğin doğru şekilde sunulmasını sağlar. Örneğin, **"EST'de 3:00 PM"** olarak planlanan bir çevrimiçi webinar, Birleşik Krallık'taki kullanıcılar için karşılık gelen yerel saate **"GMT'de 8:00 PM"** olarak dönüştürülmelidir.
|
|
71
|
+
|
|
72
|
+
Bu kısa genel bakış, bir web sitesinde uluslararasılaştırılması gereken ana unsurları kapsar, içeriğin erişilebilir, kültürel olarak uygun ve küresel bir kitle tarafından kolayca anlaşılır olmasını sağlar.
|
|
73
|
+
|
|
74
|
+
## Yaygın i18n Zorlukları
|
|
75
|
+
|
|
76
|
+

|
|
77
|
+
|
|
78
|
+
- **bakım**
|
|
79
|
+
Her web sitesi güncellemesi her dilde yansıtılmalıdır, tüm sürümlerde tutarlılığı sağlamak için verimli iş akışları ve dikkatli koordinasyon gerektirir.
|
|
80
|
+
|
|
81
|
+
- **Dize Birleştirme**
|
|
82
|
+
Kelime sırası dile göre değişebileceğinden, `"Merhaba, " + kullanıcı adı + "!"` gibi mesajlar oluşturmaktan kaçının; bunun yerine dil varyasyonlarına uyum sağlamak için `Merhaba, {kullanıcı adı}!` gibi yer tutucular kullanın.
|
|
83
|
+
|
|
84
|
+
- **Çoğullaştırma**
|
|
85
|
+
Farklı dillerde değişen çoğul kuralları vardır, bazen birden fazla form. ICU MessageFormat gibi kütüphaneler kullanarak bu çoğullaştırma karmaşıklıklarını basitleştirebilirsiniz.
|
|
86
|
+
|
|
87
|
+
- **UI ve metin uzunluğu**
|
|
88
|
+
Almanca gibi bazı diller İngilizce'den daha uzun metin eğilimindedir. Tasarım esnek değilse düzenleri bozabilir, bu yüzden duyarlı tasarım anahtardır.
|
|
89
|
+
|
|
90
|
+
- **Karakter kodlaması**
|
|
91
|
+
UTF-8 gibi uygun karakter kodlaması kullanmak, çeşitli alfabelerin ve simgelerin doğru görüntülenmesi için çok önemlidir, yanlış yorumlanan veya bozuk metni önler.
|
|
92
|
+
|
|
93
|
+
- **Sabit Düzenler**
|
|
94
|
+
Sabit boyutlu UI bileşenleri daha uzun çevirilere iyi uyum sağlayamayabilir, metin taşmasına yol açabilir. Esnek, duyarlı bir düzen bu sorunu hafifletebilir.
|
|
95
|
+
|
|
96
|
+
- **Dinamik Dil Değiştirme**
|
|
97
|
+
Kullanıcılar uygulamayı yeniden başlatmadan veya yeniden kimlik doğrulamadan dil değiştirmeyi bekler. Bu özellik, mimaride sorunsuz, iyi planlanmış bir uygulama gerektirir.
|
|
98
|
+
|
|
99
|
+
- **Dil yönü desteği**
|
|
100
|
+
Sağdan sola (RTL) dil desteğini göz ardı etmek, daha sonra önemli yeniden tasarım zorluklarına yol açabilir. En iyisi, başlangıçtan RTL uyumluluğunu planlamaktır.
|
|
101
|
+
|
|
102
|
+
- **Kültürel Hassasiyetler**
|
|
103
|
+
Simgeler, renkler ve simgeler kültürler arasında farklı anlamlar taşıyabilir. Yerel kültürel nüanslara saygı göstermek için görsel ve metinsel içeriği uyarlamak önemlidir.
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
## i18n Uygulaması İçin En İyi Uygulamalar
|
|
108
|
+
|
|
109
|
+
- **Erken Planla**
|
|
110
|
+
Uluslararasılaştırmayı projenizin en başında entegre edin. i18n'yi erken ele almak daha az maliyetli ve daha kolaydır, daha sonra geriye uyumlu hale getirmekten, başlangıçtan itibaren daha sorunsuz bir geliştirme süreci sağlar.
|
|
111
|
+
|
|
112
|
+
- **Çeviri Yönetimini Otomatikleştir**
|
|
113
|
+
Çevirilerinizi verimli bir şekilde yönetmek için Intlayer tarafından sağlananlar gibi AI destekli çeviri hizmetlerini kullanın. Otomasyonla, yeni bir makale yayınladığınızda, tüm çeviriler otomatik olarak oluşturulur, zaman kazandırır ve manuel hataları azaltır.
|
|
114
|
+
|
|
115
|
+
- **Görsel Düzenleyici Kullan**
|
|
116
|
+
Çevirmenlerin içeriği gerçek UI bağlamında görmesine yardımcı olmak için bir görsel düzenleyici uygulayın. Intlayer'ın görsel düzenleyicisi gibi araçlar, hataları ve karışıklığı en aza indirir, çevirilerin doğru olmasını ve son tasarımı yansıtmasını sağlar.
|
|
117
|
+
|
|
118
|
+
- **Çevirilerin Yeniden Kullanılabilirliği**
|
|
119
|
+
Çeviri dosyalarınızı birden fazla web sitesi veya uygulama arasında yeniden kullanılabilir olacak şekilde organize edin. Örneğin, çok dilli bir altbilgi veya başlık varsa, ortak unsurların tüm projelere kolayca uygulanabilmesi için özel çeviri dosyaları ayarlayın.
|
|
120
|
+
|
|
121
|
+
---
|
|
122
|
+
|
|
123
|
+
## Yerel Sözlük vs. CMS İçerik Dışa Aktarma
|
|
124
|
+
|
|
125
|
+
Bir web sitesi oluştururken, **WordPress, Wix veya Drupal gibi bir İçerik Yönetim Sistemi (CMS) genellikle iyileştirilmiş bakım sunar**. Özellikle bloglar veya açılış sayfaları için, entegre i18n özellikleri nedeniyle.
|
|
126
|
+
|
|
127
|
+
Ancak, karmaşık özelliklere veya iş mantığına sahip uygulamalar için, **bir CMS çok esnek olmayabilir ve bir i18n kütüphanesi düşünmeniz gerekebilir**.
|
|
128
|
+
|
|
129
|
+
**Birçok i18n kütüphanesinin zorluğu, çevirilerin kod tabanına sabit kodlanmış olmasını gerektirmesidir**. Bu, bir içerik yöneticisinin bir çeviriyi güncellemek istediğinde, kodu değiştirmeye ve uygulamayı yeniden oluşturmaya zorlandığı anlamına gelir. Bu sorunu hafifletmek için, içerik yöneticilerine yardımcı olmak için bazı araçlar "Git tabanlı CMS" veya "i18n CMS" olarak ortaya çıktı. Yine de, **bu çözümler bile içerik değişikliklerinde genellikle bir kod tabanı güncellemesi ve yeniden oluşturma gerektirir**.
|
|
130
|
+
|
|
131
|
+
Bu zorluklar göz önüne alındığında, içeriği dışa aktarmak ve çeviri yönetimini kolaylaştırmak için başsız bir CMS'ye yönelmek yaygındır. Ancak, uluslararasılaştırma için bir CMS kullanmanın dikkate değer dezavantajları vardır:
|
|
132
|
+
|
|
133
|
+
- **Tüm CMS'ler i18n özellikleri sunmaz:** Bazı popüler CMS platformları sağlam uluslararasılaştırma yeteneklerinden yoksundur, ek eklentiler veya geçici çözümler aramanızı zorlar.
|
|
134
|
+
- **Çift yapılandırma:** Çevirileri yönetmek genellikle hem CMS'yi hem de uygulama kodunu yapılandırmayı içerir, çabada çoğaltmaya ve potansiyel tutarsızlıklara yol açar.
|
|
135
|
+
- **Bakımı zor:** Çeviriler CMS ve kod arasında dağılmışken, zaman içinde tutarlı ve hatasız bir sistem sürdürmek zor olabilir.
|
|
136
|
+
- **Lisans maliyetleri:** Premium CMS platformları veya ek i18n araçları, her proje için uygun olmayabilecek ekstra lisans maliyetleri getirebilir.
|
|
137
|
+
|
|
138
|
+
İhtiyaçlarınıza uygun doğru aracı seçmek ve uluslararasılaştırma stratejinizi baştan planlamak önemlidir. **Intlayer, yerel içerik beyanını sıkı bir şekilde entegre edilmiş bir başsız CMS ile birleştirerek her iki dünyanın en iyisini sunan cazip bir çözüm sunar.**
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
### Teknoloji başına i18n Kütüphaneleri ve araç listesine bakın
|
|
143
|
+
|
|
144
|
+
Teknoloji başına i18n kütüphaneleri ve araçlarının bir listesini arıyorsanız, aşağıdaki kaynaklara göz atın:
|
|
145
|
+
|
|
146
|
+
### İçerik Yönetim Sistemleri (CMS) İçin
|
|
147
|
+
|
|
148
|
+
- WordPress: [i18n Kütüphaneleri ve araç listesine bakın](https://github.com/aymericzip/intlayer/blob/main/docs/blog/en/list_i18n_technologies/CMS/wordpress.md)
|
|
149
|
+
- Wix: [i18n Kütüphaneleri ve araç listesine bakın](https://github.com/aymericzip/intlayer/blob/main/docs/blog/en/list_i18n_technologies/CMS/wix.md)
|
|
150
|
+
- Drupal: [i18n Kütüphaneleri ve araç listesine bakın](https://github.com/aymericzip/intlayer/blob/main/docs/blog/en/list_i18n_technologies/CMS/drupal.md)
|
|
151
|
+
|
|
152
|
+
### JavaScript Uygulamaları İçin (Ön Uç)
|
|
153
|
+
|
|
154
|
+
- React: [i18n Kütüphaneleri ve araç listesine bakın](https://github.com/aymericzip/intlayer/blob/main/docs/blog/en/list_i18n_technologies/frameworks/react.md)
|
|
155
|
+
- Angular: [i18n Kütüphaneleri ve araç listesine bakın](https://github.com/aymericzip/intlayer/blob/main/docs/blog/en/list_i18n_technologies/frameworks/angular.md)
|
|
156
|
+
- Vue: [i18n Kütüphaneleri ve araç listesine bakın](https://github.com/aymericzip/intlayer/blob/main/docs/blog/en/list_i18n_technologies/frameworks/vue.md)
|
|
157
|
+
- Svelte: [i18n Kütüphaneleri ve araç listesine bakın](https://github.com/aymericzip/intlayer/blob/main/docs/blog/en/list_i18n_technologies/frameworks/svelte.md)
|
|
158
|
+
- React Native : [i18n Kütüphaneleri ve araç listesine bakın](https://github.com/aymericzip/intlayer/blob/main/docs/blog/en/list_i18n_technologies/frameworks/react-native.md)
|
|
159
|
+
|
|
160
|
+
---
|
|
161
|
+
|
|
162
|
+
## Sonuç
|
|
163
|
+
|
|
164
|
+
Uluslararasılaştırma (i18n), sadece teknik bir görevden daha fazlasıdır; kullanıcılarınızın dilini kelimenin tam anlamıyla konuşmasını sağlayan **stratejik bir yatırımdır**. Yerel spesifik unsurları soyutlayarak, dilsel ve kültürel varyasyonlara uyum sağlayarak ve gelecekteki genişleme için planlayarak, ürününüzün küresel bir pazarda gelişmesini sağlarsınız.
|
|
165
|
+
|
|
166
|
+
Mobil bir uygulama, SaaS platformu veya kurumsal araç oluşturuyor olun, **i18n ürününüzün dünya çapındaki tüm kullanıcılara uyum sağlamasını ve çekici olmasını sağlar**, sürekli kod yeniden yazımları olmadan. En iyi uygulamaları, sağlam çerçeveleri ve sürekli yerelleştirme stratejilerini kullanarak, geliştiriciler ve ürün ekipleri **gerçekten küresel** yazılım deneyimleri sunabilir.
|