@intlayer/docs 9.5.1 → 9.5.3
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/README.md +1 -1
- package/blog/ar/history_of_i18n.md +304 -0
- package/blog/ar/i18next_vs_intlayer-i18next.md +327 -0
- package/blog/ar/i18next_vs_intlayer.md +445 -0
- package/blog/ar/is_i18next_outdated.md +1 -1
- package/blog/ar/is_next-intl_outdated.md +1 -1
- package/blog/ar/is_vue-i18n_outdated.md +1 -1
- package/blog/ar/lingui_vs_intlayer-lingui.md +304 -0
- package/blog/ar/lingui_vs_intlayer.md +381 -0
- package/blog/ar/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
- package/blog/ar/next-intl_vs_intlayer-next-intl.md +309 -0
- package/blog/ar/next-intl_vs_intlayer.md +397 -0
- package/blog/ar/react-i18next_vs_react-intl_vs_intlayer.md +1 -1
- package/blog/ar/vue-i18n_vs_intlayer-vue-i18n.md +286 -0
- package/blog/ar/vue-i18n_vs_intlayer_benchmark.md +0 -0
- package/blog/de/history_of_i18n.md +304 -0
- package/blog/de/i18next_vs_intlayer-i18next.md +327 -0
- package/blog/de/i18next_vs_intlayer.md +445 -0
- package/blog/de/is_i18next_outdated.md +1 -1
- package/blog/de/is_next-intl_outdated.md +1 -1
- package/blog/de/is_vue-i18n_outdated.md +1 -1
- package/blog/de/lingui_vs_intlayer-lingui.md +304 -0
- package/blog/de/lingui_vs_intlayer.md +381 -0
- package/blog/de/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
- package/blog/de/next-intl_vs_intlayer-next-intl.md +309 -0
- package/blog/de/next-intl_vs_intlayer.md +415 -0
- package/blog/de/vue-i18n_vs_intlayer-vue-i18n.md +288 -0
- package/blog/de/vue-i18n_vs_intlayer_benchmark.md +355 -0
- package/blog/en/history_of_i18n.md +304 -0
- package/blog/en/i18next_vs_intlayer-i18next.md +327 -0
- package/blog/en/i18next_vs_intlayer.md +445 -0
- package/blog/en/is_i18next_outdated.md +1 -1
- package/blog/en/is_next-intl_outdated.md +1 -1
- package/blog/en/is_vue-i18n_outdated.md +1 -1
- package/blog/en/lingui_vs_intlayer-lingui.md +304 -0
- package/blog/en/lingui_vs_intlayer.md +381 -0
- package/blog/en/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
- package/blog/en/next-intl_vs_intlayer-next-intl.md +309 -0
- package/blog/en/next-intl_vs_intlayer.md +415 -0
- package/blog/en/react-i18next_vs_react-intl_vs_intlayer.md +1 -1
- package/blog/en/vue-i18n_vs_intlayer-vue-i18n.md +288 -0
- package/blog/en/vue-i18n_vs_intlayer.md +1 -1
- package/blog/en/vue-i18n_vs_intlayer_benchmark.md +361 -0
- package/blog/en-GB/history_of_i18n.md +304 -0
- package/blog/en-GB/i18next_vs_intlayer-i18next.md +327 -0
- package/blog/en-GB/i18next_vs_intlayer.md +445 -0
- package/blog/en-GB/is_i18next_outdated.md +1 -1
- package/blog/en-GB/is_next-intl_outdated.md +1 -1
- package/blog/en-GB/is_vue-i18n_outdated.md +1 -1
- package/blog/en-GB/lingui_vs_intlayer-lingui.md +304 -0
- package/blog/en-GB/lingui_vs_intlayer.md +381 -0
- package/blog/en-GB/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
- package/blog/en-GB/next-intl_vs_intlayer-next-intl.md +309 -0
- package/blog/en-GB/next-intl_vs_intlayer.md +415 -0
- package/blog/en-GB/react-i18next_vs_react-intl_vs_intlayer.md +1 -1
- package/blog/en-GB/vue-i18n_vs_intlayer-vue-i18n.md +288 -0
- package/blog/en-GB/vue-i18n_vs_intlayer.md +1 -1
- package/blog/en-GB/vue-i18n_vs_intlayer_benchmark.md +245 -0
- package/blog/es/history_of_i18n.md +304 -0
- package/blog/es/i18next_vs_intlayer-i18next.md +327 -0
- package/blog/es/i18next_vs_intlayer.md +445 -0
- package/blog/es/is_i18next_outdated.md +1 -1
- package/blog/es/is_next-intl_outdated.md +1 -1
- package/blog/es/is_vue-i18n_outdated.md +1 -1
- package/blog/es/lingui_vs_intlayer-lingui.md +304 -0
- package/blog/es/lingui_vs_intlayer.md +381 -0
- package/blog/es/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
- package/blog/es/next-intl_vs_intlayer-next-intl.md +309 -0
- package/blog/es/next-intl_vs_intlayer.md +417 -0
- package/blog/es/vue-i18n_vs_intlayer-vue-i18n.md +288 -0
- package/blog/es/vue-i18n_vs_intlayer_benchmark.md +363 -0
- package/blog/fr/history_of_i18n.md +304 -0
- package/blog/fr/i18next_vs_intlayer-i18next.md +327 -0
- package/blog/fr/i18next_vs_intlayer.md +445 -0
- package/blog/fr/is_i18next_outdated.md +1 -1
- package/blog/fr/is_next-intl_outdated.md +1 -1
- package/blog/fr/is_vue-i18n_outdated.md +1 -1
- package/blog/fr/lingui_vs_intlayer-lingui.md +304 -0
- package/blog/fr/lingui_vs_intlayer.md +381 -0
- package/blog/fr/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
- package/blog/fr/next-intl_vs_intlayer-next-intl.md +309 -0
- package/blog/fr/next-intl_vs_intlayer.md +417 -0
- package/blog/fr/vue-i18n_vs_intlayer-vue-i18n.md +287 -0
- package/blog/fr/vue-i18n_vs_intlayer_benchmark.md +39 -0
- package/blog/hi/history_of_i18n.md +304 -0
- package/blog/hi/i18next_vs_intlayer-i18next.md +327 -0
- package/blog/hi/i18next_vs_intlayer.md +445 -0
- package/blog/hi/is_i18next_outdated.md +1 -1
- package/blog/hi/is_next-intl_outdated.md +1 -1
- package/blog/hi/is_vue-i18n_outdated.md +1 -1
- package/blog/hi/lingui_vs_intlayer-lingui.md +304 -0
- package/blog/hi/lingui_vs_intlayer.md +381 -0
- package/blog/hi/next-intl_vs_intlayer-next-intl.md +309 -0
- package/blog/hi/next-intl_vs_intlayer.md +397 -0
- package/blog/hi/react-i18next_vs_react-intl_vs_intlayer.md +1 -1
- package/blog/hi/vue-i18n_vs_intlayer-vue-i18n.md +288 -0
- package/blog/hi/vue-i18n_vs_intlayer_benchmark.md +0 -0
- package/blog/id/history_of_i18n.md +304 -0
- package/blog/id/i18next_vs_intlayer-i18next.md +327 -0
- package/blog/id/i18next_vs_intlayer.md +445 -0
- package/blog/id/is_i18next_outdated.md +1 -1
- package/blog/id/is_next-intl_outdated.md +1 -1
- package/blog/id/is_vue-i18n_outdated.md +1 -1
- package/blog/id/lingui_vs_intlayer-lingui.md +304 -0
- package/blog/id/lingui_vs_intlayer.md +381 -0
- package/blog/id/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
- package/blog/id/next-intl_vs_intlayer-next-intl.md +310 -0
- package/blog/id/next-intl_vs_intlayer.md +397 -0
- package/blog/id/react-i18next_vs_react-intl_vs_intlayer.md +1 -1
- package/blog/id/vue-i18n_vs_intlayer-vue-i18n.md +36 -0
- package/blog/id/vue-i18n_vs_intlayer.md +1 -1
- package/blog/id/vue-i18n_vs_intlayer_benchmark.md +41 -0
- package/blog/it/history_of_i18n.md +304 -0
- package/blog/it/i18next_vs_intlayer-i18next.md +327 -0
- package/blog/it/i18next_vs_intlayer.md +445 -0
- package/blog/it/is_i18next_outdated.md +1 -1
- package/blog/it/is_next-intl_outdated.md +1 -1
- package/blog/it/is_vue-i18n_outdated.md +1 -1
- package/blog/it/lingui_vs_intlayer-lingui.md +304 -0
- package/blog/it/lingui_vs_intlayer.md +381 -0
- package/blog/it/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
- package/blog/it/next-intl_vs_intlayer-next-intl.md +309 -0
- package/blog/it/next-intl_vs_intlayer.md +418 -0
- package/blog/it/vue-i18n_vs_intlayer-vue-i18n.md +288 -0
- package/blog/it/vue-i18n_vs_intlayer_benchmark.md +34 -0
- package/blog/ja/history_of_i18n.md +304 -0
- package/blog/ja/i18next_vs_intlayer-i18next.md +327 -0
- package/blog/ja/i18next_vs_intlayer.md +447 -0
- package/blog/ja/is_i18next_outdated.md +1 -1
- package/blog/ja/is_next-intl_outdated.md +1 -1
- package/blog/ja/is_vue-i18n_outdated.md +1 -1
- package/blog/ja/lingui_vs_intlayer-lingui.md +304 -0
- package/blog/ja/lingui_vs_intlayer.md +381 -0
- package/blog/ja/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
- package/blog/ja/next-intl_vs_intlayer-next-intl.md +310 -0
- package/blog/ja/next-intl_vs_intlayer.md +422 -0
- package/blog/ja/react-i18next_vs_react-intl_vs_intlayer.md +1 -1
- package/blog/ja/vue-i18n_vs_intlayer-vue-i18n.md +288 -0
- package/blog/ja/vue-i18n_vs_intlayer.md +1 -1
- package/blog/ja/vue-i18n_vs_intlayer_benchmark.md +0 -0
- package/blog/ko/history_of_i18n.md +304 -0
- package/blog/ko/i18next_vs_intlayer-i18next.md +327 -0
- package/blog/ko/i18next_vs_intlayer.md +447 -0
- package/blog/ko/is_i18next_outdated.md +1 -1
- package/blog/ko/is_next-intl_outdated.md +1 -1
- package/blog/ko/is_vue-i18n_outdated.md +1 -1
- package/blog/ko/lingui_vs_intlayer-lingui.md +304 -0
- package/blog/ko/lingui_vs_intlayer.md +381 -0
- package/blog/ko/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
- package/blog/ko/next-intl_vs_intlayer-next-intl.md +309 -0
- package/blog/ko/next-intl_vs_intlayer.md +397 -0
- package/blog/ko/react-i18next_vs_react-intl_vs_intlayer.md +1 -1
- package/blog/ko/vue-i18n_vs_intlayer-vue-i18n.md +288 -0
- package/blog/ko/vue-i18n_vs_intlayer.md +1 -1
- package/blog/ko/vue-i18n_vs_intlayer_benchmark.md +366 -0
- package/blog/pl/history_of_i18n.md +304 -0
- package/blog/pl/i18next_vs_intlayer-i18next.md +327 -0
- package/blog/pl/i18next_vs_intlayer.md +445 -0
- package/blog/pl/is_i18next_outdated.md +1 -1
- package/blog/pl/is_next-intl_outdated.md +1 -1
- package/blog/pl/is_vue-i18n_outdated.md +1 -1
- package/blog/pl/lingui_vs_intlayer-lingui.md +304 -0
- package/blog/pl/lingui_vs_intlayer.md +381 -0
- package/blog/pl/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
- package/blog/pl/next-intl_vs_intlayer-next-intl.md +309 -0
- package/blog/pl/next-intl_vs_intlayer.md +397 -0
- package/blog/pl/react-i18next_vs_react-intl_vs_intlayer.md +1 -1
- package/blog/pl/vue-i18n_vs_intlayer-vue-i18n.md +289 -0
- package/blog/pl/vue-i18n_vs_intlayer.md +1 -1
- package/blog/pl/vue-i18n_vs_intlayer_benchmark.md +0 -0
- package/blog/pt/history_of_i18n.md +304 -0
- package/blog/pt/i18next_vs_intlayer-i18next.md +327 -0
- package/blog/pt/i18next_vs_intlayer.md +445 -0
- package/blog/pt/is_i18next_outdated.md +1 -1
- package/blog/pt/is_next-intl_outdated.md +1 -1
- package/blog/pt/is_vue-i18n_outdated.md +1 -1
- package/blog/pt/lingui_vs_intlayer-lingui.md +304 -0
- package/blog/pt/lingui_vs_intlayer.md +381 -0
- package/blog/pt/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
- package/blog/pt/next-intl_vs_intlayer-next-intl.md +309 -0
- package/blog/pt/next-intl_vs_intlayer.md +411 -0
- package/blog/pt/vue-i18n_vs_intlayer-vue-i18n.md +288 -0
- package/blog/pt/vue-i18n_vs_intlayer_benchmark.md +0 -0
- package/blog/ru/history_of_i18n.md +304 -0
- package/blog/ru/i18next_vs_intlayer-i18next.md +327 -0
- package/blog/ru/i18next_vs_intlayer.md +445 -0
- package/blog/ru/is_i18next_outdated.md +1 -1
- package/blog/ru/is_next-intl_outdated.md +1 -1
- package/blog/ru/is_vue-i18n_outdated.md +1 -1
- package/blog/ru/lingui_vs_intlayer-lingui.md +304 -0
- package/blog/ru/lingui_vs_intlayer.md +381 -0
- package/blog/ru/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
- package/blog/ru/next-intl_vs_intlayer-next-intl.md +309 -0
- package/blog/ru/next-intl_vs_intlayer.md +417 -0
- package/blog/ru/vue-i18n_vs_intlayer-vue-i18n.md +288 -0
- package/blog/ru/vue-i18n_vs_intlayer_benchmark.md +54 -0
- package/blog/tr/history_of_i18n.md +304 -0
- package/blog/tr/i18next_vs_intlayer-i18next.md +327 -0
- package/blog/tr/i18next_vs_intlayer.md +445 -0
- package/blog/tr/is_i18next_outdated.md +1 -1
- package/blog/tr/is_next-intl_outdated.md +1 -1
- package/blog/tr/is_vue-i18n_outdated.md +1 -1
- package/blog/tr/lingui_vs_intlayer-lingui.md +304 -0
- package/blog/tr/lingui_vs_intlayer.md +381 -0
- package/blog/tr/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
- package/blog/tr/next-intl_vs_intlayer-next-intl.md +309 -0
- package/blog/tr/next-intl_vs_intlayer.md +397 -0
- package/blog/tr/react-i18next_vs_react-intl_vs_intlayer.md +1 -1
- package/blog/tr/vue-i18n_vs_intlayer-vue-i18n.md +288 -0
- package/blog/tr/vue-i18n_vs_intlayer.md +1 -1
- package/blog/tr/vue-i18n_vs_intlayer_benchmark.md +0 -0
- package/blog/uk/history_of_i18n.md +304 -0
- package/blog/uk/i18next_vs_intlayer-i18next.md +327 -0
- package/blog/uk/i18next_vs_intlayer.md +445 -0
- package/blog/uk/is_i18next_outdated.md +1 -1
- package/blog/uk/is_next-intl_outdated.md +1 -1
- package/blog/uk/is_vue-i18n_outdated.md +1 -1
- package/blog/uk/lingui_vs_intlayer-lingui.md +304 -0
- package/blog/uk/lingui_vs_intlayer.md +381 -0
- package/blog/uk/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
- package/blog/uk/next-intl_vs_intlayer-next-intl.md +309 -0
- package/blog/uk/next-intl_vs_intlayer.md +397 -0
- package/blog/uk/react-i18next_vs_react-intl_vs_intlayer.md +1 -1
- package/blog/uk/vue-i18n_vs_intlayer-vue-i18n.md +270 -0
- package/blog/uk/vue-i18n_vs_intlayer.md +1 -1
- package/blog/uk/vue-i18n_vs_intlayer_benchmark.md +0 -0
- package/blog/vi/history_of_i18n.md +304 -0
- package/blog/vi/i18next_vs_intlayer-i18next.md +327 -0
- package/blog/vi/i18next_vs_intlayer.md +445 -0
- package/blog/vi/is_i18next_outdated.md +1 -1
- package/blog/vi/is_next-intl_outdated.md +1 -1
- package/blog/vi/is_vue-i18n_outdated.md +1 -1
- package/blog/vi/lingui_vs_intlayer-lingui.md +304 -0
- package/blog/vi/lingui_vs_intlayer.md +381 -0
- package/blog/vi/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
- package/blog/vi/next-intl_vs_intlayer-next-intl.md +309 -0
- package/blog/vi/next-intl_vs_intlayer.md +397 -0
- package/blog/vi/react-i18next_vs_react-intl_vs_intlayer.md +1 -1
- package/blog/vi/vue-i18n_vs_intlayer-vue-i18n.md +288 -0
- package/blog/vi/vue-i18n_vs_intlayer.md +1 -1
- package/blog/vi/vue-i18n_vs_intlayer_benchmark.md +0 -0
- package/blog/zh/history_of_i18n.md +304 -0
- package/blog/zh/i18next_vs_intlayer-i18next.md +327 -0
- package/blog/zh/i18next_vs_intlayer.md +445 -0
- package/blog/zh/is_i18next_outdated.md +1 -1
- package/blog/zh/is_next-intl_outdated.md +1 -1
- package/blog/zh/is_vue-i18n_outdated.md +1 -1
- package/blog/zh/lingui_vs_intlayer-lingui.md +304 -0
- package/blog/zh/lingui_vs_intlayer.md +381 -0
- package/blog/zh/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
- package/blog/zh/next-intl_vs_intlayer-next-intl.md +309 -0
- package/blog/zh/next-intl_vs_intlayer.md +422 -0
- package/blog/zh/react-i18next_vs_react-intl_vs_intlayer.md +1 -1
- package/blog/zh/vue-i18n_vs_intlayer-vue-i18n.md +288 -0
- package/blog/zh/vue-i18n_vs_intlayer.md +1 -1
- package/blog/zh/vue-i18n_vs_intlayer_benchmark.md +30 -0
- package/dist/cjs/generated/blog.entry.cjs +180 -0
- package/dist/cjs/generated/blog.entry.cjs.map +1 -1
- package/dist/cjs/generated/docs.entry.cjs +0 -20
- package/dist/cjs/generated/docs.entry.cjs.map +1 -1
- package/dist/cjs/generated/frequentQuestions.entry.cjs +20 -0
- package/dist/cjs/generated/frequentQuestions.entry.cjs.map +1 -1
- package/dist/esm/generated/blog.entry.mjs +180 -0
- package/dist/esm/generated/blog.entry.mjs.map +1 -1
- package/dist/esm/generated/docs.entry.mjs +0 -20
- package/dist/esm/generated/docs.entry.mjs.map +1 -1
- package/dist/esm/generated/frequentQuestions.entry.mjs +20 -0
- package/dist/esm/generated/frequentQuestions.entry.mjs.map +1 -1
- package/dist/types/generated/blog.entry.d.ts +9 -0
- package/dist/types/generated/blog.entry.d.ts.map +1 -1
- package/dist/types/generated/docs.entry.d.ts +0 -1
- package/dist/types/generated/docs.entry.d.ts.map +1 -1
- package/dist/types/generated/frequentQuestions.entry.d.ts +1 -0
- package/dist/types/generated/frequentQuestions.entry.d.ts.map +1 -1
- package/docs/ar/benchmark/index.md +4 -1
- package/docs/ar/benchmark/nextjs.md +33 -28
- package/docs/ar/benchmark/solid.md +14 -11
- package/docs/ar/benchmark/svelte.md +13 -10
- package/docs/ar/benchmark/tanstack.md +30 -25
- package/docs/ar/benchmark/vue.md +12 -8
- package/docs/ar/cli/build.md +8 -1
- package/docs/ar/cli/configuration.md +3 -1
- package/docs/ar/cli/doc-review.md +8 -1
- package/docs/ar/cli/doc-translate.md +5 -1
- package/docs/ar/cli/extract.md +2 -1
- package/docs/ar/cli/fill.md +5 -1
- package/docs/ar/cli/index.md +4 -5
- package/docs/ar/cli/live.md +5 -1
- package/docs/ar/cli/login.md +2 -2
- package/docs/ar/cli/pull.md +5 -1
- package/docs/ar/cli/push.md +5 -1
- package/docs/ar/cli/scan.md +5 -1
- package/docs/ar/cli/standalone.md +5 -1
- package/docs/ar/cli/test.md +5 -1
- package/docs/ar/cli/watch.md +5 -1
- package/docs/ar/compat/i18n-js.md +1 -1
- package/docs/ar/compat/i18next.md +1 -1
- package/docs/ar/compat/lingui.md +1 -1
- package/docs/ar/compat/next-i18next.md +1 -1
- package/docs/ar/compat/next-intl.md +1 -1
- package/docs/ar/compat/next-translate.md +1 -1
- package/docs/ar/compat/ngx-translate.md +1 -1
- package/docs/ar/compat/nuxtjs-i18n.md +1 -1
- package/docs/ar/compat/polyglot.md +1 -1
- package/docs/ar/compat/react-i18next.md +1 -1
- package/docs/ar/compat/react-intl.md +1 -1
- package/docs/ar/compat/svelte-i18n.md +1 -1
- package/docs/ar/compat/transloco.md +1 -1
- package/docs/ar/compat/vue-i18n.md +1 -1
- package/docs/ar/interest_of_intlayer.md +1 -1
- package/docs/ar/intlayer_with_remix_3.md +543 -0
- package/docs/bn/cli/index.md +4 -5
- package/docs/bn/cli/scan.md +5 -1
- package/docs/bn/cli/standalone.md +5 -1
- package/docs/bn/interest_of_intlayer.md +1 -1
- package/docs/cs/cli/index.md +4 -5
- package/docs/cs/cli/scan.md +5 -1
- package/docs/cs/cli/standalone.md +5 -1
- package/docs/cs/interest_of_intlayer.md +1 -1
- package/docs/de/benchmark/index.md +4 -1
- package/docs/de/benchmark/nextjs.md +33 -28
- package/docs/de/benchmark/solid.md +14 -11
- package/docs/de/benchmark/svelte.md +13 -10
- package/docs/de/benchmark/tanstack.md +30 -25
- package/docs/de/benchmark/vue.md +12 -8
- package/docs/de/cli/build.md +8 -1
- package/docs/de/cli/configuration.md +3 -1
- package/docs/de/cli/doc-review.md +8 -1
- package/docs/de/cli/doc-translate.md +5 -1
- package/docs/de/cli/extract.md +2 -1
- package/docs/de/cli/fill.md +5 -1
- package/docs/de/cli/index.md +4 -5
- package/docs/de/cli/live.md +5 -1
- package/docs/de/cli/login.md +2 -2
- package/docs/de/cli/pull.md +5 -1
- package/docs/de/cli/push.md +5 -1
- package/docs/de/cli/scan.md +5 -1
- package/docs/de/cli/standalone.md +5 -1
- package/docs/de/cli/test.md +5 -1
- package/docs/de/cli/watch.md +5 -1
- package/docs/de/compat/i18n-js.md +1 -1
- package/docs/de/compat/i18next.md +1 -1
- package/docs/de/compat/lingui.md +1 -1
- package/docs/de/compat/next-i18next.md +1 -1
- package/docs/de/compat/next-intl.md +1 -1
- package/docs/de/compat/next-translate.md +1 -1
- package/docs/de/compat/ngx-translate.md +1 -1
- package/docs/de/compat/nuxtjs-i18n.md +1 -1
- package/docs/de/compat/polyglot.md +1 -1
- package/docs/de/compat/react-i18next.md +1 -1
- package/docs/de/compat/react-intl.md +1 -1
- package/docs/de/compat/svelte-i18n.md +1 -1
- package/docs/de/compat/transloco.md +1 -1
- package/docs/de/compat/vue-i18n.md +1 -1
- package/docs/de/interest_of_intlayer.md +1 -1
- package/docs/de/intlayer_with_remix_3.md +543 -0
- package/docs/en/benchmark/index.md +4 -1
- package/docs/en/benchmark/nextjs.md +33 -28
- package/docs/en/benchmark/solid.md +14 -11
- package/docs/en/benchmark/svelte.md +13 -10
- package/docs/en/benchmark/tanstack.md +31 -26
- package/docs/en/benchmark/vue.md +12 -8
- package/docs/en/cli/build.md +8 -1
- package/docs/en/cli/configuration.md +3 -1
- package/docs/en/cli/doc-review.md +8 -1
- package/docs/en/cli/doc-translate.md +5 -1
- package/docs/en/cli/extract.md +2 -1
- package/docs/en/cli/fill.md +5 -1
- package/docs/en/cli/index.md +4 -5
- package/docs/en/cli/live.md +5 -1
- package/docs/en/cli/login.md +2 -2
- package/docs/en/cli/pull.md +5 -1
- package/docs/en/cli/push.md +5 -1
- package/docs/en/cli/scan.md +5 -1
- package/docs/en/cli/standalone.md +5 -1
- package/docs/en/cli/test.md +5 -1
- package/docs/en/cli/watch.md +5 -1
- package/docs/en/compat/i18n-js.md +1 -1
- package/docs/en/compat/i18next.md +1 -1
- package/docs/en/compat/lingui.md +1 -1
- package/docs/en/compat/next-i18next.md +1 -1
- package/docs/en/compat/next-intl.md +1 -1
- package/docs/en/compat/next-translate.md +1 -1
- package/docs/en/compat/ngx-translate.md +1 -1
- package/docs/en/compat/nuxtjs-i18n.md +1 -1
- package/docs/en/compat/polyglot.md +1 -1
- package/docs/en/compat/react-i18next.md +1 -1
- package/docs/en/compat/react-intl.md +1 -1
- package/docs/en/compat/svelte-i18n.md +1 -1
- package/docs/en/compat/transloco.md +1 -1
- package/docs/en/compat/vue-i18n.md +1 -1
- package/docs/en/interest_of_intlayer.md +1 -1
- package/docs/en/intlayer_with_remix_3.md +103 -71
- package/docs/en-GB/benchmark/index.md +4 -1
- package/docs/en-GB/benchmark/nextjs.md +33 -28
- package/docs/en-GB/benchmark/solid.md +14 -11
- package/docs/en-GB/benchmark/svelte.md +13 -10
- package/docs/en-GB/benchmark/tanstack.md +30 -25
- package/docs/en-GB/benchmark/vue.md +12 -8
- package/docs/en-GB/cli/build.md +8 -1
- package/docs/en-GB/cli/configuration.md +3 -1
- package/docs/en-GB/cli/doc-review.md +8 -1
- package/docs/en-GB/cli/doc-translate.md +5 -1
- package/docs/en-GB/cli/extract.md +2 -1
- package/docs/en-GB/cli/fill.md +5 -1
- package/docs/en-GB/cli/index.md +4 -5
- package/docs/en-GB/cli/live.md +5 -1
- package/docs/en-GB/cli/login.md +2 -2
- package/docs/en-GB/cli/pull.md +5 -1
- package/docs/en-GB/cli/push.md +5 -1
- package/docs/en-GB/cli/scan.md +5 -1
- package/docs/en-GB/cli/standalone.md +5 -1
- package/docs/en-GB/cli/test.md +5 -1
- package/docs/en-GB/cli/watch.md +5 -1
- package/docs/en-GB/compat/i18n-js.md +1 -1
- package/docs/en-GB/compat/i18next.md +1 -1
- package/docs/en-GB/compat/lingui.md +1 -1
- package/docs/en-GB/compat/next-i18next.md +1 -1
- package/docs/en-GB/compat/next-intl.md +1 -1
- package/docs/en-GB/compat/next-translate.md +1 -1
- package/docs/en-GB/compat/ngx-translate.md +1 -1
- package/docs/en-GB/compat/nuxtjs-i18n.md +1 -1
- package/docs/en-GB/compat/polyglot.md +1 -1
- package/docs/en-GB/compat/react-i18next.md +1 -1
- package/docs/en-GB/compat/react-intl.md +1 -1
- package/docs/en-GB/compat/svelte-i18n.md +1 -1
- package/docs/en-GB/compat/transloco.md +1 -1
- package/docs/en-GB/compat/vue-i18n.md +1 -1
- package/docs/en-GB/interest_of_intlayer.md +1 -1
- package/docs/en-GB/intlayer_with_remix_3.md +558 -0
- package/docs/es/benchmark/index.md +4 -1
- package/docs/es/benchmark/nextjs.md +33 -28
- package/docs/es/benchmark/solid.md +14 -11
- package/docs/es/benchmark/svelte.md +13 -10
- package/docs/es/benchmark/tanstack.md +30 -25
- package/docs/es/benchmark/vue.md +12 -8
- package/docs/es/cli/build.md +8 -1
- package/docs/es/cli/configuration.md +3 -1
- package/docs/es/cli/doc-review.md +8 -1
- package/docs/es/cli/doc-translate.md +5 -1
- package/docs/es/cli/extract.md +2 -1
- package/docs/es/cli/fill.md +5 -1
- package/docs/es/cli/index.md +4 -5
- package/docs/es/cli/live.md +5 -1
- package/docs/es/cli/login.md +2 -2
- package/docs/es/cli/pull.md +5 -1
- package/docs/es/cli/push.md +5 -1
- package/docs/es/cli/scan.md +5 -1
- package/docs/es/cli/standalone.md +5 -1
- package/docs/es/cli/test.md +5 -1
- package/docs/es/cli/watch.md +5 -1
- package/docs/es/compat/i18n-js.md +1 -1
- package/docs/es/compat/i18next.md +1 -1
- package/docs/es/compat/lingui.md +1 -1
- package/docs/es/compat/next-i18next.md +1 -1
- package/docs/es/compat/next-intl.md +1 -1
- package/docs/es/compat/next-translate.md +1 -1
- package/docs/es/compat/ngx-translate.md +1 -1
- package/docs/es/compat/nuxtjs-i18n.md +1 -1
- package/docs/es/compat/polyglot.md +1 -1
- package/docs/es/compat/react-i18next.md +1 -1
- package/docs/es/compat/react-intl.md +1 -1
- package/docs/es/compat/svelte-i18n.md +1 -1
- package/docs/es/compat/transloco.md +1 -1
- package/docs/es/compat/vue-i18n.md +1 -1
- package/docs/es/interest_of_intlayer.md +1 -1
- package/docs/es/intlayer_with_remix_3.md +540 -0
- package/docs/fr/benchmark/index.md +4 -1
- package/docs/fr/benchmark/nextjs.md +33 -28
- package/docs/fr/benchmark/solid.md +14 -11
- package/docs/fr/benchmark/svelte.md +13 -10
- package/docs/fr/benchmark/tanstack.md +30 -25
- package/docs/fr/benchmark/vue.md +12 -8
- package/docs/fr/cli/build.md +8 -1
- package/docs/fr/cli/configuration.md +3 -1
- package/docs/fr/cli/doc-review.md +8 -1
- package/docs/fr/cli/doc-translate.md +5 -1
- package/docs/fr/cli/extract.md +2 -1
- package/docs/fr/cli/fill.md +5 -1
- package/docs/fr/cli/index.md +4 -5
- package/docs/fr/cli/live.md +5 -1
- package/docs/fr/cli/login.md +2 -2
- package/docs/fr/cli/pull.md +5 -1
- package/docs/fr/cli/push.md +5 -1
- package/docs/fr/cli/scan.md +5 -1
- package/docs/fr/cli/standalone.md +5 -1
- package/docs/fr/cli/test.md +5 -1
- package/docs/fr/cli/watch.md +5 -1
- package/docs/fr/compat/i18n-js.md +1 -1
- package/docs/fr/compat/i18next.md +1 -1
- package/docs/fr/compat/lingui.md +1 -1
- package/docs/fr/compat/next-i18next.md +1 -1
- package/docs/fr/compat/next-intl.md +1 -1
- package/docs/fr/compat/next-translate.md +1 -1
- package/docs/fr/compat/ngx-translate.md +1 -1
- package/docs/fr/compat/nuxtjs-i18n.md +1 -1
- package/docs/fr/compat/polyglot.md +1 -1
- package/docs/fr/compat/react-i18next.md +1 -1
- package/docs/fr/compat/react-intl.md +1 -1
- package/docs/fr/compat/svelte-i18n.md +1 -1
- package/docs/fr/compat/transloco.md +1 -1
- package/docs/fr/compat/vue-i18n.md +1 -1
- package/docs/fr/interest_of_intlayer.md +1 -1
- package/docs/fr/intlayer_with_remix_3.md +540 -0
- package/docs/hi/benchmark/index.md +4 -1
- package/docs/hi/benchmark/nextjs.md +33 -28
- package/docs/hi/benchmark/solid.md +14 -11
- package/docs/hi/benchmark/svelte.md +13 -10
- package/docs/hi/benchmark/tanstack.md +30 -25
- package/docs/hi/benchmark/vue.md +12 -8
- package/docs/hi/cli/build.md +8 -1
- package/docs/hi/cli/configuration.md +3 -1
- package/docs/hi/cli/doc-review.md +8 -1
- package/docs/hi/cli/doc-translate.md +5 -1
- package/docs/hi/cli/extract.md +2 -1
- package/docs/hi/cli/fill.md +5 -1
- package/docs/hi/cli/index.md +4 -5
- package/docs/hi/cli/live.md +5 -1
- package/docs/hi/cli/login.md +2 -2
- package/docs/hi/cli/pull.md +5 -1
- package/docs/hi/cli/push.md +5 -1
- package/docs/hi/cli/scan.md +5 -1
- package/docs/hi/cli/standalone.md +5 -1
- package/docs/hi/cli/test.md +5 -1
- package/docs/hi/cli/watch.md +5 -1
- package/docs/hi/compat/i18n-js.md +1 -1
- package/docs/hi/compat/i18next.md +1 -1
- package/docs/hi/compat/lingui.md +1 -1
- package/docs/hi/compat/next-i18next.md +1 -1
- package/docs/hi/compat/next-intl.md +1 -1
- package/docs/hi/compat/next-translate.md +1 -1
- package/docs/hi/compat/ngx-translate.md +1 -1
- package/docs/hi/compat/nuxtjs-i18n.md +1 -1
- package/docs/hi/compat/polyglot.md +1 -1
- package/docs/hi/compat/react-i18next.md +1 -1
- package/docs/hi/compat/react-intl.md +1 -1
- package/docs/hi/compat/svelte-i18n.md +1 -1
- package/docs/hi/compat/transloco.md +1 -1
- package/docs/hi/compat/vue-i18n.md +1 -1
- package/docs/hi/interest_of_intlayer.md +1 -1
- package/docs/hi/intlayer_with_remix_3.md +543 -0
- package/docs/id/benchmark/index.md +4 -1
- package/docs/id/benchmark/nextjs.md +33 -28
- package/docs/id/benchmark/solid.md +14 -11
- package/docs/id/benchmark/svelte.md +13 -10
- package/docs/id/benchmark/tanstack.md +30 -25
- package/docs/id/benchmark/vue.md +12 -8
- package/docs/id/cli/build.md +8 -1
- package/docs/id/cli/configuration.md +3 -1
- package/docs/id/cli/doc-review.md +8 -1
- package/docs/id/cli/doc-translate.md +5 -1
- package/docs/id/cli/extract.md +2 -1
- package/docs/id/cli/fill.md +5 -1
- package/docs/id/cli/index.md +4 -5
- package/docs/id/cli/live.md +5 -1
- package/docs/id/cli/login.md +2 -2
- package/docs/id/cli/pull.md +5 -1
- package/docs/id/cli/push.md +5 -1
- package/docs/id/cli/scan.md +5 -1
- package/docs/id/cli/standalone.md +5 -1
- package/docs/id/cli/test.md +5 -1
- package/docs/id/cli/watch.md +5 -1
- package/docs/id/compat/i18n-js.md +1 -1
- package/docs/id/compat/i18next.md +1 -1
- package/docs/id/compat/lingui.md +1 -1
- package/docs/id/compat/next-i18next.md +1 -1
- package/docs/id/compat/next-intl.md +1 -1
- package/docs/id/compat/next-translate.md +1 -1
- package/docs/id/compat/ngx-translate.md +1 -1
- package/docs/id/compat/nuxtjs-i18n.md +1 -1
- package/docs/id/compat/polyglot.md +1 -1
- package/docs/id/compat/react-i18next.md +1 -1
- package/docs/id/compat/react-intl.md +1 -1
- package/docs/id/compat/svelte-i18n.md +1 -1
- package/docs/id/compat/transloco.md +1 -1
- package/docs/id/compat/vue-i18n.md +1 -1
- package/docs/id/interest_of_intlayer.md +1 -1
- package/docs/id/intlayer_with_remix_3.md +566 -0
- package/docs/it/benchmark/index.md +4 -1
- package/docs/it/benchmark/nextjs.md +33 -28
- package/docs/it/benchmark/solid.md +14 -11
- package/docs/it/benchmark/svelte.md +13 -10
- package/docs/it/benchmark/tanstack.md +30 -25
- package/docs/it/benchmark/vue.md +12 -8
- package/docs/it/cli/build.md +8 -1
- package/docs/it/cli/configuration.md +3 -1
- package/docs/it/cli/doc-review.md +8 -1
- package/docs/it/cli/doc-translate.md +5 -1
- package/docs/it/cli/extract.md +2 -1
- package/docs/it/cli/fill.md +5 -1
- package/docs/it/cli/index.md +4 -5
- package/docs/it/cli/live.md +5 -1
- package/docs/it/cli/login.md +2 -2
- package/docs/it/cli/pull.md +5 -1
- package/docs/it/cli/push.md +5 -1
- package/docs/it/cli/scan.md +5 -1
- package/docs/it/cli/standalone.md +5 -1
- package/docs/it/cli/test.md +5 -1
- package/docs/it/cli/watch.md +5 -1
- package/docs/it/compat/i18n-js.md +1 -1
- package/docs/it/compat/i18next.md +1 -1
- package/docs/it/compat/lingui.md +1 -1
- package/docs/it/compat/next-i18next.md +1 -1
- package/docs/it/compat/next-intl.md +1 -1
- package/docs/it/compat/next-translate.md +1 -1
- package/docs/it/compat/ngx-translate.md +1 -1
- package/docs/it/compat/nuxtjs-i18n.md +1 -1
- package/docs/it/compat/polyglot.md +1 -1
- package/docs/it/compat/react-i18next.md +1 -1
- package/docs/it/compat/react-intl.md +1 -1
- package/docs/it/compat/svelte-i18n.md +1 -1
- package/docs/it/compat/transloco.md +1 -1
- package/docs/it/compat/vue-i18n.md +1 -1
- package/docs/it/interest_of_intlayer.md +1 -1
- package/docs/it/intlayer_with_remix_3.md +558 -0
- package/docs/ja/benchmark/index.md +4 -1
- package/docs/ja/benchmark/nextjs.md +33 -28
- package/docs/ja/benchmark/solid.md +14 -11
- package/docs/ja/benchmark/svelte.md +13 -10
- package/docs/ja/benchmark/tanstack.md +30 -25
- package/docs/ja/benchmark/vue.md +12 -8
- package/docs/ja/cli/build.md +8 -1
- package/docs/ja/cli/configuration.md +3 -1
- package/docs/ja/cli/doc-review.md +8 -1
- package/docs/ja/cli/doc-translate.md +5 -1
- package/docs/ja/cli/extract.md +2 -1
- package/docs/ja/cli/fill.md +5 -1
- package/docs/ja/cli/index.md +4 -5
- package/docs/ja/cli/live.md +5 -1
- package/docs/ja/cli/login.md +2 -2
- package/docs/ja/cli/pull.md +5 -1
- package/docs/ja/cli/push.md +5 -1
- package/docs/ja/cli/scan.md +5 -1
- package/docs/ja/cli/standalone.md +5 -1
- package/docs/ja/cli/test.md +5 -1
- package/docs/ja/cli/watch.md +5 -1
- package/docs/ja/compat/i18n-js.md +1 -1
- package/docs/ja/compat/i18next.md +1 -1
- package/docs/ja/compat/lingui.md +1 -1
- package/docs/ja/compat/next-i18next.md +1 -1
- package/docs/ja/compat/next-intl.md +1 -1
- package/docs/ja/compat/next-translate.md +1 -1
- package/docs/ja/compat/ngx-translate.md +1 -1
- package/docs/ja/compat/nuxtjs-i18n.md +1 -1
- package/docs/ja/compat/polyglot.md +1 -1
- package/docs/ja/compat/react-i18next.md +1 -1
- package/docs/ja/compat/react-intl.md +1 -1
- package/docs/ja/compat/svelte-i18n.md +1 -1
- package/docs/ja/compat/transloco.md +1 -1
- package/docs/ja/compat/vue-i18n.md +1 -1
- package/docs/ja/interest_of_intlayer.md +1 -1
- package/docs/ja/intlayer_with_remix_3.md +558 -0
- package/docs/ko/benchmark/index.md +4 -1
- package/docs/ko/benchmark/nextjs.md +33 -28
- package/docs/ko/benchmark/solid.md +14 -11
- package/docs/ko/benchmark/svelte.md +13 -10
- package/docs/ko/benchmark/tanstack.md +30 -25
- package/docs/ko/benchmark/vue.md +12 -8
- package/docs/ko/cli/build.md +8 -1
- package/docs/ko/cli/configuration.md +3 -1
- package/docs/ko/cli/doc-review.md +8 -1
- package/docs/ko/cli/doc-translate.md +5 -1
- package/docs/ko/cli/extract.md +2 -1
- package/docs/ko/cli/fill.md +5 -1
- package/docs/ko/cli/index.md +4 -5
- package/docs/ko/cli/live.md +5 -1
- package/docs/ko/cli/login.md +2 -2
- package/docs/ko/cli/pull.md +5 -1
- package/docs/ko/cli/push.md +5 -1
- package/docs/ko/cli/scan.md +5 -1
- package/docs/ko/cli/standalone.md +5 -1
- package/docs/ko/cli/test.md +5 -1
- package/docs/ko/cli/watch.md +5 -1
- package/docs/ko/compat/i18n-js.md +1 -1
- package/docs/ko/compat/i18next.md +1 -1
- package/docs/ko/compat/lingui.md +1 -1
- package/docs/ko/compat/next-i18next.md +1 -1
- package/docs/ko/compat/next-intl.md +1 -1
- package/docs/ko/compat/next-translate.md +1 -1
- package/docs/ko/compat/ngx-translate.md +1 -1
- package/docs/ko/compat/nuxtjs-i18n.md +1 -1
- package/docs/ko/compat/polyglot.md +1 -1
- package/docs/ko/compat/react-i18next.md +1 -1
- package/docs/ko/compat/react-intl.md +1 -1
- package/docs/ko/compat/svelte-i18n.md +1 -1
- package/docs/ko/compat/transloco.md +1 -1
- package/docs/ko/compat/vue-i18n.md +1 -1
- package/docs/ko/interest_of_intlayer.md +1 -1
- package/docs/ko/intlayer_with_remix_3.md +543 -0
- package/docs/nl/cli/index.md +4 -5
- package/docs/nl/cli/scan.md +5 -1
- package/docs/nl/cli/standalone.md +5 -1
- package/docs/nl/interest_of_intlayer.md +1 -1
- package/docs/pl/benchmark/index.md +4 -1
- package/docs/pl/benchmark/nextjs.md +33 -28
- package/docs/pl/benchmark/solid.md +14 -11
- package/docs/pl/benchmark/svelte.md +13 -10
- package/docs/pl/benchmark/tanstack.md +30 -25
- package/docs/pl/benchmark/vue.md +12 -8
- package/docs/pl/cli/build.md +8 -1
- package/docs/pl/cli/configuration.md +3 -1
- package/docs/pl/cli/doc-review.md +8 -1
- package/docs/pl/cli/doc-translate.md +5 -1
- package/docs/pl/cli/extract.md +2 -1
- package/docs/pl/cli/fill.md +5 -1
- package/docs/pl/cli/index.md +4 -5
- package/docs/pl/cli/live.md +5 -1
- package/docs/pl/cli/login.md +2 -2
- package/docs/pl/cli/pull.md +5 -1
- package/docs/pl/cli/push.md +5 -1
- package/docs/pl/cli/scan.md +5 -1
- package/docs/pl/cli/standalone.md +5 -1
- package/docs/pl/cli/test.md +5 -1
- package/docs/pl/cli/watch.md +5 -1
- package/docs/pl/compat/i18n-js.md +1 -1
- package/docs/pl/compat/i18next.md +1 -1
- package/docs/pl/compat/lingui.md +1 -1
- package/docs/pl/compat/next-i18next.md +1 -1
- package/docs/pl/compat/next-intl.md +1 -1
- package/docs/pl/compat/next-translate.md +1 -1
- package/docs/pl/compat/ngx-translate.md +1 -1
- package/docs/pl/compat/nuxtjs-i18n.md +1 -1
- package/docs/pl/compat/polyglot.md +1 -1
- package/docs/pl/compat/react-i18next.md +1 -1
- package/docs/pl/compat/react-intl.md +1 -1
- package/docs/pl/compat/svelte-i18n.md +1 -1
- package/docs/pl/compat/transloco.md +1 -1
- package/docs/pl/compat/vue-i18n.md +1 -1
- package/docs/pl/interest_of_intlayer.md +1 -1
- package/docs/pl/intlayer_with_remix_3.md +551 -0
- package/docs/pt/benchmark/index.md +4 -1
- package/docs/pt/benchmark/nextjs.md +33 -28
- package/docs/pt/benchmark/solid.md +14 -11
- package/docs/pt/benchmark/svelte.md +13 -10
- package/docs/pt/benchmark/tanstack.md +30 -25
- package/docs/pt/benchmark/vue.md +12 -8
- package/docs/pt/cli/build.md +8 -1
- package/docs/pt/cli/configuration.md +3 -1
- package/docs/pt/cli/doc-review.md +8 -1
- package/docs/pt/cli/doc-translate.md +5 -1
- package/docs/pt/cli/extract.md +2 -1
- package/docs/pt/cli/fill.md +5 -1
- package/docs/pt/cli/index.md +4 -5
- package/docs/pt/cli/live.md +5 -1
- package/docs/pt/cli/login.md +2 -2
- package/docs/pt/cli/pull.md +5 -1
- package/docs/pt/cli/push.md +5 -1
- package/docs/pt/cli/scan.md +5 -1
- package/docs/pt/cli/standalone.md +5 -1
- package/docs/pt/cli/test.md +5 -1
- package/docs/pt/cli/watch.md +5 -1
- package/docs/pt/compat/i18n-js.md +1 -1
- package/docs/pt/compat/i18next.md +1 -1
- package/docs/pt/compat/lingui.md +1 -1
- package/docs/pt/compat/next-i18next.md +1 -1
- package/docs/pt/compat/next-intl.md +1 -1
- package/docs/pt/compat/next-translate.md +1 -1
- package/docs/pt/compat/ngx-translate.md +1 -1
- package/docs/pt/compat/nuxtjs-i18n.md +1 -1
- package/docs/pt/compat/polyglot.md +1 -1
- package/docs/pt/compat/react-i18next.md +1 -1
- package/docs/pt/compat/react-intl.md +1 -1
- package/docs/pt/compat/svelte-i18n.md +1 -1
- package/docs/pt/compat/transloco.md +1 -1
- package/docs/pt/compat/vue-i18n.md +1 -1
- package/docs/pt/interest_of_intlayer.md +1 -1
- package/docs/pt/intlayer_with_remix_3.md +558 -0
- package/docs/ru/benchmark/index.md +4 -1
- package/docs/ru/benchmark/nextjs.md +33 -28
- package/docs/ru/benchmark/solid.md +14 -11
- package/docs/ru/benchmark/svelte.md +13 -10
- package/docs/ru/benchmark/tanstack.md +30 -25
- package/docs/ru/benchmark/vue.md +12 -8
- package/docs/ru/cli/build.md +8 -1
- package/docs/ru/cli/configuration.md +3 -1
- package/docs/ru/cli/doc-review.md +8 -1
- package/docs/ru/cli/doc-translate.md +5 -1
- package/docs/ru/cli/extract.md +2 -1
- package/docs/ru/cli/fill.md +5 -1
- package/docs/ru/cli/index.md +4 -5
- package/docs/ru/cli/live.md +5 -1
- package/docs/ru/cli/login.md +2 -2
- package/docs/ru/cli/pull.md +5 -1
- package/docs/ru/cli/push.md +5 -1
- package/docs/ru/cli/scan.md +5 -1
- package/docs/ru/cli/standalone.md +5 -1
- package/docs/ru/cli/test.md +5 -1
- package/docs/ru/cli/watch.md +5 -1
- package/docs/ru/compat/i18n-js.md +1 -1
- package/docs/ru/compat/i18next.md +1 -1
- package/docs/ru/compat/lingui.md +1 -1
- package/docs/ru/compat/next-i18next.md +1 -1
- package/docs/ru/compat/next-intl.md +1 -1
- package/docs/ru/compat/next-translate.md +1 -1
- package/docs/ru/compat/ngx-translate.md +1 -1
- package/docs/ru/compat/nuxtjs-i18n.md +1 -1
- package/docs/ru/compat/polyglot.md +1 -1
- package/docs/ru/compat/react-i18next.md +1 -1
- package/docs/ru/compat/react-intl.md +1 -1
- package/docs/ru/compat/svelte-i18n.md +1 -1
- package/docs/ru/compat/transloco.md +1 -1
- package/docs/ru/compat/vue-i18n.md +1 -1
- package/docs/ru/interest_of_intlayer.md +1 -1
- package/docs/ru/intlayer_with_remix_3.md +558 -0
- package/docs/tr/benchmark/index.md +4 -1
- package/docs/tr/benchmark/nextjs.md +33 -28
- package/docs/tr/benchmark/solid.md +14 -11
- package/docs/tr/benchmark/svelte.md +13 -10
- package/docs/tr/benchmark/tanstack.md +30 -25
- package/docs/tr/benchmark/vue.md +12 -8
- package/docs/tr/cli/build.md +8 -1
- package/docs/tr/cli/configuration.md +3 -1
- package/docs/tr/cli/doc-review.md +8 -1
- package/docs/tr/cli/doc-translate.md +5 -1
- package/docs/tr/cli/extract.md +2 -1
- package/docs/tr/cli/fill.md +5 -1
- package/docs/tr/cli/index.md +4 -5
- package/docs/tr/cli/live.md +5 -1
- package/docs/tr/cli/login.md +2 -2
- package/docs/tr/cli/pull.md +5 -1
- package/docs/tr/cli/push.md +5 -1
- package/docs/tr/cli/scan.md +5 -1
- package/docs/tr/cli/standalone.md +5 -1
- package/docs/tr/cli/test.md +5 -1
- package/docs/tr/cli/watch.md +5 -1
- package/docs/tr/compat/i18n-js.md +1 -1
- package/docs/tr/compat/i18next.md +1 -1
- package/docs/tr/compat/lingui.md +1 -1
- package/docs/tr/compat/next-i18next.md +1 -1
- package/docs/tr/compat/next-intl.md +1 -1
- package/docs/tr/compat/next-translate.md +1 -1
- package/docs/tr/compat/ngx-translate.md +1 -1
- package/docs/tr/compat/nuxtjs-i18n.md +1 -1
- package/docs/tr/compat/polyglot.md +1 -1
- package/docs/tr/compat/react-i18next.md +1 -1
- package/docs/tr/compat/react-intl.md +1 -1
- package/docs/tr/compat/svelte-i18n.md +1 -1
- package/docs/tr/compat/transloco.md +1 -1
- package/docs/tr/compat/vue-i18n.md +1 -1
- package/docs/tr/interest_of_intlayer.md +1 -1
- package/docs/tr/intlayer_with_remix_3.md +566 -0
- package/docs/uk/benchmark/index.md +4 -1
- package/docs/uk/benchmark/nextjs.md +33 -28
- package/docs/uk/benchmark/solid.md +14 -11
- package/docs/uk/benchmark/svelte.md +13 -10
- package/docs/uk/benchmark/tanstack.md +30 -25
- package/docs/uk/benchmark/vue.md +12 -8
- package/docs/uk/cli/build.md +8 -1
- package/docs/uk/cli/configuration.md +3 -1
- package/docs/uk/cli/doc-review.md +8 -1
- package/docs/uk/cli/doc-translate.md +5 -1
- package/docs/uk/cli/extract.md +2 -1
- package/docs/uk/cli/fill.md +5 -1
- package/docs/uk/cli/index.md +4 -5
- package/docs/uk/cli/live.md +5 -1
- package/docs/uk/cli/login.md +2 -2
- package/docs/uk/cli/pull.md +5 -1
- package/docs/uk/cli/push.md +5 -1
- package/docs/uk/cli/scan.md +5 -1
- package/docs/uk/cli/standalone.md +5 -1
- package/docs/uk/cli/test.md +5 -1
- package/docs/uk/cli/watch.md +5 -1
- package/docs/uk/compat/i18n-js.md +1 -1
- package/docs/uk/compat/i18next.md +1 -1
- package/docs/uk/compat/lingui.md +1 -1
- package/docs/uk/compat/next-i18next.md +1 -1
- package/docs/uk/compat/next-intl.md +1 -1
- package/docs/uk/compat/next-translate.md +1 -1
- package/docs/uk/compat/ngx-translate.md +1 -1
- package/docs/uk/compat/nuxtjs-i18n.md +1 -1
- package/docs/uk/compat/polyglot.md +1 -1
- package/docs/uk/compat/react-i18next.md +1 -1
- package/docs/uk/compat/react-intl.md +1 -1
- package/docs/uk/compat/svelte-i18n.md +1 -1
- package/docs/uk/compat/transloco.md +1 -1
- package/docs/uk/compat/vue-i18n.md +1 -1
- package/docs/uk/interest_of_intlayer.md +1 -1
- package/docs/uk/intlayer_with_remix_3.md +566 -0
- package/docs/ur/cli/index.md +4 -5
- package/docs/ur/cli/scan.md +5 -1
- package/docs/ur/cli/standalone.md +5 -1
- package/docs/ur/interest_of_intlayer.md +1 -1
- package/docs/vi/benchmark/index.md +4 -1
- package/docs/vi/benchmark/nextjs.md +33 -28
- package/docs/vi/benchmark/solid.md +14 -11
- package/docs/vi/benchmark/svelte.md +13 -10
- package/docs/vi/benchmark/tanstack.md +30 -25
- package/docs/vi/benchmark/vue.md +12 -8
- package/docs/vi/cli/build.md +8 -1
- package/docs/vi/cli/configuration.md +3 -1
- package/docs/vi/cli/doc-review.md +8 -1
- package/docs/vi/cli/doc-translate.md +5 -1
- package/docs/vi/cli/extract.md +2 -1
- package/docs/vi/cli/fill.md +5 -1
- package/docs/vi/cli/index.md +4 -5
- package/docs/vi/cli/live.md +5 -1
- package/docs/vi/cli/login.md +2 -2
- package/docs/vi/cli/pull.md +5 -1
- package/docs/vi/cli/push.md +5 -1
- package/docs/vi/cli/scan.md +5 -1
- package/docs/vi/cli/standalone.md +5 -1
- package/docs/vi/cli/test.md +5 -1
- package/docs/vi/cli/watch.md +5 -1
- package/docs/vi/compat/i18n-js.md +1 -1
- package/docs/vi/compat/i18next.md +1 -1
- package/docs/vi/compat/lingui.md +1 -1
- package/docs/vi/compat/next-i18next.md +1 -1
- package/docs/vi/compat/next-intl.md +1 -1
- package/docs/vi/compat/next-translate.md +1 -1
- package/docs/vi/compat/ngx-translate.md +1 -1
- package/docs/vi/compat/nuxtjs-i18n.md +1 -1
- package/docs/vi/compat/polyglot.md +1 -1
- package/docs/vi/compat/react-i18next.md +1 -1
- package/docs/vi/compat/react-intl.md +1 -1
- package/docs/vi/compat/svelte-i18n.md +1 -1
- package/docs/vi/compat/transloco.md +1 -1
- package/docs/vi/compat/vue-i18n.md +1 -1
- package/docs/vi/interest_of_intlayer.md +1 -1
- package/docs/vi/intlayer_with_remix_3.md +566 -0
- package/docs/zh/benchmark/index.md +4 -1
- package/docs/zh/benchmark/nextjs.md +33 -28
- package/docs/zh/benchmark/solid.md +14 -11
- package/docs/zh/benchmark/svelte.md +13 -10
- package/docs/zh/benchmark/tanstack.md +30 -25
- package/docs/zh/benchmark/vue.md +12 -8
- package/docs/zh/cli/build.md +8 -1
- package/docs/zh/cli/configuration.md +3 -1
- package/docs/zh/cli/doc-review.md +8 -1
- package/docs/zh/cli/doc-translate.md +5 -1
- package/docs/zh/cli/extract.md +2 -1
- package/docs/zh/cli/fill.md +5 -1
- package/docs/zh/cli/index.md +4 -5
- package/docs/zh/cli/live.md +5 -1
- package/docs/zh/cli/login.md +2 -2
- package/docs/zh/cli/pull.md +5 -1
- package/docs/zh/cli/push.md +5 -1
- package/docs/zh/cli/scan.md +5 -1
- package/docs/zh/cli/standalone.md +5 -1
- package/docs/zh/cli/test.md +5 -1
- package/docs/zh/cli/watch.md +5 -1
- package/docs/zh/compat/i18n-js.md +1 -1
- package/docs/zh/compat/i18next.md +1 -1
- package/docs/zh/compat/lingui.md +1 -1
- package/docs/zh/compat/next-i18next.md +1 -1
- package/docs/zh/compat/next-intl.md +1 -1
- package/docs/zh/compat/next-translate.md +1 -1
- package/docs/zh/compat/ngx-translate.md +1 -1
- package/docs/zh/compat/nuxtjs-i18n.md +1 -1
- package/docs/zh/compat/polyglot.md +1 -1
- package/docs/zh/compat/react-i18next.md +1 -1
- package/docs/zh/compat/react-intl.md +1 -1
- package/docs/zh/compat/svelte-i18n.md +1 -1
- package/docs/zh/compat/transloco.md +1 -1
- package/docs/zh/compat/vue-i18n.md +1 -1
- package/docs/zh/interest_of_intlayer.md +1 -1
- package/docs/zh/intlayer_with_remix_3.md +558 -0
- package/docs/zh-TW/interest_of_intlayer.md +1 -1
- package/frequent_questions/ar/claude_code_token_consumption.md +152 -0
- package/frequent_questions/de/claude_code_token_consumption.md +152 -0
- package/frequent_questions/en/claude_code_token_consumption.md +152 -0
- package/frequent_questions/en-GB/claude_code_token_consumption.md +152 -0
- package/frequent_questions/es/claude_code_token_consumption.md +152 -0
- package/frequent_questions/fr/claude_code_token_consumption.md +152 -0
- package/frequent_questions/hi/claude_code_token_consumption.md +152 -0
- package/frequent_questions/id/claude_code_token_consumption.md +152 -0
- package/frequent_questions/it/claude_code_token_consumption.md +152 -0
- package/frequent_questions/ja/claude_code_token_consumption.md +152 -0
- package/frequent_questions/ko/claude_code_token_consumption.md +152 -0
- package/frequent_questions/pl/claude_code_token_consumption.md +152 -0
- package/frequent_questions/pt/claude_code_token_consumption.md +152 -0
- package/frequent_questions/ru/claude_code_token_consumption.md +152 -0
- package/frequent_questions/tr/claude_code_token_consumption.md +152 -0
- package/frequent_questions/uk/claude_code_token_consumption.md +152 -0
- package/frequent_questions/vi/claude_code_token_consumption.md +152 -0
- package/frequent_questions/zh/claude_code_token_consumption.md +152 -0
- package/package.json +7 -7
- package/src/generated/blog.entry.ts +180 -0
- package/src/generated/docs.entry.ts +0 -20
- package/src/generated/frequentQuestions.entry.ts +20 -0
- package/docs/ar/cli/ci.md +0 -186
- package/docs/de/cli/ci.md +0 -186
- package/docs/en/cli/ci.md +0 -216
- package/docs/en-GB/cli/ci.md +0 -186
- package/docs/es/cli/ci.md +0 -186
- package/docs/fr/cli/ci.md +0 -186
- package/docs/hi/cli/ci.md +0 -186
- package/docs/id/cli/ci.md +0 -186
- package/docs/it/cli/ci.md +0 -186
- package/docs/ja/cli/ci.md +0 -186
- package/docs/ko/cli/ci.md +0 -186
- package/docs/pl/cli/ci.md +0 -186
- package/docs/pt/cli/ci.md +0 -186
- package/docs/ru/cli/ci.md +0 -186
- package/docs/tr/cli/ci.md +0 -186
- package/docs/uk/cli/ci.md +0 -186
- package/docs/vi/cli/ci.md +0 -186
- package/docs/zh/cli/ci.md +0 -186
|
@@ -0,0 +1,304 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2026-09-09
|
|
3
|
+
updatedAt: 2026-09-10
|
|
4
|
+
title: "JavaScript i18n Tarihi: 2011'den 2026'ya"
|
|
5
|
+
description: "2011'den 2026'ya frontend uluslararasılaştırmasının gelişimini keşfedin. React, Vue, Next.js, Angular, Svelte ve Solid ekosistemlerindeki sürüm tarihleri, mimari zorluklar ve temel yenilikler."
|
|
6
|
+
keywords:
|
|
7
|
+
- i18n tarihi
|
|
8
|
+
- JavaScript uluslararasılaştırma
|
|
9
|
+
- React i18n
|
|
10
|
+
- Next.js i18n
|
|
11
|
+
- Vue i18n
|
|
12
|
+
- Angular i18n
|
|
13
|
+
- Svelte i18n
|
|
14
|
+
- Solid i18n
|
|
15
|
+
- i18next
|
|
16
|
+
- intlayer
|
|
17
|
+
slugs:
|
|
18
|
+
- blog
|
|
19
|
+
- history-of-js-internationalization
|
|
20
|
+
author: aymericzip
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
# JavaScript Uluslararasılaştırma (i18n) Tarihi
|
|
24
|
+
|
|
25
|
+
Uluslararasılaştırma yeni bir kavram değildir. JavaScript ve modern web dünyasından çok önce yazılımlar zaten birden fazla dil, para birimi, tarih biçimi ve bölgesel kuralı yönetmek zorundaydı. GEM ve Mac OS gibi ilk grafik arayüzlü işletim sistemleri 1980'lerde bu gereksinimlerin birçoğunu çözmüştü.
|
|
26
|
+
|
|
27
|
+
Aynı ilkeler zamanla backend çatılarına da taşındı. Ruby on Rails, Django, Java platformları ve PHP uygulamaları uluslararasılaştırma konusunda kendi yaklaşımlarını geliştirdi. Temel sorular oldukça netti:
|
|
28
|
+
|
|
29
|
+
- Çeviriler nerede saklanmalı?
|
|
30
|
+
- Tarihler, sayılar ve para birimleri nasıl biçimlendirilmeli?
|
|
31
|
+
- Çoğul ifadeler ve dilbilgisi farklılıkları nasıl ele alınmalı?
|
|
32
|
+
- Kullanıcıya hangi dilin gösterileceğine nasıl karar verilmeli?
|
|
33
|
+
|
|
34
|
+
Sayfanın tamamı sunucu tarafından oluşturulduğunda bu süreç anlaşılırdı. Uygulama ilgili çevirileri yükler, HTML kodunu üretir ve tarayıcıya gönderirdi.
|
|
35
|
+
|
|
36
|
+
> PHP ve GNU gettext, daha sonra JavaScript ve JSX ekosisteminde yaygınlaşan `t()` yardımcı fonksiyonunun öncüsü olmuştur.
|
|
37
|
+
|
|
38
|
+
Ardından JavaScript tarayıcıda ağırlığını artırmaya başladı.
|
|
39
|
+
|
|
40
|
+
Uygulamalar sunucu taraflı sayfalardan karmaşık Tek Sayfalı Uygulamalara (SPA) dönüştükçe uluslararasılaştırma da frontend tarafının bir sorumluluğu haline geldi. Tarayıcının sayfayı yeniden yüklemeden çevirileri çekmesi, dilleri anlık değiştirmesi, değerleri biçimlendirmesi, çoğul kurallarını işletmesi ve arayüzü güncellemesi gerekti.
|
|
41
|
+
|
|
42
|
+
Bu durum temel bir soruyu beraberinde getirdi:
|
|
43
|
+
|
|
44
|
+
**Her kullanıcıya devasa çeviri verileri ve ağır çalışma zamanı kodları indirtmeden çok dilli bir uygulama nasıl inşa edilir?**
|
|
45
|
+
|
|
46
|
+
Bu soru, JavaScript i18n ekosistemini on yılı aşkın bir süre boyunca şekillendirdi.
|
|
47
|
+
|
|
48
|
+
Çözümler köklü biçimde dönüştü: küresel JavaScript nesneleri ve `t('anahtar')` çağrılarından çerçeveye özgü kütüphanelere, derleme zamanı metin çıkarımına, TypeScript ile üretilen katı türlere, Server Components mimarisine, tree-shaking'e ve nihayetinde çevirilerin doğrudan build aşamasında optimize JavaScript koduna dönüştürüldüğü derleyici tabanlı yaklaşımlara ulaştık.
|
|
49
|
+
|
|
50
|
+
Bu makale, 2011'den 2026'ya uzanan bu süreci ele almaktadır: her araç neslinin çözmeye çalıştığı sorunlar, nelerin işe yaradığı, nelerin yetersiz kaldığı ve modern frontend mimarilerinin günümüz i18n çözümlerini nasıl etkilediği.
|
|
51
|
+
|
|
52
|
+

