@intlayer/docs 8.9.6-canary.0 → 8.9.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.
Files changed (141) hide show
  1. package/blog/ar/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
  2. package/blog/de/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
  3. package/blog/en/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
  4. package/blog/en/react-i18next_vs_react-intl_vs_intlayer.md +1 -1
  5. package/blog/en-GB/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
  6. package/blog/es/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
  7. package/blog/fr/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
  8. package/blog/id/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
  9. package/blog/id/react-i18next_vs_react-intl_vs_intlayer.md +1 -1
  10. package/blog/it/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
  11. package/blog/ja/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
  12. package/blog/ko/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
  13. package/blog/pl/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
  14. package/blog/pl/react-i18next_vs_react-intl_vs_intlayer.md +1 -1
  15. package/blog/pt/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
  16. package/blog/ru/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
  17. package/blog/tr/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
  18. package/blog/tr/react-i18next_vs_react-intl_vs_intlayer.md +1 -1
  19. package/blog/uk/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
  20. package/blog/uk/react-i18next_vs_react-intl_vs_intlayer.md +1 -1
  21. package/blog/vi/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
  22. package/blog/vi/react-i18next_vs_react-intl_vs_intlayer.md +1 -1
  23. package/blog/zh/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
  24. package/docs/ar/benchmark/nextjs.md +8 -8
  25. package/docs/ar/benchmark/solid.md +8 -8
  26. package/docs/ar/benchmark/svelte.md +8 -8
  27. package/docs/ar/benchmark/tanstack.md +7 -7
  28. package/docs/ar/benchmark/vue.md +8 -8
  29. package/docs/ar/interest_of_intlayer.md +107 -80
  30. package/docs/bn/interest_of_intlayer.md +237 -0
  31. package/docs/cs/interest_of_intlayer.md +237 -0
  32. package/docs/de/benchmark/nextjs.md +8 -8
  33. package/docs/de/benchmark/solid.md +8 -8
  34. package/docs/de/benchmark/svelte.md +8 -8
  35. package/docs/de/benchmark/tanstack.md +7 -7
  36. package/docs/de/benchmark/vue.md +8 -8
  37. package/docs/de/interest_of_intlayer.md +98 -74
  38. package/docs/en/benchmark/___nextjs.md +8 -8
  39. package/docs/en/benchmark/___tanstack.md +6 -6
  40. package/docs/en/benchmark/nextjs.md +8 -8
  41. package/docs/en/benchmark/solid.md +8 -8
  42. package/docs/en/benchmark/svelte.md +8 -8
  43. package/docs/en/benchmark/tanstack.md +7 -7
  44. package/docs/en/benchmark/vue.md +8 -8
  45. package/docs/en/configuration.md +2 -1
  46. package/docs/en/interest_of_intlayer.md +1 -1
  47. package/docs/en-GB/benchmark/nextjs.md +8 -8
  48. package/docs/en-GB/benchmark/solid.md +8 -8
  49. package/docs/en-GB/benchmark/svelte.md +8 -8
  50. package/docs/en-GB/benchmark/tanstack.md +7 -7
  51. package/docs/en-GB/benchmark/vue.md +8 -8
  52. package/docs/en-GB/configuration.md +2 -1
  53. package/docs/en-GB/interest_of_intlayer.md +59 -33
  54. package/docs/es/benchmark/nextjs.md +8 -8
  55. package/docs/es/benchmark/solid.md +8 -8
  56. package/docs/es/benchmark/svelte.md +8 -8
  57. package/docs/es/benchmark/tanstack.md +7 -7
  58. package/docs/es/benchmark/vue.md +8 -8
  59. package/docs/es/interest_of_intlayer.md +28 -2
  60. package/docs/fr/benchmark/nextjs.md +8 -8
  61. package/docs/fr/benchmark/solid.md +8 -8
  62. package/docs/fr/benchmark/svelte.md +8 -8
  63. package/docs/fr/benchmark/tanstack.md +7 -7
  64. package/docs/fr/benchmark/vue.md +8 -8
  65. package/docs/fr/interest_of_intlayer.md +47 -21
  66. package/docs/hi/benchmark/nextjs.md +8 -8
  67. package/docs/hi/benchmark/solid.md +8 -8
  68. package/docs/hi/benchmark/svelte.md +8 -8
  69. package/docs/hi/benchmark/tanstack.md +7 -7
  70. package/docs/hi/benchmark/vue.md +8 -8
  71. package/docs/hi/interest_of_intlayer.md +114 -88
  72. package/docs/id/benchmark/nextjs.md +8 -8
  73. package/docs/id/benchmark/solid.md +8 -8
  74. package/docs/id/benchmark/svelte.md +8 -8
  75. package/docs/id/benchmark/tanstack.md +7 -7
  76. package/docs/id/benchmark/vue.md +8 -8
  77. package/docs/id/interest_of_intlayer.md +81 -81
  78. package/docs/it/benchmark/nextjs.md +8 -8
  79. package/docs/it/benchmark/solid.md +8 -8
  80. package/docs/it/benchmark/svelte.md +8 -8
  81. package/docs/it/benchmark/tanstack.md +7 -7
  82. package/docs/it/benchmark/vue.md +4 -4
  83. package/docs/it/interest_of_intlayer.md +96 -69
  84. package/docs/ja/benchmark/nextjs.md +8 -8
  85. package/docs/ja/benchmark/solid.md +8 -8
  86. package/docs/ja/benchmark/svelte.md +8 -8
  87. package/docs/ja/benchmark/tanstack.md +7 -7
  88. package/docs/ja/benchmark/vue.md +8 -8
  89. package/docs/ja/interest_of_intlayer.md +108 -81
  90. package/docs/ko/benchmark/nextjs.md +8 -8
  91. package/docs/ko/benchmark/solid.md +8 -8
  92. package/docs/ko/benchmark/svelte.md +8 -8
  93. package/docs/ko/benchmark/tanstack.md +7 -7
  94. package/docs/ko/benchmark/vue.md +8 -8
  95. package/docs/ko/interest_of_intlayer.md +101 -74
  96. package/docs/nl/interest_of_intlayer.md +237 -0
  97. package/docs/pl/benchmark/nextjs.md +8 -8
  98. package/docs/pl/benchmark/solid.md +8 -8
  99. package/docs/pl/benchmark/svelte.md +8 -8
  100. package/docs/pl/benchmark/tanstack.md +7 -7
  101. package/docs/pl/benchmark/vue.md +8 -8
  102. package/docs/pl/interest_of_intlayer.md +85 -83
  103. package/docs/pt/benchmark/nextjs.md +8 -8
  104. package/docs/pt/benchmark/solid.md +8 -8
  105. package/docs/pt/benchmark/svelte.md +8 -8
  106. package/docs/pt/benchmark/tanstack.md +7 -7
  107. package/docs/pt/benchmark/vue.md +8 -8
  108. package/docs/pt/interest_of_intlayer.md +91 -67
  109. package/docs/ru/benchmark/nextjs.md +8 -8
  110. package/docs/ru/benchmark/solid.md +6 -7
  111. package/docs/ru/benchmark/svelte.md +8 -8
  112. package/docs/ru/benchmark/tanstack.md +7 -7
  113. package/docs/ru/benchmark/vue.md +8 -8
  114. package/docs/ru/interest_of_intlayer.md +95 -69
  115. package/docs/tr/benchmark/nextjs.md +8 -8
  116. package/docs/tr/benchmark/solid.md +8 -8
  117. package/docs/tr/benchmark/svelte.md +8 -8
  118. package/docs/tr/benchmark/tanstack.md +7 -7
  119. package/docs/tr/benchmark/vue.md +8 -8
  120. package/docs/tr/interest_of_intlayer.md +94 -89
  121. package/docs/uk/benchmark/nextjs.md +8 -8
  122. package/docs/uk/benchmark/solid.md +8 -8
  123. package/docs/uk/benchmark/svelte.md +8 -8
  124. package/docs/uk/benchmark/tanstack.md +7 -7
  125. package/docs/uk/benchmark/vue.md +8 -8
  126. package/docs/uk/interest_of_intlayer.md +94 -96
  127. package/docs/ur/interest_of_intlayer.md +237 -0
  128. package/docs/vi/benchmark/nextjs.md +8 -8
  129. package/docs/vi/benchmark/solid.md +8 -8
  130. package/docs/vi/benchmark/svelte.md +8 -8
  131. package/docs/vi/benchmark/tanstack.md +7 -7
  132. package/docs/vi/benchmark/vue.md +8 -8
  133. package/docs/vi/interest_of_intlayer.md +82 -79
  134. package/docs/zh/benchmark/nextjs.md +8 -8
  135. package/docs/zh/benchmark/solid.md +6 -7
  136. package/docs/zh/benchmark/svelte.md +7 -7
  137. package/docs/zh/benchmark/tanstack.md +7 -7
  138. package/docs/zh/benchmark/vue.md +8 -8
  139. package/docs/zh/interest_of_intlayer.md +99 -72
  140. package/docs/zh-TW/interest_of_intlayer.md +237 -0
  141. package/package.json +6 -6
