@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
|
@@ -18,15 +18,18 @@
|
|
|
18
18
|
В вашем проекте React Native установите следующие пакеты:
|
|
19
19
|
|
|
20
20
|
```bash packageManager="npm"
|
|
21
|
-
npm install intlayer react-intlayer
|
|
21
|
+
npm install intlayer react-intlayer
|
|
22
|
+
npm install --save-dev react-native-intlayer
|
|
22
23
|
```
|
|
23
24
|
|
|
24
25
|
```bash packageManager="pnpm"
|
|
25
|
-
pnpm add intlayer react-intlayer
|
|
26
|
+
pnpm add intlayer react-intlayer
|
|
27
|
+
pnpm add --save-dev react-native-intlayer
|
|
26
28
|
```
|
|
27
29
|
|
|
28
30
|
```bash packageManager="yarn"
|
|
29
|
-
yarn add intlayer react-intlayer
|
|
31
|
+
yarn add intlayer react-intlayer
|
|
32
|
+
yarn add --save-dev react-native-intlayer
|
|
30
33
|
```
|
|
31
34
|
|
|
32
35
|
### Пакеты
|
|
@@ -24,15 +24,18 @@
|
|
|
24
24
|
Установите необходимые пакеты с помощью 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**
|
|
@@ -547,13 +550,7 @@ module.exports = App;
|
|
|
547
550
|
> Если вы хотите использовать ваш контент в атрибуте `string`, таком как `alt`, `title`, `href`, `aria-label` и т.д., вы должны вызвать значение функции, например:
|
|
548
551
|
|
|
549
552
|
> ```jsx
|
|
550
|
-
>
|
|
551
|
-
> ```
|
|
552
|
-
|
|
553
553
|
> <img src={content.image.src.value} alt={content.image.value} />
|
|
554
|
-
|
|
555
|
-
> ```
|
|
556
|
-
>
|
|
557
554
|
> ```
|
|
558
555
|
|
|
559
556
|
> Примечание: В Preact, `className` обычно пишется как `class`.
|
|
@@ -1237,23 +1234,15 @@ module.exports = LocaleSwitcher;
|
|
|
1237
1234
|
```
|
|
1238
1235
|
|
|
1239
1236
|
> Ссылки на документацию:
|
|
1240
|
-
|
|
1237
|
+
>
|
|
1241
1238
|
> - [`useLocale` hook](https://github.com/aymericzip/intlayer/blob/main/docs/ru/packages/react-intlayer/useLocale.md) (API аналогичен для `preact-intlayer`)
|
|
1242
|
-
|
|
1243
1239
|
> - [`getLocaleName` hook](https://github.com/aymericzip/intlayer/blob/main/docs/ru/packages/intlayer/getLocaleName.md)
|
|
1244
|
-
|
|
1245
1240
|
> - [`getLocalizedUrl` hook](https://github.com/aymericzip/intlayer/blob/main/docs/ru/packages/intlayer/getLocalizedUrl.md)
|
|
1246
|
-
|
|
1247
1241
|
> - [`getHTMLTextDir` hook](https://github.com/aymericzip/intlayer/blob/main/docs/ru/packages/intlayer/getHTMLTextDir.md)
|
|
1248
|
-
|
|
1249
1242
|
> - [`hreflang` attribute](https://developers.google.com/search/docs/specialty/international/localized-versions?hl=ru)
|
|
1250
|
-
|
|
1251
1243
|
> - [`lang` attribute](https://developer.mozilla.org/ru/docs/Web/HTML/Global_attributes/lang)
|
|
1252
|
-
|
|
1253
1244
|
> - [`dir` attribute](https://developer.mozilla.org/ru/docs/Web/HTML/Global_attributes/dir)
|
|
1254
|
-
|
|
1255
1245
|
> - [`aria-current` attribute](https://developer.mozilla.org/ru/docs/Web/Accessibility/ARIA/Attributes/aria-current)
|
|
1256
|
-
|
|
1257
1246
|
> - [Popover API](https://developer.mozilla.org/ru/docs/Web/API/Popover_API)
|
|
1258
1247
|
|
|
1259
1248
|
---
|
|
@@ -24,15 +24,18 @@
|
|
|
24
24
|
Установите необходимые пакеты с помощью 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**
|
|
@@ -528,13 +531,7 @@ module.exports = App;
|
|
|
528
531
|
> Если вы хотите использовать ваш контент в атрибуте `string`, таком как `alt`, `title`, `href`, `aria-label` и т.д., вы должны вызвать значение функции, например:
|
|
529
532
|
|
|
530
533
|
> ```jsx
|
|
531
|
-
>
|
|
532
|
-
> ```
|
|
533
|
-
|
|
534
534
|
> <img src={content.image.src.value} alt={content.image.value} />
|
|
535
|
-
|
|
536
|
-
> ```
|
|
537
|
-
>
|
|
538
535
|
> ```
|
|
539
536
|
|
|
540
537
|
> Чтобы узнать больше о хуке `useIntlayer`, обратитесь к [документации](https://github.com/aymericzip/intlayer/blob/main/docs/ru/packages/react-intlayer/useIntlayer.md).
|
|
@@ -1176,21 +1173,14 @@ const LocaleSwitcher = () => {
|
|
|
1176
1173
|
```
|
|
1177
1174
|
|
|
1178
1175
|
> Ссылки на документацию:
|
|
1179
|
-
|
|
1176
|
+
>
|
|
1180
1177
|
> - [`useLocale` hook](https://github.com/aymericzip/intlayer/blob/main/docs/ru/packages/react-intlayer/useLocale.md)
|
|
1181
|
-
|
|
1182
1178
|
> - [`getLocaleName` hook](https://github.com/aymericzip/intlayer/blob/main/docs/ru/packages/intlayer/getLocaleName.md)
|
|
1183
|
-
|
|
1184
1179
|
> - [`getLocalizedUrl` hook](https://github.com/aymericzip/intlayer/blob/main/docs/ru/packages/intlayer/getLocalizedUrl.md)
|
|
1185
|
-
|
|
1186
1180
|
> - [`getHTMLTextDir` hook](https://github.com/aymericzip/intlayer/blob/main/docs/ru/packages/intlayer/getHTMLTextDir.md)
|
|
1187
|
-
|
|
1188
1181
|
> - [`hrefLang` attribute](https://developers.google.com/search/docs/specialty/international/localized-versions?hl=ru)
|
|
1189
|
-
|
|
1190
1182
|
> - [`lang` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/lang)
|
|
1191
|
-
|
|
1192
1183
|
> - [`dir` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/dir)
|
|
1193
|
-
|
|
1194
1184
|
> - [`aria-current` attribute](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-current)
|
|
1195
1185
|
|
|
1196
1186
|
---
|
|
@@ -24,15 +24,18 @@
|
|
|
24
24
|
Установите необходимые пакеты с помощью 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**
|
|
@@ -442,23 +445,29 @@ const count = ref(0);
|
|
|
442
445
|
</template>
|
|
443
446
|
```
|
|
444
447
|
|
|
445
|
-
|
|
448
|
+
#### Доступ к содержимому в Intlayer Intlayer предлагает различные API для
|
|
446
449
|
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
+
доступа к вашему содержимому: - **Синтаксис на основе компонентов**
|
|
451
|
+
(рекомендуется): Используйте синтаксис `<myContent />` или `<Component :is="myContent" />` для отображения содержимого как узла Intlayer. Это легко интегрируется с
|
|
452
|
+
[Визуальным редактором](https://github.com/aymericzip/intlayer/blob/main/docs/ru/intlayer_visual_editor.md)
|
|
453
|
+
и [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/ru/intlayer_CMS.md).
|
|
450
454
|
|
|
451
|
-
|
|
455
|
+
- **Синтаксис на основе строк**: Используйте `{{ myContent }}` для рендеринга
|
|
456
|
+
содержимого как обычного текста без поддержки Визуального редактора.
|
|
457
|
+
- **Синтаксис необработанного HTML**: Используйте `<div v-html="myContent" />` для рендеринга содержимого как необработанного HTML без поддержки Визуального
|
|
458
|
+
редактора.
|
|
459
|
+
- **Синтаксис деструктуризации**: `useIntlayer` composable возвращает
|
|
460
|
+
прокси с содержимым. Этот прокси можно деструктурировать для доступа к
|
|
461
|
+
содержимому с сохранением реактивности.
|
|
462
|
+
- Используйте `const content = useIntlayer("myContent");` и `{{ content.myContent }}` / `<content.myContent />`.
|
|
463
|
+
- Или используйте `const { myContent } = useIntlayer("myContent");` и `{{ myContent }}` / `<myContent />` для деструктуризации содержимого.
|
|
452
464
|
|
|
453
|
-
|
|
454
|
-
>
|
|
455
|
-
> ```
|
|
465
|
+
### (Необязательно) Шаг 6: Изменение языка
|
|
456
466
|
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
Создайте компонент для переключения между языками:
|
|
467
|
+
вашего контента Чтобы изменить язык вашего контента, вы можете использовать
|
|
468
|
+
функцию `setLocale`, предоставляемую `useLocale` composable. Эта функция
|
|
469
|
+
позволяет установить локаль приложения и соответствующим образом обновить
|
|
470
|
+
контент. Создайте компонент для переключения между языками:
|
|
462
471
|
|
|
463
472
|
```vue fileName="src/components/LocaleSwitcher.vue"
|
|
464
473
|
<template>
|
|
@@ -529,7 +538,6 @@ const content = useIntlayer("app"); // Создайте соответствую
|
|
|
529
538
|
|
|
530
539
|
```plaintext
|
|
531
540
|
- https://example.com/about
|
|
532
|
-
|
|
533
541
|
- https://example.com/ru/about
|
|
534
542
|
- https://example.com/fr/about
|
|
535
543
|
```
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# nuxt-intlayer: NPM пакет для интернационализации (i18n) Vue-приложения
|
|
2
|
+
|
|
3
|
+
**Intlayer** — это набор пакетов, разработанных специально для JavaScript-разработчиков. Он совместим с такими фреймворками, как Vue, Vue и Express.js.
|
|
4
|
+
|
|
5
|
+
**Пакет `nuxt-intlayer`** позволяет интернационализировать ваше Vue-приложение. Он предоставляет провайдеры контекста и хуки для интернационализации Vue.
|
|
6
|
+
|
|
7
|
+
## Почему важно интернационализировать ваше Vue-приложение?
|
|
8
|
+
|
|
9
|
+
Интернационализация вашего Vue-приложения необходима для эффективного обслуживания глобальной аудитории. Это позволяет вашему приложению предоставлять контент и сообщения на предпочитаемом языке каждого пользователя. Эта возможность улучшает пользовательский опыт и расширяет охват вашего приложения, делая его более доступным и актуальным для людей с разными языковыми предпочтениями.
|
|
10
|
+
|
|
11
|
+
## Почему стоит интегрировать Intlayer?
|
|
12
|
+
|
|
13
|
+
- **Управление контентом на основе JavaScript**: Используйте гибкость JavaScript для эффективного определения и управления вашим контентом.
|
|
14
|
+
- **Безопасная типизация**: Используйте TypeScript, чтобы гарантировать точность и отсутствие ошибок в определениях вашего контента.
|
|
15
|
+
- **Интегрированные файлы контента**: Держите переводы рядом с соответствующими компонентами, улучшая поддерживаемость и ясность.
|
|
16
|
+
|
|
17
|
+
## Установка
|
|
18
|
+
|
|
19
|
+
Установите необходимый пакет, используя предпочитаемый менеджер пакетов:
|
|
20
|
+
|
|
21
|
+
```bash packageManager="npm"
|
|
22
|
+
npm install nuxt-intlayer
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
```bash packageManager="yarn"
|
|
26
|
+
yarn add nuxt-intlayer
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
```bash packageManager="pnpm"
|
|
30
|
+
pnpm add nuxt-intlayer
|
|
31
|
+
```
|
package/ru/roadmap.md
CHANGED
|
@@ -14,7 +14,7 @@ Intlayer , это решение для управления контентом
|
|
|
14
14
|
- **Распределенная**: Альтернативно, разделите ваш контент на отдельные файлы на уровне компонентов или функций для лучшей поддерживаемости. Это позволяет держать контент рядом с соответствующим кодом (компоненты, тесты, Storybook и т.д.). Удаление компонента гарантирует, что любой связанный контент также будет удален, предотвращая накопление ненужных данных в вашем коде.
|
|
15
15
|
|
|
16
16
|
> Ресурсы:
|
|
17
|
-
|
|
17
|
+
>
|
|
18
18
|
> - [Декларация контента](https://github.com/aymericzip/intlayer/blob/main/docs/ru/dictionary/get_started.md)
|
|
19
19
|
|
|
20
20
|
### 2. Интернационализация
|
|
@@ -23,7 +23,7 @@ Intlayer , это решение для управления контентом
|
|
|
23
23
|
- Легкое управление переводами для всех этих локалей из одного места.
|
|
24
24
|
|
|
25
25
|
> Ресурсы:
|
|
26
|
-
|
|
26
|
+
>
|
|
27
27
|
> - [Интернационализация](https://github.com/aymericzip/intlayer/blob/main/docs/ru/dictionary/translation.md)
|
|
28
28
|
|
|
29
29
|
### 3. Поддержка Markdown
|
|
@@ -32,7 +32,7 @@ Intlayer , это решение для управления контентом
|
|
|
32
32
|
- Идеально подходит для блогов, статей, страниц документации или любых сценариев, где требуется форматирование текста.
|
|
33
33
|
|
|
34
34
|
> Ресурсы:
|
|
35
|
-
|
|
35
|
+
>
|
|
36
36
|
> - [Markdown](https://github.com/aymericzip/intlayer/blob/main/docs/ru/dictionary/markdown.md)
|
|
37
37
|
|
|
38
38
|
### 4. Условный рендеринг
|
|
@@ -41,7 +41,7 @@ Intlayer , это решение для управления контентом
|
|
|
41
41
|
- Помогает создавать персонализированные впечатления без дублирования контента в нескольких файлах.
|
|
42
42
|
|
|
43
43
|
> Ресурсы:
|
|
44
|
-
|
|
44
|
+
>
|
|
45
45
|
> - [Условный рендеринг](https://github.com/aymericzip/intlayer/blob/main/docs/ru/dictionary/condition.md)
|
|
46
46
|
|
|
47
47
|
### 5. Форматы декларации контента
|
|
@@ -86,7 +86,7 @@ Intlayer поддерживает **TypeScript** (также JavaScript) и **JS
|
|
|
86
86
|
- Полностью совместим с новым Turbopack от Next.js, а также с традиционным Webpack.
|
|
87
87
|
|
|
88
88
|
> Ресурсы:
|
|
89
|
-
|
|
89
|
+
>
|
|
90
90
|
> - [Next.js](https://github.com/aymericzip/intlayer/blob/main/docs/ru/intlayer_with_nextjs_15.md)
|
|
91
91
|
|
|
92
92
|
### 2. Vite
|
|
@@ -94,7 +94,7 @@ Intlayer поддерживает **TypeScript** (также JavaScript) и **JS
|
|
|
94
94
|
- Аналогично Next.js, вы можете интегрировать Intlayer с Vite и использовать **middleware** для перенаправления пользователей на контент на основе их предпочтительного языка.
|
|
95
95
|
|
|
96
96
|
> Ресурсы:
|
|
97
|
-
|
|
97
|
+
>
|
|
98
98
|
> - [Vite](https://github.com/aymericzip/intlayer/blob/main/docs/ru/intlayer_with_vite+react.md)
|
|
99
99
|
|
|
100
100
|
### 3. Express
|
|
@@ -103,7 +103,7 @@ Intlayer поддерживает **TypeScript** (также JavaScript) и **JS
|
|
|
103
103
|
- Персонализируйте электронные письма, сообщения об ошибках, push-уведомления и многое другое с локализованным текстом.
|
|
104
104
|
|
|
105
105
|
> Ресурсы:
|
|
106
|
-
|
|
106
|
+
>
|
|
107
107
|
> - [Express](https://github.com/aymericzip/intlayer/blob/main/docs/ru/intlayer_with_express.md)
|
|
108
108
|
|
|
109
109
|
---
|
|
@@ -120,7 +120,7 @@ Intlayer поддерживает **TypeScript** (также JavaScript) и **JS
|
|
|
120
120
|
- Может быть размещен локально или развернут на удаленном сервере.
|
|
121
121
|
|
|
122
122
|
> Ресурсы:
|
|
123
|
-
|
|
123
|
+
>
|
|
124
124
|
> - [Визуальный редактор](https://github.com/aymericzip/intlayer/blob/main/docs/ru/intlayer_visual_editor.md)
|
|
125
125
|
|
|
126
126
|
### 2. Intlayer CMS (удаленный)
|
|
@@ -130,7 +130,7 @@ Intlayer поддерживает **TypeScript** (также JavaScript) и **JS
|
|
|
130
130
|
- Взаимодействуйте с вашим контентом через интерфейс вашего живого приложения.
|
|
131
131
|
|
|
132
132
|
> Ресурсы:
|
|
133
|
-
|
|
133
|
+
>
|
|
134
134
|
> - [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/ru/intlayer_CMS.md)
|
|
135
135
|
|
|
136
136
|
---
|
|
@@ -142,7 +142,7 @@ Intlayer поддерживает **TypeScript** (также JavaScript) и **JS
|
|
|
142
142
|
- Полезно для **CI/CD конвейеров**, обеспечивая синхронизацию контента с вашим кодом.
|
|
143
143
|
|
|
144
144
|
> Ресурсы:
|
|
145
|
-
|
|
145
|
+
>
|
|
146
146
|
> - [CLI](https://github.com/aymericzip/intlayer/blob/main/docs/ru/intlayer_cli.md)
|
|
147
147
|
|
|
148
148
|
---
|
|
@@ -159,7 +159,7 @@ Intlayer поддерживает **TypeScript** (также JavaScript) и **JS
|
|
|
159
159
|
- При использовании удаленных словарей и Intlayer CMS вы можете **обновлять контент вашего приложения на лету**, без необходимости повторного развертывания.
|
|
160
160
|
|
|
161
161
|
> Ресурсы:
|
|
162
|
-
|
|
162
|
+
>
|
|
163
163
|
> - [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/ru/intlayer_CMS.md)
|
|
164
164
|
|
|
165
165
|
---
|
package/zh/autoFill.md
CHANGED
|
@@ -335,13 +335,7 @@ const App = () => (
|
|
|
335
335
|
> 注意:如果您想在 `string` 属性中使用您的内容,例如 `alt`、`title`、`href`、`aria-label` 等,您必须调用函数的值,例如:
|
|
336
336
|
|
|
337
337
|
> ```jsx
|
|
338
|
-
>
|
|
339
|
-
> ```
|
|
340
|
-
|
|
341
338
|
> <img src={content.image.src.value} alt={content.image.value} />
|
|
342
|
-
|
|
343
|
-
> ```
|
|
344
|
-
>
|
|
345
339
|
> ```
|
|
346
340
|
|
|
347
341
|
> 要了解有关 `useIntlayer` 钩子的更多信息,请参阅 [文档](https://github.com/aymericzip/intlayer/blob/main/docs/zh/packages/react-intlayer/useIntlayer.md)。
|
|
@@ -977,21 +971,14 @@ const LocaleSwitcher = () => {
|
|
|
977
971
|
```
|
|
978
972
|
|
|
979
973
|
> 文档参考:
|
|
980
|
-
|
|
974
|
+
>
|
|
981
975
|
> - [`useLocale` 钩子](https://github.com/aymericzip/intlayer/blob/main/docs/zh/packages/react-intlayer/useLocale.md)
|
|
982
|
-
|
|
983
976
|
> - [`getLocaleName` 钩子](https://github.com/aymericzip/intlayer/blob/main/docs/zh/packages/intlayer/getLocaleName.md)
|
|
984
|
-
|
|
985
977
|
> - [`getLocalizedUrl` 钩子](https://github.com/aymericzip/intlayer/blob/main/docs/zh/packages/intlayer/getLocalizedUrl.md)
|
|
986
|
-
|
|
987
978
|
> - [`getHTMLTextDir` 钩子](https://github.com/aymericzip/intlayer/blob/main/docs/zh/packages/intlayer/getHTMLTextDir.md)
|
|
988
|
-
|
|
989
979
|
> - [`hrefLang` 属性](https://developers.google.com/search/docs/specialty/international/localized-versions?hl=zh)
|
|
990
|
-
|
|
991
980
|
> - [`lang` 属性](https://developer.mozilla.org/zh-CN/docs/Web/HTML/Global_attributes/lang)
|
|
992
|
-
|
|
993
981
|
> - [`dir` 属性](https://developer.mozilla.org/zh-CN/docs/Web/HTML/Global_attributes/dir)
|
|
994
|
-
|
|
995
982
|
> - [`aria-current` 属性](https://developer.mozilla.org/zh-CN/docs/Web/Accessibility/ARIA/Attributes/aria-current)
|
|
996
983
|
|
|
997
984
|
### (可选)第九步:切换 HTML 的语言和方向属性
|
|
@@ -578,13 +578,7 @@ const ServerComponentExample = () => {
|
|
|
578
578
|
> 如果您想在 `string` 属性中使用内容,例如 `alt`、`title`、`href`、`aria-label` 等,您必须调用函数的值,例如:
|
|
579
579
|
|
|
580
580
|
> ```jsx
|
|
581
|
-
>
|
|
582
|
-
> ```
|
|
583
|
-
|
|
584
581
|
> <img src={content.image.src.value} alt={content.image.value} />
|
|
585
|
-
|
|
586
|
-
> ```
|
|
587
|
-
>
|
|
588
582
|
> ```
|
|
589
583
|
|
|
590
584
|
> 要了解更多关于 `useIntlayer` 钩子的内容,请参考 [文档](https://github.com/aymericzip/intlayer/blob/main/docs/zh/packages/next-intlayer/useIntlayer.md)。
|
|
@@ -1072,21 +1066,14 @@ const LocaleSwitcher = () => {
|
|
|
1072
1066
|
```
|
|
1073
1067
|
|
|
1074
1068
|
> 文档参考:
|
|
1075
|
-
|
|
1069
|
+
>
|
|
1076
1070
|
> - [`useLocale` hook](https://github.com/aymericzip/intlayer/blob/main/docs/zh/packages/next-intlayer/useLocale.md)
|
|
1077
|
-
|
|
1078
1071
|
> - [`getLocaleName` hook](https://github.com/aymericzip/intlayer/blob/main/docs/zh/packages/intlayer/getLocaleName.md)
|
|
1079
|
-
|
|
1080
1072
|
> - [`getLocalizedUrl` hook](https://github.com/aymericzip/intlayer/blob/main/docs/zh/packages/intlayer/getLocalizedUrl.md)
|
|
1081
|
-
|
|
1082
1073
|
> - [`getHTMLTextDir` hook](https://github.com/aymericzip/intlayer/blob/main/docs/zh/packages/intlayer/getHTMLTextDir.md)
|
|
1083
|
-
|
|
1084
1074
|
> - [`hrefLang` 属性](https://developers.google.com/search/docs/specialty/international/localized-versions?hl=fr)
|
|
1085
|
-
|
|
1086
1075
|
> - [`lang` 属性](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/lang)
|
|
1087
|
-
|
|
1088
1076
|
> - [`dir` 属性](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/dir)
|
|
1089
|
-
|
|
1090
1077
|
> - [`aria-current` 属性](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-current)
|
|
1091
1078
|
|
|
1092
1079
|
### (可选)步骤11:创建一个本地化的链接组件
|
|
@@ -590,13 +590,7 @@ const ServerComponentExample = () => {
|
|
|
590
590
|
> 如果您想在 `string` 属性中使用您的内容,例如 `alt`、`title`、`href`、`aria-label` 等,您必须调用函数的值,例如:
|
|
591
591
|
|
|
592
592
|
> ```jsx
|
|
593
|
-
>
|
|
594
|
-
> ```
|
|
595
|
-
|
|
596
593
|
> <img src={content.image.src.value} alt={content.image.value} />
|
|
597
|
-
|
|
598
|
-
> ```
|
|
599
|
-
>
|
|
600
594
|
> ```
|
|
601
595
|
|
|
602
596
|
> 要了解有关 `useIntlayer` 钩子的更多信息,请参阅 [文档](https://github.com/aymericzip/intlayer/blob/main/docs/zh/packages/next-intlayer/useIntlayer.md)。
|
|
@@ -1111,21 +1105,14 @@ export const LocaleSwitcher = () => {
|
|
|
1111
1105
|
```
|
|
1112
1106
|
|
|
1113
1107
|
> 文档参考:
|
|
1114
|
-
|
|
1108
|
+
>
|
|
1115
1109
|
> - [`useLocale` 钩子](https://github.com/aymericzip/intlayer/blob/main/docs/zh/packages/next-intlayer/useLocale.md)
|
|
1116
|
-
|
|
1117
1110
|
> - [`getLocaleName` 钩子](https://github.com/aymericzip/intlayer/blob/main/docs/zh/packages/intlayer/getLocaleName.md)
|
|
1118
|
-
|
|
1119
1111
|
> - [`getLocalizedUrl` 钩子](https://github.com/aymericzip/intlayer/blob/main/docs/zh/packages/intlayer/getLocalizedUrl.md)
|
|
1120
|
-
|
|
1121
1112
|
> - [`getHTMLTextDir` 钩子](https://github.com/aymericzip/intlayer/blob/main/docs/zh/packages/intlayer/getHTMLTextDir.md)
|
|
1122
|
-
|
|
1123
1113
|
> - [`hrefLang` 属性](https://developers.google.com/search/docs/specialty/international/localized-versions?hl=zh)
|
|
1124
|
-
|
|
1125
1114
|
> - [`lang` 属性](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/lang)
|
|
1126
|
-
|
|
1127
1115
|
> - [`dir` 属性](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/dir)
|
|
1128
|
-
|
|
1129
1116
|
> - [`aria-current` 属性](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-current)
|
|
1130
1117
|
|
|
1131
1118
|
### (可选) 第 11 步:创建本地化链接组件
|
|
@@ -534,13 +534,7 @@ const ComponentExample = () => {
|
|
|
534
534
|
> 在 `string` 属性中使用翻译(例如 `alt`、`title`、`href`、`aria-label`)时,调用函数的值如下:
|
|
535
535
|
|
|
536
536
|
> ```jsx
|
|
537
|
-
>
|
|
538
|
-
> ```
|
|
539
|
-
|
|
540
537
|
> <img src={content.image.src.value} alt={content.image.value} />
|
|
541
|
-
|
|
542
|
-
> ```
|
|
543
|
-
>
|
|
544
538
|
> ```
|
|
545
539
|
|
|
546
540
|
> 要了解更多关于 `useIntlayer` 钩子的内容,请参考[文档](https://github.com/aymericzip/intlayer/blob/main/docs/zh/packages/next-intlayer/useIntlayer.md)。
|
|
@@ -873,19 +867,13 @@ const LocaleSwitcher = () => {
|
|
|
873
867
|
> `useLocalePageRouter` API 与 `useLocale` 相同。要了解更多关于 `useLocale` 钩子的内容,请参考[文档](https://github.com/aymericzip/intlayer/blob/main/docs/zh/packages/next-intlayer/useLocale.md)。
|
|
874
868
|
|
|
875
869
|
> 文档参考:
|
|
876
|
-
|
|
870
|
+
>
|
|
877
871
|
> - [`getLocaleName` 钩子](https://github.com/aymericzip/intlayer/blob/main/docs/zh/packages/intlayer/getLocaleName.md)
|
|
878
|
-
|
|
879
872
|
> - [`getLocalizedUrl` 钩子](https://github.com/aymericzip/intlayer/blob/main/docs/zh/packages/intlayer/getLocalizedUrl.md)
|
|
880
|
-
|
|
881
873
|
> - [`getHTMLTextDir` 钩子](https://github.com/aymericzip/intlayer/blob/main/docs/zh/packages/intlayer/getHTMLTextDir.md)
|
|
882
|
-
|
|
883
874
|
> - [`hrefLang` 属性](https://developers.google.com/search/docs/specialty/international/localized-versions?hl=fr)
|
|
884
|
-
|
|
885
875
|
> - [`lang` 属性](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/lang)
|
|
886
|
-
|
|
887
876
|
> - [`dir` 属性](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/dir)
|
|
888
|
-
|
|
889
877
|
> - [`aria-current` 属性](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-current)
|
|
890
878
|
|
|
891
879
|
### (可选)步骤 10:创建一个本地化的链接组件
|