@intlayer/docs 8.1.5 → 8.1.7
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/README.md +18 -9
- package/dist/cjs/generated/docs.entry.cjs +1 -1
- package/dist/cjs/generated/docs.entry.cjs.map +1 -1
- package/dist/esm/generated/docs.entry.mjs +1 -1
- package/dist/esm/generated/docs.entry.mjs.map +1 -1
- package/dist/types/generated/docs.entry.d.ts +2 -0
- package/dist/types/generated/docs.entry.d.ts.map +1 -1
- package/docs/ar/compiler.md +26 -0
- package/docs/ar/intlayer_with_nextjs_compiler.md +481 -0
- package/docs/ar/intlayer_with_vite+react_compiler.md +369 -0
- package/docs/ar/readme.md +138 -110
- package/docs/de/compiler.md +26 -0
- package/docs/de/intlayer_with_nextjs_compiler.md +481 -0
- package/docs/de/intlayer_with_vite+react_compiler.md +369 -0
- package/docs/de/readme.md +152 -124
- package/docs/en/compiler.md +27 -0
- package/docs/en/intlayer_with_nextjs_compiler.md +481 -0
- package/docs/en/intlayer_with_vite+react_compiler.md +368 -0
- package/docs/en/readme.md +129 -105
- package/docs/en-GB/compiler.md +26 -0
- package/docs/en-GB/intlayer_with_nextjs_compiler.md +481 -0
- package/docs/en-GB/intlayer_with_vite+react_compiler.md +369 -0
- package/docs/en-GB/readme.md +134 -108
- package/docs/es/compiler.md +26 -0
- package/docs/es/intlayer_with_nextjs_compiler.md +481 -0
- package/docs/es/intlayer_with_vite+react_compiler.md +369 -0
- package/docs/es/readme.md +149 -121
- package/docs/fr/compiler.md +26 -0
- package/docs/fr/intlayer_with_nextjs_compiler.md +481 -0
- package/docs/fr/intlayer_with_vite+react_compiler.md +369 -0
- package/docs/fr/readme.md +150 -122
- package/docs/hi/compiler.md +26 -0
- package/docs/hi/intlayer_with_nextjs_compiler.md +481 -0
- package/docs/hi/intlayer_with_vite+react_compiler.md +370 -0
- package/docs/hi/readme.md +153 -125
- package/docs/id/compiler.md +26 -0
- package/docs/id/intlayer_with_nextjs_compiler.md +481 -0
- package/docs/id/intlayer_with_vite+react_compiler.md +369 -0
- package/docs/id/readme.md +133 -105
- package/docs/it/compiler.md +26 -0
- package/docs/it/intlayer_with_nextjs_compiler.md +481 -0
- package/docs/it/intlayer_with_vite+react_compiler.md +374 -0
- package/docs/it/readme.md +155 -127
- package/docs/ja/compiler.md +26 -0
- package/docs/ja/intlayer_with_nextjs_compiler.md +481 -0
- package/docs/ja/intlayer_with_vite+react_compiler.md +369 -0
- package/docs/ja/readme.md +152 -126
- package/docs/ko/compiler.md +26 -0
- package/docs/ko/intlayer_with_nextjs_compiler.md +481 -0
- package/docs/ko/intlayer_with_vite+react_compiler.md +369 -0
- package/docs/ko/readme.md +154 -126
- package/docs/pl/compiler.md +26 -0
- package/docs/pl/intlayer_with_nextjs_compiler.md +481 -0
- package/docs/pl/intlayer_with_vite+react_compiler.md +369 -0
- package/docs/pl/readme.md +134 -106
- package/docs/pt/compiler.md +27 -1
- package/docs/pt/intlayer_with_nextjs_compiler.md +481 -0
- package/docs/pt/intlayer_with_vite+react_compiler.md +374 -0
- package/docs/pt/readme.md +154 -126
- package/docs/ru/compiler.md +26 -0
- package/docs/ru/intlayer_with_nextjs_compiler.md +481 -0
- package/docs/ru/intlayer_with_vite+react_compiler.md +369 -0
- package/docs/ru/readme.md +137 -109
- package/docs/tr/compiler.md +26 -0
- package/docs/tr/intlayer_with_nextjs_compiler.md +481 -0
- package/docs/tr/intlayer_with_vite+react_compiler.md +375 -0
- package/docs/tr/readme.md +139 -111
- package/docs/uk/compiler.md +26 -0
- package/docs/uk/intlayer_with_nextjs_compiler.md +481 -0
- package/docs/uk/intlayer_with_vite+react_compiler.md +369 -0
- package/docs/uk/readme.md +133 -109
- package/docs/vi/compiler.md +27 -1
- package/docs/vi/intlayer_with_nextjs_compiler.md +481 -0
- package/docs/vi/intlayer_with_vite+react_compiler.md +369 -0
- package/docs/vi/readme.md +138 -110
- package/docs/zh/compiler.md +26 -0
- package/docs/zh/intlayer_with_nextjs_compiler.md +481 -0
- package/docs/zh/intlayer_with_vite+react_compiler.md +372 -0
- package/docs/zh/readme.md +148 -120
- package/package.json +7 -8
- package/src/generated/docs.entry.ts +40 -0
package/docs/uk/readme.md
CHANGED
|
@@ -1,41 +1,38 @@
|
|
|
1
1
|
<p align="center">
|
|
2
|
-
<a href="https://intlayer.org">
|
|
2
|
+
<a href="https://intlayer.org" rel="">
|
|
3
3
|
<img src="https://raw.githubusercontent.com/aymericzip/intlayer/main/docs/assets/cover.png" width="60%" alt="Логотип Intlayer" />
|
|
4
4
|
</a>
|
|
5
5
|
</p>
|
|
6
6
|
|
|
7
7
|
<h1 align="center">
|
|
8
|
-
<strong>
|
|
8
|
+
<strong>i18n для кожного компонента</strong>
|
|
9
9
|
</h1>
|
|
10
|
+
<h2 align="center">
|
|
11
|
+
<strong>Переклад на основі AI. Візуальний редактор. Багатомовна CMS.</strong>
|
|
12
|
+
</h2>
|
|
10
13
|
|
|
11
14
|
<br />
|
|
12
15
|
|
|
13
16
|
<p align="center">
|
|
14
|
-
<a href="https://intlayer.org/doc/concept/content"
|
|
15
|
-
<a href="https://intlayer.org/doc/environment/nextjs">Next.js</a> •
|
|
16
|
-
<a href="https://intlayer.org/doc/environment/vite-and-react">React + Vite</a> •
|
|
17
|
-
<a href="https://intlayer.org/doc/concept/cms">CMS</a> •
|
|
18
|
-
<a href="https://discord.gg/7uxamYVeCk">Discord</a>
|
|
17
|
+
<a href="https://intlayer.org/doc/concept/content" rel="">Docs</a> •
|
|
18
|
+
<a href="https://intlayer.org/doc/environment/nextjs" rel="">Next.js</a> •
|
|
19
|
+
<a href="https://intlayer.org/doc/environment/vite-and-react" rel="">React + Vite</a> •
|
|
20
|
+
<a href="https://intlayer.org/doc/concept/cms" rel="">CMS</a> •
|
|
21
|
+
<a href="https://discord.gg/7uxamYVeCk" rel="noopener noreferrer nofollow">Discord</a>
|
|
19
22
|
</p>
|
|
20
23
|
<p align="center" style="margin-top:15px;">
|
|
21
|
-
<a href="https://www.npmjs.com/package/intlayer" target="_blank"><img src="https://img.shields.io/npm/v/intlayer?style=for-the-badge&labelColor=FFFFFF&color=000000&logoColor=FFFFFF
|
|
22
|
-
|
|
23
|
-
<a href="https://
|
|
24
|
-
|
|
25
|
-
<a href="https://
|
|
26
|
-
</a>
|
|
27
|
-
<a href="https://github.com/aymericzip/intlayer/blob/main/LICENSE"><img src="https://img.shields.io/github/license/aymericzip/intlayer?style=for-the-badge&labelColor=000000&color=FFFFFF&logoColor=000000&cacheSeconds=86400" alt="Ліцензія"/>
|
|
28
|
-
</a>
|
|
29
|
-
<a href="https://github.com/aymericzip/intlayer/commits/main"><img src="https://img.shields.io/github/last-commit/aymericzip/intlayer?style=for-the-badge&labelColor=000000&color=FFFFFF&logoColor=000000&cacheSeconds=86400" alt="останній коміт"/>
|
|
24
|
+
<a href="https://www.npmjs.com/package/intlayer" target="_blank" rel="noopener noreferrer nofollow"><img src="https://img.shields.io/npm/v/intlayer?style=for-the-badge&labelColor=FFFFFF&color=000000&logoColor=FFFFFF" alt="Версія npm" height="24"/></a>
|
|
25
|
+
<a href="https://github.com/aymericzip/intlayer/stargazers" target="_blank" rel="noopener noreferrer nofollow"><img src="https://img.shields.io/github/stars/aymericzip/intlayer?style=for-the-badge&labelColor=000000&color=FFFFFF&logo=github&logoColor=FFD700" alt="Зірки GitHub" height="24"/></a>
|
|
26
|
+
<a href="https://www.npmjs.org/package/intlayer" target="_blank" rel="noopener noreferrer nofollow"><img src="https://img.shields.io/npm/dm/intlayer?style=for-the-badge&labelColor=000000&color=FFFFFF&logoColor=000000&cacheSeconds=86400" alt="Щомісячні завантаження" height="24"/></a>
|
|
27
|
+
<a href="https://github.com/aymericzip/intlayer/blob/main/LICENSE" target="_blank" rel="noopener noreferrer nofollow"><img src="https://img.shields.io/github/license/aymericzip/intlayer?style=for-the-badge&labelColor=000000&color=FFFFFF&logoColor=000000&cacheSeconds=86400" alt="Ліцензія"/></a>
|
|
28
|
+
<a href="https://github.com/aymericzip/intlayer/commits/main" target="_blank" rel="noopener noreferrer nofollow"><img src="https://img.shields.io/github/last-commit/aymericzip/intlayer?style=for-the-badge&labelColor=000000&color=FFFFFF&logoColor=000000&cacheSeconds=86400" alt="останній коміт"/>
|
|
30
29
|
</a>
|
|
31
30
|
</p>
|
|
32
31
|
|
|
33
|
-
<!-- новий рядок для перевірки healthcheck -->
|
|
34
|
-
|
|
35
32
|

