@intlayer/docs 5.5.8 → 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 +4 -4
- 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 @@ Con Intlayer, puedes:
|
|
|
20
20
|
Desde tu proyecto de React Native, instala los siguientes paquetes:
|
|
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
|
### Paquetes
|
|
@@ -22,15 +22,18 @@ Con Intlayer, puedes:
|
|
|
22
22
|
Instala los paquetes necesarios utilizando npm:
|
|
23
23
|
|
|
24
24
|
```bash packageManager="npm"
|
|
25
|
-
npm install intlayer preact-intlayer
|
|
25
|
+
npm install intlayer preact-intlayer
|
|
26
|
+
npm install --save-dev vite-intlayer
|
|
26
27
|
```
|
|
27
28
|
|
|
28
29
|
```bash packageManager="pnpm"
|
|
29
|
-
pnpm add intlayer preact-intlayer
|
|
30
|
+
pnpm add intlayer preact-intlayer
|
|
31
|
+
pnpm add --save-dev vite-intlayer
|
|
30
32
|
```
|
|
31
33
|
|
|
32
34
|
```bash packageManager="yarn"
|
|
33
|
-
yarn add intlayer preact-intlayer
|
|
35
|
+
yarn add intlayer preact-intlayer
|
|
36
|
+
yarn add --save-dev vite-intlayer
|
|
34
37
|
```
|
|
35
38
|
|
|
36
39
|
- **intlayer**
|
|
@@ -490,13 +493,7 @@ module.exports = App;
|
|
|
490
493
|
> Si deseas usar tu contenido en un atributo `string`, como `alt`, `title`, `href`, `aria-label`, etc., debes llamar al valor de la función, como:
|
|
491
494
|
|
|
492
495
|
> ```jsx
|
|
493
|
-
>
|
|
494
|
-
> ```
|
|
495
|
-
|
|
496
496
|
> <img src={content.image.src.value} alt={content.image.value} />
|
|
497
|
-
|
|
498
|
-
> ```
|
|
499
|
-
>
|
|
500
497
|
> ```
|
|
501
498
|
|
|
502
499
|
> Nota: En Preact, `className` se escribe típicamente como `class`.
|
|
@@ -1215,23 +1212,15 @@ module.exports = LocaleSwitcher;
|
|
|
1215
1212
|
```
|
|
1216
1213
|
|
|
1217
1214
|
> Referencias de documentación:
|
|
1218
|
-
|
|
1215
|
+
>
|
|
1219
1216
|
> - [`useLocale` hook](https://github.com/aymericzip/intlayer/blob/main/docs/es/packages/react-intlayer/useLocale.md) (La API es similar para `preact-intlayer`)
|
|
1220
|
-
|
|
1221
1217
|
> - [`getLocaleName` hook](https://github.com/aymericzip/intlayer/blob/main/docs/es/packages/intlayer/getLocaleName.md)
|
|
1222
|
-
|
|
1223
1218
|
> - [`getLocalizedUrl` hook](https://github.com/aymericzip/intlayer/blob/main/docs/es/packages/intlayer/getLocalizedUrl.md)
|
|
1224
|
-
|
|
1225
1219
|
> - [`getHTMLTextDir` hook](https://github.com/aymericzip/intlayer/blob/main/docs/es/packages/intlayer/getHTMLTextDir.md)
|
|
1226
|
-
|
|
1227
1220
|
> - [`hreflang` attribute](https://developers.google.com/search/docs/specialty/international/localized-versions?hl=es)
|
|
1228
|
-
|
|
1229
1221
|
> - [`lang` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/lang)
|
|
1230
|
-
|
|
1231
1222
|
> - [`dir` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/dir)
|
|
1232
|
-
|
|
1233
1223
|
> - [`aria-current` attribute](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-current)
|
|
1234
|
-
|
|
1235
1224
|
> - [Popover API](https://developer.mozilla.org/en-US/docs/Web/API/Popover_API)
|
|
1236
1225
|
|
|
1237
1226
|
---
|
|
@@ -22,15 +22,18 @@ Con Intlayer, puedes:
|
|
|
22
22
|
Instala los paquetes necesarios utilizando npm:
|
|
23
23
|
|
|
24
24
|
```bash packageManager="npm"
|
|
25
|
-
npm install intlayer react-intlayer
|
|
25
|
+
npm install intlayer react-intlayer
|
|
26
|
+
npm install --save-dev vite-intlayer
|
|
26
27
|
```
|
|
27
28
|
|
|
28
29
|
```bash packageManager="pnpm"
|
|
29
|
-
pnpm add intlayer react-intlayer
|
|
30
|
+
pnpm add intlayer react-intlayer
|
|
31
|
+
pnpm add --save-dev vite-intlayer
|
|
30
32
|
```
|
|
31
33
|
|
|
32
34
|
```bash packageManager="yarn"
|
|
33
|
-
yarn add intlayer react-intlayer
|
|
35
|
+
yarn add intlayer react-intlayer
|
|
36
|
+
yarn add --save-dev vite-intlayer
|
|
34
37
|
```
|
|
35
38
|
|
|
36
39
|
- **intlayer**
|
|
@@ -533,13 +536,7 @@ module.exports = App;
|
|
|
533
536
|
> Si deseas usar tu contenido en un atributo `string`, como `alt`, `title`, `href`, `aria-label`, etc., debes llamar al valor de la función, como:
|
|
534
537
|
|
|
535
538
|
> ```jsx
|
|
536
|
-
>
|
|
537
|
-
> ```
|
|
538
|
-
|
|
539
539
|
> <img src={content.image.src.value} alt={content.image.value} />
|
|
540
|
-
|
|
541
|
-
> ```
|
|
542
|
-
>
|
|
543
540
|
> ```
|
|
544
541
|
|
|
545
542
|
> Para aprender más sobre el hook `useIntlayer`, consulta la [documentación](https://github.com/aymericzip/intlayer/blob/main/docs/es/packages/react-intlayer/useIntlayer.md).
|
|
@@ -1218,21 +1215,14 @@ const LocaleSwitcher = () => {
|
|
|
1218
1215
|
```
|
|
1219
1216
|
|
|
1220
1217
|
> Referencias de documentación:
|
|
1221
|
-
|
|
1218
|
+
>
|
|
1222
1219
|
> - [`useLocale` hook](https://github.com/aymericzip/intlayer/blob/main/docs/es/packages/react-intlayer/useLocale.md)
|
|
1223
|
-
|
|
1224
1220
|
> - [`getLocaleName` hook](https://github.com/aymericzip/intlayer/blob/main/docs/es/packages/intlayer/getLocaleName.md)
|
|
1225
|
-
|
|
1226
1221
|
> - [`getLocalizedUrl` hook](https://github.com/aymericzip/intlayer/blob/main/docs/es/packages/intlayer/getLocalizedUrl.md)
|
|
1227
|
-
|
|
1228
1222
|
> - [`getHTMLTextDir` hook](https://github.com/aymericzip/intlayer/blob/main/docs/es/packages/intlayer/getHTMLTextDir.md)
|
|
1229
|
-
|
|
1230
1223
|
> - [`hrefLang` attribute](https://developers.google.com/search/docs/specialty/international/localized-versions?hl=fr)
|
|
1231
|
-
|
|
1232
1224
|
> - [`lang` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/lang)
|
|
1233
|
-
|
|
1234
1225
|
> - [`dir` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/dir)
|
|
1235
|
-
|
|
1236
1226
|
> - [`aria-current` attribute](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-current)
|
|
1237
1227
|
|
|
1238
1228
|
A continuación, el **Paso 9** actualizado con explicaciones añadidas y ejemplos de código refinados:
|
|
@@ -24,15 +24,18 @@ Con Intlayer, puedes:
|
|
|
24
24
|
Instala los paquetes necesarios usando 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**
|
|
@@ -229,47 +232,45 @@ const helloWorldContent = {
|
|
|
229
232
|
export default helloWorldContent;
|
|
230
233
|
```
|
|
231
234
|
|
|
232
|
-
|
|
233
|
-
|
|
235
|
+
```javascript fileName="src/helloWorld.content.cjs" contentDeclarationFormat="commonjs"
|
|
234
236
|
const { t } = require("intlayer");
|
|
235
237
|
|
|
236
|
-
|
|
238
|
+
/** @type {import('intlayer').Dictionary} */
|
|
237
239
|
const appContent = {
|
|
238
|
-
key: "helloworld",
|
|
239
|
-
content: {
|
|
240
|
-
count: t({ es: "el recuento es ", en: "count is ", fr: "le compte est " }),
|
|
241
|
-
edit: t({
|
|
242
|
-
es: "Edita <code>components/HelloWorld.vue</code> y guarda para probar HMR",
|
|
243
|
-
en: "Edit <code>components/HelloWorld.vue</code> and save to test HMR",
|
|
244
|
-
fr: "Éditez <code>components/HelloWorld.vue</code> et enregistrez pour tester HMR",
|
|
245
|
-
}),
|
|
246
|
-
checkOut: t({ es: "Compruebe ", en: "Check out ", fr: "Vérifiez " }),
|
|
247
|
-
officialStarter: t({
|
|
248
|
-
es: "el starter oficial Vue + Vite",
|
|
249
|
-
en: "the official Vue + Vite starter",
|
|
250
|
-
fr: "le starter officiel Vue + Vite",
|
|
251
|
-
}),
|
|
252
|
-
learnMore: t({
|
|
253
|
-
es: "Aprenda más sobre el soporte IDE para Vue en el ",
|
|
254
|
-
en: "Learn more about IDE Support for Vue in the ",
|
|
255
|
-
fr: "En savoir plus sur le support IDE pour Vue dans le ",
|
|
256
|
-
}),
|
|
257
|
-
vueDocs: t({
|
|
258
|
-
es: "Vue Docs Scaling up Guide",
|
|
259
|
-
en: "Vue Docs Scaling up Guide",
|
|
260
|
-
fr: "Vue Docs Scaling up Guide",
|
|
261
|
-
}),
|
|
262
|
-
readTheDocs: t({
|
|
263
|
-
es: "Haga clic en los logotipos de Vite y Vue para obtener más información",
|
|
264
|
-
en: "Click on the Vite and Vue logos to learn more",
|
|
265
|
-
fr: "Cliquez sur les logos Vite et Vue pour en savoir plus",
|
|
266
|
-
}),
|
|
267
|
-
},
|
|
240
|
+
key: "helloworld",
|
|
241
|
+
content: {
|
|
242
|
+
count: t({ es: "el recuento es ", en: "count is ", fr: "le compte est " }),
|
|
243
|
+
edit: t({
|
|
244
|
+
es: "Edita <code>components/HelloWorld.vue</code> y guarda para probar HMR",
|
|
245
|
+
en: "Edit <code>components/HelloWorld.vue</code> and save to test HMR",
|
|
246
|
+
fr: "Éditez <code>components/HelloWorld.vue</code> et enregistrez pour tester HMR",
|
|
247
|
+
}),
|
|
248
|
+
checkOut: t({ es: "Compruebe ", en: "Check out ", fr: "Vérifiez " }),
|
|
249
|
+
officialStarter: t({
|
|
250
|
+
es: "el starter oficial Vue + Vite",
|
|
251
|
+
en: "the official Vue + Vite starter",
|
|
252
|
+
fr: "le starter officiel Vue + Vite",
|
|
253
|
+
}),
|
|
254
|
+
learnMore: t({
|
|
255
|
+
es: "Aprenda más sobre el soporte IDE para Vue en el ",
|
|
256
|
+
en: "Learn more about IDE Support for Vue in the ",
|
|
257
|
+
fr: "En savoir plus sur le support IDE pour Vue dans le ",
|
|
258
|
+
}),
|
|
259
|
+
vueDocs: t({
|
|
260
|
+
es: "Vue Docs Scaling up Guide",
|
|
261
|
+
en: "Vue Docs Scaling up Guide",
|
|
262
|
+
fr: "Vue Docs Scaling up Guide",
|
|
263
|
+
}),
|
|
264
|
+
readTheDocs: t({
|
|
265
|
+
es: "Haga clic en los logotipos de Vite y Vue para obtener más información",
|
|
266
|
+
en: "Click on the Vite and Vue logos to learn more",
|
|
267
|
+
fr: "Cliquez sur les logos Vite et Vue pour en savoir plus",
|
|
268
|
+
}),
|
|
269
|
+
},
|
|
268
270
|
};
|
|
269
271
|
|
|
270
272
|
module.exports = appContent;
|
|
271
|
-
|
|
272
|
-
````
|
|
273
|
+
```
|
|
273
274
|
|
|
274
275
|
```json fileName="src/helloWorld.content.json" contentDeclarationFormat="json"
|
|
275
276
|
{
|
|
@@ -334,7 +335,7 @@ module.exports = appContent;
|
|
|
334
335
|
}
|
|
335
336
|
}
|
|
336
337
|
}
|
|
337
|
-
|
|
338
|
+
```
|
|
338
339
|
|
|
339
340
|
> Sus declaraciones de contenido pueden definirse en cualquier lugar de su aplicación siempre que estén incluidas en el directorio `contentDir` (por defecto, `./src`). Y coincidan con la extensión del archivo de declaración de contenido (por defecto, `.content.{json,ts,tsx,js,jsx,mjs,mjx,cjs,cjx}`).
|
|
340
341
|
|
|
@@ -402,22 +403,35 @@ const count = ref(0);
|
|
|
402
403
|
</template>
|
|
403
404
|
```
|
|
404
405
|
|
|
405
|
-
|
|
406
|
+
#### Accediendo al Contenido en Intlayer Intlayer ofrece diferentes API para
|
|
406
407
|
|
|
407
|
-
|
|
408
|
-
>
|
|
409
|
-
> ```
|
|
408
|
+
acceder a tu contenido:
|
|
410
409
|
|
|
411
|
-
|
|
410
|
+
- **Sintaxis basada en componentes** (recomendado): Usa
|
|
411
|
+
la sintaxis `<miContenido />`, o `<Component :is="miContenido" />` para renderizar contenido como un Nodo de Intlayer. Esto se integra
|
|
412
|
+
perfectamente con el [Editor
|
|
413
|
+
Visual](https://github.com/aymericzip/intlayer/blob/main/docs/es/intlayer_visual_editor.md)
|
|
414
|
+
y el
|
|
415
|
+
[CMS](https://github.com/aymericzip/intlayer/blob/main/docs/es/intlayer_CMS.md).
|
|
412
416
|
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
> ```
|
|
417
|
+
- **Sintaxis basada en cadenas de texto**: Usa `{{ miContenido }}` para
|
|
418
|
+
renderizar el contenido como texto plano, sin soporte para el Editor Visual.
|
|
416
419
|
|
|
417
|
-
|
|
420
|
+
- **Sintaxis de HTML crudo**: Usa `
|
|
421
|
+
<div v-html="miContenido" />
|
|
422
|
+
` para renderizar el contenido como HTML crudo, sin soporte para el Editor
|
|
423
|
+
Visual.
|
|
418
424
|
|
|
419
|
-
|
|
425
|
+
- **Sintaxis de desestructuración**: El composable `useIntlayer`
|
|
426
|
+
devuelve un Proxy con el contenido. Este proxy se puede desestructurar para
|
|
427
|
+
acceder al contenido manteniendo la reactividad.
|
|
428
|
+
- Usa `const content = useIntlayer("miContenido");` y `{{ content.miContenido }}` / `<content.miContenido />`. - O usa `const { miContenido } = useIntlayer("miContenido");` y `{{ miContenido }}` / `<miContenido />` para desestructurar el contenido.
|
|
420
429
|
|
|
430
|
+
### (Opcional) Paso 6: Cambiar el idioma de su contenido
|
|
431
|
+
|
|
432
|
+
Para cambiar el idioma de su contenido, puede usar la función
|
|
433
|
+
`setLocale` proporcionada por el composable `useLocale`. Esta función le permite
|
|
434
|
+
establecer el idioma de la aplicación y actualizar el contenido en consecuencia.
|
|
421
435
|
Cree un componente para cambiar entre idiomas:
|
|
422
436
|
|
|
423
437
|
```vue fileName="src/components/LocaleSwitcher.vue"
|
|
@@ -489,7 +503,6 @@ Ejemplo:
|
|
|
489
503
|
|
|
490
504
|
```plaintext
|
|
491
505
|
- https://example.com/about
|
|
492
|
-
|
|
493
506
|
- https://example.com/es/about
|
|
494
507
|
- https://example.com/fr/about
|
|
495
508
|
```
|
|
@@ -740,7 +753,7 @@ Consejo: Para un mejor SEO y accesibilidad, usa etiquetas como `<a href="/fr/hom
|
|
|
740
753
|
Cuando tu aplicación soporta múltiples idiomas, es crucial actualizar los atributos `lang` y `dir` de la etiqueta `<html>` para que coincidan con el idioma actual. Hacer esto asegura:
|
|
741
754
|
|
|
742
755
|
- **Accesibilidad**: Los lectores de pantalla y tecnologías de asistencia dependen del atributo `lang` correcto para pronunciar e interpretar el contenido con precisión.
|
|
743
|
-
- **Renderizado de Texto**: El atributo `dir` (dirección) asegura que el texto se renderice en el orden correcto (por ejemplo, de izquierda a derecha para inglés, de derecha a izquierda para árabe
|
|
756
|
+
- **Renderizado de Texto**: El atributo `dir` (dirección) asegura que el texto se renderice en el orden correcto (por ejemplo, de izquierda a derecha para inglés, de derecha a izquierda para árabe, hebreo), lo cual es esencial para la legibilidad.
|
|
744
757
|
- **SEO**: Los motores de búsqueda usan el atributo `lang` para determinar el idioma de tu página, ayudando a servir el contenido localizado correcto en los resultados de búsqueda.
|
|
745
758
|
|
|
746
759
|
Al actualizar estos atributos dinámicamente cuando cambia el idioma, garantizas una experiencia consistente y accesible para los usuarios en todos los idiomas soportados.
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
**Intlayer** es un conjunto de paquetes diseñados específicamente para desarrolladores de JavaScript. Es compatible con frameworks como Vue, Vue y Express.js.
|
|
2
|
+
|
|
3
|
+
**El paquete `nuxt-intlayer`** te permite internacionalizar tu aplicación Vue. Proporciona proveedores de contexto y hooks para la internacionalización en Vue.
|
|
4
|
+
|
|
5
|
+
## ¿Por qué internacionalizar tu aplicación Vue?
|
|
6
|
+
|
|
7
|
+
Internacionalizar tu aplicación Vue es esencial para atender eficazmente a una audiencia global. Permite que tu aplicación entregue contenido y mensajes en el idioma preferido de cada usuario. Esta capacidad mejora la experiencia del usuario y amplía el alcance de tu aplicación al hacerla más accesible y relevante para personas de diferentes orígenes lingüísticos.
|
|
8
|
+
|
|
9
|
+
## ¿Por qué integrar Intlayer?
|
|
10
|
+
|
|
11
|
+
- **Gestión de contenido impulsada por JavaScript**: Aprovecha la flexibilidad de JavaScript para definir y gestionar tu contenido de manera eficiente.
|
|
12
|
+
- **Entorno seguro con TypeScript**: Utiliza TypeScript para garantizar que todas tus definiciones de contenido sean precisas y sin errores.
|
|
13
|
+
- **Archivos de contenido integrados**: Mantén tus traducciones cerca de sus respectivos componentes, mejorando la mantenibilidad y claridad.
|
|
14
|
+
|
|
15
|
+
## Instalación
|
|
16
|
+
|
|
17
|
+
Instala el paquete necesario utilizando tu gestor de paquetes preferido:
|
|
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/fr/autoFill.md
CHANGED
|
@@ -67,9 +67,8 @@ src/components/example/example.filled.content.ts
|
|
|
67
67
|
```
|
|
68
68
|
|
|
69
69
|
> La génération des fichiers `.js`, `.ts` et similaires fonctionne comme suit :
|
|
70
|
-
|
|
70
|
+
>
|
|
71
71
|
> - Si le fichier existe déjà, Intlayer l'analysera en utilisant l'AST (Arbre de Syntaxe Abstraite) pour localiser chaque champ et insérer les traductions manquantes.
|
|
72
|
-
|
|
73
72
|
> - Si le fichier n'existe pas, Intlayer le générera en utilisant le modèle par défaut de fichier de déclaration de contenu.
|
|
74
73
|
|
|
75
74
|
## Chemins Absolus
|
package/fr/how_works_intlayer.md
CHANGED
|
@@ -196,7 +196,7 @@ Le package `@intlayer/editor-react` fournit des états, contextes, hooks et comp
|
|
|
196
196
|
|
|
197
197
|
Le package `@intlayer/babel` fournit des outils qui optimisent le bundling des dictionnaires pour les applications basées sur Vite et Webpack.
|
|
198
198
|
|
|
199
|
-
### @intlayer/swc
|
|
199
|
+
### @intlayer/swc
|
|
200
200
|
|
|
201
201
|
Le package `@intlayer/swc` fournit des outils qui optimisent le bundling des dictionnaires pour les applications Next.js.
|
|
202
202
|
|
|
@@ -325,13 +325,7 @@ const App = () => (
|
|
|
325
325
|
> Remarque : Si vous souhaitez utiliser votre contenu dans un attribut `string`, tel que `alt`, `title`, `href`, `aria-label`, etc., vous devez appeler la valeur de la fonction, comme :
|
|
326
326
|
|
|
327
327
|
> ```jsx
|
|
328
|
-
>
|
|
329
|
-
> ```
|
|
330
|
-
|
|
331
328
|
> <img src={content.image.src.value} alt={content.image.value} />
|
|
332
|
-
|
|
333
|
-
> ```
|
|
334
|
-
>
|
|
335
329
|
> ```
|
|
336
330
|
|
|
337
331
|
> Pour en savoir plus sur le hook `useIntlayer`, consultez la [documentation](https://github.com/aymericzip/intlayer/blob/main/docs/fr/packages/react-intlayer/useIntlayer.md).
|
|
@@ -973,21 +967,14 @@ const LocaleSwitcher = () => {
|
|
|
973
967
|
```
|
|
974
968
|
|
|
975
969
|
> Références de documentation :
|
|
976
|
-
|
|
970
|
+
>
|
|
977
971
|
> - [Hook `useLocale`](https://github.com/aymericzip/intlayer/blob/main/docs/fr/packages/react-intlayer/useLocale.md)
|
|
978
|
-
|
|
979
972
|
> - [Hook `getLocaleName`](https://github.com/aymericzip/intlayer/blob/main/docs/fr/packages/intlayer/getLocaleName.md)
|
|
980
|
-
|
|
981
973
|
> - [Hook `getLocalizedUrl`](https://github.com/aymericzip/intlayer/blob/main/docs/fr/packages/intlayer/getLocalizedUrl.md)
|
|
982
|
-
|
|
983
974
|
> - [Hook `getHTMLTextDir`](https://github.com/aymericzip/intlayer/blob/main/docs/fr/packages/intlayer/getHTMLTextDir.md)
|
|
984
|
-
|
|
985
975
|
> - [Attribut `hrefLang`](https://developers.google.com/search/docs/specialty/international/localized-versions?hl=fr)
|
|
986
|
-
|
|
987
976
|
> - [Attribut `lang`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/lang)
|
|
988
|
-
|
|
989
977
|
> - [Attribut `dir`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/dir)
|
|
990
|
-
|
|
991
978
|
> - [Attribut `aria-current`](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-current)
|
|
992
979
|
|
|
993
980
|
### (Optionnel) Étape 9 : Modifier les attributs de langue et de direction HTML
|
|
@@ -568,13 +568,7 @@ const ServerComponentExample = () => {
|
|
|
568
568
|
> Si vous souhaitez utiliser votre contenu dans un attribut `string`, tel que `alt`, `title`, `href`, `aria-label`, etc., vous devez appeler la valeur de la fonction, comme :
|
|
569
569
|
|
|
570
570
|
> ```jsx
|
|
571
|
-
>
|
|
572
|
-
> ```
|
|
573
|
-
|
|
574
571
|
> <img src={content.image.src.value} alt={content.image.value} />
|
|
575
|
-
|
|
576
|
-
> ```
|
|
577
|
-
>
|
|
578
572
|
> ```
|
|
579
573
|
|
|
580
574
|
> Pour en savoir plus sur le hook `useIntlayer`, consultez la [documentation](https://github.com/aymericzip/intlayer/blob/main/docs/fr/packages/next-intlayer/useIntlayer.md).
|
|
@@ -1042,21 +1036,14 @@ const LocaleSwitcher = () => {
|
|
|
1042
1036
|
```
|
|
1043
1037
|
|
|
1044
1038
|
> Références de documentation :
|
|
1045
|
-
|
|
1039
|
+
>
|
|
1046
1040
|
> - [Hook `useLocale`](https://github.com/aymericzip/intlayer/blob/main/docs/fr/packages/next-intlayer/useLocale.md)
|
|
1047
|
-
|
|
1048
1041
|
> - [Hook `getLocaleName`](https://github.com/aymericzip/intlayer/blob/main/docs/fr/packages/intlayer/getLocaleName.md)
|
|
1049
|
-
|
|
1050
1042
|
> - [Hook `getLocalizedUrl`](https://github.com/aymericzip/intlayer/blob/main/docs/fr/packages/intlayer/getLocalizedUrl.md)
|
|
1051
|
-
|
|
1052
1043
|
> - [Hook `getHTMLTextDir`](https://github.com/aymericzip/intlayer/blob/main/docs/fr/packages/intlayer/getHTMLTextDir.md)
|
|
1053
|
-
|
|
1054
1044
|
> - [Attribut `hrefLang`](https://developers.google.com/search/docs/specialty/international/localized-versions?hl=fr)
|
|
1055
|
-
|
|
1056
1045
|
> - [Attribut `lang`](https://developer.mozilla.org/fr/docs/Web/HTML/Global_attributes/lang)
|
|
1057
|
-
|
|
1058
1046
|
> - [Attribut `dir`](https://developer.mozilla.org/fr/docs/Web/HTML/Global_attributes/dir)
|
|
1059
|
-
|
|
1060
1047
|
> - [Attribut `aria-current`](https://developer.mozilla.org/fr/docs/Web/Accessibility/ARIA/Attributes/aria-current)
|
|
1061
1048
|
|
|
1062
1049
|
### (Optionnel) Étape 11 : Créer un composant de lien localisé
|
|
@@ -582,13 +582,7 @@ const ServerComponentExample = () => {
|
|
|
582
582
|
> Si vous souhaitez utiliser votre contenu dans un attribut `string`, tel que `alt`, `title`, `href`, `aria-label`, etc., vous devez appeler la valeur de la fonction, comme :
|
|
583
583
|
|
|
584
584
|
> ```jsx
|
|
585
|
-
>
|
|
586
|
-
> ```
|
|
587
|
-
|
|
588
585
|
> <img src={content.image.src.value} alt={content.image.value} />
|
|
589
|
-
|
|
590
|
-
> ```
|
|
591
|
-
>
|
|
592
586
|
> ```
|
|
593
587
|
|
|
594
588
|
> Pour en savoir plus sur le hook `useIntlayer`, consultez la [documentation](https://github.com/aymericzip/intlayer/blob/main/docs/fr/packages/next-intlayer/useIntlayer.md).
|
|
@@ -1097,21 +1091,14 @@ export const LocaleSwitcher = () => {
|
|
|
1097
1091
|
```
|
|
1098
1092
|
|
|
1099
1093
|
> Références de documentation :
|
|
1100
|
-
|
|
1094
|
+
>
|
|
1101
1095
|
> - [Hook `useLocale`](https://github.com/aymericzip/intlayer/blob/main/docs/fr/packages/next-intlayer/useLocale.md)
|
|
1102
|
-
|
|
1103
1096
|
> - [Hook `getLocaleName`](https://github.com/aymericzip/intlayer/blob/main/docs/fr/packages/intlayer/getLocaleName.md)
|
|
1104
|
-
|
|
1105
1097
|
> - [Hook `getLocalizedUrl`](https://github.com/aymericzip/intlayer/blob/main/docs/fr/packages/intlayer/getLocalizedUrl.md)
|
|
1106
|
-
|
|
1107
1098
|
> - [Hook `getHTMLTextDir`](https://github.com/aymericzip/intlayer/blob/main/docs/fr/packages/intlayer/getHTMLTextDir.md)
|
|
1108
|
-
|
|
1109
1099
|
> - [Attribut `hrefLang`](https://developers.google.com/search/docs/specialty/international/localized-versions?hl=fr)
|
|
1110
|
-
|
|
1111
1100
|
> - [Attribut `lang`](https://developer.mozilla.org/fr/docs/Web/HTML/Global_attributes/lang)
|
|
1112
|
-
|
|
1113
1101
|
> - [Attribut `dir`](https://developer.mozilla.org/fr/docs/Web/HTML/Global_attributes/dir)
|
|
1114
|
-
|
|
1115
1102
|
> - [Attribut `aria-current`](https://developer.mozilla.org/fr/docs/Web/Accessibility/ARIA/Attributes/aria-current)
|
|
1116
1103
|
|
|
1117
1104
|
### (Optionnel) Étape 11 : Création d'un composant de lien localisé
|
|
@@ -527,13 +527,7 @@ const ComponentExample = () => {
|
|
|
527
527
|
> Lorsque vous utilisez des traductions dans des attributs `string` (par exemple, `alt`, `title`, `href`, `aria-label`), appelez la valeur de la fonction comme suit :
|
|
528
528
|
|
|
529
529
|
> ```jsx
|
|
530
|
-
>
|
|
531
|
-
> ```
|
|
532
|
-
|
|
533
530
|
> <img src={content.image.src.value} alt={content.image.value} />
|
|
534
|
-
|
|
535
|
-
> ```
|
|
536
|
-
>
|
|
537
531
|
> ```
|
|
538
532
|
|
|
539
533
|
> Pour en savoir plus sur le hook `useIntlayer`, consultez la [documentation](https://github.com/aymericzip/intlayer/blob/main/docs/fr/packages/next-intlayer/useIntlayer.md).
|
|
@@ -863,19 +857,13 @@ const LocaleSwitcher = () => {
|
|
|
863
857
|
> L'API `useLocalePageRouter` est la même que `useLocale`. Pour en savoir plus sur le hook `useLocale`, consultez la [documentation](https://github.com/aymericzip/intlayer/blob/main/docs/fr/packages/next-intlayer/useLocale.md).
|
|
864
858
|
|
|
865
859
|
> Références de documentation :
|
|
866
|
-
|
|
860
|
+
>
|
|
867
861
|
> - [Hook `getLocaleName`](https://github.com/aymericzip/intlayer/blob/main/docs/fr/packages/intlayer/getLocaleName.md)
|
|
868
|
-
|
|
869
862
|
> - [Hook `getLocalizedUrl`](https://github.com/aymericzip/intlayer/blob/main/docs/fr/packages/intlayer/getLocalizedUrl.md)
|
|
870
|
-
|
|
871
863
|
> - [Hook `getHTMLTextDir`](https://github.com/aymericzip/intlayer/blob/main/docs/fr/packages/intlayer/getHTMLTextDir.md)
|
|
872
|
-
|
|
873
864
|
> - [Attribut `hrefLang`](https://developers.google.com/search/docs/specialty/international/localized-versions?hl=fr)
|
|
874
|
-
|
|
875
865
|
> - [Attribut `lang`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/lang)
|
|
876
|
-
|
|
877
866
|
> - [Attribut `dir`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/dir)
|
|
878
|
-
|
|
879
867
|
> - [Attribut `aria-current`](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-current)
|
|
880
868
|
|
|
881
869
|
### (Optionnel) Étape 10 : Créer un composant de lien localisé
|