@intlayer/docs 5.5.9 → 5.5.10
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/ar/autoFill.md +1 -2
- package/ar/intlayer_with_create_react_app.md +1 -14
- package/ar/intlayer_with_nextjs_14.md +1 -14
- package/ar/intlayer_with_nextjs_15.md +1 -14
- package/ar/intlayer_with_nextjs_page_router.md +1 -13
- package/ar/intlayer_with_nuxt.md +792 -0
- package/ar/intlayer_with_react_native+expo.md +6 -3
- package/ar/intlayer_with_vite+preact.md +7 -18
- package/ar/intlayer_with_vite+react.md +7 -17
- package/ar/intlayer_with_vite+vue.md +25 -5
- package/ar/packages/nuxt-intlayer/index.md +29 -0
- package/ar/roadmap.md +11 -11
- package/de/autoFill.md +1 -2
- package/de/how_works_intlayer.md +1 -1
- package/de/intlayer_with_create_react_app.md +1 -14
- package/de/intlayer_with_nextjs_14.md +1 -14
- package/de/intlayer_with_nextjs_15.md +1 -14
- package/de/intlayer_with_nextjs_page_router.md +1 -13
- package/de/intlayer_with_nuxt.md +791 -0
- package/de/intlayer_with_react_native+expo.md +6 -3
- package/de/intlayer_with_vite+preact.md +7 -18
- package/de/intlayer_with_vite+react.md +7 -17
- package/de/intlayer_with_vite+vue.md +84 -62
- package/de/packages/nuxt-intlayer/index.md +29 -0
- package/de/roadmap.md +11 -11
- package/en/autoFill.md +1 -2
- package/en/how_works_intlayer.md +17 -3
- package/en/intlayer_with_angular.md +535 -6
- package/en/intlayer_with_create_react_app.md +1 -14
- package/en/intlayer_with_nextjs_14.md +193 -59
- package/en/intlayer_with_nextjs_15.md +192 -61
- package/en/intlayer_with_nextjs_page_router.md +396 -61
- package/en/intlayer_with_nuxt.md +737 -0
- package/en/intlayer_with_react_native+expo.md +6 -3
- package/en/intlayer_with_vite+preact.md +8 -27
- package/en/intlayer_with_vite+react.md +7 -17
- package/en/intlayer_with_vite+solid.md +6 -3
- package/en/intlayer_with_vite+svelte.md +6 -3
- package/en/intlayer_with_vite+vue.md +17 -6
- package/en/packages/nuxt-intlayer/index.md +31 -0
- package/en/roadmap.md +13 -13
- package/en/t.md +5 -5
- package/en-GB/how_works_intlayer.md +16 -4
- package/en-GB/intlayer_with_create_react_app.md +1 -14
- package/en-GB/intlayer_with_nextjs_14.md +1 -14
- package/en-GB/intlayer_with_nextjs_15.md +1 -14
- package/en-GB/intlayer_with_nextjs_page_router.md +1 -13
- package/en-GB/intlayer_with_nuxt.md +795 -0
- package/en-GB/intlayer_with_react_native+expo.md +6 -3
- package/en-GB/intlayer_with_vite+preact.md +7 -18
- package/en-GB/intlayer_with_vite+react.md +6 -9
- package/en-GB/intlayer_with_vite+vue.md +65 -59
- package/en-GB/packages/nuxt-intlayer/index.md +31 -0
- package/en-GB/roadmap.md +11 -11
- package/es/autoFill.md +1 -2
- package/es/how_works_intlayer.md +1 -1
- package/es/intlayer_with_create_react_app.md +1 -14
- package/es/intlayer_with_nextjs_14.md +1 -14
- package/es/intlayer_with_nextjs_15.md +1 -14
- package/es/intlayer_with_nextjs_page_router.md +1 -13
- package/es/intlayer_with_nuxt.md +731 -0
- package/es/intlayer_with_react_native+expo.md +6 -3
- package/es/intlayer_with_vite+preact.md +7 -18
- package/es/intlayer_with_vite+react.md +7 -17
- package/es/intlayer_with_vite+vue.md +64 -51
- package/es/packages/nuxt-intlayer/index.md +29 -0
- package/fr/autoFill.md +1 -2
- package/fr/how_works_intlayer.md +1 -1
- package/fr/intlayer_with_create_react_app.md +1 -14
- package/fr/intlayer_with_nextjs_14.md +1 -14
- package/fr/intlayer_with_nextjs_15.md +1 -14
- package/fr/intlayer_with_nextjs_page_router.md +1 -13
- package/fr/intlayer_with_nuxt.md +731 -0
- package/fr/intlayer_with_react_native+expo.md +6 -3
- package/fr/intlayer_with_vite+preact.md +7 -18
- package/fr/intlayer_with_vite+react.md +7 -17
- package/fr/intlayer_with_vite+vue.md +30 -15
- package/fr/packages/nuxt-intlayer/index.md +29 -0
- package/fr/roadmap.md +11 -11
- package/hi/autoFill.md +1 -2
- package/hi/how_works_intlayer.md +1 -1
- package/hi/intlayer_with_create_react_app.md +1 -14
- package/hi/intlayer_with_nextjs_14.md +1 -14
- package/hi/intlayer_with_nextjs_15.md +1 -14
- package/hi/intlayer_with_nextjs_page_router.md +1 -13
- package/hi/intlayer_with_nuxt.md +784 -0
- package/hi/intlayer_with_react_native+expo.md +6 -3
- package/hi/intlayer_with_vite+preact.md +7 -18
- package/hi/intlayer_with_vite+react.md +7 -17
- package/hi/intlayer_with_vite+vue.md +59 -47
- package/hi/packages/nuxt-intlayer/index.md +29 -0
- package/hi/roadmap.md +11 -11
- package/index.cjs +30 -0
- package/index.d.ts +2 -0
- package/it/autoFill.md +1 -2
- package/it/how_works_intlayer.md +1 -1
- package/it/intlayer_with_create_react_app.md +0 -6
- package/it/intlayer_with_nextjs_14.md +1 -14
- package/it/intlayer_with_nextjs_15.md +1 -14
- package/it/intlayer_with_nextjs_page_router.md +1 -13
- package/it/intlayer_with_nuxt.md +793 -0
- package/it/intlayer_with_react_native+expo.md +6 -3
- package/it/intlayer_with_vite+preact.md +7 -18
- package/it/intlayer_with_vite+react.md +7 -17
- package/it/intlayer_with_vite+vue.md +26 -17
- package/it/packages/nuxt-intlayer/index.md +29 -0
- package/it/roadmap.md +11 -11
- package/ja/autoFill.md +1 -2
- package/ja/how_works_intlayer.md +1 -1
- package/ja/intlayer_with_create_react_app.md +1 -14
- package/ja/intlayer_with_nextjs_14.md +1 -14
- package/ja/intlayer_with_nextjs_15.md +1 -14
- package/ja/intlayer_with_nextjs_page_router.md +1 -13
- package/ja/intlayer_with_nuxt.md +792 -0
- package/ja/intlayer_with_react_native+expo.md +6 -3
- package/ja/intlayer_with_vite+preact.md +7 -18
- package/ja/intlayer_with_vite+react.md +7 -17
- package/ja/intlayer_with_vite+vue.md +68 -63
- package/ja/packages/nuxt-intlayer/index.md +29 -0
- package/ja/roadmap.md +11 -11
- package/ko/autoFill.md +1 -2
- package/ko/how_works_intlayer.md +1 -1
- package/ko/intlayer_with_create_react_app.md +1 -14
- package/ko/intlayer_with_nextjs_14.md +1 -14
- package/ko/intlayer_with_nextjs_15.md +1 -14
- package/ko/intlayer_with_nextjs_page_router.md +1 -13
- package/ko/intlayer_with_nuxt.md +784 -0
- package/ko/intlayer_with_react_native+expo.md +6 -3
- package/ko/intlayer_with_vite+preact.md +7 -18
- package/ko/intlayer_with_vite+react.md +7 -17
- package/ko/intlayer_with_vite+vue.md +69 -59
- package/ko/packages/nuxt-intlayer/index.md +31 -0
- package/ko/roadmap.md +11 -11
- package/package.json +5 -5
- package/pt/autoFill.md +1 -2
- package/pt/how_works_intlayer.md +1 -1
- package/pt/intlayer_with_create_react_app.md +1 -14
- package/pt/intlayer_with_nextjs_14.md +1 -14
- package/pt/intlayer_with_nextjs_15.md +1 -14
- package/pt/intlayer_with_nextjs_page_router.md +1 -13
- package/pt/intlayer_with_nuxt.md +792 -0
- package/pt/intlayer_with_react_native+expo.md +6 -3
- package/pt/intlayer_with_vite+preact.md +7 -18
- package/pt/intlayer_with_vite+react.md +7 -17
- package/pt/intlayer_with_vite+vue.md +23 -19
- package/pt/packages/nuxt-intlayer/index.md +29 -0
- package/pt/roadmap.md +11 -11
- package/ru/autoFill.md +1 -2
- package/ru/how_works_intlayer.md +1 -1
- package/ru/intlayer_with_create_react_app.md +1 -14
- package/ru/intlayer_with_nextjs_14.md +1 -14
- package/ru/intlayer_with_nextjs_15.md +1 -14
- package/ru/intlayer_with_nextjs_page_router.md +1 -13
- package/ru/intlayer_with_nuxt.md +792 -0
- package/ru/intlayer_with_react_native+expo.md +6 -3
- package/ru/intlayer_with_vite+preact.md +7 -18
- package/ru/intlayer_with_vite+react.md +7 -17
- package/ru/intlayer_with_vite+vue.md +25 -17
- package/ru/packages/nuxt-intlayer/index.md +31 -0
- package/ru/roadmap.md +11 -11
- package/zh/autoFill.md +1 -2
- package/zh/intlayer_with_create_react_app.md +1 -14
- package/zh/intlayer_with_nextjs_14.md +1 -14
- package/zh/intlayer_with_nextjs_15.md +1 -14
- package/zh/intlayer_with_nextjs_page_router.md +1 -13
- package/zh/intlayer_with_nuxt.md +784 -0
- package/zh/intlayer_with_react_native+expo.md +6 -3
- package/zh/intlayer_with_vite+preact.md +7 -18
- package/zh/intlayer_with_vite+react.md +7 -17
- package/zh/intlayer_with_vite+vue.md +68 -57
- package/zh/packages/nuxt-intlayer/index.md +31 -0
- package/zh/roadmap.md +11 -11
|
@@ -20,15 +20,18 @@ Mit Intlayer können Sie:
|
|
|
20
20
|
Installieren Sie die folgenden Pakete aus Ihrem React Native-Projekt:
|
|
21
21
|
|
|
22
22
|
```bash packageManager="npm"
|
|
23
|
-
npm install intlayer react-intlayer
|
|
23
|
+
npm install intlayer react-intlayer
|
|
24
|
+
npm install --save-dev react-native-intlayer
|
|
24
25
|
```
|
|
25
26
|
|
|
26
27
|
```bash packageManager="pnpm"
|
|
27
|
-
pnpm add intlayer react-intlayer
|
|
28
|
+
pnpm add intlayer react-intlayer
|
|
29
|
+
pnpm add --save-dev react-native-intlayer
|
|
28
30
|
```
|
|
29
31
|
|
|
30
32
|
```bash packageManager="yarn"
|
|
31
|
-
yarn add intlayer react-intlayer
|
|
33
|
+
yarn add intlayer react-intlayer
|
|
34
|
+
yarn add --save-dev react-native-intlayer
|
|
32
35
|
```
|
|
33
36
|
|
|
34
37
|
### Pakete
|
|
@@ -24,15 +24,18 @@ Mit Intlayer können Sie:
|
|
|
24
24
|
Installieren Sie die erforderlichen Pakete mit npm:
|
|
25
25
|
|
|
26
26
|
```bash packageManager="npm"
|
|
27
|
-
npm install intlayer preact-intlayer
|
|
27
|
+
npm install intlayer preact-intlayer
|
|
28
|
+
npm install --save-dev vite-intlayer
|
|
28
29
|
```
|
|
29
30
|
|
|
30
31
|
```bash packageManager="pnpm"
|
|
31
|
-
pnpm add intlayer preact-intlayer
|
|
32
|
+
pnpm add intlayer preact-intlayer
|
|
33
|
+
pnpm add --save-dev vite-intlayer
|
|
32
34
|
```
|
|
33
35
|
|
|
34
36
|
```bash packageManager="yarn"
|
|
35
|
-
yarn add intlayer preact-intlayer
|
|
37
|
+
yarn add intlayer preact-intlayer
|
|
38
|
+
yarn add --save-dev vite-intlayer
|
|
36
39
|
```
|
|
37
40
|
|
|
38
41
|
- **intlayer**
|
|
@@ -531,13 +534,7 @@ module.exports = App;
|
|
|
531
534
|
> Wenn Sie Ihren Inhalt in einem `string`-Attribut wie `alt`, `title`, `href`, `aria-label` usw. verwenden möchten, müssen Sie den Wert der Funktion aufrufen, wie:
|
|
532
535
|
|
|
533
536
|
> ```jsx
|
|
534
|
-
>
|
|
535
|
-
> ```
|
|
536
|
-
|
|
537
537
|
> <img src={content.image.src.value} alt={content.image.value} />
|
|
538
|
-
|
|
539
|
-
> ```
|
|
540
|
-
>
|
|
541
538
|
> ```
|
|
542
539
|
|
|
543
540
|
> Hinweis: In Preact wird `className` typischerweise als `class` geschrieben.
|
|
@@ -1274,23 +1271,15 @@ module.exports = LocaleSwitcher;
|
|
|
1274
1271
|
```
|
|
1275
1272
|
|
|
1276
1273
|
> Dokumentationsreferenzen:
|
|
1277
|
-
|
|
1274
|
+
>
|
|
1278
1275
|
> - [`useLocale` Hook](https://github.com/aymericzip/intlayer/blob/main/docs/de/packages/react-intlayer/useLocale.md) (API ist ähnlich für `preact-intlayer`)
|
|
1279
|
-
|
|
1280
1276
|
> - [`getLocaleName` Hook](https://github.com/aymericzip/intlayer/blob/main/docs/de/packages/intlayer/getLocaleName.md)
|
|
1281
|
-
|
|
1282
1277
|
> - [`getLocalizedUrl` Hook](https://github.com/aymericzip/intlayer/blob/main/docs/de/packages/intlayer/getLocalizedUrl.md)
|
|
1283
|
-
|
|
1284
1278
|
> - [`getHTMLTextDir` Hook](https://github.com/aymericzip/intlayer/blob/main/docs/de/packages/intlayer/getHTMLTextDir.md)
|
|
1285
|
-
|
|
1286
1279
|
> - [`hreflang` Attribut](https://developers.google.com/search/docs/specialty/international/localized-versions?hl=fr)
|
|
1287
|
-
|
|
1288
1280
|
> - [`lang` Attribut](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/lang)
|
|
1289
|
-
|
|
1290
1281
|
> - [`dir` Attribut](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/dir)
|
|
1291
|
-
|
|
1292
1282
|
> - [`aria-current` Attribut](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-current)
|
|
1293
|
-
|
|
1294
1283
|
> - [Popover API](https://developer.mozilla.org/en-US/docs/Web/API/Popover_API)
|
|
1295
1284
|
|
|
1296
1285
|
Unten ist der aktualisierte **Schritt 9** mit zusätzlichen Erklärungen und verfeinerten Codebeispielen:
|
|
@@ -24,15 +24,18 @@ Mit Intlayer können Sie:
|
|
|
24
24
|
Installieren Sie die erforderlichen Pakete mit npm:
|
|
25
25
|
|
|
26
26
|
```bash packageManager="npm"
|
|
27
|
-
npm install intlayer react-intlayer
|
|
27
|
+
npm install intlayer react-intlayer
|
|
28
|
+
npm install --save-dev vite-intlayer
|
|
28
29
|
```
|
|
29
30
|
|
|
30
31
|
```bash packageManager="pnpm"
|
|
31
|
-
pnpm add intlayer react-intlayer
|
|
32
|
+
pnpm add intlayer react-intlayer
|
|
33
|
+
pnpm add --save-dev vite-intlayer
|
|
32
34
|
```
|
|
33
35
|
|
|
34
36
|
```bash packageManager="yarn"
|
|
35
|
-
yarn add intlayer react-intlayer
|
|
37
|
+
yarn add intlayer react-intlayer
|
|
38
|
+
yarn add --save-dev vite-intlayer
|
|
36
39
|
```
|
|
37
40
|
|
|
38
41
|
- **intlayer**
|
|
@@ -529,13 +532,7 @@ module.exports = App;
|
|
|
529
532
|
> Wenn Sie Ihren Inhalt in einem `string`-Attribut wie `alt`, `title`, `href`, `aria-label` usw. verwenden möchten, müssen Sie den Wert der Funktion aufrufen, wie:
|
|
530
533
|
|
|
531
534
|
> ```jsx
|
|
532
|
-
>
|
|
533
|
-
> ```
|
|
534
|
-
|
|
535
535
|
> <img src={content.image.src.value} alt={content.image.value} />
|
|
536
|
-
|
|
537
|
-
> ```
|
|
538
|
-
>
|
|
539
536
|
> ```
|
|
540
537
|
|
|
541
538
|
> Um mehr über den `useIntlayer`-Hook zu erfahren, lesen Sie die [Dokumentation](https://github.com/aymericzip/intlayer/blob/main/docs/de/packages/react-intlayer/useIntlayer.md).
|
|
@@ -1214,21 +1211,14 @@ const LocaleSwitcher = () => {
|
|
|
1214
1211
|
```
|
|
1215
1212
|
|
|
1216
1213
|
> Dokumentationsreferenzen:
|
|
1217
|
-
|
|
1214
|
+
>
|
|
1218
1215
|
> - [`useLocale` Hook](https://github.com/aymericzip/intlayer/blob/main/docs/de/packages/react-intlayer/useLocale.md)
|
|
1219
|
-
|
|
1220
1216
|
> - [`getLocaleName` Hook](https://github.com/aymericzip/intlayer/blob/main/docs/de/packages/intlayer/getLocaleName.md)
|
|
1221
|
-
|
|
1222
1217
|
> - [`getLocalizedUrl` Hook](https://github.com/aymericzip/intlayer/blob/main/docs/de/packages/intlayer/getLocalizedUrl.md)
|
|
1223
|
-
|
|
1224
1218
|
> - [`getHTMLTextDir` Hook](https://github.com/aymericzip/intlayer/blob/main/docs/de/packages/intlayer/getHTMLTextDir.md)
|
|
1225
|
-
|
|
1226
1219
|
> - [`hrefLang` Attribut](https://developers.google.com/search/docs/specialty/international/localized-versions?hl=fr)
|
|
1227
|
-
|
|
1228
1220
|
> - [`lang` Attribut](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/lang)
|
|
1229
|
-
|
|
1230
1221
|
> - [`dir` Attribut](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/dir)
|
|
1231
|
-
|
|
1232
1222
|
> - [`aria-current` Attribut](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-current)
|
|
1233
1223
|
|
|
1234
1224
|
---
|
|
@@ -24,15 +24,18 @@ Mit Intlayer können Sie:
|
|
|
24
24
|
Installieren Sie die notwendigen Pakete mit npm:
|
|
25
25
|
|
|
26
26
|
```bash packageManager="npm"
|
|
27
|
-
npm install intlayer vue-intlayer
|
|
27
|
+
npm install intlayer vue-intlayer
|
|
28
|
+
npm install --save-dev vite-intlayer
|
|
28
29
|
```
|
|
29
30
|
|
|
30
31
|
```bash packageManager="pnpm"
|
|
31
|
-
pnpm add intlayer vue-intlayer
|
|
32
|
+
pnpm add intlayer vue-intlayer
|
|
33
|
+
pnpm add --save-dev vite-intlayer
|
|
32
34
|
```
|
|
33
35
|
|
|
34
36
|
```bash packageManager="yarn"
|
|
35
|
-
yarn add intlayer vue-intlayer
|
|
37
|
+
yarn add intlayer vue-intlayer
|
|
38
|
+
yarn add --save-dev vite-intlayer
|
|
36
39
|
```
|
|
37
40
|
|
|
38
41
|
- **intlayer**
|
|
@@ -259,52 +262,60 @@ const helloWorldContent = {
|
|
|
259
262
|
export default helloWorldContent;
|
|
260
263
|
```
|
|
261
264
|
|
|
262
|
-
|
|
263
|
-
|
|
265
|
+
```javascript fileName="src/helloWorld.content.cjs" contentDeclarationFormat="commonjs"
|
|
264
266
|
const { t } = require("intlayer");
|
|
265
267
|
|
|
266
|
-
|
|
268
|
+
/** @type {import('intlayer').Dictionary} */
|
|
267
269
|
const appContent = {
|
|
268
|
-
key: "helloworld",
|
|
269
|
-
content: {
|
|
270
|
-
count: t({
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
270
|
+
key: "helloworld",
|
|
271
|
+
content: {
|
|
272
|
+
count: t({
|
|
273
|
+
de: "Anzahl ist ",
|
|
274
|
+
en: "count is ",
|
|
275
|
+
fr: "le compte est ",
|
|
276
|
+
es: "el recuento es ",
|
|
277
|
+
}),
|
|
278
|
+
edit: t({
|
|
279
|
+
de: "Bearbeiten Sie <code>components/HelloWorld.vue</code> und speichern Sie, um HMR zu testen",
|
|
280
|
+
en: "Edit <code>components/HelloWorld.vue</code> and save to test HMR",
|
|
281
|
+
fr: "Éditez <code>components/HelloWorld.vue</code> et enregistrez pour tester HMR",
|
|
282
|
+
es: "Edita <code>components/HelloWorld.vue</code> y guarda para probar HMR",
|
|
283
|
+
}),
|
|
284
|
+
checkOut: t({
|
|
285
|
+
de: "Schauen Sie sich ",
|
|
286
|
+
en: "Check out ",
|
|
287
|
+
fr: "Vérifiez ",
|
|
288
|
+
es: "Compruebe ",
|
|
289
|
+
}),
|
|
290
|
+
officialStarter: t({
|
|
291
|
+
de: "den offiziellen Vue + Vite Starter",
|
|
292
|
+
en: "the official Vue + Vite starter",
|
|
293
|
+
fr: "le starter officiel Vue + Vite",
|
|
294
|
+
es: "el starter oficial Vue + Vite",
|
|
295
|
+
}),
|
|
296
|
+
learnMore: t({
|
|
297
|
+
de: "Erfahren Sie mehr über die IDE-Unterstützung für Vue im ",
|
|
298
|
+
en: "Learn more about IDE Support for Vue in the ",
|
|
299
|
+
fr: "En savoir plus sur le support IDE pour Vue dans le ",
|
|
300
|
+
es: "Aprenda más sobre el soporte IDE para Vue en el ",
|
|
301
|
+
}),
|
|
302
|
+
vueDocs: t({
|
|
303
|
+
de: "Vue-Dokumentation Skalierungsleitfaden",
|
|
304
|
+
en: "Vue Docs Scaling up Guide",
|
|
305
|
+
fr: "Vue Docs Scaling up Guide",
|
|
306
|
+
es: "Vue Docs Scaling up Guide",
|
|
307
|
+
}),
|
|
308
|
+
readTheDocs: t({
|
|
309
|
+
de: "Klicken Sie auf die Vite- und Vue-Logos, um mehr zu erfahren",
|
|
310
|
+
en: "Click on the Vite and Vue logos to learn more",
|
|
311
|
+
fr: "Cliquez sur les logos Vite et Vue pour en savoir plus",
|
|
312
|
+
es: "Haga clic en los logotipos de Vite y Vue para obtener más información",
|
|
313
|
+
}),
|
|
314
|
+
},
|
|
303
315
|
};
|
|
304
316
|
|
|
305
317
|
module.exports = appContent;
|
|
306
|
-
|
|
307
|
-
````
|
|
318
|
+
```
|
|
308
319
|
|
|
309
320
|
```json fileName="src/helloWorld.content.json" contentDeclarationFormat="json"
|
|
310
321
|
{
|
|
@@ -376,7 +387,7 @@ module.exports = appContent;
|
|
|
376
387
|
}
|
|
377
388
|
}
|
|
378
389
|
}
|
|
379
|
-
|
|
390
|
+
```
|
|
380
391
|
|
|
381
392
|
> Ihre Inhaltsdeklarationen können überall in Ihrer Anwendung definiert werden, solange sie im Verzeichnis `contentDir` enthalten sind (standardmäßig `./src`). Und sie müssen mit der Dateierweiterung der Inhaltsdeklaration übereinstimmen (standardmäßig `.content.{json,ts,tsx,js,jsx,mjs,mjx,cjs,cjx}`).
|
|
382
393
|
|
|
@@ -444,23 +455,35 @@ const count = ref(0);
|
|
|
444
455
|
</template>
|
|
445
456
|
```
|
|
446
457
|
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
458
|
+
#### Zugriff auf Inhalte in Intlayer Intlayer bietet verschiedene APIs für
|
|
459
|
+
|
|
460
|
+
den Zugriff auf Ihre Inhalte: - **Komponentenbasierte Syntax** (empfohlen):
|
|
461
|
+
Verwenden Sie die Syntax `<meinInhalt />` oder `<Component :is="meinInhalt" />`, um Inhalte als Intlayer-Knoten zu rendern. Dies lässt sich nahtlos in den
|
|
462
|
+
[Visuellen
|
|
463
|
+
Editor](https://github.com/aymericzip/intlayer/blob/main/docs/de/intlayer_visual_editor.md)
|
|
464
|
+
und das
|
|
465
|
+
[CMS](https://github.com/aymericzip/intlayer/blob/main/docs/de/intlayer_CMS.md)
|
|
466
|
+
integrieren. - **Zeichenkettenbasierte Syntax**: Verwenden Sie `{{
|
|
467
|
+
meinInhalt
|
|
468
|
+
}}`, um den Inhalt als reinen Text ohne Unterstützung des Visuellen Editors zu
|
|
469
|
+
rendern. - **Rohe HTML-Syntax**: Verwenden Sie `
|
|
470
|
+
|
|
471
|
+
<div v-html="meinInhalt" />
|
|
472
|
+
`, um den Inhalt als rohes HTML ohne Unterstützung des Visuellen Editors zu
|
|
473
|
+
rendern. - **Destrukturierungssyntax**: Das `useIntlayer`-Composable gibt einen
|
|
474
|
+
Proxy mit dem Inhalt zurück. Dieser Proxy kann destrukturiert werden, um auf den
|
|
475
|
+
Inhalt zuzugreifen und dabei die Reaktivität beizubehalten. - Verwenden Sie
|
|
476
|
+
`const content = useIntlayer("meinInhalt");` und `{{ content.meinInhalt }}` / `
|
|
477
|
+
<content.meinInhalt />
|
|
478
|
+
`. - Oder verwenden Sie `const { meinInhalt } = useIntlayer("meinInhalt");` und
|
|
479
|
+
`{{ meinInhalt }}` / `
|
|
480
|
+
<meinInhalt />
|
|
481
|
+
`, um den Inhalt zu destrukturieren. ### (Optional) Schritt 6: Ändern Sie die
|
|
482
|
+
Sprache Ihres Inhalts Um die Sprache Ihres Inhalts zu ändern, können Sie die
|
|
483
|
+
`setLocale`-Funktion verwenden, die vom `useLocale`-Composable bereitgestellt
|
|
484
|
+
wird. Mit dieser Funktion können Sie die Locale der Anwendung festlegen und den
|
|
485
|
+
Inhalt entsprechend aktualisieren. Erstellen Sie eine Komponente, um zwischen
|
|
486
|
+
Sprachen zu wechseln:
|
|
464
487
|
|
|
465
488
|
```vue fileName="src/components/LocaleSwitcher.vue"
|
|
466
489
|
<template>
|
|
@@ -531,7 +554,6 @@ Beispiel:
|
|
|
531
554
|
|
|
532
555
|
```plaintext
|
|
533
556
|
- https://example.com/about
|
|
534
|
-
|
|
535
557
|
- https://example.com/de/about
|
|
536
558
|
- https://example.com/fr/about
|
|
537
559
|
```
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
**Intlayer** ist eine Suite von Paketen, die speziell für JavaScript-Entwickler entwickelt wurde. Es ist kompatibel mit Frameworks wie Vue, Vue und Express.js.
|
|
2
|
+
|
|
3
|
+
**Das `nuxt-intlayer`-Paket** ermöglicht es Ihnen, Ihre Vue-Anwendung zu internationalisieren. Es bietet Kontextanbieter und Hooks für die Internationalisierung in Vue.
|
|
4
|
+
|
|
5
|
+
## Warum Ihre Vue-Anwendung internationalisieren?
|
|
6
|
+
|
|
7
|
+
Die Internationalisierung Ihrer Vue-Anwendung ist entscheidend, um ein globales Publikum effektiv zu bedienen. Sie ermöglicht es Ihrer Anwendung, Inhalte und Nachrichten in der bevorzugten Sprache jedes Benutzers bereitzustellen. Diese Fähigkeit verbessert die Benutzererfahrung und erweitert die Reichweite Ihrer Anwendung, indem sie für Menschen aus verschiedenen sprachlichen Hintergründen zugänglicher und relevanter wird.
|
|
8
|
+
|
|
9
|
+
## Warum Intlayer integrieren?
|
|
10
|
+
|
|
11
|
+
- **JavaScript-gesteuertes Content-Management**: Nutzen Sie die Flexibilität von JavaScript, um Ihre Inhalte effizient zu definieren und zu verwalten.
|
|
12
|
+
- **Typensicheres Umfeld**: Verwenden Sie TypeScript, um sicherzustellen, dass alle Ihre Inhaltsdefinitionen präzise und fehlerfrei sind.
|
|
13
|
+
- **Integrierte Inhaltsdateien**: Halten Sie Ihre Übersetzungen nah an ihren jeweiligen Komponenten, um die Wartbarkeit und Klarheit zu verbessern.
|
|
14
|
+
|
|
15
|
+
## Installation
|
|
16
|
+
|
|
17
|
+
Installieren Sie das erforderliche Paket mit Ihrem bevorzugten Paketmanager:
|
|
18
|
+
|
|
19
|
+
```bash packageManager="npm"
|
|
20
|
+
npm install nuxt-intlayer
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
```bash packageManager="yarn"
|
|
24
|
+
yarn add nuxt-intlayer
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
```bash packageManager="pnpm"
|
|
28
|
+
pnpm add nuxt-intlayer
|
|
29
|
+
```
|
package/de/roadmap.md
CHANGED
|
@@ -14,7 +14,7 @@ Intlayer ist eine Lösung für Content-Management und Internationalisierung, die
|
|
|
14
14
|
- **Verteilt**: Alternativ können Sie Ihre Inhalte in separate Dateien auf Komponenten- oder Funktionsebene aufteilen, um die Wartbarkeit zu verbessern. Dadurch bleiben Ihre Inhalte in der Nähe des relevanten Codes (Komponenten, Tests, Storybook usw.). Das Entfernen einer Komponente stellt sicher, dass alle zugehörigen Inhalte ebenfalls entfernt werden, wodurch verhindert wird, dass verbleibende Daten Ihren Code verunreinigen.
|
|
15
15
|
|
|
16
16
|
> Ressourcen:
|
|
17
|
-
|
|
17
|
+
>
|
|
18
18
|
> - [Inhaltsdeklaration](https://github.com/aymericzip/intlayer/blob/main/docs/de/dictionary/get_started.md)
|
|
19
19
|
|
|
20
20
|
### 2. Internationalisierung
|
|
@@ -23,7 +23,7 @@ Intlayer ist eine Lösung für Content-Management und Internationalisierung, die
|
|
|
23
23
|
- Verwalten Sie Übersetzungen für all diese Regionen einfach an einem Ort.
|
|
24
24
|
|
|
25
25
|
> Ressourcen:
|
|
26
|
-
|
|
26
|
+
>
|
|
27
27
|
> - [Internationalisierung](https://github.com/aymericzip/intlayer/blob/main/docs/de/dictionary/translation.md)
|
|
28
28
|
|
|
29
29
|
### 3. Markdown-Unterstützung
|
|
@@ -32,7 +32,7 @@ Intlayer ist eine Lösung für Content-Management und Internationalisierung, die
|
|
|
32
32
|
- Ideal für Blogbeiträge, Artikel, Dokumentationsseiten oder jede Situation, in der eine reichhaltige Textformatierung erforderlich ist.
|
|
33
33
|
|
|
34
34
|
> Ressourcen:
|
|
35
|
-
|
|
35
|
+
>
|
|
36
36
|
> - [Markdown](https://github.com/aymericzip/intlayer/blob/main/docs/de/dictionary/markdown.md)
|
|
37
37
|
|
|
38
38
|
### 4. Bedingte Darstellung
|
|
@@ -41,7 +41,7 @@ Intlayer ist eine Lösung für Content-Management und Internationalisierung, die
|
|
|
41
41
|
- Hilft, personalisierte Erlebnisse zu schaffen, ohne Inhalte über mehrere Dateien zu duplizieren.
|
|
42
42
|
|
|
43
43
|
> Ressourcen:
|
|
44
|
-
|
|
44
|
+
>
|
|
45
45
|
> - [Bedingte Darstellung](https://github.com/aymericzip/intlayer/blob/main/docs/de/dictionary/condition.md)
|
|
46
46
|
|
|
47
47
|
### 5. Formate für Inhaltsdeklaration
|
|
@@ -86,7 +86,7 @@ Intlayer unterstützt **TypeScript** (auch JavaScript) und **JSON** für die Dek
|
|
|
86
86
|
- Vollständig kompatibel mit dem neuen Next.js Turbopack sowie dem traditionellen Webpack.
|
|
87
87
|
|
|
88
88
|
> Ressourcen:
|
|
89
|
-
|
|
89
|
+
>
|
|
90
90
|
> - [Next.js](https://github.com/aymericzip/intlayer/blob/main/docs/de/intlayer_with_nextjs_15.md)
|
|
91
91
|
|
|
92
92
|
### 2. Vite
|
|
@@ -94,7 +94,7 @@ Intlayer unterstützt **TypeScript** (auch JavaScript) und **JSON** für die Dek
|
|
|
94
94
|
- Ähnlich wie bei Next.js können Sie Intlayer mit Vite integrieren und eine **Middleware** verwenden, um Benutzer basierend auf ihrer bevorzugten Sprache weiterzuleiten.
|
|
95
95
|
|
|
96
96
|
> Ressourcen:
|
|
97
|
-
|
|
97
|
+
>
|
|
98
98
|
> - [Vite](https://github.com/aymericzip/intlayer/blob/main/docs/de/intlayer_with_vite+react.md)
|
|
99
99
|
|
|
100
100
|
### 3. Express
|
|
@@ -103,7 +103,7 @@ Intlayer unterstützt **TypeScript** (auch JavaScript) und **JSON** für die Dek
|
|
|
103
103
|
- Personalisieren Sie E-Mails, Fehlermeldungen, Push-Benachrichtigungen und mehr mit lokalisierten Texten.
|
|
104
104
|
|
|
105
105
|
> Ressourcen:
|
|
106
|
-
|
|
106
|
+
>
|
|
107
107
|
> - [Express](https://github.com/aymericzip/intlayer/blob/main/docs/de/intlayer_with_express.md)
|
|
108
108
|
|
|
109
109
|
---
|
|
@@ -120,7 +120,7 @@ Intlayer unterstützt **TypeScript** (auch JavaScript) und **JSON** für die Dek
|
|
|
120
120
|
- Kann lokal gehostet oder auf einem Remote-Server bereitgestellt werden.
|
|
121
121
|
|
|
122
122
|
> Ressourcen:
|
|
123
|
-
|
|
123
|
+
>
|
|
124
124
|
> - [Visueller Editor](https://github.com/aymericzip/intlayer/blob/main/docs/de/intlayer_visual_editor.md)
|
|
125
125
|
|
|
126
126
|
### 2. Intlayer CMS (Remote)
|
|
@@ -130,7 +130,7 @@ Intlayer unterstützt **TypeScript** (auch JavaScript) und **JSON** für die Dek
|
|
|
130
130
|
- Interagieren Sie mit Ihren Inhalten über Ihre Live-Anwendungsschnittstelle.
|
|
131
131
|
|
|
132
132
|
> Ressourcen:
|
|
133
|
-
|
|
133
|
+
>
|
|
134
134
|
> - [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/de/intlayer_CMS.md)
|
|
135
135
|
|
|
136
136
|
---
|
|
@@ -142,7 +142,7 @@ Intlayer unterstützt **TypeScript** (auch JavaScript) und **JSON** für die Dek
|
|
|
142
142
|
- Nützlich für **CI/CD-Pipelines**, um sicherzustellen, dass Ihre Inhalte immer mit Ihrem Code synchronisiert sind.
|
|
143
143
|
|
|
144
144
|
> Ressourcen:
|
|
145
|
-
|
|
145
|
+
>
|
|
146
146
|
> - [CLI](https://github.com/aymericzip/intlayer/blob/main/docs/de/intlayer_cli.md)
|
|
147
147
|
|
|
148
148
|
---
|
|
@@ -159,7 +159,7 @@ Intlayer unterstützt **TypeScript** (auch JavaScript) und **JSON** für die Dek
|
|
|
159
159
|
- Bei Verwendung von Remote-Wörterbüchern und dem Intlayer CMS können Sie die Inhalte Ihrer Anwendung **sofort aktualisieren**, ohne eine erneute Bereitstellung vornehmen zu müssen.
|
|
160
160
|
|
|
161
161
|
> Ressourcen:
|
|
162
|
-
|
|
162
|
+
>
|
|
163
163
|
> - [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/de/intlayer_CMS.md)
|
|
164
164
|
|
|
165
165
|
---
|
package/en/autoFill.md
CHANGED
|
@@ -67,9 +67,8 @@ src/components/example/example.filled.content.ts
|
|
|
67
67
|
```
|
|
68
68
|
|
|
69
69
|
> The generation of `.js`, `.ts`, and similar files works as follows:
|
|
70
|
-
|
|
70
|
+
>
|
|
71
71
|
> - If the file already exists, Intlayer will parse it using the AST (Abstract Syntax Tree) to locate each field and insert any missing translations.
|
|
72
|
-
|
|
73
72
|
> - If the file does not exist, Intlayer will generate it using the default content declaration file template.
|
|
74
73
|
|
|
75
74
|
## Absolute Paths
|
package/en/how_works_intlayer.md
CHANGED
|
@@ -67,7 +67,7 @@ Intlayer allows you to declare content locally, and then export them to the CMS
|
|
|
67
67
|
|
|
68
68
|
So you will be able to push and pull content from the CMS to your application, in a similar way to what you do with Git for your code.
|
|
69
69
|
|
|
70
|
-
If configured on your project, Intlayer will automatically manage
|
|
70
|
+
For externalized dictionaries using the CMS, Intlayer performs a basic fetch operation to retrieve distant dictionaries and merges them with your local ones. If configured on your project, Intlayer will automatically manage the fetching of the content from the CMS when the application starts (dev) / builds (prod).
|
|
71
71
|
|
|
72
72
|
## Visual editor
|
|
73
73
|
|
|
@@ -75,13 +75,19 @@ Intlayer also provides a visual editor to allow you to edit your content in a vi
|
|
|
75
75
|
|
|
76
76
|

|
|
77
77
|
|
|
78
|
+
- The server is a simple Express application that listens to requests from the client and retreives the content of your application, such as the `dictionaries` and the configuration to make it accessible on the client side.
|
|
79
|
+
- On the other hand, the client is a React application that is used to interact with your content using a visual interface.
|
|
80
|
+
|
|
81
|
+
When you call your content using `useIntlayer` and the editor is enabled, it automatically wraps your strings with an Proxy object named `IntlayerNode`. This node uses `window.sendMessage` to communicate with a wrapped iframe containing the visual editor interface.
|
|
82
|
+
On the editor side, the editor listens to these messages and simulates real interaction with your content, allowing you to edit text directly in your application's context.
|
|
83
|
+
|
|
78
84
|
## App build optimization
|
|
79
85
|
|
|
80
86
|
To optimize the bundle size of your application, Intlayer provides two plugins to optimize the build of your application: `@intlayer/babel` and `@intlayer/swc` plugins.
|
|
81
87
|
|
|
82
|
-
|
|
88
|
+
The Babel and SWC plugins work by analyzing your application's Abstract Syntax Tree (AST) to replace calls of Intlayer functions with optimized code. This process makes your final bundle lighter in production by ensuring that only the dictionaries that are actually used are imported, optimizing chunking and reducing bundle size.
|
|
83
89
|
|
|
84
|
-
|
|
90
|
+
In development mode, Intlayer uses a centralized static import for dictionaries to simplify the development experience.
|
|
85
91
|
|
|
86
92
|
By activating the option `activateDynamicImport` in the [configuration](https://github.com/aymericzip/intlayer/blob/main/docs/en/configuration.md), Intlayer will use the dynamic import to load the dictionaries. This option is disabled by default to avoid async processing when rendering the application.
|
|
87
93
|
|
|
@@ -113,6 +119,10 @@ The `next-intlayer` package is used as a layer on top of `react-intlayer` to mak
|
|
|
113
119
|
|
|
114
120
|
The `vue-intlayer` package is used to interpret Intlayer dictionaries and make them usable in Vue applications.
|
|
115
121
|
|
|
122
|
+
### nuxt-intlayer
|
|
123
|
+
|
|
124
|
+
The `nuxt-intlayer` package is as Nuxt module to make Intlayer dictionaries usable in Nuxt applications. It integrates essential features to make Intlayer work in a Nuxt environment, such as translation middleware, routing, or the `nuxt.config.js` file configuration.
|
|
125
|
+
|
|
116
126
|
### svelte-intlayer (WIP)
|
|
117
127
|
|
|
118
128
|
The `svelte-intlayer` package is used to interpret Intlayer dictionaries and make them usable in Svelte applications.
|
|
@@ -178,6 +188,10 @@ The `@intlayer/webpack` package is used to provide a Webpack configuration to ma
|
|
|
178
188
|
|
|
179
189
|
The `@intlayer/cli` package is an NPM package that is used to declare the scripts related to the Intlayer command line interfaces. It ensures the uniformity of all Intlayer CLI commands. This package is notably consumed by the [intlayer-cli](https://github.com/aymericzip/intlayer/tree/main/docs/en/packages/intlayer-cli/index.md), and the [intlayer](https://github.com/aymericzip/intlayer/tree/main/docs/en/packages/intlayer/index.md) packages.
|
|
180
190
|
|
|
191
|
+
### @intlayer/mcp
|
|
192
|
+
|
|
193
|
+
The `@intlayer/mcp` package provides an MCP (Model Context Protocol) server that delivers AI-powered IDE assistance tailored for the Intlayer ecosystem. It automatically loads documentation and integrates with the Intlayer CLI.
|
|
194
|
+
|
|
181
195
|
### @intlayer/dictionaries-entry & @intlayer/unmerged-dictionaries-entry & @intlayer/dynamic-dictionaries-entry
|
|
182
196
|
|
|
183
197
|
The `@intlayer/dictionaries-entry`, `@intlayer/unmerged-dictionaries-entry` and `@intlayer/dynamic-dictionaries-entry` packages return the entry path of the Intlayer dictionaries. Since searching the filesystem from the browser is impossible, using bundlers like Webpack or Rollup to retrieve the entry path of the dictionaries is not possible. These packages are designed to be aliased, allowing for bundling optimization across various bundlers such as Vite, Webpack, and Turbopack.
|