|
|
36
33
|
|
|
37
|
-
<a href="https://intlayer.org/doc/concept/content">
|
|
38
|
-
<img src="https://img.shields.io/badge
|
|
34
|
+
<a href="https://intlayer.org/doc/concept/content" rel="">
|
|
35
|
+
<img src="https://img.shields.io/badge/Почати-FFFFFF?style=for-the-badge&logo=rocket&logoColor=black" />
|
|
39
36
|
</a>
|
|
40
37
|
|
|
41
38
|
## Що таке Intlayer?
|
|
@@ -49,25 +46,26 @@ Intlayer — це **сучасне рішення для i18n** для веб-
|
|
|
49
46
|
|
|
50
47
|
## Ключові переваги Intlayer:
|
|
51
48
|
|
|
52
|
-
| Особливість
|
|
53
|
-
|
|
|
54
|
-
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/frameworks.png?raw=true" alt="
|
|
55
|
-
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/javascript_content_management.jpg?raw=true" alt="
|
|
56
|
-
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/per_locale_content_declaration_file.png?raw=true" alt="
|
|
57
|
-
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/
|
|
58
|
-
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/
|
|
59
|
-
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/
|
|
60
|
-
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/
|
|
61
|
-
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/
|
|
62
|
-
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/
|
|
63
|
-
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/
|
|
64
|
-
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/
|
|
65
|
-
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/
|
|
66
|
-
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/
|
|
67
|
-
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/
|
|
68
|
-
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/
|
|
69
|
-
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/
|
|
70
|
-
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/
|
|
49
|
+
| Особливість | Опис |
|
|
50
|
+
| ------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
51
|
+
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/frameworks.png?raw=true" alt="Підтримка" width="700"> | **Підтримка кількох фреймворків**<br><br>Intlayer сумісний з усіма основними фреймворками та бібліотеками, включно з Next.js, React, Vite, Vue.js, Nuxt, Preact, Express та іншими. |
|
|
52
|
+
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/javascript_content_management.jpg?raw=true" alt="JavaScript" width="700"> | **Керування контентом за допомогою JavaScript**<br><br>Використовуйте гнучкість JavaScript, щоб ефективно визначати та керувати своїм контентом. <br><br> - [Оголошення контенту](https://intlayer.org/doc/concept/content) |
|
|
53
|
+
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/per_locale_content_declaration_file.png?raw=true" alt="Файли" width="700"> | **Файл декларації контенту для кожної локалі**<br><br>Прискорте розробку, задекларувавши ваш контент лише один раз перед автоматичною генерацією.<br><br> - [Файл декларації контенту для кожної локалі](https://intlayer.org/doc/concept/per-locale-file) |
|
|
54
|
+
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/compiler.jpg?raw=true" alt="Compiler" width="700"> | **Компілятор**<br><br>Компілятор Intlayer автоматично витягує вміст із компонентів і генерує файли словників.<br><br> - [Компілятор](https://intlayer.org/doc/compiler) |
|
|
55
|
+
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/autocompletion.png?raw=true" alt="TypeScript" width="700"> | **Типобезпечне середовище**<br><br>Використовуйте TypeScript, щоб гарантувати, що ваші визначення контенту та код позбавлені помилок, а також отримувати автозаповнення в IDE.<br><br> - [Налаштування TypeScript](https://intlayer.org/doc/environment/vite-and-react#configure-typescript) |
|
|
56
|
+
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/config_file.png?raw=true" alt="Конфігурація" width="700"> | **Спрощене налаштування**<br><br>Швидко запустіть проект з мінімальною конфігурацією. Легко налаштовуйте параметри інтернаціоналізації, маршрутизації, AI, збірки та обробки контенту. <br><br> - [Дізнайтеся про інтеграцію Next.js](https://intlayer.org/doc/environment/nextjs) |
|
|
57
|
+
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/content_retrieval.png?raw=true" alt="Отримання контенту" width="700"> | **Спрощене отримання контенту**<br><br>Не потрібно викликати вашу функцію `t` для кожного фрагмента контенту. Отримуйте весь контент безпосередньо за допомогою одного hook.<br><br> - [Інтеграція з React](https://intlayer.org/doc/environment/create-react-app) |
|
|
58
|
+
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/server_component.png?raw=true" alt="Серверні компоненти" width="700"> | **Послідовна реалізація серверних компонентів**<br><br>Ідеально підходить для серверних компонентів Next.js: використовуйте одну й ту саму реалізацію як для клієнтських, так і для серверних компонентів — немає потреби передавати вашу функцію `t` через кожний серверний компонент. <br><br> - [Серверні компоненти](https://intlayer.org/doc/environment/nextjs#step-7-utilize-content-in-your-code) |
|
|
59
|
+
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/file_tree.png?raw=true" alt="Організація" width="700"> | **Організована codebase**<br><br>Тримайте свій codebase більш організованим: 1 компонент = 1 словник у тій самій папці. Переклади поруч із відповідними компонентами підвищують підтримуваність і зрозумілість. <br><br> - [Як працює Intlayer](https://intlayer.org/doc/concept/how-works-intlayer) |
|
|
60
|
+
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/url_routing.png?raw=true" alt="Маршрутизація" width="700"> | **Покращена маршрутизація**<br><br>Повна підтримка маршрутизації застосунків, що безшовно адаптується до складних структур додатків для Next.js, React, Vite, Vue.js тощо.<br><br> - [Дізнатися про інтеграцію з Next.js](https://intlayer.org/doc/environment/nextjs) |
|
|
61
|
+
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/markdown.png?raw=true" alt="Markdown" width="700"> | **Підтримка Markdown**<br><br>Імпортуйте та інтерпретуйте локалізовані файли і віддалений Markdown для багатомовного контенту, такого як політики конфіденційності, документація тощо. Інтерпретуйте та робіть метадані Markdown доступними у вашому коді.<br><br> - [Файли контенту](https://intlayer.org/doc/concept/content/file) |
|
|
62
|
+
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/visual_editor.png?raw=true" alt="Візуальний редактор" width="700"> | **Безкоштовний візуальний редактор та CMS**<br><br>Для авторів контенту доступні безкоштовний візуальний редактор та CMS, що усуває потребу в окремій платформі локалізації. Підтримуйте синхронізацію контенту за допомогою Git або зовнішньо розміщуйте його повністю чи частково через CMS.<br><br> - [Intlayer Editor](https://intlayer.org/doc/concept/editor) <br> - [Intlayer CMS](https://intlayer.org/doc/concept/cms) |
|
|
63
|
+
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/bundle.png?raw=true" alt="Bundle" width="700"> | **Tree-shakable контент**<br><br>Tree-shakable контент, що зменшує розмір фінального бандла. Завантажує контент на рівні компонента, виключаючи будь-який невикористаний контент із вашого бандла. Підтримує lazy loading для підвищення ефективності завантаження застосунку. <br><br> - [Оптимізація збірки додатка](https://intlayer.org/doc/concept/how-works-intlayer#app-build-optimization) |
|
|
64
|
+
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/static_rendering.png?raw=true" alt="Static Rendering" width="700"> | **Статичний рендеринг**<br><br>Не блокує статичний рендеринг. <br><br> - [Інтеграція з Next.js](https://intlayer.org/doc/environment/nextjs) |
|
|
65
|
+
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/AI_translation.png?raw=true" alt="AI" width="700"> | **Переклад на основі AI**<br><br>Перетворіть свій вебсайт на 231 мову всього за один клік, використовуючи розширені AI-інструменти перекладу Intlayer з вашим власним постачальником AI / ключем API. <br><br> - [Інтеграція CI/CD](https://intlayer.org/doc/concept/ci-cd) <br> - [Intlayer CLI](https://intlayer.org/doc/concept/cli) <br> - [Автозаповнення](https://intlayer.org/doc/concept/auto-fill) |
|
|
66
|
+
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/mcp.png?raw=true" alt="MCP" width="700"> | **Інтеграція сервера MCP**<br><br>Надає сервер MCP (Model Context Protocol) для автоматизації IDE, що дозволяє безперешкодне керування контентом та i18n-робочі процеси безпосередньо у вашому середовищі розробки. <br><br> - [Сервер MCP](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/mcp_server.md) |
|
|
67
|
+
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/vscode_extension.png?raw=true" alt="Extension" width="700"> | **Розширення для VSCode**<br><br>Intlayer надає розширення для VSCode, яке допомагає керувати вашим контентом та перекладами, створювати словники, перекладати ваш контент та інше. <br><br> - [Розширення для VSCode](https://intlayer.org/doc/vs-code-extension) |
|
|
68
|
+
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/interoperability.png?raw=true" alt="Interoperability" width="700"> | **Сумісність**<br><br>Забезпечує сумісність з react-i18next, next-i18next, next-intl, react-intl, vue-i18n. <br><br> - [Intlayer і react-intl](https://intlayer.org/blog/intlayer-with-react-intl) <br> - [Intlayer і next-intl](https://intlayer.org/blog/intlayer-with-next-intl) <br> - [Intlayer і next-i18next](https://intlayer.org/blog/intlayer-with-next-i18next) <br> - [Intlayer і vue-i18n](https://intlayer.org/blog/intlayer-with-vue-i18n) |
|
|
71
69
|
|
|
72
70
|
---
|
|
73
71
|
|
|
@@ -75,8 +73,8 @@ Intlayer — це **сучасне рішення для i18n** для веб-
|
|
|
75
73
|
|
|
76
74
|
Почніть свою подорож з Intlayer сьогодні та відчуйте більш плавний і потужний підхід до інтернаціоналізації.
|
|
77
75
|
|
|
78
|
-
<a href="https://intlayer.org/doc/concept/content">
|
|
79
|
-
<img src="https://img.shields.io/badge
|
|
76
|
+
<a href="https://intlayer.org/doc/concept/content" rel="">
|
|
77
|
+
<img src="https://img.shields.io/badge/Почати-FFFFFF?style=for-the-badge&logo=rocket&logoColor=black" />
|
|
80
78
|
</a>
|
|
81
79
|
|
|
82
80
|
```bash
|
|
@@ -99,11 +97,29 @@ const config: IntlayerConfig = {
|
|
|
99
97
|
export default config;
|
|
100
98
|
```
|
|
101
99
|
|
|
100
|
+
```ts
|
|
101
|
+
// app/home.content.ts
|
|
102
|
+
import { t, type Dictionary } from "intlayer";
|
|
103
|
+
|
|
104
|
+
const content = {
|
|
105
|
+
key: "home",
|
|
106
|
+
content: {
|
|
107
|
+
title: t({
|
|
108
|
+
en: "Home",
|
|
109
|
+
fr: "Accueil",
|
|
110
|
+
es: "Inicio",
|
|
111
|
+
}),
|
|
112
|
+
},
|
|
113
|
+
} satisfies Dictionary;
|
|
114
|
+
|
|
115
|
+
export default content;
|
|
116
|
+
```
|
|
117
|
+
|
|
102
118
|
```tsx
|
|
103
119
|
// app/page.tsx
|
|
104
120
|
import { useIntlayer } from "react-intlayer";
|
|
105
121
|
|
|
106
|
-
const
|
|
122
|
+
const HomePage = () => {
|
|
107
123
|
const { title } = useIntlayer("home");
|
|
108
124
|
|
|
109
125
|
return <h1>{title}</h1>;
|
|
@@ -116,8 +132,8 @@ const Component = () => {
|
|
|
116
132
|
|
|
117
133
|
[](https://youtu.be/e_PPG7PTqGU?si=GyU_KpVhr61razRw)
|
|
118
134
|
|
|
119
|
-
<a href="https://intlayer.org/doc/concept/content">
|
|
120
|
-
<img src="https://img.shields.io/badge
|
|
135
|
+
<a href="https://intlayer.org/doc/concept/content" rel="">
|
|
136
|
+
<img src="https://img.shields.io/badge/Почати-FFFFFF?style=for-the-badge&logo=rocket&logoColor=black" />
|
|
121
137
|
</a>
|
|
122
138
|
|
|
123
139
|
## Зміст
|
|
@@ -127,31 +143,32 @@ const Component = () => {
|
|
|
127
143
|
<details open>
|
|
128
144
|
<summary style="font-size:16px; font-weight:bold;">📘 Початок роботи</summary>
|
|
129
145
|
<ul>
|
|
130
|
-
<li><a href="https://intlayer.org/doc/why">Чому Intlayer?</a></li>
|
|
131
|
-
<li><a href="https://intlayer.org/doc">Вступ</a></li>
|
|
146
|
+
<li><a href="https://intlayer.org/doc/why" rel=''>Чому Intlayer?</a></li>
|
|
147
|
+
<li><a href="https://intlayer.org/doc" rel=''>Вступ</a></li>
|
|
132
148
|
</ul>
|
|
133
149
|
</details>
|
|
134
150
|
|
|
135
151
|
<details>
|
|
136
152
|
<summary style="font-size:16px; font-weight:bold;">⚙️ Концепція</summary>
|
|
137
153
|
<ul>
|
|
138
|
-
<li><a href="https://intlayer.org/doc/concept/how-works-intlayer">Як працює Intlayer</a></li>
|
|
139
|
-
<li><a href="https://intlayer.org/doc/concept/configuration">Конфігурація</a></li>
|
|
140
|
-
<li><a href="https://intlayer.org/doc/concept/
|
|
141
|
-
<li><a href="https://intlayer.org/doc/
|
|
142
|
-
|
|
143
|
-
<li><a href="https://intlayer.org/doc/concept/
|
|
144
|
-
<li><a href="https://intlayer.org/doc/concept/
|
|
154
|
+
<li><a href="https://intlayer.org/doc/concept/how-works-intlayer" rel=''>Як працює Intlayer</a></li>
|
|
155
|
+
<li><a href="https://intlayer.org/doc/concept/configuration" rel=''>Конфігурація</a></li>
|
|
156
|
+
<li><a href="https://intlayer.org/doc/concept/cli" rel=''>Intlayer CLI</a></li>
|
|
157
|
+
<li><a href="https://intlayer.org/doc/compiler" rel=''>Компілятор</a></li>
|
|
158
|
+
|
|
159
|
+
<li><a href="https://intlayer.org/doc/concept/editor" rel=''>Intlayer Editor</a></li>
|
|
160
|
+
<li><a href="https://intlayer.org/doc/concept/cms" rel=''>Intlayer CMS</a></li>
|
|
161
|
+
<li><a href="https://intlayer.org/doc/concept/content" rel=''>Словник</a>
|
|
145
162
|
<ul>
|
|
146
|
-
<li><a href="https://intlayer.org/doc/concept/content/per-locale-file">Файл декларації контенту для кожної локалі</a></li>
|
|
147
|
-
<li><a href="https://intlayer.org/doc/concept/content/translation">Переклад</a></li>
|
|
148
|
-
<li><a href="https://intlayer.org/doc/concept/content/enumeration">Перелічення</a></li>
|
|
149
|
-
<li><a href="https://intlayer.org/doc/concept/content/condition">Умова</a></li>
|
|
150
|
-
<li><a href="https://intlayer.org/doc/concept/content/nesting">Вкладення</a></li>
|
|
151
|
-
<li><a href="https://intlayer.org/doc/concept/content/markdown">Markdown</a></li>
|
|
152
|
-
<li><a href="https://intlayer.org/doc/concept/content/function-fetching">Отримання через функцію</a></li>
|
|
153
|
-
<li><a href="https://intlayer.org/doc/concept/content/insertion">Вставка</a></li>
|
|
154
|
-
<li><a href="https://intlayer.org/doc/concept/content/file">Файл</a></li>
|
|
163
|
+
<li><a href="https://intlayer.org/doc/concept/content/per-locale-file" rel=''>Файл декларації контенту для кожної локалі</a></li>
|
|
164
|
+
<li><a href="https://intlayer.org/doc/concept/content/translation" rel=''>Переклад</a></li>
|
|
165
|
+
<li><a href="https://intlayer.org/doc/concept/content/enumeration" rel=''>Перелічення</a></li>
|
|
166
|
+
<li><a href="https://intlayer.org/doc/concept/content/condition" rel=''>Умова</a></li>
|
|
167
|
+
<li><a href="https://intlayer.org/doc/concept/content/nesting" rel=''>Вкладення</a></li>
|
|
168
|
+
<li><a href="https://intlayer.org/doc/concept/content/markdown" rel=''>Markdown</a></li>
|
|
169
|
+
<li><a href="https://intlayer.org/doc/concept/content/function-fetching" rel=''>Отримання через функцію</a></li>
|
|
170
|
+
<li><a href="https://intlayer.org/doc/concept/content/insertion" rel=''>Вставка</a></li>
|
|
171
|
+
<li><a href="https://intlayer.org/doc/concept/content/file" rel=''>Файл</a></li>
|
|
155
172
|
</ul>
|
|
156
173
|
</li>
|
|
157
174
|
</ul>
|
|
@@ -160,59 +177,69 @@ const Component = () => {
|
|
|
160
177
|
<details open>
|
|
161
178
|
<summary style="font-size:16px; font-weight:bold;">🌐 Середовище</summary>
|
|
162
179
|
<ul>
|
|
163
|
-
<li><a href="https://intlayer.org/doc/environment/nextjs">Intlayer з Next.js
|
|
180
|
+
<li><a href="https://intlayer.org/doc/environment/nextjs" rel=''>Intlayer з Next.js 16</a>
|
|
164
181
|
<ul>
|
|
165
|
-
<li><a href="https://intlayer.org/doc/environment/nextjs/
|
|
166
|
-
<li><a href="https://intlayer.org/doc/environment/nextjs/
|
|
182
|
+
<li><a href="https://intlayer.org/doc/environment/nextjs/15" rel=''>Next.js 15</a></li>
|
|
183
|
+
<li><a href="https://intlayer.org/doc/environment/nextjs/14" rel=''>Next.js 14 (App Router)</a></li>
|
|
184
|
+
<li><a href="https://intlayer.org/doc/environment/nextjs/next-with-Page-Router" rel=''>Next.js Page Router</a></li>
|
|
185
|
+
<li><a href="https://intlayer.org/doc/environment/nextjs/compiler" rel=''>Next.js за допомогою компілятора</a></li>
|
|
167
186
|
</ul>
|
|
168
187
|
</li>
|
|
169
|
-
<li><a href="https://intlayer.org/doc/environment/create-react-app">React CRA</a></li>
|
|
170
|
-
<li><a href="https://intlayer.org/doc/environment/vite-and-react">Vite + React</a>
|
|
188
|
+
<li><a href="https://intlayer.org/doc/environment/create-react-app" rel=''>React CRA</a></li>
|
|
189
|
+
<li><a href="https://intlayer.org/doc/environment/vite-and-react" rel=''>Vite + React</a></li>
|
|
190
|
+
<li><a href="https://intlayer.org/doc/environment/vite-and-react" rel=''>Vite + React за допомогою компілятора</a></li>
|
|
191
|
+
<li><a href="https://intlayer.org/doc/environment/vite-and-react/compiler" rel=''>React-router-v7</a></li>
|
|
192
|
+
<li><a href="https://intlayer.org/doc/environment/vite-and-react/tanstack-start" rel=''>Tanstack start</a></li>
|
|
193
|
+
<li><a href="https://intlayer.org/doc/environment/react-native-and-expo" rel=''>React Native</a></li>
|
|
194
|
+
<li><a href="https://intlayer.org/doc/environment/vite-and-svelte" rel=''>Vite + Svelte</a></li>
|
|
195
|
+
<li><a href="https://intlayer.org/doc/environment/sveltekit" rel=''>SvelteKit</a></li>
|
|
196
|
+
<li><a href="https://intlayer.org/doc/environment/vite-and-preact" rel=''>Vite + Preact</a></li>
|
|
197
|
+
<li><a href="https://intlayer.org/doc/environment/vite-and-vue" rel=''>Vite + Vue</a></li>
|
|
198
|
+
<li><a href="https://intlayer.org/doc/environment/vite-and-nuxt" rel=''>Vite + Nuxt</a></li>
|
|
199
|
+
<li><a href="https://intlayer.org/doc/environment/vite-and-solid" rel=''>Vite + Solid</a></li>
|
|
200
|
+
<li><a href="https://intlayer.org/doc/environment/angular" rel=''>Angular</a></li>
|
|
201
|
+
<li>
|
|
202
|
+
<a href="https://intlayer.org/doc/environment/express" rel=''>Backend</a>
|
|
171
203
|
<ul>
|
|
172
|
-
<li><a href="https://intlayer.org/doc/environment/
|
|
173
|
-
<li><a href="https://intlayer.org/doc/environment/
|
|
204
|
+
<li><a href="https://intlayer.org/doc/environment/express" rel=''>Express</a></li>
|
|
205
|
+
<li><a href="https://intlayer.org/doc/environment/nest" rel=''>NestJS</a></li>
|
|
206
|
+
<li><a href="https://intlayer.org/doc/environment/fastify" rel=''>Fastify</a></li>
|
|
207
|
+
<li><a href="https://intlayer.org/doc/environment/adonisjs" rel=''>AdonisJS</a></li>
|
|
208
|
+
<li><a href="https://intlayer.org/doc/environment/hono" rel=''>Hono</a></li>
|
|
174
209
|
</ul>
|
|
175
210
|
</li>
|
|
176
|
-
<li><a href="https://intlayer.org/doc/environment/react-native-and-expo">React Native</a></li>
|
|
177
|
-
<li><a href="https://intlayer.org/doc/environment/lynx-and-react">Lynx + React</a></li>
|
|
178
|
-
<li><a href="https://intlayer.org/doc/environment/vite-and-svelte">Vite + Svelte</a></li>
|
|
179
|
-
<li><a href="https://intlayer.org/doc/environment/vite-and-preact">Vite + Preact</a></li>
|
|
180
|
-
<li><a href="https://intlayer.org/doc/environment/vite-and-vue">Vite + Vue</a></li>
|
|
181
|
-
<li><a href="https://intlayer.org/doc/environment/vite-and-nuxt">Vite + Nuxt</a></li>
|
|
182
|
-
<li><a href="https://intlayer.org/doc/environment/vite-and-solid">Vite + Solid</a></li>
|
|
183
|
-
<li><a href="https://intlayer.org/doc/environment/angular">Angular</a></li>
|
|
184
|
-
<li><a href="https://intlayer.org/doc/environment/express">Express</a></li>
|
|
185
|
-
<li><a href="https://intlayer.org/doc/environment/nest">NestJS</a></li>
|
|
186
211
|
</ul>
|
|
187
212
|
</details>
|
|
188
213
|
|
|
189
214
|
<details>
|
|
190
215
|
<summary style="font-size:16px; font-weight:bold;">📰 Блог</summary>
|
|
191
216
|
<ul>
|
|
192
|
-
<li><a href="https://github.com/aymericzip/intlayer/blob/main/docs/blog/uk/what_is_internationalization.md">Що таке i18n
|
|
193
|
-
<li><a href="https://intlayer.org/blog/SEO-and-i18n">i18n та SEO</a></li>
|
|
194
|
-
<li><a href="https://intlayer.org/blog/intlayer-with-next-i18next">Intlayer та i18next</a></li>
|
|
195
|
-
<li><a href="https://intlayer.org/blog/intlayer-with-react-i18next">Intlayer та react-intl</a></li>
|
|
196
|
-
<li><a href="https://intlayer.org/blog/intlayer-with-next-intl">Intlayer і next-intl</a></li>
|
|
217
|
+
<li><a href="https://github.com/aymericzip/intlayer/blob/main/docs/blog/uk/what_is_internationalization.md" rel=''>Що таке i18n ?</a></li>
|
|
218
|
+
<li><a href="https://intlayer.org/blog/SEO-and-i18n" rel=''>i18n та SEO</a></li>
|
|
219
|
+
<li><a href="https://intlayer.org/blog/intlayer-with-next-i18next" rel=''>Intlayer та i18next</a></li>
|
|
220
|
+
<li><a href="https://intlayer.org/blog/intlayer-with-react-i18next" rel=''>Intlayer та react-intl</a></li>
|
|
221
|
+
<li><a href="https://intlayer.org/blog/intlayer-with-next-intl" rel=''>Intlayer і next-intl</a></li>
|
|
197
222
|
</ul>
|
|
198
223
|
</details>
|
|
199
224
|
|
|
200
225
|
## 🌐 Readme іншими мовами
|
|
201
226
|
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
227
|
+
<p align="center">
|
|
228
|
+
<a href="https://github.com/aymericzip/intlayer/blob/main/readme.md">English</a> •
|
|
229
|
+
<a href="https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/readme.md">简体中文</a> •
|
|
230
|
+
<a href="https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/readme.md">Русский</a> •
|
|
231
|
+
<a href="https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/readme.md">日本語</a> •
|
|
232
|
+
<a href="https://github.com/aymericzip/intlayer/blob/main/docs/docs/fr/readme.md">Français</a> •
|
|
233
|
+
<a href="https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/readme.md">한국어</a> •
|
|
234
|
+
<a href="https://github.com/aymericzip/intlayer/blob/main/docs/docs/es/readme.md">Español</a> •
|
|
235
|
+
<a href="https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/readme.md">Deutsch</a> •
|
|
236
|
+
<a href="https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/readme.md">العربية</a> •
|
|
237
|
+
<a href="https://github.com/aymericzip/intlayer/blob/main/docs/docs/it/readme.md">Italiano</a> •
|
|
238
|
+
<a href="https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/readme.md">English (UK)</a> •
|
|
239
|
+
<a href="https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/readme.md">Português</a> •
|
|
240
|
+
<a href="https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/readme.md">हिन्दी</a> •
|
|
241
|
+
<a href="https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/readme.md">Türkçe</a>
|
|
242
|
+
</p>
|
|
216
243
|
|
|
217
244
|
## 🤝 Спільнота
|
|
218
245
|
|
|
@@ -227,25 +254,22 @@ Intlayer створено спільнотою і для спільноти —
|
|
|
227
254
|
<div>
|
|
228
255
|
<br/>
|
|
229
256
|
<p align="center">
|
|
230
|
-
<a href="https://discord.gg/528mBV4N" target="blank"><img align="center"
|
|
257
|
+
<a href="https://discord.gg/528mBV4N" target="blank" rel='noopener noreferrer nofollow'><img align="center"
|
|
231
258
|
src="https://img.shields.io/badge/discord-5865F2.svg?style=for-the-badge&logo=discord&logoColor=white"
|
|
232
259
|
alt="Intlayer у Discord" height="30"/></a>
|
|
233
|
-
<a href="https://www.linkedin.com/company/intlayerorg" target="blank"><img align="center"
|
|
260
|
+
<a href="https://www.linkedin.com/company/intlayerorg" target="blank" rel='noopener noreferrer nofollow'><img align="center"
|
|
234
261
|
src="https://img.shields.io/badge/linkedin-%231DA1F2.svg?style=for-the-badge&logo=linkedin&logoColor=white"
|
|
235
262
|
alt="Intlayer на LinkedIn" height="30"/></a>
|
|
236
|
-
<a href="https://www.
|
|
237
|
-
src="https://img.shields.io/badge/facebook-4267B2.svg?style=for-the-badge&logo=facebook&logoColor=white"
|
|
238
|
-
alt="Intlayer у Facebook" height="30"/></a>
|
|
239
|
-
<a href="https://www.instagram.com/intlayer/" target="blank"><img align="center"
|
|
263
|
+
<a href="https://www.instagram.com/intlayer/" target="blank" rel='noopener noreferrer nofollow'><img align="center"
|
|
240
264
|
src="https://img.shields.io/badge/instagram-%23E4405F.svg?style=for-the-badge&logo=Instagram&logoColor=white"
|
|
241
265
|
alt="Intlayer в Instagram" height="30"/></a>
|
|
242
|
-
<a href="https://x.com/Intlayer183096" target="blank"><img align="center"
|
|
266
|
+
<a href="https://x.com/Intlayer183096" target="blank" rel='noopener noreferrer nofollow'><img align="center"
|
|
243
267
|
src="https://img.shields.io/badge/x-1DA1F2.svg?style=for-the-badge&logo=x&logoColor=white"
|
|
244
268
|
alt="Intlayer у X" height="30"/></a>
|
|
245
|
-
<a href="https://www.youtube.com/@intlayer" target="blank"><img align="center"
|
|
269
|
+
<a href="https://www.youtube.com/@intlayer" target="blank" rel='noopener noreferrer nofollow'><img align="center"
|
|
246
270
|
src="https://img.shields.io/badge/youtube-FF0000.svg?style=for-the-badge&logo=youtube&logoColor=white"
|
|
247
271
|
alt="Intlayer на YouTube" height="30"/></a>
|
|
248
|
-
<a href="https://www.tiktok.com/@intlayer" target="blank"><img align="center"
|
|
272
|
+
<a href="https://www.tiktok.com/@intlayer" target="blank" rel='noopener noreferrer nofollow'><img align="center"
|
|
249
273
|
src="https://img.shields.io/badge/tiktok-000000.svg?style=for-the-badge&logo=tiktok&logoColor=white"
|
|
250
274
|
alt="Intlayer у TikTok" height="30"/></a>
|
|
251
275
|
<br>
|
|
@@ -256,10 +280,10 @@ Intlayer створено спільнотою і для спільноти —
|
|
|
256
280
|
|
|
257
281
|
Для детальніших інструкцій щодо участі в цьому проєкті, будь ласка, зверніться до файлу [`CONTRIBUTING.md`](https://github.com/aymericzip/intlayer/blob/main/CONTRIBUTING.md). Він містить важливу інформацію про наш процес розробки, конвенції повідомлень комітів і процедури релізів. Ваші внески цінні для нас, і ми вдячні за ваші зусилля з покращення цього проєкту!
|
|
258
282
|
|
|
259
|
-
|
|
283
|
+
Зробіть свій внесок на [GitHub](https://github.com/aymericzip/intlayer), [GitLab](https://gitlab.com/ay.pineau/intlayer) або [Bitbucket](https://bitbucket.org/intlayer/intlayer/).
|
|
260
284
|
|
|
261
285
|
### Дякуємо за підтримку
|
|
262
286
|
|
|
263
|
-
Якщо вам подобається Intlayer, поставте нам ⭐ на GitHub. Це допомагає іншим дізнатися про проєкт!
|
|
287
|
+
Якщо вам подобається Intlayer, поставте нам ⭐ на GitHub. Це допомагає іншим дізнатися про проєкт! [Дізнайтеся, чому зірки на GitHub важливі](https://github.com/aymericzip/intlayer/blob/main/CONTRIBUTING.md#why-github-stars-matter-).
|
|
264
288
|
|
|
265
289
|
[](https://star-history.com/#aymericzip/intlayer&Date)
|
package/docs/vi/compiler.md
CHANGED
|
@@ -53,6 +53,9 @@ Như một giải pháp thay thế, để tự động hóa quy trình i18n củ
|
|
|
53
53
|
|
|
54
54
|
## Cách sử dụng
|
|
55
55
|
|
|
56
|
+
<Tabs>
|
|
57
|
+
<Tab value='vite'>
|
|
58
|
+
|
|
56
59
|
### Vite
|
|
57
60
|
|
|
58
61
|
Đối với các ứng dụng dựa trên Vite (React, Vue, Svelte, v.v.), cách dễ nhất để sử dụng trình biên dịch là thông qua plugin `vite-intlayer`.
|
|
@@ -79,6 +82,8 @@ export default defineConfig({
|
|
|
79
82
|
});
|
|
80
83
|
```
|
|
81
84
|
|
|
85
|
+
See complete tutorial: [Intlayer Compiler with Vite+React](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_with_vite+react_compiler.md)
|
|
86
|
+
|
|
82
87
|
#### Hỗ trợ Framework
|
|
83
88
|
|
|
84
89
|
Plugin Vite tự động phát hiện và xử lý các loại file khác nhau:
|
|
@@ -97,6 +102,9 @@ npm install @intlayer/vue-compiler
|
|
|
97
102
|
npm install @intlayer/svelte-compiler
|
|
98
103
|
```
|
|
99
104
|
|
|
105
|
+
</Tab>
|
|
106
|
+
<Tab value='nextjs'>
|
|
107
|
+
|
|
100
108
|
### Next.js (Babel)
|
|
101
109
|
|
|
102
110
|
Đối với Next.js hoặc các ứng dụng dựa trên Webpack sử dụng Babel, bạn có thể cấu hình trình biên dịch bằng cách sử dụng plugin `@intlayer/babel`.
|
|
@@ -130,4 +138,22 @@ module.exports = {
|
|
|
130
138
|
};
|
|
131
139
|
```
|
|
132
140
|
|
|
133
|
-
Cấu hình này đảm bảo rằng nội dung được khai báo trong các component của bạn
|
|
141
|
+
Cấu hình này đảm bảo rằng nội dung được khai báo trong các component của bạn será được tự động trích xuất và sử dụng để tạo từ điển trong quá trình build.
|
|
142
|
+
|
|
143
|
+
See complete tutorial: [Intlayer Compiler with Next.js](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_with_nextjs_compiler.md)
|
|
144
|
+
|
|
145
|
+
</Tab>
|
|
146
|
+
|
|
147
|
+
### Điền các bản dịch còn thiếu
|
|
148
|
+
|
|
149
|
+
Intlayer cung cấp một công cụ CLI để giúp bạn điền các bản dịch còn thiếu. Bạn có thể sử dụng lệnh `intlayer` để kiểm tra và điền các bản dịch còn thiếu từ mã của mình.
|
|
150
|
+
|
|
151
|
+
```bash
|
|
152
|
+
npx intlayer test # Kiểm tra xem có thiếu bản dịch không
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
```bash
|
|
156
|
+
npx intlayer fill # Điền các bản dịch còn thiếu
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
> Để biết thêm chi tiết, hãy tham khảo [tài liệu CLI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/cli/ci.md)
|