@smart-cloud/ai-kit-ui 1.0.3 → 1.1.0

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.
@@ -0,0 +1 @@
1
+ export { AiChatbot } from "./AiChatbot";
@@ -1,5 +1,6 @@
1
1
  import {
2
2
  Alert,
3
+ Anchor,
3
4
  Button,
4
5
  Collapse,
5
6
  Divider,
@@ -79,6 +80,8 @@ type GeneratedPostMetadata = {
79
80
  excerpt?: string;
80
81
  };
81
82
 
83
+ const aiKit = getAiKitPlugin();
84
+
82
85
  const postResponseConstraint = {
83
86
  type: "object",
84
87
  properties: {
@@ -652,10 +655,13 @@ const AiFeatureBase: FC<AiFeatureProps & AiKitShellInjectedProps> = (props) => {
652
655
  {
653
656
  role: "system" as const,
654
657
  content:
655
- "You generate SEO metadata for a WordPress post. " +
656
- "Return a minified JSON object with keys: title, excerpt. " +
657
- "Constraints: title <= 60 chars, excerpt <= 155 chars. " +
658
- "Do not add extra keys." +
658
+ `You generate SEO metadata for a WordPress post.
659
+ Return ONLY a minified JSON object with keys: title, excerpt.
660
+ Constraints: title <= 60 chars, excerpt <= 155 chars.
661
+ Be accurate: do not invent facts; if unsure, use neutral wording.
662
+ Do not add extra keys, no markdown, no explanations.
663
+ Follow the response constraint strictly.
664
+ ` +
659
665
  (instructions
660
666
  ? `
661
667
  Follow these additional instructions: ${instructions}`
@@ -663,7 +669,7 @@ Follow these additional instructions: ${instructions}`
663
669
  },
664
670
  {
665
671
  role: "user" as const,
666
- content: `Post content:\n${text!.trim()}\n\nGenerate JSON now.`,
672
+ content: `Post content:\n${text!.trim()}`,
667
673
  },
668
674
  ];
669
675
  const res = (await ai.run(async ({ signal, onStatus }) => {
@@ -711,15 +717,30 @@ Follow these additional instructions: ${instructions}`
711
717
  {
712
718
  role: "system",
713
719
  content:
714
- "You are an assistant that writes WordPress media metadata for accessibility and SEO. " +
715
- "Return a minified JSON object with keys: alt, title, caption, description. " +
716
- "Do not include any extra keys. Keep it concise and non-promotional." +
720
+ `You write WordPress media metadata for accessibility and SEO.
721
+ Return ONLY a minified JSON object with keys: alt, title, caption, description.
722
+ No extra keys. No markdown. No explanations.
723
+ Follow the response constraint strictly.
724
+
725
+ Guidelines:
726
+ - Accurate, concise, non-promotional. No keyword stuffing.
727
+ - Prefer plain language; avoid clichés.
728
+ - Do not invent facts (names, locations, brands, numbers). If unsure, stay generic.
729
+ - alt: describe what’s essential for understanding the image in context; avoid starting with "Image of" / "Photo of".
730
+ - title: short, descriptive label.
731
+ - caption: optional context users might see below the image; keep short.
732
+ - description: 1–2 short sentences; can include context/usage if known.
733
+ ` +
717
734
  (instructions
718
735
  ? `
719
736
  Follow these additional instructions: ${instructions}`
720
737
  : ""),
721
738
  },
722
- { role: "user", content: "Generate the JSON now." },
739
+ {
740
+ role: "user",
741
+ content:
742
+ "What can you see on this image according to the optional knowledge base and shared context?",
743
+ },
723
744
  ].filter(Boolean) as Array<{
724
745
  role: "system" | "user" | "assistant";
725
746
  content: string;
@@ -1261,8 +1282,7 @@ Follow these additional instructions: ${instructions}`
1261
1282
  ]}
1262
1283
  value={
1263
1284
  outputLanguage ||
1264
- getAiKitPlugin().settings
1265
- .defaultOutputLanguage ||
1285
+ aiKit.settings.defaultOutputLanguage ||
1266
1286
  (mode === "rewrite" ? "auto" : "")
1267
1287
  }
1268
1288
  onChange={(value) =>
@@ -1772,6 +1792,36 @@ Follow these additional instructions: ${instructions}`
1772
1792
  {I18n.get("Close")}
1773
1793
  </Button>
1774
1794
  </Group>
1795
+ <div
1796
+ style={{
1797
+ display: aiKit.settings?.enablePoweredBy ? "flex" : "none",
1798
+ justifyContent: aiKit.settings?.enablePoweredBy
1799
+ ? "flex-end"
1800
+ : undefined,
1801
+ padding: 0,
1802
+ marginRight: "var(--ai-kit-spacing-sm)",
1803
+ marginBottom:
1804
+ variation === "default"
1805
+ ? "var(--ai-kit-spacing-sm)"
1806
+ : undefined,
1807
+ }}
1808
+ className={
1809
+ aiKit.settings?.enablePoweredBy ? undefined : "sr-only"
1810
+ }
1811
+ >
1812
+ <Text c="p" ta="right" fs="italic" fz="xs">
1813
+ Powered by{" "}
1814
+ <Anchor
1815
+ href="https://wpsuite.io/ai-kit/"
1816
+ target="_blank"
1817
+ td="none"
1818
+ fz="xs"
1819
+ fw={400}
1820
+ >
1821
+ WPSuite AI-Kit
1822
+ </Anchor>
1823
+ </Text>
1824
+ </div>
1775
1825
  </AiFeatureBorder>
1776
1826
  </BodyComponent>
1777
1827
  </ContentComponent>
package/src/i18n/ar.ts CHANGED
@@ -1,19 +1,28 @@
1
1
  export const arDict: Record<string, string> = {
2
- "WPSuite AI-Kit": "WPSuite AI-Kit",
2
+ "AI Assistant": "مساعد الذكاء الاصطناعي",
3
3
  Accept: "يقبل",
4
+ "Accept response": "قبول الرد",
5
+ Add: "إضافة",
6
+ "Add image": "إضافة صورة",
4
7
  "Additional instructions to guide the AI.":
5
8
  "تعليمات إضافية لتوجيه الذكاء الاصطناعي.",
6
9
  "Alt Text": "نص بديل",
7
10
  "An unknown error occurred.": "حدث خطأ غير معروف.",
8
11
  Arabic: "عربي",
9
12
  "As-Is": "بدون تغيير",
13
+ "Ask anything…": "اسأل أي شيء…",
14
+ "Ask me": "اسألني",
15
+ Assistant: "المساعد",
10
16
  "Auto-detect": "الكشف التلقائي",
11
17
  Cancel: "يلغي",
12
18
  Caption: "التسمية التوضيحية",
13
19
  Casual: "غير رسمي",
14
20
  "Checking capabilities...": "إمكانيات الفحص...",
15
21
  Chinese: "الصينية",
22
+ "Click again to confirm": "انقر مرة أخرى للتأكيد",
16
23
  Close: "يغلق",
24
+ "Close chat": "إغلاق الدردشة",
25
+ Confirm: "تأكيد",
17
26
  Corrected: "تم التصحيح",
18
27
  "Creating LanguageDetector session": "إنشاء جلسة كاشف اللغة",
19
28
  "Creating LanguageModel session": "إنشاء جلسة نموذج اللغة",
@@ -28,6 +37,8 @@ export const arDict: Record<string, string> = {
28
37
  "Done.": "منتهي.",
29
38
  "Downloading model...": "جارٍ تنزيل النموذج...",
30
39
  Dutch: "هولندي",
40
+ Edit: "تعديل",
41
+ "Empty response": "رد فارغ",
31
42
  English: "إنجليزي",
32
43
  Excerpt: "مقتطفات",
33
44
  Formal: "رَسمِيّ",
@@ -45,6 +56,7 @@ export const arDict: Record<string, string> = {
45
56
  "Hover highlights to see explanations.":
46
57
  "مرر مؤشر الماوس فوق العناصر المميزة للاطلاع على التفسيرات.",
47
58
  Hungarian: "المجرية",
59
+ "I'm ready to assist you.": "أنا جاهز لمساعدتك.",
48
60
  Indonesian: "إندونيسيا",
49
61
  "Initializing on-device AI...": "جارٍ تهيئة الذكاء الاصطناعي على الجهاز...",
50
62
  "Inlining images as base64": "تضمين الصور بصيغة base64",
@@ -60,6 +72,7 @@ export const arDict: Record<string, string> = {
60
72
  Long: "طويل",
61
73
  Longer: "أطول",
62
74
  Markdown: "تخفيض السعر",
75
+ Maximize: "تكبير",
63
76
  Medium: "واسطة",
64
77
  "More casual": "أكثر عفوية",
65
78
  "More formal": "أكثر رسمية",
@@ -68,6 +81,7 @@ export const arDict: Record<string, string> = {
68
81
  "لم يتم العثور على أي مشاكل. النص يبدو رائعاً!",
69
82
  "No overrides": "لا توجد تجاوزات",
70
83
  Norwegian: "النرويجية",
84
+ "Not sent": "لم يتم الإرسال",
71
85
  "On-device model ready.": "النموذج جاهز للاستخدام على الجهاز.",
72
86
  Options: "خيارات",
73
87
  "Output format": "تنسيق الإخراج",
@@ -79,16 +93,24 @@ export const arDict: Record<string, string> = {
79
93
  "Proofread again": "راجع النص مرة أخرى",
80
94
  "Proofread on Backend": "تمت المراجعة في الواجهة الخلفية",
81
95
  Proofreading: "التدقيق اللغوي",
96
+ "Ready.": "جاهز.",
82
97
  "Received backend response.": "تم استلام رد من الخادم الخلفي.",
98
+ Reference: "مرجع",
99
+ References: "المراجع",
83
100
  Regenerate: "تجديد",
84
101
  "Regenerate on Backend": "إعادة التوليد في الواجهة الخلفية",
102
+ "Reject response": "رفض الرد",
103
+ "Remove image": "إزالة الصورة",
85
104
  "Replace with": "استبدل بـ",
86
105
  "Requesting signed URL": "طلب عنوان URL موقّع",
106
+ Reset: "إعادة ضبط",
107
+ "Restore size": "استعادة الحجم",
87
108
  Rewrite: "إعادة كتابة",
88
109
  "Rewrite again": "أعد الكتابة مرة أخرى",
89
110
  "Rewrite on Backend": "إعادة كتابة الكود في الواجهة الخلفية",
90
111
  "Rewriting text": "إعادة كتابة النص",
91
112
  Russian: "الروسية",
113
+ Send: "إرسال",
92
114
  "Sending request to backend...": "إرسال الطلب إلى الواجهة الخلفية...",
93
115
  Short: "قصير",
94
116
  Shorter: "أقصر",
@@ -130,10 +152,13 @@ export const arDict: Record<string, string> = {
130
152
  Turkish: "تركي",
131
153
  Type: "يكتب",
132
154
  Ukrainian: "الأوكرانية",
155
+ "Unexpected error": "خطأ غير متوقع",
133
156
  Uploading: "جارٍ التحميل",
134
157
  "Uploading images via signed URL": "تحميل الصور عبر رابط موقّع",
158
+ User: "المستخدم",
135
159
  "Using backend": "استخدام الواجهة الخلفية",
136
160
  "Using on-device": "استخدام الجهاز",
161
+ "WPSuite AI-Kit": "WPSuite AI-Kit",
137
162
  "Waiting for backend response...": "في انتظار رد من الخادم الخلفي...",
138
163
  Why: "لماذا",
139
164
  "Working...": "عمل...",
@@ -153,4 +178,23 @@ export const arDict: Record<string, string> = {
153
178
  shorter: "أقصر",
154
179
  teaser: "إعلان تشويقي",
155
180
  tldr: "باختصار",
181
+ "--- Select ---": "--- اختر ---",
182
+ "Plain Text": "نص عادي",
183
+ "An error occurred.": "حدث خطأ.",
184
+ "Are you sure you want to reset the conversation?":
185
+ "هل أنت متأكد أنك تريد إعادة ضبط المحادثة؟",
186
+ "Generate Image Metadata": "إنشاء بيانات وصفية للصورة",
187
+ "Generate Post Metadata": "إنشاء بيانات وصفية للمقال",
188
+ No: "لا",
189
+ "No content generated.": "لم يتم إنشاء أي محتوى.",
190
+ "On-device model ready...": "النموذج على الجهاز جاهز...",
191
+ "Receiving response...": "جارٍ استلام الرد...",
192
+ "Reset conversation": "إعادة ضبط المحادثة",
193
+ "Running on-device...": "جارٍ التشغيل على الجهاز...",
194
+ "Sending request to server...": "جارٍ إرسال الطلب إلى الخادم...",
195
+ "The format for the generated output.": "تنسيق المخرجات المُنشأة.",
196
+ "Waiting for response...": "جارٍ انتظار الرد...",
197
+ "Working…": "جارٍ العمل…",
198
+ Write: "اكتب",
199
+ Yes: "نعم",
156
200
  };
package/src/i18n/de.ts CHANGED
@@ -1,157 +1,202 @@
1
1
  export const deDict: Record<string, string> = {
2
- "Deciding capability": "Fähigkeit wird ermittelt",
3
- "Using on-device": "On-Device wird verwendet",
4
- "Using backend": "Backend wird verwendet",
5
- "Creating Writer session": "Writer-Sitzung wird erstellt",
6
- "Generating text": "Text wird generiert",
7
- "Creating Rewriter session": "Rewriter-Sitzung wird erstellt",
8
- "Rewriting text": "Text wird umgeschrieben",
9
- "Creating Proofreader session": "Proofreader-Sitzung wird erstellt",
10
- Proofreading: "Textprüfung",
11
- "Creating Summarizer session": "Summarizer-Sitzung wird erstellt",
12
- Summarizing: "Zusammenfassung",
13
- "Creating LanguageDetector session": "LanguageDetector-Sitzung wird erstellt",
14
- "Detecting language": "Spracherkennung",
15
- "Creating Translator session": "Translator-Sitzung wird erstellt",
16
- Translating: "Übersetzung",
17
- "Inlining images as base64": "Bilder werden als Base64 eingebettet",
18
- "Uploading images via signed URL":
19
- "Bilder werden per signierter URL hochgeladen",
20
- "Requesting signed URL": "Signierte URL wird angefordert",
21
- Uploading: "Wird hochgeladen",
22
- "Creating LanguageModel session": "LanguageModel-Sitzung wird erstellt",
23
- "Checking capabilities...": "Fähigkeiten werden geprüft...",
24
- "Initializing on-device AI...": "On-Device-KI wird initialisiert...",
25
- "Downloading model...": "Modell wird heruntergeladen...",
26
- "On-device model ready.": "On-Device-Modell ist bereit.",
27
- "Generating...": "Wird generiert...",
28
- "Sending request to backend...": "Anfrage wird an das Backend gesendet...",
29
- "Waiting for backend response...": "Warte auf Backend-Antwort...",
30
- "Received backend response.": "Backend-Antwort erhalten.",
31
- "Done.": "Fertig.",
32
- "Something went wrong.": "Etwas ist schiefgelaufen.",
33
- "Working...": "Wird verarbeitet...",
34
- "Replace with": "Ersetzen durch",
35
- Type: "Typ",
36
- Why: "Warum",
37
- "Suggested change": "Vorgeschlagene Änderung",
38
- "WPSuite AI-Kit": "WPSuite AI-Kit",
2
+ "AI Assistant": "KI-Assistent",
39
3
  Accept: "Übernehmen",
40
- "Input and output languages cannot be the same.":
41
- "Eingabe- und Ausgabesprache dürfen nicht identisch sein.",
42
- "An unknown error occurred.": "Ein unbekannter Fehler ist aufgetreten.",
43
- Proofread: "Prüfen",
44
- "Proofread on Backend": "Serverseitig prüfen",
45
- "Proofread again": "Erneut prüfen",
46
- Translate: "Übersetzen",
47
- "Translate again": "Erneut übersetzen",
48
- "Translate on Backend": "Serverseitig übersetzen",
49
- Rewrite: "Umschreiben",
50
- "Rewrite again": "Erneut umschreiben",
51
- "Rewrite on Backend": "Serverseitig umschreiben",
52
- Summarize: "Zusammenfassen",
53
- "Summarize again": "Erneut zusammenfassen",
54
- "Summarize on Backend": "Serverseitig zusammenfassen",
55
- Generate: "Generieren",
56
- Regenerate: "Neu generieren",
57
- "Regenerate on Backend": "Serverseitig neu generieren",
58
- "Input language": "Eingabesprache",
59
- "Output language": "Ausgabesprache",
60
- Options: "Optionen",
61
- Hide: "Ausblenden",
62
- Show: "Anzeigen",
63
- Topic: "Thema",
64
- "The topic or subject for the AI to write about.":
65
- "Thema bzw. Gegenstand, über den die KI schreiben soll.",
66
- Instructions: "Anweisungen",
4
+ "Accept response": "Antwort übernehmen",
5
+ Add: "Hinzufügen",
6
+ "Add image": "Bild hinzufügen",
67
7
  "Additional instructions to guide the AI.":
68
8
  "Zusätzliche Anweisungen zur Steuerung der KI.",
69
- "The language of the input text.": "Sprache des Eingabetextes.",
9
+ "Alt Text": "Alt-Text",
10
+ "An unknown error occurred.": "Ein unbekannter Fehler ist aufgetreten.",
11
+ Arabic: "Arabisch",
12
+ "As-Is": "Unverändert",
13
+ "Ask anything…": "Frag mich alles…",
14
+ "Ask me": "Frag mich",
15
+ Assistant: "Assistent",
70
16
  "Auto-detect": "Automatisch erkennen",
71
- "The language AI-Kit should use for generated text by default (when applicable).":
72
- "Standardsprache, die AI‑Kit (falls anwendbar) für generierte Texte verwenden soll.",
73
- "The summary style to generate.": "Gewünschter Stil der Zusammenfassung.",
74
- Headline: "Überschrift",
75
- "Key Points": "Kernaussagen",
76
- Teaser: "Teaser",
77
- "TL;DR": "Kurzfassung",
78
- Neutral: "Neutral",
79
- Formal: "Formell",
17
+ Cancel: "Abbrechen",
18
+ Caption: "Bildunterschrift",
80
19
  Casual: "Locker",
81
- "As-Is": "Unverändert",
82
- "More formal": "Formeller",
83
- "More casual": "Lockerer",
84
- "The tone or style for the AI to use.":
85
- "Tonfall bzw. Stil, den die KI verwenden soll.",
86
- "The target output length.": "Gewünschte Ausgabelänge.",
87
- Short: "Kurz",
88
- Medium: "Mittel",
89
- Long: "Lang",
90
- Shorter: "Kürzer",
91
- Longer: "Länger",
92
- "Output format": "Ausgabeformat",
93
- Markdown: "Markdown",
94
- HTML: "HTML",
95
- "No issues found. Your text looks great!":
96
- "Keine Probleme gefunden. Dein Text sieht super aus!",
97
- "Hover highlights to see explanations.":
98
- "Fahre über Markierungen, um Erklärungen zu sehen.",
20
+ "Checking capabilities...": "Fähigkeiten werden geprüft...",
21
+ Chinese: "Chinesisch",
22
+ "Click again to confirm": "Zum Bestätigen erneut klicken",
23
+ Close: "Schließen",
24
+ "Close chat": "Chat schließen",
25
+ Confirm: "Bestätigen",
99
26
  Corrected: "Korrigiert",
100
- "Alt Text": "Alt-Text",
101
- "The alt text for the image.": "Alt-Text für das Bild.",
102
- Title: "Titel",
103
- "The title for the image.": "Titel für das Bild.",
104
- Caption: "Bildunterschrift",
105
- "The caption for the image.": "Bildunterschrift für das Bild.",
27
+ "Creating LanguageDetector session": "LanguageDetector-Sitzung wird erstellt",
28
+ "Creating LanguageModel session": "LanguageModel-Sitzung wird erstellt",
29
+ "Creating Proofreader session": "Proofreader-Sitzung wird erstellt",
30
+ "Creating Rewriter session": "Rewriter-Sitzung wird erstellt",
31
+ "Creating Summarizer session": "Summarizer-Sitzung wird erstellt",
32
+ "Creating Translator session": "Translator-Sitzung wird erstellt",
33
+ "Creating Writer session": "Writer-Sitzung wird erstellt",
34
+ "Deciding capability": "Fähigkeit wird ermittelt",
106
35
  Description: "Beschreibung",
107
- "The description for the image.": "Beschreibung für das Bild.",
108
- "The title for the post.": "Titel des Beitrags.",
109
- Excerpt: "Auszug",
110
- "The excerpt for the post.":
111
- "Kurzbeschreibung/Auszug für den Beitrag (kann in Suchergebnissen/Previews erscheinen).",
112
- Cancel: "Abbrechen",
113
- Close: "Schließen",
114
- "Generated content": "Generierter Inhalt",
115
- Preview: "Vorschau",
116
- Tone: "Tonfall",
117
- Length: "Länge",
118
- "No overrides": "Ohne Überschreibungen",
119
- tldr: "Kurzfassung",
120
- teaser: "Teaser",
121
- "key-points": "Kernaussagen",
122
- headline: "Überschrift",
123
- formal: "formell",
124
- neutral: "neutral",
125
- casual: "locker",
126
- "as-is": "unverändert",
127
- "more-formal": "formeller",
128
- "more-casual": "lockerer",
129
- short: "kurz",
130
- medium: "mittel",
131
- long: "lang",
132
- shorter: "kürzer",
133
- longer: "länger",
134
- auto: "automatisch",
135
- Arabic: "Arabisch",
136
- Chinese: "Chinesisch",
36
+ "Detecting language": "Spracherkennung",
37
+ "Done.": "Fertig.",
38
+ "Downloading model...": "Modell wird heruntergeladen...",
137
39
  Dutch: "Niederländisch",
40
+ Edit: "Bearbeiten",
41
+ "Empty response": "Leere Antwort",
138
42
  English: "Englisch",
43
+ Excerpt: "Auszug",
44
+ Formal: "Formell",
139
45
  French: "Französisch",
46
+ Generate: "Generieren",
47
+ "Generated content": "Generierter Inhalt",
48
+ "Generating text": "Text wird generiert",
49
+ "Generating...": "Wird generiert...",
140
50
  German: "Deutsch",
51
+ HTML: "HTML",
52
+ Headline: "Überschrift",
141
53
  Hebrew: "Hebräisch",
54
+ Hide: "Ausblenden",
142
55
  Hindi: "Hindi",
56
+ "Hover highlights to see explanations.":
57
+ "Fahre über Markierungen, um Erklärungen zu sehen.",
143
58
  Hungarian: "Ungarisch",
59
+ "I'm ready to assist you.": "Ich bin bereit, dir zu helfen.",
144
60
  Indonesian: "Indonesisch",
61
+ "Initializing on-device AI...": "On-Device-KI wird initialisiert...",
62
+ "Inlining images as base64": "Bilder werden als Base64 eingebettet",
63
+ "Input and output languages cannot be the same.":
64
+ "Eingabe- und Ausgabesprache dürfen nicht identisch sein.",
65
+ "Input language": "Eingabesprache",
66
+ Instructions: "Anweisungen",
145
67
  Italian: "Italienisch",
146
68
  Japanese: "Japanisch",
69
+ "Key Points": "Kernaussagen",
147
70
  Korean: "Koreanisch",
71
+ Length: "Länge",
72
+ Long: "Lang",
73
+ Longer: "Länger",
74
+ Markdown: "Markdown",
75
+ Maximize: "Maximieren",
76
+ Medium: "Mittel",
77
+ "More casual": "Lockerer",
78
+ "More formal": "Formeller",
79
+ Neutral: "Neutral",
80
+ "No issues found. Your text looks great!":
81
+ "Keine Probleme gefunden. Dein Text sieht super aus!",
82
+ "No overrides": "Ohne Überschreibungen",
148
83
  Norwegian: "Norwegisch",
84
+ "Not sent": "Nicht gesendet",
85
+ "On-device model ready.": "On-Device-Modell ist bereit.",
86
+ Options: "Optionen",
87
+ "Output format": "Ausgabeformat",
88
+ "Output language": "Ausgabesprache",
149
89
  Polish: "Polnisch",
150
90
  Portuguese: "Portugiesisch",
91
+ Preview: "Vorschau",
92
+ Proofread: "Prüfen",
93
+ "Proofread again": "Erneut prüfen",
94
+ "Proofread on Backend": "Serverseitig prüfen",
95
+ Proofreading: "Textprüfung",
96
+ "Ready.": "Bereit.",
97
+ "Received backend response.": "Backend-Antwort erhalten.",
98
+ Reference: "Referenz",
99
+ References: "Referenzen",
100
+ Regenerate: "Neu generieren",
101
+ "Regenerate on Backend": "Serverseitig neu generieren",
102
+ "Reject response": "Antwort ablehnen",
103
+ "Remove image": "Bild entfernen",
104
+ "Replace with": "Ersetzen durch",
105
+ "Requesting signed URL": "Signierte URL wird angefordert",
106
+ Reset: "Zurücksetzen",
107
+ "Restore size": "Größe wiederherstellen",
108
+ Rewrite: "Umschreiben",
109
+ "Rewrite again": "Erneut umschreiben",
110
+ "Rewrite on Backend": "Serverseitig umschreiben",
111
+ "Rewriting text": "Text wird umgeschrieben",
151
112
  Russian: "Russisch",
113
+ Send: "Senden",
114
+ "Sending request to backend...": "Anfrage wird an das Backend gesendet...",
115
+ Short: "Kurz",
116
+ Shorter: "Kürzer",
117
+ Show: "Anzeigen",
118
+ "Something went wrong.": "Etwas ist schiefgelaufen.",
152
119
  Spanish: "Spanisch",
120
+ "Suggested change": "Vorgeschlagene Änderung",
121
+ Summarize: "Zusammenfassen",
122
+ "Summarize again": "Erneut zusammenfassen",
123
+ "Summarize on Backend": "Serverseitig zusammenfassen",
124
+ Summarizing: "Zusammenfassung",
153
125
  Swedish: "Schwedisch",
126
+ "TL;DR": "Kurzfassung",
127
+ Teaser: "Teaser",
154
128
  Thai: "Thailändisch",
129
+ "The alt text for the image.": "Alt-Text für das Bild.",
130
+ "The caption for the image.": "Bildunterschrift für das Bild.",
131
+ "The description for the image.": "Beschreibung für das Bild.",
132
+ "The excerpt for the post.":
133
+ "Kurzbeschreibung/Auszug für den Beitrag (kann in Suchergebnissen/Previews erscheinen).",
134
+ "The language AI-Kit should use for generated text by default (when applicable).":
135
+ "Standardsprache, die AI‑Kit (falls anwendbar) für generierte Texte verwenden soll.",
136
+ "The language of the input text.": "Sprache des Eingabetextes.",
137
+ "The summary style to generate.": "Gewünschter Stil der Zusammenfassung.",
138
+ "The target output length.": "Gewünschte Ausgabelänge.",
139
+ "The title for the image.": "Titel für das Bild.",
140
+ "The title for the post.": "Titel des Beitrags.",
141
+ "The tone or style for the AI to use.":
142
+ "Tonfall bzw. Stil, den die KI verwenden soll.",
143
+ "The topic or subject for the AI to write about.":
144
+ "Thema bzw. Gegenstand, über den die KI schreiben soll.",
145
+ Title: "Titel",
146
+ Tone: "Tonfall",
147
+ Topic: "Thema",
148
+ Translate: "Übersetzen",
149
+ "Translate again": "Erneut übersetzen",
150
+ "Translate on Backend": "Serverseitig übersetzen",
151
+ Translating: "Übersetzung",
155
152
  Turkish: "Türkisch",
153
+ Type: "Typ",
156
154
  Ukrainian: "Ukrainisch",
155
+ "Unexpected error": "Unerwarteter Fehler",
156
+ Uploading: "Wird hochgeladen",
157
+ "Uploading images via signed URL":
158
+ "Bilder werden per signierter URL hochgeladen",
159
+ User: "Benutzer",
160
+ "Using backend": "Backend wird verwendet",
161
+ "Using on-device": "On-Device wird verwendet",
162
+ "WPSuite AI-Kit": "WPSuite AI-Kit",
163
+ "Waiting for backend response...": "Warte auf Backend-Antwort...",
164
+ Why: "Warum",
165
+ "Working...": "Wird verarbeitet...",
166
+ "as-is": "unverändert",
167
+ auto: "automatisch",
168
+ casual: "locker",
169
+ formal: "formell",
170
+ headline: "Überschrift",
171
+ "key-points": "Kernaussagen",
172
+ long: "lang",
173
+ longer: "länger",
174
+ medium: "mittel",
175
+ "more-casual": "lockerer",
176
+ "more-formal": "formeller",
177
+ neutral: "neutral",
178
+ short: "kurz",
179
+ shorter: "kürzer",
180
+ teaser: "Teaser",
181
+ tldr: "Kurzfassung",
182
+ "--- Select ---": "--- Auswählen ---",
183
+ "Plain Text": "Klartext",
184
+ "An error occurred.": "Ein Fehler ist aufgetreten.",
185
+ "Are you sure you want to reset the conversation?":
186
+ "Möchten Sie die Konversation wirklich zurücksetzen?",
187
+ "Generate Image Metadata": "Bild-Metadaten generieren",
188
+ "Generate Post Metadata": "Beitrags-Metadaten generieren",
189
+ No: "Nein",
190
+ "No content generated.": "Kein Inhalt generiert.",
191
+ "On-device model ready...": "On-Device-Modell bereit...",
192
+ "Receiving response...": "Antwort wird empfangen...",
193
+ "Reset conversation": "Konversation zurücksetzen",
194
+ "Running on-device...": "Läuft auf dem Gerät...",
195
+ "Sending request to server...": "Anfrage wird an den Server gesendet...",
196
+ "The format for the generated output.":
197
+ "Das Format für die generierte Ausgabe.",
198
+ "Waiting for response...": "Warten auf Antwort...",
199
+ "Working…": "Arbeite…",
200
+ Write: "Schreiben",
201
+ Yes: "Ja",
157
202
  };