@intlayer/docs 7.5.0-canary.1 → 7.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +19 -19
- package/blog/ar/intlayer_with_i18next.md +1 -1
- package/blog/ar/intlayer_with_next-i18next.md +1 -1
- package/blog/ar/intlayer_with_next-intl.md +1 -1
- package/blog/ar/intlayer_with_react-i18next.md +1 -1
- package/blog/ar/intlayer_with_react-intl.md +1 -1
- package/blog/ar/intlayer_with_vue-i18n.md +1 -1
- package/blog/ar/l10n_platform_alternative/Lokalise.md +80 -0
- package/blog/ar/l10n_platform_alternative/crowdin.md +86 -0
- package/blog/ar/l10n_platform_alternative/phrase.md +82 -0
- package/blog/de/intlayer_with_i18next.md +1 -1
- package/blog/de/intlayer_with_next-i18next.md +1 -1
- package/blog/de/intlayer_with_next-intl.md +1 -1
- package/blog/de/intlayer_with_react-i18next.md +1 -1
- package/blog/de/intlayer_with_react-intl.md +1 -1
- package/blog/de/intlayer_with_vue-i18n.md +1 -1
- package/blog/de/l10n_platform_alternative/Lokalise.md +84 -0
- package/blog/de/l10n_platform_alternative/crowdin.md +80 -0
- package/blog/de/l10n_platform_alternative/phrase.md +82 -0
- package/blog/en/intlayer_with_i18next.md +1 -1
- package/blog/en/intlayer_with_next-i18next.md +1 -1
- package/blog/en/intlayer_with_next-intl.md +1 -1
- package/blog/en/intlayer_with_react-i18next.md +1 -1
- package/blog/en/intlayer_with_react-intl.md +1 -1
- package/blog/en/intlayer_with_vue-i18n.md +1 -1
- package/blog/en/l10n_platform_alternative/Lokalise.md +80 -0
- package/blog/en/l10n_platform_alternative/crowdin.md +80 -0
- package/blog/en/l10n_platform_alternative/phrase.md +78 -0
- package/blog/en-GB/intlayer_with_i18next.md +1 -1
- package/blog/en-GB/intlayer_with_next-i18next.md +1 -1
- package/blog/en-GB/intlayer_with_next-intl.md +1 -1
- package/blog/en-GB/intlayer_with_react-i18next.md +1 -1
- package/blog/en-GB/intlayer_with_react-intl.md +1 -1
- package/blog/en-GB/intlayer_with_vue-i18n.md +1 -1
- package/blog/en-GB/l10n_platform_alternative/Lokalise.md +80 -0
- package/blog/en-GB/l10n_platform_alternative/crowdin.md +80 -0
- package/blog/en-GB/l10n_platform_alternative/phrase.md +78 -0
- package/blog/es/intlayer_with_i18next.md +1 -1
- package/blog/es/intlayer_with_next-i18next.md +1 -1
- package/blog/es/intlayer_with_next-intl.md +1 -1
- package/blog/es/intlayer_with_react-i18next.md +1 -1
- package/blog/es/intlayer_with_react-intl.md +1 -1
- package/blog/es/intlayer_with_vue-i18n.md +1 -1
- package/blog/es/l10n_platform_alternative/Lokalise.md +80 -0
- package/blog/es/l10n_platform_alternative/crowdin.md +86 -0
- package/blog/es/l10n_platform_alternative/phrase.md +84 -0
- package/blog/fr/intlayer_with_i18next.md +1 -1
- package/blog/fr/intlayer_with_next-i18next.md +1 -1
- package/blog/fr/intlayer_with_next-intl.md +1 -1
- package/blog/fr/intlayer_with_react-i18next.md +1 -1
- package/blog/fr/intlayer_with_react-intl.md +1 -1
- package/blog/fr/intlayer_with_vue-i18n.md +1 -1
- package/blog/fr/l10n_platform_alternative/Lokalise.md +84 -0
- package/blog/fr/l10n_platform_alternative/crowdin.md +86 -0
- package/blog/fr/l10n_platform_alternative/phrase.md +91 -0
- package/blog/hi/intlayer_with_i18next.md +1 -1
- package/blog/hi/intlayer_with_next-i18next.md +1 -1
- package/blog/hi/intlayer_with_next-intl.md +1 -1
- package/blog/hi/intlayer_with_react-i18next.md +1 -1
- package/blog/hi/intlayer_with_react-intl.md +1 -1
- package/blog/hi/intlayer_with_vue-i18n.md +1 -1
- package/blog/hi/l10n_platform_alternative/Lokalise.md +86 -0
- package/blog/hi/l10n_platform_alternative/crowdin.md +84 -0
- package/blog/hi/l10n_platform_alternative/phrase.md +78 -0
- package/blog/id/intlayer_with_i18next.md +1 -1
- package/blog/id/intlayer_with_next-i18next.md +1 -1
- package/blog/id/intlayer_with_next-intl.md +1 -1
- package/blog/id/intlayer_with_react-i18next.md +1 -1
- package/blog/id/intlayer_with_react-intl.md +1 -1
- package/blog/id/intlayer_with_vue-i18n.md +1 -1
- package/blog/id/l10n_platform_alternative/Lokalise.md +86 -0
- package/blog/id/l10n_platform_alternative/crowdin.md +84 -0
- package/blog/id/l10n_platform_alternative/phrase.md +89 -0
- package/blog/it/intlayer_with_i18next.md +1 -1
- package/blog/it/intlayer_with_next-i18next.md +1 -1
- package/blog/it/intlayer_with_next-intl.md +1 -1
- package/blog/it/intlayer_with_react-i18next.md +1 -1
- package/blog/it/intlayer_with_react-intl.md +1 -1
- package/blog/it/intlayer_with_vue-i18n.md +1 -1
- package/blog/it/l10n_platform_alternative/Lokalise.md +84 -0
- package/blog/it/l10n_platform_alternative/crowdin.md +86 -0
- package/blog/it/l10n_platform_alternative/phrase.md +82 -0
- package/blog/ja/intlayer_with_i18next.md +1 -1
- package/blog/ja/intlayer_with_next-i18next.md +1 -1
- package/blog/ja/intlayer_with_next-intl.md +1 -1
- package/blog/ja/intlayer_with_react-i18next.md +1 -1
- package/blog/ja/intlayer_with_react-intl.md +1 -1
- package/blog/ja/intlayer_with_vue-i18n.md +1 -1
- package/blog/ja/l10n_platform_alternative/Lokalise.md +80 -0
- package/blog/ja/l10n_platform_alternative/crowdin.md +80 -0
- package/blog/ja/l10n_platform_alternative/phrase.md +78 -0
- package/blog/ko/intlayer_with_i18next.md +1 -1
- package/blog/ko/intlayer_with_next-i18next.md +1 -1
- package/blog/ko/intlayer_with_next-intl.md +1 -1
- package/blog/ko/intlayer_with_react-i18next.md +1 -1
- package/blog/ko/intlayer_with_react-intl.md +1 -1
- package/blog/ko/intlayer_with_vue-i18n.md +1 -1
- package/blog/ko/l10n_platform_alternative/Lokalise.md +80 -0
- package/blog/ko/l10n_platform_alternative/crowdin.md +86 -0
- package/blog/ko/l10n_platform_alternative/phrase.md +78 -0
- package/blog/pl/intlayer_with_i18next.md +1 -1
- package/blog/pl/intlayer_with_next-i18next.md +1 -1
- package/blog/pl/intlayer_with_next-intl.md +1 -1
- package/blog/pl/intlayer_with_react-i18next.md +1 -1
- package/blog/pl/intlayer_with_react-intl.md +1 -1
- package/blog/pl/intlayer_with_vue-i18n.md +1 -1
- package/blog/pl/l10n_platform_alternative/Lokalise.md +84 -0
- package/blog/pl/l10n_platform_alternative/crowdin.md +80 -0
- package/blog/pl/l10n_platform_alternative/phrase.md +82 -0
- package/blog/pt/intlayer_with_i18next.md +1 -1
- package/blog/pt/intlayer_with_next-i18next.md +1 -1
- package/blog/pt/intlayer_with_next-intl.md +1 -1
- package/blog/pt/intlayer_with_react-i18next.md +1 -1
- package/blog/pt/intlayer_with_react-intl.md +1 -1
- package/blog/pt/intlayer_with_vue-i18n.md +1 -1
- package/blog/pt/l10n_platform_alternative/Lokalise.md +80 -0
- package/blog/pt/l10n_platform_alternative/crowdin.md +86 -0
- package/blog/pt/l10n_platform_alternative/phrase.md +78 -0
- package/blog/ru/intlayer_with_i18next.md +1 -1
- package/blog/ru/intlayer_with_next-i18next.md +1 -1
- package/blog/ru/intlayer_with_next-intl.md +1 -1
- package/blog/ru/intlayer_with_react-i18next.md +1 -1
- package/blog/ru/intlayer_with_react-intl.md +1 -1
- package/blog/ru/intlayer_with_vue-i18n.md +1 -1
- package/blog/ru/l10n_platform_alternative/Lokalise.md +80 -0
- package/blog/ru/l10n_platform_alternative/crowdin.md +86 -0
- package/blog/ru/l10n_platform_alternative/phrase.md +82 -0
- package/blog/tr/intlayer_with_i18next.md +1 -1
- package/blog/tr/intlayer_with_next-i18next.md +1 -1
- package/blog/tr/intlayer_with_next-intl.md +1 -1
- package/blog/tr/intlayer_with_react-i18next.md +1 -1
- package/blog/tr/intlayer_with_vue-i18n.md +1 -1
- package/blog/tr/l10n_platform_alternative/Lokalise.md +80 -0
- package/blog/tr/l10n_platform_alternative/crowdin.md +80 -0
- package/blog/tr/l10n_platform_alternative/phrase.md +89 -0
- package/blog/vi/intlayer_with_i18next.md +1 -1
- package/blog/vi/intlayer_with_next-i18next.md +1 -1
- package/blog/vi/intlayer_with_next-intl.md +1 -1
- package/blog/vi/intlayer_with_react-i18next.md +1 -1
- package/blog/vi/intlayer_with_react-intl.md +1 -1
- package/blog/vi/intlayer_with_vue-i18n.md +1 -1
- package/blog/vi/l10n_platform_alternative/Lokalise.md +87 -0
- package/blog/vi/l10n_platform_alternative/crowdin.md +80 -0
- package/blog/vi/l10n_platform_alternative/phrase.md +82 -0
- package/blog/zh/intlayer_with_i18next.md +1 -1
- package/blog/zh/intlayer_with_next-i18next.md +1 -1
- package/blog/zh/intlayer_with_next-intl.md +1 -1
- package/blog/zh/intlayer_with_react-i18next.md +1 -1
- package/blog/zh/intlayer_with_react-intl.md +1 -1
- package/blog/zh/intlayer_with_vue-i18n.md +1 -1
- package/blog/zh/l10n_platform_alternative/Lokalise.md +80 -0
- package/blog/zh/l10n_platform_alternative/crowdin.md +84 -0
- package/blog/zh/l10n_platform_alternative/phrase.md +84 -0
- package/dist/cjs/common.cjs +6 -6
- package/dist/cjs/common.cjs.map +1 -1
- package/dist/cjs/generated/blog.entry.cjs +61 -4
- package/dist/cjs/generated/blog.entry.cjs.map +1 -1
- package/dist/cjs/generated/docs.entry.cjs +4 -4
- package/dist/cjs/generated/docs.entry.cjs.map +1 -1
- package/dist/cjs/generated/frequentQuestions.entry.cjs +4 -4
- package/dist/cjs/generated/frequentQuestions.entry.cjs.map +1 -1
- package/dist/cjs/generated/legal.entry.cjs +4 -4
- package/dist/cjs/generated/legal.entry.cjs.map +1 -1
- package/dist/esm/generated/blog.entry.mjs +57 -0
- package/dist/esm/generated/blog.entry.mjs.map +1 -1
- package/dist/types/generated/blog.entry.d.ts +3 -0
- package/dist/types/generated/blog.entry.d.ts.map +1 -1
- package/docs/ar/dictionary/content_file.md +1 -1
- package/docs/ar/intlayer_CMS.md +1 -1
- package/docs/ar/intlayer_visual_editor.md +1 -1
- package/docs/ar/intlayer_with_nextjs_15.md +1 -1
- package/docs/ar/intlayer_with_nextjs_16.md +1 -1
- package/docs/ar/intlayer_with_nuxt.md +3 -3
- package/docs/ar/intlayer_with_react_router_v7.md +1 -1
- package/docs/ar/intlayer_with_react_router_v7_fs_routes.md +1 -1
- package/docs/ar/intlayer_with_tanstack.md +1 -1
- package/docs/ar/intlayer_with_vite+react.md +1 -1
- package/docs/ar/intlayer_with_vite+vue.md +1 -1
- package/docs/ar/packages/intlayer/getLocaleName.md +17 -1
- package/docs/ar/plugins/sync-json.md +1 -1
- package/docs/de/dictionary/content_file.md +1 -1
- package/docs/de/intlayer_CMS.md +1 -1
- package/docs/de/intlayer_visual_editor.md +1 -1
- package/docs/de/intlayer_with_nextjs_15.md +1 -1
- package/docs/de/intlayer_with_nextjs_16.md +1 -1
- package/docs/de/intlayer_with_nuxt.md +3 -3
- package/docs/de/intlayer_with_react_router_v7.md +1 -1
- package/docs/de/intlayer_with_react_router_v7_fs_routes.md +1 -1
- package/docs/de/intlayer_with_tanstack.md +1 -1
- package/docs/de/intlayer_with_vite+react.md +1 -1
- package/docs/de/intlayer_with_vite+vue.md +1 -1
- package/docs/de/packages/intlayer/getLocaleName.md +17 -1
- package/docs/de/plugins/sync-json.md +1 -1
- package/docs/en/dictionary/content_file.md +1 -1
- package/docs/en/intlayer_CMS.md +1 -1
- package/docs/en/intlayer_visual_editor.md +1 -1
- package/docs/en/intlayer_with_nextjs_15.md +1 -1
- package/docs/en/intlayer_with_nextjs_16.md +1 -1
- package/docs/en/intlayer_with_nuxt.md +3 -3
- package/docs/en/intlayer_with_react_router_v7.md +1 -1
- package/docs/en/intlayer_with_react_router_v7_fs_routes.md +1 -1
- package/docs/en/intlayer_with_tanstack.md +1 -1
- package/docs/en/intlayer_with_vite+preact.md +1 -2
- package/docs/en/intlayer_with_vite+react.md +1 -1
- package/docs/en/intlayer_with_vite+vue.md +1 -1
- package/docs/en/packages/intlayer/getLocaleName.md +17 -0
- package/docs/en/plugins/sync-json.md +1 -1
- package/docs/en-GB/dictionary/content_file.md +1 -1
- package/docs/en-GB/intlayer_CMS.md +1 -1
- package/docs/en-GB/intlayer_visual_editor.md +1 -1
- package/docs/en-GB/intlayer_with_nextjs_15.md +1 -1
- package/docs/en-GB/intlayer_with_nextjs_16.md +1 -1
- package/docs/en-GB/intlayer_with_nuxt.md +3 -3
- package/docs/en-GB/intlayer_with_react_router_v7.md +1 -1
- package/docs/en-GB/intlayer_with_react_router_v7_fs_routes.md +1 -1
- package/docs/en-GB/intlayer_with_tanstack.md +1 -1
- package/docs/en-GB/intlayer_with_vite+react.md +1 -1
- package/docs/en-GB/intlayer_with_vite+vue.md +1 -1
- package/docs/en-GB/packages/intlayer/getLocaleName.md +17 -1
- package/docs/en-GB/plugins/sync-json.md +1 -1
- package/docs/es/dictionary/content_file.md +1 -1
- package/docs/es/intlayer_CMS.md +1 -1
- package/docs/es/intlayer_visual_editor.md +1 -1
- package/docs/es/intlayer_with_nextjs_15.md +1 -1
- package/docs/es/intlayer_with_nextjs_16.md +1 -1
- package/docs/es/intlayer_with_nuxt.md +3 -3
- package/docs/es/intlayer_with_react_router_v7.md +1 -1
- package/docs/es/intlayer_with_react_router_v7_fs_routes.md +1 -1
- package/docs/es/intlayer_with_tanstack.md +1 -1
- package/docs/es/intlayer_with_vite+react.md +1 -1
- package/docs/es/intlayer_with_vite+vue.md +1 -1
- package/docs/es/packages/intlayer/getLocaleName.md +17 -1
- package/docs/es/plugins/sync-json.md +1 -1
- package/docs/fr/dictionary/content_file.md +1 -1
- package/docs/fr/intlayer_CMS.md +1 -1
- package/docs/fr/intlayer_visual_editor.md +1 -1
- package/docs/fr/intlayer_with_nextjs_15.md +1 -1
- package/docs/fr/intlayer_with_nextjs_16.md +1 -1
- package/docs/fr/intlayer_with_nuxt.md +3 -3
- package/docs/fr/intlayer_with_react_router_v7.md +1 -1
- package/docs/fr/intlayer_with_react_router_v7_fs_routes.md +1 -1
- package/docs/fr/intlayer_with_tanstack.md +1 -1
- package/docs/fr/intlayer_with_vite+react.md +1 -1
- package/docs/fr/intlayer_with_vite+vue.md +1 -1
- package/docs/fr/packages/intlayer/getLocaleName.md +17 -1
- package/docs/fr/plugins/sync-json.md +1 -1
- package/docs/hi/dictionary/content_file.md +1 -1
- package/docs/hi/intlayer_CMS.md +1 -1
- package/docs/hi/intlayer_visual_editor.md +1 -1
- package/docs/hi/intlayer_with_nextjs_15.md +1 -1
- package/docs/hi/intlayer_with_nextjs_16.md +1 -1
- package/docs/hi/intlayer_with_nuxt.md +3 -3
- package/docs/hi/intlayer_with_react_router_v7.md +1 -1
- package/docs/hi/intlayer_with_react_router_v7_fs_routes.md +1 -1
- package/docs/hi/intlayer_with_tanstack.md +1 -1
- package/docs/hi/intlayer_with_vite+react.md +1 -1
- package/docs/hi/intlayer_with_vite+vue.md +1 -1
- package/docs/hi/packages/intlayer/getLocaleName.md +17 -1
- package/docs/hi/plugins/sync-json.md +1 -1
- package/docs/id/dictionary/content_file.md +1 -1
- package/docs/id/intlayer_CMS.md +1 -1
- package/docs/id/intlayer_visual_editor.md +1 -1
- package/docs/id/intlayer_with_nextjs_15.md +1 -1
- package/docs/id/intlayer_with_nextjs_16.md +1 -1
- package/docs/id/intlayer_with_nuxt.md +3 -3
- package/docs/id/intlayer_with_react_router_v7.md +1 -1
- package/docs/id/intlayer_with_react_router_v7_fs_routes.md +1 -1
- package/docs/id/intlayer_with_tanstack.md +1 -1
- package/docs/id/intlayer_with_vite+preact.md +1 -2
- package/docs/id/intlayer_with_vite+react.md +1 -1
- package/docs/id/intlayer_with_vite+vue.md +1 -1
- package/docs/id/packages/intlayer/getLocaleName.md +17 -0
- package/docs/id/plugins/sync-json.md +1 -1
- package/docs/it/dictionary/content_file.md +1 -1
- package/docs/it/intlayer_CMS.md +1 -1
- package/docs/it/intlayer_visual_editor.md +1 -1
- package/docs/it/intlayer_with_nextjs_15.md +1 -1
- package/docs/it/intlayer_with_nextjs_16.md +1 -1
- package/docs/it/intlayer_with_nuxt.md +3 -3
- package/docs/it/intlayer_with_react_router_v7.md +1 -1
- package/docs/it/intlayer_with_react_router_v7_fs_routes.md +1 -1
- package/docs/it/intlayer_with_tanstack.md +1 -1
- package/docs/it/intlayer_with_vite+react.md +1 -1
- package/docs/it/intlayer_with_vite+vue.md +1 -1
- package/docs/it/packages/intlayer/getLocaleName.md +17 -1
- package/docs/it/plugins/sync-json.md +1 -1
- package/docs/ja/dictionary/content_file.md +1 -1
- package/docs/ja/intlayer_CMS.md +1 -1
- package/docs/ja/intlayer_visual_editor.md +1 -1
- package/docs/ja/intlayer_with_nextjs_15.md +1 -1
- package/docs/ja/intlayer_with_nextjs_16.md +1 -1
- package/docs/ja/intlayer_with_nuxt.md +3 -3
- package/docs/ja/intlayer_with_react_router_v7.md +1 -1
- package/docs/ja/intlayer_with_react_router_v7_fs_routes.md +1 -1
- package/docs/ja/intlayer_with_tanstack.md +1 -1
- package/docs/ja/intlayer_with_vite+react.md +1 -1
- package/docs/ja/intlayer_with_vite+vue.md +1 -1
- package/docs/ja/packages/intlayer/getLocaleName.md +17 -1
- package/docs/ja/plugins/sync-json.md +1 -1
- package/docs/ko/dictionary/content_file.md +1 -1
- package/docs/ko/intlayer_CMS.md +1 -1
- package/docs/ko/intlayer_visual_editor.md +1 -1
- package/docs/ko/intlayer_with_nextjs_15.md +1 -1
- package/docs/ko/intlayer_with_nextjs_16.md +1 -1
- package/docs/ko/intlayer_with_nuxt.md +3 -3
- package/docs/ko/intlayer_with_react_router_v7.md +1 -1
- package/docs/ko/intlayer_with_react_router_v7_fs_routes.md +1 -1
- package/docs/ko/intlayer_with_tanstack.md +1 -1
- package/docs/ko/intlayer_with_vite+react.md +1 -1
- package/docs/ko/intlayer_with_vite+vue.md +1 -1
- package/docs/ko/packages/intlayer/getLocaleName.md +17 -1
- package/docs/ko/plugins/sync-json.md +1 -1
- package/docs/pl/dictionary/content_file.md +1 -1
- package/docs/pl/intlayer_CMS.md +1 -1
- package/docs/pl/intlayer_visual_editor.md +1 -1
- package/docs/pl/intlayer_with_nextjs_15.md +1 -1
- package/docs/pl/intlayer_with_nextjs_16.md +1 -1
- package/docs/pl/intlayer_with_nuxt.md +3 -3
- package/docs/pl/intlayer_with_react_router_v7.md +1 -1
- package/docs/pl/intlayer_with_react_router_v7_fs_routes.md +2 -2
- package/docs/pl/intlayer_with_tanstack.md +1 -1
- package/docs/pl/intlayer_with_vite+preact.md +1 -2
- package/docs/pl/intlayer_with_vite+react.md +1 -1
- package/docs/pl/intlayer_with_vite+vue.md +1 -1
- package/docs/pl/packages/intlayer/getLocaleName.md +17 -0
- package/docs/pl/plugins/sync-json.md +1 -1
- package/docs/pt/dictionary/content_file.md +1 -1
- package/docs/pt/intlayer_CMS.md +1 -1
- package/docs/pt/intlayer_visual_editor.md +1 -1
- package/docs/pt/intlayer_with_nextjs_15.md +1 -1
- package/docs/pt/intlayer_with_nextjs_16.md +1 -1
- package/docs/pt/intlayer_with_nuxt.md +3 -3
- package/docs/pt/intlayer_with_react_router_v7.md +1 -1
- package/docs/pt/intlayer_with_react_router_v7_fs_routes.md +1 -1
- package/docs/pt/intlayer_with_tanstack.md +1 -1
- package/docs/pt/intlayer_with_vite+react.md +1 -1
- package/docs/pt/intlayer_with_vite+vue.md +1 -1
- package/docs/pt/packages/intlayer/getLocaleName.md +17 -1
- package/docs/pt/plugins/sync-json.md +1 -1
- package/docs/ru/dictionary/content_file.md +1 -1
- package/docs/ru/intlayer_CMS.md +1 -1
- package/docs/ru/intlayer_visual_editor.md +1 -1
- package/docs/ru/intlayer_with_nextjs_15.md +1 -1
- package/docs/ru/intlayer_with_nextjs_16.md +1 -1
- package/docs/ru/intlayer_with_nuxt.md +3 -3
- package/docs/ru/intlayer_with_react_router_v7.md +1 -1
- package/docs/ru/intlayer_with_react_router_v7_fs_routes.md +1 -1
- package/docs/ru/intlayer_with_tanstack.md +1 -1
- package/docs/ru/intlayer_with_vite+react.md +1 -1
- package/docs/ru/intlayer_with_vite+vue.md +1 -1
- package/docs/ru/packages/intlayer/getLocaleName.md +17 -1
- package/docs/ru/plugins/sync-json.md +1 -1
- package/docs/tr/dictionary/content_file.md +1 -1
- package/docs/tr/intlayer_CMS.md +1 -1
- package/docs/tr/intlayer_visual_editor.md +1 -1
- package/docs/tr/intlayer_with_nextjs_15.md +1 -1
- package/docs/tr/intlayer_with_nextjs_16.md +1 -1
- package/docs/tr/intlayer_with_nuxt.md +3 -3
- package/docs/tr/intlayer_with_react_router_v7.md +1 -1
- package/docs/tr/intlayer_with_react_router_v7_fs_routes.md +1 -1
- package/docs/tr/intlayer_with_tanstack.md +1 -1
- package/docs/tr/intlayer_with_vite+react.md +1 -1
- package/docs/tr/intlayer_with_vite+vue.md +1 -1
- package/docs/tr/packages/intlayer/getLocaleName.md +17 -0
- package/docs/tr/plugins/sync-json.md +1 -1
- package/docs/vi/dictionary/content_file.md +1 -1
- package/docs/vi/intlayer_CMS.md +1 -1
- package/docs/vi/intlayer_visual_editor.md +1 -1
- package/docs/vi/intlayer_with_nextjs_15.md +1 -1
- package/docs/vi/intlayer_with_nextjs_16.md +1 -1
- package/docs/vi/intlayer_with_nuxt.md +3 -3
- package/docs/vi/intlayer_with_react_router_v7.md +1 -1
- package/docs/vi/intlayer_with_react_router_v7_fs_routes.md +1 -1
- package/docs/vi/intlayer_with_tanstack.md +1 -1
- package/docs/vi/intlayer_with_vite+preact.md +1 -2
- package/docs/vi/intlayer_with_vite+react.md +1 -1
- package/docs/vi/intlayer_with_vite+vue.md +1 -1
- package/docs/vi/packages/intlayer/getLocaleName.md +17 -0
- package/docs/vi/plugins/sync-json.md +1 -1
- package/docs/zh/dictionary/content_file.md +1 -1
- package/docs/zh/intlayer_CMS.md +1 -1
- package/docs/zh/intlayer_visual_editor.md +1 -1
- package/docs/zh/intlayer_with_nextjs_15.md +1 -1
- package/docs/zh/intlayer_with_nextjs_16.md +1 -1
- package/docs/zh/intlayer_with_nuxt.md +3 -3
- package/docs/zh/intlayer_with_react_router_v7.md +1 -1
- package/docs/zh/intlayer_with_react_router_v7_fs_routes.md +1 -1
- package/docs/zh/intlayer_with_tanstack.md +1 -1
- package/docs/zh/intlayer_with_vite+react.md +1 -1
- package/docs/zh/intlayer_with_vite+vue.md +1 -1
- package/docs/zh/packages/intlayer/getLocaleName.md +17 -1
- package/docs/zh/plugins/sync-json.md +1 -1
- package/package.json +8 -8
- package/src/generated/blog.entry.ts +57 -0
|
@@ -27,7 +27,7 @@ history:
|
|
|
27
27
|
|
|
28
28
|
# Comment automatiser vos traductions JSON react-intl avec Intlayer
|
|
29
29
|
|
|
30
|
-
<iframe title="Comment automatiser vos traductions JSON react-intl avec Intlayer" class="m-auto aspect-
|
|
30
|
+
<iframe title="Comment automatiser vos traductions JSON react-intl avec Intlayer" class="m-auto aspect-16/9 w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/MpGMxniDHNg?autoplay=0&origin=http://intlayer.org&controls=0&rel=1"/>
|
|
31
31
|
|
|
32
32
|
## Table des matières
|
|
33
33
|
|
|
@@ -27,7 +27,7 @@ history:
|
|
|
27
27
|
|
|
28
28
|
# Internationalisation Vue.js (i18n) avec vue-i18n et Intlayer
|
|
29
29
|
|
|
30
|
-
<iframe title="Comment automatiser vos traductions JSON vue-i18n avec Intlayer" class="m-auto aspect-
|
|
30
|
+
<iframe title="Comment automatiser vos traductions JSON vue-i18n avec Intlayer" class="m-auto aspect-16/9 w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/MpGMxniDHNg?autoplay=0&origin=http://intlayer.org&controls=0&rel=1"/>
|
|
31
31
|
|
|
32
32
|
## Table des matières
|
|
33
33
|
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2025-12-18
|
|
3
|
+
updatedAt: 2025-11-06
|
|
4
|
+
title: Plateforme L10n alternative à Lokalise
|
|
5
|
+
description: Trouvez la meilleure plateforme L10n alternative à Lokalise adaptée à vos besoins
|
|
6
|
+
keywords:
|
|
7
|
+
- L10n
|
|
8
|
+
- TMS
|
|
9
|
+
- Lokalise
|
|
10
|
+
slugs:
|
|
11
|
+
- blog
|
|
12
|
+
- l10n-platform-alternative
|
|
13
|
+
- lokalise
|
|
14
|
+
history:
|
|
15
|
+
- version: 7.5.0
|
|
16
|
+
date: 2025-12-18
|
|
17
|
+
changes: Version initiale
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
# Une alternative open-source L10n à Lokalise (TMS)
|
|
21
|
+
|
|
22
|
+
## Table des matières
|
|
23
|
+
|
|
24
|
+
<TOC/>
|
|
25
|
+
|
|
26
|
+
# Système de gestion de traductions
|
|
27
|
+
|
|
28
|
+
Un système de gestion de traductions (TMS) est une plateforme logicielle conçue pour automatiser et rationaliser le processus de traduction et de localisation (L10n). Traditionnellement, un TMS sert de hub centralisé où le contenu est téléversé, organisé et assigné à des traducteurs humains. Il gère les workflows, stocke des mémoires de traduction (pour éviter de retraduire la même phrase deux fois) et s'occupe de la livraison des fichiers traduits aux développeurs ou aux responsables de contenu.
|
|
29
|
+
|
|
30
|
+
En substance, un TMS a historiquement été le pont entre le code technique (où résident les chaînes / strings) et les linguistes humains (qui comprennent la culture).
|
|
31
|
+
|
|
32
|
+
Un système de gestion de traduction (TMS) est une plateforme logicielle conçue pour automatiser et rationaliser le processus de traduction et de localisation (L10n). Traditionnellement, un TMS sert de hub central où le contenu est téléchargé, organisé et attribué à des traducteurs humains. Il gère les workflows, stocke des mémoires de traduction (pour éviter de retraduire la même phrase deux fois) et s'occupe de la livraison des fichiers traduits aux développeurs ou aux responsables de contenu.
|
|
33
|
+
|
|
34
|
+
En substance, un TMS a historiquement été le pont entre le code technique (où résident les chaînes) et les linguistes humains (qui comprennent la culture).
|
|
35
|
+
|
|
36
|
+
# Lokalise
|
|
37
|
+
|
|
38
|
+
Lokalise est un acteur majeur dans le paysage moderne des TMS. Fondée en 2017, elle est arrivée pour bouleverser le marché en misant fortement sur l'expérience développeur (DX) et l'intégration du design. Contrairement aux concurrents plus anciens, Lokalise a privilégié une interface utilisateur élégante, des API puissantes et des intégrations avec des outils comme Figma et GitHub afin de réduire la friction liée aux allers-retours de fichiers.
|
|
39
|
+
|
|
40
|
+
Elle a bâti son succès en étant le TMS "developer-friendly", automatisant l'extraction et l'insertion des chaînes pour libérer du temps aux ingénieurs. Elle a efficacement résolu le problème de la _localisation continue_ pour les équipes tech évoluant rapidement qui souhaitaient se débarrasser des e-mails manuels contenant des feuilles de calcul.
|
|
41
|
+
|
|
42
|
+
# Intlayer
|
|
43
|
+
|
|
44
|
+
Intlayer est principalement connu comme une solution i18n, mais il intègre aussi un CMS headless. Contrairement à Lokalise, qui agit en grande partie comme un outil de synchronisation externe pour vos strings, Intlayer vit plus près de votre code. Il contrôle l'ensemble de la stack — de la couche de bundling à la distribution de contenu à distance — ce qui se traduit par un flux de contenu plus fluide et plus efficace.
|
|
45
|
+
|
|
46
|
+
## Pourquoi les paradigmes ont-ils changé depuis l'arrivée de l'IA ?
|
|
47
|
+
|
|
48
|
+
Lokalise a perfectionné le volet « DevOps » de la localisation — le déplacement automatique des strings. Cependant, l'arrivée des grands modèles de langage (LLMs) a fondamentalement fait évoluer les paradigmes de la localisation. Le goulot d'étranglement n'est plus le _déplacement_ des strings ; il est la _génération_ de ceux-ci.
|
|
49
|
+
|
|
50
|
+
Avec les LLMs, le coût de la traduction a chuté et la vitesse a augmenté de façon exponentielle. Le rôle de l'équipe de localisation évolue : elle passe de "managing translators" à "managing context and review".
|
|
51
|
+
|
|
52
|
+
Même si Lokalise a ajouté des fonctionnalités d'IA, il reste fondamentalement une plateforme conçue pour gérer des workflows humains et facturer par siège ou par clé. Dans un monde axé sur l'IA, la valeur réside dans la capacité à orchestrer vos modèles d'IA pour générer du contenu adapté au contexte, et pas seulement dans la facilité d'assigner une tâche à une agence humaine.
|
|
53
|
+
|
|
54
|
+
Aujourd'hui, le workflow le plus efficace consiste à traduire et positionner d'abord vos pages au niveau global en utilisant l'IA. Ensuite, dans une deuxième phase, vous faites appel à des rédacteurs humains pour optimiser des contenus spécifiques à fort trafic afin d'améliorer la conversion une fois que le produit génère déjà des revenus.
|
|
55
|
+
|
|
56
|
+
## Pourquoi Intlayer est-il une bonne alternative à Lokalise ?
|
|
57
|
+
|
|
58
|
+
Intlayer est une solution née à l'ère de l'IA. Elle a été architecturée sur le principe que la traduction brute est une commodité, mais que le _contexte_ est roi.
|
|
59
|
+
|
|
60
|
+
Lokalise est souvent critiquée pour ses paliers tarifaires élevés, qui peuvent devenir prohibitifs à mesure qu'une startup se développe. Intlayer adopte une approche différente :
|
|
61
|
+
|
|
62
|
+
1. **Efficacité des coûts :** Vous n'êtes pas enfermé dans un modèle tarifaire « par clé » ou « par siège » qui pénalise la croissance. Avec Intlayer, vous payez pour votre propre inférence (BYO Key), ce qui signifie que vos coûts évoluent directement en fonction de votre utilisation réelle, et non des marges de la plateforme.
|
|
63
|
+
2. **Intégration du workflow :** Alors que Lokalise exige la synchronisation des fichiers (même si elle est automatisée), Intlayer permet la définition de Declarative Content directement dans vos fichiers de composants (React, Next.js, etc.). Cela place le contexte juste à côté de l'UI, réduisant les erreurs.
|
|
64
|
+
3. **Gestion visuelle :** Intlayer fournit un éditeur visuel qui interagit directement avec votre application en cours d'exécution, garantissant que les modifications sont effectuées dans un contexte visuel complet — ce qui est souvent déconnecté dans les listes de fichiers des TMS traditionnels.
|
|
65
|
+
|
|
66
|
+
# Comparaison côte à côte
|
|
67
|
+
|
|
68
|
+
| Fonctionnalité | Lokalise (TMS moderne) | Intlayer (IA-native) |
|
|
69
|
+
| :------------------------- | :--------------------------------------------------- | :------------------------------------------------------------------------------- |
|
|
70
|
+
| **Philosophie centrale** | Automation & Design-stage L10n. | Gère la logique de contenu & la génération IA. |
|
|
71
|
+
| **Modèle de tarification** | Par siège / MAU / nombre de clés (coût élevé). | Payez pour votre propre inférence (BYO Key). |
|
|
72
|
+
| **Intégration** | Synchronisation via API / plugins Figma. | Intégration profonde au code (déclarative). |
|
|
73
|
+
| **Mises à jour** | Retards de synchronisation / création de PR requise. | Synchronisation instantanée avec la base de code ou l'application en production. |
|
|
74
|
+
| **Formats de fichiers** | Agnostique (Mobile, Web, Documents). | Web moderne (JSON, JS, TS). |
|
|
75
|
+
| **Tests** | Flux de travail de relecture. | CI / CLI / tests A/B. |
|
|
76
|
+
| **Hébergement** | SaaS (code fermé). | Open Source & auto-hébergeable (Docker). |
|
|
77
|
+
|
|
78
|
+
Intlayer propose une solution i18n complète et tout-en-un qui permet une intégration approfondie de votre contenu. Votre contenu distant peut être synchronisé directement avec votre codebase ou votre application en production. En comparaison, Lokalise repose généralement sur la création de Pull Requests pour mettre à jour le contenu dans votre repo, ce qui maintient une séparation entre "état du contenu" et "état de l'application".
|
|
79
|
+
|
|
80
|
+
De plus, Intlayer peut être utilisé comme Feature Flag ou outil d'A/B testing, vous permettant de tester dynamiquement différentes variantes de contenu. Alors que Lokalise se concentre sur la justesse des mots, Intlayer se concentre sur la bonne _expérience utilisateur_ grâce à la diffusion de données dynamiques.
|
|
81
|
+
|
|
82
|
+
Lokalise est excellent pour les applications mobiles (iOS/Android) et les workflows dirigés par le design. Cependant, pour les applications web modernes utilisant des frameworks comme Next.js ou React, la prise en charge native par Intlayer des fichiers `.js`, `.ts` et des dictionnaires JSON offre une expérience développeur (DX) supérieure, avec un support TypeScript complet pour le contenu — vous garantissant de ne jamais déployer une clé de traduction manquante.
|
|
83
|
+
|
|
84
|
+
Enfin, pour ceux qui privilégient la souveraineté des données et le contrôle, Intlayer est open-source et peut être auto-hébergé. Des fichiers Docker sont disponibles directement dans le dépôt, vous offrant la pleine propriété de votre infrastructure de localisation — un contraste net avec le modèle SaaS fermé de Lokalise.
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2025-12-18
|
|
3
|
+
updatedAt: 2025-11-06
|
|
4
|
+
title: Alternative de plateforme L10n
|
|
5
|
+
description: Trouvez la meilleure alternative de plateforme L10n pour vos besoins
|
|
6
|
+
keywords:
|
|
7
|
+
- L10n
|
|
8
|
+
- TMS
|
|
9
|
+
- Crowdin
|
|
10
|
+
slugs:
|
|
11
|
+
- blog
|
|
12
|
+
- l10n-platform-alternative
|
|
13
|
+
- crowdin
|
|
14
|
+
history:
|
|
15
|
+
- version: 7.5.0
|
|
16
|
+
date: 2025-12-18
|
|
17
|
+
changes: Version initiale
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
# Une alternative open source L10n à Crowdin (TMS)
|
|
21
|
+
|
|
22
|
+
## Table des matières
|
|
23
|
+
|
|
24
|
+
<TOC/>
|
|
25
|
+
|
|
26
|
+
# Système de gestion des traductions
|
|
27
|
+
|
|
28
|
+
Un Translation Management System (TMS) est une plateforme logicielle conçue pour automatiser et rationaliser le processus de traduction et de localisation (L10n). Traditionnellement, un TMS sert de hub centralisé où le contenu est téléversé, organisé et assigné à des traducteurs humains. Il gère les workflows, stocke des mémoires de traduction (pour éviter de retraduire la même phrase deux fois) et s'occupe de la livraison des fichiers traduits aux développeurs ou aux responsables de contenu.
|
|
29
|
+
|
|
30
|
+
Essentiellement, un TMS a historiquement fait le lien entre le code technique (où résident les chaînes) et les linguistes humains (qui comprennent la culture).
|
|
31
|
+
|
|
32
|
+
gestion de la traduction
|
|
33
|
+
|
|
34
|
+
Un système de gestion de traduction (TMS) est une plateforme logicielle conçue pour automatiser et rationaliser le processus de traduction et de localisation (L10n). Traditionnellement, un TMS sert de hub centralisé où le contenu est téléversé, organisé et assigné à des traducteurs humains. Il gère les workflows, stocke les mémoires de traduction (pour éviter de retraduire deux fois la même phrase) et prend en charge la livraison des fichiers traduits aux développeurs ou aux gestionnaires de contenu.
|
|
35
|
+
|
|
36
|
+
En substance, un TMS a historiquement fait le lien entre le code technique (où résident les strings) et les linguistes humains (qui comprennent la culture).
|
|
37
|
+
|
|
38
|
+
# Crowdin
|
|
39
|
+
|
|
40
|
+
Crowdin est un vétéran dans ce domaine. Fondé en 2009, il a émergé à une époque où le défi principal de la localisation était la connectivité. Sa mission était claire : mettre en relation les copywriters, les traducteurs et les responsables de projet de manière efficace.
|
|
41
|
+
|
|
42
|
+
Pendant plus d'une décennie, Crowdin a été la référence du secteur pour la gestion de la localisation. Il a résolu le problème de la fragmentation en permettant aux équipes de téléverser des fichiers `.po`, `.xml` ou `.yaml` et de faire travailler les traducteurs dessus dans une interface cloud. Il s'est forgé une réputation grâce à une solide automatisation des workflows, permettant aux entreprises de passer d'une langue à dix sans se noyer dans des feuilles de calcul.
|
|
43
|
+
|
|
44
|
+
# Intlayer
|
|
45
|
+
|
|
46
|
+
Intlayer est principalement connu comme une solution i18n, mais il intègre aussi un CMS. Contrairement à Crowdin, qui se limite à agir comme une couche autour de votre configuration i18n existante, Intlayer contrôle l'ensemble de la stack — de la couche de bundling à la distribution de contenu à distance — ce qui aboutit à un flux de contenu plus fluide et plus efficace.
|
|
47
|
+
|
|
48
|
+
## Pourquoi les paradigmes ont-ils changé depuis l'arrivée de l'IA ?
|
|
49
|
+
|
|
50
|
+
Alors que Crowdin optimisait le workflow humain, l'arrivée des modèles de langage de grande taille (LLMs) a fondamentalement fait évoluer les paradigmes de la localisation. Le rôle du copywriter n'est plus de créer la traduction à partir de zéro, mais de relire et d'optimiser le contenu généré par l'IA.
|
|
51
|
+
|
|
52
|
+
Pourquoi ? Parce que l'IA est 1 000 fois moins chère et infiniment plus rapide.
|
|
53
|
+
|
|
54
|
+
Cependant, il y a une limitation. Le copywriting ne se résume pas à la traduction ; il s'agit d'adapter le message à différentes cultures et contextes. On ne vend pas un iPhone à votre grand‑mère de la même manière qu'à un dirigeant d'entreprise chinois. Le ton, l'idiome et les marqueurs culturels doivent être différents.
|
|
55
|
+
|
|
56
|
+
Aujourd'hui, le flux de travail le plus efficace consiste d'abord à traduire et positionner vos pages à l'échelle mondiale en utilisant l'AI. Ensuite, dans une seconde phase, vous faites appel à des copywriters humains pour optimiser les contenus spécifiques à fort trafic afin d'augmenter la conversion une fois que le produit génère déjà des revenus.
|
|
57
|
+
|
|
58
|
+
Bien que les revenus de Crowdin — principalement tirés de ses solutions legacy bien éprouvées — continuent de bien se porter, je pense que le secteur traditionnel de la localisation sera fortement impacté dans un horizon de 5 à 10 ans. Le modèle consistant à payer au mot ou par licence/utilisateur pour un outil de gestion devient obsolète.
|
|
59
|
+
|
|
60
|
+
## Pourquoi Intlayer est-il une bonne alternative à Crowdin ?
|
|
61
|
+
|
|
62
|
+
Intlayer est une solution née à l'ère de l'IA. Elle a été conçue selon le principe que, en 2026, la traduction brute n'a plus de valeur intrinsèque. Elle est devenue une commodité.
|
|
63
|
+
|
|
64
|
+
Par conséquent, Intlayer ne se positionne pas simplement comme un TMS, mais comme une solution de **Content Management** qui intègre en profondeur un éditeur visuel et une logique d'internationalisation.
|
|
65
|
+
|
|
66
|
+
Avec Intlayer, vous générez vos traductions au coût de vos inférences. Vous n'êtes pas lié au modèle tarifaire d'une plateforme ; vous choisissez le fournisseur (OpenAI, Anthropic, Mistral, etc.), vous choisissez le modèle, et vous traduisez via CI (Continuous Integration), CLI, ou directement via le CMS intégré. Cela déplace la valeur de l'accès aux traducteurs vers la gestion du contexte.
|
|
67
|
+
|
|
68
|
+
# Comparaison côte à côte
|
|
69
|
+
|
|
70
|
+
| Fonctionnalité | Crowdin (TMS hérité) | Intlayer (AI-Native) |
|
|
71
|
+
| :----------------------- | :------------------------------------------------------------------ | :---------------------------------------------------------------------- |
|
|
72
|
+
| **Philosophie centrale** | Met en relation les humains avec des chaînes de caractères. | Gère la logique de contenu et la génération par IA. |
|
|
73
|
+
| **Pricing Model** | Par siège / niveau hébergé. | Payez pour vos propres inférences (BYO Key). |
|
|
74
|
+
| **Integration** | Échange basé sur les fichiers (Téléversement/Téléchargement). | Intégration profonde au code (Déclarative). |
|
|
75
|
+
| **Updates** | Nécessite souvent des reconstructions CI/CD pour déployer le texte. | Synchronisation instantanée avec la base de code ou l'application live. |
|
|
76
|
+
| **File Formats** | Divers (.po, .xml, .yaml, etc.). | Web moderne (JSON, JS, TS). |
|
|
77
|
+
| **Testing** | Limités. | CI / CLI. |
|
|
78
|
+
| **Hosting** | SaaS (principalement). | Open Source & auto-hébergeable (Docker). |
|
|
79
|
+
|
|
80
|
+
Intlayer propose une solution i18n complète et tout-en-un qui permet une intégration approfondie de votre contenu. Votre contenu distant peut être synchronisé directement avec votre codebase ou votre application en production. En comparaison, Crowdin nécessite souvent une reconstruction de votre application dans votre pipeline CI/CD pour mettre à jour le contenu, créant une friction entre l'équipe de traduction et le processus de déploiement.
|
|
81
|
+
|
|
82
|
+
De plus, Intlayer peut être utilisé comme Feature Flag ou outil d'A/B testing, vous permettant de tester dynamiquement différentes variantes de contenu — ce que les outils TMS standard comme Crowdin ne prennent pas en charge nativement.
|
|
83
|
+
|
|
84
|
+
Crowdin prend en charge un large éventail de formats de fichiers — y compris des types hérités comme `.po`, `.xml` et `.yaml`, ce qui peut être bénéfique pour des projets disposant de workflows établis ou de systèmes plus anciens. Intlayer, en revanche, fonctionne principalement avec des formats modernes orientés web tels que `.json`, `.js` et `.ts`. Cela signifie qu'Intlayer peut ne pas être compatible avec tous les formats hérités, ce qui constitue un point à considérer pour les équipes migrantes depuis des plateformes plus anciennes.
|
|
85
|
+
|
|
86
|
+
Enfin, pour ceux qui privilégient la souveraineté des données et le contrôle, Intlayer est open-source et peut être self-hosted. Des fichiers Docker sont disponibles directement dans le repository, vous offrant la pleine maîtrise de votre infrastructure de localisation.
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2025-12-18
|
|
3
|
+
updatedAt: 2025-11-06
|
|
4
|
+
title: Alternative de plateforme L10n à Phrase
|
|
5
|
+
description: Trouvez la meilleure alternative de plateforme L10n à Phrase pour vos besoins
|
|
6
|
+
keywords:
|
|
7
|
+
- L10n
|
|
8
|
+
- TMS
|
|
9
|
+
- Phrase
|
|
10
|
+
slugs:
|
|
11
|
+
- blog
|
|
12
|
+
- l10n-platform-alternative
|
|
13
|
+
- phrase
|
|
14
|
+
history:
|
|
15
|
+
- version: 7.5.0
|
|
16
|
+
date: 2025-12-18
|
|
17
|
+
changes: Version initiale
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
# Une alternative L10N open-source à Phrase (TMS)
|
|
21
|
+
|
|
22
|
+
## Table des matières
|
|
23
|
+
|
|
24
|
+
<TOC/>
|
|
25
|
+
|
|
26
|
+
# Système de gestion de traduction
|
|
27
|
+
|
|
28
|
+
Un Translation Management System (TMS) est une plateforme logicielle conçue pour automatiser et rationaliser le processus de traduction et de localisation (L10n). Traditionnellement, un TMS sert de hub centralisé où le contenu est importé, organisé et attribué à des traducteurs humains. Il gère les workflows, stocke les mémoires de traduction (pour éviter de retraduire la même phrase deux fois) et s'occupe de la restitution des fichiers traduits aux développeurs ou aux responsables de contenu.
|
|
29
|
+
|
|
30
|
+
En substance, un TMS a historiquement été le pont entre le code technique (où résident les chaînes) et les linguistes humains (qui comprennent la culture).
|
|
31
|
+
|
|
32
|
+
# Phrase (anciennement PhraseApp)
|
|
33
|
+
|
|
34
|
+
Un Système de gestion des traductions (TMS) est une plateforme logicielle conçue pour automatiser et rationaliser le processus de traduction et de localisation (L10n). Traditionnellement, un TMS sert de hub centralisé où le contenu est téléversé, organisé et assigné à des traducteurs humains. Il gère les workflows, stocke des mémoires de traduction (pour éviter de retraduire la même phrase deux fois) et prend en charge la livraison des fichiers traduits aux développeurs ou aux responsables de contenu.
|
|
35
|
+
|
|
36
|
+
En substance, un TMS a historiquement été le pont entre le code technique (où résident les chaînes) et les linguistes humains (qui comprennent la culture).
|
|
37
|
+
|
|
38
|
+
# Phrase (anciennement PhraseApp)
|
|
39
|
+
|
|
40
|
+
Phrase est un acteur majeur dans le domaine de la localisation pour entreprises. À l'origine connu sous le nom de PhraseApp, il a connu une croissance significative, notamment après sa fusion avec Memsource. Il se positionne comme une suite de localisation complète conçue pour la localisation de logiciels, offrant des capacités API robustes et une prise en charge étendue des formats.
|
|
41
|
+
|
|
42
|
+
Phrase est conçu pour évoluer à grande échelle. C'est le choix privilégié des grandes entreprises qui doivent gérer des workflows complexes, d'immenses mémoires de traduction et des processus de contrôle qualité stricts répartis entre de nombreuses équipes. Sa force réside dans sa capacité à gérer des tâches de localisation « lourdes », offrant un écosystème tout-en-un tant pour les chaînes logicielles que pour la traduction de documents.
|
|
43
|
+
|
|
44
|
+
# Intlayer
|
|
45
|
+
|
|
46
|
+
Intlayer est principalement connu comme une solution i18n, mais il intègre également un CMS headless. Contrairement à Phrase, qui fonctionne comme une suite d'entreprise massive et externe, Intlayer agit comme une couche agile intégrée au code. Il contrôle l'ensemble de la stack — de la couche de bundling à la livraison de contenu distante — ce qui se traduit par un flux de contenu plus fluide et plus efficace pour les applications web modernes.
|
|
47
|
+
|
|
48
|
+
## Pourquoi les paradigmes ont-ils changé depuis l'arrivée de l'IA ?
|
|
49
|
+
|
|
50
|
+
Phrase a été conçu pour résoudre les problèmes de la décennie précédente : gérer d'importantes équipes de traducteurs humains et standardiser les workflows à travers des départements d'entreprise fragmentés. Il excelle dans la gouvernance des flux de travail.
|
|
51
|
+
|
|
52
|
+
Cependant, l'arrivée des Large Language Models (LLMs) a fondamentalement fait évoluer les paradigmes de la localisation. Le défi n'est plus « comment gérer 50 traducteurs ? » mais « comment valider efficacement du contenu généré par l'IA ? »
|
|
53
|
+
|
|
54
|
+
Même si Phrase a intégré des fonctionnalités d'IA, elles sont souvent superposées à une architecture legacy conçue pour des workflows centrés sur l'humain et un modèle de licences par siège. À l'ère moderne, les frictions liées au « push vers le TMS » et au « pull depuis le TMS » deviennent obsolètes. Les développeurs attendent que le contenu soit aussi fluide que le code.
|
|
55
|
+
|
|
56
|
+
Aujourd'hui, le workflow le plus efficace est de traduire et positionner d'abord vos pages au niveau global en utilisant l'IA. Ensuite, en seconde phase, vous faites appel à des copywriters humains pour optimiser les contenus spécifiques à fort trafic afin d'augmenter la conversion une fois que le produit génère déjà des revenus.
|
|
57
|
+
|
|
58
|
+
## Pourquoi Intlayer est-il une bonne alternative à Phrase ?
|
|
59
|
+
|
|
60
|
+
Intlayer est une solution née à l'ère de l'IA, conçue spécifiquement pour l'écosystème moderne JavaScript/TypeScript. Elle remet en cause le modèle d'entreprise lourd de Phrase en offrant agilité et transparence.
|
|
61
|
+
|
|
62
|
+
1. **Transparence tarifaire :** Phrase est connue pour ses tarifs Enterprise, souvent opaques et coûteux pour les entreprises en croissance. Intlayer vous permet d'apporter vos propres clés API (OpenAI, Anthropic, etc.), ce qui garantit que vous payez les tarifs du marché pour l'intelligence plutôt qu'une majoration sur un abonnement à la plateforme.
|
|
63
|
+
2. **Developer Experience (DX) :** Phrase s'appuie fortement sur des outils CLI et des appels API pour synchroniser les fichiers. Intlayer s'intègre directement dans le bundler et le runtime. Cela signifie que vos définitions sont strictement typées (TypeScript), et que les clés manquantes sont détectées à la compilation, pas en production.
|
|
64
|
+
3. **Vitesse de mise sur le marché :** Intlayer supprime la "boîte noire" du TMS. Vous n'envoyez pas de fichiers à l'extérieur en attendant leur retour. Vous générez des traductions instantanément via l'IA dans votre pipeline CI ou votre environnement local, en resserrant la boucle de développement.
|
|
65
|
+
|
|
66
|
+
# Comparaison côte à côte
|
|
67
|
+
|
|
68
|
+
| Feature | Phrase (Enterprise TMS) | Intlayer (AI-Native) |
|
|
69
|
+
| :------------------------- | :------------------------------------------------------------------ | :--------------------------------------------------------------------------- |
|
|
70
|
+
| **Core Philosophy** | Gouvernance d'entreprise & flux de travail. | Gère la logique de contenu & la génération par IA. |
|
|
71
|
+
| **Pricing Model** | Entreprise sur mesure / par siège (élevé). | Payez pour votre propre inférence (BYO Key). |
|
|
72
|
+
| **Integration** | Usage intensif d'API / CLI. | Intégration profonde au code (déclarative). |
|
|
73
|
+
| **Updates** | Synchronisation requise / dépendant du pipeline. | Synchronisation instantanée avec la base de code ou l'app en direct. |
|
|
74
|
+
| **File Formats** | Très large (Legacy & Documents). | Web moderne (JSON, JS, TS). |
|
|
75
|
+
| **Testing** | Vérifications QA / étapes LQA. | CI / CLI / tests A/B. |
|
|
76
|
+
| **Hosting** | SaaS (strictement Enterprise). | Open Source & auto-hébergeable (Docker). |
|
|
77
|
+
| **Philosophie centrale** | Gouvernance d'entreprise et flux de travail. | Gère la logique de contenu et la génération par IA. |
|
|
78
|
+
| **Modèle de tarification** | Solution Enterprise personnalisée / facturation par siège (élevée). | Payez pour votre propre inference (BYO Key). |
|
|
79
|
+
| **Intégration** | Utilisation intensive d'API / CLI. | Intégration profonde au code (déclarative). |
|
|
80
|
+
| **Mises à jour** | Synchronisation requise / Dépendant du pipeline. | Synchronisation instantanée avec la base de code ou l'application en direct. |
|
|
81
|
+
| **Formats de fichiers** | Extrêmement large (Legacy & Documents). | Web moderne (JSON, JS, TS). |
|
|
82
|
+
| **Tests** | Contrôles QA / étapes LQA. | CI / CLI / A/B Testing. |
|
|
83
|
+
| **Hébergement** | SaaS (strictement Enterprise). | Open Source et auto-hébergeable (Docker). |
|
|
84
|
+
|
|
85
|
+
Intlayer propose une solution i18n complète et tout-en-un permettant une intégration approfondie de votre contenu. Votre contenu distant peut être synchronisé directement avec votre codebase ou votre application en production. En comparaison, Phrase est une dépendance externe puissante mais complexe qui nécessite souvent des responsables de localisation dédiés pour fonctionner efficacement.
|
|
86
|
+
|
|
87
|
+
De plus, Intlayer peut être utilisé comme Feature Flag ou outil de test A/B, vous permettant de tester dynamiquement différentes variantes de contenu. Phrase est conçu pour garantir la cohérence linguistique, alors qu'Intlayer vous aide à optimiser la conversion et l'expérience utilisateur grâce à des données dynamiques.
|
|
88
|
+
|
|
89
|
+
Alors que Phrase est incontournable pour des besoins d'entreprise complexes et multi-formats (par ex. la traduction simultanée de PDF, de sous-titres et de logiciels), Intlayer est le choix privilégié des équipes produit qui développent des applications web et qui souhaitent la pleine propriété, la sécurité de typage (type safety) et un workflow moderne piloté par l'IA, sans la surcharge des solutions enterprise.
|
|
90
|
+
|
|
91
|
+
Enfin, pour ceux qui privilégient la souveraineté et le contrôle des données, Intlayer est open-source et peut être self-hosted. Des fichiers Docker sont disponibles directement dans le dépôt, vous offrant la pleine maîtrise de votre infrastructure de localisation — ce qui est impossible avec l'écosystème SaaS fermé de Phrase.
|
|
@@ -31,7 +31,7 @@ history:
|
|
|
31
31
|
|
|
32
32
|
# Intlayer का उपयोग करके अपने i18next JSON अनुवादों को स्वचालित कैसे करें
|
|
33
33
|
|
|
34
|
-
<iframe title="Intlayer का उपयोग करके अपने i18next JSON अनुवादों को स्वचालित कैसे करें" class="m-auto aspect-
|
|
34
|
+
<iframe title="Intlayer का उपयोग करके अपने i18next JSON अनुवादों को स्वचालित कैसे करें" class="m-auto aspect-16/9 w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/MpGMxniDHNg?autoplay=0&origin=http://intlayer.org&controls=0&rel=1"/>
|
|
35
35
|
|
|
36
36
|
## Intlayer क्या है?
|
|
37
37
|
|
|
@@ -27,7 +27,7 @@ history:
|
|
|
27
27
|
|
|
28
28
|
# next-i18next और Intlayer के साथ Next.js अंतरराष्ट्रीयकरण (i18n)
|
|
29
29
|
|
|
30
|
-
<iframe title="Intlayer का उपयोग करके अपने next-i18next JSON अनुवादों को स्वचालित कैसे करें" class="m-auto aspect-
|
|
30
|
+
<iframe title="Intlayer का उपयोग करके अपने next-i18next JSON अनुवादों को स्वचालित कैसे करें" class="m-auto aspect-16/9 w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/MpGMxniDHNg?autoplay=0&origin=http://intlayer.org&controls=0&rel=1"/>
|
|
31
31
|
|
|
32
32
|
## सामग्री सूची
|
|
33
33
|
|
|
@@ -26,7 +26,7 @@ history:
|
|
|
26
26
|
|
|
27
27
|
# Intlayer का उपयोग करके अपने next-intl JSON अनुवादों को स्वचालित कैसे करें
|
|
28
28
|
|
|
29
|
-
<iframe title="Intlayer का उपयोग करके अपने next-intl JSON अनुवादों को स्वचालित कैसे करें" class="m-auto aspect-
|
|
29
|
+
<iframe title="Intlayer का उपयोग करके अपने next-intl JSON अनुवादों को स्वचालित कैसे करें" class="m-auto aspect-16/9 w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/MpGMxniDHNg?autoplay=0&origin=http://intlayer.org&controls=0&rel=1"/>
|
|
30
30
|
|
|
31
31
|
## Intlayer क्या है?
|
|
32
32
|
|
|
@@ -29,7 +29,7 @@ history:
|
|
|
29
29
|
|
|
30
30
|
# Intlayer का उपयोग करके अपने react-i18next JSON अनुवादों को स्वचालित कैसे करें
|
|
31
31
|
|
|
32
|
-
<iframe title="Intlayer का उपयोग करके अपने react-i18next JSON अनुवादों को स्वचालित कैसे करें" class="m-auto aspect-
|
|
32
|
+
<iframe title="Intlayer का उपयोग करके अपने react-i18next JSON अनुवादों को स्वचालित कैसे करें" class="m-auto aspect-16/9 w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/MpGMxniDHNg?autoplay=0&origin=http://intlayer.org&controls=0&rel=1"/>
|
|
33
33
|
|
|
34
34
|
## Intlayer क्या है?
|
|
35
35
|
|
|
@@ -27,7 +27,7 @@ history:
|
|
|
27
27
|
|
|
28
28
|
# Intlayer का उपयोग करके अपने react-intl JSON अनुवादों को स्वचालित कैसे करें
|
|
29
29
|
|
|
30
|
-
<iframe title="Intlayer का उपयोग करके अपने react-intl JSON अनुवादों को स्वचालित कैसे करें" class="m-auto aspect-
|
|
30
|
+
<iframe title="Intlayer का उपयोग करके अपने react-intl JSON अनुवादों को स्वचालित कैसे करें" class="m-auto aspect-16/9 w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/MpGMxniDHNg?autoplay=0&origin=http://intlayer.org&controls=0&rel=1"/>
|
|
31
31
|
|
|
32
32
|
## सामग्री तालिका
|
|
33
33
|
|
|
@@ -27,7 +27,7 @@ history:
|
|
|
27
27
|
|
|
28
28
|
# vue-i18n और Intlayer के साथ Vue.js अंतरराष्ट्रीयकरण (i18n)
|
|
29
29
|
|
|
30
|
-
<iframe title="Intlayer का उपयोग करके अपने vue-i18n JSON अनुवादों को स्वचालित कैसे करें" class="m-auto aspect-
|
|
30
|
+
<iframe title="Intlayer का उपयोग करके अपने vue-i18n JSON अनुवादों को स्वचालित कैसे करें" class="m-auto aspect-16/9 w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/MpGMxniDHNg?autoplay=0&origin=http://intlayer.org&controls=0&rel=1"/>
|
|
31
31
|
|
|
32
32
|
## सामग्री सूची
|
|
33
33
|
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2025-12-18
|
|
3
|
+
updatedAt: 2025-11-06
|
|
4
|
+
title: Lokalise के लिए L10n प्लेटफ़ॉर्म विकल्प
|
|
5
|
+
description: अपनी ज़रूरतों के लिए Lokalise का सबसे अच्छा L10n प्लेटफ़ॉर्म विकल्प खोजें
|
|
6
|
+
keywords:
|
|
7
|
+
- L10n
|
|
8
|
+
- TMS
|
|
9
|
+
- Lokalise
|
|
10
|
+
slugs:
|
|
11
|
+
- blog
|
|
12
|
+
- l10n-platform-alternative
|
|
13
|
+
- lokalise
|
|
14
|
+
history:
|
|
15
|
+
- version: 7.5.0
|
|
16
|
+
date: 2025-12-18
|
|
17
|
+
changes: Initial version
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
# Lokalise (TMS) के लिए एक ओपन-सोर्स L10n विकल्प
|
|
21
|
+
|
|
22
|
+
## सामग्री सूची
|
|
23
|
+
|
|
24
|
+
<TOC/>
|
|
25
|
+
|
|
26
|
+
# अनुवाद प्रबंधन प्रणाली
|
|
27
|
+
|
|
28
|
+
Translation Management System (TMS) एक सॉफ़्टवेयर प्लेटफ़ॉर्म है जिसे अनुवाद और लोकलाइज़ेशन (L10n) प्रक्रिया को स्वचालित और सुगम बनाने के लिए डिज़ाइन किया गया है। पारंपरिक रूप से, एक TMS एक केंद्रीकृत हब के रूप में कार्य करता है जहाँ सामग्री अपलोड की जाती है, संगठित की जाती है, और मानव अनुवादकों को सौंप दी जाती है। यह वर्कफ़्लो का प्रबंधन करता है, translation memories को संग्रहीत करता है (ताकि एक ही वाक्य को दोबारा अनुवाद न करना पड़े), और अनुवादित फ़ाइलों की डिलीवरी डेवलपर्स या कंटेंट मैनेजरों तक संभालता है।
|
|
29
|
+
|
|
30
|
+
मूलतः, TMS ऐतिहासिक रूप से तकनीकी कोड (जहाँ स्ट्रिंग्स रहती हैं) और मानव भाषाविदों (जो सांस्कृतिक संदर्भ समझते हैं) के बीच सेतु रहा है।
|
|
31
|
+
|
|
32
|
+
# Lokalise
|
|
33
|
+
|
|
34
|
+
Lokalise आधुनिक TMS परिदृश्य में एक महत्वपूर्ण खिलाड़ी है। 2017 में स्थापित, यह डेवलपर एक्सपीरियंस (DX) और डिज़ाइन इंटीग्रेशन पर भारी ध्यान केंद्रित करके बाजार में बदलाव लाने के लिए आया। पुराने प्रतिस्पर्धियों के विपरीत, Lokalise ने फ़ाइलों को बार-बार आगे-पीछे भेजने की घर्षण को कम करने के लिए एक चिकनी UI, शक्तिशाली APIs, और Figma तथा GitHub जैसे टूल्स के साथ इंटीग्रेशन को प्राथमिकता दी।
|
|
35
|
+
|
|
36
|
+
इसने अपनी सफलता "developer-friendly" TMS होने पर बनाई, स्ट्रिंग्स के एक्सट्रैक्शन और इंसर्शन को स्वचालित करके इंजीनियरिंग समय को मुक्त किया। इसने तेज़ी से चलने वाली टेक टीमों के लिए मैन्युअल स्प्रेडशीट ईमेल्स से छुटकारा पाने वाली _निरंतर लोकलाइज़ेशन_ की समस्या को प्रभावी ढंग से हल कर दिया।
|
|
37
|
+
|
|
38
|
+
# Intlayer
|
|
39
|
+
|
|
40
|
+
Intlayer मुख्य रूप से एक i18n समाधान के रूप में जाना जाता है, लेकिन यह एक हेडलेस CMS भी इंटीग्रेट करता है। Lokalise के विपरीत, जो बड़ी हद तक आपकी स्ट्रिंग्स के लिए एक बाहरी सिंक्रोनाइज़ेशन टूल के रूप में काम करता है, Intlayer आपके कोड के और भी करीब रहता है। यह पूरे स्टैक को नियंत्रित करता है — बंडलिंग लेयर से लेकर रिमोट कंटेंट डिलीवरी तक — जिसके परिणामस्वरूप कंटेंट फ्लो अधिक सुचारू और अधिक कुशल होता है।
|
|
41
|
+
|
|
42
|
+
## AI के बाद पैराडाइम्स क्यों बदल गए हैं?
|
|
43
|
+
|
|
44
|
+
Lokalise ने लोकलाइज़ेशन के "DevOps" पक्ष — स्ट्रिंग्स को ऑटोमैटिक रूप से मूव करने — को परिपूर्ण किया। हालांकि, Large Language Models (LLMs) के आगमन ने लोकलाइज़ेशन के पैराडाइम्स को मौलिक रूप से बदल दिया है। अब बाधा सिर्फ़ स्ट्रिंग्स को _स्थानांतरित_ करने में नहीं है; असली चुनौती उन्हें _उत्पन्न_ करने में है।
|
|
45
|
+
|
|
46
|
+
LLMs के साथ, अनुवाद की लागत धड़ाम से घट गई है और गति गुणात्मक रूप से बढ़ी है। लोकलाइज़ेशन टीम की भूमिका "ट्रांसलेटर्स का प्रबंधन" से बदलकर "कॉन्टेक्स्ट और रिव्यू का प्रबंधन" बन रही है।
|
|
47
|
+
|
|
48
|
+
हालाँकि Lokalise ने AI फीचर्स जोड़े हैं, यह मूलतः एक ऐसा प्लेटफ़ॉर्म बना रहता है जो मानव वर्कफ़्लो को मैनेज करने और सीट या key count के आधार पर चार्ज करने के लिए डिज़ाइन किया गया है। एक AI-प्रथम दुनिया में असली वैल्यू इस बात में है कि आप अपने AI मॉडल्स को कितनी अच्छी तरह ऑर्केस्ट्रेट कर सकते हैं ताकि वे context-aware कंटेंट जेनरेट कर सकें, न कि केवल इस बात में कि आप कितनी आसानी से किसी टास्क को मानव एजेंसी को असाइन कर सकते हैं।
|
|
49
|
+
|
|
50
|
+
आज सबसे प्रभावी वर्कफ़्लो यह है कि पहले AI का उपयोग करके आपके पेजों का अनुवाद और वैश्विक पोज़िशनिंग की जाए। फिर, दूसरे चरण में, आप ह्यूमन कॉपीराइटर्स का उपयोग करके उन विशिष्ट हाई-ट्रैफ़िक कंटेंट को ऑप्टिमाइज़ करते हैं ताकि प्रोडक्ट राजस्व जनरेट करने के बाद कन्वर्ज़न बढ़े।
|
|
51
|
+
|
|
52
|
+
LLMs के साथ, अनुवाद की लागत बेहद कम हो गई है, और गति घातीय रूप से बढ़ गई है। लोकलाइज़ेशन टीम की भूमिका "अनुवादकों का प्रबंधन" से "संदर्भ और समीक्षा का प्रबंधन" की ओर बदल रही है।
|
|
53
|
+
|
|
54
|
+
हालाँकि Lokalise ने AI फीचर जोड़े हैं, यह मूल रूप से मानव वर्कफ़्लो को प्रबंधित करने और सीट या की-काउंट के अनुसार शुल्क लेने के लिए डिज़ाइन किया गया प्लेटफ़ॉर्म ही बना हुआ है। एक AI-प्राथमिकता वाली दुनिया में, मूल्य इस बात में निहित है कि आप अपने AI मॉडलों को कितनी कुशलता से ऑर्केस्ट्रेट कर सकते हैं ताकि वे संदर्भ-सूचित सामग्री उत्पन्न करें, न कि केवल इस बात में कि आप किसी मानवीय एजेंसी को कितना आसानी से एक कार्य असाइन कर सकते हैं।
|
|
55
|
+
|
|
56
|
+
आज, सबसे कुशल वर्कफ़्लो यह है कि आप पहले AI का उपयोग करके अपनी पेजों का अनुवाद करें और उन्हें वैश्विक रूप से पोज़िशन करें। फिर, दूसरे चरण में, जब प्रोडक्ट पहले से राजस्व जनरेट कर रहा हो, तब आप कन्वर्ज़न बढ़ाने के लिए विशिष्ट हाई-ट्रैफ़िक कंटेंट को ऑप्टिमाइज़ करने हेतु मानव कॉपीराइटर्स का उपयोग करते हैं।
|
|
57
|
+
|
|
58
|
+
## Intlayer Lokalise का एक अच्छा विकल्प क्यों है?
|
|
59
|
+
|
|
60
|
+
Intlayer AI युग में जन्मी एक सॉल्यूशन है। इसे इस सिद्धांत के साथ आर्किटेक्ट किया गया था कि कच्चा अनुवाद एक कमोडिटी है, लेकिन _context_ ही राजा है।
|
|
61
|
+
|
|
62
|
+
Lokalise को अक्सर उसकी ऊँची प्राइसिंग टियर्स के लिए आलोचना का सामना करना पड़ता है, जो किसी स्टार्टअप के स्केल होने पर अत्यधिक महंगी हो सकती हैं। Intlayer एक अलग अप्रोच अपनाता है:
|
|
63
|
+
|
|
64
|
+
1. **लागत दक्षता:** आप ऐसे "per key" या "per seat" प्राइसिंग मॉडल में लॉक नहीं होते जो ग्रोथ को penalize करता है। Intlayer के साथ, आप अपने खुद के inference (BYO Key) के लिए भुगतान करते हैं, जिसका मतलब है कि आपकी लागतें प्लेटफ़ॉर्म के मार्जिन्स नहीं बल्कि आपके वास्तविक उपयोग के साथ सीधे स्केल होती हैं।
|
|
65
|
+
2. **वर्कफ़्लो एकीकरण:** जबकि Lokalise को फ़ाइलों का सिंक करना आवश्यक होता है (भले ही स्वचालित हो), Intlayer सीधे आपके कंपोनेंट फ़ाइलों (React, Next.js, आदि) में Declarative Content की परिभाषा करने की अनुमति देता है। यह संदर्भ UI के ठीक बगल में रखता है, जिससे त्रुटियाँ कम होती हैं।
|
|
66
|
+
3. **विज़ुअल प्रबंधन:** Intlayer एक विज़ुअल एडिटर प्रदान करता है जो सीधे आपके चल रहे एप्लिकेशन के साथ इंटरैक्ट करता है, यह सुनिश्चित करते हुए कि संपादन पूर्ण दृश्य संदर्भ में किए जाएँ—जो पारंपरिक TMS फ़ाइल सूचियों में अक्सर अलग रहता है।
|
|
67
|
+
|
|
68
|
+
# साइड-बाय-साइड तुलना
|
|
69
|
+
|
|
70
|
+
| फ़ीचर | Lokalise (Modern TMS) | Intlayer (AI-Native) |
|
|
71
|
+
| :------------------- | :--------------------------------------- | :----------------------------------------- |
|
|
72
|
+
| **मुख्य सिद्धांत** | स्वचालन और डिज़ाइन-स्टेज L10n। | कंटेंट लॉजिक और AI जेनरेशन का प्रबंधन। |
|
|
73
|
+
| **मूल्य मॉडल** | प्रति सीट / MAU / Key count (उच्च लागत)। | अपनी इनफरेंस के लिए भुगतान करें (BYO Key)। |
|
|
74
|
+
| **एकीकरण** | API-आधारित सिंक / Figma प्लगइन्स। | गहरा कोड इंटीग्रेशन (Declarative)। |
|
|
75
|
+
| **अपडेट्स** | सिंक में देरी / PR निर्माण आवश्यक। | कोडबेस या लाइव ऐप के साथ तात्कालिक सिंक। |
|
|
76
|
+
| **फ़ाइल फ़ॉर्मैट्स** | Agnostic (Mobile, Web, Documents)। | आधुनिक वेब (JSON, JS, TS)। |
|
|
77
|
+
| **परीक्षण** | रिव्यू वर्कफ़्लो। | CI / CLI / A/B Testing। |
|
|
78
|
+
| **होस्टिंग** | SaaS (Closed Source)। | Open Source और Self-Hostable (Docker)। |
|
|
79
|
+
|
|
80
|
+
Intlayer एक संपूर्ण, ऑल-इन-वन i18n समाधान प्रदान करता है जो आपकी सामग्री के साथ गहरी इंटीग्रेशन की अनुमति देता है। आपकी रिमोट सामग्री को सीधे आपके codebase या आपके live application के साथ सिंक्रोनाइज़ किया जा सकता है। तुलना में, Lokalise आमतौर पर आपके repo में सामग्री अपडेट करने के लिए Pull Requests बनाने पर निर्भर करता है, जो "content state" और "application state" के बीच एक अलगाव बनाए रखता है।
|
|
81
|
+
|
|
82
|
+
इसके अतिरिक्त, Intlayer को एक Feature Flag या A/B testing टूल के रूप में उपयोग किया जा सकता है, जिससे आप विभिन्न सामग्री वेरिएंट्स को डायनेमिक तरीके से टेस्ट कर सकते हैं। जहाँ Lokalise शब्दों को सही करने पर फोकस करता है, Intlayer डायनेमिक डेटा सर्विंग के माध्यम से उपयोगकर्ता अनुभव (user experience) को सही करने पर ध्यान केंद्रित करता है।
|
|
83
|
+
|
|
84
|
+
Lokalise मोबाइल ऐप्स (iOS/Android) और डिजाइन-लैड वर्कफ़्लोज़ के लिए उत्कृष्ट है। हालांकि, Next.js या React जैसे फ्रेमवर्क वाले आधुनिक वेब अनुप्रयोगों के लिए, Intlayer का `.js`, `.ts` और JSON शब्दकोशों का नेटिव हैंडलिंग एक श्रेष्ठ developer experience (DX) प्रदान करता है, साथ ही कंटेंट के लिए पूर्ण TypeScript सपोर्ट—जिससे आप कभी भी कोई अनुवाद कुंजी छूट कर भेजेंगे नहीं।
|
|
85
|
+
|
|
86
|
+
आखिरकार, जो लोग डेटा संप्रभुता और नियंत्रण को प्राथमिकता देते हैं, उनके लिए Intlayer ओपन-सोर्स है और इसे स्वयं-होस्ट किया जा सकता है। Docker फ़ाइलें रिपॉज़िटरी में सीधे उपलब्ध हैं, जो आपको अपनी लोकलाइज़ेशन इंफ्रास्ट्रक्चर का पूरा स्वामित्व देती हैं—जो Lokalise के बंद SaaS मॉडल से पूरी तरह अलग है।
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2025-12-18
|
|
3
|
+
updatedAt: 2025-11-06
|
|
4
|
+
title: L10n प्लेटफ़ॉर्म विकल्प
|
|
5
|
+
description: अपनी आवश्यकताओं के लिए सर्वश्रेष्ठ L10n प्लेटफ़ॉर्म विकल्प खोजें
|
|
6
|
+
keywords:
|
|
7
|
+
- L10n
|
|
8
|
+
- TMS
|
|
9
|
+
- Crowdin
|
|
10
|
+
slugs:
|
|
11
|
+
- blog
|
|
12
|
+
- l10n-platform-alternative
|
|
13
|
+
- crowdin
|
|
14
|
+
history:
|
|
15
|
+
- version: 7.5.0
|
|
16
|
+
date: 2025-12-18
|
|
17
|
+
changes: प्रारंभिक संस्करण
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
# Crowdin (TMS) के लिए एक L10N ओपन-सोर्स विकल्प
|
|
21
|
+
|
|
22
|
+
## सामग्री तालिका
|
|
23
|
+
|
|
24
|
+
<TOC/>
|
|
25
|
+
|
|
26
|
+
# अनुवाद प्रबंधन प्रणाली
|
|
27
|
+
|
|
28
|
+
A Translation Management System (TMS) एक सॉफ़्टवेयर प्लेटफ़ॉर्म है जिसे अनुवाद और स्थानीयकरण (L10n) प्रक्रिया को स्वचालित और अधिक सुव्यवस्थित करने के लिए डिज़ाइन किया गया है। पारंपरिक रूप से, एक TMS एक केंद्रीकृत हब के रूप में कार्य करता है जहाँ सामग्री अपलोड की जाती है, व्यवस्थित की जाती है, और मानव अनुवादकों को असाइन की जाती है। यह वर्कफ़्लो को मैनेज करता है, ट्रांसलेशन मेमोरीज़ (ताकि एक ही वाक्य को बार-बार अनुवाद न करना पड़े) को स्टोर करता है, और अनुवादित फाइलों को डेवलपर्स या कंटेंट मैनेजर्स को वापस पहुँचाने का प्रबंधन करता है।
|
|
29
|
+
|
|
30
|
+
सारतः, ऐतिहासिक रूप से एक TMS तकनीकी कोड (जहाँ strings स्थित होते हैं) और मानव भाषाविदों (जो संस्कृति को समझते हैं) के बीच सेतु का काम करता रहा है।
|
|
31
|
+
|
|
32
|
+
A Translation Management System (TMS) एक सॉफ़्टवेयर प्लेटफ़ॉर्म है जिसे अनुवाद और लोकलाइज़ेशन (L10n) प्रक्रिया को स्वचालित और सुगम बनाने के लिए डिज़ाइन किया गया है। परंपरागत रूप से, एक TMS एक केंद्रीकृत हब के रूप में कार्य करता है जहां सामग्री अपलोड की जाती है, व्यवस्थित की जाती है, और मानव अनुवादकों को असाइन की जाती है। यह वर्कफ़्लो का प्रबंधन करता है, translation memories को स्टोर करता है (ताकि एक ही वाक्य को बार-बार अनुवाद न करना पड़े), और अनुवादित फ़ाइलों की डिलीवरी डेवलपर्स या कंटेंट मैनेजरों को संभालता है।
|
|
33
|
+
|
|
34
|
+
सार रूप में, एक TMS ऐतिहासिक रूप से तकनीकी कोड (जहाँ strings रहते हैं) और मानव भाषाविदों (जो संस्कृति को समझते हैं) के बीच एक सेतु रहा है।
|
|
35
|
+
|
|
36
|
+
# Crowdin
|
|
37
|
+
|
|
38
|
+
Crowdin इस क्षेत्र का एक अनुभवी है। 2009 में स्थापित, यह उस समय उभरा जब स्थानीयकरण की प्रमुख चुनौती कनेक्टिविटी थी। इसका मिशन स्पष्ट था: copywriters, translators, और project owners को प्रभावी ढंग से एक-दूसरे के साथ जोड़ना।
|
|
39
|
+
|
|
40
|
+
एक दशक से अधिक समय तक, Crowdin स्थानीयकरण को मैनेज करने के लिए उद्योग मानक रहा है। इसने fragmentation की समस्या को हल किया by allowing teams to upload `.po`, `.xml`, or `.yaml` files और translators को उन्हें क्लाउड इंटरफ़ेस में काम करने की अनुमति देकर। इसने मजबूत workflow automation पर अपनी प्रतिष्ठा बनाई, जिससे कंपनियाँ स्प्रेडशीट्स में डूबे बिना एक भाषा से दस भाषाओं तक स्केल कर सकीं।
|
|
41
|
+
|
|
42
|
+
# Intlayer
|
|
43
|
+
|
|
44
|
+
Intlayer मुख्य रूप से एक i18n समाधान के रूप में जाना जाता है, लेकिन यह एक CMS को भी एकीकृत करता है। Crowdin के विपरीत, जो आपके मौजूदा i18n सेटअप के चारों ओर एक wrapper के रूप में सीमित है, Intlayer पूरे स्टैक को नियंत्रित करता है — bundling layer से लेकर remote content delivery तक — जिससे कंटेंट फ्लो अधिक सहज और प्रभावी बनता है।
|
|
45
|
+
|
|
46
|
+
## AI के आने के बाद पैराडाइम्स क्यों बदल गए?
|
|
47
|
+
|
|
48
|
+
जहां Crowdin ने मानव वर्कफ़्लो का अनुकूलन किया, वहीं Large Language Models (LLMs) के आगमन ने localization के paradigms को मूल रूप से बदल दिया है। Copywriter की भूमिका अब शून्य से अनुवाद बनाने की नहीं रही, बल्कि AI-जनित कंटेंट की समीक्षा करने की बन गई है।
|
|
49
|
+
|
|
50
|
+
क्यों? क्योंकि AI 1,000x सस्ता और अनंत रूप से तेज़ है।
|
|
51
|
+
|
|
52
|
+
हालाँकि, एक सीमा है। Copywriting केवल अनुवाद नहीं है; यह संदेश को विभिन्न संस्कृतियों और संदर्भों के अनुसार अनुकूलित करने के बारे में है। हम आपकी दादी को iPhone उसी तरीके से नहीं बेचते जैसे हम इसे एक चीनी बिज़नेस एग्जीक्यूटिव को बेचते हैं। टोन, idiom, और cultural markers अलग होने चाहिए।
|
|
53
|
+
|
|
54
|
+
आज, सबसे कुशल वर्कफ़्लो यह है कि पहले AI का उपयोग करके अपने पृष्ठों का वैश्विक स्तर पर अनुवाद और पोजिशनिंग करें। फिर, दूसरे चरण में, आप human copywriters का उपयोग करते हैं ताकि specific high-traffic content को optimize किया जा सके और एक बार प्रोडक्ट राजस्व जनरेट करने लगे तो conversion बढ़े।
|
|
55
|
+
|
|
56
|
+
हालाँकि Crowdin की आय—जो मुख्य रूप से इसके अच्छी तरह से परखे गए लेगेसी सॉल्यूशन्स द्वारा संचालित है—अभी भी अच्छा प्रदर्शन कर रही है, मुझे लगता है कि पारंपरिक लोकलाइज़ेशन सेक्टर अगले 5 से 10 वर्षों के भीतर गंभीर रूप से प्रभावित होगा। किसी मैनेजमेंट टूल के लिए प्रति शब्द या प्रति सीट भुगतान करने का मॉडल धीरे-धीरे अप्रासंगिक होता जा रहा है।
|
|
57
|
+
|
|
58
|
+
## Intlayer Crowdin के लिए एक अच्छा विकल्प क्यों है?
|
|
59
|
+
|
|
60
|
+
Intlayer AI युग में जन्मा एक समाधान है। इसे इस सिद्धांत के साथ आर्किटेक्ट किया गया था कि 2026 में कच्चा अनुवाद अब अपना आंतरिक मूल्य नहीं रखता। यह एक कमोडिटी बन चुका है।
|
|
61
|
+
|
|
62
|
+
इसलिए, Intlayer खुद को केवल एक TMS के रूप में स्थापित नहीं करता, बल्कि एक **कंटेंट मैनेजमेंट** समाधान के रूप में प्रस्तुत होता है जो गहराई से एक विजुअल एडिटर और इंटरनेशनलाइज़ेशन लॉजिक को एकीकृत करता है।
|
|
63
|
+
|
|
64
|
+
Intlayer के साथ, आप इनफेरेंस की लागत पर अपने अनुवाद उत्पन्न करते हैं। आप किसी प्लेटफ़ॉर्म की प्राइसिंग मॉडल में फँसे हुए नहीं हैं; आप प्रोवाइडर चुनते हैं (OpenAI, Anthropic, Mistral, आदि), आप मॉडल चुनते हैं, और आप CI (Continuous Integration), CLI, या सीधे इंटीग्रेटेड CMS के माध्यम से अनुवाद करते हैं। यह मूल्य को अनुवादकों तक पहुँच से संदर्भ के प्रबंधन की ओर स्थानांतरित कर देता है।
|
|
65
|
+
|
|
66
|
+
# साइड-बाय-साइड तुलना
|
|
67
|
+
|
|
68
|
+
| फ़ीचर | Crowdin (Legacy TMS) | Intlayer (AI-Native) |
|
|
69
|
+
| :---------------------- | :------------------------------------------------------------------ | :-------------------------------------------------------------------- |
|
|
70
|
+
| **मुख्य दर्शन** | मानवों को strings से जोड़ता है। | कंटेंट लॉजिक और AI जनरेशन को प्रबंधित करता है। |
|
|
71
|
+
| **मूल्य निर्धारण मॉडल** | प्रति सीट / होस्टेड टियर। | अपने स्वयं के इनफरेंस के लिए भुगतान करें (अपनी कुंजी लाएँ — BYO Key). |
|
|
72
|
+
| **एकीकरण** | फ़ाइल-आधारित आदान-प्रदान (अपलोड/डाउनलोड)। | गहरे कोड एकीकरण (Declarative). |
|
|
73
|
+
| **अपडेट्स** | अक्सर टेक्स्ट को तैनात करने के लिए CI/CD रीबिल्ड की ज़रूरत होती है। | कोडबेस या लाइव ऐप के साथ त्वरित सिंक। |
|
|
74
|
+
| **फ़ाइल फ़ॉर्मैट्स** | विविध (.po, .xml, .yaml, आदि). | आधुनिक वेब (JSON, JS, TS). |
|
|
75
|
+
| **टेस्टिंग** | सीमित। | CI / CLI. |
|
|
76
|
+
| **होस्टिंग** | SaaS (मुख्यतः). | ओपन सोर्स और स्वयं-होस्टेबल (Docker). |
|
|
77
|
+
|
|
78
|
+
Intlayer एक पूर्ण, ऑल-इन-वन i18n समाधान प्रदान करता है जो आपके कंटेंट के साथ गहन इंटीग्रेशन की अनुमति देता है। आपका रिमोट कंटेंट सीधे आपके कोडबेस या लाइव एप्लिकेशन के साथ सिंक्रनाइज़ किया जा सकता है। तुलना में, कंटेंट को अपडेट करने के लिए Crowdin अक्सर आपके CI/CD पाइपलाइन में एप्लिकेशन के रीबिल्ड की आवश्यकता करता है, जिससे अनुवाद टीम और डिप्लॉयमेंट प्रक्रिया के बीच घर्षण उत्पन्न होता है।
|
|
79
|
+
|
|
80
|
+
इसके अतिरिक्त, Intlayer को Feature Flag या A/B testing टूल के रूप में उपयोग किया जा सकता है, जो आपको विभिन्न कंटेंट वेरिएंट्स को डायनेमिक रूप से टेस्ट करने में सक्षम बनाता है—ऐसा कुछ मानक TMS टूल्स जैसे Crowdin मूल रूप से सपोर्ट नहीं करते।
|
|
81
|
+
|
|
82
|
+
Crowdin कई तरह के फ़ाइल फ़ॉर्मैट्स का समर्थन करता है — जिसमें `.po`, `.xml`, और `.yaml` जैसे लिगेसी प्रकार शामिल हैं, जो स्थापित वर्कफ़्लो या पुराने सिस्टम वाले प्रोजेक्ट्स के लिए उपयोगी हो सकते हैं। इसके विपरीत, Intlayer प्रमुख रूप से आधुनिक वेब-ओरिएंटेड फ़ॉर्मैट्स जैसे `.json`, `.js`, और `.ts` के साथ काम करता है। इसका मतलब है कि Intlayer सभी लिगेसी फ़ाइल फ़ॉर्मैट्स के साथ संगत नहीं हो सकता, जो पुराने प्लेटफ़ॉर्म से माइग्रेट करने वाली टीमों के लिए एक विचारणीय बात है।
|
|
83
|
+
|
|
84
|
+
अंत में, जिनका प्राथमिकता डेटा संप्रभुता और नियंत्रण है, उनके लिए Intlayer ओपन-सोर्स है और स्वयं-होस्ट किया जा सकता है। Docker फ़ाइलें रिपॉज़िटरी में सीधे उपलब्ध हैं, जो आपको अपनी लोकलाइज़ेशन अवसंरचना पर पूर्ण स्वामित्व देती हैं।
|