@intlayer/docs 8.3.0-canary.4 → 8.3.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/compiler.md +84 -49
- package/docs/ar/configuration.md +80 -37
- package/docs/ar/intlayer_with_nextjs_16.md +174 -1
- package/docs/ar/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/ar/intlayer_with_react_router_v7.md +224 -1
- package/docs/ar/intlayer_with_react_router_v7_fs_routes.md +225 -1
- package/docs/ar/intlayer_with_svelte_kit.md +175 -2
- package/docs/ar/intlayer_with_tanstack.md +176 -1
- package/docs/ar/intlayer_with_vite+preact.md +174 -1
- package/docs/ar/intlayer_with_vite+react.md +174 -1
- package/docs/ar/intlayer_with_vite+solid.md +174 -1
- package/docs/ar/intlayer_with_vite+svelte.md +174 -1
- package/docs/ar/intlayer_with_vite+vue.md +174 -1
- package/docs/de/compiler.md +83 -48
- package/docs/de/configuration.md +434 -212
- package/docs/de/intlayer_with_nextjs_16.md +176 -1
- package/docs/de/intlayer_with_nextjs_compiler.md +106 -349
- package/docs/de/intlayer_with_react_router_v7.md +225 -2
- package/docs/de/intlayer_with_react_router_v7_fs_routes.md +221 -79
- package/docs/de/intlayer_with_svelte_kit.md +158 -2
- package/docs/de/intlayer_with_tanstack.md +159 -1
- package/docs/de/intlayer_with_vite+preact.md +157 -1
- package/docs/de/intlayer_with_vite+react.md +157 -1
- package/docs/de/intlayer_with_vite+solid.md +159 -3
- package/docs/de/intlayer_with_vite+svelte.md +157 -1
- package/docs/de/intlayer_with_vite+vue.md +157 -1
- package/docs/en/compiler.md +60 -33
- package/docs/en/configuration.md +80 -57
- package/docs/en/intlayer_with_nextjs_16.md +176 -0
- package/docs/en/intlayer_with_nextjs_compiler.md +179 -1
- package/docs/en/intlayer_with_react_router_v7.md +159 -0
- package/docs/en/intlayer_with_react_router_v7_fs_routes.md +159 -0
- package/docs/en/intlayer_with_svelte_kit.md +159 -0
- package/docs/en/intlayer_with_tanstack.md +160 -1
- package/docs/en/intlayer_with_vite+preact.md +159 -0
- package/docs/en/intlayer_with_vite+react.md +159 -0
- package/docs/en/intlayer_with_vite+solid.md +148 -27
- package/docs/en/intlayer_with_vite+svelte.md +159 -0
- package/docs/en/intlayer_with_vite+vue.md +142 -41
- package/docs/en-GB/compiler.md +66 -34
- package/docs/en-GB/configuration.md +78 -36
- package/docs/es/compiler.md +83 -48
- package/docs/es/configuration.md +429 -206
- package/docs/es/intlayer_with_adonisjs.md +1 -1
- package/docs/es/intlayer_with_express.md +1 -1
- package/docs/es/intlayer_with_fastify.md +1 -1
- package/docs/es/intlayer_with_hono.md +1 -1
- package/docs/es/intlayer_with_nestjs.md +1 -1
- package/docs/es/intlayer_with_nextjs_16.md +176 -3
- package/docs/es/intlayer_with_nextjs_compiler.md +175 -2
- package/docs/es/intlayer_with_nuxt.md +1 -1
- package/docs/es/intlayer_with_react_router_v7.md +227 -4
- package/docs/es/intlayer_with_react_router_v7_fs_routes.md +162 -4
- package/docs/es/intlayer_with_svelte_kit.md +158 -2
- package/docs/es/intlayer_with_tanstack.md +160 -2
- package/docs/es/intlayer_with_vite+preact.md +162 -6
- package/docs/es/intlayer_with_vite+react.md +160 -4
- package/docs/es/intlayer_with_vite+solid.md +163 -7
- package/docs/es/intlayer_with_vite+svelte.md +157 -1
- package/docs/es/intlayer_with_vite+vue.md +165 -9
- package/docs/fr/compiler.md +81 -46
- package/docs/fr/configuration.md +355 -134
- package/docs/fr/intlayer_with_adonisjs.md +1 -1
- package/docs/fr/intlayer_with_express.md +1 -1
- package/docs/fr/intlayer_with_fastify.md +1 -1
- package/docs/fr/intlayer_with_hono.md +1 -1
- package/docs/fr/intlayer_with_nestjs.md +1 -1
- package/docs/fr/intlayer_with_nextjs_16.md +183 -7
- package/docs/fr/intlayer_with_nextjs_compiler.md +179 -3
- package/docs/fr/intlayer_with_react_router_v7.md +229 -3
- package/docs/fr/intlayer_with_react_router_v7_fs_routes.md +237 -6
- package/docs/fr/intlayer_with_svelte_kit.md +158 -2
- package/docs/fr/intlayer_with_tanstack.md +159 -1
- package/docs/fr/intlayer_with_vite+preact.md +164 -8
- package/docs/fr/intlayer_with_vite+react.md +162 -6
- package/docs/fr/intlayer_with_vite+solid.md +163 -7
- package/docs/fr/intlayer_with_vite+svelte.md +157 -1
- package/docs/fr/intlayer_with_vite+vue.md +164 -8
- package/docs/hi/compiler.md +81 -46
- package/docs/hi/configuration.md +87 -44
- package/docs/hi/intlayer_with_nextjs_16.md +174 -1
- package/docs/hi/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/hi/intlayer_with_react_router_v7.md +224 -1
- package/docs/hi/intlayer_with_react_router_v7_fs_routes.md +225 -1
- package/docs/hi/intlayer_with_svelte_kit.md +158 -2
- package/docs/hi/intlayer_with_tanstack.md +159 -1
- package/docs/hi/intlayer_with_vite+preact.md +157 -1
- package/docs/hi/intlayer_with_vite+react.md +157 -1
- package/docs/hi/intlayer_with_vite+solid.md +157 -1
- package/docs/hi/intlayer_with_vite+svelte.md +157 -1
- package/docs/hi/intlayer_with_vite+vue.md +157 -1
- package/docs/id/compiler.md +84 -51
- package/docs/id/configuration.md +83 -45
- package/docs/id/intlayer_with_nextjs_16.md +174 -1
- package/docs/id/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/id/intlayer_with_react_router_v7.md +224 -1
- package/docs/id/intlayer_with_react_router_v7_fs_routes.md +225 -1
- package/docs/id/intlayer_with_svelte_kit.md +158 -2
- package/docs/id/intlayer_with_tanstack.md +159 -1
- package/docs/id/intlayer_with_vite+preact.md +157 -1
- package/docs/id/intlayer_with_vite+react.md +157 -1
- package/docs/id/intlayer_with_vite+solid.md +157 -1
- package/docs/id/intlayer_with_vite+svelte.md +157 -1
- package/docs/id/intlayer_with_vite+vue.md +157 -1
- package/docs/it/compiler.md +81 -46
- package/docs/it/configuration.md +426 -204
- package/docs/it/intlayer_with_nextjs_16.md +174 -1
- package/docs/it/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/it/intlayer_with_react_router_v7.md +225 -2
- package/docs/it/intlayer_with_react_router_v7_fs_routes.md +226 -2
- package/docs/it/intlayer_with_svelte_kit.md +158 -2
- package/docs/it/intlayer_with_tanstack.md +159 -1
- package/docs/it/intlayer_with_vite+preact.md +157 -1
- package/docs/it/intlayer_with_vite+react.md +157 -1
- package/docs/it/intlayer_with_vite+solid.md +159 -3
- package/docs/it/intlayer_with_vite+svelte.md +157 -1
- package/docs/it/intlayer_with_vite+vue.md +157 -1
- package/docs/ja/compiler.md +94 -58
- package/docs/ja/configuration.md +88 -45
- package/docs/ja/intlayer_with_nextjs_16.md +174 -1
- package/docs/ja/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/ja/intlayer_with_react_router_v7.md +184 -394
- package/docs/ja/intlayer_with_react_router_v7_fs_routes.md +226 -2
- package/docs/ja/intlayer_with_svelte_kit.md +119 -595
- package/docs/ja/intlayer_with_tanstack.md +131 -642
- package/docs/ja/intlayer_with_vite+preact.md +111 -1231
- package/docs/ja/intlayer_with_vite+react.md +129 -1304
- package/docs/ja/intlayer_with_vite+solid.md +159 -3
- package/docs/ja/intlayer_with_vite+svelte.md +157 -1
- package/docs/ja/intlayer_with_vite+vue.md +157 -1
- package/docs/ko/compiler.md +88 -52
- package/docs/ko/configuration.md +87 -44
- package/docs/ko/intlayer_with_nextjs_16.md +174 -1
- package/docs/ko/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/ko/intlayer_with_react_router_v7.md +225 -2
- package/docs/ko/intlayer_with_react_router_v7_fs_routes.md +226 -2
- package/docs/ko/intlayer_with_svelte_kit.md +158 -2
- package/docs/ko/intlayer_with_tanstack.md +159 -1
- package/docs/ko/intlayer_with_vite+preact.md +157 -1
- package/docs/ko/intlayer_with_vite+react.md +157 -1
- package/docs/ko/intlayer_with_vite+solid.md +159 -3
- package/docs/ko/intlayer_with_vite+svelte.md +157 -1
- package/docs/ko/intlayer_with_vite+vue.md +157 -1
- package/docs/pl/compiler.md +84 -51
- package/docs/pl/configuration.md +83 -37
- package/docs/pl/intlayer_with_nextjs_16.md +174 -1
- package/docs/pl/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/pl/intlayer_with_react_router_v7.md +224 -1
- package/docs/pl/intlayer_with_react_router_v7_fs_routes.md +225 -1
- package/docs/pl/intlayer_with_svelte_kit.md +158 -2
- package/docs/pl/intlayer_with_tanstack.md +159 -1
- package/docs/pl/intlayer_with_vite+preact.md +157 -1
- package/docs/pl/intlayer_with_vite+react.md +157 -1
- package/docs/pl/intlayer_with_vite+solid.md +157 -1
- package/docs/pl/intlayer_with_vite+svelte.md +157 -1
- package/docs/pl/intlayer_with_vite+vue.md +157 -1
- package/docs/pt/compiler.md +81 -46
- package/docs/pt/configuration.md +404 -194
- package/docs/pt/intlayer_with_nextjs_16.md +174 -1
- package/docs/pt/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/pt/intlayer_with_react_router_v7.md +224 -1
- package/docs/pt/intlayer_with_react_router_v7_fs_routes.md +225 -1
- package/docs/pt/intlayer_with_svelte_kit.md +158 -2
- package/docs/pt/intlayer_with_tanstack.md +159 -1
- package/docs/pt/intlayer_with_vite+preact.md +157 -1
- package/docs/pt/intlayer_with_vite+react.md +157 -1
- package/docs/pt/intlayer_with_vite+solid.md +157 -1
- package/docs/pt/intlayer_with_vite+svelte.md +157 -1
- package/docs/pt/intlayer_with_vite+vue.md +157 -1
- package/docs/ru/compiler.md +90 -57
- package/docs/ru/configuration.md +76 -46
- package/docs/ru/intlayer_with_nextjs_16.md +174 -1
- package/docs/ru/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/ru/intlayer_with_react_router_v7.md +224 -1
- package/docs/ru/intlayer_with_react_router_v7_fs_routes.md +225 -1
- package/docs/ru/intlayer_with_svelte_kit.md +158 -2
- package/docs/ru/intlayer_with_tanstack.md +159 -1
- package/docs/ru/intlayer_with_vite+preact.md +157 -1
- package/docs/ru/intlayer_with_vite+react.md +157 -1
- package/docs/ru/intlayer_with_vite+solid.md +157 -1
- package/docs/ru/intlayer_with_vite+svelte.md +157 -1
- package/docs/ru/intlayer_with_vite+vue.md +157 -1
- package/docs/tr/compiler.md +85 -52
- package/docs/tr/configuration.md +83 -40
- package/docs/tr/intlayer_with_nextjs_16.md +174 -1
- package/docs/tr/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/tr/intlayer_with_react_router_v7.md +224 -1
- package/docs/tr/intlayer_with_react_router_v7_fs_routes.md +225 -1
- package/docs/tr/intlayer_with_svelte_kit.md +158 -2
- package/docs/tr/intlayer_with_tanstack.md +159 -1
- package/docs/tr/intlayer_with_vite+preact.md +157 -1
- package/docs/tr/intlayer_with_vite+react.md +157 -1
- package/docs/tr/intlayer_with_vite+solid.md +157 -1
- package/docs/tr/intlayer_with_vite+svelte.md +157 -1
- package/docs/tr/intlayer_with_vite+vue.md +157 -1
- package/docs/uk/compiler.md +96 -61
- package/docs/uk/configuration.md +83 -37
- package/docs/uk/intlayer_with_nextjs_16.md +174 -1
- package/docs/uk/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/uk/intlayer_with_react_router_v7.md +224 -1
- package/docs/uk/intlayer_with_react_router_v7_fs_routes.md +225 -1
- package/docs/uk/intlayer_with_svelte_kit.md +157 -1
- package/docs/uk/intlayer_with_tanstack.md +159 -1
- package/docs/uk/intlayer_with_vite+preact.md +157 -1
- package/docs/uk/intlayer_with_vite+react.md +157 -1
- package/docs/uk/intlayer_with_vite+solid.md +157 -1
- package/docs/uk/intlayer_with_vite+svelte.md +157 -1
- package/docs/uk/intlayer_with_vite+vue.md +157 -1
- package/docs/vi/compiler.md +85 -50
- package/docs/vi/configuration.md +85 -39
- package/docs/vi/intlayer_with_nextjs_16.md +174 -1
- package/docs/vi/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/vi/intlayer_with_react_router_v7.md +224 -1
- package/docs/vi/intlayer_with_react_router_v7_fs_routes.md +225 -1
- package/docs/vi/intlayer_with_svelte_kit.md +158 -2
- package/docs/vi/intlayer_with_tanstack.md +159 -1
- package/docs/vi/intlayer_with_vite+preact.md +157 -1
- package/docs/vi/intlayer_with_vite+react.md +157 -1
- package/docs/vi/intlayer_with_vite+solid.md +157 -1
- package/docs/vi/intlayer_with_vite+svelte.md +157 -1
- package/docs/vi/intlayer_with_vite+vue.md +157 -1
- package/docs/zh/compiler.md +84 -49
- package/docs/zh/configuration.md +80 -37
- package/docs/zh/intlayer_with_adonisjs.md +1 -1
- package/docs/zh/intlayer_with_express.md +1 -1
- package/docs/zh/intlayer_with_fastify.md +1 -1
- package/docs/zh/intlayer_with_hono.md +1 -1
- package/docs/zh/intlayer_with_nestjs.md +1 -1
- package/docs/zh/intlayer_with_nextjs_16.md +174 -1
- package/docs/zh/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/zh/intlayer_with_react_router_v7.md +227 -4
- package/docs/zh/intlayer_with_react_router_v7_fs_routes.md +228 -4
- package/docs/zh/intlayer_with_svelte_kit.md +158 -2
- package/docs/zh/intlayer_with_tanstack.md +159 -1
- package/docs/zh/intlayer_with_vite+preact.md +159 -3
- package/docs/zh/intlayer_with_vite+react.md +157 -1
- package/docs/zh/intlayer_with_vite+solid.md +161 -5
- package/docs/zh/intlayer_with_vite+svelte.md +157 -1
- package/docs/zh/intlayer_with_vite+vue.md +158 -2
- package/package.json +6 -6
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-04-18
|
|
3
|
-
updatedAt:
|
|
3
|
+
updatedAt: 2026-03-12
|
|
4
4
|
title: Vite + Vue i18n - كيفية ترجمة تطبيق Vue في 2026
|
|
5
5
|
description: اكتشف كيفية جعل موقعك باستخدام Vite و Vue متعدد اللغات. اتبع الوثائق لتدويل (i18n) وترجمته.
|
|
6
6
|
keywords:
|
|
@@ -1070,6 +1070,179 @@ const { myMarkdownContent } = useIntlayer("my-component");
|
|
|
1070
1070
|
.intlayer
|
|
1071
1071
|
```
|
|
1072
1072
|
|
|
1073
|
+
### (اختياري) خطوة 1 : استخراج محتوى مكوناتك
|
|
1074
|
+
|
|
1075
|
+
إذا كان لديك قاعدة بيانات كود موجودة، فقد يكون تحويل آلاف الملفات مستهلكًا للوقت.
|
|
1076
|
+
|
|
1077
|
+
لتسهيل هذه العملية، يقترح Intlayer [مترجمًا](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/compiler.md) / [مستخرجًا](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/cli/extract.md) لتحويل مكوناتك واستخراج المحتوى.
|
|
1078
|
+
|
|
1079
|
+
لإعداده، يمكنك إضافة قسم `compiler` في ملف `intlayer.config.ts` الخاص بك:
|
|
1080
|
+
|
|
1081
|
+
```typescript fileName="intlayer.config.ts" codeFormat="typescript"
|
|
1082
|
+
import { type IntlayerConfig } from "intlayer";
|
|
1083
|
+
|
|
1084
|
+
const config: IntlayerConfig = {
|
|
1085
|
+
// ... بقية التكوين الخاص بك
|
|
1086
|
+
compiler: {
|
|
1087
|
+
/**
|
|
1088
|
+
* يشير إلى ما إذا كان يجب تمكين المترجم.
|
|
1089
|
+
*/
|
|
1090
|
+
enabled: true,
|
|
1091
|
+
|
|
1092
|
+
/**
|
|
1093
|
+
* يحدد مسار ملفات المخرجات
|
|
1094
|
+
*/
|
|
1095
|
+
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
1096
|
+
|
|
1097
|
+
/**
|
|
1098
|
+
* يشير إلى ما إذا كان يجب حفظ المكونات بعد تحويلها. بهذه الطريقة، يمكن تشغيل المترجم مرة واحدة فقط لتحويل التطبيق، ثم يمكن إزالته.
|
|
1099
|
+
*/
|
|
1100
|
+
saveComponents: false,
|
|
1101
|
+
|
|
1102
|
+
/**
|
|
1103
|
+
* بادئة مفتاح القاموس
|
|
1104
|
+
*/
|
|
1105
|
+
dictionaryKeyPrefix: "",
|
|
1106
|
+
},
|
|
1107
|
+
};
|
|
1108
|
+
|
|
1109
|
+
export default config;
|
|
1110
|
+
```
|
|
1111
|
+
|
|
1112
|
+
```javascript fileName="intlayer.config.mjs" codeFormat="esm"
|
|
1113
|
+
/** @type {import('intlayer').IntlayerConfig} */
|
|
1114
|
+
const config = {
|
|
1115
|
+
// ... بقية التكوين الخاص بك
|
|
1116
|
+
compiler: {
|
|
1117
|
+
/**
|
|
1118
|
+
* يشير إلى ما إذا كان يجب تمكين المترجم.
|
|
1119
|
+
*/
|
|
1120
|
+
enabled: true,
|
|
1121
|
+
|
|
1122
|
+
/**
|
|
1123
|
+
* يحدد مسار ملفات المخرجات
|
|
1124
|
+
*/
|
|
1125
|
+
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
1126
|
+
|
|
1127
|
+
/**
|
|
1128
|
+
* يشير إلى ما إذا كان يجب حفظ المكونات بعد تحويلها. بهذه الطريقة، يمكن تشغيل المترجم مرة واحدة فقط لتحويل التطبيق، ثم يمكن إزالته.
|
|
1129
|
+
*/
|
|
1130
|
+
saveComponents: false,
|
|
1131
|
+
|
|
1132
|
+
/**
|
|
1133
|
+
* بادئة مفتاح القاموس
|
|
1134
|
+
*/
|
|
1135
|
+
dictionaryKeyPrefix: "",
|
|
1136
|
+
},
|
|
1137
|
+
};
|
|
1138
|
+
|
|
1139
|
+
export default config;
|
|
1140
|
+
```
|
|
1141
|
+
|
|
1142
|
+
```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
|
|
1143
|
+
/** @type {import('intlayer').IntlayerConfig} */
|
|
1144
|
+
const config = {
|
|
1145
|
+
// ... بقية التكوين الخاص بك
|
|
1146
|
+
compiler: {
|
|
1147
|
+
/**
|
|
1148
|
+
* يشير إلى ما إذا كان يجب تمكين المترجم.
|
|
1149
|
+
*/
|
|
1150
|
+
enabled: true,
|
|
1151
|
+
|
|
1152
|
+
/**
|
|
1153
|
+
* يحدد مسار ملفات المخرجات
|
|
1154
|
+
*/
|
|
1155
|
+
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
1156
|
+
|
|
1157
|
+
/**
|
|
1158
|
+
* يشير إلى ما إذا كان يجب حفظ المكونات بعد تحويلها. بهذه الطريقة، يمكن تشغيل المترجم مرة واحدة فقط لتحويل التطبيق، ثم يمكن إزالته.
|
|
1159
|
+
*/
|
|
1160
|
+
saveComponents: false,
|
|
1161
|
+
|
|
1162
|
+
/**
|
|
1163
|
+
* بادئة مفتاح القاموس
|
|
1164
|
+
*/
|
|
1165
|
+
dictionaryKeyPrefix: "",
|
|
1166
|
+
},
|
|
1167
|
+
};
|
|
1168
|
+
|
|
1169
|
+
module.exports = config;
|
|
1170
|
+
```
|
|
1171
|
+
|
|
1172
|
+
<Tabs>
|
|
1173
|
+
<Tab value='أمر الاستخراج'>
|
|
1174
|
+
|
|
1175
|
+
قم بتشغيل المستخرج لتحويل مكوناتك واستخراج المحتوى
|
|
1176
|
+
|
|
1177
|
+
```bash packageManager="npm"
|
|
1178
|
+
npx intlayer extract
|
|
1179
|
+
```
|
|
1180
|
+
|
|
1181
|
+
```bash packageManager="pnpm"
|
|
1182
|
+
pnpm intlayer extract
|
|
1183
|
+
```
|
|
1184
|
+
|
|
1185
|
+
```bash packageManager="yarn"
|
|
1186
|
+
yarn intlayer extract
|
|
1187
|
+
```
|
|
1188
|
+
|
|
1189
|
+
```bash packageManager="bun"
|
|
1190
|
+
bunx intlayer extract
|
|
1191
|
+
```
|
|
1192
|
+
|
|
1193
|
+
</Tab>
|
|
1194
|
+
<Tab value='مترجم Babel'>
|
|
1195
|
+
|
|
1196
|
+
```bash packageManager="npm"
|
|
1197
|
+
npm install @intlayer/babel --save-dev
|
|
1198
|
+
```
|
|
1199
|
+
|
|
1200
|
+
```bash packageManager="pnpm"
|
|
1201
|
+
pnpm add @intlayer/babel --save-dev
|
|
1202
|
+
```
|
|
1203
|
+
|
|
1204
|
+
```bash packageManager="yarn"
|
|
1205
|
+
yarn add @intlayer/babel --save-dev
|
|
1206
|
+
```
|
|
1207
|
+
|
|
1208
|
+
```bash packageManager="bun"
|
|
1209
|
+
bun add @intlayer/babel --dev
|
|
1210
|
+
```
|
|
1211
|
+
|
|
1212
|
+
```js fileName="babel.config.js"
|
|
1213
|
+
const {
|
|
1214
|
+
intlayerExtractBabelPlugin,
|
|
1215
|
+
getExtractPluginOptions,
|
|
1216
|
+
} = require("@intlayer/babel");
|
|
1217
|
+
|
|
1218
|
+
module.exports = {
|
|
1219
|
+
presets: ["next/babel"],
|
|
1220
|
+
plugins: [
|
|
1221
|
+
// استخراج المحتوى من المكونات إلى القواميس
|
|
1222
|
+
[intlayerExtractBabelPlugin, getExtractPluginOptions()],
|
|
1223
|
+
],
|
|
1224
|
+
};
|
|
1225
|
+
```
|
|
1226
|
+
|
|
1227
|
+
```bash packageManager="npm"
|
|
1228
|
+
npm run build # أو npm run dev
|
|
1229
|
+
```
|
|
1230
|
+
|
|
1231
|
+
```bash packageManager="pnpm"
|
|
1232
|
+
pnpm run build # Or pnpm run dev
|
|
1233
|
+
```
|
|
1234
|
+
|
|
1235
|
+
```bash packageManager="yarn"
|
|
1236
|
+
yarn build # Or yarn dev
|
|
1237
|
+
```
|
|
1238
|
+
|
|
1239
|
+
```bash packageManager="bun"
|
|
1240
|
+
bun run build # Or bun run dev
|
|
1241
|
+
```
|
|
1242
|
+
|
|
1243
|
+
</Tab>
|
|
1244
|
+
</Tabs>
|
|
1245
|
+
|
|
1073
1246
|
### امتداد VS Code
|
|
1074
1247
|
|
|
1075
1248
|
لتحسين تجربة التطوير الخاصة بك مع Intlayer، يمكنك تثبيت **امتداد Intlayer الرسمي لـ VS Code**.
|
package/docs/de/compiler.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-09-09
|
|
3
|
-
updatedAt: 2026-03-
|
|
3
|
+
updatedAt: 2026-03-12
|
|
4
4
|
title: Intlayer Compiler | Automatisierte Inhaltsextraktion für i18n
|
|
5
5
|
description: Automatisieren Sie Ihren Internationalisierungsprozess mit dem Intlayer Compiler. Extrahieren Sie Inhalte direkt aus Ihren Komponenten für schnellere und effizientere i18n in Vite, Next.js und mehr.
|
|
6
6
|
keywords:
|
|
@@ -149,73 +149,85 @@ Diese Konfiguration stellt sicher, dass Inhalte, die in Ihren Komponenten deklar
|
|
|
149
149
|
See complete tutorial: [Intlayer Compiler with Next.js](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_with_nextjs_compiler.md)
|
|
150
150
|
|
|
151
151
|
</Tab>
|
|
152
|
+
</Tabs>
|
|
152
153
|
|
|
153
154
|
### Benutzerdefinierte Konfiguration
|
|
154
155
|
|
|
155
156
|
Um das Verhalten des Compilers anzupassen, können Sie die Datei `intlayer.config.ts` im Stammverzeichnis Ihres Projekts aktualisieren.
|
|
156
157
|
|
|
157
|
-
|
|
158
|
-
import { type IntlayerConfig
|
|
158
|
+
````ts fileName="intlayer.config.ts"
|
|
159
|
+
import { type IntlayerConfig } from "intlayer";
|
|
159
160
|
|
|
160
161
|
const config: IntlayerConfig = {
|
|
161
162
|
compiler: {
|
|
162
163
|
/**
|
|
164
|
+
* Gibt an, ob der Compiler aktiviert werden soll.
|
|
163
165
|
* Stellen Sie build-only ein, um den Compiler während der Entwicklung zu überspringen und die Startzeiten zu beschleunigen.
|
|
164
166
|
*/
|
|
165
167
|
enabled: true,
|
|
166
168
|
|
|
167
169
|
/**
|
|
168
|
-
*
|
|
170
|
+
* Definiert den Pfad der Ausgabedateien. Ersetzt `outputDir`.
|
|
171
|
+
*
|
|
172
|
+
* - `./` Pfade werden relativ zum Verzeichnis der Komponente aufgelöst.
|
|
173
|
+
* - `/` Pfade werden relativ zum Projektstamm (`baseDir`) aufgelöst.
|
|
174
|
+
*
|
|
175
|
+
* - Das Einbeziehen der Variable `{{locale}}` im Pfad löst die Generierung separater Wörterbücher pro Sprache aus.
|
|
176
|
+
*
|
|
177
|
+
* Beispiel:
|
|
178
|
+
* ```ts
|
|
179
|
+
* {
|
|
180
|
+
* // Erstelle mehrsprachige .content.ts-Dateien in der Nähe der Komponente
|
|
181
|
+
* output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
182
|
+
*
|
|
183
|
+
* // output: './{{fileName}}{{extension}}', // Äquivalent mit einem Template-String
|
|
184
|
+
* }
|
|
185
|
+
* ```
|
|
186
|
+
*
|
|
187
|
+
* ```ts
|
|
188
|
+
* {
|
|
189
|
+
* // Erstelle zentralisierte JSON-Dateien pro Sprache im Projektstamm
|
|
190
|
+
* output: ({ key, locale }) => `/locales/${locale}/${key}.content.json`,
|
|
191
|
+
*
|
|
192
|
+
* // output: '/locales/{{locale}}/{{key}}.content.json', // Äquivalent mit einem Template-String
|
|
193
|
+
* }
|
|
194
|
+
* ```
|
|
195
|
+
*
|
|
196
|
+
* Liste der Variablen:
|
|
197
|
+
* - `fileName`: Der Name der Datei.
|
|
198
|
+
* - `key`: Der Schlüssel des Inhalts.
|
|
199
|
+
* - `locale`: Die Sprache des Inhalts.
|
|
200
|
+
* - `extension`: Die Dateierweiterung.
|
|
201
|
+
* - `componentFileName`: Der Dateiname der Komponente.
|
|
202
|
+
* - `componentExtension`: Die Dateierweiterung der Komponente.
|
|
203
|
+
* - `format`: Das Wörterbuchformat.
|
|
204
|
+
* - `componentFormat`: Das Wörterbuchformat der Komponente.
|
|
205
|
+
* - `componentDirPath`: Der Verzeichnispfad der Komponente.
|
|
169
206
|
*/
|
|
170
|
-
|
|
171
|
-
"**/*.{js,ts,mjs,cjs,jsx,tsx,vue,svelte}",
|
|
172
|
-
"!**/node_modules/**",
|
|
173
|
-
],
|
|
207
|
+
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
174
208
|
|
|
175
209
|
/**
|
|
176
|
-
*
|
|
177
|
-
|
|
178
|
-
excludePattern: ["**/node_modules/**"],
|
|
179
|
-
|
|
180
|
-
/**
|
|
181
|
-
* Ausgabeverzeichnis für die optimierten Wörterbücher.
|
|
210
|
+
* Gibt an, ob die Komponenten nach der Transformation gespeichert werden sollen.
|
|
211
|
+
* Auf diese Weise kann der Compiler nur einmal ausgeführt werden, um die App zu transformieren, und dann entfernt werden.
|
|
182
212
|
*/
|
|
183
|
-
|
|
213
|
+
saveComponents: false,
|
|
184
214
|
|
|
185
215
|
/**
|
|
186
|
-
*
|
|
216
|
+
* Fügt nur den Inhalt in die generierte Datei ein. Hilfreich für i18next oder ICU MessageFormat pro Sprach-JSON-Ausgaben.
|
|
217
|
+
*
|
|
218
|
+
* - `output: ({ locale, key }) => `./locale/${locale}/${key}.json`,`
|
|
187
219
|
*/
|
|
188
220
|
noMetadata: false,
|
|
189
221
|
|
|
190
222
|
/**
|
|
191
|
-
* Wörterbuch-Präfix
|
|
223
|
+
* Wörterbuch-Schlüssel-Präfix
|
|
192
224
|
*/
|
|
193
|
-
dictionaryKeyPrefix: "", //
|
|
194
|
-
|
|
195
|
-
/**
|
|
196
|
-
* Gibt an, ob die Komponenten nach der Transformation gespeichert werden sollen.
|
|
197
|
-
* Auf diese Weise kann der Compiler nur einmal ausgeführt werden, um die App zu transformieren, und dann entfernt werden.
|
|
198
|
-
*/
|
|
199
|
-
saveComponents: false,
|
|
225
|
+
dictionaryKeyPrefix: "", // Optionales Präfix für extrahierte Wörterbuchschlüssel hinzufügen
|
|
200
226
|
},
|
|
201
227
|
};
|
|
202
228
|
|
|
203
229
|
export default config;
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
### Fehlende Übersetzungen ausfüllen
|
|
207
|
-
|
|
208
|
-
Intlayer bietet ein CLI-Tool an, mit dem Sie fehlende Übersetzungen ausfüllen können. Sie können den Befehl `intlayer` verwenden, um fehlende Übersetzungen in Ihrem Code zu testen und auszufüllen.
|
|
209
|
-
|
|
210
|
-
```bash
|
|
211
|
-
npx intlayer test # Testen, ob Übersetzungen fehlen
|
|
212
|
-
```
|
|
213
|
-
|
|
214
|
-
```bash
|
|
215
|
-
npx intlayer fill # Fehlende Übersetzungen ausfüllen
|
|
216
|
-
```
|
|
217
|
-
|
|
218
|
-
> Weitere Informationen finden Sie in der [CLI-Dokumentation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/cli/ci.md)
|
|
230
|
+
````
|
|
219
231
|
|
|
220
232
|
### Compiler-Konfigurationsreferenz
|
|
221
233
|
|
|
@@ -225,36 +237,37 @@ Die folgenden Eigenschaften können im Block `compiler` Ihrer Datei `intlayer.co
|
|
|
225
237
|
- _Typ_: `boolean | 'build-only'`
|
|
226
238
|
- _Standard_: `true`
|
|
227
239
|
- _Beschreibung_: Gibt an, ob der Compiler aktiviert werden soll.
|
|
240
|
+
|
|
228
241
|
- **dictionaryKeyPrefix**:
|
|
229
242
|
- _Typ_: `string`
|
|
230
|
-
- _Standard_: `'
|
|
243
|
+
- _Standard_: `''`
|
|
231
244
|
- _Beschreibung_: Präfix für die extrahierten Wörterbuchschlüssel.
|
|
245
|
+
|
|
232
246
|
- **transformPattern**:
|
|
233
247
|
- _Typ_: `string | string[]`
|
|
234
248
|
- _Standard_: `['**/*.{js,ts,mjs,cjs,jsx,tsx,vue,svelte}', '!**/node_modules/**']`
|
|
235
|
-
- _Beschreibung_: Muster zum Durchlaufen des zu optimierenden Codes.
|
|
249
|
+
- _Beschreibung_: (Veraltet: verwenden Sie stattdessen `build.traversePattern`) Muster zum Durchlaufen des zu optimierenden Codes.
|
|
250
|
+
|
|
236
251
|
- **excludePattern**:
|
|
237
252
|
- _Typ_: `string | string[]`
|
|
238
253
|
- _Standard_: `['**/node_modules/**']`
|
|
239
|
-
- _Beschreibung_: Muster, die von der Optimierung ausgeschlossen werden sollen.
|
|
240
|
-
- **outputDir** (Deprecated):
|
|
241
|
-
- _Typ_: `string`
|
|
242
|
-
- _Standard_: `'compiler'`
|
|
243
|
-
- _Beschreibung_: Das Verzeichnis, in dem die extrahierten Wörterbücher gespeichert werden.
|
|
254
|
+
- _Beschreibung_: (Veraltet: verwenden Sie stattdessen `build.traversePattern`) Muster, die von der Optimierung ausgeschlossen werden sollen.
|
|
244
255
|
|
|
245
256
|
- **output**:
|
|
246
257
|
- _Typ_: `FilePathPattern`
|
|
247
258
|
- _Standard_: `({ key }) => 'compiler/${key}.content.json'`
|
|
248
259
|
- _Beschreibung_: Definiert den Pfad der Ausgabedateien. Ersetzt `outputDir`. Verarbeitet dynamische Variablen wie `{{locale}}`, `{{key}}`, `{{fileName}}`, `{{extension}}`, `{{format}}`, `{{dirPath}}`, `{{componentFileName}}`, `{{componentExtension}}`, `{{componentFormat}}`. Kann als String im Format `'my/{{var}}/path'` oder als Funktion festgelegt werden.
|
|
249
260
|
- _Hinweis_: `./**/*` Pfade werden relativ zur Komponente aufgelöst. `/**/*` Pfade werden relativ zum Intlayer `baseDir` aufgelöst.
|
|
261
|
+
- _Hinweis_: Wenn die Locale im Pfad gesetzt ist, werden Wörterbücher pro Locale generiert.
|
|
250
262
|
- _Beispiel_: `output: ({ locale, key }) => 'compiler/${locale}/${key}.json'`
|
|
251
263
|
|
|
252
264
|
- **noMetadata**:
|
|
253
265
|
- _Typ_: `boolean`
|
|
254
266
|
- _Standard_: `false`
|
|
255
|
-
- _Beschreibung_: Gibt an, ob die Metadaten in der Datei gespeichert werden sollen. Wenn true, speichert der Compiler nicht die Metadaten der Wörterbücher (Schlüssel, Content-Wrapper).
|
|
267
|
+
- _Beschreibung_: Gibt an, ob die Metadaten in der Datei gespeichert werden sollen. Wenn true, speichert der Compiler nicht die Metadaten der Wörterbücher (Schlüssel, Content-Wrapper). Nützlich für i18next- oder ICU-MessageFormat-JSON-Ausgaben pro Sprache.
|
|
256
268
|
- _Hinweis_: Nützlich bei Verwendung mit dem `loadJSON`-Plugin.
|
|
257
|
-
- _Beispiel_:
|
|
269
|
+
- _Beispiel_:
|
|
270
|
+
Wenn `true`:
|
|
258
271
|
```json
|
|
259
272
|
{
|
|
260
273
|
"key": "value"
|
|
@@ -274,3 +287,25 @@ Die folgenden Eigenschaften können im Block `compiler` Ihrer Datei `intlayer.co
|
|
|
274
287
|
- _Typ_: `boolean`
|
|
275
288
|
- _Standard_: `false`
|
|
276
289
|
- _Beschreibung_: Gibt an, ob die Komponenten nach der Transformation gespeichert werden sollen.
|
|
290
|
+
|
|
291
|
+
### Fehlende Übersetzungen ausfüllen
|
|
292
|
+
|
|
293
|
+
Intlayer bietet ein CLI-Tool an, mit dem Sie fehlende Übersetzungen ausfüllen können. Sie können den Befehl `intlayer` verwenden, um fehlende Übersetzungen in Ihrem Code zu testen und auszufüllen.
|
|
294
|
+
|
|
295
|
+
```bash
|
|
296
|
+
npx intlayer test # Testen, ob Übersetzungen fehlen
|
|
297
|
+
```
|
|
298
|
+
|
|
299
|
+
```bash
|
|
300
|
+
npx intlayer fill # Fehlende Übersetzungen ausfüllen
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
### Extraktion
|
|
304
|
+
|
|
305
|
+
Intlayer bietet ein CLI-Tool, um Inhalte aus Ihrem Code zu extrahieren. Sie können den Befehl `intlayer extract` verwenden, um Inhalte aus Ihrem Code zu extrahieren.
|
|
306
|
+
|
|
307
|
+
```bash
|
|
308
|
+
npx intlayer extract
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
> Weitere Informationen finden Sie in der [CLI-Dokumentation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/cli/index.md)
|