@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
|
|
|
@@ -739,13 +738,12 @@ This comprehensive guide provides everything you need to integrate Intlayer with
|
|
|
739
738
|
import { reactRouter } from "@react-router/dev/vite";
|
|
740
739
|
import { defineConfig } from "vite";
|
|
741
740
|
import { intlayer, intlayerProxy } from "vite-intlayer";
|
|
742
|
-
import tsconfigPaths from "vite-tsconfig-paths";
|
|
743
741
|
|
|
744
742
|
export default defineConfig({
|
|
745
743
|
plugins: [
|
|
746
744
|
intlayerProxy(), // should be placed first
|
|
747
745
|
reactRouter(),
|
|
748
|
-
|
|
746
|
+
|
|
749
747
|
intlayer(),
|
|
750
748
|
],
|
|
751
749
|
});
|
|
@@ -173,10 +173,9 @@ module.exports = config;
|
|
|
173
173
|
import { reactRouter } from "@react-router/dev/vite";
|
|
174
174
|
import { defineConfig } from "vite";
|
|
175
175
|
import { intlayer } from "vite-intlayer";
|
|
176
|
-
import tsconfigPaths from "vite-tsconfig-paths";
|
|
177
176
|
|
|
178
177
|
export default defineConfig({
|
|
179
|
-
plugins: [reactRouter(),
|
|
178
|
+
plugins: [reactRouter(), intlayer()],
|
|
180
179
|
});
|
|
181
180
|
```
|
|
182
181
|
|
|
@@ -686,13 +685,12 @@ This comprehensive guide provides everything you need to integrate Intlayer with
|
|
|
686
685
|
import { reactRouter } from "@react-router/dev/vite";
|
|
687
686
|
import { defineConfig } from "vite";
|
|
688
687
|
import { intlayer, intlayerProxy } from "vite-intlayer";
|
|
689
|
-
import tsconfigPaths from "vite-tsconfig-paths";
|
|
690
688
|
|
|
691
689
|
export default defineConfig({
|
|
692
690
|
plugins: [
|
|
693
691
|
intlayerProxy(), // should be placed first
|
|
694
692
|
reactRouter(),
|
|
695
|
-
|
|
693
|
+
|
|
696
694
|
intlayer(),
|
|
697
695
|
],
|
|
698
696
|
});
|
|
@@ -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
|
|
|
@@ -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/ar/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/ar/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: {
|
|
@@ -315,7 +315,6 @@ const App: Component = () => (
|
|
|
315
315
|
export default App;
|
|
316
316
|
```
|
|
317
317
|
|
|
318
|
-
> [!NOTE]
|
|
319
318
|
> في Solid، `useIntlayer` يُرجع دالة **accessor** (على سبيل المثال، `content()`). يجب عليك استدعاء هذه الدالة للوصول إلى المحتوى التفاعلي.
|
|
320
319
|
|
|
321
320
|
> إذا كنت تريد استخدام المحتوى الخاص بك في سمة `string`، مثل `alt`، `title`، `href`، `aria-label`، إلخ، يجب عليك استدعاء قيمة الدالة، مثل:
|
|
@@ -232,7 +232,7 @@ module.exports = appContent;
|
|
|
232
232
|
<!-- عرض المحتوى كمحتوى بسيط -->
|
|
233
233
|
<h1>{$content.title}</h1>
|
|
234
234
|
<!-- لعرض المحتوى قابل للتحرير باستخدام المحرر -->
|
|
235
|
-
<h1
|
|
235
|
+
<h1>{@const Title = $content.title}<Title /></h1>
|
|
236
236
|
<!-- لعرض المحتوى كسلسلة نصية -->
|
|
237
237
|
<div aria-label={$content.title.value}></div>
|
|
238
238
|
```
|
|
@@ -409,7 +409,6 @@ export class MyElement extends LitElement {
|
|
|
409
409
|
}
|
|
410
410
|
```
|
|
411
411
|
|
|
412
|
-
> [!NOTE]
|
|
413
412
|
> যখন আপনার নেটিভ HTML অ্যাট্রিবিউটে (যেমন `alt`, `aria-label`, `title`) অনুবাদ করা স্ট্রিং প্রয়োজন হয়, তখন লিফ নোডে (leaf node) `.value` কল করুন:
|
|
414
413
|
>
|
|
415
414
|
> ```typescript
|
|
@@ -409,7 +409,6 @@ export class MyElement extends LitElement {
|
|
|
409
409
|
}
|
|
410
410
|
```
|
|
411
411
|
|
|
412
|
-
> [!NOTE]
|
|
413
412
|
> Když potřebujete přeložený řetězec v nativním HTML atributu (např. `alt`, `aria-label`, `title`), zavolejte `.value` na koncovém uzlu (leaf node):
|
|
414
413
|
>
|
|
415
414
|
> ```typescript
|
|
@@ -174,10 +174,9 @@ Fügen Sie das Intlayer-Plugin in Ihre Konfiguration ein:
|
|
|
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
|
|
|
@@ -739,13 +738,12 @@ Sie können auch das `intlayerProxy` verwenden, um serverseitiges Routing zu Ihr
|
|
|
739
738
|
import { reactRouter } from "@react-router/dev/vite";
|
|
740
739
|
import { defineConfig } from "vite";
|
|
741
740
|
import { intlayer, intlayerProxy } from "vite-intlayer";
|
|
742
|
-
import tsconfigPaths from "vite-tsconfig-paths";
|
|
743
741
|
|
|
744
742
|
export default defineConfig({
|
|
745
743
|
plugins: [
|
|
746
744
|
intlayerProxy(), // should be placed first
|
|
747
745
|
reactRouter(),
|
|
748
|
-
|
|
746
|
+
|
|
749
747
|
intlayer(),
|
|
750
748
|
],
|
|
751
749
|
});
|
|
@@ -155,13 +155,12 @@ Sie können auch das `intlayerProxy` verwenden, um serverseitiges Routing zu Ihr
|
|
|
155
155
|
import { reactRouter } from "@react-router/dev/vite";
|
|
156
156
|
import { defineConfig } from "vite";
|
|
157
157
|
import { intlayer, intlayerProxy } from "vite-intlayer";
|
|
158
|
-
import tsconfigPaths from "vite-tsconfig-paths";
|
|
159
158
|
|
|
160
159
|
export default defineConfig({
|
|
161
160
|
plugins: [
|
|
162
161
|
intlayerProxy(), // should be placed first
|
|
163
162
|
reactRouter(),
|
|
164
|
-
|
|
163
|
+
|
|
165
164
|
intlayer(),
|
|
166
165
|
],
|
|
167
166
|
});
|
|
@@ -370,7 +370,7 @@ export default heroContent;
|
|
|
370
370
|
<!-- Inhalt als einfachen Inhalt rendern -->
|
|
371
371
|
<h1>{$content.title}</h1>
|
|
372
372
|
<!-- Um den Inhalt mit dem Editor bearbeitbar zu rendern -->
|
|
373
|
-
<h1
|
|
373
|
+
<h1>{@const Title = $content.title}<Title /></h1>
|
|
374
374
|
<!-- Um den Inhalt als String darzustellen -->
|
|
375
375
|
<div aria-label={$content.title.value}></div>
|
|
376
376
|
```
|
|
@@ -726,7 +726,7 @@ Um den Intlayer-Editor-Selektor visualisieren zu können, müssen Sie die Kompon
|
|
|
726
726
|
<h1>{$content.title}</h1>
|
|
727
727
|
|
|
728
728
|
<!-- Inhalt als Komponente rendern (vom Editor erforderlich) -->
|
|
729
|
-
|
|
729
|
+
{@const Component = $content.component}<Component />
|
|
730
730
|
</div>
|
|
731
731
|
```
|
|
732
732
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-03-25
|
|
3
|
-
updatedAt: 2026-03-
|
|
3
|
+
updatedAt: 2026-03-29
|
|
4
4
|
title: i18n Tanstack Start - Wie man eine Tanstack Start Anwendung mit Solid.js im Jahr 2026 übersetzt
|
|
5
5
|
description: Erfahren Sie, wie Sie Internationalisierung (i18n) zu Ihrer Tanstack Start Anwendung mit Intlayer und Solid.js hinzufügen. Folgen Sie diesem umfassenden Leitfaden, um Ihre App mit lokalisierungsbewusstem Routing mehrsprachig zu gestalten.
|
|
6
6
|
keywords:
|
|
@@ -12,6 +12,7 @@ keywords:
|
|
|
12
12
|
- i18n
|
|
13
13
|
- TypeScript
|
|
14
14
|
- Lokalisierungs-Routing
|
|
15
|
+
- Sitemap
|
|
15
16
|
slugs:
|
|
16
17
|
- doc
|
|
17
18
|
- environment
|
|
@@ -140,16 +141,12 @@ Fügen Sie das Intlayer-Plugin zu Ihrer Konfiguration hinzu:
|
|
|
140
141
|
import { intlayer } from "vite-intlayer";
|
|
141
142
|
import { defineConfig } from "vite";
|
|
142
143
|
import { devtools } from "@tanstack/devtools-vite";
|
|
143
|
-
import viteTsConfigPaths from "vite-tsconfig-paths";
|
|
144
144
|
import { tanstackStart } from "@tanstack/solid-start/plugin/vite";
|
|
145
145
|
import solidPlugin from "vite-plugin-solid";
|
|
146
146
|
|
|
147
147
|
export default defineConfig({
|
|
148
148
|
plugins: [
|
|
149
149
|
devtools(),
|
|
150
|
-
viteTsConfigPaths({
|
|
151
|
-
projects: ["./tsconfig.json"],
|
|
152
|
-
}),
|
|
153
150
|
tanstackStart({
|
|
154
151
|
router: {
|
|
155
152
|
routeFileIgnorePattern:
|
|
@@ -221,9 +218,6 @@ function RootComponent() {
|
|
|
221
218
|
}
|
|
222
219
|
```
|
|
223
220
|
|
|
224
|
-
> [!NOTE]
|
|
225
|
-
> In Solid gibt `useMatches` ein **Signal** (reaktiver Accessor) zurück. Verwenden Sie `matches()` (mit Klammern), um reaktiv auf den aktuellen Wert zuzugreifen.
|
|
226
|
-
|
|
227
221
|
### Schritt 6: Gebietsschema-Layout erstellen (Optional)
|
|
228
222
|
|
|
229
223
|
Erstellen Sie ein Layout, das das Gebietskennungs-Präfix verarbeitet und Validierungen durchführt. Dieses Layout stellt sicher, dass nur gültige Gebietsschemata verarbeitet werden.
|
|
@@ -415,7 +409,6 @@ function RouteComponent() {
|
|
|
415
409
|
}
|
|
416
410
|
```
|
|
417
411
|
|
|
418
|
-
> [!NOTE]
|
|
419
412
|
> In Solid gibt `useIntlayer` eine **Accessor-Funktion** zurück (z. B. `content()`). Sie müssen diese Funktion aufrufen, um auf den reaktiven Inhalt zuzugreifen.
|
|
420
413
|
>
|
|
421
414
|
> Um mehr über den `useIntlayer`-Hook zu erfahren, lesen Sie die [Dokumentation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/packages/solid-intlayer/useIntlayer.md).
|
|
@@ -460,7 +453,6 @@ export const LocaleSwitcher = () => {
|
|
|
460
453
|
export default LocaleSwitcher;
|
|
461
454
|
```
|
|
462
455
|
|
|
463
|
-
> [!NOTE]
|
|
464
456
|
> In Solid ist `locale` aus `useLocale` ein **Signal-Accessor**. Verwenden Sie `locale()` (mit Klammern), um den aktuellen Wert reaktiv zu lesen.
|
|
465
457
|
>
|
|
466
458
|
> Um mehr über den `useLocale`-Hook zu erfahren, lesen Sie die [Dokumentation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/packages/solid-intlayer/useLocale.md).
|
|
@@ -502,15 +494,11 @@ import solid from "vite-plugin-solid";
|
|
|
502
494
|
import { nitro } from "nitro/vite";
|
|
503
495
|
import { defineConfig } from "vite";
|
|
504
496
|
import { intlayer, intlayerProxy } from "vite-intlayer";
|
|
505
|
-
import viteTsConfigPaths from "vite-tsconfig-paths";
|
|
506
497
|
|
|
507
498
|
export default defineConfig({
|
|
508
499
|
plugins: [
|
|
509
500
|
intlayerProxy(), // Der Proxy sollte vor dem Server platziert werden, wenn Sie Nitro verwenden
|
|
510
501
|
nitro(),
|
|
511
|
-
viteTsConfigPaths({
|
|
512
|
-
projects: ["./tsconfig.json"],
|
|
513
|
-
}),
|
|
514
502
|
intlayer(),
|
|
515
503
|
tanstackStart({
|
|
516
504
|
router: {
|
|
@@ -551,7 +539,7 @@ export const Route = createFileRoute("/{-$locale}/")({
|
|
|
551
539
|
|
|
552
540
|
---
|
|
553
541
|
|
|
554
|
-
### Schritt
|
|
542
|
+
### Schritt 13: Gebietsschema in Ihren Server-Aktionen abrufen (Optional)
|
|
555
543
|
|
|
556
544
|
Möglicherweise möchten Sie auf das aktuelle Gebietsschema innerhalb Ihrer Server-Aktionen oder API-Endpunkte zugreifen.
|
|
557
545
|
Dies können Sie mit dem Helfer `getLocale` von `intlayer` tun.
|
|
@@ -588,7 +576,7 @@ export const getLocaleServer = createServerFn().handler(async () => {
|
|
|
588
576
|
|
|
589
577
|
---
|
|
590
578
|
|
|
591
|
-
### Schritt
|
|
579
|
+
### Schritt 14: Nicht gefundene Seiten verwalten (Optional)
|
|
592
580
|
|
|
593
581
|
Wenn ein Benutzer eine nicht existierende Seite besucht, können Sie eine benutzerdefinierte 404-Seite anzeigen, und das Sprachpräfix kann beeinflussen, wie die 404-Seite ausgelöst wird.
|
|
594
582
|
|
|
@@ -662,7 +650,7 @@ export const Route = createFileRoute("/{-$locale}/$")({
|
|
|
662
650
|
});
|
|
663
651
|
```
|
|
664
652
|
|
|
665
|
-
### (Optional) Schritt
|
|
653
|
+
### (Optional) Schritt 15: Den Inhalt Ihrer Komponenten extrahieren
|
|
666
654
|
|
|
667
655
|
Wenn Sie eine bestehende Codebasis haben, kann die Transformation von Tausenden von Dateien zeitaufwendig sein.
|
|
668
656
|
|
|
@@ -803,16 +791,12 @@ Aktualisieren Sie Ihre `vite.config.ts`, um das `intlayerCompiler`-Plugin einzub
|
|
|
803
791
|
import { intlayer, intlayerCompiler } from "vite-intlayer";
|
|
804
792
|
import { defineConfig } from "vite";
|
|
805
793
|
import { devtools } from "@tanstack/devtools-vite";
|
|
806
|
-
import viteTsConfigPaths from "vite-tsconfig-paths";
|
|
807
794
|
import { tanstackStart } from "@tanstack/solid-start/plugin/vite";
|
|
808
795
|
import solidPlugin from "vite-plugin-solid";
|
|
809
796
|
|
|
810
797
|
export default defineConfig({
|
|
811
798
|
plugins: [
|
|
812
799
|
devtools(),
|
|
813
|
-
viteTsConfigPaths({
|
|
814
|
-
projects: ["./tsconfig.json"],
|
|
815
|
-
}),
|
|
816
800
|
tanstackStart({
|
|
817
801
|
router: {
|
|
818
802
|
routeFileIgnorePattern:
|
|
@@ -847,6 +831,79 @@ bun run build # Oder bun run dev
|
|
|
847
831
|
|
|
848
832
|
---
|
|
849
833
|
|
|
834
|
+
### Schritt 16: Sitemap generieren (Optional)
|
|
835
|
+
|
|
836
|
+
Intlayer wird mit einem integrierten Sitemap-Generator geliefert, mit dem Sie ganz einfach eine Sitemap für Ihre Anwendung erstellen können. Er berücksichtigt lokalisierte Routen und fügt die erforderlichen Metadaten für Suchmaschinen hinzu.
|
|
837
|
+
|
|
838
|
+
> Die von Intlayer generierte Sitemap unterstützt den `xhtml:link`-Namespace (Hreflang XML-Erweiterungen). Im Gegensatz zu Standard-Sitemap-Generatoren, die nur rohe URLs auflisten, erstellt Intlayer automatisch die erforderlichen bidirektionalen Links zwischen allen Sprachversionen einer Seite (z. B. `/about`, `/about?lang=fr` und `/about?lang=es`). Dies stellt sicher, dass Suchmaschinen die richtige Sprachversion korrekt indexieren und der richtigen Zielgruppe bereitstellen.
|
|
839
|
+
|
|
840
|
+
Um ihn zu verwenden, müssen Sie zuerst Ihre `vite.config.ts` konfigurieren, um das Vorrendern für Ihre lokalisierten Routen zu aktivieren und die standardmäßige TanStack Start Sitemap-Generierung zu deaktivieren.
|
|
841
|
+
|
|
842
|
+
```typescript fileName="vite.config.ts"
|
|
843
|
+
import { localeMap, localeFlatMap } from "intlayer";
|
|
844
|
+
// ... andere Imports
|
|
845
|
+
|
|
846
|
+
export const pathList = ["", "/about", "/404"];
|
|
847
|
+
|
|
848
|
+
const localizedPages = localeFlatMap(({ urlPrefix }) =>
|
|
849
|
+
pathList.map((path) => ({
|
|
850
|
+
path: `${urlPrefix}${path}`,
|
|
851
|
+
prerender: {
|
|
852
|
+
enabled: true,
|
|
853
|
+
},
|
|
854
|
+
}))
|
|
855
|
+
);
|
|
856
|
+
|
|
857
|
+
export default defineConfig({
|
|
858
|
+
plugins: [
|
|
859
|
+
// ... andere Plugins
|
|
860
|
+
tanstackStart({
|
|
861
|
+
// ... andere Konfigurationen
|
|
862
|
+
sitemap: {
|
|
863
|
+
enabled: false,
|
|
864
|
+
},
|
|
865
|
+
prerender: {
|
|
866
|
+
enabled: true,
|
|
867
|
+
crawlLinks: false,
|
|
868
|
+
concurrency: 10,
|
|
869
|
+
},
|
|
870
|
+
pages: localizedPages,
|
|
871
|
+
}),
|
|
872
|
+
],
|
|
873
|
+
});
|
|
874
|
+
```
|
|
875
|
+
|
|
876
|
+
Erstellen Sie dann eine Route `src/routes/sitemap[.]xml.ts`, die die Funktion `generateSitemap` verwendet:
|
|
877
|
+
|
|
878
|
+
```typescript fileName="src/routes/sitemap[.]xml.ts"
|
|
879
|
+
import { createFileRoute } from "@tanstack/solid-router";
|
|
880
|
+
import { generateSitemap } from "intlayer";
|
|
881
|
+
|
|
882
|
+
const SITE_URL = "http://localhost:3000";
|
|
883
|
+
|
|
884
|
+
export const Route = createFileRoute("/sitemap.xml")({
|
|
885
|
+
server: {
|
|
886
|
+
handlers: {
|
|
887
|
+
GET: async () => {
|
|
888
|
+
const sitemap = generateSitemap(
|
|
889
|
+
[
|
|
890
|
+
{ path: "/", changefreq: "daily", priority: 1.0 },
|
|
891
|
+
{ path: "/about", changefreq: "monthly", priority: 0.8 },
|
|
892
|
+
],
|
|
893
|
+
{ siteUrl: SITE_URL }
|
|
894
|
+
);
|
|
895
|
+
|
|
896
|
+
return new Response(sitemap, {
|
|
897
|
+
headers: { "Content-Type": "application/xml" },
|
|
898
|
+
});
|
|
899
|
+
},
|
|
900
|
+
},
|
|
901
|
+
},
|
|
902
|
+
});
|
|
903
|
+
```
|
|
904
|
+
|
|
905
|
+
---
|
|
906
|
+
|
|
850
907
|
### Schritt 17: TypeScript konfigurieren (Optional)
|
|
851
908
|
|
|
852
909
|
Intlayer verwendet Modul-Augmentation, um die Vorteile von TypeScript zu nutzen und Ihre Codebasis robuster zu machen.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-09-09
|
|
3
|
-
updatedAt: 2026-03-
|
|
3
|
+
updatedAt: 2026-03-29
|
|
4
4
|
title: Tanstack Start i18n - Wie Sie eine Tanstack Start App übersetzen in 2026
|
|
5
5
|
description: Erfahren Sie, wie Sie Internationalisierung (i18n) zu Ihrer Tanstack Start-Anwendung mit Intlayer hinzufügen. Folgen Sie dieser umfassenden Anleitung, um Ihre App mehrsprachig mit lokalisierungsbewusstem Routing zu machen.
|
|
6
6
|
keywords:
|
|
@@ -12,6 +12,7 @@ keywords:
|
|
|
12
12
|
- i18n
|
|
13
13
|
- TypeScript
|
|
14
14
|
- Lokalisierungs-Routing
|
|
15
|
+
- Sitemap
|
|
15
16
|
slugs:
|
|
16
17
|
- doc
|
|
17
18
|
- environment
|
|
@@ -160,14 +161,10 @@ import viteReact from "@vitejs/plugin-react";
|
|
|
160
161
|
import { nitro } from "nitro/vite";
|
|
161
162
|
import { defineConfig } from "vite";
|
|
162
163
|
import { intlayer } from "vite-intlayer";
|
|
163
|
-
import viteTsConfigPaths from "vite-tsconfig-paths";
|
|
164
164
|
|
|
165
165
|
const config = defineConfig({
|
|
166
166
|
plugins: [
|
|
167
167
|
nitro(),
|
|
168
|
-
viteTsConfigPaths({
|
|
169
|
-
projects: ["./tsconfig.json"],
|
|
170
|
-
}),
|
|
171
168
|
intlayer(),
|
|
172
169
|
tanstackStart({
|
|
173
170
|
router: {
|
|
@@ -593,15 +590,11 @@ import viteReact from "@vitejs/plugin-react";
|
|
|
593
590
|
import { nitro } from "nitro/vite";
|
|
594
591
|
import { defineConfig } from "vite";
|
|
595
592
|
import { intlayer, intlayerProxy } from "vite-intlayer";
|
|
596
|
-
import viteTsConfigPaths from "vite-tsconfig-paths";
|
|
597
593
|
|
|
598
594
|
export default defineConfig({
|
|
599
595
|
plugins: [
|
|
600
596
|
intlayerProxy(), // Der Proxy sollte vor dem Server platziert werden, wenn Sie Nitro verwenden
|
|
601
597
|
nitro(),
|
|
602
|
-
viteTsConfigPaths({
|
|
603
|
-
projects: ["./tsconfig.json"],
|
|
604
|
-
}),
|
|
605
598
|
intlayer(),
|
|
606
599
|
tanstackStart({
|
|
607
600
|
router: {
|
|
@@ -755,25 +748,7 @@ export const Route = createFileRoute("/{-$locale}/$")({
|
|
|
755
748
|
|
|
756
749
|
---
|
|
757
750
|
|
|
758
|
-
### Schritt 15:
|
|
759
|
-
|
|
760
|
-
Intlayer verwendet Module Augmentation, um die Vorteile von TypeScript zu nutzen und Ihre Codebasis robuster zu machen.
|
|
761
|
-
|
|
762
|
-
Stellen Sie sicher, dass Ihre TypeScript-Konfiguration die automatisch generierten Typen enthält:
|
|
763
|
-
|
|
764
|
-
```json5 fileName="tsconfig.json"
|
|
765
|
-
{
|
|
766
|
-
// ... Ihre bestehenden Konfigurationen
|
|
767
|
-
include: [
|
|
768
|
-
// ... Ihre bestehenden Includes
|
|
769
|
-
".intlayer/**/*.ts", // Die automatisch generierten Typen einschließen
|
|
770
|
-
],
|
|
771
|
-
}
|
|
772
|
-
```
|
|
773
|
-
|
|
774
|
-
---
|
|
775
|
-
|
|
776
|
-
### (Optional) Schritt 16 : Inhalt Ihrer Komponenten extrahieren
|
|
751
|
+
### (Optional) Schritt 15 : Inhalt Ihrer Komponenten extrahieren
|
|
777
752
|
|
|
778
753
|
Wenn Sie eine bestehende Codebasis haben, kann die Transformation von Tausenden von Dateien zeitaufwendig sein.
|
|
779
754
|
|
|
@@ -931,6 +906,99 @@ bun run build # Or bun run dev
|
|
|
931
906
|
|
|
932
907
|
---
|
|
933
908
|
|
|
909
|
+
### Schritt 16: Sitemap generieren (Optional)
|
|
910
|
+
|
|
911
|
+
Intlayer wird mit einem integrierten Sitemap-Generator geliefert, mit dem Sie ganz einfach eine Sitemap für Ihre Anwendung erstellen können. Er berücksichtigt lokalisierte Routen und fügt die erforderlichen Metadaten für Suchmaschinen hinzu.
|
|
912
|
+
|
|
913
|
+
> Die von Intlayer generierte Sitemap unterstützt den `xhtml:link`-Namespace (Hreflang XML-Erweiterungen). Im Gegensatz zu Standard-Sitemap-Generatoren, die nur rohe URLs auflisten, erstellt Intlayer automatisch die erforderlichen bidirektionalen Links zwischen allen Sprachversionen einer Seite (z. B. `/about`, `/about?lang=fr` und `/about?lang=es`). Dies stellt sicher, dass Suchmaschinen die richtige Sprachversion korrekt indexieren und der richtigen Zielgruppe bereitstellen.
|
|
914
|
+
|
|
915
|
+
Um ihn zu verwenden, müssen Sie zuerst Ihre `vite.config.ts` konfigurieren, um das Vorrendern für Ihre lokalisierten Routen zu aktivieren und die standardmäßige TanStack Start Sitemap-Generierung zu deaktivieren.
|
|
916
|
+
|
|
917
|
+
```typescript fileName="vite.config.ts"
|
|
918
|
+
import { localeFlatMap } from "intlayer";
|
|
919
|
+
// ... andere Imports
|
|
920
|
+
|
|
921
|
+
export const pathList = ["", "/about", "/404"];
|
|
922
|
+
|
|
923
|
+
const localizedPages = localeFlatMap(({ urlPrefix }) =>
|
|
924
|
+
pathList.map((path) => ({
|
|
925
|
+
path: `${urlPrefix}${path}`,
|
|
926
|
+
prerender: {
|
|
927
|
+
enabled: true,
|
|
928
|
+
},
|
|
929
|
+
}))
|
|
930
|
+
);
|
|
931
|
+
|
|
932
|
+
export default defineConfig({
|
|
933
|
+
plugins: [
|
|
934
|
+
// ... andere Plugins
|
|
935
|
+
tanstackStart({
|
|
936
|
+
// ... andere Konfigurationen
|
|
937
|
+
sitemap: {
|
|
938
|
+
enabled: false,
|
|
939
|
+
},
|
|
940
|
+
prerender: {
|
|
941
|
+
enabled: true,
|
|
942
|
+
crawlLinks: false,
|
|
943
|
+
concurrency: 10,
|
|
944
|
+
},
|
|
945
|
+
pages: localizedPages,
|
|
946
|
+
}),
|
|
947
|
+
],
|
|
948
|
+
});
|
|
949
|
+
```
|
|
950
|
+
|
|
951
|
+
Erstellen Sie dann eine Route `src/routes/sitemap[.]xml.ts`, die die Funktion `generateSitemap` verwendet:
|
|
952
|
+
|
|
953
|
+
```typescript fileName="src/routes/sitemap[.]xml.ts"
|
|
954
|
+
import { createFileRoute } from "@tanstack/react-router";
|
|
955
|
+
import { generateSitemap } from "intlayer";
|
|
956
|
+
|
|
957
|
+
const SITE_URL = (
|
|
958
|
+
import.meta.env.VITE_SITE_URL ?? "http://localhost:3000"
|
|
959
|
+
).replace(/\/$/, "");
|
|
960
|
+
|
|
961
|
+
export const Route = createFileRoute("/sitemap.xml")({
|
|
962
|
+
server: {
|
|
963
|
+
handlers: {
|
|
964
|
+
GET: async () => {
|
|
965
|
+
const sitemap = generateSitemap(
|
|
966
|
+
[
|
|
967
|
+
{ path: "/", changefreq: "daily", priority: 1.0 },
|
|
968
|
+
{ path: "/about", changefreq: "monthly", priority: 0.8 },
|
|
969
|
+
],
|
|
970
|
+
{ siteUrl: SITE_URL }
|
|
971
|
+
);
|
|
972
|
+
|
|
973
|
+
return new Response(sitemap, {
|
|
974
|
+
headers: { "Content-Type": "application/xml" },
|
|
975
|
+
});
|
|
976
|
+
},
|
|
977
|
+
},
|
|
978
|
+
},
|
|
979
|
+
});
|
|
980
|
+
```
|
|
981
|
+
|
|
982
|
+
---
|
|
983
|
+
|
|
984
|
+
### Schritt 17: TypeScript konfigurieren (Optional)
|
|
985
|
+
|
|
986
|
+
Intlayer verwendet Module Augmentation, um die Vorteile von TypeScript zu nutzen und Ihre Codebasis robuster zu machen.
|
|
987
|
+
|
|
988
|
+
Stellen Sie sicher, dass Ihre TypeScript-Konfiguration die automatisch generierten Typen enthält:
|
|
989
|
+
|
|
990
|
+
```json5 fileName="tsconfig.json"
|
|
991
|
+
{
|
|
992
|
+
// ... Ihre bestehenden Konfigurationen
|
|
993
|
+
include: [
|
|
994
|
+
// ... Ihre bestehenden Includes
|
|
995
|
+
".intlayer/**/*.ts", // Die automatisch generierten Typen einschließen
|
|
996
|
+
],
|
|
997
|
+
}
|
|
998
|
+
```
|
|
999
|
+
|
|
1000
|
+
---
|
|
1001
|
+
|
|
934
1002
|
### Git-Konfiguration
|
|
935
1003
|
|
|
936
1004
|
Es wird empfohlen, die von Intlayer generierten Dateien zu ignorieren. So vermeiden Sie, dass diese in Ihr Git-Repository übertragen werden.
|
|
@@ -409,7 +409,6 @@ export class MyElement extends LitElement {
|
|
|
409
409
|
}
|
|
410
410
|
```
|
|
411
411
|
|
|
412
|
-
> [!NOTE]
|
|
413
412
|
> Wenn Sie den übersetzten String in einem nativen HTML-Attribut benötigen (z. B. `alt`, `aria-label`, `title`), rufen Sie `.value` auf dem Blattknoten auf:
|
|
414
413
|
>
|
|
415
414
|
> ```typescript
|
|
@@ -316,7 +316,6 @@ const App: Component = () => (
|
|
|
316
316
|
export default App;
|
|
317
317
|
```
|
|
318
318
|
|
|
319
|
-
> [!NOTE]
|
|
320
319
|
> In Solid gibt `useIntlayer` eine **Accessor**-Funktion zurück (z. B. `content()`). Sie müssen diese Funktion aufrufen, um auf den reaktiven Inhalt zuzugreifen.
|
|
321
320
|
|
|
322
321
|
> Wenn Sie Ihren Inhalt in einem `string`-Attribut verwenden möchten, wie `alt`, `title`, `href`, `aria-label` usw., müssen Sie den Wert der Funktion aufrufen, wie:
|