@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
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2026-04-20
|
|
3
|
-
updatedAt: 2026-
|
|
3
|
+
updatedAt: 2026-09-11
|
|
4
4
|
title: 2026 में Next.js के लिए सर्वश्रेष्ठ i18n समाधान - बेंचमार्क रिपोर्ट
|
|
5
5
|
description: next-intl, next-i18next और Intlayer जैसे Next.js अंतर्राष्ट्रीयकरण (i18n) लाइब्रेरीज़ की तुलना करें। बंडल आकार, लीकेज और रिएक्टिविटी पर विस्तृत परफॉरमेंस रिपोर्ट।
|
|
6
6
|
keywords:
|
|
@@ -17,6 +17,9 @@ slugs:
|
|
|
17
17
|
author: aymericzip
|
|
18
18
|
applicationTemplate: https://github.com/intlayer-org/benchmark-i18n
|
|
19
19
|
history:
|
|
20
|
+
- version: 9.5.1
|
|
21
|
+
date: 2026-09-11
|
|
22
|
+
changes: "बेंचमार्क परिणाम अपडेट किए गए"
|
|
20
23
|
- version: 8.9.8
|
|
21
24
|
date: 2026-05-18
|
|
22
25
|
changes: "GitHub स्टार तुलना जोड़ें"
|
|
@@ -56,7 +59,7 @@ style="border:none;"
|
|
|
56
59
|
|
|
57
60
|
जैसे-जैसे आपका ऐप बढ़ता है, बंडल का आकार तेजी से बढ़ सकता है, जो परफॉरमेंस को काफी नुकसान पहुँचा सकता है।
|
|
58
61
|
|
|
59
|
-
उदाहरण के तौर पर, सबसे खराब मामलों में, अंतर्राष्ट्रीयकरण के बाद आपका पेज लगभग
|
|
62
|
+
उदाहरण के तौर पर, सबसे खराब मामलों में, अंतर्राष्ट्रीयकरण के बाद आपका पेज लगभग 2 गुना बड़ा हो सकता है।
|
|
60
63
|
|
|
61
64
|
i18n लाइब्रेरीज़ का एक अन्य प्रभाव धीमा विकास है। कंपोनेंट्स को विभिन्न भाषाओं में बहुभाषी सामग्री में बदलना समय लेने वाला काम है।
|
|
62
65
|
|
|
@@ -68,7 +71,7 @@ Intlayer इन सभी आयामों में अनुकूलन क
|
|
|
68
71
|
|
|
69
72
|
- **Intlayer** और **next-translate**: Next.js परफॉरमेंस के लिए सर्वोत्तम विकल्प, जो सबसे छोटा फुटप्रिंट और बेहतरीन स्टेटिक रेंडरिंग सपोर्ट प्रदान करते हैं।
|
|
70
73
|
- **next-intl**: वर्तमान में सबसे ट्रेंडी विकल्प, लेकिन बड़ेप्लिकेशन्स के लिए अनुकूलित करना भारी और जटिल है।
|
|
71
|
-
- **next-i18next**: लोकप्रिय और प्लगइन्स से भरपूर, लेकिन बंडल का आकार काफी अधिक है (~3 गुना Intlayer)।
|
|
74
|
+
- **next-i18next**: लोकप्रिय और प्लगइन्स से भरपूर, लेकिन बंडल का आकार काफी अधिक है (~3.5 गुना Intlayer)।
|
|
72
75
|
- **इनसे बचें**: गंभीर परफॉरमेंस समस्याओं, वेंडर लॉक-इन और बिल्ड को रोकने वाले बग्स के कारण **gt-next** और **lingo.dev** से बचें।
|
|
73
76
|
|
|
74
77
|
## अपने ऐप का परीक्षण करें
|
|
@@ -109,19 +112,21 @@ Intlayer इन सभी आयामों में अनुकूलन क
|
|
|
109
112
|
इस बेंचमार्क के लिए, हमने निम्नलिखित लाइब्रेरीज़ की तुलना की है:
|
|
110
113
|
|
|
111
114
|
- `Base App` (कोई i18n लाइब्रेरी नहीं)
|
|
112
|
-
- `next-intlayer` (
|
|
113
|
-
- `next-
|
|
114
|
-
- `next-
|
|
115
|
-
-
|
|
116
|
-
- `next-
|
|
115
|
+
- `next-intlayer` (v9.5.1)
|
|
116
|
+
- [`@intlayer/next-intl`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/compat/next-intl.md) (v9.5.1)
|
|
117
|
+
- [`@intlayer/next-i18next`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/compat/next-i18next.md) (v9.5.1)
|
|
118
|
+
- `next-i18next` (v16.3.0)
|
|
119
|
+
- `next-intl` (v4.14.2)
|
|
120
|
+
- `@lingui/core` (v6.6.0)
|
|
121
|
+
- `next-translate` (v3.2.0)
|
|
117
122
|
- `next-international` (v1.3.1)
|
|
118
123
|
- `@inlang/paraglide-js` (v2.15.1)
|
|
119
|
-
- `@tolgee/react` (v7.
|
|
120
|
-
- `@lingo.dev/compiler` (v0.4.
|
|
121
|
-
- `wuchale` (v0.
|
|
122
|
-
- `gt-next` (
|
|
124
|
+
- `@tolgee/react` (v7.2.0)
|
|
125
|
+
- `@lingo.dev/compiler` (v0.4.12)
|
|
126
|
+
- `wuchale` (v0.26.6)
|
|
127
|
+
- `gt-next` (v11.1.24)
|
|
123
128
|
|
|
124
|
-
मैंने एप्र राउटर के साथ `Next.js` वर्जन `16.
|
|
129
|
+
मैंने एप्र राउटर के साथ `Next.js` वर्जन `16.3.4` का उपयोग किया।
|
|
125
130
|
|
|
126
131
|
मैंने **10 पेजों** और **10 भाषाओं** के साथ एक बहुभाषी ऐप बनाया।
|
|
127
132
|
|
|
@@ -165,7 +170,7 @@ Intlayer इन सभी आयामों में अनुकूलन क
|
|
|
165
170
|
|
|
166
171
|
GitHub सितारे किसी प्रोजेक्ट की लोकप्रियता, सामुदायिक विश्वास और दीर्घकालिक प्रासंगिकता का एक मजबूत संकेतक हैं। हालांकि यह तकनीकी गुणवत्ता का प्रत्यक्ष माप नहीं है, वे दर्शाते हैं कि कितने डेवलपर्स प्रोजेक्ट को उपयोगी पाते हैं, इसकी प्रगति का पालन करते हैं, और इसे अपनाने की संभावना रखते हैं। किसी प्रोजेक्ट के मूल्य का अनुमान लगाने के लिए, सितारे विकल्पों के बीच कर्षण की तुलना करने में मदद करते हैं और पारिस्थितिकी तंत्र के विकास में अंतर्दृष्टि प्रदान करते हैं।
|
|
167
172
|
|
|
168
|
-
[](https://
|
|
173
|
+
[](https://star-history.com/#i18next/next-i18next&amannn/next-intl&lingui/js-lingui&vinissimus/next-translate&inostudio/next-international&opral/paraglide-js&tolgee/tolgee-js&aymericzip/intlayer)
|
|
169
174
|
|
|
170
175
|
## परिणाम विस्तार से
|
|
171
176
|
|
|
@@ -175,15 +180,15 @@ GitHub सितारे किसी प्रोजेक्ट की लो
|
|
|
175
180
|
|
|
176
181
|
सामना किए गए मुद्दे:
|
|
177
182
|
|
|
178
|
-
**(General Translation)** (`gt-next@
|
|
183
|
+
**(General Translation)** (`gt-next@11.1.24`):
|
|
179
184
|
|
|
180
|
-
-
|
|
185
|
+
- 141kb ऐप के लिए, `gt-next` 50kb से अधिक अतिरिक्त डेटा जोड़ता है।
|
|
181
186
|
- जनरल ट्रांसलेशन के साथ पहले ही बिल्ड पर `Quota Exceeded, please upgrade your plan` संदेश।
|
|
182
187
|
- अनुवाद रेंडर नहीं होते हैं; मुझे एरर मिलता है `Error: <T> used on the client-side outside of <GTProvider>` , जो लाइब्रेरी में एक बग लगता है।
|
|
183
188
|
- **gt-next** को लागू करने के दौरान, मुझे लाइब्रेरी के साथ एक [इश्यू](https://github.com/generaltranslation/gt/issues/1210#event-24510646961) भी मिला: `does not provide an export named 'printAST' - @formatjs/icu-messageformat-parser` एरर, जिससे एप्लिकेशन क्रैश हो रहा था। इस समस्या की रिपोर्ट करने के बाद, मेंटेनर ने इसे 24 घंटों के भीतर ठीक कर दिया।
|
|
184
189
|
- लाइब्रेरी Next.js पेजों के स्टेटिक रेंडरिंग को ब्लॉक करती है।
|
|
185
190
|
|
|
186
|
-
**(Lingo.dev)** (`@lingo.dev/compiler@0.4.
|
|
191
|
+
**(Lingo.dev)** (`@lingo.dev/compiler@0.4.12`):
|
|
187
192
|
|
|
188
193
|
- AI कोटा समाप्त हो गया, जिससे बिल्ड पूरी तरह से अवरुद्ध हो गया-इसलिए आप भुगतान किए बिना प्रोडक्शन में नहीं जा सकते।
|
|
189
194
|
- कंपाइलर अनुवादित सामग्री के लगभग 40% को मिस कर रहा था। मुझे इसे काम कराने के लिए सभी `.map` को फ्लैट कंपोनेंट ब्लॉक्स में दोबारा लिखना पड़ा।
|
|
@@ -192,7 +197,7 @@ GitHub सितारे किसी प्रोजेक्ट की लो
|
|
|
192
197
|
|
|
193
198
|
### 2 - प्रयोगात्मक समाधान
|
|
194
199
|
|
|
195
|
-
**(Wuchale)** (`wuchale@0.
|
|
200
|
+
**(Wuchale)** (`wuchale@0.26.6`):
|
|
196
201
|
|
|
197
202
|
`Wuchale` के पीछे का विचार दिलचस्प है लेकिन अभी तक व्यवहार्य नहीं है। मुझे रिएक्टिविटी के मुद्दों का सामना करना पड़ा और ऐप को काम कराने के लिए प्रोवाइडर के फोर्स री-रेंडर की आवश्यकता थी। दस्तावेज़ीकरण भी काफी अस्पष्ट है, जिससे ऑनबोर्डिंग कठिन हो जाती है।
|
|
198
203
|
|
|
@@ -202,21 +207,21 @@ GitHub सितारे किसी प्रोजेक्ट की लो
|
|
|
202
207
|
व्यक्तिगत रूप से मुझे हर पुश से पहले JS फ़ाइलों को दोबारा उत्पन्न करना पसंद नहीं है, जो PR के माध्यम से लगातार मर्ज संघर्ष का जोखिम पैदा करता है। यह टूल Next.js की तुलना में Vite पर अधिक केंद्रित लगता है।
|
|
203
208
|
अंत में, अन्य समाधानों की तुलना में, Paraglide सामग्री रेंडर करने के लिए वर्तमान लोकेल को पुनः प्राप्त करने के लिए स्टोर (उदा. React context) का उपयोग नहीं करता है। पार्स किए गए प्रत्येक नोड के लिए, यह localStorage / कुकी आदि से लोकेल का अनुरोध करेगा। यह अनावश्यक तर्क के निष्पादन की ओर ले जाता है जो कंपोनेंट रिएक्टिविटी को प्रभावित करता है।
|
|
204
209
|
|
|
205
|
-
> Paraglide पर नोट: यह समाधान इम्पोर्ट के लिए आपके कोडबेस में कोड इंजेक्ट करता है, जिसके परिणामस्वरूप बेंचमार्क रिपोर्ट में 'लाइब्रेरी आकार' मीट्रिक लगभग 0 है। कोड जेनरेशन एक अच्छी चीज़ है, क्योंकि उपयोग किया जाने वाला फंक्शन केवल आवश्यक लॉजिक (सभी प्रीफ़िक्स बनाम कोई प्रीफ़िक्स नहीं, कुकीज़ बनाम स्टोरेज, आदि) शामिल करेगा। इसकी तुलना में, Intlayer बिल्ड में एनवायरनमेंट वेरिएबल इंजेक्शन के माध्यम से यह फ़िल्टरिंग करता है ताकि बंडलर को लॉजिक के आधार पर सामग्री को ट्री-शेक करने के लिए मजबूर किया जा सके। इसके कारण, paraglide और intlayer अंत में i18next या next-intl की तुलना में
|
|
210
|
+
> Paraglide पर नोट: यह समाधान इम्पोर्ट के लिए आपके कोडबेस में कोड इंजेक्ट करता है, जिसके परिणामस्वरूप बेंचमार्क रिपोर्ट में 'लाइब्रेरी आकार' मीट्रिक लगभग 0 है। कोड जेनरेशन एक अच्छी चीज़ है, क्योंकि उपयोग किया जाने वाला फंक्शन केवल आवश्यक लॉजिक (सभी प्रीफ़िक्स बनाम कोई प्रीफ़िक्स नहीं, कुकीज़ बनाम स्टोरेज, आदि) शामिल करेगा। इसकी तुलना में, Intlayer बिल्ड में एनवायरनमेंट वेरिएबल इंजेक्शन के माध्यम से यह फ़िल्टरिंग करता है ताकि बंडलर को लॉजिक के आधार पर सामग्री को ट्री-शेक करने के लिए मजबूर किया जा सके। इसके कारण, paraglide और intlayer अंत में i18next या next-intl की तुलना में 3 से 8 गुना हल्के समाधान साबित होते हैं।
|
|
206
211
|
|
|
207
212
|
### 3 - स्वीकार्य समाधान
|
|
208
213
|
|
|
209
|
-
**(Tolgee)** (`@tolgee/react@7.
|
|
214
|
+
**(Tolgee)** (`@tolgee/react@7.2.0`):
|
|
210
215
|
|
|
211
216
|
`Tolgee` पहले उल्लेखित कई मुद्दों को संबोधित करता है। मुझे लगा कि इसे अपनाना समान उपकरणों की तुलना में कठिन है। यह टाइप सेफ्टी (type safety) प्रदान नहीं करता है, जिससे कंपाइल समय पर गायब कीज़ को पकड़ना भी कठिन हो जाता है। गायब-की पहचान जोड़ने के लिए मुझे Tolgee के फंक्शन्स को अपने फंक्शन्स के साथ रैप करना पड़ा।
|
|
212
217
|
|
|
213
|
-
**(Next Intl)** (`next-intl@4.
|
|
218
|
+
**(Next Intl)** (`next-intl@4.14.2`):
|
|
214
219
|
|
|
215
|
-
`next-intl` वर्तमान में सबसे ट्रेंडी विकल्प है और जिसे AI एजेंट सबसे अधिक पुश करते हैं, लेकिन मेरी दृष्टि में गलत तरीके से। शुरुआत करना आसान है। व्यवहार में, लीकेज को सीमित करने के लिए अनुकूलन जटिल है। डायनेमिक लोडिंग + नेमस्पेसिंग + TypeScript टाइप्स को जोड़ना विकास को बहुत धीमा कर देता है। पैकेज भी काफी भारी है ( `NextIntlClientProvider` + `useTranslations` के लिए ~
|
|
220
|
+
`next-intl` वर्तमान में सबसे ट्रेंडी विकल्प है और जिसे AI एजेंट सबसे अधिक पुश करते हैं, लेकिन मेरी दृष्टि में गलत तरीके से। शुरुआत करना आसान है। व्यवहार में, लीकेज को सीमित करने के लिए अनुकूलन जटिल है। डायनेमिक लोडिंग + नेमस्पेसिंग + TypeScript टाइप्स को जोड़ना विकास को बहुत धीमा कर देता है। पैकेज भी काफी भारी है ( `NextIntlClientProvider` + `useTranslations` के लिए ~14.7kb, जो `next-intlayer` के 2.5 गुना से अधिक है)। **next-intl** पहले Next.js पेजों के स्टेटिक रेंडरिंग को ब्लॉक करता था। यह `setRequestLocale()` नाम का एक हेल्पर प्रदान करता है। `en.json` / `fr.json` जैसी केंद्रित फ़ाइलों के लिए इसे आंशिक रूप से संबोधित किया गया लगता है, लेकिन सामग्री के `en/shared.json` / `fr/shared.json` / `es/shared.json` जैसे नेमस्पेस में विभाजित होने पर स्टेटिक रेंडरिंग अभी भी टूट जाती है।
|
|
216
221
|
|
|
217
|
-
**(Next I18next)** (`next-i18next@16.0
|
|
222
|
+
**(Next I18next)** (`next-i18next@16.3.0`):
|
|
218
223
|
|
|
219
|
-
`next-i18next` शायद सबसे लोकप्रिय विकल्प है क्योंकि यह जावास्क्रिप्ट ऐप्स i18n समाधानों में सबसे पहले आया था। इसके कई कम्युनिटी प्लगइन्स हैं। इसमें `next-intl` जैसी ही प्रमुख कमियाँ हैं। पैकेज विशेष रूप से भारी है ( `I18nProvider` + `useTranslation` के लिए ~
|
|
224
|
+
`next-i18next` शायद सबसे लोकप्रिय विकल्प है क्योंकि यह जावास्क्रिप्ट ऐप्स i18n समाधानों में सबसे पहले आया था। इसके कई कम्युनिटी प्लगइन्स हैं। इसमें `next-intl` जैसी ही प्रमुख कमियाँ हैं। पैकेज विशेष रूप से भारी है ( `I18nProvider` + `useTranslation` के लिए ~19.7kb, `next-intlayer` के लगभग 3.5 गुना)।
|
|
220
225
|
|
|
221
226
|
मैसेज फॉर्मेट्स भी भिन्न हैं: `next-intl` ICU MessageFormat का उपयोग करता है, जबकि `i18next` अपने स्वयं के फॉर्मेट का उपयोग करता है।
|
|
222
227
|
|
|
@@ -224,17 +229,17 @@ GitHub सितारे किसी प्रोजेक्ट की लो
|
|
|
224
229
|
|
|
225
230
|
`next-international` भी ऊपर उल्लेखित मुद्दों को हल करता है लेकिन `next-intl` या `next-i18next` से बहुत अलग नहीं है। इसमें नेमस्पेस-विशिष्ट अनुवादों के लिए `scopedT()` शामिल है, लेकिन इसका उपयोग करने का बंडल आकार पर लगभग कोई प्रभाव नहीं पड़ता है।
|
|
226
231
|
|
|
227
|
-
**(Lingui)** (`@lingui/core@
|
|
232
|
+
**(Lingui)** (`@lingui/core@6.6.0`):
|
|
228
233
|
|
|
229
234
|
`Lingui` की अक्सर प्रशंसा की जाती है। व्यक्तिगत रूप से मुझे `lingui extract` / `lingui compile` वर्कफ़्लो विकल्पों की तुलना में अधिक जटिल लगा, बिना किसी स्पष्ट लाभ के। मैंने असंगत सिंटैक्स भी देखे जो AI को भ्रमित करते हैं (उदा. `t()`, `t''`, `i18n.t()`, `<Trans>`) ।
|
|
230
235
|
|
|
231
236
|
### 4 - सिफारिशें
|
|
232
237
|
|
|
233
|
-
**(Next Translate)** (`next-translate@3.
|
|
238
|
+
**(Next Translate)** (`next-translate@3.2.0`):
|
|
234
239
|
|
|
235
|
-
यदि आप `t()` स्टाइल की API पसंद करते हैं, तो `next-translate` मेरी मुख्य सिफारिश है। यह `next-translate-plugin` के माध्यम से सुंदर ढंग से काम करता है, जो Webpack / Turbopack लोडर के माध्यम से `getStaticProps` में नेमस्पेस लोड करता है। यह यहाँ सबसे
|
|
240
|
+
यदि आप `t()` स्टाइल की API पसंद करते हैं, तो `next-translate` मेरी मुख्य सिफारिश है। यह `next-translate-plugin` के माध्यम से सुंदर ढंग से काम करता है, जो Webpack / Turbopack लोडर के माध्यम से `getStaticProps` में नेमस्पेस लोड करता है। यह यहाँ के सबसे हल्के विकल्पों में से एक भी है (~3.5kb)। नेमस्पेसिंग के पार, कॉन्फ़िगरेशन में प्रति पेज या रूट नेमस्पेस परिभाषित करना अच्छी तरह से सोचा गया है और **next-intl** या **next-i18next** जैसे मुख्य विकल्पों की तुलना में बनाए रखना आसान है। वर्जन `3.1.2` में, मैंने पाया कि स्टेटिक रेंडरिंग काम नहीं करती थी; Next.js डायनेमिक रेंडरिंग पर वापस चला गया।
|
|
236
241
|
|
|
237
|
-
**(Intlayer)** (`next-intlayer@
|
|
242
|
+
**(Intlayer)** (`next-intlayer@9.5.1`):
|
|
238
243
|
|
|
239
244
|
निष्पक्षता के लिए मैं व्यक्तिगत रूप से मेरे स्वयं के समाधान `next-intlayer` पर निर्णय नहीं दूँगा।
|
|
240
245
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2026-04-20
|
|
3
|
-
updatedAt: 2026-
|
|
3
|
+
updatedAt: 2026-09-11
|
|
4
4
|
title: 2026 में Solid के लिए सर्वश्रेष्ठ i18n समाधान - बेंचमार्क रिपोर्ट
|
|
5
5
|
description: solid-primitives, solid-i18next, और Intlayer जैसे Solid अंतर्राष्ट्रीयकरण (i18n) पुस्तकालयों की तुलना करें। बंडल आकार, लीकेज और प्रतिक्रियाशीलता पर विस्तृत प्रदर्शन रिपोर्ट।
|
|
6
6
|
keywords:
|
|
@@ -17,6 +17,9 @@ slugs:
|
|
|
17
17
|
author: aymericzip
|
|
18
18
|
applicationTemplate: https://github.com/intlayer-org/benchmark-i18n-solid-template
|
|
19
19
|
history:
|
|
20
|
+
- version: 9.5.1
|
|
21
|
+
date: 2026-09-11
|
|
22
|
+
changes: "बेंचमार्क परिणाम अपडेट किए गए"
|
|
20
23
|
- version: 8.9.8
|
|
21
24
|
date: 2026-05-18
|
|
22
25
|
changes: "GitHub स्टार तुलना जोड़ें"
|
|
@@ -62,9 +65,9 @@ Solid ऐप में अंतर्राष्ट्रीयकरण (Inte
|
|
|
62
65
|
|
|
63
66
|
## TL;DR
|
|
64
67
|
|
|
65
|
-
- **Intlayer**: उन्नत सुविधाओं और अनुकूलन की आवश्यकता वाले पेशेवर Solid अनुप्रयोगों के लिए अनुशंसित विकल्प (
|
|
68
|
+
- **Intlayer**: उन्नत सुविधाओं और अनुकूलन की आवश्यकता वाले पेशेवर Solid अनुप्रयोगों के लिए अनुशंसित विकल्प (v9.5.0)।
|
|
66
69
|
- **@solid-primitives/i18n**: सरल परियोजनाओं के लिए उत्कृष्ट हल्का विकल्प, हालांकि इसमें लेज़ी लोडिंग (lazy loading) जैसी उन्नत सुविधाओं का अभाव है।
|
|
67
|
-
- **solid-i18next**: मानक लेकिन भारी विकल्प (~
|
|
70
|
+
- **solid-i18next**: मानक लेकिन भारी विकल्प (~3.5x Intlayer) जिसमें React i18next वाले ही नकारात्मक पक्ष हैं।
|
|
68
71
|
- **Paraglide**: अभिनव दृष्टिकोण लेकिन जटिल DX और कुछ सेटअपों में ट्री-शेकिंग (tree-shaking) के मुद्दे।
|
|
69
72
|
|
|
70
73
|
## अपने ऐप का परीक्षण करें
|
|
@@ -97,10 +100,10 @@ i18n लीकेज समस्याओं को तुरंत पहच
|
|
|
97
100
|
इस बेंचमार्क के लिए, हमने निम्नलिखित पुस्तकालयों की तुलना की:
|
|
98
101
|
|
|
99
102
|
- `Base App` (कोई i18n पुस्तकालय नहीं)
|
|
100
|
-
- `solid-intlayer` (
|
|
103
|
+
- `solid-intlayer` (v9.5.0)
|
|
101
104
|
- `@solid-primitives/i18n` (v2.2.1)
|
|
102
|
-
- `solid-i18next` (
|
|
103
|
-
- `@inlang/paraglide-js` (v2.
|
|
105
|
+
- `i18next` (v26.0.8) + `@mbarzda/solid-i18next` (v1.4.1)
|
|
106
|
+
- `@inlang/paraglide-js` (v2.25.1)
|
|
104
107
|
|
|
105
108
|
फ्रेमवर्क `Solid` है जिसमें **10 पृष्ठों** और **10 भाषाओं** का एक बहुभाषी ऐप है।
|
|
106
109
|
|
|
@@ -144,7 +147,7 @@ i18n लीकेज समस्याओं को तुरंत पहच
|
|
|
144
147
|
|
|
145
148
|
GitHub सितारे किसी प्रोजेक्ट की लोकप्रियता, सामुदायिक विश्वास और दीर्घकालिक प्रासंगिकता का एक मजबूत संकेतक हैं। हालांकि यह तकनीकी गुणवत्ता का प्रत्यक्ष माप नहीं है, वे दर्शाते हैं कि कितने डेवलपर्स प्रोजेक्ट को उपयोगी पाते हैं, इसकी प्रगति का पालन करते हैं, और इसे अपनाने की संभावना रखते हैं। किसी प्रोजेक्ट के मूल्य का अनुमान लगाने के लिए, सितारे विकल्पों के बीच कर्षण की तुलना करने में मदद करते हैं और पारिस्थितिकी तंत्र के विकास में अंतर्दृष्टि प्रदान करते हैं।
|
|
146
149
|
|
|
147
|
-
[](https://
|
|
150
|
+
[](https://star-history.com/#solidjs-community/solid-primitives&mbarzda/solid-i18next&opral/paraglide-js&aymericzip/intlayer)
|
|
148
151
|
|
|
149
152
|
## विवरण में परिणाम
|
|
150
153
|
|
|
@@ -154,11 +157,11 @@ GitHub सितारे किसी प्रोजेक्ट की लो
|
|
|
154
157
|
|
|
155
158
|
### 2 - स्वीकार्य समाधान
|
|
156
159
|
|
|
157
|
-
**(solid-i18next)** (`
|
|
160
|
+
**(solid-i18next)** (`i18next@26.0.8`):
|
|
158
161
|
|
|
159
162
|
`solid-i18next` शायद सबसे लोकप्रिय विकल्प है क्योंकि यह JavaScript ऐप i18n जरूरतों को पूरा करने वाले पहले समाधानों में से एक था। इसमें विशिष्ट समस्याओं के लिए सामुदायिक प्लगइन्स का एक विस्तृत सेट भी है।
|
|
160
163
|
|
|
161
|
-
पैकेज भारी है (~14.
|
|
164
|
+
पैकेज भारी है (~14.9kb, जो `solid-intlayer` से लगभग 3.5 गुना है)।
|
|
162
165
|
|
|
163
166
|
फिर भी, यह `t('a.b.c')` पर बने स्टैक्स के समान ही प्रमुख नकारात्मक पक्ष साझा करता है: अनुकूलन संभव है लेकिन बहुत समय लेने वाला है, और बड़ी परियोजनाओं में खराब प्रथाओं (नेमस्पेस + डायनेमिक लोडिंग + प्रकार) का जोखिम होता है।
|
|
164
167
|
|
|
@@ -167,7 +170,7 @@ GitHub सितारे किसी प्रोजेक्ट की लो
|
|
|
167
170
|
Solid primitive बेहद हल्का और कुशल है। मैं उन परियोजनाओं के लिए इस समाधान की अनुशंसा करता हूं जो बहुत हल्की हैं, लेकिन इसमें पेशेवर समाधानों के लिए सुविधाओं की जल्दी कमी हो सकती है जिसमें कुकी प्रबंधन, प्रॉक्सी पुनर्निर्देशन, फ़ॉर्मेटर्स आदि शामिल हैं।
|
|
168
171
|
इसमें पृष्ठ आकार अनुकूलन के लिए लेज़ी लोडिंग और स्कोपिंग नेमस्पेस की भी कमी है।
|
|
169
172
|
|
|
170
|
-
**(Paraglide)** (`@inlang/paraglide-js@2.
|
|
173
|
+
**(Paraglide)** (`@inlang/paraglide-js@2.25.1`):
|
|
171
174
|
|
|
172
175
|
`Paraglide` एक अभिनव, सुविचारित दृष्टिकोण प्रदान करता है। फिर भी, इस बेंचमार्क में उनकी कंपनी द्वारा विज्ञापित ट्री-शेकिंग मेरे कार्यान्वयन के लिए काम नहीं कर पाई। वर्कफ़्लो और DX भी अन्य विकल्पों की तुलना में अधिक जटिल हैं।
|
|
173
176
|
व्यक्तिगत रूप से मैं हर पुश से पहले JS फ़ाइलों को पुनर्जीवित करना पसंद नहीं करता, जो PR के माध्यम से निरंतर मर्ज संघर्ष जोखिम पैदा करता है।
|
|
@@ -175,7 +178,7 @@ Solid primitive बेहद हल्का और कुशल है। म
|
|
|
175
178
|
|
|
176
179
|
### 3 - सिफारिशें
|
|
177
180
|
|
|
178
|
-
**(Intlayer)** (`solid-intlayer@
|
|
181
|
+
**(Intlayer)** (`solid-intlayer@9.5.0`):
|
|
179
182
|
|
|
180
183
|
मैं निष्पक्षता के लिए व्यक्तिगत रूप से `solid-intlayer` का न्याय नहीं करूँगा, क्योंकि यह मेरा अपना समाधान है।
|
|
181
184
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2026-04-20
|
|
3
|
-
updatedAt: 2026-
|
|
3
|
+
updatedAt: 2026-09-11
|
|
4
4
|
title: 2026 में Svelte के लिए सर्वश्रेष्ठ i18n समाधान - बेंचमार्क रिपोर्ट
|
|
5
5
|
description: svelte-i18n, Paraglide, और Intlayer जैसे Svelte अंतर्राष्ट्रीयकरण (i18n) पुस्तकालयों की तुलना करें। बंडल आकार, लीकेज और प्रतिक्रियाशीलता पर विस्तृत प्रदर्शन रिपोर्ट।
|
|
6
6
|
keywords:
|
|
@@ -17,6 +17,9 @@ slugs:
|
|
|
17
17
|
author: aymericzip
|
|
18
18
|
applicationTemplate: https://github.com/intlayer-org/benchmark-i18n-svelte-template
|
|
19
19
|
history:
|
|
20
|
+
- version: 9.5.1
|
|
21
|
+
date: 2026-09-11
|
|
22
|
+
changes: "बेंचमार्क परिणाम अपडेट किए गए"
|
|
20
23
|
- version: 8.9.8
|
|
21
24
|
date: 2026-05-18
|
|
22
25
|
changes: "GitHub स्टार तुलना जोड़ें"
|
|
@@ -62,9 +65,9 @@ Svelte ऐप में अंतर्राष्ट्रीयकरण (Int
|
|
|
62
65
|
|
|
63
66
|
## TL;DR
|
|
64
67
|
|
|
65
|
-
- **Intlayer**: सबसे छोटे पदचिह्न (footprint) के साथ सबसे प्रदर्शन-कुशल विकल्प (
|
|
68
|
+
- **Intlayer**: सबसे छोटे पदचिह्न (footprint) के साथ सबसे प्रदर्शन-कुशल विकल्प (v9.5.0)।
|
|
66
69
|
- **Paraglide**: ट्री-शेकिंग (tree-shaking) के लिए मजबूत दावेदार लेकिन इसमें अधिक जटिल डेवलपर अनुभव और प्रतिक्रियाशीलता ओवरहेड है।
|
|
67
|
-
- **svelte-i18n**: Svelte के लिए व्यापक और मानक, लेकिन बहुत बड़े बंडल वजन (~
|
|
70
|
+
- **svelte-i18n**: Svelte के लिए व्यापक और मानक, लेकिन बहुत बड़े बंडल वजन (~4.5x Intlayer) के साथ आता है।
|
|
68
71
|
|
|
69
72
|
## अपने ऐप का परीक्षण करें
|
|
70
73
|
|
|
@@ -96,9 +99,9 @@ i18n लीकेज समस्याओं को तुरंत पहच
|
|
|
96
99
|
इस बेंचमार्क के लिए, हमने निम्नलिखित पुस्तकालयों की तुलना की:
|
|
97
100
|
|
|
98
101
|
- `Base App` (कोई i18n पुस्तकालय नहीं)
|
|
99
|
-
- `svelte-intlayer` (
|
|
102
|
+
- `svelte-intlayer` (v9.5.0)
|
|
100
103
|
- `svelte-i18n` (v4.0.1)
|
|
101
|
-
- `@inlang/paraglide-js` (v2.
|
|
104
|
+
- `@inlang/paraglide-js` (v2.25.1)
|
|
102
105
|
|
|
103
106
|
फ्रेमवर्क `Svelte` है जिसमें **10 पृष्ठों** और **10 भाषाओं** का एक बहुभाषी ऐप है।
|
|
104
107
|
|
|
@@ -142,7 +145,7 @@ i18n लीकेज समस्याओं को तुरंत पहच
|
|
|
142
145
|
|
|
143
146
|
GitHub सितारे किसी प्रोजेक्ट की लोकप्रियता, सामुदायिक विश्वास और दीर्घकालिक प्रासंगिकता का एक मजबूत संकेतक हैं। हालांकि यह तकनीकी गुणवत्ता का प्रत्यक्ष माप नहीं है, वे दर्शाते हैं कि कितने डेवलपर्स प्रोजेक्ट को उपयोगी पाते हैं, इसकी प्रगति का पालन करते हैं, और इसे अपनाने की संभावना रखते हैं। किसी प्रोजेक्ट के मूल्य का अनुमान लगाने के लिए, सितारे विकल्पों के बीच कर्षण की तुलना करने में मदद करते हैं और पारिस्थितिकी तंत्र के विकास में अंतर्दृष्टि प्रदान करते हैं।
|
|
144
147
|
|
|
145
|
-
[](https://
|
|
148
|
+
[](https://star-history.com/#kaisermann/svelte-i18n&opral/paraglide-js&aymericzip/intlayer)
|
|
146
149
|
|
|
147
150
|
## विवरण में परिणाम
|
|
148
151
|
|
|
@@ -152,7 +155,7 @@ GitHub सितारे किसी प्रोजेक्ट की लो
|
|
|
152
155
|
|
|
153
156
|
### 2 - स्वीकार्य समाधान
|
|
154
157
|
|
|
155
|
-
**(Paraglide)** (`@inlang/paraglide-js@2.
|
|
158
|
+
**(Paraglide)** (`@inlang/paraglide-js@2.25.1`):
|
|
156
159
|
|
|
157
160
|
`Paraglide` एक अभिनव, सुविचारित दृष्टिकोण प्रदान करता है। Vite + Svelte ऐप के संदर्भ में, उनकी कंपनी द्वारा विज्ञापित ट्री-शेकिंग अपेक्षा के अनुरूप काम करती है, जो बहुत अच्छी बात है।
|
|
158
161
|
लेकिन React + TanStack Start के मामले में, ट्री-शेकिंग ने अपेक्षा के अनुरूप काम नहीं किया, Next.js के लिए भी यही स्थिति रही। उस ने कहा, Svelte और TanStack Start प्रोजेक्ट में Paraglide के उपयोग की दोबारा जांच करना सार्थक होगा।
|
|
@@ -162,13 +165,13 @@ GitHub सितारे किसी प्रोजेक्ट की लो
|
|
|
162
165
|
|
|
163
166
|
> Paraglide पर ध्यान दें: समाधान आयात के लिए आपके कोडबेस में कोड इंजेक्ट करता है; परिणामस्वरूप, बेंचमार्क रिपोर्ट में 'lib size' मीट्रिक लगभग 0 है। कोड जेनरेशन एक अच्छी बात है, क्योंकि उपयोग किए गए फ़ंक्शन में केवल आवश्यक तर्क शामिल होंगे (हर जगह प्रीफ़िक्स बनाम कोई प्रीफ़िक्स नहीं, कुकी बनाम स्टोरेज आदि)। तुलनात्मक रूप से, Intlayer तर्क के आधार पर सामग्री को ट्री-शेक करने के लिए बंडलर को मजबूर करने के लिए बिल्ड में पर्यावरण चर इंजेक्शन के माध्यम से यह फ़िल्टरिंग करता है। इसके कारण, paraglide और intlayer i18next या next-intl की तुलना में 6 से 10 गुना हल्के समाधान साबित होते हैं।
|
|
164
167
|
|
|
165
|
-
**(svelte-i18n)** (`svelte-i18n@
|
|
168
|
+
**(svelte-i18n)** (`svelte-i18n@4.0.1`):
|
|
166
169
|
|
|
167
|
-
यह समाधान Svelte प्रोजेक्ट में सभी i18n आवश्यकताओं को पूरा करता है। लेकिन जैसा कि i18next या अन्य प्रमुख i18n समाधानों के मामले में होता है, यह थोड़ा भारी है (~
|
|
170
|
+
यह समाधान Svelte प्रोजेक्ट में सभी i18n आवश्यकताओं को पूरा करता है। लेकिन जैसा कि i18next या अन्य प्रमुख i18n समाधानों के मामले में होता है, यह थोड़ा भारी है (~16.6kb, जो `svelte-intlayer` से लगभग 4.5 गुना है)।
|
|
168
171
|
|
|
169
172
|
### 3 - सिफारिशें
|
|
170
173
|
|
|
171
|
-
**(Intlayer)** (`svelte-intlayer@
|
|
174
|
+
**(Intlayer)** (`svelte-intlayer@9.5.0`):
|
|
172
175
|
|
|
173
176
|
मैं निष्पक्षता के लिए व्यक्तिगत रूप से `svelte-intlayer` का न्याय नहीं करूँगा, क्योंकि यह मेरा अपना समाधान है।
|
|
174
177
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2026-04-20
|
|
3
|
-
updatedAt: 2026-
|
|
3
|
+
updatedAt: 2026-09-11
|
|
4
4
|
title: 2026 में TanStack Start के लिए सर्वश्रेष्ठ i18n समाधान - बेंचमार्क रिपोर्ट
|
|
5
5
|
description: react-i18next, use-intl और Intlayer जैसे TanStack Start अंतर्राष्ट्रीयकरण लाइब्रेरीज़ की तुलना करें। बंडल आकार, लीकेज और रिएक्टिविटी पर विस्तृत परफॉरमेंस रिपोर्ट।
|
|
6
6
|
keywords:
|
|
@@ -17,6 +17,9 @@ slugs:
|
|
|
17
17
|
author: aymericzip
|
|
18
18
|
applicationTemplate: https://github.com/intlayer-org/benchmark-i18n-tanstack-start-template
|
|
19
19
|
history:
|
|
20
|
+
- version: 9.5.1
|
|
21
|
+
date: 2026-09-11
|
|
22
|
+
changes: "बेंचमार्क परिणाम अपडेट किए गए"
|
|
20
23
|
- version: 8.9.8
|
|
21
24
|
date: 2026-05-18
|
|
22
25
|
changes: "GitHub स्टार तुलना जोड़ें"
|
|
@@ -62,7 +65,7 @@ history:
|
|
|
62
65
|
|
|
63
66
|
## TL;DR
|
|
64
67
|
|
|
65
|
-
- **Intlayer**: TanStack Start के लिए सर्वश्रेष्ठ प्रदर्शन और सबसे छोटा बंडल आकार (
|
|
68
|
+
- **Intlayer**: TanStack Start के लिए सर्वश्रेष्ठ प्रदर्शन और सबसे छोटा बंडल आकार (v9.5.1) प्रदान करता है।
|
|
66
69
|
- **react-i18next** और **use-intl**: बड़े ईकोसिस्टम वाले परिपक्व विकल्प, लेकिन अनुकूलन के लिए काफी भारी और अधिक जटिल।
|
|
67
70
|
- **Paraglide**: अभिनव ट्री-शेकिंग विचार जो व्यवहार में काम नहीं करता है। TanStack Start में जटिल DX और रिएक्टिविटी ओवरहेड।
|
|
68
71
|
- **बचें**: **General Translation (GT)** और **Lingo.dev** गंभीर प्रदर्शन समस्याओं, AI कोटा सीमाओं और वेंडर लॉक-इन (vendor lock-in) के कारण।
|
|
@@ -97,16 +100,18 @@ i18n लीकेज के मुद्दों को तेज़ी से
|
|
|
97
100
|
इस बेंचमार्क के लिए, हमने निम्नलिखित लाइब्रेरीज़ की तुलना की है:
|
|
98
101
|
|
|
99
102
|
- `Base App` (कोई i18n लाइब्रेरी नहीं)
|
|
100
|
-
- `react-intlayer` (
|
|
101
|
-
-
|
|
102
|
-
- `
|
|
103
|
-
-
|
|
103
|
+
- `react-intlayer` (v9.5.1)
|
|
104
|
+
- `@intlayer/use-intl` (v9.5.1)
|
|
105
|
+
- [`@intlayer/lingui`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/compat/lingui.md) (v9.5.1)
|
|
106
|
+
- `react-i18next` (v17.0.13)
|
|
107
|
+
- `use-intl` (v4.14.2)
|
|
108
|
+
- `@lingui/core` (v6.6.0)
|
|
104
109
|
- `@inlang/paraglide-js` (v2.15.1)
|
|
105
|
-
- `@tolgee/react` (v7.
|
|
106
|
-
- `react-intl` (v10.1.
|
|
107
|
-
- `wuchale` (v0.
|
|
108
|
-
- `gt-react` (
|
|
109
|
-
- `lingo.dev` (v0.
|
|
110
|
+
- `@tolgee/react` (v7.2.0)
|
|
111
|
+
- `react-intl` (v10.1.26)
|
|
112
|
+
- `wuchale` (v0.26.6)
|
|
113
|
+
- `gt-react` (v10.18.3)
|
|
114
|
+
- `lingo.dev` (v0.138.7)
|
|
110
115
|
|
|
111
116
|
फ़्रेमवर्क **10 पेजों** और **10 भाषाओं** के मल्टीलिंगुअल ऐप के साथ `TanStack Start` है।
|
|
112
117
|
|
|
@@ -150,7 +155,7 @@ i18n लीकेज के मुद्दों को तेज़ी से
|
|
|
150
155
|
|
|
151
156
|
GitHub सितारे किसी प्रोजेक्ट की लोकप्रियता, सामुदायिक विश्वास और दीर्घकालिक प्रासंगिकता का एक मजबूत संकेतक हैं। हालांकि यह तकनीकी गुणवत्ता का प्रत्यक्ष माप नहीं है, वे दर्शाते हैं कि कितने डेवलपर्स प्रोजेक्ट को उपयोगी पाते हैं, इसकी प्रगति का पालन करते हैं, और इसे अपनाने की संभावना रखते हैं। किसी प्रोजेक्ट के मूल्य का अनुमान लगाने के लिए, सितारे विकल्पों के बीच कर्षण की तुलना करने में मदद करते हैं और पारिस्थितिकी तंत्र के विकास में अंतर्दृष्टि प्रदान करते हैं।
|
|
152
157
|
|
|
153
|
-
[](https://
|
|
158
|
+
[](https://star-history.com/#formatjs/formatjs&i18next/react-i18next&lingui/js-lingui&amannn/next-intl&opral/paraglide-js&tolgee/tolgee-js&aymericzip/intlayer)
|
|
154
159
|
|
|
155
160
|
## परिणाम विस्तार से
|
|
156
161
|
|
|
@@ -160,15 +165,15 @@ GitHub सितारे किसी प्रोजेक्ट की लो
|
|
|
160
165
|
|
|
161
166
|
सामना किए गए मुद्दे:
|
|
162
167
|
|
|
163
|
-
**(General Translation)** (`gt-react@
|
|
168
|
+
**(General Translation)** (`gt-react@10.18.3`):
|
|
164
169
|
|
|
165
|
-
- लगभग
|
|
170
|
+
- लगभग 111kb के ऐप के लिए, `gt-react` 170kb से अधिक अतिरिक्त डेटा जोड़ सकता है (इसी बेंचमार्क में Next.js कार्यान्वयन पर देखा गया परिमाण)।
|
|
166
171
|
- जनरल ट्रांसलेशन के साथ पहले ही बिल्ड पर `Quota Exceeded, please upgrade your plan` संदेश।
|
|
167
172
|
- अनुवाद रेंडर नहीं होते हैं; मुझे एरर मिलता है `Error: <T> used on the client-side outside of <GTProvider>` , जो लाइब्रेरी में एक बग लगता है।
|
|
168
173
|
- **gt-tanstack-start-react** को लागू करने के दौरान, मुझे लाइब्रेरी के साथ एक [इश्यू](https://github.com/generaltranslation/gt/issues/1210#event-24510646961) भी मिला: `does not provide an export named 'printAST' - @formatjs/icu-messageformat-parser` एरर, जिससे एप्लिकेशन क्रैश हो रहा था। रिपोर्ट करने के बाद, मेंटेनर ने इसे 24 घंटों के भीतर ठीक कर दिया।
|
|
169
174
|
- ये लाइब्रेरीज़ `initializeGT()` फ़ंक्शन के माध्यम से एक एंटी-पैटर्न का उपयोग करती हैं, जिससे बंडल को साफ़-सुथरे ढंग से ट्री-शेकिंग करने से रोका जाता है।
|
|
170
175
|
|
|
171
|
-
**(Lingo.dev)** (`lingo.dev@0.
|
|
176
|
+
**(Lingo.dev)** (`lingo.dev@0.138.7`):
|
|
172
177
|
|
|
173
178
|
- AI कोटा समाप्त हो गया (या सर्वर निर्भरता को अवरुद्ध करना), जिससे भुगतान के बिना बिल्ड / प्रोडक्शन जोखिम भरा हो गया।
|
|
174
179
|
- कंपाइलर अनुवादित सामग्री के लगभग 40% को मिस कर रहा था। मुझे इसे काम कराने के लिए सभी `.map` को फ्लैट कंपोनेंट ब्लॉक्स में दोबारा लिखना पड़ा।
|
|
@@ -178,7 +183,7 @@ GitHub सितारे किसी प्रोजेक्ट की लो
|
|
|
178
183
|
|
|
179
184
|
### 2 - प्रयोगात्मक समाधान
|
|
180
185
|
|
|
181
|
-
**(Wuchale)** (`wuchale@0.
|
|
186
|
+
**(Wuchale)** (`wuchale@0.26.6`):
|
|
182
187
|
|
|
183
188
|
`Wuchale` के पीछे का विचार दिलचस्प है लेकिन अभी तक व्यवहार्य समाधान नहीं है। मुझे लाइब्रेरी के साथ रिएक्टिविटी के मुद्दों का सामना करना पड़ा और TanStack Start पर ऐप को काम कराने के लिए प्रोवाइडर के फोर्स री-रेंडर की आवश्यकता थी। दस्तावेज़ीकरण भी काफी अस्पष्ट है, जिससे ऑनबोर्डिंग कठिन हो जाती है।
|
|
184
189
|
|
|
@@ -188,9 +193,9 @@ GitHub सितारे किसी प्रोजेक्ट की लो
|
|
|
188
193
|
|
|
189
194
|
`Paraglide` एक अभिनव, अच्छी तरह से सोचा गया दृष्टिकोण प्रदान करता है। फिर भी, इस बेंचमार्क में उनकी कंपनी द्वारा विज्ञापित ट्री-शेकिंग मेरे Next.js कार्यान्वयन या TanStack Start के लिए काम नहीं कर पाया। वर्कफ़्लो और DX अन्य विकल्पों की तुलना में अधिक जटिल हैं। व्यक्तिगत रूप से मैं हर पुश से पहले JS फ़ाइलों को दोबारा उत्पन्न करने का प्रशंसक नहीं हूँ, जो PR के माध्यम से डेवलपर्स के लिए लगातार मर्ज संघर्ष का जोखिम पैदा करता है।
|
|
190
195
|
|
|
191
|
-
> paraglide पर नोट: यह समाधान आयात के लिए आपके कोडबेस में कोड इंजेक्ट करता है, जिसके परिणामस्वरूप बेंचमार्क रिपोर्ट में 'lib size' मीट्रिक लगभग 0 है। कोड जनरेशन एक अच्छी चीज़ है, क्योंकि उपयोग किया गया फ़ंक्शन केवल आवश्यक लॉजिक (हर जगह प्रीफ़िक्स बनाम कोई प्रीफ़िक्स नहीं, कुकी बनाम स्टोरेज, आदि) शामिल करेगा। इसके विपरीत, Intlayer बिल्ड में एनवायरनमेंट वेरिएबल इंजेक्शन के माध्यम से यह फ़िल्टरिंग करता है ताकि बंडलर को लॉजिक के आधार पर सामग्री को ट्री-शेक करने के लिए मजबूर किया जा सके। इसके लिए धन्यवाद, paraglide और intlayer अंत में i18next या next-intl की तुलना में
|
|
196
|
+
> paraglide पर नोट: यह समाधान आयात के लिए आपके कोडबेस में कोड इंजेक्ट करता है, जिसके परिणामस्वरूप बेंचमार्क रिपोर्ट में 'lib size' मीट्रिक लगभग 0 है। कोड जनरेशन एक अच्छी चीज़ है, क्योंकि उपयोग किया गया फ़ंक्शन केवल आवश्यक लॉजिक (हर जगह प्रीफ़िक्स बनाम कोई प्रीफ़िक्स नहीं, कुकी बनाम स्टोरेज, आदि) शामिल करेगा। इसके विपरीत, Intlayer बिल्ड में एनवायरनमेंट वेरिएबल इंजेक्शन के माध्यम से यह फ़िल्टरिंग करता है ताकि बंडलर को लॉजिक के आधार पर सामग्री को ट्री-शेक करने के लिए मजबूर किया जा सके। इसके लिए धन्यवाद, paraglide और intlayer अंत में i18next या next-intl की तुलना में 3 से 10 गुना हल्के समाधान बन जाते हैं।
|
|
192
197
|
|
|
193
|
-
**(Tolgee)** (`@tolgee/react@7.
|
|
198
|
+
**(Tolgee)** (`@tolgee/react@7.2.0`):
|
|
194
199
|
|
|
195
200
|
`Tolgee` पहले उल्लेखित कई मुद्दों को संबोधित करता है। मुझे लगा कि इसे शुरू करना समान दृष्टिकोण वाले अन्य उपकरणों की तुलना में कठिन है। यह टाइप सेफ्टी प्रदान नहीं करता है, जिससे कंपाइल समय पर गायब कीज़ को पकड़ना भी बहुत कठिन हो जाता है। गायब-की पहचान जोड़ने के लिए मुझे Tolgee की APIs को अपनी APIs के साथ रैप करना पड़ा।
|
|
196
201
|
|
|
@@ -198,37 +203,37 @@ GitHub सितारे किसी प्रोजेक्ट की लो
|
|
|
198
203
|
|
|
199
204
|
TanStack Start पर मुझे रिएक्टिविटी की समस्याएं भी थीं: लोकेल बदलने पर, मुझे प्रोवाइडर को री-रेंडर करने के लिए मजबूर करना पड़ा और लोकेल-चेंज इवेंट्स को सब्सक्राइब करना पड़ा ताकि दूसरी भाषा में लोडिंग सही ढंग से व्यवहार करे।
|
|
200
205
|
|
|
201
|
-
**(use-intl)** (`use-intl@4.
|
|
206
|
+
**(use-intl)** (`use-intl@4.14.2`):
|
|
202
207
|
|
|
203
208
|
`use-intl` वर्तमान में React ईकोसिस्टम में सबसे ट्रेंडी "intl" पीस है ( `next-intl` के समान परिवार) और इसे अक्सर AI एजेंटों द्वारा पुश किया जाता है, लेकिन मेरी दृष्टि में परफॉरमेंस-फ़र्स्ट सेटिंग में गलत तरीके से। शुरुआत करना काफी सरल है। व्यवहार में, लीकेज को अनुकूलित और सीमित करने की प्रक्रिया काफी जटिल है। इसी प्रकार, डायनेमिक लोडिंग + नेमस्पेसिंग + TypeScript टाइप्स को जोड़ना विकास को बहुत धीमा कर देता है।
|
|
204
209
|
|
|
205
210
|
TanStack Start पर आप Next.js-विशिष्ट जाल ( `setRequestLocale`, स्टेटिक रेंडरिंग) से बचते हैं, लेकिन मुख्य मुद्दा वही है: सख्त अनुशासन के बिना, बंडल जल्दी से बहुत अधिक संदेशों को ढोता है और प्रति-रूट नेमस्पेस रखरखाव कष्टदायक हो जाता है।
|
|
206
211
|
|
|
207
|
-
**(react-i18next)** (`react-i18next@17.0.
|
|
212
|
+
**(react-i18next)** (`react-i18next@17.0.13`):
|
|
208
213
|
|
|
209
214
|
`react-i18next` शायद सबसे लोकप्रिय विकल्प है क्योंकि यह जावास्क्रिप्ट ऐप i18n आवश्यकताओं को पूरा करने वाले शुरुआती समाधानों में से एक था। इसमें विशिष्ट मुद्दों के लिए कम्युनिटी प्लगइन्स का एक विस्तृत सेट भी है।
|
|
210
215
|
|
|
211
216
|
फिर भी, यह `t('a.b.c')` पर बने स्टैक्स जैसी ही प्रमुख कमियाँ साझा करता है: अनुकूलन संभव है लेकिन बहुत समय लेने वाला है, और बड़ी परियोजनाओं में खराब प्रथाओं (नेमस्पेस + डायनेमिक लोडिंग + टाइप्स) में गिरने का जोखिम होता है।
|
|
212
217
|
|
|
213
|
-
पैकेज विशेष रूप से भारी है (~
|
|
218
|
+
पैकेज विशेष रूप से भारी है (~18.4kb, जो `react-intlayer` का लगभग 3.5× है)।
|
|
214
219
|
|
|
215
220
|
मैसेज फॉर्मेट्स भी भिन्न हैं: `use-intl` ICU MessageFormat का उपयोग करता है, जबकि `i18next` अपने स्वयं के फॉर्मेट का उपयोग करता है-जो टूल्स या माइग्रेशन को जटिल बनाता है यदि आप उन्हें मिलाते हैं।
|
|
216
221
|
|
|
217
|
-
**(Lingui)** (`@lingui/core@
|
|
222
|
+
**(Lingui)** (`@lingui/core@6.6.0`):
|
|
218
223
|
|
|
219
224
|
`Lingui` की अक्सर प्रशंसा की जाती है। व्यक्तिगत रूप से मुझे `lingui extract` / `lingui compile` वर्कफ़्लो अन्य दृष्टिकोणों की तुलना में अधिक जटिल लगा, इस TanStack Start बेंचमार्क में किसी स्पष्ट लाभ के बिना। मैंने असंगत सिंटैक्स भी देखे जो AI को भ्रमित करते हैं (उदा. `t()`, `t''`, `i18n.t()`, `<Trans>`) ।
|
|
220
225
|
|
|
221
|
-
**(react-intl)** (`react-intl@10.1.
|
|
226
|
+
**(react-intl)** (`react-intl@10.1.26`):
|
|
222
227
|
|
|
223
228
|
`react-intl` Format.js टीम का एक परफॉरमेंट कार्यान्वयन है। DX वर्बोस (verbose) रहता है: `const intl = useIntl()` + `intl.formatMessage({ id: "xx.xx" })` जटिलता, अतिरिक्त जावास्क्रिप्ट कार्य जोड़ता है और ग्लोबल i18n इंस्टेंस को React ट्री के कई नोड्स से जोड़ता है।
|
|
224
229
|
|
|
225
|
-
पैकेज भी भारी है (~
|
|
230
|
+
पैकेज भी भारी है (~15.3kb, जो `react-intlayer` का लगभग 3× है)।
|
|
226
231
|
|
|
227
232
|
### 4 - सिफारिशें
|
|
228
233
|
|
|
229
234
|
इस TanStack Start बेंचमार्क का `next-translate` (Next.js प्लगइन + `getStaticProps`) के बराबर कोई सीधा विकल्प नहीं है। उन टीमों के लिए जो वास्तव में परिपक्व ईकोसिस्टम वाली `t()` API चाहती हैं, `react-i18next` और `use-intl` "उचित" विकल्प बने हुए हैं, लेकिन लीकेज से बचने के लिए अनुकूलन में बहुत समय निवेश करने के लिए तैयार रहें।
|
|
230
235
|
|
|
231
|
-
**(Intlayer)** (`react-intlayer@
|
|
236
|
+
**(Intlayer)** (`react-intlayer@9.5.1`):
|
|
232
237
|
|
|
233
238
|
निष्पक्षता के लिए मैं व्यक्तिगत रूप से मेरे स्वयं के समाधान `react-intlayer` पर निर्णय नहीं दूँगा।
|
|
234
239
|
|
package/docs/hi/benchmark/vue.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2026-04-20
|
|
3
|
-
updatedAt: 2026-
|
|
3
|
+
updatedAt: 2026-09-11
|
|
4
4
|
title: 2026 में Vue के लिए सर्वश्रेष्ठ i18n समाधान - बेंचमार्क रिपोर्ट
|
|
5
5
|
description: vue-i18n, fluent-vue, और Intlayer जैसे Vue अंतर्राष्ट्रीयकरण (i18n) पुस्तकालयों की तुलना करें। बंडल आकार, लीकेज और प्रतिक्रियाशीलता पर विस्तृत प्रदर्शन रिपोर्ट।
|
|
6
6
|
keywords:
|
|
@@ -17,6 +17,9 @@ slugs:
|
|
|
17
17
|
author: aymericzip
|
|
18
18
|
applicationTemplate: https://github.com/intlayer-org/benchmark-i18n-vue-template
|
|
19
19
|
history:
|
|
20
|
+
- version: 9.5.1
|
|
21
|
+
date: 2026-09-11
|
|
22
|
+
changes: "बेंचमार्क परिणाम अपडेट किए गए"
|
|
20
23
|
- version: 8.9.8
|
|
21
24
|
date: 2026-05-18
|
|
22
25
|
changes: "GitHub स्टार तुलना जोड़ें"
|
|
@@ -62,7 +65,7 @@ Vue ऐप में अंतर्राष्ट्रीयकरण (Intern
|
|
|
62
65
|
|
|
63
66
|
## TL;DR
|
|
64
67
|
|
|
65
|
-
- **Intlayer**: मूल स्कोपिंग (scoping) और डायनेमिक लोडिंग के साथ सबसे हल्का समाधान (
|
|
68
|
+
- **Intlayer**: मूल स्कोपिंग (scoping) और डायनेमिक लोडिंग के साथ सबसे हल्का समाधान (v9.5.0)।
|
|
66
69
|
- **vue-i18n**: एक समृद्ध पारिस्थितिकी तंत्र के साथ उद्योग मानक, लेकिन बड़े अनुप्रयोगों में महत्वपूर्ण रूप से भारी हो सकता है और कोड-स्प्लिटिंग के लिए अनुकूलित करना कठिन हो सकता है।
|
|
67
70
|
- **fluent-vue**: अभिनव संदेश संगठन लेकिन इसमें टाइप-सेफ्टी की कमी है और यह एक अत्यंत भारी समाधान साबित होता है।
|
|
68
71
|
|
|
@@ -96,7 +99,8 @@ i18n लीकेज समस्याओं को तुरंत पहच
|
|
|
96
99
|
इस बेंचमार्क के लिए, हमने निम्नलिखित पुस्तकालयों की तुलना की:
|
|
97
100
|
|
|
98
101
|
- `Base App` (कोई i18n पुस्तकालय नहीं)
|
|
99
|
-
- `vue-intlayer` (
|
|
102
|
+
- `vue-intlayer` (v9.5.0)
|
|
103
|
+
- [`@intlayer/vue-i18n`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/compat/vue-i18n.md) (v9.5.1)
|
|
100
104
|
- `vue-i18n` (v11.4.0)
|
|
101
105
|
- `fluent-vue` (v3.8.2)
|
|
102
106
|
|
|
@@ -142,7 +146,7 @@ i18n लीकेज समस्याओं को तुरंत पहच
|
|
|
142
146
|
|
|
143
147
|
GitHub सितारे किसी प्रोजेक्ट की लोकप्रियता, सामुदायिक विश्वास और दीर्घकालिक प्रासंगिकता का एक मजबूत संकेतक हैं। हालांकि यह तकनीकी गुणवत्ता का प्रत्यक्ष माप नहीं है, वे दर्शाते हैं कि कितने डेवलपर्स प्रोजेक्ट को उपयोगी पाते हैं, इसकी प्रगति का पालन करते हैं, और इसे अपनाने की संभावना रखते हैं। किसी प्रोजेक्ट के मूल्य का अनुमान लगाने के लिए, सितारे विकल्पों के बीच कर्षण की तुलना करने में मदद करते हैं और पारिस्थितिकी तंत्र के विकास में अंतर्दृष्टि प्रदान करते हैं।
|
|
144
148
|
|
|
145
|
-
[](https://
|
|
149
|
+
[](https://star-history.com/#intlify/vue-i18n&fluent-vue/fluent-vue&aymericzip/intlayer)
|
|
146
150
|
|
|
147
151
|
## विवरण में परिणाम
|
|
148
152
|
|
|
@@ -156,14 +160,14 @@ GitHub सितारे किसी प्रोजेक्ट की लो
|
|
|
156
160
|
|
|
157
161
|
- **vue-i18n** निस्संदेह Vue के लिए सबसे अधिक उपयोग किया जाने वाला i18n पुस्तकालय है, इसमें बहुत सारी विशेषताएं और एक विशाल पारिस्थितिकी तंत्र है। लेकिन हुड के तहत समाधान काफी भारी है। भले ही vue-i18n संदेशों के लिए लेज़ी लोडिंग को एकीकृत करता है, लेकिन इसमें स्कोपिंग सुविधा की कमी है। एक क्लासिक Vue SPA ऐप के मामले में कोई समस्या नहीं है, लेकिन @nuxt/i18n का उपयोग करने वाले nuxt ऐप के लिए, यह सभी पृष्ठों के संदेशों को एक ही पृष्ठ में शामिल करने की ओर ले जाता है। 10 से अधिक पृष्ठों वाले बड़े nuxt ऐप के लिए, यह वास्तव में समस्याग्रस्त हो सकता है।
|
|
158
162
|
|
|
159
|
-
पैकेज बहुत भारी है (~24.3kb, जो `vue-intlayer` से लगभग
|
|
163
|
+
पैकेज बहुत भारी है (~24.3kb, जो `vue-intlayer` से लगभग 6 गुना है)।
|
|
160
164
|
|
|
161
|
-
**(fluent-vue)** (`fluent-vue@
|
|
165
|
+
**(fluent-vue)** (`fluent-vue@3.8.2`):
|
|
162
166
|
|
|
163
|
-
- **fluent-vue** .ftl प्रारूप के माध्यम से एक अभिनव प्रयास प्रदान करता है। संदेश संगठन महान है, शुरू करना आसान है। लेकिन व्यवहार में, टाइप-सेफ्टी की कमी त्रुटि के जोखिम को बढ़ाती है और डिबग करने में जल्दी से समय लग सकता है। इसके अलावा, वह समाधान एक vite प्लगइन का उपयोग करके संदेशों को लोड करता है जो प्रत्येक पृष्ठ में सभी भाषाओं में सभी सामग्री को लोड करने के लिए मजबूर करता है। इसके अतिरिक्त यह एक अत्यंत भारी समाधान है (~
|
|
167
|
+
- **fluent-vue** .ftl प्रारूप के माध्यम से एक अभिनव प्रयास प्रदान करता है। संदेश संगठन महान है, शुरू करना आसान है। लेकिन व्यवहार में, टाइप-सेफ्टी की कमी त्रुटि के जोखिम को बढ़ाती है और डिबग करने में जल्दी से समय लग सकता है। इसके अलावा, वह समाधान एक vite प्लगइन का उपयोग करके संदेशों को लोड करता है जो प्रत्येक पृष्ठ में सभी भाषाओं में सभी सामग्री को लोड करने के लिए मजबूर करता है। इसके अतिरिक्त यह एक अत्यंत भारी समाधान है (~29.7kb, जो `vue-intlayer` से लगभग 7.5 गुना है)।
|
|
164
168
|
|
|
165
169
|
### 3 - सिफारिशें
|
|
166
170
|
|
|
167
|
-
**(Intlayer)** (`vue-intlayer@
|
|
171
|
+
**(Intlayer)** (`vue-intlayer@9.5.0`):
|
|
168
172
|
|
|
169
173
|
मैं निष्पक्षता के लिए व्यक्तिगत रूप से `vue-intlayer` का न्याय नहीं करूँगा, क्योंकि यह मेरा अपना समाधान है।
|