@@ -2,12 +2,12 @@
2
2
  createdAt: 2024-08-14
3
3
  updatedAt: 2025-09-27
4
4
  title: Переваги Intlayer
5
- description: Дізнайтеся про користь та переваги використання Intlayer у ваших проєктах. Зрозумійте, чому Intlayer вирізняється серед інших фреймворків.
5
+ description: Відкрийте для себе переваги та користь використання Intlayer у ваших проектах. Зрозумійте, чому Intlayer виділяється серед інших фреймворків.
6
6
  keywords:
7
7
  - Переваги
8
- - Плюси
8
+ - Користь
9
9
  - Intlayer
10
- - Framework
10
+ - Фреймворк
11
11
  - Порівняння
12
12
  slugs:
13
13
  - doc
@@ -15,26 +15,26 @@ slugs:
15
15
  history:
16
16
  - version: 7.3.1
17
17
  date: 2025-11-27
18
- changes: "Release Compiler"
18
+ changes: "Випуск Компілятора"
19
19
  - version: 5.8.0
20
20
  date: 2025-08-19
21
- changes: "Update comparative table"
21
+ changes: "Оновлення порівняльної таблиці"
22
22
  - version: 5.5.10
23
23
  date: 2025-06-29
24
- changes: "Init history"
24
+ changes: "Початкова історія"
25
25
  ---
26
26
 
27
27
  # Чому варто розглянути Intlayer?
28
28
 
29
29
  ## Що таке Intlayer?
30
30
 
31
- **Intlayer**, це бібліотека інтернаціоналізації, спеціально розроблена для JavaScript-розробників. Вона дозволяє декларувати ваш контент у будь-якому місці коду. Вона перетворює декларації багатомовного контенту на структуровані словники для легкої інтеграції у ваш код. Використовуючи TypeScript, **Intlayer** робить вашу розробку більш надійною та ефективною.
31
+ **Intlayer** це бібліотека інтернаціоналізації, розроблена спеціально для розробників JavaScript. Вона дозволяє оголошувати ваш вміст у будь-якому місці вашого коду. Вона перетворює оголошення багатомовного вмісту на структуровані словники для легкої інтеграції у ваш код. Використовуючи TypeScript, **Intlayer** робить вашу розробку більш надійною та ефективною.
32
32
 
33
- ## Чому було створено Intlayer?
33
+ ## Чому був створений Intlayer?
34
34
 
35
- Intlayer було створено, щоб вирішити поширену проблему, яка впливає на всі звичні i18n-бібліотеки, такі як `next-intl`, `react-i18next`, `react-intl`, `next-i18next`, `react-intl`, та `vue-i18n`.
35
+ Intlayer був створений для вирішення спільної проблеми, яка зачіпає всі популярні бібліотеки i18n, такі як `next-intl`, `react-i18next`, `react-intl`, `next-i18next`, `react-intl` та `vue-i18n`.
36
36
 
37
- Усі ці рішення застосовують централізований підхід до переліку й управління вашим контентом. Наприклад:
37
+ Усі ці рішення використовують централізований підхід для перерахування та управління вашим вмістом. Наприклад:
38
38
 
39
39
  ```bash
40
40
  .
@@ -49,7 +49,7 @@ Intlayer було створено, щоб вирішити поширену п
49
49
  └── index.tsx
50
50
  ```
51
51
 
52
- Або тут з використанням namespace:
52
+ Або тут з використанням просторів назв (namespaces):
53
53
 
54
54
  ```bash
55
55
  .
@@ -70,23 +70,23 @@ Intlayer було створено, щоб вирішити поширену п
70
70
  └── index.tsx
71
71
  ```
72
72
 
73
- Такий тип архітектури уповільнює процес розробки й ускладнює підтримку codebase з кількох причин:
73
+ Такий тип архітектури уповільнює процес розробки та ускладнює підтримку кодової бази з кількох причин:
74
74
 
