@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blog.entry.d.ts","names":[],"sources":["../../../src/generated/blog.entry.ts"],"sourcesContent":[],"mappings":";;;cAsDa;wDAmBK,OAAO,eAAe;EAnB3B,SAAA,
|
|
1
|
+
{"version":3,"file":"blog.entry.d.ts","names":[],"sources":["../../../src/generated/blog.entry.ts"],"sourcesContent":[],"mappings":";;;cAsDa;wDAmBK,OAAO,eAAe;EAnB3B,SAAA,sCAijBH,EA3gBQ,MA2gBR,CA3gBe,aA2gBf,EA3gB8B,OA2gB9B,CAAA,MAAA,CAAA,CAAA;EA9hBe,SAAA,mCAAA,EAsCP,MAtCO,CAsCA,aAtCA,EAsCe,OAtCf,CAAA,MAAA,CAAA,CAAA;EAAe,SAAA,oBAAA,EAyDtB,MAzDsB,CAyDf,aAzDe,EAyDA,OAzDA,CAAA,MAAA,CAAA,CAAA;EAAtB,SAAA,2CAAA,EA4EA,MA5EA,CA4EO,aA5EP,EA4EsB,OA5EtB,CAAA,MAAA,CAAA,CAAA;EAmBO,SAAA,oCAAA,EA4EP,MA5EO,CA4EA,aA5EA,EA4Ee,OA5Ef,CAAA,MAAA,CAAA,CAAA;EAAe,SAAA,yCAAA,EA+FtB,MA/FsB,CA+Ff,aA/Fe,EA+FA,OA/FA,CAAA,MAAA,CAAA,CAAA;EAAtB,SAAA,sCAAA,EAkHA,MAlHA,CAkHO,aAlHP,EAkHsB,OAlHtB,CAAA,MAAA,CAAA,CAAA;EAmBO,SAAA,0CAAA,EAkHP,MAlHO,CAkHA,aAlHA,EAkHe,OAlHf,CAAA,MAAA,CAAA,CAAA;EAAe,SAAA,uCAAA,EAqItB,MArIsB,CAqIf,aArIe,EAqIA,OArIA,CAAA,MAAA,CAAA,CAAA;EAAtB,SAAA,qCAAA,EAwJA,MAxJA,CAwJO,aAxJP,EAwJsB,OAxJtB,CAAA,MAAA,CAAA,CAAA;EAmBO,SAAA,iDAAA,EAwJP,MAxJO,CAwJA,aAxJA,EAwJe,OAxJf,CAAA,MAAA,CAAA,CAAA;EAAe,SAAA,gDAAA,EA2KtB,MA3KsB,CA2Kf,aA3Ke,EA2KA,OA3KA,CAAA,MAAA,CAAA,CAAA;EAAtB,SAAA,+CAAA,EA8LA,MA9LA,CA8LO,aA9LP,EA8LsB,OA9LtB,CAAA,MAAA,CAAA,CAAA;EAmBO,SAAA,gDAAA,EA8LP,MA9LO,CA8LA,aA9LA,EA8Le,OA9Lf,CAAA,MAAA,CAAA,CAAA;EAAe,SAAA,6CAAA,EAiNtB,MAjNsB,CAiNf,aAjNe,EAiNA,OAjNA,CAAA,MAAA,CAAA,CAAA;EAAtB,SAAA,mDAAA,EAoOA,MApOA,CAoOO,aApOP,EAoOsB,OApOtB,CAAA,MAAA,CAAA,CAAA;EAmBO,SAAA,wDAAA,EAuOP,MAvOO,CAuOA,aAvOA,EAuOe,OAvOf,CAAA,MAAA,CAAA,CAAA;EAAe,SAAA,wDAAA,EA6PtB,MA7PsB,CA6Pf,aA7Pe,EA6PA,OA7PA,CAAA,MAAA,CAAA,CAAA;EAAtB,SAAA,6DAAA,EAmRA,MAnRA,CAmRO,aAnRP,EAmRsB,OAnRtB,CAAA,MAAA,CAAA,CAAA;EAmBO,SAAA,sDAAA,EAmRP,MAnRO,CAmRA,aAnRA,EAmRe,OAnRf,CAAA,MAAA,CAAA,CAAA;EAAe,SAAA,uDAAA,EAsStB,MAtSsB,CAsSf,aAtSe,EAsSA,OAtSA,CAAA,MAAA,CAAA,CAAA;EAAtB,SAAA,oDAAA,EAyTA,MAzTA,CAyTO,aAzTP,EAyTsB,OAzTtB,CAAA,MAAA,CAAA,CAAA;EAmBO,SAAA,oDAAA,EAyTP,MAzTO,CAyTA,aAzTA,EAyTe,OAzTf,CAAA,MAAA,CAAA,CAAA;EAAe,SAAA,iDAAA,EA4UtB,MA5UsB,CA4Uf,aA5Ue,EA4UA,OA5UA,CAAA,MAAA,CAAA,CAAA;EAAtB,SAAA,kDAAA,EA+VA,MA/VA,CA+VO,aA/VP,EA+VsB,OA/VtB,CAAA,MAAA,CAAA,CAAA;EAmBO,SAAA,sDAAA,EA+VP,MA/VO,CA+VA,aA/VA,EA+Ve,OA/Vf,CAAA,MAAA,CAAA,CAAA;EAAe,SAAA,mCAAA,EAkXtB,MAlXsB,CAkXf,aAlXe,EAkXA,OAlXA,CAAA,MAAA,CAAA,CAAA;EAAtB,SAAA,2CAAA,EAqYA,MArYA,CAqYO,aArYP,EAqYsB,OArYtB,CAAA,MAAA,CAAA,CAAA;CAmBO"}
|
|
@@ -25,7 +25,7 @@ history:
|
|
|
25
25
|
|
|
26
26
|
# ملف المحتوى
|
|
27
27
|
|
|
28
|
-
<iframe title="i18n، ماركداون، JSON… حل واحد لإدارة كل شيء | Intlayer" class="m-auto aspect-
|
|
28
|
+
<iframe title="i18n، ماركداون، JSON… حل واحد لإدارة كل شيء | 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/1VHgSY_j9_I?autoplay=0&origin=http://intlayer.org&controls=0&rel=1"/>
|
|
29
29
|
|
|
30
30
|
## ما هو ملف المحتوى؟
|
|
31
31
|
|
package/docs/ar/intlayer_CMS.md
CHANGED
|
@@ -31,7 +31,7 @@ history:
|
|
|
31
31
|
|
|
32
32
|
# توثيق نظام إدارة المحتوى Intlayer (CMS)
|
|
33
33
|
|
|
34
|
-
<iframe title="المحرر البصري + نظام إدارة المحتوى لتطبيق الويب الخاص بك: شرح Intlayer" class="m-auto aspect-
|
|
34
|
+
<iframe title="المحرر البصري + نظام إدارة المحتوى لتطبيق الويب الخاص بك: شرح 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/UDDTnirwi_4?autoplay=0&origin=http://intlayer.org&controls=0&rel=1"/>
|
|
35
35
|
|
|
36
36
|
نظام إدارة المحتوى Intlayer هو تطبيق يسمح لك بإخراج محتواك من مشروع Intlayer.
|
|
37
37
|
|
|
@@ -24,7 +24,7 @@ history:
|
|
|
24
24
|
|
|
25
25
|
# وثائق محرر Intlayer البصري
|
|
26
26
|
|
|
27
|
-
<iframe title="Visual Editor + CMS for Your Web App: Intlayer Explained" class="m-auto aspect-
|
|
27
|
+
<iframe title="Visual Editor + CMS for Your Web App: Intlayer Explained" 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/UDDTnirwi_4?autoplay=0&origin=http://intlayer.org&controls=0&rel=1"/>
|
|
28
28
|
|
|
29
29
|
محرر Intlayer البصري هو أداة تقوم بتغليف موقعك الإلكتروني للتفاعل مع ملفات إعلان المحتوى الخاصة بك باستخدام محرر بصري.
|
|
30
30
|
|
|
@@ -25,7 +25,7 @@ history:
|
|
|
25
25
|
|
|
26
26
|
# ترجم Next.js 15 باستخدام Intlayer | التدويل (i18n)
|
|
27
27
|
|
|
28
|
-
<iframe title="أفضل حل للتدويل في Next.js؟ اكتشف Intlayer" class="m-auto aspect-
|
|
28
|
+
<iframe title="أفضل حل للتدويل في Next.js؟ اكتشف 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/e_PPG7PTqGU?autoplay=0&origin=http://intlayer.org&controls=0&rel=1"/>
|
|
29
29
|
|
|
30
30
|
شاهد [قالب التطبيق](https://github.com/aymericzip/intlayer-next-15-template) على GitHub.
|
|
31
31
|
|
|
@@ -27,7 +27,7 @@ history:
|
|
|
27
27
|
<Tab defaultTab="video">
|
|
28
28
|
<TabItem label="Video" value="video">
|
|
29
29
|
|
|
30
|
-
<iframe title="أفضل حل i18n لـ Next.js؟ اكتشف Intlayer" class="m-auto aspect-
|
|
30
|
+
<iframe title="أفضل حل i18n لـ Next.js؟ اكتشف 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/e_PPG7PTqGU?autoplay=0&origin=http://intlayer.org&controls=0&rel=1"/>
|
|
31
31
|
|
|
32
32
|
</TabItem>
|
|
33
33
|
<TabItem label="Code" value="code">
|
|
@@ -49,7 +49,7 @@ history:
|
|
|
49
49
|
<Tab defaultTab="video">
|
|
50
50
|
<TabItem label="فيديو" value="video">
|
|
51
51
|
|
|
52
|
-
<iframe title="كيفية ترجمة تطبيق Nuxt و Vue الخاص بك باستخدام Intlayer؟ اكتشف Intlayer" class="m-auto aspect-
|
|
52
|
+
<iframe title="كيفية ترجمة تطبيق Nuxt و Vue الخاص بك باستخدام Intlayer؟ اكتشف 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/nhUcUAVQ6eQ?autoplay=0&origin=http://intlayer.org&controls=0&rel=1"/>
|
|
53
53
|
|
|
54
54
|
</TabItem>
|
|
55
55
|
<TabItem label="كود" value="code">
|
|
@@ -373,11 +373,11 @@ import { useIntlayer } from "vue-intlayer";
|
|
|
373
373
|
const content = useIntlayer("home-page");
|
|
374
374
|
|
|
375
375
|
useHead({
|
|
376
|
-
title: content.metaTitle.
|
|
376
|
+
title: content.metaTitle.raw,
|
|
377
377
|
meta: [
|
|
378
378
|
{
|
|
379
379
|
name: "description",
|
|
380
|
-
content: content.metaDescription.
|
|
380
|
+
content: content.metaDescription.raw,
|
|
381
381
|
},
|
|
382
382
|
],
|
|
383
383
|
});
|
|
@@ -83,7 +83,7 @@ pnpm add vite-intlayer --save-dev
|
|
|
83
83
|
<Tab defaultTab="video">
|
|
84
84
|
<TabItem label="Video" value="video">
|
|
85
85
|
|
|
86
|
-
<iframe title="How to translate your React Router v7 app using Intlayer" class="m-auto aspect-
|
|
86
|
+
<iframe title="How to translate your React Router v7 app using 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/dS9L7uJeak4?autoplay=0&origin=http://intlayer.org&controls=0&rel=1"/>
|
|
87
87
|
|
|
88
88
|
</TabItem>
|
|
89
89
|
<TabItem label="Code" value="code">
|
|
@@ -83,7 +83,7 @@ pnpm add vite-intlayer --save-dev
|
|
|
83
83
|
<Tab defaultTab="video">
|
|
84
84
|
<TabItem label="Video" value="video">
|
|
85
85
|
|
|
86
|
-
<iframe title="How to translate your React Router v7 (File-System Routes) app using Intlayer" class="m-auto aspect-
|
|
86
|
+
<iframe title="How to translate your React Router v7 (File-System Routes) app using 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/dS9L7uJeak4?autoplay=0&origin=http://intlayer.org&controls=0&rel=1"/>
|
|
87
87
|
|
|
88
88
|
</TabItem>
|
|
89
89
|
<TabItem label="Code" value="code">
|
|
@@ -57,7 +57,7 @@ history:
|
|
|
57
57
|
<Tab defaultTab="video">
|
|
58
58
|
<TabItem label="Video" value="video">
|
|
59
59
|
|
|
60
|
-
<iframe title="أفضل حل i18n لـ Tanstack Start؟ اكتشف Intlayer" class="m-auto aspect-
|
|
60
|
+
<iframe title="أفضل حل i18n لـ Tanstack Start؟ اكتشف 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/_XTdKVWaeqg?autoplay=0&origin=http://intlayer.org&controls=0&rel=1"/>
|
|
61
61
|
|
|
62
62
|
</TabItem>
|
|
63
63
|
<TabItem label="Code" value="code">
|
|
@@ -47,7 +47,7 @@ history:
|
|
|
47
47
|
<Tab defaultTab="video">
|
|
48
48
|
<TabItem label="فيديو" value="video">
|
|
49
49
|
|
|
50
|
-
<iframe title="أفضل حل للترجمة الدولية لـ Vite و React؟ اكتشف Intlayer" class="m-auto aspect-
|
|
50
|
+
<iframe title="أفضل حل للترجمة الدولية لـ Vite و React؟ اكتشف 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/dS9L7uJeak4?si=VaKmrYMmXjo3xpk2"/>
|
|
51
51
|
|
|
52
52
|
</TabItem>
|
|
53
53
|
<TabItem label="الرمز" value="code">
|
|
@@ -44,7 +44,7 @@ history:
|
|
|
44
44
|
<Tab defaultTab="video">
|
|
45
45
|
<TabItem label="فيديو" value="video">
|
|
46
46
|
|
|
47
|
-
<iframe title="The best i18n solution for Vite and Vue? Discover Intlayer" class="m-auto aspect-
|
|
47
|
+
<iframe title="The best i18n solution for Vite and Vue? Discover 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/IE3XWkZ6a5U?autoplay=0&origin=http://intlayer.org&controls=0&rel=1"/>
|
|
48
48
|
|
|
49
49
|
</TabItem>
|
|
50
50
|
<TabItem label="كود" value="code">
|
|
@@ -19,6 +19,9 @@ slugs:
|
|
|
19
19
|
- intlayer
|
|
20
20
|
- getLocaleName
|
|
21
21
|
history:
|
|
22
|
+
- version: 7.5.0
|
|
23
|
+
date: 2025-12-18
|
|
24
|
+
changes: إضافة polyfills لـ React Native والبيئات الأقدم
|
|
22
25
|
- version: 5.5.10
|
|
23
26
|
date: 2025-06-29
|
|
24
27
|
changes: بداية التاريخ
|
|
@@ -33,7 +36,6 @@ history:
|
|
|
33
36
|
## المعاملات
|
|
34
37
|
|
|
35
38
|
- `displayLocale: Locales`
|
|
36
|
-
|
|
37
39
|
- **الوصف**: اللغة التي سيتم عرض اسم اللغة الهدف بها.
|
|
38
40
|
- **النوع**: تعداد أو سلسلة تمثل اللغات الصالحة.
|
|
39
41
|
|
|
@@ -117,3 +119,17 @@ getLocaleName("unknown-locale"); // الناتج: "Unknown locale"
|
|
|
117
119
|
- تقوم الدالة بشكل افتراضي بإرجاع اسم `displayLocale` الخاص به.
|
|
118
120
|
- **الترجمات المفقودة:**
|
|
119
121
|
- إذا لم يحتوي `localeNameTranslations` على إدخال لـ `targetLocale` أو لـ `displayLocale` المحدد، فإن الدالة تعود إلى `ownLocalesName` أو تُرجع `"Unknown locale"`.
|
|
122
|
+
|
|
123
|
+
## Polyfills لـ React Native والبيئات الأقدم
|
|
124
|
+
|
|
125
|
+
تعتمد دالة `getLocaleName` على واجهة برمجة التطبيقات `Intl.DisplayNames`، والتي غير متاحة في React Native أو بيئات JavaScript الأقدم. إذا كنت تستخدم `getLocaleName` في هذه البيئات، فأنت بحاجة إلى إضافة polyfills.
|
|
126
|
+
|
|
127
|
+
قم باستيراد polyfills في وقت مبكر في تطبيقك، ويفضل في ملف نقطة الدخول الخاص بك (على سبيل المثال، `index.js`، `App.tsx`، أو `main.tsx`):
|
|
128
|
+
|
|
129
|
+
```typescript
|
|
130
|
+
import "intl";
|
|
131
|
+
import "@formatjs/intl-locale/polyfill";
|
|
132
|
+
import "@formatjs/intl-displaynames/polyfill";
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
لمزيد من التفاصيل، راجع [توثيق polyfills الخاص بـ FormatJS](https://formatjs.io/docs/polyfills/intl-displaynames/).
|
|
@@ -34,7 +34,7 @@ history:
|
|
|
34
34
|
|
|
35
35
|
# مزامنة JSON (جسور التدويل) - مزامنة JSON مع دعم ICU / i18next
|
|
36
36
|
|
|
37
|
-
<iframe title="كيفية الحفاظ على مزامنة ترجمات JSON الخاصة بك مع Intlayer" class="m-auto aspect-
|
|
37
|
+
<iframe title="كيفية الحفاظ على مزامنة ترجمات JSON الخاصة بك مع 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"/>
|
|
38
38
|
|
|
39
39
|
استخدم Intlayer كمكون إضافي إلى نظام التدويل (i18n) الحالي لديك. يحافظ هذا المكون على مزامنة رسائل JSON الخاصة بك مع قواميس Intlayer بحيث يمكنك:
|
|
40
40
|
|
|
@@ -25,7 +25,7 @@ history:
|
|
|
25
25
|
|
|
26
26
|
# Inhaltsdatei
|
|
27
27
|
|
|
28
|
-
<iframe title="i18n, Markdown, JSON… eine einzige Lösung, um alles zu verwalten | Intlayer" class="m-auto aspect-
|
|
28
|
+
<iframe title="i18n, Markdown, JSON… eine einzige Lösung, um alles zu verwalten | 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/1VHgSY_j9_I?autoplay=0&origin=http://intlayer.org&controls=0&rel=1"/>
|
|
29
29
|
|
|
30
30
|
## Was ist eine Inhaltsdatei?
|
|
31
31
|
|
package/docs/de/intlayer_CMS.md
CHANGED
|
@@ -31,7 +31,7 @@ history:
|
|
|
31
31
|
|
|
32
32
|
# Intlayer Content Management System (CMS) Dokumentation
|
|
33
33
|
|
|
34
|
-
<iframe title="Visueller Editor + CMS für Ihre Webanwendung: Intlayer erklärt" class="m-auto aspect-
|
|
34
|
+
<iframe title="Visueller Editor + CMS für Ihre Webanwendung: Intlayer erklärt" 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/UDDTnirwi_4?autoplay=0&origin=http://intlayer.org&controls=0&rel=1"/>
|
|
35
35
|
|
|
36
36
|
Das Intlayer CMS ist eine Anwendung, die es Ihnen ermöglicht, die Inhalte eines Intlayer-Projekts auszulagern.
|
|
37
37
|
|
|
@@ -24,7 +24,7 @@ history:
|
|
|
24
24
|
|
|
25
25
|
# Intlayer Visual Editor Dokumentation
|
|
26
26
|
|
|
27
|
-
<iframe title="Visual Editor + CMS for Your Web App: Intlayer Explained" class="m-auto aspect-
|
|
27
|
+
<iframe title="Visual Editor + CMS for Your Web App: Intlayer Explained" 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/UDDTnirwi_4?autoplay=0&origin=http://intlayer.org&controls=0&rel=1"/>
|
|
28
28
|
|
|
29
29
|
Der Intlayer Visual Editor ist ein Tool, das Ihre Website einbindet, um mit Ihren Inhaltsdeklarationsdateien über einen visuellen Editor zu interagieren.
|
|
30
30
|
|
|
@@ -25,7 +25,7 @@ history:
|
|
|
25
25
|
|
|
26
26
|
# Übersetzen Sie Ihre Next.js 15 mit Intlayer | Internationalisierung (i18n)
|
|
27
27
|
|
|
28
|
-
<iframe title="Die beste i18n-Lösung für Next.js? Entdecken Sie Intlayer" class="m-auto aspect-
|
|
28
|
+
<iframe title="Die beste i18n-Lösung für Next.js? Entdecken Sie 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/e_PPG7PTqGU?autoplay=0&origin=http://intlayer.org&controls=0&rel=1"/>
|
|
29
29
|
|
|
30
30
|
Siehe [Anwendungsvorlage](https://github.com/aymericzip/intlayer-next-15-template) auf GitHub.
|
|
31
31
|
|
|
@@ -27,7 +27,7 @@ history:
|
|
|
27
27
|
<Tab defaultTab="video">
|
|
28
28
|
<TabItem label="Video" value="video">
|
|
29
29
|
|
|
30
|
-
<iframe title="Die beste i18n-Lösung für Next.js? Entdecken Sie Intlayer" class="m-auto aspect-
|
|
30
|
+
<iframe title="Die beste i18n-Lösung für Next.js? Entdecken Sie 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/e_PPG7PTqGU?autoplay=0&origin=http://intlayer.org&controls=0&rel=1"/>
|
|
31
31
|
|
|
32
32
|
</TabItem>
|
|
33
33
|
<TabItem label="Code" value="code">
|
|
@@ -49,7 +49,7 @@ Mit Intlayer können Sie:
|
|
|
49
49
|
<Tab defaultTab="video">
|
|
50
50
|
<TabItem label="Video" value="video">
|
|
51
51
|
|
|
52
|
-
<iframe title="Wie übersetzt man seine Nuxt- und Vue-App mit Intlayer? Entdecken Sie Intlayer" class="m-auto aspect-
|
|
52
|
+
<iframe title="Wie übersetzt man seine Nuxt- und Vue-App mit Intlayer? Entdecken Sie 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/nhUcUAVQ6eQ?autoplay=0&origin=http://intlayer.org&controls=0&rel=1"/>
|
|
53
53
|
|
|
54
54
|
</TabItem>
|
|
55
55
|
<TabItem label="Code" value="code">
|
|
@@ -373,11 +373,11 @@ import { useIntlayer } from "vue-intlayer";
|
|
|
373
373
|
const content = useIntlayer("home-page");
|
|
374
374
|
|
|
375
375
|
useHead({
|
|
376
|
-
title: content.metaTitle.
|
|
376
|
+
title: content.metaTitle.raw,
|
|
377
377
|
meta: [
|
|
378
378
|
{
|
|
379
379
|
name: "description",
|
|
380
|
-
content: content.metaDescription.
|
|
380
|
+
content: content.metaDescription.raw,
|
|
381
381
|
},
|
|
382
382
|
],
|
|
383
383
|
});
|
|
@@ -85,7 +85,7 @@ pnpm add vite-intlayer --save-dev
|
|
|
85
85
|
<Tab defaultTab="video">
|
|
86
86
|
<TabItem label="Video" value="video">
|
|
87
87
|
|
|
88
|
-
<iframe title="How to translate your React Router v7 app using Intlayer" class="m-auto aspect-
|
|
88
|
+
<iframe title="How to translate your React Router v7 app using 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/dS9L7uJeak4?autoplay=0&origin=http://intlayer.org&controls=0&rel=1"/>
|
|
89
89
|
|
|
90
90
|
</TabItem>
|
|
91
91
|
<TabItem label="Code" value="code">
|
|
@@ -54,7 +54,7 @@ Mit Intlayer können Sie:
|
|
|
54
54
|
<Tab defaultTab="video">
|
|
55
55
|
<TabItem label="Video" value="video">
|
|
56
56
|
|
|
57
|
-
<iframe title="How to translate your React Router v7 (File-System Routes) app using Intlayer" class="m-auto aspect-
|
|
57
|
+
<iframe title="How to translate your React Router v7 (File-System Routes) app using 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/dS9L7uJeak4?autoplay=0&origin=http://intlayer.org&controls=0&rel=1"/>
|
|
58
58
|
|
|
59
59
|
</TabItem>
|
|
60
60
|
<TabItem label="Code" value="code">
|
|
@@ -57,7 +57,7 @@ Mit Intlayer können Sie:
|
|
|
57
57
|
<Tab defaultTab="video">
|
|
58
58
|
<TabItem label="Video" value="video">
|
|
59
59
|
|
|
60
|
-
<iframe title="Die beste i18n-Lösung für Tanstack Start? Entdecken Sie Intlayer" class="m-auto aspect-
|
|
60
|
+
<iframe title="Die beste i18n-Lösung für Tanstack Start? Entdecken Sie 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/_XTdKVWaeqg?autoplay=0&origin=http://intlayer.org&controls=0&rel=1"/>
|
|
61
61
|
|
|
62
62
|
</TabItem>
|
|
63
63
|
<TabItem label="Code" value="code">
|
|
@@ -47,7 +47,7 @@ Mit Intlayer können Sie:
|
|
|
47
47
|
<Tab defaultTab="video">
|
|
48
48
|
<TabItem label="Video" value="video">
|
|
49
49
|
|
|
50
|
-
<iframe title="The best i18n solution for Vite and React? Discover Intlayer" class="m-auto aspect-
|
|
50
|
+
<iframe title="The best i18n solution for Vite and React? Discover 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/dS9L7uJeak4?si=VaKmrYMmXjo3xpk2"/>
|
|
51
51
|
|
|
52
52
|
</TabItem>
|
|
53
53
|
<TabItem label="Code" value="code">
|
|
@@ -44,7 +44,7 @@ Mit Intlayer können Sie:
|
|
|
44
44
|
<Tab defaultTab="video">
|
|
45
45
|
<TabItem label="Video" value="video">
|
|
46
46
|
|
|
47
|
-
<iframe title="The best i18n solution for Vite and Vue? Discover Intlayer" class="m-auto aspect-
|
|
47
|
+
<iframe title="The best i18n solution for Vite and Vue? Discover 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/IE3XWkZ6a5U?autoplay=0&origin=http://intlayer.org&controls=0&rel=1"/>
|
|
48
48
|
|
|
49
49
|
</TabItem>
|
|
50
50
|
<TabItem label="Code" value="code">
|
|
@@ -19,6 +19,9 @@ slugs:
|
|
|
19
19
|
- intlayer
|
|
20
20
|
- getLocaleName
|
|
21
21
|
history:
|
|
22
|
+
- version: 7.5.0
|
|
23
|
+
date: 2025-12-18
|
|
24
|
+
changes: Polyfills für React Native und ältere Umgebungen hinzufügen
|
|
22
25
|
- version: 5.5.10
|
|
23
26
|
date: 2025-06-29
|
|
24
27
|
changes: Initialer Verlauf
|
|
@@ -33,7 +36,6 @@ Die Funktion `getLocaleName` gibt den lokalisierten Namen einer gegebenen Locale
|
|
|
33
36
|
## Parameter
|
|
34
37
|
|
|
35
38
|
- `displayLocale: Locales`
|
|
36
|
-
|
|
37
39
|
- **Beschreibung**: Die Locale, in der der Name der Ziel-Locale angezeigt wird.
|
|
38
40
|
- **Typ**: Enum oder String, der gültige Locales repräsentiert.
|
|
39
41
|
|
|
@@ -117,3 +119,17 @@ getLocaleName("unknown-locale"); // Ausgabe: "Unbekannte Locale"
|
|
|
117
119
|
- Die Funktion gibt standardmäßig den eigenen Namen von `displayLocale` zurück.
|
|
118
120
|
- **Fehlende Übersetzungen:**
|
|
119
121
|
- Wenn `localeNameTranslations` keinen Eintrag für das `targetLocale` oder das spezifische `displayLocale` enthält, greift die Funktion auf den `ownLocalesName` zurück oder gibt `"Unbekannte Sprache"` zurück.
|
|
122
|
+
|
|
123
|
+
## Polyfills für React Native und ältere Umgebungen
|
|
124
|
+
|
|
125
|
+
Die Funktion `getLocaleName` basiert auf der `Intl.DisplayNames` API, die in React Native oder älteren JavaScript-Umgebungen nicht verfügbar ist. Wenn Sie `getLocaleName` in diesen Umgebungen verwenden, müssen Sie Polyfills hinzufügen.
|
|
126
|
+
|
|
127
|
+
Importieren Sie die Polyfills früh in Ihrer Anwendung, idealerweise in Ihrer Einstiegspunktdatei (z. B. `index.js`, `App.tsx` oder `main.tsx`):
|
|
128
|
+
|
|
129
|
+
```typescript
|
|
130
|
+
import "intl";
|
|
131
|
+
import "@formatjs/intl-locale/polyfill";
|
|
132
|
+
import "@formatjs/intl-displaynames/polyfill";
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
Weitere Details finden Sie in der [FormatJS Polyfills-Dokumentation](https://formatjs.io/docs/polyfills/intl-displaynames/).
|
|
@@ -34,7 +34,7 @@ history:
|
|
|
34
34
|
|
|
35
35
|
# Sync JSON (i18n-Brücken) - Sync JSON mit ICU / i18next-Unterstützung
|
|
36
36
|
|
|
37
|
-
<iframe title="Wie Sie Ihre JSON-Übersetzungen mit Intlayer synchronisiert halten" class="m-auto aspect-
|
|
37
|
+
<iframe title="Wie Sie Ihre JSON-Übersetzungen mit Intlayer synchronisiert halten" 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"/>
|
|
38
38
|
|
|
39
39
|
Verwenden Sie Intlayer als Ergänzung zu Ihrem bestehenden i18n-Stack. Dieses Plugin hält Ihre JSON-Nachrichten mit den Intlayer-Wörterbüchern synchron, sodass Sie:
|
|
40
40
|
|
|
@@ -28,7 +28,7 @@ history:
|
|
|
28
28
|
|
|
29
29
|
# Content File
|
|
30
30
|
|
|
31
|
-
<iframe title="i18n, Markdown, JSON… one single solution to manage it all | Intlayer" class="m-auto aspect-
|
|
31
|
+
<iframe title="i18n, Markdown, JSON… one single solution to manage it all | 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/1VHgSY_j9_I?autoplay=0&origin=http://intlayer.org&controls=0&rel=1"/>
|
|
32
32
|
|
|
33
33
|
## What is a Content File?
|
|
34
34
|
|
package/docs/en/intlayer_CMS.md
CHANGED
|
@@ -31,7 +31,7 @@ history:
|
|
|
31
31
|
|
|
32
32
|
# Intlayer Content Management System (CMS) Documentation
|
|
33
33
|
|
|
34
|
-
<iframe title="Visual Editor + CMS for Your Web App: Intlayer Explained" class="m-auto aspect-
|
|
34
|
+
<iframe title="Visual Editor + CMS for Your Web App: Intlayer Explained" 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/UDDTnirwi_4?autoplay=0&origin=http://intlayer.org&controls=0&rel=1"/>
|
|
35
35
|
|
|
36
36
|
The Intlayer CMS is am Application that allows you to externalize your content of an Intlayer project.
|
|
37
37
|
|
|
@@ -33,7 +33,7 @@ history:
|
|
|
33
33
|
|
|
34
34
|
# Intlayer Visual Editor Documentation
|
|
35
35
|
|
|
36
|
-
<iframe title="Visual Editor + CMS for Your Web App: Intlayer Explained" class="m-auto aspect-
|
|
36
|
+
<iframe title="Visual Editor + CMS for Your Web App: Intlayer Explained" 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/UDDTnirwi_4?autoplay=0&origin=http://intlayer.org&controls=0&rel=1"/>
|
|
37
37
|
|
|
38
38
|
The Intlayer Visual Editor is a tool that will wrap your website to interact with your content declaration files using a visual editor.
|
|
39
39
|
|
|
@@ -71,7 +71,7 @@ With Intlayer, you can:
|
|
|
71
71
|
<Tab defaultTab="video">
|
|
72
72
|
<TabItem label="Video" value="video">
|
|
73
73
|
|
|
74
|
-
<iframe title="The best i18n solution for Next.js? Discover Intlayer" class="m-auto aspect-
|
|
74
|
+
<iframe title="The best i18n solution for Next.js? Discover 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/e_PPG7PTqGU?autoplay=0&origin=http://intlayer.org&controls=0&rel=1"/>
|
|
75
75
|
|
|
76
76
|
</TabItem>
|
|
77
77
|
<TabItem label="Code" value="code">
|
|
@@ -30,7 +30,7 @@ history:
|
|
|
30
30
|
<Tab defaultTab="video">
|
|
31
31
|
<TabItem label="Video" value="video">
|
|
32
32
|
|
|
33
|
-
<iframe title="The best i18n solution for Next.js? Discover Intlayer" class="m-auto aspect-
|
|
33
|
+
<iframe title="The best i18n solution for Next.js? Discover 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/e_PPG7PTqGU?autoplay=0&origin=http://intlayer.org&controls=0&rel=1"/>
|
|
34
34
|
|
|
35
35
|
</TabItem>
|
|
36
36
|
<TabItem label="Code" value="code">
|
|
@@ -52,7 +52,7 @@ With Intlayer, you can:
|
|
|
52
52
|
<Tab defaultTab="video">
|
|
53
53
|
<TabItem label="Video" value="video">
|
|
54
54
|
|
|
55
|
-
<iframe title="How to translate your Nuxt and Vue app using Intlayer? Discover Intlayer" class="m-auto aspect-
|
|
55
|
+
<iframe title="How to translate your Nuxt and Vue app using Intlayer? Discover 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/nhUcUAVQ6eQ?autoplay=0&origin=http://intlayer.org&controls=0&rel=1"/>
|
|
56
56
|
|
|
57
57
|
</TabItem>
|
|
58
58
|
<TabItem label="Code" value="code">
|
|
@@ -376,11 +376,11 @@ import { useIntlayer } from "vue-intlayer";
|
|
|
376
376
|
const content = useIntlayer("home-page");
|
|
377
377
|
|
|
378
378
|
useHead({
|
|
379
|
-
title: content.metaTitle.
|
|
379
|
+
title: content.metaTitle.raw,
|
|
380
380
|
meta: [
|
|
381
381
|
{
|
|
382
382
|
name: "description",
|
|
383
|
-
content: content.metaDescription.
|
|
383
|
+
content: content.metaDescription.raw,
|
|
384
384
|
},
|
|
385
385
|
],
|
|
386
386
|
});
|
|
@@ -91,7 +91,7 @@ pnpm add vite-intlayer --save-dev
|
|
|
91
91
|
<Tab defaultTab="video">
|
|
92
92
|
<TabItem label="Video" value="video">
|
|
93
93
|
|
|
94
|
-
<iframe title="How to translate your React Router v7 app using Intlayer" class="m-auto aspect-
|
|
94
|
+
<iframe title="How to translate your React Router v7 app using 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/dS9L7uJeak4?autoplay=0&origin=http://intlayer.org&controls=0&rel=1"/>
|
|
95
95
|
|
|
96
96
|
</TabItem>
|
|
97
97
|
<TabItem label="Code" value="code">
|
|
@@ -54,7 +54,7 @@ With Intlayer, you can:
|
|
|
54
54
|
<Tab defaultTab="video">
|
|
55
55
|
<TabItem label="Video" value="video">
|
|
56
56
|
|
|
57
|
-
<iframe title="How to translate your React Router v7 (File-System Routes) app using Intlayer" class="m-auto aspect-
|
|
57
|
+
<iframe title="How to translate your React Router v7 (File-System Routes) app using 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/dS9L7uJeak4?autoplay=0&origin=http://intlayer.org&controls=0&rel=1"/>
|
|
58
58
|
|
|
59
59
|
</TabItem>
|
|
60
60
|
<TabItem label="Code" value="code">
|
|
@@ -66,7 +66,7 @@ With Intlayer, you can:
|
|
|
66
66
|
<Tab defaultTab="video">
|
|
67
67
|
<TabItem label="Video" value="video">
|
|
68
68
|
|
|
69
|
-
<iframe title="The best i18n solution for Tanstack Start? Discover Intlayer" class="m-auto aspect-
|
|
69
|
+
<iframe title="The best i18n solution for Tanstack Start? Discover 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/_XTdKVWaeqg?autoplay=0&origin=http://intlayer.org&controls=0&rel=1"/>
|
|
70
70
|
|
|
71
71
|
</TabItem>
|
|
72
72
|
<TabItem label="Code" value="code">
|
|
@@ -1467,8 +1467,7 @@ import { useLocale, useLocation, route } from "preact-intlayer"; // Assuming use
|
|
|
1467
1467
|
import type { JSX } from "preact"; // For HTMLAttributes
|
|
1468
1468
|
import { forwardRef } from "preact/compat"; // For forwarding refs
|
|
1469
1469
|
|
|
1470
|
-
export interface LocalizedLinkProps
|
|
1471
|
-
extends JSX.HTMLAttributes<HTMLAnchorElement> {
|
|
1470
|
+
export interface LocalizedLinkProps extends JSX.HTMLAttributes<HTMLAnchorElement> {
|
|
1472
1471
|
href: string;
|
|
1473
1472
|
replace?: boolean; // Optional: to replace history state
|
|
1474
1473
|
}
|
|
@@ -47,7 +47,7 @@ With Intlayer, you can:
|
|
|
47
47
|
<Tab defaultTab="video">
|
|
48
48
|
<TabItem label="Video" value="video">
|
|
49
49
|
|
|
50
|
-
<iframe title="The best i18n solution for Vite and React? Discover Intlayer" class="m-auto aspect-
|
|
50
|
+
<iframe title="The best i18n solution for Vite and React? Discover 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/dS9L7uJeak4?si=VaKmrYMmXjo3xpk2"/>
|
|
51
51
|
|
|
52
52
|
</TabItem>
|
|
53
53
|
<TabItem label="Code" value="code">
|
|
@@ -46,7 +46,7 @@ With Intlayer, you can:
|
|
|
46
46
|
<Tab defaultTab="video">
|
|
47
47
|
<TabItem label="Video" value="video">
|
|
48
48
|
|
|
49
|
-
<iframe title="The best i18n solution for Vite and Vue? Discover Intlayer" class="m-auto aspect-
|
|
49
|
+
<iframe title="The best i18n solution for Vite and Vue? Discover 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/IE3XWkZ6a5U?autoplay=0&origin=http://intlayer.org&controls=0&rel=1"/>
|
|
50
50
|
|
|
51
51
|
</TabItem>
|
|
52
52
|
<TabItem label="Code" value="code">
|
|
@@ -19,6 +19,9 @@ slugs:
|
|
|
19
19
|
- intlayer
|
|
20
20
|
- getLocaleName
|
|
21
21
|
history:
|
|
22
|
+
- version: 7.5.0
|
|
23
|
+
date: 2025-12-18
|
|
24
|
+
changes: Add polyfills for React Native and older environments
|
|
22
25
|
- version: 5.5.10
|
|
23
26
|
date: 2025-06-29
|
|
24
27
|
changes: Init history
|
|
@@ -116,3 +119,17 @@ getLocaleName("unknown-locale"); // Output: "Unknown locale"
|
|
|
116
119
|
- The function defaults to returning the `displayLocale`'s own name.
|
|
117
120
|
- **Missing translations:**
|
|
118
121
|
- If `localeNameTranslations` does not contain an entry for the `targetLocale` or the specific `displayLocale`, the function falls back to the `ownLocalesName` or returns `"Unknown locale"`.
|
|
122
|
+
|
|
123
|
+
## Polyfills for React Native and Older Environments
|
|
124
|
+
|
|
125
|
+
The `getLocaleName` function relies on the `Intl.DisplayNames` API, which is not available in React Native or older JavaScript environments. If you're using `getLocaleName` in these environments, you need to add polyfills.
|
|
126
|
+
|
|
127
|
+
Import the polyfills early in your application, ideally in your entry point file (e.g., `index.js`, `App.tsx`, or `main.tsx`):
|
|
128
|
+
|
|
129
|
+
```typescript
|
|
130
|
+
import "intl";
|
|
131
|
+
import "@formatjs/intl-locale/polyfill";
|
|
132
|
+
import "@formatjs/intl-displaynames/polyfill";
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
For more details, see the [FormatJS polyfills documentation](https://formatjs.io/docs/polyfills/intl-displaynames/).
|
|
@@ -34,7 +34,7 @@ history:
|
|
|
34
34
|
|
|
35
35
|
# Sync JSON (i18n bridges) - Sync JSON with ICU / i18next support
|
|
36
36
|
|
|
37
|
-
<iframe title="How to keep your JSON translations in sync with Intlayer" class="m-auto aspect-
|
|
37
|
+
<iframe title="How to keep your JSON translations in sync with 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"/>
|
|
38
38
|
|
|
39
39
|
Use Intlayer as an add‑on to your existing i18n stack. This plugin keeps your JSON messages in sync with Intlayer dictionaries so you can:
|
|
40
40
|
|
|
@@ -25,7 +25,7 @@ history:
|
|
|
25
25
|
|
|
26
26
|
# Content File
|
|
27
27
|
|
|
28
|
-
<iframe title="i18n, Markdown, JSON… one single solution to manage it all | Intlayer" class="m-auto aspect-
|
|
28
|
+
<iframe title="i18n, Markdown, JSON… one single solution to manage it all | 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/1VHgSY_j9_I?autoplay=0&origin=http://intlayer.org&controls=0&rel=1"/>
|
|
29
29
|
|
|
30
30
|
## What is a Content File?
|
|
31
31
|
|
|
@@ -31,7 +31,7 @@ history:
|
|
|
31
31
|
|
|
32
32
|
# Intlayer Content Management System (CMS) Documentation
|
|
33
33
|
|
|
34
|
-
<iframe title="Visual Editor + CMS for Your Web App: Intlayer Explained" class="m-auto aspect-
|
|
34
|
+
<iframe title="Visual Editor + CMS for Your Web App: Intlayer Explained" 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/UDDTnirwi_4?autoplay=0&origin=http://intlayer.org&controls=0&rel=1"/>
|
|
35
35
|
|
|
36
36
|
The Intlayer CMS is an application that allows you to externalise the content of an Intlayer project.
|
|
37
37
|
|