|
|
53
|
+
|
|
54
|
+
## İçindekiler
|
|
55
|
+
|
|
56
|
+
<TOC/>
|
|
57
|
+
|
|
58
|
+
## İlk Dönem Web: 2016 Öncesinde JavaScript Uluslararasılaştırması
|
|
59
|
+
|
|
60
|
+
Günümüzün modern i18n araçlarının geldiği noktayı anlamak için 2011-2015 yılları arasındaki web geliştirme ortamını anımsamak faydalı olacaktır.
|
|
61
|
+
|
|
62
|
+
### Mantığın İstemciye Taşınması
|
|
63
|
+
|
|
64
|
+
2010'ların başında uluslararasılaştırma neredeyse tamamen sunucu tarafının sorumluluğundaydı. JavaScript çoğunlukla animasyonlar, form doğrulamaları ve jQuery ile yapılan küçük DOM eklentileri için kullanılıyordu.
|
|
65
|
+
|
|
66
|
+
Backbone.js, Knockout.js ve ilk AngularJS ile SPA mimarisinin yaygınlaşmasıyla birlikte render mantığı tarayıcıya taşındı. İstemci tarafındaki kodun artık yerelleştirilmiş tarihleri sunması, para birimlerini biçimlendirmesi, çoğul yapıları yönetmesi ve sayfayı yenilemeden metinleri değiştirmesi gerekiyordu.
|
|
67
|
+
|
|
68
|
+
Ancak 2011 yılının tarayıcı ortamı bu ihtiyaçları karşılayacak yerleşik altyapıya sahip değildi:
|
|
69
|
+
|
|
70
|
+
<AccordionGroup>
|
|
71
|
+
<Accordion header="Yerel Uluslararasılaştırma API'sinin Bulunmayışı">
|
|
72
|
+
|
|
73
|
+
ECMAScript Uluslararasılaştırma API'si (ECMA-402) standartları ancak Aralık 2012'de küresel `Intl` nesnesiyle netleşti. Tarayıcılar bu standardı yaygın olarak destekleyene kadar en basit tarih veya sayı biçimlendirmesi bile özel fonksiyonlar ya da ağır polyfill kütüphaneleri gerektiriyordu.
|
|
74
|
+
|
|
75
|
+
</Accordion>
|
|
76
|
+
<Accordion header="Modern Modül Paketleyicilerin Olmayışı">
|
|
77
|
+
|
|
78
|
+
Webpack gibi araçlar henüz emekleme aşamasındaydı ve tarayıcılarda yerel ES modülleri çalışmıyordu. Geliştiriciler betikleri `<script>` etiketleriyle ekliyor, çeviri sözlüklerini çoğunlukla `window.translations = { ... }` gibi küresel değişkenlere tanımlıyordu.
|
|
79
|
+
|
|
80
|
+
</Accordion>
|
|
81
|
+
<Accordion header="Monolitik JSON Dosyaları">
|
|
82
|
+
|
|
83
|
+
Çeviriler tek bir devasa JSON dosyasında toplanıyordu. Tokyo'dan ana sayfayı ziyaret eden bir kullanıcı, hesap ayarları, faturalandırma ve yönetim paneli gibi ihtiyaç duymadığı tüm sayfaların metinlerini de tek seferde indiriyordu.
|
|
84
|
+
|
|
85
|
+
</Accordion>
|
|
86
|
+
</AccordionGroup>
|
|
87
|
+
|
|
88
|
+
### İstemci Taraflı Kütüphanelerin İlk Dalgası
|
|
89
|
+
|
|
90
|
+
2012 ile 2015 yılları arasında modern istemci taraflı JavaScript i18n altyapısının temelleri atıldı:
|
|
91
|
+
|
|
92
|
+
<AccordionGroup>
|
|
93
|
+
<Accordion header="i18next (Ocak 2012)">
|
|
94
|
+
|
|
95
|
+
Jan Mühlemann tarafından geliştirilen `i18next`, JavaScript'te çalışma zamanında anahtar-değer sözlüğü yaklaşımının temelini oluşturdu. Anahtar hiyerarşisi, değişken interpolasyonu, çoğul kuralları ve dil algılayıcıları ile arka uçlar için modüler bir yapı sundu. Sade JavaScript ve erken dönem Node.js projelerinde hızla standart haline geldi.
|
|
96
|
+
|
|
97
|
+
</Accordion>
|
|
98
|
+
<Accordion header="vue-i18n (Mayıs 2014)">
|
|
99
|
+
|
|
100
|
+
Kazuya Kawaguchi (Kazupon) tarafından geliştirilen `vue-i18n`, uluslararasılaştırmayı Vue.js reaktivite modeline uyarlayarak şablon direktiflerini (`v-t`) ve `$t()` fonksiyonunu kullanıma sundu.
|
|
101
|
+
|
|
102
|
+
</Accordion>
|
|
103
|
+
<Accordion header="react-intl (Haziran 2014)">
|
|
104
|
+
|
|
105
|
+
Yahoo! bünyesindeki FormatJS projesinin bir parçası olarak hazırlanan `react-intl`, ICU MessageFormat ve tarayıcının `Intl` API standartlarını `<FormattedMessage>` ve `<FormattedDate>` gibi bildirimsel bileşenlerle React dünyasına taşıdı.
|
|
106
|
+
|
|
107
|
+
</Accordion>
|
|
108
|
+
<Accordion header="react-i18next (Aralık 2015)">
|
|
109
|
+
|
|
110
|
+
Jan Mühlemann, `i18next` kütüphanesini React topluluğuna kazandırdı. Dil değişimlerinde arayüzü güncellemek için Higher-Order Components (`withTranslation`) ve React bağlam (context) yapısını kullandı.
|
|
111
|
+
|
|
112
|
+
</Accordion>
|
|
113
|
+
</AccordionGroup>
|
|
114
|
+
|
|
115
|
+
### 2016 Öncesi Dönemin Kısıtları
|
|
116
|
+
|
|
117
|
+
Bu araçlar çok dilli istemci uygulamalarının önünü açsa da dönemin teknik kısıtları belirgin sorunlar yarattı:
|
|
118
|
+
|
|
119
|
+
<AccordionGroup>
|
|
120
|
+
<Accordion header="Kırılgan Metin Anahtarları">
|
|
121
|
+
|
|
122
|
+
`t('marketing.landing.hero.cta')` gibi aramalar statik bir kontrol sağlamıyordu. Anahtardaki bir yazım hatası derleme sırasında fark edilmiyor, canlı ortamda boşluklara veya çevrilememiş ham anahtar adlarına neden oluyordu.
|
|
123
|
+
|
|
124
|
+
</Accordion>
|
|
125
|
+
<Accordion header="Çalışma Zamanı Ayrıştırma Yükü">
|
|
126
|
+
|
|
127
|
+
ICU mesaj sözdizimini yorumlamak ve düzenli ifadelerle değişkenleri yerleştirmek, özellikle mobil cihazlarda işlemci kaynaklarını gereksiz yere tüketiyordu.
|
|
128
|
+
|
|
129
|
+
</Accordion>
|
|
130
|
+
<Accordion header="Büyük Paket Boyutları">
|
|
131
|
+
|
|
132
|
+
Rotalara veya bileşenlere göre kod bölme (code splitting) yapılmadığı için uygulamanın tüm yerelleştirilmiş metinleri tek seferde yükleniyor, ilk açılış süresini uzatıyordu.
|
|
133
|
+
|
|
134
|
+
</Accordion>
|
|
135
|
+
<Accordion header="Geliştirici ve Çevirmen Arasındaki Kopukluk">
|
|
136
|
+
|
|
137
|
+
Sözlükler, onları kullanan bileşenlerden uzakta merkezi JSON dosyalarında tutulduğundan sahipsiz kalan veya eksik bırakılan çeviriler sıkça karşılaşılan bir durum haline geliyordu.
|
|
138
|
+
|
|
139
|
+
</Accordion>
|
|
140
|
+
</AccordionGroup>
|
|
141
|
+
|
|
142
|
+
## Çerçeveler Dönemi: Ekosistemlere Göre Gelişim
|
|
143
|
+
|
|
144
|
+
2016 ile 2026 yılları arasında frontend mimarisi kökten değişti. TypeScript endüstri standardına dönüştü, bileşen yapıları olgunlaştı, Webpack, Vite ve Turbopack gibi paketleyiciler kod bölmeyi yaygınlaştırdı, React Server Components render işlemlerini yeniden sunucuya yönlendirdi ve derleyiciler uygulama kodunu doğrudan analiz etmeye başladı.
|
|
145
|
+
|
|
146
|
+
Aşağıdaki sekmeler, farklı ekosistemlerin bu gereksinimlere nasıl yanıt verdiğini özetlemektedir. Bu ortamlar genelinde `react-intlayer` ve ilgili diğer sürümler (`next-intlayer`, `vue-intlayer`, `angular-intlayer`, `svelte-intlayer` ve `solid-intlayer`), her bir çatının çalışma zamanına özel yüksek performanslı çözümler sunmaktadır.
|
|
147
|
+
|
|
148
|
+
<Tabs>
|
|
149
|
+
|
|
150
|
+
<Tab label="Core JavaScript" value="javascript">
|
|
151
|
+
|
|
152
|
+
| İlk Çıkış | Kütüphane | Çözmeyi Amaçladığı Problem | Temel Yenilik |
|
|
153
|
+
| ------------ | ------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
154
|
+
| Ocak 2012 | `i18next` | Tarayıcı ve Node.js için herhangi bir çatıya bağımlı olmadan çalışma zamanı sözlük aramasını standartlaştırmak. | Çekirdek çeviri motorunu yükleyicilerden, dil algılayıcılardan ve önbellekten ayıran modüler eklenti mimarisi. |
|
|
155
|
+
| Şubat 2021 | `typesafe-i18n` | Tiplenmemiş metin anahtarlarından kaynaklanan sessiz çalışma zamanı hatalarını ve bozuk değişken yerleşimlerini engellemek. | Çeviri nesnelerinden doğrudan üretilen, çalışma zamanı bağımlılığı olmayan tam tipli çeviri fonksiyonları. |
|
|
156
|
+
| Ekim 2023 | `paraglide` (`@inlang/paraglide-js`) | Çalışma zamanı sözlük aramalarını, ağır ayrıştırıcıları ve gereksiz paket şişkinliğini ortadan kaldırmak. | Mesajları doğrudan tree-shaking uyumlu saf ECMAScript modüllerine ve JavaScript fonksiyonlarına derlemek. |
|
|
157
|
+
| Nisan 2024 | `intlayer` | Yönetimi güç isim alanlarını kaldırmak, sayfalar arası metin sızıntısını önlemek, git çakışmalarını azaltmak ve TypeScript tipi. | `.content` dosyalarını doğrudan bileşenlerin yanına konumlandırma, otomatik tip üretimi, dahili görsel CMS ve yapay zeka CLI çeviri araçları. |
|
|
158
|
+
| Haziran 2025 | `wuchale` | Geliştirme esnasında metinleri elle çıkarma ve yapay çeviri anahtarları tanımlama külfetini ortadan kaldırmak. | Satır içi metinleri algılayıp build esnasında ek kod sarmalayıcısı olmadan yerelleştirilmiş fonksiyonlara dönüştüren AST ön işlemcisi. |
|
|
159
|
+
|
|
160
|
+
</Tab>
|
|
161
|
+
|
|
162
|
+
<Tab label="React" value="react">
|
|
163
|
+
|
|
164
|
+
| İlk Çıkış | Kütüphane | Çözmeyi Amaçladığı Problem | Temel Yenilik |
|
|
165
|
+
| ------------ | ---------------- | ------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
166
|
+
| Haziran 2014 | `react-intl` | React içinde sayı, tarih, para birimi ve karmaşık çoğul ifadelerin biçimlendirilmesini standartlaştırmak. | ICU MessageFormat ve ECMA-402 standartlarını hayata geçiren bildirimsel bileşenler (`<FormattedMessage>`, `<FormattedDate>`). |
|
|
167
|
+
| Aralık 2015 | `react-i18next` | React için reaktif arayüz güncellemelerini destekleyen doğal bir `i18next` entegrasyonu sunmak. | React ile birlikte gelişim: Higher-Order Components yapısından `<Trans>` JSX interpolasyonuna ve `useTranslation` kancasına geçiş. |
|
|
168
|
+
| Ocak 2018 | `@lingui/react` | Çalışma zamanında çalışan ICU ayrıştırıcılarının paket boyutuna getirdiği yükü hafifletmek. | `<Trans>` ve `t` yapılarını derleme sırasında kompakt indeksli dizilere dönüştüren Babel/SWC makroları. |
|
|
169
|
+
| Aralık 2020 | `use-intl` | Geleneksel React i18n kütüphanelerine kıyasla hafif, kanca odaklı ve tip güvenli bir alternatif sağlamak. | Derin TypeScript entegrasyonuna sahip ergonomik `useTranslations` ve `useFormatter` kancaları. |
|
|
170
|
+
| Şubat 2021 | `@tolgee/react` | Geliştiriciler, çevirmenler ve tasarımcılar arasındaki geri bildirim sürecini hızlandırmak. | Kullanıcıların Alt tuşuyla metne tıklayıp yerinde düzenleme yapmasına ve anlık ekran görüntüsü almasına olanak tanıyan tarayıcı içi düzenleme. |
|
|
171
|
+
| Nisan 2024 | `react-intlayer` | Merkezi JSON dosyaları ve karmaşık isim alanları olmadan React yaşam döngüsüne özel yüksek performanslı bir çözüm sunmak. | React render süreçlerine optimize `useIntlayer` kancası, otomatik TypeScript tipleri, bileşen bazlı tree-shaking ve doğrudan görsel CMS eşitlemesi. |
|
|
172
|
+
| Temmuz 2024 | `gt-react` | Manuel dosya dışa aktarımlarını ve çeviri bakım süreçlerini otomatikleştirmek. | Bulut tabanlı çeviri süreçleriyle doğrudan React bileşenleri içerisinde otomatik yapay zeka yerelleştirmesi. |
|
|
173
|
+
| Ağustos 2025 | `@wuchale/jsx` | JSX yazarken elle anahtar tanımlama ve yinelenen kancalar kullanma ihtiyacını ortadan kaldırmak. | Ham JSX metin düğümlerini otomatik olarak çıkarıp yerelleştirilmiş karşılıklarına dönüştüren AST dönüşümü. |
|
|
174
|
+
|
|
175
|
+
</Tab>
|
|
176
|
+
|
|
177
|
+
<Tab label="Next.js" value="nextjs">
|
|
178
|
+
|
|
179
|
+
| İlk Çıkış | Kütüphane | Çözmeyi Amaçladığı Problem | Temel Yenilik |
|
|
180
|
+
| ----------- | ------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
181
|
+
| Kasım 2018 | `next-i18next` | Next.js Pages Router üzerinde istemci tarafında istek zincirleri yaratmadan `i18next` ile SSR ve SSG desteği sağlamak. | Yerelleştirilmiş isim alanlarını sayfa proplarına aktaran `serverSideTranslations` ve `appWithTranslation` fonksiyonları. |
|
|
182
|
+
| Aralık 2019 | `next-translate` | Pages Router projelerinde yapılandırmayı basitleştirmek ve paket boyutunu düşürmek. | Yalnızca ilgili sayfanın ihtiyaç duyduğu çeviri isim alanlarını otomatik olarak enjekte eden Webpack loader eklentisi. |
|
|
183
|
+
| Kasım 2020 | `next-intl` | Uluslararasılaştırmayı App Router, React Server Components (RSC) ve akışlı (streaming) SSR mimarisine göre yeniden kurmak. | İstemci tarafında zorunlu JavaScript çalıştırmadan Next.js App Router middleware, Server Actions ve asenkron Server Components ile doğrudan entegrasyon. |
|
|
184
|
+
| Temmuz 2022 | `next-international` | Next.js için istemci paketine minimum yük getirerek TypeScript tip güvenliğini en üst düzeye çıkarmak. | App Router ve Pages Router için hafif adaptörlerle birlikte kapsamı sınırlandırılmış anahtarlar için katı tip üretimi. |
|
|
185
|
+
| Nisan 2024 | `paraglide-next` (`@inlang/paraglide-next`) | Next.js App Router ve Pages Router için çalışma zamanı kütüphanesi gerektirmeyen derlenmiş mesajlar sunmak. | RSC ve istemci paketlerinde çalışma zamanı JSON ayrıştırmasını önleyen, tree-shaking uyumlu mesaj fonksiyonlarıyla eşleştirilmiş middleware yönlendirmesi. |
|
|
186
|
+
| Nisan 2024 | `next-intlayer` | `t()` fonksiyonlarını veya sözlükleri bileşenler arasında prop olarak aktarma zorunluluğunu ortadan kaldırmak. | Prop-drilling yapmadan senkron Server Components içinde doğrudan `useIntlayer` çağrısı, gecikmesiz sunucu render'ı, rotalama ara yazılımı ve canlı CMS. |
|
|
187
|
+
| Eylül 2024 | `gt-next` | Yapay zeka ile Next.js projelerinde çok dilli içerik üretimini ve dinamik rota yönetimini otomatikleştirmek. | Bulut tabanlı makine çevirisini Next.js edge ara yazılımı ve önbellek katmanlarıyla birleştiren App Router entegrasyonu. |
|
|
188
|
+
|
|
189
|
+
</Tab>
|
|
190
|
+
|
|
191
|
+
<Tab label="Vue & Nuxt" value="vue">
|
|
192
|
+
|
|
193
|
+
| İlk Çıkış | Kütüphane | Çözmeyi Amaçladığı Problem | Temel Yenilik |
|
|
194
|
+
| ------------ | -------------- | -------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
195
|
+
| Mayıs 2014 | `vue-i18n` | Vue uygulamaları için doğal ve reaktif bir uluslararasılaştırma deneyimi sunmak. | Vue reaktivite sistemine tam uyum, şablon direktifleri (`v-t`), `$t` yardımcıları ve Single-File Component içinde `<i18n>` özel blokları. |
|
|
196
|
+
| Kasım 2017 | `@nuxt/i18n` | Nuxt üzerinde yerelleştirilmiş URL rotaları, SEO hreflang etiketleri ve SSR hidrasyonunu yönetmek. | Yerelleştirilmiş rotaları (önek, alan adı) üreten, SEO meta etiketlerini yöneten ve dil parçalarını tembel (lazy) yükleyen tam kapsamlı yönlendirme modülü. |
|
|
197
|
+
| Ağustos 2019 | `fluent-vue` | Vue projelerinde karmaşık gramer cinsiyetlerini, durum eklerini ve asimetrik dil yapılarını desteklemek. | Dildeki incelikler için karmaşık koşullu mantıklar yazma zorunluluğunu ortadan kaldıran Mozilla Project Fluent sözdizimi entegrasyonu. |
|
|
198
|
+
| Nisan 2025 | `vue-intlayer` | Vue 3 Composition API ve Nuxt için küresel kapsamı kirletmeden çalışan yerel bir Intlayer entegrasyonu sunmak. | Vue 3 reaktivite takibine uygun `useIntlayer` composable'ı, bileşen bazlı izolasyon, eksiksiz TypeScript otomatik tamamlama ve görsel editör uyumluluğu. |
|
|
199
|
+
|
|
200
|
+
</Tab>
|
|
201
|
+
|
|
202
|
+
<Tab label="Angular" value="angular">
|
|
203
|
+
|
|
204
|
+
| İlk Çıkış | Kütüphane | Çözmeyi Amaçladığı Problem | Temel Yenilik |
|
|
205
|
+
| ----------- | ------------------- | -------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
206
|
+
| Şubat 2017 | `ngx-translate` | Her dil için ayrı paketler derlemeden Angular üzerinde çalışma zamanında dinamik çeviri desteği sağlamak. | Dinamik dil yükleme ve anlık geçiş imkanı veren `TranslateService` servisi ve `translate` boru hattı (pipe). |
|
|
207
|
+
| Temmuz 2019 | `@ngneat/transloco` | Önceki Angular i18n kütüphanelerindeki performans tıkanıklıklarını, yetersiz kapsam yönetimini ve eksik özellikleri aşmak. | Yapısal direktif (`*transloco`), tembel yüklenen modüller için ayrılmış çeviriler, SSR desteği ve metin çıkarma CLI aracı. |
|
|
208
|
+
| Eylül 2019 | `@angular/localize` | Her dil için TypeScript kodunu yeniden derlemeyi önlemek üzere Angular'ın yerleşik i18n sistemini modernleştirmek. | Ivy derleyicisinde hızlı bir derleme sonrası adım olarak işlenen etiketli şablon dizgileri (`$localize`). |
|
|
209
|
+
| Şubat 2021 | `@tolgee/ngx` | Arayüz bağlamında ortaklaşa çeviri yapmayı ve ekran görüntüsü almayı Angular süreçlerine dahil etmek. | Doğrudan tarayıcıda metin düzenleme olanağı sunan ve Tolgee ile bağlantılı çalışan Angular pipe ve direktifleri. |
|
|
210
|
+
| Nisan 2025 | `angular-intlayer` | Modern Angular (Signals, standalone bileşenler ve SSR) için yerel bir Intlayer çözümü sunmak. | Angular değişiklik algılama mekanizmasına uygun Signal tabanlı reaktif içerik yönetimi, standalone bağımlılık enjeksiyonu ve doğrudan CMS entegrasyonu. |
|
|
211
|
+
|
|
212
|
+
</Tab>
|
|
213
|
+
|
|
214
|
+
<Tab label="Svelte & SvelteKit" value="svelte">
|
|
215
|
+
|
|
216
|
+
| İlk Çıkış | Kütüphane | Çözmeyi Amaçladığı Problem | Temel Yenilik |
|
|
217
|
+
| ----------- | ----------------- | -------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
218
|
+
| Temmuz 2018 | `svelte-i18n` | Svelte store mekanizmasına uygun, reaktif bir uluslararasılaştırma kütüphanesi sağlamak. | Dil değiştiğinde DOM üzerinde noktasal güncellemeler sağlayan store tabanlı `$t` fonksiyonu. |
|
|
219
|
+
| Aralık 2021 | `sveltekit-i18n` | SvelteKit projelerinde SSR ve rotaya dayalı çeviri yüklemelerini düzenli biçimde yönetmek. | Yalnızca aktif rota için gereken çevirileri ve biçimlendiricileri getiren modüler yükleyici mimarisi. |
|
|
220
|
+
| Kasım 2021 | `@tolgee/svelte` | Svelte uygulamalarında arayüz içi yerelleştirme deneyimi sunmak. | Tolgee arayüz katmanıyla entegre çalışan Svelte store bağlamları ve otomatik ekran görüntüsü üretimi. |
|
|
221
|
+
| Nisan 2025 | `svelte-intlayer` | Svelte 5 ve SvelteKit için özel olarak geliştirilmiş yüksek performanslı bir Intlayer uyarlaması sunmak. | Svelte 5 Runes (`$state`) yapısına uygun reaktif bağlar, bileşen düzeyinde `.content` tanımları, sıfır yapılandırmalı build eklentileri ve görsel CMS. |
|
|
222
|
+
| Temmuz 2025 | `@wuchale/svelte` | Svelte bileşenlerinde sözlük tanımlama ve `$t` fonksiyonlarını içe aktarma tekrarını ortadan kaldırmak. | Şablonları derleme sırasında inceleyen ve metin düğümlerini ek sarmalayıcı olmadan yerelleştirilmiş çıktılara dönüştüren Svelte ön işlemcisi. |
|
|
223
|
+
|
|
224
|
+
</Tab>
|
|
225
|
+
|
|
226
|
+
<Tab label="SolidJS" value="solid">
|
|
227
|
+
|
|
228
|
+
| İlk Çıkış | Kütüphane | Çözmeyi Amaçladığı Problem | Temel Yenilik |
|
|
229
|
+
| ------------ | ------------------------ | -------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- |
|
|
230
|
+
| Eylül 2021 | `@solid-primitives/i18n` | SolidJS'in ince taneli reaktivite yapısıyla örtüşen doğal bir i18n ilkesi sunmak. | Sanal DOM veya gereksiz render olmadan DOM düğümlerini güncelleyen Signal tabanlı çeviri çözücü. |
|
|
231
|
+
| Nisan 2025 | `solid-intlayer` | SolidJS ve SolidStart için özel olarak geliştirilmiş performans odaklı bir Intlayer çözümü sunmak. | Sanal DOM yükü olmadan çalışan Signal uyumlu bağlar, tam TypeScript şema tamamlama desteği ve görsel editör entegrasyonu. |
|
|
232
|
+
| Haziran 2026 | `@lingui/solid` | Derleme zamanında makro metin çıkarımını ve ICU MessageFormat desteğini SolidJS dünyasına taşımak. | Solid'in reaktif yapısına uyarlanan ve iletileri çalışma zamanı için kompakt yapılara dönüştüren makro dönüşümleri. |
|
|
233
|
+
|
|
234
|
+
</Tab>
|
|
235
|
+
|
|
236
|
+
</Tabs>
|
|
237
|
+
|
|
238
|
+
## JavaScript i18n Alanında Dört Mimari Dönem
|
|
239
|
+
|
|
240
|
+