75
- 1. **Для будь-якого нового створеного компонента ви повинні:**
76
- - Створити новий ресурс/namespace у папці `locales`
77
- - Не забути імпортувати новий namespace на вашій сторінці
78
- - Перекласти ваш контент (часто робиться вручну шляхом копіювання/вставки з AI-провайдерів)
75
+ 1. **Для кожного нового створеного компонента ви повинні:**
76
+ - Створити новий ресурс/простір назв у папці `locales`
77
+ - Не забути імпортувати новий простір назв на вашій сторінці
78
+ - Перекласти ваш вміст (часто робиться вручну шляхом копіювання/вставлення від постачальників ШІ)
79
79
 
80
- 2. **При будь-якій зміні ваших компонентів ви повинні:**
81
- - Знайти відповідний ресурс/namespace (розташований далеко від компонента)
82
- - Перекласти ваш контент
83
- - Переконатися, що ваш контент актуальний для кожної локалі
84
- - Перевірити, що у вашому namespace немає невикористаних ключів/значень
85
- - Переконатися, що структура ваших JSON-файлів однакова для всіх локалей
80
+ 2. **Для будь-якої зміни у ваших компонентах ви повинні:**
81
+ - Шукати пов’язаний ресурс/простір назв (далеко від компонента)
82
+ - Перекласти ваш вміст
83
+ - Переконатися, що ваш вміст актуальний для будь-якої мови
84
+ - Перевірити, чи ваш простір назв не містить невикористаних ключів/значень
85
+ - Переконатися, що структура ваших JSON-файлів однакова для всіх мов
86
86
 
87
- У професійних проєктах, які використовують такі рішення, часто застосовують платформи локалізації для управління перекладами контенту. Однак для великих проєктів це може швидко стати дорогим.
87
+ У професійних проектах, які використовують ці рішення, часто застосовуються платформи локалізації для управління перекладом вмісту. Однак для великих проектів це може швидко стати дорогим.
88
88
 
89
- Щоб вирішити цю проблему, Intlayer застосовує підхід, який розподіляє контент на рівні компонентів і тримає його поруч із компонентом, як ми зазвичай робимо з CSS (`styled-components`), types, документацією (`storybook`) або unit-тестами (`jest`).
89
+ Щоб вирішити цю проблему, Intlayer використовує підхід, який обмежує область дії вашого вмісту кожним компонентом і тримає ваш вміст поруч із вашим компонентом, як ми часто робимо з CSS (`styled-components`), типами, документацією (`storybook`) або юніт-тестами (`jest`).
90
90
 
