@intlayer/docs 7.5.11 → 7.5.12
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 +0 -2
- package/blog/ar/intlayer_with_next-i18next.md +0 -2
- package/blog/ar/intlayer_with_react-i18next.md +0 -2
- package/blog/de/intlayer_with_i18next.md +0 -45
- package/blog/de/intlayer_with_next-i18next.md +0 -46
- package/blog/de/intlayer_with_react-i18next.md +0 -2
- package/blog/en/intlayer_with_i18next.md +0 -46
- package/blog/en/intlayer_with_next-i18next.md +0 -48
- package/blog/en/intlayer_with_next-intl.md +0 -44
- package/blog/en/intlayer_with_react-i18next.md +0 -44
- package/blog/en/intlayer_with_react-intl.md +0 -42
- package/blog/en/intlayer_with_vue-i18n.md +0 -44
- package/blog/en-GB/intlayer_with_i18next.md +0 -45
- package/blog/en-GB/intlayer_with_next-i18next.md +0 -47
- package/blog/en-GB/intlayer_with_next-intl.md +0 -42
- package/blog/en-GB/intlayer_with_react-i18next.md +0 -43
- package/blog/en-GB/intlayer_with_react-intl.md +0 -42
- package/blog/en-GB/intlayer_with_vue-i18n.md +0 -46
- package/blog/es/intlayer_with_i18next.md +0 -45
- package/blog/es/intlayer_with_next-i18next.md +0 -47
- package/blog/es/intlayer_with_next-intl.md +0 -42
- package/blog/es/intlayer_with_react-i18next.md +0 -43
- package/blog/es/intlayer_with_react-intl.md +0 -42
- package/blog/es/intlayer_with_vue-i18n.md +0 -46
- package/blog/fr/intlayer_with_i18next.md +0 -45
- package/blog/fr/intlayer_with_next-i18next.md +0 -47
- package/blog/fr/intlayer_with_next-intl.md +0 -42
- package/blog/fr/intlayer_with_react-i18next.md +0 -43
- package/blog/fr/intlayer_with_react-intl.md +0 -42
- package/blog/fr/intlayer_with_vue-i18n.md +0 -46
- package/blog/hi/intlayer_with_i18next.md +0 -2
- package/blog/hi/intlayer_with_next-i18next.md +0 -2
- package/blog/hi/intlayer_with_react-i18next.md +0 -2
- package/blog/id/intlayer_with_i18next.md +0 -2
- package/blog/id/intlayer_with_next-i18next.md +0 -2
- package/blog/id/intlayer_with_react-i18next.md +0 -2
- package/blog/it/intlayer_with_i18next.md +0 -2
- package/blog/it/intlayer_with_next-i18next.md +0 -2
- package/blog/it/intlayer_with_react-i18next.md +0 -2
- package/blog/ja/intlayer_with_i18next.md +0 -45
- package/blog/ja/intlayer_with_next-i18next.md +0 -46
- package/blog/ja/intlayer_with_next-intl.md +0 -42
- package/blog/ja/intlayer_with_react-i18next.md +0 -42
- package/blog/ja/intlayer_with_react-intl.md +0 -42
- package/blog/ja/intlayer_with_vue-i18n.md +0 -46
- package/blog/ko/intlayer_with_i18next.md +0 -2
- package/blog/ko/intlayer_with_next-i18next.md +0 -2
- package/blog/ko/intlayer_with_react-i18next.md +0 -1
- package/blog/pl/intlayer_with_i18next.md +0 -45
- package/blog/pl/intlayer_with_next-i18next.md +0 -46
- package/blog/pl/intlayer_with_next-intl.md +0 -42
- package/blog/pl/intlayer_with_react-i18next.md +0 -43
- package/blog/pl/intlayer_with_react-intl.md +0 -42
- package/blog/pl/intlayer_with_vue-i18n.md +0 -46
- package/blog/pt/intlayer_with_i18next.md +0 -2
- package/blog/pt/intlayer_with_next-i18next.md +0 -2
- package/blog/pt/intlayer_with_react-i18next.md +0 -2
- package/blog/ru/intlayer_with_i18next.md +0 -45
- package/blog/ru/intlayer_with_next-i18next.md +0 -47
- package/blog/ru/intlayer_with_next-intl.md +0 -42
- package/blog/ru/intlayer_with_react-i18next.md +0 -43
- package/blog/ru/intlayer_with_react-intl.md +0 -42
- package/blog/ru/intlayer_with_vue-i18n.md +0 -46
- package/blog/tr/intlayer_with_i18next.md +0 -2
- package/blog/tr/intlayer_with_next-i18next.md +0 -1
- package/blog/tr/intlayer_with_react-i18next.md +0 -2
- package/blog/vi/intlayer_with_i18next.md +0 -2
- package/blog/vi/intlayer_with_next-i18next.md +0 -2
- package/blog/vi/intlayer_with_react-i18next.md +0 -2
- package/blog/zh/intlayer_with_i18next.md +0 -2
- package/blog/zh/intlayer_with_next-i18next.md +0 -2
- package/blog/zh/intlayer_with_react-i18next.md +0 -2
- package/blog/zh/intlayer_with_vue-i18n.md +0 -46
- package/dist/cjs/generated/blog.entry.cjs +58 -29
- package/dist/cjs/generated/blog.entry.cjs.map +1 -1
- package/dist/cjs/generated/docs.entry.cjs +218 -99
- package/dist/cjs/generated/docs.entry.cjs.map +1 -1
- package/dist/cjs/generated/frequentQuestions.entry.cjs +30 -15
- package/dist/cjs/generated/frequentQuestions.entry.cjs.map +1 -1
- package/dist/cjs/generated/legal.entry.cjs +4 -2
- package/dist/cjs/generated/legal.entry.cjs.map +1 -1
- package/dist/esm/generated/blog.entry.mjs +58 -29
- package/dist/esm/generated/blog.entry.mjs.map +1 -1
- package/dist/esm/generated/docs.entry.mjs +218 -99
- package/dist/esm/generated/docs.entry.mjs.map +1 -1
- package/dist/esm/generated/frequentQuestions.entry.mjs +30 -15
- package/dist/esm/generated/frequentQuestions.entry.mjs.map +1 -1
- package/dist/esm/generated/legal.entry.mjs +4 -2
- package/dist/esm/generated/legal.entry.mjs.map +1 -1
- package/dist/types/generated/blog.entry.d.ts.map +1 -1
- package/dist/types/generated/docs.entry.d.ts +1 -0
- package/dist/types/generated/docs.entry.d.ts.map +1 -1
- package/dist/types/generated/frequentQuestions.entry.d.ts.map +1 -1
- package/dist/types/generated/legal.entry.d.ts.map +1 -1
- package/docs/ar/intlayer_with_next-i18next.md +0 -1
- package/docs/ar/intlayer_with_nextjs_14.md +28 -0
- package/docs/ar/intlayer_with_nextjs_15.md +28 -0
- package/docs/ar/intlayer_with_nextjs_16.md +28 -0
- package/docs/ar/intlayer_with_nextjs_no_locale_path.md +1159 -0
- package/docs/ar/plugins/sync-json.md +6 -2
- package/docs/de/intlayer_with_next-i18next.md +0 -1
- package/docs/de/intlayer_with_nextjs_14.md +28 -0
- package/docs/de/intlayer_with_nextjs_15.md +28 -0
- package/docs/de/intlayer_with_nextjs_16.md +28 -0
- package/docs/de/intlayer_with_nextjs_no_locale_path.md +1152 -0
- package/docs/de/plugins/sync-json.md +6 -2
- package/docs/en/intlayer_with_next-i18next.md +0 -1
- package/docs/en/intlayer_with_nextjs_14.md +28 -0
- package/docs/en/intlayer_with_nextjs_15.md +28 -0
- package/docs/en/intlayer_with_nextjs_16.md +31 -1
- package/docs/en/intlayer_with_nextjs_no_locale_path.md +1132 -0
- package/docs/en/plugins/sync-json.md +6 -2
- package/docs/en-GB/intlayer_with_next-i18next.md +0 -1
- package/docs/en-GB/intlayer_with_nextjs_14.md +28 -0
- package/docs/en-GB/intlayer_with_nextjs_15.md +28 -0
- package/docs/en-GB/intlayer_with_nextjs_16.md +28 -0
- package/docs/en-GB/intlayer_with_nextjs_no_locale_path.md +1154 -0
- package/docs/en-GB/plugins/sync-json.md +6 -2
- package/docs/es/intlayer_with_next-i18next.md +0 -1
- package/docs/es/intlayer_with_nextjs_14.md +28 -0
- package/docs/es/intlayer_with_nextjs_15.md +28 -0
- package/docs/es/intlayer_with_nextjs_16.md +28 -0
- package/docs/es/intlayer_with_nextjs_no_locale_path.md +1143 -0
- package/docs/es/plugins/sync-json.md +6 -2
- package/docs/fr/intlayer_with_next-i18next.md +0 -1
- package/docs/fr/intlayer_with_nextjs_14.md +28 -0
- package/docs/fr/intlayer_with_nextjs_15.md +28 -0
- package/docs/fr/intlayer_with_nextjs_16.md +28 -0
- package/docs/fr/intlayer_with_nextjs_no_locale_path.md +1174 -0
- package/docs/fr/plugins/sync-json.md +9 -5
- package/docs/hi/intlayer_with_next-i18next.md +0 -1
- package/docs/hi/intlayer_with_nextjs_14.md +28 -0
- package/docs/hi/intlayer_with_nextjs_15.md +28 -0
- package/docs/hi/intlayer_with_nextjs_16.md +28 -0
- package/docs/hi/intlayer_with_nextjs_no_locale_path.md +1151 -0
- package/docs/hi/plugins/sync-json.md +6 -2
- package/docs/id/intlayer_with_next-i18next.md +0 -1
- package/docs/id/intlayer_with_nextjs_14.md +28 -0
- package/docs/id/intlayer_with_nextjs_15.md +28 -0
- package/docs/id/intlayer_with_nextjs_16.md +28 -0
- package/docs/id/intlayer_with_nextjs_no_locale_path.md +1154 -0
- package/docs/id/plugins/sync-json.md +6 -2
- package/docs/it/intlayer_with_next-i18next.md +0 -1
- package/docs/it/intlayer_with_nextjs_14.md +28 -0
- package/docs/it/intlayer_with_nextjs_15.md +28 -0
- package/docs/it/intlayer_with_nextjs_16.md +28 -0
- package/docs/it/intlayer_with_nextjs_no_locale_path.md +1148 -0
- package/docs/it/plugins/sync-json.md +6 -2
- package/docs/ja/intlayer_with_next-i18next.md +0 -1
- package/docs/ja/intlayer_with_nextjs_14.md +28 -0
- package/docs/ja/intlayer_with_nextjs_15.md +28 -0
- package/docs/ja/intlayer_with_nextjs_16.md +28 -0
- package/docs/ja/intlayer_with_nextjs_no_locale_path.md +1222 -0
- package/docs/ja/plugins/sync-json.md +6 -2
- package/docs/ko/intlayer_with_next-i18next.md +0 -1
- package/docs/ko/intlayer_with_nextjs_14.md +28 -0
- package/docs/ko/intlayer_with_nextjs_15.md +28 -0
- package/docs/ko/intlayer_with_nextjs_16.md +28 -0
- package/docs/ko/intlayer_with_nextjs_no_locale_path.md +1205 -0
- package/docs/ko/plugins/sync-json.md +6 -2
- package/docs/pl/intlayer_with_next-i18next.md +0 -1
- package/docs/pl/intlayer_with_nextjs_14.md +28 -0
- package/docs/pl/intlayer_with_nextjs_15.md +28 -0
- package/docs/pl/intlayer_with_nextjs_16.md +28 -0
- package/docs/pl/intlayer_with_nextjs_no_locale_path.md +1149 -0
- package/docs/pl/plugins/sync-json.md +6 -2
- package/docs/pt/intlayer_with_next-i18next.md +0 -1
- package/docs/pt/intlayer_with_nextjs_14.md +28 -0
- package/docs/pt/intlayer_with_nextjs_15.md +28 -0
- package/docs/pt/intlayer_with_nextjs_16.md +28 -0
- package/docs/pt/intlayer_with_nextjs_no_locale_path.md +1152 -0
- package/docs/pt/plugins/sync-json.md +6 -2
- package/docs/ru/intlayer_with_next-i18next.md +0 -1
- package/docs/ru/intlayer_with_nextjs_14.md +28 -0
- package/docs/ru/intlayer_with_nextjs_15.md +28 -0
- package/docs/ru/intlayer_with_nextjs_16.md +28 -0
- package/docs/ru/intlayer_with_nextjs_no_locale_path.md +1204 -0
- package/docs/ru/plugins/sync-json.md +6 -2
- package/docs/tr/intlayer_with_next-i18next.md +0 -1
- package/docs/tr/intlayer_with_nextjs_14.md +28 -0
- package/docs/tr/intlayer_with_nextjs_15.md +28 -0
- package/docs/tr/intlayer_with_nextjs_16.md +28 -0
- package/docs/tr/intlayer_with_nextjs_no_locale_path.md +1159 -0
- package/docs/tr/plugins/sync-json.md +6 -2
- package/docs/uk/compiler.md +133 -0
- package/docs/uk/component_i18n.md +194 -0
- package/docs/uk/intlayer_with_nextjs_14.md +1646 -0
- package/docs/uk/intlayer_with_nextjs_15.md +1910 -0
- package/docs/uk/intlayer_with_nextjs_16.md +1763 -0
- package/docs/uk/intlayer_with_nextjs_no_locale_path.md +1159 -0
- package/docs/uk/intlayer_with_react_native+expo.md +715 -0
- package/docs/uk/packages/intlayer/getConfiguration.md +145 -0
- package/docs/uk/vs_code_extension.md +133 -0
- package/docs/vi/intlayer_with_next-i18next.md +0 -1
- package/docs/vi/intlayer_with_nextjs_14.md +28 -0
- package/docs/vi/intlayer_with_nextjs_15.md +28 -0
- package/docs/vi/intlayer_with_nextjs_16.md +28 -0
- package/docs/vi/intlayer_with_nextjs_no_locale_path.md +1151 -0
- package/docs/vi/plugins/sync-json.md +6 -2
- package/docs/zh/intlayer_with_next-i18next.md +0 -1
- package/docs/zh/intlayer_with_nextjs_14.md +28 -0
- package/docs/zh/intlayer_with_nextjs_15.md +28 -0
- package/docs/zh/intlayer_with_nextjs_16.md +28 -0
- package/docs/zh/intlayer_with_nextjs_no_locale_path.md +1206 -0
- package/docs/zh/plugins/sync-json.md +9 -5
- package/frequent_questions/ar/SSR_Next_no_[locale].md +1 -1
- package/frequent_questions/de/SSR_Next_no_[locale].md +1 -1
- package/frequent_questions/en/SSR_Next_no_[locale].md +1 -1
- package/frequent_questions/en-GB/SSR_Next_no_[locale].md +1 -1
- package/frequent_questions/es/SSR_Next_no_[locale].md +1 -1
- package/frequent_questions/fr/SSR_Next_no_[locale].md +1 -1
- package/frequent_questions/hi/SSR_Next_no_[locale].md +1 -1
- package/frequent_questions/id/SSR_Next_no_[locale].md +1 -1
- package/frequent_questions/it/SSR_Next_no_[locale].md +1 -1
- package/frequent_questions/ja/SSR_Next_no_[locale].md +1 -1
- package/frequent_questions/ko/SSR_Next_no_[locale].md +1 -1
- package/frequent_questions/pl/SSR_Next_no_[locale].md +1 -1
- package/frequent_questions/pt/SSR_Next_no_[locale].md +1 -1
- package/frequent_questions/ru/SSR_Next_no_[locale].md +1 -1
- package/frequent_questions/tr/SSR_Next_no_[locale].md +1 -1
- package/frequent_questions/vi/SSR_Next_no_[locale].md +1 -1
- package/frequent_questions/zh/SSR_Next_no_[locale].md +1 -1
- package/package.json +6 -6
- package/src/generated/blog.entry.ts +29 -0
- package/src/generated/docs.entry.ts +119 -0
- package/src/generated/frequentQuestions.entry.ts +15 -0
- package/src/generated/legal.entry.ts +2 -0
|
@@ -104,7 +104,6 @@ const config: IntlayerConfig = {
|
|
|
104
104
|
},
|
|
105
105
|
plugins: [
|
|
106
106
|
syncJSON({
|
|
107
|
-
format: "i18next",
|
|
108
107
|
source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
|
|
109
108
|
}),
|
|
110
109
|
],
|
|
@@ -154,7 +153,6 @@ const config: IntlayerConfig = {
|
|
|
154
153
|
* سيقوم بتحميل، وكتابة المخرجات والترجمات مرة أخرى إلى ملفات JSON في مجلد locales
|
|
155
154
|
*/
|
|
156
155
|
syncJSON({
|
|
157
|
-
format: "i18next",
|
|
158
156
|
source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
|
|
159
157
|
priority: 0,
|
|
160
158
|
}),
|
|
@@ -112,7 +112,6 @@ const config: IntlayerConfig = {
|
|
|
112
112
|
},
|
|
113
113
|
plugins: [
|
|
114
114
|
syncJSON({
|
|
115
|
-
format: "i18next",
|
|
116
115
|
source: ({ key, locale }) => `./public/locales/${locale}/${key}.json`,
|
|
117
116
|
}),
|
|
118
117
|
],
|
|
@@ -164,7 +163,6 @@ const config: IntlayerConfig = {
|
|
|
164
163
|
* سيقوم بتحميل وكتابة المخرجات والترجمات مرة أخرى إلى ملفات JSON في دليل اللغات
|
|
165
164
|
*/
|
|
166
165
|
syncJSON({
|
|
167
|
-
format: "i18next",
|
|
168
166
|
source: ({ key, locale }) => `./public/locales/${locale}/${key}.json`,
|
|
169
167
|
priority: 0,
|
|
170
168
|
}),
|
|
@@ -102,7 +102,6 @@ const config: IntlayerConfig = {
|
|
|
102
102
|
},
|
|
103
103
|
plugins: [
|
|
104
104
|
syncJSON({
|
|
105
|
-
format: "i18next",
|
|
106
105
|
source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
|
|
107
106
|
}),
|
|
108
107
|
],
|
|
@@ -152,7 +151,6 @@ const config: IntlayerConfig = {
|
|
|
152
151
|
* سيقوم بتحميل، وكتابة المخرجات والترجمات مرة أخرى إلى ملفات JSON في مجلد locales
|
|
153
152
|
*/
|
|
154
153
|
syncJSON({
|
|
155
|
-
format: "i18next",
|
|
156
154
|
source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
|
|
157
155
|
priority: 0,
|
|
158
156
|
}),
|
|
@@ -104,7 +104,6 @@ const config: IntlayerConfig = {
|
|
|
104
104
|
},
|
|
105
105
|
plugins: [
|
|
106
106
|
syncJSON({
|
|
107
|
-
format: "i18next",
|
|
108
107
|
source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
|
|
109
108
|
}),
|
|
110
109
|
],
|
|
@@ -124,50 +123,6 @@ Wenn Änderungen über die CLI zur Übersetzung des JSON vorgenommen werden oder
|
|
|
124
123
|
|
|
125
124
|
Um weitere Details zum `syncJSON`-Plugin zu erfahren, lesen Sie bitte die [syncJSON Plugin-Dokumentation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/plugins/sync-json.md).
|
|
126
125
|
|
|
127
|
-
### (Optional) Schritt 3: Implementierung von JSON-Übersetzungen pro Komponente
|
|
128
|
-
|
|
129
|
-
Standardmäßig lädt, kombiniert und synchronisiert Intlayer sowohl JSON- als auch Inhaltsdeklarationsdateien. Weitere Informationen finden Sie in der [Dokumentation zur Inhaltsdeklaration](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/dictionary/content_file.md). Wenn Sie jedoch möchten, können Sie mit einem Intlayer-Plugin auch eine Verwaltung von JSON pro Komponente implementieren, die überall in Ihrem Code lokalisiert ist.
|
|
130
|
-
|
|
131
|
-
Dafür können Sie das `loadJSON`-Plugin verwenden.
|
|
132
|
-
|
|
133
|
-
```ts fileName="intlayer.config.ts"
|
|
134
|
-
import { Locales, type IntlayerConfig } from "intlayer";
|
|
135
|
-
import { loadJSON, syncJSON } from "@intlayer/sync-json-plugin";
|
|
136
|
-
|
|
137
|
-
const config: IntlayerConfig = {
|
|
138
|
-
internationalization: {
|
|
139
|
-
locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
|
|
140
|
-
defaultLocale: Locales.ENGLISH,
|
|
141
|
-
},
|
|
142
|
-
|
|
143
|
-
// Halten Sie Ihre aktuellen JSON-Dateien mit den Intlayer-Wörterbüchern synchron
|
|
144
|
-
plugins: [
|
|
145
|
-
/**
|
|
146
|
-
* Lädt alle JSON-Dateien im src-Verzeichnis, die dem Muster {key}.i18n.json entsprechen
|
|
147
|
-
*/
|
|
148
|
-
loadJSON({
|
|
149
|
-
source: ({ key }) => `./src/**/${key}.i18n.json`,
|
|
150
|
-
locale: Locales.ENGLISH,
|
|
151
|
-
priority: 1, // Stellt sicher, dass diese JSON-Dateien Vorrang vor Dateien in `./locales/en/${key}.json` haben
|
|
152
|
-
}),
|
|
153
|
-
/**
|
|
154
|
-
* Lädt und schreibt die Ausgabe und Übersetzungen zurück in die JSON-Dateien im locales-Verzeichnis
|
|
155
|
-
*/
|
|
156
|
-
syncJSON({
|
|
157
|
-
format: "i18next",
|
|
158
|
-
source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
|
|
159
|
-
priority: 0,
|
|
160
|
-
}),
|
|
161
|
-
],
|
|
162
|
-
};
|
|
163
|
-
|
|
164
|
-
export default config;
|
|
165
|
-
```
|
|
166
|
-
|
|
167
|
-
Dies lädt alle JSON-Dateien im `src`-Verzeichnis, die dem Muster `{key}.i18n.json` entsprechen, und lädt sie als Intlayer-Wörterbücher.
|
|
168
|
-
|
|
169
|
-
---
|
|
170
|
-
|
|
171
126
|
## Git-Konfiguration
|
|
172
127
|
|
|
173
128
|
Es wird empfohlen, automatisch generierte Intlayer-Dateien zu ignorieren:
|
|
@@ -132,52 +132,6 @@ Wenn Änderungen über die CLI zur Übersetzung des JSON vorgenommen werden oder
|
|
|
132
132
|
|
|
133
133
|
Für weitere Details zum `syncJSON`-Plugin lesen Sie bitte die [syncJSON Plugin-Dokumentation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/plugins/sync-json.md).
|
|
134
134
|
|
|
135
|
-
---
|
|
136
|
-
|
|
137
|
-
### (Optional) Schritt 3: Implementierung von JSON-Übersetzungen pro Komponente
|
|
138
|
-
|
|
139
|
-
Standardmäßig lädt, verbindet und synchronisiert Intlayer sowohl JSON- als auch Inhaltsdeklarationsdateien. Weitere Informationen finden Sie in der [Dokumentation zur Inhaltsdeklaration](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/dictionary/content_file.md). Wenn Sie jedoch möchten, können Sie mit einem Intlayer-Plugin auch eine Verwaltung von JSON-Übersetzungen pro Komponente implementieren, die überall in Ihrem Codebasis lokalisiert sind.
|
|
140
|
-
|
|
141
|
-
Dafür können Sie das `loadJSON`-Plugin verwenden.
|
|
142
|
-
|
|
143
|
-
```ts fileName="intlayer.config.ts"
|
|
144
|
-
import { Locales, type IntlayerConfig } from "intlayer";
|
|
145
|
-
import { loadJSON, syncJSON } from "@intlayer/sync-json-plugin";
|
|
146
|
-
|
|
147
|
-
const config: IntlayerConfig = {
|
|
148
|
-
internationalization: {
|
|
149
|
-
locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
|
|
150
|
-
defaultLocale: Locales.ENGLISH,
|
|
151
|
-
},
|
|
152
|
-
|
|
153
|
-
// Halten Sie Ihre aktuellen JSON-Dateien mit den Intlayer-Wörterbüchern synchron
|
|
154
|
-
plugins: [
|
|
155
|
-
/**
|
|
156
|
-
* Lädt alle JSON-Dateien im src-Verzeichnis, die dem Muster {key}.i18n.json entsprechen
|
|
157
|
-
*/
|
|
158
|
-
loadJSON({
|
|
159
|
-
source: ({ key }) => `./src/**/${key}.i18n.json`,
|
|
160
|
-
locale: Locales.ENGLISH,
|
|
161
|
-
priority: 1, // Stellt sicher, dass diese JSON-Dateien Vorrang vor Dateien in `./public/locales/en/${key}.json` haben
|
|
162
|
-
}),
|
|
163
|
-
/**
|
|
164
|
-
* Lädt die JSON-Dateien und schreibt die Ausgabe sowie Übersetzungen zurück in die JSON-Dateien im locales-Verzeichnis
|
|
165
|
-
*/
|
|
166
|
-
syncJSON({
|
|
167
|
-
format: "i18next",
|
|
168
|
-
source: ({ key, locale }) => `./public/locales/${locale}/${key}.json`,
|
|
169
|
-
priority: 0,
|
|
170
|
-
}),
|
|
171
|
-
],
|
|
172
|
-
};
|
|
173
|
-
|
|
174
|
-
export default config;
|
|
175
|
-
```
|
|
176
|
-
|
|
177
|
-
Dies lädt alle JSON-Dateien im `src`-Verzeichnis, die dem Muster `{key}.i18n.json` entsprechen, und lädt sie als Intlayer-Wörterbücher.
|
|
178
|
-
|
|
179
|
-
---
|
|
180
|
-
|
|
181
135
|
## Git-Konfiguration
|
|
182
136
|
|
|
183
137
|
Schließen Sie generierte Dateien von der Versionskontrolle aus:
|
|
@@ -102,7 +102,6 @@ const config: IntlayerConfig = {
|
|
|
102
102
|
},
|
|
103
103
|
plugins: [
|
|
104
104
|
syncJSON({
|
|
105
|
-
format: "i18next",
|
|
106
105
|
source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
|
|
107
106
|
}),
|
|
108
107
|
],
|
|
@@ -152,7 +151,6 @@ const config: IntlayerConfig = {
|
|
|
152
151
|
* Lädt und schreibt die Ausgabe sowie Übersetzungen zurück in die JSON-Dateien im locales-Verzeichnis
|
|
153
152
|
*/
|
|
154
153
|
syncJSON({
|
|
155
|
-
format: "i18next",
|
|
156
154
|
source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
|
|
157
155
|
priority: 0,
|
|
158
156
|
}),
|
|
@@ -123,7 +123,6 @@ const config: IntlayerConfig = {
|
|
|
123
123
|
},
|
|
124
124
|
plugins: [
|
|
125
125
|
syncJSON({
|
|
126
|
-
format: "i18next",
|
|
127
126
|
source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
|
|
128
127
|
}),
|
|
129
128
|
],
|
|
@@ -143,50 +142,6 @@ If changes are made using the CLI to translate the JSON, or using the CMS, Intla
|
|
|
143
142
|
|
|
144
143
|
To see more details about the `syncJSON` plugin, please refer to the [syncJSON plugin documentation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/plugins/sync-json.md).
|
|
145
144
|
|
|
146
|
-
### (Optional) Step 3: Implement per-component JSON translations
|
|
147
|
-
|
|
148
|
-
By default, Intlayer will load, merge and synchronize both JSON and content declaration files. See [the content declaration documentation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/content_file.md) for more details. But if you prefer, using a Intlayer plugin, you can also implement per-component management of JSON localized anywhere in your codebase.
|
|
149
|
-
|
|
150
|
-
For that, you can use the `loadJSON` plugin.
|
|
151
|
-
|
|
152
|
-
```ts fileName="intlayer.config.ts"
|
|
153
|
-
import { Locales, type IntlayerConfig } from "intlayer";
|
|
154
|
-
import { loadJSON, syncJSON } from "@intlayer/sync-json-plugin";
|
|
155
|
-
|
|
156
|
-
const config: IntlayerConfig = {
|
|
157
|
-
internationalization: {
|
|
158
|
-
locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
|
|
159
|
-
defaultLocale: Locales.ENGLISH,
|
|
160
|
-
},
|
|
161
|
-
|
|
162
|
-
// Keep your current JSON files in sync with Intlayer dictionaries
|
|
163
|
-
plugins: [
|
|
164
|
-
/**
|
|
165
|
-
* Will load all the JSON files in the src that match the pattern {key}.i18n json
|
|
166
|
-
*/
|
|
167
|
-
loadJSON({
|
|
168
|
-
source: ({ key }) => `./src/**/${key}.i18n.json`,
|
|
169
|
-
locale: Locales.ENGLISH,
|
|
170
|
-
priority: 1, // Ensures these JSON files take precedence over files at `./locales/en/${key}.json`
|
|
171
|
-
}),
|
|
172
|
-
/**
|
|
173
|
-
* Will load, and write the output and translations back to the JSON files in the locales directory
|
|
174
|
-
*/
|
|
175
|
-
syncJSON({
|
|
176
|
-
format: "i18next",
|
|
177
|
-
source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
|
|
178
|
-
priority: 0,
|
|
179
|
-
}),
|
|
180
|
-
],
|
|
181
|
-
};
|
|
182
|
-
|
|
183
|
-
export default config;
|
|
184
|
-
```
|
|
185
|
-
|
|
186
|
-
This will load all the JSON files in the `src` directory that match the pattern `{key}.i18n.json` and load them as Intlayer dictionaries.
|
|
187
|
-
|
|
188
|
-
---
|
|
189
|
-
|
|
190
145
|
### Step 4: Set up AI provider
|
|
191
146
|
|
|
192
147
|
Intlayer unlocks a set of advanced automation and developer-friendly features for your i18next workflow.
|
|
@@ -217,7 +172,6 @@ const config: IntlayerConfig = {
|
|
|
217
172
|
},
|
|
218
173
|
plugins: [
|
|
219
174
|
syncJSON({
|
|
220
|
-
format: "i18next",
|
|
221
175
|
source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
|
|
222
176
|
}),
|
|
223
177
|
],
|
|
@@ -114,7 +114,6 @@ const config: IntlayerConfig = {
|
|
|
114
114
|
},
|
|
115
115
|
plugins: [
|
|
116
116
|
syncJSON({
|
|
117
|
-
format: "i18next",
|
|
118
117
|
source: ({ key, locale }) => `./public/locales/${locale}/${key}.json`,
|
|
119
118
|
}),
|
|
120
119
|
],
|
|
@@ -134,52 +133,6 @@ If changes are made using the CLI to translate the JSON, or using the CMS, Intla
|
|
|
134
133
|
|
|
135
134
|
To see more details about the `syncJSON` plugin, please refer to the [syncJSON plugin documentation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/plugins/sync-json.md).
|
|
136
135
|
|
|
137
|
-
---
|
|
138
|
-
|
|
139
|
-
### (Optional) Step 3: Implement per-component JSON translations
|
|
140
|
-
|
|
141
|
-
By default, Intlayer will load, merge and synchronize both JSON and content declaration files. See [the content declaration documentation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/content_file.md) for more details. But if you prefer, using a Intlayer plugin, you can also implement per-component management of JSON localized anywhere in your codebase.
|
|
142
|
-
|
|
143
|
-
For that, you can use the `loadJSON` plugin.
|
|
144
|
-
|
|
145
|
-
```ts fileName="intlayer.config.ts"
|
|
146
|
-
import { Locales, type IntlayerConfig } from "intlayer";
|
|
147
|
-
import { loadJSON, syncJSON } from "@intlayer/sync-json-plugin";
|
|
148
|
-
|
|
149
|
-
const config: IntlayerConfig = {
|
|
150
|
-
internationalization: {
|
|
151
|
-
locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
|
|
152
|
-
defaultLocale: Locales.ENGLISH,
|
|
153
|
-
},
|
|
154
|
-
|
|
155
|
-
// Keep your current JSON files in sync with Intlayer dictionaries
|
|
156
|
-
plugins: [
|
|
157
|
-
/**
|
|
158
|
-
* Will load all the JSON files in the src that match the pattern {key}.i18n json
|
|
159
|
-
*/
|
|
160
|
-
loadJSON({
|
|
161
|
-
source: ({ key }) => `./src/**/${key}.i18n.json`,
|
|
162
|
-
locale: Locales.ENGLISH,
|
|
163
|
-
priority: 1, // Ensures these JSON files take precedence over files at `./public/locales/en/${key}.json`
|
|
164
|
-
}),
|
|
165
|
-
/**
|
|
166
|
-
* Will load, and write the output and translations back to the JSON files in the locales directory
|
|
167
|
-
*/
|
|
168
|
-
syncJSON({
|
|
169
|
-
format: "i18next",
|
|
170
|
-
source: ({ key, locale }) => `./public/locales/${locale}/${key}.json`,
|
|
171
|
-
priority: 0,
|
|
172
|
-
}),
|
|
173
|
-
],
|
|
174
|
-
};
|
|
175
|
-
|
|
176
|
-
export default config;
|
|
177
|
-
```
|
|
178
|
-
|
|
179
|
-
This will load all the JSON files in the `src` directory that match the pattern `{key}.i18n.json` and load them as Intlayer dictionaries.
|
|
180
|
-
|
|
181
|
-
---
|
|
182
|
-
|
|
183
136
|
### Step 4: Set up AI provider
|
|
184
137
|
|
|
185
138
|
Intlayer unlocks a set of advanced automation and developer-friendly features for your i18next workflow.
|
|
@@ -210,7 +163,6 @@ const config: IntlayerConfig = {
|
|
|
210
163
|
},
|
|
211
164
|
plugins: [
|
|
212
165
|
syncJSON({
|
|
213
|
-
format: "i18next",
|
|
214
166
|
source: ({ key, locale }) => `./public/locales/${locale}/${key}.json`,
|
|
215
167
|
}),
|
|
216
168
|
],
|
|
@@ -133,50 +133,6 @@ If changes are made using the CLI to translate the JSON, or using the CMS, Intla
|
|
|
133
133
|
|
|
134
134
|
To see more details about the `syncJSON` plugin, please refer to the [syncJSON plugin documentation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/plugins/sync-json.md).
|
|
135
135
|
|
|
136
|
-
### (Optional) Step 3: Implement per-component JSON translations
|
|
137
|
-
|
|
138
|
-
By default, Intlayer will load, merge and synchronize both JSON and content declaration files. See [the content declaration documentation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/content_file.md) for more details. But if you prefer, using a Intlayer plugin, you can also implement per-component management of JSON localized anywhere in your codebase.
|
|
139
|
-
|
|
140
|
-
For that, you can use the `loadJSON` plugin.
|
|
141
|
-
|
|
142
|
-
```ts fileName="intlayer.config.ts"
|
|
143
|
-
import { Locales, type IntlayerConfig } from "intlayer";
|
|
144
|
-
import { loadJSON, syncJSON } from "@intlayer/sync-json-plugin";
|
|
145
|
-
|
|
146
|
-
const config: IntlayerConfig = {
|
|
147
|
-
internationalization: {
|
|
148
|
-
locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
|
|
149
|
-
defaultLocale: Locales.ENGLISH,
|
|
150
|
-
},
|
|
151
|
-
|
|
152
|
-
// Keep your current JSON files in sync with Intlayer dictionaries
|
|
153
|
-
plugins: [
|
|
154
|
-
/**
|
|
155
|
-
* Will load all the JSON files in the src that match the pattern {key}.i18n json
|
|
156
|
-
*/
|
|
157
|
-
loadJSON({
|
|
158
|
-
source: ({ key }) => `./src/**/${key}.i18n.json`,
|
|
159
|
-
locale: Locales.ENGLISH,
|
|
160
|
-
priority: 1, // Ensures these JSON files take precedence over files at `./locales/en/${key}.json`
|
|
161
|
-
}),
|
|
162
|
-
/**
|
|
163
|
-
* Will load, and write the output and translations back to the JSON files in the locales directory
|
|
164
|
-
*/
|
|
165
|
-
syncJSON({
|
|
166
|
-
format: "icu",
|
|
167
|
-
source: ({ key, locale }) => `./messages/${locale}/${key}.json`,
|
|
168
|
-
priority: 0,
|
|
169
|
-
}),
|
|
170
|
-
],
|
|
171
|
-
};
|
|
172
|
-
|
|
173
|
-
export default config;
|
|
174
|
-
```
|
|
175
|
-
|
|
176
|
-
This will load all the JSON files in the `src` directory that match the pattern `{key}.i18n.json` and load them as Intlayer dictionaries.
|
|
177
|
-
|
|
178
|
-
---
|
|
179
|
-
|
|
180
136
|
### Step 4: Set up AI provider
|
|
181
137
|
|
|
182
138
|
Intlayer unlocks a set of advanced automation and developer-friendly features for your i18next workflow.
|
|
@@ -114,7 +114,6 @@ const config: IntlayerConfig = {
|
|
|
114
114
|
},
|
|
115
115
|
plugins: [
|
|
116
116
|
syncJSON({
|
|
117
|
-
format: "i18next",
|
|
118
117
|
source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
|
|
119
118
|
}),
|
|
120
119
|
],
|
|
@@ -134,48 +133,6 @@ If changes are made using the CLI to translate the JSON, or using the CMS, Intla
|
|
|
134
133
|
|
|
135
134
|
To see more details about the `syncJSON` plugin, please refer to the [syncJSON plugin documentation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/plugins/sync-json.md).
|
|
136
135
|
|
|
137
|
-
### (Optional) Step 3: Implement per-component JSON translations
|
|
138
|
-
|
|
139
|
-
By default, Intlayer will load, merge and synchronize both JSON and content declaration files. See [the content declaration documentation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/content_file.md) for more details. But if you prefer, using a Intlayer plugin, you can also implement per-component management of JSON localized anywhere in your codebase.
|
|
140
|
-
|
|
141
|
-
For that, you can use the `loadJSON` plugin.
|
|
142
|
-
|
|
143
|
-
```ts fileName="intlayer.config.ts"
|
|
144
|
-
import { Locales, type IntlayerConfig } from "intlayer";
|
|
145
|
-
import { loadJSON, syncJSON } from "@intlayer/sync-json-plugin";
|
|
146
|
-
|
|
147
|
-
const config: IntlayerConfig = {
|
|
148
|
-
internationalization: {
|
|
149
|
-
locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
|
|
150
|
-
defaultLocale: Locales.ENGLISH,
|
|
151
|
-
},
|
|
152
|
-
|
|
153
|
-
// Keep your current JSON files in sync with Intlayer dictionaries
|
|
154
|
-
plugins: [
|
|
155
|
-
/**
|
|
156
|
-
* Will load all the JSON files in the src that match the pattern {key}.i18n json
|
|
157
|
-
*/
|
|
158
|
-
loadJSON({
|
|
159
|
-
source: ({ key }) => `./src/**/${key}.i18n.json`,
|
|
160
|
-
locale: Locales.ENGLISH,
|
|
161
|
-
priority: 1, // Ensures these JSON files take precedence over files at `./locales/en/${key}.json`
|
|
162
|
-
}),
|
|
163
|
-
/**
|
|
164
|
-
* Will load, and write the output and translations back to the JSON files in the locales directory
|
|
165
|
-
*/
|
|
166
|
-
syncJSON({
|
|
167
|
-
format: "i18next",
|
|
168
|
-
source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
|
|
169
|
-
priority: 0,
|
|
170
|
-
}),
|
|
171
|
-
],
|
|
172
|
-
};
|
|
173
|
-
|
|
174
|
-
export default config;
|
|
175
|
-
```
|
|
176
|
-
|
|
177
|
-
This will load all the JSON files in the `src` directory that match the pattern `{key}.i18n.json` and load them as Intlayer dictionaries.
|
|
178
|
-
|
|
179
136
|
### Step 4: Set up AI provider
|
|
180
137
|
|
|
181
138
|
Intlayer unlocks a set of advanced automation and developer-friendly features for your i18next workflow.
|
|
@@ -206,7 +163,6 @@ const config: IntlayerConfig = {
|
|
|
206
163
|
},
|
|
207
164
|
plugins: [
|
|
208
165
|
syncJSON({
|
|
209
|
-
format: "i18next",
|
|
210
166
|
source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
|
|
211
167
|
}),
|
|
212
168
|
],
|
|
@@ -132,48 +132,6 @@ If changes are made using the CLI to translate the JSON, or using the CMS, Intla
|
|
|
132
132
|
|
|
133
133
|
To see more details about the `syncJSON` plugin, please refer to the [syncJSON plugin documentation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/plugins/sync-json.md).
|
|
134
134
|
|
|
135
|
-
### (Optional) Step 3: Implement per-component JSON translations
|
|
136
|
-
|
|
137
|
-
By default, Intlayer will load, merge and synchronize both JSON and content declaration files. See [the content declaration documentation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/content_file.md) for more details. But if you prefer, using a Intlayer plugin, you can also implement per-component management of JSON localized anywhere in your codebase.
|
|
138
|
-
|
|
139
|
-
For that, you can use the `loadJSON` plugin.
|
|
140
|
-
|
|
141
|
-
```ts fileName="intlayer.config.ts"
|
|
142
|
-
import { Locales, type IntlayerConfig } from "intlayer";
|
|
143
|
-
import { loadJSON, syncJSON } from "@intlayer/sync-json-plugin";
|
|
144
|
-
|
|
145
|
-
const config: IntlayerConfig = {
|
|
146
|
-
internationalization: {
|
|
147
|
-
locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
|
|
148
|
-
defaultLocale: Locales.ENGLISH,
|
|
149
|
-
},
|
|
150
|
-
|
|
151
|
-
// Keep your current JSON files in sync with Intlayer dictionaries
|
|
152
|
-
plugins: [
|
|
153
|
-
/**
|
|
154
|
-
* Will load all the JSON files in the src that match the pattern {key}.i18n json
|
|
155
|
-
*/
|
|
156
|
-
loadJSON({
|
|
157
|
-
source: ({ key }) => `./src/**/${key}.i18n.json`,
|
|
158
|
-
locale: Locales.ENGLISH,
|
|
159
|
-
priority: 1, // Ensures these JSON files take precedence over files at `./locales/en/${key}.json`
|
|
160
|
-
}),
|
|
161
|
-
/**
|
|
162
|
-
* Will load, and write the output and translations back to the JSON files in the locales directory
|
|
163
|
-
*/
|
|
164
|
-
syncJSON({
|
|
165
|
-
format: "icu",
|
|
166
|
-
source: ({ key, locale }) => `./messages/${locale}/${key}.json`,
|
|
167
|
-
priority: 0,
|
|
168
|
-
}),
|
|
169
|
-
],
|
|
170
|
-
};
|
|
171
|
-
|
|
172
|
-
export default config;
|
|
173
|
-
```
|
|
174
|
-
|
|
175
|
-
This will load all the JSON files in the `src` directory that match the pattern `{key}.i18n.json` and load them as Intlayer dictionaries.
|
|
176
|
-
|
|
177
135
|
### Step 4: Set up AI provider
|
|
178
136
|
|
|
179
137
|
Intlayer unlocks a set of advanced automation and developer-friendly features for your i18next workflow.
|
|
@@ -134,50 +134,6 @@ If changes are made using the CLI to translate the JSON, or using the CMS, Intla
|
|
|
134
134
|
|
|
135
135
|
To see more details about the `syncJSON` plugin, please refer to the [syncJSON plugin documentation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/plugins/sync-json.md).
|
|
136
136
|
|
|
137
|
-
---
|
|
138
|
-
|
|
139
|
-
### (Optional) Step 3: Implement per-component JSON translations
|
|
140
|
-
|
|
141
|
-
By default, Intlayer will load, merge and synchronize both JSON and content declaration files. See [the content declaration documentation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/content_file.md) for more details. But if you prefer, using a Intlayer plugin, you can also implement per-component management of JSON localized anywhere in your codebase.
|
|
142
|
-
|
|
143
|
-
For that, you can use the `loadJSON` plugin.
|
|
144
|
-
|
|
145
|
-
```ts fileName="intlayer.config.ts"
|
|
146
|
-
import { Locales, type IntlayerConfig } from "intlayer";
|
|
147
|
-
import { loadJSON, syncJSON } from "@intlayer/sync-json-plugin";
|
|
148
|
-
|
|
149
|
-
const config: IntlayerConfig = {
|
|
150
|
-
internationalization: {
|
|
151
|
-
locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
|
|
152
|
-
defaultLocale: Locales.ENGLISH,
|
|
153
|
-
},
|
|
154
|
-
|
|
155
|
-
// Keep your current JSON files in sync with Intlayer dictionaries
|
|
156
|
-
plugins: [
|
|
157
|
-
/**
|
|
158
|
-
* Will load all the JSON files in the src that match the pattern {key}.i18n json
|
|
159
|
-
*/
|
|
160
|
-
loadJSON({
|
|
161
|
-
source: ({ key }) => `./src/**/${key}.i18n.json`,
|
|
162
|
-
locale: Locales.ENGLISH,
|
|
163
|
-
priority: 1, // Ensures these JSON files take precedence over files at `./locales/en/${key}.json`
|
|
164
|
-
}),
|
|
165
|
-
/**
|
|
166
|
-
* Will load, and write the output and translations back to the JSON files in the locales directory
|
|
167
|
-
*/
|
|
168
|
-
syncJSON({
|
|
169
|
-
format: "vue-i18n",
|
|
170
|
-
source: ({ key, locale }) => `./src/locales/${locale}/${key}.json`,
|
|
171
|
-
priority: 0,
|
|
172
|
-
}),
|
|
173
|
-
],
|
|
174
|
-
};
|
|
175
|
-
|
|
176
|
-
export default config;
|
|
177
|
-
```
|
|
178
|
-
|
|
179
|
-
This will load all the JSON files in the `src` directory that match the pattern `{key}.i18n.json` and load them as Intlayer dictionaries.
|
|
180
|
-
|
|
181
137
|
### Step 4: Set up AI provider
|
|
182
138
|
|
|
183
139
|
Intlayer unlocks a set of advanced automation and developer-friendly features for your i18next workflow.
|
|
@@ -113,7 +113,6 @@ const config: IntlayerConfig = {
|
|
|
113
113
|
},
|
|
114
114
|
plugins: [
|
|
115
115
|
syncJSON({
|
|
116
|
-
format: "i18next",
|
|
117
116
|
source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
|
|
118
117
|
}),
|
|
119
118
|
],
|
|
@@ -133,50 +132,6 @@ If changes are made using the CLI to translate the JSON, or using the CMS, Intla
|
|
|
133
132
|
|
|
134
133
|
To see more details about the `syncJSON` plugin, please refer to the [syncJSON plugin documentation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/plugins/sync-json.md).
|
|
135
134
|
|
|
136
|
-
### (Optional) Step 3: Implement per-component JSON translations
|
|
137
|
-
|
|
138
|
-
By default, Intlayer will load, merge and synchronise both JSON and content declaration files. See [the content declaration documentation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/dictionary/content_file.md) for more details. But if you prefer, using an Intlayer plugin, you can also implement per-component management of JSON localised anywhere in your codebase.
|
|
139
|
-
|
|
140
|
-
For that, you can use the `loadJSON` plugin.
|
|
141
|
-
|
|
142
|
-
```ts fileName="intlayer.config.ts"
|
|
143
|
-
import { Locales, type IntlayerConfig } from "intlayer";
|
|
144
|
-
import { loadJSON, syncJSON } from "@intlayer/sync-json-plugin";
|
|
145
|
-
|
|
146
|
-
const config: IntlayerConfig = {
|
|
147
|
-
internationalisation: {
|
|
148
|
-
locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
|
|
149
|
-
defaultLocale: Locales.ENGLISH,
|
|
150
|
-
},
|
|
151
|
-
|
|
152
|
-
// Keep your current JSON files in sync with Intlayer dictionaries
|
|
153
|
-
plugins: [
|
|
154
|
-
/**
|
|
155
|
-
* Will load all the JSON files in the src that match the pattern {key}.i18n.json
|
|
156
|
-
*/
|
|
157
|
-
loadJSON({
|
|
158
|
-
source: ({ key }) => `./src/**/${key}.i18n.json`,
|
|
159
|
-
locale: Locales.ENGLISH,
|
|
160
|
-
priority: 1, // Ensures these JSON files take precedence over files at `./locales/en/${key}.json`
|
|
161
|
-
}),
|
|
162
|
-
/**
|
|
163
|
-
* Will load, and write the output and translations back to the JSON files in the locales directory
|
|
164
|
-
*/
|
|
165
|
-
syncJSON({
|
|
166
|
-
format: "i18next",
|
|
167
|
-
source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
|
|
168
|
-
priority: 0,
|
|
169
|
-
}),
|
|
170
|
-
],
|
|
171
|
-
};
|
|
172
|
-
|
|
173
|
-
export default config;
|
|
174
|
-
```
|
|
175
|
-
|
|
176
|
-
This will load all the JSON files in the `src` directory that match the pattern `{key}.i18n.json` and load them as Intlayer dictionaries.
|
|
177
|
-
|
|
178
|
-
---
|
|
179
|
-
|
|
180
135
|
## Git Configuration
|
|
181
136
|
|
|
182
137
|
It is recommended to ignore auto-generated Intlayer files:
|
|
@@ -122,7 +122,6 @@ const config: IntlayerConfig = {
|
|
|
122
122
|
},
|
|
123
123
|
plugins: [
|
|
124
124
|
syncJSON({
|
|
125
|
-
format: "i18next",
|
|
126
125
|
source: ({ key, locale }) => `./public/locales/${locale}/${key}.json`,
|
|
127
126
|
}),
|
|
128
127
|
],
|
|
@@ -142,52 +141,6 @@ If changes are made using the CLI to translate the JSON, or using the CMS, Intla
|
|
|
142
141
|
|
|
143
142
|
To see more details about the `syncJSON` plugin, please refer to the [syncJSON plugin documentation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/plugins/sync-json.md).
|
|
144
143
|
|
|
145
|
-
---
|
|
146
|
-
|
|
147
|
-
### (Optional) Step 3: Implement per-component JSON translations
|
|
148
|
-
|
|
149
|
-
By default, Intlayer will load, merge and synchronise both JSON and content declaration files. See [the content declaration documentation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/content_file.md) for more details. But if you prefer, using an Intlayer plugin, you can also implement per-component management of JSON localised anywhere in your codebase.
|
|
150
|
-
|
|
151
|
-
For that, you can use the `loadJSON` plugin.
|
|
152
|
-
|
|
153
|
-
```ts fileName="intlayer.config.ts"
|
|
154
|
-
import { Locales, type IntlayerConfig } from "intlayer";
|
|
155
|
-
import { loadJSON, syncJSON } from "@intlayer/sync-json-plugin";
|
|
156
|
-
|
|
157
|
-
const config: IntlayerConfig = {
|
|
158
|
-
internationalization: {
|
|
159
|
-
locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
|
|
160
|
-
defaultLocale: Locales.ENGLISH,
|
|
161
|
-
},
|
|
162
|
-
|
|
163
|
-
// Keep your current JSON files in sync with Intlayer dictionaries
|
|
164
|
-
plugins: [
|
|
165
|
-
/**
|
|
166
|
-
* Will load all the JSON files in the src that match the pattern {key}.i18n.json
|
|
167
|
-
*/
|
|
168
|
-
loadJSON({
|
|
169
|
-
source: ({ key }) => `./src/**/${key}.i18n.json`,
|
|
170
|
-
locale: Locales.ENGLISH,
|
|
171
|
-
priority: 1, // Ensures these JSON files take precedence over files at `./public/locales/en/${key}.json`
|
|
172
|
-
}),
|
|
173
|
-
/**
|
|
174
|
-
* Will load, and write the output and translations back to the JSON files in the locales directory
|
|
175
|
-
*/
|
|
176
|
-
syncJSON({
|
|
177
|
-
format: "i18next",
|
|
178
|
-
source: ({ key, locale }) => `./public/locales/${locale}/${key}.json`,
|
|
179
|
-
priority: 0,
|
|
180
|
-
}),
|
|
181
|
-
],
|
|
182
|
-
};
|
|
183
|
-
|
|
184
|
-
export default config;
|
|
185
|
-
```
|
|
186
|
-
|
|
187
|
-
This will load all the JSON files in the `src` directory that match the pattern `{key}.i18n.json` and load them as Intlayer dictionaries.
|
|
188
|
-
|
|
189
|
-
---
|
|
190
|
-
|
|
191
144
|
## Git Configuration
|
|
192
145
|
|
|
193
146
|
Exclude generated files from version control:
|