|
|
241
|
+
|
|
242
|
+
On beş yıllık gelişimi incelediğimizde JavaScript uluslararasılaştırma tarihini dört belirgin mimari döneme ayırabiliriz:
|
|
243
|
+
|
|
244
|
+
<AccordionGroup>
|
|
245
|
+
<Accordion header="1. Çalışma Zamanı Sözlükleri Dönemi (2011 - 2017)">
|
|
246
|
+
|
|
247
|
+
Bu döneme `i18next`, `react-intl` ve `vue-i18n` öncülük etti. Uygulamalar statik JSON dosyalarını belleğe yüklüyor ve çalışma zamanı fonksiyonları nesne içindeki metin anahtarlarını arıyordu. Çoğullaştırma ve değişken yerleştirme işlemleri tarayıcıda düzenli ifadeler ve istemci taraflı ICU ayrıştırıcılarıyla çözülüyordu.
|
|
248
|
+
|
|
249
|
+
</Accordion>
|
|
250
|
+
<Accordion header="2. Derleme Zamanı Makroları ve Tip Güvenliği Dönemi (2018 - 2021)">
|
|
251
|
+
|
|
252
|
+
Bu süreç `lingui`, `next-translate`, `transloco` ve `typesafe-i18n` ile şekillendi. Geliştiriciler çalışma zamanı ayrıştırmasının getirdiği performans kaybını ve tiplenmemiş anahtarların kırılganlığını fark etti. Babel makroları derleme sırasında metinleri çıkardı, paketleyici eklentileri sözlükleri sayfa bazında böldü ve TypeScript derleyicileri çeviri parametrelerini doğrulamaya başladı.
|
|
253
|
+
|
|
254
|
+
</Accordion>
|
|
255
|
+
<Accordion header="3. Server Components ve Akışlı Render Dönemi (2022 - 2024)">
|
|
256
|
+
|
|
257
|
+
Bu dönemi `next-intl`, `next-international` ve ilk RSC adaptörleri belirledi. React Server Components ve Next.js App Router ile birlikte temel amaç, istemciye ağır i18n motorları veya gereksiz sözlükler göndermeden yerelleştirilmiş içeriği doğrudan sunucuda üretmek oldu.
|
|
258
|
+
|
|
259
|
+
</Accordion>
|
|
260
|
+
<Accordion header="4. Modern Derleyiciler ve Bütünleşik İçerik Dönemi (2024 - 2026)">
|
|
261
|
+
|
|
262
|
+
Bu aşama `paraglide`, `intlayer` ve `wuchale` tarafından temsil edilmektedir. Modern araçlar uluslararasılaştırmayı salt bir metin değiştirme işi olarak değil, kapsamlı bir içerik mimarisi olarak ele alır. Derleyiciler iletileri tree-shaking uyumlu kod fonksiyonlarına dönüştürür, içerik tanımları bileşenlerin yanında durur, görsel düzenleyiciler ve yapay zeka süreçleri geliştirme akışına entegre edilir. Bu modelde Intlayer, içerik tanımını ve tip üretimini çalışma zamanından ayırarak her çatının reaktivitesine göre hazırlanmış adaptörler (`react-intlayer`, `next-intlayer`, `vue-intlayer`, `angular-intlayer`, `svelte-intlayer` ve `solid-intlayer`) sunar.
|
|
263
|
+
|
|
264
|
+
</Accordion>
|
|
265
|
+
</AccordionGroup>
|
|
266
|
+
|
|
267
|
+
## Sonuç: Geliştirici Deneyimi, Performans ve Yapay Zekanın Etkisi
|
|
268
|
+
|
|
269
|
+
On beş yıl ve dört mimari dalga boyunca JavaScript uluslararasılaştırmasının temel hedefi değişmedi: geliştirici deneyimi (DX) ile kod tabanının sürdürülebilirliğini korurken istemci tarafında en yüksek performansı sağlamak.
|
|
270
|
+
|
|
271
|
+
Küresel değişkenler ve yönetimi zor JSON dosyalarıyla başlayan bu yolculuk, bileşenle birlikte barınan içeriklere, otomatik TypeScript kontrollerine, gecikmesiz sunucu render'ına ve derleme tabanlı optimizasyonlara evrildi.
|
|
272
|
+
|
|
273
|
+
### Yapay Zeka Dönüşümü ve Geleneksel Çeviri Sistemleri
|
|
274
|
+
|
|
275
|
+
Son yılların en belirleyici adımlarından biri, yapay zeka ile otomatik çeviri üretiminin geleneksel yerelleştirme platformlarının alışılageldik iş modellerini dönüştürmesi oldu.
|
|
276
|
+
|
|
277
|
+
Geçmişte metinleri monolitik JSON dosyalarında toplamak, Çeviri Yönetim Sistemleri (TMS) ile entegrasyonu kolaylaştırmak için yapılan bir tercihti. Tek bir merkezi dosya, dış çevirmenler ve üçüncü taraf sistemler için pratik bir veri aktarım alanı sağlıyordu. Ancak bu durum geliştiricilere ciddi mimari bedeller ödetiyordu: git birleştirmelerinde sürekli yaşanan çakışmalar, takibi kaybolan metinler, bileşen bağlamının yitirilmesi ve karmaşık isim alanları.
|
|
278
|
+
|
|
279
|
+
Üretken yapay zeka modelleri ve modern derleyiciler sayesinde Geliştirici Deneyimi (DX) yeniden ön plana çıktı. Derleme araçları ve CLI komutları, bileşenlerin yanında yer alan içerik dosyalarını otomatik olarak tespit edip doğrulayabiliyor ve çevirebiliyor. Böylece temiz bir mimariden ödün verme gerekliliği ortadan kalkıyor.
|
|
280
|
+
|
|
281
|
+
Ticari platformlar on yılı aşkın bir süre boyunca gelir modellerini bu manuel süreçler üzerine kurdu:
|
|
282
|
+
|
|
283
|
+
- **Locize** (`i18next` arkasındaki ticari platform) ve **Crowdin** (birçok açık kaynak projenin iş ortağı) gibi hizmetler, modellerini barındırılan çeviri depolama, kota sınırları ve kelime başına ücretlendirme üzerine kurguladı.
|
|
284
|
+
- Gelirleri hacme ve manuel iş adımlarına dayandığı için, geliştirici araçları içerisine doğrudan ve ek maliyetsiz otomasyon sunmak konusunda daha çekimser kaldılar.
|
|
285
|
+
|
|
286
|
+
### Yeni Yapay Zeka Çözümleri ve Doğrudan Sağlayıcı Maliyeti
|
|
287
|
+
|
|
288
|
+
Büyük Dil Modelleri çeviri maliyetlerini çok düşük seviyelere çekerken dilsel doğruluğu artırdıkça bu alanda yeni araçlar belirdi:
|
|
289
|
+
|
|
290
|
+
- Paraglide ile **linguo.dev** veya **General Translation** (`gt-react`, `gt-next`) gibi platformlar tescilli abonelik paketleri ve bulut aracıları sundu.
|
|
291
|
+
- Buna karşılık **Intlayer**, CLI aracılığıyla doğrudan yapay zeka çeviri desteği sunarak ekiplerin kendi API anahtarlarını (OpenAI, Anthropic, Mistral veya Google Gemini) bağlamalarına olanak tanır. Aracı komisyonu veya platform bağımlılığı olmadan, yalnızca seçtiğiniz yapay zeka sağlayıcısının doğrudan işlem maliyetiyle çalışırsınız.
|
|
292
|
+
|
|
293
|
+
### i18n'den Fazlası: Kapsamlı Çok Dilli İçerik Yönetimi
|
|
294
|
+
|
|
295
|
+
Günümüz web geliştirmesi, `"Gönder"` veya `"Giriş Yap"` gibi tekil kelimeleri çevirmenin çok ötesine geçti. Modern uygulamalar, kullanıcı deneyimi boyunca yapılandırılmış, esnek ve dinamik içeriklere ihtiyaç duyar.
|
|
296
|
+
|
|
297
|
+
Intlayer bu konuyu yalnızca metin anahtarı arayan bir araç olarak değil, kapsamlı bir çok dilli içerik sistemi olarak ele alır. Markdown belgeleri, HTML yapıları, iç içe geçmiş veri şemaları ve görsel CMS düzenlemesine verdiği yerel destekle kod düzeyindeki mühendisliği, yapay zeka süreçlerini ve içerik yönetimini tek bir çatıda birleştirir.
|
|
298
|
+
|
|
299
|
+
Daha ayrıntılı mimari karşılaştırmalar ve geçiş rehberleri için aşağıdaki kaynakları inceleyebilirsiniz:
|
|
300
|
+
|
|
301
|
+
- [Derleyici Yaklaşımı ve Bildirimsel i18n Karşılaştırması](https://github.com/aymericzip/intlayer/blob/main/docs/blog/tr/compiler_vs_declarative_i18n.md)
|
|
302
|
+
- [Bileşen Düzeyinde i18n ve Merkezi i18n Karşılaştırması](https://github.com/aymericzip/intlayer/blob/main/docs/blog/tr/per-component_vs_centralized_i18n.md)
|
|
303
|
+
- [Performans ve Karşılaştırmalı Testler](https://intlayer.org/doc/benchmark)
|
|
304
|
+
- [Intlayer Uyumluluk Adaptörleri](https://intlayer.org/doc/concept/compatibility)
|