91
91
  ```bash codeFormat="typescript"
92
92
  .
@@ -125,9 +125,7 @@ const componentExampleContent = {
125
125
  key: "component-example",
126
126
  content: {
127
127
  myTranslatedContent: t({
128
- uk: "Привіт, світ",
129
128
  en: "Hello World",
130
- uk: "Привіт, світ",
131
129
  es: "Hola Mundo",
132
130
  fr: "Bonjour le monde",
133
131
  }),
@@ -151,89 +149,89 @@ export const ComponentExample = () => {
151
149
 
152
150
  1. **Збільшити швидкість розробки**
153
151
  - Файли `.content.{{ts|mjs|cjs|json}}` можна створювати за допомогою розширення VSCode
154
- - Інструменти автозаповнення на базі AI у вашому IDE (наприклад, GitHub Copilot) можуть допомогти оголошувати ваш контент, зменшуючи копіювання/вставлення
152
+ - Інструменти автозаповнення ШІ у вашій IDE (наприклад, GitHub Copilot) можуть допомогти вам оголосити вміст, зменшуючи кількість копіювання/вставлення
155
153
 
156
- 2. **Очистити ваш codebase**
154
+ 2. **Очистити вашу кодову базу**
157
155
  - Зменшити складність
158
- - Підвищити підтримуваність
159
-
160
- 3. **Легше дублювати ваші компоненти та пов’язаний контент (наприклад: компоненти входу/реєстрації тощо)**
161
- - Обмежуючи ризик впливу на контент інших компонентів
162
- - Шляхом копіювання/вставлення вашого контенту з одного застосунку в інший без зовнішніх залежностей
163
-
164
- 4. **Уникнення засмічення вашої codebase непотрібними ключами/значеннями для невикористовуваних компонентів**
165
- - Якщо ви не використовуєте компонент, Intlayer не імпортує пов'язаний з ним контент
166
- - Якщо ви видалите компонент, вам буде простіше не забути видалити пов'язаний контент, оскільки він знаходитиметься в тій самій папці
167
-
168
- 5. **Знизити навантаження на агентів ШІ при формуванні вашого багатомовного контенту**
169
- - Агенту ШІ не потрібно сканувати всю codebase, щоб дізнатися, де реалізувати ваш контент
170
- - Переклади можна легко виконати за допомогою інструментів автозаповнення на основі ШІ у вашому IDE (наприклад, GitHub Copilot)
171
-
172
- 6. **Оптимізація продуктивності завантаження**
173
- - Якщо компонент завантажується ліниво (lazy-loaded), пов'язаний з ним контент буде завантажено одночасно
174
-
175
- ## Додаткові можливості Intlayer
176
-
177
- | Особливість | Опис |
178
- | ---------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
179
- | ![Функція](https://github.com/aymericzip/intlayer/blob/main/docs/assets/frameworks.png?raw=true) | **Підтримка різних фреймворків**<br><br>Intlayer сумісний з усіма основними фреймворками та бібліотеками, включаючи Next.js, React, Vite, Vue.js, Nuxt, Preact, Express та інші. |
180
- | ![Особливість](https://github.com/aymericzip/intlayer/blob/main/docs/assets/javascript_content_management.jpg?raw=true) | **Керування контентом на основі JavaScript**<br><br>Використовуйте гнучкість JavaScript, щоб ефективно визначати й керувати контентом. <br><br> - [Оголошення контенту](https://intlayer.org/doc/concept/content) |
181
- | <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/compiler.jpg?raw=true" alt="Особливість" width="700"> | **Компілятор**<br><br>Компілятор Intlayer автоматично витягує вміст із компонентів і генерує файли словників.<br><br> - [Компілятор](https://intlayer.org/doc/uk/compiler) |
182
- | ![Функція](https://github.com/aymericzip/intlayer/blob/main/docs/assets/per_locale_content_declaration_file.png?raw=true) | **Файл оголошення вмісту для кожної локалі**<br><br>Прискоріть розробку, оголошуючи вміст один раз перед автогенерацією.<br><br> - [Файл оголошення вмісту для кожної локалі](https://intlayer.org/doc/concept/per-locale-file) |
183
- | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/autocompletion.png?raw=true) | **Типобезпечне середовище**<br><br>Використовуйте TypeScript, щоб гарантувати, що ваші визначення контенту та код позбавлені помилок, а також отримати автодоповнення в IDE.<br><br> - [Налаштування TypeScript](https://intlayer.org/doc/environment/vite-and-react#configure-typescript) |
184
- | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/config_file.png?raw=true) | **Спрощене налаштування**<br><br>Швидко почніть роботу з мінімальною конфігурацією. Легко налаштовуйте параметри інтернаціоналізації, маршрутизації, AI, build та обробки контенту. <br><br> - [Дізнайтеся про інтеграцію з Next.js](https://intlayer.org/doc/environment/nextjs) |
185
- | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/content_retrieval.png?raw=true) | **Спрощене отримання контенту**<br><br>Немає потреби викликати вашу функцію `t` для кожного елемента контенту. Отримуйте весь контент безпосередньо, використовуючи один хук.<br><br> - [Інтеграція з React](https://intlayer.org/doc/environment/create-react-app) |
186
- | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/server_component.png?raw=true) | **Послідовна реалізація серверних компонентів**<br><br>Ідеально підходить для Server Components у Next.js: використовуйте одну й ту саму реалізацію як для клієнтських, так і для серверних компонентів, немає потреби передавати функцію `t` через кожен серверний компонент. <br><br> - [Server Components](https://intlayer.org/doc/environment/nextjs#step-7-utilize-content-in-your-code) |
187
- | ![Особливість](https://github.com/aymericzip/intlayer/blob/main/docs/assets/file_tree.png?raw=true) | **Організована кодова база**<br><br>Тримайте вашу кодову базу більш організованою: 1 компонент = 1 словник у тій же папці. Переклади, розташовані поруч із відповідними компонентами, покращують підтримку та зрозумілість. <br><br> - [Як працює Intlayer](https://intlayer.org/doc/concept/how-works-intlayer) |
188
- | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/url_routing.png?raw=true) | **Покращена маршрутизація**<br><br>Повна підтримка маршрутизації додатка, що плавно адаптується до складних структур застосунків, для Next.js, React, Vite, Vue.js тощо.<br><br> - [Дізнатися про інтеграцію з Next.js](https://intlayer.org/doc/environment/nextjs) |
189
- | ![Функція](https://github.com/aymericzip/intlayer/blob/main/docs/assets/markdown.png?raw=true) | **Підтримка Markdown**<br><br>Імпортуйте та інтерпретуйте файли локалей і віддалені Markdown-файли для багатомовного контенту, такого як політики конфіденційності, документація тощо. Інтерпретуйте та зробіть метадані Markdown доступними у вашому коді.<br><br> - [Файли контенту](https://intlayer.org/doc/concept/content/file) |
190
- | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/visual_editor.png?raw=true) | **Безкоштовний візуальний редактор і 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) |
191
- | ![Функція](https://github.com/aymericzip/intlayer/blob/main/docs/assets/bundle.png?raw=true) | **Tree-shakable контент**<br><br>Tree-shakable контент, що зменшує розмір фінального бандла. Завантажує контент на рівні компонентів, виключаючи будь-який невикористаний контент з вашого бандла. Підтримує lazy loading для підвищення ефективності завантаження додатка. <br><br> - [Оптимізація збірки додатка](https://intlayer.org/doc/concept/how-works-intlayer#app-build-optimization) |
192
- | ![Функція](https://github.com/aymericzip/intlayer/blob/main/docs/assets/static_rendering.png?raw=true) | **Статичний рендеринг**<br><br>Не блокує статичний рендеринг. <br><br> - [Інтеграція з Next.js](https://intlayer.org/doc/environment/nextjs) |
193
- | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/AI_translation.png?raw=true) | **Переклад із підтримкою AI**<br><br>Перетворіть свій вебсайт на 231 мову всього за один клік, використовуючи передові інструменти перекладу Intlayer на базі AI з вашим власним 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) |
194
- | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/mcp.png?raw=true) | **Інтеграція 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) |
195
- | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/vscode_extension.png?raw=true) | **Розширення VSCode**<br><br>Intlayer надає розширення для VSCode, яке допомагає вам керувати контентом та перекладами, формувати ваші словники, перекладати вміст і багато іншого. <br><br> - [Розширення VSCode](https://intlayer.org/doc/vs-code-extension) |
196
- | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/interoperability.png?raw=true) | **Інтероперабельність**<br><br>Надає сумісність із react-i18next, next-i18next, next-intl і react-intl. <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) |
197
- | Тестування відсутніх перекладів (CLI/CI) | ✅ CLI: npx intlayer content test (аудит, дружній до CI) |
156
+ - Покращити підтримку
157
+
158
+ 3. **Легше дублювати компоненти та пов’язаний з ними вміст (Приклад: компоненти входу/реєстрації тощо)**
159
+ - Обмежуючи ризик впливу на вміст інших компонентів
160
+ - Копіюючи/вставляючи ваш вміст з одного додатка в інший без зовнішніх залежностей
161
+
162
+ 4. **Уникнути забруднення кодової бази невикористаними ключами/значеннями для невикористаних компонентів**
163
+ - Якщо ви не використовуєте компонент, Intlayer не імпортуватиме пов’язаний з ним вміст
164
+ - Якщо ви видалите компонент, вам буде легше згадати про видалення пов’язаного з ним вмісту, оскільки він буде знаходитися в тій же папці
165
+
166
+ 5. **Зменшити когнітивне навантаження на ШІ-агентів для оголошення вашого багатомовного вмісту**
167
+ - ШІ-агенту не доведеться сканувати всю кодову базу, щоб дізнатися, де реалізувати ваш вміст
168
+ - Переклади можна легко виконати за допомогою інструментів автозаповнення ШІ у вашій IDE (наприклад, GitHub Copilot)
169
+
170
+ 6. **Оптимізувати продуктивність завантаження**
171
+ - Якщо компонент завантажується ледаче (lazy-loaded), пов’язаний з ним вміст завантажуватиметься одночасно
172
+
173
+ ## Додаткові функції Intlayer
174
+
175
+ | Функція | Опис |
176
+ | ------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
177
+ | ![Функція](https://github.com/aymericzip/intlayer/blob/main/docs/assets/frameworks.png?raw=true) | **Підтримка різних фреймворків**<br><br>Intlayer сумісний з усіма основними фреймворками та бібліотеками, включаючи Next.js, React, Vite, Vue.js, Nuxt, Preact, Express та інші. |
178
+ | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/javascript_content_management.jpg?raw=true) | **Управління вмістом на основі JavaScript**<br><br>Використовуйте гнучкість JavaScript для ефективного визначення та управління вашим вмістом. <br><br> - [Оголошення вмісту](https://intlayer.org/doc/concept/content) |
179
+ | <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/compiler.jpg?raw=true" alt="Функція" width="700"> | **Компілятор**<br><br>Компілятор Intlayer автоматично витягує вміст із компонентів і генерує файли словників.<br><br> - [Компілятор](https://intlayer.org/doc/compiler) |
180
+ | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/per_locale_content_declaration_file.png?raw=true) | **Файл оголошення вмісту для кожної мови**<br><br>Прискорте розробку, оголосивши вміст один раз перед автоматичною генерацією.<br><br> - [Файл оголошення вмісту для кожної мови](https://intlayer.org/doc/concept/per-locale-file) |
181
+ | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/autocompletion.png?raw=true) | **Середовище Type-Safe**<br><br>Використовуйте TypeScript, щоб переконатися, що ваші визначення вмісту та код не містять помилок, а також користуйтеся перевагами автозаповнення IDE.<br><br> - [Конфігурація TypeScript](https://intlayer.org/doc/environment/vite-and-react#configure-typescript) |
182
+ | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/config_file.png?raw=true) | **Спрощене налаштування**<br><br>Швидко розпочніть роботу з мінімальною конфігурацією. Легко налаштовуйте параметри інтернаціоналізації, маршрутизації, ШІ, збірки та обробки вмісту. <br><br> - [Дослідіть інтеграцію Next.js](https://intlayer.org/doc/environment/nextjs) |
183
+ | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/content_retrieval.png?raw=true) | **Спрощене отримання вмісту**<br><br>Не потрібно викликати функцію `t` для кожного елемента вмісту. Отримуйте весь вміст безпосередньо за допомогою одного хука.<br><br> - [Інтеграція React](https://intlayer.org/doc/environment/create-react-app) |
184
+ | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/server_component.png?raw=true) | **Узгоджена реалізація Server Component**<br><br>Ідеально підходить для серверних компонентів Next.js, використовуйте ту саму реалізацію для клієнтських і серверних компонентів, не потрібно передавати функцію `t` через кожен серверний компонент. <br><br> - [Server Components](https://intlayer.org/doc/environment/nextjs#step-7-utilize-content-in-your-code) |
185
+ | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/file_tree.png?raw=true) | **Організована кодова база**<br><br>Тримайте кодову базу більш організованою: 1 компонент = 1 словник у тій же папці. Переклади поруч із їхніми відповідними компонентами покращують підтримку та чіткість. <br><br> - [Як працює Intlayer](https://intlayer.org/doc/concept/how-works-intlayer) |
186
+ | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/url_routing.png?raw=true) | **Покращена маршрутизація**<br><br>Повна підтримка маршрутизації додатків, що плавно адаптується до складних структур додатків для Next.js, React, Vite, Vue.js тощо.<br><br> - [Дослідіть інтеграцію Next.js](https://intlayer.org/doc/environment/nextjs) |
187
+ | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/markdown.png?raw=true) | **Підтримка Markdown**<br><br>Імпортуйте та інтерпретуйте локальні файли та віддалений Markdown для багатомовного вмісту, такого як політики конфіденційності, документація тощо. Інтерпретуйте та робіть метадані Markdown доступними у вашому коді.<br><br> - [Файли вмісту](https://intlayer.org/doc/concept/content/file) |
188
+ | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/visual_editor.png?raw=true) | **Безкоштовний візуальний редактор та CMS**<br><br>Для авторів вмісту доступний безкоштовний візуальний редактор та CMS, що усуває потребу в платформі локалізації. Синхронізуйте свій вміст за допомогою Git або повністю або частково винесіть його на аутсорс за допомогою CMS.<br><br> - [Редактор Intlayer](https://intlayer.org/doc/concept/editor) <br> - [Intlayer CMS](https://intlayer.org/doc/concept/cms) |
189
+ | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/bundle.png?raw=true) | **Вміст типу Tree-shakable**<br><br>Вміст типу tree-shakable, що зменшує розмір кінцевого пакета. Завантажує вміст на рівні компонента, виключаючи будь-який невикористаний вміст із вашого пакета. Підтримує ледаче завантаження для підвищення ефективності завантаження додатка. <br><br> - [Оптимізація збірки додатка](https://intlayer.org/doc/concept/how-works-intlayer#app-build-optimization) |
190
+ | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/static_rendering.png?raw=true) | **Статичний рендеринг**<br><br>Не блокує статичний рендеринг. <br><br> - [Інтеграція Next.js](https://intlayer.org/doc/environment/nextjs) |
191
+ | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/AI_translation.png?raw=true) | **Переклад на основі ШІ**<br><br>Перетворіть свій веб-сайт на 231 мову лише одним кліком за допомогою розширених інструментів перекладу на основі ШІ від Intlayer, використовуючи власного постачальника ШІ/ключ 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) |
192
+ | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/mcp.png?raw=true) | **Інтеграція з сервером MCP**<br><br>Забезпечує сервер MCP (Model Context Protocol) для автоматизації IDE, дозволяючи безперешкодне управління вмістом та робочі процеси i18n безпосередньо у вашому середовищі розробки. <br><br> - [Сервер MCP](https://github.com/aymericzip/intlayer/blob/main/docs/uk/mcp_server.md) |
193
+ | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/vscode_extension.png?raw=true) | **Розширення VSCode**<br><br>Intlayer надає розширення VSCode, яке допоможе вам керувати вмістом і перекладами, створювати словники, перекладати вміст тощо. <br><br> - [Розширення VSCode](https://intlayer.org/doc/vs-code-extension) |
194
+ | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/interoperability.png?raw=true) | **Взаємосумісність**<br><br>Дозволяє взаємосумісність з react-i18next, next-i18next, next-intl та react-intl. <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) |
195
+ | Тестування відсутніх перекладів (CLI/CI) | ✅ CLI: npx intlayer content test (аудит, сумісний з CI) |
198
196
 
199
197
  ## Порівняння Intlayer з іншими рішеннями
200
198
 
201
- | Особливість | `intlayer` | `react-i18next` | `react-intl` (FormatJS) | `lingui` | `next-intl` | `next-i18next` | `vue-i18n` |
202
- | -------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------ |
203
- | **Переклади поруч із компонентами** | ✅ Так, вміст розміщено поруч із кожним компонентом | ❌ Ні | ❌ Ні | ❌ Ні | ❌ Ні | ❌ Ні | ✅ Так, використання `Single File Components` (SFCs) |
204
- | **Інтеграція TypeScript** | ✅ Просунута інтеграція, автоматично згенеровані строгі типи | ⚠️ Базова; потрібна додаткова конфігурація для безпеки | ✅ Добре, але менш строгі типи | ⚠️ Типізація, потребує конфігурації | ✅ Добре | ⚠️ Базова | ✅ Добре (типи доступні; для безпеки ключів потрібне налаштування) |
205
- | **Виявлення відсутнього перекладу** | ✅ Виділення помилок TypeScript та помилка/попередження під час збірки | ⚠️ Переважно fallback-рядки під час виконання | ⚠️ fallback-рядки | ⚠️ Потребує додаткової конфігурації | ⚠️ fallback під час виконання | ⚠️ fallback під час виконання | ⚠️ fallback під час виконання/попередження (можна налаштувати) |
206
- | **Багатий вміст (JSX/Markdown/компоненти)** | ✅ Пряма підтримка | ⚠️ Обмежено / лише інтерполяція | ⚠️ Синтаксис ICU, не справжній JSX | ⚠️ Обмежено | ❌ Не призначено для багатих вузлів | ⚠️ Обмежено | ⚠️ Обмежено (компоненти через `<i18n-t>`, Markdown через плагіни) |
207
- | **AI-асистований переклад** | ✅ Так, підтримує кількох постачальників AI. Можна використовувати власні API-ключі. Враховує контекст вашого додатку та обсяг контенту | ❌ Ні | ❌ Ні | ❌ Ні | ❌ Ні | ❌ Ні | ❌ Ні |
208
- | **Візуальний редактор** | ✅ Так, локальний Visual Editor + опційний CMS; може винести контент із codebase; вбудовується | ❌ Ні / доступно через зовнішні платформи локалізації | ❌ Ні / доступно через зовнішні платформи локалізації | ❌ Ні / доступно через зовнішні платформи локалізації | ❌ Ні / доступно через зовнішні платформи локалізації | ❌ Ні / доступно через зовнішні платформи локалізації | ❌ Ні / доступно через зовнішні платформи локалізації |
209
- | **Локалізована маршрутизація** | ✅ Так, підтримує локалізовані шляхи «з коробки» (працює з Next.js та Vite) | ⚠️ Не вбудовано, потребує плагінів (наприклад, `next-i18next`) або власної конфігурації роутера | ❌ Ні, лише форматування повідомлень, маршрутизацію потрібно робити вручну | ⚠️ Не вбудовано, потребує плагінів або ручної конфігурації | ✅ Вбудовано, App Router підтримує сегмент `[locale]` | ✅ Вбудовано | ✅ Вбудовано |
210
- | **Генерація динамічних маршрутів** | ✅ Так | ⚠️ Плагін/екосистема або ручне налаштування | ❌ Не передбачено | ⚠️ Плагін/ручне налаштування | ✅ Так | ✅ Так | ❌ Не передбачено (надає Nuxt i18n) |
211
- | **Плюралізація** | ✅ Шаблони, засновані на переліченнях | ✅ Налаштовуване (плагіни, такі як i18next-icu) | ✅ (ICU) | ✅ (ICU/messageformat) | ✅ Добре | ✅ Добре | ✅ Вбудовані правила множини |
212
- | **Форматування (дати, числа, валюти)** | ✅ Оптимізовані форматери (Intl під капотом) | ⚠️ Через плагіни або кастомне використання Intl | ✅ Форматери ICU | ✅ ICU/CLI допоміжні інструменти | ✅ Добре (Intl helpers) | ✅ Добре (Intl helpers) | ✅ Вбудовані форматери дат/чисел (Intl) |
213
- | **Формат контенту** | ✅ .tsx, .ts, .js, .json, .md, .txt, (.yaml WIP) | ⚠️ .json | ✅ .json, .js | ⚠️ .po, .json | ✅ .json, .js, .ts | ⚠️ .json | ✅ .json, .js |
214
- | **Підтримка ICU** | ⚠️ У розробці | ⚠️ Через плагін (i18next-icu) | ✅ Так | ✅ Так | ✅ Так | ⚠️ Через плагін (`i18next-icu`) | ⚠️ Через кастомний форматер/компілятор |
215
- | **SEO Helpers (hreflang, sitemap)** | ✅ Вбудовані інструменти: допоміжні функції для sitemap, robots.txt, metadata | ⚠️ Плагіни спільноти / ручне налаштування | ❌ Не є частиною ядра | ❌ Не є частиною ядра | ✅ Добре | ✅ Добре | ❌ Не є частиною ядра (Nuxt i18n надає хелпери) |
216
- | **Екосистема / Спільнота** | ⚠️ Менша, але швидко зростає та реактивна | ✅ Найбільша та зріла | ✅ Велика | ⚠️ Менша | ✅ Середня за розміром, орієнтована на Next.js | ✅ Середня за розміром, орієнтована на Next.js | ✅ Велика в екосистемі Vue |
217
- | **Рендеринг на сервері та Server Components** | ✅ Так, оптимізовано для SSR / React Server Components | ⚠️ Підтримується на рівні сторінки, але потрібно передавати t-functions через дерево компонентів для дочірніх server components | ⚠️ Підтримується на рівні сторінки з додатковою настройкою, але потрібно передавати t-functions через дерево компонентів для дочірніх server components | ✅ Підтримується, потрібне налаштування | ⚠️ Підтримується на рівні сторінки, але потрібно передавати t-functions через дерево компонентів для дочірніх server components | ⚠️ Підтримується на рівні сторінки, але потрібно передавати t-functions через дерево компонентів для дочірніх server components | ✅ SSR через Nuxt/Vue SSR (без RSC) |
218
- | **Tree-shaking (завантажувати лише використовуваний контент)** | ✅ Так, на рівні компонентів під час збірки через плагіни Babel/SWC | ⚠️ Зазвичай завантажує все (можна покращити за допомогою namespaces/розділення коду) | ⚠️ Зазвичай завантажує все | ❌ Не за замовчуванням | ⚠️ Частково | ⚠️ Частково | ⚠️ Частково (з розділенням коду/ручним налаштуванням) |
219
- | **Ліниве завантаження** | ✅ Так, для кожної локалі / для кожного словника | ✅ Так (наприклад, backends/namespaces за вимогою) | ✅ Так (розділення бандлів локалі) | ✅ Так (динамічний імпорт каталогів) | ✅ Так (для кожного маршруту/локалі), потрібне керування mamespace | ✅ Так (для кожного маршруту/локалі), потрібне керування mamespace | ✅ Так (асинхронні повідомлення локалі) |
220
- | **Очищення невикористаного контенту** | ✅ Так, по словниках під час збірки | ❌ Ні, тільки через ручну сегментацію namespace | ❌ Ні, всі оголошені повідомлення включені в бандл | ✅ Так, невикористані ключі виявляються і видаляються під час збірки | ❌ Ні, можна керувати вручну через namespace management | ❌ Ні, можна керувати вручну через namespace management | ❌ Ні, можливо лише через ручний lazy-loading |
221
- | **Управління великими проєктами** | ✅ Сприяє модульності, підходить для design-system | ⚠️ Вимагає хорошої дисципліни щодо файлів | ⚠️ Центральні каталоги можуть стати великими | ⚠️ Може ускладнюватися | ✅ Модульна після налаштування | ✅ Модульна після налаштування | ✅ Модульна при налаштуванні Vue Router/Nuxt i18n |
199
+ | Функція | `intlayer` | `react-i18next` | `react-intl` (FormatJS) | `lingui` | `next-intl` | `next-i18next` | `vue-i18n` |
200
+ | -------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------- | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------- |
201
+ | **Переклади поруч із компонентами** | ✅ Так, вміст розміщено разом із кожним компонентом | ❌ Ні | ❌ Ні | ❌ Ні | ❌ Ні | ❌ Ні | ✅ Так — за умови використання `Single File Components` (SFCs) |
202
+ | **Інтеграція TypeScript** | ✅ Просунута, автоматично згенеровані строгі типи | ⚠️ Базова; потрібна додаткова конфігурація для безпеки | ✅ Добре, але менш строго | ⚠️ Типізація, потрібна конфігурація | ✅ Добре | ⚠️ Базова | ✅ Добре (типи доступні; безпека ключів потребує налаштування) |
203
+ | **Виявлення відсутніх перекладів** | ✅ Підсвічування помилок TypeScript та помилки/попередження під час збірки | ⚠️ Переважно рядки відкату (fallback) під час виконання | ⚠️ Рядки відкату | ⚠️ Потрібна додаткова конфігурація | ⚠️ Відкат під час виконання | ⚠️ Відкат під час виконання | ⚠️ Відкат/попередження під час виконання (можна налаштувати) |
204
+ | **Багатий вміст (JSX/Markdown/компоненти)** | ✅ Пряма підтримка | ⚠️ Обмежено / лише інтерполяція | ⚠️ Синтаксис ICU, не справжній JSX | ⚠️ Обмежено | ❌ Не розраховано на багаті вузли | ⚠️ Обмежено | ⚠️ Обмежено (компоненти через `<i18n-t>`, Markdown через плагіни) |
205
+ | **Переклад на основі ШІ** | ✅ Так, підтримує кількох постачальників ШІ. Можна використовувати з власними ключами API. Враховує контекст додатка та обсяг вмісту | ❌ Ні | ❌ Ні | ❌ Ні | ❌ Ні | ❌ Ні | ❌ Ні |
206
+ | **Візуальний редактор** | ✅ Так, локальний візуальний редактор + опціональна CMS; може виносити вміст кодової бази на аутсорс; вбудовуваний | ❌ Ні / доступно через зовнішні платформи локалізації | ❌ Ні / доступно через зовнішні платформи локалізації | ❌ Ні / доступно через зовнішні платформи локалізації | ❌ Ні / доступно через зовнішні платформи локалізації | ❌ Ні / доступно через зовнішні платформи локалізації | ❌ Ні / доступно через зовнішні платформи локалізації |
207
+ | **Локалізована маршрутизація** | ✅ Так, підтримує локалізовані шляхи коробки" (працює з Next.js та Vite) | ⚠️ Немає вбудованої, потрібні плагіни (наприклад, `next-i18next`) або власна конфігурація маршрутизатора | ❌ Ні, лише форматування повідомлень, маршрутизація має бути ручною | ⚠️ Немає вбудованої, потрібні плагіни або ручне налаштування | ✅ Вбудовано, App Router підтримує сегмент `[locale]` | ✅ Вбудовано | ✅ Вбудовано |
208
+ | **Динамічне генерування маршрутів** | ✅ Так | ⚠️ Плагін/екосистема або ручне налаштування | ❌ Не надається | ⚠️ Плагін/вручну | ✅ Так | ✅ Так | ❌ Не надається (надає Nuxt i18n) |
209
+ | **Множина** | ✅ Шаблони на основі перерахувань (enums) | ✅ Можна налаштувати (плагіни, такі як i18next-icu) | ✅ (ICU) | ✅ (ICU/messageformat) | ✅ Добре | ✅ Добре | ✅ Вбудовані правила множини |
210
+ | **Форматування (дати, числа, валюти)** | ✅ Оптимізовані форматувальники (Intl під капотом) | ⚠️ Через плагіни або власне використання Intl | ✅ Форматувальники ICU | ✅ Хелпери ICU/CLI | ✅ Добре (хелпери Intl) | ✅ Добре (хелпери Intl) | ✅ Вбудовані форматувальники дат/чисел (Intl) |
211
+ | **Формат вмісту** | ✅ .tsx, .ts, .js, .json, .md, .txt, (.yaml в роботі) | ⚠️ .json | ✅ .json, .js | ⚠️ .po, .json | ✅ .json, .js, .ts | ⚠️ .json | ✅ .json, .js |
212
+ | **Підтримка ICU** | ⚠️ В роботі | ⚠️ Через плагін (i18next-icu) | ✅ Так | ✅ Так | ✅ Так | ⚠️ Через плагін (`i18next-icu`) | ⚠️ Через власний форматувальник/компілятор |
213
+ | **Хелпери SEO (hreflang, sitemap)** | ✅ Вбудовані інструменти: хелпери для sitemap, robots.txt, метаданих | ⚠️ Плагіни спільноти / вручну | ❌ Не є основним | ❌ Не є основним | ✅ Добре | ✅ Добре | ❌ Не є основним (надає хелпери Nuxt i18n) |
214
+ | **Екосистема / Спільнота** | ⚠️ Менша, але швидко зростає та чуйно реагує | ✅ Найбільша та зріла | ✅ Велика | ⚠️ Менша | ✅ Середнього розміру, зосереджена на Next.js | ✅ Середнього розміру, зосереджена на Next.js | ✅ Велика в екосистемі Vue |
215
+ | **Server-side Rendering та Server Components** | ✅ Так, спрощено для SSR / React Server Components | ⚠️ Підтримується на рівні сторінки, але потрібно передавати t-функції вниз по дереву компонентів | ⚠️ Підтримується на рівні сторінки з додатковим налаштуванням, але потрібно передавати t-функції вниз по дереву компонентів | ✅ Підтримується, потрібне налаштування | ⚠️ Підтримується на рівні сторінки, але потрібно передавати t-функції вниз по дереву компонентів | ⚠️ Підтримується на рівні сторінки, але потрібно передавати t-функції вниз по дереву компонентів | ✅ SSR через Nuxt/Vue SSR (без RSC) |
216
+ | **Tree-shaking (завантаження лише використаного)** | ✅ Так, для кожного компонента під час збірки через плагіни Babel/SWC | ⚠️ Зазвичай завантажує все (можна покращити через простори назв / code-splitting) | ⚠️ Зазвичай завантажує все | ❌ Не типово | ⚠️ Частково | ⚠️ Частково | ⚠️ Частково (з code-splitting / ручним налаштуванням) |
217
+ | **Ледаче завантаження (Lazy loading)** | ✅ Так, для кожної мови / для кожного словника | ✅ Так (наприклад, бекенди/простори назв за запитом) | ✅ Так (розділення мовних пакетів) | ✅ Так (динамічний імпорт каталогів) | ✅ Так (на маршрут / на мову), потрібне управління просторами назв | ✅ Так (на маршрут / на мову), потрібне управління просторами назв | ✅ Так (асинхронні мовні повідомлення) |
218
+ | **Очищення невикористаного вмісту** | ✅ Так, для кожного словника під час збірки | ❌ Ні, лише через ручне розділення просторів назв | ❌ Ні, усі оголошені повідомлення пакуються | ✅ Так, невикористані ключі виявляються та видаляються при збірці | ❌ Ні, можна керувати вручну за допомогою управління просторами назв | ❌ Ні, можна керувати вручну за допомогою управління просторами назв | ❌ Ні, можливо лише через ручне ледаче завантаження |
219
+ | **Управління великими проектами** | ✅ Заохочує модульність, підходить для дизайн-систем | ⚠️ Потрібна хороша дисципліна файлів | ⚠️ Центральні каталоги можуть стати великими | ⚠️ Може стати складним | ✅ Модульно з налаштуванням | ✅ Модульно з налаштуванням | ✅ Модульно з налаштуванням Vue Router/Nuxt i18n |
222
220
 
223
221
  ---
224
222
 
225
- ## Зірки GitHub
223
+ ## Зірки на GitHub
226
224
 
227
- Зірки GitHub є вагомим індикатором популярності проєкту, довіри спільноти та його довгострокової релевантності. Хоча вони не є прямою мірою технічної якості, вони відображають, скільки розробників вважають проєкт корисним, стежать за його розвитком і ймовірно його впровадять. Для оцінки цінності проєкту зірки допомагають порівняти рівень зацікавленості серед альтернатив і дають уявлення про зростання екосистеми.
225
+ Зірки на GitHub є потужним індикатором популярності проекту, довіри спільноти та довгострокової актуальності. Хоча вони не є прямим показником технічної якості, вони відображають, скільки розробників вважають проект корисним, стежать за його розвитком і, ймовірно, впровадять його. Для оцінки цінності проекту зірки допомагають порівняти інтерес до альтернатив і дають уявлення про зростання екосистеми.
228
226
 
229
- [![Графік історії зірок](https://api.star-history.com/svg?repos=formatjs/formatjs&repos=i18next/react-i18next&repos=i18next/i18next&repos=i18next/next-i18next&repos=lingui/js-lingui&repos=amannn/next-intl&repos=intlify/vue-i18n&repo=opral/monorepo&repos=aymericzip/intlayer&repos=opral/inlang&type=Date)](https://www.star-history.com/#formatjs/formatjs&i18next/react-i18next&i18next/i18next&i18next/next-i18next&lingui/js-lingui&amannn/next-intl&intlify/vue-i18n&aymericzip/intlayer&opral/inlang&type=date&legend=top-left)
227
+ [![Star History Chart](https://api.star-history.com/chart?repos=formatjs/formatjs%2Ci18next/react-i18next%2Ci18next/i18next%2Ci18next/next-i18next%2Clingui/js-lingui%2Camannn/next-intl%2Cintlify/vue-i18n%2Caymericzip/intlayer%2Copral/inlang&type=date&legend=top-left)](https://www.star-history.com/#formatjs/formatjs&i18next/react-i18next&i18next/i18next&i18next/next-i18next&lingui/js-lingui&amannn/next-intl&intlify/vue-i18n&opral/paraglide-js&aymericzip/intlayer)
230
228
 
231
229
  ---
232
230
 
233
- ## Інтероперабельність
231
+ ## Взаємосумісність
234
232
 
235
- `intlayer` також може допомогти керувати вашими namespaces для `react-intl`, `react-i18next`, `next-intl`, `next-i18next` та `vue-i18n`.
233
+ `intlayer` також може допомогти в управлінні просторами назв `react-intl`, `react-i18next`, `next-intl`, `next-i18next` та `vue-i18n`.
236
234
 
237
- За допомогою `intlayer` ви можете оголосити ваш контент у форматі улюбленої i18n-бібліотеки, і intlayer згенерує ваші простори імен у вибраному вами місці (наприклад: `/messages/{{locale}}/{{namespace}}.json`).
235
+ За допомогою `intlayer` ви можете оголосити свій вміст у форматі вашої улюбленої бібліотеки i18n, і intlayer згенерує простори назв у вибраному вами місці (наприклад: `/messages/{{locale}}/{{namespace}}.json`).
238
236
 
239
- Зверніться до [`dictionaryOutput` та `i18nextResourcesDir` опцій](https://intlayer.org/doc/concept/configuration#content-configuration) для детальнішої інформації.
237
+ Для отримання додаткової інформації зверніться до [опцій `dictionaryOutput` та `i18nextResourcesDir`](https://intlayer.org/doc/concept/configuration#content-configuration).