@intlayer/docs 8.5.2 → 8.6.1
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/docs/ar/intlayer_with_react_router_v7.md +2 -4
- package/docs/ar/intlayer_with_react_router_v7_fs_routes.md +2 -4
- package/docs/ar/intlayer_with_svelte_kit.md +2 -2
- package/docs/ar/intlayer_with_tanstack+solid.md +0 -17
- package/docs/ar/intlayer_with_tanstack.md +0 -8
- package/docs/ar/intlayer_with_vite+lit.md +0 -1
- package/docs/ar/intlayer_with_vite+solid.md +0 -1
- package/docs/ar/intlayer_with_vite+svelte.md +1 -1
- package/docs/bn/intlayer_with_vite+lit.md +0 -1
- package/docs/cs/intlayer_with_vite+lit.md +0 -1
- package/docs/de/intlayer_with_react_router_v7.md +2 -4
- package/docs/de/intlayer_with_react_router_v7_fs_routes.md +1 -2
- package/docs/de/intlayer_with_svelte_kit.md +2 -2
- package/docs/de/intlayer_with_tanstack+solid.md +78 -21
- package/docs/de/intlayer_with_tanstack.md +96 -28
- package/docs/de/intlayer_with_vite+lit.md +0 -1
- package/docs/de/intlayer_with_vite+solid.md +0 -1
- package/docs/de/intlayer_with_vite+svelte.md +1 -1
- package/docs/en/intlayer_with_react_router_v7.md +1 -2
- package/docs/en/intlayer_with_react_router_v7_fs_routes.md +2 -4
- package/docs/en/intlayer_with_svelte_kit.md +2 -2
- package/docs/en/intlayer_with_tanstack+solid.md +79 -19
- package/docs/en/intlayer_with_tanstack.md +81 -10
- package/docs/en/intlayer_with_vite+lit.md +0 -1
- package/docs/en/intlayer_with_vite+solid.md +0 -1
- package/docs/en/intlayer_with_vite+svelte.md +5 -6
- package/docs/en-GB/intlayer_with_react_router_v7.md +2 -4
- package/docs/en-GB/intlayer_with_react_router_v7_fs_routes.md +2 -4
- package/docs/en-GB/intlayer_with_svelte_kit.md +2 -2
- package/docs/en-GB/intlayer_with_tanstack+solid.md +71 -17
- package/docs/en-GB/intlayer_with_tanstack.md +74 -9
- package/docs/en-GB/intlayer_with_vite+lit.md +0 -1
- package/docs/en-GB/intlayer_with_vite+solid.md +0 -1
- package/docs/en-GB/intlayer_with_vite+svelte.md +1 -1
- package/docs/es/intlayer_with_react_router_v7.md +2 -4
- package/docs/es/intlayer_with_react_router_v7_fs_routes.md +2 -4
- package/docs/es/intlayer_with_svelte_kit.md +2 -2
- package/docs/es/intlayer_with_tanstack+solid.md +78 -21
- package/docs/es/intlayer_with_tanstack.md +96 -28
- package/docs/es/intlayer_with_vite+lit.md +0 -1
- package/docs/es/intlayer_with_vite+solid.md +0 -1
- package/docs/es/intlayer_with_vite+svelte.md +1 -1
- package/docs/fr/intlayer_with_react_router_v7.md +2 -4
- package/docs/fr/intlayer_with_react_router_v7_fs_routes.md +2 -4
- package/docs/fr/intlayer_with_svelte_kit.md +3 -3
- package/docs/fr/intlayer_with_tanstack+solid.md +78 -21
- package/docs/fr/intlayer_with_tanstack.md +96 -28
- package/docs/fr/intlayer_with_vite+lit.md +0 -1
- package/docs/fr/intlayer_with_vite+solid.md +0 -1
- package/docs/fr/intlayer_with_vite+svelte.md +1 -1
- package/docs/hi/intlayer_with_react_router_v7.md +2 -4
- package/docs/hi/intlayer_with_react_router_v7_fs_routes.md +2 -4
- package/docs/hi/intlayer_with_svelte_kit.md +2 -2
- package/docs/hi/intlayer_with_tanstack+solid.md +0 -17
- package/docs/hi/intlayer_with_tanstack.md +0 -8
- package/docs/hi/intlayer_with_vite+lit.md +0 -1
- package/docs/hi/intlayer_with_vite+solid.md +0 -1
- package/docs/hi/intlayer_with_vite+svelte.md +1 -1
- package/docs/id/intlayer_with_react_router_v7.md +2 -4
- package/docs/id/intlayer_with_react_router_v7_fs_routes.md +2 -4
- package/docs/id/intlayer_with_svelte_kit.md +2 -2
- package/docs/id/intlayer_with_tanstack+solid.md +0 -17
- package/docs/id/intlayer_with_tanstack.md +0 -8
- package/docs/id/intlayer_with_vite+lit.md +0 -1
- package/docs/id/intlayer_with_vite+solid.md +0 -1
- package/docs/id/intlayer_with_vite+svelte.md +1 -1
- package/docs/it/intlayer_with_react_router_v7.md +2 -4
- package/docs/it/intlayer_with_react_router_v7_fs_routes.md +2 -4
- package/docs/it/intlayer_with_svelte_kit.md +3 -3
- package/docs/it/intlayer_with_tanstack+solid.md +76 -19
- package/docs/it/intlayer_with_tanstack.md +96 -30
- package/docs/it/intlayer_with_vite+lit.md +0 -1
- package/docs/it/intlayer_with_vite+solid.md +0 -1
- package/docs/it/intlayer_with_vite+svelte.md +1 -1
- package/docs/ja/intlayer_with_react_router_v7.md +1 -2
- package/docs/ja/intlayer_with_react_router_v7_fs_routes.md +2 -4
- package/docs/ja/intlayer_with_tanstack+solid.md +81 -22
- package/docs/ja/intlayer_with_tanstack.md +779 -93
- package/docs/ja/intlayer_with_vite+lit.md +0 -1
- package/docs/ja/intlayer_with_vite+solid.md +0 -1
- package/docs/ja/intlayer_with_vite+svelte.md +1 -1
- package/docs/ko/intlayer_with_react_router_v7.md +2 -4
- package/docs/ko/intlayer_with_react_router_v7_fs_routes.md +2 -4
- package/docs/ko/intlayer_with_svelte_kit.md +2 -2
- package/docs/ko/intlayer_with_tanstack+solid.md +79 -22
- package/docs/ko/intlayer_with_tanstack.md +95 -101
- package/docs/ko/intlayer_with_vite+lit.md +0 -1
- package/docs/ko/intlayer_with_vite+solid.md +0 -1
- package/docs/ko/intlayer_with_vite+svelte.md +1 -1
- package/docs/nl/intlayer_with_vite+lit.md +0 -1
- package/docs/pl/intlayer_with_react_router_v7.md +2 -4
- package/docs/pl/intlayer_with_react_router_v7_fs_routes.md +2 -4
- package/docs/pl/intlayer_with_svelte_kit.md +2 -2
- package/docs/pl/intlayer_with_tanstack+solid.md +0 -17
- package/docs/pl/intlayer_with_tanstack.md +0 -8
- package/docs/pl/intlayer_with_vite+lit.md +0 -1
- package/docs/pl/intlayer_with_vite+solid.md +0 -1
- package/docs/pl/intlayer_with_vite+svelte.md +1 -1
- package/docs/pt/intlayer_with_react_router_v7.md +1 -2
- package/docs/pt/intlayer_with_react_router_v7_fs_routes.md +2 -4
- package/docs/pt/intlayer_with_svelte_kit.md +3 -3
- package/docs/pt/intlayer_with_tanstack+solid.md +76 -19
- package/docs/pt/intlayer_with_tanstack.md +96 -30
- package/docs/pt/intlayer_with_vite+lit.md +0 -1
- package/docs/pt/intlayer_with_vite+solid.md +0 -1
- package/docs/pt/intlayer_with_vite+svelte.md +1 -1
- package/docs/ru/intlayer_with_react_router_v7.md +2 -4
- package/docs/ru/intlayer_with_react_router_v7_fs_routes.md +2 -4
- package/docs/ru/intlayer_with_svelte_kit.md +2 -2
- package/docs/ru/intlayer_with_tanstack+solid.md +78 -21
- package/docs/ru/intlayer_with_tanstack.md +99 -33
- package/docs/ru/intlayer_with_vite+lit.md +0 -1
- package/docs/ru/intlayer_with_vite+solid.md +0 -1
- package/docs/ru/intlayer_with_vite+svelte.md +1 -1
- package/docs/tr/intlayer_with_react_router_v7.md +2 -4
- package/docs/tr/intlayer_with_react_router_v7_fs_routes.md +2 -4
- package/docs/tr/intlayer_with_svelte_kit.md +2 -2
- package/docs/tr/intlayer_with_tanstack+solid.md +0 -17
- package/docs/tr/intlayer_with_tanstack.md +0 -8
- package/docs/tr/intlayer_with_vite+lit.md +0 -1
- package/docs/tr/intlayer_with_vite+solid.md +0 -1
- package/docs/tr/intlayer_with_vite+svelte.md +1 -1
- package/docs/uk/intlayer_with_react_router_v7.md +1 -2
- package/docs/uk/intlayer_with_react_router_v7_fs_routes.md +2 -4
- package/docs/uk/intlayer_with_svelte_kit.md +2 -2
- package/docs/uk/intlayer_with_tanstack+solid.md +0 -17
- package/docs/uk/intlayer_with_tanstack.md +0 -8
- package/docs/uk/intlayer_with_vite+lit.md +0 -1
- package/docs/uk/intlayer_with_vite+solid.md +0 -1
- package/docs/uk/intlayer_with_vite+svelte.md +1 -1
- package/docs/ur/intlayer_with_vite+lit.md +0 -1
- package/docs/vi/intlayer_with_react_router_v7.md +2 -4
- package/docs/vi/intlayer_with_react_router_v7_fs_routes.md +2 -4
- package/docs/vi/intlayer_with_svelte_kit.md +2 -2
- package/docs/vi/intlayer_with_tanstack+solid.md +0 -17
- package/docs/vi/intlayer_with_tanstack.md +0 -8
- package/docs/vi/intlayer_with_vite+lit.md +0 -1
- package/docs/vi/intlayer_with_vite+solid.md +0 -1
- package/docs/vi/intlayer_with_vite+svelte.md +1 -1
- package/docs/zh/intlayer_with_react_router_v7.md +2 -4
- package/docs/zh/intlayer_with_react_router_v7_fs_routes.md +2 -4
- package/docs/zh/intlayer_with_svelte_kit.md +2 -2
- package/docs/zh/intlayer_with_tanstack+solid.md +80 -23
- package/docs/zh/intlayer_with_tanstack.md +96 -104
- package/docs/zh/intlayer_with_vite+lit.md +0 -1
- package/docs/zh/intlayer_with_vite+solid.md +0 -1
- package/docs/zh/intlayer_with_vite+svelte.md +1 -1
- package/package.json +8 -8
|
@@ -174,10 +174,9 @@ module.exports = config;
|
|
|
174
174
|
import { reactRouter } from "@react-router/dev/vite";
|
|
175
175
|
import { defineConfig } from "vite";
|
|
176
176
|
import { intlayer } from "vite-intlayer";
|
|
177
|
-
import tsconfigPaths from "vite-tsconfig-paths";
|
|
178
177
|
|
|
179
178
|
export default defineConfig({
|
|
180
|
-
plugins: [reactRouter(),
|
|
179
|
+
plugins: [reactRouter(), intlayer()],
|
|
181
180
|
});
|
|
182
181
|
```
|
|
183
182
|
|
|
@@ -819,13 +818,12 @@ This comprehensive guide provides everything you need to integrate Intlayer with
|
|
|
819
818
|
import { reactRouter } from "@react-router/dev/vite";
|
|
820
819
|
import { defineConfig } from "vite";
|
|
821
820
|
import { intlayer, intlayerProxy } from "vite-intlayer";
|
|
822
|
-
import tsconfigPaths from "vite-tsconfig-paths";
|
|
823
821
|
|
|
824
822
|
export default defineConfig({
|
|
825
823
|
plugins: [
|
|
826
824
|
intlayerProxy(), // should be placed first
|
|
827
825
|
reactRouter(),
|
|
828
|
-
|
|
826
|
+
|
|
829
827
|
intlayer(),
|
|
830
828
|
],
|
|
831
829
|
});
|
|
@@ -199,7 +199,7 @@ export default heroContent;
|
|
|
199
199
|
<!-- Відобразити контент у простому вигляді -->
|
|
200
200
|
<h1>{$content.title}</h1>
|
|
201
201
|
<!-- Щоб зробити контент редагованим за допомогою редактора -->
|
|
202
|
-
<h1
|
|
202
|
+
<h1>{@const Title = $content.title}<Title /></h1>
|
|
203
203
|
<!-- Щоб відобразити вміст як рядок -->
|
|
204
204
|
<div aria-label={$content.title.value}></div>
|
|
205
205
|
```
|
|
@@ -555,7 +555,7 @@ export default defineConfig({
|
|
|
555
555
|
<h1>{$content.title}</h1>
|
|
556
556
|
|
|
557
557
|
<!-- Відобразити вміст як компонент (вимагається редактором) -->
|
|
558
|
-
|
|
558
|
+
{@const Component = $content.component}<Component />
|
|
559
559
|
</div>
|
|
560
560
|
```
|
|
561
561
|
|
|
@@ -140,16 +140,12 @@ export default config;
|
|
|
140
140
|
import { intlayer } from "vite-intlayer";
|
|
141
141
|
import { defineConfig } from "vite";
|
|
142
142
|
import { devtools } from "@tanstack/devtools-vite";
|
|
143
|
-
import viteTsConfigPaths from "vite-tsconfig-paths";
|
|
144
143
|
import { tanstackStart } from "@tanstack/solid-start/plugin/vite";
|
|
145
144
|
import solidPlugin from "vite-plugin-solid";
|
|
146
145
|
|
|
147
146
|
export default defineConfig({
|
|
148
147
|
plugins: [
|
|
149
148
|
devtools(),
|
|
150
|
-
viteTsConfigPaths({
|
|
151
|
-
projects: ["./tsconfig.json"],
|
|
152
|
-
}),
|
|
153
149
|
tanstackStart({
|
|
154
150
|
router: {
|
|
155
151
|
routeFileIgnorePattern:
|
|
@@ -221,9 +217,6 @@ function RootComponent() {
|
|
|
221
217
|
}
|
|
222
218
|
```
|
|
223
219
|
|
|
224
|
-
> [!NOTE]
|
|
225
|
-
> у файлах Solid `useMatches` повертає **signal** (реактивний аксесор). Використовуйте `matches()` (з дужками) для реактивного доступу до поточного значення.
|
|
226
|
-
|
|
227
220
|
### Крок 6: Створення макета локалі (опціонально)
|
|
228
221
|
|
|
229
222
|
Створіть макет, який обробляє префікс локалі та виконує валідацію. Цей макет гарантуватиме, що обробляються лише дійсні локалі.
|
|
@@ -415,7 +408,6 @@ function RouteComponent() {
|
|
|
415
408
|
}
|
|
416
409
|
```
|
|
417
410
|
|
|
418
|
-
> [!NOTE]
|
|
419
411
|
> у Solid `useIntlayer` повертає функцію **accessor** (наприклад, `content()`). Ви повинні викликати цю функцію, щоб отримати доступ до реактивного вмісту.
|
|
420
412
|
>
|
|
421
413
|
> Щоб дізнатися більше про хук `useIntlayer`, зверніться до [документації](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/packages/solid-intlayer/useIntlayer.md).
|
|
@@ -460,7 +452,6 @@ export const LocaleSwitcher = () => {
|
|
|
460
452
|
export default LocaleSwitcher;
|
|
461
453
|
```
|
|
462
454
|
|
|
463
|
-
> [!NOTE]
|
|
464
455
|
> у файлах Solid `locale` з `useLocale` є **signal accessor**. Використовуйте `locale()` (з дужками), щоб реактивно читати його поточне значення.
|
|
465
456
|
>
|
|
466
457
|
> Щоб дізнатися більше про хук `useLocale`, зверніться до [документації](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/packages/solid-intlayer/useLocale.md).
|
|
@@ -502,15 +493,11 @@ import solid from "vite-plugin-solid";
|
|
|
502
493
|
import { nitro } from "nitro/vite";
|
|
503
494
|
import { defineConfig } from "vite";
|
|
504
495
|
import { intlayer, intlayerProxy } from "vite-intlayer";
|
|
505
|
-
import viteTsConfigPaths from "vite-tsconfig-paths";
|
|
506
496
|
|
|
507
497
|
export default defineConfig({
|
|
508
498
|
plugins: [
|
|
509
499
|
intlayerProxy(), // Проксі слід розміщувати перед сервером, якщо ви використовуєте Nitro
|
|
510
500
|
nitro(),
|
|
511
|
-
viteTsConfigPaths({
|
|
512
|
-
projects: ["./tsconfig.json"],
|
|
513
|
-
}),
|
|
514
501
|
intlayer(),
|
|
515
502
|
tanstackStart({
|
|
516
503
|
router: {
|
|
@@ -803,16 +790,12 @@ bun x intlayer extract
|
|
|
803
790
|
import { intlayer, intlayerCompiler } from "vite-intlayer";
|
|
804
791
|
import { defineConfig } from "vite";
|
|
805
792
|
import { devtools } from "@tanstack/devtools-vite";
|
|
806
|
-
import viteTsConfigPaths from "vite-tsconfig-paths";
|
|
807
793
|
import { tanstackStart } from "@tanstack/solid-start/plugin/vite";
|
|
808
794
|
import solidPlugin from "vite-plugin-solid";
|
|
809
795
|
|
|
810
796
|
export default defineConfig({
|
|
811
797
|
plugins: [
|
|
812
798
|
devtools(),
|
|
813
|
-
viteTsConfigPaths({
|
|
814
|
-
projects: ["./tsconfig.json"],
|
|
815
|
-
}),
|
|
816
799
|
tanstackStart({
|
|
817
800
|
router: {
|
|
818
801
|
routeFileIgnorePattern:
|
|
@@ -160,14 +160,10 @@ import viteReact from "@vitejs/plugin-react";
|
|
|
160
160
|
import { nitro } from "nitro/vite";
|
|
161
161
|
import { defineConfig } from "vite";
|
|
162
162
|
import { intlayer } from "vite-intlayer";
|
|
163
|
-
import viteTsConfigPaths from "vite-tsconfig-paths";
|
|
164
163
|
|
|
165
164
|
const config = defineConfig({
|
|
166
165
|
plugins: [
|
|
167
166
|
nitro(),
|
|
168
|
-
viteTsConfigPaths({
|
|
169
|
-
projects: ["./tsconfig.json"],
|
|
170
|
-
}),
|
|
171
167
|
intlayer(),
|
|
172
168
|
tanstackStart({
|
|
173
169
|
router: {
|
|
@@ -593,15 +589,11 @@ import viteReact from "@vitejs/plugin-react";
|
|
|
593
589
|
import { nitro } from "nitro/vite";
|
|
594
590
|
import { defineConfig } from "vite";
|
|
595
591
|
import { intlayer, intlayerProxy } from "vite-intlayer";
|
|
596
|
-
import viteTsConfigPaths from "vite-tsconfig-paths";
|
|
597
592
|
|
|
598
593
|
export default defineConfig({
|
|
599
594
|
plugins: [
|
|
600
595
|
intlayerProxy(), // Проксі слід розміщувати перед сервером, якщо ви використовуєте Nitro
|
|
601
596
|
nitro(),
|
|
602
|
-
viteTsConfigPaths({
|
|
603
|
-
projects: ["./tsconfig.json"],
|
|
604
|
-
}),
|
|
605
597
|
intlayer(),
|
|
606
598
|
tanstackStart({
|
|
607
599
|
router: {
|
|
@@ -314,7 +314,6 @@ const App: Component = () => (
|
|
|
314
314
|
export default App;
|
|
315
315
|
```
|
|
316
316
|
|
|
317
|
-
> [!NOTE]
|
|
318
317
|
> У Solid, `useIntlayer` повертає функцію **accessor** (наприклад, `content()`). Ви повинні викликати цю функцію для доступу до реактивного контенту.
|
|
319
318
|
|
|
320
319
|
> Якщо ви хочете використовувати ваш контент у атрибуті `string`, такому як `alt`, `title`, `href`, `aria-label` тощо, ви повинні викликати значення функції, як:
|
|
@@ -234,7 +234,7 @@ module.exports = appContent;
|
|
|
234
234
|
<!-- Відобразити вміст як простий контент -->
|
|
235
235
|
<h1>{$content.title}</h1>
|
|
236
236
|
<!-- Зробити вміст редагованим за допомогою редактора -->
|
|
237
|
-
<h1
|
|
237
|
+
<h1>{@const Title = $content.title}<Title /></h1>
|
|
238
238
|
<!-- Відобразити вміст як рядок -->
|
|
239
239
|
<div aria-label={$content.title.value}></div>
|
|
240
240
|
|
|
@@ -184,10 +184,9 @@ Thêm plugin intlayer vào cấu hình của bạn:
|
|
|
184
184
|
import { reactRouter } from "@react-router/dev/vite";
|
|
185
185
|
import { defineConfig } from "vite";
|
|
186
186
|
import { intlayer } from "vite-intlayer";
|
|
187
|
-
import tsconfigPaths from "vite-tsconfig-paths";
|
|
188
187
|
|
|
189
188
|
export default defineConfig({
|
|
190
|
-
plugins: [reactRouter(),
|
|
189
|
+
plugins: [reactRouter(), intlayer()],
|
|
191
190
|
});
|
|
192
191
|
```
|
|
193
192
|
|
|
@@ -747,13 +746,12 @@ Bạn cũng có thể sử dụng `intlayerProxy` để thêm routing phía serv
|
|
|
747
746
|
import { reactRouter } from "@react-router/dev/vite";
|
|
748
747
|
import { defineConfig } from "vite";
|
|
749
748
|
import { intlayer, intlayerProxy } from "vite-intlayer";
|
|
750
|
-
import tsconfigPaths from "vite-tsconfig-paths";
|
|
751
749
|
|
|
752
750
|
export default defineConfig({
|
|
753
751
|
plugins: [
|
|
754
752
|
intlayerProxy(), // should be placed first
|
|
755
753
|
reactRouter(),
|
|
756
|
-
|
|
754
|
+
|
|
757
755
|
intlayer(),
|
|
758
756
|
],
|
|
759
757
|
});
|
|
@@ -183,10 +183,9 @@ Thêm plugin intlayer vào cấu hình của bạn:
|
|
|
183
183
|
import { reactRouter } from "@react-router/dev/vite";
|
|
184
184
|
import { defineConfig } from "vite";
|
|
185
185
|
import { intlayer } from "vite-intlayer";
|
|
186
|
-
import tsconfigPaths from "vite-tsconfig-paths";
|
|
187
186
|
|
|
188
187
|
export default defineConfig({
|
|
189
|
-
plugins: [reactRouter(),
|
|
188
|
+
plugins: [reactRouter(), intlayer()],
|
|
190
189
|
});
|
|
191
190
|
```
|
|
192
191
|
|
|
@@ -693,13 +692,12 @@ Bạn cũng có thể sử dụng `intlayerProxy` để thêm routing phía serv
|
|
|
693
692
|
import { reactRouter } from "@react-router/dev/vite";
|
|
694
693
|
import { defineConfig } from "vite";
|
|
695
694
|
import { intlayer, intlayerProxy } from "vite-intlayer";
|
|
696
|
-
import tsconfigPaths from "vite-tsconfig-paths";
|
|
697
695
|
|
|
698
696
|
export default defineConfig({
|
|
699
697
|
plugins: [
|
|
700
698
|
intlayerProxy(), // should be placed first
|
|
701
699
|
reactRouter(),
|
|
702
|
-
|
|
700
|
+
|
|
703
701
|
intlayer(),
|
|
704
702
|
],
|
|
705
703
|
});
|
|
@@ -370,7 +370,7 @@ export default heroContent;
|
|
|
370
370
|
<!-- Hiển thị nội dung dưới dạng nội dung đơn giản -->
|
|
371
371
|
<h1>{$content.title}</h1>
|
|
372
372
|
<!-- Để hiển thị nội dung có thể chỉnh sửa bằng trình soạn thảo -->
|
|
373
|
-
<h1
|
|
373
|
+
<h1>{@const Title = $content.title}<Title /></h1>
|
|
374
374
|
<!-- Để render nội dung dưới dạng chuỗi -->
|
|
375
375
|
<div aria-label={$content.title.value}></div>
|
|
376
376
|
```
|
|
@@ -726,7 +726,7 @@ export default defineConfig({
|
|
|
726
726
|
<h1>{$content.title}</h1>
|
|
727
727
|
|
|
728
728
|
<!-- Hiển thị nội dung như một component (bắt buộc bởi trình chỉnh sửa) -->
|
|
729
|
-
|
|
729
|
+
{@const Component = $content.component}<Component />
|
|
730
730
|
</div>
|
|
731
731
|
```
|
|
732
732
|
|
|
@@ -140,16 +140,12 @@ Thêm plugin intlayer vào cấu hình của bạn:
|
|
|
140
140
|
import { intlayer } from "vite-intlayer";
|
|
141
141
|
import { defineConfig } from "vite";
|
|
142
142
|
import { devtools } from "@tanstack/devtools-vite";
|
|
143
|
-
import viteTsConfigPaths from "vite-tsconfig-paths";
|
|
144
143
|
import { tanstackStart } from "@tanstack/solid-start/plugin/vite";
|
|
145
144
|
import solidPlugin from "vite-plugin-solid";
|
|
146
145
|
|
|
147
146
|
export default defineConfig({
|
|
148
147
|
plugins: [
|
|
149
148
|
devtools(),
|
|
150
|
-
viteTsConfigPaths({
|
|
151
|
-
projects: ["./tsconfig.json"],
|
|
152
|
-
}),
|
|
153
149
|
tanstackStart({
|
|
154
150
|
router: {
|
|
155
151
|
routeFileIgnorePattern:
|
|
@@ -221,9 +217,6 @@ function RootComponent() {
|
|
|
221
217
|
}
|
|
222
218
|
```
|
|
223
219
|
|
|
224
|
-
> [!NOTE]
|
|
225
|
-
> Trong các tệp Solid, `useMatches` trả về một **signal** (accessor phản ứng). Sử dụng `matches()` (với dấu ngoặc đơn) để truy cập giá trị hiện tại một cách phản ứng.
|
|
226
|
-
|
|
227
220
|
### Bước 6: Tạo Locale Layout (Tùy chọn)
|
|
228
221
|
|
|
229
222
|
Tạo một layout để xử lý tiền tố ngôn ngữ và thực hiện kiểm tra tính hợp lệ. Layout này sẽ đảm bảo chỉ các ngôn ngữ hợp lệ mới được xử lý.
|
|
@@ -415,7 +408,6 @@ function RouteComponent() {
|
|
|
415
408
|
}
|
|
416
409
|
```
|
|
417
410
|
|
|
418
|
-
> [!NOTE]
|
|
419
411
|
> Trong Solid, `useIntlayer` trả về một hàm **accessor** (ví dụ: `content()`). Bạn phải gọi hàm này để truy cập nội dung phản ứng.
|
|
420
412
|
>
|
|
421
413
|
> Để tìm hiểu thêm về hook `useIntlayer`, hãy tham khảo [tài liệu](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/packages/solid-intlayer/useIntlayer.md).
|
|
@@ -460,7 +452,6 @@ export const LocaleSwitcher = () => {
|
|
|
460
452
|
export default LocaleSwitcher;
|
|
461
453
|
```
|
|
462
454
|
|
|
463
|
-
> [!NOTE]
|
|
464
455
|
> Trong các tệp Solid, `locale` từ `useLocale` là một **signal accessor**. Sử dụng `locale()` (với dấu ngoặc đơn) để đọc giá trị hiện tại của nó một cách phản ứng.
|
|
465
456
|
>
|
|
466
457
|
> Để tìm hiểu thêm về hook `useLocale`, hãy tham khảo [tài liệu](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/packages/solid-intlayer/useLocale.md).
|
|
@@ -502,15 +493,11 @@ import solid from "vite-plugin-solid";
|
|
|
502
493
|
import { nitro } from "nitro/vite";
|
|
503
494
|
import { defineConfig } from "vite";
|
|
504
495
|
import { intlayer, intlayerProxy } from "vite-intlayer";
|
|
505
|
-
import viteTsConfigPaths from "vite-tsconfig-paths";
|
|
506
496
|
|
|
507
497
|
export default defineConfig({
|
|
508
498
|
plugins: [
|
|
509
499
|
intlayerProxy(), // Proxy phải được đặt trước server nếu bạn sử dụng Nitro
|
|
510
500
|
nitro(),
|
|
511
|
-
viteTsConfigPaths({
|
|
512
|
-
projects: ["./tsconfig.json"],
|
|
513
|
-
}),
|
|
514
501
|
intlayer(),
|
|
515
502
|
tanstackStart({
|
|
516
503
|
router: {
|
|
@@ -803,16 +790,12 @@ Cập nhật `vite.config.ts` của bạn để bao gồm plugin `intlayerCompil
|
|
|
803
790
|
import { intlayer, intlayerCompiler } from "vite-intlayer";
|
|
804
791
|
import { defineConfig } from "vite";
|
|
805
792
|
import { devtools } from "@tanstack/devtools-vite";
|
|
806
|
-
import viteTsConfigPaths from "vite-tsconfig-paths";
|
|
807
793
|
import { tanstackStart } from "@tanstack/solid-start/plugin/vite";
|
|
808
794
|
import solidPlugin from "vite-plugin-solid";
|
|
809
795
|
|
|
810
796
|
export default defineConfig({
|
|
811
797
|
plugins: [
|
|
812
798
|
devtools(),
|
|
813
|
-
viteTsConfigPaths({
|
|
814
|
-
projects: ["./tsconfig.json"],
|
|
815
|
-
}),
|
|
816
799
|
tanstackStart({
|
|
817
800
|
router: {
|
|
818
801
|
routeFileIgnorePattern:
|
|
@@ -160,14 +160,10 @@ import viteReact from "@vitejs/plugin-react";
|
|
|
160
160
|
import { nitro } from "nitro/vite";
|
|
161
161
|
import { defineConfig } from "vite";
|
|
162
162
|
import { intlayer } from "vite-intlayer";
|
|
163
|
-
import viteTsConfigPaths from "vite-tsconfig-paths";
|
|
164
163
|
|
|
165
164
|
const config = defineConfig({
|
|
166
165
|
plugins: [
|
|
167
166
|
nitro(),
|
|
168
|
-
viteTsConfigPaths({
|
|
169
|
-
projects: ["./tsconfig.json"],
|
|
170
|
-
}),
|
|
171
167
|
intlayer(),
|
|
172
168
|
tanstackStart({
|
|
173
169
|
router: {
|
|
@@ -593,15 +589,11 @@ import viteReact from "@vitejs/plugin-react";
|
|
|
593
589
|
import { nitro } from "nitro/vite";
|
|
594
590
|
import { defineConfig } from "vite";
|
|
595
591
|
import { intlayer, intlayerProxy } from "vite-intlayer";
|
|
596
|
-
import viteTsConfigPaths from "vite-tsconfig-paths";
|
|
597
592
|
|
|
598
593
|
export default defineConfig({
|
|
599
594
|
plugins: [
|
|
600
595
|
intlayerProxy(), // Proxy nên được đặt trước server nếu bạn sử dụng Nitro
|
|
601
596
|
nitro(),
|
|
602
|
-
viteTsConfigPaths({
|
|
603
|
-
projects: ["./tsconfig.json"],
|
|
604
|
-
}),
|
|
605
597
|
intlayer(),
|
|
606
598
|
tanstackStart({
|
|
607
599
|
router: {
|
|
@@ -313,7 +313,6 @@ const App: Component = () => (
|
|
|
313
313
|
export default App;
|
|
314
314
|
```
|
|
315
315
|
|
|
316
|
-
> [!NOTE]
|
|
317
316
|
> Trong Solid, `useIntlayer` trả về một hàm **accessor** (ví dụ: `content()`). Bạn phải gọi hàm này để truy cập nội dung phản ứng.
|
|
318
317
|
|
|
319
318
|
> Nếu bạn muốn sử dụng nội dung của mình trong một thuộc tính `string`, chẳng hạn như `alt`, `title`, `href`, `aria-label`, v.v., bạn phải gọi giá trị của hàm, như:
|
|
@@ -232,7 +232,7 @@ module.exports = appContent;
|
|
|
232
232
|
<!-- Hiển thị nội dung như nội dung đơn giản -->
|
|
233
233
|
<h1>{$content.title}</h1>
|
|
234
234
|
<!-- Để hiển thị nội dung có thể chỉnh sửa bằng trình soạn thảo -->
|
|
235
|
-
<h1
|
|
235
|
+
<h1>{@const Title = $content.title}<Title /></h1>
|
|
236
236
|
<!-- Để hiển thị nội dung dưới dạng chuỗi -->
|
|
237
237
|
<div aria-label={$content.title.value}></div>
|
|
238
238
|
|
|
@@ -175,10 +175,9 @@ module.exports = config;
|
|
|
175
175
|
import { reactRouter } from "@react-router/dev/vite";
|
|
176
176
|
import { defineConfig } from "vite";
|
|
177
177
|
import { intlayer } from "vite-intlayer";
|
|
178
|
-
import tsconfigPaths from "vite-tsconfig-paths";
|
|
179
178
|
|
|
180
179
|
export default defineConfig({
|
|
181
|
-
plugins: [reactRouter(),
|
|
180
|
+
plugins: [reactRouter(), intlayer()],
|
|
182
181
|
});
|
|
183
182
|
```
|
|
184
183
|
|
|
@@ -738,13 +737,12 @@ This comprehensive guide provides everything you need to integrate Intlayer with
|
|
|
738
737
|
import { reactRouter } from "@react-router/dev/vite";
|
|
739
738
|
import { defineConfig } from "vite";
|
|
740
739
|
import { intlayer, intlayerProxy } from "vite-intlayer";
|
|
741
|
-
import tsconfigPaths from "vite-tsconfig-paths";
|
|
742
740
|
|
|
743
741
|
export default defineConfig({
|
|
744
742
|
plugins: [
|
|
745
743
|
intlayerProxy(), // should be placed first
|
|
746
744
|
reactRouter(),
|
|
747
|
-
|
|
745
|
+
|
|
748
746
|
intlayer(),
|
|
749
747
|
],
|
|
750
748
|
});
|
|
@@ -174,10 +174,9 @@ module.exports = config;
|
|
|
174
174
|
import { reactRouter } from "@react-router/dev/vite";
|
|
175
175
|
import { defineConfig } from "vite";
|
|
176
176
|
import { intlayer } from "vite-intlayer";
|
|
177
|
-
import tsconfigPaths from "vite-tsconfig-paths";
|
|
178
177
|
|
|
179
178
|
export default defineConfig({
|
|
180
|
-
plugins: [reactRouter(),
|
|
179
|
+
plugins: [reactRouter(), intlayer()],
|
|
181
180
|
});
|
|
182
181
|
```
|
|
183
182
|
|
|
@@ -684,13 +683,12 @@ This comprehensive guide provides everything you need to integrate Intlayer with
|
|
|
684
683
|
import { reactRouter } from "@react-router/dev/vite";
|
|
685
684
|
import { defineConfig } from "vite";
|
|
686
685
|
import { intlayer, intlayerProxy } from "vite-intlayer";
|
|
687
|
-
import tsconfigPaths from "vite-tsconfig-paths";
|
|
688
686
|
|
|
689
687
|
export default defineConfig({
|
|
690
688
|
plugins: [
|
|
691
689
|
intlayerProxy(), // should be placed first
|
|
692
690
|
reactRouter(),
|
|
693
|
-
|
|
691
|
+
|
|
694
692
|
intlayer(),
|
|
695
693
|
],
|
|
696
694
|
});
|
|
@@ -370,7 +370,7 @@ export default heroContent;
|
|
|
370
370
|
<!-- 以简单内容渲染内容 -->
|
|
371
371
|
<h1>{$content.title}</h1>
|
|
372
372
|
<!-- 使用编辑器渲染可编辑内容 -->
|
|
373
|
-
<h1
|
|
373
|
+
<h1>{@const Title = $content.title}<Title /></h1>
|
|
374
374
|
<!-- 以字符串形式渲染内容 -->
|
|
375
375
|
<div aria-label={$content.title.value}></div>
|
|
376
376
|
```
|
|
@@ -726,7 +726,7 @@ export default defineConfig({
|
|
|
726
726
|
<h1>{$content.title}</h1>
|
|
727
727
|
|
|
728
728
|
<!-- 以组件方式渲染内容(编辑器所需) -->
|
|
729
|
-
|
|
729
|
+
{@const Component = $content.component}<Component />
|
|
730
730
|
</div>
|
|
731
731
|
```
|
|
732
732
|
|