@intlayer/docs 7.4.0 → 7.5.0-canary.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/blog/ar/intlayer_with_i18next.md +2 -0
- package/blog/ar/intlayer_with_next-i18next.md +2 -0
- package/blog/ar/intlayer_with_next-intl.md +2 -0
- package/blog/ar/intlayer_with_react-i18next.md +2 -0
- package/blog/ar/intlayer_with_react-intl.md +2 -0
- package/blog/ar/intlayer_with_vue-i18n.md +2 -0
- package/blog/de/intlayer_with_i18next.md +2 -0
- package/blog/de/intlayer_with_next-i18next.md +1 -0
- package/blog/de/intlayer_with_next-intl.md +2 -0
- package/blog/de/intlayer_with_react-i18next.md +2 -0
- package/blog/de/intlayer_with_react-intl.md +2 -0
- package/blog/de/intlayer_with_vue-i18n.md +2 -0
- package/blog/en/intlayer_with_i18next.md +6 -0
- package/blog/en/intlayer_with_next-i18next.md +3 -0
- package/blog/en/intlayer_with_next-intl.md +3 -0
- package/blog/en/intlayer_with_react-i18next.md +3 -0
- package/blog/en/intlayer_with_react-intl.md +3 -0
- package/blog/en/intlayer_with_vue-i18n.md +3 -0
- package/blog/en-GB/intlayer_with_i18next.md +2 -0
- package/blog/en-GB/intlayer_with_next-i18next.md +2 -0
- package/blog/en-GB/intlayer_with_next-intl.md +2 -0
- package/blog/en-GB/intlayer_with_react-i18next.md +2 -0
- package/blog/en-GB/intlayer_with_react-intl.md +2 -0
- package/blog/en-GB/intlayer_with_vue-i18n.md +2 -0
- package/blog/es/intlayer_with_i18next.md +2 -0
- package/blog/es/intlayer_with_next-i18next.md +2 -0
- package/blog/es/intlayer_with_next-intl.md +2 -0
- package/blog/es/intlayer_with_react-i18next.md +2 -0
- package/blog/es/intlayer_with_react-intl.md +2 -0
- package/blog/es/intlayer_with_vue-i18n.md +2 -0
- package/blog/fr/intlayer_with_i18next.md +2 -0
- package/blog/fr/intlayer_with_next-i18next.md +2 -0
- package/blog/fr/intlayer_with_next-intl.md +2 -0
- package/blog/fr/intlayer_with_react-i18next.md +2 -0
- package/blog/fr/intlayer_with_react-intl.md +2 -0
- package/blog/fr/intlayer_with_vue-i18n.md +2 -0
- package/blog/hi/intlayer_with_i18next.md +2 -0
- package/blog/hi/intlayer_with_next-i18next.md +2 -0
- package/blog/hi/intlayer_with_next-intl.md +2 -0
- package/blog/hi/intlayer_with_react-i18next.md +2 -0
- package/blog/hi/intlayer_with_react-intl.md +2 -0
- package/blog/hi/intlayer_with_vue-i18n.md +2 -0
- package/blog/id/intlayer_with_i18next.md +2 -0
- package/blog/id/intlayer_with_next-i18next.md +2 -0
- package/blog/id/intlayer_with_next-intl.md +2 -0
- package/blog/id/intlayer_with_react-i18next.md +2 -0
- package/blog/id/intlayer_with_react-intl.md +2 -0
- package/blog/id/intlayer_with_vue-i18n.md +2 -0
- package/blog/it/intlayer_with_i18next.md +2 -0
- package/blog/it/intlayer_with_next-i18next.md +2 -0
- package/blog/it/intlayer_with_next-intl.md +2 -0
- package/blog/it/intlayer_with_react-i18next.md +2 -0
- package/blog/it/intlayer_with_react-intl.md +2 -0
- package/blog/it/intlayer_with_vue-i18n.md +2 -0
- package/blog/ja/intlayer_with_i18next.md +2 -0
- package/blog/ja/intlayer_with_next-i18next.md +1 -0
- package/blog/ja/intlayer_with_next-intl.md +2 -0
- package/blog/ja/intlayer_with_react-i18next.md +2 -0
- package/blog/ja/intlayer_with_react-intl.md +2 -0
- package/blog/ja/intlayer_with_vue-i18n.md +2 -0
- package/blog/ko/intlayer_with_i18next.md +2 -0
- package/blog/ko/intlayer_with_next-i18next.md +2 -0
- package/blog/ko/intlayer_with_next-intl.md +2 -0
- package/blog/ko/intlayer_with_react-i18next.md +2 -0
- package/blog/ko/intlayer_with_react-intl.md +2 -0
- package/blog/ko/intlayer_with_vue-i18n.md +2 -0
- package/blog/pl/intlayer_with_i18next.md +2 -0
- package/blog/pl/intlayer_with_next-i18next.md +2 -0
- package/blog/pl/intlayer_with_next-intl.md +2 -0
- package/blog/pl/intlayer_with_react-i18next.md +2 -0
- package/blog/pl/intlayer_with_react-intl.md +2 -0
- package/blog/pl/intlayer_with_vue-i18n.md +2 -0
- package/blog/pt/intlayer_with_i18next.md +2 -0
- package/blog/pt/intlayer_with_next-i18next.md +2 -0
- package/blog/pt/intlayer_with_next-intl.md +2 -0
- package/blog/pt/intlayer_with_react-i18next.md +2 -0
- package/blog/pt/intlayer_with_react-intl.md +2 -0
- package/blog/pt/intlayer_with_vue-i18n.md +2 -0
- package/blog/ru/intlayer_with_i18next.md +2 -0
- package/blog/ru/intlayer_with_next-i18next.md +2 -0
- package/blog/ru/intlayer_with_next-intl.md +2 -0
- package/blog/ru/intlayer_with_react-i18next.md +2 -0
- package/blog/ru/intlayer_with_react-intl.md +2 -0
- package/blog/ru/intlayer_with_vue-i18n.md +2 -0
- package/blog/tr/intlayer_with_i18next.md +2 -0
- package/blog/tr/intlayer_with_next-i18next.md +2 -0
- package/blog/tr/intlayer_with_next-intl.md +2 -0
- package/blog/tr/intlayer_with_react-i18next.md +2 -0
- package/blog/tr/intlayer_with_react-intl.md +2 -0
- package/blog/tr/intlayer_with_vue-i18n.md +2 -0
- package/blog/vi/intlayer_with_i18next.md +2 -0
- package/blog/vi/intlayer_with_next-i18next.md +2 -0
- package/blog/vi/intlayer_with_next-intl.md +2 -0
- package/blog/vi/intlayer_with_react-i18next.md +2 -0
- package/blog/vi/intlayer_with_react-intl.md +2 -0
- package/blog/vi/intlayer_with_vue-i18n.md +2 -0
- package/blog/zh/intlayer_with_i18next.md +2 -0
- package/blog/zh/intlayer_with_next-i18next.md +2 -0
- package/blog/zh/intlayer_with_next-intl.md +2 -0
- package/blog/zh/intlayer_with_react-i18next.md +2 -0
- package/blog/zh/intlayer_with_react-intl.md +2 -0
- package/blog/zh/intlayer_with_vue-i18n.md +2 -0
- package/docs/ar/dictionary/content_file.md +24 -1
- package/docs/ar/intlayer_with_astro.md +1 -1
- package/docs/ar/intlayer_with_express.md +1 -1
- package/docs/ar/intlayer_with_nestjs.md +1 -1
- package/docs/ar/intlayer_with_next-i18next.md +1 -0
- package/docs/ar/intlayer_with_next-intl.md +1 -0
- package/docs/ar/intlayer_with_tanstack.md +1 -12
- package/docs/ar/plugins/sync-json.md +27 -2
- package/docs/de/dictionary/content_file.md +24 -1
- package/docs/de/intlayer_with_astro.md +1 -1
- package/docs/de/intlayer_with_express.md +1 -1
- package/docs/de/intlayer_with_nestjs.md +1 -1
- package/docs/de/intlayer_with_next-i18next.md +1 -0
- package/docs/de/intlayer_with_next-intl.md +1 -0
- package/docs/de/intlayer_with_tanstack.md +1 -12
- package/docs/de/plugins/sync-json.md +27 -2
- package/docs/en/dictionary/content_file.md +24 -1
- package/docs/en/intlayer_with_astro.md +1 -1
- package/docs/en/intlayer_with_express.md +1 -1
- package/docs/en/intlayer_with_nestjs.md +1 -2
- package/docs/en/intlayer_with_next-i18next.md +1 -0
- package/docs/en/intlayer_with_next-intl.md +1 -0
- package/docs/en/intlayer_with_tanstack.md +0 -11
- package/docs/en/plugins/sync-json.md +53 -2
- package/docs/en-GB/dictionary/content_file.md +24 -1
- package/docs/en-GB/intlayer_with_astro.md +1 -1
- package/docs/en-GB/intlayer_with_express.md +1 -1
- package/docs/en-GB/intlayer_with_nestjs.md +1 -1
- package/docs/en-GB/intlayer_with_next-i18next.md +1 -0
- package/docs/en-GB/intlayer_with_next-intl.md +1 -0
- package/docs/en-GB/intlayer_with_tanstack.md +1 -12
- package/docs/en-GB/plugins/sync-json.md +26 -1
- package/docs/es/dictionary/content_file.md +24 -1
- package/docs/es/intlayer_with_astro.md +1 -1
- package/docs/es/intlayer_with_express.md +1 -1
- package/docs/es/intlayer_with_nestjs.md +1 -1
- package/docs/es/intlayer_with_next-i18next.md +1 -0
- package/docs/es/intlayer_with_next-intl.md +1 -0
- package/docs/es/intlayer_with_tanstack.md +1 -12
- package/docs/es/plugins/sync-json.md +27 -2
- package/docs/fr/dictionary/content_file.md +24 -1
- package/docs/fr/intlayer_with_astro.md +1 -1
- package/docs/fr/intlayer_with_express.md +1 -1
- package/docs/fr/intlayer_with_nestjs.md +1 -1
- package/docs/fr/intlayer_with_next-i18next.md +1 -0
- package/docs/fr/intlayer_with_next-intl.md +1 -0
- package/docs/fr/intlayer_with_tanstack.md +1 -12
- package/docs/fr/plugins/sync-json.md +27 -2
- package/docs/hi/dictionary/content_file.md +24 -1
- package/docs/hi/intlayer_with_astro.md +1 -1
- package/docs/hi/intlayer_with_express.md +1 -1
- package/docs/hi/intlayer_with_nestjs.md +1 -1
- package/docs/hi/intlayer_with_next-i18next.md +1 -0
- package/docs/hi/intlayer_with_next-intl.md +1 -0
- package/docs/hi/intlayer_with_tanstack.md +1 -12
- package/docs/hi/plugins/sync-json.md +27 -2
- package/docs/id/dictionary/content_file.md +24 -1
- package/docs/id/intlayer_with_astro.md +1 -1
- package/docs/id/intlayer_with_express.md +1 -1
- package/docs/id/intlayer_with_nestjs.md +1 -1
- package/docs/id/intlayer_with_next-i18next.md +1 -0
- package/docs/id/intlayer_with_next-intl.md +1 -0
- package/docs/id/intlayer_with_tanstack.md +1 -12
- package/docs/id/plugins/sync-json.md +27 -2
- package/docs/it/dictionary/content_file.md +24 -1
- package/docs/it/intlayer_with_astro.md +1 -1
- package/docs/it/intlayer_with_express.md +1 -1
- package/docs/it/intlayer_with_nestjs.md +1 -1
- package/docs/it/intlayer_with_next-i18next.md +1 -0
- package/docs/it/intlayer_with_next-intl.md +1 -0
- package/docs/it/intlayer_with_tanstack.md +1 -12
- package/docs/it/plugins/sync-json.md +27 -2
- package/docs/ja/dictionary/content_file.md +24 -1
- package/docs/ja/intlayer_with_astro.md +1 -1
- package/docs/ja/intlayer_with_express.md +1 -1
- package/docs/ja/intlayer_with_nestjs.md +1 -1
- package/docs/ja/intlayer_with_next-i18next.md +1 -0
- package/docs/ja/intlayer_with_next-intl.md +1 -0
- package/docs/ja/intlayer_with_tanstack.md +1 -12
- package/docs/ja/plugins/sync-json.md +27 -2
- package/docs/ko/dictionary/content_file.md +44 -1
- package/docs/ko/intlayer_with_astro.md +1 -1
- package/docs/ko/intlayer_with_express.md +1 -1
- package/docs/ko/intlayer_with_nestjs.md +1 -1
- package/docs/ko/intlayer_with_next-i18next.md +1 -0
- package/docs/ko/intlayer_with_next-intl.md +1 -0
- package/docs/ko/intlayer_with_tanstack.md +1 -12
- package/docs/ko/plugins/sync-json.md +27 -2
- package/docs/pl/dictionary/content_file.md +24 -1
- package/docs/pl/intlayer_with_astro.md +2 -2
- package/docs/pl/intlayer_with_express.md +1 -1
- package/docs/pl/intlayer_with_nestjs.md +1 -1
- package/docs/pl/intlayer_with_next-i18next.md +1 -0
- package/docs/pl/intlayer_with_next-intl.md +1 -0
- package/docs/pl/intlayer_with_tanstack.md +1 -12
- package/docs/pl/plugins/sync-json.md +24 -2
- package/docs/pt/dictionary/content_file.md +24 -1
- package/docs/pt/intlayer_with_astro.md +1 -1
- package/docs/pt/intlayer_with_express.md +1 -1
- package/docs/pt/intlayer_with_nestjs.md +1 -1
- package/docs/pt/intlayer_with_next-i18next.md +1 -0
- package/docs/pt/intlayer_with_next-intl.md +1 -0
- package/docs/pt/intlayer_with_tanstack.md +1 -12
- package/docs/pt/plugins/sync-json.md +27 -2
- package/docs/ru/dictionary/content_file.md +44 -1
- package/docs/ru/intlayer_with_astro.md +1 -1
- package/docs/ru/intlayer_with_express.md +1 -1
- package/docs/ru/intlayer_with_nestjs.md +1 -1
- package/docs/ru/intlayer_with_next-i18next.md +1 -0
- package/docs/ru/intlayer_with_next-intl.md +1 -0
- package/docs/ru/intlayer_with_tanstack.md +1 -12
- package/docs/ru/plugins/sync-json.md +27 -2
- package/docs/tr/dictionary/content_file.md +44 -1
- package/docs/tr/intlayer_with_astro.md +1 -1
- package/docs/tr/intlayer_with_express.md +1 -1
- package/docs/tr/intlayer_with_next-i18next.md +1 -0
- package/docs/tr/intlayer_with_next-intl.md +1 -0
- package/docs/tr/intlayer_with_tanstack.md +1 -12
- package/docs/tr/plugins/sync-json.md +27 -2
- package/docs/vi/dictionary/content_file.md +24 -1
- package/docs/vi/intlayer_with_astro.md +1 -1
- package/docs/vi/intlayer_with_express.md +1 -1
- package/docs/vi/intlayer_with_nestjs.md +1 -1
- package/docs/vi/intlayer_with_next-i18next.md +1 -0
- package/docs/vi/intlayer_with_next-intl.md +1 -0
- package/docs/vi/intlayer_with_tanstack.md +1 -12
- package/docs/vi/plugins/sync-json.md +27 -2
- package/docs/zh/dictionary/content_file.md +44 -1
- package/docs/zh/intlayer_with_astro.md +1 -1
- package/docs/zh/intlayer_with_express.md +1 -1
- package/docs/zh/intlayer_with_nestjs.md +1 -1
- package/docs/zh/intlayer_with_next-i18next.md +1 -0
- package/docs/zh/intlayer_with_next-intl.md +1 -0
- package/docs/zh/intlayer_with_tanstack.md +1 -12
- package/docs/zh/plugins/sync-json.md +27 -2
- package/package.json +6 -6
|
@@ -98,6 +98,7 @@ const config: IntlayerConfig = {
|
|
|
98
98
|
},
|
|
99
99
|
plugins: [
|
|
100
100
|
syncJSON({
|
|
101
|
+
format: "vue-i18n",
|
|
101
102
|
source: ({ key, locale }) => `./src/locales/${locale}/${key}.json`,
|
|
102
103
|
}),
|
|
103
104
|
],
|
|
@@ -149,6 +150,7 @@ const config: IntlayerConfig = {
|
|
|
149
150
|
* Carregará e escreverá a saída e as traduções de volta nos arquivos JSON no diretório de locais
|
|
150
151
|
*/
|
|
151
152
|
syncJSON({
|
|
153
|
+
format: "vue-i18n",
|
|
152
154
|
source: ({ key, locale }) => `./src/locales/${locale}/${key}.json`,
|
|
153
155
|
priority: 0,
|
|
154
156
|
}),
|
|
@@ -100,6 +100,7 @@ const config: IntlayerConfig = {
|
|
|
100
100
|
},
|
|
101
101
|
plugins: [
|
|
102
102
|
syncJSON({
|
|
103
|
+
format: "i18next",
|
|
103
104
|
source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
|
|
104
105
|
}),
|
|
105
106
|
],
|
|
@@ -149,6 +150,7 @@ const config: IntlayerConfig = {
|
|
|
149
150
|
* Загрузит и запишет результат и переводы обратно в JSON файлы в директории locales
|
|
150
151
|
*/
|
|
151
152
|
syncJSON({
|
|
153
|
+
format: "i18next",
|
|
152
154
|
source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
|
|
153
155
|
priority: 0,
|
|
154
156
|
}),
|
|
@@ -108,6 +108,7 @@ const config: IntlayerConfig = {
|
|
|
108
108
|
},
|
|
109
109
|
plugins: [
|
|
110
110
|
syncJSON({
|
|
111
|
+
format: "i18next",
|
|
111
112
|
source: ({ key, locale }) => `./public/locales/${locale}/${key}.json`,
|
|
112
113
|
}),
|
|
113
114
|
],
|
|
@@ -159,6 +160,7 @@ const config: IntlayerConfig = {
|
|
|
159
160
|
* Загрузит, а также запишет результаты и переводы обратно в JSON-файлы в директории локалей
|
|
160
161
|
*/
|
|
161
162
|
syncJSON({
|
|
163
|
+
format: "i18next",
|
|
162
164
|
source: ({ key, locale }) => `./public/locales/${locale}/${key}.json`,
|
|
163
165
|
priority: 0,
|
|
164
166
|
}),
|
|
@@ -94,6 +94,7 @@ const config: IntlayerConfig = {
|
|
|
94
94
|
},
|
|
95
95
|
plugins: [
|
|
96
96
|
syncJSON({
|
|
97
|
+
format: "icu",
|
|
97
98
|
source: ({ key, locale }) => `./messages/${locale}/${key}.json`,
|
|
98
99
|
}),
|
|
99
100
|
],
|
|
@@ -144,6 +145,7 @@ const config: IntlayerConfig = {
|
|
|
144
145
|
* Загрузит и запишет результаты и переводы обратно в JSON-файлы в директории locales
|
|
145
146
|
*/
|
|
146
147
|
syncJSON({
|
|
148
|
+
format: "icu",
|
|
147
149
|
source: ({ key, locale }) => `./messages/${locale}/${key}.json`,
|
|
148
150
|
priority: 0,
|
|
149
151
|
}),
|
|
@@ -98,6 +98,7 @@ const config: IntlayerConfig = {
|
|
|
98
98
|
},
|
|
99
99
|
plugins: [
|
|
100
100
|
syncJSON({
|
|
101
|
+
format: "i18next",
|
|
101
102
|
source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
|
|
102
103
|
}),
|
|
103
104
|
],
|
|
@@ -147,6 +148,7 @@ const config: IntlayerConfig = {
|
|
|
147
148
|
* Загрузит и запишет результат и переводы обратно в JSON-файлы в директории locales
|
|
148
149
|
*/
|
|
149
150
|
syncJSON({
|
|
151
|
+
format: "i18next",
|
|
150
152
|
source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
|
|
151
153
|
priority: 0,
|
|
152
154
|
}),
|
|
@@ -96,6 +96,7 @@ const config: IntlayerConfig = {
|
|
|
96
96
|
},
|
|
97
97
|
plugins: [
|
|
98
98
|
syncJSON({
|
|
99
|
+
format: "icu",
|
|
99
100
|
source: ({ key, locale }) => `./intl/messages/${locale}/${key}.json`,
|
|
100
101
|
}),
|
|
101
102
|
],
|
|
@@ -145,6 +146,7 @@ const config: IntlayerConfig = {
|
|
|
145
146
|
* Загрузит и запишет результат и переводы обратно в JSON-файлы в директории locales
|
|
146
147
|
*/
|
|
147
148
|
syncJSON({
|
|
149
|
+
format: "icu",
|
|
148
150
|
source: ({ key, locale }) => `./messages/${locale}/${key}.json`,
|
|
149
151
|
priority: 0,
|
|
150
152
|
}),
|
|
@@ -98,6 +98,7 @@ const config: IntlayerConfig = {
|
|
|
98
98
|
},
|
|
99
99
|
plugins: [
|
|
100
100
|
syncJSON({
|
|
101
|
+
format: "vue-i18n",
|
|
101
102
|
source: ({ key, locale }) => `./src/locales/${locale}/${key}.json`,
|
|
102
103
|
}),
|
|
103
104
|
],
|
|
@@ -149,6 +150,7 @@ const config: IntlayerConfig = {
|
|
|
149
150
|
* Загрузит, а также запишет результат и переводы обратно в JSON-файлы в директории locales
|
|
150
151
|
*/
|
|
151
152
|
syncJSON({
|
|
153
|
+
format: "vue-i18n",
|
|
152
154
|
source: ({ key, locale }) => `./src/locales/${locale}/${key}.json`,
|
|
153
155
|
priority: 0,
|
|
154
156
|
}),
|
|
@@ -100,6 +100,7 @@ const config: IntlayerConfig = {
|
|
|
100
100
|
},
|
|
101
101
|
plugins: [
|
|
102
102
|
syncJSON({
|
|
103
|
+
format: "i18next",
|
|
103
104
|
source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
|
|
104
105
|
}),
|
|
105
106
|
],
|
|
@@ -149,6 +150,7 @@ const config: IntlayerConfig = {
|
|
|
149
150
|
* locales dizinindeki JSON dosyalarını yükler ve çıktı ile çevirileri geri yazar
|
|
150
151
|
*/
|
|
151
152
|
syncJSON({
|
|
153
|
+
format: "i18next",
|
|
152
154
|
source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
|
|
153
155
|
priority: 0,
|
|
154
156
|
}),
|
|
@@ -119,6 +119,7 @@ const config: IntlayerConfig = {
|
|
|
119
119
|
},
|
|
120
120
|
plugins: [
|
|
121
121
|
syncJSON({
|
|
122
|
+
format: 'i18next',
|
|
122
123
|
source: ({ key, locale }) => `./public/locales/${locale}/${key}.json`,
|
|
123
124
|
}),
|
|
124
125
|
],
|
|
@@ -170,6 +171,7 @@ const config: IntlayerConfig = {
|
|
|
170
171
|
* Yerel dizindeki JSON dosyalarına çıktıyı ve çevirileri geri yazacak ve yükleyecek
|
|
171
172
|
*/
|
|
172
173
|
syncJSON({
|
|
174
|
+
format: "i18next",
|
|
173
175
|
source: ({ key, locale }) => `./public/locales/${locale}/${key}.json`,
|
|
174
176
|
priority: 0,
|
|
175
177
|
}),
|
|
@@ -95,6 +95,7 @@ const config: IntlayerConfig = {
|
|
|
95
95
|
},
|
|
96
96
|
plugins: [
|
|
97
97
|
syncJSON({
|
|
98
|
+
format: "icu",
|
|
98
99
|
source: ({ key, locale }) => `./messages/${locale}/${key}.json`,
|
|
99
100
|
}),
|
|
100
101
|
],
|
|
@@ -144,6 +145,7 @@ const config: IntlayerConfig = {
|
|
|
144
145
|
* locales dizinindeki JSON dosyalarını yükler ve çıktı ile çevirileri bu dosyalara geri yazar
|
|
145
146
|
*/
|
|
146
147
|
syncJSON({
|
|
148
|
+
format: "icu",
|
|
147
149
|
source: ({ key, locale }) => `./messages/${locale}/${key}.json`,
|
|
148
150
|
priority: 0,
|
|
149
151
|
}),
|
|
@@ -98,6 +98,7 @@ const config: IntlayerConfig = {
|
|
|
98
98
|
},
|
|
99
99
|
plugins: [
|
|
100
100
|
syncJSON({
|
|
101
|
+
format: "i18next",
|
|
101
102
|
source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
|
|
102
103
|
}),
|
|
103
104
|
],
|
|
@@ -147,6 +148,7 @@ const config: IntlayerConfig = {
|
|
|
147
148
|
* locales dizinindeki JSON dosyalarını yükler ve çıktı ile çevirileri geri yazar
|
|
148
149
|
*/
|
|
149
150
|
syncJSON({
|
|
151
|
+
format: "i18next",
|
|
150
152
|
source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
|
|
151
153
|
priority: 0,
|
|
152
154
|
}),
|
|
@@ -93,6 +93,7 @@ const config: IntlayerConfig = {
|
|
|
93
93
|
},
|
|
94
94
|
plugins: [
|
|
95
95
|
syncJSON({
|
|
96
|
+
format: "icu",
|
|
96
97
|
source: ({ key, locale }) => `./intl/messages/${locale}/${key}.json`,
|
|
97
98
|
}),
|
|
98
99
|
],
|
|
@@ -142,6 +143,7 @@ const config: IntlayerConfig = {
|
|
|
142
143
|
* locales dizinindeki JSON dosyalarını yükler ve çıktı ile çevirileri geri yazar
|
|
143
144
|
*/
|
|
144
145
|
syncJSON({
|
|
146
|
+
format: "icu",
|
|
145
147
|
source: ({ key, locale }) => `./messages/${locale}/${key}.json`,
|
|
146
148
|
priority: 0,
|
|
147
149
|
}),
|
|
@@ -98,6 +98,7 @@ const config: IntlayerConfig = {
|
|
|
98
98
|
},
|
|
99
99
|
plugins: [
|
|
100
100
|
syncJSON({
|
|
101
|
+
format: "vue-i18n",
|
|
101
102
|
source: ({ key, locale }) => `./src/locales/${locale}/${key}.json`,
|
|
102
103
|
}),
|
|
103
104
|
],
|
|
@@ -149,6 +150,7 @@ const config: IntlayerConfig = {
|
|
|
149
150
|
* locales dizinindeki JSON dosyalarını yükler ve çıktı ile çevirileri geri yazar
|
|
150
151
|
*/
|
|
151
152
|
syncJSON({
|
|
153
|
+
format: "vue-i18n",
|
|
152
154
|
source: ({ key, locale }) => `./src/locales/${locale}/${key}.json`,
|
|
153
155
|
priority: 0,
|
|
154
156
|
}),
|
|
@@ -100,6 +100,7 @@ const config: IntlayerConfig = {
|
|
|
100
100
|
},
|
|
101
101
|
plugins: [
|
|
102
102
|
syncJSON({
|
|
103
|
+
format: "i18next",
|
|
103
104
|
source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
|
|
104
105
|
}),
|
|
105
106
|
],
|
|
@@ -149,6 +150,7 @@ const config: IntlayerConfig = {
|
|
|
149
150
|
* Sẽ tải, và ghi đầu ra cùng các bản dịch trở lại các tệp JSON trong thư mục locales
|
|
150
151
|
*/
|
|
151
152
|
syncJSON({
|
|
153
|
+
format: "i18next",
|
|
152
154
|
source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
|
|
153
155
|
priority: 0,
|
|
154
156
|
}),
|
|
@@ -108,6 +108,7 @@ const config: IntlayerConfig = {
|
|
|
108
108
|
},
|
|
109
109
|
plugins: [
|
|
110
110
|
syncJSON({
|
|
111
|
+
format: "i18next",
|
|
111
112
|
source: ({ key, locale }) => `./public/locales/${locale}/${key}.json`,
|
|
112
113
|
}),
|
|
113
114
|
],
|
|
@@ -159,6 +160,7 @@ const config: IntlayerConfig = {
|
|
|
159
160
|
* Sẽ tải và ghi lại đầu ra cùng các bản dịch trở lại các file JSON trong thư mục locales
|
|
160
161
|
*/
|
|
161
162
|
syncJSON({
|
|
163
|
+
format: "i18next",
|
|
162
164
|
source: ({ key, locale }) => `./public/locales/${locale}/${key}.json`,
|
|
163
165
|
priority: 0,
|
|
164
166
|
}),
|
|
@@ -95,6 +95,7 @@ const config: IntlayerConfig = {
|
|
|
95
95
|
},
|
|
96
96
|
plugins: [
|
|
97
97
|
syncJSON({
|
|
98
|
+
format: "icu",
|
|
98
99
|
source: ({ key, locale }) => `./messages/${locale}/${key}.json`,
|
|
99
100
|
}),
|
|
100
101
|
],
|
|
@@ -144,6 +145,7 @@ const config: IntlayerConfig = {
|
|
|
144
145
|
* Sẽ tải và ghi đầu ra cùng các bản dịch trở lại các tệp JSON trong thư mục locales
|
|
145
146
|
*/
|
|
146
147
|
syncJSON({
|
|
148
|
+
format: "icu",
|
|
147
149
|
source: ({ key, locale }) => `./messages/${locale}/${key}.json`,
|
|
148
150
|
priority: 0,
|
|
149
151
|
}),
|
|
@@ -98,6 +98,7 @@ const config: IntlayerConfig = {
|
|
|
98
98
|
},
|
|
99
99
|
plugins: [
|
|
100
100
|
syncJSON({
|
|
101
|
+
format: "i18next",
|
|
101
102
|
source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
|
|
102
103
|
}),
|
|
103
104
|
],
|
|
@@ -147,6 +148,7 @@ const config: IntlayerConfig = {
|
|
|
147
148
|
* Sẽ tải và ghi đầu ra cùng các bản dịch trở lại các tệp JSON trong thư mục locales
|
|
148
149
|
*/
|
|
149
150
|
syncJSON({
|
|
151
|
+
format: "i18next",
|
|
150
152
|
source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
|
|
151
153
|
priority: 0,
|
|
152
154
|
}),
|
|
@@ -96,6 +96,7 @@ const config: IntlayerConfig = {
|
|
|
96
96
|
},
|
|
97
97
|
plugins: [
|
|
98
98
|
syncJSON({
|
|
99
|
+
format: "icu",
|
|
99
100
|
source: ({ key, locale }) => `./intl/messages/${locale}/${key}.json`,
|
|
100
101
|
}),
|
|
101
102
|
],
|
|
@@ -145,6 +146,7 @@ const config: IntlayerConfig = {
|
|
|
145
146
|
* Sẽ tải và ghi đầu ra cùng các bản dịch trở lại các tệp JSON trong thư mục locales
|
|
146
147
|
*/
|
|
147
148
|
syncJSON({
|
|
149
|
+
format: "icu",
|
|
148
150
|
source: ({ key, locale }) => `./messages/${locale}/${key}.json`,
|
|
149
151
|
priority: 0,
|
|
150
152
|
}),
|
|
@@ -98,6 +98,7 @@ const config: IntlayerConfig = {
|
|
|
98
98
|
},
|
|
99
99
|
plugins: [
|
|
100
100
|
syncJSON({
|
|
101
|
+
format: "vue-i18n",
|
|
101
102
|
source: ({ key, locale }) => `./src/locales/${locale}/${key}.json`,
|
|
102
103
|
}),
|
|
103
104
|
],
|
|
@@ -149,6 +150,7 @@ const config: IntlayerConfig = {
|
|
|
149
150
|
* Sẽ tải và ghi đầu ra cùng các bản dịch trở lại các tệp JSON trong thư mục locales
|
|
150
151
|
*/
|
|
151
152
|
syncJSON({
|
|
153
|
+
format: "vue-i18n",
|
|
152
154
|
source: ({ key, locale }) => `./src/locales/${locale}/${key}.json`,
|
|
153
155
|
priority: 0,
|
|
154
156
|
}),
|
|
@@ -100,6 +100,7 @@ const config: IntlayerConfig = {
|
|
|
100
100
|
},
|
|
101
101
|
plugins: [
|
|
102
102
|
syncJSON({
|
|
103
|
+
format: "i18next",
|
|
103
104
|
source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
|
|
104
105
|
}),
|
|
105
106
|
],
|
|
@@ -149,6 +150,7 @@ const config: IntlayerConfig = {
|
|
|
149
150
|
* 将加载并将输出和翻译写回到 locales 目录中的 JSON 文件
|
|
150
151
|
*/
|
|
151
152
|
syncJSON({
|
|
153
|
+
format: "i18next",
|
|
152
154
|
source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
|
|
153
155
|
priority: 0,
|
|
154
156
|
}),
|
|
@@ -108,6 +108,7 @@ const config: IntlayerConfig = {
|
|
|
108
108
|
},
|
|
109
109
|
plugins: [
|
|
110
110
|
syncJSON({
|
|
111
|
+
format: "i18next",
|
|
111
112
|
source: ({ key, locale }) => `./public/locales/${locale}/${key}.json`,
|
|
112
113
|
}),
|
|
113
114
|
],
|
|
@@ -159,6 +160,7 @@ const config: IntlayerConfig = {
|
|
|
159
160
|
* 将输出和翻译写回到 locales 目录中的 JSON 文件
|
|
160
161
|
*/
|
|
161
162
|
syncJSON({
|
|
163
|
+
format: "i18next",
|
|
162
164
|
source: ({ key, locale }) => `./public/locales/${locale}/${key}.json`,
|
|
163
165
|
priority: 0,
|
|
164
166
|
}),
|
|
@@ -94,6 +94,7 @@ const config: IntlayerConfig = {
|
|
|
94
94
|
},
|
|
95
95
|
plugins: [
|
|
96
96
|
syncJSON({
|
|
97
|
+
format: "icu",
|
|
97
98
|
source: ({ key, locale }) => `./messages/${locale}/${key}.json`,
|
|
98
99
|
}),
|
|
99
100
|
],
|
|
@@ -144,6 +145,7 @@ const config: IntlayerConfig = {
|
|
|
144
145
|
* 将加载并将输出和翻译写回到 locales 目录中的 JSON 文件
|
|
145
146
|
*/
|
|
146
147
|
syncJSON({
|
|
148
|
+
format: "icu",
|
|
147
149
|
source: ({ key, locale }) => `./messages/${locale}/${key}.json`,
|
|
148
150
|
priority: 0,
|
|
149
151
|
}),
|
|
@@ -98,6 +98,7 @@ const config: IntlayerConfig = {
|
|
|
98
98
|
},
|
|
99
99
|
plugins: [
|
|
100
100
|
syncJSON({
|
|
101
|
+
format: "i18next",
|
|
101
102
|
source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
|
|
102
103
|
}),
|
|
103
104
|
],
|
|
@@ -147,6 +148,7 @@ const config: IntlayerConfig = {
|
|
|
147
148
|
* 将加载并将输出和翻译写回到 locales 目录中的 JSON 文件
|
|
148
149
|
*/
|
|
149
150
|
syncJSON({
|
|
151
|
+
format: "i18next",
|
|
150
152
|
source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
|
|
151
153
|
priority: 0,
|
|
152
154
|
}),
|
|
@@ -96,6 +96,7 @@ const config: IntlayerConfig = {
|
|
|
96
96
|
},
|
|
97
97
|
plugins: [
|
|
98
98
|
syncJSON({
|
|
99
|
+
format: "icu",
|
|
99
100
|
source: ({ key, locale }) => `./intl/messages/${locale}/${key}.json`,
|
|
100
101
|
}),
|
|
101
102
|
],
|
|
@@ -145,6 +146,7 @@ const config: IntlayerConfig = {
|
|
|
145
146
|
* 将加载并将输出和翻译写回 locales 目录中的 JSON 文件
|
|
146
147
|
*/
|
|
147
148
|
syncJSON({
|
|
149
|
+
format: "icu",
|
|
148
150
|
source: ({ key, locale }) => `./messages/${locale}/${key}.json`,
|
|
149
151
|
priority: 0,
|
|
150
152
|
}),
|
|
@@ -98,6 +98,7 @@ const config: IntlayerConfig = {
|
|
|
98
98
|
},
|
|
99
99
|
plugins: [
|
|
100
100
|
syncJSON({
|
|
101
|
+
format: "vue-i18n",
|
|
101
102
|
source: ({ key, locale }) => `./src/locales/${locale}/${key}.json`,
|
|
102
103
|
}),
|
|
103
104
|
],
|
|
@@ -149,6 +150,7 @@ const config: IntlayerConfig = {
|
|
|
149
150
|
* 将加载并将输出和翻译写回到 locales 目录中的 JSON 文件
|
|
150
151
|
*/
|
|
151
152
|
syncJSON({
|
|
153
|
+
format: "vue-i18n",
|
|
152
154
|
source: ({ key, locale }) => `./src/locales/${locale}/${key}.json`,
|
|
153
155
|
priority: 0,
|
|
154
156
|
}),
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-02-07
|
|
3
|
-
updatedAt: 2025-
|
|
3
|
+
updatedAt: 2025-12-13
|
|
4
4
|
title: ملف المحتوى
|
|
5
5
|
description: تعلّم كيفية تخصيص الامتدادات لملفات إعلان المحتوى الخاصة بك. اتبع هذا التوثيق لتنفيذ الشروط بكفاءة في مشروعك.
|
|
6
6
|
keywords:
|
|
@@ -12,6 +12,9 @@ slugs:
|
|
|
12
12
|
- concept
|
|
13
13
|
- content
|
|
14
14
|
history:
|
|
15
|
+
- version: 7.5.0
|
|
16
|
+
date: 2025-12-13
|
|
17
|
+
changes: إضافة دعم تنسيقات ICU و i18next
|
|
15
18
|
- version: 6.0.0
|
|
16
19
|
date: 2025-09-20
|
|
17
20
|
changes: إضافة توثيق الحقول
|
|
@@ -387,6 +390,26 @@ module.exports = {
|
|
|
387
390
|
}
|
|
388
391
|
```
|
|
389
392
|
|
|
393
|
+
#### `format` ('intlayer' | 'icu' | 'i18next')
|
|
394
|
+
|
|
395
|
+
يحدد المُنسق الذي سيتم استخدامه لمحتوى القاموس. يسمح هذا باستخدام صيغ تنسيق رسائل مختلفة.
|
|
396
|
+
|
|
397
|
+
- `'intlayer'`: مُنسق Intlayer الافتراضي.
|
|
398
|
+
- `'icu'`: يستخدم تنسيق رسائل ICU.
|
|
399
|
+
- `'i18next'`: يستخدم تنسيق رسائل i18next.
|
|
400
|
+
|
|
401
|
+
**مثال:**
|
|
402
|
+
|
|
403
|
+
```typescript
|
|
404
|
+
{
|
|
405
|
+
key: "my-dictionary",
|
|
406
|
+
format: "icu",
|
|
407
|
+
content: {
|
|
408
|
+
message: "Hello {name}, you have {count, plural, one {# message} other {# messages}}"
|
|
409
|
+
}
|
|
410
|
+
}
|
|
411
|
+
```
|
|
412
|
+
|
|
390
413
|
#### `locale` (LocalesValues)
|
|
391
414
|
|
|
392
415
|
يقوم بتحويل القاموس إلى قاموس لكل لغة حيث يتم تلقائيًا تحويل كل حقل معلن في المحتوى إلى عقدة ترجمة. عند تعيين هذه الخاصية:
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
createdAt: 2024-03-07
|
|
3
3
|
updatedAt: 2025-10-03
|
|
4
4
|
title: كيفية ترجمة تطبيق Astro – دليل i18n 2025
|
|
5
|
-
description: تعلّم كيفية إضافة التدويل (i18n) إلى
|
|
5
|
+
description: تعلّم كيفية إضافة التدويل (i18n) إلى موقع Astro الخاص بك باستخدام Intlayer. اتبع هذا الدليل لجعل موقعك متعدد اللغات.
|
|
6
6
|
keywords:
|
|
7
7
|
- التدويل
|
|
8
8
|
- التوثيق
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
createdAt: 2024-08-11
|
|
3
3
|
updatedAt: 2025-06-29
|
|
4
4
|
title: كيفية ترجمة تطبيق Express backend – دليل i18n 2025
|
|
5
|
-
description: اكتشف كيفية جعل الواجهة الخلفية لـ
|
|
5
|
+
description: اكتشف كيفية جعل الواجهة الخلفية لـ Express متعددة اللغات. اتبع الوثائق لتدويل (i18n) وترجمتها.
|
|
6
6
|
keywords:
|
|
7
7
|
- دولية
|
|
8
8
|
- توثيق
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
createdAt: 2025-09-09
|
|
3
3
|
updatedAt: 2025-09-09
|
|
4
4
|
title: كيفية ترجمة تطبيق Nest backend – دليل i18n 2025
|
|
5
|
-
description: اكتشف كيفية جعل خلفية
|
|
5
|
+
description: اكتشف كيفية جعل خلفية NestJS الخاصة بك متعددة اللغات. اتبع الوثائق لتدويل (i18n) وترجمتها.
|
|
6
6
|
keywords:
|
|
7
7
|
- التدويل
|
|
8
8
|
- الوثائق
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-09-09
|
|
3
|
-
updatedAt: 2025-
|
|
3
|
+
updatedAt: 2025-12-11
|
|
4
4
|
title: كيفية ترجمة تطبيق Tanstack Start – دليل i18n 2025
|
|
5
5
|
description: تعلّم كيفية إضافة التدويل (i18n) إلى تطبيق Tanstack Start الخاص بك باستخدام Intlayer. اتبع هذا الدليل الشامل لجعل تطبيقك متعدد اللغات مع توجيه يعتمد على اللغة.
|
|
6
6
|
keywords:
|
|
@@ -633,17 +633,6 @@ export function NotFoundComponent() {
|
|
|
633
633
|
}
|
|
634
634
|
```
|
|
635
635
|
|
|
636
|
-
```tsx fileName="src/routes/__root.tsx"
|
|
637
|
-
import { createRootRoute } from "@tanstack/react-router";
|
|
638
|
-
|
|
639
|
-
// المسار الجذري يعمل كتخطيط على المستوى الأعلى
|
|
640
|
-
// لا يتعامل مع 404 مباشرة - يتم تفويض ذلك إلى المسارات الفرعية
|
|
641
|
-
// هذا يحافظ على الجذر بسيطًا ويتيح للمسارات الواعية باللغة إدارة منطق 404 الخاص بها
|
|
642
|
-
export const Route = createRootRoute({
|
|
643
|
-
component: Outlet,
|
|
644
|
-
});
|
|
645
|
-
```
|
|
646
|
-
|
|
647
636
|
```tsx fileName="src/routes/{-$locale}/route.tsx"
|
|
648
637
|
import { createFileRoute, Outlet, redirect } from "@tanstack/react-router";
|
|
649
638
|
import { validatePrefix } from "intlayer";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-03-13
|
|
3
|
-
updatedAt: 2025-
|
|
3
|
+
updatedAt: 2025-12-13
|
|
4
4
|
title: مكون مزامنة JSON
|
|
5
5
|
description: مزامنة قواميس Intlayer مع ملفات JSON الخاصة بالتدويل من طرف ثالث (i18next، next-intl، react-intl، vue-i18n، والمزيد). احتفظ بنظام التدويل الحالي لديك أثناء استخدام Intlayer لإدارة وترجمة واختبار رسائلك.
|
|
6
6
|
keywords:
|
|
@@ -24,12 +24,15 @@ slugs:
|
|
|
24
24
|
- sync-json
|
|
25
25
|
youtubeVideo: https://www.youtube.com/watch?v=MpGMxniDHNg
|
|
26
26
|
history:
|
|
27
|
+
- version: 7.5.0
|
|
28
|
+
date: 2025-12-13
|
|
29
|
+
changes: إضافة دعم تنسيقات ICU و i18next
|
|
27
30
|
- version: 6.1.6
|
|
28
31
|
date: 2025-10-05
|
|
29
32
|
changes: الوثائق الأولية لمكون مزامنة JSON
|
|
30
33
|
---
|
|
31
34
|
|
|
32
|
-
|
|
35
|
+
# مزامنة JSON (جسور التدويل) - مزامنة JSON مع دعم ICU / i18next
|
|
33
36
|
|
|
34
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"/>
|
|
35
38
|
|
|
@@ -105,9 +108,27 @@ syncJSON({
|
|
|
105
108
|
source: ({ key, locale }) => string, // مطلوب
|
|
106
109
|
location?: string, // تسمية اختيارية، الافتراضي: "plugin"
|
|
107
110
|
priority?: number, // أولوية اختيارية لحل التعارضات، الافتراضي: 0
|
|
111
|
+
format?: 'intlayer' | 'icu' | 'i18next', // مُنسق اختياري، الافتراضي: 'intlayer'
|
|
108
112
|
});
|
|
109
113
|
```
|
|
110
114
|
|
|
115
|
+
#### `format` ('intlayer' | 'icu' | 'i18next')
|
|
116
|
+
|
|
117
|
+
يحدد المُنسق الذي سيتم استخدامه لمحتوى القاموس عند مزامنة ملفات JSON. يسمح هذا باستخدام صيغ تنسيق رسائل مختلفة متوافقة مع مكتبات i18n مختلفة.
|
|
118
|
+
|
|
119
|
+
- `'intlayer'`: مُنسق Intlayer الافتراضي (الافتراضي).
|
|
120
|
+
- `'icu'`: يستخدم تنسيق رسائل ICU (متوافق مع مكتبات مثل react-intl، vue-i18n).
|
|
121
|
+
- `'i18next'`: يستخدم تنسيق رسائل i18next (متوافق مع i18next، next-i18next، Solid-i18next).
|
|
122
|
+
|
|
123
|
+
**مثال:**
|
|
124
|
+
|
|
125
|
+
```ts
|
|
126
|
+
syncJSON({
|
|
127
|
+
source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
|
|
128
|
+
format: "i18next", // استخدام تنسيق i18next للتوافق
|
|
129
|
+
}),
|
|
130
|
+
```
|
|
131
|
+
|
|
111
132
|
## مصادر JSON متعددة والأولوية
|
|
112
133
|
|
|
113
134
|
يمكنك إضافة عدة مكونات إضافية `syncJSON` لمزامنة مصادر JSON مختلفة. هذا مفيد عندما يكون لديك مكتبات i18n متعددة أو هياكل JSON مختلفة في مشروعك.
|
|
@@ -134,6 +155,7 @@ export default defineConfig({
|
|
|
134
155
|
plugins: [
|
|
135
156
|
// المصدر الأساسي لملفات JSON (الأولوية الأعلى)
|
|
136
157
|
syncJSON({
|
|
158
|
+
format: "i18next",
|
|
137
159
|
source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
|
|
138
160
|
location: "main-translations",
|
|
139
161
|
priority: 10,
|
|
@@ -141,6 +163,7 @@ export default defineConfig({
|
|
|
141
163
|
|
|
142
164
|
// المصدر الاحتياطي لملفات JSON (أولوية أقل)
|
|
143
165
|
syncJSON({
|
|
166
|
+
format: "i18next",
|
|
144
167
|
source: ({ locale }) => `./fallback-locales/${locale}.json`,
|
|
145
168
|
location: "fallback-translations",
|
|
146
169
|
priority: 5,
|
|
@@ -148,6 +171,7 @@ export default defineConfig({
|
|
|
148
171
|
|
|
149
172
|
// المصدر القديم لملفات JSON (الأولوية الأدنى)
|
|
150
173
|
syncJSON({
|
|
174
|
+
format: "i18next",
|
|
151
175
|
source: ({ locale }) => `/my/other/app/legacy/${locale}/messages.json`,
|
|
152
176
|
location: "legacy-translations",
|
|
153
177
|
priority: 1,
|
|
@@ -178,6 +202,7 @@ import { syncJSON } from "@intlayer/sync-json-plugin";
|
|
|
178
202
|
export default {
|
|
179
203
|
plugins: [
|
|
180
204
|
syncJSON({
|
|
205
|
+
format: "i18next",
|
|
181
206
|
source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
|
|
182
207
|
}),
|
|
183
208
|
],
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-02-07
|
|
3
|
-
updatedAt: 2025-
|
|
3
|
+
updatedAt: 2025-12-13
|
|
4
4
|
title: Inhaltsdatei
|
|
5
5
|
description: Erfahren Sie, wie Sie die Erweiterungen für Ihre Inhaltsdeklarationsdateien anpassen können. Folgen Sie dieser Dokumentation, um Bedingungen effizient in Ihrem Projekt umzusetzen.
|
|
6
6
|
keywords:
|
|
@@ -12,6 +12,9 @@ slugs:
|
|
|
12
12
|
- concept
|
|
13
13
|
- content
|
|
14
14
|
history:
|
|
15
|
+
- version: 7.5.0
|
|
16
|
+
date: 2025-12-13
|
|
17
|
+
changes: Unterstützung für ICU- und i18next-Formate hinzugefügt
|
|
15
18
|
- version: 6.0.0
|
|
16
19
|
date: 2025-09-20
|
|
17
20
|
changes: Felddokumentation hinzugefügt
|
|
@@ -386,6 +389,26 @@ Array von Zeichenketten zur Kategorisierung und Organisation von Wörterbüchern
|
|
|
386
389
|
}
|
|
387
390
|
```
|
|
388
391
|
|
|
392
|
+
#### `format` ('intlayer' | 'icu' | 'i18next')
|
|
393
|
+
|
|
394
|
+
Gibt den Formatierer an, der für den Wörterbuchinhalt verwendet werden soll. Dies ermöglicht die Verwendung verschiedener Nachrichtenformatierungssyntaxen.
|
|
395
|
+
|
|
396
|
+
- `'intlayer'`: Der Standard-Intlayer-Formatierer.
|
|
397
|
+
- `'icu'`: Verwendet ICU-Nachrichtenformatierung.
|
|
398
|
+
- `'i18next'`: Verwendet i18next-Nachrichtenformatierung.
|
|
399
|
+
|
|
400
|
+
**Beispiel:**
|
|
401
|
+
|
|
402
|
+
```typescript
|
|
403
|
+
{
|
|
404
|
+
key: "my-dictionary",
|
|
405
|
+
format: "icu",
|
|
406
|
+
content: {
|
|
407
|
+
message: "Hello {name}, you have {count, plural, one {# message} other {# messages}}"
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
```
|
|
411
|
+
|
|
389
412
|
#### `locale` (LocalesValues)
|
|
390
413
|
|
|
391
414
|
Wandelt das Wörterbuch in ein pro-Locale-Wörterbuch um, bei dem jedes im Inhalt deklarierte Feld automatisch in einen Übersetzungsknoten umgewandelt wird. Wenn diese Eigenschaft gesetzt ist:
|