mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-28 05:16:23 -06:00
chore(ui): refresh control ui locales (#115843)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
This commit is contained in:
committed by
GitHub
parent
0316368518
commit
6e782e021b
Generated
+6
-6
@@ -1,11 +1,11 @@
|
||||
{
|
||||
"fallbackKeys": [],
|
||||
"generatedAt": "2026-07-28T08:27:15.992Z",
|
||||
"generatedAt": "2026-07-29T11:06:58.321Z",
|
||||
"locale": "ar",
|
||||
"model": "gpt-5.6-sol",
|
||||
"provider": "openai",
|
||||
"sourceHash": "a2055a69dc821991e8563a61e7c44460f8430be57fbcd29ec72fe6c9ec7870ea",
|
||||
"totalKeys": 4133,
|
||||
"translatedKeys": 4133,
|
||||
"model": "claude-opus-4-8",
|
||||
"provider": "anthropic",
|
||||
"sourceHash": "c47dd98cbd34af29c35d314dbb230aeb07988acc9326b280da0701f9f5213714",
|
||||
"totalKeys": 4588,
|
||||
"translatedKeys": 4588,
|
||||
"workflow": 1
|
||||
}
|
||||
|
||||
Generated
+489
File diff suppressed because it is too large
Load Diff
Generated
+1
-1
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"fallbacks": {},
|
||||
"sourceHash": "a2055a69dc821991e8563a61e7c44460f8430be57fbcd29ec72fe6c9ec7870ea",
|
||||
"sourceHash": "c47dd98cbd34af29c35d314dbb230aeb07988acc9326b280da0701f9f5213714",
|
||||
"version": 1
|
||||
}
|
||||
|
||||
Generated
+6
-6
@@ -1,11 +1,11 @@
|
||||
{
|
||||
"fallbackKeys": [],
|
||||
"generatedAt": "2026-07-28T08:27:15.400Z",
|
||||
"generatedAt": "2026-07-29T10:57:42.373Z",
|
||||
"locale": "de",
|
||||
"model": "gpt-5.6-sol",
|
||||
"provider": "openai",
|
||||
"sourceHash": "a2055a69dc821991e8563a61e7c44460f8430be57fbcd29ec72fe6c9ec7870ea",
|
||||
"totalKeys": 4133,
|
||||
"translatedKeys": 4133,
|
||||
"model": "claude-opus-4-8",
|
||||
"provider": "anthropic",
|
||||
"sourceHash": "c47dd98cbd34af29c35d314dbb230aeb07988acc9326b280da0701f9f5213714",
|
||||
"totalKeys": 4588,
|
||||
"translatedKeys": 4588,
|
||||
"workflow": 1
|
||||
}
|
||||
|
||||
Generated
+489
File diff suppressed because it is too large
Load Diff
Generated
+6
-6
@@ -1,11 +1,11 @@
|
||||
{
|
||||
"fallbackKeys": [],
|
||||
"generatedAt": "2026-07-28T08:27:15.496Z",
|
||||
"generatedAt": "2026-07-29T11:01:32.940Z",
|
||||
"locale": "es",
|
||||
"model": "gpt-5.6-sol",
|
||||
"provider": "openai",
|
||||
"sourceHash": "a2055a69dc821991e8563a61e7c44460f8430be57fbcd29ec72fe6c9ec7870ea",
|
||||
"totalKeys": 4133,
|
||||
"translatedKeys": 4133,
|
||||
"model": "claude-opus-4-8",
|
||||
"provider": "anthropic",
|
||||
"sourceHash": "c47dd98cbd34af29c35d314dbb230aeb07988acc9326b280da0701f9f5213714",
|
||||
"totalKeys": 4588,
|
||||
"translatedKeys": 4588,
|
||||
"workflow": 1
|
||||
}
|
||||
|
||||
Generated
+489
File diff suppressed because it is too large
Load Diff
Generated
+6
-6
@@ -1,11 +1,11 @@
|
||||
{
|
||||
"fallbackKeys": [],
|
||||
"generatedAt": "2026-07-28T08:27:16.887Z",
|
||||
"generatedAt": "2026-07-29T11:17:55.240Z",
|
||||
"locale": "fa",
|
||||
"model": "gpt-5.6-sol",
|
||||
"provider": "openai",
|
||||
"sourceHash": "a2055a69dc821991e8563a61e7c44460f8430be57fbcd29ec72fe6c9ec7870ea",
|
||||
"totalKeys": 4133,
|
||||
"translatedKeys": 4133,
|
||||
"model": "claude-opus-4-8",
|
||||
"provider": "anthropic",
|
||||
"sourceHash": "c47dd98cbd34af29c35d314dbb230aeb07988acc9326b280da0701f9f5213714",
|
||||
"totalKeys": 4588,
|
||||
"translatedKeys": 4588,
|
||||
"workflow": 1
|
||||
}
|
||||
|
||||
Generated
+489
File diff suppressed because it is too large
Load Diff
Generated
+6
-6
@@ -1,11 +1,11 @@
|
||||
{
|
||||
"fallbackKeys": [],
|
||||
"generatedAt": "2026-07-28T08:27:15.780Z",
|
||||
"generatedAt": "2026-07-29T11:01:51.965Z",
|
||||
"locale": "fr",
|
||||
"model": "gpt-5.6-sol",
|
||||
"provider": "openai",
|
||||
"sourceHash": "a2055a69dc821991e8563a61e7c44460f8430be57fbcd29ec72fe6c9ec7870ea",
|
||||
"totalKeys": 4133,
|
||||
"translatedKeys": 4133,
|
||||
"model": "claude-opus-4-8",
|
||||
"provider": "anthropic",
|
||||
"sourceHash": "c47dd98cbd34af29c35d314dbb230aeb07988acc9326b280da0701f9f5213714",
|
||||
"totalKeys": 4588,
|
||||
"translatedKeys": 4588,
|
||||
"workflow": 1
|
||||
}
|
||||
|
||||
Generated
+489
File diff suppressed because it is too large
Load Diff
Generated
+6
-6
@@ -1,11 +1,11 @@
|
||||
{
|
||||
"fallbackKeys": [],
|
||||
"generatedAt": "2026-07-28T08:27:15.881Z",
|
||||
"generatedAt": "2026-07-29T11:07:00.115Z",
|
||||
"locale": "hi",
|
||||
"model": "gpt-5.6-sol",
|
||||
"provider": "openai",
|
||||
"sourceHash": "a2055a69dc821991e8563a61e7c44460f8430be57fbcd29ec72fe6c9ec7870ea",
|
||||
"totalKeys": 4133,
|
||||
"translatedKeys": 4133,
|
||||
"model": "claude-opus-4-8",
|
||||
"provider": "anthropic",
|
||||
"sourceHash": "c47dd98cbd34af29c35d314dbb230aeb07988acc9326b280da0701f9f5213714",
|
||||
"totalKeys": 4588,
|
||||
"translatedKeys": 4588,
|
||||
"workflow": 1
|
||||
}
|
||||
|
||||
Generated
+489
File diff suppressed because it is too large
Load Diff
Generated
+6
-6
@@ -1,11 +1,11 @@
|
||||
{
|
||||
"fallbackKeys": [],
|
||||
"generatedAt": "2026-07-28T08:27:16.374Z",
|
||||
"generatedAt": "2026-07-29T11:11:22.777Z",
|
||||
"locale": "id",
|
||||
"model": "gpt-5.6-sol",
|
||||
"provider": "openai",
|
||||
"sourceHash": "a2055a69dc821991e8563a61e7c44460f8430be57fbcd29ec72fe6c9ec7870ea",
|
||||
"totalKeys": 4133,
|
||||
"translatedKeys": 4133,
|
||||
"model": "claude-opus-4-8",
|
||||
"provider": "anthropic",
|
||||
"sourceHash": "c47dd98cbd34af29c35d314dbb230aeb07988acc9326b280da0701f9f5213714",
|
||||
"totalKeys": 4588,
|
||||
"translatedKeys": 4588,
|
||||
"workflow": 1
|
||||
}
|
||||
|
||||
Generated
+489
File diff suppressed because it is too large
Load Diff
Generated
+6
-6
@@ -1,11 +1,11 @@
|
||||
{
|
||||
"fallbackKeys": [],
|
||||
"generatedAt": "2026-07-28T08:27:16.090Z",
|
||||
"generatedAt": "2026-07-29T11:06:11.260Z",
|
||||
"locale": "it",
|
||||
"model": "gpt-5.6-sol",
|
||||
"provider": "openai",
|
||||
"sourceHash": "a2055a69dc821991e8563a61e7c44460f8430be57fbcd29ec72fe6c9ec7870ea",
|
||||
"totalKeys": 4133,
|
||||
"translatedKeys": 4133,
|
||||
"model": "claude-opus-4-8",
|
||||
"provider": "anthropic",
|
||||
"sourceHash": "c47dd98cbd34af29c35d314dbb230aeb07988acc9326b280da0701f9f5213714",
|
||||
"totalKeys": 4588,
|
||||
"translatedKeys": 4588,
|
||||
"workflow": 1
|
||||
}
|
||||
|
||||
Generated
+489
File diff suppressed because it is too large
Load Diff
Generated
+6
-6
@@ -1,11 +1,11 @@
|
||||
{
|
||||
"fallbackKeys": [],
|
||||
"generatedAt": "2026-07-28T08:27:15.590Z",
|
||||
"generatedAt": "2026-07-29T11:01:56.794Z",
|
||||
"locale": "ja-JP",
|
||||
"model": "gpt-5.6-sol",
|
||||
"provider": "openai",
|
||||
"sourceHash": "a2055a69dc821991e8563a61e7c44460f8430be57fbcd29ec72fe6c9ec7870ea",
|
||||
"totalKeys": 4133,
|
||||
"translatedKeys": 4133,
|
||||
"model": "claude-opus-4-8",
|
||||
"provider": "anthropic",
|
||||
"sourceHash": "c47dd98cbd34af29c35d314dbb230aeb07988acc9326b280da0701f9f5213714",
|
||||
"totalKeys": 4588,
|
||||
"translatedKeys": 4588,
|
||||
"workflow": 1
|
||||
}
|
||||
|
||||
Generated
+489
File diff suppressed because it is too large
Load Diff
Generated
+6
-6
@@ -1,11 +1,11 @@
|
||||
{
|
||||
"fallbackKeys": [],
|
||||
"generatedAt": "2026-07-28T08:27:15.686Z",
|
||||
"generatedAt": "2026-07-29T11:02:21.725Z",
|
||||
"locale": "ko",
|
||||
"model": "gpt-5.6-sol",
|
||||
"provider": "openai",
|
||||
"sourceHash": "a2055a69dc821991e8563a61e7c44460f8430be57fbcd29ec72fe6c9ec7870ea",
|
||||
"totalKeys": 4133,
|
||||
"translatedKeys": 4133,
|
||||
"model": "claude-opus-4-8",
|
||||
"provider": "anthropic",
|
||||
"sourceHash": "c47dd98cbd34af29c35d314dbb230aeb07988acc9326b280da0701f9f5213714",
|
||||
"totalKeys": 4588,
|
||||
"translatedKeys": 4588,
|
||||
"workflow": 1
|
||||
}
|
||||
|
||||
Generated
+489
File diff suppressed because it is too large
Load Diff
Generated
+6
-6
@@ -1,11 +1,11 @@
|
||||
{
|
||||
"fallbackKeys": [],
|
||||
"generatedAt": "2026-07-28T08:27:16.759Z",
|
||||
"generatedAt": "2026-07-29T11:16:09.967Z",
|
||||
"locale": "nl",
|
||||
"model": "gpt-5.6-sol",
|
||||
"provider": "openai",
|
||||
"sourceHash": "a2055a69dc821991e8563a61e7c44460f8430be57fbcd29ec72fe6c9ec7870ea",
|
||||
"totalKeys": 4133,
|
||||
"translatedKeys": 4133,
|
||||
"model": "claude-opus-4-8",
|
||||
"provider": "anthropic",
|
||||
"sourceHash": "c47dd98cbd34af29c35d314dbb230aeb07988acc9326b280da0701f9f5213714",
|
||||
"totalKeys": 4588,
|
||||
"translatedKeys": 4588,
|
||||
"workflow": 1
|
||||
}
|
||||
|
||||
Generated
+489
File diff suppressed because it is too large
Load Diff
Generated
+6
-6
@@ -1,11 +1,11 @@
|
||||
{
|
||||
"fallbackKeys": [],
|
||||
"generatedAt": "2026-07-28T08:27:16.468Z",
|
||||
"generatedAt": "2026-07-29T11:11:50.449Z",
|
||||
"locale": "pl",
|
||||
"model": "gpt-5.6-sol",
|
||||
"provider": "openai",
|
||||
"sourceHash": "a2055a69dc821991e8563a61e7c44460f8430be57fbcd29ec72fe6c9ec7870ea",
|
||||
"totalKeys": 4133,
|
||||
"translatedKeys": 4133,
|
||||
"model": "claude-opus-4-8",
|
||||
"provider": "anthropic",
|
||||
"sourceHash": "c47dd98cbd34af29c35d314dbb230aeb07988acc9326b280da0701f9f5213714",
|
||||
"totalKeys": 4588,
|
||||
"translatedKeys": 4588,
|
||||
"workflow": 1
|
||||
}
|
||||
|
||||
Generated
+489
File diff suppressed because it is too large
Load Diff
Generated
+6
-6
@@ -1,11 +1,11 @@
|
||||
{
|
||||
"fallbackKeys": [],
|
||||
"generatedAt": "2026-07-28T08:27:15.310Z",
|
||||
"generatedAt": "2026-07-29T10:57:24.690Z",
|
||||
"locale": "pt-BR",
|
||||
"model": "gpt-5.6-sol",
|
||||
"provider": "openai",
|
||||
"sourceHash": "a2055a69dc821991e8563a61e7c44460f8430be57fbcd29ec72fe6c9ec7870ea",
|
||||
"totalKeys": 4133,
|
||||
"translatedKeys": 4133,
|
||||
"model": "claude-opus-4-8",
|
||||
"provider": "anthropic",
|
||||
"sourceHash": "c47dd98cbd34af29c35d314dbb230aeb07988acc9326b280da0701f9f5213714",
|
||||
"totalKeys": 4588,
|
||||
"translatedKeys": 4588,
|
||||
"workflow": 1
|
||||
}
|
||||
|
||||
Generated
+489
File diff suppressed because it is too large
Load Diff
Generated
+6
-6
@@ -1,11 +1,11 @@
|
||||
{
|
||||
"fallbackKeys": [],
|
||||
"generatedAt": "2026-07-28T08:27:17.001Z",
|
||||
"generatedAt": "2026-07-29T11:19:04.877Z",
|
||||
"locale": "ru",
|
||||
"model": "gpt-5.6-sol",
|
||||
"provider": "openai",
|
||||
"sourceHash": "a2055a69dc821991e8563a61e7c44460f8430be57fbcd29ec72fe6c9ec7870ea",
|
||||
"totalKeys": 4133,
|
||||
"translatedKeys": 4133,
|
||||
"model": "claude-opus-4-8",
|
||||
"provider": "anthropic",
|
||||
"sourceHash": "c47dd98cbd34af29c35d314dbb230aeb07988acc9326b280da0701f9f5213714",
|
||||
"totalKeys": 4588,
|
||||
"translatedKeys": 4588,
|
||||
"workflow": 1
|
||||
}
|
||||
|
||||
Generated
+489
File diff suppressed because it is too large
Load Diff
Generated
+6
-6
@@ -1,11 +1,11 @@
|
||||
{
|
||||
"fallbackKeys": [],
|
||||
"generatedAt": "2026-07-28T08:27:16.565Z",
|
||||
"generatedAt": "2026-07-29T11:14:47.751Z",
|
||||
"locale": "th",
|
||||
"model": "gpt-5.6-sol",
|
||||
"provider": "openai",
|
||||
"sourceHash": "a2055a69dc821991e8563a61e7c44460f8430be57fbcd29ec72fe6c9ec7870ea",
|
||||
"totalKeys": 4133,
|
||||
"translatedKeys": 4133,
|
||||
"model": "claude-opus-4-8",
|
||||
"provider": "anthropic",
|
||||
"sourceHash": "c47dd98cbd34af29c35d314dbb230aeb07988acc9326b280da0701f9f5213714",
|
||||
"totalKeys": 4588,
|
||||
"translatedKeys": 4588,
|
||||
"workflow": 1
|
||||
}
|
||||
|
||||
Generated
+489
File diff suppressed because it is too large
Load Diff
Generated
+6
-6
@@ -1,11 +1,11 @@
|
||||
{
|
||||
"fallbackKeys": [],
|
||||
"generatedAt": "2026-07-28T08:27:16.182Z",
|
||||
"generatedAt": "2026-07-29T11:07:29.221Z",
|
||||
"locale": "tr",
|
||||
"model": "gpt-5.6-sol",
|
||||
"provider": "openai",
|
||||
"sourceHash": "a2055a69dc821991e8563a61e7c44460f8430be57fbcd29ec72fe6c9ec7870ea",
|
||||
"totalKeys": 4133,
|
||||
"translatedKeys": 4133,
|
||||
"model": "claude-opus-4-8",
|
||||
"provider": "anthropic",
|
||||
"sourceHash": "c47dd98cbd34af29c35d314dbb230aeb07988acc9326b280da0701f9f5213714",
|
||||
"totalKeys": 4588,
|
||||
"translatedKeys": 4588,
|
||||
"workflow": 1
|
||||
}
|
||||
|
||||
Generated
+489
File diff suppressed because it is too large
Load Diff
Generated
+6
-6
@@ -1,11 +1,11 @@
|
||||
{
|
||||
"fallbackKeys": [],
|
||||
"generatedAt": "2026-07-28T08:27:16.279Z",
|
||||
"generatedAt": "2026-07-29T11:11:13.574Z",
|
||||
"locale": "uk",
|
||||
"model": "gpt-5.6-sol",
|
||||
"provider": "openai",
|
||||
"sourceHash": "a2055a69dc821991e8563a61e7c44460f8430be57fbcd29ec72fe6c9ec7870ea",
|
||||
"totalKeys": 4133,
|
||||
"translatedKeys": 4133,
|
||||
"model": "claude-opus-4-8",
|
||||
"provider": "anthropic",
|
||||
"sourceHash": "c47dd98cbd34af29c35d314dbb230aeb07988acc9326b280da0701f9f5213714",
|
||||
"totalKeys": 4588,
|
||||
"translatedKeys": 4588,
|
||||
"workflow": 1
|
||||
}
|
||||
|
||||
Generated
+489
File diff suppressed because it is too large
Load Diff
Generated
+6
-6
@@ -1,11 +1,11 @@
|
||||
{
|
||||
"fallbackKeys": [],
|
||||
"generatedAt": "2026-07-28T08:27:16.664Z",
|
||||
"generatedAt": "2026-07-29T11:16:20.202Z",
|
||||
"locale": "vi",
|
||||
"model": "gpt-5.6-sol",
|
||||
"provider": "openai",
|
||||
"sourceHash": "a2055a69dc821991e8563a61e7c44460f8430be57fbcd29ec72fe6c9ec7870ea",
|
||||
"totalKeys": 4133,
|
||||
"translatedKeys": 4133,
|
||||
"model": "claude-opus-4-8",
|
||||
"provider": "anthropic",
|
||||
"sourceHash": "c47dd98cbd34af29c35d314dbb230aeb07988acc9326b280da0701f9f5213714",
|
||||
"totalKeys": 4588,
|
||||
"translatedKeys": 4588,
|
||||
"workflow": 1
|
||||
}
|
||||
|
||||
Generated
+489
File diff suppressed because it is too large
Load Diff
Generated
+6
-6
@@ -1,11 +1,11 @@
|
||||
{
|
||||
"fallbackKeys": [],
|
||||
"generatedAt": "2026-07-28T08:27:15.076Z",
|
||||
"generatedAt": "2026-07-29T10:57:10.307Z",
|
||||
"locale": "zh-CN",
|
||||
"model": "gpt-5.6-sol",
|
||||
"provider": "openai",
|
||||
"sourceHash": "a2055a69dc821991e8563a61e7c44460f8430be57fbcd29ec72fe6c9ec7870ea",
|
||||
"totalKeys": 4133,
|
||||
"translatedKeys": 4133,
|
||||
"model": "claude-opus-4-8",
|
||||
"provider": "anthropic",
|
||||
"sourceHash": "c47dd98cbd34af29c35d314dbb230aeb07988acc9326b280da0701f9f5213714",
|
||||
"totalKeys": 4588,
|
||||
"translatedKeys": 4588,
|
||||
"workflow": 1
|
||||
}
|
||||
|
||||
Generated
+489
File diff suppressed because it is too large
Load Diff
Generated
+6
-6
@@ -1,11 +1,11 @@
|
||||
{
|
||||
"fallbackKeys": [],
|
||||
"generatedAt": "2026-07-28T08:27:15.214Z",
|
||||
"generatedAt": "2026-07-29T10:57:26.599Z",
|
||||
"locale": "zh-TW",
|
||||
"model": "gpt-5.6-sol",
|
||||
"provider": "openai",
|
||||
"sourceHash": "a2055a69dc821991e8563a61e7c44460f8430be57fbcd29ec72fe6c9ec7870ea",
|
||||
"totalKeys": 4133,
|
||||
"translatedKeys": 4133,
|
||||
"model": "claude-opus-4-8",
|
||||
"provider": "anthropic",
|
||||
"sourceHash": "c47dd98cbd34af29c35d314dbb230aeb07988acc9326b280da0701f9f5213714",
|
||||
"totalKeys": 4588,
|
||||
"translatedKeys": 4588,
|
||||
"workflow": 1
|
||||
}
|
||||
|
||||
Generated
+489
File diff suppressed because it is too large
Load Diff
Generated
+626
-34
@@ -8,6 +8,7 @@ export const ar: TranslationMap = {
|
||||
ok: "حسنًا",
|
||||
yes: "نعم",
|
||||
no: "لا",
|
||||
assistant: "المساعد",
|
||||
active: "نشط",
|
||||
loading: "جارٍ التحميل…",
|
||||
refreshing: "جارٍ التحديث…",
|
||||
@@ -35,8 +36,11 @@ export const ar: TranslationMap = {
|
||||
create: "إنشاء",
|
||||
copy: "نسخ",
|
||||
copied: "تم النسخ!",
|
||||
copyFailed: "فشل النسخ",
|
||||
copyCode: "نسخ الكود",
|
||||
resizeSplitView: "تغيير حجم العرض المقسّم",
|
||||
delete: "حذف",
|
||||
remove: "إزالة",
|
||||
dismiss: "تجاهل",
|
||||
unselect: "إلغاء التحديد",
|
||||
enabled: "مفعّل",
|
||||
@@ -45,6 +49,9 @@ export const ar: TranslationMap = {
|
||||
none: "لا شيء",
|
||||
na: "غير متوفر",
|
||||
never: "أبدًا",
|
||||
justNow: "الآن",
|
||||
now: "الآن",
|
||||
unknown: "غير معروف",
|
||||
configured: "مهيأ",
|
||||
running: "قيد التشغيل",
|
||||
linked: "مرتبط",
|
||||
@@ -70,6 +77,7 @@ export const ar: TranslationMap = {
|
||||
settingsSections: "أقسام الإعدادات",
|
||||
version: "الإصدار",
|
||||
docs: "المستندات",
|
||||
learnMore: "معرفة المزيد",
|
||||
theme: "السمة",
|
||||
colorMode: "وضع اللون",
|
||||
colorModeOption: "وضع اللون: {mode}",
|
||||
@@ -113,10 +121,24 @@ export const ar: TranslationMap = {
|
||||
filteredFileCount: "{count}/{total} ملفات",
|
||||
noMatches: "لا توجد ملفات مطابقة.",
|
||||
navigate: "تنقّل",
|
||||
kind: {
|
||||
text: "نص",
|
||||
shell: "Shell",
|
||||
file: "ملف",
|
||||
},
|
||||
},
|
||||
mcpApp: {
|
||||
title: "تطبيق MCP",
|
||||
unavailable: "تطبيق MCP غير متاح: {error}",
|
||||
errors: {
|
||||
gatewayUnavailable: "بوابة تطبيق MCP غير متاحة",
|
||||
mountUnavailable: "تركيب تطبيق MCP غير متاح",
|
||||
sandboxTimedOut: "انتهت مهلة بيئة العزل لتطبيق MCP",
|
||||
sandboxUnavailable: "بيئة العزل لتطبيق MCP غير متاحة",
|
||||
initializationTimedOut: "انتهت مهلة تهيئة تطبيق MCP",
|
||||
requestFailed: "فشل الطلب",
|
||||
invalidSandboxUrl: "عنوان URL لبيئة العزل لتطبيق MCP غير صالح",
|
||||
},
|
||||
},
|
||||
githubPreview: {
|
||||
loading: "جارٍ تحميل تفاصيل GitHub…",
|
||||
@@ -231,6 +253,7 @@ export const ar: TranslationMap = {
|
||||
"على هاتفك، افتح WhatsApp ← الإعدادات ← الأجهزة المرتبطة ← ربط جهاز، ثم امسح هذا الرمز.",
|
||||
whatsappQrLoading: "جارٍ إنشاء رمز QR…",
|
||||
whatsappQrHint: "انقر على «إظهار رمز QR» لإنشاء رمز إقران.",
|
||||
whatsappQrAlt: "رمز WhatsApp QR",
|
||||
whatsappLinked: "تم ربط WhatsApp وهو جاهز.",
|
||||
regenerateQr: "رمز QR جديد",
|
||||
linkLater: "الربط لاحقًا",
|
||||
@@ -319,6 +342,19 @@ export const ar: TranslationMap = {
|
||||
nip05: "you@example.com",
|
||||
lightningAddress: "you@getalby.com",
|
||||
},
|
||||
notices: {
|
||||
timeout:
|
||||
"انتهت مهلة الطلب بعد 30 ثانية؛ قد يكون الخادم قد طبّق التغيير بالفعل — تحقق من الملف الشخصي قبل إعادة المحاولة.",
|
||||
operationFailed: "{prefix}: {error}",
|
||||
updateFailed: "فشل تحديث الملف الشخصي",
|
||||
updateFailedStatus: "فشل تحديث الملف الشخصي ({status})",
|
||||
publishFailed: "فشل نشر الملف الشخصي على جميع المرحّلات.",
|
||||
published: "تم نشر الملف الشخصي على المرحّلات.",
|
||||
importFailed: "فشل استيراد الملف الشخصي",
|
||||
importFailedStatus: "فشل استيراد الملف الشخصي ({status})",
|
||||
importedFromRelays: "تم استيراد الملف الشخصي من المرحّلات. راجعه وانشره.",
|
||||
imported: "تم استيراد الملف الشخصي. راجعه وانشره.",
|
||||
},
|
||||
},
|
||||
},
|
||||
lazyView: {
|
||||
@@ -329,6 +365,47 @@ export const ar: TranslationMap = {
|
||||
staleSubtitle: "تم تحديث OpenClaw في الخلفية. أعد التحميل للحصول على أحدث لوحة.",
|
||||
reloading: "جارٍ إعادة التحميل…",
|
||||
retry: "إعادة المحاولة",
|
||||
stylesFailed: "فشل تحميل الأنماط، لذا قد تبدو الصفحة معطّلة.",
|
||||
},
|
||||
updates: {
|
||||
refreshRequired: "تم تحديث الخادم — أعد التحميل للحصول على كامل الإمكانيات",
|
||||
coalescedRestart:
|
||||
"تم تثبيت التحديث. عملية إعادة تشغيل Gateway قيد التنفيذ بالفعل؛ ستُحدَّث الحالة بعد إعادة الاتصال.",
|
||||
error: "خطأ في التحديث: {error}",
|
||||
status: "التحديث {status}: {reason}. {guidance}",
|
||||
verificationFailed:
|
||||
"تم تثبيت التحديث لكن الإصدار قيد التشغيل لم يتغيّر — ربما جرى منع إعادة التشغيل.",
|
||||
verificationFailedWithVersions:
|
||||
"تم تثبيت التحديث لكن الإصدار قيد التشغيل لم يتغيّر — ربما جرى منع إعادة التشغيل. المتوقع v{expectedVersion}، قيد التشغيل v{actualVersion}.",
|
||||
handoffTimeout:
|
||||
"بدأ تسليم التحديث، لكن لم يتم الإبلاغ عن اكتماله بعد إعادة الاتصال. شغّل `openclaw update status` للحصول على النتيجة النهائية.",
|
||||
failureReasons: {
|
||||
dirty: "قم بإيداع التغييرات أو خزّنها، ثم أعد المحاولة.",
|
||||
noUpstream: "عيّن فرعًا رئيسيًا (upstream)، ثم أعد المحاولة.",
|
||||
notGitInstall: "ليست نسخة git. شغّل `openclaw update` من CLI لإعادة تثبيت عام.",
|
||||
notOpenclawRoot: "شغّل التحديث من نسخة OpenClaw أو استخدم مسار إعادة التثبيت العام عبر CLI.",
|
||||
depsInstallFailed: "فشل تثبيت التبعيات. أصلح خطأ التثبيت وأعد المحاولة.",
|
||||
buildFailed: "فشل البناء. أصلح خطأ البناء وأعد المحاولة.",
|
||||
buildDirty:
|
||||
"غيّرت عملية بناء المراجعة المحددة ملفات الـ checkout. أعد المحاولة بمراجعة تتضمن العناصر المُنشأة.",
|
||||
uiBuildFailed: "فشلت إعادة بناء control UI. أصلح خطأ بناء واجهة المستخدم وأعد المحاولة.",
|
||||
globalInstallFailed:
|
||||
"لم يتم التحقق من التثبيت الشامل للحزمة على القرص. أعد المحاولة أو أعد التثبيت من الـ CLI.",
|
||||
restartDisabled:
|
||||
"لم يتم تطبيق التحديث لأن عمليات إعادة تشغيل Gateway معطّلة. فعّل إعادة التشغيل في الإعدادات ثم أعد المحاولة.",
|
||||
restartUnavailable:
|
||||
"لا يمكن استبدال هذا التثبيت الشامل بأمان أثناء تعطيل إعادة التشغيل وعدم وجود مشرف (supervisor).",
|
||||
restartUnhealthy:
|
||||
"لم تصبح العملية البديلة سليمة أبدًا. بقيت العملية السابقة قائمة حتى تتمكن من الاسترداد.",
|
||||
managedServiceHandoffAlreadyRunning:
|
||||
"هناك تحديث مُدار آخر قيد التشغيل بالفعل. انتظر حتى يكتمل، ثم حدّث حالة التحديث.",
|
||||
doctorFailed: "فشل إصلاح Doctor. شغّل `openclaw doctor --non-interactive` وأعد المحاولة.",
|
||||
default: "راجع سجلات Gateway لمعرفة الفشل الدقيق وأعد المحاولة بعد إصلاح السبب.",
|
||||
},
|
||||
postRestart: {
|
||||
restartUnhealthy: "لم تصبح العملية البديلة سليمة أبدًا وبقيت العملية السابقة قائمة.",
|
||||
default: "تحقق من سجلات Gateway لمعرفة سبب فشل الاستبدال.",
|
||||
},
|
||||
},
|
||||
nodes: {
|
||||
pairing: {
|
||||
@@ -810,6 +887,10 @@ export const ar: TranslationMap = {
|
||||
},
|
||||
agents: {
|
||||
noAgents: "لا توجد وكلاء",
|
||||
defaults: {
|
||||
title: "الإعدادات الافتراضية للوكيل",
|
||||
description: "الإعدادات الافتراضية التي يرثها كل وكيل ما لم يتم تجاوزها.",
|
||||
},
|
||||
copyId: "نسخ المعرّف",
|
||||
copyIdTitle: "نسخ معرّف الوكيل إلى الحافظة",
|
||||
default: "افتراضي",
|
||||
@@ -1012,6 +1093,9 @@ export const ar: TranslationMap = {
|
||||
noEvents: "لا توجد أحداث بعد.",
|
||||
},
|
||||
configForm: {
|
||||
redactedPlaceholder: "[محجوب - انقر للكشف عن العرض]",
|
||||
sectionHelp: "مساعدة لـ {section}",
|
||||
readGuide: "اقرأ الدليل",
|
||||
showAdvanced: "عرض الإعدادات المتقدمة",
|
||||
advancedHidden: "{count} إعداد متقدم مخفي",
|
||||
advancedHiddenPlural: "{count} إعداد متقدم مخفي",
|
||||
@@ -1199,9 +1283,12 @@ export const ar: TranslationMap = {
|
||||
lobsterdexSeen: "تمت زيارة {seen}/{total}",
|
||||
lobsterdexFirstVisited: "{name} · أول زيارة في {date}",
|
||||
lobsterdexCardFirstVisited: "أول زيارة {date}",
|
||||
lobsterdexCardShinySeen: "✦ تم رصد Shiny {date}",
|
||||
lobsterdexCardCopyLink: "نسخ الرابط",
|
||||
lobsterdexOpen: "فتح Lobsterdex",
|
||||
},
|
||||
security: {
|
||||
intro: "راجع وصول Gateway وسياسة الأدوات ومصادقة الجهاز والموافقات.",
|
||||
title: "الأمان",
|
||||
gatewayAuth: "مصادقة Gateway",
|
||||
execPolicy: "سياسة التنفيذ",
|
||||
@@ -1368,6 +1455,7 @@ export const ar: TranslationMap = {
|
||||
"الإشعارات معطلة لتطبيق OpenClaw في macOS. اسمح بها من إعدادات النظام > الإشعارات.",
|
||||
},
|
||||
appearance: {
|
||||
intro: "تفضيلات السمة والمحادثة والشريط الجانبي لعميل Control UI هذا.",
|
||||
theme: "السمة",
|
||||
chooseTheme: "اختر عائلة سمات.",
|
||||
importedTheme: "السمة المستوردة",
|
||||
@@ -1437,11 +1525,11 @@ export const ar: TranslationMap = {
|
||||
open: "مفتوح",
|
||||
applying: "جارٍ التطبيق…",
|
||||
autoSaveSaving: "جارٍ الحفظ…",
|
||||
autoSaveSaved: "تم الحفظ",
|
||||
autoSaveFailed: "فشل الحفظ",
|
||||
autoSaveConflict: "تم تغيير الإعدادات في مكان آخر",
|
||||
retry: "إعادة المحاولة",
|
||||
applyBannerText: "تم الحفظ في openclaw.json — أعد تشغيل Gateway للتطبيق.",
|
||||
applyBannerAction: "إعادة التشغيل والتطبيق",
|
||||
applyChanges: "تطبيق التغييرات",
|
||||
rawDiscard: "تجاهل",
|
||||
rawDraftBlocksApply:
|
||||
"تعديلات غير محفوظة في الإعدادات الخام — احفظها أو تجاهلها في المحرر الخام قبل إعادة التشغيل.",
|
||||
@@ -1686,7 +1774,6 @@ export const ar: TranslationMap = {
|
||||
forward: "تقدّم",
|
||||
chat: "الدردشة",
|
||||
settings: "الإعدادات",
|
||||
settingsGeneral: "عام",
|
||||
askOpenClaw: "اسأل OpenClaw",
|
||||
settingsGroupConnections: "الاتصالات",
|
||||
settingsGroupAgents: "الوكلاء والأدوات",
|
||||
@@ -1742,6 +1829,9 @@ export const ar: TranslationMap = {
|
||||
dockBottom: "Dock to bottom",
|
||||
dockRight: "Dock to right",
|
||||
unavailable: "The terminal is not available on this gateway.",
|
||||
uploadTooLarge: "يتجاوز الملف حد رفع الطرفية البالغ 16 ميبي بايت: {file}",
|
||||
uploadUnsafeCmdPath: "تعذّر إدراج مسار مرفوع يحتوي على % أو ! في cmd.exe بأمان",
|
||||
uploadUnsupportedShell: "تعذّر إدراج مسار مرفوع بأمان في صدفة غير مدعومة: {shell}",
|
||||
},
|
||||
browser: {
|
||||
title: "المتصفح",
|
||||
@@ -1778,6 +1868,15 @@ export const ar: TranslationMap = {
|
||||
noChatTarget: "افتح جلسة محادثة أولًا حتى يكون للتعليق التوضيحي مكان يُرسل إليه.",
|
||||
inspectUnavailable: "فحص العناصر معطّل (browser.evaluateEnabled=false).",
|
||||
annotationSent: "تمت إضافة التعليق التوضيحي إلى محرّر المحادثة.",
|
||||
errors: {
|
||||
requestFailed: "فشل طلب المتصفح: {error}",
|
||||
screenshotPathMissing: "لم تُرجع لقطة شاشة المتصفح مسار وسائط.",
|
||||
screenshotFetchTimedOut: "انتهت مهلة جلب لقطة الشاشة.",
|
||||
screenshotFetchFailed: "فشل جلب لقطة الشاشة ({status}).",
|
||||
screenshotReadFailed: "فشلت قراءة لقطة الشاشة.",
|
||||
screenshotDecodeFailed: "فشل فك ترميز لقطة الشاشة.",
|
||||
canvasUnavailable: "سياق Canvas 2D غير متاح.",
|
||||
},
|
||||
annotatePrompt: {
|
||||
introTitled:
|
||||
'أضفت تعليقًا توضيحيًا على الصفحة في {url} (العنوان المبلّغ عنه من الصفحة: "{title}") — تُظهر لقطة الشاشة المرفقة التحديد الذي أجريته.',
|
||||
@@ -1824,6 +1923,7 @@ export const ar: TranslationMap = {
|
||||
automation: "الأتمتة",
|
||||
mcp: "MCP",
|
||||
memory: "الذاكرة",
|
||||
talk: "التحدث",
|
||||
infrastructure: "البنية التحتية",
|
||||
labs: "المختبرات",
|
||||
about: "حول",
|
||||
@@ -1863,6 +1963,7 @@ export const ar: TranslationMap = {
|
||||
automation: "الأوامر، والخطافات، وcron، والمكونات الإضافية.",
|
||||
mcp: "خوادم MCP، والمصادقة، والأدوات، والتشخيصات.",
|
||||
memory: "محرك الذاكرة والخلفية والبحث والحلم.",
|
||||
talk: "الصوت الفوري: المزوّد والنموذج وصوت المتحدث.",
|
||||
infrastructure: "إعدادات Gateway، والويب، والمتصفح، والوسائط.",
|
||||
labs: "قدرات تجريبية للوكيل والأدوات.",
|
||||
about: "هوية بناء Control UI وGateway المتصل.",
|
||||
@@ -1881,6 +1982,16 @@ export const ar: TranslationMap = {
|
||||
heading: "اربط نموذج الذكاء الاصطناعي الخاص بك",
|
||||
intro:
|
||||
"يعيد OpenClaw استخدام وصول الذكاء الاصطناعي المتوفر لديك بالفعل — سواء عبر تسجيل دخول CLI، أو مفتاح API، أو تسجيل الدخول لدى موفّر.",
|
||||
required: {
|
||||
title: "لم يتم تكوين أي مزوّد ذكاء اصطناعي",
|
||||
body: "تعذّر على OpenClaw العثور على مزوّد ونموذج مُكوَّنين لهذا الوكيل. أضف واحدًا قبل بدء المحادثة.",
|
||||
action: "تكوين مزوّد",
|
||||
},
|
||||
connectionFailure: {
|
||||
title: "تعذّر على OpenClaw استخدام الذكاء الاصطناعي المُكوَّن لديك",
|
||||
body: "هذا الوكيل لديه مزوّد ونموذج محددان، لكن الاتصال فشل. تحقق من تسجيل دخول المزوّد أو مفتاح API والوصول إلى النموذج وحالة الخدمة، ثم حاول مرة أخرى.",
|
||||
action: "تحقق من إعدادات المزوّد",
|
||||
},
|
||||
loading: "جارٍ التحقق من إمكانية الوصول إلى الذكاء الاصطناعي المتاحة على Gateway هذا…",
|
||||
retry: "إعادة المحاولة",
|
||||
checkAgain: "التحقق مجددًا",
|
||||
@@ -1912,6 +2023,8 @@ export const ar: TranslationMap = {
|
||||
},
|
||||
unavailable: {
|
||||
title: "تم الاكتشاف، لكن لم يُختبر تلقائيًا",
|
||||
signIn: "تسجيل الدخول باستخدام {provider}",
|
||||
useApiKey: "استخدام مفتاح API",
|
||||
},
|
||||
signIn: {
|
||||
title: "تسجيل الدخول باستخدام موفّر",
|
||||
@@ -2015,6 +2128,38 @@ export const ar: TranslationMap = {
|
||||
agent: "الوكيل الوجهة",
|
||||
replaceExisting: "استبدال عمليات الاستيراد الحالية",
|
||||
replaceHint: "عاين التعارضات مجددًا واحتفظ بنسخ احتياطية من العناصر قبل الاستبدال.",
|
||||
backfill: {
|
||||
title: "من الجلسات السابقة",
|
||||
subtitle:
|
||||
"جهّز الذكريات الموثوقة من جلسات الوكيل السابقة. يعزّز الحلم الذكريات المفيدة منها إلى الذاكرة طويلة المدى.",
|
||||
dateRange: "نطاق تاريخ الجلسة",
|
||||
dateRangeHint: "اترك أي تاريخ فارغًا لفحص النطاق المتاح بالكامل.",
|
||||
from: "من",
|
||||
to: "إلى",
|
||||
actions: "التعبئة الرجعية",
|
||||
preview: "معاينة",
|
||||
previewing: "جارٍ المعاينة…",
|
||||
apply: "تطبيق",
|
||||
applying: "جارٍ التطبيق…",
|
||||
rollback: "التراجع",
|
||||
previewSummary: "{candidates} مرشحًا عبر {days} يومًا",
|
||||
previewTruncated: "تعرض هذه المعاينة أول دفعة محدودة. يستمر التطبيق عبر باقي المرشحين.",
|
||||
candidateCount: "{count} مرشحًا",
|
||||
noCandidates: "لم يُعثر على مرشحي جلسات موثوقة جدد.",
|
||||
progress: "تمت معالجة {days} يومًا · {staged} مُجهّز",
|
||||
processedCandidates: "تمت معالجة {count} مرشح جلسة",
|
||||
processedDayCountOne: "تمت معالجة {count} يوم",
|
||||
processedDayCount: "تمت معالجة {count} يومًا",
|
||||
complete: "تم تجهيز {count}؛ يحدث التعزيز عبر الحلم",
|
||||
rollbackConfirmTitle: "التراجع عن التعبئة الرجعية للجلسة؟",
|
||||
rollbackConfirmDescription:
|
||||
"إزالة مدخلات اليوميات والذكريات المؤقتة التي أنشأتها التعبئة الرجعية للجلسة لهذا الوكيل.",
|
||||
rollbackWarning:
|
||||
"تبقى مؤشرات الجلسة المتتبعة في مكانها، لذا لن تتم إعادة تجهيز المدخلات المُزالة.",
|
||||
rollbackComplete: "تم التراجع عن التعبئة الرجعية للجلسة",
|
||||
rollbackCounts: "تمت إزالة {diary} مدخلات يوميات و{staged} مدخلات مؤقتة",
|
||||
unavailable: "التعبئة الرجعية للجلسة غير متوفرة على هذا Gateway.",
|
||||
},
|
||||
},
|
||||
onboarding: {
|
||||
memoryImport: {
|
||||
@@ -2054,6 +2199,14 @@ export const ar: TranslationMap = {
|
||||
connectionChanged: "تغيّر اتصال Gateway. أعد المحاولة لمتابعة هذا الإعداد.",
|
||||
sessionRestarted: "{error} بدأ OpenClaw جلسة جديدة؛ تبقى الرسائل السابقة للسياق.",
|
||||
unsupportedGateway: "قم بتحديث Gateway لمتابعة الإعداد مع OpenClaw.",
|
||||
panel: {
|
||||
title: "OpenClaw",
|
||||
toggle: "اسأل OpenClaw",
|
||||
close: "إغلاق اسأل OpenClaw",
|
||||
resize: "تغيير حجم اسأل OpenClaw",
|
||||
dockBottom: "إرساء اسأل OpenClaw في الأسفل",
|
||||
dockRight: "إرساء اسأل OpenClaw على اليمين",
|
||||
},
|
||||
history: {
|
||||
button: "السجل",
|
||||
title: "التغييرات الأخيرة",
|
||||
@@ -2112,12 +2265,14 @@ export const ar: TranslationMap = {
|
||||
working: "جارٍ العمل…",
|
||||
},
|
||||
mcpPage: {
|
||||
intro: "قم بتوصيل وإدارة خوادم MCP التي توفر أدوات لـ OpenClaw.",
|
||||
connectorsLink: "اكتشف موصّلات بنقرة واحدة في صفحة الإضافات.",
|
||||
servers: "الخوادم",
|
||||
oauth: "OAuth",
|
||||
filtered: "تمت التصفية",
|
||||
configuredServers: "الخوادم المُعدّة",
|
||||
noServers: "لم يتم إعداد أي خوادم MCP.",
|
||||
setUpFirstServer: "قم بإعداد أول خادم MCP لديك",
|
||||
operatorCommands: "أوامر مشغّل MCP",
|
||||
operatorCommandsHint: "الحالة، والتشخيصات، والمصادقة، والفحص، وإعادة التحميل في وقت التشغيل.",
|
||||
runtimeHint:
|
||||
@@ -2127,12 +2282,133 @@ export const ar: TranslationMap = {
|
||||
tlsVerifyOff: "التحقق من TLS متوقف",
|
||||
mtls: "mTLS",
|
||||
},
|
||||
talkPage: {
|
||||
intro: "قم بتكوين مزودي الصوت الفوري والنماذج وأصوات المتحدثين.",
|
||||
voiceSection: {
|
||||
title: "الصوت الفوري",
|
||||
description:
|
||||
"محادثات صوتية مستمرة مع وكيلك. تكتب المُنتقيات أدناه إعدادات talk.realtime؛ ويغطي النموذج الكامل أدناه كل شيء آخر.",
|
||||
},
|
||||
status: {
|
||||
title: "الحالة",
|
||||
ready: "جاهز",
|
||||
notReady: "غير مهيأ",
|
||||
unavailable: "غير متاح",
|
||||
unavailableHint: "اتصل بـ Gateway للتحقق من جاهزية الصوت الفوري.",
|
||||
activeProvider: "المزود النشط: {provider}",
|
||||
noProvider: "لم يتم تكوين مزود صوت فوري بعد.",
|
||||
},
|
||||
provider: {
|
||||
title: "المزوّد",
|
||||
description: 'يختار "تلقائي" أول مزود ببيانات اعتماد صالحة.',
|
||||
auto: "تلقائي",
|
||||
},
|
||||
model: {
|
||||
title: "النموذج",
|
||||
description: "نموذج الصوت الفوري لجلسات Talk في المتصفح.",
|
||||
default: "الإعداد الافتراضي للمزوّد",
|
||||
defaultNamed: "افتراضي ({model})",
|
||||
},
|
||||
voice: {
|
||||
title: "صوت المتحدث",
|
||||
description: "الصوت المستخدَم للردود المنطوقة. يقفل GPT-Live الصوت بمجرد بدء المكالمة.",
|
||||
default: "الإعداد الافتراضي للمزوّد",
|
||||
},
|
||||
gptLive: {
|
||||
title: "GPT-Live",
|
||||
hint: "يعمل GPT-Live مع اشتراك ChatGPT: سجّل الدخول مرة واحدة باستخدام “openclaw models auth login --provider openai”. لا حاجة لمفتاح Platform API. للاستخدام في Browser Talk فقط. يمكن توجيه العمل المفوَّض أثناء تشغيله، ويتطلب تأكيدًا منطوقًا دقيقًا للإجراءات عالية التأثير.",
|
||||
ready: "جاهز",
|
||||
},
|
||||
},
|
||||
memoryPage: {
|
||||
intro: "اختر كيفية تخزين OpenClaw لذاكرة الوكيل والبحث فيها وصيانتها.",
|
||||
tablistLabel: "أقسام الذاكرة",
|
||||
tabs: {
|
||||
overview: "نظرة عامة",
|
||||
search: "بحث",
|
||||
dreaming: "الحلم",
|
||||
memories: "الذكريات",
|
||||
dreams: "الأحلام",
|
||||
settings: "الإعدادات",
|
||||
},
|
||||
overview: {
|
||||
hero: {
|
||||
awake: "الذاكرة نشطة",
|
||||
waking: "جارٍ إيقاظ الذاكرة…",
|
||||
hibernating: "الذاكرة في وضع السبات",
|
||||
needsAttention: "الذاكرة تحتاج إلى انتباه",
|
||||
activeDescription: "{engine} · {mode}",
|
||||
loadingDescription: "جارٍ فحص محرك ذاكرة هذا الوكيل ودورة الأحلام.",
|
||||
offDescription: "اختر محرك ذاكرة في الإعدادات لإيقاظه.",
|
||||
disabledDescription: "محرك الذاكرة المحدد معطَّل. أعد تفعيله في الإعدادات.",
|
||||
gatewayOffline: "الـ Gateway غير متصل، لذا حالة الذاكرة غير متاحة.",
|
||||
hybridSearch: "بحث هجين",
|
||||
keywordSearch: "بحث بالكلمات المفتاحية (بدون تضمينات)",
|
||||
openSettings: "فتح الإعدادات",
|
||||
retry: "إعادة المحاولة",
|
||||
refresh: "تحديث الحالة",
|
||||
},
|
||||
schedule: {
|
||||
title: "جدول النوم",
|
||||
lightDescription:
|
||||
"يفرز الملاحظات قصيرة المدى الجديدة ويجهّز المرشحين الواعدين دون تغيير الذاكرة طويلة المدى.",
|
||||
remDescription:
|
||||
"يتأمل في المواضيع والأفكار المتكررة عبر النشاط الأخير لتعزيز الترتيب دون تغيير الذاكرة طويلة المدى.",
|
||||
deepDescription:
|
||||
"يُقيّم المرشحين المجهّزين، ويرقّي الجديرة منها إلى الذاكرة طويلة المدى (MEMORY.md)، ويكتب مذكرات الأحلام.",
|
||||
nextRun: "التالي {time}",
|
||||
lastRun: "الأخير {time}",
|
||||
notScheduled: "غير مجدول",
|
||||
learnMore: "كيف يعمل الحلم",
|
||||
openDocs: "فتح دليل الحلم",
|
||||
},
|
||||
activity: {
|
||||
title: "النشاط",
|
||||
promotedToday: "المُرقّى اليوم",
|
||||
promotedTotal: "إجمالي المُرقّى",
|
||||
shortTermCount: "الإدخالات قصيرة المدى المعلّقة",
|
||||
phaseHitCount: "إشارات المرحلة",
|
||||
lightPhaseHitCount: "إصابات المرحلة الخفيفة",
|
||||
remPhaseHitCount: "إصابات مرحلة REM",
|
||||
},
|
||||
health: {
|
||||
title: "صحة المحرك",
|
||||
provider: "المزوّد",
|
||||
embeddings: "التضمينات",
|
||||
runtime: "وقت تشغيل التضمين",
|
||||
healthy: "جاهز",
|
||||
unavailable: "غير متاح",
|
||||
notChecked: "لم يتم التحقق",
|
||||
notCheckedDescription: "لم يتم التحقق من جاهزية التضمين بعد.",
|
||||
checking: "جارٍ التحقق…",
|
||||
test: "اختبار",
|
||||
testing: "جارٍ الاختبار…",
|
||||
},
|
||||
shortcuts: {
|
||||
title: "استكشاف الذاكرة",
|
||||
memories: "البحث في الذكريات",
|
||||
diary: "قراءة مذكرات الأحلام",
|
||||
settings: "إعداد الذاكرة",
|
||||
},
|
||||
},
|
||||
memories: {
|
||||
searchLabel: "البحث في الذكريات",
|
||||
searchPlaceholder: "ابحث في ذكريات هذا الوكيل",
|
||||
searchButton: "بحث",
|
||||
idle: "ابحث عن شخص أو مشروع أو قرار أو أي شيء آخر يتذكره هذا الوكيل.",
|
||||
searching: "جارٍ البحث في الذكريات…",
|
||||
results: "{count} نتيجة",
|
||||
empty: "لا توجد ذكريات تطابق “{query}”.",
|
||||
error: "فشل البحث في الذاكرة: {message}",
|
||||
retry: "إعادة المحاولة",
|
||||
gatewayUpdateRequired: "قم بتحديث Gateway للبحث في الذكريات من Control UI.",
|
||||
hybridSearch: "بحث هجين",
|
||||
keywordSearch: "بحث بالكلمات المفتاحية",
|
||||
lineRange: "الأسطر {start}–{end}",
|
||||
score: "الدرجة {score}",
|
||||
sourceMemory: "الذاكرة",
|
||||
sourceSessions: "الجلسات",
|
||||
fileLoading: "جارٍ تحميل ملف الذاكرة الكامل…",
|
||||
fileError: "تعذّر تحميل ملف الذاكرة هذا: {message}",
|
||||
fileUnsupported: "لا يمكن عرض ملف الذاكرة هذا كنص.",
|
||||
},
|
||||
engine: {
|
||||
title: "المحرك",
|
||||
@@ -2168,6 +2444,8 @@ export const ar: TranslationMap = {
|
||||
memoryWiki: {
|
||||
title: "ويكي الذاكرة",
|
||||
},
|
||||
toggleAriaLabel: "تمكين أو تعطيل {plugin}",
|
||||
changeFailed: "تعذّر تحديث {plugin}",
|
||||
stateUnknown: "غير معروف",
|
||||
manage: "تمكين الإضافات أو تعطيلها",
|
||||
manageLink: "فتح الإضافات",
|
||||
@@ -2539,35 +2817,8 @@ export const ar: TranslationMap = {
|
||||
},
|
||||
profilePage: {
|
||||
offline: "اتصل بـ Gateway للقاء وكيلك.",
|
||||
loading: "نغوص بحثًا عن الإحصاءات…",
|
||||
emptyTitle: "صدفة جديدة",
|
||||
emptyBody: "لا يوجد نشاط رموز مميزة بعد. أرسل رسالة إلى وكيلك وشاهد الشعاب تضيء.",
|
||||
sinceChip: "في الشعاب منذ {date}",
|
||||
channelChipTitle: "{tokens} من الرموز المميزة على هذه القناة",
|
||||
statLifetimeTokens: "الرموز المميزة مدى الحياة",
|
||||
statPeakDay: "أعلى يوم",
|
||||
statLongestSession: "أطول جلسة",
|
||||
statCurrentStreak: "السلسلة الحالية",
|
||||
statLongestStreak: "أطول سلسلة",
|
||||
streakDay: "{count} يوم",
|
||||
streakDays: "{count} يومًا",
|
||||
heatmapTitle: "نشاط الرموز المميزة",
|
||||
heatmapSub: "عام في الشعاب — كلما ازداد الأحمر عمقًا، زاد نشاط المخالب.",
|
||||
heatmapCellTokens: "{tokens} من الرموز المميزة",
|
||||
legendLess: "أقل",
|
||||
legendMore: "أكثر",
|
||||
insightsTitle: "رؤى النشاط",
|
||||
insightModel: "النموذج الأكثر استخدامًا",
|
||||
insightMessages: "الرسائل المتبادلة",
|
||||
insightToolCalls: "استدعاءات الأدوات",
|
||||
insightUniqueTools: "أدوات مميزة",
|
||||
insightAgents: "الوكلاء في الشعاب",
|
||||
insightSessions: "الجلسات المتتبعة",
|
||||
sessionsCapped: "{count}+",
|
||||
toolsTitle: "الأدوات الأكثر استخدامًا",
|
||||
toolsEmpty: "لم تُسجَّل أي عمليات تشغيل للأدوات بعد.",
|
||||
toolRun: "{count} تشغيل",
|
||||
toolRuns: "{count} عمليات تشغيل",
|
||||
usageStatistics: "إحصائيات الاستخدام",
|
||||
usageStatisticsDescription: "عرض النشاط والتكاليف واتجاهات الاستخدام.",
|
||||
identity: {
|
||||
title: "الهوية",
|
||||
menuLabel: "قائمة الهوية",
|
||||
@@ -2665,6 +2916,9 @@ export const ar: TranslationMap = {
|
||||
next: "التالي",
|
||||
apply: "تطبيق",
|
||||
applying: "جارٍ التطبيق…",
|
||||
evaluate: "تقييم",
|
||||
evaluating: "جارٍ التقييم…",
|
||||
evaluated: "تم التقييم",
|
||||
revise: "مراجعة",
|
||||
tweak: "تعديل",
|
||||
opening: "جارٍ الفتح…",
|
||||
@@ -2672,6 +2926,11 @@ export const ar: TranslationMap = {
|
||||
rejecting: "جارٍ الرفض…",
|
||||
sending: "جارٍ الإرسال…",
|
||||
},
|
||||
notices: {
|
||||
applied: "مُطبَّق",
|
||||
rejected: "مرفوض",
|
||||
revisionRequested: "تم طلب المراجعة",
|
||||
},
|
||||
revision: {
|
||||
title: "اقتراح {verb}",
|
||||
description: "أخبر الوكيل بما يجب تغييره. سيظل الاقتراح معلقًا، وستُنشئ ورشة العمل نسخة منقحة.",
|
||||
@@ -2697,6 +2956,35 @@ export const ar: TranslationMap = {
|
||||
supportFilesTitle: "ملفات الدعم",
|
||||
clickToPreview: "· انقر للمعاينة",
|
||||
},
|
||||
evaluation: {
|
||||
title: "التقييم",
|
||||
version: "المقترح {version}",
|
||||
completedAt: "اكتمل {time}",
|
||||
status: {
|
||||
completed: "مكتمل",
|
||||
skipped: "تم تخطيه",
|
||||
error: "خطأ",
|
||||
},
|
||||
decision: {
|
||||
pass: "نجاح",
|
||||
revise: "مراجعة",
|
||||
block: "حظر",
|
||||
},
|
||||
severity: {
|
||||
info: "معلومات",
|
||||
warn: "تحذير",
|
||||
critical: "حرج",
|
||||
},
|
||||
evaluatorVersion: "المُقيّم {version}",
|
||||
mode: "الوضع {mode}",
|
||||
findings: "النتائج",
|
||||
metrics: "المقاييس",
|
||||
fileLine: "{file}:{line}",
|
||||
errors: {
|
||||
revisionHashUnavailable: "تعذّر تحديد مراجعة الاقتراح الحالية.",
|
||||
revisionChanged: "تغيّرت مراجعة الاقتراح أثناء التقييم.",
|
||||
},
|
||||
},
|
||||
empty: {
|
||||
searchTitle: "لا توجد مقترحات مطابقة",
|
||||
searchBody: "امسح البحث أو جرّب كلمة مفتاحية مختلفة.",
|
||||
@@ -2757,6 +3045,8 @@ export const ar: TranslationMap = {
|
||||
comeWithIt: "مرفقة به.",
|
||||
useIt: "استخدمه",
|
||||
addToSkills: "أضف إلى مهاراتك",
|
||||
evaluate: "تقييم",
|
||||
runChecks: "تشغيل فحوصات الاقتراح",
|
||||
tweakIt: "عدّله",
|
||||
askAgent: "اطلب من الوكيل تغيير شيء ما",
|
||||
skipping: "جارٍ التخطي…",
|
||||
@@ -3411,6 +3701,31 @@ export const ar: TranslationMap = {
|
||||
reload: "إعادة التحميل",
|
||||
reloading: "جارٍ إعادة التحميل…",
|
||||
},
|
||||
actions: {
|
||||
dedupeRemovedOneAndKept: "تمت إزالة {removed} إدخال حلم مكرر والإبقاء على {kept}.",
|
||||
dedupeRemovedManyAndKept: "تمت إزالة {removed} إدخالات حلم مكررة والإبقاء على {kept}.",
|
||||
dedupeRemovedOne: "تمت إزالة {removed} إدخال حلم مكرر.",
|
||||
dedupeRemovedMany: "تمت إزالة {removed} إدخالات حلم مكررة.",
|
||||
repairArchivedThreadCorpus: "مجموعة المحادثات المؤرشفة",
|
||||
repairArchivedIngestionState: "حالة الاستيعاب المؤرشفة",
|
||||
repairArchivedDreamDiary: "مذكرات الأحلام المؤرشفة",
|
||||
repairNoChanges: "اكتمل إصلاح ذاكرة الأحلام دون أي تغييرات.",
|
||||
repairCompleteWithArchive: "اكتمل إصلاح ذاكرة الأحلام: {actions}. الأرشيف: {archiveDir}",
|
||||
repairComplete: "اكتمل إصلاح ذاكرة الأحلام المؤقتة: {actions}.",
|
||||
backfillComplete: "تمت إعادة تعبئة {count} من إدخالات يوميات الأحلام.",
|
||||
resetDiaryComplete: "تمت إزالة {count} من إدخالات يوميات الأحلام المُعاد تعبئتها.",
|
||||
clearReplayedComplete: "تم مسح {count} من الإدخالات قصيرة المدى المُعاد تشغيلها.",
|
||||
complete: "اكتمل إجراء يوميات الأحلام.",
|
||||
confirmRepair:
|
||||
"هل تريد إصلاح ذاكرة الأحلام المؤقتة؟ يؤدي ذلك إلى أرشفة ملفات ذاكرة الأحلام المؤقتة المشتقة وإعادة بنائها من مدخلات نظيفة. تبقى يوميات أحلامك دون تغيير.",
|
||||
confirmDedupe:
|
||||
"هل تريد إزالة التكرارات من يوميات الأحلام؟ يؤدي ذلك إلى إعادة كتابة DREAMS.md وإزالة الإدخالات المكررة تمامًا فقط.",
|
||||
archivePathCopied: "تم نسخ مسار الأرشيف.",
|
||||
archivePathCopyFailed: "تعذّر نسخ مسار الأرشيف.",
|
||||
updateFailed: "تعذّر تحديث إعدادات الأحلام.",
|
||||
unsupportedPlugin: 'لا يدعم مكوّن الذاكرة المحدد "{pluginId}" إعدادات الأحلام.',
|
||||
configHashMissing: "تجزئة الإعدادات مفقودة؛ حدّث وأعد المحاولة.",
|
||||
},
|
||||
wiki: {
|
||||
previewFallbackTitle: "صفحة الويكي",
|
||||
close: "إغلاق",
|
||||
@@ -3455,6 +3770,60 @@ export const ar: TranslationMap = {
|
||||
enableSuffix: "، ثم أعد تحميل علامة التبويب هذه.",
|
||||
openConfig: "فتح الإعدادات",
|
||||
howToEnable: "كيفية التفعيل",
|
||||
pageTypes: {
|
||||
entity: "كيان",
|
||||
concept: "مفهوم",
|
||||
source: "مصدر",
|
||||
synthesis: "تركيب",
|
||||
report: "تقرير",
|
||||
},
|
||||
pageGroups: {
|
||||
sources: "المصادر",
|
||||
syntheses: "التراكيب",
|
||||
reports: "التقارير",
|
||||
entities: "الكيانات",
|
||||
concepts: "المفاهيم",
|
||||
},
|
||||
counts: {
|
||||
pageOne: "صفحة {count}",
|
||||
pages: "{count} صفحة",
|
||||
claimRowOne: "{count} صف مطالبة",
|
||||
claimRows: "{count} صف مطالبات",
|
||||
openQuestionOne: "{count} سؤال مفتوح",
|
||||
openQuestions: "{count} سؤال مفتوح",
|
||||
contradictionOne: "{count} تناقض",
|
||||
contradictions: "{count} تناقض",
|
||||
chats: "{count} محادثة",
|
||||
sensitive: "{count} حساس",
|
||||
signals: "{count} إشارة",
|
||||
messages: "{count} رسالة",
|
||||
userMessages: "{count} مستخدم",
|
||||
assistantMessages: "{count} مساعد",
|
||||
},
|
||||
pageGroupSummary: "{label} · {count}",
|
||||
noPagesYet: "لا توجد صفحات بعد",
|
||||
sectionPageSummary: "{label}: {count}",
|
||||
questionCountOnPages: "{questionCount} على {pageCount}",
|
||||
risk: {
|
||||
needsReview: "بحاجة إلى مراجعة",
|
||||
low: "مخاطر منخفضة",
|
||||
medium: "مخاطر متوسطة",
|
||||
high: "مخاطر عالية",
|
||||
unknown: "مخاطر غير معروفة",
|
||||
},
|
||||
pageNotFound: "لم يتم العثور على صفحة wiki لـ {lookup}.",
|
||||
previewTruncated: "عرض الجزء الأول من هذه الصفحة.",
|
||||
previewTruncatedWithTotal: "عرض الجزء الأول من هذه الصفحة ({count} إجمالي الأسطر).",
|
||||
importedClusterSummary: "المحادثات المستوردة مجمّعة حول {label}.",
|
||||
withheldDigestOne: "تم حجب {count} ملخص بانتظار المراجعة.",
|
||||
withheldDigests: "تم حجب {count} ملخصات بانتظار المراجعة.",
|
||||
details: "التفاصيل",
|
||||
hideDetails: "إخفاء التفاصيل",
|
||||
vault: "الخزنة",
|
||||
fullVaultBreakdown: "التفصيل الكامل للخزنة: {breakdown}.",
|
||||
selectedSection: "القسم المحدد: {summary}.",
|
||||
latestUpdate: "آخر تحديث {date}.",
|
||||
noContent: "لا يوجد محتوى wiki متاح.",
|
||||
},
|
||||
phrases: {
|
||||
consolidatingMemories: "جارٍ دمج الذكريات…",
|
||||
@@ -3598,6 +3967,13 @@ export const ar: TranslationMap = {
|
||||
session: "جلسة",
|
||||
sessions: "جلسات",
|
||||
},
|
||||
heatmap: {
|
||||
title: "نشاط الرموز",
|
||||
subtitle: "كثافة الرموز اليومية للنطاق المحدد، حتى عام واحد.",
|
||||
cellTokens: "{tokens} رمز",
|
||||
less: "أقل",
|
||||
more: "المزيد",
|
||||
},
|
||||
providerUsage: {
|
||||
title: "خطط المزوّدين والفوترة",
|
||||
subtitle: "بيانات مباشرة للخطة والحصة والرصيد والميزانية من المزوّدين الذين تم إعدادهم.",
|
||||
@@ -3978,6 +4354,107 @@ export const ar: TranslationMap = {
|
||||
multipleMatches: "أكثر من جلسة تطابق {shortId}.",
|
||||
additionalMatches: "لا تزال هناك نتائج بحث. استخدم بادئة معرّف أطول.",
|
||||
},
|
||||
commandResults: {
|
||||
startingNewThread: "جارٍ بدء محادثة جديدة...",
|
||||
resettingThread: "جارٍ إعادة تعيين المحادثة...",
|
||||
stoppingCurrentRun: "جارٍ إيقاف التشغيل الحالي...",
|
||||
chatHistoryCleared: "تم مسح سجل المحادثة.",
|
||||
exportingThread: "جارٍ تصدير المحادثة...",
|
||||
unknownCommand: "أمر غير معروف: `{command}`",
|
||||
options: "الخيارات: {options}.",
|
||||
sessionUnavailable: "إمكانية الجلسة غير متاحة",
|
||||
help: {
|
||||
availableCommands: "الأوامر المتاحة",
|
||||
agentCommand: "وكيل",
|
||||
openMenu: "اكتب `/` لفتح قائمة الأوامر.",
|
||||
},
|
||||
compaction: {
|
||||
failed: "فشل الضغط.",
|
||||
failedWithReason: "فشل الضغط: {reason}",
|
||||
tokenSummary: " ({before} -> {after} رمز)",
|
||||
succeeded: "تم ضغط السياق بنجاح",
|
||||
skipped: "تم تخطي الضغط.",
|
||||
skippedWithReason: "تم تخطي الضغط: {reason}",
|
||||
},
|
||||
model: {
|
||||
current: "**النموذج الحالي:** {model}",
|
||||
available: "**المتاح:** {models}",
|
||||
more: "+{count} أخرى",
|
||||
getFailed: "فشل الحصول على معلومات النموذج: {error}",
|
||||
set: "تم تعيين النموذج إلى {model}.",
|
||||
setFailed: "فشل تعيين النموذج: {error}",
|
||||
},
|
||||
thinking: {
|
||||
current: "مستوى التفكير الحالي: {level}.",
|
||||
getFailed: "فشل الحصول على مستوى التفكير: {error}",
|
||||
reset: "تمت إعادة تعيين مستوى التفكير إلى الوضع الافتراضي.",
|
||||
resetFailed: "فشلت إعادة تعيين مستوى التفكير: {error}",
|
||||
unrecognized: 'مستوى تفكير غير معروف "{level}". المستويات الصالحة: {options}.',
|
||||
unsupported: 'مستوى تفكير غير مدعوم "{level}" لهذا النموذج. المستويات الصالحة: {options}.',
|
||||
set: "تم تعيين مستوى التفكير إلى {level}.",
|
||||
setFailed: "فشل تعيين مستوى التفكير: {error}",
|
||||
},
|
||||
verbose: {
|
||||
current: "مستوى الإسهاب الحالي: {level}.",
|
||||
getFailed: "فشل الحصول على مستوى الإسهاب: {error}",
|
||||
unrecognized: 'مستوى إسهاب غير معروف "{level}". المستويات الصالحة: off، on، full.',
|
||||
set: "تم تعيين وضع الإسهاب إلى {level}.",
|
||||
setFailed: "فشل تعيين وضع الإسهاب: {error}",
|
||||
},
|
||||
fast: {
|
||||
autoValue: "تلقائي ({seconds} ثانية)",
|
||||
on: "مفعّل",
|
||||
off: "متوقف",
|
||||
sourceSession: " (الجلسة)",
|
||||
sourceAgent: " (افتراضي: الوكيل)",
|
||||
sourceModel: " (افتراضي: النموذج)",
|
||||
sourceDefault: " (افتراضي)",
|
||||
current: "الوضع السريع الحالي: {value}",
|
||||
options: "on، off، auto ({seconds} ثانية)، default، status",
|
||||
getFailed: "فشل الحصول على الوضع السريع: {error}",
|
||||
reset: "تمت إعادة تعيين الوضع السريع إلى الافتراضي.",
|
||||
resetFailed: "فشلت إعادة تعيين الوضع السريع: {error}",
|
||||
unrecognized:
|
||||
'وضع سريع غير معروف "{mode}". المستويات الصالحة: on، off، auto، default، status.',
|
||||
setAuto: "تم ضبط الوضع السريع على auto.",
|
||||
enabled: "تم تفعيل الوضع السريع.",
|
||||
disabled: "تم تعطيل الوضع السريع.",
|
||||
setFailed: "فشل ضبط الوضع السريع: {error}",
|
||||
},
|
||||
usage: {
|
||||
noActiveThread: "لا يوجد سلسلة نشطة.",
|
||||
notAvailable: "غير متاح",
|
||||
title: "استخدام السلسلة",
|
||||
inputTokens: "الإدخال: {count} رمز",
|
||||
outputTokens: "الإخراج: {count} رمز",
|
||||
totalTokens: "الإجمالي: {count} رمز",
|
||||
context: "السياق: {percent} من {total}",
|
||||
model: "النموذج: {model}",
|
||||
failed: "فشل الحصول على الاستخدام: {error}",
|
||||
},
|
||||
agents: {
|
||||
none: "لا توجد وكلاء مُهيّأة.",
|
||||
title: "**الوكلاء** ({count})",
|
||||
default: "الافتراضي",
|
||||
runtime: " · وقت التشغيل {runtime}",
|
||||
failed: "فشل في سرد الوكلاء: {error}",
|
||||
},
|
||||
steer: {
|
||||
timeout: "انتهى التشغيل النشط قبل قبول رسالة التوجيه.",
|
||||
failed: "فشل التوجيه قبل أن يصل إلى التشغيل؛ حاول مرة أخرى.",
|
||||
usage: "الاستخدام: `/steer <message>`",
|
||||
noActiveRun: "لا يوجد تشغيل نشط. استخدم إدخال الدردشة أو `/redirect` بدلاً من ذلك.",
|
||||
succeeded: "تم التوجيه.",
|
||||
requestFailed: "فشل في التوجيه: {error}",
|
||||
},
|
||||
redirect: {
|
||||
timeout: "انتهى التشغيل النشط قبل قبول رسالة إعادة التوجيه.",
|
||||
failed: "فشلت إعادة التوجيه قبل أن تصل إلى التشغيل؛ حاول مرة أخرى.",
|
||||
usage: "الاستخدام: `/redirect <message>`",
|
||||
succeeded: "تمت إعادة التوجيه.",
|
||||
requestFailed: "فشل في إعادة التوجيه: {error}",
|
||||
},
|
||||
},
|
||||
sessionSharing: {
|
||||
menu: "مشاركة المسار",
|
||||
current: "رؤية المسار: {visibility}",
|
||||
@@ -4130,10 +4607,17 @@ export const ar: TranslationMap = {
|
||||
dismissUpdateBanner: "إغلاق لافتة التحديث",
|
||||
switchedSession: "تم التبديل إلى {session}",
|
||||
actions: {
|
||||
copyAsMarkdown: "نسخ كـ markdown",
|
||||
dismissError: "تجاهل الخطأ",
|
||||
exitFocusMode: "الخروج من وضع التركيز",
|
||||
scrollToLatest: "التمرير إلى الأحدث",
|
||||
},
|
||||
markdown: {
|
||||
truncated: "… تم الاقتطاع ({total} حرف، عرض أول {shown}).",
|
||||
},
|
||||
codeBlock: {
|
||||
jsonLines: "JSON · {count} سطر",
|
||||
},
|
||||
workspaceConflict: {
|
||||
titleOne: "تعارض واحد في مساحة العمل السحابية",
|
||||
titleMany: "{count} تعارضات في مساحة العمل السحابية",
|
||||
@@ -4228,6 +4712,7 @@ export const ar: TranslationMap = {
|
||||
threads: "المحادثات",
|
||||
groups: "المجموعات",
|
||||
coding: "البرمجة",
|
||||
noSessionsForAgent: "لم يتم العثور على جلسات لهذا الوكيل",
|
||||
catalogViewOptions: "خيارات العرض",
|
||||
catalogGroupByProject: "المشروع",
|
||||
catalogGroupByPerson: "الشخص",
|
||||
@@ -4239,6 +4724,8 @@ export const ar: TranslationMap = {
|
||||
sessionMenu: "Actions for {session}",
|
||||
sessionMenuMany: "إجراءات لـ {count} جلسات",
|
||||
toolActivity: "يستخدم {tool}",
|
||||
catalogDiscoveryHelp:
|
||||
"{error}. قم بتكوين اكتشاف المحادثات الأصلية في الإعدادات > الأتمتة > الإضافات.",
|
||||
},
|
||||
welcome: {
|
||||
hintBeforeShortcut: "Type a message below ·",
|
||||
@@ -4272,12 +4759,23 @@ export const ar: TranslationMap = {
|
||||
steered: "تم التوجيه",
|
||||
steerQueuedMessage: "توجيه الرسالة في قائمة الانتظار",
|
||||
removeQueuedMessage: "إزالة الرسالة من قائمة الانتظار",
|
||||
states: {
|
||||
steering: "جارٍ التوجيه",
|
||||
applyingSettings: "جارٍ تطبيق إعدادات الدردشة",
|
||||
waitingForRun: "بانتظار التشغيل الحالي",
|
||||
runningCommand: "جارٍ تنفيذ الأمر",
|
||||
waitingForReconnect: "بانتظار إعادة الاتصال",
|
||||
needsReview: "يحتاج إلى مراجعة",
|
||||
},
|
||||
imageCount: "صورة ({count})",
|
||||
},
|
||||
goals: {
|
||||
edit: "تعديل الهدف",
|
||||
pause: "إيقاف الهدف مؤقتًا",
|
||||
resume: "استئناف الهدف",
|
||||
clear: "مسح الهدف",
|
||||
showDetails: "عرض تفاصيل الهدف",
|
||||
hideDetails: "إخفاء تفاصيل الهدف",
|
||||
},
|
||||
questions: {
|
||||
title: "يحتاج Codex إلى إدخال",
|
||||
@@ -4303,6 +4801,7 @@ export const ar: TranslationMap = {
|
||||
unavailable: "غير متاح",
|
||||
expired: "منتهي الصلاحية",
|
||||
cancelled: "تم الإلغاء",
|
||||
disconnected: "غير متصل. حاول مرة أخرى بعد إعادة الاتصال.",
|
||||
},
|
||||
imageLightbox: {
|
||||
label: "معاينة الصورة: {title}",
|
||||
@@ -4323,6 +4822,12 @@ export const ar: TranslationMap = {
|
||||
reply: "رد",
|
||||
replyToMessage: "الرد على الرسالة",
|
||||
replyingTo: "الرد على {name}",
|
||||
message: "رسالة",
|
||||
currentMessage: "الرسالة الحالية",
|
||||
actions: "إجراءات الرسالة",
|
||||
selectionActions: "إجراءات التحديد",
|
||||
moreDetails: "مزيد من التفاصيل",
|
||||
askInSideChat: "اسأل في الدردشة الجانبية",
|
||||
rewind: "إرجاع",
|
||||
rewindConfirm: "الإرجاع إلى ما قبل هذه الرسالة؟",
|
||||
rewindToHere: "الإرجاع إلى هنا",
|
||||
@@ -4332,14 +4837,34 @@ export const ar: TranslationMap = {
|
||||
showMore: "عرض المزيد",
|
||||
unknownDate: "تاريخ غير معروف",
|
||||
voiceNote: "ملاحظة صوتية",
|
||||
duplicatesCollapsed: "تم طي {count} رسائل متطابقة متتالية",
|
||||
contextFor: "سياق الرسالة لـ {timestamp}",
|
||||
},
|
||||
mediaPlayer: {
|
||||
play: "تشغيل",
|
||||
pause: "إيقاف مؤقت",
|
||||
seek: "البحث في الوسائط",
|
||||
download: "تنزيل {filename}",
|
||||
videoUnavailable: "لا يمكن تشغيل هذا التنسيق — قم بالتنزيل بدلاً من ذلك.",
|
||||
},
|
||||
modelControls: {
|
||||
current: "الحالي",
|
||||
default: "الافتراضي",
|
||||
reasoning: "الاستدلال",
|
||||
speed: "السرعة",
|
||||
sessionOverride: "تجاوز المحادثة",
|
||||
useDefault: "استخدام الإعداد الافتراضي",
|
||||
usingDefault: "استخدام الإعداد الافتراضي من الإعدادات",
|
||||
resetToDefault: "إعادة التعيين إلى الافتراضي ({model})",
|
||||
defaultWithModel: "افتراضي ({model})",
|
||||
defaultWithLevel: "افتراضي ({level})",
|
||||
fastHelp: "الاستجابات السريعة تنتهي أبكر وقد تستهلك المزيد من حدود استخدامك.",
|
||||
speedUnsupported: "التحكم في السرعة غير مدعوم لهذا النموذج.",
|
||||
contextWindow: "{count} سياق",
|
||||
providerModels: "نماذج {provider}",
|
||||
resetReasoning: "إعادة التعيين إلى الافتراضي ({level})",
|
||||
useDefaultReasoning: "استخدام الاستدلال الافتراضي ({level})",
|
||||
fastResponsesAria: "الاستجابات السريعة: {state}",
|
||||
},
|
||||
rail: {
|
||||
title: "رفيق الجلسة",
|
||||
@@ -4409,6 +4934,20 @@ export const ar: TranslationMap = {
|
||||
renderedMarkdownHint: "معاينة منقّحة للنص المنسّق لقراءته بسرعة.",
|
||||
noPreviewableMarkdown: "لا يوجد محتوى Markdown قابل للمعاينة.",
|
||||
noContent: "لا يتوفر محتوى",
|
||||
fullContentOversized: "المحتوى الكامل غير متاح لأن إدخال النص المخزّن أكبر من أن يُعاد بأمان.",
|
||||
fullContentNotVisible:
|
||||
"المحتوى الكامل غير متاح لأن إدخال النص هذا لا يملك إسقاط WebChat مرئيًا.",
|
||||
fullContentUnavailable: "لم يعد المحتوى الكامل متاحًا لإدخال النص هذا.",
|
||||
copyContents: "نسخ محتويات الملف",
|
||||
fileChanged: "تغيّر الملف على القرص منذ تحميله.",
|
||||
renderPreview: "معاينة العرض",
|
||||
imagePreview: "معاينة الصورة",
|
||||
file: "ملف",
|
||||
markdownPreview: "معاينة Markdown",
|
||||
toolDetails: "تفاصيل الأداة",
|
||||
reloadFailed: "فشل في إعادة تحميل أحدث ملف.",
|
||||
overwriteLoadFailed: "فشل في تحميل أحدث ملف قبل الكتابة فوقه.",
|
||||
fullContentLoadFailed: "فشل في تحميل المحتوى الكامل: {error}",
|
||||
},
|
||||
sidebarColumns: {
|
||||
chat: "المحادثة",
|
||||
@@ -4427,6 +4966,7 @@ export const ar: TranslationMap = {
|
||||
unpin: "إلغاء التثبيت",
|
||||
loading: "جارٍ تحميل الدردشة",
|
||||
noMatches: "لا توجد رسائل مطابقة",
|
||||
pinnedCount: "{count} مثبّت",
|
||||
},
|
||||
pairingQrExpired: {
|
||||
title: "انتهت صلاحية رمز الاقتران QR",
|
||||
@@ -4446,13 +4986,53 @@ export const ar: TranslationMap = {
|
||||
runDone: "تم",
|
||||
runInterrupted: "تمت المقاطعة",
|
||||
runStatus: "حالة التشغيل: {status}",
|
||||
compactingContext: "جارٍ ضغط السياق...",
|
||||
compacting: "جارٍ الضغط",
|
||||
compact: "ضغط",
|
||||
contextCompacted: "تم ضغط السياق",
|
||||
fallbackActive: "الاحتياطي نشط: {model}",
|
||||
fallbackCleared: "تم مسح الاحتياطي: {model}",
|
||||
fallbackSelected: "المحدد: {model}",
|
||||
fallbackCurrent: "النشط: {model}",
|
||||
fallbackPrevious: "الاحتياطي السابق: {model}",
|
||||
fallbackReason: "السبب: {reason}",
|
||||
fallbackAttempts: "المحاولات: {attempts}",
|
||||
cancelReply: "إلغاء الرد",
|
||||
attachmentPreview: "معاينة المرفق",
|
||||
compactRecommendedContext: "ضغط سياق الجلسة الموصى به",
|
||||
removeAttachment: "إزالة المرفق",
|
||||
addAttachment: "إضافة مرفق",
|
||||
attachPhoto: "صورة",
|
||||
attachFile: "Attach file",
|
||||
attachFileOption: "ملف",
|
||||
menu: {
|
||||
back: "رجوع",
|
||||
skills: "Skills",
|
||||
connectors: "الموصّلات",
|
||||
webSearch: "بحث الويب",
|
||||
managePlugins: "إدارة الإضافات",
|
||||
manageSkills: "إدارة المهارات",
|
||||
browseConnectors: "استعراض الموصلات",
|
||||
addMcpServer: "إضافة خادم MCP…",
|
||||
toolAccess: "الوصول إلى الأدوات",
|
||||
enabledCount: "{count} مُفعَّل",
|
||||
loadingSkills: "جارٍ تحميل المهارات…",
|
||||
skillsLoadFailed: "تعذّر تحميل المهارات.",
|
||||
noSkills: "لا توجد مهارات متاحة.",
|
||||
noConnectors: "لم يتم إعداد أي خوادم MCP.",
|
||||
depsMissing: "التبعيات مفقودة",
|
||||
skillBlocked: "غير متاح لهذا الوكيل",
|
||||
sessionTag: "الجلسة",
|
||||
offlineBlocked: "اتصل بالـ Gateway لتغيير قدرات الجلسة.",
|
||||
readOnlyBlocked: "يلزم وصول الكتابة لتغيير قدرات الجلسة.",
|
||||
adminBlocked: "يلزم وصول المسؤول لإدارة الموصلات.",
|
||||
savingBlocked: "انتظر انتهاء تغيير قدرة الجلسة الحالي.",
|
||||
},
|
||||
overrides: {
|
||||
count: "{count} تجاوزات للجلسة",
|
||||
countOne: "{count} تجاوز للجلسة",
|
||||
clear: "مسح تجاوزات الجلسة",
|
||||
},
|
||||
contextUsage: {
|
||||
title: "تفاصيل استخدام السياق",
|
||||
open: "فتح تفاصيل استخدام السياق",
|
||||
@@ -4523,6 +5103,17 @@ export const ar: TranslationMap = {
|
||||
turnCameraOn: "تشغيل الكاميرا",
|
||||
voiceTranscript: "تفريغ الصوت",
|
||||
},
|
||||
attachments: {
|
||||
attachedFile: "ملف مرفق",
|
||||
outsideAllowedFolders: "خارج المجلدات المسموح بها",
|
||||
unavailable: "غير متاح",
|
||||
checking: "جارٍ التحقق...",
|
||||
},
|
||||
voice: {
|
||||
asking: "جارٍ سؤال OpenClaw...",
|
||||
connecting: "جارٍ توصيل الإدخال الصوتي...",
|
||||
listening: "جارٍ الاستماع...",
|
||||
},
|
||||
selectors: {
|
||||
session: "Chat session",
|
||||
sessionSearch: "البحث في الجلسات",
|
||||
@@ -4723,6 +5314,7 @@ export const ar: TranslationMap = {
|
||||
ru: "الروسية (Russian)",
|
||||
},
|
||||
cron: {
|
||||
adminRequired: "التصفح فقط. تتطلب تغييرات الأتمتة صلاحية operator.admin.",
|
||||
tabs: {
|
||||
filterLabel: "حالة الأتمتة",
|
||||
all: "الكل",
|
||||
|
||||
Generated
+653
-36
File diff suppressed because it is too large
Load Diff
Generated
+652
-35
File diff suppressed because it is too large
Load Diff
Generated
+638
-36
@@ -8,6 +8,7 @@ export const fa: TranslationMap = {
|
||||
ok: "تأیید",
|
||||
yes: "بله",
|
||||
no: "خیر",
|
||||
assistant: "دستیار",
|
||||
active: "فعال",
|
||||
loading: "در حال بارگیری…",
|
||||
refreshing: "در حال تازهسازی…",
|
||||
@@ -35,8 +36,11 @@ export const fa: TranslationMap = {
|
||||
create: "ایجاد",
|
||||
copy: "کپی",
|
||||
copied: "کپی شد!",
|
||||
copyFailed: "کپی ناموفق بود",
|
||||
copyCode: "کپی کد",
|
||||
resizeSplitView: "تغییر اندازه نمای تقسیمشده",
|
||||
delete: "حذف",
|
||||
remove: "حذف",
|
||||
dismiss: "بستن",
|
||||
unselect: "لغو انتخاب",
|
||||
enabled: "فعال",
|
||||
@@ -45,6 +49,9 @@ export const fa: TranslationMap = {
|
||||
none: "هیچکدام",
|
||||
na: "n/a",
|
||||
never: "هرگز",
|
||||
justNow: "همین حالا",
|
||||
now: "اکنون",
|
||||
unknown: "نامشخص",
|
||||
configured: "پیکربندیشده",
|
||||
running: "در حال اجرا",
|
||||
linked: "پیوندشده",
|
||||
@@ -70,6 +77,7 @@ export const fa: TranslationMap = {
|
||||
settingsSections: "بخشهای تنظیمات",
|
||||
version: "نسخه",
|
||||
docs: "مستندات",
|
||||
learnMore: "بیشتر بدانید",
|
||||
theme: "پوسته",
|
||||
colorMode: "حالت رنگ",
|
||||
colorModeOption: "حالت رنگ: {mode}",
|
||||
@@ -113,10 +121,24 @@ export const fa: TranslationMap = {
|
||||
filteredFileCount: "{count}/{total} فایل",
|
||||
noMatches: "هیچ فایلی مطابقت ندارد.",
|
||||
navigate: "پیمایش",
|
||||
kind: {
|
||||
text: "متن",
|
||||
shell: "شل",
|
||||
file: "فایل",
|
||||
},
|
||||
},
|
||||
mcpApp: {
|
||||
title: "اپلیکیشن MCP",
|
||||
unavailable: "اپلیکیشن MCP در دسترس نیست: {error}",
|
||||
errors: {
|
||||
gatewayUnavailable: "Gateway اپلیکیشن MCP در دسترس نیست",
|
||||
mountUnavailable: "مانت اپلیکیشن MCP در دسترس نیست",
|
||||
sandboxTimedOut: "زمان سندباکس اپلیکیشن MCP به پایان رسید",
|
||||
sandboxUnavailable: "سندباکس اپلیکیشن MCP در دسترس نیست",
|
||||
initializationTimedOut: "زمان مقداردهی اولیه اپلیکیشن MCP به پایان رسید",
|
||||
requestFailed: "درخواست ناموفق بود",
|
||||
invalidSandboxUrl: "نشانی سندباکس اپلیکیشن MCP نامعتبر است",
|
||||
},
|
||||
},
|
||||
githubPreview: {
|
||||
loading: "در حال بارگذاری جزئیات GitHub…",
|
||||
@@ -234,6 +256,7 @@ export const fa: TranslationMap = {
|
||||
"در تلفن خود، WhatsApp را باز کنید و به تنظیمات ← دستگاههای متصل ← اتصال دستگاه بروید، سپس این کد را اسکن کنید.",
|
||||
whatsappQrLoading: "در حال ایجاد کد QR…",
|
||||
whatsappQrHint: "برای ایجاد کد جفتسازی، روی نمایش کد QR کلیک کنید.",
|
||||
whatsappQrAlt: "کد QR واتساپ",
|
||||
whatsappLinked: "WhatsApp متصل و آماده است.",
|
||||
regenerateQr: "کد QR جدید",
|
||||
linkLater: "بعداً متصل شود",
|
||||
@@ -323,6 +346,19 @@ export const fa: TranslationMap = {
|
||||
nip05: "you@example.com",
|
||||
lightningAddress: "you@getalby.com",
|
||||
},
|
||||
notices: {
|
||||
timeout:
|
||||
"درخواست پس از ۳۰ ثانیه منقضی شد؛ ممکن است سرور همچنان تغییر را اعمال کرده باشد — پیش از تلاش مجدد، نمایه را بررسی کنید.",
|
||||
operationFailed: "{prefix}: {error}",
|
||||
updateFailed: "بهروزرسانی نمایه ناموفق بود",
|
||||
updateFailedStatus: "بهروزرسانی نمایه ناموفق بود ({status})",
|
||||
publishFailed: "انتشار پروفایل روی همه رلهها ناموفق بود.",
|
||||
published: "پروفایل روی رلهها منتشر شد.",
|
||||
importFailed: "درونریزی پروفایل ناموفق بود",
|
||||
importFailedStatus: "درونریزی پروفایل ناموفق بود ({status})",
|
||||
importedFromRelays: "پروفایل از رلهها درونریزی شد. بررسی و منتشر کنید.",
|
||||
imported: "پروفایل درونریزی شد. بررسی و منتشر کنید.",
|
||||
},
|
||||
},
|
||||
},
|
||||
lazyView: {
|
||||
@@ -334,6 +370,51 @@ export const fa: TranslationMap = {
|
||||
"OpenClaw در پسزمینه بهروزرسانی شد. برای دریافت جدیدترین پنل، دوباره بارگذاری کنید.",
|
||||
reloading: "در حال بارگذاری مجدد…",
|
||||
retry: "تلاش دوباره",
|
||||
stylesFailed: "بارگذاری استایلها ناموفق بود، بنابراین ممکن است صفحه خراب به نظر برسد.",
|
||||
},
|
||||
updates: {
|
||||
refreshRequired: "سرور بهروزرسانی شد — برای استفاده از همه قابلیتها تازهسازی کنید",
|
||||
coalescedRestart:
|
||||
"بهروزرسانی نصب شد. راهاندازی مجدد gateway در حال انجام است؛ وضعیت پس از اتصال مجدد تازهسازی میشود.",
|
||||
error: "خطای بهروزرسانی: {error}",
|
||||
status: "بهروزرسانی {status}: {reason}. {guidance}",
|
||||
verificationFailed:
|
||||
"بهروزرسانی نصب شد اما نسخه در حال اجرا تغییر نکرد — ممکن است راهاندازی مجدد مسدود شده باشد.",
|
||||
verificationFailedWithVersions:
|
||||
"بهروزرسانی نصب شد اما نسخه در حال اجرا تغییر نکرد — ممکن است راهاندازی مجدد مسدود شده باشد. نسخه مورد انتظار v{expectedVersion}، در حال اجرا v{actualVersion}.",
|
||||
handoffTimeout:
|
||||
"تحویل بهروزرسانی آغاز شد، اما تکمیل آن پس از اتصال مجدد گزارش نشد. برای نتیجه نهایی `openclaw update status` را اجرا کنید.",
|
||||
failureReasons: {
|
||||
dirty: "تغییرات را commit یا stash کنید، سپس دوباره تلاش کنید.",
|
||||
noUpstream: "یک شاخه upstream تنظیم کنید، سپس دوباره تلاش کنید.",
|
||||
notGitInstall:
|
||||
"این یک git checkout نیست. برای نصب مجدد سراسری، `openclaw update` را از CLI اجرا کنید.",
|
||||
notOpenclawRoot:
|
||||
"بهروزرسانی را از یک OpenClaw checkout اجرا کنید یا از مسیر نصب مجدد سراسری CLI استفاده کنید.",
|
||||
depsInstallFailed: "نصب وابستگی ناموفق بود. خطای نصب را برطرف کنید و دوباره تلاش کنید.",
|
||||
buildFailed: "ساخت ناموفق بود. خطای ساخت را برطرف کنید و دوباره تلاش کنید.",
|
||||
buildDirty:
|
||||
"بازبینی انتخابشده فایلهای checkout ساخت را تغییر داد. با بازبینیای که شامل مصنوعات تولیدشدهاش باشد دوباره تلاش کنید.",
|
||||
uiBuildFailed: "بازسازی control UI ناموفق بود. خطای ساخت UI را برطرف کنید و دوباره تلاش کنید.",
|
||||
globalInstallFailed:
|
||||
"نصب بستهٔ سراسری روی دیسک تأیید نشد. دوباره تلاش کنید یا از CLI مجدداً نصب کنید.",
|
||||
restartDisabled:
|
||||
"بهروزرسانی اعمال نشد چون راهاندازی مجدد gateway غیرفعال است. راهاندازی مجدد را در تنظیمات فعال کنید، سپس دوباره تلاش کنید.",
|
||||
restartUnavailable:
|
||||
"این نصب سراسری را نمیتوان بهطور ایمن جایگزین کرد در حالی که راهاندازی مجدد غیرفعال است و هیچ supervisor موجود نیست.",
|
||||
restartUnhealthy:
|
||||
"فرایند جایگزین هرگز سالم نشد. فرایند قبلی فعال ماند تا بتوانید بازیابی کنید.",
|
||||
managedServiceHandoffAlreadyRunning:
|
||||
"بهروزرسانی مدیریتشدهٔ دیگری در حال اجراست. منتظر بمانید تا کامل شود، سپس وضعیت بهروزرسانی را تازهسازی کنید.",
|
||||
doctorFailed:
|
||||
"تعمیر Doctor ناموفق بود. `openclaw doctor --non-interactive` را اجرا کنید و دوباره تلاش کنید.",
|
||||
default:
|
||||
"برای مشاهدهٔ خطای دقیق به لاگهای gateway مراجعه کنید و پس از رفع علت دوباره تلاش کنید.",
|
||||
},
|
||||
postRestart: {
|
||||
restartUnhealthy: "فرایند جایگزین هرگز سالم نشد و فرایند قبلی فعال ماند.",
|
||||
default: "برای بررسی خطای جایگزینی، لاگهای gateway را بررسی کنید.",
|
||||
},
|
||||
},
|
||||
nodes: {
|
||||
pairing: {
|
||||
@@ -817,6 +898,10 @@ export const fa: TranslationMap = {
|
||||
},
|
||||
agents: {
|
||||
noAgents: "هیچ عاملی وجود ندارد",
|
||||
defaults: {
|
||||
title: "پیشفرضهای عامل",
|
||||
description: "پیشفرضهایی که هر عامل به ارث میبرد مگر اینکه بازنویسی شود.",
|
||||
},
|
||||
copyId: "کپی شناسه",
|
||||
copyIdTitle: "کپی شناسه عامل در کلیپبورد",
|
||||
default: "پیشفرض",
|
||||
@@ -1020,6 +1105,9 @@ export const fa: TranslationMap = {
|
||||
noEvents: "هنوز رویدادی وجود ندارد.",
|
||||
},
|
||||
configForm: {
|
||||
redactedPlaceholder: "[پنهانشده - برای مشاهده روی نمایش کلیک کنید]",
|
||||
sectionHelp: "راهنما برای {section}",
|
||||
readGuide: "راهنما را بخوانید",
|
||||
showAdvanced: "نمایش پیشرفته",
|
||||
advancedHidden: "{count} تنظیم پیشرفته پنهان است",
|
||||
advancedHiddenPlural: "{count} تنظیم پیشرفته پنهان است",
|
||||
@@ -1207,9 +1295,12 @@ export const fa: TranslationMap = {
|
||||
lobsterdexSeen: "{seen}/{total} بازدیدشده",
|
||||
lobsterdexFirstVisited: "{name} · نخستین بازدید در {date}",
|
||||
lobsterdexCardFirstVisited: "اولین بازدید {date}",
|
||||
lobsterdexCardShinySeen: "✦ درخشان دیده شد {date}",
|
||||
lobsterdexCardCopyLink: "کپی لینک",
|
||||
lobsterdexOpen: "باز کردن Lobsterdex",
|
||||
},
|
||||
security: {
|
||||
intro: "بررسی دسترسی gateway، سیاست ابزار، احراز هویت دستگاه و تأییدها.",
|
||||
title: "امنیت",
|
||||
gatewayAuth: "احراز هویت Gateway",
|
||||
execPolicy: "سیاست اجرا",
|
||||
@@ -1378,6 +1469,7 @@ export const fa: TranslationMap = {
|
||||
"اعلانها برای OpenClaw در macOS غیرفعال هستند. آنها را در System Settings > Notifications فعال کنید.",
|
||||
},
|
||||
appearance: {
|
||||
intro: "تنظیمات پوسته، گفتوگو و نوار کناری برای این کلاینت Control UI.",
|
||||
theme: "پوسته",
|
||||
chooseTheme: "یک خانواده پوسته انتخاب کنید.",
|
||||
importedTheme: "پوسته واردشده",
|
||||
@@ -1447,12 +1539,11 @@ export const fa: TranslationMap = {
|
||||
open: "باز کردن",
|
||||
applying: "در حال اعمال…",
|
||||
autoSaveSaving: "در حال ذخیره…",
|
||||
autoSaveSaved: "ذخیره شد",
|
||||
autoSaveFailed: "ذخیره ناموفق بود",
|
||||
autoSaveConflict: "تنظیمات در جای دیگری تغییر کرده است",
|
||||
retry: "تلاش مجدد",
|
||||
applyBannerText:
|
||||
"در openclaw.json ذخیره شد — برای اعمال تغییرات، Gateway را مجدداً راهاندازی کنید.",
|
||||
applyBannerAction: "راهاندازی مجدد و اعمال",
|
||||
applyChanges: "اعمال تغییرات",
|
||||
rawDiscard: "نادیده گرفتن",
|
||||
rawDraftBlocksApply:
|
||||
"ویرایشهای ذخیرهنشده در پیکربندی خام — قبل از راهاندازی مجدد، آنها را در ویرایشگر Raw ذخیره یا لغو کنید.",
|
||||
@@ -1698,7 +1789,6 @@ export const fa: TranslationMap = {
|
||||
forward: "جلو",
|
||||
chat: "چت",
|
||||
settings: "تنظیمات",
|
||||
settingsGeneral: "عمومی",
|
||||
askOpenClaw: "از OpenClaw بپرسید",
|
||||
settingsGroupConnections: "اتصالها",
|
||||
settingsGroupAgents: "عاملها و ابزارها",
|
||||
@@ -1754,6 +1844,11 @@ export const fa: TranslationMap = {
|
||||
dockBottom: "Dock to bottom",
|
||||
dockRight: "Dock to right",
|
||||
unavailable: "The terminal is not available on this gateway.",
|
||||
uploadTooLarge: "فایل از محدودیت بارگذاری ۱۶ مبیبایتی ترمینال فراتر است: {file}",
|
||||
uploadUnsafeCmdPath:
|
||||
"نمیتوان مسیر بارگذاریشدهای را که شامل % یا ! است بهطور ایمن در cmd.exe درج کرد",
|
||||
uploadUnsupportedShell:
|
||||
"نمیتوان مسیر بارگذاریشده را بهطور ایمن در شل پشتیبانینشده درج کرد: {shell}",
|
||||
},
|
||||
browser: {
|
||||
title: "مرورگر",
|
||||
@@ -1790,6 +1885,15 @@ export const fa: TranslationMap = {
|
||||
noChatTarget: "ابتدا یک نشست گفتگو باز کنید تا حاشیهنویسی جایی برای ارسال داشته باشد.",
|
||||
inspectUnavailable: "بررسی عنصر غیرفعال است (browser.evaluateEnabled=false).",
|
||||
annotationSent: "حاشیهنویسی به کادر نوشتن گفتگو افزوده شد.",
|
||||
errors: {
|
||||
requestFailed: "درخواست مرورگر ناموفق بود: {error}",
|
||||
screenshotPathMissing: "اسکرینشات مرورگر مسیر رسانهای برنگرداند.",
|
||||
screenshotFetchTimedOut: "دریافت اسکرینشات به پایان زمان رسید.",
|
||||
screenshotFetchFailed: "دریافت اسکرینشات ناموفق بود ({status}).",
|
||||
screenshotReadFailed: "خواندن اسکرینشات ناموفق بود.",
|
||||
screenshotDecodeFailed: "رمزگشایی اسکرینشات ناموفق بود.",
|
||||
canvasUnavailable: "زمینه Canvas 2D در دسترس نیست.",
|
||||
},
|
||||
annotatePrompt: {
|
||||
introTitled:
|
||||
'من صفحه را در {url} حاشیهنویسی کردم (عنوان گزارششده از صفحه: "{title}") — اسکرینشات پیوست نشانهگذاری من را نشان میدهد.',
|
||||
@@ -1836,6 +1940,7 @@ export const fa: TranslationMap = {
|
||||
automation: "اتوماسیون",
|
||||
mcp: "MCP",
|
||||
memory: "حافظه",
|
||||
talk: "گفتگو",
|
||||
infrastructure: "زیرساخت",
|
||||
labs: "Labs",
|
||||
about: "درباره",
|
||||
@@ -1875,6 +1980,7 @@ export const fa: TranslationMap = {
|
||||
automation: "فرمانها، قلابها، cron و پلاگینها.",
|
||||
mcp: "سرورهای MCP، احراز هویت، ابزارها و عیبیابی.",
|
||||
memory: "موتور حافظه، بکاند، جستجو و رؤیاپردازی.",
|
||||
talk: "صدای بیدرنگ: ارائهدهنده، مدل و صدای گوینده.",
|
||||
infrastructure: "تنظیمات Gateway، وب، مرورگر و رسانه.",
|
||||
labs: "قابلیتهای آزمایشی عامل و ابزار.",
|
||||
about: "Control UI و Gateway متصل، هویت ساخت را تشکیل میدهند.",
|
||||
@@ -1893,6 +1999,16 @@ export const fa: TranslationMap = {
|
||||
heading: "هوش مصنوعی خود را متصل کنید",
|
||||
intro:
|
||||
"OpenClaw از دسترسی فعلی شما به هوش مصنوعی دوباره استفاده میکند — ورود از طریق CLI، کلید API یا ورود به حساب ارائهدهنده.",
|
||||
required: {
|
||||
title: "هیچ ارائهدهنده هوش مصنوعی پیکربندی نشده است",
|
||||
body: "OpenClaw نتوانست ارائهدهنده و مدلی را که برای این عامل پیکربندی شده باشد پیدا کند. پیش از شروع گفتوگو یکی اضافه کنید.",
|
||||
action: "پیکربندی یک ارائهدهنده",
|
||||
},
|
||||
connectionFailure: {
|
||||
title: "OpenClaw نتوانست از هوش مصنوعی پیکربندیشده شما استفاده کند",
|
||||
body: "این عامل یک ارائهدهنده و مدل انتخابشده دارد، اما اتصال ناموفق بود. ورود به ارائهدهنده یا کلید API، دسترسی به مدل و وضعیت سرویس را بررسی کنید و دوباره تلاش کنید.",
|
||||
action: "بررسی تنظیمات ارائهدهنده",
|
||||
},
|
||||
loading: "در حال بررسی دسترسیهای موجود به هوش مصنوعی در این Gateway…",
|
||||
retry: "تلاش مجدد",
|
||||
checkAgain: "بررسی مجدد",
|
||||
@@ -1924,6 +2040,8 @@ export const fa: TranslationMap = {
|
||||
},
|
||||
unavailable: {
|
||||
title: "شناسایی شده، اما خودکار آزمایش نشده است",
|
||||
signIn: "ورود با {provider}",
|
||||
useApiKey: "استفاده از کلید API",
|
||||
},
|
||||
signIn: {
|
||||
title: "ورود با حساب ارائهدهنده",
|
||||
@@ -2030,6 +2148,39 @@ export const fa: TranslationMap = {
|
||||
replaceExisting: "جایگزینی موارد واردشده موجود",
|
||||
replaceHint:
|
||||
"تداخلها را دوباره پیشنمایش کنید و پیش از جایگزینی، نسخههای پشتیبان موارد را حفظ کنید.",
|
||||
backfill: {
|
||||
title: "از نشستهای گذشته",
|
||||
subtitle:
|
||||
"خاطرات مورد اعتماد از نشستهای پیشین عامل را آماده کنید. رؤیاپردازی موارد مفید را به حافظه بلندمدت ارتقا میدهد.",
|
||||
dateRange: "بازه تاریخ نشست",
|
||||
dateRangeHint: "برای اسکن کل بازه موجود، یکی از تاریخها را خالی بگذارید.",
|
||||
from: "از",
|
||||
to: "تا",
|
||||
actions: "پرکردن",
|
||||
preview: "پیشنمایش",
|
||||
previewing: "در حال پیشنمایش…",
|
||||
apply: "اعمال",
|
||||
applying: "در حال اعمال…",
|
||||
rollback: "بازگردانی",
|
||||
previewSummary: "{candidates} نامزد در {days} روز",
|
||||
previewTruncated:
|
||||
"این پیشنمایش اولین دسته محدود را نشان میدهد. اعمال، از میان نامزدهای باقیمانده ادامه مییابد.",
|
||||
candidateCount: "{count} نامزد",
|
||||
noCandidates: "هیچ نامزد نشست مورد اعتماد جدیدی یافت نشد.",
|
||||
progress: "{days} روز پردازش شد · {staged} آماده شد",
|
||||
processedCandidates: "{count} نامزد نشست پردازش شد",
|
||||
processedDayCountOne: "{count} روز پردازش شد",
|
||||
processedDayCount: "{count} روز پردازش شد",
|
||||
complete: "{count} آماده شد؛ ارتقا از طریق رؤیاپردازی انجام میشود",
|
||||
rollbackConfirmTitle: "بازگردانی پرکردن جلسه؟",
|
||||
rollbackConfirmDescription:
|
||||
"حذف مدخلهای دفترچه و حافظههای مرحلهبندیشده ایجادشده توسط پرکردن جلسه برای این عامل.",
|
||||
rollbackWarning:
|
||||
"مکاننماهای جلسه ردیابیشده در جای خود میمانند، بنابراین مدخلهای حذفشده دوباره مرحلهبندی نخواهند شد.",
|
||||
rollbackComplete: "پرکردن جلسه بازگردانی شد",
|
||||
rollbackCounts: "{diary} مدخل دفترچه و {staged} مدخل مرحلهبندیشده حذف شد",
|
||||
unavailable: "پرکردن جلسه در این Gateway در دسترس نیست.",
|
||||
},
|
||||
},
|
||||
onboarding: {
|
||||
memoryImport: {
|
||||
@@ -2071,6 +2222,14 @@ export const fa: TranslationMap = {
|
||||
sessionRestarted:
|
||||
"{error} OpenClaw یک نشست جدید آغاز کرد؛ پیامهای قبلی برای زمینه باقی میمانند.",
|
||||
unsupportedGateway: "برای ادامه راهاندازی با OpenClaw، Gateway را بهروزرسانی کنید.",
|
||||
panel: {
|
||||
title: "OpenClaw",
|
||||
toggle: "از OpenClaw بپرسید",
|
||||
close: "بستن Ask OpenClaw",
|
||||
resize: "تغییر اندازه Ask OpenClaw",
|
||||
dockBottom: "اتصال Ask OpenClaw در پایین",
|
||||
dockRight: "اتصال Ask OpenClaw در سمت راست",
|
||||
},
|
||||
history: {
|
||||
button: "تاریخچه",
|
||||
title: "تغییرات اخیر",
|
||||
@@ -2129,12 +2288,14 @@ export const fa: TranslationMap = {
|
||||
working: "در حال کار…",
|
||||
},
|
||||
mcpPage: {
|
||||
intro: "سرورهای MCP را که ابزارهایی به OpenClaw ارائه میدهند متصل و مدیریت کنید.",
|
||||
connectorsLink: "کانکتورهای تککلیکی را در صفحه Plugins کشف کنید.",
|
||||
servers: "سرورها",
|
||||
oauth: "OAuth",
|
||||
filtered: "فیلترشده",
|
||||
configuredServers: "سرورهای پیکربندیشده",
|
||||
noServers: "هیچ سرور MCP پیکربندی نشده است.",
|
||||
setUpFirstServer: "اولین سرور MCP خود را راهاندازی کنید",
|
||||
operatorCommands: "دستورات اپراتور MCP",
|
||||
operatorCommandsHint: "وضعیت، عیبیابی، احراز هویت، بررسی و بارگذاری مجدد در زمان اجرا.",
|
||||
runtimeHint:
|
||||
@@ -2144,12 +2305,135 @@ export const fa: TranslationMap = {
|
||||
tlsVerifyOff: "بررسی TLS خاموش",
|
||||
mtls: "mTLS",
|
||||
},
|
||||
talkPage: {
|
||||
intro: "ارائهدهندگان صدای بلادرنگ، مدلها و صداهای گوینده را پیکربندی کنید.",
|
||||
voiceSection: {
|
||||
title: "صدای بلادرنگ",
|
||||
description:
|
||||
"گفتگوهای گفتاری پیوسته با عامل شما. انتخابگرهای زیر تنظیمات talk.realtime را مینویسند؛ فرم کامل پایینتر همه چیز دیگر را پوشش میدهد.",
|
||||
},
|
||||
status: {
|
||||
title: "وضعیت",
|
||||
ready: "آماده",
|
||||
notReady: "پیکربندینشده",
|
||||
unavailable: "در دسترس نیست",
|
||||
unavailableHint: "برای بررسی آمادگی صدای بلادرنگ به Gateway متصل شوید.",
|
||||
activeProvider: "ارائهدهنده فعال: {provider}",
|
||||
noProvider: "هنوز هیچ ارائهدهنده صدای بلادرنگی پیکربندی نشده است.",
|
||||
},
|
||||
provider: {
|
||||
title: "ارائهدهنده",
|
||||
description: "حالت خودکار اولین ارائهدهنده با اعتبارنامه معتبر را انتخاب میکند.",
|
||||
auto: "خودکار",
|
||||
},
|
||||
model: {
|
||||
title: "مدل",
|
||||
description: "مدل صوتی بیدرنگ برای جلسات Talk در مرورگر.",
|
||||
default: "پیشفرض ارائهدهنده",
|
||||
defaultNamed: "پیشفرض ({model})",
|
||||
},
|
||||
voice: {
|
||||
title: "صدای گوینده",
|
||||
description:
|
||||
"صدای استفادهشده برای پاسخهای گفتاری. GPT-Live پس از شروع تماس صدا را قفل میکند.",
|
||||
default: "پیشفرض ارائهدهنده",
|
||||
},
|
||||
gptLive: {
|
||||
title: "GPT-Live",
|
||||
hint: "GPT-Live با اشتراک ChatGPT کار میکند: یکبار با «openclaw models auth login --provider openai» وارد شوید. نیازی به کلید API پلتفرم نیست. فقط Talk در مرورگر. کار واگذارشده را میتوان هنگام اجرا هدایت کرد و برای اقدامات پرتأثیر نیاز به تأیید گفتاری دقیق دارد.",
|
||||
ready: "آماده",
|
||||
},
|
||||
},
|
||||
memoryPage: {
|
||||
intro: "نحوه ذخیره، جستوجو و نگهداری حافظه عامل توسط OpenClaw را انتخاب کنید.",
|
||||
tablistLabel: "بخشهای حافظه",
|
||||
tabs: {
|
||||
overview: "نمای کلی",
|
||||
search: "جستجو",
|
||||
dreaming: "رؤیاپردازی",
|
||||
memories: "حافظهها",
|
||||
dreams: "رؤیاها",
|
||||
settings: "تنظیمات",
|
||||
},
|
||||
overview: {
|
||||
hero: {
|
||||
awake: "حافظه بیدار است",
|
||||
waking: "در حال بیدار کردن حافظه…",
|
||||
hibernating: "حافظه در حالت خواب است",
|
||||
needsAttention: "حافظه نیاز به توجه دارد",
|
||||
activeDescription: "{engine} · {mode}",
|
||||
loadingDescription: "در حال بررسی موتور حافظه و چرخه رؤیای این عامل.",
|
||||
offDescription: "برای بیدار کردن حافظه، یک موتور حافظه را در تنظیمات انتخاب کنید.",
|
||||
disabledDescription:
|
||||
"موتور حافظه انتخابشده غیرفعال است. آن را در تنظیمات دوباره فعال کنید.",
|
||||
gatewayOffline: "Gateway آفلاین است، بنابراین وضعیت حافظه در دسترس نیست.",
|
||||
hybridSearch: "جستوجوی ترکیبی",
|
||||
keywordSearch: "جستوجوی کلیدواژه (بدون embeddings)",
|
||||
openSettings: "باز کردن تنظیمات",
|
||||
retry: "تلاش مجدد",
|
||||
refresh: "بهروزرسانی وضعیت",
|
||||
},
|
||||
schedule: {
|
||||
title: "برنامه خواب",
|
||||
lightDescription:
|
||||
"یادداشتهای کوتاهمدت تازه را مرتب میکند و نامزدهای امیدوارکننده را بدون تغییر حافظه بلندمدت آماده میسازد.",
|
||||
remDescription:
|
||||
"درباره مضامین و ایدههای تکرارشونده در فعالیتهای اخیر تأمل میکند تا رتبهبندی را بدون تغییر حافظه بلندمدت تقویت کند.",
|
||||
deepDescription:
|
||||
"به نامزدهای آمادهشده امتیاز میدهد، موارد ماندگار را به حافظه بلندمدت (MEMORY.md) ارتقا میدهد و دفترچه رؤیا را مینویسد.",
|
||||
nextRun: "بعدی {time}",
|
||||
lastRun: "آخرین {time}",
|
||||
notScheduled: "زمانبندی نشده",
|
||||
learnMore: "رؤیادیدن چگونه کار میکند",
|
||||
openDocs: "باز کردن راهنمای رؤیادیدن",
|
||||
},
|
||||
activity: {
|
||||
title: "فعالیت",
|
||||
promotedToday: "ارتقایافتههای امروز",
|
||||
promotedTotal: "کل ارتقایافتهها",
|
||||
shortTermCount: "ورودیهای کوتاهمدت در انتظار",
|
||||
phaseHitCount: "سیگنالهای فاز",
|
||||
lightPhaseHitCount: "بازخوردهای فاز سبک",
|
||||
remPhaseHitCount: "بازخوردهای فاز REM",
|
||||
},
|
||||
health: {
|
||||
title: "سلامت موتور",
|
||||
provider: "ارائهدهنده",
|
||||
embeddings: "Embeddings",
|
||||
runtime: "زمان اجرای Embedding",
|
||||
healthy: "آماده",
|
||||
unavailable: "در دسترس نیست",
|
||||
notChecked: "بررسی نشده",
|
||||
notCheckedDescription: "آمادگی Embedding هنوز بررسی نشده است.",
|
||||
checking: "در حال بررسی…",
|
||||
test: "آزمایش",
|
||||
testing: "در حال آزمایش…",
|
||||
},
|
||||
shortcuts: {
|
||||
title: "کاوش در حافظه",
|
||||
memories: "جستجوی خاطرات",
|
||||
diary: "خواندن دفترچه رویا",
|
||||
settings: "پیکربندی حافظه",
|
||||
},
|
||||
},
|
||||
memories: {
|
||||
searchLabel: "جستجوی خاطرات",
|
||||
searchPlaceholder: "جستجوی خاطرات این عامل",
|
||||
searchButton: "جستجو",
|
||||
idle: "برای یک فرد، پروژه، تصمیم یا هر چیز دیگری که این عامل به یاد دارد جستجو کنید.",
|
||||
searching: "در حال جستجوی خاطرات…",
|
||||
results: "{count} نتیجه",
|
||||
empty: "هیچ خاطرهای با «{query}» مطابقت نداشت.",
|
||||
error: "جستجوی حافظه ناموفق بود: {message}",
|
||||
retry: "تلاش مجدد",
|
||||
gatewayUpdateRequired: "برای جستجوی خاطرات از Control UI، Gateway را بهروزرسانی کنید.",
|
||||
hybridSearch: "جستجوی ترکیبی",
|
||||
keywordSearch: "جستجوی کلیدواژه",
|
||||
lineRange: "خطوط {start}–{end}",
|
||||
score: "امتیاز {score}",
|
||||
sourceMemory: "حافظه",
|
||||
sourceSessions: "نشستها",
|
||||
fileLoading: "در حال بارگیری کل فایل حافظه…",
|
||||
fileError: "بارگیری این فایل حافظه ممکن نشد: {message}",
|
||||
fileUnsupported: "این فایل حافظه را نمیتوان بهصورت متن نمایش داد.",
|
||||
},
|
||||
engine: {
|
||||
title: "موتور",
|
||||
@@ -2187,6 +2471,8 @@ export const fa: TranslationMap = {
|
||||
memoryWiki: {
|
||||
title: "ویکی حافظه",
|
||||
},
|
||||
toggleAriaLabel: "فعال یا غیرفعال کردن {plugin}",
|
||||
changeFailed: "بهروزرسانی {plugin} ممکن نشد",
|
||||
stateUnknown: "نامشخص",
|
||||
manage: "فعال یا غیرفعال کردن افزودنیها",
|
||||
manageLink: "باز کردن افزونهها",
|
||||
@@ -2561,36 +2847,8 @@ export const fa: TranslationMap = {
|
||||
},
|
||||
profilePage: {
|
||||
offline: "برای دیدن عامل خود به Gateway متصل شوید.",
|
||||
loading: "در حال غواصی برای یافتن آمار…",
|
||||
emptyTitle: "یک صدف تازه",
|
||||
emptyBody:
|
||||
"هنوز هیچ فعالیت توکنی وجود ندارد. به عامل خود پیامی بفرستید و روشن شدن صخره را تماشا کنید.",
|
||||
sinceChip: "در صخره از {date}",
|
||||
channelChipTitle: "{tokens} توکن در این کانال",
|
||||
statLifetimeTokens: "توکنهای کل دوره",
|
||||
statPeakDay: "روز اوج",
|
||||
statLongestSession: "طولانیترین نشست",
|
||||
statCurrentStreak: "زنجیره فعلی",
|
||||
statLongestStreak: "طولانیترین زنجیره",
|
||||
streakDay: "{count} روز",
|
||||
streakDays: "{count} روز",
|
||||
heatmapTitle: "فعالیت توکنها",
|
||||
heatmapSub: "یک سال در صخره — قرمزِ تیرهتر، چنگالهای پرکارتر.",
|
||||
heatmapCellTokens: "{tokens} توکن",
|
||||
legendLess: "کمتر",
|
||||
legendMore: "بیشتر",
|
||||
insightsTitle: "بینشهای فعالیت",
|
||||
insightModel: "پرکاربردترین مدل",
|
||||
insightMessages: "پیامهای ردوبدلشده",
|
||||
insightToolCalls: "فراخوانیهای ابزار",
|
||||
insightUniqueTools: "ابزارهای متمایز",
|
||||
insightAgents: "عاملها در صخره",
|
||||
insightSessions: "نشستهای ردیابیشده",
|
||||
sessionsCapped: "{count}+",
|
||||
toolsTitle: "پرکاربردترین ابزارها",
|
||||
toolsEmpty: "هنوز هیچ اجرای ابزاری ثبت نشده است.",
|
||||
toolRun: "{count} اجرا",
|
||||
toolRuns: "{count} اجرا",
|
||||
usageStatistics: "آمار استفاده",
|
||||
usageStatisticsDescription: "مشاهده فعالیت، هزینهها و روند استفاده.",
|
||||
identity: {
|
||||
title: "هویت",
|
||||
menuLabel: "منوی هویت",
|
||||
@@ -2689,6 +2947,9 @@ export const fa: TranslationMap = {
|
||||
next: "بعدی",
|
||||
apply: "اعمال",
|
||||
applying: "در حال اعمال…",
|
||||
evaluate: "ارزیابی",
|
||||
evaluating: "در حال ارزیابی…",
|
||||
evaluated: "ارزیابیشده",
|
||||
revise: "بازبینی",
|
||||
tweak: "تنظیم",
|
||||
opening: "در حال باز کردن…",
|
||||
@@ -2696,6 +2957,11 @@ export const fa: TranslationMap = {
|
||||
rejecting: "در حال رد کردن…",
|
||||
sending: "در حال ارسال…",
|
||||
},
|
||||
notices: {
|
||||
applied: "اعمالشده",
|
||||
rejected: "ردشده",
|
||||
revisionRequested: "بازبینی درخواست شد",
|
||||
},
|
||||
revision: {
|
||||
title: "{verb} پیشنهاد",
|
||||
description:
|
||||
@@ -2722,6 +2988,35 @@ export const fa: TranslationMap = {
|
||||
supportFilesTitle: "فایلهای پشتیبان",
|
||||
clickToPreview: "· برای پیشنمایش کلیک کنید",
|
||||
},
|
||||
evaluation: {
|
||||
title: "ارزیابی",
|
||||
version: "پیشنهاد {version}",
|
||||
completedAt: "تکمیلشده در {time}",
|
||||
status: {
|
||||
completed: "تکمیلشده",
|
||||
skipped: "ردشده",
|
||||
error: "خطا",
|
||||
},
|
||||
decision: {
|
||||
pass: "قبول",
|
||||
revise: "بازبینی",
|
||||
block: "مسدود",
|
||||
},
|
||||
severity: {
|
||||
info: "اطلاعات",
|
||||
warn: "هشدار",
|
||||
critical: "بحرانی",
|
||||
},
|
||||
evaluatorVersion: "ارزیاب {version}",
|
||||
mode: "حالت {mode}",
|
||||
findings: "یافتهها",
|
||||
metrics: "معیارها",
|
||||
fileLine: "{file}:{line}",
|
||||
errors: {
|
||||
revisionHashUnavailable: "نسخهٔ فعلی پیشنهاد قابل شناسایی نبود.",
|
||||
revisionChanged: "نسخهٔ پیشنهاد در حین ارزیابی تغییر کرد.",
|
||||
},
|
||||
},
|
||||
empty: {
|
||||
searchTitle: "پیشنهاد منطبقی یافت نشد",
|
||||
searchBody: "جستجو را پاک کنید یا کلیدواژه دیگری را امتحان کنید.",
|
||||
@@ -2785,6 +3080,8 @@ export const fa: TranslationMap = {
|
||||
comeWithIt: "همراه آن میآید.",
|
||||
useIt: "استفاده کن",
|
||||
addToSkills: "به مهارتهای خود اضافه کنید",
|
||||
evaluate: "ارزیابی",
|
||||
runChecks: "اجرای بررسیهای پیشنهاد",
|
||||
tweakIt: "تنظیمش کن",
|
||||
askAgent: "از عامل بخواهید چیزی را تغییر دهد",
|
||||
skipping: "در حال رد کردن…",
|
||||
@@ -3440,6 +3737,32 @@ export const fa: TranslationMap = {
|
||||
reload: "بارگذاری مجدد",
|
||||
reloading: "در حال بارگذاری مجدد…",
|
||||
},
|
||||
actions: {
|
||||
dedupeRemovedOneAndKept: "{removed} ورودی رؤیای تکراری حذف و {kept} نگه داشته شد.",
|
||||
dedupeRemovedManyAndKept: "{removed} ورودی رؤیای تکراری حذف و {kept} نگه داشته شد.",
|
||||
dedupeRemovedOne: "{removed} ورودی رؤیای تکراری حذف شد.",
|
||||
dedupeRemovedMany: "{removed} ورودی رؤیای تکراری حذف شد.",
|
||||
repairArchivedThreadCorpus: "مجموعهٔ گفتگوهای بایگانیشده",
|
||||
repairArchivedIngestionState: "وضعیت دریافت بایگانیشده",
|
||||
repairArchivedDreamDiary: "دفترچه رؤیای بایگانیشده",
|
||||
repairNoChanges: "تعمیر حافظه نهان رؤیا بدون تغییر به پایان رسید.",
|
||||
repairCompleteWithArchive: "تعمیر حافظه نهان رؤیا کامل شد: {actions}. بایگانی: {archiveDir}",
|
||||
repairComplete: "تعمیر حافظه نهان رؤیا کامل شد: {actions}.",
|
||||
backfillComplete: "{count} ورودی دفترچه رؤیا بازپر شد.",
|
||||
resetDiaryComplete: "{count} ورودی بازپرشده دفترچه رؤیا حذف شد.",
|
||||
clearReplayedComplete: "{count} ورودی کوتاهمدت بازپخششده پاک شد.",
|
||||
complete: "کنش دفترچه رؤیا کامل شد.",
|
||||
confirmRepair:
|
||||
"حافظه نهان رؤیا تعمیر شود؟ این کار فایلهای مشتقشده حافظه نهان رؤیا را بایگانی کرده و آنها را از ورودیهای تمیز بازسازی میکند. دفترچه رؤیای شما دستنخورده باقی میماند.",
|
||||
confirmDedupe:
|
||||
"دفترچه رؤیا حذف تکراری شود؟ این کار DREAMS.md را بازنویسی کرده و فقط ورودیهای دقیقاً تکراری دفترچه را حذف میکند.",
|
||||
archivePathCopied: "مسیر بایگانی کپی شد.",
|
||||
archivePathCopyFailed: "کپی مسیر بایگانی ممکن نشد.",
|
||||
updateFailed: "بهروزرسانی تنظیمات رؤیاپردازی ممکن نشد.",
|
||||
unsupportedPlugin:
|
||||
"افزونه حافظه انتخابشده «{pluginId}» از تنظیمات رؤیاپردازی پشتیبانی نمیکند.",
|
||||
configHashMissing: "هش پیکربندی موجود نیست؛ تازهسازی کرده و دوباره تلاش کنید.",
|
||||
},
|
||||
wiki: {
|
||||
previewFallbackTitle: "صفحه ویکی",
|
||||
close: "بستن",
|
||||
@@ -3485,6 +3808,60 @@ export const fa: TranslationMap = {
|
||||
enableSuffix: "، سپس این تب را دوباره بارگذاری کنید.",
|
||||
openConfig: "باز کردن پیکربندی",
|
||||
howToEnable: "نحوه فعالسازی",
|
||||
pageTypes: {
|
||||
entity: "موجودیت",
|
||||
concept: "مفهوم",
|
||||
source: "منبع",
|
||||
synthesis: "ترکیب",
|
||||
report: "گزارش",
|
||||
},
|
||||
pageGroups: {
|
||||
sources: "منابع",
|
||||
syntheses: "ترکیبها",
|
||||
reports: "گزارشها",
|
||||
entities: "موجودیتها",
|
||||
concepts: "مفاهیم",
|
||||
},
|
||||
counts: {
|
||||
pageOne: "{count} صفحه",
|
||||
pages: "{count} صفحه",
|
||||
claimRowOne: "{count} ردیف ادعا",
|
||||
claimRows: "{count} ردیف ادعا",
|
||||
openQuestionOne: "{count} پرسش باز",
|
||||
openQuestions: "{count} پرسش باز",
|
||||
contradictionOne: "{count} تناقض",
|
||||
contradictions: "{count} تناقض",
|
||||
chats: "{count} گفتگو",
|
||||
sensitive: "{count} حساس",
|
||||
signals: "{count} سیگنال",
|
||||
messages: "{count} پیام",
|
||||
userMessages: "{count} کاربر",
|
||||
assistantMessages: "{count} دستیار",
|
||||
},
|
||||
pageGroupSummary: "{label} · {count}",
|
||||
noPagesYet: "هنوز صفحهای وجود ندارد",
|
||||
sectionPageSummary: "{label}: {count}",
|
||||
questionCountOnPages: "{questionCount} در {pageCount}",
|
||||
risk: {
|
||||
needsReview: "نیازمند بررسی",
|
||||
low: "ریسک پایین",
|
||||
medium: "ریسک متوسط",
|
||||
high: "ریسک بالا",
|
||||
unknown: "ریسک نامشخص",
|
||||
},
|
||||
pageNotFound: "هیچ صفحه ویکی برای {lookup} یافت نشد.",
|
||||
previewTruncated: "نمایش نخستین بخش این صفحه.",
|
||||
previewTruncatedWithTotal: "نمایش نخستین بخش این صفحه (در مجموع {count} خط).",
|
||||
importedClusterSummary: "گفتگوهای واردشده حول {label} خوشهبندی شدهاند.",
|
||||
withheldDigestOne: "{count} خلاصه در انتظار بررسی نگه داشته شد.",
|
||||
withheldDigests: "{count} خلاصه در انتظار بررسی نگه داشته شدند.",
|
||||
details: "جزئیات",
|
||||
hideDetails: "پنهان کردن جزئیات",
|
||||
vault: "Vault",
|
||||
fullVaultBreakdown: "تفکیک کامل Vault: {breakdown}.",
|
||||
selectedSection: "بخش انتخابشده: {summary}.",
|
||||
latestUpdate: "آخرین بهروزرسانی {date}.",
|
||||
noContent: "محتوای ویکی در دسترس نیست.",
|
||||
},
|
||||
phrases: {
|
||||
consolidatingMemories: "در حال یکپارچهسازی خاطرات…",
|
||||
@@ -3629,6 +4006,13 @@ export const fa: TranslationMap = {
|
||||
session: "نشست",
|
||||
sessions: "نشستها",
|
||||
},
|
||||
heatmap: {
|
||||
title: "فعالیت توکن",
|
||||
subtitle: "شدت روزانه توکن برای بازه انتخابشده، تا یک سال.",
|
||||
cellTokens: "{tokens} توکن",
|
||||
less: "کمتر",
|
||||
more: "بیشتر",
|
||||
},
|
||||
providerUsage: {
|
||||
title: "طرحها و صورتحساب ارائهدهندگان",
|
||||
subtitle: "دادههای زندهٔ طرح، سهمیه، موجودی و بودجه که ارائهدهندگان پیکربندیشده گزارش میکنند.",
|
||||
@@ -4019,6 +4403,107 @@ export const fa: TranslationMap = {
|
||||
multipleMatches: "بیش از یک نشست با {shortId} مطابقت دارد.",
|
||||
additionalMatches: "نتایج جستجو باقی مانده است. از پیشوند شناسه بلندتری استفاده کنید.",
|
||||
},
|
||||
commandResults: {
|
||||
startingNewThread: "در حال شروع رشته جدید...",
|
||||
resettingThread: "در حال بازنشانی رشته...",
|
||||
stoppingCurrentRun: "در حال توقف اجرای فعلی...",
|
||||
chatHistoryCleared: "تاریخچه گفتگو پاک شد.",
|
||||
exportingThread: "در حال صدور رشته...",
|
||||
unknownCommand: "فرمان ناشناخته: `{command}`",
|
||||
options: "گزینهها: {options}.",
|
||||
sessionUnavailable: "قابلیت نشست در دسترس نیست",
|
||||
help: {
|
||||
availableCommands: "فرمانهای موجود",
|
||||
agentCommand: "عامل",
|
||||
openMenu: "برای باز کردن منوی فرمان `/` را تایپ کنید.",
|
||||
},
|
||||
compaction: {
|
||||
failed: "فشردهسازی ناموفق بود.",
|
||||
failedWithReason: "فشردهسازی ناموفق بود: {reason}",
|
||||
tokenSummary: " ({before} -> {after} توکن)",
|
||||
succeeded: "زمینه با موفقیت فشرده شد",
|
||||
skipped: "فشردهسازی رد شد.",
|
||||
skippedWithReason: "فشردهسازی رد شد: {reason}",
|
||||
},
|
||||
model: {
|
||||
current: "**مدل فعلی:** {model}",
|
||||
available: "**موجود:** {models}",
|
||||
more: "+{count} مورد دیگر",
|
||||
getFailed: "دریافت اطلاعات مدل ناموفق بود: {error}",
|
||||
set: "مدل روی {model} تنظیم شد.",
|
||||
setFailed: "تنظیم مدل ناموفق بود: {error}",
|
||||
},
|
||||
thinking: {
|
||||
current: "سطح تفکر فعلی: {level}.",
|
||||
getFailed: "دریافت سطح تفکر ناموفق بود: {error}",
|
||||
reset: "سطح تفکر به حالت پیشفرض بازنشانی شد.",
|
||||
resetFailed: "بازنشانی سطح تفکر ناموفق بود: {error}",
|
||||
unrecognized: "سطح تفکر «{level}» شناخته نشد. سطوح معتبر: {options}.",
|
||||
unsupported: "سطح تفکر «{level}» برای این مدل پشتیبانی نمیشود. سطوح معتبر: {options}.",
|
||||
set: "سطح تفکر روی {level} تنظیم شد.",
|
||||
setFailed: "تنظیم سطح تفکر ناموفق بود: {error}",
|
||||
},
|
||||
verbose: {
|
||||
current: "سطح پرگویی فعلی: {level}.",
|
||||
getFailed: "دریافت سطح پرگویی ناموفق بود: {error}",
|
||||
unrecognized: "سطح پرگویی «{level}» شناخته نشد. سطوح معتبر: off، on، full.",
|
||||
set: "حالت پرگویی روی {level} تنظیم شد.",
|
||||
setFailed: "تنظیم حالت پرگویی ناموفق بود: {error}",
|
||||
},
|
||||
fast: {
|
||||
autoValue: "خودکار ({seconds} ثانیه)",
|
||||
on: "روشن",
|
||||
off: "خاموش",
|
||||
sourceSession: " (نشست)",
|
||||
sourceAgent: " (پیشفرض: agent)",
|
||||
sourceModel: " (پیشفرض: model)",
|
||||
sourceDefault: " (پیشفرض)",
|
||||
current: "حالت سریع فعلی: {value}",
|
||||
options: "on، off، auto ({seconds} ثانیه)، default، status",
|
||||
getFailed: "دریافت حالت سریع ناموفق بود: {error}",
|
||||
reset: "حالت سریع به پیشفرض بازنشانی شد.",
|
||||
resetFailed: "بازنشانی حالت سریع ناموفق بود: {error}",
|
||||
unrecognized: "حالت سریع «{mode}» شناخته نشد. سطوح معتبر: on، off، auto، default، status.",
|
||||
setAuto: "حالت سریع روی auto تنظیم شد.",
|
||||
enabled: "حالت سریع فعال شد.",
|
||||
disabled: "حالت سریع غیرفعال شد.",
|
||||
setFailed: "تنظیم حالت سریع ناموفق بود: {error}",
|
||||
},
|
||||
usage: {
|
||||
noActiveThread: "هیچ رشته فعالی وجود ندارد.",
|
||||
notAvailable: "نامشخص",
|
||||
title: "مصرف رشته",
|
||||
inputTokens: "ورودی: {count} توکن",
|
||||
outputTokens: "خروجی: {count} توکن",
|
||||
totalTokens: "مجموع: {count} توکن",
|
||||
context: "زمینه: {percent} از {total}",
|
||||
model: "مدل: {model}",
|
||||
failed: "دریافت مصرف ناموفق بود: {error}",
|
||||
},
|
||||
agents: {
|
||||
none: "هیچ عاملی پیکربندی نشده است.",
|
||||
title: "**عاملها** ({count})",
|
||||
default: "پیشفرض",
|
||||
runtime: " · زمان اجرا {runtime}",
|
||||
failed: "فهرستکردن عاملها ناموفق بود: {error}",
|
||||
},
|
||||
steer: {
|
||||
timeout: "اجرای فعال پیش از پذیرفتهشدن پیام هدایت پایان یافت.",
|
||||
failed: "هدایت پیش از رسیدن به اجرا ناموفق بود؛ دوباره تلاش کنید.",
|
||||
usage: "استفاده: `/steer <message>`",
|
||||
noActiveRun:
|
||||
"هیچ اجرای فعالی وجود ندارد. بهجای آن از ورودی گفتوگو یا `/redirect` استفاده کنید.",
|
||||
succeeded: "هدایت شد.",
|
||||
requestFailed: "هدایت ناموفق بود: {error}",
|
||||
},
|
||||
redirect: {
|
||||
timeout: "اجرای فعال پیش از پذیرفتهشدن پیام تغییر مسیر پایان یافت.",
|
||||
failed: "تغییر مسیر پیش از رسیدن به اجرا ناموفق بود؛ دوباره تلاش کنید.",
|
||||
usage: "استفاده: `/redirect <message>`",
|
||||
succeeded: "تغییر مسیر داده شد.",
|
||||
requestFailed: "تغییر مسیر ناموفق بود: {error}",
|
||||
},
|
||||
},
|
||||
sessionSharing: {
|
||||
menu: "اشتراکگذاری گفتگو",
|
||||
current: "دیدهشدن گفتگو: {visibility}",
|
||||
@@ -4171,10 +4656,17 @@ export const fa: TranslationMap = {
|
||||
dismissUpdateBanner: "بستن بنر بهروزرسانی",
|
||||
switchedSession: "به {session} جابهجا شد",
|
||||
actions: {
|
||||
copyAsMarkdown: "کپی بهصورت markdown",
|
||||
dismissError: "بستن خطا",
|
||||
exitFocusMode: "خروج از حالت تمرکز",
|
||||
scrollToLatest: "پیمایش به جدیدترین",
|
||||
},
|
||||
markdown: {
|
||||
truncated: "… کوتاه شد ({total} نویسه، نمایش {shown} نویسهٔ اول).",
|
||||
},
|
||||
codeBlock: {
|
||||
jsonLines: "JSON · {count} خط",
|
||||
},
|
||||
workspaceConflict: {
|
||||
titleOne: "۱ تعارض فضای کاری ابری",
|
||||
titleMany: "{count} تعارض فضای کاری ابری",
|
||||
@@ -4268,6 +4760,7 @@ export const fa: TranslationMap = {
|
||||
threads: "رشتهها",
|
||||
groups: "گروهها",
|
||||
coding: "کدنویسی",
|
||||
noSessionsForAgent: "هیچ نشستی برای این عامل یافت نشد",
|
||||
catalogViewOptions: "گزینههای نمایش",
|
||||
catalogGroupByProject: "پروژه",
|
||||
catalogGroupByPerson: "شخص",
|
||||
@@ -4279,6 +4772,8 @@ export const fa: TranslationMap = {
|
||||
sessionMenu: "Actions for {session}",
|
||||
sessionMenuMany: "اقدامات برای {count} نشست",
|
||||
toolActivity: "در حال استفاده از {tool}",
|
||||
catalogDiscoveryHelp:
|
||||
"{error}. کشف بومی رشتهها را در Settings > Automation > Plugins پیکربندی کنید.",
|
||||
},
|
||||
welcome: {
|
||||
hintBeforeShortcut: "Type a message below ·",
|
||||
@@ -4312,12 +4807,23 @@ export const fa: TranslationMap = {
|
||||
steered: "هدایتشده",
|
||||
steerQueuedMessage: "هدایت پیام در صف",
|
||||
removeQueuedMessage: "حذف پیام در صف",
|
||||
states: {
|
||||
steering: "هدایت",
|
||||
applyingSettings: "در حال اعمال تنظیمات گفتگو",
|
||||
waitingForRun: "در انتظار اجرای فعلی",
|
||||
runningCommand: "در حال اجرای فرمان",
|
||||
waitingForReconnect: "در انتظار اتصال مجدد",
|
||||
needsReview: "نیازمند بازبینی",
|
||||
},
|
||||
imageCount: "تصویر ({count})",
|
||||
},
|
||||
goals: {
|
||||
edit: "ویرایش هدف",
|
||||
pause: "توقف هدف",
|
||||
resume: "ازسرگیری هدف",
|
||||
clear: "پاک کردن هدف",
|
||||
showDetails: "نمایش جزئیات هدف",
|
||||
hideDetails: "پنهان کردن جزئیات هدف",
|
||||
},
|
||||
questions: {
|
||||
title: "Codex به ورودی نیاز دارد",
|
||||
@@ -4343,6 +4849,7 @@ export const fa: TranslationMap = {
|
||||
unavailable: "در دسترس نیست",
|
||||
expired: "منقضیشده",
|
||||
cancelled: "لغوشده",
|
||||
disconnected: "متصل نیست. پس از اتصال مجدد دوباره تلاش کنید.",
|
||||
},
|
||||
imageLightbox: {
|
||||
label: "پیشنمایش تصویر: {title}",
|
||||
@@ -4363,6 +4870,12 @@ export const fa: TranslationMap = {
|
||||
reply: "پاسخ",
|
||||
replyToMessage: "پاسخ به پیام",
|
||||
replyingTo: "در پاسخ به {name}",
|
||||
message: "پیام",
|
||||
currentMessage: "پیام فعلی",
|
||||
actions: "کنشهای پیام",
|
||||
selectionActions: "کنشهای انتخاب",
|
||||
moreDetails: "جزئیات بیشتر",
|
||||
askInSideChat: "پرسیدن در گفتگوی جانبی",
|
||||
rewind: "بازگشت",
|
||||
rewindConfirm: "بازگشت به قبل از این پیام؟",
|
||||
rewindToHere: "بازگشت به اینجا",
|
||||
@@ -4372,14 +4885,35 @@ export const fa: TranslationMap = {
|
||||
showMore: "نمایش بیشتر",
|
||||
unknownDate: "تاریخ نامشخص",
|
||||
voiceNote: "یادداشت صوتی",
|
||||
duplicatesCollapsed: "{count} پیام یکسان متوالی جمع شد",
|
||||
contextFor: "زمینه پیام برای {timestamp}",
|
||||
},
|
||||
mediaPlayer: {
|
||||
play: "پخش",
|
||||
pause: "توقف",
|
||||
seek: "جستجوی رسانه",
|
||||
download: "دانلود {filename}",
|
||||
videoUnavailable: "این قالب قابل پخش نیست — بهجای آن دانلود کنید.",
|
||||
},
|
||||
modelControls: {
|
||||
current: "فعلی",
|
||||
default: "پیشفرض",
|
||||
reasoning: "استدلال",
|
||||
speed: "سرعت",
|
||||
sessionOverride: "بازنویسی رشته",
|
||||
useDefault: "استفاده از پیشفرض",
|
||||
usingDefault: "استفاده از پیشفرض تنظیمات",
|
||||
resetToDefault: "بازنشانی به پیشفرض ({model})",
|
||||
defaultWithModel: "پیشفرض ({model})",
|
||||
defaultWithLevel: "پیشفرض ({level})",
|
||||
fastHelp:
|
||||
"پاسخهای سریع زودتر تمام میشوند و میتوانند بخش بیشتری از محدودیتهای مصرف شما را استفاده کنند.",
|
||||
speedUnsupported: "کنترل سرعت برای این مدل پشتیبانی نمیشود.",
|
||||
contextWindow: "{count} زمینه",
|
||||
providerModels: "مدلهای {provider}",
|
||||
resetReasoning: "بازنشانی به پیشفرض ({level})",
|
||||
useDefaultReasoning: "استفاده از استدلال پیشفرض ({level})",
|
||||
fastResponsesAria: "پاسخهای سریع: {state}",
|
||||
},
|
||||
rail: {
|
||||
title: "همراه نشست",
|
||||
@@ -4449,6 +4983,21 @@ export const fa: TranslationMap = {
|
||||
renderedMarkdownHint: "پیشنمایش متن غنی پاکسازیشده برای خواندن سریع.",
|
||||
noPreviewableMarkdown: "محتوای markdown قابل پیشنمایشی وجود ندارد.",
|
||||
noContent: "محتوایی در دسترس نیست",
|
||||
fullContentOversized:
|
||||
"محتوای کامل در دسترس نیست زیرا ورودی رونوشت ذخیرهشده برای بازگرداندن ایمن بیش از حد بزرگ است.",
|
||||
fullContentNotVisible:
|
||||
"محتوای کامل در دسترس نیست زیرا این ورودی رونوشت یک نمایش WebChat قابل مشاهده ندارد.",
|
||||
fullContentUnavailable: "محتوای کامل دیگر برای این ورودی رونوشت در دسترس نیست.",
|
||||
copyContents: "کپی محتوای فایل",
|
||||
fileChanged: "فایل از زمان بارگذاری روی دیسک تغییر کرده است.",
|
||||
renderPreview: "نمایش پیشنمایش",
|
||||
imagePreview: "پیشنمایش تصویر",
|
||||
file: "فایل",
|
||||
markdownPreview: "پیشنمایش Markdown",
|
||||
toolDetails: "جزئیات ابزار",
|
||||
reloadFailed: "بارگذاری مجدد آخرین فایل ناموفق بود.",
|
||||
overwriteLoadFailed: "بارگذاری آخرین فایل پیش از بازنویسی ناموفق بود.",
|
||||
fullContentLoadFailed: "بارگذاری محتوای کامل ناموفق بود: {error}",
|
||||
},
|
||||
sidebarColumns: {
|
||||
chat: "چت",
|
||||
@@ -4467,6 +5016,7 @@ export const fa: TranslationMap = {
|
||||
unpin: "برداشتن سنجاق",
|
||||
loading: "در حال بارگذاری گفتگو",
|
||||
noMatches: "پیام منطبقی یافت نشد",
|
||||
pinnedCount: "{count} سنجاقشده",
|
||||
},
|
||||
pairingQrExpired: {
|
||||
title: "کد QR جفتسازی منقضی شد",
|
||||
@@ -4486,13 +5036,53 @@ export const fa: TranslationMap = {
|
||||
runDone: "انجام شد",
|
||||
runInterrupted: "قطع شد",
|
||||
runStatus: "وضعیت اجرا: {status}",
|
||||
compactingContext: "در حال فشردهسازی زمینه...",
|
||||
compacting: "در حال فشردهسازی",
|
||||
compact: "فشردهسازی",
|
||||
contextCompacted: "زمینه فشرده شد",
|
||||
fallbackActive: "بازگشتی فعال: {model}",
|
||||
fallbackCleared: "بازگشتی پاک شد: {model}",
|
||||
fallbackSelected: "انتخابشده: {model}",
|
||||
fallbackCurrent: "فعال: {model}",
|
||||
fallbackPrevious: "بازگشتی قبلی: {model}",
|
||||
fallbackReason: "دلیل: {reason}",
|
||||
fallbackAttempts: "تلاشها: {attempts}",
|
||||
cancelReply: "لغو پاسخ",
|
||||
attachmentPreview: "پیشنمایش پیوست",
|
||||
compactRecommendedContext: "فشردهسازی زمینه پیشنهادی نشست",
|
||||
removeAttachment: "حذف پیوست",
|
||||
addAttachment: "افزودن پیوست",
|
||||
attachPhoto: "عکس",
|
||||
attachFile: "Attach file",
|
||||
attachFileOption: "فایل",
|
||||
menu: {
|
||||
back: "بازگشت",
|
||||
skills: "Skills",
|
||||
connectors: "اتصالدهندهها",
|
||||
webSearch: "جستوجوی وب",
|
||||
managePlugins: "مدیریت افزونهها",
|
||||
manageSkills: "مدیریت Skills",
|
||||
browseConnectors: "مرور رابطها",
|
||||
addMcpServer: "افزودن سرور MCP…",
|
||||
toolAccess: "دسترسی ابزار",
|
||||
enabledCount: "{count} فعال",
|
||||
loadingSkills: "در حال بارگذاری Skills…",
|
||||
skillsLoadFailed: "بارگذاری Skills ممکن نشد.",
|
||||
noSkills: "هیچ Skill در دسترس نیست.",
|
||||
noConnectors: "هیچ سرور MCP پیکربندی نشده است.",
|
||||
depsMissing: "وابستگیها موجود نیست",
|
||||
skillBlocked: "برای این عامل در دسترس نیست",
|
||||
sessionTag: "نشست",
|
||||
offlineBlocked: "برای تغییر قابلیتهای نشست به Gateway متصل شوید.",
|
||||
readOnlyBlocked: "برای تغییر قابلیتهای نشست دسترسی نوشتن لازم است.",
|
||||
adminBlocked: "برای مدیریت رابطها دسترسی مدیر لازم است.",
|
||||
savingBlocked: "منتظر بمانید تا تغییر قابلیت نشست فعلی به پایان برسد.",
|
||||
},
|
||||
overrides: {
|
||||
count: "{count} بازنویسی نشست",
|
||||
countOne: "{count} بازنویسی نشست",
|
||||
clear: "پاک کردن بازنویسیهای نشست",
|
||||
},
|
||||
contextUsage: {
|
||||
title: "جزئیات استفاده از زمینه",
|
||||
open: "باز کردن جزئیات استفاده از زمینه",
|
||||
@@ -4563,6 +5153,17 @@ export const fa: TranslationMap = {
|
||||
turnCameraOn: "روشن کردن دوربین",
|
||||
voiceTranscript: "رونویسی صوتی",
|
||||
},
|
||||
attachments: {
|
||||
attachedFile: "فایل پیوستشده",
|
||||
outsideAllowedFolders: "خارج از پوشههای مجاز",
|
||||
unavailable: "در دسترس نیست",
|
||||
checking: "در حال بررسی...",
|
||||
},
|
||||
voice: {
|
||||
asking: "در حال پرسیدن از OpenClaw...",
|
||||
connecting: "در حال اتصال ورودی صوتی...",
|
||||
listening: "در حال شنیدن...",
|
||||
},
|
||||
selectors: {
|
||||
session: "Chat session",
|
||||
sessionSearch: "جستجوی نشستها",
|
||||
@@ -4764,6 +5365,7 @@ export const fa: TranslationMap = {
|
||||
ru: "Русский (روسی)",
|
||||
},
|
||||
cron: {
|
||||
adminRequired: "فقط مرور. تغییرات خودکارسازی به دسترسی operator.admin نیاز دارد.",
|
||||
tabs: {
|
||||
filterLabel: "وضعیت خودکارسازی",
|
||||
all: "همه",
|
||||
|
||||
Generated
+655
-36
File diff suppressed because it is too large
Load Diff
Generated
+630
-34
@@ -8,6 +8,7 @@ export const hi: TranslationMap = {
|
||||
ok: "ठीक है",
|
||||
yes: "हाँ",
|
||||
no: "नहीं",
|
||||
assistant: "असिस्टेंट",
|
||||
active: "सक्रिय",
|
||||
loading: "लोड हो रहा है…",
|
||||
refreshing: "रीफ़्रेश हो रहा है…",
|
||||
@@ -35,8 +36,11 @@ export const hi: TranslationMap = {
|
||||
create: "बनाएँ",
|
||||
copy: "कॉपी करें",
|
||||
copied: "कॉपी किया गया!",
|
||||
copyFailed: "कॉपी विफल",
|
||||
copyCode: "कोड कॉपी करें",
|
||||
resizeSplitView: "स्प्लिट व्यू का आकार बदलें",
|
||||
delete: "हटाएँ",
|
||||
remove: "हटाएँ",
|
||||
dismiss: "खारिज करें",
|
||||
unselect: "चयन हटाएँ",
|
||||
enabled: "सक्षम",
|
||||
@@ -45,6 +49,9 @@ export const hi: TranslationMap = {
|
||||
none: "कोई नहीं",
|
||||
na: "लागू नहीं",
|
||||
never: "कभी नहीं",
|
||||
justNow: "अभी-अभी",
|
||||
now: "अभी",
|
||||
unknown: "अज्ञात",
|
||||
configured: "कॉन्फ़िगर किया गया",
|
||||
running: "चल रहा है",
|
||||
linked: "लिंक किया गया",
|
||||
@@ -70,6 +77,7 @@ export const hi: TranslationMap = {
|
||||
settingsSections: "सेटिंग्स अनुभाग",
|
||||
version: "संस्करण",
|
||||
docs: "दस्तावेज़",
|
||||
learnMore: "और जानें",
|
||||
theme: "थीम",
|
||||
colorMode: "रंग मोड",
|
||||
colorModeOption: "रंग मोड: {mode}",
|
||||
@@ -113,10 +121,24 @@ export const hi: TranslationMap = {
|
||||
filteredFileCount: "{count}/{total} फ़ाइलें",
|
||||
noMatches: "कोई फ़ाइल मेल नहीं खाती।",
|
||||
navigate: "नेविगेट करें",
|
||||
kind: {
|
||||
text: "टेक्स्ट",
|
||||
shell: "शेल",
|
||||
file: "फ़ाइल",
|
||||
},
|
||||
},
|
||||
mcpApp: {
|
||||
title: "MCP App",
|
||||
unavailable: "MCP App अनुपलब्ध: {error}",
|
||||
errors: {
|
||||
gatewayUnavailable: "MCP App gateway अनुपलब्ध",
|
||||
mountUnavailable: "MCP App माउंट अनुपलब्ध",
|
||||
sandboxTimedOut: "MCP App सैंडबॉक्स का समय समाप्त हो गया",
|
||||
sandboxUnavailable: "MCP App सैंडबॉक्स अनुपलब्ध",
|
||||
initializationTimedOut: "MCP App आरंभीकरण का समय समाप्त हो गया",
|
||||
requestFailed: "अनुरोध विफल रहा",
|
||||
invalidSandboxUrl: "MCP App सैंडबॉक्स URL अमान्य है",
|
||||
},
|
||||
},
|
||||
githubPreview: {
|
||||
loading: "GitHub विवरण लोड हो रहा है…",
|
||||
@@ -232,6 +254,7 @@ export const hi: TranslationMap = {
|
||||
"अपने फ़ोन पर WhatsApp → सेटिंग्स → लिंक किए गए डिवाइस → डिवाइस लिंक करें खोलें, फिर इस कोड को स्कैन करें।",
|
||||
whatsappQrLoading: "QR कोड जनरेट किया जा रहा है…",
|
||||
whatsappQrHint: "पेयरिंग कोड जनरेट करने के लिए QR दिखाएँ पर क्लिक करें।",
|
||||
whatsappQrAlt: "WhatsApp QR",
|
||||
whatsappLinked: "WhatsApp लिंक हो गया है और तैयार है।",
|
||||
regenerateQr: "नया QR कोड",
|
||||
linkLater: "बाद में लिंक करें",
|
||||
@@ -321,6 +344,19 @@ export const hi: TranslationMap = {
|
||||
nip05: "you@example.com",
|
||||
lightningAddress: "you@getalby.com",
|
||||
},
|
||||
notices: {
|
||||
timeout:
|
||||
"30 सेकंड बाद अनुरोध का समय समाप्त हो गया; हो सकता है कि सर्वर ने फिर भी बदलाव लागू कर दिया हो — पुनः प्रयास करने से पहले प्रोफ़ाइल जांचें।",
|
||||
operationFailed: "{prefix}: {error}",
|
||||
updateFailed: "प्रोफ़ाइल अपडेट विफल",
|
||||
updateFailedStatus: "प्रोफ़ाइल अपडेट विफल ({status})",
|
||||
publishFailed: "सभी रिले पर प्रोफ़ाइल प्रकाशन विफल।",
|
||||
published: "प्रोफ़ाइल रिले पर प्रकाशित की गई।",
|
||||
importFailed: "प्रोफ़ाइल आयात विफल",
|
||||
importFailedStatus: "प्रोफ़ाइल आयात विफल ({status})",
|
||||
importedFromRelays: "रिले से प्रोफ़ाइल आयात की गई। समीक्षा करें और प्रकाशित करें।",
|
||||
imported: "प्रोफ़ाइल आयात की गई। समीक्षा करें और प्रकाशित करें।",
|
||||
},
|
||||
},
|
||||
},
|
||||
lazyView: {
|
||||
@@ -331,6 +367,47 @@ export const hi: TranslationMap = {
|
||||
staleSubtitle: "OpenClaw को बैकग्राउंड में अपडेट किया गया था। नवीनतम पैनल पाने के लिए फिर से लोड करें।",
|
||||
reloading: "रीलोड हो रहा है…",
|
||||
retry: "फिर से प्रयास करें",
|
||||
stylesFailed: "स्टाइल लोड होने में विफल रहे, इसलिए पृष्ठ टूटा हुआ दिख सकता है।",
|
||||
},
|
||||
updates: {
|
||||
refreshRequired: "सर्वर अपडेट हुआ — पूर्ण क्षमताओं के लिए रीफ़्रेश करें",
|
||||
coalescedRestart:
|
||||
"अपडेट इंस्टॉल हुआ। gateway रीस्टार्ट पहले से प्रगति में है; पुनः कनेक्ट होने के बाद स्थिति रीफ़्रेश होगी।",
|
||||
error: "अपडेट त्रुटि: {error}",
|
||||
status: "अपडेट {status}: {reason}। {guidance}",
|
||||
verificationFailed: "अपडेट इंस्टॉल हुआ लेकिन चल रहा संस्करण नहीं बदला — रीस्टार्ट अवरुद्ध हो सकता है।",
|
||||
verificationFailedWithVersions:
|
||||
"अपडेट इंस्टॉल हुआ लेकिन चल रहा संस्करण नहीं बदला — रीस्टार्ट अवरुद्ध हो सकता है। अपेक्षित v{expectedVersion}, चल रहा v{actualVersion}।",
|
||||
handoffTimeout:
|
||||
"अपडेट हैंडऑफ़ शुरू हुआ, लेकिन पुनः कनेक्ट होने के बाद पूर्णता की रिपोर्ट नहीं मिली। अंतिम परिणाम के लिए `openclaw update status` चलाएँ।",
|
||||
failureReasons: {
|
||||
dirty: "बदलावों को कमिट या स्टैश करें, फिर पुनः प्रयास करें।",
|
||||
noUpstream: "एक upstream ब्रांच सेट करें, फिर पुनः प्रयास करें।",
|
||||
notGitInstall: "यह git checkout नहीं है। ग्लोबल पुनः इंस्टॉल के लिए CLI से `openclaw update` चलाएँ।",
|
||||
notOpenclawRoot: "अपडेट को OpenClaw checkout से चलाएँ या CLI ग्लोबल पुनः इंस्टॉल पथ का उपयोग करें।",
|
||||
depsInstallFailed: "डिपेंडेंसी इंस्टॉल विफल हुआ। इंस्टॉल त्रुटि ठीक करें और पुनः प्रयास करें।",
|
||||
buildFailed: "बिल्ड विफल हुआ। बिल्ड त्रुटि ठीक करें और पुनः प्रयास करें।",
|
||||
buildDirty:
|
||||
"चयनित रिवीजन के बिल्ड ने checkout फ़ाइलें बदल दीं। ऐसे रिवीजन के साथ पुनः प्रयास करें जिसमें उसके जनरेट किए गए artifacts शामिल हों।",
|
||||
uiBuildFailed: "Control UI का रीबिल्ड विफल रहा। UI बिल्ड त्रुटि ठीक करें और पुनः प्रयास करें।",
|
||||
globalInstallFailed:
|
||||
"ग्लोबल पैकेज इंस्टॉल डिस्क पर सत्यापित नहीं हुआ। पुनः प्रयास करें या CLI से फिर से इंस्टॉल करें।",
|
||||
restartDisabled:
|
||||
"अपडेट लागू नहीं किया गया क्योंकि Gateway रीस्टार्ट अक्षम हैं। config में रीस्टार्ट सक्षम करें, फिर पुनः प्रयास करें।",
|
||||
restartUnavailable:
|
||||
"जब रीस्टार्ट अक्षम हैं और कोई supervisor मौजूद नहीं है, तब इस ग्लोबल इंस्टॉल को सुरक्षित रूप से प्रतिस्थापित नहीं किया जा सकता।",
|
||||
restartUnhealthy:
|
||||
"प्रतिस्थापन प्रक्रिया कभी स्वस्थ नहीं हुई। पिछली प्रक्रिया चालू रही ताकि आप पुनर्प्राप्त कर सकें।",
|
||||
managedServiceHandoffAlreadyRunning:
|
||||
"एक अन्य managed अपडेट पहले से चल रहा है। इसके पूरा होने की प्रतीक्षा करें, फिर अपडेट स्थिति रिफ़्रेश करें।",
|
||||
doctorFailed:
|
||||
"Doctor रिपेयर विफल रहा। `openclaw doctor --non-interactive` चलाएँ और पुनः प्रयास करें।",
|
||||
default: "सटीक विफलता के लिए Gateway लॉग देखें और कारण ठीक होने के बाद पुनः प्रयास करें।",
|
||||
},
|
||||
postRestart: {
|
||||
restartUnhealthy: "प्रतिस्थापन प्रक्रिया कभी स्वस्थ नहीं हुई और पिछली प्रक्रिया चालू रही।",
|
||||
default: "प्रतिस्थापन विफलता के लिए Gateway लॉग जाँचें।",
|
||||
},
|
||||
},
|
||||
nodes: {
|
||||
pairing: {
|
||||
@@ -813,6 +890,10 @@ export const hi: TranslationMap = {
|
||||
},
|
||||
agents: {
|
||||
noAgents: "कोई एजेंट नहीं",
|
||||
defaults: {
|
||||
title: "Agent डिफ़ॉल्ट",
|
||||
description: "डिफ़ॉल्ट जो हर agent को विरासत में मिलते हैं जब तक ओवरराइड न किए जाएँ।",
|
||||
},
|
||||
copyId: "ID कॉपी करें",
|
||||
copyIdTitle: "एजेंट ID को क्लिपबोर्ड पर कॉपी करें",
|
||||
default: "डिफ़ॉल्ट",
|
||||
@@ -1014,6 +1095,9 @@ export const hi: TranslationMap = {
|
||||
noEvents: "अभी कोई इवेंट नहीं।",
|
||||
},
|
||||
configForm: {
|
||||
redactedPlaceholder: "[redacted - देखने के लिए reveal पर क्लिक करें]",
|
||||
sectionHelp: "{section} के लिए सहायता",
|
||||
readGuide: "गाइड पढ़ें",
|
||||
showAdvanced: "उन्नत दिखाएँ",
|
||||
advancedHidden: "{count} उन्नत सेटिंग छिपी हुई",
|
||||
advancedHiddenPlural: "{count} उन्नत सेटिंग्स छिपी हुई",
|
||||
@@ -1201,9 +1285,12 @@ export const hi: TranslationMap = {
|
||||
lobsterdexSeen: "{seen}/{total} देखे गए",
|
||||
lobsterdexFirstVisited: "{name} · पहली बार {date} को देखा गया",
|
||||
lobsterdexCardFirstVisited: "पहली बार देखा गया {date}",
|
||||
lobsterdexCardShinySeen: "✦ Shiny देखा गया {date}",
|
||||
lobsterdexCardCopyLink: "लिंक कॉपी करें",
|
||||
lobsterdexOpen: "Lobsterdex खोलें",
|
||||
},
|
||||
security: {
|
||||
intro: "गेटवे एक्सेस, टूल नीति, डिवाइस प्रमाणीकरण, और अनुमोदन की समीक्षा करें।",
|
||||
title: "सुरक्षा",
|
||||
gatewayAuth: "Gateway auth",
|
||||
execPolicy: "Exec नीति",
|
||||
@@ -1370,6 +1457,7 @@ export const hi: TranslationMap = {
|
||||
"macOS में OpenClaw के लिए सूचनाएँ अक्षम हैं। उन्हें System Settings > Notifications में अनुमति दें।",
|
||||
},
|
||||
appearance: {
|
||||
intro: "इस Control UI क्लाइंट के लिए थीम, चैट, और साइडबार प्राथमिकताएँ।",
|
||||
theme: "थीम",
|
||||
chooseTheme: "एक थीम परिवार चुनें।",
|
||||
importedTheme: "आयातित थीम",
|
||||
@@ -1440,11 +1528,11 @@ export const hi: TranslationMap = {
|
||||
open: "खोलें",
|
||||
applying: "लागू किया जा रहा है…",
|
||||
autoSaveSaving: "सहेजा जा रहा है…",
|
||||
autoSaveSaved: "सहेजा गया",
|
||||
autoSaveFailed: "सहेजना विफल",
|
||||
autoSaveConflict: "सेटिंग्स कहीं और बदली गईं",
|
||||
retry: "पुनः प्रयास करें",
|
||||
applyBannerText: "openclaw.json में सहेजा गया — लागू करने के लिए gateway पुनः आरंभ करें।",
|
||||
applyBannerAction: "पुनः आरंभ करें और लागू करें",
|
||||
applyChanges: "परिवर्तन लागू करें",
|
||||
rawDiscard: "खारिज करें",
|
||||
rawDraftBlocksApply: "सहेजे न गए raw config संपादन — पुनः आरंभ करने से पहले Raw editor में सहेजें या त्यागें।",
|
||||
rawDraftPendingFormTitle: "सहेजे न गए raw config संपादन — Form पर स्विच करने से पहले सहेजें या त्यागें।",
|
||||
@@ -1687,7 +1775,6 @@ export const hi: TranslationMap = {
|
||||
forward: "आगे",
|
||||
chat: "चैट",
|
||||
settings: "सेटिंग्स",
|
||||
settingsGeneral: "सामान्य",
|
||||
askOpenClaw: "OpenClaw से पूछें",
|
||||
settingsGroupConnections: "कनेक्शन",
|
||||
settingsGroupAgents: "एजेंट और टूल्स",
|
||||
@@ -1743,6 +1830,11 @@ export const hi: TranslationMap = {
|
||||
dockBottom: "Dock to bottom",
|
||||
dockRight: "Dock to right",
|
||||
unavailable: "The terminal is not available on this gateway.",
|
||||
uploadTooLarge: "फ़ाइल 16 MiB टर्मिनल अपलोड सीमा से अधिक है: {file}",
|
||||
uploadUnsafeCmdPath:
|
||||
"cmd.exe में % या ! वाले अपलोड किए गए पथ को सुरक्षित रूप से सम्मिलित नहीं किया जा सकता",
|
||||
uploadUnsupportedShell:
|
||||
"असमर्थित शेल में अपलोड किए गए पथ को सुरक्षित रूप से सम्मिलित नहीं किया जा सकता: {shell}",
|
||||
},
|
||||
browser: {
|
||||
title: "ब्राउज़र",
|
||||
@@ -1779,6 +1871,15 @@ export const hi: TranslationMap = {
|
||||
noChatTarget: "पहले एक चैट सत्र खोलें ताकि एनोटेशन भेजने के लिए जगह हो।",
|
||||
inspectUnavailable: "एलिमेंट निरीक्षण अक्षम है (browser.evaluateEnabled=false)।",
|
||||
annotationSent: "एनोटेशन चैट कंपोज़र में जोड़ दिया गया।",
|
||||
errors: {
|
||||
requestFailed: "ब्राउज़र अनुरोध विफल: {error}",
|
||||
screenshotPathMissing: "ब्राउज़र स्क्रीनशॉट ने कोई मीडिया पथ नहीं लौटाया।",
|
||||
screenshotFetchTimedOut: "स्क्रीनशॉट फ़ेच का समय समाप्त हो गया।",
|
||||
screenshotFetchFailed: "स्क्रीनशॉट फ़ेच विफल ({status})।",
|
||||
screenshotReadFailed: "स्क्रीनशॉट पढ़ना विफल।",
|
||||
screenshotDecodeFailed: "स्क्रीनशॉट डिकोड विफल।",
|
||||
canvasUnavailable: "Canvas 2D संदर्भ अनुपलब्ध।",
|
||||
},
|
||||
annotatePrompt: {
|
||||
introTitled:
|
||||
'मैंने {url} पर पेज को एनोटेट किया (पेज द्वारा बताई गई शीर्षक: "{title}") — संलग्न स्क्रीनशॉट में मेरा मार्कअप दिखता है।',
|
||||
@@ -1824,6 +1925,7 @@ export const hi: TranslationMap = {
|
||||
automation: "ऑटोमेशन",
|
||||
mcp: "MCP",
|
||||
memory: "मेमोरी",
|
||||
talk: "Talk",
|
||||
infrastructure: "इन्फ्रास्ट्रक्चर",
|
||||
labs: "Labs",
|
||||
about: "परिचय",
|
||||
@@ -1863,6 +1965,7 @@ export const hi: TranslationMap = {
|
||||
automation: "कमांड, हुक, cron, और प्लगइन।",
|
||||
mcp: "MCP सर्वर, auth, टूल, और डायग्नोस्टिक्स।",
|
||||
memory: "Memory engine, backend, search और dreaming।",
|
||||
talk: "रीयलटाइम आवाज़: प्रदाता, मॉडल, और स्पीकर आवाज़।",
|
||||
infrastructure: "Gateway, web, browser, और media सेटिंग्स।",
|
||||
labs: "प्रयोगात्मक एजेंट और टूल क्षमताएँ।",
|
||||
about: "Control UI और कनेक्टेड Gateway बिल्ड पहचान।",
|
||||
@@ -1881,6 +1984,16 @@ export const hi: TranslationMap = {
|
||||
heading: "अपना AI कनेक्ट करें",
|
||||
intro:
|
||||
"OpenClaw आपके पास पहले से मौजूद AI एक्सेस का दोबारा उपयोग करता है — CLI लॉगिन, API कुंजी या प्रदाता साइन-इन।",
|
||||
required: {
|
||||
title: "कोई AI प्रदाता कॉन्फ़िगर नहीं किया गया",
|
||||
body: "OpenClaw इस एजेंट के लिए कॉन्फ़िगर किया गया प्रदाता और मॉडल नहीं ढूँढ सका। बातचीत शुरू करने से पहले एक जोड़ें।",
|
||||
action: "एक प्रदाता कॉन्फ़िगर करें",
|
||||
},
|
||||
connectionFailure: {
|
||||
title: "OpenClaw आपके कॉन्फ़िगर किए गए AI का उपयोग नहीं कर सका",
|
||||
body: "इस एजेंट में एक प्रदाता और मॉडल चयनित है, लेकिन कनेक्शन विफल रहा। प्रदाता लॉगिन या API कुंजी, मॉडल एक्सेस, और सेवा स्थिति जाँचें, फिर पुनः प्रयास करें।",
|
||||
action: "प्रदाता सेटिंग्स जाँचें",
|
||||
},
|
||||
loading: "उपलब्ध AI एक्सेस के लिए इस Gateway की जाँच की जा रही है…",
|
||||
retry: "पुनः प्रयास करें",
|
||||
checkAgain: "फिर से जाँचें",
|
||||
@@ -1911,6 +2024,8 @@ export const hi: TranslationMap = {
|
||||
},
|
||||
unavailable: {
|
||||
title: "पता लगाया गया, लेकिन स्वचालित रूप से परीक्षण नहीं किया गया",
|
||||
signIn: "{provider} से साइन इन करें",
|
||||
useApiKey: "API कुंजी का उपयोग करें",
|
||||
},
|
||||
signIn: {
|
||||
title: "किसी प्रदाता के साथ साइन इन करें",
|
||||
@@ -2014,6 +2129,39 @@ export const hi: TranslationMap = {
|
||||
agent: "गंतव्य एजेंट",
|
||||
replaceExisting: "मौजूदा आयात बदलें",
|
||||
replaceHint: "टकरावों का फिर से पूर्वावलोकन करें और बदलने से पहले आइटम बैकअप सुरक्षित रखें।",
|
||||
backfill: {
|
||||
title: "पिछले सत्रों से",
|
||||
subtitle:
|
||||
"पहले के एजेंट सत्रों से विश्वसनीय यादों को स्टेज करें। ड्रीमिंग उपयोगी यादों को दीर्घकालिक मेमोरी में बढ़ावा देती है।",
|
||||
dateRange: "सत्र तिथि सीमा",
|
||||
dateRangeHint: "पूरी उपलब्ध सीमा स्कैन करने के लिए कोई भी तिथि खाली छोड़ दें।",
|
||||
from: "से",
|
||||
to: "प्रति",
|
||||
actions: "बैकफिल",
|
||||
preview: "पूर्वावलोकन",
|
||||
previewing: "पूर्वावलोकन हो रहा है…",
|
||||
apply: "लागू करें",
|
||||
applying: "लागू किया जा रहा है…",
|
||||
rollback: "रोलबैक",
|
||||
previewSummary: "{days} दिनों में {candidates} उम्मीदवार",
|
||||
previewTruncated:
|
||||
"यह पूर्वावलोकन पहला सीमित बैच दिखाता है। लागू करना शेष उम्मीदवारों के माध्यम से जारी रहता है।",
|
||||
candidateCount: "{count} उम्मीदवार",
|
||||
noCandidates: "कोई नए विश्वसनीय सत्र उम्मीदवार नहीं मिले।",
|
||||
progress: "{days} दिन संसाधित · {staged} स्टेज किए गए",
|
||||
processedCandidates: "{count} सत्र उम्मीदवार संसाधित किए गए",
|
||||
processedDayCountOne: "{count} दिन संसाधित",
|
||||
processedDayCount: "{count} दिन संसाधित",
|
||||
complete: "{count} स्टेज किए गए; प्रमोशन ड्रीमिंग के माध्यम से होता है",
|
||||
rollbackConfirmTitle: "सत्र बैकफिल रोलबैक करें?",
|
||||
rollbackConfirmDescription:
|
||||
"इस एजेंट के लिए सत्र बैकफिल द्वारा बनाई गई डायरी प्रविष्टियाँ और स्टेज की गई यादें हटाएँ।",
|
||||
rollbackWarning:
|
||||
"ट्रैक किए गए सत्र कर्सर यथावत रहते हैं, इसलिए हटाई गई प्रविष्टियाँ फिर से स्टेज नहीं की जाएँगी।",
|
||||
rollbackComplete: "सत्र बैकफ़िल वापस रोल किया गया",
|
||||
rollbackCounts: "{diary} डायरी प्रविष्टियाँ और {staged} स्टेज की गई प्रविष्टियाँ हटाई गईं",
|
||||
unavailable: "इस Gateway पर सत्र बैकफ़िल उपलब्ध नहीं है।",
|
||||
},
|
||||
},
|
||||
onboarding: {
|
||||
memoryImport: {
|
||||
@@ -2054,6 +2202,14 @@ export const hi: TranslationMap = {
|
||||
connectionChanged: "Gateway कनेक्शन बदल गया। इस सेटअप को जारी रखने के लिए पुनः प्रयास करें।",
|
||||
sessionRestarted: "{error} OpenClaw ने एक नया सत्र शुरू किया; संदर्भ के लिए पहले के संदेश बने रहते हैं।",
|
||||
unsupportedGateway: "OpenClaw के साथ सेटअप जारी रखने के लिए Gateway को अपडेट करें।",
|
||||
panel: {
|
||||
title: "OpenClaw",
|
||||
toggle: "OpenClaw से पूछें",
|
||||
close: "Ask OpenClaw बंद करें",
|
||||
resize: "Ask OpenClaw का आकार बदलें",
|
||||
dockBottom: "Ask OpenClaw को नीचे डॉक करें",
|
||||
dockRight: "Ask OpenClaw को दाईं ओर डॉक करें",
|
||||
},
|
||||
history: {
|
||||
button: "इतिहास",
|
||||
title: "हाल के बदलाव",
|
||||
@@ -2112,12 +2268,14 @@ export const hi: TranslationMap = {
|
||||
working: "काम हो रहा है…",
|
||||
},
|
||||
mcpPage: {
|
||||
intro: "OpenClaw को टूल प्रदान करने वाले MCP सर्वर कनेक्ट और प्रबंधित करें।",
|
||||
connectorsLink: "Plugins पृष्ठ पर एक-क्लिक कनेक्टर खोजें।",
|
||||
servers: "सर्वर",
|
||||
oauth: "OAuth",
|
||||
filtered: "फ़िल्टर किया गया",
|
||||
configuredServers: "कॉन्फ़िगर किए गए सर्वर",
|
||||
noServers: "कोई MCP सर्वर कॉन्फ़िगर नहीं किया गया।",
|
||||
setUpFirstServer: "अपना पहला MCP सर्वर सेट अप करें",
|
||||
operatorCommands: "MCP ऑपरेटर कमांड",
|
||||
operatorCommandsHint: "स्थिति, डायग्नोस्टिक्स, प्रमाणन, प्रोबिंग, और रनटाइम रीलोड।",
|
||||
runtimeHint:
|
||||
@@ -2127,12 +2285,134 @@ export const hi: TranslationMap = {
|
||||
tlsVerifyOff: "TLS सत्यापन बंद",
|
||||
mtls: "mTLS",
|
||||
},
|
||||
talkPage: {
|
||||
intro: "रियलटाइम वॉइस प्रदाता, मॉडल और स्पीकर वॉइस कॉन्फ़िगर करें।",
|
||||
voiceSection: {
|
||||
title: "रियलटाइम वॉइस",
|
||||
description:
|
||||
"अपने एजेंट के साथ निरंतर स्पीच वार्तालाप। नीचे दिए गए पिकर talk.realtime सेटिंग्स लिखते हैं; नीचे दिया गया पूरा फ़ॉर्म बाकी सब कुछ कवर करता है।",
|
||||
},
|
||||
status: {
|
||||
title: "स्थिति",
|
||||
ready: "तैयार",
|
||||
notReady: "कॉन्फ़िगर नहीं किया गया",
|
||||
unavailable: "अनुपलब्ध",
|
||||
unavailableHint: "रियलटाइम वॉइस तत्परता जाँचने के लिए Gateway से कनेक्ट करें।",
|
||||
activeProvider: "सक्रिय प्रदाता: {provider}",
|
||||
noProvider: "अभी तक कोई रियलटाइम वॉइस प्रदाता कॉन्फ़िगर नहीं किया गया है।",
|
||||
},
|
||||
provider: {
|
||||
title: "प्रदाता",
|
||||
description: "Auto उन में से पहला प्रदाता चुनता है जिसके क्रेडेंशियल काम कर रहे हों।",
|
||||
auto: "स्वचालित",
|
||||
},
|
||||
model: {
|
||||
title: "मॉडल",
|
||||
description: "ब्राउज़र Talk सत्रों के लिए रियलटाइम वॉइस मॉडल।",
|
||||
default: "प्रदाता डिफ़ॉल्ट",
|
||||
defaultNamed: "डिफ़ॉल्ट ({model})",
|
||||
},
|
||||
voice: {
|
||||
title: "स्पीकर वॉइस",
|
||||
description:
|
||||
"बोले गए उत्तरों के लिए उपयोग की जाने वाली वॉइस। GPT-Live कॉल शुरू होते ही वॉइस को लॉक कर देता है।",
|
||||
default: "प्रोवाइडर डिफ़ॉल्ट",
|
||||
},
|
||||
gptLive: {
|
||||
title: "GPT-Live",
|
||||
hint: "GPT-Live एक ChatGPT सब्सक्रिप्शन के साथ काम करता है: “openclaw models auth login --provider openai” के साथ एक बार साइन इन करें। किसी Platform API key की ज़रूरत नहीं। केवल Browser Talk। सौंपे गए कार्य को चलते समय निर्देशित किया जा सकता है और उच्च-प्रभाव वाली क्रियाओं के लिए सटीक बोली गई पुष्टि की आवश्यकता होती है।",
|
||||
ready: "तैयार",
|
||||
},
|
||||
},
|
||||
memoryPage: {
|
||||
intro: "चुनें कि OpenClaw एजेंट मेमोरी को कैसे संग्रहीत, खोजता और बनाए रखता है।",
|
||||
tablistLabel: "Memory सेक्शन",
|
||||
tabs: {
|
||||
overview: "ओवरव्यू",
|
||||
search: "खोजें",
|
||||
dreaming: "ड्रीमिंग",
|
||||
memories: "मेमोरीज़",
|
||||
dreams: "Dreams",
|
||||
settings: "सेटिंग्स",
|
||||
},
|
||||
overview: {
|
||||
hero: {
|
||||
awake: "मेमोरी जाग रही है",
|
||||
waking: "मेमोरी जगा रहे हैं…",
|
||||
hibernating: "मेमोरी हाइबरनेट हो रही है",
|
||||
needsAttention: "मेमोरी पर ध्यान देने की आवश्यकता है",
|
||||
activeDescription: "{engine} · {mode}",
|
||||
loadingDescription: "इस एजेंट के मेमोरी इंजन और ड्रीम साइकल की जाँच की जा रही है।",
|
||||
offDescription: "इसे जगाने के लिए Settings में एक मेमोरी इंजन चुनें।",
|
||||
disabledDescription: "चयनित मेमोरी इंजन अक्षम है। इसे Settings में पुनः सक्षम करें।",
|
||||
gatewayOffline: "Gateway ऑफ़लाइन है, इसलिए मेमोरी स्थिति उपलब्ध नहीं है।",
|
||||
hybridSearch: "हाइब्रिड सर्च",
|
||||
keywordSearch: "कीवर्ड सर्च (कोई एम्बेडिंग नहीं)",
|
||||
openSettings: "Settings खोलें",
|
||||
retry: "पुनः प्रयास करें",
|
||||
refresh: "स्थिति रीफ्रेश करें",
|
||||
},
|
||||
schedule: {
|
||||
title: "स्लीप शेड्यूल",
|
||||
lightDescription:
|
||||
"ताज़ा शॉर्ट-टर्म नोट्स को क्रमबद्ध करता है और आशाजनक उम्मीदवारों को स्टेज करता है, बिना लॉन्ग-टर्म मेमोरी बदले।",
|
||||
remDescription:
|
||||
"हाल की गतिविधि में विषयों और आवर्ती विचारों पर मनन करता है ताकि रैंकिंग मज़बूत हो, बिना लॉन्ग-टर्म मेमोरी बदले।",
|
||||
deepDescription:
|
||||
"स्टेज किए गए उम्मीदवारों को स्कोर करता है, बेहतरीन को लॉन्ग-टर्म मेमोरी (MEMORY.md) में प्रमोट करता है, और ड्रीम डायरी लिखता है।",
|
||||
nextRun: "अगला {time}",
|
||||
lastRun: "पिछला {time}",
|
||||
notScheduled: "शेड्यूल नहीं है",
|
||||
learnMore: "ड्रीमिंग कैसे काम करती है",
|
||||
openDocs: "ड्रीमिंग गाइड खोलें",
|
||||
},
|
||||
activity: {
|
||||
title: "गतिविधि",
|
||||
promotedToday: "आज प्रमोट किए गए",
|
||||
promotedTotal: "कुल प्रमोट किए गए",
|
||||
shortTermCount: "लंबित शॉर्ट-टर्म प्रविष्टियाँ",
|
||||
phaseHitCount: "फेज़ सिग्नल",
|
||||
lightPhaseHitCount: "लाइट-फेज़ हिट्स",
|
||||
remPhaseHitCount: "REM-फेज़ हिट्स",
|
||||
},
|
||||
health: {
|
||||
title: "इंजन स्वास्थ्य",
|
||||
provider: "प्रदाता",
|
||||
embeddings: "एम्बेडिंग्स",
|
||||
runtime: "एम्बेडिंग रनटाइम",
|
||||
healthy: "तैयार",
|
||||
unavailable: "अनुपलब्ध",
|
||||
notChecked: "जाँच नहीं की गई",
|
||||
notCheckedDescription: "Embedding तैयारी की अभी तक जाँच नहीं की गई है।",
|
||||
checking: "जाँच हो रही है…",
|
||||
test: "परीक्षण करें",
|
||||
testing: "परीक्षण हो रहा है…",
|
||||
},
|
||||
shortcuts: {
|
||||
title: "मेमोरी एक्सप्लोर करें",
|
||||
memories: "मेमोरी खोजें",
|
||||
diary: "ड्रीम डायरी पढ़ें",
|
||||
settings: "मेमोरी कॉन्फ़िगर करें",
|
||||
},
|
||||
},
|
||||
memories: {
|
||||
searchLabel: "मेमोरी खोजें",
|
||||
searchPlaceholder: "इस एजेंट की मेमोरी खोजें",
|
||||
searchButton: "खोजें",
|
||||
idle: "किसी व्यक्ति, प्रोजेक्ट, निर्णय, या इस एजेंट को याद रहने वाली किसी भी चीज़ को खोजें।",
|
||||
searching: "मेमोरी खोजी जा रही है…",
|
||||
results: "{count} परिणाम",
|
||||
empty: "“{query}” से कोई मेमोरी मेल नहीं खाई।",
|
||||
error: "मेमोरी खोज विफल रही: {message}",
|
||||
retry: "पुनः प्रयास करें",
|
||||
gatewayUpdateRequired: "Control UI से मेमोरी खोजने के लिए gateway अपडेट करें।",
|
||||
hybridSearch: "हाइब्रिड खोज",
|
||||
keywordSearch: "कीवर्ड खोज",
|
||||
lineRange: "लाइनें {start}–{end}",
|
||||
score: "स्कोर {score}",
|
||||
sourceMemory: "मेमोरी",
|
||||
sourceSessions: "सेशन",
|
||||
fileLoading: "पूरी मेमोरी फ़ाइल लोड हो रही है…",
|
||||
fileError: "यह मेमोरी फ़ाइल लोड नहीं हो सकी: {message}",
|
||||
fileUnsupported: "यह मेमोरी फ़ाइल टेक्स्ट के रूप में नहीं दिखाई जा सकती।",
|
||||
},
|
||||
engine: {
|
||||
title: "Engine",
|
||||
@@ -2169,6 +2449,8 @@ export const hi: TranslationMap = {
|
||||
memoryWiki: {
|
||||
title: "मेमोरी विकी",
|
||||
},
|
||||
toggleAriaLabel: "{plugin} सक्षम या अक्षम करें",
|
||||
changeFailed: "{plugin} अपडेट नहीं हो सका",
|
||||
stateUnknown: "अज्ञात",
|
||||
manage: "Add-ons सक्षम या अक्षम करें",
|
||||
manageLink: "Plugins खोलें",
|
||||
@@ -2537,35 +2819,8 @@ export const hi: TranslationMap = {
|
||||
},
|
||||
profilePage: {
|
||||
offline: "अपने एजेंट से मिलने के लिए Gateway से कनेक्ट करें।",
|
||||
loading: "आँकड़ों के लिए गोता लगा रहे हैं…",
|
||||
emptyTitle: "एक नया shell",
|
||||
emptyBody: "अभी तक कोई token गतिविधि नहीं है। अपने एजेंट को संदेश भेजें और रीफ को रोशन होते देखें।",
|
||||
sinceChip: "{date} से रीफ में",
|
||||
channelChipTitle: "इस चैनल पर {tokens} tokens",
|
||||
statLifetimeTokens: "कुल जीवनकाल के tokens",
|
||||
statPeakDay: "सर्वोच्च दिन",
|
||||
statLongestSession: "सबसे लंबा session",
|
||||
statCurrentStreak: "मौजूदा streak",
|
||||
statLongestStreak: "सबसे लंबी streak",
|
||||
streakDay: "{count} दिन",
|
||||
streakDays: "{count} दिन",
|
||||
heatmapTitle: "Token गतिविधि",
|
||||
heatmapSub: "रीफ में एक साल — जितना गहरा लाल, उतने व्यस्त claws.",
|
||||
heatmapCellTokens: "{tokens} tokens",
|
||||
legendLess: "कम",
|
||||
legendMore: "अधिक",
|
||||
insightsTitle: "गतिविधि इनसाइट्स",
|
||||
insightModel: "सबसे अधिक उपयोग किया गया model",
|
||||
insightMessages: "आदान-प्रदान किए गए संदेश",
|
||||
insightToolCalls: "टूल कॉल",
|
||||
insightUniqueTools: "अलग-अलग टूल",
|
||||
insightAgents: "रीफ़ में एजेंट",
|
||||
insightSessions: "ट्रैक किए गए सत्र",
|
||||
sessionsCapped: "{count}+",
|
||||
toolsTitle: "सबसे अधिक उपयोग किए गए टूल",
|
||||
toolsEmpty: "अभी तक कोई टूल रन रिकॉर्ड नहीं किया गया है।",
|
||||
toolRun: "{count} रन",
|
||||
toolRuns: "{count} रन",
|
||||
usageStatistics: "उपयोग आँकड़े",
|
||||
usageStatisticsDescription: "गतिविधि, लागत और उपयोग रुझान देखें।",
|
||||
identity: {
|
||||
title: "पहचान",
|
||||
menuLabel: "पहचान मेनू",
|
||||
@@ -2662,6 +2917,9 @@ export const hi: TranslationMap = {
|
||||
next: "अगला",
|
||||
apply: "लागू करें",
|
||||
applying: "लागू किया जा रहा है…",
|
||||
evaluate: "मूल्यांकन करें",
|
||||
evaluating: "मूल्यांकन हो रहा है…",
|
||||
evaluated: "मूल्यांकन किया गया",
|
||||
revise: "संशोधित करें",
|
||||
tweak: "समायोजित करें",
|
||||
opening: "खोला जा रहा है…",
|
||||
@@ -2669,6 +2927,11 @@ export const hi: TranslationMap = {
|
||||
rejecting: "अस्वीकार किया जा रहा है…",
|
||||
sending: "भेजा जा रहा है…",
|
||||
},
|
||||
notices: {
|
||||
applied: "लागू",
|
||||
rejected: "अस्वीकृत",
|
||||
revisionRequested: "संशोधन का अनुरोध किया गया",
|
||||
},
|
||||
revision: {
|
||||
title: "{verb} प्रस्ताव",
|
||||
description:
|
||||
@@ -2695,6 +2958,35 @@ export const hi: TranslationMap = {
|
||||
supportFilesTitle: "सहायक फ़ाइलें",
|
||||
clickToPreview: "· पूर्वावलोकन के लिए क्लिक करें",
|
||||
},
|
||||
evaluation: {
|
||||
title: "मूल्यांकन",
|
||||
version: "प्रस्ताव {version}",
|
||||
completedAt: "{time} को पूर्ण",
|
||||
status: {
|
||||
completed: "पूर्ण",
|
||||
skipped: "छोड़ा गया",
|
||||
error: "त्रुटि",
|
||||
},
|
||||
decision: {
|
||||
pass: "पास",
|
||||
revise: "संशोधित करें",
|
||||
block: "ब्लॉक",
|
||||
},
|
||||
severity: {
|
||||
info: "जानकारी",
|
||||
warn: "चेतावनी",
|
||||
critical: "गंभीर",
|
||||
},
|
||||
evaluatorVersion: "मूल्यांकनकर्ता {version}",
|
||||
mode: "मोड {mode}",
|
||||
findings: "निष्कर्ष",
|
||||
metrics: "मेट्रिक्स",
|
||||
fileLine: "{file}:{line}",
|
||||
errors: {
|
||||
revisionHashUnavailable: "वर्तमान प्रस्ताव संशोधन की पहचान नहीं की जा सकी।",
|
||||
revisionChanged: "मूल्यांकन के दौरान प्रस्ताव संशोधन बदल गया।",
|
||||
},
|
||||
},
|
||||
empty: {
|
||||
searchTitle: "कोई मेल खाता प्रस्ताव नहीं",
|
||||
searchBody: "खोज साफ़ करें या कोई भिन्न कीवर्ड आज़माएं।",
|
||||
@@ -2755,6 +3047,8 @@ export const hi: TranslationMap = {
|
||||
comeWithIt: "इसके साथ आती हैं।",
|
||||
useIt: "इसका उपयोग करें",
|
||||
addToSkills: "अपने Skills में जोड़ें",
|
||||
evaluate: "मूल्यांकन करें",
|
||||
runChecks: "प्रस्ताव जांच चलाएं",
|
||||
tweakIt: "इसे बदलें",
|
||||
askAgent: "एजेंट से कुछ बदलने के लिए कहें",
|
||||
skipping: "छोड़ा जा रहा है…",
|
||||
@@ -3408,6 +3702,31 @@ export const hi: TranslationMap = {
|
||||
reload: "रीलोड करें",
|
||||
reloading: "रीलोड हो रहा है…",
|
||||
},
|
||||
actions: {
|
||||
dedupeRemovedOneAndKept: "{removed} डुप्लिकेट ड्रीम प्रविष्टि हटाई और {kept} रखी।",
|
||||
dedupeRemovedManyAndKept: "{removed} डुप्लिकेट ड्रीम प्रविष्टियां हटाईं और {kept} रखीं।",
|
||||
dedupeRemovedOne: "{removed} डुप्लिकेट ड्रीम प्रविष्टि हटाई।",
|
||||
dedupeRemovedMany: "{removed} डुप्लिकेट ड्रीम प्रविष्टियां हटाईं।",
|
||||
repairArchivedThreadCorpus: "संग्रहीत थ्रेड कॉर्पस",
|
||||
repairArchivedIngestionState: "संग्रहीत इंजेशन स्थिति",
|
||||
repairArchivedDreamDiary: "संग्रहीत ड्रीम डायरी",
|
||||
repairNoChanges: "ड्रीम कैश मरम्मत बिना किसी बदलाव के पूरी हुई।",
|
||||
repairCompleteWithArchive: "ड्रीम कैश मरम्मत पूर्ण: {actions}. संग्रह: {archiveDir}",
|
||||
repairComplete: "ड्रीम कैश मरम्मत पूर्ण: {actions}.",
|
||||
backfillComplete: "{count} स्वप्न डायरी प्रविष्टियाँ बैकफ़िल की गईं।",
|
||||
resetDiaryComplete: "{count} बैकफ़िल की गई स्वप्न डायरी प्रविष्टियाँ हटाई गईं।",
|
||||
clearReplayedComplete: "{count} पुनः चलाई गई अल्पकालिक प्रविष्टियाँ साफ़ की गईं।",
|
||||
complete: "स्वप्न डायरी क्रिया पूर्ण।",
|
||||
confirmRepair:
|
||||
"Dream Cache की मरम्मत करें? यह व्युत्पन्न dream cache फ़ाइलों को संग्रहित करता है और उन्हें साफ़ इनपुट से पुनर्निर्मित करता है। आपकी स्वप्न डायरी अछूती रहती है।",
|
||||
confirmDedupe:
|
||||
"स्वप्न डायरी को डीडुप करें? यह DREAMS.md को फिर से लिखता है और केवल एकदम डुप्लिकेट डायरी प्रविष्टियाँ हटाता है।",
|
||||
archivePathCopied: "संग्रह पथ कॉपी किया गया।",
|
||||
archivePathCopyFailed: "संग्रह पथ कॉपी नहीं किया जा सका।",
|
||||
updateFailed: "dreaming सेटिंग्स अपडेट नहीं की जा सकीं।",
|
||||
unsupportedPlugin: 'चयनित मेमोरी प्लगइन "{pluginId}" dreaming सेटिंग्स का समर्थन नहीं करता।',
|
||||
configHashMissing: "Config hash अनुपस्थित है; रीफ़्रेश करें और पुनः प्रयास करें।",
|
||||
},
|
||||
wiki: {
|
||||
previewFallbackTitle: "Wiki पेज",
|
||||
close: "बंद करें",
|
||||
@@ -3454,6 +3773,60 @@ export const hi: TranslationMap = {
|
||||
enableSuffix: ", फिर इस टैब को फिर से लोड करें।",
|
||||
openConfig: "Config खोलें",
|
||||
howToEnable: "कैसे सक्षम करें",
|
||||
pageTypes: {
|
||||
entity: "इकाई",
|
||||
concept: "अवधारणा",
|
||||
source: "स्रोत",
|
||||
synthesis: "संश्लेषण",
|
||||
report: "रिपोर्ट",
|
||||
},
|
||||
pageGroups: {
|
||||
sources: "स्रोत",
|
||||
syntheses: "संश्लेषण",
|
||||
reports: "रिपोर्ट",
|
||||
entities: "इकाइयाँ",
|
||||
concepts: "अवधारणाएँ",
|
||||
},
|
||||
counts: {
|
||||
pageOne: "{count} पृष्ठ",
|
||||
pages: "{count} पृष्ठ",
|
||||
claimRowOne: "{count} दावा पंक्ति",
|
||||
claimRows: "{count} दावा पंक्तियाँ",
|
||||
openQuestionOne: "{count} खुला प्रश्न",
|
||||
openQuestions: "{count} खुले प्रश्न",
|
||||
contradictionOne: "{count} विरोधाभास",
|
||||
contradictions: "{count} विरोधाभास",
|
||||
chats: "{count} चैट",
|
||||
sensitive: "{count} संवेदनशील",
|
||||
signals: "{count} संकेत",
|
||||
messages: "{count} संदेश",
|
||||
userMessages: "{count} उपयोगकर्ता",
|
||||
assistantMessages: "{count} सहायक",
|
||||
},
|
||||
pageGroupSummary: "{label} · {count}",
|
||||
noPagesYet: "अभी तक कोई पृष्ठ नहीं",
|
||||
sectionPageSummary: "{label}: {count}",
|
||||
questionCountOnPages: "{pageCount} पर {questionCount}",
|
||||
risk: {
|
||||
needsReview: "समीक्षा आवश्यक",
|
||||
low: "कम जोखिम",
|
||||
medium: "मध्यम जोखिम",
|
||||
high: "उच्च जोखिम",
|
||||
unknown: "अज्ञात जोखिम",
|
||||
},
|
||||
pageNotFound: "{lookup} के लिए कोई विकी पृष्ठ नहीं मिला।",
|
||||
previewTruncated: "इस पृष्ठ का पहला भाग दिखाया जा रहा है।",
|
||||
previewTruncatedWithTotal: "इस पृष्ठ का पहला भाग दिखाया जा रहा है (कुल {count} पंक्तियाँ)।",
|
||||
importedClusterSummary: "आयातित चैट {label} के आसपास समूहित की गईं।",
|
||||
withheldDigestOne: "समीक्षा लंबित रहने तक {count} डाइजेस्ट रोका गया।",
|
||||
withheldDigests: "समीक्षा लंबित रहने तक {count} डाइजेस्ट रोके गए।",
|
||||
details: "विवरण",
|
||||
hideDetails: "विवरण छिपाएँ",
|
||||
vault: "Vault",
|
||||
fullVaultBreakdown: "पूर्ण vault विवरण: {breakdown}।",
|
||||
selectedSection: "चयनित अनुभाग: {summary}।",
|
||||
latestUpdate: "नवीनतम अपडेट {date}।",
|
||||
noContent: "कोई विकी सामग्री उपलब्ध नहीं है।",
|
||||
},
|
||||
phrases: {
|
||||
consolidatingMemories: "स्मृतियों को समेकित किया जा रहा है…",
|
||||
@@ -3597,6 +3970,13 @@ export const hi: TranslationMap = {
|
||||
session: "सेशन",
|
||||
sessions: "सेशन",
|
||||
},
|
||||
heatmap: {
|
||||
title: "टोकन गतिविधि",
|
||||
subtitle: "चयनित श्रेणी के लिए दैनिक टोकन तीव्रता, एक वर्ष तक।",
|
||||
cellTokens: "{tokens} tokens",
|
||||
less: "कम",
|
||||
more: "अधिक",
|
||||
},
|
||||
providerUsage: {
|
||||
title: "प्रदाता प्लान और बिलिंग",
|
||||
subtitle: "कॉन्फ़िगर किए गए प्रदाताओं से प्राप्त प्लान, कोटा, शेष राशि और बजट का लाइव डेटा।",
|
||||
@@ -3975,6 +4355,106 @@ export const hi: TranslationMap = {
|
||||
multipleMatches: "{shortId} से एक से अधिक सत्र मेल खाते हैं।",
|
||||
additionalMatches: "खोज परिणाम शेष हैं। लंबे id उपसर्ग का उपयोग करें।",
|
||||
},
|
||||
commandResults: {
|
||||
startingNewThread: "नया थ्रेड शुरू किया जा रहा है...",
|
||||
resettingThread: "थ्रेड रीसेट किया जा रहा है...",
|
||||
stoppingCurrentRun: "वर्तमान रन रोका जा रहा है...",
|
||||
chatHistoryCleared: "चैट इतिहास साफ़ कर दिया गया।",
|
||||
exportingThread: "थ्रेड निर्यात हो रहा है...",
|
||||
unknownCommand: "अज्ञात कमांड: `{command}`",
|
||||
options: "विकल्प: {options}।",
|
||||
sessionUnavailable: "सत्र क्षमता उपलब्ध नहीं है",
|
||||
help: {
|
||||
availableCommands: "उपलब्ध कमांड",
|
||||
agentCommand: "एजेंट",
|
||||
openMenu: "कमांड मेन्यू खोलने के लिए `/` टाइप करें।",
|
||||
},
|
||||
compaction: {
|
||||
failed: "संकुचन विफल हुआ।",
|
||||
failedWithReason: "संकुचन विफल हुआ: {reason}",
|
||||
tokenSummary: " ({before} -> {after} टोकन)",
|
||||
succeeded: "संदर्भ सफलतापूर्वक संकुचित किया गया",
|
||||
skipped: "संकुचन छोड़ दिया गया।",
|
||||
skippedWithReason: "संकुचन छोड़ दिया गया: {reason}",
|
||||
},
|
||||
model: {
|
||||
current: "**वर्तमान मॉडल:** {model}",
|
||||
available: "**उपलब्ध:** {models}",
|
||||
more: "+{count} और",
|
||||
getFailed: "मॉडल जानकारी प्राप्त करने में विफल: {error}",
|
||||
set: "मॉडल {model} पर सेट किया गया।",
|
||||
setFailed: "मॉडल सेट करने में विफल: {error}",
|
||||
},
|
||||
thinking: {
|
||||
current: "वर्तमान थिंकिंग स्तर: {level}।",
|
||||
getFailed: "थिंकिंग स्तर प्राप्त करने में विफल: {error}",
|
||||
reset: "थिंकिंग स्तर डिफ़ॉल्ट पर रीसेट किया गया।",
|
||||
resetFailed: "थिंकिंग स्तर रीसेट करने में विफल: {error}",
|
||||
unrecognized: 'अपरिचित थिंकिंग स्तर "{level}"। मान्य स्तर: {options}.',
|
||||
unsupported: 'इस मॉडल के लिए असमर्थित थिंकिंग स्तर "{level}"। मान्य स्तर: {options}.',
|
||||
set: "थिंकिंग स्तर {level} पर सेट किया गया।",
|
||||
setFailed: "थिंकिंग स्तर सेट करने में विफल: {error}",
|
||||
},
|
||||
verbose: {
|
||||
current: "वर्तमान वर्बोज़ स्तर: {level}.",
|
||||
getFailed: "वर्बोज़ स्तर प्राप्त करने में विफल: {error}",
|
||||
unrecognized: 'अपरिचित वर्बोज़ स्तर "{level}"। मान्य स्तर: off, on, full.',
|
||||
set: "वर्बोज़ मोड {level} पर सेट किया गया।",
|
||||
setFailed: "वर्बोज़ मोड सेट करने में विफल: {error}",
|
||||
},
|
||||
fast: {
|
||||
autoValue: "auto ({seconds} सेकंड)",
|
||||
on: "चालू",
|
||||
off: "बंद",
|
||||
sourceSession: " (सत्र)",
|
||||
sourceAgent: " (डिफ़ॉल्ट: एजेंट)",
|
||||
sourceModel: " (डिफ़ॉल्ट: मॉडल)",
|
||||
sourceDefault: " (डिफ़ॉल्ट)",
|
||||
current: "वर्तमान फास्ट मोड: {value}",
|
||||
options: "on, off, auto ({seconds} सेकंड), default, status",
|
||||
getFailed: "फास्ट मोड प्राप्त करने में विफल: {error}",
|
||||
reset: "फास्ट मोड डिफ़ॉल्ट पर रीसेट किया गया।",
|
||||
resetFailed: "फास्ट मोड रीसेट करने में विफल: {error}",
|
||||
unrecognized: 'अपरिचित फास्ट मोड "{mode}". मान्य स्तर: on, off, auto, default, status.',
|
||||
setAuto: "फास्ट मोड auto पर सेट किया गया।",
|
||||
enabled: "फास्ट मोड सक्षम किया गया।",
|
||||
disabled: "फास्ट मोड अक्षम किया गया।",
|
||||
setFailed: "फास्ट मोड सेट करने में विफल: {error}",
|
||||
},
|
||||
usage: {
|
||||
noActiveThread: "कोई सक्रिय थ्रेड नहीं।",
|
||||
notAvailable: "लागू नहीं",
|
||||
title: "थ्रेड उपयोग",
|
||||
inputTokens: "इनपुट: {count} टोकन",
|
||||
outputTokens: "आउटपुट: {count} टोकन",
|
||||
totalTokens: "कुल: {count} टोकन",
|
||||
context: "संदर्भ: {total} में से {percent}",
|
||||
model: "मॉडल: {model}",
|
||||
failed: "उपयोग प्राप्त करने में विफल: {error}",
|
||||
},
|
||||
agents: {
|
||||
none: "कोई एजेंट कॉन्फ़िगर नहीं किया गया।",
|
||||
title: "**एजेंट** ({count})",
|
||||
default: "डिफ़ॉल्ट",
|
||||
runtime: " · रनटाइम {runtime}",
|
||||
failed: "एजेंट सूचीबद्ध करने में विफल: {error}",
|
||||
},
|
||||
steer: {
|
||||
timeout: "स्टीयर संदेश स्वीकार होने से पहले सक्रिय रन समाप्त हो गया।",
|
||||
failed: "स्टीयर रन तक पहुँचने से पहले विफल हो गया; पुनः प्रयास करें।",
|
||||
usage: "उपयोग: `/steer <message>`",
|
||||
noActiveRun: "कोई सक्रिय रन नहीं। इसके बजाय चैट इनपुट या `/redirect` का उपयोग करें।",
|
||||
succeeded: "स्टीयर किया गया।",
|
||||
requestFailed: "स्टीयर करने में विफल: {error}",
|
||||
},
|
||||
redirect: {
|
||||
timeout: "रीडायरेक्ट संदेश स्वीकार होने से पहले सक्रिय रन समाप्त हो गया।",
|
||||
failed: "रन तक पहुँचने से पहले ही रीडायरेक्ट विफल हो गया; पुनः प्रयास करें।",
|
||||
usage: "उपयोग: `/redirect <message>`",
|
||||
succeeded: "रीडायरेक्ट किया गया।",
|
||||
requestFailed: "रीडायरेक्ट करने में विफल: {error}",
|
||||
},
|
||||
},
|
||||
sessionSharing: {
|
||||
menu: "थ्रेड साझाकरण",
|
||||
current: "थ्रेड दृश्यता: {visibility}",
|
||||
@@ -4127,10 +4607,17 @@ export const hi: TranslationMap = {
|
||||
dismissUpdateBanner: "अपडेट बैनर हटाएँ",
|
||||
switchedSession: "{session} पर स्विच किया गया",
|
||||
actions: {
|
||||
copyAsMarkdown: "मार्कडाउन के रूप में कॉपी करें",
|
||||
dismissError: "त्रुटि खारिज करें",
|
||||
exitFocusMode: "फ़ोकस मोड से बाहर निकलें",
|
||||
scrollToLatest: "नवीनतम पर स्क्रॉल करें",
|
||||
},
|
||||
markdown: {
|
||||
truncated: "… छाँटा गया ({total} वर्ण, पहले {shown} दिखा रहे हैं)।",
|
||||
},
|
||||
codeBlock: {
|
||||
jsonLines: "JSON · {count} पंक्तियाँ",
|
||||
},
|
||||
workspaceConflict: {
|
||||
titleOne: "1 क्लाउड वर्कस्पेस विरोध",
|
||||
titleMany: "{count} क्लाउड वर्कस्पेस विरोध",
|
||||
@@ -4224,6 +4711,7 @@ export const hi: TranslationMap = {
|
||||
threads: "थ्रेड",
|
||||
groups: "समूह",
|
||||
coding: "कोडिंग",
|
||||
noSessionsForAgent: "इस एजेंट के लिए कोई सत्र नहीं मिला",
|
||||
catalogViewOptions: "व्यू विकल्प",
|
||||
catalogGroupByProject: "प्रोजेक्ट",
|
||||
catalogGroupByPerson: "व्यक्ति",
|
||||
@@ -4235,6 +4723,8 @@ export const hi: TranslationMap = {
|
||||
sessionMenu: "Actions for {session}",
|
||||
sessionMenuMany: "{count} सत्रों के लिए कार्रवाइयाँ",
|
||||
toolActivity: "{tool} का उपयोग हो रहा है",
|
||||
catalogDiscoveryHelp:
|
||||
"{error}. Settings > Automation > Plugins में नेटिव थ्रेड डिस्कवरी कॉन्फ़िगर करें।",
|
||||
},
|
||||
welcome: {
|
||||
hintBeforeShortcut: "नीचे संदेश टाइप करें ·",
|
||||
@@ -4268,12 +4758,23 @@ export const hi: TranslationMap = {
|
||||
steered: "स्टीयर किया गया",
|
||||
steerQueuedMessage: "कतारबद्ध संदेश स्टीयर करें",
|
||||
removeQueuedMessage: "कतारबद्ध संदेश हटाएँ",
|
||||
states: {
|
||||
steering: "स्टीयरिंग",
|
||||
applyingSettings: "चैट सेटिंग्स लागू की जा रही हैं",
|
||||
waitingForRun: "वर्तमान रन की प्रतीक्षा में",
|
||||
runningCommand: "कमांड चल रहा है",
|
||||
waitingForReconnect: "पुनः कनेक्ट की प्रतीक्षा में",
|
||||
needsReview: "समीक्षा आवश्यक",
|
||||
},
|
||||
imageCount: "छवि ({count})",
|
||||
},
|
||||
goals: {
|
||||
edit: "लक्ष्य संपादित करें",
|
||||
pause: "लक्ष्य रोकें",
|
||||
resume: "लक्ष्य फिर से शुरू करें",
|
||||
clear: "लक्ष्य साफ़ करें",
|
||||
showDetails: "लक्ष्य विवरण दिखाएँ",
|
||||
hideDetails: "लक्ष्य विवरण छिपाएँ",
|
||||
},
|
||||
questions: {
|
||||
title: "Codex को इनपुट चाहिए",
|
||||
@@ -4299,6 +4800,7 @@ export const hi: TranslationMap = {
|
||||
unavailable: "अनुपलब्ध",
|
||||
expired: "समाप्त",
|
||||
cancelled: "रद्द किया गया",
|
||||
disconnected: "कनेक्ट नहीं है। पुनः कनेक्ट होने के बाद फिर से प्रयास करें।",
|
||||
},
|
||||
imageLightbox: {
|
||||
label: "छवि पूर्वावलोकन: {title}",
|
||||
@@ -4319,6 +4821,12 @@ export const hi: TranslationMap = {
|
||||
reply: "उत्तर दें",
|
||||
replyToMessage: "संदेश का उत्तर दें",
|
||||
replyingTo: "{name} को उत्तर दे रहे हैं",
|
||||
message: "संदेश",
|
||||
currentMessage: "वर्तमान संदेश",
|
||||
actions: "संदेश क्रियाएँ",
|
||||
selectionActions: "चयन क्रियाएँ",
|
||||
moreDetails: "अधिक विवरण",
|
||||
askInSideChat: "साइड चैट में पूछें",
|
||||
rewind: "रीवाइंड करें",
|
||||
rewindConfirm: "इस संदेश से पहले तक रीवाइंड करें?",
|
||||
rewindToHere: "यहाँ तक रीवाइंड करें",
|
||||
@@ -4328,14 +4836,34 @@ export const hi: TranslationMap = {
|
||||
showMore: "अधिक दिखाएँ",
|
||||
unknownDate: "अज्ञात तिथि",
|
||||
voiceNote: "वॉइस नोट",
|
||||
duplicatesCollapsed: "{count} लगातार समान संदेश संक्षिप्त किए गए",
|
||||
contextFor: "{timestamp} के लिए संदेश संदर्भ",
|
||||
},
|
||||
mediaPlayer: {
|
||||
play: "चलाएँ",
|
||||
pause: "रोकें",
|
||||
seek: "मीडिया खोजें",
|
||||
download: "{filename} डाउनलोड करें",
|
||||
videoUnavailable: "यह फ़ॉर्मेट नहीं चला सकते — इसके बजाय डाउनलोड करें।",
|
||||
},
|
||||
modelControls: {
|
||||
current: "वर्तमान",
|
||||
default: "डिफ़ॉल्ट",
|
||||
reasoning: "तर्क",
|
||||
speed: "गति",
|
||||
sessionOverride: "थ्रेड ओवरराइड",
|
||||
useDefault: "डिफ़ॉल्ट का उपयोग करें",
|
||||
usingDefault: "Settings से डिफ़ॉल्ट का उपयोग किया जा रहा है",
|
||||
resetToDefault: "डिफ़ॉल्ट पर रीसेट करें ({model})",
|
||||
defaultWithModel: "डिफ़ॉल्ट ({model})",
|
||||
defaultWithLevel: "डिफ़ॉल्ट ({level})",
|
||||
fastHelp: "तेज़ प्रतिक्रियाएँ जल्दी पूरी होती हैं और आपकी उपयोग सीमा का अधिक उपयोग कर सकती हैं।",
|
||||
speedUnsupported: "इस मॉडल के लिए गति नियंत्रण समर्थित नहीं है।",
|
||||
contextWindow: "{count} संदर्भ",
|
||||
providerModels: "{provider} मॉडल",
|
||||
resetReasoning: "डिफ़ॉल्ट पर रीसेट करें ({level})",
|
||||
useDefaultReasoning: "डिफ़ॉल्ट रीज़निंग का उपयोग करें ({level})",
|
||||
fastResponsesAria: "त्वरित प्रतिक्रियाएँ: {state}",
|
||||
},
|
||||
rail: {
|
||||
title: "सत्र सहयोगी",
|
||||
@@ -4405,6 +4933,21 @@ export const hi: TranslationMap = {
|
||||
renderedMarkdownHint: "त्वरित पढ़ने के लिए सैनिटाइज़ किया गया रिच-टेक्स्ट पूर्वावलोकन।",
|
||||
noPreviewableMarkdown: "कोई पूर्वावलोकन योग्य markdown सामग्री नहीं।",
|
||||
noContent: "कोई सामग्री उपलब्ध नहीं",
|
||||
fullContentOversized:
|
||||
"पूर्ण सामग्री अनुपलब्ध है क्योंकि संग्रहीत ट्रांसक्रिप्ट प्रविष्टि सुरक्षित रूप से लौटाने के लिए बहुत बड़ी है।",
|
||||
fullContentNotVisible:
|
||||
"पूर्ण सामग्री अनुपलब्ध है क्योंकि इस ट्रांसक्रिप्ट प्रविष्टि में दृश्यमान WebChat प्रोजेक्शन नहीं है।",
|
||||
fullContentUnavailable: "इस ट्रांसक्रिप्ट प्रविष्टि के लिए पूर्ण सामग्री अब उपलब्ध नहीं है।",
|
||||
copyContents: "फ़ाइल सामग्री कॉपी करें",
|
||||
fileChanged: "फ़ाइल लोड होने के बाद से डिस्क पर बदल गई।",
|
||||
renderPreview: "रेंडर पूर्वावलोकन",
|
||||
imagePreview: "छवि पूर्वावलोकन",
|
||||
file: "फ़ाइल",
|
||||
markdownPreview: "Markdown पूर्वावलोकन",
|
||||
toolDetails: "टूल विवरण",
|
||||
reloadFailed: "नवीनतम फ़ाइल पुनः लोड करने में विफल।",
|
||||
overwriteLoadFailed: "ओवरराइट करने से पहले नवीनतम फ़ाइल लोड करने में विफल।",
|
||||
fullContentLoadFailed: "पूर्ण सामग्री लोड करने में विफल: {error}",
|
||||
},
|
||||
sidebarColumns: {
|
||||
chat: "चैट",
|
||||
@@ -4423,6 +4966,7 @@ export const hi: TranslationMap = {
|
||||
unpin: "अनपिन करें",
|
||||
loading: "चैट लोड हो रही है",
|
||||
noMatches: "कोई मेल खाता संदेश नहीं",
|
||||
pinnedCount: "{count} पिन किए गए",
|
||||
},
|
||||
pairingQrExpired: {
|
||||
title: "पेयरिंग QR की समय-सीमा समाप्त हो गई",
|
||||
@@ -4442,13 +4986,53 @@ export const hi: TranslationMap = {
|
||||
runDone: "पूर्ण",
|
||||
runInterrupted: "बाधित",
|
||||
runStatus: "रन स्थिति: {status}",
|
||||
compactingContext: "संदर्भ संक्षिप्त किया जा रहा है...",
|
||||
compacting: "संक्षिप्त कर रहे हैं",
|
||||
compact: "संक्षिप्त करें",
|
||||
contextCompacted: "संदर्भ संक्षिप्त किया गया",
|
||||
fallbackActive: "फ़ॉलबैक सक्रिय: {model}",
|
||||
fallbackCleared: "फ़ॉलबैक हटाया गया: {model}",
|
||||
fallbackSelected: "चयनित: {model}",
|
||||
fallbackCurrent: "सक्रिय: {model}",
|
||||
fallbackPrevious: "पिछला फ़ॉलबैक: {model}",
|
||||
fallbackReason: "कारण: {reason}",
|
||||
fallbackAttempts: "प्रयास: {attempts}",
|
||||
cancelReply: "उत्तर रद्द करें",
|
||||
attachmentPreview: "अटैचमेंट पूर्वावलोकन",
|
||||
compactRecommendedContext: "अनुशंसित सत्र संदर्भ संक्षिप्त करें",
|
||||
removeAttachment: "अनुलग्नक हटाएँ",
|
||||
addAttachment: "अटैचमेंट जोड़ें",
|
||||
attachPhoto: "फ़ोटो",
|
||||
attachFile: "फ़ाइल संलग्न करें",
|
||||
attachFileOption: "फ़ाइल",
|
||||
menu: {
|
||||
back: "वापस",
|
||||
skills: "कौशल",
|
||||
connectors: "कनेक्टर",
|
||||
webSearch: "वेब खोज",
|
||||
managePlugins: "प्लगइन प्रबंधित करें",
|
||||
manageSkills: "Skills प्रबंधित करें",
|
||||
browseConnectors: "कनेक्टर ब्राउज़ करें",
|
||||
addMcpServer: "MCP सर्वर जोड़ें…",
|
||||
toolAccess: "टूल एक्सेस",
|
||||
enabledCount: "{count} चालू",
|
||||
loadingSkills: "Skills लोड हो रहे हैं…",
|
||||
skillsLoadFailed: "Skills लोड नहीं हो सके।",
|
||||
noSkills: "कोई skills उपलब्ध नहीं हैं।",
|
||||
noConnectors: "कोई MCP सर्वर कॉन्फ़िगर नहीं किया गया।",
|
||||
depsMissing: "deps गायब",
|
||||
skillBlocked: "इस एजेंट के लिए उपलब्ध नहीं",
|
||||
sessionTag: "सेशन",
|
||||
offlineBlocked: "सत्र क्षमताएँ बदलने के लिए Gateway से कनेक्ट करें।",
|
||||
readOnlyBlocked: "सत्र क्षमताएँ बदलने के लिए लिखने की अनुमति आवश्यक है।",
|
||||
adminBlocked: "कनेक्टर प्रबंधित करने के लिए एडमिन एक्सेस आवश्यक है।",
|
||||
savingBlocked: "वर्तमान सत्र क्षमता परिवर्तन पूरा होने की प्रतीक्षा करें।",
|
||||
},
|
||||
overrides: {
|
||||
count: "{count} सत्र ओवरराइड",
|
||||
countOne: "{count} सत्र ओवरराइड",
|
||||
clear: "सत्र ओवरराइड साफ़ करें",
|
||||
},
|
||||
contextUsage: {
|
||||
title: "संदर्भ उपयोग विवरण",
|
||||
open: "संदर्भ उपयोग विवरण खोलें",
|
||||
@@ -4517,6 +5101,17 @@ export const hi: TranslationMap = {
|
||||
turnCameraOn: "कैमरा चालू करें",
|
||||
voiceTranscript: "वॉइस ट्रांसक्रिप्ट",
|
||||
},
|
||||
attachments: {
|
||||
attachedFile: "संलग्न फ़ाइल",
|
||||
outsideAllowedFolders: "अनुमत फ़ोल्डरों के बाहर",
|
||||
unavailable: "अनुपलब्ध",
|
||||
checking: "जाँच हो रही है...",
|
||||
},
|
||||
voice: {
|
||||
asking: "OpenClaw से पूछ रहे हैं...",
|
||||
connecting: "वॉइस इनपुट कनेक्ट हो रहा है...",
|
||||
listening: "सुन रहे हैं...",
|
||||
},
|
||||
selectors: {
|
||||
session: "चैट सत्र",
|
||||
sessionSearch: "सत्र खोजें",
|
||||
@@ -4718,6 +5313,7 @@ export const hi: TranslationMap = {
|
||||
ru: "Русский (Russian)",
|
||||
},
|
||||
cron: {
|
||||
adminRequired: "केवल ब्राउज़िंग। ऑटोमेशन परिवर्तनों के लिए operator.admin एक्सेस आवश्यक है।",
|
||||
tabs: {
|
||||
filterLabel: "ऑटोमेशन की स्थिति",
|
||||
all: "सभी",
|
||||
|
||||
Generated
+641
-34
@@ -8,6 +8,7 @@ export const id: TranslationMap = {
|
||||
ok: "OK",
|
||||
yes: "Ya",
|
||||
no: "Tidak",
|
||||
assistant: "Assistant",
|
||||
active: "Aktif",
|
||||
loading: "Memuat…",
|
||||
refreshing: "Menyegarkan…",
|
||||
@@ -35,8 +36,11 @@ export const id: TranslationMap = {
|
||||
create: "Buat",
|
||||
copy: "Salin",
|
||||
copied: "Disalin!",
|
||||
copyFailed: "Gagal menyalin",
|
||||
copyCode: "Salin kode",
|
||||
resizeSplitView: "Ubah ukuran tampilan terbagi",
|
||||
delete: "Hapus",
|
||||
remove: "Hapus",
|
||||
dismiss: "Tutup",
|
||||
unselect: "Batalkan pilihan",
|
||||
enabled: "Diaktifkan",
|
||||
@@ -45,6 +49,9 @@ export const id: TranslationMap = {
|
||||
none: "tidak ada",
|
||||
na: "t/a",
|
||||
never: "never",
|
||||
justNow: "baru saja",
|
||||
now: "sekarang",
|
||||
unknown: "Tidak diketahui",
|
||||
configured: "Dikonfigurasi",
|
||||
running: "Berjalan",
|
||||
linked: "Ditautkan",
|
||||
@@ -70,6 +77,7 @@ export const id: TranslationMap = {
|
||||
settingsSections: "Bagian pengaturan",
|
||||
version: "Versi",
|
||||
docs: "Dokumen",
|
||||
learnMore: "Pelajari selengkapnya",
|
||||
theme: "Tema",
|
||||
colorMode: "Mode warna",
|
||||
colorModeOption: "Mode warna: {mode}",
|
||||
@@ -113,10 +121,24 @@ export const id: TranslationMap = {
|
||||
filteredFileCount: "{count}/{total} file",
|
||||
noMatches: "Tidak ada file yang cocok.",
|
||||
navigate: "navigasi",
|
||||
kind: {
|
||||
text: "Teks",
|
||||
shell: "Shell",
|
||||
file: "Berkas",
|
||||
},
|
||||
},
|
||||
mcpApp: {
|
||||
title: "Aplikasi MCP",
|
||||
unavailable: "Aplikasi MCP tidak tersedia: {error}",
|
||||
errors: {
|
||||
gatewayUnavailable: "Gateway MCP App tidak tersedia",
|
||||
mountUnavailable: "Mount MCP App tidak tersedia",
|
||||
sandboxTimedOut: "Sandbox MCP App melewati batas waktu",
|
||||
sandboxUnavailable: "Sandbox MCP App tidak tersedia",
|
||||
initializationTimedOut: "Inisialisasi MCP App melewati batas waktu",
|
||||
requestFailed: "Permintaan gagal",
|
||||
invalidSandboxUrl: "URL sandbox MCP App tidak valid",
|
||||
},
|
||||
},
|
||||
githubPreview: {
|
||||
loading: "Memuat detail GitHub…",
|
||||
@@ -234,6 +256,7 @@ export const id: TranslationMap = {
|
||||
"Di ponsel Anda, buka WhatsApp → Pengaturan → Perangkat tertaut → Tautkan perangkat, lalu pindai kode ini.",
|
||||
whatsappQrLoading: "Membuat kode QR…",
|
||||
whatsappQrHint: "Klik Tampilkan QR untuk membuat kode penyandingan.",
|
||||
whatsappQrAlt: "QR WhatsApp",
|
||||
whatsappLinked: "WhatsApp telah ditautkan dan siap digunakan.",
|
||||
regenerateQr: "Kode QR baru",
|
||||
linkLater: "Tautkan nanti",
|
||||
@@ -323,6 +346,19 @@ export const id: TranslationMap = {
|
||||
nip05: "you@example.com",
|
||||
lightningAddress: "you@getalby.com",
|
||||
},
|
||||
notices: {
|
||||
timeout:
|
||||
"Permintaan melewati batas waktu setelah 30 detik; server mungkin masih menerapkan perubahan — periksa profil sebelum mencoba lagi.",
|
||||
operationFailed: "{prefix}: {error}",
|
||||
updateFailed: "Pembaruan profil gagal",
|
||||
updateFailedStatus: "Pembaruan profil gagal ({status})",
|
||||
publishFailed: "Publikasi profil gagal di semua relay.",
|
||||
published: "Profil dipublikasikan ke relay.",
|
||||
importFailed: "Impor profil gagal",
|
||||
importFailedStatus: "Impor profil gagal ({status})",
|
||||
importedFromRelays: "Profil diimpor dari relay. Tinjau dan publikasikan.",
|
||||
imported: "Profil diimpor. Tinjau dan publikasikan.",
|
||||
},
|
||||
},
|
||||
},
|
||||
lazyView: {
|
||||
@@ -334,6 +370,53 @@ export const id: TranslationMap = {
|
||||
"OpenClaw telah diperbarui di latar belakang. Muat ulang untuk mendapatkan panel terbaru.",
|
||||
reloading: "Memuat ulang…",
|
||||
retry: "Coba lagi",
|
||||
stylesFailed: "Gaya gagal dimuat, sehingga halaman mungkin tampak rusak.",
|
||||
},
|
||||
updates: {
|
||||
refreshRequired: "Server diperbarui — segarkan untuk kemampuan penuh",
|
||||
coalescedRestart:
|
||||
"Pembaruan terpasang. Mulai ulang gateway sedang berlangsung; status akan disegarkan setelah tersambung kembali.",
|
||||
error: "Kesalahan pembaruan: {error}",
|
||||
status: "Pembaruan {status}: {reason}. {guidance}",
|
||||
verificationFailed:
|
||||
"Pembaruan terpasang tetapi versi yang berjalan tidak berubah — mulai ulang mungkin diblokir.",
|
||||
verificationFailedWithVersions:
|
||||
"Pembaruan terpasang tetapi versi yang berjalan tidak berubah — mulai ulang mungkin diblokir. Diharapkan v{expectedVersion}, berjalan v{actualVersion}.",
|
||||
handoffTimeout:
|
||||
"Serah terima pembaruan dimulai, tetapi penyelesaian tidak dilaporkan setelah tersambung kembali. Jalankan `openclaw update status` untuk hasil akhir.",
|
||||
failureReasons: {
|
||||
dirty: "Commit atau stash perubahan, lalu coba lagi.",
|
||||
noUpstream: "Setel branch upstream, lalu coba lagi.",
|
||||
notGitInstall:
|
||||
"Bukan checkout git. Jalankan `openclaw update` dari CLI untuk pemasangan ulang global.",
|
||||
notOpenclawRoot:
|
||||
"Jalankan pembaruan dari checkout OpenClaw atau gunakan jalur pemasangan ulang global CLI.",
|
||||
depsInstallFailed:
|
||||
"Pemasangan dependensi gagal. Perbaiki kesalahan pemasangan dan coba lagi.",
|
||||
buildFailed: "Build gagal. Perbaiki kesalahan build dan coba lagi.",
|
||||
buildDirty:
|
||||
"Revisi yang dipilih mengubah file checkout build. Coba lagi dengan revisi yang menyertakan artefak yang dihasilkannya.",
|
||||
uiBuildFailed: "Pembuatan ulang control UI gagal. Perbaiki kesalahan build UI dan coba lagi.",
|
||||
globalInstallFailed:
|
||||
"Instalasi paket global tidak terverifikasi di disk. Coba lagi atau instal ulang dari CLI.",
|
||||
restartDisabled:
|
||||
"Pembaruan tidak diterapkan karena mulai ulang gateway dinonaktifkan. Aktifkan mulai ulang di config, lalu coba lagi.",
|
||||
restartUnavailable:
|
||||
"Instalasi global ini tidak dapat diganti dengan aman selama mulai ulang dinonaktifkan dan tidak ada supervisor.",
|
||||
restartUnhealthy:
|
||||
"Proses pengganti tidak pernah menjadi sehat. Proses sebelumnya tetap berjalan agar Anda dapat memulihkan.",
|
||||
managedServiceHandoffAlreadyRunning:
|
||||
"Pembaruan terkelola lain sedang berjalan. Tunggu hingga selesai, lalu segarkan status pembaruan.",
|
||||
doctorFailed:
|
||||
"Perbaikan doctor gagal. Jalankan `openclaw doctor --non-interactive` dan coba lagi.",
|
||||
default:
|
||||
"Lihat log gateway untuk mengetahui kegagalan yang tepat dan coba lagi setelah penyebabnya diperbaiki.",
|
||||
},
|
||||
postRestart: {
|
||||
restartUnhealthy:
|
||||
"Proses pengganti tidak pernah menjadi sehat dan proses sebelumnya tetap berjalan.",
|
||||
default: "Periksa log gateway untuk kegagalan penggantian.",
|
||||
},
|
||||
},
|
||||
nodes: {
|
||||
pairing: {
|
||||
@@ -817,6 +900,10 @@ export const id: TranslationMap = {
|
||||
},
|
||||
agents: {
|
||||
noAgents: "No agents",
|
||||
defaults: {
|
||||
title: "Default agen",
|
||||
description: "Default yang diwarisi setiap agen kecuali ditimpa.",
|
||||
},
|
||||
copyId: "Copy ID",
|
||||
copyIdTitle: "Copy agent ID to clipboard",
|
||||
default: "Default",
|
||||
@@ -1020,6 +1107,9 @@ export const id: TranslationMap = {
|
||||
noEvents: "No events yet.",
|
||||
},
|
||||
configForm: {
|
||||
redactedPlaceholder: "[disunting - klik tampilkan untuk melihat]",
|
||||
sectionHelp: "Bantuan untuk {section}",
|
||||
readGuide: "Baca panduan",
|
||||
showAdvanced: "Tampilkan lanjutan",
|
||||
advancedHidden: "{count} pengaturan lanjutan disembunyikan",
|
||||
advancedHiddenPlural: "{count} pengaturan lanjutan disembunyikan",
|
||||
@@ -1207,9 +1297,12 @@ export const id: TranslationMap = {
|
||||
lobsterdexSeen: "{seen}/{total} dikunjungi",
|
||||
lobsterdexFirstVisited: "{name} · pertama kali dikunjungi {date}",
|
||||
lobsterdexCardFirstVisited: "Pertama dikunjungi {date}",
|
||||
lobsterdexCardShinySeen: "✦ Shiny terlihat {date}",
|
||||
lobsterdexCardCopyLink: "Salin tautan",
|
||||
lobsterdexOpen: "Buka Lobsterdex",
|
||||
},
|
||||
security: {
|
||||
intro: "Tinjau akses gateway, kebijakan alat, autentikasi perangkat, dan persetujuan.",
|
||||
title: "Keamanan",
|
||||
gatewayAuth: "Autentikasi Gateway",
|
||||
execPolicy: "Kebijakan exec",
|
||||
@@ -1378,6 +1471,7 @@ export const id: TranslationMap = {
|
||||
"Notifikasi dinonaktifkan untuk OpenClaw di macOS. Izinkan di System Settings > Notifications.",
|
||||
},
|
||||
appearance: {
|
||||
intro: "Preferensi tema, obrolan, dan bilah sisi untuk klien Control UI ini.",
|
||||
theme: "Tema",
|
||||
chooseTheme: "Pilih keluarga tema.",
|
||||
importedTheme: "Tema yang diimpor",
|
||||
@@ -1449,11 +1543,11 @@ export const id: TranslationMap = {
|
||||
open: "Terbuka",
|
||||
applying: "Menerapkan…",
|
||||
autoSaveSaving: "Menyimpan…",
|
||||
autoSaveSaved: "Tersimpan",
|
||||
autoSaveFailed: "Gagal menyimpan",
|
||||
autoSaveConflict: "Pengaturan diubah di tempat lain",
|
||||
retry: "Coba lagi",
|
||||
applyBannerText: "Tersimpan ke openclaw.json — mulai ulang gateway untuk menerapkan.",
|
||||
applyBannerAction: "Mulai ulang & terapkan",
|
||||
applyChanges: "Terapkan perubahan",
|
||||
rawDiscard: "Buang",
|
||||
rawDraftBlocksApply:
|
||||
"Perubahan konfigurasi mentah belum disimpan — simpan atau buang di editor Raw sebelum memulai ulang.",
|
||||
@@ -1701,7 +1795,6 @@ export const id: TranslationMap = {
|
||||
forward: "Maju",
|
||||
chat: "Chat",
|
||||
settings: "Pengaturan",
|
||||
settingsGeneral: "Umum",
|
||||
askOpenClaw: "Tanya OpenClaw",
|
||||
settingsGroupConnections: "Koneksi",
|
||||
settingsGroupAgents: "Agen & Alat",
|
||||
@@ -1757,6 +1850,11 @@ export const id: TranslationMap = {
|
||||
dockBottom: "Dock to bottom",
|
||||
dockRight: "Dock to right",
|
||||
unavailable: "The terminal is not available on this gateway.",
|
||||
uploadTooLarge: "File melebihi batas unggah terminal 16 MiB: {file}",
|
||||
uploadUnsafeCmdPath:
|
||||
"Tidak dapat menyisipkan path yang diunggah dengan aman jika mengandung % atau ! ke dalam cmd.exe",
|
||||
uploadUnsupportedShell:
|
||||
"Tidak dapat menyisipkan path yang diunggah dengan aman ke shell yang tidak didukung: {shell}",
|
||||
},
|
||||
browser: {
|
||||
title: "Browser",
|
||||
@@ -1793,6 +1891,15 @@ export const id: TranslationMap = {
|
||||
noChatTarget: "Buka sesi chat terlebih dahulu agar anotasi memiliki tujuan.",
|
||||
inspectUnavailable: "Inspeksi elemen dinonaktifkan (browser.evaluateEnabled=false).",
|
||||
annotationSent: "Anotasi ditambahkan ke penyusun chat.",
|
||||
errors: {
|
||||
requestFailed: "Permintaan browser gagal: {error}",
|
||||
screenshotPathMissing: "Tangkapan layar browser tidak mengembalikan path media.",
|
||||
screenshotFetchTimedOut: "Pengambilan tangkapan layar melampaui batas waktu.",
|
||||
screenshotFetchFailed: "Pengambilan tangkapan layar gagal ({status}).",
|
||||
screenshotReadFailed: "Pembacaan tangkapan layar gagal.",
|
||||
screenshotDecodeFailed: "Dekode tangkapan layar gagal.",
|
||||
canvasUnavailable: "Konteks Canvas 2D tidak tersedia.",
|
||||
},
|
||||
annotatePrompt: {
|
||||
introTitled:
|
||||
'Saya menganotasi halaman di {url} (judul yang dilaporkan halaman: "{title}") — tangkapan layar terlampir menunjukkan markup saya.',
|
||||
@@ -1840,6 +1947,7 @@ export const id: TranslationMap = {
|
||||
automation: "Otomatisasi",
|
||||
mcp: "MCP",
|
||||
memory: "Memori",
|
||||
talk: "Talk",
|
||||
infrastructure: "Infrastruktur",
|
||||
labs: "Labs",
|
||||
about: "Tentang",
|
||||
@@ -1879,6 +1987,7 @@ export const id: TranslationMap = {
|
||||
automation: "Perintah, hook, cron, dan plugin.",
|
||||
mcp: "Server MCP, autentikasi, alat, dan diagnostik.",
|
||||
memory: "Engine memori, backend, pencarian, dan dreaming.",
|
||||
talk: "Suara realtime: penyedia, model, dan suara pembicara.",
|
||||
infrastructure: "Pengaturan Gateway, web, browser, dan media.",
|
||||
labs: "Kemampuan agen dan alat eksperimental.",
|
||||
about: "Control UI dan Gateway yang terhubung membangun identitas.",
|
||||
@@ -1897,6 +2006,16 @@ export const id: TranslationMap = {
|
||||
heading: "Hubungkan AI Anda",
|
||||
intro:
|
||||
"OpenClaw menggunakan kembali akses AI yang sudah Anda miliki — login CLI, kunci API, atau login penyedia.",
|
||||
required: {
|
||||
title: "Tidak ada penyedia AI yang dikonfigurasi",
|
||||
body: "OpenClaw tidak dapat menemukan penyedia dan model yang dikonfigurasi untuk agen ini. Tambahkan salah satu sebelum memulai percakapan.",
|
||||
action: "Konfigurasikan penyedia",
|
||||
},
|
||||
connectionFailure: {
|
||||
title: "OpenClaw tidak dapat menggunakan AI yang Anda konfigurasi",
|
||||
body: "Agen ini memiliki penyedia dan model yang dipilih, tetapi koneksi gagal. Periksa login penyedia atau kunci API, akses model, dan status layanan, lalu coba lagi.",
|
||||
action: "Periksa pengaturan penyedia",
|
||||
},
|
||||
loading: "Memeriksa akses AI yang tersedia di Gateway ini…",
|
||||
retry: "Coba lagi",
|
||||
checkAgain: "Periksa lagi",
|
||||
@@ -1928,6 +2047,8 @@ export const id: TranslationMap = {
|
||||
},
|
||||
unavailable: {
|
||||
title: "Terdeteksi, tetapi tidak diuji secara otomatis",
|
||||
signIn: "Masuk dengan {provider}",
|
||||
useApiKey: "Gunakan kunci API",
|
||||
},
|
||||
signIn: {
|
||||
title: "Login dengan penyedia",
|
||||
@@ -2032,6 +2153,39 @@ export const id: TranslationMap = {
|
||||
agent: "Agen tujuan",
|
||||
replaceExisting: "Ganti hasil impor yang ada",
|
||||
replaceHint: "Pratinjau kembali konflik dan simpan cadangan item sebelum penggantian.",
|
||||
backfill: {
|
||||
title: "Dari sesi sebelumnya",
|
||||
subtitle:
|
||||
"Siapkan memori tepercaya dari sesi agen sebelumnya. Dreaming mempromosikan yang berguna ke memori jangka panjang.",
|
||||
dateRange: "Rentang tanggal sesi",
|
||||
dateRangeHint: "Kosongkan salah satu tanggal untuk memindai seluruh rentang yang tersedia.",
|
||||
from: "Dari",
|
||||
to: "Ke",
|
||||
actions: "Isi ulang",
|
||||
preview: "Pratinjau",
|
||||
previewing: "Meninjau…",
|
||||
apply: "Terapkan",
|
||||
applying: "Menerapkan…",
|
||||
rollback: "Kembalikan",
|
||||
previewSummary: "{candidates} kandidat dalam {days} hari",
|
||||
previewTruncated:
|
||||
"Pratinjau ini menampilkan batch terbatas pertama. Terapkan akan melanjutkan sisa kandidat.",
|
||||
candidateCount: "{count} kandidat",
|
||||
noCandidates: "Tidak ada kandidat sesi tepercaya baru yang ditemukan.",
|
||||
progress: "Diproses {days} hari · {staged} disiapkan",
|
||||
processedCandidates: "{count} kandidat sesi diproses",
|
||||
processedDayCountOne: "{count} hari diproses",
|
||||
processedDayCount: "{count} hari diproses",
|
||||
complete: "{count} disiapkan; promosi terjadi melalui dreaming",
|
||||
rollbackConfirmTitle: "Rollback backfill sesi?",
|
||||
rollbackConfirmDescription:
|
||||
"Hapus entri diary dan memori yang telah di-stage yang dibuat oleh backfill sesi untuk agen ini.",
|
||||
rollbackWarning:
|
||||
"Kursor sesi yang dilacak tetap ada, jadi entri yang dihapus tidak akan di-stage lagi.",
|
||||
rollbackComplete: "Backfill sesi telah di-rollback",
|
||||
rollbackCounts: "{diary} entri diary dan {staged} entri yang di-stage telah dihapus",
|
||||
unavailable: "Backfill sesi tidak tersedia di Gateway ini.",
|
||||
},
|
||||
},
|
||||
onboarding: {
|
||||
memoryImport: {
|
||||
@@ -2073,6 +2227,14 @@ export const id: TranslationMap = {
|
||||
sessionRestarted:
|
||||
"{error} OpenClaw memulai sesi baru; pesan sebelumnya tetap ada sebagai konteks.",
|
||||
unsupportedGateway: "Perbarui Gateway untuk melanjutkan pengaturan dengan OpenClaw.",
|
||||
panel: {
|
||||
title: "OpenClaw",
|
||||
toggle: "Tanya OpenClaw",
|
||||
close: "Tutup Ask OpenClaw",
|
||||
resize: "Ubah ukuran Ask OpenClaw",
|
||||
dockBottom: "Tambatkan Ask OpenClaw di bawah",
|
||||
dockRight: "Tambatkan Ask OpenClaw di kanan",
|
||||
},
|
||||
history: {
|
||||
button: "Riwayat",
|
||||
title: "Perubahan terbaru",
|
||||
@@ -2131,12 +2293,14 @@ export const id: TranslationMap = {
|
||||
working: "Sedang bekerja…",
|
||||
},
|
||||
mcpPage: {
|
||||
intro: "Hubungkan dan kelola server MCP yang menyediakan tools untuk OpenClaw.",
|
||||
connectorsLink: "Temukan konektor sekali klik di halaman Plugins.",
|
||||
servers: "Server",
|
||||
oauth: "OAuth",
|
||||
filtered: "Terfilter",
|
||||
configuredServers: "Server yang dikonfigurasi",
|
||||
noServers: "Tidak ada server MCP yang dikonfigurasi.",
|
||||
setUpFirstServer: "Siapkan server MCP pertama Anda",
|
||||
operatorCommands: "Perintah operator MCP",
|
||||
operatorCommandsHint:
|
||||
"Status, diagnostik, autentikasi, pemeriksaan, dan pemuatan ulang runtime.",
|
||||
@@ -2147,12 +2311,135 @@ export const id: TranslationMap = {
|
||||
tlsVerifyOff: "verifikasi TLS mati",
|
||||
mtls: "mTLS",
|
||||
},
|
||||
talkPage: {
|
||||
intro: "Konfigurasikan penyedia suara realtime, model, dan suara pembicara.",
|
||||
voiceSection: {
|
||||
title: "Suara realtime",
|
||||
description:
|
||||
"Percakapan suara berkelanjutan dengan agen Anda. Pemilih di bawah menulis pengaturan talk.realtime; formulir lengkap lebih lanjut di bawah mencakup semua hal lainnya.",
|
||||
},
|
||||
status: {
|
||||
title: "Status",
|
||||
ready: "Siap",
|
||||
notReady: "Belum dikonfigurasi",
|
||||
unavailable: "Tidak tersedia",
|
||||
unavailableHint: "Hubungkan ke Gateway untuk memeriksa kesiapan suara realtime.",
|
||||
activeProvider: "Penyedia aktif: {provider}",
|
||||
noProvider: "Belum ada penyedia suara realtime yang dikonfigurasi.",
|
||||
},
|
||||
provider: {
|
||||
title: "Penyedia",
|
||||
description: "Auto memilih penyedia pertama dengan kredensial yang berfungsi.",
|
||||
auto: "Otomatis",
|
||||
},
|
||||
model: {
|
||||
title: "Model",
|
||||
description: "Model suara realtime untuk sesi Talk di browser.",
|
||||
default: "Default penyedia",
|
||||
defaultNamed: "Default ({model})",
|
||||
},
|
||||
voice: {
|
||||
title: "Suara pembicara",
|
||||
description:
|
||||
"Suara yang digunakan untuk balasan lisan. GPT-Live mengunci suara setelah panggilan dimulai.",
|
||||
default: "Default penyedia",
|
||||
},
|
||||
gptLive: {
|
||||
title: "GPT-Live",
|
||||
hint: "GPT-Live bekerja dengan langganan ChatGPT: masuk sekali dengan “openclaw models auth login --provider openai”. Tidak perlu kunci Platform API. Hanya untuk Talk di browser. Pekerjaan yang didelegasikan dapat diarahkan saat berjalan dan memerlukan konfirmasi lisan yang tepat untuk tindakan berdampak tinggi.",
|
||||
ready: "Siap",
|
||||
},
|
||||
},
|
||||
memoryPage: {
|
||||
intro: "Pilih cara OpenClaw menyimpan, mencari, dan memelihara memori agen.",
|
||||
tablistLabel: "Bagian memori",
|
||||
tabs: {
|
||||
overview: "Ikhtisar",
|
||||
search: "Pencarian",
|
||||
dreaming: "Dreaming",
|
||||
memories: "Memori",
|
||||
dreams: "Dreams",
|
||||
settings: "Pengaturan",
|
||||
},
|
||||
overview: {
|
||||
hero: {
|
||||
awake: "Memori aktif",
|
||||
waking: "Membangunkan memori…",
|
||||
hibernating: "Memori sedang hibernasi",
|
||||
needsAttention: "Memori memerlukan perhatian",
|
||||
activeDescription: "{engine} · {mode}",
|
||||
loadingDescription: "Memeriksa mesin memori dan siklus mimpi agen ini.",
|
||||
offDescription: "Pilih mesin memori di Pengaturan untuk mengaktifkannya.",
|
||||
disabledDescription:
|
||||
"Mesin memori yang dipilih dinonaktifkan. Aktifkan kembali di Pengaturan.",
|
||||
gatewayOffline: "Gateway sedang offline, jadi status memori tidak tersedia.",
|
||||
hybridSearch: "pencarian hibrida",
|
||||
keywordSearch: "pencarian kata kunci (tanpa embedding)",
|
||||
openSettings: "Buka Pengaturan",
|
||||
retry: "Coba lagi",
|
||||
refresh: "Segarkan status",
|
||||
},
|
||||
schedule: {
|
||||
title: "Jadwal tidur",
|
||||
lightDescription:
|
||||
"Mengurutkan catatan jangka pendek baru dan menyiapkan kandidat menjanjikan tanpa mengubah memori jangka panjang.",
|
||||
remDescription:
|
||||
"Merefleksikan tema dan ide berulang di seluruh aktivitas terbaru untuk memperkuat pemeringkatan tanpa mengubah memori jangka panjang.",
|
||||
deepDescription:
|
||||
"Menilai kandidat yang disiapkan, mempromosikan yang layak ke memori jangka panjang (MEMORY.md), dan menulis buku harian mimpi.",
|
||||
nextRun: "berikutnya {time}",
|
||||
lastRun: "terakhir {time}",
|
||||
notScheduled: "Tidak dijadwalkan",
|
||||
learnMore: "Cara kerja dreaming",
|
||||
openDocs: "Buka panduan dreaming",
|
||||
},
|
||||
activity: {
|
||||
title: "Aktivitas",
|
||||
promotedToday: "Dipromosikan hari ini",
|
||||
promotedTotal: "Total dipromosikan",
|
||||
shortTermCount: "Entri jangka pendek tertunda",
|
||||
phaseHitCount: "Sinyal fase",
|
||||
lightPhaseHitCount: "Hit fase ringan",
|
||||
remPhaseHitCount: "Hit fase REM",
|
||||
},
|
||||
health: {
|
||||
title: "Kesehatan mesin",
|
||||
provider: "Provider",
|
||||
embeddings: "Embeddings",
|
||||
runtime: "Runtime embedding",
|
||||
healthy: "Siap",
|
||||
unavailable: "Tidak tersedia",
|
||||
notChecked: "Belum diperiksa",
|
||||
notCheckedDescription: "Kesiapan embedding belum diperiksa.",
|
||||
checking: "Memeriksa…",
|
||||
test: "Uji",
|
||||
testing: "Menguji…",
|
||||
},
|
||||
shortcuts: {
|
||||
title: "Jelajahi memori",
|
||||
memories: "Cari memori",
|
||||
diary: "Baca buku harian mimpi",
|
||||
settings: "Konfigurasikan memori",
|
||||
},
|
||||
},
|
||||
memories: {
|
||||
searchLabel: "Cari memori",
|
||||
searchPlaceholder: "Cari memori agen ini",
|
||||
searchButton: "Pencarian",
|
||||
idle: "Cari orang, proyek, keputusan, atau apa pun yang diingat agen ini.",
|
||||
searching: "Mencari memori…",
|
||||
results: "{count} hasil",
|
||||
empty: "Tidak ada memori yang cocok dengan “{query}”.",
|
||||
error: "Pencarian memori gagal: {message}",
|
||||
retry: "Coba lagi",
|
||||
gatewayUpdateRequired: "Perbarui gateway untuk mencari memori dari Control UI.",
|
||||
hybridSearch: "pencarian hibrida",
|
||||
keywordSearch: "pencarian kata kunci",
|
||||
lineRange: "baris {start}–{end}",
|
||||
score: "skor {score}",
|
||||
sourceMemory: "memori",
|
||||
sourceSessions: "sesi",
|
||||
fileLoading: "Memuat berkas memori lengkap…",
|
||||
fileError: "Tidak dapat memuat berkas memori ini: {message}",
|
||||
fileUnsupported: "Berkas memori ini tidak dapat ditampilkan sebagai teks.",
|
||||
},
|
||||
engine: {
|
||||
title: "Engine",
|
||||
@@ -2189,6 +2476,8 @@ export const id: TranslationMap = {
|
||||
memoryWiki: {
|
||||
title: "Memory wiki",
|
||||
},
|
||||
toggleAriaLabel: "Aktifkan atau nonaktifkan {plugin}",
|
||||
changeFailed: "Tidak dapat memperbarui {plugin}",
|
||||
stateUnknown: "Tidak diketahui",
|
||||
manage: "Aktifkan atau nonaktifkan add-on",
|
||||
manageLink: "Buka Plugins",
|
||||
@@ -2570,35 +2859,8 @@ export const id: TranslationMap = {
|
||||
},
|
||||
profilePage: {
|
||||
offline: "Hubungkan ke gateway untuk bertemu agen Anda.",
|
||||
loading: "Menyelam mencari statistik…",
|
||||
emptyTitle: "Cangkang baru",
|
||||
emptyBody: "Belum ada aktivitas token. Kirim pesan ke agen Anda dan lihat reef menyala.",
|
||||
sinceChip: "Di reef sejak {date}",
|
||||
channelChipTitle: "{tokens} token di channel ini",
|
||||
statLifetimeTokens: "Token sepanjang masa",
|
||||
statPeakDay: "Hari puncak",
|
||||
statLongestSession: "Sesi terpanjang",
|
||||
statCurrentStreak: "Rentetan saat ini",
|
||||
statLongestStreak: "Rentetan terpanjang",
|
||||
streakDay: "{count} hari",
|
||||
streakDays: "{count} hari",
|
||||
heatmapTitle: "Aktivitas token",
|
||||
heatmapSub: "Setahun di reef — semakin merah, semakin sibuk capitnya.",
|
||||
heatmapCellTokens: "{tokens} token",
|
||||
legendLess: "Lebih sedikit",
|
||||
legendMore: "Lebih banyak",
|
||||
insightsTitle: "Insight aktivitas",
|
||||
insightModel: "Model yang paling sering digunakan",
|
||||
insightMessages: "Pesan yang dipertukarkan",
|
||||
insightToolCalls: "Panggilan tool",
|
||||
insightUniqueTools: "Tool berbeda",
|
||||
insightAgents: "Agen di reef",
|
||||
insightSessions: "Sesi yang dilacak",
|
||||
sessionsCapped: "{count}+",
|
||||
toolsTitle: "Tool yang paling sering digunakan",
|
||||
toolsEmpty: "Belum ada eksekusi tool yang tercatat.",
|
||||
toolRun: "{count} eksekusi",
|
||||
toolRuns: "{count} eksekusi",
|
||||
usageStatistics: "Statistik penggunaan",
|
||||
usageStatisticsDescription: "Lihat aktivitas, biaya, dan tren penggunaan.",
|
||||
identity: {
|
||||
title: "Identitas",
|
||||
menuLabel: "Menu identitas",
|
||||
@@ -2697,6 +2959,9 @@ export const id: TranslationMap = {
|
||||
next: "Berikutnya",
|
||||
apply: "Terapkan",
|
||||
applying: "Menerapkan…",
|
||||
evaluate: "Evaluasi",
|
||||
evaluating: "Mengevaluasi…",
|
||||
evaluated: "Dievaluasi",
|
||||
revise: "Revisi",
|
||||
tweak: "Sesuaikan",
|
||||
opening: "Membuka…",
|
||||
@@ -2704,6 +2969,11 @@ export const id: TranslationMap = {
|
||||
rejecting: "Menolak…",
|
||||
sending: "Mengirim…",
|
||||
},
|
||||
notices: {
|
||||
applied: "Diterapkan",
|
||||
rejected: "Ditolak",
|
||||
revisionRequested: "Revisi diminta",
|
||||
},
|
||||
revision: {
|
||||
title: "{verb} proposal",
|
||||
description:
|
||||
@@ -2730,6 +3000,35 @@ export const id: TranslationMap = {
|
||||
supportFilesTitle: "File pendukung",
|
||||
clickToPreview: "· klik untuk pratinjau",
|
||||
},
|
||||
evaluation: {
|
||||
title: "Evaluasi",
|
||||
version: "Proposal {version}",
|
||||
completedAt: "Selesai {time}",
|
||||
status: {
|
||||
completed: "Selesai",
|
||||
skipped: "Dilewati",
|
||||
error: "Kesalahan",
|
||||
},
|
||||
decision: {
|
||||
pass: "Lolos",
|
||||
revise: "Revisi",
|
||||
block: "Blokir",
|
||||
},
|
||||
severity: {
|
||||
info: "Info",
|
||||
warn: "Peringatan",
|
||||
critical: "Kritis",
|
||||
},
|
||||
evaluatorVersion: "Evaluator {version}",
|
||||
mode: "Mode {mode}",
|
||||
findings: "Temuan",
|
||||
metrics: "Metrik",
|
||||
fileLine: "{file}:{line}",
|
||||
errors: {
|
||||
revisionHashUnavailable: "Revisi proposal saat ini tidak dapat diidentifikasi.",
|
||||
revisionChanged: "Revisi proposal berubah selama evaluasi.",
|
||||
},
|
||||
},
|
||||
empty: {
|
||||
searchTitle: "Tidak ada proposal yang cocok",
|
||||
searchBody: "Hapus pencarian atau coba kata kunci lain.",
|
||||
@@ -2793,6 +3092,8 @@ export const id: TranslationMap = {
|
||||
comeWithIt: "disertakan.",
|
||||
useIt: "Gunakan",
|
||||
addToSkills: "Tambahkan ke skills Anda",
|
||||
evaluate: "Evaluasi",
|
||||
runChecks: "Jalankan pemeriksaan proposal",
|
||||
tweakIt: "Sesuaikan",
|
||||
askAgent: "Minta agen untuk mengubah sesuatu",
|
||||
skipping: "Melewati…",
|
||||
@@ -3449,6 +3750,31 @@ export const id: TranslationMap = {
|
||||
reload: "Muat ulang",
|
||||
reloading: "Memuat ulang…",
|
||||
},
|
||||
actions: {
|
||||
dedupeRemovedOneAndKept: "Menghapus {removed} entri mimpi duplikat dan menyimpan {kept}.",
|
||||
dedupeRemovedManyAndKept: "Menghapus {removed} entri mimpi duplikat dan menyimpan {kept}.",
|
||||
dedupeRemovedOne: "Menghapus {removed} entri mimpi duplikat.",
|
||||
dedupeRemovedMany: "Menghapus {removed} entri mimpi duplikat.",
|
||||
repairArchivedThreadCorpus: "korpus utas yang diarsipkan",
|
||||
repairArchivedIngestionState: "status ingesti terarsip",
|
||||
repairArchivedDreamDiary: "diary mimpi terarsip",
|
||||
repairNoChanges: "Perbaikan cache mimpi selesai tanpa perubahan.",
|
||||
repairCompleteWithArchive: "Perbaikan cache mimpi selesai: {actions}. Arsip: {archiveDir}",
|
||||
repairComplete: "Perbaikan cache mimpi selesai: {actions}.",
|
||||
backfillComplete: "Mengisi ulang {count} entri diary mimpi.",
|
||||
resetDiaryComplete: "Menghapus {count} entri diary mimpi yang telah diisi ulang.",
|
||||
clearReplayedComplete: "Menghapus {count} entri jangka pendek yang telah diputar ulang.",
|
||||
complete: "Tindakan diary mimpi selesai.",
|
||||
confirmRepair:
|
||||
"Perbaiki Cache Mimpi? Ini akan mengarsipkan file cache mimpi turunan dan membangunnya kembali dari input yang bersih. Diary mimpi Anda tetap tidak tersentuh.",
|
||||
confirmDedupe:
|
||||
"Deduplikasi Diary Mimpi? Ini akan menulis ulang DREAMS.md dan hanya menghapus entri diary duplikat yang persis sama.",
|
||||
archivePathCopied: "Path arsip disalin.",
|
||||
archivePathCopyFailed: "Tidak dapat menyalin path arsip.",
|
||||
updateFailed: "Tidak dapat memperbarui pengaturan dreaming.",
|
||||
unsupportedPlugin: 'Plugin memori terpilih "{pluginId}" tidak mendukung pengaturan dreaming.',
|
||||
configHashMissing: "Config hash hilang; segarkan dan coba lagi.",
|
||||
},
|
||||
wiki: {
|
||||
previewFallbackTitle: "Halaman wiki",
|
||||
close: "Tutup",
|
||||
@@ -3494,6 +3820,61 @@ export const id: TranslationMap = {
|
||||
enableSuffix: ", lalu muat ulang tab ini.",
|
||||
openConfig: "Buka Config",
|
||||
howToEnable: "Cara mengaktifkan",
|
||||
pageTypes: {
|
||||
entity: "entitas",
|
||||
concept: "konsep",
|
||||
source: "sumber",
|
||||
synthesis: "sintesis",
|
||||
report: "laporan",
|
||||
},
|
||||
pageGroups: {
|
||||
sources: "Sumber",
|
||||
syntheses: "Sintesis",
|
||||
reports: "Laporan",
|
||||
entities: "Entitas",
|
||||
concepts: "Konsep",
|
||||
},
|
||||
counts: {
|
||||
pageOne: "{count} halaman",
|
||||
pages: "{count} halaman",
|
||||
claimRowOne: "{count} baris klaim",
|
||||
claimRows: "{count} baris klaim",
|
||||
openQuestionOne: "{count} pertanyaan terbuka",
|
||||
openQuestions: "{count} pertanyaan terbuka",
|
||||
contradictionOne: "{count} kontradiksi",
|
||||
contradictions: "{count} kontradiksi",
|
||||
chats: "{count} obrolan",
|
||||
sensitive: "{count} sensitif",
|
||||
signals: "{count} sinyal",
|
||||
messages: "{count} pesan",
|
||||
userMessages: "{count} pengguna",
|
||||
assistantMessages: "{count} asisten",
|
||||
},
|
||||
pageGroupSummary: "{label} · {count}",
|
||||
noPagesYet: "Belum ada halaman",
|
||||
sectionPageSummary: "{label}: {count}",
|
||||
questionCountOnPages: "{questionCount} di {pageCount}",
|
||||
risk: {
|
||||
needsReview: "perlu ditinjau",
|
||||
low: "risiko rendah",
|
||||
medium: "risiko sedang",
|
||||
high: "risiko tinggi",
|
||||
unknown: "risiko tidak diketahui",
|
||||
},
|
||||
pageNotFound: "Tidak ada halaman wiki yang ditemukan untuk {lookup}.",
|
||||
previewTruncated: "Menampilkan bagian pertama dari halaman ini.",
|
||||
previewTruncatedWithTotal:
|
||||
"Menampilkan bagian pertama dari halaman ini (total {count} baris).",
|
||||
importedClusterSummary: "Obrolan yang diimpor dikelompokkan berdasarkan {label}.",
|
||||
withheldDigestOne: "{count} ringkasan ditahan menunggu peninjauan.",
|
||||
withheldDigests: "{count} ringkasan ditahan menunggu peninjauan.",
|
||||
details: "Detail",
|
||||
hideDetails: "Sembunyikan detail",
|
||||
vault: "Vault",
|
||||
fullVaultBreakdown: "Rincian lengkap vault: {breakdown}.",
|
||||
selectedSection: "Bagian yang dipilih: {summary}.",
|
||||
latestUpdate: "Pembaruan terbaru {date}.",
|
||||
noContent: "Tidak ada konten wiki yang tersedia.",
|
||||
},
|
||||
phrases: {
|
||||
consolidatingMemories: "mengonsolidasikan memori…",
|
||||
@@ -3637,6 +4018,13 @@ export const id: TranslationMap = {
|
||||
session: "sesi",
|
||||
sessions: "sesi",
|
||||
},
|
||||
heatmap: {
|
||||
title: "Aktivitas Token",
|
||||
subtitle: "Intensitas token harian untuk rentang yang dipilih, hingga satu tahun.",
|
||||
cellTokens: "{tokens} token",
|
||||
less: "Lebih sedikit",
|
||||
more: "Lebih banyak",
|
||||
},
|
||||
providerUsage: {
|
||||
title: "Paket & penagihan penyedia",
|
||||
subtitle:
|
||||
@@ -4027,6 +4415,108 @@ export const id: TranslationMap = {
|
||||
multipleMatches: "Lebih dari satu sesi cocok dengan {shortId}.",
|
||||
additionalMatches: "Masih ada hasil pencarian. Gunakan prefiks id yang lebih panjang.",
|
||||
},
|
||||
commandResults: {
|
||||
startingNewThread: "Memulai thread baru...",
|
||||
resettingThread: "Mereset thread...",
|
||||
stoppingCurrentRun: "Menghentikan run saat ini...",
|
||||
chatHistoryCleared: "Riwayat chat dihapus.",
|
||||
exportingThread: "Mengekspor thread...",
|
||||
unknownCommand: "Perintah tidak dikenal: `{command}`",
|
||||
options: "Opsi: {options}.",
|
||||
sessionUnavailable: "Kapabilitas sesi tidak tersedia",
|
||||
help: {
|
||||
availableCommands: "Perintah yang Tersedia",
|
||||
agentCommand: "agen",
|
||||
openMenu: "Ketik `/` untuk membuka menu perintah.",
|
||||
},
|
||||
compaction: {
|
||||
failed: "Pemadatan gagal.",
|
||||
failedWithReason: "Pemadatan gagal: {reason}",
|
||||
tokenSummary: " ({before} -> {after} token)",
|
||||
succeeded: "Konteks berhasil dipadatkan",
|
||||
skipped: "Pemadatan dilewati.",
|
||||
skippedWithReason: "Pemadatan dilewati: {reason}",
|
||||
},
|
||||
model: {
|
||||
current: "**Model saat ini:** {model}",
|
||||
available: "**Tersedia:** {models}",
|
||||
more: "+{count} lainnya",
|
||||
getFailed: "Gagal mendapatkan info model: {error}",
|
||||
set: "Model diatur ke {model}.",
|
||||
setFailed: "Gagal mengatur model: {error}",
|
||||
},
|
||||
thinking: {
|
||||
current: "Level thinking saat ini: {level}.",
|
||||
getFailed: "Gagal mendapatkan level thinking: {error}",
|
||||
reset: "Level thinking direset ke default.",
|
||||
resetFailed: "Gagal mereset level thinking: {error}",
|
||||
unrecognized: 'Level thinking "{level}" tidak dikenali. Level yang valid: {options}.',
|
||||
unsupported:
|
||||
'Level thinking "{level}" tidak didukung untuk model ini. Level yang valid: {options}.',
|
||||
set: "Level thinking diatur ke {level}.",
|
||||
setFailed: "Gagal mengatur level thinking: {error}",
|
||||
},
|
||||
verbose: {
|
||||
current: "Level verbose saat ini: {level}.",
|
||||
getFailed: "Gagal mendapatkan level verbose: {error}",
|
||||
unrecognized: 'Level verbose "{level}" tidak dikenali. Level yang valid: off, on, full.',
|
||||
set: "Mode verbose diatur ke {level}.",
|
||||
setFailed: "Gagal mengatur mode verbose: {error}",
|
||||
},
|
||||
fast: {
|
||||
autoValue: "auto ({seconds} dtk)",
|
||||
on: "aktif",
|
||||
off: "nonaktif",
|
||||
sourceSession: " (sesi)",
|
||||
sourceAgent: " (default: agent)",
|
||||
sourceModel: " (default: model)",
|
||||
sourceDefault: " (default)",
|
||||
current: "Mode cepat saat ini: {value}",
|
||||
options: "on, off, auto ({seconds} dtk), default, status",
|
||||
getFailed: "Gagal mendapatkan mode cepat: {error}",
|
||||
reset: "Mode cepat disetel ulang ke default.",
|
||||
resetFailed: "Gagal menyetel ulang mode cepat: {error}",
|
||||
unrecognized:
|
||||
'Mode cepat "{mode}" tidak dikenali. Level valid: on, off, auto, default, status.',
|
||||
setAuto: "Mode cepat disetel ke auto.",
|
||||
enabled: "Mode cepat diaktifkan.",
|
||||
disabled: "Mode cepat dinonaktifkan.",
|
||||
setFailed: "Gagal menyetel mode cepat: {error}",
|
||||
},
|
||||
usage: {
|
||||
noActiveThread: "Tidak ada thread aktif.",
|
||||
notAvailable: "t/a",
|
||||
title: "Penggunaan Thread",
|
||||
inputTokens: "Input: {count} token",
|
||||
outputTokens: "Output: {count} token",
|
||||
totalTokens: "Total: {count} token",
|
||||
context: "Konteks: {percent} dari {total}",
|
||||
model: "Model: {model}",
|
||||
failed: "Gagal mendapatkan penggunaan: {error}",
|
||||
},
|
||||
agents: {
|
||||
none: "Tidak ada agent yang dikonfigurasi.",
|
||||
title: "**Agent** ({count})",
|
||||
default: "default",
|
||||
runtime: " · runtime {runtime}",
|
||||
failed: "Gagal menampilkan agent: {error}",
|
||||
},
|
||||
steer: {
|
||||
timeout: "Run aktif berakhir sebelum pesan steer diterima.",
|
||||
failed: "Steer gagal sebelum mencapai run; coba lagi.",
|
||||
usage: "Penggunaan: `/steer <message>`",
|
||||
noActiveRun: "Tidak ada run aktif. Gunakan input chat atau `/redirect`.",
|
||||
succeeded: "Berhasil di-steer.",
|
||||
requestFailed: "Gagal melakukan steer: {error}",
|
||||
},
|
||||
redirect: {
|
||||
timeout: "Run aktif berakhir sebelum pesan redirect diterima.",
|
||||
failed: "Redirect gagal sebelum mencapai run; coba lagi.",
|
||||
usage: "Penggunaan: `/redirect <message>`",
|
||||
succeeded: "Berhasil dialihkan.",
|
||||
requestFailed: "Gagal melakukan redirect: {error}",
|
||||
},
|
||||
},
|
||||
sessionSharing: {
|
||||
menu: "Berbagi thread",
|
||||
current: "Visibilitas thread: {visibility}",
|
||||
@@ -4179,10 +4669,17 @@ export const id: TranslationMap = {
|
||||
dismissUpdateBanner: "Tutup banner pembaruan",
|
||||
switchedSession: "Beralih ke {session}",
|
||||
actions: {
|
||||
copyAsMarkdown: "Salin sebagai markdown",
|
||||
dismissError: "Tutup kesalahan",
|
||||
exitFocusMode: "Keluar dari mode fokus",
|
||||
scrollToLatest: "Gulir ke terbaru",
|
||||
},
|
||||
markdown: {
|
||||
truncated: "… terpotong ({total} karakter, menampilkan {shown} pertama).",
|
||||
},
|
||||
codeBlock: {
|
||||
jsonLines: "JSON · {count} baris",
|
||||
},
|
||||
workspaceConflict: {
|
||||
titleOne: "1 konflik cloud workspace",
|
||||
titleMany: "{count} konflik cloud workspace",
|
||||
@@ -4277,6 +4774,7 @@ export const id: TranslationMap = {
|
||||
threads: "Thread",
|
||||
groups: "Grup",
|
||||
coding: "Coding",
|
||||
noSessionsForAgent: "Tidak ada sesi ditemukan untuk agent ini",
|
||||
catalogViewOptions: "Opsi tampilan",
|
||||
catalogGroupByProject: "Proyek",
|
||||
catalogGroupByPerson: "Orang",
|
||||
@@ -4288,6 +4786,8 @@ export const id: TranslationMap = {
|
||||
sessionMenu: "Actions for {session}",
|
||||
sessionMenuMany: "Tindakan untuk {count} sesi",
|
||||
toolActivity: "Menggunakan {tool}",
|
||||
catalogDiscoveryHelp:
|
||||
"{error}. Konfigurasikan penemuan thread native di Settings > Automation > Plugins.",
|
||||
},
|
||||
welcome: {
|
||||
hintBeforeShortcut: "Type a message below ·",
|
||||
@@ -4321,12 +4821,23 @@ export const id: TranslationMap = {
|
||||
steered: "Diarahkan",
|
||||
steerQueuedMessage: "Arahkan pesan dalam antrean",
|
||||
removeQueuedMessage: "Hapus pesan dalam antrean",
|
||||
states: {
|
||||
steering: "Mengarahkan",
|
||||
applyingSettings: "Menerapkan pengaturan obrolan",
|
||||
waitingForRun: "Menunggu proses saat ini",
|
||||
runningCommand: "Menjalankan perintah",
|
||||
waitingForReconnect: "Menunggu penyambungan ulang",
|
||||
needsReview: "Perlu ditinjau",
|
||||
},
|
||||
imageCount: "Gambar ({count})",
|
||||
},
|
||||
goals: {
|
||||
edit: "Edit tujuan",
|
||||
pause: "Jeda tujuan",
|
||||
resume: "Lanjutkan tujuan",
|
||||
clear: "Hapus tujuan",
|
||||
showDetails: "Tampilkan detail sasaran",
|
||||
hideDetails: "Sembunyikan detail sasaran",
|
||||
},
|
||||
questions: {
|
||||
title: "Codex membutuhkan masukan",
|
||||
@@ -4352,6 +4863,7 @@ export const id: TranslationMap = {
|
||||
unavailable: "Tidak tersedia",
|
||||
expired: "Kedaluwarsa",
|
||||
cancelled: "Dibatalkan",
|
||||
disconnected: "Tidak tersambung. Coba lagi setelah tersambung kembali.",
|
||||
},
|
||||
imageLightbox: {
|
||||
label: "Pratinjau gambar: {title}",
|
||||
@@ -4372,6 +4884,12 @@ export const id: TranslationMap = {
|
||||
reply: "Balas",
|
||||
replyToMessage: "Balas pesan",
|
||||
replyingTo: "Membalas {name}",
|
||||
message: "pesan",
|
||||
currentMessage: "pesan saat ini",
|
||||
actions: "Tindakan pesan",
|
||||
selectionActions: "Tindakan pilihan",
|
||||
moreDetails: "Detail lainnya",
|
||||
askInSideChat: "Tanyakan di obrolan samping",
|
||||
rewind: "Putar ulang",
|
||||
rewindConfirm: "Putar ulang ke sebelum pesan ini?",
|
||||
rewindToHere: "Putar ulang ke sini",
|
||||
@@ -4381,14 +4899,35 @@ export const id: TranslationMap = {
|
||||
showMore: "Tampilkan lebih banyak",
|
||||
unknownDate: "Tanggal tidak diketahui",
|
||||
voiceNote: "Catatan suara",
|
||||
duplicatesCollapsed: "{count} pesan identik berturut-turut diciutkan",
|
||||
contextFor: "Konteks pesan untuk {timestamp}",
|
||||
},
|
||||
mediaPlayer: {
|
||||
play: "Putar",
|
||||
pause: "Jeda",
|
||||
seek: "Cari media",
|
||||
download: "Unduh {filename}",
|
||||
videoUnavailable: "Tidak dapat memutar format ini — unduh saja.",
|
||||
},
|
||||
modelControls: {
|
||||
current: "Saat Ini",
|
||||
default: "Default",
|
||||
reasoning: "Penalaran",
|
||||
speed: "Kecepatan",
|
||||
sessionOverride: "Penggantian thread",
|
||||
useDefault: "Gunakan default",
|
||||
usingDefault: "Menggunakan default dari Pengaturan",
|
||||
resetToDefault: "Setel ulang ke default ({model})",
|
||||
defaultWithModel: "Default ({model})",
|
||||
defaultWithLevel: "Default ({level})",
|
||||
fastHelp:
|
||||
"Respons cepat selesai lebih awal dan dapat menggunakan lebih banyak batas penggunaan Anda.",
|
||||
speedUnsupported: "Kontrol kecepatan tidak didukung untuk model ini.",
|
||||
contextWindow: "Konteks {count}",
|
||||
providerModels: "Model {provider}",
|
||||
resetReasoning: "Setel ulang ke default ({level})",
|
||||
useDefaultReasoning: "Gunakan reasoning default ({level})",
|
||||
fastResponsesAria: "Respons cepat: {state}",
|
||||
},
|
||||
rail: {
|
||||
title: "Pendamping sesi",
|
||||
@@ -4458,6 +4997,21 @@ export const id: TranslationMap = {
|
||||
renderedMarkdownHint: "Pratinjau teks kaya yang telah disaring untuk pembacaan cepat.",
|
||||
noPreviewableMarkdown: "Tidak ada konten markdown yang dapat dipratinjau.",
|
||||
noContent: "Tidak ada konten tersedia",
|
||||
fullContentOversized:
|
||||
"Konten lengkap tidak tersedia karena entri transkrip yang tersimpan terlalu besar untuk dikembalikan dengan aman.",
|
||||
fullContentNotVisible:
|
||||
"Konten lengkap tidak tersedia karena entri transkrip ini tidak memiliki proyeksi WebChat yang terlihat.",
|
||||
fullContentUnavailable: "Konten lengkap tidak lagi tersedia untuk entri transkrip ini.",
|
||||
copyContents: "Salin isi file",
|
||||
fileChanged: "File berubah di disk sejak dimuat.",
|
||||
renderPreview: "Render pratinjau",
|
||||
imagePreview: "Pratinjau gambar",
|
||||
file: "File",
|
||||
markdownPreview: "Pratinjau Markdown",
|
||||
toolDetails: "Detail alat",
|
||||
reloadFailed: "Gagal memuat ulang file terbaru.",
|
||||
overwriteLoadFailed: "Gagal memuat file terbaru sebelum menimpa.",
|
||||
fullContentLoadFailed: "Gagal memuat konten lengkap: {error}",
|
||||
},
|
||||
sidebarColumns: {
|
||||
chat: "Chat",
|
||||
@@ -4476,6 +5030,7 @@ export const id: TranslationMap = {
|
||||
unpin: "Lepas sematan",
|
||||
loading: "Memuat obrolan",
|
||||
noMatches: "Tidak ada pesan yang cocok",
|
||||
pinnedCount: "{count} disematkan",
|
||||
},
|
||||
pairingQrExpired: {
|
||||
title: "QR pemasangan kedaluwarsa",
|
||||
@@ -4495,13 +5050,53 @@ export const id: TranslationMap = {
|
||||
runDone: "Selesai",
|
||||
runInterrupted: "Terhenti",
|
||||
runStatus: "Status jalankan: {status}",
|
||||
compactingContext: "Meringkas konteks...",
|
||||
compacting: "Meringkas",
|
||||
compact: "Ringkas",
|
||||
contextCompacted: "Konteks diringkas",
|
||||
fallbackActive: "Fallback aktif: {model}",
|
||||
fallbackCleared: "Fallback dibersihkan: {model}",
|
||||
fallbackSelected: "Dipilih: {model}",
|
||||
fallbackCurrent: "Aktif: {model}",
|
||||
fallbackPrevious: "Fallback sebelumnya: {model}",
|
||||
fallbackReason: "Alasan: {reason}",
|
||||
fallbackAttempts: "Percobaan: {attempts}",
|
||||
cancelReply: "Batalkan balasan",
|
||||
attachmentPreview: "Pratinjau lampiran",
|
||||
compactRecommendedContext: "Padatkan konteks sesi yang direkomendasikan",
|
||||
removeAttachment: "Hapus lampiran",
|
||||
addAttachment: "Tambahkan lampiran",
|
||||
attachPhoto: "Foto",
|
||||
attachFile: "Attach file",
|
||||
attachFileOption: "Berkas",
|
||||
menu: {
|
||||
back: "Kembali",
|
||||
skills: "Skills",
|
||||
connectors: "Konektor",
|
||||
webSearch: "Pencarian web",
|
||||
managePlugins: "Kelola plugin",
|
||||
manageSkills: "Kelola Skills",
|
||||
browseConnectors: "Jelajahi konektor",
|
||||
addMcpServer: "Tambah server MCP…",
|
||||
toolAccess: "Akses alat",
|
||||
enabledCount: "{count} aktif",
|
||||
loadingSkills: "Memuat Skills…",
|
||||
skillsLoadFailed: "Tidak dapat memuat Skills.",
|
||||
noSkills: "Tidak ada Skills yang tersedia.",
|
||||
noConnectors: "Tidak ada server MCP yang dikonfigurasi.",
|
||||
depsMissing: "dependensi tidak ada",
|
||||
skillBlocked: "tidak tersedia untuk agen ini",
|
||||
sessionTag: "sesi",
|
||||
offlineBlocked: "Sambungkan ke Gateway untuk mengubah kapabilitas sesi.",
|
||||
readOnlyBlocked: "Akses tulis diperlukan untuk mengubah kapabilitas sesi.",
|
||||
adminBlocked: "Akses admin diperlukan untuk mengelola konektor.",
|
||||
savingBlocked: "Tunggu perubahan kapabilitas sesi saat ini selesai.",
|
||||
},
|
||||
overrides: {
|
||||
count: "{count} penggantian sesi",
|
||||
countOne: "{count} penggantian sesi",
|
||||
clear: "Bersihkan penggantian sesi",
|
||||
},
|
||||
contextUsage: {
|
||||
title: "Detail penggunaan konteks",
|
||||
open: "Buka detail penggunaan konteks",
|
||||
@@ -4573,6 +5168,17 @@ export const id: TranslationMap = {
|
||||
turnCameraOn: "Nyalakan kamera",
|
||||
voiceTranscript: "Transkrip suara",
|
||||
},
|
||||
attachments: {
|
||||
attachedFile: "File terlampir",
|
||||
outsideAllowedFolders: "Di luar folder yang diizinkan",
|
||||
unavailable: "Tidak tersedia",
|
||||
checking: "Memeriksa...",
|
||||
},
|
||||
voice: {
|
||||
asking: "Menanyakan OpenClaw...",
|
||||
connecting: "Menghubungkan input suara...",
|
||||
listening: "Mendengarkan...",
|
||||
},
|
||||
selectors: {
|
||||
session: "Chat session",
|
||||
sessionSearch: "Cari sesi",
|
||||
@@ -4774,6 +5380,7 @@ export const id: TranslationMap = {
|
||||
ru: "Русский (Russian)",
|
||||
},
|
||||
cron: {
|
||||
adminRequired: "Hanya menelusuri. Perubahan otomatisasi memerlukan akses operator.admin.",
|
||||
tabs: {
|
||||
filterLabel: "Status otomatisasi",
|
||||
all: "Semua",
|
||||
|
||||
Generated
+656
-35
File diff suppressed because it is too large
Load Diff
Generated
+645
-35
File diff suppressed because it is too large
Load Diff
Generated
+634
-35
@@ -8,6 +8,7 @@ export const ko: TranslationMap = {
|
||||
ok: "확인",
|
||||
yes: "예",
|
||||
no: "아니요",
|
||||
assistant: "어시스턴트",
|
||||
active: "활성",
|
||||
loading: "로딩 중…",
|
||||
refreshing: "새로 고치는 중…",
|
||||
@@ -35,8 +36,11 @@ export const ko: TranslationMap = {
|
||||
create: "만들기",
|
||||
copy: "복사",
|
||||
copied: "복사됨!",
|
||||
copyFailed: "복사 실패",
|
||||
copyCode: "코드 복사",
|
||||
resizeSplitView: "분할 보기 크기 조정",
|
||||
delete: "삭제",
|
||||
remove: "제거",
|
||||
dismiss: "닫기",
|
||||
unselect: "선택 해제",
|
||||
enabled: "사용",
|
||||
@@ -45,6 +49,9 @@ export const ko: TranslationMap = {
|
||||
none: "없음",
|
||||
na: "해당 없음",
|
||||
never: "never",
|
||||
justNow: "방금",
|
||||
now: "지금",
|
||||
unknown: "알 수 없음",
|
||||
configured: "구성됨",
|
||||
running: "실행 중",
|
||||
linked: "연결됨",
|
||||
@@ -70,6 +77,7 @@ export const ko: TranslationMap = {
|
||||
settingsSections: "설정 섹션",
|
||||
version: "버전",
|
||||
docs: "문서",
|
||||
learnMore: "자세히 알아보기",
|
||||
theme: "테마",
|
||||
colorMode: "색상 모드",
|
||||
colorModeOption: "색상 모드: {mode}",
|
||||
@@ -113,10 +121,24 @@ export const ko: TranslationMap = {
|
||||
filteredFileCount: "{count}/{total}개 파일",
|
||||
noMatches: "일치하는 파일이 없습니다.",
|
||||
navigate: "이동",
|
||||
kind: {
|
||||
text: "텍스트",
|
||||
shell: "셸",
|
||||
file: "파일",
|
||||
},
|
||||
},
|
||||
mcpApp: {
|
||||
title: "MCP 앱",
|
||||
unavailable: "MCP 앱을 사용할 수 없음: {error}",
|
||||
errors: {
|
||||
gatewayUnavailable: "MCP App gateway를 사용할 수 없습니다",
|
||||
mountUnavailable: "MCP App 마운트를 사용할 수 없습니다",
|
||||
sandboxTimedOut: "MCP App 샌드박스 시간이 초과되었습니다",
|
||||
sandboxUnavailable: "MCP App 샌드박스를 사용할 수 없습니다",
|
||||
initializationTimedOut: "MCP App 초기화 시간이 초과되었습니다",
|
||||
requestFailed: "요청 실패",
|
||||
invalidSandboxUrl: "MCP App 샌드박스 URL이 잘못되었습니다",
|
||||
},
|
||||
},
|
||||
githubPreview: {
|
||||
loading: "GitHub 세부 정보 로드 중…",
|
||||
@@ -234,6 +256,7 @@ export const ko: TranslationMap = {
|
||||
"휴대전화에서 WhatsApp → 설정 → 연결된 기기 → 기기 연결을 연 다음, 이 코드를 스캔하세요.",
|
||||
whatsappQrLoading: "QR 코드를 생성하는 중…",
|
||||
whatsappQrHint: "페어링 코드를 생성하려면 QR 표시를 클릭하세요.",
|
||||
whatsappQrAlt: "WhatsApp QR",
|
||||
whatsappLinked: "WhatsApp이 연결되어 사용할 준비가 되었습니다.",
|
||||
regenerateQr: "새 QR 코드",
|
||||
linkLater: "나중에 연결",
|
||||
@@ -322,6 +345,19 @@ export const ko: TranslationMap = {
|
||||
nip05: "you@example.com",
|
||||
lightningAddress: "you@getalby.com",
|
||||
},
|
||||
notices: {
|
||||
timeout:
|
||||
"30초 후 요청 시간이 초과되었습니다. 서버에서 변경 사항이 이미 적용되었을 수 있으니, 다시 시도하기 전에 프로필을 확인하세요.",
|
||||
operationFailed: "{prefix}: {error}",
|
||||
updateFailed: "프로필 업데이트 실패",
|
||||
updateFailedStatus: "프로필 업데이트 실패 ({status})",
|
||||
publishFailed: "모든 릴레이에서 프로필 게시에 실패했습니다.",
|
||||
published: "프로필이 릴레이에 게시되었습니다.",
|
||||
importFailed: "프로필 가져오기에 실패했습니다",
|
||||
importFailedStatus: "프로필 가져오기에 실패했습니다 ({status})",
|
||||
importedFromRelays: "릴레이에서 프로필을 가져왔습니다. 검토 후 게시하세요.",
|
||||
imported: "프로필을 가져왔습니다. 검토 후 게시하세요.",
|
||||
},
|
||||
},
|
||||
},
|
||||
lazyView: {
|
||||
@@ -333,6 +369,50 @@ export const ko: TranslationMap = {
|
||||
"OpenClaw가 백그라운드에서 업데이트되었습니다. 최신 패널을 사용하려면 새로고침하세요.",
|
||||
reloading: "다시 불러오는 중…",
|
||||
retry: "다시 시도",
|
||||
stylesFailed: "스타일을 불러오지 못해 페이지가 깨져 보일 수 있습니다.",
|
||||
},
|
||||
updates: {
|
||||
refreshRequired: "서버가 업데이트되었습니다 — 전체 기능을 사용하려면 새로 고침하세요",
|
||||
coalescedRestart:
|
||||
"업데이트가 설치되었습니다. Gateway 재시작이 이미 진행 중이며, 다시 연결되면 상태가 새로 고쳐집니다.",
|
||||
error: "업데이트 오류: {error}",
|
||||
status: "업데이트 {status}: {reason}. {guidance}",
|
||||
verificationFailed:
|
||||
"업데이트가 설치되었지만 실행 중인 버전이 변경되지 않았습니다 — 재시작이 차단되었을 수 있습니다.",
|
||||
verificationFailedWithVersions:
|
||||
"업데이트가 설치되었지만 실행 중인 버전이 변경되지 않았습니다 — 재시작이 차단되었을 수 있습니다. 예상 버전 v{expectedVersion}, 실행 중 v{actualVersion}.",
|
||||
handoffTimeout:
|
||||
"업데이트 핸드오프가 시작되었지만 재연결 후 완료가 보고되지 않았습니다. 최종 결과를 확인하려면 `openclaw update status`를 실행하세요.",
|
||||
failureReasons: {
|
||||
dirty: "변경 사항을 커밋하거나 스태시한 후 다시 시도하세요.",
|
||||
noUpstream: "업스트림 브랜치를 설정한 후 다시 시도하세요.",
|
||||
notGitInstall:
|
||||
"git 체크아웃이 아닙니다. 전역 재설치를 하려면 CLI에서 `openclaw update`를 실행하세요.",
|
||||
notOpenclawRoot:
|
||||
"OpenClaw 체크아웃에서 업데이트를 실행하거나 CLI 전역 재설치 경로를 사용하세요.",
|
||||
depsInstallFailed: "종속성 설치에 실패했습니다. 설치 오류를 해결한 후 다시 시도하세요.",
|
||||
buildFailed: "빌드에 실패했습니다. 빌드 오류를 해결한 후 다시 시도하세요.",
|
||||
buildDirty:
|
||||
"선택한 리비전의 빌드가 체크아웃 파일을 변경했습니다. 생성된 아티팩트가 포함된 리비전으로 다시 시도하세요.",
|
||||
uiBuildFailed: "control UI 재빌드에 실패했습니다. UI 빌드 오류를 수정하고 다시 시도하세요.",
|
||||
globalInstallFailed:
|
||||
"전역 패키지 설치가 디스크에서 확인되지 않았습니다. 다시 시도하거나 CLI에서 재설치하세요.",
|
||||
restartDisabled:
|
||||
"gateway 재시작이 비활성화되어 업데이트가 적용되지 않았습니다. 설정에서 재시작을 활성화한 후 다시 시도하세요.",
|
||||
restartUnavailable:
|
||||
"재시작이 비활성화되어 있고 슈퍼바이저가 없는 상태에서는 이 전역 설치를 안전하게 교체할 수 없습니다.",
|
||||
restartUnhealthy:
|
||||
"교체 프로세스가 정상 상태가 되지 못했습니다. 복구할 수 있도록 이전 프로세스가 유지되었습니다.",
|
||||
managedServiceHandoffAlreadyRunning:
|
||||
"다른 관리형 업데이트가 이미 실행 중입니다. 완료될 때까지 기다린 후 업데이트 상태를 새로 고치세요.",
|
||||
doctorFailed:
|
||||
"Doctor 복구에 실패했습니다. `openclaw doctor --non-interactive`를 실행하고 다시 시도하세요.",
|
||||
default: "정확한 실패 원인은 gateway 로그를 확인하고 원인이 해결된 후 다시 시도하세요.",
|
||||
},
|
||||
postRestart: {
|
||||
restartUnhealthy: "교체 프로세스가 정상 상태가 되지 못했고 이전 프로세스가 유지되었습니다.",
|
||||
default: "교체 실패에 대해서는 gateway 로그를 확인하세요.",
|
||||
},
|
||||
},
|
||||
nodes: {
|
||||
pairing: {
|
||||
@@ -815,6 +895,10 @@ export const ko: TranslationMap = {
|
||||
},
|
||||
agents: {
|
||||
noAgents: "No agents",
|
||||
defaults: {
|
||||
title: "에이전트 기본값",
|
||||
description: "재정의하지 않는 한 모든 에이전트가 상속하는 기본값입니다.",
|
||||
},
|
||||
copyId: "Copy ID",
|
||||
copyIdTitle: "Copy agent ID to clipboard",
|
||||
default: "Default",
|
||||
@@ -1017,6 +1101,9 @@ export const ko: TranslationMap = {
|
||||
noEvents: "No events yet.",
|
||||
},
|
||||
configForm: {
|
||||
redactedPlaceholder: "[편집됨 - 보려면 표시를 클릭하세요]",
|
||||
sectionHelp: "{section} 도움말",
|
||||
readGuide: "가이드 읽기",
|
||||
showAdvanced: "고급 표시",
|
||||
advancedHidden: "고급 설정 {count}개 숨김",
|
||||
advancedHiddenPlural: "고급 설정 {count}개 숨김",
|
||||
@@ -1204,9 +1291,12 @@ export const ko: TranslationMap = {
|
||||
lobsterdexSeen: "{seen}/{total} 방문함",
|
||||
lobsterdexFirstVisited: "{name} · 첫 방문일 {date}",
|
||||
lobsterdexCardFirstVisited: "처음 방문 {date}",
|
||||
lobsterdexCardShinySeen: "✦ {date}에 반짝이 발견",
|
||||
lobsterdexCardCopyLink: "링크 복사",
|
||||
lobsterdexOpen: "Lobsterdex 열기",
|
||||
},
|
||||
security: {
|
||||
intro: "게이트웨이 접근, 도구 정책, 기기 인증, 승인을 검토합니다.",
|
||||
title: "보안",
|
||||
gatewayAuth: "Gateway 인증",
|
||||
execPolicy: "실행 정책",
|
||||
@@ -1374,6 +1464,7 @@ export const ko: TranslationMap = {
|
||||
"macOS에서 OpenClaw 알림이 비활성화되어 있습니다. 시스템 설정 > 알림에서 허용하세요.",
|
||||
},
|
||||
appearance: {
|
||||
intro: "이 Control UI 클라이언트의 테마, 채팅, 사이드바 환경설정입니다.",
|
||||
theme: "테마",
|
||||
chooseTheme: "테마 계열을 선택하세요.",
|
||||
importedTheme: "가져온 테마",
|
||||
@@ -1444,11 +1535,11 @@ export const ko: TranslationMap = {
|
||||
open: "열기",
|
||||
applying: "적용 중…",
|
||||
autoSaveSaving: "저장 중…",
|
||||
autoSaveSaved: "저장됨",
|
||||
autoSaveFailed: "저장 실패",
|
||||
autoSaveConflict: "다른 곳에서 설정이 변경됨",
|
||||
retry: "재시도",
|
||||
applyBannerText: "openclaw.json에 저장됨 — Gateway를 재시작하여 적용하세요.",
|
||||
applyBannerAction: "재시작 및 적용",
|
||||
applyChanges: "변경 사항 적용",
|
||||
rawDiscard: "변경 사항 버리기",
|
||||
rawDraftBlocksApply:
|
||||
"저장되지 않은 Raw 설정 편집이 있습니다 — 재시작하기 전에 Raw 편집기에서 저장하거나 버리세요.",
|
||||
@@ -1694,7 +1785,6 @@ export const ko: TranslationMap = {
|
||||
forward: "앞으로",
|
||||
chat: "채팅",
|
||||
settings: "설정",
|
||||
settingsGeneral: "일반",
|
||||
askOpenClaw: "OpenClaw에게 물어보기",
|
||||
settingsGroupConnections: "연결",
|
||||
settingsGroupAgents: "에이전트 및 도구",
|
||||
@@ -1750,6 +1840,10 @@ export const ko: TranslationMap = {
|
||||
dockBottom: "Dock to bottom",
|
||||
dockRight: "Dock to right",
|
||||
unavailable: "The terminal is not available on this gateway.",
|
||||
uploadTooLarge: "파일이 16 MiB 터미널 업로드 한도를 초과합니다: {file}",
|
||||
uploadUnsafeCmdPath: "% 또는 !가 포함된 업로드 경로는 cmd.exe에 안전하게 삽입할 수 없습니다",
|
||||
uploadUnsupportedShell:
|
||||
"지원되지 않는 셸에 업로드된 경로를 안전하게 삽입할 수 없습니다: {shell}",
|
||||
},
|
||||
browser: {
|
||||
title: "브라우저",
|
||||
@@ -1786,6 +1880,15 @@ export const ko: TranslationMap = {
|
||||
noChatTarget: "주석을 보낼 위치가 있도록 먼저 채팅 세션을 여세요.",
|
||||
inspectUnavailable: "요소 검사가 비활성화되어 있습니다(browser.evaluateEnabled=false).",
|
||||
annotationSent: "주석이 채팅 작성기에 추가되었습니다.",
|
||||
errors: {
|
||||
requestFailed: "브라우저 요청 실패: {error}",
|
||||
screenshotPathMissing: "브라우저 스크린샷이 미디어 경로를 반환하지 않았습니다.",
|
||||
screenshotFetchTimedOut: "스크린샷 가져오기 시간이 초과되었습니다.",
|
||||
screenshotFetchFailed: "스크린샷 가져오기 실패 ({status}).",
|
||||
screenshotReadFailed: "스크린샷 읽기 실패.",
|
||||
screenshotDecodeFailed: "스크린샷 디코딩 실패.",
|
||||
canvasUnavailable: "Canvas 2D 컨텍스트를 사용할 수 없습니다.",
|
||||
},
|
||||
annotatePrompt: {
|
||||
introTitled:
|
||||
'{url}의 페이지에 주석을 달았습니다(페이지에서 보고한 제목: "{title}") — 첨부된 스크린샷에 제 마크업이 표시되어 있습니다.',
|
||||
@@ -1832,6 +1935,7 @@ export const ko: TranslationMap = {
|
||||
automation: "자동화",
|
||||
mcp: "MCP",
|
||||
memory: "메모리",
|
||||
talk: "Talk",
|
||||
infrastructure: "인프라",
|
||||
labs: "Labs",
|
||||
about: "정보",
|
||||
@@ -1871,6 +1975,7 @@ export const ko: TranslationMap = {
|
||||
automation: "명령, hooks, cron, plugins.",
|
||||
mcp: "MCP 서버, 인증, 도구 및 진단.",
|
||||
memory: "메모리 엔진, 백엔드, 검색 및 드리밍.",
|
||||
talk: "실시간 음성: 공급자, 모델, 화자 음성.",
|
||||
infrastructure: "Gateway, 웹, 브라우저, 미디어 설정.",
|
||||
labs: "실험적인 에이전트 및 도구 기능.",
|
||||
about: "Control UI 및 연결된 Gateway 빌드 ID입니다.",
|
||||
@@ -1889,6 +1994,16 @@ export const ko: TranslationMap = {
|
||||
heading: "AI 연결",
|
||||
intro:
|
||||
"OpenClaw는 CLI 로그인, API 키 또는 제공업체 로그인 등 이미 보유한 AI 액세스를 재사용합니다.",
|
||||
required: {
|
||||
title: "구성된 AI 공급자가 없습니다",
|
||||
body: "OpenClaw가 이 에이전트에 구성된 공급자와 모델을 찾을 수 없습니다. 대화를 시작하기 전에 추가하세요.",
|
||||
action: "공급자 구성",
|
||||
},
|
||||
connectionFailure: {
|
||||
title: "OpenClaw가 구성된 AI를 사용할 수 없습니다",
|
||||
body: "이 에이전트에는 공급자와 모델이 선택되어 있지만 연결에 실패했습니다. 공급자 로그인 또는 API 키, 모델 접근 권한, 서비스 상태를 확인한 후 다시 시도하세요.",
|
||||
action: "공급자 설정 확인",
|
||||
},
|
||||
loading: "이 Gateway에서 사용 가능한 AI 액세스를 확인하는 중…",
|
||||
retry: "재시도",
|
||||
checkAgain: "다시 확인",
|
||||
@@ -1919,6 +2034,8 @@ export const ko: TranslationMap = {
|
||||
},
|
||||
unavailable: {
|
||||
title: "감지되었지만 자동 테스트되지 않음",
|
||||
signIn: "{provider}(으)로 로그인",
|
||||
useApiKey: "API 키 사용",
|
||||
},
|
||||
signIn: {
|
||||
title: "제공업체로 로그인",
|
||||
@@ -2021,6 +2138,39 @@ export const ko: TranslationMap = {
|
||||
agent: "대상 에이전트",
|
||||
replaceExisting: "기존 가져오기 항목 교체",
|
||||
replaceHint: "충돌을 다시 미리 보고 교체 전에 항목 백업을 보존합니다.",
|
||||
backfill: {
|
||||
title: "지난 세션에서",
|
||||
subtitle:
|
||||
"이전 에이전트 세션의 신뢰할 수 있는 기억을 준비합니다. 드리밍이 유용한 기억을 장기 기억으로 승격합니다.",
|
||||
dateRange: "세션 날짜 범위",
|
||||
dateRangeHint: "사용 가능한 전체 범위를 스캔하려면 날짜 중 하나를 비워 두세요.",
|
||||
from: "시작",
|
||||
to: "종료",
|
||||
actions: "백필",
|
||||
preview: "미리보기",
|
||||
previewing: "미리 보는 중…",
|
||||
apply: "적용",
|
||||
applying: "적용 중…",
|
||||
rollback: "롤백",
|
||||
previewSummary: "{days}일에 걸친 후보 {candidates}개",
|
||||
previewTruncated:
|
||||
"이 미리 보기는 첫 번째 제한된 배치를 표시합니다. 적용하면 나머지 후보까지 계속 진행됩니다.",
|
||||
candidateCount: "후보 {count}개",
|
||||
noCandidates: "새로운 신뢰할 수 있는 세션 후보를 찾지 못했습니다.",
|
||||
progress: "{days}일 처리됨 · {staged}개 준비됨",
|
||||
processedCandidates: "세션 후보 {count}개 처리됨",
|
||||
processedDayCountOne: "{count}일 처리됨",
|
||||
processedDayCount: "{count}일 처리됨",
|
||||
complete: "{count}개 준비됨; 승격은 드리밍을 통해 이루어집니다",
|
||||
rollbackConfirmTitle: "세션 백필을 롤백하시겠습니까?",
|
||||
rollbackConfirmDescription:
|
||||
"이 에이전트의 세션 백필로 생성된 일기 항목과 스테이징된 메모리를 제거합니다.",
|
||||
rollbackWarning:
|
||||
"추적된 세션 커서는 그대로 유지되므로 제거된 항목은 다시 스테이징되지 않습니다.",
|
||||
rollbackComplete: "세션 백필이 롤백되었습니다",
|
||||
rollbackCounts: "일기 항목 {diary}개와 스테이징된 항목 {staged}개가 제거되었습니다",
|
||||
unavailable: "이 Gateway에서는 세션 백필을 사용할 수 없습니다.",
|
||||
},
|
||||
},
|
||||
onboarding: {
|
||||
memoryImport: {
|
||||
@@ -2062,6 +2212,14 @@ export const ko: TranslationMap = {
|
||||
sessionRestarted:
|
||||
"{error} OpenClaw가 새 세션을 시작했습니다. 이전 메시지는 컨텍스트로 유지됩니다.",
|
||||
unsupportedGateway: "OpenClaw로 설정을 계속하려면 Gateway를 업데이트하세요.",
|
||||
panel: {
|
||||
title: "OpenClaw",
|
||||
toggle: "OpenClaw에게 물어보기",
|
||||
close: "Ask OpenClaw 닫기",
|
||||
resize: "Ask OpenClaw 크기 조정",
|
||||
dockBottom: "Ask OpenClaw를 하단에 고정",
|
||||
dockRight: "Ask OpenClaw를 오른쪽에 고정",
|
||||
},
|
||||
history: {
|
||||
button: "기록",
|
||||
title: "최근 변경 사항",
|
||||
@@ -2120,12 +2278,14 @@ export const ko: TranslationMap = {
|
||||
working: "작업 중…",
|
||||
},
|
||||
mcpPage: {
|
||||
intro: "OpenClaw에 도구를 제공하는 MCP 서버를 연결하고 관리합니다.",
|
||||
connectorsLink: "플러그인 페이지에서 원클릭 커넥터를 확인하세요.",
|
||||
servers: "서버",
|
||||
oauth: "OAuth",
|
||||
filtered: "필터링됨",
|
||||
configuredServers: "구성된 서버",
|
||||
noServers: "구성된 MCP 서버가 없습니다.",
|
||||
setUpFirstServer: "첫 MCP 서버 설정하기",
|
||||
operatorCommands: "MCP 운영자 명령",
|
||||
operatorCommandsHint: "상태, 진단, 인증, 프로빙 및 런타임 다시 로드.",
|
||||
runtimeHint:
|
||||
@@ -2135,12 +2295,134 @@ export const ko: TranslationMap = {
|
||||
tlsVerifyOff: "TLS 검증 꺼짐",
|
||||
mtls: "mTLS",
|
||||
},
|
||||
talkPage: {
|
||||
intro: "실시간 음성 제공업체, 모델, 스피커 음성을 구성합니다.",
|
||||
voiceSection: {
|
||||
title: "실시간 음성",
|
||||
description:
|
||||
"에이전트와의 연속 음성 대화입니다. 아래 선택기는 talk.realtime 설정을 작성하며, 아래쪽의 전체 양식에서 나머지 모든 항목을 다룹니다.",
|
||||
},
|
||||
status: {
|
||||
title: "상태",
|
||||
ready: "준비됨",
|
||||
notReady: "구성되지 않음",
|
||||
unavailable: "사용 불가",
|
||||
unavailableHint: "실시간 음성 준비 상태를 확인하려면 Gateway에 연결하세요.",
|
||||
activeProvider: "활성 제공업체: {provider}",
|
||||
noProvider: "아직 구성된 실시간 음성 제공업체가 없습니다.",
|
||||
},
|
||||
provider: {
|
||||
title: "제공업체",
|
||||
description: "자동은 자격 증명이 유효한 첫 번째 제공자를 선택합니다.",
|
||||
auto: "자동",
|
||||
},
|
||||
model: {
|
||||
title: "모델",
|
||||
description: "브라우저 Talk 세션용 실시간 음성 모델입니다.",
|
||||
default: "제공자 기본값",
|
||||
defaultNamed: "기본값 ({model})",
|
||||
},
|
||||
voice: {
|
||||
title: "스피커 음성",
|
||||
description: "음성 응답에 사용되는 음성입니다. GPT-Live는 통화가 시작되면 음성을 고정합니다.",
|
||||
default: "제공자 기본값",
|
||||
},
|
||||
gptLive: {
|
||||
title: "GPT-Live",
|
||||
hint: "GPT-Live는 ChatGPT 구독으로 작동합니다. “openclaw models auth login --provider openai”로 한 번만 로그인하세요. Platform API 키가 필요 없습니다. 브라우저 Talk 전용입니다. 위임된 작업은 실행 중에 조정할 수 있으며 영향이 큰 작업에는 정확한 음성 확인이 필요합니다.",
|
||||
ready: "준비됨",
|
||||
},
|
||||
},
|
||||
memoryPage: {
|
||||
intro: "OpenClaw가 에이전트 메모리를 저장, 검색, 유지하는 방식을 선택하세요.",
|
||||
tablistLabel: "메모리 섹션",
|
||||
tabs: {
|
||||
overview: "개요",
|
||||
search: "검색",
|
||||
dreaming: "드리밍",
|
||||
memories: "메모리",
|
||||
dreams: "Dreams",
|
||||
settings: "설정",
|
||||
},
|
||||
overview: {
|
||||
hero: {
|
||||
awake: "메모리가 깨어 있습니다",
|
||||
waking: "메모리를 깨우는 중…",
|
||||
hibernating: "메모리가 대기 중입니다",
|
||||
needsAttention: "메모리에 주의가 필요합니다",
|
||||
activeDescription: "{engine} · {mode}",
|
||||
loadingDescription: "이 에이전트의 메모리 엔진과 드림 사이클을 확인하는 중입니다.",
|
||||
offDescription: "설정에서 메모리 엔진을 선택해 깨우세요.",
|
||||
disabledDescription:
|
||||
"선택한 메모리 엔진이 비활성화되어 있습니다. 설정에서 다시 활성화하세요.",
|
||||
gatewayOffline: "Gateway가 오프라인이라 메모리 상태를 사용할 수 없습니다.",
|
||||
hybridSearch: "하이브리드 검색",
|
||||
keywordSearch: "키워드 검색 (임베딩 없음)",
|
||||
openSettings: "설정 열기",
|
||||
retry: "재시도",
|
||||
refresh: "상태 새로 고침",
|
||||
},
|
||||
schedule: {
|
||||
title: "수면 일정",
|
||||
lightDescription:
|
||||
"새로운 단기 메모를 정리하고 유망한 후보를 준비하며 장기 기억은 변경하지 않습니다.",
|
||||
remDescription:
|
||||
"최근 활동 전반의 주제와 반복되는 아이디어를 되돌아보며 장기 기억을 변경하지 않고 순위를 강화합니다.",
|
||||
deepDescription:
|
||||
"준비된 후보에 점수를 매기고, 유지할 항목을 장기 기억(MEMORY.md)으로 승격하며, 꿈 일기를 작성합니다.",
|
||||
nextRun: "다음 {time}",
|
||||
lastRun: "마지막 {time}",
|
||||
notScheduled: "예약되지 않음",
|
||||
learnMore: "드리밍 작동 방식",
|
||||
openDocs: "드리밍 가이드 열기",
|
||||
},
|
||||
activity: {
|
||||
title: "활동",
|
||||
promotedToday: "오늘 승격됨",
|
||||
promotedTotal: "총 승격 수",
|
||||
shortTermCount: "대기 중인 단기 항목",
|
||||
phaseHitCount: "단계 신호",
|
||||
lightPhaseHitCount: "라이트 단계 히트",
|
||||
remPhaseHitCount: "REM 단계 히트",
|
||||
},
|
||||
health: {
|
||||
title: "엔진 상태",
|
||||
provider: "제공자",
|
||||
embeddings: "임베딩",
|
||||
runtime: "임베딩 런타임",
|
||||
healthy: "준비됨",
|
||||
unavailable: "사용 불가",
|
||||
notChecked: "확인 안 됨",
|
||||
notCheckedDescription: "임베딩 준비 상태가 아직 확인되지 않았습니다.",
|
||||
checking: "확인 중…",
|
||||
test: "테스트",
|
||||
testing: "테스트 중…",
|
||||
},
|
||||
shortcuts: {
|
||||
title: "메모리 탐색",
|
||||
memories: "메모리 검색",
|
||||
diary: "꿈 일기 읽기",
|
||||
settings: "메모리 구성",
|
||||
},
|
||||
},
|
||||
memories: {
|
||||
searchLabel: "메모리 검색",
|
||||
searchPlaceholder: "이 에이전트의 메모리 검색",
|
||||
searchButton: "검색",
|
||||
idle: "이 에이전트가 기억하는 사람, 프로젝트, 결정 등 무엇이든 검색하세요.",
|
||||
searching: "메모리 검색 중…",
|
||||
results: "{count}개 결과",
|
||||
empty: "“{query}”와 일치하는 메모리가 없습니다.",
|
||||
error: "메모리 검색 실패: {message}",
|
||||
retry: "재시도",
|
||||
gatewayUpdateRequired: "Control UI에서 메모리를 검색하려면 Gateway를 업데이트하세요.",
|
||||
hybridSearch: "하이브리드 검색",
|
||||
keywordSearch: "키워드 검색",
|
||||
lineRange: "{start}–{end}행",
|
||||
score: "점수 {score}",
|
||||
sourceMemory: "메모리",
|
||||
sourceSessions: "세션",
|
||||
fileLoading: "전체 메모리 파일을 불러오는 중…",
|
||||
fileError: "이 메모리 파일을 불러올 수 없습니다: {message}",
|
||||
fileUnsupported: "이 메모리 파일은 텍스트로 표시할 수 없습니다.",
|
||||
},
|
||||
engine: {
|
||||
title: "엔진",
|
||||
@@ -2178,6 +2460,8 @@ export const ko: TranslationMap = {
|
||||
memoryWiki: {
|
||||
title: "메모리 위키",
|
||||
},
|
||||
toggleAriaLabel: "{plugin} 활성화 또는 비활성화",
|
||||
changeFailed: "{plugin}을(를) 업데이트할 수 없습니다",
|
||||
stateUnknown: "알 수 없음",
|
||||
manage: "애드온 활성화 또는 비활성화",
|
||||
manageLink: "플러그인 열기",
|
||||
@@ -2555,36 +2839,8 @@ export const ko: TranslationMap = {
|
||||
},
|
||||
profilePage: {
|
||||
offline: "에이전트를 만나려면 Gateway에 연결하세요.",
|
||||
loading: "통계를 찾으러 잠수 중…",
|
||||
emptyTitle: "새로운 조개껍데기",
|
||||
emptyBody:
|
||||
"아직 토큰 활동이 없습니다. 에이전트에게 메시지를 보내고 산호초가 빛나는 모습을 확인해 보세요.",
|
||||
sinceChip: "{date}부터 산호초에서 활동 중",
|
||||
channelChipTitle: "이 채널의 토큰 {tokens}개",
|
||||
statLifetimeTokens: "누적 토큰",
|
||||
statPeakDay: "최고 활동일",
|
||||
statLongestSession: "최장 세션",
|
||||
statCurrentStreak: "현재 연속 기록",
|
||||
statLongestStreak: "최장 연속 기록",
|
||||
streakDay: "{count}일",
|
||||
streakDays: "{count}일",
|
||||
heatmapTitle: "토큰 활동",
|
||||
heatmapSub: "산호초에서의 1년 — 붉은색이 진할수록 집게가 더 바쁩니다.",
|
||||
heatmapCellTokens: "토큰 {tokens}개",
|
||||
legendLess: "적음",
|
||||
legendMore: "많음",
|
||||
insightsTitle: "활동 인사이트",
|
||||
insightModel: "가장 많이 사용한 모델",
|
||||
insightMessages: "주고받은 메시지",
|
||||
insightToolCalls: "도구 호출",
|
||||
insightUniqueTools: "고유 도구",
|
||||
insightAgents: "리프의 에이전트",
|
||||
insightSessions: "추적된 세션",
|
||||
sessionsCapped: "{count}+",
|
||||
toolsTitle: "가장 많이 사용한 도구",
|
||||
toolsEmpty: "아직 기록된 도구 실행이 없습니다.",
|
||||
toolRun: "{count}회 실행",
|
||||
toolRuns: "{count}회 실행",
|
||||
usageStatistics: "사용 통계",
|
||||
usageStatisticsDescription: "활동, 비용, 사용 추세를 확인합니다.",
|
||||
identity: {
|
||||
title: "ID",
|
||||
menuLabel: "ID 메뉴",
|
||||
@@ -2681,6 +2937,9 @@ export const ko: TranslationMap = {
|
||||
next: "다음",
|
||||
apply: "적용",
|
||||
applying: "적용 중…",
|
||||
evaluate: "평가",
|
||||
evaluating: "평가 중…",
|
||||
evaluated: "평가 완료",
|
||||
revise: "수정",
|
||||
tweak: "조정",
|
||||
opening: "여는 중…",
|
||||
@@ -2688,6 +2947,11 @@ export const ko: TranslationMap = {
|
||||
rejecting: "거부 중…",
|
||||
sending: "보내는 중…",
|
||||
},
|
||||
notices: {
|
||||
applied: "적용됨",
|
||||
rejected: "거부됨",
|
||||
revisionRequested: "수정 요청됨",
|
||||
},
|
||||
revision: {
|
||||
title: "{verb} 제안",
|
||||
description:
|
||||
@@ -2714,6 +2978,35 @@ export const ko: TranslationMap = {
|
||||
supportFilesTitle: "지원 파일",
|
||||
clickToPreview: "· 클릭하여 미리 보기",
|
||||
},
|
||||
evaluation: {
|
||||
title: "평가",
|
||||
version: "제안 {version}",
|
||||
completedAt: "{time}에 완료됨",
|
||||
status: {
|
||||
completed: "완료됨",
|
||||
skipped: "건너뜀",
|
||||
error: "오류",
|
||||
},
|
||||
decision: {
|
||||
pass: "통과",
|
||||
revise: "수정",
|
||||
block: "차단",
|
||||
},
|
||||
severity: {
|
||||
info: "정보",
|
||||
warn: "경고",
|
||||
critical: "심각",
|
||||
},
|
||||
evaluatorVersion: "평가기 {version}",
|
||||
mode: "모드 {mode}",
|
||||
findings: "발견 사항",
|
||||
metrics: "지표",
|
||||
fileLine: "{file}:{line}",
|
||||
errors: {
|
||||
revisionHashUnavailable: "현재 제안 리비전을 식별할 수 없습니다.",
|
||||
revisionChanged: "평가 중에 제안 리비전이 변경되었습니다.",
|
||||
},
|
||||
},
|
||||
empty: {
|
||||
searchTitle: "일치하는 제안 없음",
|
||||
searchBody: "검색을 지우거나 다른 키워드를 사용해 보세요.",
|
||||
@@ -2775,6 +3068,8 @@ export const ko: TranslationMap = {
|
||||
comeWithIt: "함께 제공됩니다.",
|
||||
useIt: "사용하기",
|
||||
addToSkills: "Skills에 추가",
|
||||
evaluate: "평가",
|
||||
runChecks: "제안 검사 실행",
|
||||
tweakIt: "수정하기",
|
||||
askAgent: "에이전트에게 변경 요청",
|
||||
skipping: "건너뛰는 중…",
|
||||
@@ -3428,6 +3723,32 @@ export const ko: TranslationMap = {
|
||||
reload: "다시 로드",
|
||||
reloading: "다시 로드 중…",
|
||||
},
|
||||
actions: {
|
||||
dedupeRemovedOneAndKept: "중복 드림 항목 {removed}개를 삭제하고 {kept}개를 유지했습니다.",
|
||||
dedupeRemovedManyAndKept: "중복 드림 항목 {removed}개를 삭제하고 {kept}개를 유지했습니다.",
|
||||
dedupeRemovedOne: "중복 드림 항목 {removed}개를 삭제했습니다.",
|
||||
dedupeRemovedMany: "중복 드림 항목 {removed}개를 삭제했습니다.",
|
||||
repairArchivedThreadCorpus: "보관된 스레드 코퍼스",
|
||||
repairArchivedIngestionState: "보관된 수집 상태",
|
||||
repairArchivedDreamDiary: "보관된 꿈 일기",
|
||||
repairNoChanges: "변경 사항 없이 꿈 캐시 복구가 완료되었습니다.",
|
||||
repairCompleteWithArchive: "꿈 캐시 복구 완료: {actions}. 보관: {archiveDir}",
|
||||
repairComplete: "꿈 캐시 복구 완료: {actions}.",
|
||||
backfillComplete: "{count}개의 꿈 일기 항목을 채웠습니다.",
|
||||
resetDiaryComplete: "채워진 꿈 일기 항목 {count}개를 제거했습니다.",
|
||||
clearReplayedComplete: "재생된 단기 항목 {count}개를 지웠습니다.",
|
||||
complete: "꿈 일기 작업이 완료되었습니다.",
|
||||
confirmRepair:
|
||||
"꿈 캐시를 복구할까요? 파생된 꿈 캐시 파일을 보관하고 깨끗한 입력에서 다시 만듭니다. 꿈 일기는 그대로 유지됩니다.",
|
||||
confirmDedupe:
|
||||
"꿈 일기의 중복을 제거할까요? DREAMS.md를 다시 작성하고 정확히 중복되는 일기 항목만 제거합니다.",
|
||||
archivePathCopied: "보관 경로를 복사했습니다.",
|
||||
archivePathCopyFailed: "보관 경로를 복사할 수 없습니다.",
|
||||
updateFailed: "dreaming 설정을 업데이트할 수 없습니다.",
|
||||
unsupportedPlugin:
|
||||
'선택한 메모리 플러그인 "{pluginId}"은(는) dreaming 설정을 지원하지 않습니다.',
|
||||
configHashMissing: "구성 해시가 없습니다. 새로 고침 후 다시 시도하세요.",
|
||||
},
|
||||
wiki: {
|
||||
previewFallbackTitle: "위키 페이지",
|
||||
close: "닫기",
|
||||
@@ -3473,6 +3794,60 @@ export const ko: TranslationMap = {
|
||||
enableSuffix: "한 다음 이 탭을 새로고침하세요.",
|
||||
openConfig: "설정 열기",
|
||||
howToEnable: "활성화 방법",
|
||||
pageTypes: {
|
||||
entity: "엔터티",
|
||||
concept: "개념",
|
||||
source: "출처",
|
||||
synthesis: "종합",
|
||||
report: "리포트",
|
||||
},
|
||||
pageGroups: {
|
||||
sources: "소스",
|
||||
syntheses: "종합",
|
||||
reports: "리포트",
|
||||
entities: "엔터티",
|
||||
concepts: "개념",
|
||||
},
|
||||
counts: {
|
||||
pageOne: "{count}개 페이지",
|
||||
pages: "{count}개 페이지",
|
||||
claimRowOne: "{count}개 주장 행",
|
||||
claimRows: "{count}개 주장 행",
|
||||
openQuestionOne: "{count}개 미해결 질문",
|
||||
openQuestions: "{count}개 미해결 질문",
|
||||
contradictionOne: "{count}개 모순",
|
||||
contradictions: "{count}개 모순",
|
||||
chats: "{count}개 채팅",
|
||||
sensitive: "{count}개 민감",
|
||||
signals: "{count}개 신호",
|
||||
messages: "메시지 {count}개",
|
||||
userMessages: "{count}개 사용자",
|
||||
assistantMessages: "{count}개 어시스턴트",
|
||||
},
|
||||
pageGroupSummary: "{label} · {count}",
|
||||
noPagesYet: "아직 페이지가 없습니다",
|
||||
sectionPageSummary: "{label}: {count}",
|
||||
questionCountOnPages: "{pageCount}개 페이지에 {questionCount}개",
|
||||
risk: {
|
||||
needsReview: "검토 필요",
|
||||
low: "낮은 위험",
|
||||
medium: "중간 위험",
|
||||
high: "높은 위험",
|
||||
unknown: "알 수 없는 위험",
|
||||
},
|
||||
pageNotFound: "{lookup}에 대한 위키 페이지를 찾을 수 없습니다.",
|
||||
previewTruncated: "이 페이지의 첫 번째 청크를 표시합니다.",
|
||||
previewTruncatedWithTotal: "이 페이지의 첫 번째 청크를 표시합니다(총 {count}줄).",
|
||||
importedClusterSummary: "가져온 채팅이 {label} 중심으로 그룹화되었습니다.",
|
||||
withheldDigestOne: "검토 대기 중으로 요약 {count}개가 보류되었습니다.",
|
||||
withheldDigests: "검토 대기 중으로 요약 {count}개가 보류되었습니다.",
|
||||
details: "세부 정보",
|
||||
hideDetails: "세부 정보 숨기기",
|
||||
vault: "Vault",
|
||||
fullVaultBreakdown: "전체 vault 내역: {breakdown}.",
|
||||
selectedSection: "선택된 섹션: {summary}.",
|
||||
latestUpdate: "최근 업데이트 {date}.",
|
||||
noContent: "사용 가능한 위키 콘텐츠가 없습니다.",
|
||||
},
|
||||
phrases: {
|
||||
consolidatingMemories: "기억을 정리하는 중…",
|
||||
@@ -3617,6 +3992,13 @@ export const ko: TranslationMap = {
|
||||
session: "세션",
|
||||
sessions: "세션",
|
||||
},
|
||||
heatmap: {
|
||||
title: "토큰 활동",
|
||||
subtitle: "선택한 범위의 일별 토큰 강도, 최대 1년까지.",
|
||||
cellTokens: "{tokens} 토큰",
|
||||
less: "적음",
|
||||
more: "많음",
|
||||
},
|
||||
providerUsage: {
|
||||
title: "제공업체 요금제 및 결제",
|
||||
subtitle: "설정된 제공업체에서 보고한 요금제, 할당량, 잔액 및 예산의 실시간 데이터입니다.",
|
||||
@@ -4001,6 +4383,107 @@ export const ko: TranslationMap = {
|
||||
multipleMatches: "{shortId}와(과) 일치하는 세션이 두 개 이상입니다.",
|
||||
additionalMatches: "검색 결과가 남아 있습니다. 더 긴 id 접두사를 사용하세요.",
|
||||
},
|
||||
commandResults: {
|
||||
startingNewThread: "새 스레드를 시작하는 중...",
|
||||
resettingThread: "스레드를 초기화하는 중...",
|
||||
stoppingCurrentRun: "현재 실행을 중지하는 중...",
|
||||
chatHistoryCleared: "채팅 기록이 지워졌습니다.",
|
||||
exportingThread: "스레드를 내보내는 중...",
|
||||
unknownCommand: "알 수 없는 명령어: `{command}`",
|
||||
options: "옵션: {options}.",
|
||||
sessionUnavailable: "세션 기능을 사용할 수 없습니다",
|
||||
help: {
|
||||
availableCommands: "사용 가능한 명령어",
|
||||
agentCommand: "에이전트",
|
||||
openMenu: "`/`를 입력하여 명령어 메뉴를 여세요.",
|
||||
},
|
||||
compaction: {
|
||||
failed: "압축에 실패했습니다.",
|
||||
failedWithReason: "압축 실패: {reason}",
|
||||
tokenSummary: " ({before} -> {after} 토큰)",
|
||||
succeeded: "컨텍스트가 성공적으로 압축되었습니다",
|
||||
skipped: "압축을 건너뛰었습니다.",
|
||||
skippedWithReason: "압축 건너뜀: {reason}",
|
||||
},
|
||||
model: {
|
||||
current: "**현재 모델:** {model}",
|
||||
available: "**사용 가능:** {models}",
|
||||
more: "+{count}개 더보기",
|
||||
getFailed: "모델 정보를 가져오지 못했습니다: {error}",
|
||||
set: "모델이 {model}(으)로 설정되었습니다.",
|
||||
setFailed: "모델을 설정하지 못했습니다: {error}",
|
||||
},
|
||||
thinking: {
|
||||
current: "현재 사고 수준: {level}.",
|
||||
getFailed: "사고 수준을 가져오지 못했습니다: {error}",
|
||||
reset: "사고 수준이 기본값으로 초기화되었습니다.",
|
||||
resetFailed: "사고 수준을 초기화하지 못했습니다: {error}",
|
||||
unrecognized: '인식할 수 없는 사고 수준 "{level}". 유효한 수준: {options}.',
|
||||
unsupported: '이 모델에서 지원하지 않는 사고 수준 "{level}". 유효한 수준: {options}.',
|
||||
set: "사고 수준이 {level}(으)로 설정되었습니다.",
|
||||
setFailed: "사고 수준을 설정하지 못했습니다: {error}",
|
||||
},
|
||||
verbose: {
|
||||
current: "현재 상세 수준: {level}.",
|
||||
getFailed: "상세 수준을 가져오지 못했습니다: {error}",
|
||||
unrecognized: '인식할 수 없는 상세 수준 "{level}". 유효한 수준: off, on, full.',
|
||||
set: "상세 모드가 {level}(으)로 설정되었습니다.",
|
||||
setFailed: "상세 모드를 설정하지 못했습니다: {error}",
|
||||
},
|
||||
fast: {
|
||||
autoValue: "auto ({seconds}초)",
|
||||
on: "켜짐",
|
||||
off: "꺼짐",
|
||||
sourceSession: " (session)",
|
||||
sourceAgent: " (default: agent)",
|
||||
sourceModel: " (default: model)",
|
||||
sourceDefault: " (default)",
|
||||
current: "현재 빠른 모드: {value}",
|
||||
options: "on, off, auto ({seconds}초), default, status",
|
||||
getFailed: "빠른 모드를 가져오지 못했습니다: {error}",
|
||||
reset: "빠른 모드가 기본값으로 재설정되었습니다.",
|
||||
resetFailed: "빠른 모드를 재설정하지 못했습니다: {error}",
|
||||
unrecognized:
|
||||
'인식할 수 없는 빠른 모드 "{mode}". 유효한 값: on, off, auto, default, status.',
|
||||
setAuto: "빠른 모드가 auto로 설정되었습니다.",
|
||||
enabled: "빠른 모드가 활성화되었습니다.",
|
||||
disabled: "빠른 모드가 비활성화되었습니다.",
|
||||
setFailed: "빠른 모드를 설정하지 못했습니다: {error}",
|
||||
},
|
||||
usage: {
|
||||
noActiveThread: "활성 스레드가 없습니다.",
|
||||
notAvailable: "해당 없음",
|
||||
title: "스레드 사용량",
|
||||
inputTokens: "입력: {count} 토큰",
|
||||
outputTokens: "출력: {count} 토큰",
|
||||
totalTokens: "합계: {count} 토큰",
|
||||
context: "컨텍스트: {total} 중 {percent}",
|
||||
model: "모델: {model}",
|
||||
failed: "사용량을 가져오지 못했습니다: {error}",
|
||||
},
|
||||
agents: {
|
||||
none: "구성된 에이전트가 없습니다.",
|
||||
title: "**에이전트** ({count})",
|
||||
default: "기본값",
|
||||
runtime: " · 런타임 {runtime}",
|
||||
failed: "에이전트 목록을 가져오지 못했습니다: {error}",
|
||||
},
|
||||
steer: {
|
||||
timeout: "steer 메시지가 수락되기 전에 활성 실행이 종료되었습니다.",
|
||||
failed: "실행에 도달하기 전에 steer가 실패했습니다. 다시 시도하세요.",
|
||||
usage: "사용법: `/steer <message>`",
|
||||
noActiveRun: "활성 실행이 없습니다. 대신 채팅 입력 또는 `/redirect`를 사용하세요.",
|
||||
succeeded: "방향을 조정했습니다.",
|
||||
requestFailed: "steer에 실패했습니다: {error}",
|
||||
},
|
||||
redirect: {
|
||||
timeout: "redirect 메시지가 수락되기 전에 활성 실행이 종료되었습니다.",
|
||||
failed: "실행에 도달하기 전에 redirect가 실패했습니다. 다시 시도하세요.",
|
||||
usage: "사용법: `/redirect <message>`",
|
||||
succeeded: "방향을 전환했습니다.",
|
||||
requestFailed: "redirect에 실패했습니다: {error}",
|
||||
},
|
||||
},
|
||||
sessionSharing: {
|
||||
menu: "스레드 공유",
|
||||
current: "스레드 표시 범위: {visibility}",
|
||||
@@ -4153,10 +4636,17 @@ export const ko: TranslationMap = {
|
||||
dismissUpdateBanner: "업데이트 배너 닫기",
|
||||
switchedSession: "{session}(으)로 전환됨",
|
||||
actions: {
|
||||
copyAsMarkdown: "마크다운으로 복사",
|
||||
dismissError: "오류 닫기",
|
||||
exitFocusMode: "집중 모드 종료",
|
||||
scrollToLatest: "최신으로 스크롤",
|
||||
},
|
||||
markdown: {
|
||||
truncated: "… 잘림 ({total}자, 처음 {shown}자 표시).",
|
||||
},
|
||||
codeBlock: {
|
||||
jsonLines: "JSON · {count}줄",
|
||||
},
|
||||
workspaceConflict: {
|
||||
titleOne: "클라우드 워크스페이스 충돌 1건",
|
||||
titleMany: "클라우드 워크스페이스 충돌 {count}건",
|
||||
@@ -4251,6 +4741,7 @@ export const ko: TranslationMap = {
|
||||
threads: "스레드",
|
||||
groups: "그룹",
|
||||
coding: "코딩",
|
||||
noSessionsForAgent: "이 에이전트에 대한 세션이 없습니다",
|
||||
catalogViewOptions: "보기 옵션",
|
||||
catalogGroupByProject: "프로젝트",
|
||||
catalogGroupByPerson: "사람",
|
||||
@@ -4262,6 +4753,8 @@ export const ko: TranslationMap = {
|
||||
sessionMenu: "Actions for {session}",
|
||||
sessionMenuMany: "{count}개 세션 작업",
|
||||
toolActivity: "{tool} 사용 중",
|
||||
catalogDiscoveryHelp:
|
||||
"{error}. 설정 > 자동화 > 플러그인에서 네이티브 스레드 검색을 구성하세요.",
|
||||
},
|
||||
welcome: {
|
||||
hintBeforeShortcut: "Type a message below ·",
|
||||
@@ -4295,12 +4788,23 @@ export const ko: TranslationMap = {
|
||||
steered: "조정됨",
|
||||
steerQueuedMessage: "대기 중인 메시지 조정",
|
||||
removeQueuedMessage: "대기 중인 메시지 제거",
|
||||
states: {
|
||||
steering: "조정 중",
|
||||
applyingSettings: "채팅 설정 적용 중",
|
||||
waitingForRun: "현재 실행 대기 중",
|
||||
runningCommand: "명령 실행 중",
|
||||
waitingForReconnect: "재연결 대기 중",
|
||||
needsReview: "검토 필요",
|
||||
},
|
||||
imageCount: "이미지 ({count})",
|
||||
},
|
||||
goals: {
|
||||
edit: "목표 편집",
|
||||
pause: "목표 일시 중지",
|
||||
resume: "목표 재개",
|
||||
clear: "목표 지우기",
|
||||
showDetails: "목표 세부 정보 표시",
|
||||
hideDetails: "목표 세부 정보 숨기기",
|
||||
},
|
||||
questions: {
|
||||
title: "Codex에 입력이 필요합니다",
|
||||
@@ -4326,6 +4830,7 @@ export const ko: TranslationMap = {
|
||||
unavailable: "사용 불가",
|
||||
expired: "만료됨",
|
||||
cancelled: "취소됨",
|
||||
disconnected: "연결되지 않았습니다. 재연결 후 다시 시도하세요.",
|
||||
},
|
||||
imageLightbox: {
|
||||
label: "이미지 미리보기: {title}",
|
||||
@@ -4346,6 +4851,12 @@ export const ko: TranslationMap = {
|
||||
reply: "답장",
|
||||
replyToMessage: "메시지에 답장",
|
||||
replyingTo: "{name}님에게 답장 중",
|
||||
message: "메시지",
|
||||
currentMessage: "현재 메시지",
|
||||
actions: "메시지 작업",
|
||||
selectionActions: "선택 작업",
|
||||
moreDetails: "자세히 보기",
|
||||
askInSideChat: "사이드 채팅에서 질문",
|
||||
rewind: "되감기",
|
||||
rewindConfirm: "이 메시지 이전으로 되감을까요?",
|
||||
rewindToHere: "여기까지 되감기",
|
||||
@@ -4355,14 +4866,34 @@ export const ko: TranslationMap = {
|
||||
showMore: "더 보기",
|
||||
unknownDate: "알 수 없는 날짜",
|
||||
voiceNote: "음성 메모",
|
||||
duplicatesCollapsed: "동일한 메시지 {count}개가 연속으로 접힘",
|
||||
contextFor: "{timestamp}의 메시지 컨텍스트",
|
||||
},
|
||||
mediaPlayer: {
|
||||
play: "재생",
|
||||
pause: "일시 중지",
|
||||
seek: "미디어 탐색",
|
||||
download: "{filename} 다운로드",
|
||||
videoUnavailable: "이 형식은 재생할 수 없습니다 — 대신 다운로드하세요.",
|
||||
},
|
||||
modelControls: {
|
||||
current: "현재",
|
||||
default: "기본값",
|
||||
reasoning: "추론",
|
||||
speed: "속도",
|
||||
sessionOverride: "스레드 재정의",
|
||||
useDefault: "기본값 사용",
|
||||
usingDefault: "설정의 기본값 사용",
|
||||
resetToDefault: "기본값으로 재설정 ({model})",
|
||||
defaultWithModel: "기본값 ({model})",
|
||||
defaultWithLevel: "기본값 ({level})",
|
||||
fastHelp: "빠른 응답은 더 일찍 완료되지만 사용 한도를 더 많이 소모할 수 있습니다.",
|
||||
speedUnsupported: "이 모델에서는 속도 제어를 지원하지 않습니다.",
|
||||
contextWindow: "컨텍스트 {count}",
|
||||
providerModels: "{provider} 모델",
|
||||
resetReasoning: "기본값으로 재설정 ({level})",
|
||||
useDefaultReasoning: "기본 추론 사용 ({level})",
|
||||
fastResponsesAria: "빠른 응답: {state}",
|
||||
},
|
||||
rail: {
|
||||
title: "세션 도우미",
|
||||
@@ -4432,6 +4963,21 @@ export const ko: TranslationMap = {
|
||||
renderedMarkdownHint: "빠른 읽기를 위한 정리된 서식 텍스트 미리 보기입니다.",
|
||||
noPreviewableMarkdown: "미리 볼 수 있는 마크다운 콘텐츠가 없습니다.",
|
||||
noContent: "사용할 수 있는 콘텐츠가 없습니다",
|
||||
fullContentOversized:
|
||||
"저장된 대화 기록 항목이 너무 커서 안전하게 반환할 수 없으므로 전체 내용을 사용할 수 없습니다.",
|
||||
fullContentNotVisible:
|
||||
"이 대화 기록 항목에는 표시 가능한 WebChat 프로젝션이 없으므로 전체 내용을 사용할 수 없습니다.",
|
||||
fullContentUnavailable: "이 대화 기록 항목의 전체 내용은 더 이상 사용할 수 없습니다.",
|
||||
copyContents: "파일 내용 복사",
|
||||
fileChanged: "파일이 로드된 이후 디스크에서 변경되었습니다.",
|
||||
renderPreview: "렌더링 미리보기",
|
||||
imagePreview: "이미지 미리보기",
|
||||
file: "파일",
|
||||
markdownPreview: "Markdown 미리보기",
|
||||
toolDetails: "도구 세부 정보",
|
||||
reloadFailed: "최신 파일을 다시 불러오지 못했습니다.",
|
||||
overwriteLoadFailed: "덮어쓰기 전에 최신 파일을 불러오지 못했습니다.",
|
||||
fullContentLoadFailed: "전체 콘텐츠를 불러오지 못했습니다: {error}",
|
||||
},
|
||||
sidebarColumns: {
|
||||
chat: "채팅",
|
||||
@@ -4450,6 +4996,7 @@ export const ko: TranslationMap = {
|
||||
unpin: "고정 해제",
|
||||
loading: "채팅 불러오는 중",
|
||||
noMatches: "일치하는 메시지가 없습니다",
|
||||
pinnedCount: "{count}개 고정됨",
|
||||
},
|
||||
pairingQrExpired: {
|
||||
title: "페어링 QR 만료됨",
|
||||
@@ -4469,13 +5016,53 @@ export const ko: TranslationMap = {
|
||||
runDone: "완료",
|
||||
runInterrupted: "중단됨",
|
||||
runStatus: "실행 상태: {status}",
|
||||
compactingContext: "컨텍스트 압축 중...",
|
||||
compacting: "압축 중",
|
||||
compact: "압축",
|
||||
contextCompacted: "컨텍스트가 압축됨",
|
||||
fallbackActive: "폴백 활성화됨: {model}",
|
||||
fallbackCleared: "폴백 해제됨: {model}",
|
||||
fallbackSelected: "선택됨: {model}",
|
||||
fallbackCurrent: "활성화됨: {model}",
|
||||
fallbackPrevious: "이전 폴백: {model}",
|
||||
fallbackReason: "이유: {reason}",
|
||||
fallbackAttempts: "시도: {attempts}",
|
||||
cancelReply: "답장 취소",
|
||||
attachmentPreview: "첨부 파일 미리보기",
|
||||
compactRecommendedContext: "권장 세션 컨텍스트 압축",
|
||||
removeAttachment: "첨부 파일 제거",
|
||||
addAttachment: "첨부 파일 추가",
|
||||
attachPhoto: "사진",
|
||||
attachFile: "Attach file",
|
||||
attachFileOption: "파일",
|
||||
menu: {
|
||||
back: "뒤로",
|
||||
skills: "Skills",
|
||||
connectors: "커넥터",
|
||||
webSearch: "웹 검색",
|
||||
managePlugins: "플러그인 관리",
|
||||
manageSkills: "Skills 관리",
|
||||
browseConnectors: "커넥터 찾아보기",
|
||||
addMcpServer: "MCP 서버 추가…",
|
||||
toolAccess: "도구 액세스",
|
||||
enabledCount: "{count}개 켜짐",
|
||||
loadingSkills: "Skills 로드 중…",
|
||||
skillsLoadFailed: "Skills를 로드할 수 없습니다.",
|
||||
noSkills: "사용 가능한 Skills가 없습니다.",
|
||||
noConnectors: "구성된 MCP 서버가 없습니다.",
|
||||
depsMissing: "종속성 누락",
|
||||
skillBlocked: "이 에이전트에서 사용할 수 없음",
|
||||
sessionTag: "세션",
|
||||
offlineBlocked: "세션 기능을 변경하려면 Gateway에 연결하세요.",
|
||||
readOnlyBlocked: "세션 기능을 변경하려면 쓰기 액세스가 필요합니다.",
|
||||
adminBlocked: "커넥터를 관리하려면 관리자 액세스가 필요합니다.",
|
||||
savingBlocked: "현재 세션 기능 변경이 완료될 때까지 기다리세요.",
|
||||
},
|
||||
overrides: {
|
||||
count: "세션 재정의 {count}개",
|
||||
countOne: "세션 재정의 {count}개",
|
||||
clear: "세션 재정의 지우기",
|
||||
},
|
||||
contextUsage: {
|
||||
title: "컨텍스트 사용량 세부 정보",
|
||||
open: "컨텍스트 사용량 세부 정보 열기",
|
||||
@@ -4548,6 +5135,17 @@ export const ko: TranslationMap = {
|
||||
turnCameraOn: "카메라 켜기",
|
||||
voiceTranscript: "음성 기록",
|
||||
},
|
||||
attachments: {
|
||||
attachedFile: "첨부된 파일",
|
||||
outsideAllowedFolders: "허용된 폴더 외부",
|
||||
unavailable: "사용 불가",
|
||||
checking: "확인 중...",
|
||||
},
|
||||
voice: {
|
||||
asking: "OpenClaw에 질문 중...",
|
||||
connecting: "음성 입력 연결 중...",
|
||||
listening: "듣는 중...",
|
||||
},
|
||||
selectors: {
|
||||
session: "Chat session",
|
||||
sessionSearch: "세션 검색",
|
||||
@@ -4748,6 +5346,7 @@ export const ko: TranslationMap = {
|
||||
ru: "Русский (Russian)",
|
||||
},
|
||||
cron: {
|
||||
adminRequired: "탐색만 가능합니다. 자동화 변경에는 operator.admin 액세스가 필요합니다.",
|
||||
tabs: {
|
||||
filterLabel: "자동화 상태",
|
||||
all: "전체",
|
||||
|
||||
Generated
+652
-34
File diff suppressed because it is too large
Load Diff
Generated
+648
-35
File diff suppressed because it is too large
Load Diff
Generated
+648
-35
File diff suppressed because it is too large
Load Diff
Generated
+644
-35
File diff suppressed because it is too large
Load Diff
Generated
+623
-34
@@ -8,6 +8,7 @@ export const th: TranslationMap = {
|
||||
ok: "ตกลง",
|
||||
yes: "ใช่",
|
||||
no: "ไม่",
|
||||
assistant: "ผู้ช่วย",
|
||||
active: "ใช้งานอยู่",
|
||||
loading: "กำลังโหลด…",
|
||||
refreshing: "กำลังรีเฟรช…",
|
||||
@@ -35,8 +36,11 @@ export const th: TranslationMap = {
|
||||
create: "สร้าง",
|
||||
copy: "คัดลอก",
|
||||
copied: "คัดลอกแล้ว!",
|
||||
copyFailed: "คัดลอกไม่สำเร็จ",
|
||||
copyCode: "คัดลอกโค้ด",
|
||||
resizeSplitView: "ปรับขนาดมุมมองแบบแยก",
|
||||
delete: "ลบ",
|
||||
remove: "ลบ",
|
||||
dismiss: "ปิด",
|
||||
unselect: "ยกเลิกการเลือก",
|
||||
enabled: "เปิดใช้งาน",
|
||||
@@ -45,6 +49,9 @@ export const th: TranslationMap = {
|
||||
none: "ไม่มี",
|
||||
na: "n/a",
|
||||
never: "never",
|
||||
justNow: "เมื่อสักครู่",
|
||||
now: "ตอนนี้",
|
||||
unknown: "ไม่ทราบ",
|
||||
configured: "กำหนดค่าแล้ว",
|
||||
running: "กำลังทำงาน",
|
||||
linked: "เชื่อมโยงแล้ว",
|
||||
@@ -70,6 +77,7 @@ export const th: TranslationMap = {
|
||||
settingsSections: "ส่วนการตั้งค่า",
|
||||
version: "เวอร์ชัน",
|
||||
docs: "เอกสาร",
|
||||
learnMore: "เรียนรู้เพิ่มเติม",
|
||||
theme: "ธีม",
|
||||
colorMode: "โหมดสี",
|
||||
colorModeOption: "โหมดสี: {mode}",
|
||||
@@ -113,10 +121,24 @@ export const th: TranslationMap = {
|
||||
filteredFileCount: "{count}/{total} ไฟล์",
|
||||
noMatches: "ไม่มีไฟล์ที่ตรงกัน",
|
||||
navigate: "นำทาง",
|
||||
kind: {
|
||||
text: "ข้อความ",
|
||||
shell: "Shell",
|
||||
file: "ไฟล์",
|
||||
},
|
||||
},
|
||||
mcpApp: {
|
||||
title: "MCP App",
|
||||
unavailable: "MCP App ใช้งานไม่ได้: {error}",
|
||||
errors: {
|
||||
gatewayUnavailable: "ไม่สามารถใช้งาน MCP App gateway ได้",
|
||||
mountUnavailable: "ไม่สามารถใช้งานการเมานต์ MCP App ได้",
|
||||
sandboxTimedOut: "แซนด์บ็อกซ์ MCP App หมดเวลา",
|
||||
sandboxUnavailable: "ไม่สามารถใช้งานแซนด์บ็อกซ์ MCP App ได้",
|
||||
initializationTimedOut: "การเริ่มต้น MCP App หมดเวลา",
|
||||
requestFailed: "คำขอล้มเหลว",
|
||||
invalidSandboxUrl: "URL แซนด์บ็อกซ์ MCP App ไม่ถูกต้อง",
|
||||
},
|
||||
},
|
||||
githubPreview: {
|
||||
loading: "กำลังโหลดรายละเอียด GitHub…",
|
||||
@@ -227,6 +249,7 @@ export const th: TranslationMap = {
|
||||
"เปิด WhatsApp บนโทรศัพท์ของคุณ → การตั้งค่า → อุปกรณ์ที่เชื่อมโยง → เชื่อมโยงอุปกรณ์ จากนั้นสแกนโค้ดนี้",
|
||||
whatsappQrLoading: "กำลังสร้างคิวอาร์โค้ด…",
|
||||
whatsappQrHint: "คลิกแสดงคิวอาร์โค้ดเพื่อสร้างรหัสการจับคู่",
|
||||
whatsappQrAlt: "WhatsApp QR",
|
||||
whatsappLinked: "เชื่อมโยง WhatsApp แล้วและพร้อมใช้งาน",
|
||||
regenerateQr: "คิวอาร์โค้ดใหม่",
|
||||
linkLater: "เชื่อมโยงภายหลัง",
|
||||
@@ -315,6 +338,19 @@ export const th: TranslationMap = {
|
||||
nip05: "you@example.com",
|
||||
lightningAddress: "you@getalby.com",
|
||||
},
|
||||
notices: {
|
||||
timeout:
|
||||
"คำขอหมดเวลาหลังจาก 30 วินาที เซิร์ฟเวอร์อาจได้ทำการเปลี่ยนแปลงไปแล้ว — โปรดตรวจสอบโปรไฟล์ก่อนลองใหม่",
|
||||
operationFailed: "{prefix}: {error}",
|
||||
updateFailed: "อัปเดตโปรไฟล์ไม่สำเร็จ",
|
||||
updateFailedStatus: "อัปเดตโปรไฟล์ไม่สำเร็จ ({status})",
|
||||
publishFailed: "การเผยแพร่โปรไฟล์ล้มเหลวบนรีเลย์ทั้งหมด",
|
||||
published: "เผยแพร่โปรไฟล์ไปยังรีเลย์แล้ว",
|
||||
importFailed: "การนำเข้าโปรไฟล์ล้มเหลว",
|
||||
importFailedStatus: "การนำเข้าโปรไฟล์ล้มเหลว ({status})",
|
||||
importedFromRelays: "นำเข้าโปรไฟล์จากรีเลย์แล้ว ตรวจสอบและเผยแพร่",
|
||||
imported: "นำเข้าโปรไฟล์แล้ว ตรวจสอบและเผยแพร่",
|
||||
},
|
||||
},
|
||||
},
|
||||
lazyView: {
|
||||
@@ -325,6 +361,46 @@ export const th: TranslationMap = {
|
||||
staleSubtitle: "OpenClaw ได้รับการอัปเดตในเบื้องหลัง โหลดใหม่เพื่อใช้แผงเวอร์ชันล่าสุด",
|
||||
reloading: "กำลังโหลดใหม่…",
|
||||
retry: "ลองอีกครั้ง",
|
||||
stylesFailed: "โหลดสไตล์ไม่สำเร็จ หน้าเว็บอาจแสดงผลผิดปกติ",
|
||||
},
|
||||
updates: {
|
||||
refreshRequired: "เซิร์ฟเวอร์อัปเดตแล้ว — รีเฟรชเพื่อใช้ความสามารถทั้งหมด",
|
||||
coalescedRestart:
|
||||
"ติดตั้งการอัปเดตแล้ว การรีสตาร์ท gateway กำลังดำเนินการอยู่ สถานะจะรีเฟรชหลังจากเชื่อมต่อใหม่",
|
||||
error: "ข้อผิดพลาดในการอัปเดต: {error}",
|
||||
status: "อัปเดต {status}: {reason} {guidance}",
|
||||
verificationFailed: "ติดตั้งการอัปเดตแล้วแต่เวอร์ชันที่ทำงานอยู่ไม่เปลี่ยนแปลง — การรีสตาร์ทอาจถูกบล็อก",
|
||||
verificationFailedWithVersions:
|
||||
"ติดตั้งการอัปเดตแล้วแต่เวอร์ชันที่ทำงานอยู่ไม่เปลี่ยนแปลง — การรีสตาร์ทอาจถูกบล็อก คาดว่าเป็น v{expectedVersion} แต่กำลังทำงานที่ v{actualVersion}",
|
||||
handoffTimeout:
|
||||
"เริ่มการส่งต่อการอัปเดตแล้ว แต่ไม่มีการรายงานการเสร็จสิ้นหลังจากเชื่อมต่อใหม่ รัน `openclaw update status` เพื่อดูผลลัพธ์สุดท้าย",
|
||||
failureReasons: {
|
||||
dirty: "คอมมิตหรือ stash การเปลี่ยนแปลง แล้วลองใหม่",
|
||||
noUpstream: "ตั้งค่าสาขา upstream แล้วลองใหม่",
|
||||
notGitInstall: "ไม่ใช่ git checkout รัน `openclaw update` จาก CLI เพื่อติดตั้งใหม่แบบ global",
|
||||
notOpenclawRoot: "รันการอัปเดตจาก OpenClaw checkout หรือใช้เส้นทางติดตั้งใหม่แบบ global ของ CLI",
|
||||
depsInstallFailed: "การติดตั้ง dependency ล้มเหลว แก้ไขข้อผิดพลาดในการติดตั้งแล้วลองใหม่",
|
||||
buildFailed: "การ build ล้มเหลว แก้ไขข้อผิดพลาดในการ build แล้วลองใหม่",
|
||||
buildDirty:
|
||||
"การแก้ไขที่เลือกทำให้ไฟล์ checkout ของบิลด์เปลี่ยนแปลง ลองใหม่ด้วยการแก้ไขที่รวม artifact ที่สร้างขึ้นไว้ด้วย",
|
||||
uiBuildFailed: "การสร้าง control UI ใหม่ล้มเหลว แก้ไขข้อผิดพลาดในการสร้าง UI แล้วลองใหม่",
|
||||
globalInstallFailed: "การติดตั้งแพ็กเกจแบบ global ไม่ผ่านการยืนยันบนดิสก์ ลองใหม่หรือติดตั้งใหม่จาก CLI",
|
||||
restartDisabled:
|
||||
"ไม่ได้ใช้การอัปเดตเนื่องจากการรีสตาร์ท gateway ถูกปิดใช้งาน เปิดใช้งานการรีสตาร์ทใน config แล้วลองใหม่",
|
||||
restartUnavailable:
|
||||
"การติดตั้งแบบ global นี้ไม่สามารถแทนที่ได้อย่างปลอดภัยขณะที่การรีสตาร์ทถูกปิดใช้งานและไม่มี supervisor",
|
||||
restartUnhealthy:
|
||||
"กระบวนการทดแทนไม่เคยทำงานได้ตามปกติ กระบวนการก่อนหน้ายังคงทำงานอยู่เพื่อให้คุณสามารถกู้คืนได้",
|
||||
managedServiceHandoffAlreadyRunning:
|
||||
"มีการอัปเดตแบบจัดการอีกรายการกำลังทำงานอยู่ รอให้เสร็จสิ้นแล้วรีเฟรชสถานะการอัปเดต",
|
||||
doctorFailed:
|
||||
"การซ่อมแซมด้วย Doctor ล้มเหลว เรียกใช้ `openclaw doctor --non-interactive` แล้วลองใหม่",
|
||||
default: "ดูบันทึกของ gateway เพื่อทราบข้อผิดพลาดที่แท้จริง แล้วลองใหม่เมื่อแก้ไขสาเหตุแล้ว",
|
||||
},
|
||||
postRestart: {
|
||||
restartUnhealthy: "กระบวนการทดแทนไม่เคยทำงานได้ตามปกติ และกระบวนการก่อนหน้ายังคงทำงานอยู่",
|
||||
default: "ตรวจสอบบันทึกของ gateway เพื่อดูข้อผิดพลาดในการทดแทน",
|
||||
},
|
||||
},
|
||||
nodes: {
|
||||
pairing: {
|
||||
@@ -802,6 +878,10 @@ export const th: TranslationMap = {
|
||||
},
|
||||
agents: {
|
||||
noAgents: "No agents",
|
||||
defaults: {
|
||||
title: "ค่าเริ่มต้นของ Agent",
|
||||
description: "ค่าเริ่มต้นที่ทุก agent สืบทอดมาเว้นแต่จะถูกกำหนดค่าทับ",
|
||||
},
|
||||
copyId: "Copy ID",
|
||||
copyIdTitle: "Copy agent ID to clipboard",
|
||||
default: "Default",
|
||||
@@ -1003,6 +1083,9 @@ export const th: TranslationMap = {
|
||||
noEvents: "No events yet.",
|
||||
},
|
||||
configForm: {
|
||||
redactedPlaceholder: "[ปกปิด - คลิกเปิดเผยเพื่อดู]",
|
||||
sectionHelp: "ความช่วยเหลือสำหรับ {section}",
|
||||
readGuide: "อ่านคู่มือ",
|
||||
showAdvanced: "แสดงขั้นสูง",
|
||||
advancedHidden: "ซ่อนการตั้งค่าขั้นสูง {count} รายการ",
|
||||
advancedHiddenPlural: "ซ่อนการตั้งค่าขั้นสูง {count} รายการ",
|
||||
@@ -1190,9 +1273,12 @@ export const th: TranslationMap = {
|
||||
lobsterdexSeen: "เยี่ยมชมแล้ว {seen}/{total}",
|
||||
lobsterdexFirstVisited: "{name} · เข้าชมครั้งแรกเมื่อ {date}",
|
||||
lobsterdexCardFirstVisited: "เข้าชมครั้งแรก {date}",
|
||||
lobsterdexCardShinySeen: "✦ พบ Shiny เมื่อ {date}",
|
||||
lobsterdexCardCopyLink: "คัดลอกลิงก์",
|
||||
lobsterdexOpen: "เปิด Lobsterdex",
|
||||
},
|
||||
security: {
|
||||
intro: "ตรวจสอบการเข้าถึง Gateway, นโยบายเครื่องมือ, การยืนยันตัวตนอุปกรณ์ และการอนุมัติ",
|
||||
title: "ความปลอดภัย",
|
||||
gatewayAuth: "การยืนยันตัวตน Gateway",
|
||||
execPolicy: "นโยบายการเรียกใช้",
|
||||
@@ -1359,6 +1445,7 @@ export const th: TranslationMap = {
|
||||
"การแจ้งเตือนถูกปิดใช้งานสำหรับ OpenClaw ใน macOS อนุญาตได้ที่ System Settings > Notifications",
|
||||
},
|
||||
appearance: {
|
||||
intro: "การตั้งค่าธีม แชท และแถบข้างสำหรับไคลเอนต์ Control UI นี้",
|
||||
theme: "ธีม",
|
||||
chooseTheme: "เลือกกลุ่มธีม",
|
||||
importedTheme: "ธีมที่นำเข้า",
|
||||
@@ -1428,11 +1515,11 @@ export const th: TranslationMap = {
|
||||
open: "เปิด",
|
||||
applying: "กำลังนำไปใช้…",
|
||||
autoSaveSaving: "กำลังบันทึก…",
|
||||
autoSaveSaved: "บันทึกแล้ว",
|
||||
autoSaveFailed: "บันทึกไม่สำเร็จ",
|
||||
autoSaveConflict: "การตั้งค่าถูกเปลี่ยนแปลงจากที่อื่น",
|
||||
retry: "ลองอีกครั้ง",
|
||||
applyBannerText: "บันทึกลง openclaw.json แล้ว — รีสตาร์ท Gateway เพื่อนำไปใช้",
|
||||
applyBannerAction: "รีสตาร์ทและนำไปใช้",
|
||||
applyChanges: "นำการเปลี่ยนแปลงไปใช้",
|
||||
rawDiscard: "ละทิ้ง",
|
||||
rawDraftBlocksApply: "มีการแก้ไข Raw config ที่ยังไม่ได้บันทึก — บันทึกหรือยกเลิกในตัวแก้ไข Raw ก่อนรีสตาร์ท",
|
||||
rawDraftPendingFormTitle: "มีการแก้ไข Raw config ที่ยังไม่ได้บันทึก — บันทึกหรือยกเลิกก่อนสลับไปยัง Form",
|
||||
@@ -1673,7 +1760,6 @@ export const th: TranslationMap = {
|
||||
forward: "ไปข้างหน้า",
|
||||
chat: "แชต",
|
||||
settings: "การตั้งค่า",
|
||||
settingsGeneral: "ทั่วไป",
|
||||
askOpenClaw: "ถาม OpenClaw",
|
||||
settingsGroupConnections: "การเชื่อมต่อ",
|
||||
settingsGroupAgents: "เอเจนต์และเครื่องมือ",
|
||||
@@ -1729,6 +1815,9 @@ export const th: TranslationMap = {
|
||||
dockBottom: "Dock to bottom",
|
||||
dockRight: "Dock to right",
|
||||
unavailable: "The terminal is not available on this gateway.",
|
||||
uploadTooLarge: "ไฟล์เกินขีดจำกัดการอัปโหลดผ่านเทอร์มินัลที่ 16 MiB: {file}",
|
||||
uploadUnsafeCmdPath: "ไม่สามารถแทรกพาธที่อัปโหลดซึ่งมี % หรือ ! ลงใน cmd.exe ได้อย่างปลอดภัย",
|
||||
uploadUnsupportedShell: "ไม่สามารถแทรกพาธที่อัปโหลดลงในเชลล์ที่ไม่รองรับได้อย่างปลอดภัย: {shell}",
|
||||
},
|
||||
browser: {
|
||||
title: "เบราว์เซอร์",
|
||||
@@ -1765,6 +1854,15 @@ export const th: TranslationMap = {
|
||||
noChatTarget: "เปิดเซสชันแชทก่อน เพื่อให้คำอธิบายประกอบมีที่สำหรับส่งไป",
|
||||
inspectUnavailable: "การตรวจสอบองค์ประกอบถูกปิดใช้งาน (browser.evaluateEnabled=false)",
|
||||
annotationSent: "เพิ่มคำอธิบายประกอบลงในช่องเขียนแชทแล้ว",
|
||||
errors: {
|
||||
requestFailed: "คำขอเบราว์เซอร์ล้มเหลว: {error}",
|
||||
screenshotPathMissing: "ภาพหน้าจอของเบราว์เซอร์ไม่ได้ส่งคืนพาธของสื่อ",
|
||||
screenshotFetchTimedOut: "การดึงภาพหน้าจอหมดเวลา",
|
||||
screenshotFetchFailed: "การดึงภาพหน้าจอล้มเหลว ({status})",
|
||||
screenshotReadFailed: "การอ่านภาพหน้าจอล้มเหลว",
|
||||
screenshotDecodeFailed: "การถอดรหัสภาพหน้าจอล้มเหลว",
|
||||
canvasUnavailable: "ไม่มีบริบท Canvas 2D",
|
||||
},
|
||||
annotatePrompt: {
|
||||
introTitled:
|
||||
'ฉันได้ใส่คำอธิบายประกอบบนหน้าที่ {url} (ชื่อเรื่องที่หน้ารายงาน: "{title}") — ภาพหน้าจอที่แนบมาแสดงมาร์กอัปของฉัน',
|
||||
@@ -1810,6 +1908,7 @@ export const th: TranslationMap = {
|
||||
automation: "ระบบอัตโนมัติ",
|
||||
mcp: "MCP",
|
||||
memory: "หน่วยความจำ",
|
||||
talk: "สนทนา",
|
||||
infrastructure: "โครงสร้างพื้นฐาน",
|
||||
labs: "Labs",
|
||||
about: "เกี่ยวกับ",
|
||||
@@ -1849,6 +1948,7 @@ export const th: TranslationMap = {
|
||||
automation: "คำสั่ง hooks cron และ plugins",
|
||||
mcp: "เซิร์ฟเวอร์ MCP, การยืนยันตัวตน, เครื่องมือ และการวินิจฉัย",
|
||||
memory: "เอนจินหน่วยความจำ แบ็กเอนด์ การค้นหา และการฝัน",
|
||||
talk: "เสียงแบบเรียลไทม์: ผู้ให้บริการ, โมเดล และเสียงผู้พูด",
|
||||
infrastructure: "การตั้งค่าเกตเวย์ เว็บ เบราว์เซอร์ และสื่อ",
|
||||
labs: "ความสามารถของเอเจนต์และเครื่องมือแบบทดลอง",
|
||||
about: "ข้อมูลระบุตัวตนของบิลด์ Control UI และ Gateway ที่เชื่อมต่อ",
|
||||
@@ -1867,6 +1967,16 @@ export const th: TranslationMap = {
|
||||
heading: "เชื่อมต่อ AI ของคุณ",
|
||||
intro:
|
||||
"OpenClaw ใช้สิทธิ์เข้าถึง AI ที่คุณมีอยู่แล้วซ้ำได้ — ไม่ว่าจะเป็นการเข้าสู่ระบบ CLI, คีย์ API หรือการลงชื่อเข้าใช้กับผู้ให้บริการ",
|
||||
required: {
|
||||
title: "ยังไม่ได้กำหนดค่าผู้ให้บริการ AI",
|
||||
body: "OpenClaw ไม่พบผู้ให้บริการและโมเดลที่กำหนดค่าไว้สำหรับเอเจนต์นี้ โปรดเพิ่มก่อนเริ่มการสนทนา",
|
||||
action: "กำหนดค่าผู้ให้บริการ",
|
||||
},
|
||||
connectionFailure: {
|
||||
title: "OpenClaw ไม่สามารถใช้ AI ที่คุณกำหนดค่าไว้ได้",
|
||||
body: "เอเจนต์นี้มีการเลือกผู้ให้บริการและโมเดลไว้แล้ว แต่การเชื่อมต่อล้มเหลว โปรดตรวจสอบการเข้าสู่ระบบผู้ให้บริการหรือคีย์ API, การเข้าถึงโมเดล และสถานะบริการ แล้วลองอีกครั้ง",
|
||||
action: "ตรวจสอบการตั้งค่าผู้ให้บริการ",
|
||||
},
|
||||
loading: "กำลังตรวจสอบสิทธิ์เข้าถึง AI ที่พร้อมใช้งานบน Gateway นี้…",
|
||||
retry: "ลองอีกครั้ง",
|
||||
checkAgain: "ตรวจสอบอีกครั้ง",
|
||||
@@ -1897,6 +2007,8 @@ export const th: TranslationMap = {
|
||||
},
|
||||
unavailable: {
|
||||
title: "ตรวจพบ แต่ไม่ได้ทดสอบโดยอัตโนมัติ",
|
||||
signIn: "ลงชื่อเข้าใช้ด้วย {provider}",
|
||||
useApiKey: "ใช้ API key",
|
||||
},
|
||||
signIn: {
|
||||
title: "ลงชื่อเข้าใช้กับผู้ให้บริการ",
|
||||
@@ -2000,6 +2112,37 @@ export const th: TranslationMap = {
|
||||
agent: "เอเจนต์ปลายทาง",
|
||||
replaceExisting: "แทนที่รายการที่นำเข้าอยู่แล้ว",
|
||||
replaceHint: "แสดงตัวอย่างข้อขัดแย้งอีกครั้งและเก็บข้อมูลสำรองของแต่ละรายการไว้ก่อนแทนที่",
|
||||
backfill: {
|
||||
title: "จากเซสชันที่ผ่านมา",
|
||||
subtitle:
|
||||
"เตรียมหน่วยความจำที่เชื่อถือได้จากเซสชันของ agent ก่อนหน้า การฝันจะเลื่อนหน่วยความจำที่มีประโยชน์ขึ้นสู่หน่วยความจำระยะยาว",
|
||||
dateRange: "ช่วงวันที่ของเซสชัน",
|
||||
dateRangeHint: "เว้นวันที่ใดวันที่หนึ่งว่างไว้เพื่อสแกนช่วงที่มีทั้งหมด",
|
||||
from: "จาก",
|
||||
to: "ถึง",
|
||||
actions: "Backfill",
|
||||
preview: "ดูตัวอย่าง",
|
||||
previewing: "กำลังแสดงตัวอย่าง…",
|
||||
apply: "นำไปใช้",
|
||||
applying: "กำลังนำไปใช้…",
|
||||
rollback: "ย้อนกลับ",
|
||||
previewSummary: "{candidates} รายการที่เป็นไปได้ ในช่วง {days} วัน",
|
||||
previewTruncated: "ตัวอย่างนี้แสดงชุดข้อมูลชุดแรกที่จำกัดไว้ การใช้งานจะดำเนินต่อกับรายการที่เหลือ",
|
||||
candidateCount: "{count} รายการที่เป็นไปได้",
|
||||
noCandidates: "ไม่พบรายการเซสชันที่เชื่อถือได้ใหม่",
|
||||
progress: "ประมวลผลแล้ว {days} วัน · เตรียมไว้ {staged} รายการ",
|
||||
processedCandidates: "ประมวลผลรายการเซสชันที่เป็นไปได้ {count} รายการ",
|
||||
processedDayCountOne: "ประมวลผลแล้ว {count} วัน",
|
||||
processedDayCount: "ประมวลผลแล้ว {count} วัน",
|
||||
complete: "เตรียมไว้ {count} รายการ การเลื่อนขึ้นจะเกิดขึ้นผ่านการฝัน",
|
||||
rollbackConfirmTitle: "ย้อนกลับการเติมข้อมูลเซสชันหรือไม่?",
|
||||
rollbackConfirmDescription:
|
||||
"ลบรายการไดอารีและหน่วยความจำที่จัดเตรียมไว้ซึ่งสร้างโดยการเติมข้อมูลเซสชันสำหรับเอเจนต์นี้",
|
||||
rollbackWarning: "เคอร์เซอร์เซสชันที่ติดตามจะยังคงอยู่ ดังนั้นรายการที่ลบออกจะไม่ถูกจัดเตรียมอีก",
|
||||
rollbackComplete: "ย้อนกลับการเติมข้อมูลเซสชันแล้ว",
|
||||
rollbackCounts: "ลบรายการไดอารี {diary} รายการและรายการที่จัดเตรียมไว้ {staged} รายการแล้ว",
|
||||
unavailable: "การเติมข้อมูลเซสชันไม่พร้อมใช้งานบน Gateway นี้",
|
||||
},
|
||||
},
|
||||
onboarding: {
|
||||
memoryImport: {
|
||||
@@ -2039,6 +2182,14 @@ export const th: TranslationMap = {
|
||||
connectionChanged: "การเชื่อมต่อ Gateway มีการเปลี่ยนแปลง ลองใหม่เพื่อดำเนินการตั้งค่านี้ต่อ",
|
||||
sessionRestarted: "{error} OpenClaw เริ่มเซสชันใหม่ ข้อความก่อนหน้ายังคงอยู่เพื่อใช้เป็นบริบท",
|
||||
unsupportedGateway: "อัปเดต Gateway เพื่อดำเนินการตั้งค่าต่อกับ OpenClaw",
|
||||
panel: {
|
||||
title: "OpenClaw",
|
||||
toggle: "ถาม OpenClaw",
|
||||
close: "ปิด Ask OpenClaw",
|
||||
resize: "ปรับขนาด Ask OpenClaw",
|
||||
dockBottom: "จอด Ask OpenClaw ไว้ด้านล่าง",
|
||||
dockRight: "จอด Ask OpenClaw ไว้ด้านขวา",
|
||||
},
|
||||
history: {
|
||||
button: "ประวัติ",
|
||||
title: "การเปลี่ยนแปลงล่าสุด",
|
||||
@@ -2097,12 +2248,14 @@ export const th: TranslationMap = {
|
||||
working: "กำลังทำงาน…",
|
||||
},
|
||||
mcpPage: {
|
||||
intro: "เชื่อมต่อและจัดการเซิร์ฟเวอร์ MCP ที่มอบเครื่องมือให้กับ OpenClaw",
|
||||
connectorsLink: "ค้นพบตัวเชื่อมต่อแบบคลิกเดียวในหน้า Plugins",
|
||||
servers: "เซิร์ฟเวอร์",
|
||||
oauth: "OAuth",
|
||||
filtered: "กรองแล้ว",
|
||||
configuredServers: "เซิร์ฟเวอร์ที่กำหนดค่าไว้",
|
||||
noServers: "ยังไม่ได้กำหนดค่าเซิร์ฟเวอร์ MCP",
|
||||
setUpFirstServer: "ตั้งค่าเซิร์ฟเวอร์ MCP แรกของคุณ",
|
||||
operatorCommands: "คำสั่งผู้ดำเนินการ MCP",
|
||||
operatorCommandsHint: "สถานะ การวินิจฉัย การยืนยันตัวตน การตรวจสอบ และการโหลดรันไทม์ซ้ำ",
|
||||
runtimeHint:
|
||||
@@ -2112,12 +2265,132 @@ export const th: TranslationMap = {
|
||||
tlsVerifyOff: "ปิดการตรวจสอบ TLS",
|
||||
mtls: "mTLS",
|
||||
},
|
||||
talkPage: {
|
||||
intro: "กำหนดค่าผู้ให้บริการเสียงแบบเรียลไทม์ โมเดล และเสียงผู้พูด",
|
||||
voiceSection: {
|
||||
title: "เสียงแบบเรียลไทม์",
|
||||
description:
|
||||
"การสนทนาด้วยเสียงอย่างต่อเนื่องกับเอเจนต์ของคุณ ตัวเลือกด้านล่างจะเขียนการตั้งค่า talk.realtime ส่วนฟอร์มแบบเต็มด้านล่างครอบคลุมทุกอย่างอื่น",
|
||||
},
|
||||
status: {
|
||||
title: "สถานะ",
|
||||
ready: "พร้อม",
|
||||
notReady: "ยังไม่ได้กำหนดค่า",
|
||||
unavailable: "ไม่พร้อมใช้งาน",
|
||||
unavailableHint: "เชื่อมต่อกับ Gateway เพื่อตรวจสอบความพร้อมของเสียงแบบเรียลไทม์",
|
||||
activeProvider: "ผู้ให้บริการที่ใช้งาน: {provider}",
|
||||
noProvider: "ยังไม่ได้กำหนดค่าผู้ให้บริการเสียงแบบเรียลไทม์",
|
||||
},
|
||||
provider: {
|
||||
title: "ผู้ให้บริการ",
|
||||
description: "โหมดอัตโนมัติจะเลือกผู้ให้บริการรายแรกที่มีข้อมูลรับรองที่ใช้งานได้",
|
||||
auto: "อัตโนมัติ",
|
||||
},
|
||||
model: {
|
||||
title: "โมเดล",
|
||||
description: "โมเดลเสียงแบบเรียลไทม์สำหรับเซสชัน Talk บนเบราว์เซอร์",
|
||||
default: "ค่าเริ่มต้นของผู้ให้บริการ",
|
||||
defaultNamed: "ค่าเริ่มต้น ({model})",
|
||||
},
|
||||
voice: {
|
||||
title: "เสียงผู้พูด",
|
||||
description: "เสียงที่ใช้สำหรับการตอบด้วยเสียงพูด GPT-Live จะล็อกเสียงเมื่อเริ่มการโทรแล้ว",
|
||||
default: "ค่าเริ่มต้นของผู้ให้บริการ",
|
||||
},
|
||||
gptLive: {
|
||||
title: "GPT-Live",
|
||||
hint: "GPT-Live ใช้งานได้กับการสมัครสมาชิก ChatGPT: ลงชื่อเข้าใช้ครั้งเดียวด้วย “openclaw models auth login --provider openai” ไม่จำเป็นต้องมี Platform API key ใช้ได้เฉพาะ Talk บนเบราว์เซอร์ งานที่มอบหมายสามารถกำหนดทิศทางได้ขณะกำลังทำงาน และต้องมีการยืนยันด้วยเสียงพูดที่ถูกต้องแม่นยำสำหรับการดำเนินการที่มีผลกระทบสูง",
|
||||
ready: "พร้อม",
|
||||
},
|
||||
},
|
||||
memoryPage: {
|
||||
intro: "เลือกวิธีที่ OpenClaw จัดเก็บ ค้นหา และดูแลรักษาหน่วยความจำของเอเจนต์",
|
||||
tablistLabel: "ส่วนหน่วยความจำ",
|
||||
tabs: {
|
||||
overview: "ภาพรวม",
|
||||
search: "ค้นหา",
|
||||
dreaming: "การฝัน",
|
||||
memories: "หน่วยความจำ",
|
||||
dreams: "ความฝัน",
|
||||
settings: "การตั้งค่า",
|
||||
},
|
||||
overview: {
|
||||
hero: {
|
||||
awake: "หน่วยความจำกำลังทำงาน",
|
||||
waking: "กำลังปลุกหน่วยความจำ…",
|
||||
hibernating: "หน่วยความจำกำลังจำศีล",
|
||||
needsAttention: "หน่วยความจำต้องการการดูแล",
|
||||
activeDescription: "{engine} · {mode}",
|
||||
loadingDescription: "กำลังตรวจสอบเอนจินหน่วยความจำและวงจรความฝันของเอเจนต์นี้",
|
||||
offDescription: "เลือกเอนจินหน่วยความจำในการตั้งค่าเพื่อปลุกให้ทำงาน",
|
||||
disabledDescription: "เอนจินหน่วยความจำที่เลือกถูกปิดใช้งาน เปิดใช้งานอีกครั้งในการตั้งค่า",
|
||||
gatewayOffline: "Gateway ออฟไลน์อยู่ จึงไม่สามารถแสดงสถานะหน่วยความจำได้",
|
||||
hybridSearch: "การค้นหาแบบไฮบริด",
|
||||
keywordSearch: "การค้นหาด้วยคีย์เวิร์ด (ไม่มี embeddings)",
|
||||
openSettings: "เปิดการตั้งค่า",
|
||||
retry: "ลองอีกครั้ง",
|
||||
refresh: "รีเฟรชสถานะ",
|
||||
},
|
||||
schedule: {
|
||||
title: "ตารางการนอน",
|
||||
lightDescription: "จัดเรียงบันทึกระยะสั้นใหม่และเตรียมผู้สมัครที่น่าสนใจโดยไม่เปลี่ยนแปลงหน่วยความจำระยะยาว",
|
||||
remDescription:
|
||||
"ทบทวนธีมและแนวคิดที่เกิดซ้ำจากกิจกรรมล่าสุดเพื่อเสริมการจัดอันดับโดยไม่เปลี่ยนแปลงหน่วยความจำระยะยาว",
|
||||
deepDescription:
|
||||
"ให้คะแนนผู้สมัครที่เตรียมไว้ เลื่อนรายการที่ควรเก็บเข้าสู่หน่วยความจำระยะยาว (MEMORY.md) และเขียนไดอารีความฝัน",
|
||||
nextRun: "ครั้งถัดไป {time}",
|
||||
lastRun: "ครั้งล่าสุด {time}",
|
||||
notScheduled: "ไม่ได้กำหนดเวลา",
|
||||
learnMore: "การฝันทำงานอย่างไร",
|
||||
openDocs: "เปิดคู่มือการฝัน",
|
||||
},
|
||||
activity: {
|
||||
title: "กิจกรรม",
|
||||
promotedToday: "เลื่อนขึ้นวันนี้",
|
||||
promotedTotal: "เลื่อนขึ้นทั้งหมด",
|
||||
shortTermCount: "รายการระยะสั้นที่รอดำเนินการ",
|
||||
phaseHitCount: "สัญญาณเฟส",
|
||||
lightPhaseHitCount: "ผลลัพธ์เฟส Light",
|
||||
remPhaseHitCount: "ผลลัพธ์เฟส REM",
|
||||
},
|
||||
health: {
|
||||
title: "สุขภาพเอนจิน",
|
||||
provider: "ผู้ให้บริการ",
|
||||
embeddings: "Embeddings",
|
||||
runtime: "รันไทม์ของ Embedding",
|
||||
healthy: "พร้อม",
|
||||
unavailable: "ไม่พร้อมใช้งาน",
|
||||
notChecked: "ยังไม่ได้ตรวจสอบ",
|
||||
notCheckedDescription: "ยังไม่ได้ตรวจสอบความพร้อมของ Embedding",
|
||||
checking: "กำลังตรวจสอบ…",
|
||||
test: "ทดสอบ",
|
||||
testing: "กำลังทดสอบ…",
|
||||
},
|
||||
shortcuts: {
|
||||
title: "สำรวจหน่วยความจำ",
|
||||
memories: "ค้นหาความทรงจำ",
|
||||
diary: "อ่านไดอารีความฝัน",
|
||||
settings: "ตั้งค่าหน่วยความจำ",
|
||||
},
|
||||
},
|
||||
memories: {
|
||||
searchLabel: "ค้นหาความทรงจำ",
|
||||
searchPlaceholder: "ค้นหาความทรงจำของเอเจนต์นี้",
|
||||
searchButton: "ค้นหา",
|
||||
idle: "ค้นหาบุคคล โปรเจกต์ การตัดสินใจ หรือสิ่งอื่นใดที่เอเจนต์นี้จดจำไว้",
|
||||
searching: "กำลังค้นหาความทรงจำ…",
|
||||
results: "{count} ผลลัพธ์",
|
||||
empty: "ไม่มีความทรงจำที่ตรงกับ “{query}”",
|
||||
error: "การค้นหาความทรงจำล้มเหลว: {message}",
|
||||
retry: "ลองอีกครั้ง",
|
||||
gatewayUpdateRequired: "อัปเดต Gateway เพื่อค้นหาความทรงจำจาก Control UI",
|
||||
hybridSearch: "การค้นหาแบบไฮบริด",
|
||||
keywordSearch: "การค้นหาด้วยคำสำคัญ",
|
||||
lineRange: "บรรทัด {start}–{end}",
|
||||
score: "คะแนน {score}",
|
||||
sourceMemory: "หน่วยความจำ",
|
||||
sourceSessions: "เซสชัน",
|
||||
fileLoading: "กำลังโหลดไฟล์หน่วยความจำทั้งหมด…",
|
||||
fileError: "ไม่สามารถโหลดไฟล์หน่วยความจำนี้: {message}",
|
||||
fileUnsupported: "ไม่สามารถแสดงไฟล์หน่วยความจำนี้เป็นข้อความได้",
|
||||
},
|
||||
engine: {
|
||||
title: "เอนจิน",
|
||||
@@ -2152,6 +2425,8 @@ export const th: TranslationMap = {
|
||||
memoryWiki: {
|
||||
title: "วิกิหน่วยความจำ",
|
||||
},
|
||||
toggleAriaLabel: "เปิดหรือปิด {plugin}",
|
||||
changeFailed: "ไม่สามารถอัปเดต {plugin}",
|
||||
stateUnknown: "ไม่ทราบ",
|
||||
manage: "เปิดหรือปิดใช้งานส่วนเสริม",
|
||||
manageLink: "เปิด Plugins",
|
||||
@@ -2517,35 +2792,8 @@ export const th: TranslationMap = {
|
||||
},
|
||||
profilePage: {
|
||||
offline: "เชื่อมต่อกับ Gateway เพื่อพบเอเจนต์ของคุณ",
|
||||
loading: "กำลังดำลงไปหาสถิติ…",
|
||||
emptyTitle: "เปลือกหอยใหม่เอี่ยม",
|
||||
emptyBody: "ยังไม่มีกิจกรรมโทเค็น ส่งข้อความหาเอเจนต์ของคุณแล้วดูแนวปะการังสว่างขึ้น",
|
||||
sinceChip: "อยู่ในแนวปะการังตั้งแต่ {date}",
|
||||
channelChipTitle: "{tokens} โทเค็นบนช่องทางนี้",
|
||||
statLifetimeTokens: "โทเค็นตลอดอายุการใช้งาน",
|
||||
statPeakDay: "วันที่สูงสุด",
|
||||
statLongestSession: "เซสชันที่ยาวที่สุด",
|
||||
statCurrentStreak: "สตรีกปัจจุบัน",
|
||||
statLongestStreak: "สตรีกที่ยาวที่สุด",
|
||||
streakDay: "{count} วัน",
|
||||
streakDays: "{count} วัน",
|
||||
heatmapTitle: "กิจกรรมโทเค็น",
|
||||
heatmapSub: "หนึ่งปีในแนวปะการัง — สีแดงยิ่งเข้ม ก้ามยิ่งคึกคัก",
|
||||
heatmapCellTokens: "{tokens} โทเค็น",
|
||||
legendLess: "น้อยกว่า",
|
||||
legendMore: "มากกว่า",
|
||||
insightsTitle: "ข้อมูลเชิงลึกกิจกรรม",
|
||||
insightModel: "โมเดลที่ใช้บ่อยที่สุด",
|
||||
insightMessages: "ข้อความที่แลกเปลี่ยน",
|
||||
insightToolCalls: "การเรียกใช้เครื่องมือ",
|
||||
insightUniqueTools: "เครื่องมือที่แตกต่างกัน",
|
||||
insightAgents: "Agents ใน reef",
|
||||
insightSessions: "เซสชันที่ติดตาม",
|
||||
sessionsCapped: "{count}+",
|
||||
toolsTitle: "เครื่องมือที่ใช้บ่อยที่สุด",
|
||||
toolsEmpty: "ยังไม่มีการบันทึกการเรียกใช้เครื่องมือ",
|
||||
toolRun: "{count} ครั้ง",
|
||||
toolRuns: "{count} ครั้ง",
|
||||
usageStatistics: "สถิติการใช้งาน",
|
||||
usageStatisticsDescription: "ดูกิจกรรม ค่าใช้จ่าย และแนวโน้มการใช้งาน",
|
||||
identity: {
|
||||
title: "ข้อมูลประจำตัว",
|
||||
menuLabel: "เมนูข้อมูลระบุตัวตน",
|
||||
@@ -2642,6 +2890,9 @@ export const th: TranslationMap = {
|
||||
next: "ถัดไป",
|
||||
apply: "นำไปใช้",
|
||||
applying: "กำลังนำไปใช้…",
|
||||
evaluate: "ประเมิน",
|
||||
evaluating: "กำลังประเมิน…",
|
||||
evaluated: "ประเมินแล้ว",
|
||||
revise: "แก้ไข",
|
||||
tweak: "ปรับแต่ง",
|
||||
opening: "กำลังเปิด…",
|
||||
@@ -2649,6 +2900,11 @@ export const th: TranslationMap = {
|
||||
rejecting: "กำลังปฏิเสธ…",
|
||||
sending: "กำลังส่ง…",
|
||||
},
|
||||
notices: {
|
||||
applied: "นำไปใช้แล้ว",
|
||||
rejected: "ปฏิเสธแล้ว",
|
||||
revisionRequested: "ขอให้แก้ไขแล้ว",
|
||||
},
|
||||
revision: {
|
||||
title: "{verb}ข้อเสนอ",
|
||||
description:
|
||||
@@ -2675,6 +2931,35 @@ export const th: TranslationMap = {
|
||||
supportFilesTitle: "ไฟล์สนับสนุน",
|
||||
clickToPreview: "· คลิกเพื่อดูตัวอย่าง",
|
||||
},
|
||||
evaluation: {
|
||||
title: "การประเมิน",
|
||||
version: "ข้อเสนอ {version}",
|
||||
completedAt: "เสร็จสิ้น {time}",
|
||||
status: {
|
||||
completed: "เสร็จสิ้น",
|
||||
skipped: "ข้ามแล้ว",
|
||||
error: "ข้อผิดพลาด",
|
||||
},
|
||||
decision: {
|
||||
pass: "ผ่าน",
|
||||
revise: "แก้ไข",
|
||||
block: "บล็อก",
|
||||
},
|
||||
severity: {
|
||||
info: "ข้อมูล",
|
||||
warn: "คำเตือน",
|
||||
critical: "วิกฤต",
|
||||
},
|
||||
evaluatorVersion: "ตัวประเมิน {version}",
|
||||
mode: "โหมด {mode}",
|
||||
findings: "สิ่งที่ตรวจพบ",
|
||||
metrics: "เมตริก",
|
||||
fileLine: "{file}:{line}",
|
||||
errors: {
|
||||
revisionHashUnavailable: "ไม่สามารถระบุการแก้ไขข้อเสนอปัจจุบันได้",
|
||||
revisionChanged: "การแก้ไขข้อเสนอเปลี่ยนแปลงระหว่างการประเมิน",
|
||||
},
|
||||
},
|
||||
empty: {
|
||||
searchTitle: "ไม่มีข้อเสนอที่ตรงกัน",
|
||||
searchBody: "ล้างการค้นหาหรือลองคำค้นอื่น",
|
||||
@@ -2735,6 +3020,8 @@ export const th: TranslationMap = {
|
||||
comeWithIt: "มาพร้อมกับมัน",
|
||||
useIt: "ใช้งาน",
|
||||
addToSkills: "เพิ่มไปยัง Skills ของคุณ",
|
||||
evaluate: "ประเมิน",
|
||||
runChecks: "เรียกใช้การตรวจสอบข้อเสนอ",
|
||||
tweakIt: "ปรับแต่ง",
|
||||
askAgent: "ขอให้ agent เปลี่ยนบางอย่าง",
|
||||
skipping: "กำลังข้าม…",
|
||||
@@ -3386,6 +3673,32 @@ export const th: TranslationMap = {
|
||||
reload: "โหลดใหม่",
|
||||
reloading: "กำลังโหลดใหม่…",
|
||||
},
|
||||
actions: {
|
||||
dedupeRemovedOneAndKept: "ลบรายการความฝันที่ซ้ำกัน {removed} รายการและเก็บไว้ {kept} รายการ",
|
||||
dedupeRemovedManyAndKept: "ลบรายการความฝันที่ซ้ำกัน {removed} รายการและเก็บไว้ {kept} รายการ",
|
||||
dedupeRemovedOne: "ลบรายการความฝันที่ซ้ำกัน {removed} รายการ",
|
||||
dedupeRemovedMany: "ลบรายการความฝันที่ซ้ำกัน {removed} รายการ",
|
||||
repairArchivedThreadCorpus: "คลังเธรดที่เก็บถาวร",
|
||||
repairArchivedIngestionState: "สถานะการนำเข้าที่จัดเก็บถาวร",
|
||||
repairArchivedDreamDiary: "ไดอารีความฝันที่จัดเก็บถาวร",
|
||||
repairNoChanges: "การซ่อมแซมแคชความฝันเสร็จสิ้นโดยไม่มีการเปลี่ยนแปลง",
|
||||
repairCompleteWithArchive:
|
||||
"การซ่อมแซมแคชความฝันเสร็จสมบูรณ์: {actions} ไฟล์จัดเก็บถาวร: {archiveDir}",
|
||||
repairComplete: "การซ่อมแซมแคชความฝันเสร็จสมบูรณ์: {actions}",
|
||||
backfillComplete: "เติมย้อนหลังรายการไดอารีความฝัน {count} รายการแล้ว",
|
||||
resetDiaryComplete: "ลบรายการไดอารีความฝันที่เติมย้อนหลัง {count} รายการแล้ว",
|
||||
clearReplayedComplete: "ล้างรายการระยะสั้นที่เล่นซ้ำ {count} รายการแล้ว",
|
||||
complete: "การดำเนินการไดอารีความฝันเสร็จสมบูรณ์",
|
||||
confirmRepair:
|
||||
"ซ่อมแซมแคชความฝันหรือไม่? การดำเนินการนี้จะจัดเก็บไฟล์แคชความฝันที่สร้างขึ้นและสร้างใหม่จากอินพุตที่สะอาด ไดอารีความฝันของคุณจะไม่ถูกแตะต้อง",
|
||||
confirmDedupe:
|
||||
"ลบรายการซ้ำในไดอารีความฝันหรือไม่? การดำเนินการนี้จะเขียน DREAMS.md ใหม่และลบเฉพาะรายการไดอารีที่ซ้ำกันทุกประการเท่านั้น",
|
||||
archivePathCopied: "คัดลอกเส้นทางไฟล์จัดเก็บถาวรแล้ว",
|
||||
archivePathCopyFailed: "ไม่สามารถคัดลอกเส้นทางไฟล์จัดเก็บถาวรได้",
|
||||
updateFailed: "ไม่สามารถอัปเดตการตั้งค่าการฝันได้",
|
||||
unsupportedPlugin: 'ปลั๊กอินหน่วยความจำที่เลือก "{pluginId}" ไม่รองรับการตั้งค่าการฝัน',
|
||||
configHashMissing: "ไม่พบ config hash โปรดรีเฟรชและลองใหม่",
|
||||
},
|
||||
wiki: {
|
||||
previewFallbackTitle: "หน้าวิกิ",
|
||||
close: "ปิด",
|
||||
@@ -3430,6 +3743,60 @@ export const th: TranslationMap = {
|
||||
enableSuffix: " จากนั้นโหลดแท็บนี้ใหม่",
|
||||
openConfig: "เปิด Config",
|
||||
howToEnable: "วิธีเปิดใช้งาน",
|
||||
pageTypes: {
|
||||
entity: "เอนทิตี",
|
||||
concept: "แนวคิด",
|
||||
source: "แหล่งที่มา",
|
||||
synthesis: "การสังเคราะห์",
|
||||
report: "รายงาน",
|
||||
},
|
||||
pageGroups: {
|
||||
sources: "แหล่งที่มา",
|
||||
syntheses: "การสังเคราะห์",
|
||||
reports: "รายงาน",
|
||||
entities: "เอนทิตี",
|
||||
concepts: "แนวคิด",
|
||||
},
|
||||
counts: {
|
||||
pageOne: "{count} หน้า",
|
||||
pages: "{count} หน้า",
|
||||
claimRowOne: "{count} แถวข้อกล่าวอ้าง",
|
||||
claimRows: "{count} แถวข้อกล่าวอ้าง",
|
||||
openQuestionOne: "{count} คำถามที่ยังไม่ได้ตอบ",
|
||||
openQuestions: "{count} คำถามที่ยังไม่ได้ตอบ",
|
||||
contradictionOne: "{count} ข้อขัดแย้ง",
|
||||
contradictions: "{count} ข้อขัดแย้ง",
|
||||
chats: "{count} แชท",
|
||||
sensitive: "{count} ข้อมูลอ่อนไหว",
|
||||
signals: "{count} สัญญาณ",
|
||||
messages: "{count} ข้อความ",
|
||||
userMessages: "{count} ผู้ใช้",
|
||||
assistantMessages: "{count} ผู้ช่วย",
|
||||
},
|
||||
pageGroupSummary: "{label} · {count}",
|
||||
noPagesYet: "ยังไม่มีหน้า",
|
||||
sectionPageSummary: "{label}: {count}",
|
||||
questionCountOnPages: "{questionCount} ใน {pageCount}",
|
||||
risk: {
|
||||
needsReview: "ต้องตรวจสอบ",
|
||||
low: "ความเสี่ยงต่ำ",
|
||||
medium: "ความเสี่ยงปานกลาง",
|
||||
high: "ความเสี่ยงสูง",
|
||||
unknown: "ความเสี่ยงที่ไม่ทราบ",
|
||||
},
|
||||
pageNotFound: "ไม่พบหน้า wiki สำหรับ {lookup}",
|
||||
previewTruncated: "กำลังแสดงส่วนแรกของหน้านี้",
|
||||
previewTruncatedWithTotal: "กำลังแสดงส่วนแรกของหน้านี้ (รวม {count} บรรทัด)",
|
||||
importedClusterSummary: "แชตที่นำเข้าถูกจัดกลุ่มรอบ {label}",
|
||||
withheldDigestOne: "มี {count} สรุปที่ถูกระงับไว้เพื่อรอการตรวจสอบ",
|
||||
withheldDigests: "มี {count} สรุปที่ถูกระงับไว้เพื่อรอการตรวจสอบ",
|
||||
details: "รายละเอียด",
|
||||
hideDetails: "ซ่อนรายละเอียด",
|
||||
vault: "Vault",
|
||||
fullVaultBreakdown: "รายละเอียด vault ทั้งหมด: {breakdown}",
|
||||
selectedSection: "ส่วนที่เลือก: {summary}",
|
||||
latestUpdate: "อัปเดตล่าสุด {date}",
|
||||
noContent: "ไม่มีเนื้อหา wiki",
|
||||
},
|
||||
phrases: {
|
||||
consolidatingMemories: "กำลังรวมความทรงจำ…",
|
||||
@@ -3573,6 +3940,13 @@ export const th: TranslationMap = {
|
||||
session: "เซสชัน",
|
||||
sessions: "เซสชัน",
|
||||
},
|
||||
heatmap: {
|
||||
title: "กิจกรรมโทเคน",
|
||||
subtitle: "ความหนาแน่นของโทเคนรายวันสำหรับช่วงที่เลือก สูงสุดหนึ่งปี",
|
||||
cellTokens: "{tokens} โทเคน",
|
||||
less: "น้อย",
|
||||
more: "มาก",
|
||||
},
|
||||
providerUsage: {
|
||||
title: "แพ็กเกจและการเรียกเก็บเงินของผู้ให้บริการ",
|
||||
subtitle: "ข้อมูลแพ็กเกจ โควตา ยอดคงเหลือ และงบประมาณแบบเรียลไทม์ที่รายงานโดยผู้ให้บริการที่กำหนดค่าไว้",
|
||||
@@ -3941,6 +4315,106 @@ export const th: TranslationMap = {
|
||||
multipleMatches: "มีเซสชันมากกว่าหนึ่งรายการที่ตรงกับ {shortId}",
|
||||
additionalMatches: "ยังมีผลการค้นหาเหลืออยู่ ใช้คำนำหน้า id ที่ยาวขึ้น",
|
||||
},
|
||||
commandResults: {
|
||||
startingNewThread: "กำลังเริ่มเธรดใหม่...",
|
||||
resettingThread: "กำลังรีเซ็ตเธรด...",
|
||||
stoppingCurrentRun: "กำลังหยุดการทำงานปัจจุบัน...",
|
||||
chatHistoryCleared: "ล้างประวัติแชทแล้ว",
|
||||
exportingThread: "กำลังส่งออกเธรด...",
|
||||
unknownCommand: "คำสั่งที่ไม่รู้จัก: `{command}`",
|
||||
options: "ตัวเลือก: {options}",
|
||||
sessionUnavailable: "ไม่สามารถใช้ความสามารถของเซสชันได้",
|
||||
help: {
|
||||
availableCommands: "คำสั่งที่ใช้ได้",
|
||||
agentCommand: "เอเจนต์",
|
||||
openMenu: "พิมพ์ `/` เพื่อเปิดเมนูคำสั่ง",
|
||||
},
|
||||
compaction: {
|
||||
failed: "การบีบอัดล้มเหลว",
|
||||
failedWithReason: "การบีบอัดล้มเหลว: {reason}",
|
||||
tokenSummary: " ({before} -> {after} โทเคน)",
|
||||
succeeded: "บีบอัดบริบทสำเร็จ",
|
||||
skipped: "ข้ามการบีบอัด",
|
||||
skippedWithReason: "ข้ามการบีบอัด: {reason}",
|
||||
},
|
||||
model: {
|
||||
current: "**โมเดลปัจจุบัน:** {model}",
|
||||
available: "**ที่ใช้ได้:** {models}",
|
||||
more: "+{count} เพิ่มเติม",
|
||||
getFailed: "ไม่สามารถรับข้อมูลโมเดลได้: {error}",
|
||||
set: "ตั้งค่าโมเดลเป็น {model} แล้ว",
|
||||
setFailed: "ไม่สามารถตั้งค่าโมเดลได้: {error}",
|
||||
},
|
||||
thinking: {
|
||||
current: "ระดับการคิดปัจจุบัน: {level}",
|
||||
getFailed: "ไม่สามารถรับระดับการคิดได้: {error}",
|
||||
reset: "รีเซ็ตระดับการคิดเป็นค่าเริ่มต้นแล้ว",
|
||||
resetFailed: "ไม่สามารถรีเซ็ตระดับการคิดได้: {error}",
|
||||
unrecognized: 'ไม่รู้จักระดับการคิด "{level}" ระดับที่ใช้ได้: {options}',
|
||||
unsupported: 'ไม่รองรับระดับการคิด "{level}" สำหรับโมเดลนี้ ระดับที่ใช้ได้: {options}',
|
||||
set: "ตั้งค่าระดับการคิดเป็น {level} แล้ว",
|
||||
setFailed: "ไม่สามารถตั้งค่าระดับการคิดได้: {error}",
|
||||
},
|
||||
verbose: {
|
||||
current: "ระดับ verbose ปัจจุบัน: {level}",
|
||||
getFailed: "ไม่สามารถรับระดับ verbose ได้: {error}",
|
||||
unrecognized: 'ไม่รู้จักระดับ verbose "{level}" ระดับที่ใช้ได้: off, on, full',
|
||||
set: "ตั้งค่าโหมด verbose เป็น {level} แล้ว",
|
||||
setFailed: "ไม่สามารถตั้งค่าโหมด verbose ได้: {error}",
|
||||
},
|
||||
fast: {
|
||||
autoValue: "อัตโนมัติ ({seconds} วินาที)",
|
||||
on: "เปิด",
|
||||
off: "ปิด",
|
||||
sourceSession: " (session)",
|
||||
sourceAgent: " (default: agent)",
|
||||
sourceModel: " (default: model)",
|
||||
sourceDefault: " (default)",
|
||||
current: "โหมด fast ปัจจุบัน: {value}",
|
||||
options: "on, off, auto ({seconds} วินาที), default, status",
|
||||
getFailed: "ไม่สามารถรับโหมด fast ได้: {error}",
|
||||
reset: "รีเซ็ตโหมด fast เป็นค่าเริ่มต้นแล้ว",
|
||||
resetFailed: "ไม่สามารถรีเซ็ตโหมด fast ได้: {error}",
|
||||
unrecognized: 'ไม่รู้จักโหมด fast "{mode}" ระดับที่ใช้ได้: on, off, auto, default, status',
|
||||
setAuto: "ตั้งค่าโหมด fast เป็น auto แล้ว",
|
||||
enabled: "เปิดใช้งานโหมด fast แล้ว",
|
||||
disabled: "ปิดใช้งานโหมด fast แล้ว",
|
||||
setFailed: "ไม่สามารถตั้งค่าโหมด fast ได้: {error}",
|
||||
},
|
||||
usage: {
|
||||
noActiveThread: "ไม่มีเธรดที่ใช้งานอยู่",
|
||||
notAvailable: "ไม่มีข้อมูล",
|
||||
title: "การใช้งานเธรด",
|
||||
inputTokens: "อินพุต: {count} โทเค็น",
|
||||
outputTokens: "เอาต์พุต: {count} โทเค็น",
|
||||
totalTokens: "รวม: {count} โทเค็น",
|
||||
context: "บริบท: {percent} จาก {total}",
|
||||
model: "โมเดล: {model}",
|
||||
failed: "ไม่สามารถรับข้อมูลการใช้งาน: {error}",
|
||||
},
|
||||
agents: {
|
||||
none: "ยังไม่ได้กำหนดค่า agents",
|
||||
title: "**Agents** ({count})",
|
||||
default: "ค่าเริ่มต้น",
|
||||
runtime: " · runtime {runtime}",
|
||||
failed: "ไม่สามารถแสดงรายการ agents: {error}",
|
||||
},
|
||||
steer: {
|
||||
timeout: "การทำงานที่ใช้งานอยู่สิ้นสุดลงก่อนที่ข้อความ steer จะได้รับการยอมรับ",
|
||||
failed: "Steer ล้มเหลวก่อนที่จะไปถึงการทำงาน ลองอีกครั้ง",
|
||||
usage: "การใช้งาน: `/steer <message>`",
|
||||
noActiveRun: "ไม่มีการทำงานที่ใช้งานอยู่ ใช้ช่องแชทหรือ `/redirect` แทน",
|
||||
succeeded: "Steer แล้ว",
|
||||
requestFailed: "ไม่สามารถ steer: {error}",
|
||||
},
|
||||
redirect: {
|
||||
timeout: "การทำงานที่ใช้งานอยู่สิ้นสุดลงก่อนที่ข้อความ redirect จะได้รับการยอมรับ",
|
||||
failed: "Redirect ล้มเหลวก่อนที่จะไปถึงการทำงาน ลองอีกครั้ง",
|
||||
usage: "การใช้งาน: `/redirect <message>`",
|
||||
succeeded: "Redirect แล้ว",
|
||||
requestFailed: "ไม่สามารถ redirect: {error}",
|
||||
},
|
||||
},
|
||||
sessionSharing: {
|
||||
menu: "การแชร์เธรด",
|
||||
current: "การมองเห็นเธรด: {visibility}",
|
||||
@@ -4093,10 +4567,17 @@ export const th: TranslationMap = {
|
||||
dismissUpdateBanner: "ปิดแบนเนอร์อัปเดต",
|
||||
switchedSession: "สลับไปยัง {session} แล้ว",
|
||||
actions: {
|
||||
copyAsMarkdown: "คัดลอกเป็น markdown",
|
||||
dismissError: "ปิดข้อผิดพลาด",
|
||||
exitFocusMode: "ออกจากโหมดโฟกัส",
|
||||
scrollToLatest: "เลื่อนไปยังรายการล่าสุด",
|
||||
},
|
||||
markdown: {
|
||||
truncated: "… ถูกตัดทอน ({total} อักขระ แสดง {shown} ตัวแรก)",
|
||||
},
|
||||
codeBlock: {
|
||||
jsonLines: "JSON · {count} บรรทัด",
|
||||
},
|
||||
workspaceConflict: {
|
||||
titleOne: "ข้อขัดแย้งของ workspace บนคลาวด์ 1 รายการ",
|
||||
titleMany: "ข้อขัดแย้งของ workspace บนคลาวด์ {count} รายการ",
|
||||
@@ -4190,6 +4671,7 @@ export const th: TranslationMap = {
|
||||
threads: "เธรด",
|
||||
groups: "กลุ่ม",
|
||||
coding: "การเขียนโค้ด",
|
||||
noSessionsForAgent: "ไม่พบเซสชันสำหรับ agent นี้",
|
||||
catalogViewOptions: "ตัวเลือกการแสดงผล",
|
||||
catalogGroupByProject: "โปรเจ็กต์",
|
||||
catalogGroupByPerson: "บุคคล",
|
||||
@@ -4201,6 +4683,7 @@ export const th: TranslationMap = {
|
||||
sessionMenu: "Actions for {session}",
|
||||
sessionMenuMany: "การดำเนินการสำหรับเซสชัน {count} รายการ",
|
||||
toolActivity: "กำลังใช้ {tool}",
|
||||
catalogDiscoveryHelp: "{error} กำหนดค่าการค้นพบเธรดแบบเนทีฟใน Settings > Automation > Plugins",
|
||||
},
|
||||
welcome: {
|
||||
hintBeforeShortcut: "Type a message below ·",
|
||||
@@ -4234,12 +4717,23 @@ export const th: TranslationMap = {
|
||||
steered: "กำหนดทิศทางแล้ว",
|
||||
steerQueuedMessage: "กำหนดทิศทางข้อความในคิว",
|
||||
removeQueuedMessage: "ลบข้อความในคิว",
|
||||
states: {
|
||||
steering: "กำลังบังคับทิศทาง",
|
||||
applyingSettings: "กำลังใช้การตั้งค่าแชท",
|
||||
waitingForRun: "กำลังรอการทำงานปัจจุบัน",
|
||||
runningCommand: "กำลังรันคำสั่ง",
|
||||
waitingForReconnect: "กำลังรอการเชื่อมต่อใหม่",
|
||||
needsReview: "ต้องตรวจสอบ",
|
||||
},
|
||||
imageCount: "รูปภาพ ({count})",
|
||||
},
|
||||
goals: {
|
||||
edit: "แก้ไขเป้าหมาย",
|
||||
pause: "หยุดเป้าหมายชั่วคราว",
|
||||
resume: "ดำเนินเป้าหมายต่อ",
|
||||
clear: "ล้างเป้าหมาย",
|
||||
showDetails: "แสดงรายละเอียดเป้าหมาย",
|
||||
hideDetails: "ซ่อนรายละเอียดเป้าหมาย",
|
||||
},
|
||||
questions: {
|
||||
title: "Codex ต้องการข้อมูลเพิ่มเติม",
|
||||
@@ -4265,6 +4759,7 @@ export const th: TranslationMap = {
|
||||
unavailable: "ไม่พร้อมใช้งาน",
|
||||
expired: "หมดอายุ",
|
||||
cancelled: "ยกเลิกแล้ว",
|
||||
disconnected: "ไม่ได้เชื่อมต่อ ลองอีกครั้งหลังจากเชื่อมต่อใหม่",
|
||||
},
|
||||
imageLightbox: {
|
||||
label: "ตัวอย่างรูปภาพ: {title}",
|
||||
@@ -4285,6 +4780,12 @@ export const th: TranslationMap = {
|
||||
reply: "ตอบกลับ",
|
||||
replyToMessage: "ตอบกลับข้อความ",
|
||||
replyingTo: "กำลังตอบกลับ {name}",
|
||||
message: "ข้อความ",
|
||||
currentMessage: "ข้อความปัจจุบัน",
|
||||
actions: "การดำเนินการกับข้อความ",
|
||||
selectionActions: "การดำเนินการกับส่วนที่เลือก",
|
||||
moreDetails: "รายละเอียดเพิ่มเติม",
|
||||
askInSideChat: "ถามในแชทด้านข้าง",
|
||||
rewind: "ย้อนกลับ",
|
||||
rewindConfirm: "ย้อนกลับไปก่อนข้อความนี้หรือไม่",
|
||||
rewindToHere: "ย้อนกลับมาที่จุดนี้",
|
||||
@@ -4294,14 +4795,34 @@ export const th: TranslationMap = {
|
||||
showMore: "แสดงเพิ่มเติม",
|
||||
unknownDate: "ไม่ทราบวันที่",
|
||||
voiceNote: "ข้อความเสียง",
|
||||
duplicatesCollapsed: "ยุบข้อความที่เหมือนกันติดต่อกัน {count} ข้อความ",
|
||||
contextFor: "บริบทข้อความสำหรับ {timestamp}",
|
||||
},
|
||||
mediaPlayer: {
|
||||
play: "เล่น",
|
||||
pause: "หยุดชั่วคราว",
|
||||
seek: "เลื่อนหาสื่อ",
|
||||
download: "ดาวน์โหลด {filename}",
|
||||
videoUnavailable: "ไม่สามารถเล่นรูปแบบนี้ได้ — ดาวน์โหลดแทน",
|
||||
},
|
||||
modelControls: {
|
||||
current: "ปัจจุบัน",
|
||||
default: "ค่าเริ่มต้น",
|
||||
reasoning: "การให้เหตุผล",
|
||||
speed: "ความเร็ว",
|
||||
sessionOverride: "การแทนที่เธรด",
|
||||
useDefault: "ใช้ค่าเริ่มต้น",
|
||||
usingDefault: "ใช้ค่าเริ่มต้นจากการตั้งค่า",
|
||||
resetToDefault: "รีเซ็ตเป็นค่าเริ่มต้น ({model})",
|
||||
defaultWithModel: "ค่าเริ่มต้น ({model})",
|
||||
defaultWithLevel: "ค่าเริ่มต้น ({level})",
|
||||
fastHelp: "การตอบสนองแบบเร็วจะเสร็จเร็วกว่าและอาจใช้ขีดจำกัดการใช้งานของคุณมากขึ้น",
|
||||
speedUnsupported: "ไม่รองรับการควบคุมความเร็วสำหรับโมเดลนี้",
|
||||
contextWindow: "บริบท {count}",
|
||||
providerModels: "โมเดล {provider}",
|
||||
resetReasoning: "รีเซ็ตเป็นค่าเริ่มต้น ({level})",
|
||||
useDefaultReasoning: "ใช้การให้เหตุผลเริ่มต้น ({level})",
|
||||
fastResponsesAria: "การตอบสนองแบบเร็ว: {state}",
|
||||
},
|
||||
rail: {
|
||||
title: "ตัวช่วยเซสชัน",
|
||||
@@ -4371,6 +4892,21 @@ export const th: TranslationMap = {
|
||||
renderedMarkdownHint: "ตัวอย่างข้อความแบบ Rich Text ที่ผ่านการกรองเพื่อการอ่านอย่างรวดเร็ว",
|
||||
noPreviewableMarkdown: "ไม่มีเนื้อหา markdown ที่แสดงตัวอย่างได้",
|
||||
noContent: "ไม่มีเนื้อหา",
|
||||
fullContentOversized:
|
||||
"เนื้อหาแบบเต็มไม่พร้อมใช้งานเนื่องจากรายการทรานสคริปต์ที่จัดเก็บไว้มีขนาดใหญ่เกินกว่าจะส่งกลับได้อย่างปลอดภัย",
|
||||
fullContentNotVisible:
|
||||
"เนื้อหาแบบเต็มไม่พร้อมใช้งานเนื่องจากรายการทรานสคริปต์นี้ไม่มีการฉาย WebChat ที่มองเห็นได้",
|
||||
fullContentUnavailable: "เนื้อหาแบบเต็มไม่พร้อมใช้งานอีกต่อไปสำหรับรายการทรานสคริปต์นี้",
|
||||
copyContents: "คัดลอกเนื้อหาไฟล์",
|
||||
fileChanged: "ไฟล์มีการเปลี่ยนแปลงบนดิสก์ตั้งแต่ถูกโหลด",
|
||||
renderPreview: "แสดงตัวอย่าง",
|
||||
imagePreview: "ตัวอย่างรูปภาพ",
|
||||
file: "ไฟล์",
|
||||
markdownPreview: "ตัวอย่าง Markdown",
|
||||
toolDetails: "รายละเอียดเครื่องมือ",
|
||||
reloadFailed: "ไม่สามารถโหลดไฟล์ล่าสุดใหม่ได้",
|
||||
overwriteLoadFailed: "ไม่สามารถโหลดไฟล์ล่าสุดก่อนเขียนทับได้",
|
||||
fullContentLoadFailed: "ไม่สามารถโหลดเนื้อหาแบบเต็ม: {error}",
|
||||
},
|
||||
sidebarColumns: {
|
||||
chat: "แชท",
|
||||
@@ -4389,6 +4925,7 @@ export const th: TranslationMap = {
|
||||
unpin: "เลิกปักหมุด",
|
||||
loading: "กำลังโหลดแชท",
|
||||
noMatches: "ไม่พบข้อความที่ตรงกัน",
|
||||
pinnedCount: "ปักหมุดแล้ว {count} รายการ",
|
||||
},
|
||||
pairingQrExpired: {
|
||||
title: "QR การจับคู่หมดอายุ",
|
||||
@@ -4408,13 +4945,53 @@ export const th: TranslationMap = {
|
||||
runDone: "เสร็จสิ้น",
|
||||
runInterrupted: "ถูกขัดจังหวะ",
|
||||
runStatus: "สถานะการทำงาน: {status}",
|
||||
compactingContext: "กำลังบีบอัดบริบท...",
|
||||
compacting: "กำลังบีบอัด",
|
||||
compact: "บีบอัด",
|
||||
contextCompacted: "บีบอัดบริบทแล้ว",
|
||||
fallbackActive: "การสำรองทำงานอยู่: {model}",
|
||||
fallbackCleared: "ล้างการสำรองแล้ว: {model}",
|
||||
fallbackSelected: "เลือกแล้ว: {model}",
|
||||
fallbackCurrent: "ทำงานอยู่: {model}",
|
||||
fallbackPrevious: "การสำรองก่อนหน้า: {model}",
|
||||
fallbackReason: "เหตุผล: {reason}",
|
||||
fallbackAttempts: "จำนวนครั้งที่พยายาม: {attempts}",
|
||||
cancelReply: "ยกเลิกการตอบกลับ",
|
||||
attachmentPreview: "ตัวอย่างไฟล์แนบ",
|
||||
compactRecommendedContext: "บีบอัดบริบทเซสชันที่แนะนำ",
|
||||
removeAttachment: "ลบไฟล์แนบ",
|
||||
addAttachment: "เพิ่มไฟล์แนบ",
|
||||
attachPhoto: "รูปภาพ",
|
||||
attachFile: "Attach file",
|
||||
attachFileOption: "ไฟล์",
|
||||
menu: {
|
||||
back: "ย้อนกลับ",
|
||||
skills: "Skills",
|
||||
connectors: "ตัวเชื่อมต่อ",
|
||||
webSearch: "ค้นหาเว็บ",
|
||||
managePlugins: "จัดการปลั๊กอิน",
|
||||
manageSkills: "จัดการ Skills",
|
||||
browseConnectors: "เรียกดูตัวเชื่อมต่อ",
|
||||
addMcpServer: "เพิ่มเซิร์ฟเวอร์ MCP…",
|
||||
toolAccess: "การเข้าถึงเครื่องมือ",
|
||||
enabledCount: "เปิด {count}",
|
||||
loadingSkills: "กำลังโหลด Skills…",
|
||||
skillsLoadFailed: "ไม่สามารถโหลด Skills ได้",
|
||||
noSkills: "ไม่มี Skills ที่ใช้ได้",
|
||||
noConnectors: "ยังไม่ได้กำหนดค่าเซิร์ฟเวอร์ MCP",
|
||||
depsMissing: "ขาด deps",
|
||||
skillBlocked: "ไม่พร้อมใช้งานสำหรับเอเจนต์นี้",
|
||||
sessionTag: "เซสชัน",
|
||||
offlineBlocked: "เชื่อมต่อกับ Gateway เพื่อเปลี่ยนความสามารถของเซสชัน",
|
||||
readOnlyBlocked: "ต้องมีสิทธิ์เขียนเพื่อเปลี่ยนความสามารถของเซสชัน",
|
||||
adminBlocked: "ต้องมีสิทธิ์ผู้ดูแลระบบเพื่อจัดการตัวเชื่อมต่อ",
|
||||
savingBlocked: "รอให้การเปลี่ยนความสามารถของเซสชันปัจจุบันเสร็จสิ้น",
|
||||
},
|
||||
overrides: {
|
||||
count: "การแทนที่เซสชัน {count} รายการ",
|
||||
countOne: "{count} การแทนที่เซสชัน",
|
||||
clear: "ล้างการแทนที่เซสชัน",
|
||||
},
|
||||
contextUsage: {
|
||||
title: "รายละเอียดการใช้บริบท",
|
||||
open: "เปิดรายละเอียดการใช้บริบท",
|
||||
@@ -4482,6 +5059,17 @@ export const th: TranslationMap = {
|
||||
turnCameraOn: "เปิดกล้อง",
|
||||
voiceTranscript: "การถอดเสียง",
|
||||
},
|
||||
attachments: {
|
||||
attachedFile: "ไฟล์ที่แนบ",
|
||||
outsideAllowedFolders: "อยู่นอกโฟลเดอร์ที่อนุญาต",
|
||||
unavailable: "ไม่พร้อมใช้งาน",
|
||||
checking: "กำลังตรวจสอบ...",
|
||||
},
|
||||
voice: {
|
||||
asking: "กำลังถาม OpenClaw...",
|
||||
connecting: "กำลังเชื่อมต่อการป้อนข้อมูลด้วยเสียง...",
|
||||
listening: "กำลังฟัง...",
|
||||
},
|
||||
selectors: {
|
||||
session: "Chat session",
|
||||
sessionSearch: "ค้นหาเซสชัน",
|
||||
@@ -4682,6 +5270,7 @@ export const th: TranslationMap = {
|
||||
ru: "Русский (รัสเซีย)",
|
||||
},
|
||||
cron: {
|
||||
adminRequired: "เรียกดูได้เท่านั้น การเปลี่ยนแปลงระบบอัตโนมัติต้องใช้สิทธิ์ operator.admin",
|
||||
tabs: {
|
||||
filterLabel: "สถานะระบบอัตโนมัติ",
|
||||
all: "ทั้งหมด",
|
||||
|
||||
Generated
+644
-36
File diff suppressed because it is too large
Load Diff
Generated
+645
-35
File diff suppressed because it is too large
Load Diff
Generated
+641
-35
@@ -8,6 +8,7 @@ export const vi: TranslationMap = {
|
||||
ok: "OK",
|
||||
yes: "Có",
|
||||
no: "Không",
|
||||
assistant: "Trợ lý",
|
||||
active: "Đang hoạt động",
|
||||
loading: "Đang tải…",
|
||||
refreshing: "Đang làm mới…",
|
||||
@@ -35,8 +36,11 @@ export const vi: TranslationMap = {
|
||||
create: "Tạo",
|
||||
copy: "Sao chép",
|
||||
copied: "Đã sao chép!",
|
||||
copyFailed: "Sao chép thất bại",
|
||||
copyCode: "Sao chép mã",
|
||||
resizeSplitView: "Thay đổi kích thước chế độ xem chia đôi",
|
||||
delete: "Xóa",
|
||||
remove: "Xóa",
|
||||
dismiss: "Bỏ qua",
|
||||
unselect: "Bỏ chọn",
|
||||
enabled: "Đã bật",
|
||||
@@ -45,6 +49,9 @@ export const vi: TranslationMap = {
|
||||
none: "không có",
|
||||
na: "n/a",
|
||||
never: "không bao giờ",
|
||||
justNow: "vừa xong",
|
||||
now: "bây giờ",
|
||||
unknown: "Không xác định",
|
||||
configured: "Đã cấu hình",
|
||||
running: "Đang chạy",
|
||||
linked: "Đã liên kết",
|
||||
@@ -70,6 +77,7 @@ export const vi: TranslationMap = {
|
||||
settingsSections: "Các mục cài đặt",
|
||||
version: "Phiên bản",
|
||||
docs: "Tài liệu",
|
||||
learnMore: "Tìm hiểu thêm",
|
||||
theme: "Giao diện",
|
||||
colorMode: "Chế độ màu",
|
||||
colorModeOption: "Chế độ màu: {mode}",
|
||||
@@ -113,10 +121,24 @@ export const vi: TranslationMap = {
|
||||
filteredFileCount: "{count}/{total} tệp",
|
||||
noMatches: "Không có tệp nào khớp.",
|
||||
navigate: "điều hướng",
|
||||
kind: {
|
||||
text: "Văn bản",
|
||||
shell: "Shell",
|
||||
file: "Tệp",
|
||||
},
|
||||
},
|
||||
mcpApp: {
|
||||
title: "Ứng dụng MCP",
|
||||
unavailable: "Ứng dụng MCP không khả dụng: {error}",
|
||||
errors: {
|
||||
gatewayUnavailable: "Gateway MCP App không khả dụng",
|
||||
mountUnavailable: "Mount MCP App không khả dụng",
|
||||
sandboxTimedOut: "Sandbox MCP App đã hết thời gian chờ",
|
||||
sandboxUnavailable: "Sandbox MCP App không khả dụng",
|
||||
initializationTimedOut: "Khởi tạo MCP App đã hết thời gian chờ",
|
||||
requestFailed: "Yêu cầu thất bại",
|
||||
invalidSandboxUrl: "URL sandbox MCP App không hợp lệ",
|
||||
},
|
||||
},
|
||||
githubPreview: {
|
||||
loading: "Đang tải thông tin GitHub…",
|
||||
@@ -236,6 +258,7 @@ export const vi: TranslationMap = {
|
||||
"Trên điện thoại, hãy mở WhatsApp → Cài đặt → Thiết bị liên kết → Liên kết thiết bị, sau đó quét mã này.",
|
||||
whatsappQrLoading: "Đang tạo mã QR…",
|
||||
whatsappQrHint: "Nhấp vào Hiển thị mã QR để tạo mã ghép nối.",
|
||||
whatsappQrAlt: "Mã QR WhatsApp",
|
||||
whatsappLinked: "WhatsApp đã được liên kết và sẵn sàng.",
|
||||
regenerateQr: "Mã QR mới",
|
||||
linkLater: "Liên kết sau",
|
||||
@@ -325,6 +348,19 @@ export const vi: TranslationMap = {
|
||||
nip05: "you@example.com",
|
||||
lightningAddress: "you@getalby.com",
|
||||
},
|
||||
notices: {
|
||||
timeout:
|
||||
"Yêu cầu đã hết thời gian chờ sau 30 giây; máy chủ có thể vẫn đã áp dụng thay đổi — kiểm tra hồ sơ trước khi thử lại.",
|
||||
operationFailed: "{prefix}: {error}",
|
||||
updateFailed: "Cập nhật hồ sơ thất bại",
|
||||
updateFailedStatus: "Cập nhật hồ sơ thất bại ({status})",
|
||||
publishFailed: "Xuất bản hồ sơ thất bại trên tất cả relay.",
|
||||
published: "Đã xuất bản hồ sơ lên các relay.",
|
||||
importFailed: "Nhập hồ sơ thất bại",
|
||||
importFailedStatus: "Nhập hồ sơ thất bại ({status})",
|
||||
importedFromRelays: "Đã nhập hồ sơ từ các relay. Xem lại và xuất bản.",
|
||||
imported: "Đã nhập hồ sơ. Xem lại và xuất bản.",
|
||||
},
|
||||
},
|
||||
},
|
||||
lazyView: {
|
||||
@@ -336,6 +372,52 @@ export const vi: TranslationMap = {
|
||||
"OpenClaw đã được cập nhật trong nền. Hãy tải lại để xem bảng điều khiển mới nhất.",
|
||||
reloading: "Đang tải lại…",
|
||||
retry: "Thử lại",
|
||||
stylesFailed: "Không tải được styles, nên trang có thể hiển thị lỗi.",
|
||||
},
|
||||
updates: {
|
||||
refreshRequired: "Máy chủ đã cập nhật — làm mới để có đầy đủ tính năng",
|
||||
coalescedRestart:
|
||||
"Đã cài đặt bản cập nhật. Việc khởi động lại gateway đang tiến hành; trạng thái sẽ được làm mới sau khi kết nối lại.",
|
||||
error: "Lỗi cập nhật: {error}",
|
||||
status: "Cập nhật {status}: {reason}. {guidance}",
|
||||
verificationFailed:
|
||||
"Đã cài đặt bản cập nhật nhưng phiên bản đang chạy không thay đổi — việc khởi động lại có thể đã bị chặn.",
|
||||
verificationFailedWithVersions:
|
||||
"Đã cài đặt bản cập nhật nhưng phiên bản đang chạy không thay đổi — việc khởi động lại có thể đã bị chặn. Mong đợi v{expectedVersion}, đang chạy v{actualVersion}.",
|
||||
handoffTimeout:
|
||||
"Đã bắt đầu bàn giao cập nhật, nhưng không có báo cáo hoàn tất sau khi kết nối lại. Chạy `openclaw update status` để xem kết quả cuối cùng.",
|
||||
failureReasons: {
|
||||
dirty: "Commit hoặc stash các thay đổi, rồi thử lại.",
|
||||
noUpstream: "Đặt nhánh upstream, rồi thử lại.",
|
||||
notGitInstall:
|
||||
"Không phải bản git checkout. Chạy `openclaw update` từ CLI để cài lại toàn cục.",
|
||||
notOpenclawRoot:
|
||||
"Chạy cập nhật từ một bản OpenClaw checkout hoặc dùng đường dẫn cài lại toàn cục qua CLI.",
|
||||
depsInstallFailed: "Cài đặt phụ thuộc thất bại. Sửa lỗi cài đặt và thử lại.",
|
||||
buildFailed: "Build thất bại. Sửa lỗi build và thử lại.",
|
||||
buildDirty:
|
||||
"Bản sửa đổi đã chọn đã thay đổi các tệp checkout của bản build. Hãy thử lại với bản sửa đổi bao gồm cả các artifact được tạo ra của nó.",
|
||||
uiBuildFailed: "Việc rebuild control UI đã thất bại. Hãy sửa lỗi build UI và thử lại.",
|
||||
globalInstallFailed:
|
||||
"Bản cài đặt gói global không xác minh được trên đĩa. Hãy thử lại hoặc cài đặt lại từ CLI.",
|
||||
restartDisabled:
|
||||
"Bản cập nhật không được áp dụng vì việc khởi động lại gateway đang bị tắt. Hãy bật khởi động lại trong config, rồi thử lại.",
|
||||
restartUnavailable:
|
||||
"Bản cài đặt global này không thể được thay thế một cách an toàn khi việc khởi động lại đang bị tắt và không có supervisor nào hiện diện.",
|
||||
restartUnhealthy:
|
||||
"Tiến trình thay thế chưa bao giờ trở nên khỏe mạnh. Tiến trình trước đó vẫn tiếp tục chạy để bạn có thể khôi phục.",
|
||||
managedServiceHandoffAlreadyRunning:
|
||||
"Một bản cập nhật được quản lý khác đang chạy. Hãy chờ nó hoàn tất, rồi làm mới trạng thái cập nhật.",
|
||||
doctorFailed:
|
||||
"Sửa chữa Doctor thất bại. Hãy chạy `openclaw doctor --non-interactive` và thử lại.",
|
||||
default:
|
||||
"Xem log của gateway để biết lỗi chính xác và thử lại sau khi đã khắc phục nguyên nhân.",
|
||||
},
|
||||
postRestart: {
|
||||
restartUnhealthy:
|
||||
"Tiến trình thay thế chưa bao giờ trở nên khỏe mạnh và tiến trình trước đó vẫn tiếp tục chạy.",
|
||||
default: "Kiểm tra log của gateway để biết lỗi thay thế.",
|
||||
},
|
||||
},
|
||||
nodes: {
|
||||
pairing: {
|
||||
@@ -820,6 +902,10 @@ export const vi: TranslationMap = {
|
||||
},
|
||||
agents: {
|
||||
noAgents: "Không có agent",
|
||||
defaults: {
|
||||
title: "Giá trị mặc định của agent",
|
||||
description: "Giá trị mặc định mà mọi agent kế thừa trừ khi bị ghi đè.",
|
||||
},
|
||||
copyId: "Sao chép ID",
|
||||
copyIdTitle: "Sao chép ID agent vào bảng nhớ tạm",
|
||||
default: "Mặc định",
|
||||
@@ -1024,6 +1110,9 @@ export const vi: TranslationMap = {
|
||||
noEvents: "Chưa có sự kiện nào.",
|
||||
},
|
||||
configForm: {
|
||||
redactedPlaceholder: "[đã ẩn - nhấp vào hiển thị để xem]",
|
||||
sectionHelp: "Trợ giúp cho {section}",
|
||||
readGuide: "Đọc hướng dẫn",
|
||||
showAdvanced: "Hiện tùy chọn nâng cao",
|
||||
advancedHidden: "Đã ẩn {count} cài đặt nâng cao",
|
||||
advancedHiddenPlural: "Đã ẩn {count} cài đặt nâng cao",
|
||||
@@ -1211,9 +1300,12 @@ export const vi: TranslationMap = {
|
||||
lobsterdexSeen: "Đã ghé thăm {seen}/{total}",
|
||||
lobsterdexFirstVisited: "{name} · truy cập lần đầu {date}",
|
||||
lobsterdexCardFirstVisited: "Truy cập lần đầu {date}",
|
||||
lobsterdexCardShinySeen: "✦ Phát hiện Shiny {date}",
|
||||
lobsterdexCardCopyLink: "Sao chép liên kết",
|
||||
lobsterdexOpen: "Mở Lobsterdex",
|
||||
},
|
||||
security: {
|
||||
intro: "Xem lại quyền truy cập gateway, chính sách công cụ, xác thực thiết bị và phê duyệt.",
|
||||
title: "Bảo mật",
|
||||
gatewayAuth: "Xác thực Gateway",
|
||||
execPolicy: "Chính sách thực thi",
|
||||
@@ -1381,6 +1473,7 @@ export const vi: TranslationMap = {
|
||||
"Thông báo đã bị tắt cho OpenClaw trong macOS. Cho phép chúng trong System Settings > Notifications.",
|
||||
},
|
||||
appearance: {
|
||||
intro: "Tùy chọn giao diện, trò chuyện và thanh bên cho ứng dụng Control UI này.",
|
||||
theme: "Giao diện",
|
||||
chooseTheme: "Chọn một nhóm giao diện.",
|
||||
importedTheme: "Giao diện đã nhập",
|
||||
@@ -1452,11 +1545,11 @@ export const vi: TranslationMap = {
|
||||
open: "Mở",
|
||||
applying: "Đang áp dụng…",
|
||||
autoSaveSaving: "Đang lưu…",
|
||||
autoSaveSaved: "Đã lưu",
|
||||
autoSaveFailed: "Lưu thất bại",
|
||||
autoSaveConflict: "Cài đặt đã được thay đổi ở nơi khác",
|
||||
retry: "Thử lại",
|
||||
applyBannerText: "Đã lưu vào openclaw.json — khởi động lại gateway để áp dụng.",
|
||||
applyBannerAction: "Khởi động lại & áp dụng",
|
||||
applyChanges: "Áp dụng thay đổi",
|
||||
rawDiscard: "Loại bỏ",
|
||||
rawDraftBlocksApply:
|
||||
"Có thay đổi cấu hình thô chưa lưu — hãy lưu hoặc hủy chúng trong trình chỉnh sửa Raw trước khi khởi động lại.",
|
||||
@@ -1704,7 +1797,6 @@ export const vi: TranslationMap = {
|
||||
forward: "Tiến",
|
||||
chat: "Trò chuyện",
|
||||
settings: "Cài đặt",
|
||||
settingsGeneral: "Chung",
|
||||
askOpenClaw: "Hỏi OpenClaw",
|
||||
settingsGroupConnections: "Kết nối",
|
||||
settingsGroupAgents: "Tác nhân & Công cụ",
|
||||
@@ -1760,6 +1852,10 @@ export const vi: TranslationMap = {
|
||||
dockBottom: "Dock to bottom",
|
||||
dockRight: "Dock to right",
|
||||
unavailable: "The terminal is not available on this gateway.",
|
||||
uploadTooLarge: "Tệp vượt quá giới hạn tải lên terminal 16 MiB: {file}",
|
||||
uploadUnsafeCmdPath: "Không thể chèn an toàn đường dẫn đã tải lên chứa % hoặc ! vào cmd.exe",
|
||||
uploadUnsupportedShell:
|
||||
"Không thể chèn an toàn đường dẫn đã tải lên vào shell không được hỗ trợ: {shell}",
|
||||
},
|
||||
browser: {
|
||||
title: "Trình duyệt",
|
||||
@@ -1796,6 +1892,15 @@ export const vi: TranslationMap = {
|
||||
noChatTarget: "Trước tiên hãy mở một phiên trò chuyện để chú thích có nơi được gửi đến.",
|
||||
inspectUnavailable: "Tính năng kiểm tra phần tử đã bị tắt (browser.evaluateEnabled=false).",
|
||||
annotationSent: "Đã thêm chú thích vào trình soạn tin nhắn.",
|
||||
errors: {
|
||||
requestFailed: "Yêu cầu trình duyệt thất bại: {error}",
|
||||
screenshotPathMissing: "Ảnh chụp màn hình trình duyệt không trả về đường dẫn media.",
|
||||
screenshotFetchTimedOut: "Hết thời gian chờ tải ảnh chụp màn hình.",
|
||||
screenshotFetchFailed: "Tải ảnh chụp màn hình thất bại ({status}).",
|
||||
screenshotReadFailed: "Đọc ảnh chụp màn hình thất bại.",
|
||||
screenshotDecodeFailed: "Giải mã ảnh chụp màn hình thất bại.",
|
||||
canvasUnavailable: "Không có ngữ cảnh Canvas 2D.",
|
||||
},
|
||||
annotatePrompt: {
|
||||
introTitled:
|
||||
'Tôi đã chú thích trang tại {url} (tiêu đề do trang báo cáo: "{title}") — ảnh chụp màn hình đính kèm hiển thị phần đánh dấu của tôi.',
|
||||
@@ -1843,6 +1948,7 @@ export const vi: TranslationMap = {
|
||||
automation: "Tự động hóa",
|
||||
mcp: "MCP",
|
||||
memory: "Bộ nhớ",
|
||||
talk: "Talk",
|
||||
infrastructure: "Hạ tầng",
|
||||
labs: "Labs",
|
||||
about: "Giới thiệu",
|
||||
@@ -1883,6 +1989,7 @@ export const vi: TranslationMap = {
|
||||
automation: "Lệnh, hook, cron và plugin.",
|
||||
mcp: "Máy chủ MCP, xác thực, công cụ và chẩn đoán.",
|
||||
memory: "Engine bộ nhớ, backend, tìm kiếm và dreaming.",
|
||||
talk: "Giọng nói thời gian thực: nhà cung cấp, mô hình và giọng người nói.",
|
||||
infrastructure: "Cài đặt Gateway, web, trình duyệt và phương tiện.",
|
||||
labs: "Khả năng thử nghiệm của agent và công cụ.",
|
||||
about: "Control UI và Gateway đã kết nối tạo danh tính bản dựng.",
|
||||
@@ -1901,6 +2008,16 @@ export const vi: TranslationMap = {
|
||||
heading: "Kết nối AI của bạn",
|
||||
intro:
|
||||
"OpenClaw sử dụng lại quyền truy cập AI mà bạn đã có — thông tin đăng nhập CLI, khóa API hoặc thông tin đăng nhập nhà cung cấp.",
|
||||
required: {
|
||||
title: "Chưa cấu hình nhà cung cấp AI",
|
||||
body: "OpenClaw không tìm thấy nhà cung cấp và mô hình được cấu hình cho tác nhân này. Hãy thêm một cái trước khi bắt đầu cuộc trò chuyện.",
|
||||
action: "Cấu hình nhà cung cấp",
|
||||
},
|
||||
connectionFailure: {
|
||||
title: "OpenClaw không thể sử dụng AI đã cấu hình của bạn",
|
||||
body: "Tác nhân này đã chọn nhà cung cấp và mô hình, nhưng kết nối thất bại. Hãy kiểm tra đăng nhập nhà cung cấp hoặc khóa API, quyền truy cập mô hình và trạng thái dịch vụ, rồi thử lại.",
|
||||
action: "Kiểm tra cài đặt nhà cung cấp",
|
||||
},
|
||||
loading: "Đang kiểm tra quyền truy cập AI khả dụng trên Gateway này…",
|
||||
retry: "Thử lại",
|
||||
checkAgain: "Kiểm tra lại",
|
||||
@@ -1932,6 +2049,8 @@ export const vi: TranslationMap = {
|
||||
},
|
||||
unavailable: {
|
||||
title: "Đã phát hiện nhưng chưa được tự động kiểm tra",
|
||||
signIn: "Đăng nhập bằng {provider}",
|
||||
useApiKey: "Dùng API key",
|
||||
},
|
||||
signIn: {
|
||||
title: "Đăng nhập bằng nhà cung cấp",
|
||||
@@ -2038,6 +2157,39 @@ export const vi: TranslationMap = {
|
||||
replaceExisting: "Thay thế các mục đã nhập hiện có",
|
||||
replaceHint:
|
||||
"Xem trước lại các xung đột và giữ lại bản sao lưu của từng mục trước khi thay thế.",
|
||||
backfill: {
|
||||
title: "Từ các phiên trước",
|
||||
subtitle:
|
||||
"Tập hợp các ký ức đáng tin cậy từ các phiên agent trước. Quá trình dreaming đưa những ký ức hữu ích vào bộ nhớ dài hạn.",
|
||||
dateRange: "Khoảng ngày của phiên",
|
||||
dateRangeHint: "Để trống một trong hai ngày để quét toàn bộ khoảng có sẵn.",
|
||||
from: "Từ",
|
||||
to: "Đến",
|
||||
actions: "Backfill",
|
||||
preview: "Xem trước",
|
||||
previewing: "Đang xem trước…",
|
||||
apply: "Áp dụng",
|
||||
applying: "Đang áp dụng…",
|
||||
rollback: "Hoàn tác",
|
||||
previewSummary: "{candidates} ứng viên trong {days} ngày",
|
||||
previewTruncated:
|
||||
"Bản xem trước này hiển thị lô giới hạn đầu tiên. Áp dụng sẽ tiếp tục với các ứng viên còn lại.",
|
||||
candidateCount: "{count} ứng viên",
|
||||
noCandidates: "Không tìm thấy ứng viên phiên đáng tin cậy mới nào.",
|
||||
progress: "Đã xử lý {days} ngày · {staged} đã tập hợp",
|
||||
processedCandidates: "Đã xử lý {count} ứng viên phiên",
|
||||
processedDayCountOne: "Đã xử lý {count} ngày",
|
||||
processedDayCount: "Đã xử lý {count} ngày",
|
||||
complete: "Đã tập hợp {count}; việc đưa vào bộ nhớ diễn ra qua dreaming",
|
||||
rollbackConfirmTitle: "Khôi phục việc nạp bổ sung phiên?",
|
||||
rollbackConfirmDescription:
|
||||
"Xóa các mục nhật ký và bộ nhớ đã dàn dựng được tạo bởi việc nạp bổ sung phiên cho tác nhân này.",
|
||||
rollbackWarning:
|
||||
"Các con trỏ phiên được theo dõi vẫn giữ nguyên vị trí, vì vậy các mục đã xóa sẽ không được dàn dựng lại.",
|
||||
rollbackComplete: "Đã khôi phục việc nạp bổ sung phiên",
|
||||
rollbackCounts: "Đã xóa {diary} mục nhật ký và {staged} mục đã dàn dựng",
|
||||
unavailable: "Việc nạp bổ sung phiên không khả dụng trên Gateway này.",
|
||||
},
|
||||
},
|
||||
onboarding: {
|
||||
memoryImport: {
|
||||
@@ -2079,6 +2231,14 @@ export const vi: TranslationMap = {
|
||||
sessionRestarted:
|
||||
"{error} OpenClaw đã bắt đầu một phiên mới; các tin nhắn trước đó vẫn được giữ lại làm ngữ cảnh.",
|
||||
unsupportedGateway: "Cập nhật Gateway để tiếp tục thiết lập với OpenClaw.",
|
||||
panel: {
|
||||
title: "OpenClaw",
|
||||
toggle: "Hỏi OpenClaw",
|
||||
close: "Đóng Ask OpenClaw",
|
||||
resize: "Đổi kích thước Ask OpenClaw",
|
||||
dockBottom: "Ghim Ask OpenClaw ở dưới cùng",
|
||||
dockRight: "Ghim Ask OpenClaw ở bên phải",
|
||||
},
|
||||
history: {
|
||||
button: "Lịch sử",
|
||||
title: "Thay đổi gần đây",
|
||||
@@ -2138,12 +2298,14 @@ export const vi: TranslationMap = {
|
||||
working: "Đang làm việc…",
|
||||
},
|
||||
mcpPage: {
|
||||
intro: "Kết nối và quản lý các máy chủ MCP cung cấp công cụ cho OpenClaw.",
|
||||
connectorsLink: "Khám phá các trình kết nối một-cú-nhấp trên trang Plugins.",
|
||||
servers: "Máy chủ",
|
||||
oauth: "OAuth",
|
||||
filtered: "Đã lọc",
|
||||
configuredServers: "Máy chủ đã cấu hình",
|
||||
noServers: "Chưa cấu hình máy chủ MCP nào.",
|
||||
setUpFirstServer: "Thiết lập máy chủ MCP đầu tiên của bạn",
|
||||
operatorCommands: "Lệnh vận hành MCP",
|
||||
operatorCommandsHint: "Trạng thái, chẩn đoán, xác thực, dò tìm và tải lại runtime.",
|
||||
runtimeHint:
|
||||
@@ -2153,12 +2315,135 @@ export const vi: TranslationMap = {
|
||||
tlsVerifyOff: "TLS verify tắt",
|
||||
mtls: "mTLS",
|
||||
},
|
||||
talkPage: {
|
||||
intro: "Cấu hình các nhà cung cấp giọng nói thời gian thực, mô hình và giọng của người nói.",
|
||||
voiceSection: {
|
||||
title: "Giọng nói thời gian thực",
|
||||
description:
|
||||
"Cuộc trò chuyện bằng giọng nói liên tục với tác nhân của bạn. Các bộ chọn bên dưới ghi cài đặt talk.realtime; biểu mẫu đầy đủ bên dưới bao quát mọi thứ khác.",
|
||||
},
|
||||
status: {
|
||||
title: "Trạng thái",
|
||||
ready: "Sẵn sàng",
|
||||
notReady: "Chưa cấu hình",
|
||||
unavailable: "Không khả dụng",
|
||||
unavailableHint:
|
||||
"Kết nối với Gateway để kiểm tra tình trạng sẵn sàng của giọng nói thời gian thực.",
|
||||
activeProvider: "Nhà cung cấp đang hoạt động: {provider}",
|
||||
noProvider: "Chưa có nhà cung cấp giọng nói thời gian thực nào được cấu hình.",
|
||||
},
|
||||
provider: {
|
||||
title: "Nhà cung cấp",
|
||||
description: "Tự động chọn nhà cung cấp đầu tiên có thông tin xác thực hoạt động.",
|
||||
auto: "Tự động",
|
||||
},
|
||||
model: {
|
||||
title: "Mô hình",
|
||||
description: "Mô hình giọng nói thời gian thực cho các phiên Talk trên trình duyệt.",
|
||||
default: "Mặc định của nhà cung cấp",
|
||||
defaultNamed: "Mặc định ({model})",
|
||||
},
|
||||
voice: {
|
||||
title: "Giọng nói loa",
|
||||
description:
|
||||
"Giọng nói dùng cho câu trả lời bằng lời. GPT-Live khóa giọng nói khi cuộc gọi bắt đầu.",
|
||||
default: "Mặc định của nhà cung cấp",
|
||||
},
|
||||
gptLive: {
|
||||
title: "GPT-Live",
|
||||
hint: "GPT-Live hoạt động với gói đăng ký ChatGPT: đăng nhập một lần bằng “openclaw models auth login --provider openai”. Không cần khóa Platform API. Chỉ dành cho Talk trên trình duyệt. Công việc được ủy quyền có thể được điều khiển khi đang chạy và yêu cầu xác nhận bằng lời chính xác cho các hành động có tác động lớn.",
|
||||
ready: "Sẵn sàng",
|
||||
},
|
||||
},
|
||||
memoryPage: {
|
||||
intro: "Chọn cách OpenClaw lưu trữ, tìm kiếm và duy trì bộ nhớ tác nhân.",
|
||||
tablistLabel: "Các phần bộ nhớ",
|
||||
tabs: {
|
||||
overview: "Tổng quan",
|
||||
search: "Tìm kiếm",
|
||||
dreaming: "Dreaming",
|
||||
memories: "Bộ nhớ",
|
||||
dreams: "Giấc mơ",
|
||||
settings: "Cài đặt",
|
||||
},
|
||||
overview: {
|
||||
hero: {
|
||||
awake: "Bộ nhớ đang hoạt động",
|
||||
waking: "Đang đánh thức bộ nhớ…",
|
||||
hibernating: "Bộ nhớ đang ngủ đông",
|
||||
needsAttention: "Bộ nhớ cần được chú ý",
|
||||
activeDescription: "{engine} · {mode}",
|
||||
loadingDescription: "Đang kiểm tra công cụ bộ nhớ và chu kỳ mơ của tác nhân này.",
|
||||
offDescription: "Chọn một công cụ bộ nhớ trong Cài đặt để đánh thức nó.",
|
||||
disabledDescription: "Công cụ bộ nhớ đã chọn bị tắt. Bật lại trong Cài đặt.",
|
||||
gatewayOffline: "Gateway đang ngoại tuyến, vì vậy trạng thái bộ nhớ không khả dụng.",
|
||||
hybridSearch: "tìm kiếm kết hợp",
|
||||
keywordSearch: "tìm kiếm từ khóa (không dùng embeddings)",
|
||||
openSettings: "Mở Cài đặt",
|
||||
retry: "Thử lại",
|
||||
refresh: "Làm mới trạng thái",
|
||||
},
|
||||
schedule: {
|
||||
title: "Lịch ngủ",
|
||||
lightDescription:
|
||||
"Sắp xếp các ghi chú ngắn hạn mới và chuẩn bị các ứng viên tiềm năng mà không thay đổi bộ nhớ dài hạn.",
|
||||
remDescription:
|
||||
"Suy ngẫm về các chủ đề và ý tưởng lặp lại trong hoạt động gần đây để củng cố xếp hạng mà không thay đổi bộ nhớ dài hạn.",
|
||||
deepDescription:
|
||||
"Chấm điểm các ứng viên đã chuẩn bị, đưa những mục đáng giữ vào bộ nhớ dài hạn (MEMORY.md) và ghi nhật ký mơ.",
|
||||
nextRun: "tiếp theo {time}",
|
||||
lastRun: "lần cuối {time}",
|
||||
notScheduled: "Chưa lên lịch",
|
||||
learnMore: "Cách hoạt động của giấc mơ",
|
||||
openDocs: "Mở hướng dẫn về giấc mơ",
|
||||
},
|
||||
activity: {
|
||||
title: "Hoạt động",
|
||||
promotedToday: "Được đề cao hôm nay",
|
||||
promotedTotal: "Tổng số được đề cao",
|
||||
shortTermCount: "Mục ngắn hạn đang chờ",
|
||||
phaseHitCount: "Tín hiệu giai đoạn",
|
||||
lightPhaseHitCount: "Lượt giai đoạn nhẹ",
|
||||
remPhaseHitCount: "Lượt giai đoạn REM",
|
||||
},
|
||||
health: {
|
||||
title: "Tình trạng engine",
|
||||
provider: "Nhà cung cấp",
|
||||
embeddings: "Embeddings",
|
||||
runtime: "Runtime của embedding",
|
||||
healthy: "Sẵn sàng",
|
||||
unavailable: "Không khả dụng",
|
||||
notChecked: "Chưa kiểm tra",
|
||||
notCheckedDescription: "Mức độ sẵn sàng của embedding chưa được kiểm tra.",
|
||||
checking: "Đang kiểm tra…",
|
||||
test: "Kiểm tra",
|
||||
testing: "Đang kiểm tra…",
|
||||
},
|
||||
shortcuts: {
|
||||
title: "Khám phá bộ nhớ",
|
||||
memories: "Tìm kiếm ký ức",
|
||||
diary: "Đọc nhật ký giấc mơ",
|
||||
settings: "Cấu hình bộ nhớ",
|
||||
},
|
||||
},
|
||||
memories: {
|
||||
searchLabel: "Tìm kiếm ký ức",
|
||||
searchPlaceholder: "Tìm kiếm ký ức của agent này",
|
||||
searchButton: "Tìm kiếm",
|
||||
idle: "Tìm kiếm một người, dự án, quyết định hoặc bất kỳ điều gì khác mà agent này ghi nhớ.",
|
||||
searching: "Đang tìm kiếm ký ức…",
|
||||
results: "{count} kết quả",
|
||||
empty: "Không có ký ức nào khớp với “{query}”.",
|
||||
error: "Tìm kiếm ký ức thất bại: {message}",
|
||||
retry: "Thử lại",
|
||||
gatewayUpdateRequired: "Cập nhật Gateway để tìm kiếm ký ức từ Control UI.",
|
||||
hybridSearch: "tìm kiếm kết hợp",
|
||||
keywordSearch: "tìm kiếm từ khóa",
|
||||
lineRange: "dòng {start}–{end}",
|
||||
score: "điểm {score}",
|
||||
sourceMemory: "bộ nhớ",
|
||||
sourceSessions: "phiên",
|
||||
fileLoading: "Đang tải toàn bộ tệp bộ nhớ…",
|
||||
fileError: "Không thể tải tệp bộ nhớ này: {message}",
|
||||
fileUnsupported: "Tệp bộ nhớ này không thể hiển thị dưới dạng văn bản.",
|
||||
},
|
||||
engine: {
|
||||
title: "Engine",
|
||||
@@ -2196,6 +2481,8 @@ export const vi: TranslationMap = {
|
||||
memoryWiki: {
|
||||
title: "Wiki bộ nhớ",
|
||||
},
|
||||
toggleAriaLabel: "Bật hoặc tắt {plugin}",
|
||||
changeFailed: "Không thể cập nhật {plugin}",
|
||||
stateUnknown: "Không xác định",
|
||||
manage: "Bật hoặc tắt tiện ích bổ sung",
|
||||
manageLink: "Mở Plugins",
|
||||
@@ -2575,36 +2862,8 @@ export const vi: TranslationMap = {
|
||||
},
|
||||
profilePage: {
|
||||
offline: "Kết nối với gateway để gặp agent của bạn.",
|
||||
loading: "Đang lặn tìm thống kê…",
|
||||
emptyTitle: "Một chiếc vỏ mới",
|
||||
emptyBody:
|
||||
"Chưa có hoạt động token nào. Hãy gửi cho agent của bạn một tin nhắn và xem rạn san hô sáng lên.",
|
||||
sinceChip: "Trong rạn san hô từ {date}",
|
||||
channelChipTitle: "{tokens} token trên kênh này",
|
||||
statLifetimeTokens: "Token trọn đời",
|
||||
statPeakDay: "Ngày cao điểm",
|
||||
statLongestSession: "Phiên dài nhất",
|
||||
statCurrentStreak: "Chuỗi hiện tại",
|
||||
statLongestStreak: "Chuỗi dài nhất",
|
||||
streakDay: "{count} ngày",
|
||||
streakDays: "{count} ngày",
|
||||
heatmapTitle: "Hoạt động token",
|
||||
heatmapSub: "Một năm trong rạn san hô — đỏ càng đậm, càng nhiều càng cua bận rộn.",
|
||||
heatmapCellTokens: "{tokens} token",
|
||||
legendLess: "Ít hơn",
|
||||
legendMore: "Nhiều hơn",
|
||||
insightsTitle: "Thông tin chuyên sâu về hoạt động",
|
||||
insightModel: "Mô hình được dùng nhiều nhất",
|
||||
insightMessages: "Tin nhắn đã trao đổi",
|
||||
insightToolCalls: "Lượt gọi công cụ",
|
||||
insightUniqueTools: "Công cụ riêng biệt",
|
||||
insightAgents: "Tác tử trong rạn san hô",
|
||||
insightSessions: "Phiên đã theo dõi",
|
||||
sessionsCapped: "{count}+",
|
||||
toolsTitle: "Công cụ được dùng nhiều nhất",
|
||||
toolsEmpty: "Chưa ghi nhận lượt chạy công cụ nào.",
|
||||
toolRun: "{count} lượt chạy",
|
||||
toolRuns: "{count} lượt chạy",
|
||||
usageStatistics: "Thống kê sử dụng",
|
||||
usageStatisticsDescription: "Xem hoạt động, chi phí và xu hướng sử dụng.",
|
||||
identity: {
|
||||
title: "Danh tính",
|
||||
menuLabel: "Menu danh tính",
|
||||
@@ -2703,6 +2962,9 @@ export const vi: TranslationMap = {
|
||||
next: "Tiếp",
|
||||
apply: "Áp dụng",
|
||||
applying: "Đang áp dụng…",
|
||||
evaluate: "Đánh giá",
|
||||
evaluating: "Đang đánh giá…",
|
||||
evaluated: "Đã đánh giá",
|
||||
revise: "Chỉnh sửa",
|
||||
tweak: "Tinh chỉnh",
|
||||
opening: "Đang mở…",
|
||||
@@ -2710,6 +2972,11 @@ export const vi: TranslationMap = {
|
||||
rejecting: "Đang từ chối…",
|
||||
sending: "Đang gửi…",
|
||||
},
|
||||
notices: {
|
||||
applied: "Đã áp dụng",
|
||||
rejected: "Đã từ chối",
|
||||
revisionRequested: "Đã yêu cầu chỉnh sửa",
|
||||
},
|
||||
revision: {
|
||||
title: "{verb} đề xuất",
|
||||
description:
|
||||
@@ -2736,6 +3003,35 @@ export const vi: TranslationMap = {
|
||||
supportFilesTitle: "Tệp hỗ trợ",
|
||||
clickToPreview: "· nhấp để xem trước",
|
||||
},
|
||||
evaluation: {
|
||||
title: "Đánh giá",
|
||||
version: "Đề xuất {version}",
|
||||
completedAt: "Hoàn tất {time}",
|
||||
status: {
|
||||
completed: "Đã hoàn tất",
|
||||
skipped: "Đã bỏ qua",
|
||||
error: "Lỗi",
|
||||
},
|
||||
decision: {
|
||||
pass: "Đạt",
|
||||
revise: "Chỉnh sửa",
|
||||
block: "Chặn",
|
||||
},
|
||||
severity: {
|
||||
info: "Thông tin",
|
||||
warn: "Cảnh báo",
|
||||
critical: "Nghiêm trọng",
|
||||
},
|
||||
evaluatorVersion: "Trình đánh giá {version}",
|
||||
mode: "Chế độ {mode}",
|
||||
findings: "Phát hiện",
|
||||
metrics: "Số liệu",
|
||||
fileLine: "{file}:{line}",
|
||||
errors: {
|
||||
revisionHashUnavailable: "Không thể xác định bản sửa đổi đề xuất hiện tại.",
|
||||
revisionChanged: "Bản sửa đổi đề xuất đã thay đổi trong quá trình đánh giá.",
|
||||
},
|
||||
},
|
||||
empty: {
|
||||
searchTitle: "Không có đề xuất phù hợp",
|
||||
searchBody: "Xóa tìm kiếm hoặc thử một từ khóa khác.",
|
||||
@@ -2799,6 +3095,8 @@ export const vi: TranslationMap = {
|
||||
comeWithIt: "đi kèm với nó.",
|
||||
useIt: "Sử dụng",
|
||||
addToSkills: "Thêm vào Skills của bạn",
|
||||
evaluate: "Đánh giá",
|
||||
runChecks: "Chạy kiểm tra đề xuất",
|
||||
tweakIt: "Chỉnh sửa",
|
||||
askAgent: "Yêu cầu tác nhân thay đổi điều gì đó",
|
||||
skipping: "Đang bỏ qua…",
|
||||
@@ -3454,6 +3752,32 @@ export const vi: TranslationMap = {
|
||||
reload: "Tải lại",
|
||||
reloading: "Đang tải lại…",
|
||||
},
|
||||
actions: {
|
||||
dedupeRemovedOneAndKept: "Đã xóa {removed} mục dream trùng lặp và giữ lại {kept}.",
|
||||
dedupeRemovedManyAndKept: "Đã xóa {removed} mục dream trùng lặp và giữ lại {kept}.",
|
||||
dedupeRemovedOne: "Đã xóa {removed} mục dream trùng lặp.",
|
||||
dedupeRemovedMany: "Đã xóa {removed} mục dream trùng lặp.",
|
||||
repairArchivedThreadCorpus: "kho luồng đã lưu trữ",
|
||||
repairArchivedIngestionState: "trạng thái nạp dữ liệu đã lưu trữ",
|
||||
repairArchivedDreamDiary: "nhật ký giấc mơ đã lưu trữ",
|
||||
repairNoChanges: "Sửa chữa bộ nhớ đệm giấc mơ hoàn tất mà không có thay đổi nào.",
|
||||
repairCompleteWithArchive:
|
||||
"Sửa chữa bộ nhớ đệm giấc mơ hoàn tất: {actions}. Lưu trữ: {archiveDir}",
|
||||
repairComplete: "Sửa chữa bộ nhớ đệm giấc mơ hoàn tất: {actions}.",
|
||||
backfillComplete: "Đã bổ sung {count} mục nhật ký giấc mơ.",
|
||||
resetDiaryComplete: "Đã xóa {count} mục nhật ký giấc mơ được bổ sung.",
|
||||
clearReplayedComplete: "Đã xóa {count} mục ngắn hạn được phát lại.",
|
||||
complete: "Hành động nhật ký giấc mơ hoàn tất.",
|
||||
confirmRepair:
|
||||
"Sửa chữa Bộ nhớ đệm giấc mơ? Thao tác này lưu trữ các tệp bộ nhớ đệm giấc mơ được tạo ra và xây dựng lại chúng từ dữ liệu đầu vào sạch. Nhật ký giấc mơ của bạn vẫn được giữ nguyên.",
|
||||
confirmDedupe:
|
||||
"Loại bỏ trùng lặp Nhật ký giấc mơ? Thao tác này ghi lại DREAMS.md và chỉ xóa các mục nhật ký trùng lặp chính xác.",
|
||||
archivePathCopied: "Đã sao chép đường dẫn lưu trữ.",
|
||||
archivePathCopyFailed: "Không thể sao chép đường dẫn lưu trữ.",
|
||||
updateFailed: "Không thể cập nhật cài đặt mơ.",
|
||||
unsupportedPlugin: 'Plugin bộ nhớ đã chọn "{pluginId}" không hỗ trợ cài đặt mơ.',
|
||||
configHashMissing: "Thiếu hash cấu hình; hãy làm mới và thử lại.",
|
||||
},
|
||||
wiki: {
|
||||
previewFallbackTitle: "Trang wiki",
|
||||
close: "Đóng",
|
||||
@@ -3499,6 +3823,61 @@ export const vi: TranslationMap = {
|
||||
enableSuffix: ", sau đó tải lại tab này.",
|
||||
openConfig: "Mở Config",
|
||||
howToEnable: "Cách bật",
|
||||
pageTypes: {
|
||||
entity: "thực thể",
|
||||
concept: "khái niệm",
|
||||
source: "nguồn",
|
||||
synthesis: "tổng hợp",
|
||||
report: "báo cáo",
|
||||
},
|
||||
pageGroups: {
|
||||
sources: "Nguồn",
|
||||
syntheses: "Tổng hợp",
|
||||
reports: "Báo cáo",
|
||||
entities: "Thực thể",
|
||||
concepts: "Khái niệm",
|
||||
},
|
||||
counts: {
|
||||
pageOne: "{count} trang",
|
||||
pages: "{count} trang",
|
||||
claimRowOne: "{count} dòng khẳng định",
|
||||
claimRows: "{count} dòng khẳng định",
|
||||
openQuestionOne: "{count} câu hỏi mở",
|
||||
openQuestions: "{count} câu hỏi mở",
|
||||
contradictionOne: "{count} mâu thuẫn",
|
||||
contradictions: "{count} mâu thuẫn",
|
||||
chats: "{count} cuộc trò chuyện",
|
||||
sensitive: "{count} nhạy cảm",
|
||||
signals: "{count} tín hiệu",
|
||||
messages: "{count} tin nhắn",
|
||||
userMessages: "{count} người dùng",
|
||||
assistantMessages: "{count} trợ lý",
|
||||
},
|
||||
pageGroupSummary: "{label} · {count}",
|
||||
noPagesYet: "Chưa có trang nào",
|
||||
sectionPageSummary: "{label}: {count}",
|
||||
questionCountOnPages: "{questionCount} trên {pageCount}",
|
||||
risk: {
|
||||
needsReview: "cần xem xét",
|
||||
low: "rủi ro thấp",
|
||||
medium: "rủi ro trung bình",
|
||||
high: "rủi ro cao",
|
||||
unknown: "rủi ro không xác định",
|
||||
},
|
||||
pageNotFound: "Không tìm thấy trang wiki cho {lookup}.",
|
||||
previewTruncated: "Đang hiển thị phần đầu tiên của trang này.",
|
||||
previewTruncatedWithTotal:
|
||||
"Đang hiển thị phần đầu tiên của trang này (tổng cộng {count} dòng).",
|
||||
importedClusterSummary: "Các cuộc trò chuyện đã nhập được nhóm quanh {label}.",
|
||||
withheldDigestOne: "{count} bản tóm tắt đã bị giữ lại chờ xem xét.",
|
||||
withheldDigests: "{count} bản tóm tắt đã bị giữ lại chờ xem xét.",
|
||||
details: "Chi tiết",
|
||||
hideDetails: "Ẩn chi tiết",
|
||||
vault: "Vault",
|
||||
fullVaultBreakdown: "Phân tích đầy đủ vault: {breakdown}.",
|
||||
selectedSection: "Mục đã chọn: {summary}.",
|
||||
latestUpdate: "Cập nhật mới nhất {date}.",
|
||||
noContent: "Không có nội dung wiki nào.",
|
||||
},
|
||||
phrases: {
|
||||
consolidatingMemories: "đang hợp nhất ký ức…",
|
||||
@@ -3643,6 +4022,13 @@ export const vi: TranslationMap = {
|
||||
session: "phiên",
|
||||
sessions: "phiên",
|
||||
},
|
||||
heatmap: {
|
||||
title: "Hoạt động Token",
|
||||
subtitle: "Cường độ token hàng ngày cho khoảng thời gian đã chọn, tối đa một năm.",
|
||||
cellTokens: "{tokens} token",
|
||||
less: "Ít hơn",
|
||||
more: "Nhiều hơn",
|
||||
},
|
||||
providerUsage: {
|
||||
title: "Gói dịch vụ & thanh toán của nhà cung cấp",
|
||||
subtitle:
|
||||
@@ -4026,6 +4412,110 @@ export const vi: TranslationMap = {
|
||||
multipleMatches: "Có nhiều hơn một phiên khớp với {shortId}.",
|
||||
additionalMatches: "Vẫn còn kết quả tìm kiếm. Dùng tiền tố id dài hơn.",
|
||||
},
|
||||
commandResults: {
|
||||
startingNewThread: "Đang bắt đầu luồng mới...",
|
||||
resettingThread: "Đang đặt lại luồng...",
|
||||
stoppingCurrentRun: "Đang dừng lần chạy hiện tại...",
|
||||
chatHistoryCleared: "Đã xóa lịch sử trò chuyện.",
|
||||
exportingThread: "Đang xuất luồng...",
|
||||
unknownCommand: "Lệnh không xác định: `{command}`",
|
||||
options: "Tùy chọn: {options}.",
|
||||
sessionUnavailable: "Khả năng phiên không khả dụng",
|
||||
help: {
|
||||
availableCommands: "Các lệnh có sẵn",
|
||||
agentCommand: "agent",
|
||||
openMenu: "Nhập `/` để mở menu lệnh.",
|
||||
},
|
||||
compaction: {
|
||||
failed: "Nén thất bại.",
|
||||
failedWithReason: "Nén thất bại: {reason}",
|
||||
tokenSummary: " ({before} -> {after} token)",
|
||||
succeeded: "Đã nén ngữ cảnh thành công",
|
||||
skipped: "Đã bỏ qua việc nén.",
|
||||
skippedWithReason: "Đã bỏ qua nén: {reason}",
|
||||
},
|
||||
model: {
|
||||
current: "**Model hiện tại:** {model}",
|
||||
available: "**Có sẵn:** {models}",
|
||||
more: "+{count} nữa",
|
||||
getFailed: "Không lấy được thông tin model: {error}",
|
||||
set: "Đã đặt model thành {model}.",
|
||||
setFailed: "Không đặt được model: {error}",
|
||||
},
|
||||
thinking: {
|
||||
current: "Mức thinking hiện tại: {level}.",
|
||||
getFailed: "Không lấy được mức thinking: {error}",
|
||||
reset: "Đã đặt lại mức thinking về mặc định.",
|
||||
resetFailed: "Không đặt lại được mức thinking: {error}",
|
||||
unrecognized: 'Mức thinking không hợp lệ "{level}". Các mức hợp lệ: {options}.',
|
||||
unsupported:
|
||||
'Mức thinking không được hỗ trợ "{level}" cho model này. Các mức hợp lệ: {options}.',
|
||||
set: "Đã đặt mức thinking thành {level}.",
|
||||
setFailed: "Không đặt được mức thinking: {error}",
|
||||
},
|
||||
verbose: {
|
||||
current: "Mức verbose hiện tại: {level}.",
|
||||
getFailed: "Không lấy được mức verbose: {error}",
|
||||
unrecognized: 'Mức verbose không hợp lệ "{level}". Các mức hợp lệ: off, on, full.',
|
||||
set: "Đã đặt chế độ verbose thành {level}.",
|
||||
setFailed: "Không đặt được chế độ verbose: {error}",
|
||||
},
|
||||
fast: {
|
||||
autoValue: "auto ({seconds} giây)",
|
||||
on: "bật",
|
||||
off: "tắt",
|
||||
sourceSession: " (session)",
|
||||
sourceAgent: " (default: agent)",
|
||||
sourceModel: " (default: model)",
|
||||
sourceDefault: " (default)",
|
||||
current: "Chế độ fast hiện tại: {value}",
|
||||
options: "on, off, auto ({seconds} giây), default, status",
|
||||
getFailed: "Không lấy được chế độ fast: {error}",
|
||||
reset: "Chế độ fast đã đặt lại về mặc định.",
|
||||
resetFailed: "Không đặt lại được chế độ fast: {error}",
|
||||
unrecognized:
|
||||
'Không nhận diện được chế độ fast "{mode}". Cấp độ hợp lệ: on, off, auto, default, status.',
|
||||
setAuto: "Chế độ fast đã đặt thành auto.",
|
||||
enabled: "Đã bật chế độ fast.",
|
||||
disabled: "Đã tắt chế độ fast.",
|
||||
setFailed: "Không đặt được chế độ fast: {error}",
|
||||
},
|
||||
usage: {
|
||||
noActiveThread: "Không có luồng đang hoạt động.",
|
||||
notAvailable: "n/a",
|
||||
title: "Mức sử dụng luồng",
|
||||
inputTokens: "Đầu vào: {count} token",
|
||||
outputTokens: "Đầu ra: {count} token",
|
||||
totalTokens: "Tổng: {count} token",
|
||||
context: "Bối cảnh: {percent} trong {total}",
|
||||
model: "Mô hình: {model}",
|
||||
failed: "Không lấy được mức sử dụng: {error}",
|
||||
},
|
||||
agents: {
|
||||
none: "Chưa cấu hình agent nào.",
|
||||
title: "**Agents** ({count})",
|
||||
default: "mặc định",
|
||||
runtime: " · runtime {runtime}",
|
||||
failed: "Không liệt kê được agent: {error}",
|
||||
},
|
||||
steer: {
|
||||
timeout:
|
||||
"Lần chạy đang hoạt động đã kết thúc trước khi tin nhắn điều hướng được chấp nhận.",
|
||||
failed: "Điều hướng thất bại trước khi đến lần chạy; hãy thử lại.",
|
||||
usage: "Cách dùng: `/steer <message>`",
|
||||
noActiveRun: "Không có lần chạy nào đang hoạt động. Hãy dùng ô nhập chat hoặc `/redirect`.",
|
||||
succeeded: "Đã điều hướng.",
|
||||
requestFailed: "Không điều hướng được: {error}",
|
||||
},
|
||||
redirect: {
|
||||
timeout:
|
||||
"Lần chạy đang hoạt động đã kết thúc trước khi tin nhắn chuyển hướng được chấp nhận.",
|
||||
failed: "Chuyển hướng thất bại trước khi đến lần chạy; hãy thử lại.",
|
||||
usage: "Cách dùng: `/redirect <message>`",
|
||||
succeeded: "Đã chuyển hướng.",
|
||||
requestFailed: "Không chuyển hướng được: {error}",
|
||||
},
|
||||
},
|
||||
sessionSharing: {
|
||||
menu: "Chia sẻ luồng",
|
||||
current: "Hiển thị luồng: {visibility}",
|
||||
@@ -4179,10 +4669,17 @@ export const vi: TranslationMap = {
|
||||
dismissUpdateBanner: "Bỏ qua banner cập nhật",
|
||||
switchedSession: "Đã chuyển sang {session}",
|
||||
actions: {
|
||||
copyAsMarkdown: "Sao chép dưới dạng markdown",
|
||||
dismissError: "Bỏ qua lỗi",
|
||||
exitFocusMode: "Thoát chế độ tập trung",
|
||||
scrollToLatest: "Cuộn đến mới nhất",
|
||||
},
|
||||
markdown: {
|
||||
truncated: "… đã cắt bớt ({total} ký tự, hiển thị {shown} đầu tiên).",
|
||||
},
|
||||
codeBlock: {
|
||||
jsonLines: "JSON · {count} dòng",
|
||||
},
|
||||
workspaceConflict: {
|
||||
titleOne: "1 xung đột không gian làm việc đám mây",
|
||||
titleMany: "{count} xung đột không gian làm việc đám mây",
|
||||
@@ -4277,6 +4774,7 @@ export const vi: TranslationMap = {
|
||||
threads: "Luồng",
|
||||
groups: "Nhóm",
|
||||
coding: "Lập trình",
|
||||
noSessionsForAgent: "Không tìm thấy phiên nào cho agent này",
|
||||
catalogViewOptions: "Tùy chọn xem",
|
||||
catalogGroupByProject: "Dự án",
|
||||
catalogGroupByPerson: "Người",
|
||||
@@ -4288,6 +4786,8 @@ export const vi: TranslationMap = {
|
||||
sessionMenu: "Actions for {session}",
|
||||
sessionMenuMany: "Hành động cho {count} phiên",
|
||||
toolActivity: "Đang dùng {tool}",
|
||||
catalogDiscoveryHelp:
|
||||
"{error}. Cấu hình khám phá luồng gốc trong Settings > Automation > Plugins.",
|
||||
},
|
||||
welcome: {
|
||||
hintBeforeShortcut: "Type a message below ·",
|
||||
@@ -4321,12 +4821,23 @@ export const vi: TranslationMap = {
|
||||
steered: "Đã điều hướng",
|
||||
steerQueuedMessage: "Điều hướng tin nhắn trong hàng đợi",
|
||||
removeQueuedMessage: "Xóa tin nhắn trong hàng đợi",
|
||||
states: {
|
||||
steering: "Điều hướng",
|
||||
applyingSettings: "Đang áp dụng cài đặt trò chuyện",
|
||||
waitingForRun: "Đang chờ lần chạy hiện tại",
|
||||
runningCommand: "Đang chạy lệnh",
|
||||
waitingForReconnect: "Đang chờ kết nối lại",
|
||||
needsReview: "Cần xem xét",
|
||||
},
|
||||
imageCount: "Hình ảnh ({count})",
|
||||
},
|
||||
goals: {
|
||||
edit: "Chỉnh sửa mục tiêu",
|
||||
pause: "Tạm dừng mục tiêu",
|
||||
resume: "Tiếp tục mục tiêu",
|
||||
clear: "Xóa mục tiêu",
|
||||
showDetails: "Hiện chi tiết mục tiêu",
|
||||
hideDetails: "Ẩn chi tiết mục tiêu",
|
||||
},
|
||||
questions: {
|
||||
title: "Codex cần thông tin đầu vào",
|
||||
@@ -4352,6 +4863,7 @@ export const vi: TranslationMap = {
|
||||
unavailable: "Không khả dụng",
|
||||
expired: "Đã hết hạn",
|
||||
cancelled: "Đã hủy",
|
||||
disconnected: "Chưa kết nối. Thử lại sau khi kết nối lại.",
|
||||
},
|
||||
imageLightbox: {
|
||||
label: "Xem trước hình ảnh: {title}",
|
||||
@@ -4372,6 +4884,12 @@ export const vi: TranslationMap = {
|
||||
reply: "Trả lời",
|
||||
replyToMessage: "Trả lời tin nhắn",
|
||||
replyingTo: "Đang trả lời {name}",
|
||||
message: "tin nhắn",
|
||||
currentMessage: "tin nhắn hiện tại",
|
||||
actions: "Thao tác tin nhắn",
|
||||
selectionActions: "Thao tác lựa chọn",
|
||||
moreDetails: "Thêm chi tiết",
|
||||
askInSideChat: "Hỏi trong side chat",
|
||||
rewind: "Tua lại",
|
||||
rewindConfirm: "Tua lại về trước tin nhắn này?",
|
||||
rewindToHere: "Tua lại về đây",
|
||||
@@ -4381,14 +4899,34 @@ export const vi: TranslationMap = {
|
||||
showMore: "Xem thêm",
|
||||
unknownDate: "Ngày không xác định",
|
||||
voiceNote: "Ghi chú thoại",
|
||||
duplicatesCollapsed: "{count} tin nhắn giống nhau liên tiếp đã được thu gọn",
|
||||
contextFor: "Ngữ cảnh tin nhắn cho {timestamp}",
|
||||
},
|
||||
mediaPlayer: {
|
||||
play: "Phát",
|
||||
pause: "Tạm dừng",
|
||||
seek: "Tua phương tiện",
|
||||
download: "Tải xuống {filename}",
|
||||
videoUnavailable: "Không thể phát định dạng này — hãy tải xuống.",
|
||||
},
|
||||
modelControls: {
|
||||
current: "Hiện tại",
|
||||
default: "Mặc định",
|
||||
reasoning: "Lập luận",
|
||||
speed: "Tốc độ",
|
||||
sessionOverride: "Ghi đè luồng",
|
||||
useDefault: "Dùng mặc định",
|
||||
usingDefault: "Đang dùng mặc định từ Cài đặt",
|
||||
resetToDefault: "Đặt lại về mặc định ({model})",
|
||||
defaultWithModel: "Mặc định ({model})",
|
||||
defaultWithLevel: "Mặc định ({level})",
|
||||
fastHelp: "Phản hồi nhanh hoàn tất sớm hơn và có thể dùng nhiều hạn mức sử dụng hơn.",
|
||||
speedUnsupported: "Điều khiển tốc độ không được hỗ trợ cho mô hình này.",
|
||||
contextWindow: "{count} ngữ cảnh",
|
||||
providerModels: "Mô hình {provider}",
|
||||
resetReasoning: "Đặt lại về mặc định ({level})",
|
||||
useDefaultReasoning: "Dùng lập luận mặc định ({level})",
|
||||
fastResponsesAria: "Phản hồi nhanh: {state}",
|
||||
},
|
||||
rail: {
|
||||
title: "Trợ lý phiên",
|
||||
@@ -4458,6 +4996,21 @@ export const vi: TranslationMap = {
|
||||
renderedMarkdownHint: "Bản xem trước văn bản đa dạng thức đã lọc để đọc nhanh.",
|
||||
noPreviewableMarkdown: "Không có nội dung markdown có thể xem trước.",
|
||||
noContent: "Không có nội dung khả dụng",
|
||||
fullContentOversized:
|
||||
"Nội dung đầy đủ không khả dụng vì mục bản ghi được lưu trữ quá lớn để trả về an toàn.",
|
||||
fullContentNotVisible:
|
||||
"Nội dung đầy đủ không khả dụng vì mục bản ghi này không có bản chiếu WebChat hiển thị.",
|
||||
fullContentUnavailable: "Nội dung đầy đủ không còn khả dụng cho mục bản ghi này.",
|
||||
copyContents: "Sao chép nội dung tệp",
|
||||
fileChanged: "Tệp đã thay đổi trên đĩa kể từ khi được tải.",
|
||||
renderPreview: "Xem trước kết xuất",
|
||||
imagePreview: "Xem trước hình ảnh",
|
||||
file: "Tệp",
|
||||
markdownPreview: "Xem trước Markdown",
|
||||
toolDetails: "Chi tiết công cụ",
|
||||
reloadFailed: "Không thể tải lại tệp mới nhất.",
|
||||
overwriteLoadFailed: "Không thể tải tệp mới nhất trước khi ghi đè.",
|
||||
fullContentLoadFailed: "Không thể tải toàn bộ nội dung: {error}",
|
||||
},
|
||||
sidebarColumns: {
|
||||
chat: "Trò chuyện",
|
||||
@@ -4476,6 +5029,7 @@ export const vi: TranslationMap = {
|
||||
unpin: "Bỏ ghim",
|
||||
loading: "Đang tải cuộc trò chuyện",
|
||||
noMatches: "Không có tin nhắn phù hợp",
|
||||
pinnedCount: "Đã ghim {count}",
|
||||
},
|
||||
pairingQrExpired: {
|
||||
title: "Mã QR ghép nối đã hết hạn",
|
||||
@@ -4495,13 +5049,53 @@ export const vi: TranslationMap = {
|
||||
runDone: "Hoàn tất",
|
||||
runInterrupted: "Đã gián đoạn",
|
||||
runStatus: "Trạng thái chạy: {status}",
|
||||
compactingContext: "Đang nén ngữ cảnh...",
|
||||
compacting: "Đang nén",
|
||||
compact: "Nén",
|
||||
contextCompacted: "Đã nén ngữ cảnh",
|
||||
fallbackActive: "Dự phòng đang hoạt động: {model}",
|
||||
fallbackCleared: "Đã xóa dự phòng: {model}",
|
||||
fallbackSelected: "Đã chọn: {model}",
|
||||
fallbackCurrent: "Đang hoạt động: {model}",
|
||||
fallbackPrevious: "Dự phòng trước đó: {model}",
|
||||
fallbackReason: "Lý do: {reason}",
|
||||
fallbackAttempts: "Số lần thử: {attempts}",
|
||||
cancelReply: "Hủy trả lời",
|
||||
attachmentPreview: "Xem trước tệp đính kèm",
|
||||
compactRecommendedContext: "Nén ngữ cảnh phiên được đề xuất",
|
||||
removeAttachment: "Xóa tệp đính kèm",
|
||||
addAttachment: "Thêm tệp đính kèm",
|
||||
attachPhoto: "Ảnh",
|
||||
attachFile: "Attach file",
|
||||
attachFileOption: "Tệp",
|
||||
menu: {
|
||||
back: "Quay lại",
|
||||
skills: "Skills",
|
||||
connectors: "Trình kết nối",
|
||||
webSearch: "Tìm kiếm trên web",
|
||||
managePlugins: "Quản lý plugin",
|
||||
manageSkills: "Quản lý Skills",
|
||||
browseConnectors: "Duyệt trình kết nối",
|
||||
addMcpServer: "Thêm máy chủ MCP…",
|
||||
toolAccess: "Quyền truy cập công cụ",
|
||||
enabledCount: "{count} bật",
|
||||
loadingSkills: "Đang tải Skills…",
|
||||
skillsLoadFailed: "Không thể tải Skills.",
|
||||
noSkills: "Không có Skills nào.",
|
||||
noConnectors: "Chưa cấu hình máy chủ MCP nào.",
|
||||
depsMissing: "thiếu deps",
|
||||
skillBlocked: "không khả dụng cho agent này",
|
||||
sessionTag: "phiên",
|
||||
offlineBlocked: "Kết nối tới gateway để thay đổi khả năng của phiên.",
|
||||
readOnlyBlocked: "Cần quyền ghi để thay đổi khả năng của phiên.",
|
||||
adminBlocked: "Cần quyền admin để quản lý trình kết nối.",
|
||||
savingBlocked: "Chờ thay đổi khả năng phiên hiện tại hoàn tất.",
|
||||
},
|
||||
overrides: {
|
||||
count: "{count} tùy chỉnh phiên",
|
||||
countOne: "{count} ghi đè phiên",
|
||||
clear: "Xóa ghi đè phiên",
|
||||
},
|
||||
contextUsage: {
|
||||
title: "Chi tiết mức sử dụng ngữ cảnh",
|
||||
open: "Mở chi tiết mức sử dụng ngữ cảnh",
|
||||
@@ -4574,6 +5168,17 @@ export const vi: TranslationMap = {
|
||||
turnCameraOn: "Bật camera",
|
||||
voiceTranscript: "Bản chép lời giọng nói",
|
||||
},
|
||||
attachments: {
|
||||
attachedFile: "Tệp đính kèm",
|
||||
outsideAllowedFolders: "Ngoài các thư mục được phép",
|
||||
unavailable: "Không khả dụng",
|
||||
checking: "Đang kiểm tra...",
|
||||
},
|
||||
voice: {
|
||||
asking: "Đang hỏi OpenClaw...",
|
||||
connecting: "Đang kết nối đầu vào giọng nói...",
|
||||
listening: "Đang lắng nghe...",
|
||||
},
|
||||
selectors: {
|
||||
session: "Chat session",
|
||||
sessionSearch: "Tìm kiếm phiên",
|
||||
@@ -4774,6 +5379,7 @@ export const vi: TranslationMap = {
|
||||
ru: "Русский (Tiếng Nga)",
|
||||
},
|
||||
cron: {
|
||||
adminRequired: "Chỉ duyệt xem. Các thay đổi tự động hóa yêu cầu quyền truy cập operator.admin.",
|
||||
tabs: {
|
||||
filterLabel: "Trạng thái tự động hóa",
|
||||
all: "Tất cả",
|
||||
|
||||
Generated
+608
-34
@@ -8,6 +8,7 @@ export const zh_CN: TranslationMap = {
|
||||
ok: "正常",
|
||||
yes: "是",
|
||||
no: "否",
|
||||
assistant: "助手",
|
||||
active: "活跃",
|
||||
loading: "加载中…",
|
||||
refreshing: "刷新中…",
|
||||
@@ -35,8 +36,11 @@ export const zh_CN: TranslationMap = {
|
||||
create: "创建",
|
||||
copy: "复制",
|
||||
copied: "已复制!",
|
||||
copyFailed: "复制失败",
|
||||
copyCode: "复制代码",
|
||||
resizeSplitView: "调整分屏视图大小",
|
||||
delete: "删除",
|
||||
remove: "移除",
|
||||
dismiss: "关闭",
|
||||
unselect: "取消选择",
|
||||
enabled: "已启用",
|
||||
@@ -45,6 +49,9 @@ export const zh_CN: TranslationMap = {
|
||||
none: "无",
|
||||
na: "不适用",
|
||||
never: "从未",
|
||||
justNow: "刚刚",
|
||||
now: "现在",
|
||||
unknown: "未知",
|
||||
configured: "已配置",
|
||||
running: "运行中",
|
||||
linked: "已关联",
|
||||
@@ -70,6 +77,7 @@ export const zh_CN: TranslationMap = {
|
||||
settingsSections: "设置分区",
|
||||
version: "版本",
|
||||
docs: "文档",
|
||||
learnMore: "了解更多",
|
||||
theme: "主题",
|
||||
colorMode: "颜色模式",
|
||||
colorModeOption: "颜色模式:{mode}",
|
||||
@@ -113,10 +121,24 @@ export const zh_CN: TranslationMap = {
|
||||
filteredFileCount: "{count}/{total} 个文件",
|
||||
noMatches: "没有匹配的文件。",
|
||||
navigate: "导航",
|
||||
kind: {
|
||||
text: "文本",
|
||||
shell: "Shell",
|
||||
file: "文件",
|
||||
},
|
||||
},
|
||||
mcpApp: {
|
||||
title: "MCP App",
|
||||
unavailable: "MCP App 不可用:{error}",
|
||||
errors: {
|
||||
gatewayUnavailable: "MCP App gateway 不可用",
|
||||
mountUnavailable: "MCP App 挂载不可用",
|
||||
sandboxTimedOut: "MCP App 沙盒超时",
|
||||
sandboxUnavailable: "MCP App 沙盒不可用",
|
||||
initializationTimedOut: "MCP App 初始化超时",
|
||||
requestFailed: "请求失败",
|
||||
invalidSandboxUrl: "MCP App 沙盒 URL 无效",
|
||||
},
|
||||
},
|
||||
githubPreview: {
|
||||
loading: "正在加载 GitHub 详情…",
|
||||
@@ -219,6 +241,7 @@ export const zh_CN: TranslationMap = {
|
||||
"在手机上打开 WhatsApp → 设置 → 已关联的设备 → 关联设备,然后扫描此二维码。",
|
||||
whatsappQrLoading: "正在生成二维码…",
|
||||
whatsappQrHint: "点击“显示二维码”以生成配对码。",
|
||||
whatsappQrAlt: "WhatsApp 二维码",
|
||||
whatsappLinked: "WhatsApp 已关联并准备就绪。",
|
||||
regenerateQr: "新二维码",
|
||||
linkLater: "稍后关联",
|
||||
@@ -307,6 +330,18 @@ export const zh_CN: TranslationMap = {
|
||||
nip05: "you@example.com",
|
||||
lightningAddress: "you@getalby.com",
|
||||
},
|
||||
notices: {
|
||||
timeout: "请求在 30 秒后超时;服务器可能仍已应用该更改——请在重试前检查配置文件。",
|
||||
operationFailed: "{prefix}: {error}",
|
||||
updateFailed: "配置文件更新失败",
|
||||
updateFailedStatus: "配置文件更新失败 ({status})",
|
||||
publishFailed: "在所有中继上发布个人资料失败。",
|
||||
published: "个人资料已发布到中继。",
|
||||
importFailed: "个人资料导入失败",
|
||||
importFailedStatus: "个人资料导入失败({status})",
|
||||
importedFromRelays: "已从中继导入个人资料。请检查并发布。",
|
||||
imported: "已导入个人资料。请检查并发布。",
|
||||
},
|
||||
},
|
||||
},
|
||||
lazyView: {
|
||||
@@ -317,6 +352,39 @@ export const zh_CN: TranslationMap = {
|
||||
staleSubtitle: "OpenClaw 已在后台更新。请重新加载以获取最新面板。",
|
||||
reloading: "正在重新加载…",
|
||||
retry: "重试",
|
||||
stylesFailed: "样式加载失败,因此页面可能显示异常。",
|
||||
},
|
||||
updates: {
|
||||
refreshRequired: "服务器已更新——请刷新以获得完整功能",
|
||||
coalescedRestart: "更新已安装。Gateway 重启已在进行中;重新连接后状态将刷新。",
|
||||
error: "更新错误:{error}",
|
||||
status: "更新 {status}:{reason}。{guidance}",
|
||||
verificationFailed: "更新已安装,但运行版本未变化——重启可能已被阻止。",
|
||||
verificationFailedWithVersions:
|
||||
"更新已安装,但运行版本未变化——重启可能已被阻止。预期 v{expectedVersion},运行 v{actualVersion}。",
|
||||
handoffTimeout:
|
||||
"更新交接已开始,但在重新连接后未报告完成。请运行 `openclaw update status` 查看最终结果。",
|
||||
failureReasons: {
|
||||
dirty: "请提交或暂存更改,然后重试。",
|
||||
noUpstream: "请设置上游分支,然后重试。",
|
||||
notGitInstall: "不是 git 检出。请从 CLI 运行 `openclaw update` 进行全局重装。",
|
||||
notOpenclawRoot: "请从 OpenClaw 检出目录运行更新,或使用 CLI 全局重装方式。",
|
||||
depsInstallFailed: "依赖安装失败。请修复安装错误后重试。",
|
||||
buildFailed: "构建失败。请修复构建错误后重试。",
|
||||
buildDirty: "所选修订版本的构建更改了检出文件。请使用包含其生成产物的修订版本重试。",
|
||||
uiBuildFailed: "control UI 重新构建失败。请修复 UI 构建错误后重试。",
|
||||
globalInstallFailed: "全局软件包安装未在磁盘上通过验证。请重试或从 CLI 重新安装。",
|
||||
restartDisabled: "由于 Gateway 重启已禁用,更新未应用。请在配置中启用重启后重试。",
|
||||
restartUnavailable: "在重启已禁用且无监管进程的情况下,无法安全替换此全局安装。",
|
||||
restartUnhealthy: "替换进程从未进入健康状态。之前的进程保持运行,以便你恢复。",
|
||||
managedServiceHandoffAlreadyRunning: "另一个受管更新已在运行。请等待其完成后刷新更新状态。",
|
||||
doctorFailed: "Doctor 修复失败。请运行 `openclaw doctor --non-interactive` 后重试。",
|
||||
default: "请查看 Gateway 日志以了解具体故障,并在原因修复后重试。",
|
||||
},
|
||||
postRestart: {
|
||||
restartUnhealthy: "替换进程从未进入健康状态,之前的进程保持运行。",
|
||||
default: "请查看 Gateway 日志以了解替换失败原因。",
|
||||
},
|
||||
},
|
||||
nodes: {
|
||||
pairing: {
|
||||
@@ -790,6 +858,10 @@ export const zh_CN: TranslationMap = {
|
||||
},
|
||||
agents: {
|
||||
noAgents: "无代理",
|
||||
defaults: {
|
||||
title: "Agent 默认设置",
|
||||
description: "除非被覆盖,否则每个 agent 都会继承的默认设置。",
|
||||
},
|
||||
copyId: "复制 ID",
|
||||
copyIdTitle: "将代理 ID 复制到剪贴板",
|
||||
default: "默认",
|
||||
@@ -991,6 +1063,9 @@ export const zh_CN: TranslationMap = {
|
||||
noEvents: "暂无事件。",
|
||||
},
|
||||
configForm: {
|
||||
redactedPlaceholder: "[已隐去 - 点击显示以查看]",
|
||||
sectionHelp: "{section} 的帮助",
|
||||
readGuide: "阅读指南",
|
||||
showAdvanced: "显示高级选项",
|
||||
advancedHidden: "已隐藏 {count} 项高级设置",
|
||||
advancedHiddenPlural: "已隐藏 {count} 项高级设置",
|
||||
@@ -1178,9 +1253,12 @@ export const zh_CN: TranslationMap = {
|
||||
lobsterdexSeen: "已访问 {seen}/{total}",
|
||||
lobsterdexFirstVisited: "{name} · 首次访问于 {date}",
|
||||
lobsterdexCardFirstVisited: "首次访问于 {date}",
|
||||
lobsterdexCardShinySeen: "✦ 于 {date} 发现闪光",
|
||||
lobsterdexCardCopyLink: "复制链接",
|
||||
lobsterdexOpen: "打开 Lobsterdex",
|
||||
},
|
||||
security: {
|
||||
intro: "查看 Gateway 访问、工具策略、设备身份验证和审批。",
|
||||
title: "安全",
|
||||
gatewayAuth: "Gateway 认证",
|
||||
execPolicy: "执行策略",
|
||||
@@ -1346,6 +1424,7 @@ export const zh_CN: TranslationMap = {
|
||||
nativeBlockedHint: "macOS 中已禁用 OpenClaw 的通知。请在“系统设置 > 通知”中允许它们。",
|
||||
},
|
||||
appearance: {
|
||||
intro: "此 Control UI 客户端的主题、聊天和侧边栏偏好设置。",
|
||||
theme: "主题",
|
||||
chooseTheme: "选择一个主题系列。",
|
||||
importedTheme: "已导入的主题",
|
||||
@@ -1415,11 +1494,11 @@ export const zh_CN: TranslationMap = {
|
||||
open: "打开",
|
||||
applying: "正在应用…",
|
||||
autoSaveSaving: "保存中…",
|
||||
autoSaveSaved: "已保存",
|
||||
autoSaveFailed: "保存失败",
|
||||
autoSaveConflict: "设置已在其他地方更改",
|
||||
retry: "重试",
|
||||
applyBannerText: "已保存到 openclaw.json — 重启 Gateway 以应用更改。",
|
||||
applyBannerAction: "重启并应用",
|
||||
applyChanges: "应用更改",
|
||||
rawDiscard: "放弃",
|
||||
rawDraftBlocksApply: "原始配置有未保存的编辑 — 请在原始编辑器中保存或丢弃后再重启。",
|
||||
rawDraftPendingFormTitle: "原始配置有未保存的编辑 — 请先保存或丢弃后再切换到表单视图。",
|
||||
@@ -1657,7 +1736,6 @@ export const zh_CN: TranslationMap = {
|
||||
forward: "前进",
|
||||
chat: "聊天",
|
||||
settings: "设置",
|
||||
settingsGeneral: "通用",
|
||||
askOpenClaw: "询问 OpenClaw",
|
||||
settingsGroupConnections: "连接",
|
||||
settingsGroupAgents: "代理与工具",
|
||||
@@ -1713,6 +1791,9 @@ export const zh_CN: TranslationMap = {
|
||||
dockBottom: "Dock to bottom",
|
||||
dockRight: "Dock to right",
|
||||
unavailable: "The terminal is not available on this gateway.",
|
||||
uploadTooLarge: "文件超过 16 MiB 终端上传限制:{file}",
|
||||
uploadUnsafeCmdPath: "无法安全地将包含 % 或 ! 的上传路径插入 cmd.exe",
|
||||
uploadUnsupportedShell: "无法安全地将上传路径插入不支持的 shell:{shell}",
|
||||
},
|
||||
browser: {
|
||||
title: "浏览器",
|
||||
@@ -1749,6 +1830,15 @@ export const zh_CN: TranslationMap = {
|
||||
noChatTarget: "请先打开一个聊天会话,以便注释有发送目标。",
|
||||
inspectUnavailable: "元素检查已禁用 (browser.evaluateEnabled=false)。",
|
||||
annotationSent: "注释已添加到聊天输入框。",
|
||||
errors: {
|
||||
requestFailed: "浏览器请求失败:{error}",
|
||||
screenshotPathMissing: "浏览器截图未返回媒体路径。",
|
||||
screenshotFetchTimedOut: "截图获取超时。",
|
||||
screenshotFetchFailed: "截图获取失败({status})。",
|
||||
screenshotReadFailed: "截图读取失败。",
|
||||
screenshotDecodeFailed: "截图解码失败。",
|
||||
canvasUnavailable: "Canvas 2D 上下文不可用。",
|
||||
},
|
||||
annotatePrompt: {
|
||||
introTitled:
|
||||
'我已在 {url} 的页面上添加注释(页面报告的标题:"{title}")— 附带的截图显示了我的标注。',
|
||||
@@ -1793,6 +1883,7 @@ export const zh_CN: TranslationMap = {
|
||||
automation: "自动化",
|
||||
mcp: "MCP",
|
||||
memory: "记忆",
|
||||
talk: "语音",
|
||||
infrastructure: "基础设施",
|
||||
labs: "实验室",
|
||||
about: "关于",
|
||||
@@ -1832,6 +1923,7 @@ export const zh_CN: TranslationMap = {
|
||||
automation: "命令、钩子、定时任务和插件设置。",
|
||||
mcp: "MCP 服务器、身份验证、工具和诊断。",
|
||||
memory: "记忆引擎、后端、搜索与做梦。",
|
||||
talk: "实时语音:提供商、模型和扬声器语音。",
|
||||
infrastructure: "网关、Web、浏览器和媒体设置。",
|
||||
labs: "实验性代理和工具功能。",
|
||||
about: "Control UI 和已连接的 Gateway 构建标识。",
|
||||
@@ -1849,6 +1941,16 @@ export const zh_CN: TranslationMap = {
|
||||
modelSetup: {
|
||||
heading: "连接您的 AI",
|
||||
intro: "OpenClaw 可复用您已有的 AI 访问方式——CLI 登录、API 密钥或提供商登录。",
|
||||
required: {
|
||||
title: "未配置 AI 提供商",
|
||||
body: "OpenClaw 找不到为此代理配置的提供商和模型。请在开始对话前添加一个。",
|
||||
action: "配置提供商",
|
||||
},
|
||||
connectionFailure: {
|
||||
title: "OpenClaw 无法使用您配置的 AI",
|
||||
body: "此代理已选择提供商和模型,但连接失败。请检查提供商登录或 API 密钥、模型访问权限和服务状态,然后重试。",
|
||||
action: "检查提供商设置",
|
||||
},
|
||||
loading: "正在检查此 Gateway 上可用的 AI 访问方式…",
|
||||
retry: "重试",
|
||||
checkAgain: "重新检查",
|
||||
@@ -1879,6 +1981,8 @@ export const zh_CN: TranslationMap = {
|
||||
},
|
||||
unavailable: {
|
||||
title: "已检测到,但未自动测试",
|
||||
signIn: "使用 {provider} 登录",
|
||||
useApiKey: "使用 API 密钥",
|
||||
},
|
||||
signIn: {
|
||||
title: "使用提供商账号登录",
|
||||
@@ -1980,6 +2084,35 @@ export const zh_CN: TranslationMap = {
|
||||
agent: "目标智能体",
|
||||
replaceExisting: "替换现有导入内容",
|
||||
replaceHint: "再次预览冲突,并在替换前保留各项备份。",
|
||||
backfill: {
|
||||
title: "来自过去的会话",
|
||||
subtitle: "暂存来自早期 agent 会话的可信记忆。Dreaming 会将其中有用的记忆提升为长期记忆。",
|
||||
dateRange: "会话日期范围",
|
||||
dateRangeHint: "任一日期留空即可扫描全部可用范围。",
|
||||
from: "从",
|
||||
to: "到",
|
||||
actions: "回填",
|
||||
preview: "预览",
|
||||
previewing: "正在预览…",
|
||||
apply: "应用",
|
||||
applying: "正在应用…",
|
||||
rollback: "回滚",
|
||||
previewSummary: "{days} 天内共 {candidates} 个候选项",
|
||||
previewTruncated: "此预览仅显示第一个有限批次。应用后将继续处理其余候选项。",
|
||||
candidateCount: "{count} 个候选项",
|
||||
noCandidates: "未找到新的可信会话候选项。",
|
||||
progress: "已处理 {days} 天 · 已暂存 {staged}",
|
||||
processedCandidates: "已处理 {count} 个会话候选项",
|
||||
processedDayCountOne: "已处理 {count} 天",
|
||||
processedDayCount: "已处理 {count} 天",
|
||||
complete: "已暂存 {count} 个;提升通过 dreaming 完成",
|
||||
rollbackConfirmTitle: "回滚会话回填?",
|
||||
rollbackConfirmDescription: "移除此代理通过会话回填创建的日记条目和暂存记忆。",
|
||||
rollbackWarning: "已跟踪的会话游标将保持不变,因此已移除的条目不会再次被暂存。",
|
||||
rollbackComplete: "已回滚会话回填",
|
||||
rollbackCounts: "已移除 {diary} 条日记条目和 {staged} 条暂存条目",
|
||||
unavailable: "此 Gateway 上无法使用会话回填。",
|
||||
},
|
||||
},
|
||||
onboarding: {
|
||||
memoryImport: {
|
||||
@@ -2019,6 +2152,14 @@ export const zh_CN: TranslationMap = {
|
||||
connectionChanged: "Gateway 连接已更改。请重试以继续此设置。",
|
||||
sessionRestarted: "{error} OpenClaw 开始了一个新会话;较早的消息将保留作为上下文。",
|
||||
unsupportedGateway: "请更新 Gateway 以继续使用 OpenClaw 进行设置。",
|
||||
panel: {
|
||||
title: "OpenClaw",
|
||||
toggle: "询问 OpenClaw",
|
||||
close: "关闭 Ask OpenClaw",
|
||||
resize: "调整 Ask OpenClaw 大小",
|
||||
dockBottom: "将 Ask OpenClaw 停靠在底部",
|
||||
dockRight: "将 Ask OpenClaw 停靠在右侧",
|
||||
},
|
||||
history: {
|
||||
button: "历史",
|
||||
title: "最近更改",
|
||||
@@ -2077,12 +2218,14 @@ export const zh_CN: TranslationMap = {
|
||||
working: "正在工作…",
|
||||
},
|
||||
mcpPage: {
|
||||
intro: "连接并管理为 OpenClaw 提供工具的 MCP 服务器。",
|
||||
connectorsLink: "在 Plugins 页面探索一键连接器。",
|
||||
servers: "服务器",
|
||||
oauth: "OAuth",
|
||||
filtered: "已过滤",
|
||||
configuredServers: "已配置的服务器",
|
||||
noServers: "未配置 MCP 服务器。",
|
||||
setUpFirstServer: "设置你的第一个 MCP 服务器",
|
||||
operatorCommands: "MCP 操作员命令",
|
||||
operatorCommandsHint: "状态、诊断、身份验证、探测和运行时重新加载。",
|
||||
runtimeHint: "运行时更改在保存并发布后生效;活动代理将在下次使用时重建 MCP 运行时。",
|
||||
@@ -2091,12 +2234,131 @@ export const zh_CN: TranslationMap = {
|
||||
tlsVerifyOff: "TLS 验证已关闭",
|
||||
mtls: "mTLS",
|
||||
},
|
||||
talkPage: {
|
||||
intro: "配置实时语音提供商、模型和讲话人声音。",
|
||||
voiceSection: {
|
||||
title: "实时语音",
|
||||
description:
|
||||
"与你的代理进行连续语音对话。下方的选择器会写入 talk.realtime 设置;再往下的完整表单涵盖其他所有内容。",
|
||||
},
|
||||
status: {
|
||||
title: "状态",
|
||||
ready: "就绪",
|
||||
notReady: "未配置",
|
||||
unavailable: "不可用",
|
||||
unavailableHint: "连接到 Gateway 以检查实时语音的就绪状态。",
|
||||
activeProvider: "活动提供商:{provider}",
|
||||
noProvider: "尚未配置实时语音提供商。",
|
||||
},
|
||||
provider: {
|
||||
title: "提供商",
|
||||
description: "自动选择第一个凭据可用的提供商。",
|
||||
auto: "自动",
|
||||
},
|
||||
model: {
|
||||
title: "模型",
|
||||
description: "用于浏览器 Talk 会话的实时语音模型。",
|
||||
default: "提供商默认",
|
||||
defaultNamed: "默认({model})",
|
||||
},
|
||||
voice: {
|
||||
title: "扬声器声音",
|
||||
description: "用于语音回复的声音。GPT-Live 在通话开始后锁定声音。",
|
||||
default: "提供商默认",
|
||||
},
|
||||
gptLive: {
|
||||
title: "GPT-Live",
|
||||
hint: "GPT-Live 需配合 ChatGPT 订阅使用:使用“openclaw models auth login --provider openai”登录一次即可。无需 Platform API 密钥。仅限浏览器 Talk。委派的工作可在运行时进行引导,高影响操作需精确的语音确认。",
|
||||
ready: "就绪",
|
||||
},
|
||||
},
|
||||
memoryPage: {
|
||||
intro: "选择 OpenClaw 如何存储、搜索和维护代理记忆。",
|
||||
tablistLabel: "记忆部分",
|
||||
tabs: {
|
||||
overview: "概览",
|
||||
search: "搜索",
|
||||
dreaming: "做梦",
|
||||
memories: "记忆",
|
||||
dreams: "梦境",
|
||||
settings: "设置",
|
||||
},
|
||||
overview: {
|
||||
hero: {
|
||||
awake: "记忆已唤醒",
|
||||
waking: "正在唤醒记忆…",
|
||||
hibernating: "记忆正在休眠",
|
||||
needsAttention: "记忆需要关注",
|
||||
activeDescription: "{engine} · {mode}",
|
||||
loadingDescription: "正在检查此代理的记忆引擎和梦境周期。",
|
||||
offDescription: "在“设置”中选择一个记忆引擎以将其唤醒。",
|
||||
disabledDescription: "所选记忆引擎已禁用。请在“设置”中重新启用。",
|
||||
gatewayOffline: "Gateway 已离线,因此无法获取记忆状态。",
|
||||
hybridSearch: "混合搜索",
|
||||
keywordSearch: "关键字搜索(无嵌入向量)",
|
||||
openSettings: "打开设置",
|
||||
retry: "重试",
|
||||
refresh: "刷新状态",
|
||||
},
|
||||
schedule: {
|
||||
title: "睡眠计划",
|
||||
lightDescription: "整理新的短期笔记并暂存有潜力的候选项,不改变长期记忆。",
|
||||
remDescription: "回顾近期活动中的主题与反复出现的想法,以强化排序,不改变长期记忆。",
|
||||
deepDescription:
|
||||
"为暂存的候选项评分,将可保留的内容提升至长期记忆(MEMORY.md),并写入梦境日记。",
|
||||
nextRun: "下次 {time}",
|
||||
lastRun: "上次 {time}",
|
||||
notScheduled: "未计划",
|
||||
learnMore: "梦境功能的工作原理",
|
||||
openDocs: "打开梦境指南",
|
||||
},
|
||||
activity: {
|
||||
title: "活动",
|
||||
promotedToday: "今日提升",
|
||||
promotedTotal: "提升总数",
|
||||
shortTermCount: "待处理短期条目",
|
||||
phaseHitCount: "阶段信号",
|
||||
lightPhaseHitCount: "浅睡阶段命中",
|
||||
remPhaseHitCount: "REM 阶段命中",
|
||||
},
|
||||
health: {
|
||||
title: "引擎健康状况",
|
||||
provider: "提供商",
|
||||
embeddings: "嵌入向量",
|
||||
runtime: "嵌入运行时",
|
||||
healthy: "就绪",
|
||||
unavailable: "不可用",
|
||||
notChecked: "未检查",
|
||||
notCheckedDescription: "尚未检查嵌入就绪状态。",
|
||||
checking: "正在检查…",
|
||||
test: "测试",
|
||||
testing: "正在测试…",
|
||||
},
|
||||
shortcuts: {
|
||||
title: "探索记忆",
|
||||
memories: "搜索记忆",
|
||||
diary: "阅读梦境日记",
|
||||
settings: "配置记忆",
|
||||
},
|
||||
},
|
||||
memories: {
|
||||
searchLabel: "搜索记忆",
|
||||
searchPlaceholder: "搜索此智能体的记忆",
|
||||
searchButton: "搜索",
|
||||
idle: "搜索此智能体记住的人物、项目、决定或其他任何内容。",
|
||||
searching: "正在搜索记忆…",
|
||||
results: "{count} 条结果",
|
||||
empty: "没有记忆匹配“{query}”。",
|
||||
error: "记忆搜索失败:{message}",
|
||||
retry: "重试",
|
||||
gatewayUpdateRequired: "请更新 Gateway 以便从 Control UI 搜索记忆。",
|
||||
hybridSearch: "混合搜索",
|
||||
keywordSearch: "关键词搜索",
|
||||
lineRange: "第 {start}–{end} 行",
|
||||
score: "评分 {score}",
|
||||
sourceMemory: "记忆",
|
||||
sourceSessions: "会话",
|
||||
fileLoading: "正在加载完整的记忆文件…",
|
||||
fileError: "无法加载此记忆文件:{message}",
|
||||
fileUnsupported: "此记忆文件无法以文本形式显示。",
|
||||
},
|
||||
engine: {
|
||||
title: "引擎",
|
||||
@@ -2130,6 +2392,8 @@ export const zh_CN: TranslationMap = {
|
||||
memoryWiki: {
|
||||
title: "记忆 Wiki",
|
||||
},
|
||||
toggleAriaLabel: "启用或禁用 {plugin}",
|
||||
changeFailed: "无法更新 {plugin}",
|
||||
stateUnknown: "未知",
|
||||
manage: "启用或禁用附加组件",
|
||||
manageLink: "打开插件",
|
||||
@@ -2491,35 +2755,8 @@ export const zh_CN: TranslationMap = {
|
||||
},
|
||||
profilePage: {
|
||||
offline: "连接到 Gateway 以见到你的智能体。",
|
||||
loading: "正在潜入统计数据…",
|
||||
emptyTitle: "崭新的贝壳",
|
||||
emptyBody: "还没有 token 活动。给你的智能体发送一条消息,看看珊瑚礁亮起来。",
|
||||
sinceChip: "自 {date} 起在珊瑚礁中",
|
||||
channelChipTitle: "此频道上有 {tokens} 个 token",
|
||||
statLifetimeTokens: "累计 token 数",
|
||||
statPeakDay: "峰值日",
|
||||
statLongestSession: "最长会话",
|
||||
statCurrentStreak: "当前连续记录",
|
||||
statLongestStreak: "最长连续记录",
|
||||
streakDay: "{count} 天",
|
||||
streakDays: "{count} 天",
|
||||
heatmapTitle: "Token 活动",
|
||||
heatmapSub: "珊瑚礁中的一年 — 红色越深,爪子越忙。",
|
||||
heatmapCellTokens: "{tokens} 个 token",
|
||||
legendLess: "较少",
|
||||
legendMore: "较多",
|
||||
insightsTitle: "活动洞察",
|
||||
insightModel: "最常用的模型",
|
||||
insightMessages: "已交换消息",
|
||||
insightToolCalls: "工具调用",
|
||||
insightUniqueTools: "不同工具",
|
||||
insightAgents: "礁区中的智能体",
|
||||
insightSessions: "已跟踪会话",
|
||||
sessionsCapped: "{count}+",
|
||||
toolsTitle: "最常用的工具",
|
||||
toolsEmpty: "尚未记录工具运行。",
|
||||
toolRun: "{count} 次运行",
|
||||
toolRuns: "{count} 次运行",
|
||||
usageStatistics: "使用统计",
|
||||
usageStatisticsDescription: "查看活动、费用和使用趋势。",
|
||||
identity: {
|
||||
title: "身份",
|
||||
menuLabel: "身份菜单",
|
||||
@@ -2616,6 +2853,9 @@ export const zh_CN: TranslationMap = {
|
||||
next: "下一个",
|
||||
apply: "应用",
|
||||
applying: "正在应用…",
|
||||
evaluate: "评估",
|
||||
evaluating: "正在评估…",
|
||||
evaluated: "已评估",
|
||||
revise: "修改",
|
||||
tweak: "调整",
|
||||
opening: "正在打开…",
|
||||
@@ -2623,6 +2863,11 @@ export const zh_CN: TranslationMap = {
|
||||
rejecting: "正在拒绝…",
|
||||
sending: "发送中…",
|
||||
},
|
||||
notices: {
|
||||
applied: "已应用",
|
||||
rejected: "已拒绝",
|
||||
revisionRequested: "已请求修订",
|
||||
},
|
||||
revision: {
|
||||
title: "{verb}提案",
|
||||
description: "告诉智能体需要更改什么。提案保持待处理状态,工作坊将创建一个修订版本。",
|
||||
@@ -2647,6 +2892,35 @@ export const zh_CN: TranslationMap = {
|
||||
supportFilesTitle: "支持文件",
|
||||
clickToPreview: "· 点击预览",
|
||||
},
|
||||
evaluation: {
|
||||
title: "评估",
|
||||
version: "提案 {version}",
|
||||
completedAt: "完成于 {time}",
|
||||
status: {
|
||||
completed: "已完成",
|
||||
skipped: "已跳过",
|
||||
error: "错误",
|
||||
},
|
||||
decision: {
|
||||
pass: "通过",
|
||||
revise: "修改",
|
||||
block: "阻止",
|
||||
},
|
||||
severity: {
|
||||
info: "信息",
|
||||
warn: "警告",
|
||||
critical: "严重",
|
||||
},
|
||||
evaluatorVersion: "评估器 {version}",
|
||||
mode: "模式 {mode}",
|
||||
findings: "发现项",
|
||||
metrics: "指标",
|
||||
fileLine: "{file}:{line}",
|
||||
errors: {
|
||||
revisionHashUnavailable: "无法识别当前提案的修订版本。",
|
||||
revisionChanged: "评估过程中提案修订版本发生了变化。",
|
||||
},
|
||||
},
|
||||
empty: {
|
||||
searchTitle: "没有匹配的提案",
|
||||
searchBody: "清除搜索或尝试其他关键词。",
|
||||
@@ -2707,6 +2981,8 @@ export const zh_CN: TranslationMap = {
|
||||
comeWithIt: "随附提供。",
|
||||
useIt: "使用它",
|
||||
addToSkills: "添加到你的 Skills",
|
||||
evaluate: "评估",
|
||||
runChecks: "运行提案检查",
|
||||
tweakIt: "调整它",
|
||||
askAgent: "请求 agent 更改内容",
|
||||
skipping: "正在跳过…",
|
||||
@@ -3357,6 +3633,30 @@ export const zh_CN: TranslationMap = {
|
||||
reload: "重新加载",
|
||||
reloading: "重新加载中…",
|
||||
},
|
||||
actions: {
|
||||
dedupeRemovedOneAndKept: "已移除 {removed} 条重复的 dream 条目,保留 {kept} 条。",
|
||||
dedupeRemovedManyAndKept: "已移除 {removed} 条重复的 dream 条目,保留 {kept} 条。",
|
||||
dedupeRemovedOne: "已移除 {removed} 条重复的 dream 条目。",
|
||||
dedupeRemovedMany: "已移除 {removed} 条重复的 dream 条目。",
|
||||
repairArchivedThreadCorpus: "已归档的线程语料库",
|
||||
repairArchivedIngestionState: "已归档的采集状态",
|
||||
repairArchivedDreamDiary: "已归档的 dream 日记",
|
||||
repairNoChanges: "Dream 缓存修复已完成,无任何更改。",
|
||||
repairCompleteWithArchive: "梦境缓存修复完成:{actions}。归档:{archiveDir}",
|
||||
repairComplete: "梦境缓存修复完成:{actions}。",
|
||||
backfillComplete: "已回填 {count} 条梦境日记条目。",
|
||||
resetDiaryComplete: "已移除 {count} 条回填的梦境日记条目。",
|
||||
clearReplayedComplete: "已清除 {count} 条已重放的短期条目。",
|
||||
complete: "梦境日记操作完成。",
|
||||
confirmRepair:
|
||||
"是否修复梦境缓存?此操作会归档派生的梦境缓存文件并从干净的输入重新构建它们。你的梦境日记不会受到影响。",
|
||||
confirmDedupe: "是否去重梦境日记?此操作会重写 DREAMS.md,仅移除完全重复的日记条目。",
|
||||
archivePathCopied: "已复制归档路径。",
|
||||
archivePathCopyFailed: "无法复制归档路径。",
|
||||
updateFailed: "无法更新梦境设置。",
|
||||
unsupportedPlugin: "所选内存插件“{pluginId}”不支持梦境设置。",
|
||||
configHashMissing: "配置哈希缺失;请刷新后重试。",
|
||||
},
|
||||
wiki: {
|
||||
previewFallbackTitle: "Wiki 页面",
|
||||
close: "关闭",
|
||||
@@ -3401,6 +3701,60 @@ export const zh_CN: TranslationMap = {
|
||||
enableSuffix: ",然后重新加载此选项卡。",
|
||||
openConfig: "打开配置",
|
||||
howToEnable: "如何启用",
|
||||
pageTypes: {
|
||||
entity: "实体",
|
||||
concept: "概念",
|
||||
source: "来源",
|
||||
synthesis: "综合",
|
||||
report: "报告",
|
||||
},
|
||||
pageGroups: {
|
||||
sources: "来源",
|
||||
syntheses: "综合",
|
||||
reports: "报告",
|
||||
entities: "实体",
|
||||
concepts: "概念",
|
||||
},
|
||||
counts: {
|
||||
pageOne: "{count} 个页面",
|
||||
pages: "{count} 个页面",
|
||||
claimRowOne: "{count} 行声明",
|
||||
claimRows: "{count} 行声明",
|
||||
openQuestionOne: "{count} 个未解问题",
|
||||
openQuestions: "{count} 个未解问题",
|
||||
contradictionOne: "{count} 处矛盾",
|
||||
contradictions: "{count} 处矛盾",
|
||||
chats: "{count} 个聊天",
|
||||
sensitive: "{count} 个敏感项",
|
||||
signals: "{count} 个信号",
|
||||
messages: "{count} 条消息",
|
||||
userMessages: "{count} 条用户消息",
|
||||
assistantMessages: "{count} 条助手消息",
|
||||
},
|
||||
pageGroupSummary: "{label} · {count}",
|
||||
noPagesYet: "暂无页面",
|
||||
sectionPageSummary: "{label}:{count}",
|
||||
questionCountOnPages: "{pageCount} 个页面上有 {questionCount} 个",
|
||||
risk: {
|
||||
needsReview: "需要审核",
|
||||
low: "低风险",
|
||||
medium: "中风险",
|
||||
high: "高风险",
|
||||
unknown: "未知风险",
|
||||
},
|
||||
pageNotFound: "未找到 {lookup} 对应的 wiki 页面。",
|
||||
previewTruncated: "显示此页面的第一部分。",
|
||||
previewTruncatedWithTotal: "显示此页面的第一部分(共 {count} 行)。",
|
||||
importedClusterSummary: "已导入的聊天围绕 {label} 聚类。",
|
||||
withheldDigestOne: "有 {count} 条摘要因待审核而被保留。",
|
||||
withheldDigests: "有 {count} 条摘要因待审核而被保留。",
|
||||
details: "详情",
|
||||
hideDetails: "隐藏详情",
|
||||
vault: "Vault",
|
||||
fullVaultBreakdown: "完整 vault 明细:{breakdown}。",
|
||||
selectedSection: "已选章节:{summary}。",
|
||||
latestUpdate: "最近更新 {date}。",
|
||||
noContent: "暂无可用的 wiki 内容。",
|
||||
},
|
||||
phrases: {
|
||||
consolidatingMemories: "正在整合记忆…",
|
||||
@@ -3544,6 +3898,13 @@ export const zh_CN: TranslationMap = {
|
||||
session: "会话",
|
||||
sessions: "会话",
|
||||
},
|
||||
heatmap: {
|
||||
title: "Token 活动",
|
||||
subtitle: "所选时间范围内的每日 token 强度,最多一年。",
|
||||
cellTokens: "{tokens} 个 token",
|
||||
less: "较少",
|
||||
more: "较多",
|
||||
},
|
||||
providerUsage: {
|
||||
title: "供应商套餐与计费",
|
||||
subtitle: "已配置供应商报告的实时套餐、配额、余额和预算数据。",
|
||||
@@ -3908,6 +4269,106 @@ export const zh_CN: TranslationMap = {
|
||||
multipleMatches: "有多个会话匹配 {shortId}。",
|
||||
additionalMatches: "仍有搜索结果。请使用更长的 id 前缀。",
|
||||
},
|
||||
commandResults: {
|
||||
startingNewThread: "正在开始新线程……",
|
||||
resettingThread: "正在重置线程……",
|
||||
stoppingCurrentRun: "正在停止当前运行……",
|
||||
chatHistoryCleared: "聊天记录已清除。",
|
||||
exportingThread: "正在导出线程……",
|
||||
unknownCommand: "未知命令:`{command}`",
|
||||
options: "选项:{options}。",
|
||||
sessionUnavailable: "会话功能不可用",
|
||||
help: {
|
||||
availableCommands: "可用命令",
|
||||
agentCommand: "agent",
|
||||
openMenu: "输入 `/` 打开命令菜单。",
|
||||
},
|
||||
compaction: {
|
||||
failed: "压缩失败。",
|
||||
failedWithReason: "压缩失败:{reason}",
|
||||
tokenSummary: " ({before} -> {after} 个 token)",
|
||||
succeeded: "上下文压缩成功",
|
||||
skipped: "已跳过压缩。",
|
||||
skippedWithReason: "已跳过压缩:{reason}",
|
||||
},
|
||||
model: {
|
||||
current: "**当前模型:** {model}",
|
||||
available: "**可用:** {models}",
|
||||
more: "另有 {count} 项",
|
||||
getFailed: "获取模型信息失败:{error}",
|
||||
set: "模型已设置为 {model}。",
|
||||
setFailed: "设置模型失败:{error}",
|
||||
},
|
||||
thinking: {
|
||||
current: "当前思考级别:{level}。",
|
||||
getFailed: "获取思考级别失败:{error}",
|
||||
reset: "思考级别已重置为默认值。",
|
||||
resetFailed: "重置思考级别失败:{error}",
|
||||
unrecognized: "无法识别的思考级别“{level}”。有效级别:{options}。",
|
||||
unsupported: "此模型不支持的思考级别“{level}”。有效级别:{options}。",
|
||||
set: "思考级别已设置为 {level}。",
|
||||
setFailed: "设置思考级别失败:{error}",
|
||||
},
|
||||
verbose: {
|
||||
current: "当前详细级别:{level}。",
|
||||
getFailed: "获取详细级别失败:{error}",
|
||||
unrecognized: "无法识别的详细级别“{level}”。有效级别:off、on、full。",
|
||||
set: "详细模式已设置为 {level}。",
|
||||
setFailed: "设置详细模式失败:{error}",
|
||||
},
|
||||
fast: {
|
||||
autoValue: "自动({seconds} 秒)",
|
||||
on: "开启",
|
||||
off: "关闭",
|
||||
sourceSession: "(会话)",
|
||||
sourceAgent: "(默认:agent)",
|
||||
sourceModel: "(默认:model)",
|
||||
sourceDefault: " (默认)",
|
||||
current: "当前快速模式:{value}",
|
||||
options: "on、off、auto({seconds} 秒)、default、status",
|
||||
getFailed: "获取快速模式失败:{error}",
|
||||
reset: "快速模式已重置为默认。",
|
||||
resetFailed: "重置快速模式失败:{error}",
|
||||
unrecognized: '无法识别的快速模式 "{mode}"。有效级别:on、off、auto、default、status。',
|
||||
setAuto: "快速模式已设置为 auto。",
|
||||
enabled: "快速模式已启用。",
|
||||
disabled: "快速模式已禁用。",
|
||||
setFailed: "设置快速模式失败:{error}",
|
||||
},
|
||||
usage: {
|
||||
noActiveThread: "没有活动的会话线程。",
|
||||
notAvailable: "不适用",
|
||||
title: "线程用量",
|
||||
inputTokens: "输入:{count} tokens",
|
||||
outputTokens: "输出:{count} tokens",
|
||||
totalTokens: "总计:{count} tokens",
|
||||
context: "上下文:{percent},共 {total}",
|
||||
model: "模型:{model}",
|
||||
failed: "获取用量失败:{error}",
|
||||
},
|
||||
agents: {
|
||||
none: "未配置代理。",
|
||||
title: "**代理** ({count})",
|
||||
default: "默认",
|
||||
runtime: " · 运行时 {runtime}",
|
||||
failed: "列出代理失败:{error}",
|
||||
},
|
||||
steer: {
|
||||
timeout: "在引导消息被接受之前,活动运行已结束。",
|
||||
failed: "引导在到达运行之前失败;请重试。",
|
||||
usage: "用法:`/steer <message>`",
|
||||
noActiveRun: "没有活动运行。请改用聊天输入或 `/redirect`。",
|
||||
succeeded: "已引导。",
|
||||
requestFailed: "引导失败:{error}",
|
||||
},
|
||||
redirect: {
|
||||
timeout: "在重定向消息被接受之前,活动运行已结束。",
|
||||
failed: "重定向在到达运行之前失败;请重试。",
|
||||
usage: "用法:`/redirect <message>`",
|
||||
succeeded: "已重定向。",
|
||||
requestFailed: "重定向失败:{error}",
|
||||
},
|
||||
},
|
||||
sessionSharing: {
|
||||
menu: "会话共享",
|
||||
current: "会话可见性:{visibility}",
|
||||
@@ -4059,10 +4520,17 @@ export const zh_CN: TranslationMap = {
|
||||
dismissUpdateBanner: "关闭更新横幅",
|
||||
switchedSession: "已切换到 {session}",
|
||||
actions: {
|
||||
copyAsMarkdown: "复制为 markdown",
|
||||
dismissError: "关闭错误",
|
||||
exitFocusMode: "退出专注模式",
|
||||
scrollToLatest: "滚动到最新",
|
||||
},
|
||||
markdown: {
|
||||
truncated: "… 已截断(共 {total} 个字符,显示前 {shown} 个)。",
|
||||
},
|
||||
codeBlock: {
|
||||
jsonLines: "JSON · {count} 行",
|
||||
},
|
||||
workspaceConflict: {
|
||||
titleOne: "1 个云工作区冲突",
|
||||
titleMany: "{count} 个云工作区冲突",
|
||||
@@ -4155,6 +4623,7 @@ export const zh_CN: TranslationMap = {
|
||||
threads: "会话",
|
||||
groups: "群组",
|
||||
coding: "编码",
|
||||
noSessionsForAgent: "未找到此代理的会话",
|
||||
catalogViewOptions: "视图选项",
|
||||
catalogGroupByProject: "项目",
|
||||
catalogGroupByPerson: "人员",
|
||||
@@ -4166,6 +4635,7 @@ export const zh_CN: TranslationMap = {
|
||||
sessionMenu: "Actions for {session}",
|
||||
sessionMenuMany: "{count} 个会话的操作",
|
||||
toolActivity: "正在使用 {tool}",
|
||||
catalogDiscoveryHelp: "{error}。请在“设置 > 自动化 > 插件”中配置原生线程发现。",
|
||||
},
|
||||
welcome: {
|
||||
hintBeforeShortcut: "在下方输入消息 · 输入",
|
||||
@@ -4199,12 +4669,23 @@ export const zh_CN: TranslationMap = {
|
||||
steered: "已引导",
|
||||
steerQueuedMessage: "引导排队消息",
|
||||
removeQueuedMessage: "移除排队消息",
|
||||
states: {
|
||||
steering: "引导中",
|
||||
applyingSettings: "正在应用聊天设置",
|
||||
waitingForRun: "等待当前运行",
|
||||
runningCommand: "正在运行命令",
|
||||
waitingForReconnect: "等待重新连接",
|
||||
needsReview: "需要审核",
|
||||
},
|
||||
imageCount: "图片 ({count})",
|
||||
},
|
||||
goals: {
|
||||
edit: "编辑目标",
|
||||
pause: "暂停目标",
|
||||
resume: "恢复目标",
|
||||
clear: "清除目标",
|
||||
showDetails: "显示目标详情",
|
||||
hideDetails: "隐藏目标详情",
|
||||
},
|
||||
questions: {
|
||||
title: "Codex 需要输入",
|
||||
@@ -4230,6 +4711,7 @@ export const zh_CN: TranslationMap = {
|
||||
unavailable: "不可用",
|
||||
expired: "已过期",
|
||||
cancelled: "已取消",
|
||||
disconnected: "未连接。重新连接后请重试。",
|
||||
},
|
||||
imageLightbox: {
|
||||
label: "图片预览:{title}",
|
||||
@@ -4250,6 +4732,12 @@ export const zh_CN: TranslationMap = {
|
||||
reply: "回复",
|
||||
replyToMessage: "回复消息",
|
||||
replyingTo: "正在回复 {name}",
|
||||
message: "消息",
|
||||
currentMessage: "当前消息",
|
||||
actions: "消息操作",
|
||||
selectionActions: "选择操作",
|
||||
moreDetails: "更多详情",
|
||||
askInSideChat: "在侧边聊天中询问",
|
||||
rewind: "回退",
|
||||
rewindConfirm: "回退到此消息之前?",
|
||||
rewindToHere: "回退到此处",
|
||||
@@ -4259,14 +4747,34 @@ export const zh_CN: TranslationMap = {
|
||||
showMore: "展开",
|
||||
unknownDate: "未知日期",
|
||||
voiceNote: "语音消息",
|
||||
duplicatesCollapsed: "已折叠 {count} 条连续的相同消息",
|
||||
contextFor: "{timestamp} 的消息上下文",
|
||||
},
|
||||
mediaPlayer: {
|
||||
play: "播放",
|
||||
pause: "暂停",
|
||||
seek: "定位媒体",
|
||||
download: "下载 {filename}",
|
||||
videoUnavailable: "无法播放此格式——请改为下载。",
|
||||
},
|
||||
modelControls: {
|
||||
current: "当前",
|
||||
default: "默认",
|
||||
reasoning: "推理",
|
||||
speed: "速度",
|
||||
sessionOverride: "线程覆盖",
|
||||
useDefault: "使用默认值",
|
||||
usingDefault: "使用设置中的默认值",
|
||||
resetToDefault: "重置为默认值({model})",
|
||||
defaultWithModel: "默认 ({model})",
|
||||
defaultWithLevel: "默认 ({level})",
|
||||
fastHelp: "快速响应会更快完成,但可能占用更多的使用限额。",
|
||||
speedUnsupported: "此模型不支持速度控制。",
|
||||
contextWindow: "{count} 上下文",
|
||||
providerModels: "{provider} 模型",
|
||||
resetReasoning: "重置为默认 ({level})",
|
||||
useDefaultReasoning: "使用默认推理 ({level})",
|
||||
fastResponsesAria: "快速响应:{state}",
|
||||
},
|
||||
rail: {
|
||||
title: "会话助手",
|
||||
@@ -4336,6 +4844,19 @@ export const zh_CN: TranslationMap = {
|
||||
renderedMarkdownHint: "经过清理的富文本预览,便于快速阅读。",
|
||||
noPreviewableMarkdown: "没有可预览的 Markdown 内容。",
|
||||
noContent: "无可用内容",
|
||||
fullContentOversized: "无法获取完整内容,因为存储的转录条目过大,无法安全返回。",
|
||||
fullContentNotVisible: "无法获取完整内容,因为此转录条目没有可见的 WebChat 投影。",
|
||||
fullContentUnavailable: "此转录条目的完整内容已不再可用。",
|
||||
copyContents: "复制文件内容",
|
||||
fileChanged: "文件自加载以来已在磁盘上发生更改。",
|
||||
renderPreview: "渲染预览",
|
||||
imagePreview: "图片预览",
|
||||
file: "文件",
|
||||
markdownPreview: "Markdown 预览",
|
||||
toolDetails: "工具详情",
|
||||
reloadFailed: "重新加载最新文件失败。",
|
||||
overwriteLoadFailed: "覆盖前加载最新文件失败。",
|
||||
fullContentLoadFailed: "加载完整内容失败:{error}",
|
||||
},
|
||||
sidebarColumns: {
|
||||
chat: "聊天",
|
||||
@@ -4354,6 +4875,7 @@ export const zh_CN: TranslationMap = {
|
||||
unpin: "取消固定",
|
||||
loading: "正在加载聊天",
|
||||
noMatches: "没有匹配的消息",
|
||||
pinnedCount: "已置顶 {count} 条",
|
||||
},
|
||||
pairingQrExpired: {
|
||||
title: "配对二维码已过期",
|
||||
@@ -4373,13 +4895,53 @@ export const zh_CN: TranslationMap = {
|
||||
runDone: "完成",
|
||||
runInterrupted: "已中断",
|
||||
runStatus: "运行状态:{status}",
|
||||
compactingContext: "正在压缩上下文…",
|
||||
compacting: "正在压缩",
|
||||
compact: "压缩",
|
||||
contextCompacted: "上下文已压缩",
|
||||
fallbackActive: "备用已启用:{model}",
|
||||
fallbackCleared: "备用已清除:{model}",
|
||||
fallbackSelected: "已选择:{model}",
|
||||
fallbackCurrent: "当前使用:{model}",
|
||||
fallbackPrevious: "上一个备用:{model}",
|
||||
fallbackReason: "原因:{reason}",
|
||||
fallbackAttempts: "尝试次数:{attempts}",
|
||||
cancelReply: "取消回复",
|
||||
attachmentPreview: "附件预览",
|
||||
compactRecommendedContext: "压缩推荐的会话上下文",
|
||||
removeAttachment: "移除附件",
|
||||
addAttachment: "添加附件",
|
||||
attachPhoto: "照片",
|
||||
attachFile: "附加文件",
|
||||
attachFileOption: "文件",
|
||||
menu: {
|
||||
back: "后退",
|
||||
skills: "Skills",
|
||||
connectors: "连接器",
|
||||
webSearch: "网页搜索",
|
||||
managePlugins: "管理插件",
|
||||
manageSkills: "管理 Skills",
|
||||
browseConnectors: "浏览连接器",
|
||||
addMcpServer: "添加 MCP 服务器…",
|
||||
toolAccess: "工具访问权限",
|
||||
enabledCount: "{count} 个已开启",
|
||||
loadingSkills: "正在加载 Skills…",
|
||||
skillsLoadFailed: "无法加载 Skills。",
|
||||
noSkills: "暂无可用 Skills。",
|
||||
noConnectors: "未配置 MCP 服务器。",
|
||||
depsMissing: "缺少依赖",
|
||||
skillBlocked: "此代理不可用",
|
||||
sessionTag: "会话",
|
||||
offlineBlocked: "连接到 Gateway 以更改会话功能。",
|
||||
readOnlyBlocked: "更改会话功能需要写入权限。",
|
||||
adminBlocked: "管理连接器需要管理员权限。",
|
||||
savingBlocked: "请等待当前会话功能更改完成。",
|
||||
},
|
||||
overrides: {
|
||||
count: "{count} 项会话覆盖",
|
||||
countOne: "{count} 项会话覆盖",
|
||||
clear: "清除会话覆盖",
|
||||
},
|
||||
contextUsage: {
|
||||
title: "上下文使用详情",
|
||||
open: "打开上下文使用详情",
|
||||
@@ -4445,6 +5007,17 @@ export const zh_CN: TranslationMap = {
|
||||
turnCameraOn: "开启摄像头",
|
||||
voiceTranscript: "语音转录",
|
||||
},
|
||||
attachments: {
|
||||
attachedFile: "附加文件",
|
||||
outsideAllowedFolders: "在允许的文件夹之外",
|
||||
unavailable: "不可用",
|
||||
checking: "检查中...",
|
||||
},
|
||||
voice: {
|
||||
asking: "正在询问 OpenClaw…",
|
||||
connecting: "正在连接语音输入…",
|
||||
listening: "正在聆听…",
|
||||
},
|
||||
selectors: {
|
||||
session: "聊天会话",
|
||||
sessionSearch: "搜索会话",
|
||||
@@ -4645,6 +5218,7 @@ export const zh_CN: TranslationMap = {
|
||||
ru: "Русский(俄语)",
|
||||
},
|
||||
cron: {
|
||||
adminRequired: "仅可浏览。自动化更改需要 operator.admin 访问权限。",
|
||||
tabs: {
|
||||
filterLabel: "自动化状态",
|
||||
all: "全部",
|
||||
|
||||
Generated
+611
-34
@@ -8,6 +8,7 @@ export const zh_TW: TranslationMap = {
|
||||
ok: "OK",
|
||||
yes: "是",
|
||||
no: "否",
|
||||
assistant: "助理",
|
||||
active: "啟用中",
|
||||
loading: "載入中…",
|
||||
refreshing: "重新整理中…",
|
||||
@@ -35,8 +36,11 @@ export const zh_TW: TranslationMap = {
|
||||
create: "建立",
|
||||
copy: "複製",
|
||||
copied: "已複製!",
|
||||
copyFailed: "複製失敗",
|
||||
copyCode: "複製程式碼",
|
||||
resizeSplitView: "調整分割檢視大小",
|
||||
delete: "刪除",
|
||||
remove: "移除",
|
||||
dismiss: "關閉",
|
||||
unselect: "取消選取",
|
||||
enabled: "已啟用",
|
||||
@@ -45,6 +49,9 @@ export const zh_TW: TranslationMap = {
|
||||
none: "無",
|
||||
na: "不適用",
|
||||
never: "never",
|
||||
justNow: "剛剛",
|
||||
now: "現在",
|
||||
unknown: "未知",
|
||||
configured: "已設定",
|
||||
running: "執行中",
|
||||
linked: "已連結",
|
||||
@@ -70,6 +77,7 @@ export const zh_TW: TranslationMap = {
|
||||
settingsSections: "設定區段",
|
||||
version: "版本",
|
||||
docs: "文檔",
|
||||
learnMore: "瞭解更多",
|
||||
theme: "主題",
|
||||
colorMode: "色彩模式",
|
||||
colorModeOption: "顏色模式:{mode}",
|
||||
@@ -113,10 +121,24 @@ export const zh_TW: TranslationMap = {
|
||||
filteredFileCount: "{count}/{total} 個檔案",
|
||||
noMatches: "沒有符合的檔案。",
|
||||
navigate: "導覽",
|
||||
kind: {
|
||||
text: "文字",
|
||||
shell: "Shell",
|
||||
file: "檔案",
|
||||
},
|
||||
},
|
||||
mcpApp: {
|
||||
title: "MCP App",
|
||||
unavailable: "MCP App 無法使用:{error}",
|
||||
errors: {
|
||||
gatewayUnavailable: "MCP App gateway 無法使用",
|
||||
mountUnavailable: "MCP App 掛載無法使用",
|
||||
sandboxTimedOut: "MCP App 沙箱逾時",
|
||||
sandboxUnavailable: "MCP App 沙箱無法使用",
|
||||
initializationTimedOut: "MCP App 初始化逾時",
|
||||
requestFailed: "要求失敗",
|
||||
invalidSandboxUrl: "MCP App 沙箱 URL 無效",
|
||||
},
|
||||
},
|
||||
githubPreview: {
|
||||
loading: "正在載入 GitHub 詳細資料…",
|
||||
@@ -221,6 +243,7 @@ export const zh_TW: TranslationMap = {
|
||||
whatsappScanHelp: "在手機上開啟 WhatsApp → 設定 → 已連結的裝置 → 連結裝置,然後掃描此代碼。",
|
||||
whatsappQrLoading: "正在產生 QR code…",
|
||||
whatsappQrHint: "按一下「顯示 QR code」以產生配對代碼。",
|
||||
whatsappQrAlt: "WhatsApp QR",
|
||||
whatsappLinked: "WhatsApp 已連結並可使用。",
|
||||
regenerateQr: "新的 QR code",
|
||||
linkLater: "稍後連結",
|
||||
@@ -309,6 +332,18 @@ export const zh_TW: TranslationMap = {
|
||||
nip05: "you@example.com",
|
||||
lightningAddress: "you@getalby.com",
|
||||
},
|
||||
notices: {
|
||||
timeout: "請求在 30 秒後逾時;伺服器可能仍已套用變更 — 請在重試前先檢查個人檔案。",
|
||||
operationFailed: "{prefix}: {error}",
|
||||
updateFailed: "個人檔案更新失敗",
|
||||
updateFailedStatus: "個人檔案更新失敗 ({status})",
|
||||
publishFailed: "個人檔案在所有 relay 上發佈失敗。",
|
||||
published: "個人資料已發佈到中繼站。",
|
||||
importFailed: "個人資料匯入失敗",
|
||||
importFailedStatus: "個人資料匯入失敗({status})",
|
||||
importedFromRelays: "已從中繼站匯入個人資料。請檢閱並發佈。",
|
||||
imported: "已匯入個人資料。請檢閱並發佈。",
|
||||
},
|
||||
},
|
||||
},
|
||||
lazyView: {
|
||||
@@ -319,6 +354,42 @@ export const zh_TW: TranslationMap = {
|
||||
staleSubtitle: "OpenClaw 已在背景更新。請重新載入以取得最新面板。",
|
||||
reloading: "正在重新載入…",
|
||||
retry: "重試",
|
||||
stylesFailed: "樣式載入失敗,因此頁面可能顯示異常。",
|
||||
},
|
||||
updates: {
|
||||
refreshRequired: "伺服器已更新 — 請重新整理以取得完整功能",
|
||||
coalescedRestart: "更新已安裝。gateway 重新啟動已在進行中;重新連線後狀態將會更新。",
|
||||
error: "更新錯誤:{error}",
|
||||
status: "更新 {status}:{reason}。{guidance}",
|
||||
verificationFailed: "更新已安裝,但執行中的版本未變更 — 重新啟動可能已被封鎖。",
|
||||
verificationFailedWithVersions:
|
||||
"更新已安裝,但執行中的版本未變更 — 重新啟動可能已被封鎖。預期 v{expectedVersion},執行中 v{actualVersion}。",
|
||||
handoffTimeout:
|
||||
"更新交接已開始,但重新連線後未回報完成。請執行 `openclaw update status` 以取得最終結果。",
|
||||
failureReasons: {
|
||||
dirty: "請提交或暫存變更,然後重試。",
|
||||
noUpstream: "請設定上游分支,然後重試。",
|
||||
notGitInstall: "不是 git 檢出。請從 CLI 執行 `openclaw update` 以進行全域重新安裝。",
|
||||
notOpenclawRoot: "請從 OpenClaw 檢出目錄執行更新,或使用 CLI 全域重新安裝路徑。",
|
||||
depsInstallFailed: "相依套件安裝失敗。請修正安裝錯誤後重試。",
|
||||
buildFailed: "建置失敗。請修正建置錯誤後重試。",
|
||||
buildDirty: "所選修訂版本的建置變更了 checkout 檔案。請改用包含其產生產物的修訂版本後重試。",
|
||||
uiBuildFailed: "Control UI 重建失敗。請修正 UI 建置錯誤後重試。",
|
||||
globalInstallFailed: "全域套件安裝未能在磁碟上驗證。請重試或從 CLI 重新安裝。",
|
||||
restartDisabled:
|
||||
"由於 gateway 重新啟動已停用,因此未套用更新。請在設定中啟用重新啟動後重試。",
|
||||
restartUnavailable: "在重新啟動已停用且沒有 supervisor 的情況下,無法安全地取代此全域安裝。",
|
||||
restartUnhealthy:
|
||||
"替換的處理程序始終未變為健康狀態。先前的處理程序保持運行,以便您進行復原。",
|
||||
managedServiceHandoffAlreadyRunning:
|
||||
"另一個受管更新已在執行中。請等待其完成後再重新整理更新狀態。",
|
||||
doctorFailed: "Doctor 修復失敗。請執行 `openclaw doctor --non-interactive` 後重試。",
|
||||
default: "請查看 gateway 日誌以了解確切的失敗原因,並在修正原因後重試。",
|
||||
},
|
||||
postRestart: {
|
||||
restartUnhealthy: "替換的處理程序始終未變為健康狀態,先前的處理程序保持運行。",
|
||||
default: "請查看 gateway 日誌以了解替換失敗的原因。",
|
||||
},
|
||||
},
|
||||
nodes: {
|
||||
pairing: {
|
||||
@@ -794,6 +865,10 @@ export const zh_TW: TranslationMap = {
|
||||
},
|
||||
agents: {
|
||||
noAgents: "No agents",
|
||||
defaults: {
|
||||
title: "Agent 預設值",
|
||||
description: "除非被覆寫,否則每個 agent 都會繼承的預設值。",
|
||||
},
|
||||
copyId: "Copy ID",
|
||||
copyIdTitle: "Copy agent ID to clipboard",
|
||||
default: "Default",
|
||||
@@ -995,6 +1070,9 @@ export const zh_TW: TranslationMap = {
|
||||
noEvents: "No events yet.",
|
||||
},
|
||||
configForm: {
|
||||
redactedPlaceholder: "[已遮蔽 - 點擊顯示以檢視]",
|
||||
sectionHelp: "{section} 的說明",
|
||||
readGuide: "閱讀指南",
|
||||
showAdvanced: "顯示進階",
|
||||
advancedHidden: "已隱藏 {count} 項進階設定",
|
||||
advancedHiddenPlural: "已隱藏 {count} 項進階設定",
|
||||
@@ -1182,9 +1260,12 @@ export const zh_TW: TranslationMap = {
|
||||
lobsterdexSeen: "已造訪 {seen}/{total}",
|
||||
lobsterdexFirstVisited: "{name} · 首次造訪於 {date}",
|
||||
lobsterdexCardFirstVisited: "首次造訪於 {date}",
|
||||
lobsterdexCardShinySeen: "✦ 於 {date} 發現閃光",
|
||||
lobsterdexCardCopyLink: "複製連結",
|
||||
lobsterdexOpen: "開啟 Lobsterdex",
|
||||
},
|
||||
security: {
|
||||
intro: "檢閱 Gateway 存取權、工具政策、裝置驗證與核准。",
|
||||
title: "安全性",
|
||||
gatewayAuth: "Gateway 驗證",
|
||||
execPolicy: "執行原則",
|
||||
@@ -1350,6 +1431,7 @@ export const zh_TW: TranslationMap = {
|
||||
nativeBlockedHint: "OpenClaw 在 macOS 中的通知已停用。請在「系統設定」>「通知」中允許通知。",
|
||||
},
|
||||
appearance: {
|
||||
intro: "此 Control UI 用戶端的主題、聊天與側邊欄偏好設定。",
|
||||
theme: "主題",
|
||||
chooseTheme: "選擇一個主題系列。",
|
||||
importedTheme: "已匯入的主題",
|
||||
@@ -1419,11 +1501,11 @@ export const zh_TW: TranslationMap = {
|
||||
open: "開啟",
|
||||
applying: "套用中…",
|
||||
autoSaveSaving: "儲存中…",
|
||||
autoSaveSaved: "已儲存",
|
||||
autoSaveFailed: "儲存失敗",
|
||||
autoSaveConflict: "設定已在其他地方變更",
|
||||
retry: "重試",
|
||||
applyBannerText: "已儲存至 openclaw.json — 重新啟動 Gateway 以套用。",
|
||||
applyBannerAction: "重新啟動並套用",
|
||||
applyChanges: "套用變更",
|
||||
rawDiscard: "捨棄",
|
||||
rawDraftBlocksApply: "有未儲存的原始設定編輯 — 請在 Raw 編輯器中儲存或捨棄後再重新啟動。",
|
||||
rawDraftPendingFormTitle: "有未儲存的原始設定編輯 — 請先儲存或捨棄再切換至表單模式。",
|
||||
@@ -1661,7 +1743,6 @@ export const zh_TW: TranslationMap = {
|
||||
forward: "前進",
|
||||
chat: "聊天",
|
||||
settings: "設置",
|
||||
settingsGeneral: "一般",
|
||||
askOpenClaw: "詢問 OpenClaw",
|
||||
settingsGroupConnections: "連線",
|
||||
settingsGroupAgents: "代理程式與工具",
|
||||
@@ -1717,6 +1798,9 @@ export const zh_TW: TranslationMap = {
|
||||
dockBottom: "Dock to bottom",
|
||||
dockRight: "Dock to right",
|
||||
unavailable: "The terminal is not available on this gateway.",
|
||||
uploadTooLarge: "檔案超過 16 MiB 終端機上傳限制:{file}",
|
||||
uploadUnsafeCmdPath: "無法安全地將包含 % 或 ! 的上傳路徑插入 cmd.exe",
|
||||
uploadUnsupportedShell: "無法安全地將上傳路徑插入不支援的 shell:{shell}",
|
||||
},
|
||||
browser: {
|
||||
title: "瀏覽器",
|
||||
@@ -1753,6 +1837,15 @@ export const zh_TW: TranslationMap = {
|
||||
noChatTarget: "請先開啟聊天工作階段,讓註解有地方可傳送。",
|
||||
inspectUnavailable: "元素檢查已停用 (browser.evaluateEnabled=false)。",
|
||||
annotationSent: "註解已新增到聊天撰寫器。",
|
||||
errors: {
|
||||
requestFailed: "瀏覽器要求失敗:{error}",
|
||||
screenshotPathMissing: "瀏覽器螢幕截圖未回傳媒體路徑。",
|
||||
screenshotFetchTimedOut: "螢幕截圖擷取逾時。",
|
||||
screenshotFetchFailed: "螢幕截圖擷取失敗({status})。",
|
||||
screenshotReadFailed: "螢幕截圖讀取失敗。",
|
||||
screenshotDecodeFailed: "螢幕截圖解碼失敗。",
|
||||
canvasUnavailable: "Canvas 2D 內容無法使用。",
|
||||
},
|
||||
annotatePrompt: {
|
||||
introTitled:
|
||||
"我已在 {url} 的頁面加上註解(頁面回報的標題:「{title}」)— 附加的螢幕截圖顯示了我的標記。",
|
||||
@@ -1798,6 +1891,7 @@ export const zh_TW: TranslationMap = {
|
||||
automation: "自動化",
|
||||
mcp: "MCP",
|
||||
memory: "記憶",
|
||||
talk: "對話",
|
||||
infrastructure: "基礎設施",
|
||||
labs: "實驗室",
|
||||
about: "關於",
|
||||
@@ -1837,6 +1931,7 @@ export const zh_TW: TranslationMap = {
|
||||
automation: "命令、鉤子、定時任務和插件設置。",
|
||||
mcp: "MCP 伺服器、驗證、工具與診斷。",
|
||||
memory: "記憶引擎、後端、搜尋與夢境。",
|
||||
talk: "即時語音:供應商、模型與說話者語音。",
|
||||
infrastructure: "網關、Web、瀏覽器和媒體設置。",
|
||||
labs: "實驗性代理與工具功能。",
|
||||
about: "Control UI 與已連線的 Gateway 建置身分識別。",
|
||||
@@ -1854,6 +1949,16 @@ export const zh_TW: TranslationMap = {
|
||||
modelSetup: {
|
||||
heading: "連接您的 AI",
|
||||
intro: "OpenClaw 會重複使用您已有的 AI 存取方式 — CLI 登入、API 金鑰或供應商登入。",
|
||||
required: {
|
||||
title: "未設定 AI 供應商",
|
||||
body: "OpenClaw 找不到為此代理程式設定的供應商與模型。請在開始對話前先新增一個。",
|
||||
action: "設定供應商",
|
||||
},
|
||||
connectionFailure: {
|
||||
title: "OpenClaw 無法使用您設定的 AI",
|
||||
body: "此代理程式已選取供應商與模型,但連線失敗。請檢查供應商登入或 API 金鑰、模型存取權與服務狀態,然後再試一次。",
|
||||
action: "檢查供應商設定",
|
||||
},
|
||||
loading: "正在檢查此 Gateway 上可用的 AI 存取方式…",
|
||||
retry: "重試",
|
||||
checkAgain: "再次檢查",
|
||||
@@ -1884,6 +1989,8 @@ export const zh_TW: TranslationMap = {
|
||||
},
|
||||
unavailable: {
|
||||
title: "已偵測,但未自動測試",
|
||||
signIn: "使用 {provider} 登入",
|
||||
useApiKey: "使用 API 金鑰",
|
||||
},
|
||||
signIn: {
|
||||
title: "使用供應商帳號登入",
|
||||
@@ -1986,6 +2093,35 @@ export const zh_TW: TranslationMap = {
|
||||
agent: "目標代理程式",
|
||||
replaceExisting: "取代現有匯入內容",
|
||||
replaceHint: "再次預覽衝突,並在取代前保留個別項目的備份。",
|
||||
backfill: {
|
||||
title: "從過往工作階段",
|
||||
subtitle: "從先前的代理工作階段暫存受信任的記憶。夢境會將有用的記憶提升為長期記憶。",
|
||||
dateRange: "工作階段日期範圍",
|
||||
dateRangeHint: "將任一日期留空可掃描整個可用範圍。",
|
||||
from: "從",
|
||||
to: "至",
|
||||
actions: "回填",
|
||||
preview: "預覽",
|
||||
previewing: "預覽中…",
|
||||
apply: "套用",
|
||||
applying: "套用中…",
|
||||
rollback: "還原",
|
||||
previewSummary: "{days} 天內有 {candidates} 個候選項目",
|
||||
previewTruncated: "此預覽顯示第一個有限批次。套用時會繼續處理剩餘的候選項目。",
|
||||
candidateCount: "{count} 個候選項目",
|
||||
noCandidates: "找不到新的受信任工作階段候選項目。",
|
||||
progress: "已處理 {days} 天 · 已暫存 {staged}",
|
||||
processedCandidates: "已處理 {count} 個工作階段候選項目",
|
||||
processedDayCountOne: "已處理 {count} 天",
|
||||
processedDayCount: "已處理 {count} 天",
|
||||
complete: "已暫存 {count} 個;提升將透過夢境進行",
|
||||
rollbackConfirmTitle: "回溯還原工作階段補建?",
|
||||
rollbackConfirmDescription: "移除此代理程式透過工作階段補建所建立的日記項目與暫存記憶。",
|
||||
rollbackWarning: "追蹤的工作階段游標會保留原位,因此已移除的項目不會再次暫存。",
|
||||
rollbackComplete: "工作階段補建已還原",
|
||||
rollbackCounts: "已移除 {diary} 筆日記項目與 {staged} 筆暫存項目",
|
||||
unavailable: "此 Gateway 無法使用工作階段補建。",
|
||||
},
|
||||
},
|
||||
onboarding: {
|
||||
memoryImport: {
|
||||
@@ -2025,6 +2161,14 @@ export const zh_TW: TranslationMap = {
|
||||
connectionChanged: "Gateway 連線已變更。請重試以繼續此設定。",
|
||||
sessionRestarted: "{error} OpenClaw 已開啟新的工作階段;先前的訊息會保留以供參考。",
|
||||
unsupportedGateway: "請更新 Gateway 以繼續使用 OpenClaw 進行設定。",
|
||||
panel: {
|
||||
title: "OpenClaw",
|
||||
toggle: "詢問 OpenClaw",
|
||||
close: "關閉 Ask OpenClaw",
|
||||
resize: "調整 Ask OpenClaw 大小",
|
||||
dockBottom: "將 Ask OpenClaw 停靠於底部",
|
||||
dockRight: "將 Ask OpenClaw 停靠於右側",
|
||||
},
|
||||
history: {
|
||||
button: "歷史記錄",
|
||||
title: "近期變更",
|
||||
@@ -2083,12 +2227,14 @@ export const zh_TW: TranslationMap = {
|
||||
working: "處理中…",
|
||||
},
|
||||
mcpPage: {
|
||||
intro: "連接並管理提供工具給 OpenClaw 的 MCP 伺服器。",
|
||||
connectorsLink: "在外掛程式頁面探索一鍵連接器。",
|
||||
servers: "伺服器",
|
||||
oauth: "OAuth",
|
||||
filtered: "已篩選",
|
||||
configuredServers: "已設定的伺服器",
|
||||
noServers: "尚未設定 MCP 伺服器。",
|
||||
setUpFirstServer: "設定你的第一個 MCP 伺服器",
|
||||
operatorCommands: "MCP 操作員指令",
|
||||
operatorCommandsHint: "狀態、診斷、驗證、探測與執行階段重新載入。",
|
||||
runtimeHint:
|
||||
@@ -2098,12 +2244,131 @@ export const zh_TW: TranslationMap = {
|
||||
tlsVerifyOff: "TLS 驗證已關閉",
|
||||
mtls: "mTLS",
|
||||
},
|
||||
talkPage: {
|
||||
intro: "設定即時語音提供者、模型與語者音色。",
|
||||
voiceSection: {
|
||||
title: "即時語音",
|
||||
description:
|
||||
"與代理程式進行連續語音對話。下方的選取器會寫入 talk.realtime 設定;再下方的完整表單則涵蓋其餘所有項目。",
|
||||
},
|
||||
status: {
|
||||
title: "狀態",
|
||||
ready: "就緒",
|
||||
notReady: "尚未設定",
|
||||
unavailable: "無法使用",
|
||||
unavailableHint: "連接至 Gateway 以檢查即時語音就緒狀態。",
|
||||
activeProvider: "使用中的提供者:{provider}",
|
||||
noProvider: "尚未設定即時語音提供者。",
|
||||
},
|
||||
provider: {
|
||||
title: "提供者",
|
||||
description: "自動選擇第一個具有有效憑證的供應商。",
|
||||
auto: "自動",
|
||||
},
|
||||
model: {
|
||||
title: "模型",
|
||||
description: "用於瀏覽器 Talk 工作階段的即時語音模型。",
|
||||
default: "供應商預設",
|
||||
defaultNamed: "預設({model})",
|
||||
},
|
||||
voice: {
|
||||
title: "說話者語音",
|
||||
description: "用於語音回覆的聲音。GPT-Live 會在通話開始後鎖定語音。",
|
||||
default: "供應商預設",
|
||||
},
|
||||
gptLive: {
|
||||
title: "GPT-Live",
|
||||
hint: "GPT-Live 可搭配 ChatGPT 訂閱使用:只需以「openclaw models auth login --provider openai」登入一次。不需要 Platform API 金鑰。僅限瀏覽器 Talk。委派的工作可在執行期間引導,且高影響操作需要精確的語音確認。",
|
||||
ready: "就緒",
|
||||
},
|
||||
},
|
||||
memoryPage: {
|
||||
intro: "選擇 OpenClaw 儲存、搜尋和維護代理記憶的方式。",
|
||||
tablistLabel: "記憶區段",
|
||||
tabs: {
|
||||
overview: "總覽",
|
||||
search: "搜尋",
|
||||
dreaming: "夢境",
|
||||
memories: "記憶",
|
||||
dreams: "夢境",
|
||||
settings: "設定",
|
||||
},
|
||||
overview: {
|
||||
hero: {
|
||||
awake: "記憶已喚醒",
|
||||
waking: "正在喚醒記憶…",
|
||||
hibernating: "記憶處於休眠狀態",
|
||||
needsAttention: "記憶需要注意",
|
||||
activeDescription: "{engine} · {mode}",
|
||||
loadingDescription: "正在檢查此代理的記憶引擎和夢境週期。",
|
||||
offDescription: "在「設定」中選擇一個記憶引擎以喚醒它。",
|
||||
disabledDescription: "所選的記憶引擎已停用。請在「設定」中重新啟用它。",
|
||||
gatewayOffline: "Gateway 已離線,因此無法取得記憶狀態。",
|
||||
hybridSearch: "混合搜尋",
|
||||
keywordSearch: "關鍵字搜尋(無嵌入)",
|
||||
openSettings: "開啟設定",
|
||||
retry: "重試",
|
||||
refresh: "重新整理狀態",
|
||||
},
|
||||
schedule: {
|
||||
title: "睡眠排程",
|
||||
lightDescription: "整理新的短期筆記,並暫存有潛力的候選項目,不會變更長期記憶。",
|
||||
remDescription: "回顧近期活動中的主題與反覆出現的想法,以強化排序,不會變更長期記憶。",
|
||||
deepDescription:
|
||||
"為暫存的候選項目評分,將保留者提升至長期記憶(MEMORY.md),並寫入夢境日記。",
|
||||
nextRun: "下次 {time}",
|
||||
lastRun: "上次 {time}",
|
||||
notScheduled: "未排程",
|
||||
learnMore: "夢境運作方式",
|
||||
openDocs: "開啟夢境指南",
|
||||
},
|
||||
activity: {
|
||||
title: "活動",
|
||||
promotedToday: "今日已提升",
|
||||
promotedTotal: "提升總數",
|
||||
shortTermCount: "待處理短期項目",
|
||||
phaseHitCount: "階段訊號",
|
||||
lightPhaseHitCount: "淺層階段命中",
|
||||
remPhaseHitCount: "REM 階段命中",
|
||||
},
|
||||
health: {
|
||||
title: "引擎健康狀態",
|
||||
provider: "供應商",
|
||||
embeddings: "嵌入",
|
||||
runtime: "嵌入執行環境",
|
||||
healthy: "就緒",
|
||||
unavailable: "無法使用",
|
||||
notChecked: "未檢查",
|
||||
notCheckedDescription: "尚未檢查嵌入就緒狀態。",
|
||||
checking: "檢查中…",
|
||||
test: "測試",
|
||||
testing: "測試中…",
|
||||
},
|
||||
shortcuts: {
|
||||
title: "探索記憶",
|
||||
memories: "搜尋記憶",
|
||||
diary: "閱讀夢境日記",
|
||||
settings: "設定記憶",
|
||||
},
|
||||
},
|
||||
memories: {
|
||||
searchLabel: "搜尋記憶",
|
||||
searchPlaceholder: "搜尋此代理的記憶",
|
||||
searchButton: "搜尋",
|
||||
idle: "搜尋人物、專案、決策或此代理記得的任何事物。",
|
||||
searching: "搜尋記憶中…",
|
||||
results: "{count} 筆結果",
|
||||
empty: "沒有記憶符合「{query}」。",
|
||||
error: "記憶搜尋失敗:{message}",
|
||||
retry: "重試",
|
||||
gatewayUpdateRequired: "請更新 Gateway 以從 Control UI 搜尋記憶。",
|
||||
hybridSearch: "混合搜尋",
|
||||
keywordSearch: "關鍵字搜尋",
|
||||
lineRange: "第 {start}–{end} 行",
|
||||
score: "分數 {score}",
|
||||
sourceMemory: "記憶",
|
||||
sourceSessions: "工作階段",
|
||||
fileLoading: "正在載入完整記憶檔案…",
|
||||
fileError: "無法載入此記憶檔案:{message}",
|
||||
fileUnsupported: "此記憶檔案無法以文字顯示。",
|
||||
},
|
||||
engine: {
|
||||
title: "引擎",
|
||||
@@ -2137,6 +2402,8 @@ export const zh_TW: TranslationMap = {
|
||||
memoryWiki: {
|
||||
title: "記憶維基",
|
||||
},
|
||||
toggleAriaLabel: "啟用或停用 {plugin}",
|
||||
changeFailed: "無法更新 {plugin}",
|
||||
stateUnknown: "未知",
|
||||
manage: "啟用或停用附加元件",
|
||||
manageLink: "開啟外掛程式",
|
||||
@@ -2498,35 +2765,8 @@ export const zh_TW: TranslationMap = {
|
||||
},
|
||||
profilePage: {
|
||||
offline: "連線至 Gateway 以認識你的代理程式。",
|
||||
loading: "正在潛入查看統計資料…",
|
||||
emptyTitle: "嶄新的外殼",
|
||||
emptyBody: "尚無 token 活動。傳送訊息給你的代理程式,看看礁區亮起來。",
|
||||
sinceChip: "自 {date} 起在礁區中",
|
||||
channelChipTitle: "此頻道上有 {tokens} 個 token",
|
||||
statLifetimeTokens: "累計 token",
|
||||
statPeakDay: "高峰日",
|
||||
statLongestSession: "最長工作階段",
|
||||
statCurrentStreak: "目前連續紀錄",
|
||||
statLongestStreak: "最長連續紀錄",
|
||||
streakDay: "{count} 天",
|
||||
streakDays: "{count} 天",
|
||||
heatmapTitle: "Token 活動",
|
||||
heatmapSub: "礁區中的一年 — 紅色越深,蟹螯越忙碌。",
|
||||
heatmapCellTokens: "{tokens} 個 token",
|
||||
legendLess: "較少",
|
||||
legendMore: "較多",
|
||||
insightsTitle: "活動洞察",
|
||||
insightModel: "最常使用的模型",
|
||||
insightMessages: "已交換的訊息",
|
||||
insightToolCalls: "工具呼叫",
|
||||
insightUniqueTools: "不同工具",
|
||||
insightAgents: "礁域中的代理",
|
||||
insightSessions: "已追蹤的工作階段",
|
||||
sessionsCapped: "{count}+",
|
||||
toolsTitle: "最常使用的工具",
|
||||
toolsEmpty: "尚未記錄任何工具執行。",
|
||||
toolRun: "{count} 次執行",
|
||||
toolRuns: "{count} 次執行",
|
||||
usageStatistics: "使用統計",
|
||||
usageStatisticsDescription: "檢視活動、費用與使用趨勢。",
|
||||
identity: {
|
||||
title: "身分",
|
||||
menuLabel: "身分選單",
|
||||
@@ -2623,6 +2863,9 @@ export const zh_TW: TranslationMap = {
|
||||
next: "下一步",
|
||||
apply: "套用",
|
||||
applying: "套用中…",
|
||||
evaluate: "評估",
|
||||
evaluating: "評估中…",
|
||||
evaluated: "已評估",
|
||||
revise: "修訂",
|
||||
tweak: "微調",
|
||||
opening: "開啟中…",
|
||||
@@ -2630,6 +2873,11 @@ export const zh_TW: TranslationMap = {
|
||||
rejecting: "拒絕中…",
|
||||
sending: "傳送中…",
|
||||
},
|
||||
notices: {
|
||||
applied: "已套用",
|
||||
rejected: "已拒絕",
|
||||
revisionRequested: "已請求修訂",
|
||||
},
|
||||
revision: {
|
||||
title: "{verb}提案",
|
||||
description: "告訴代理應該修改什麼。提案將維持待處理狀態,工作坊會建立修訂後的版本。",
|
||||
@@ -2654,6 +2902,35 @@ export const zh_TW: TranslationMap = {
|
||||
supportFilesTitle: "支援檔案",
|
||||
clickToPreview: "· 按一下以預覽",
|
||||
},
|
||||
evaluation: {
|
||||
title: "評估",
|
||||
version: "提案 {version}",
|
||||
completedAt: "已於 {time} 完成",
|
||||
status: {
|
||||
completed: "已完成",
|
||||
skipped: "已略過",
|
||||
error: "錯誤",
|
||||
},
|
||||
decision: {
|
||||
pass: "通過",
|
||||
revise: "修訂",
|
||||
block: "封鎖",
|
||||
},
|
||||
severity: {
|
||||
info: "資訊",
|
||||
warn: "警告",
|
||||
critical: "嚴重",
|
||||
},
|
||||
evaluatorVersion: "評估器 {version}",
|
||||
mode: "模式 {mode}",
|
||||
findings: "發現項目",
|
||||
metrics: "指標",
|
||||
fileLine: "{file}:{line}",
|
||||
errors: {
|
||||
revisionHashUnavailable: "無法識別目前的提案修訂版本。",
|
||||
revisionChanged: "評估期間提案修訂版本已變更。",
|
||||
},
|
||||
},
|
||||
empty: {
|
||||
searchTitle: "沒有符合的提案",
|
||||
searchBody: "清除搜尋或嘗試其他關鍵字。",
|
||||
@@ -2714,6 +2991,8 @@ export const zh_TW: TranslationMap = {
|
||||
comeWithIt: "隨附提供。",
|
||||
useIt: "使用它",
|
||||
addToSkills: "加入你的 Skills",
|
||||
evaluate: "評估",
|
||||
runChecks: "執行提案檢查",
|
||||
tweakIt: "調整它",
|
||||
askAgent: "請代理更改某些內容",
|
||||
skipping: "略過中…",
|
||||
@@ -3364,6 +3643,30 @@ export const zh_TW: TranslationMap = {
|
||||
reload: "重新載入",
|
||||
reloading: "重新載入中…",
|
||||
},
|
||||
actions: {
|
||||
dedupeRemovedOneAndKept: "已移除 {removed} 筆重複的夢境項目,並保留 {kept} 筆。",
|
||||
dedupeRemovedManyAndKept: "已移除 {removed} 筆重複的夢境項目,並保留 {kept} 筆。",
|
||||
dedupeRemovedOne: "已移除 {removed} 筆重複的夢境項目。",
|
||||
dedupeRemovedMany: "已移除 {removed} 筆重複的夢境項目。",
|
||||
repairArchivedThreadCorpus: "已封存的討論串語料庫",
|
||||
repairArchivedIngestionState: "已封存的擷取狀態",
|
||||
repairArchivedDreamDiary: "archived dream diary",
|
||||
repairNoChanges: "夢境快取修復完成,未有任何變更。",
|
||||
repairCompleteWithArchive: "夢境快取修復完成:{actions}。封存:{archiveDir}",
|
||||
repairComplete: "夢境快取修復完成:{actions}。",
|
||||
backfillComplete: "已回填 {count} 筆夢境日記項目。",
|
||||
resetDiaryComplete: "已移除 {count} 筆已回填的夢境日記項目。",
|
||||
clearReplayedComplete: "已清除 {count} 筆重播的短期項目。",
|
||||
complete: "夢境日記動作完成。",
|
||||
confirmRepair:
|
||||
"要修復夢境快取嗎?這會封存衍生的夢境快取檔案,並從乾淨的輸入重新建立。您的夢境日記不會受到影響。",
|
||||
confirmDedupe: "要去除夢境日記的重複項目嗎?這會重寫 DREAMS.md,且只移除完全重複的日記項目。",
|
||||
archivePathCopied: "已複製封存路徑。",
|
||||
archivePathCopyFailed: "無法複製封存路徑。",
|
||||
updateFailed: "無法更新夢境設定。",
|
||||
unsupportedPlugin: "所選的記憶插件「{pluginId}」不支援夢境設定。",
|
||||
configHashMissing: "缺少設定雜湊值;請重新整理後再試。",
|
||||
},
|
||||
wiki: {
|
||||
previewFallbackTitle: "Wiki 頁面",
|
||||
close: "關閉",
|
||||
@@ -3408,6 +3711,60 @@ export const zh_TW: TranslationMap = {
|
||||
enableSuffix: ",然後重新載入此分頁。",
|
||||
openConfig: "開啟 Config",
|
||||
howToEnable: "如何啟用",
|
||||
pageTypes: {
|
||||
entity: "實體",
|
||||
concept: "概念",
|
||||
source: "來源",
|
||||
synthesis: "綜合",
|
||||
report: "報告",
|
||||
},
|
||||
pageGroups: {
|
||||
sources: "來源",
|
||||
syntheses: "綜合",
|
||||
reports: "報告",
|
||||
entities: "實體",
|
||||
concepts: "概念",
|
||||
},
|
||||
counts: {
|
||||
pageOne: "{count} 頁",
|
||||
pages: "{count} 頁",
|
||||
claimRowOne: "{count} 個宣稱列",
|
||||
claimRows: "{count} 個宣稱列",
|
||||
openQuestionOne: "{count} 個未解問題",
|
||||
openQuestions: "{count} 個未解問題",
|
||||
contradictionOne: "{count} 個矛盾",
|
||||
contradictions: "{count} 個矛盾",
|
||||
chats: "{count} 個對話",
|
||||
sensitive: "{count} 個敏感項目",
|
||||
signals: "{count} 個訊號",
|
||||
messages: "{count} 則訊息",
|
||||
userMessages: "{count} 個使用者",
|
||||
assistantMessages: "{count} 個助理",
|
||||
},
|
||||
pageGroupSummary: "{label} · {count}",
|
||||
noPagesYet: "尚無頁面",
|
||||
sectionPageSummary: "{label}:{count}",
|
||||
questionCountOnPages: "{questionCount} 個,位於 {pageCount}",
|
||||
risk: {
|
||||
needsReview: "需要審查",
|
||||
low: "低風險",
|
||||
medium: "中風險",
|
||||
high: "高風險",
|
||||
unknown: "未知風險",
|
||||
},
|
||||
pageNotFound: "找不到 {lookup} 的 wiki 頁面。",
|
||||
previewTruncated: "顯示此頁面的第一個區塊。",
|
||||
previewTruncatedWithTotal: "顯示此頁面的第一個區塊(共 {count} 行)。",
|
||||
importedClusterSummary: "匯入的聊天以 {label} 為中心分群。",
|
||||
withheldDigestOne: "{count} 份摘要因待審查而被保留。",
|
||||
withheldDigests: "{count} 份摘要因待審查而被保留。",
|
||||
details: "詳細資料",
|
||||
hideDetails: "隱藏詳細資訊",
|
||||
vault: "Vault",
|
||||
fullVaultBreakdown: "完整 vault 明細:{breakdown}。",
|
||||
selectedSection: "已選取的區段:{summary}。",
|
||||
latestUpdate: "最新更新 {date}。",
|
||||
noContent: "沒有可用的 wiki 內容。",
|
||||
},
|
||||
phrases: {
|
||||
consolidatingMemories: "正在整合記憶…",
|
||||
@@ -3551,6 +3908,13 @@ export const zh_TW: TranslationMap = {
|
||||
session: "工作階段",
|
||||
sessions: "工作階段",
|
||||
},
|
||||
heatmap: {
|
||||
title: "Token 活動",
|
||||
subtitle: "所選範圍的每日 token 強度,最多一年。",
|
||||
cellTokens: "{tokens} 個 token",
|
||||
less: "較少",
|
||||
more: "較多",
|
||||
},
|
||||
providerUsage: {
|
||||
title: "供應商方案與計費",
|
||||
subtitle: "已設定供應商回報的即時方案、配額、餘額與預算資料。",
|
||||
@@ -3917,6 +4281,106 @@ export const zh_TW: TranslationMap = {
|
||||
multipleMatches: "有多個工作階段符合 {shortId}。",
|
||||
additionalMatches: "仍有搜尋結果。請使用更長的 id 前綴。",
|
||||
},
|
||||
commandResults: {
|
||||
startingNewThread: "正在開始新對話串...",
|
||||
resettingThread: "正在重設對話串...",
|
||||
stoppingCurrentRun: "正在停止目前的執行...",
|
||||
chatHistoryCleared: "聊天記錄已清除。",
|
||||
exportingThread: "正在匯出對話串...",
|
||||
unknownCommand: "未知指令:`{command}`",
|
||||
options: "選項:{options}。",
|
||||
sessionUnavailable: "工作階段功能無法使用",
|
||||
help: {
|
||||
availableCommands: "可用指令",
|
||||
agentCommand: "代理程式",
|
||||
openMenu: "輸入 `/` 以開啟指令選單。",
|
||||
},
|
||||
compaction: {
|
||||
failed: "壓縮失敗。",
|
||||
failedWithReason: "壓縮失敗:{reason}",
|
||||
tokenSummary: " ({before} -> {after} 個 token)",
|
||||
succeeded: "內容已成功壓縮",
|
||||
skipped: "已略過壓縮。",
|
||||
skippedWithReason: "已略過壓縮:{reason}",
|
||||
},
|
||||
model: {
|
||||
current: "**目前模型:** {model}",
|
||||
available: "**可用:** {models}",
|
||||
more: "還有 +{count} 個",
|
||||
getFailed: "無法取得模型資訊:{error}",
|
||||
set: "模型已設定為 {model}。",
|
||||
setFailed: "無法設定模型:{error}",
|
||||
},
|
||||
thinking: {
|
||||
current: "目前思考等級:{level}。",
|
||||
getFailed: "無法取得思考等級:{error}",
|
||||
reset: "思考等級已重設為預設值。",
|
||||
resetFailed: "無法重設思考等級:{error}",
|
||||
unrecognized: "無法辨識的思考等級「{level}」。有效等級:{options}。",
|
||||
unsupported: "此模型不支援思考等級「{level}」。有效等級:{options}。",
|
||||
set: "思考等級已設定為 {level}。",
|
||||
setFailed: "無法設定思考等級:{error}",
|
||||
},
|
||||
verbose: {
|
||||
current: "目前詳細等級:{level}。",
|
||||
getFailed: "無法取得詳細等級:{error}",
|
||||
unrecognized: "無法辨識的詳細等級「{level}」。有效等級:off、on、full。",
|
||||
set: "詳細模式已設定為 {level}。",
|
||||
setFailed: "無法設定詳細模式:{error}",
|
||||
},
|
||||
fast: {
|
||||
autoValue: "自動({seconds} 秒)",
|
||||
on: "開啟",
|
||||
off: "關閉",
|
||||
sourceSession: "(工作階段)",
|
||||
sourceAgent: "(預設:agent)",
|
||||
sourceModel: "(預設:model)",
|
||||
sourceDefault: "(預設)",
|
||||
current: "目前的快速模式:{value}",
|
||||
options: "on、off、auto({seconds} 秒)、default、status",
|
||||
getFailed: "無法取得快速模式:{error}",
|
||||
reset: "快速模式已重設為預設值。",
|
||||
resetFailed: "無法重設快速模式:{error}",
|
||||
unrecognized: "無法辨識的快速模式「{mode}」。有效等級:on、off、auto、default、status。",
|
||||
setAuto: "快速模式已設為 auto。",
|
||||
enabled: "快速模式已啟用。",
|
||||
disabled: "快速模式已停用。",
|
||||
setFailed: "無法設定快速模式:{error}",
|
||||
},
|
||||
usage: {
|
||||
noActiveThread: "沒有進行中的對話串。",
|
||||
notAvailable: "無資料",
|
||||
title: "對話串用量",
|
||||
inputTokens: "輸入:{count} 個 token",
|
||||
outputTokens: "輸出:{count} 個 token",
|
||||
totalTokens: "總計:{count} 個 token",
|
||||
context: "上下文:{total} 中的 {percent}",
|
||||
model: "模型:{model}",
|
||||
failed: "無法取得使用量:{error}",
|
||||
},
|
||||
agents: {
|
||||
none: "尚未設定任何 agent。",
|
||||
title: "**Agents**({count})",
|
||||
default: "預設",
|
||||
runtime: " · 執行環境 {runtime}",
|
||||
failed: "無法列出 agents:{error}",
|
||||
},
|
||||
steer: {
|
||||
timeout: "作用中的執行在 steer 訊息被接受前已結束。",
|
||||
failed: "Steer 在送達執行前失敗;請再試一次。",
|
||||
usage: "用法:`/steer <message>`",
|
||||
noActiveRun: "沒有作用中的執行。請改用聊天輸入或 `/redirect`。",
|
||||
succeeded: "已 steer。",
|
||||
requestFailed: "無法 steer:{error}",
|
||||
},
|
||||
redirect: {
|
||||
timeout: "作用中的執行在 redirect 訊息被接受前已結束。",
|
||||
failed: "Redirect 在送達執行前失敗;請再試一次。",
|
||||
usage: "用法:`/redirect <message>`",
|
||||
succeeded: "已 redirect。",
|
||||
requestFailed: "無法 redirect:{error}",
|
||||
},
|
||||
},
|
||||
sessionSharing: {
|
||||
menu: "討論串分享",
|
||||
current: "討論串可見性:{visibility}",
|
||||
@@ -4068,10 +4532,17 @@ export const zh_TW: TranslationMap = {
|
||||
dismissUpdateBanner: "關閉更新橫幅",
|
||||
switchedSession: "已切換至 {session}",
|
||||
actions: {
|
||||
copyAsMarkdown: "複製為 markdown",
|
||||
dismissError: "關閉錯誤",
|
||||
exitFocusMode: "退出專注模式",
|
||||
scrollToLatest: "捲動至最新",
|
||||
},
|
||||
markdown: {
|
||||
truncated: "… 已截斷(共 {total} 個字元,顯示前 {shown} 個)。",
|
||||
},
|
||||
codeBlock: {
|
||||
jsonLines: "JSON · {count} 行",
|
||||
},
|
||||
workspaceConflict: {
|
||||
titleOne: "1 個雲端工作區衝突",
|
||||
titleMany: "{count} 個雲端工作區衝突",
|
||||
@@ -4165,6 +4636,7 @@ export const zh_TW: TranslationMap = {
|
||||
threads: "討論串",
|
||||
groups: "群組",
|
||||
coding: "編碼",
|
||||
noSessionsForAgent: "找不到此代理程式的工作階段",
|
||||
catalogViewOptions: "檢視選項",
|
||||
catalogGroupByProject: "專案",
|
||||
catalogGroupByPerson: "人員",
|
||||
@@ -4176,6 +4648,7 @@ export const zh_TW: TranslationMap = {
|
||||
sessionMenu: "Actions for {session}",
|
||||
sessionMenuMany: "{count} 個工作階段的動作",
|
||||
toolActivity: "使用 {tool}",
|
||||
catalogDiscoveryHelp: "{error}。請在「設定 > 自動化 > 外掛程式」中設定原生執行緒探索。",
|
||||
},
|
||||
welcome: {
|
||||
hintBeforeShortcut: "Type a message below ·",
|
||||
@@ -4209,12 +4682,23 @@ export const zh_TW: TranslationMap = {
|
||||
steered: "已引導",
|
||||
steerQueuedMessage: "引導佇列中的訊息",
|
||||
removeQueuedMessage: "移除佇列中的訊息",
|
||||
states: {
|
||||
steering: "引導中",
|
||||
applyingSettings: "正在套用聊天設定",
|
||||
waitingForRun: "正在等待目前執行",
|
||||
runningCommand: "正在執行命令",
|
||||
waitingForReconnect: "正在等待重新連線",
|
||||
needsReview: "需要審查",
|
||||
},
|
||||
imageCount: "圖片 ({count})",
|
||||
},
|
||||
goals: {
|
||||
edit: "編輯目標",
|
||||
pause: "暫停目標",
|
||||
resume: "恢復目標",
|
||||
clear: "清除目標",
|
||||
showDetails: "顯示目標詳細資料",
|
||||
hideDetails: "隱藏目標詳細資料",
|
||||
},
|
||||
questions: {
|
||||
title: "Codex 需要輸入內容",
|
||||
@@ -4240,6 +4724,7 @@ export const zh_TW: TranslationMap = {
|
||||
unavailable: "無法使用",
|
||||
expired: "已過期",
|
||||
cancelled: "已取消",
|
||||
disconnected: "未連線。重新連線後再試一次。",
|
||||
},
|
||||
imageLightbox: {
|
||||
label: "圖片預覽:{title}",
|
||||
@@ -4260,6 +4745,12 @@ export const zh_TW: TranslationMap = {
|
||||
reply: "回覆",
|
||||
replyToMessage: "回覆訊息",
|
||||
replyingTo: "正在回覆 {name}",
|
||||
message: "訊息",
|
||||
currentMessage: "目前訊息",
|
||||
actions: "訊息動作",
|
||||
selectionActions: "選取項目動作",
|
||||
moreDetails: "更多詳細資料",
|
||||
askInSideChat: "在側邊聊天中詢問",
|
||||
rewind: "倒回",
|
||||
rewindConfirm: "倒回到這則訊息之前嗎?",
|
||||
rewindToHere: "倒回到此處",
|
||||
@@ -4269,14 +4760,34 @@ export const zh_TW: TranslationMap = {
|
||||
showMore: "顯示更多",
|
||||
unknownDate: "未知日期",
|
||||
voiceNote: "語音留言",
|
||||
duplicatesCollapsed: "已收合 {count} 則連續的相同訊息",
|
||||
contextFor: "{timestamp} 的訊息內容",
|
||||
},
|
||||
mediaPlayer: {
|
||||
play: "播放",
|
||||
pause: "暫停",
|
||||
seek: "尋找媒體",
|
||||
download: "下載 {filename}",
|
||||
videoUnavailable: "無法播放此格式 — 請改為下載。",
|
||||
},
|
||||
modelControls: {
|
||||
current: "目前",
|
||||
default: "預設",
|
||||
reasoning: "推理",
|
||||
speed: "速度",
|
||||
sessionOverride: "執行緒覆寫",
|
||||
useDefault: "使用預設",
|
||||
usingDefault: "使用「設定」中的預設值",
|
||||
resetToDefault: "重設為預設值({model})",
|
||||
defaultWithModel: "預設 ({model})",
|
||||
defaultWithLevel: "預設 ({level})",
|
||||
fastHelp: "快速回應能較早完成,但可能會使用更多的用量額度。",
|
||||
speedUnsupported: "此模型不支援速度控制。",
|
||||
contextWindow: "{count} 內容",
|
||||
providerModels: "{provider} 模型",
|
||||
resetReasoning: "重設為預設 ({level})",
|
||||
useDefaultReasoning: "使用預設推理 ({level})",
|
||||
fastResponsesAria: "快速回應:{state}",
|
||||
},
|
||||
rail: {
|
||||
title: "工作階段夥伴",
|
||||
@@ -4346,6 +4857,19 @@ export const zh_TW: TranslationMap = {
|
||||
renderedMarkdownHint: "經過淨化的富文字預覽,方便快速閱讀。",
|
||||
noPreviewableMarkdown: "沒有可預覽的 Markdown 內容。",
|
||||
noContent: "沒有可用的內容",
|
||||
fullContentOversized: "無法顯示完整內容,因為儲存的記錄項目太大,無法安全地回傳。",
|
||||
fullContentNotVisible: "無法顯示完整內容,因為此記錄項目沒有可見的 WebChat 投影。",
|
||||
fullContentUnavailable: "此記錄項目的完整內容已不再可用。",
|
||||
copyContents: "複製檔案內容",
|
||||
fileChanged: "自載入後,檔案已在磁碟上變更。",
|
||||
renderPreview: "呈現預覽",
|
||||
imagePreview: "圖片預覽",
|
||||
file: "檔案",
|
||||
markdownPreview: "Markdown 預覽",
|
||||
toolDetails: "工具詳細資料",
|
||||
reloadFailed: "無法重新載入最新檔案。",
|
||||
overwriteLoadFailed: "覆寫前無法載入最新檔案。",
|
||||
fullContentLoadFailed: "無法載入完整內容:{error}",
|
||||
},
|
||||
sidebarColumns: {
|
||||
chat: "聊天",
|
||||
@@ -4364,6 +4888,7 @@ export const zh_TW: TranslationMap = {
|
||||
unpin: "取消釘選",
|
||||
loading: "正在載入聊天",
|
||||
noMatches: "沒有符合的訊息",
|
||||
pinnedCount: "已釘選 {count} 則",
|
||||
},
|
||||
pairingQrExpired: {
|
||||
title: "配對 QR 碼已過期",
|
||||
@@ -4383,13 +4908,53 @@ export const zh_TW: TranslationMap = {
|
||||
runDone: "完成",
|
||||
runInterrupted: "已中斷",
|
||||
runStatus: "執行狀態:{status}",
|
||||
compactingContext: "正在壓縮上下文…",
|
||||
compacting: "壓縮中",
|
||||
compact: "壓縮",
|
||||
contextCompacted: "上下文已壓縮",
|
||||
fallbackActive: "備援啟用中:{model}",
|
||||
fallbackCleared: "備援已清除:{model}",
|
||||
fallbackSelected: "已選取:{model}",
|
||||
fallbackCurrent: "啟用中:{model}",
|
||||
fallbackPrevious: "先前的備援:{model}",
|
||||
fallbackReason: "原因:{reason}",
|
||||
fallbackAttempts: "嘗試次數:{attempts}",
|
||||
cancelReply: "取消回覆",
|
||||
attachmentPreview: "附件預覽",
|
||||
compactRecommendedContext: "壓縮建議的工作階段內容",
|
||||
removeAttachment: "移除附件",
|
||||
addAttachment: "新增附件",
|
||||
attachPhoto: "照片",
|
||||
attachFile: "Attach file",
|
||||
attachFileOption: "檔案",
|
||||
menu: {
|
||||
back: "返回",
|
||||
skills: "Skills",
|
||||
connectors: "連接器",
|
||||
webSearch: "網頁搜尋",
|
||||
managePlugins: "管理外掛程式",
|
||||
manageSkills: "管理 Skills",
|
||||
browseConnectors: "瀏覽連接器",
|
||||
addMcpServer: "新增 MCP 伺服器…",
|
||||
toolAccess: "工具存取權",
|
||||
enabledCount: "{count} 已開啟",
|
||||
loadingSkills: "正在載入 Skills…",
|
||||
skillsLoadFailed: "無法載入 Skills。",
|
||||
noSkills: "沒有可用的 Skills。",
|
||||
noConnectors: "尚未設定 MCP 伺服器。",
|
||||
depsMissing: "缺少相依項目",
|
||||
skillBlocked: "此代理程式無法使用",
|
||||
sessionTag: "工作階段",
|
||||
offlineBlocked: "連接至 Gateway 以變更工作階段功能。",
|
||||
readOnlyBlocked: "需要寫入權限才能變更工作階段功能。",
|
||||
adminBlocked: "需要管理員權限才能管理連接器。",
|
||||
savingBlocked: "請等待目前的工作階段功能變更完成。",
|
||||
},
|
||||
overrides: {
|
||||
count: "{count} 個工作階段覆寫",
|
||||
countOne: "{count} 個工作階段覆寫",
|
||||
clear: "清除工作階段覆寫設定",
|
||||
},
|
||||
contextUsage: {
|
||||
title: "上下文使用詳細資料",
|
||||
open: "開啟上下文使用詳細資料",
|
||||
@@ -4454,6 +5019,17 @@ export const zh_TW: TranslationMap = {
|
||||
turnCameraOn: "開啟相機",
|
||||
voiceTranscript: "語音轉錄",
|
||||
},
|
||||
attachments: {
|
||||
attachedFile: "附加的檔案",
|
||||
outsideAllowedFolders: "位於允許的資料夾之外",
|
||||
unavailable: "無法使用",
|
||||
checking: "檢查中...",
|
||||
},
|
||||
voice: {
|
||||
asking: "正在詢問 OpenClaw...",
|
||||
connecting: "正在連接語音輸入...",
|
||||
listening: "正在聆聽...",
|
||||
},
|
||||
selectors: {
|
||||
session: "Chat session",
|
||||
sessionSearch: "搜尋工作階段",
|
||||
@@ -4654,6 +5230,7 @@ export const zh_TW: TranslationMap = {
|
||||
ru: "Русский (Russian)",
|
||||
},
|
||||
cron: {
|
||||
adminRequired: "僅供瀏覽。變更自動化設定需要 operator.admin 存取權限。",
|
||||
tabs: {
|
||||
filterLabel: "自動化狀態",
|
||||
all: "全部",
|
||||
|
||||
Reference in New Issue
Block a user