@intlayer/docs 7.5.12 → 7.5.13
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/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/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/dist/cjs/generated/frequentQuestions.entry.cjs +20 -0
- package/dist/cjs/generated/frequentQuestions.entry.cjs.map +1 -1
- package/dist/esm/generated/frequentQuestions.entry.mjs +20 -0
- package/dist/esm/generated/frequentQuestions.entry.mjs.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 +6 -6
- package/src/generated/frequentQuestions.entry.ts +20 -0
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2025-02-07
|
|
3
|
+
updatedAt: 2025-06-29
|
|
4
|
+
title: Умовний вміст
|
|
5
|
+
description: Дізнайтеся, як використовувати умовний вміст в Intlayer для динамічного відображення контенту на основі певних умов. Дотримуйтесь цієї документації, щоб ефективно реалізувати умови у вашому проєкті.
|
|
6
|
+
keywords:
|
|
7
|
+
- Умовний вміст
|
|
8
|
+
- Динамічне відображення
|
|
9
|
+
- Документація
|
|
10
|
+
- Intlayer
|
|
11
|
+
- Next.js
|
|
12
|
+
- JavaScript
|
|
13
|
+
- React
|
|
14
|
+
slugs:
|
|
15
|
+
- doc
|
|
16
|
+
- concept
|
|
17
|
+
- content
|
|
18
|
+
- condition
|
|
19
|
+
history:
|
|
20
|
+
- version: 5.5.10
|
|
21
|
+
date: 2025-06-29
|
|
22
|
+
changes: Ініціалізація історії
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
# Умовний вміст / Умова в Intlayer
|
|
26
|
+
|
|
27
|
+
## Як працює умова
|
|
28
|
+
|
|
29
|
+
В Intlayer умовний контент реалізується за допомогою функції `cond`, яка відображає конкретні умови (зазвичай булеві значення) на відповідний контент. Такий підхід дозволяє динамічно вибирати контент залежно від заданої умови. Під час інтеграції з React Intlayer або Next Intlayer відповідний контент автоматично обирається відповідно до умови, переданої під час виконання.
|
|
30
|
+
|
|
31
|
+
## Налаштування умовного контенту
|
|
32
|
+
|
|
33
|
+
Щоб налаштувати умовний контент у вашому проекті Intlayer, створіть модуль контенту, який містить ваші умовні визначення. Нижче наведено приклади в різних форматах.
|
|
34
|
+
|
|
35
|
+
```typescript fileName="**/*.content.ts" contentDeclarationFormat="typescript"
|
|
36
|
+
import { cond, type Dictionary } from "intlayer";
|
|
37
|
+
|
|
38
|
+
const myConditionalContent = {
|
|
39
|
+
key: "my_key",
|
|
40
|
+
content: {
|
|
41
|
+
myCondition: cond({
|
|
42
|
+
true: "мій контент, коли це true",
|
|
43
|
+
false: "мій контент, коли це false",
|
|
44
|
+
fallback: "мій контент, коли перевірка умови не спрацювала", // Необов'язково
|
|
45
|
+
}),
|
|
46
|
+
},
|
|
47
|
+
} satisfies Dictionary;
|
|
48
|
+
|
|
49
|
+
export default myConditionalContent;
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
```javascript fileName="**/*.content.mjs" contentDeclarationFormat="esm"
|
|
53
|
+
import { cond } from "intlayer";
|
|
54
|
+
|
|
55
|
+
/** @type {import('intlayer').Dictionary} */
|
|
56
|
+
const myConditionalContent = {
|
|
57
|
+
key: "my_key",
|
|
58
|
+
content: {
|
|
59
|
+
myCondition: cond({
|
|
60
|
+
true: "мій контент, коли це true",
|
|
61
|
+
false: "мій контент, коли це false",
|
|
62
|
+
fallback: "мій контент, коли перевірка умови не спрацювала", // Необов'язково
|
|
63
|
+
}),
|
|
64
|
+
},
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
export default myConditionalContent;
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
```javascript fileName="**/*.content.cjs" contentDeclarationFormat="commonjs"
|
|
71
|
+
const { cond } = require("intlayer");
|
|
72
|
+
|
|
73
|
+
/** @type {import('intlayer').Dictionary} */
|
|
74
|
+
const myConditionalContent = {
|
|
75
|
+
key: "my_key",
|
|
76
|
+
content: {
|
|
77
|
+
myCondition: cond({
|
|
78
|
+
true: "мій контент, коли це true",
|
|
79
|
+
false: "мій контент, коли це false",
|
|
80
|
+
fallback: "мій контент, коли умова не виконується", // Необов'язково
|
|
81
|
+
}),
|
|
82
|
+
},
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
module.exports = myConditionalContent;
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
```json5 fileName="**/*.content.json" contentDeclarationFormat="json"
|
|
89
|
+
{
|
|
90
|
+
"$schema": "https://intlayer.org/schema.json",
|
|
91
|
+
"key": "my_key",
|
|
92
|
+
"content": {
|
|
93
|
+
"myCondition": {
|
|
94
|
+
"nodeType": "condition",
|
|
95
|
+
"condition": {
|
|
96
|
+
"true": "мій контент, коли це true",
|
|
97
|
+
"false": "мій контент, коли це false",
|
|
98
|
+
"fallback": "мій контент, коли умова не виконується", // Необов'язково
|
|
99
|
+
},
|
|
100
|
+
},
|
|
101
|
+
},
|
|
102
|
+
}
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
> Якщо не вказано fallback, останній заданий ключ буде використано як fallback, якщо умова не проходить.
|
|
106
|
+
|
|
107
|
+
## Використання умовного контенту в React Intlayer
|
|
108
|
+
|
|
109
|
+
Щоб використовувати умовний контент у React-компоненті, імпортуйте та використовуйте хук `useIntlayer` з пакета `react-intlayer`. Цей хук отримує контент для зазначеного ключа і дозволяє передати умову для вибору відповідного виводу.
|
|
110
|
+
|
|
111
|
+
```tsx fileName="**/*.tsx" codeFormat="typescript"
|
|
112
|
+
import type { FC } from "react";
|
|
113
|
+
import { useIntlayer } from "react-intlayer";
|
|
114
|
+
|
|
115
|
+
const ConditionalComponent: FC = () => {
|
|
116
|
+
const { myCondition } = useIntlayer("my_key");
|
|
117
|
+
|
|
118
|
+
return (
|
|
119
|
+
<div>
|
|
120
|
+
<p>
|
|
121
|
+
{
|
|
122
|
+
/* Вивід: мій контент, коли це true */
|
|
123
|
+
myCondition(true)
|
|
124
|
+
}
|
|
125
|
+
</p>
|
|
126
|
+
<p>
|
|
127
|
+
{
|
|
128
|
+
/* Вивід: мій контент, коли це false */
|
|
129
|
+
myCondition(false)
|
|
130
|
+
}
|
|
131
|
+
</p>
|
|
132
|
+
<p>
|
|
133
|
+
{
|
|
134
|
+
/* Вивід: мій контент, коли умова не виконується */
|
|
135
|
+
myCondition("")
|
|
136
|
+
}
|
|
137
|
+
</p>
|
|
138
|
+
<p>
|
|
139
|
+
{
|
|
140
|
+
/* Вивід: мій контент, коли умова не виконується */
|
|
141
|
+
myCondition(undefined)
|
|
142
|
+
}
|
|
143
|
+
</p>
|
|
144
|
+
</div>
|
|
145
|
+
);
|
|
146
|
+
};
|
|
147
|
+
|
|
148
|
+
export default ConditionalComponent;
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
```javascript fileName="**/*.mjx" codeFormat="esm"
|
|
152
|
+
import { useIntlayer } from "react-intlayer";
|
|
153
|
+
|
|
154
|
+
const ConditionalComponent = () => {
|
|
155
|
+
const { myCondition } = useIntlayer("my_key");
|
|
156
|
+
|
|
157
|
+
return (
|
|
158
|
+
<div>
|
|
159
|
+
<p>
|
|
160
|
+
{
|
|
161
|
+
/* Вивід: мій контент, коли це true */
|
|
162
|
+
myCondition(true)
|
|
163
|
+
}
|
|
164
|
+
</p>
|
|
165
|
+
<p>
|
|
166
|
+
{
|
|
167
|
+
/* Вивід: мій вміст, коли це false */
|
|
168
|
+
myCondition(false)
|
|
169
|
+
}
|
|
170
|
+
</p>
|
|
171
|
+
<p>
|
|
172
|
+
{
|
|
173
|
+
/* Вивід: мій вміст, коли умова не виконується */
|
|
174
|
+
myCondition("")
|
|
175
|
+
}
|
|
176
|
+
</p>
|
|
177
|
+
<p>
|
|
178
|
+
{
|
|
179
|
+
/* Вивід: мій вміст, коли умова не виконується */
|
|
180
|
+
myCondition(undefined)
|
|
181
|
+
}
|
|
182
|
+
</p>
|
|
183
|
+
</div>
|
|
184
|
+
);
|
|
185
|
+
};
|
|
186
|
+
|
|
187
|
+
export default ConditionalComponent;
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
```javascript fileName="**/*.cjs" codeFormat="commonjs"
|
|
191
|
+
const { useIntlayer } = require("react-intlayer");
|
|
192
|
+
|
|
193
|
+
const ConditionalComponent = () => {
|
|
194
|
+
const { myCondition } = useIntlayer("my_key");
|
|
195
|
+
|
|
196
|
+
return (
|
|
197
|
+
<div>
|
|
198
|
+
<p>
|
|
199
|
+
{
|
|
200
|
+
/* Вивід: мій вміст, коли це true */
|
|
201
|
+
myCondition(true)
|
|
202
|
+
}
|
|
203
|
+
</p>
|
|
204
|
+
<p>
|
|
205
|
+
{
|
|
206
|
+
/* Вивід: мій контент, коли це false */
|
|
207
|
+
myCondition(false)
|
|
208
|
+
}
|
|
209
|
+
</p>
|
|
210
|
+
<p>
|
|
211
|
+
{
|
|
212
|
+
/* Вивід: мій контент, коли умова не виконується */
|
|
213
|
+
myCondition("")
|
|
214
|
+
}
|
|
215
|
+
</p>
|
|
216
|
+
<p>
|
|
217
|
+
{
|
|
218
|
+
/* Вивід: мій контент, коли умова не виконується */
|
|
219
|
+
myCondition(undefined)
|
|
220
|
+
}
|
|
221
|
+
</p>
|
|
222
|
+
</div>
|
|
223
|
+
);
|
|
224
|
+
};
|
|
225
|
+
|
|
226
|
+
module.exports = ConditionalComponent;
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
## Додаткові ресурси
|
|
230
|
+
|
|
231
|
+
Для детальнішої інформації щодо конфігурації та використання зверніться до наведених ресурсів:
|
|
232
|
+
|
|
233
|
+
- [Документація Intlayer CLI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/cli/index.md)
|
|
234
|
+
- [Документація React Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/intlayer_with_create_react_app.md)
|
|
235
|
+
- [Документація Intlayer для Next.js](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/intlayer_with_nextjs_15.md)
|
|
236
|
+
|
|
237
|
+
Ці ресурси надають додаткову інформацію щодо налаштування та використання Intlayer у різних середовищах та фреймворках.
|