@intlayer/docs 7.5.12 → 7.5.14
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/blog/ar/per-component_vs_centralized_i18n.md +248 -0
- package/blog/de/per-component_vs_centralized_i18n.md +248 -0
- package/blog/en/_per-component_vs_centralized_i18n.md +252 -0
- package/blog/en/per-component_vs_centralized_i18n.md +248 -0
- package/blog/en-GB/per-component_vs_centralized_i18n.md +247 -0
- package/blog/es/per-component_vs_centralized_i18n.md +245 -0
- package/blog/fr/per-component_vs_centralized_i18n.md +245 -0
- package/blog/hi/per-component_vs_centralized_i18n.md +249 -0
- package/blog/id/per-component_vs_centralized_i18n.md +248 -0
- package/blog/it/per-component_vs_centralized_i18n.md +247 -0
- package/blog/ja/per-component_vs_centralized_i18n.md +247 -0
- package/blog/ko/per-component_vs_centralized_i18n.md +246 -0
- package/blog/pl/per-component_vs_centralized_i18n.md +247 -0
- package/blog/pt/per-component_vs_centralized_i18n.md +246 -0
- package/blog/ru/per-component_vs_centralized_i18n.md +251 -0
- package/blog/tr/per-component_vs_centralized_i18n.md +244 -0
- package/blog/uk/compiler_vs_declarative_i18n.md +224 -0
- package/blog/uk/i18n_using_next-i18next.md +1086 -0
- package/blog/uk/i18n_using_next-intl.md +760 -0
- package/blog/uk/index.md +69 -0
- package/blog/uk/internationalization_and_SEO.md +273 -0
- package/blog/uk/intlayer_with_i18next.md +211 -0
- package/blog/uk/intlayer_with_next-i18next.md +202 -0
- package/blog/uk/intlayer_with_next-intl.md +203 -0
- package/blog/uk/intlayer_with_react-i18next.md +200 -0
- package/blog/uk/intlayer_with_react-intl.md +202 -0
- package/blog/uk/intlayer_with_vue-i18n.md +206 -0
- package/blog/uk/l10n_platform_alternative/Lokalise.md +80 -0
- package/blog/uk/l10n_platform_alternative/crowdin.md +80 -0
- package/blog/uk/l10n_platform_alternative/phrase.md +78 -0
- package/blog/uk/list_i18n_technologies/CMS/drupal.md +143 -0
- package/blog/uk/list_i18n_technologies/CMS/wix.md +167 -0
- package/blog/uk/list_i18n_technologies/CMS/wordpress.md +189 -0
- package/blog/uk/list_i18n_technologies/frameworks/angular.md +125 -0
- package/blog/uk/list_i18n_technologies/frameworks/flutter.md +128 -0
- package/blog/uk/list_i18n_technologies/frameworks/react-native.md +217 -0
- package/blog/uk/list_i18n_technologies/frameworks/react.md +155 -0
- package/blog/uk/list_i18n_technologies/frameworks/svelte.md +145 -0
- package/blog/uk/list_i18n_technologies/frameworks/vue.md +144 -0
- package/blog/uk/next-i18next_vs_next-intl_vs_intlayer.md +1499 -0
- package/blog/uk/nextjs-multilingual-seo-comparison.md +360 -0
- package/blog/uk/per-component_vs_centralized_i18n.md +248 -0
- package/blog/uk/rag_powered_documentation_assistant.md +288 -0
- package/blog/uk/react-i18next_vs_react-intl_vs_intlayer.md +164 -0
- package/blog/uk/vue-i18n_vs_intlayer.md +279 -0
- package/blog/uk/what_is_internationalization.md +167 -0
- package/blog/vi/per-component_vs_centralized_i18n.md +246 -0
- package/blog/zh/per-component_vs_centralized_i18n.md +248 -0
- package/dist/cjs/common.cjs.map +1 -1
- package/dist/cjs/generated/blog.entry.cjs +20 -0
- package/dist/cjs/generated/blog.entry.cjs.map +1 -1
- package/dist/cjs/generated/docs.entry.cjs.map +1 -1
- package/dist/cjs/generated/frequentQuestions.entry.cjs +20 -0
- package/dist/cjs/generated/frequentQuestions.entry.cjs.map +1 -1
- package/dist/cjs/generated/legal.entry.cjs.map +1 -1
- package/dist/esm/common.mjs.map +1 -1
- package/dist/esm/generated/blog.entry.mjs +20 -0
- package/dist/esm/generated/blog.entry.mjs.map +1 -1
- package/dist/esm/generated/docs.entry.mjs.map +1 -1
- package/dist/esm/generated/frequentQuestions.entry.mjs +20 -0
- package/dist/esm/generated/frequentQuestions.entry.mjs.map +1 -1
- package/dist/esm/generated/legal.entry.mjs.map +1 -1
- package/dist/types/generated/blog.entry.d.ts +1 -0
- package/dist/types/generated/blog.entry.d.ts.map +1 -1
- package/dist/types/generated/frequentQuestions.entry.d.ts +1 -0
- package/dist/types/generated/frequentQuestions.entry.d.ts.map +1 -1
- package/docs/ar/configuration.md +6 -1
- package/docs/ar/dictionary/content_file.md +6 -1
- package/docs/de/configuration.md +6 -1
- package/docs/de/dictionary/content_file.md +6 -1
- package/docs/en/configuration.md +6 -1
- package/docs/en/dictionary/content_file.md +6 -1
- package/docs/en-GB/configuration.md +6 -1
- package/docs/en-GB/dictionary/content_file.md +3 -1
- package/docs/es/configuration.md +6 -1
- package/docs/es/dictionary/content_file.md +6 -1
- package/docs/fr/configuration.md +6 -1
- package/docs/fr/dictionary/content_file.md +3 -1
- package/docs/hi/configuration.md +6 -1
- package/docs/hi/dictionary/content_file.md +3 -1
- package/docs/id/configuration.md +6 -1
- package/docs/id/dictionary/content_file.md +3 -1
- package/docs/it/configuration.md +6 -1
- package/docs/it/dictionary/content_file.md +3 -1
- package/docs/ja/configuration.md +6 -1
- package/docs/ja/dictionary/content_file.md +3 -1
- package/docs/ko/configuration.md +6 -1
- package/docs/ko/dictionary/content_file.md +3 -1
- package/docs/pl/configuration.md +3 -1
- package/docs/pl/dictionary/content_file.md +3 -1
- package/docs/pt/configuration.md +6 -1
- package/docs/pt/dictionary/content_file.md +3 -1
- package/docs/ru/configuration.md +6 -1
- package/docs/ru/dictionary/content_file.md +6 -1
- package/docs/tr/configuration.md +6 -1
- package/docs/tr/dictionary/content_file.md +3 -1
- package/docs/uk/CI_CD.md +198 -0
- package/docs/uk/autoFill.md +307 -0
- package/docs/uk/bundle_optimization.md +185 -0
- package/docs/uk/cli/build.md +64 -0
- package/docs/uk/cli/ci.md +137 -0
- package/docs/uk/cli/configuration.md +63 -0
- package/docs/uk/cli/debug.md +46 -0
- package/docs/uk/cli/doc-review.md +43 -0
- package/docs/uk/cli/doc-translate.md +132 -0
- package/docs/uk/cli/editor.md +28 -0
- package/docs/uk/cli/fill.md +130 -0
- package/docs/uk/cli/index.md +190 -0
- package/docs/uk/cli/init.md +84 -0
- package/docs/uk/cli/list.md +90 -0
- package/docs/uk/cli/list_projects.md +128 -0
- package/docs/uk/cli/live.md +41 -0
- package/docs/uk/cli/login.md +157 -0
- package/docs/uk/cli/pull.md +78 -0
- package/docs/uk/cli/push.md +98 -0
- package/docs/uk/cli/sdk.md +71 -0
- package/docs/uk/cli/test.md +76 -0
- package/docs/uk/cli/transform.md +65 -0
- package/docs/uk/cli/version.md +24 -0
- package/docs/uk/cli/watch.md +37 -0
- package/docs/uk/configuration.md +742 -0
- package/docs/uk/dictionary/condition.md +237 -0
- package/docs/uk/dictionary/content_file.md +1134 -0
- package/docs/uk/dictionary/enumeration.md +245 -0
- package/docs/uk/dictionary/file.md +232 -0
- package/docs/uk/dictionary/function_fetching.md +212 -0
- package/docs/uk/dictionary/gender.md +273 -0
- package/docs/uk/dictionary/insertion.md +187 -0
- package/docs/uk/dictionary/markdown.md +383 -0
- package/docs/uk/dictionary/nesting.md +273 -0
- package/docs/uk/dictionary/translation.md +332 -0
- package/docs/uk/formatters.md +595 -0
- package/docs/uk/how_works_intlayer.md +256 -0
- package/docs/uk/index.md +175 -0
- package/docs/uk/interest_of_intlayer.md +297 -0
- package/docs/uk/intlayer_CMS.md +569 -0
- package/docs/uk/intlayer_visual_editor.md +292 -0
- package/docs/uk/intlayer_with_angular.md +710 -0
- package/docs/uk/intlayer_with_astro.md +256 -0
- package/docs/uk/intlayer_with_create_react_app.md +1258 -0
- package/docs/uk/intlayer_with_express.md +429 -0
- package/docs/uk/intlayer_with_fastify.md +446 -0
- package/docs/uk/intlayer_with_lynx+react.md +548 -0
- package/docs/uk/intlayer_with_nestjs.md +283 -0
- package/docs/uk/intlayer_with_next-i18next.md +640 -0
- package/docs/uk/intlayer_with_next-intl.md +456 -0
- package/docs/uk/intlayer_with_nextjs_page_router.md +1541 -0
- package/docs/uk/intlayer_with_nuxt.md +711 -0
- package/docs/uk/intlayer_with_react_router_v7.md +600 -0
- package/docs/uk/intlayer_with_react_router_v7_fs_routes.md +669 -0
- package/docs/uk/intlayer_with_svelte_kit.md +579 -0
- package/docs/uk/intlayer_with_tanstack.md +818 -0
- package/docs/uk/intlayer_with_vite+preact.md +1748 -0
- package/docs/uk/intlayer_with_vite+react.md +1449 -0
- package/docs/uk/intlayer_with_vite+solid.md +302 -0
- package/docs/uk/intlayer_with_vite+svelte.md +520 -0
- package/docs/uk/intlayer_with_vite+vue.md +1113 -0
- package/docs/uk/introduction.md +222 -0
- package/docs/uk/locale_mapper.md +242 -0
- package/docs/uk/mcp_server.md +211 -0
- package/docs/uk/packages/express-intlayer/t.md +465 -0
- package/docs/uk/packages/intlayer/getEnumeration.md +159 -0
- package/docs/uk/packages/intlayer/getHTMLTextDir.md +121 -0
- package/docs/uk/packages/intlayer/getLocaleLang.md +81 -0
- package/docs/uk/packages/intlayer/getLocaleName.md +135 -0
- package/docs/uk/packages/intlayer/getLocalizedUrl.md +338 -0
- package/docs/uk/packages/intlayer/getMultilingualUrls.md +359 -0
- package/docs/uk/packages/intlayer/getPathWithoutLocale.md +75 -0
- package/docs/uk/packages/intlayer/getPrefix.md +213 -0
- package/docs/uk/packages/intlayer/getTranslation.md +190 -0
- package/docs/uk/packages/intlayer/getTranslationContent.md +189 -0
- package/docs/uk/packages/next-intlayer/t.md +365 -0
- package/docs/uk/packages/next-intlayer/useDictionary.md +276 -0
- package/docs/uk/packages/next-intlayer/useIntlayer.md +263 -0
- package/docs/uk/packages/next-intlayer/useLocale.md +166 -0
- package/docs/uk/packages/react-intlayer/t.md +311 -0
- package/docs/uk/packages/react-intlayer/useDictionary.md +295 -0
- package/docs/uk/packages/react-intlayer/useI18n.md +250 -0
- package/docs/uk/packages/react-intlayer/useIntlayer.md +251 -0
- package/docs/uk/packages/react-intlayer/useLocale.md +210 -0
- package/docs/uk/per_locale_file.md +345 -0
- package/docs/uk/plugins/sync-json.md +398 -0
- package/docs/uk/readme.md +265 -0
- package/docs/uk/releases/v6.md +305 -0
- package/docs/uk/releases/v7.md +624 -0
- package/docs/uk/roadmap.md +346 -0
- package/docs/uk/testing.md +204 -0
- package/docs/vi/configuration.md +6 -1
- package/docs/vi/dictionary/content_file.md +6 -1
- package/docs/zh/configuration.md +6 -1
- package/docs/zh/dictionary/content_file.md +6 -1
- package/frequent_questions/ar/error-vite-env-only.md +77 -0
- package/frequent_questions/de/error-vite-env-only.md +77 -0
- package/frequent_questions/en/error-vite-env-only.md +77 -0
- package/frequent_questions/en-GB/error-vite-env-only.md +77 -0
- package/frequent_questions/es/error-vite-env-only.md +76 -0
- package/frequent_questions/fr/error-vite-env-only.md +77 -0
- package/frequent_questions/hi/error-vite-env-only.md +77 -0
- package/frequent_questions/id/error-vite-env-only.md +77 -0
- package/frequent_questions/it/error-vite-env-only.md +77 -0
- package/frequent_questions/ja/error-vite-env-only.md +77 -0
- package/frequent_questions/ko/error-vite-env-only.md +77 -0
- package/frequent_questions/pl/error-vite-env-only.md +77 -0
- package/frequent_questions/pt/error-vite-env-only.md +77 -0
- package/frequent_questions/ru/error-vite-env-only.md +77 -0
- package/frequent_questions/tr/error-vite-env-only.md +77 -0
- package/frequent_questions/uk/SSR_Next_no_[locale].md +104 -0
- package/frequent_questions/uk/array_as_content_declaration.md +72 -0
- package/frequent_questions/uk/build_dictionaries.md +58 -0
- package/frequent_questions/uk/build_error_CI_CD.md +74 -0
- package/frequent_questions/uk/bun_set_up.md +53 -0
- package/frequent_questions/uk/customized_locale_list.md +64 -0
- package/frequent_questions/uk/domain_routing.md +113 -0
- package/frequent_questions/uk/error-vite-env-only.md +77 -0
- package/frequent_questions/uk/esbuild_error.md +29 -0
- package/frequent_questions/uk/get_locale_cookie.md +142 -0
- package/frequent_questions/uk/intlayer_command_undefined.md +155 -0
- package/frequent_questions/uk/locale_incorect_in_url.md +73 -0
- package/frequent_questions/uk/package_version_error.md +181 -0
- package/frequent_questions/uk/static_rendering.md +44 -0
- package/frequent_questions/uk/translated_path_url.md +55 -0
- package/frequent_questions/uk/unknown_command.md +97 -0
- package/frequent_questions/vi/error-vite-env-only.md +77 -0
- package/frequent_questions/zh/error-vite-env-only.md +77 -0
- package/legal/uk/privacy_notice.md +83 -0
- package/legal/uk/terms_of_service.md +55 -0
- package/package.json +9 -9
- package/src/generated/blog.entry.ts +20 -0
- package/src/generated/frequentQuestions.entry.ts +20 -0
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2024-08-12
|
|
3
|
+
updatedAt: 2025-06-29
|
|
4
|
+
title: Як працює Intlayer
|
|
5
|
+
description: Дізнайтеся, як Intlayer працює всередині. Зрозумійте архітектуру та компоненти, що роблять Intlayer потужним.
|
|
6
|
+
keywords:
|
|
7
|
+
- Intlayer
|
|
8
|
+
- Як це працює
|
|
9
|
+
- Архітектура
|
|
10
|
+
- Компоненти
|
|
11
|
+
- Внутрішні механізми
|
|
12
|
+
slugs:
|
|
13
|
+
- doc
|
|
14
|
+
- concept
|
|
15
|
+
- how-works-intlayer
|
|
16
|
+
history:
|
|
17
|
+
- version: 5.5.10
|
|
18
|
+
date: 2025-06-29
|
|
19
|
+
changes: Ініціалізація історії
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
# Як працює Intlayer
|
|
23
|
+
|
|
24
|
+
## Зміст
|
|
25
|
+
|
|
26
|
+
<TOC/>
|
|
27
|
+
|
|
28
|
+
## Огляд
|
|
29
|
+
|
|
30
|
+
Головна ідея Intlayer — застосувати керування контентом на рівні компонентів. Іншими словами, Intlayer дозволяє вам декларувати контент будь-де у вашому codebase, наприклад у тій самій директорії, що й компонент.
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
.
|
|
34
|
+
└── Components
|
|
35
|
+
└── MyComponent
|
|
36
|
+
├── index.content.ts
|
|
37
|
+
└── index.tsx
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Для цього роль Intlayer полягає в тому, щоб знайти всі ваші `content declaration files` у всіх доступних форматах у проєкті, а потім згенерувати з них `dictionaries`.
|
|
41
|
+
|
|
42
|
+
Отже, є два основні етапи:
|
|
43
|
+
|
|
44
|
+
- Етап побудови
|
|
45
|
+
- Етап інтерпретації
|
|
46
|
+
|
|
47
|
+
### Етап побудови словників
|
|
48
|
+
|
|
49
|
+
Етап побудови можна виконати трьома способами:
|
|
50
|
+
|
|
51
|
+
- за допомогою CLI з `npx intlayer build`
|
|
52
|
+
- використовуючи [розширення VS Code](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/vs_code_extension.md)
|
|
53
|
+
- using the app plugins such as [`vite-intlayer` package](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/packages/vite-intlayer/index.md), or their equivalents for [Next.js](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/packages/next-intlayer/index.md). When you use one of those plugins, Intlayer will automatically build your dictionaries when you start (dev) or build (prod) your application.
|
|
54
|
+
|
|
55
|
+
1. Declaration of content files
|
|
56
|
+
- Content files can be defined in various formats, such as TypeScript, ECMAScript, CommonJS, or JSON.
|
|
57
|
+
- Файли контенту можуть бути визначені в будь-якому місці проєкту, що дозволяє кращу підтримку та масштабованість. Важливо дотримуватися конвенцій щодо розширень файлів контенту. Це розширення за замовчуванням — `*.content.{js|cjs|mjs|ts|tsx|json}`, але його можна змінити у [файлі конфігурації](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/configuration.md).
|
|
58
|
+
|
|
59
|
+
2. Генерація `dictionaries`
|
|
60
|
+
- Словники генеруються з файлів контенту. За замовчуванням словники Intlayer створюються в директорії `.intlayer/dictionaries` проєкту.
|
|
61
|
+
- Ці словники генеруються в різних форматах, щоб задовольнити всі потреби та оптимізувати продуктивність застосунку.
|
|
62
|
+
|
|
63
|
+
3. Генерація типів словників
|
|
64
|
+
|
|
65
|
+
На основі ваших `dictionaries` Intlayer згенерує типи, щоб зробити їх доступними у вашому застосунку.
|
|
66
|
+
|
|
67
|
+
- Типи словників генеруються з файлів оголошень вмісту Intlayer (`content declaration files`). За замовчуванням типи словників Intlayer генеруються в директорії `.intlayer/types` проєкту.
|
|
68
|
+
|
|
69
|
+
- Intlayer [module augmentation](https://www.typescriptlang.org/docs/handbook/declaration-merging.html) — це можливість TypeScript, яка дозволяє визначати додаткові типи для Intlayer. Це спрощує досвід розробки, підказуючи доступні або обов'язкові аргументи.
|
|
70
|
+
Серед згенерованих типів, типи словників Intlayer або навіть типи конфігурації мов додаються до файлу `types/intlayer.d.ts` і використовуються іншими пакетами. Для цього необхідно, щоб файл `tsconfig.json` був налаштований на включення директорії `types` проекту.
|
|
71
|
+
|
|
72
|
+
### Крок інтерпретації словників
|
|
73
|
+
|
|
74
|
+
За допомогою Intlayer ви будете отримувати доступ до вашого контенту в застосунку, використовуючи хук `useIntlayer`.
|
|
75
|
+
|
|
76
|
+
```tsx
|
|
77
|
+
const MyComponent = () => {
|
|
78
|
+
const content = useIntlayer("my-component");
|
|
79
|
+
return <div>{content.title}</div>;
|
|
80
|
+
};
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
Цей хук керуватиме визначенням локалі за вас і повертатиме контент для поточної локалі. Використовуючи цей хук, ви також зможете інтерпретувати markdown, керувати pluralization та багато іншого.
|
|
84
|
+
|
|
85
|
+
> Щоб побачити всі можливості Intlayer, ви можете прочитати [документацію словників](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/dictionary/content_file.md).
|
|
86
|
+
|
|
87
|
+
## Віддалений контент
|
|
88
|
+
|
|
89
|
+
Intlayer дозволяє оголошувати контент локально, а потім експортувати його до CMS, щоб зробити його редагованим для вашої нетехнічної команди.
|
|
90
|
+
|
|
91
|
+
Таким чином ви зможете відправляти (push) та отримувати (pull) контент між CMS та вашим додатком, подібно до того, як ви працюєте з Git для вашого коду.
|
|
92
|
+
|
|
93
|
+
Для зовнішніх словників, які використовують CMS, Intlayer виконує базову операцію fetch для отримання віддалених словників і об'єднує їх з локальними. Якщо це налаштовано в проекті, Intlayer автоматично керуватиме отриманням контенту з CMS під час запуску додатка (dev) або під час збірки (prod).
|
|
94
|
+
|
|
95
|
+
## Візуальний редактор
|
|
96
|
+
|
|
97
|
+
Intlayer також надає візуальний редактор, щоб дозволити редагувати ваш контент у візуальний спосіб. Цей [візуальний редактор](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/intlayer_visual_editor.md) доступний у зовнішньому пакеті `intlayer-editor`.
|
|
98
|
+
|
|
99
|
+

|
|
100
|
+
|
|
101
|
+
- Сервер — це проста Express-аплікація, яка прослуховує запити від клієнта та отримує вміст вашого застосунку, такий як `dictionaries`, і конфігурацію, щоб зробити їх доступними на стороні клієнта.
|
|
102
|
+
- З іншого боку, клієнт — це React-аплікація, яка використовується для взаємодії з вашим контентом за допомогою візуального інтерфейсу.
|
|
103
|
+
|
|
104
|
+
Коли ви викликаєте свій контент за допомогою `useIntlayer` і редактор увімкнений, він автоматично обгортає ваші рядки об'єктом Proxy з ім'ям `IntlayerNode`. Цей вузол використовує `window.postMessage` для зв'язку з вкладеним iframe, що містить інтерфейс візуального редактора.
|
|
105
|
+
На стороні редактора він прослуховує ці повідомлення та імітує реальну взаємодію з вашим контентом, дозволяючи редагувати текст безпосередньо в контексті вашого додатку.
|
|
106
|
+
|
|
107
|
+
## Оптимізація збірки додатку
|
|
108
|
+
|
|
109
|
+
Щоб оптимізувати розмір бандлу вашого додатку, Intlayer надає два плагіни для оптимізації збірки: `@intlayer/babel` та `@intlayer/swc`.
|
|
110
|
+
|
|
111
|
+
Плагіни Babel та SWC працюють шляхом аналізу абстрактного синтаксичного дерева (AST) вашого додатка, щоб замінити виклики функцій Intlayer на оптимізований код. Цей процес робить ваш фінальний bundle легшим у production, забезпечуючи імпорт лише тих словників, які фактично використовуються, оптимізуючи chunking та зменшуючи розмір bundle.
|
|
112
|
+
|
|
113
|
+
У режимі розробки Intlayer використовує централізований статичний імпорт словників, щоб спростити досвід розробки.
|
|
114
|
+
|
|
115
|
+
Активувавши опцію `importMode = "dynamic"` у [configuration](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/configuration.md), Intlayer використовуватиме динамічний імпорт для завантаження словників. Ця опція вимкнена за замовчуванням, щоб уникнути асинхронної обробки під час рендерингу додатка.
|
|
116
|
+
|
|
117
|
+
> `@intlayer/babel` доступний за замовчуванням у пакеті `vite-intlayer`,
|
|
118
|
+
>
|
|
119
|
+
> `@intlayer/swc` не встановлений за замовчуванням у пакеті `next-intlayer`, оскільки плагіни SWC все ще експериментальні в Next.js.
|
|
120
|
+
|
|
121
|
+
Щоб дізнатися, як налаштувати збірку вашого застосунку, ви можете прочитати [документацію з конфігурації](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/configuration.md).
|
|
122
|
+
|
|
123
|
+
## Пакети
|
|
124
|
+
|
|
125
|
+
Intlayer складається з кількох пакетів, кожен із яких має конкретну роль у процесі перекладу. Нижче — графічне зображення структури цих пакетів:
|
|
126
|
+
|
|
127
|
+

|
|
128
|
+
|
|
129
|
+
### intlayer
|
|
130
|
+
|
|
131
|
+
Пакет `intlayer` використовується в застосунках для оголошення контенту у файлах контенту.
|
|
132
|
+
|
|
133
|
+
### react-intlayer
|
|
134
|
+
|
|
135
|
+
Пакет `react-intlayer` використовується для інтерпретації словників Intlayer і робить їх придатними для використання в React-застосунках.
|
|
136
|
+
|
|
137
|
+
### next-intlayer
|
|
138
|
+
|
|
139
|
+
Пакет `next-intlayer` використовується як шар поверх `react-intlayer`, щоб зробити словники Intlayer придатними для використання в Next.js-застосунках. Він інтегрує необхідні функції для роботи Intlayer у середовищі Next.js, такі як translation middleware, маршрутизація або конфігурація файлу `next.config.js`.
|
|
140
|
+
|
|
141
|
+
### vue-intlayer
|
|
142
|
+
|
|
143
|
+
Пакет `vue-intlayer` використовується для інтерпретації словників Intlayer і робить їх придатними для використання у Vue-застосунках.
|
|
144
|
+
|
|
145
|
+
### nuxt-intlayer
|
|
146
|
+
|
|
147
|
+
The `nuxt-intlayer` package is as Nuxt module to make Intlayer dictionaries usable in Nuxt applications. It integrates essential features to make Intlayer work in a Nuxt environment, such as translation middleware, routing, or the `nuxt.config.js` file configuration.
|
|
148
|
+
|
|
149
|
+
### svelte-intlayer
|
|
150
|
+
|
|
151
|
+
The `svelte-intlayer` package is used to interpret Intlayer dictionaries and make them usable in Svelte applications.
|
|
152
|
+
|
|
153
|
+
### solid-intlayer (WIP)
|
|
154
|
+
|
|
155
|
+
The `solid-intlayer` package is used to interpret Intlayer dictionaries and make them usable in Solid.js applications.
|
|
156
|
+
|
|
157
|
+
### preact-intlayer
|
|
158
|
+
|
|
159
|
+
The `preact-intlayer` package is used to interpret Intlayer dictionaries and make them usable in Preact applications.
|
|
160
|
+
|
|
161
|
+
### angular-intlayer (WIP)
|
|
162
|
+
|
|
163
|
+
Пакет `angular-intlayer` використовується для інтерпретації словників Intlayer та забезпечення їхнього використання в додатках Angular.
|
|
164
|
+
|
|
165
|
+
### express-intlayer
|
|
166
|
+
|
|
167
|
+
Пакет `express-intlayer` використовується для застосування Intlayer на бекенді Express.js.
|
|
168
|
+
|
|
169
|
+
### react-native-intlayer
|
|
170
|
+
|
|
171
|
+
Пакет `react-native-intlayer` надає інструменти для інтеграції плагінів, щоб Intlayer працював з бандлером Metro.
|
|
172
|
+
|
|
173
|
+
### lynx-intlayer
|
|
174
|
+
|
|
175
|
+
Пакет `lynx-intlayer` надає інструменти для інтеграції плагінів, щоб Intlayer працював з бандлером Lynx.
|
|
176
|
+
|
|
177
|
+
### vite-intlayer
|
|
178
|
+
|
|
179
|
+
Містить плагін Vite для інтеграції Intlayer з [бандлером Vite](https://vite.dev/guide/why.html#why-bundle-for-production), а також middleware для визначення пріоритетної локалі користувача, керування cookie та обробки перенаправлень URL.
|
|
180
|
+
|
|
181
|
+
### react-scripts-intlayer
|
|
182
|
+
|
|
183
|
+
Містить команди та плагіни `react-scripts-intlayer` для інтеграції Intlayer з додатком на базі Create React App. Ці плагіни засновані на [craco](https://craco.js.org/) і включають додаткову конфігурацію для бандлера [Webpack](https://webpack.js.org/).
|
|
184
|
+
|
|
185
|
+
### intlayer-editor
|
|
186
|
+
|
|
187
|
+
Пакет `intlayer-editor` використовується для забезпечення можливості використання візуального редактора. Цей пакет є опціональним, його можна встановити в застосунках, і він буде використовуватися пакетом `react-intlayer`.
|
|
188
|
+
Він складається з двох частин: сервера та клієнта.
|
|
189
|
+
|
|
190
|
+
Клієнт містить UI-елементи, які будуть використовуватися `react-intlayer`.
|
|
191
|
+
|
|
192
|
+
Сервер, на базі Express, використовується для отримання запитів від візуального редактора та керування або модифікації файлів контенту.
|
|
193
|
+
|
|
194
|
+
### intlayer-cli
|
|
195
|
+
|
|
196
|
+
Пакет `intlayer-cli` можна використовувати для генерації словників за допомогою команди `npx intlayer dictionaries build`. Якщо `intlayer` вже встановлено, CLI встановлюється автоматично і цей пакет не є необхідним.
|
|
197
|
+
|
|
198
|
+
### @intlayer/core
|
|
199
|
+
|
|
200
|
+
Пакет `@intlayer/core` є основним пакетом Intlayer. Він містить функції перекладу та керування словниками. `@intlayer/core` є багатоплатформним і використовується іншими пакетами для виконання інтерпретації словників.
|
|
201
|
+
|
|
202
|
+
### @intlayer/config
|
|
203
|
+
|
|
204
|
+
Пакет `@intlayer/config` використовується для налаштування параметрів Intlayer, таких як доступні мови, параметри middleware Next.js або налаштування інтегрованого редактора.
|
|
205
|
+
|
|
206
|
+
### @intlayer/webpack
|
|
207
|
+
|
|
208
|
+
The `@intlayer/webpack` package is used to provide a Webpack configuration to make a Webpack-based application work with Intlayer. The package also provides a plugin to add to an existing Webpack application.
|
|
209
|
+
|
|
210
|
+
### @intlayer/cli
|
|
211
|
+
|
|
212
|
+
Пакет `@intlayer/cli` є NPM-пакетом, який використовується для оголошення скриптів, пов’язаних із командними інтерфейсами Intlayer. Він забезпечує узгодженість усіх CLI-команд Intlayer. Цей пакет, зокрема, використовується пакетами [intlayer-cli](https://github.com/aymericzip/intlayer/tree/main/docs/uk/packages/intlayer-cli/index.md) та [intlayer](https://github.com/aymericzip/intlayer/tree/main/docs/uk/packages/intlayer/index.md).
|
|
213
|
+
|
|
214
|
+
### @intlayer/mcp
|
|
215
|
+
|
|
216
|
+
Пакет `@intlayer/mcp` забезпечує сервер MCP (Model Context Protocol), який надає підтримку IDE на базі ШІ, адаптовану до екосистеми Intlayer. Він автоматично завантажує документацію та інтегрується з Intlayer CLI.
|
|
217
|
+
|
|
218
|
+
### @intlayer/dictionaries-entry & @intlayer/unmerged-dictionaries-entry & @intlayer/dynamic-dictionaries-entry
|
|
219
|
+
|
|
220
|
+
Пакети `@intlayer/dictionaries-entry`, `@intlayer/unmerged-dictionaries-entry` та `@intlayer/dynamic-dictionaries-entry` повертають шлях entry словників Intlayer. Оскільки з браузера неможливо виконувати пошук по файловій системі, використання bundler-ів, таких як Webpack або Rollup, для отримання шляху entry словників неможливе. Ці пакети розроблені для того, щоб їх можна було alias-ити, що дозволяє оптимізувати bundling для різних збирачів, таких як Vite, Webpack та Turbopack.
|
|
221
|
+
|
|
222
|
+
### @intlayer/chokidar
|
|
223
|
+
|
|
224
|
+
Пакет `@intlayer/chokidar` використовується для моніторингу файлів контенту та перегенерації зміненого словника при кожній модифікації.
|
|
225
|
+
|
|
226
|
+
### @intlayer/editor
|
|
227
|
+
|
|
228
|
+
The `@intlayer/editor` package provides the utilities related to the dictionary editor. It notably includes the API to interface an application with the Intlayer editor, and utilities to manipulate dictionaries. This package is cross-platform.
|
|
229
|
+
|
|
230
|
+
### @intlayer/editor-react
|
|
231
|
+
|
|
232
|
+
The `@intlayer/editor-react` package provides states, contexts, hooks and components to interface a React application with the Intlayer editor.
|
|
233
|
+
|
|
234
|
+
### @intlayer/babel
|
|
235
|
+
|
|
236
|
+
The `@intlayer/babel` package provides tools that optimize bundling of dictionaries for Vite and Webpack based applications.
|
|
237
|
+
|
|
238
|
+
### @intlayer/swc
|
|
239
|
+
|
|
240
|
+
The `@intlayer/swc` package provides tools that optimize bundling of dictionaries for Next.js applications.
|
|
241
|
+
|
|
242
|
+
### @intlayer/api
|
|
243
|
+
|
|
244
|
+
The `@intlayer/api` package is an API SDK to interact with the backend.
|
|
245
|
+
|
|
246
|
+
### @intlayer/design-system
|
|
247
|
+
|
|
248
|
+
Пакет `@intlayer/design-system` використовується для обміну елементами дизайну між CMS і візуальним редактором.
|
|
249
|
+
|
|
250
|
+
### @intlayer/backend
|
|
251
|
+
|
|
252
|
+
Пакет `@intlayer/backend` експортує типи бекенду та згодом надасть бекенд як окремий пакет.
|
|
253
|
+
|
|
254
|
+
## Чат з нашою розумною документацією
|
|
255
|
+
|
|
256
|
+
- [Задавайте свої питання нашій розумній документації](https://intlayer.org/doc/chat)
|
package/docs/uk/index.md
ADDED
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2025-02-07
|
|
3
|
+
updatedAt: 2025-06-29
|
|
4
|
+
title: "Документація Intlayer — Повний посібник з i18n для JavaScript"
|
|
5
|
+
description: "Повна документація для Intlayer, сучасної бібліотеки інтернаціоналізації для JavaScript, React, Next.js, Express та інших фреймворків."
|
|
6
|
+
keywords:
|
|
7
|
+
- intlayer
|
|
8
|
+
- інтернаціоналізація
|
|
9
|
+
- i18n
|
|
10
|
+
- JavaScript
|
|
11
|
+
- React
|
|
12
|
+
- Next.js
|
|
13
|
+
- документація
|
|
14
|
+
- переклад
|
|
15
|
+
- багатомовність
|
|
16
|
+
slugs:
|
|
17
|
+
- doc
|
|
18
|
+
- index
|
|
19
|
+
history:
|
|
20
|
+
- version: 5.5.10
|
|
21
|
+
date: 2025-06-29
|
|
22
|
+
changes: Ініціалізація історії
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
# Документація Intlayer
|
|
26
|
+
|
|
27
|
+
Ласкаво просимо до офіційної документації **Intlayer**! Тут ви знайдете все необхідне для інтеграції, налаштування та опанування Intlayer для всіх ваших потреб у міжнародній локалізації (i18n), незалежно від того, чи ви працюєте з **Next.js**, **React**, **Vite**, **Express** або іншим JavaScript‑середовищем.
|
|
28
|
+
|
|
29
|
+
Intlayer пропонує гнучкий, сучасний підхід до перекладу вашого застосунку. Наші документи проведуть вас від встановлення та налаштування до розширених можливостей, таких як **AI-powered translation**, визначення **TypeScript** та підтримка **server component**, що дає змогу створити безшовний багатомовний досвід.
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## Початок роботи
|
|
34
|
+
|
|
35
|
+
- **[Вступ](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/introduction.md)**
|
|
36
|
+
Отримайте огляд того, як працює Intlayer, його основних функцій і чому він змінює підхід до i18n.
|
|
37
|
+
|
|
38
|
+
- **[Як працює Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/how_works_intlayer.md)**
|
|
39
|
+
Зануртеся в архітектурний дизайн і дізнайтеся, як Intlayer обробляє все — від оголошення контенту до доставки перекладів.
|
|
40
|
+
|
|
41
|
+
- **[Конфігурація](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/configuration.md)**
|
|
42
|
+
Налаштуйте Intlayer відповідно до потреб вашого проєкту. Дослідіть параметри middleware, структуру директорій і розширені налаштування.
|
|
43
|
+
|
|
44
|
+
- **[Intlayer CLI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/cli/index.md)**
|
|
45
|
+
Керуйте контентом та перекладами за допомогою нашого інструмента командного рядка. Дізнайтеся, як відправляти й отримувати контент, автоматизувати переклади та інше.
|
|
46
|
+
|
|
47
|
+
- **[Редактор Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/intlayer_visual_editor.md)**
|
|
48
|
+
Спрощуйте співпрацю з нерозробниками та підсилюйте свої переклади за допомогою AI, безпосередньо в нашому безкоштовному інтуїтивному CMS.
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## Основні поняття
|
|
53
|
+
|
|
54
|
+
### Словник
|
|
55
|
+
|
|
56
|
+
Організуйте багатомовний контент поруч із кодом, щоб усе було послідовним та зручним для підтримки.
|
|
57
|
+
|
|
58
|
+
- **[Почати роботу](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/dictionary/content_file.md)**
|
|
59
|
+
Вивчіть основи оголошення контенту в Intlayer.
|
|
60
|
+
|
|
61
|
+
- **[Переклад](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/dictionary/translation.md)**
|
|
62
|
+
Зрозумійте, як переклади генеруються, зберігаються та використовуються у вашому застосунку.
|
|
63
|
+
|
|
64
|
+
- **[Перелічення](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/dictionary/enumeration.md)**
|
|
65
|
+
Легко керуйте повторюваними або фіксованими наборами даних у різних мовах.
|
|
66
|
+
|
|
67
|
+
- **[Умова](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/dictionary/conditional.md)**
|
|
68
|
+
Дізнайтеся, як використовувати умовну логіку в Intlayer для створення динамічного контенту.
|
|
69
|
+
|
|
70
|
+
- **[Гендер](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/dictionary/gender.md)**
|
|
71
|
+
Дізнайтеся, як використовувати гендерну логіку в Intlayer для створення динамічного контенту.
|
|
72
|
+
|
|
73
|
+
- **[Вставка](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/dictionary/insertion.md)**
|
|
74
|
+
Дізнайтеся, як вставляти значення в рядок, використовуючи плейсхолдери вставки.
|
|
75
|
+
|
|
76
|
+
- **[Отримання за допомогою функції](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/dictionary/function_fetching.md)**
|
|
77
|
+
Перегляньте, як динамічно отримувати вміст за допомогою кастомної логіки, що відповідає робочому процесу вашого проєкту.
|
|
78
|
+
|
|
79
|
+
- **[Markdown](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/dictionary/markdown.md)**
|
|
80
|
+
Дізнайтеся, як використовувати Markdown в Intlayer для створення багатого контенту.
|
|
81
|
+
|
|
82
|
+
- **[Вбудовування файлів](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/dictionary/file_embeddings.md)**
|
|
83
|
+
Дізнайтеся, як вбудовувати зовнішні файли в Intlayer для використання їх у редакторі контенту.
|
|
84
|
+
|
|
85
|
+
- **[Вкладення](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/dictionary/nesting.md)**
|
|
86
|
+
Дізнайтеся, як вкладати контент в Intlayer, щоб створювати складні структури.
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## Середовища та інтеграції
|
|
91
|
+
|
|
92
|
+
Ми створили Intlayer з думкою про гнучкість, забезпечуючи безшовну інтеграцію з популярними фреймворками та інструментами збірки:
|
|
93
|
+
|
|
94
|
+
- **[Intlayer with Next.js 16](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/intlayer_with_nextjs_16.md)**
|
|
95
|
+
- **[Intlayer with Next.js 15](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/intlayer_with_nextjs_15.md)**
|
|
96
|
+
- **[Intlayer with Next.js 14 (App Router)](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/intlayer_with_nextjs_14.md)**
|
|
97
|
+
- **[Intlayer with Next.js Page Router](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/intlayer_with_nextjs_page_router.md)**
|
|
98
|
+
- **[Intlayer з React (Create React App)](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/intlayer_with_create_react_app.md)**
|
|
99
|
+
- **[Intlayer з Vite + React](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/intlayer_with_vite+react.md)**
|
|
100
|
+
- **[Intlayer з React Router v7](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/intlayer_with_react_router_v7.md)**
|
|
101
|
+
- **[Intlayer з React Router v7 (fs routes)](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/intlayer_with_react_router_v7_fs_routes.md)**
|
|
102
|
+
- **[Intlayer з Tanstack Start](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/intlayer_with_tanstack.md)**
|
|
103
|
+
- **[Intlayer з React Native та Expo](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/intlayer_with_react_native+expo.md)**
|
|
104
|
+
- **[Intlayer з Lynx та React](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/intlayer_with_lynx+react.md)**
|
|
105
|
+
- **[Intlayer з Vite + Preact](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/intlayer_with_vite+preact.md)**
|
|
106
|
+
- **[Intlayer з Vite + Vue](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/intlayer_with_vite+vue.md)**
|
|
107
|
+
- **[Intlayer з Nuxt](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/intlayer_with_nuxt.md)**
|
|
108
|
+
- **[Intlayer з Express](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/intlayer_with_express.md)**
|
|
109
|
+
- **[Intlayer з NestJS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/intlayer_with_nestjs.md)**
|
|
110
|
+
- **[Intlayer з Angular](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/intlayer_with_angular.md)**
|
|
111
|
+
|
|
112
|
+
Кожне керівництво по інтеграції містить найкращі практики використання можливостей Intlayer, таких як **server-side rendering**, **dynamic routing** або **client-side rendering**, щоб ви могли підтримувати швидкий, SEO-дружній і високо масштабований застосунок.
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
## Пакети
|
|
117
|
+
|
|
118
|
+
Модульна архітектура Intlayer пропонує спеціалізовані пакети для певних середовищ і потреб:
|
|
119
|
+
|
|
120
|
+
### `intlayer`
|
|
121
|
+
|
|
122
|
+
Основні утиліти для налаштування та керування вашою i18n-конфігурацією.
|
|
123
|
+
|
|
124
|
+
- **[getConfiguration](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/packages/intlayer/getConfiguration.md)**
|
|
125
|
+
- **[getHTMLTextDir](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/packages/intlayer/getHTMLTextDir.md)**
|
|
126
|
+
- **[getLocaleLang](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/packages/intlayer/getLocaleLang.md)**
|
|
127
|
+
- **[getLocaleName](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/packages/intlayer/getLocaleName.md)**
|
|
128
|
+
- **[getLocalizedUrl](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/packages/intlayer/getLocalizedUrl.md)**
|
|
129
|
+
- **[getMultilingualUrls](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/packages/intlayer/getMultilingualUrls.md)**
|
|
130
|
+
- **[getPathWithoutLocale](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/packages/intlayer/getPathWithoutLocale.md)**
|
|
131
|
+
- **[getTranslation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/packages/intlayer/getTranslation.md)**
|
|
132
|
+
- **[getEnumeration](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/packages/intlayer/getEnumeration.md)**
|
|
133
|
+
|
|
134
|
+
### `express-intlayer`
|
|
135
|
+
|
|
136
|
+
Використовуйте Intlayer у додатках на базі **Express**:
|
|
137
|
+
|
|
138
|
+
- **[t](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/packages/express-intlayer/t.md)**
|
|
139
|
+
Мінімалістичний, простий helper для перекладів у ваших server routes і views.
|
|
140
|
+
|
|
141
|
+
### `react-intlayer`
|
|
142
|
+
|
|
143
|
+
Покращіть ваші додатки на **React** за допомогою потужних hooks:
|
|
144
|
+
|
|
145
|
+
- **[t](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/packages/react-intlayer/t.md)**
|
|
146
|
+
- **[useIntlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/packages/react-intlayer/useIntlayer.md)**
|
|
147
|
+
- **[useDictionary](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/packages/react-intlayer/useDictionary.md)**
|
|
148
|
+
- **[useLocale](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/packages/react-intlayer/useLocale.md)**
|
|
149
|
+
|
|
150
|
+
### `next-intlayer`
|
|
151
|
+
|
|
152
|
+
Безшовна інтеграція з **Next.js**:
|
|
153
|
+
|
|
154
|
+
- **[t](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/packages/next-intlayer/t.md)**
|
|
155
|
+
- **[useIntlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/packages/next-intlayer/useIntlayer.md)**
|
|
156
|
+
- **[useDictionary](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/packages/next-intlayer/useDictionary.md)**
|
|
157
|
+
- **[useLocale](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/packages/next-intlayer/useLocale.md)**
|
|
158
|
+
|
|
159
|
+
---
|
|
160
|
+
|
|
161
|
+
## Додаткові ресурси
|
|
162
|
+
|
|
163
|
+
- **[Blog: Intlayer and i18next](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/intlayer_with_i18next.md)**
|
|
164
|
+
Дізнайтеся, як Intlayer доповнює та порівнюється з популярною бібліотекою **i18next**.
|
|
165
|
+
|
|
166
|
+
- **[Live Tutorial on YouTube](https://youtu.be/W2G7KxuSD4c?si=GyU_KpVhr61razRw)**
|
|
167
|
+
Перегляньте повний демонстраційний відео та дізнайтеся, як інтегрувати Intlayer у режимі реального часу.
|
|
168
|
+
|
|
169
|
+
---
|
|
170
|
+
|
|
171
|
+
## Внесок і відгуки
|
|
172
|
+
|
|
173
|
+
Ми цінуємо силу відкритого коду та розробки, що керується спільнотою. Якщо ви хочете запропонувати покращення, додати новий посібник або виправити помилки в нашій документації, не соромтеся надіслати Pull Request або відкрити issue у нашому [репозиторії GitHub](https://github.com/aymericzip/intlayer/blob/main/docs/docs).
|
|
174
|
+
|
|
175
|
+
**Готові перекладати ваш додаток швидше та ефективніше?** Ознайомтеся з нашою документацією, щоб почати використовувати Intlayer вже сьогодні. Відчуйте надійний, оптимізований підхід до інтернаціоналізації, який допомагає тримати контент організованим і підвищує продуктивність вашої команди.
|