fix: brainstorm infinite loop, ghost cursor, embedding ::vector cast, semantic search, billing stats, usage meter accordion
All checks were successful
Deploy to Production / Build and Deploy (push) Successful in 5s

- Fix useBrainstormSocket: stable guestId via useRef, remove setState in cleanup
- Fix GhostCursor: direct DOM manipulation via refs, no useState re-renders
- Fix all SQL embedding queries: add ::vector cast on text columns
- Fix embedding truncation to 15000 chars (under 8192 token limit)
- Fix NoteEmbedding INSERT: remove non-existent updatedAt column
- Fix billing page: show all quota stats in grid instead of single metric
- Fix usage meter: accordion expand/collapse, per-feature detail
- Fix semantic search: rebuild 103 note embeddings, ::vector cast on vectorSearch
- Fix brainstorm expand/manual-idea/create: ::vector cast on embedding SQL
This commit is contained in:
Antigravity
2026-05-16 18:50:34 +00:00
parent ee8e2bda59
commit 8c7ca69640
117 changed files with 11732 additions and 834 deletions

View File

@@ -0,0 +1,292 @@
#!/usr/bin/env node
/**
* Merges missing i18n keys (admin fallback, brainstorm quota, landing page)
* into locale files. Contextual translations — not word-for-word.
*/
import fs from 'fs'
import path from 'path'
import { fileURLToPath } from 'url'
const __dirname = path.dirname(fileURLToPath(import.meta.url))
const localesDir = path.join(__dirname, '../locales')
function deepMerge(target, source) {
for (const key of Object.keys(source)) {
const sv = source[key]
if (sv && typeof sv === 'object' && !Array.isArray(sv)) {
if (!target[key] || typeof target[key] !== 'object') target[key] = {}
deepMerge(target[key], sv)
} else {
target[key] = sv
}
}
return target
}
function flatten(obj, prefix = '') {
const result = {}
for (const [k, v] of Object.entries(obj)) {
const key = prefix ? `${prefix}.${k}` : k
if (v && typeof v === 'object' && !Array.isArray(v)) Object.assign(result, flatten(v, key))
else result[key] = v
}
return result
}
const adminAiFallback = {
de: {
fallbackSectionTitle: 'Ausweich-Anbieter (optional)',
fallbackSectionDescription:
'Wird bei Anbieterfehlern automatisch genutzt (429, 5xx). Ein erneuter Versuch innerhalb von 1,5 s.',
fallbackProvider: 'Ausweich-Anbieter',
fallbackModel: 'Ausweich-Modell',
fallbackNone: 'Keiner (deaktiviert)',
fallbackModelPlaceholder: 'z. B. gpt-4o-mini',
},
es: {
fallbackSectionTitle: 'Proveedor de respaldo (opcional)',
fallbackSectionDescription:
'Se usa automáticamente ante errores del proveedor (429, 5xx). Un reintento en 1,5 s.',
fallbackProvider: 'Proveedor de respaldo',
fallbackModel: 'Modelo de respaldo',
fallbackNone: 'Ninguno (desactivado)',
fallbackModelPlaceholder: 'p. ej. gpt-4o-mini',
},
it: {
fallbackSectionTitle: 'Provider di riserva (opzionale)',
fallbackSectionDescription:
'Usato automaticamente in caso di errori del provider (429, 5xx). Un solo nuovo tentativo entro 1,5 s.',
fallbackProvider: 'Provider di riserva',
fallbackModel: 'Modello di riserva',
fallbackNone: 'Nessuno (disattivato)',
fallbackModelPlaceholder: 'es. gpt-4o-mini',
},
pt: {
fallbackSectionTitle: 'Provedor de contingência (opcional)',
fallbackSectionDescription:
'Usado automaticamente em erros do provedor (429, 5xx). Uma nova tentativa em 1,5 s.',
fallbackProvider: 'Provedor de contingência',
fallbackModel: 'Modelo de contingência',
fallbackNone: 'Nenhum (desativado)',
fallbackModelPlaceholder: 'ex.: gpt-4o-mini',
},
nl: {
fallbackSectionTitle: 'Fallback-provider (optioneel)',
fallbackSectionDescription:
'Wordt automatisch gebruikt bij providerfouten (429, 5xx). Eén nieuwe poging binnen 1,5 s.',
fallbackProvider: 'Fallback-provider',
fallbackModel: 'Fallback-model',
fallbackNone: 'Geen (uitgeschakeld)',
fallbackModelPlaceholder: 'bijv. gpt-4o-mini',
},
pl: {
fallbackSectionTitle: 'Zapasowy dostawca (opcjonalnie)',
fallbackSectionDescription:
'Używany automatycznie przy błędach dostawcy (429, 5xx). Jedna ponowna próba w 1,5 s.',
fallbackProvider: 'Zapasowy dostawca',
fallbackModel: 'Zapasowy model',
fallbackNone: 'Brak (wyłączone)',
fallbackModelPlaceholder: 'np. gpt-4o-mini',
},
ru: {
fallbackSectionTitle: 'Резервный провайдер (необязательно)',
fallbackSectionDescription:
'Используется автоматически при ошибках провайдера (429, 5xx). Одна повторная попытка за 1,5 с.',
fallbackProvider: 'Резервный провайдер',
fallbackModel: 'Резервная модель',
fallbackNone: 'Нет (отключено)',
fallbackModelPlaceholder: 'напр. gpt-4o-mini',
},
ar: {
fallbackSectionTitle: 'مزود احتياطي (اختياري)',
fallbackSectionDescription:
'يُستخدم تلقائياً عند أخطاء المزود (429، 5xx). محاولة واحدة خلال 1,5 ثانية.',
fallbackProvider: 'مزود احتياطي',
fallbackModel: 'نموذج احتياطي',
fallbackNone: 'لا شيء (معطّل)',
fallbackModelPlaceholder: 'مثال: gpt-4o-mini',
},
fa: {
fallbackSectionTitle: 'ارائه‌دهنده پشتیبان (اختیاری)',
fallbackSectionDescription:
'در صورت خطای ارائه‌دهنده (429، 5xx) به‌صورت خودکار استفاده می‌شود. یک تلاش مجدد در ۱,۵ ثانیه.',
fallbackProvider: 'ارائه‌دهنده پشتیبان',
fallbackModel: 'مدل پشتیبان',
fallbackNone: 'هیچ (غیرفعال)',
fallbackModelPlaceholder: 'مثلاً gpt-4o-mini',
},
hi: {
fallbackSectionTitle: 'फ़ॉलबैक प्रदाता (वैकल्पिक)',
fallbackSectionDescription:
'प्रदाता त्रुटियों (429, 5xx) पर स्वतः उपयोग। 1.5 सेकंड में एक पुनः प्रयास।',
fallbackProvider: 'फ़ॉलबैक प्रदाता',
fallbackModel: 'फ़ॉलबैक मॉडल',
fallbackNone: 'कोई नहीं (अक्षम)',
fallbackModelPlaceholder: 'उदा. gpt-4o-mini',
},
ja: {
fallbackSectionTitle: 'フォールバックプロバイダー(任意)',
fallbackSectionDescription:
'プロバイダーエラー時429、5xxに自動使用。1.5秒以内に1回再試行。',
fallbackProvider: 'フォールバックプロバイダー',
fallbackModel: 'フォールバックモデル',
fallbackNone: 'なし(無効)',
fallbackModelPlaceholder: '例: gpt-4o-mini',
},
ko: {
fallbackSectionTitle: '대체 제공업체(선택)',
fallbackSectionDescription:
'제공업체 오류(429, 5xx) 시 자동 사용. 1.5초 이내 1회 재시도.',
fallbackProvider: '대체 제공업체',
fallbackModel: '대체 모델',
fallbackNone: '없음(비활성화)',
fallbackModelPlaceholder: '예: gpt-4o-mini',
},
zh: {
fallbackSectionTitle: '备用提供商(可选)',
fallbackSectionDescription: '提供商出错时429、5xx自动启用。1.5 秒内重试一次。',
fallbackProvider: '备用提供商',
fallbackModel: '备用模型',
fallbackNone: '无(已禁用)',
fallbackModelPlaceholder: '例如 gpt-4o-mini',
},
}
const brainstormQuota = {
de: {
quotaGuest:
'Der Gastgeber der Sitzung hat sein KI-Kontingent aufgebraucht. Bitte ihn, seinen Tarif zu erweitern.',
quotaHost:
'Sie haben Ihr KI-Kontingent für dieses Brainstorming erreicht. Wechseln Sie den Tarif, um fortzufahren.',
},
es: {
quotaGuest:
'El anfitrión de la sesión ha alcanzado su límite de IA. Pídele que mejore su plan.',
quotaHost:
'Has alcanzado tu límite de IA para este brainstorm. Mejora tu plan para continuar.',
},
it: {
quotaGuest:
"L'host della sessione ha raggiunto il limite IA. Chiedigli di aggiornare il piano.",
quotaHost:
'Hai raggiunto il limite IA per questo brainstorm. Passa a un piano superiore per continuare.',
},
pt: {
quotaGuest:
'O anfitrião da sessão atingiu o limite de IA. Peça-lhe para atualizar o plano.',
quotaHost:
'Atingiu o limite de IA deste brainstorm. Atualize o plano para continuar.',
},
nl: {
quotaGuest:
'De sessiehost heeft zijn AI-limiet bereikt. Vraag om een upgrade van het abonnement.',
quotaHost:
'Je hebt je AI-limiet voor deze brainstorm bereikt. Upgrade je abonnement om door te gaan.',
},
pl: {
quotaGuest:
'Gospodarz sesji wyczerpał limit AI. Poproś go o ulepszenie planu.',
quotaHost:
'Osiągnąłeś limit AI dla tego brainstormu. Ulepsz plan, aby kontynuować.',
},
ru: {
quotaGuest:
'Организатор сессии исчерпал лимит ИИ. Попросите его обновить тариф.',
quotaHost:
'Вы исчерпали лимит ИИ для этого мозгового штурма. Обновите тариф, чтобы продолжить.',
},
ar: {
quotaGuest:
'استنفد مضيف الجلسة حدّ الذكاء الاصطناعي. اطلب منه ترقية خطته.',
quotaHost: 'لقد وصلت إلى حدّ الذكاء الاصطناعي لهذه الجلسة. رقِّ خطتك للمتابعة.',
},
fa: {
quotaGuest:
'میزبان جلسه به سقف هوش مصنوعی رسیده. از او بخواهید طرحش را ارتقا دهد.',
quotaHost:
'به سقف هوش مصنوعی این طوفان فکری رسیدید. برای ادامه، طرح خود را ارتقا دهید.',
},
hi: {
quotaGuest:
'सत्र के होस्ट की AI सीमा समाप्त हो गई है। उनसे अपना प्लान अपग्रेड करने को कहें।',
quotaHost:
'इस ब्रेनस्टॉर्म के लिए आपकी AI सीमा समाप्त हो गई है। जारी रखने के लिए प्लान अपग्रेड करें।',
},
ja: {
quotaGuest:
'セッションのホストがAI利用上限に達しました。プランのアップグレードを依頼してください。',
quotaHost:
'このブレインストームのAI上限に達しました。続けるにはプランをアップグレードしてください。',
},
ko: {
quotaGuest: '세션 호스트의 AI 한도에 도달했습니다. 플랜 업그레이드를 요청하세요.',
quotaHost:
'이 브레인스토밍의 AI 한도에 도달했습니다. 계속하려면 플랜을 업그레이드하세요.',
},
zh: {
quotaGuest: '会话主持人已达到 AI 额度上限。请让对方升级套餐。',
quotaHost: '您已达到此头脑风暴的 AI 额度上限。升级套餐以继续。',
},
}
// Landing blocks — load from generated JSON (keeps this script maintainable)
const landingPatchesPath = path.join(__dirname, 'i18n-landing-patches.json')
if (!fs.existsSync(landingPatchesPath)) {
console.error('Missing i18n-landing-patches.json — run generate-landing-patches first')
process.exit(1)
}
const landingPatches = JSON.parse(fs.readFileSync(landingPatchesPath, 'utf8'))
const TARGET_LANGS = [
'ar',
'de',
'es',
'fa',
'hi',
'it',
'ja',
'ko',
'nl',
'pl',
'pt',
'ru',
'zh',
]
for (const lang of TARGET_LANGS) {
const filePath = path.join(localesDir, `${lang}.json`)
const data = JSON.parse(fs.readFileSync(filePath, 'utf8'))
if (adminAiFallback[lang]) {
if (!data.admin) data.admin = {}
if (!data.admin.ai) data.admin.ai = {}
Object.assign(data.admin.ai, adminAiFallback[lang])
}
if (brainstormQuota[lang]) {
if (!data.brainstorm) data.brainstorm = {}
Object.assign(data.brainstorm, brainstormQuota[lang])
}
if (landingPatches[lang]) {
if (!data.landing) data.landing = {}
deepMerge(data.landing, landingPatches[lang])
}
fs.writeFileSync(filePath, JSON.stringify(data, null, 2) + '\n', 'utf8')
console.log(`${lang}.json updated`)
}
// Verify
const en = flatten(JSON.parse(fs.readFileSync(path.join(localesDir, 'en.json'), 'utf8')))
const enKeys = Object.keys(en)
let ok = true
for (const lang of TARGET_LANGS) {
const loc = flatten(JSON.parse(fs.readFileSync(path.join(localesDir, `${lang}.json`), 'utf8')))
const missing = enKeys.filter((k) => !(k in loc))
if (missing.length) {
console.error(`${lang}: still ${missing.length} missing keys`)
ok = false
}
}
console.log(ok ? '\nAll locales complete.' : '\nSome keys still missing.')

View File

@@ -0,0 +1,145 @@
#!/usr/bin/env python3
"""Generate flat i18n-overrides/*.json for keys still equal to en while fr differs."""
from __future__ import annotations
import json
import re
import sys
import time
from pathlib import Path
from deep_translator import GoogleTranslator
ROOT = Path(__file__).resolve().parents[1]
LOCALES = ROOT / "locales"
OUT_DIR = Path(__file__).resolve().parent / "i18n-overrides"
LANG_TARGETS = {
"ja": "ja",
"ko": "ko",
"zh": "zh-CN",
"hi": "hi",
"fa": "fa",
}
MISSING_11 = [
"ai.featureLocked",
"ai.quotaExceeded",
"profile.tab",
"about.tab",
"appearance.tab",
"usageMeter.featureReformulate",
"usageMeter.featureChat",
"usageMeter.featureBrainstormCreate",
"usageMeter.featureBrainstormExpand",
"usageMeter.featureBrainstormEnrich",
"billing.tab",
]
PERSIAN_DIGITS = "۰۱۲۳۴۵۶۷۸۹"
def flatten_leaves(obj: dict, prefix: str = "") -> dict[str, str]:
out: dict[str, str] = {}
for k, v in obj.items():
path = f"{prefix}.{k}" if prefix else k
if isinstance(v, dict):
out.update(flatten_leaves(v, path))
elif isinstance(v, str):
out[path] = v
return out
def to_persian_digits(text: str) -> str:
return re.sub(r"\d", lambda m: PERSIAN_DIGITS[int(m.group())], text)
def collect_override_keys(en: dict[str, str], fr: dict[str, str], loc: dict[str, str], lang: str) -> list[str]:
fr_translated = [k for k in en if k in fr and fr[k] != en[k]]
keys = {k for k in fr_translated if loc.get(k, en.get(k)) == en[k]}
if lang != "fa":
keys.update(MISSING_11)
return sorted(keys)
def translate_unique(texts: list[str], target_code: str, batch_size: int = 30) -> dict[str, str]:
translator = GoogleTranslator(source="en", target=target_code)
mapping: dict[str, str] = {}
for i in range(0, len(texts), batch_size):
batch = texts[i : i + batch_size]
try:
outs = translator.translate_batch(batch)
except Exception as e:
print(f" batch error ({e}), per-item…", flush=True)
outs = []
for t in batch:
try:
outs.append(translator.translate(t))
except Exception:
outs.append(t)
time.sleep(0.2)
if not isinstance(outs, list) or len(outs) != len(batch):
outs = batch
for src, dst in zip(batch, outs):
mapping[src] = dst if isinstance(dst, str) and dst.strip() else src
time.sleep(0.5)
print(f"{min(i + batch_size, len(texts))}/{len(texts)}", flush=True)
return mapping
def post_process(lang: str, key: str, en_val: str, translated: str) -> str:
if lang == "fa" and re.search(r"\d", translated):
translated = to_persian_digits(translated)
# Momento note-taking: keep common product tokens
if key.endswith(".technology.ai") or key == "about.technology.ai":
if lang == "ja":
return "AI"
if lang == "zh":
return "AI"
if lang == "ko":
return "AI"
if lang == "hi":
return "AI"
if lang == "fa":
return "هوش مصنوعی"
if key == "about.technology.ui":
ui_map = {"ja": "UI", "ko": "UI", "zh": "界面", "hi": "UI", "fa": "رابط کاربری"}
return ui_map.get(lang, translated)
return translated
def main() -> int:
en = flatten_leaves(json.loads((LOCALES / "en.json").read_text(encoding="utf-8")))
fr = flatten_leaves(json.loads((LOCALES / "fr.json").read_text(encoding="utf-8")))
OUT_DIR.mkdir(parents=True, exist_ok=True)
for lang, google_target in LANG_TARGETS.items():
loc = flatten_leaves(json.loads((LOCALES / f"{lang}.json").read_text(encoding="utf-8")))
keys = collect_override_keys(en, fr, loc, lang)
print(f"\n=== {lang}.json — {len(keys)} override keys", flush=True)
text_to_keys: dict[str, list[str]] = {}
for k in keys:
text_to_keys.setdefault(en[k], []).append(k)
unique = list(text_to_keys.keys())
trans_map = translate_unique(unique, google_target)
overrides: dict[str, str] = {}
for src, key_list in text_to_keys.items():
tr = trans_map.get(src, src)
for k in key_list:
overrides[k] = post_process(lang, k, en[k], tr)
out_path = OUT_DIR / f"{lang}.json"
out_path.write_text(
json.dumps(overrides, ensure_ascii=False, indent=2) + "\n",
encoding="utf-8",
)
print(f" Wrote {out_path} ({len(overrides)} keys)", flush=True)
return 0
if __name__ == "__main__":
raise SystemExit(main())

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,184 @@
{
"sidebar.sharedNotebookBadge": "· المشاركة",
"notes.ideaOrigin": "أصل الفكرة",
"notes.noNoteLink": "فكرة توليدية بحتة",
"notes.dismiss": "غير ذات صلة",
"ai.contextSourceHeading": "مصدر السياق",
"ai.tones.professional": "احترافي",
"ai.tones.creative": "مبدع",
"ai.tones.academic": "أكاديمي",
"ai.tones.casual": "استرخاء",
"settings.themeBaseGroup": "عرض",
"settings.themePalettesGroup": "لوحات الألوان",
"settings.themeSepia": "بني داكن",
"settings.themeMidnight": "منتصف الليل",
"settings.themeGreen": "أخضر",
"settings.themeLavender": "لافندر",
"settings.themeSand": "رمل",
"settings.themeOcean": "محيط",
"settings.themeSunset": "غروب",
"settings.themeBlue": "أزرق",
"aiSettings.title": "منظمة العفو الدولية",
"admin.ai.providerOllamaOption": "🦙 أولاما (محلي ومجاني)",
"admin.ai.providerCustomOption": "🔧 متوافق مع OpenAI المخصص",
"admin.users.tierUpdateSuccess": "تم تحديث الاشتراك إلى {tier}",
"admin.users.tierUpdateFailed": "فشل تحديث الاشتراك",
"admin.users.table.subscription": "الاشتراك",
"admin.tools.brave": "واجهة برمجة تطبيقات البحث الشجاع",
"dataManagement.title": "بيانات",
"appearance.fontInterDefault": "إنتر (افتراضي)",
"usageMeter.packName": "حزمة اكتشاف الذكاء الاصطناعي",
"usageMeter.featureSearch": "بحث",
"usageMeter.featureTags": "التسميات",
"usageMeter.featureTitles": "الأوراق المالية",
"usageMeter.unlimited": "غير محدود",
"usageMeter.remaining": "{عدد} متبقي",
"usageMeter.upgradeTitle": "اذهب برو",
"usageMeter.upgradeDescription": "لقد استخدمت جميع الاعتمادات من حزمة اكتشاف الذكاء الاصطناعي. قم بالترقية إلى Pro للحصول على أحرف كبيرة وميزات إضافية.",
"usageMeter.proIncludes": "برو يشمل:",
"usageMeter.proSearch": "100 عملية بحث دلالية / شهر",
"usageMeter.proTags": "200 ملصق تلقائي / شهر",
"usageMeter.proTitles": "200 عنوان سيارة / شهر",
"usageMeter.proReformulate": "50 إعادة صياغة / شهر",
"usageMeter.proChat": "100 رسالة دردشة / شهر",
"usageMeter.later": "لاحقاً",
"usageMeter.upgradePricing": "اذهب برو",
"usageMeter.addApiKey": "استخدم مفتاح API الخاص بك (BYOK)",
"generalSettings.title": "الجنرالات",
"agents.form.back": "خلف",
"agents.help.howToUseContent": "1. انقر على **\"الوكيل الجديد\"** (أو ابدأ بـ **القالب** في أسفل الصفحة)\n2. اختر **نوع الوكيل** (باحث، مراقب، مشرف، مخصص)\n3. أعطه **اسمًا** واملأ الحقول الخاصة بالنوع\n4. اختر بشكل اختياري **دفتر ملاحظات مستهدفًا** أو احفظ النتائج\n5. حدد **التردد** (يدويًا = تقوم بتشغيله بنفسك)\n6. انقر فوق **إنشاء**، ثم اضغط على الزر **تنفيذ** الموجود على بطاقة الوكيل\n7. بمجرد الانتهاء، تظهر ملاحظة جديدة في دفتر ملاحظاتك المستهدف",
"agents.help.advancedContent": "انقر على **\"الوضع المتقدم\"** في أسفل النموذج للوصول إلى الإعدادات الإضافية.\n\n### تعليمات الذكاء الاصطناعي\n\nيتيح لك هذا الحقل **تجاوز موجه النظام الافتراضي** للوكيل. إذا تركته فارغًا، فسيستخدم الوكيل مطالبة تلقائية تتناسب مع نوعه.\n\n**لماذا تستخدمه؟** أنت تريد التحكم في سلوك الوكيل تمامًا. على سبيل المثال:\n- \"اكتب الملخص باللغة الإنجليزية، حتى لو كانت المصادر باللغة الفرنسية\"\n- \"قم بتنظيم الملاحظة باستخدام الأقسام: السياق، النقاط الرئيسية، الرأي الشخصي\"\n- \"تجاهل المقالات التي مضى عليها أكثر من 30 يومًا وركز على الأخبار الأخيرة\"\n- \"لكل موضوع تم اكتشافه، يقدم 3 طرق للدراسة المتعمقة مع الروابط\"\n\n> **ملاحظة:** تحل تعليماتك محل التعليمات الافتراضية، وليس إضافة إليها.\n\n### الحد الأقصى للتكرارات\n\nهذا هو **الحد الأقصى لعدد الدورات** التي يمكن للوكيل تنفيذها. دورة واحدة = يفكر الوكيل، ويستدعي أداة، ويقرأ النتيجة، ثم يقرر الإجراء التالي.\n\n- **3-5 تكرارات:** للمهام البسيطة (نسخ صفحة واحدة)\n- **10 تكرارات (افتراضي):** توازن جيد في معظم الحالات\n- **15-25 تكرارًا:** لعمليات البحث العميق حيث يجب على الوكيل استكشاف عدة طرق\n\n> **تنبيه:** المزيد من التكرارات = المزيد من الوقت وربما المزيد من تكاليف واجهة برمجة التطبيقات (API).",
"agents.help.frequencyContent": "| التردد | السلوك\n|---------------|------------\n| **دليل** | قمت بالنقر فوق \"تشغيل\" - لا توجد جدولة تلقائية\n| **كل ساعة** | يعمل كل ساعة\n| **يوميا** | يعمل مرة واحدة في اليوم\n| **أسبوعي** | يعمل مرة واحدة في الأسبوع\n| **شهري** | يتم تشغيله مرة واحدة في الشهر\n\n> **نصيحة:** ابدأ بـ \"يدويًا\" لاختبار وكيلك، ثم قم بالتبديل إلى التردد التلقائي بمجرد الرضا.",
"agents.help.targetNotebookContent": "عندما يكمل الوكيل مهمته، **ينشئ ملاحظة**. يحدد **دفتر الملاحظات المستهدف** الوجهة التي ستذهب إليها:\n\n- **البريد الوارد** (افتراضي) — تنتقل الملاحظة إلى ملاحظاتك العامة\n- **دفتر ملاحظات محدد** — اختر دفتر ملاحظات للحفاظ على تنظيم النتائج\n\n> **نصيحة:** قم بإنشاء دفتر ملاحظات مخصص مثل \"تقارير الوكيل\" لتجميع المحتوى الآلي بالكامل بشكل مركزي.",
"richTextEditor.imageUrlPlaceholder": "https://example.com/image.png",
"brainstorm.title": "موجات الفكر",
"brainstorm.subtitle": "توسيع أبعاد الإمكانات",
"brainstorm.placeholder": "أدخل مفهومًا لاستكشافه...",
"brainstorm.generating": "الذكاء الاصطناعي يحصد بذور الفكر...",
"brainstorm.newBrainstorm": "العصف الذهني الجديد",
"brainstorm.noSessions": "لا العصف الذهني حتى الآن",
"brainstorm.startOne": "للبدء",
"brainstorm.sessions": "جلسات العصف الذهني",
"brainstorm.seedLabel": "فكرة المصدر",
"brainstorm.brainstormThisIdea": "طرح هذه الفكرة",
"brainstorm.startBrainstorm": "ابدأ العصف الذهني",
"brainstorm.spatialMode": "وضع استكشاف الفضاء",
"brainstorm.wave1": "الموجة 1",
"brainstorm.wave2": "الموجة 2",
"brainstorm.wave3": "الموجة 3",
"brainstorm.export": "يصدّر",
"brainstorm.exporting": "يصدّر...",
"brainstorm.wave": "موجة",
"brainstorm.novelty": "أصالة",
"brainstorm.originConnection": "الارتباط بالأصل",
"brainstorm.linkedNotes": "ملاحظات ذات صلة",
"brainstorm.deepen": "حفر",
"brainstorm.deepening": "جيل...",
"brainstorm.extract": "قم بإنشاء ملاحظة",
"brainstorm.converting": "تحويل...",
"brainstorm.dismiss": "غير ذات صلة",
"brainstorm.noteCreated": "تم إنشاء الملاحظة",
"brainstorm.ideas": "أفكار",
"brainstorm.cancel": "يلغي",
"brainstorm.delete": "يمسح",
"brainstorm.ideaOrigin": "أصل الفكرة",
"brainstorm.noNoteLink": "فكرة توليدية بحتة",
"brainstorm.derived_from": "مشتقة من",
"brainstorm.opposes": "في معارضة",
"brainstorm.extends": "يمتد",
"brainstorm.synthesizes": "توليف",
"brainstorm.transposes": "تبديل",
"brainstorm.none_found": "لا يوجد رابط",
"brainstorm.viewNote": "انظر الملاحظة",
"brainstorm.addIdea": "أضف فكرة",
"brainstorm.manualIdeaPrompt": "عنوان فكرتك:",
"brainstorm.invite": "يدعو",
"brainstorm.linkCopied": "تم نسخ رابط الدعوة!",
"brainstorm.shareDialogTitle": "شارك العصف الذهني",
"brainstorm.shareSearchLabel": "ابحث عن شخص",
"brainstorm.shareNameOrEmailPlaceholder": "الاسم أو البريد الإلكتروني…",
"brainstorm.shareSubmit": "يشارك",
"brainstorm.shareSubmitting": "إرسال…",
"brainstorm.shareFooterHint": "سيتلقى الشخص إشعارًا بالقبول أو الرفض.",
"brainstorm.sharePublicLink": "الرابط العام",
"brainstorm.shareGuestsCanEdit": "السماح للضيوف بالتحرير",
"brainstorm.feedbackInviteSent": "تم إرسال الدعوة!",
"brainstorm.feedbackInviteResent": "عادت الدعوة!",
"brainstorm.feedbackAlreadyShared": "هذا الشخص لديه حق الوصول إلى هذا العصف الذهني بالفعل.",
"brainstorm.feedbackAlreadyPending": "هناك دعوة معلقة بالفعل لهذا الشخص.",
"brainstorm.feedbackGenericError": "خطأ",
"brainstorm.unnamedPerson": "لم يذكر اسمه",
"brainstorm.canvasEditTitleReply": "إجابة",
"brainstorm.canvasEditTitleNewIdea": "فكرة جديدة",
"brainstorm.canvasPlaceholderReply": "إجابتك…",
"brainstorm.canvasPlaceholderIdea": "فكرتك…",
"brainstorm.canvasShortcutSave": "يحفظ",
"brainstorm.canvasShortcutCancel": "يلغي",
"brainstorm.canvasChildBranch": "طفل",
"brainstorm.canvasDoubleClickHint": "انقر نقرًا مزدوجًا لإضافة فكرة",
"brainstorm.ideaDetailConnection": "اتصال",
"brainstorm.ideaDetailNovelty": "أصالة",
"brainstorm.ideaDetailWave": "موجة",
"brainstorm.waveFlavorAnalogy": "تشبيه",
"brainstorm.liveCollaborationTitle": "التعاون المباشر",
"brainstorm.liveStatus": "يعيش",
"brainstorm.liveYouMarker": "(أنت)",
"brainstorm.liveOtherParticipants": "{عدد} مشاركين آخرين",
"brainstorm.guestReadOnlyNotice": "أنت تشاهد هذا العصف الذهني كضيف. قم بتسجيل الدخول للتحرير.",
"brainstorm.impactNotesEnriched": "{count} ملاحظة (ملاحظات) غنية",
"brainstorm.impactNotesMarkedDry": "{count} ملاحظة (ملاحظات) تم وضع علامة عليها جافة",
"brainstorm.exportNotebookPrefix": "دفتر :",
"brainstorm.playbackStep": "الخطوة {الحالية}/{الإجمالي}",
"brainstorm.playbackStepsCount": "{عدد} خطوات",
"brainstorm.playbackReturnToLive": "العودة للعيش",
"brainstorm.canvasWaitingHint": "اللوحة تنتظر شرارتك...",
"brainstorm.seedNodeBadge": "بذور",
"brainstorm.originalSeedDescription": "فكرة المصدر الأولي",
"brainstorm.convertedToNoteStatus": "تم تحويله إلى تصنيف",
"brainstorm.toastExpandSuccess": "أفكار موسعة!",
"brainstorm.toastExpandFailed": "فشل التوسيع",
"brainstorm.toastDismissSuccess": "تم رفض الفكرة",
"brainstorm.toastDismissFailed": "فشل الفجوة",
"brainstorm.toastConvertSuccess": "تحولت الفكرة إلى مذكرة!",
"brainstorm.toastConvertFailed": "فشل التحويل",
"brainstorm.toastExportNoteSuccess": "تصديرها كملاحظة!",
"brainstorm.toastExportFailed": "فشل التصدير",
"brainstorm.legendSeed": "بذرة",
"brainstorm.legendDisruptions": "الانفصال",
"brainstorm.exportFailedMessage": "فشل التصدير",
"brainstorm.exportDefaultNoteTitle": "توليف",
"brainstorm.exportOpening": "افتتاح…",
"brainstorm.ownerBadge": "مالك",
"brainstorm.waveBadge": "موجة {موجة}",
"byokSettings.title": "مفاتيح API الخاصة بك (BYOK)",
"byokSettings.description": "قم بتوصيل مفاتيح البائع الخاصة بك لتجاوز حصص Discovery Pack. يتم تشفير المفاتيح في حالة الراحة.",
"byokSettings.badgeActive": "BYOK نشط",
"byokSettings.tierRequired": "يتطلب BYOK اشتراك Pro أو أعلى.",
"byokSettings.provider": "مزود",
"byokSettings.providerPlaceholder": "اختر موردًا",
"byokSettings.alias": "الصياغة (اختياري)",
"byokSettings.aliasPlaceholder": "السابق. OpenAI برو",
"byokSettings.apiKey": "مفتاح واجهة برمجة التطبيقات",
"byokSettings.save": "حفظ المفتاح",
"byokSettings.saved": "مفتاح API المسجل",
"byokSettings.deleted": "تمت إزالة مفتاح API",
"byokSettings.error": "غير قادر على تسجيل المفتاح",
"byokSettings.loadError": "غير قادر على تحميل المفاتيح",
"byokSettings.loading": "تحميل...",
"byokSettings.empty": "لم يتم تكوين مفتاح API.",
"byokSettings.confirmDelete": "هل تريد حذف مفتاح واجهة برمجة التطبيقات هذا نهائيًا؟",
"billing.enterpriseTitle": "عمل",
"landing.pricing.perUser": "+ 3.90 يورو لكل مستخدم",
"landing.pricing.perUserAnnual": "+ 2.90 يورو لكل مستخدم، يتم إصدار الفاتورة سنويًا",
"ai.featureLocked": "تتطلب هذه الميزة خطة PRO أو أعلى.",
"ai.quotaExceeded": "تم الوصول إلى الحد الشهري. إعادة تعيين الشهر المقبل.",
"profile.tab": "حساب تعريفي",
"about.tab": "عن",
"appearance.tab": "مظهر",
"billing.tab": "الفواتير",
"usageMeter.featureChat": "رسائل الذكاء الاصطناعي",
"usageMeter.featureReformulate": "إعادة الصياغة",
"usageMeter.featureBrainstormCreate": "إبداعات العصف الذهني",
"usageMeter.featureBrainstormExpand": "ملحقات العصف الذهني",
"usageMeter.featureBrainstormEnrich": "إثراء العصف الذهني"
}

View File

@@ -0,0 +1,312 @@
{
"about.support.feedback": "Feedback",
"about.support.title": "Support",
"about.tab": "Über",
"about.technology.backend": "Backend",
"about.technology.frontend": "Frontend",
"about.technology.ui": "Benutzeroberfläche",
"admin.ai.providerCustomOption": "🔧 Benutzerdefiniert (OpenAI-kompatibel)",
"admin.ai.providerOllamaOption": "🦙 Ollama (lokal & kostenlos)",
"admin.chat": "KI-Chat",
"admin.dashboard.title": "Dashboard",
"admin.email.activeAuto": "Automodus: Resend wird zuerst verwendet, SMTP als Fallback.",
"admin.email.activeProvider": "Aktiver Anbieter",
"admin.email.activeSmtp": "Automodus: SMTP wird verwendet (Resend nicht konfiguriert).",
"admin.email.keySet": "Schlüssel konfiguriert",
"admin.email.noneConfigured": "Kein E-Mail-Dienst konfiguriert. Richten Sie Resend oder SMTP ein.",
"admin.email.status": "Dienststatus",
"admin.email.testFail": "Test fehlgeschlagen",
"admin.email.testOk": "Test bestanden",
"admin.lab": "Das Lab",
"admin.sidebar.dashboard": "Dashboard",
"admin.smtp.host": "Host",
"admin.tools.brave": "Brave Search API",
"admin.users.name": "Name",
"admin.users.table.name": "Name",
"admin.users.table.subscription": "Abonnement",
"admin.users.tierUpdateFailed": "Abonnement konnte nicht aktualisiert werden",
"admin.users.tierUpdateSuccess": "Abonnement auf {tier} aktualisiert",
"admin.workspace": "Arbeitsbereich",
"agents.filterAll": "Alle",
"agents.form.back": "Zurück",
"agents.form.includeImages": "Bilder einbeziehen",
"agents.form.includeImagesHint": "Bilder von gescrapten Seiten extrahieren und der generierten Notiz anhängen",
"agents.form.name": "Name",
"agents.form.slideThemes.bohemian": "Bohemian",
"agents.form.urlsOptional": "(optional)",
"agents.help.advancedContent": "Klicken Sie unten im Formular auf **„Erweiterter Modus“**, um zusätzliche Einstellungen zu öffnen.\n\n### KI-Anweisungen\n\nIn diesem Feld können Sie den **Standard-Systemprompt des Agenten ersetzen**. Bleibt es leer, nutzt der Agent einen automatischen, an seinen Typ angepassten Prompt.\n\n**Warum nutzen?** Sie möchten das Verhalten des Agenten genau steuern. Zum Beispiel:\n- „Fasse die Zusammenfassung auf Englisch, auch wenn die Quellen auf Französisch sind“\n- „Strukturiere die Notiz mit Abschnitten: Kontext, Kernpunkte, persönliche Meinung“\n- „Ignoriere Artikel älter als 30 Tage und konzentriere dich auf aktuelle Nachrichten“\n- „Schlage zu jedem erkannten Thema 3 Vertiefungspfade mit Links vor“\n\n> **Hinweis:** Ihre Anweisungen ersetzen die Standardwerte, sie ergänzen sie nicht.\n\n### Max. Iterationen\n\nDas ist die **maximale Anzahl von Zyklen**, die der Agent ausführen kann. Ein Zyklus = der Agent denkt nach, ruft ein Tool auf, liest das Ergebnis und entscheidet die nächste Aktion.\n\n- **35 Iterationen:** für einfache Aufgaben (Scraping einer einzelnen Seite)\n- **10 Iterationen (Standard):** guter Kompromiss für die meisten Fälle\n- **1525 Iterationen:** für tiefe Recherchen mit mehreren Spuren\n\n> **Achtung:** Mehr Iterationen = mehr Zeit und potenziell höhere API-Kosten.",
"agents.help.frequencyContent": "| Häufigkeit | Verhalten\n|-----------|----------\n| **Manuell** | Sie klicken selbst auf „Ausführen“ — keine automatische Planung\n| **Stündlich** | Läuft jede Stunde\n| **Täglich** | Läuft einmal pro Tag\n| **Wöchentlich** | Läuft einmal pro Woche\n| **Monatlich** | Läuft einmal pro Monat\n\n> **Tipp:** Starten Sie mit „Manuell“, um Ihren Agenten zu testen, und wechseln Sie dann zu einer automatischen Häufigkeit, wenn Sie mit den Ergebnissen zufrieden sind.",
"agents.help.howToUseContent": "1. Klicken Sie auf **„Neuer Agent“** (oder starten Sie mit einer **Vorlage** unten auf der Seite)\n2. Wählen Sie einen **Agententyp** (Researcher, Monitor, Observer, Benutzerdefiniert)\n3. Vergeben Sie einen **Namen** und füllen Sie die typspezifischen Felder aus\n4. Wählen Sie optional ein **Ziel-Notizbuch**, in dem Ergebnisse gespeichert werden\n5. Wählen Sie eine **Häufigkeit** (Manuell = Sie starten ihn selbst)\n6. Klicken Sie auf **Erstellen**, dann auf **Ausführen** auf der Agentenkarte\n7. Nach Abschluss erscheint eine neue Notiz in Ihrem Ziel-Notizbuch",
"agents.help.targetNotebookContent": "Wenn ein Agent seine Aufgabe beendet, **erstellt er eine Notiz**. Das **Ziel-Notizbuch** bestimmt, wohin sie geht:\n\n- **Posteingang** (Standard) — die Notiz landet bei Ihren allgemeinen Notizen\n- **Bestimmtes Notizbuch** — wählen Sie ein Notizbuch, um Agentenergebnisse zu ordnen\n\n> **Tipp:** Legen Sie ein eigenes Notizbuch wie „Agentenberichte“ an, um automatisch erzeugte Inhalte an einem Ort zu sammeln.",
"agents.newBadge": "Neu",
"agents.noResults": "Kein Agent entspricht Ihrer Suche.",
"agents.schedule.dayOfMonth": "Tag im Monat",
"agents.schedule.dayOfWeek": "Wochentag",
"agents.schedule.days.fri": "Freitag",
"agents.schedule.days.mon": "Montag",
"agents.schedule.days.sat": "Samstag",
"agents.schedule.days.sun": "Sonntag",
"agents.schedule.days.thu": "Donnerstag",
"agents.schedule.days.tue": "Dienstag",
"agents.schedule.days.wed": "Mittwoch",
"agents.schedule.nextRun": "Nächste Ausführung",
"agents.schedule.pending": "Auslösung ausstehend",
"agents.schedule.time": "Uhrzeit",
"agents.searchPlaceholder": "Agenten suchen…",
"agents.toasts.autoRunError": "Agent „{name}“ ist bei der automatischen Ausführung fehlgeschlagen",
"agents.toasts.autoRunSuccess": "Agent „{name}“ wurde automatisch erfolgreich ausgeführt",
"agents.types.scraper": "Beobachter",
"ai.action.describeImages": "Bilder beschreiben",
"ai.chatTab": "Chat",
"ai.contextSourceHeading": "Kontextquelle",
"ai.featureLocked": "Diese Funktion erfordert den PRO-Plan oder höher.",
"ai.generate.styleMinimal": "Minimal",
"ai.generate.styleProfessional": "Professionell",
"ai.generateTitleFromImage": "Titel aus Bild generieren",
"ai.noImagesError": "Keine Bilder in dieser Notiz",
"ai.overview": "Überblick",
"ai.quotaExceeded": "Monatliches Limit erreicht. Wird nächsten Monat zurückgesetzt.",
"ai.resource.urlLabel": "URL (optional)",
"ai.titleGenerated": "Titel aus Bild generiert",
"ai.tones.academic": "Akademisch",
"ai.tones.casual": "Locker",
"ai.tones.creative": "Kreativ",
"ai.tones.professional": "Professionell",
"aiSettings.providerOpenAI": "OpenAI (Cloud)",
"aiSettings.title": "KI",
"appearance.fontInterDefault": "Inter (Standard)",
"appearance.selectTheme": "Design wählen",
"appearance.tab": "Erscheinungsbild",
"auth.name": "Name",
"auth.signOut": "Abmelden",
"billing.enterpriseTitle": "Enterprise",
"billing.tab": "Abrechnung",
"brainstorm.addIdea": "Idee hinzufügen",
"brainstorm.brainstormThisIdea": "Diese Idee brainstormen",
"brainstorm.cancel": "Abbrechen",
"brainstorm.canvasChildBranch": "Kind",
"brainstorm.canvasDoubleClickHint": "Doppelklicken, um eine Idee hinzuzufügen",
"brainstorm.canvasEditTitleNewIdea": "Neue Idee",
"brainstorm.canvasEditTitleReply": "Antwort",
"brainstorm.canvasPlaceholderIdea": "Ihre Idee…",
"brainstorm.canvasPlaceholderReply": "Ihre Antwort…",
"brainstorm.canvasShortcutCancel": "abbrechen",
"brainstorm.canvasShortcutSave": "speichern",
"brainstorm.canvasWaitingHint": "Die Leinwand wartet auf Ihren Funken…",
"brainstorm.convertedToNoteStatus": "In Notiz umgewandelt",
"brainstorm.converting": "Wird umgewandelt…",
"brainstorm.deepen": "Vertiefen",
"brainstorm.deepening": "Wird generiert…",
"brainstorm.delete": "Löschen",
"brainstorm.derived_from": "Abgeleitet von",
"brainstorm.dismiss": "Nicht relevant",
"brainstorm.export": "Exportieren",
"brainstorm.exportDefaultNoteTitle": "Synthese",
"brainstorm.exportFailedMessage": "Export fehlgeschlagen",
"brainstorm.exportNotebookPrefix": "Notizbuch:",
"brainstorm.exportOpening": "Wird geöffnet…",
"brainstorm.exporting": "Export läuft…",
"brainstorm.extends": "Erweitert",
"brainstorm.extract": "Notiz erstellen",
"brainstorm.feedbackAlreadyPending": "Für diese Person liegt bereits eine ausstehende Einladung vor.",
"brainstorm.feedbackAlreadyShared": "Diese Person hat bereits Zugriff auf diesen Brainstorm.",
"brainstorm.feedbackGenericError": "Fehler",
"brainstorm.feedbackInviteResent": "Einladung erneut gesendet!",
"brainstorm.feedbackInviteSent": "Einladung gesendet!",
"brainstorm.generating": "Die KI sammelt Gedankensamen…",
"brainstorm.guestReadOnlyNotice": "Sie sehen diesen Brainstorm als Gast. Melden Sie sich an, um zu bearbeiten.",
"brainstorm.ideaDetailConnection": "Verbindung",
"brainstorm.ideaDetailNovelty": "Neuheit",
"brainstorm.ideaDetailWave": "Welle",
"brainstorm.ideaOrigin": "Ursprung der Idee",
"brainstorm.ideas": "Ideen",
"brainstorm.impactNotesEnriched": "{count} Notiz(en) angereichert",
"brainstorm.impactNotesMarkedDry": "{count} Notiz(en) als „trocken“ markiert",
"brainstorm.invite": "Einladen",
"brainstorm.legendDisruptions": "Brüche",
"brainstorm.legendSeed": "Samen",
"brainstorm.linkCopied": "Einladungslink kopiert!",
"brainstorm.linkedNotes": "Verknüpfte Notizen",
"brainstorm.liveCollaborationTitle": "Live-Zusammenarbeit",
"brainstorm.liveOtherParticipants": "{count} weitere Teilnehmer",
"brainstorm.liveStatus": "Live",
"brainstorm.liveYouMarker": "(Sie)",
"brainstorm.manualIdeaPrompt": "Titel Ihrer Idee:",
"brainstorm.newBrainstorm": "Neuer Brainstorm",
"brainstorm.noNoteLink": "Rein generierte Idee",
"brainstorm.noSessions": "Noch keine Brainstorms",
"brainstorm.none_found": "Keine Notizverknüpfung",
"brainstorm.noteCreated": "Notiz erstellt",
"brainstorm.novelty": "Neuheit",
"brainstorm.opposes": "Im Gegensatz zu",
"brainstorm.originConnection": "Bezug zum Ursprung",
"brainstorm.originalSeedDescription": "Ursprüngliche Ausgangs-Idee",
"brainstorm.ownerBadge": "Inhaber",
"brainstorm.placeholder": "Geben Sie ein Konzept ein, das Sie entfalten möchten…",
"brainstorm.playbackReturnToLive": "Zurück zu Live",
"brainstorm.playbackStep": "Schritt {current}/{total}",
"brainstorm.playbackStepsCount": "{count} Schritte",
"brainstorm.seedLabel": "Ausgangs-Idee",
"brainstorm.seedNodeBadge": "SAMEN",
"brainstorm.sessions": "Brainstorm-Sitzungen",
"brainstorm.shareDialogTitle": "Brainstorm teilen",
"brainstorm.shareFooterHint": "Die Person erhält eine Benachrichtigung zum Annehmen oder Ablehnen.",
"brainstorm.shareGuestsCanEdit": "Gästen Bearbeitung erlauben",
"brainstorm.shareNameOrEmailPlaceholder": "Name oder E-Mail…",
"brainstorm.sharePublicLink": "Öffentlicher Link",
"brainstorm.shareSearchLabel": "Person finden",
"brainstorm.shareSubmit": "Teilen",
"brainstorm.shareSubmitting": "Wird gesendet…",
"brainstorm.spatialMode": "Räumlicher Erkundungsmodus",
"brainstorm.startBrainstorm": "Brainstorm starten",
"brainstorm.startOne": "Einen starten",
"brainstorm.subtitle": "Dimensionen des Potenzials entfalten",
"brainstorm.synthesizes": "Synthetisiert",
"brainstorm.title": "Gedankenwellen",
"brainstorm.toastConvertFailed": "Umwandlung fehlgeschlagen",
"brainstorm.toastConvertSuccess": "Idee in Notiz umgewandelt!",
"brainstorm.toastDismissFailed": "Verwerfen fehlgeschlagen",
"brainstorm.toastDismissSuccess": "Idee verworfen",
"brainstorm.toastExpandFailed": "Erweiterung fehlgeschlagen",
"brainstorm.toastExpandSuccess": "Ideen erweitert!",
"brainstorm.toastExportFailed": "Export fehlgeschlagen",
"brainstorm.toastExportNoteSuccess": "Als Notiz exportiert!",
"brainstorm.transposes": "Transponiert",
"brainstorm.unnamedPerson": "Ohne Namen",
"brainstorm.viewNote": "Notiz anzeigen",
"brainstorm.wave": "Welle",
"brainstorm.wave1": "Welle 1",
"brainstorm.wave2": "Welle 2",
"brainstorm.wave3": "Welle 3",
"brainstorm.waveBadge": "Welle {wave}",
"brainstorm.waveFlavorAnalogy": "Analogie",
"byokSettings.alias": "Bezeichnung (optional)",
"byokSettings.aliasPlaceholder": "z. B. OpenAI Arbeit",
"byokSettings.apiKey": "API-Schlüssel",
"byokSettings.badgeActive": "BYOK aktiv",
"byokSettings.confirmDelete": "Diesen API-Schlüssel dauerhaft entfernen?",
"byokSettings.deleted": "API-Schlüssel entfernt",
"byokSettings.description": "Verbinden Sie eigene LLM-Anbieter-Schlüssel, um die Limits des Entdecker-Pakets zu umgehen. Schlüssel werden verschlüsselt gespeichert.",
"byokSettings.empty": "Noch keine API-Schlüssel konfiguriert.",
"byokSettings.error": "API-Schlüssel konnte nicht gespeichert werden",
"byokSettings.loadError": "API-Schlüssel konnten nicht geladen werden",
"byokSettings.loading": "Schlüssel werden geladen…",
"byokSettings.provider": "Anbieter",
"byokSettings.providerPlaceholder": "Anbieter wählen",
"byokSettings.save": "Schlüssel speichern",
"byokSettings.saved": "API-Schlüssel gespeichert",
"byokSettings.tierRequired": "BYOK erfordert den Pro-Plan oder höher. Upgraden Sie, um Ihre API-Schlüssel zu verbinden.",
"byokSettings.title": "Ihre API-Schlüssel (BYOK)",
"chat.timeoutWarning": "Die Antwort dauert länger als erwartet…",
"common.optional": "Optional",
"dataManagement.title": "Daten",
"diagnostics.checking": "Wird geprüft…",
"diagnostics.description": "Verbindungsstatus Ihres KI-Anbieters prüfen",
"diagnostics.errorStatus": "Fehler",
"diagnostics.operational": "Betriebsbereit",
"documentInfo.tabInfo": "Info",
"general.clean": "Bereinigen",
"general.indexAll": "Alle indexieren",
"general.testConnection": "Verbindung testen",
"generalSettings.title": "Allgemein",
"labHeader.live": "Live",
"labHeader.rename": "Umbenennen",
"labels.title": "Labels",
"landing.footer.community.title": "Community",
"landing.pricing.perUser": "+ 3,90 €/Nutzer",
"landing.pricing.perUserAnnual": "+ 2,90 €/Nutzer, jährlich abgerechnet",
"nav.proPlan": "Pro-Plan",
"notebook.generatingDescription": "Bitte warten…",
"notes.archiveFailed": "Archivierung fehlgeschlagen",
"notes.archived": "Notiz archiviert",
"notes.confirmDeleteTitle": "Notiz löschen",
"notes.content": "Inhalt",
"notes.conversionFailed": "Umwandlung fehlgeschlagen, bleibt in Markdown",
"notes.convertedToRichText": "In Rich Text umgewandelt",
"notes.createFailed": "Notiz konnte nicht erstellt werden",
"notes.deleteFailed": "Notiz konnte nicht gelöscht werden",
"notes.deleted": "Notiz gelöscht",
"notes.dismiss": "Nicht relevant",
"notes.dismissed": "Notiz aus „Zuletzt“ entfernt",
"notes.generalNotes": "Allgemeine Notizen",
"notes.generateTitleFromImage": "Titel aus Bild generieren",
"notes.historyDisabledTitle": "Versionsverlauf",
"notes.historyEnabledDesc": "Versionen dieser Notiz werden ab jetzt gespeichert.",
"notes.historyEnabledTitle": "Verlauf aktiviert!",
"notes.ideaOrigin": "Ursprung der Idee",
"notes.leftShare": "Freigabe entfernt",
"notes.noNoteLink": "Rein generierte Idee",
"notes.restore": "Wiederherstellen",
"notes.sort": "Sortieren",
"notes.suggestTitle": "KI-Titel",
"notes.titleGenerated": "Titel generiert",
"notes.typeRichText": "Rich Text",
"notes.typeText": "Text",
"notes.updateFailed": "Aktualisierung fehlgeschlagen",
"notification.accept": "Annehmen",
"notification.accepted": "Freigabe angenommen",
"notification.decline": "Ablehnen",
"notification.noNotifications": "Keine neuen Benachrichtigungen",
"notification.systemNotification": "System",
"profile.recentNotesUpdateFailed": "Einstellung für zuletzt geänderte Notizen konnte nicht aktualisiert werden",
"profile.recentNotesUpdateSuccess": "Einstellung für zuletzt geänderte Notizen erfolgreich aktualisiert",
"profile.showRecentNotes": "Bereich „Zuletzt“ anzeigen",
"profile.showRecentNotesDescription": "Kürzliche Notizen (letzte 7 Tage) auf der Hauptseite anzeigen",
"profile.tab": "Profil",
"richTextEditor.imageUrlPlaceholder": "https://beispiel.de/bild.png",
"richTextEditor.slashAlignCenter": "Zentrieren",
"richTextEditor.slashText": "Text",
"settings.cardSizeMode": "Notizgröße",
"settings.cardSizeModeDescription": "Zwischen variablen oder einheitlichen Größen wählen",
"settings.cardSizeUniform": "Einheitliche Größe",
"settings.cardSizeVariable": "Variable Größen (klein/mittel/groß)",
"settings.cleanTags": "Verwaiste Labels bereinigen",
"settings.cleanTagsDescription": "Labels entfernen, die von keiner Notiz mehr verwendet werden",
"settings.maintenanceDescription": "Werkzeuge zur Pflege Ihrer Datenbank",
"settings.selectCardSizeMode": "Anzeigemodus wählen",
"settings.semanticIndexing": "Semantische Indexierung",
"settings.semanticIndexingDescription": "Vektoren für alle Notizen erzeugen, um absichtsbasierte Suche zu ermöglichen",
"settings.themeBaseGroup": "Anzeige",
"settings.themeBlue": "Blau",
"settings.themeGreen": "Grün",
"settings.themeLavender": "Lavendel",
"settings.themeMidnight": "Mitternacht",
"settings.themeOcean": "Ozean",
"settings.themePalettesGroup": "Farbpaletten",
"settings.themeSand": "Sand",
"settings.themeSepia": "Sepia",
"settings.themeSunset": "Sonnenuntergang",
"settings.themeSystem": "System",
"sidebar.archive": "Archiv",
"sidebar.clearFilter": "Filter entfernen",
"sidebar.editLabels": "Labels bearbeiten",
"sidebar.labels": "Labels",
"sidebar.reminders": "Erinnerungen",
"sidebar.sharedNotebookBadge": "· Geteilt",
"sidebar.sortAlpha": "A → Z",
"sidebar.trash": "Papierkorb",
"support.domainSSL": "Domain & SSL:",
"testPages.titleSuggestions.status": "Status:",
"usageMeter.addApiKey": "Eigene API-Schlüssel verwenden (BYOK)",
"usageMeter.featureBrainstormCreate": "Brainstorm-Erstellungen",
"usageMeter.featureBrainstormEnrich": "Brainstorm-Anreicherungen",
"usageMeter.featureBrainstormExpand": "Brainstorm-Erweiterungen",
"usageMeter.featureChat": "KI-Nachrichten",
"usageMeter.featureReformulate": "Umformulierungen",
"usageMeter.featureSearch": "Suche",
"usageMeter.featureTags": "Labels",
"usageMeter.featureTitles": "Titel",
"usageMeter.later": "Später",
"usageMeter.packName": "KI-Entdecker-Paket",
"usageMeter.proChat": "100 Chat-Nachrichten / Monat",
"usageMeter.proIncludes": "Pro enthält:",
"usageMeter.proReformulate": "50 Umformulierungen / Monat",
"usageMeter.proSearch": "100 semantische Suchen / Monat",
"usageMeter.proTags": "200 Auto-Labels / Monat",
"usageMeter.proTitles": "200 Auto-Titel / Monat",
"usageMeter.remaining": "{count} übrig",
"usageMeter.unlimited": "Unbegrenzt",
"usageMeter.upgradeDescription": "Sie haben alle Guthaben des KI-Entdecker-Pakets verbraucht. Upgraden Sie auf Pro für höhere Limits und zusätzliche Funktionen.",
"usageMeter.upgradePricing": "Auf Pro upgraden",
"usageMeter.upgradeTitle": "Auf Pro upgraden"
}

View File

@@ -0,0 +1,347 @@
{
"about.tab": "Acerca de",
"about.technology.backend": "back-end",
"about.technology.frontend": "Interfaz",
"about.technology.ui": "Interfaz",
"admin.ai.providerCustomOption": "🔧 Compatible con OpenAI personalizado",
"admin.ai.providerLMStudioOption": "🖥️ LM Studio (local)",
"admin.ai.providerOllamaOption": "🦙 Ollama (local y gratuito)",
"admin.aiTest.error": "Error :",
"admin.chat": "Gato IA",
"admin.email.activeAuto": "Modo automático: el reenvío se utilizará como prioridad y SMTP como respaldo.",
"admin.email.activeProvider": "Proveedor activo",
"admin.email.activeSmtp": "Modo automático: se utilizará SMTP (reenvío no configurado).",
"admin.email.keySet": "clave configurada",
"admin.email.noneConfigured": "No hay ningún servicio de correo electrónico configurado. Configure Reenvío o SMTP.",
"admin.email.status": "Estado del servicio",
"admin.email.testFail": "prueba fallida",
"admin.email.testOk": "prueba pasada",
"admin.lab": "El laboratorio",
"admin.smtp.host": "Anfitrión",
"admin.tools.brave": "API de búsqueda valiente",
"admin.users.table.subscription": "Suscripción",
"admin.users.tierUpdateFailed": "Error al actualizar la suscripción",
"admin.users.tierUpdateSuccess": "Suscripción actualizada a {tier}",
"admin.workspace": "Espacio de trabajo",
"agents.filterAll": "Todo",
"agents.form.back": "Atrás",
"agents.form.includeImages": "Incluir imágenes",
"agents.form.includeImagesHint": "Extraiga imágenes de páginas raspadas y adjúntelas a la nota generada",
"agents.frequencies.manual": "Manual",
"agents.help.advancedContent": "Haga clic en **\"Modo avanzado\"** en la parte inferior del formulario para acceder a configuraciones adicionales.\n\n### Instrucciones de IA\n\nEste campo le permite **anular el mensaje predeterminado del sistema** del agente. Si lo deja vacío, el agente utiliza un mensaje automático adaptado a su tipo.\n\n**¿Por qué usarlo?** Quieres controlar exactamente el comportamiento del agente. Por ejemplo:\n- “Escribir el resumen en inglés, incluso si las fuentes están en francés”\n- “Estructurar la nota con las secciones: Contexto, Puntos clave, Opinión personal”\n- “Ignora artículos de más de 30 días y céntrate en noticias recientes”\n- \"Para cada tema detectado, ofrece 3 vías de estudio en profundidad con enlaces\"\n\n> **Nota:** Sus instrucciones reemplazan las predeterminadas, no es que las agreguen.\n\n### Iteraciones máximas\n\nEste es el **número máximo de ciclos** que el agente puede realizar. Un ciclo = el agente piensa, llama a una herramienta, lee el resultado y luego decide la siguiente acción.\n\n- **3-5 iteraciones:** para tareas simples (raspado de una sola página)\n- **10 iteraciones (predeterminado):** buen equilibrio en la mayoría de los casos\n- **15-25 iteraciones:** para búsquedas profundas donde el agente debe explorar varias vías\n\n> **Atención:** Más iteraciones = más tiempo y potencialmente más costos de API.",
"agents.help.frequencyContent": "| Frecuencia | Comportamiento\n|---------------|------------\n| **Manual** | Hace clic en \"Ejecutar\": no hay programación automática\n| **Cada hora** | Corre cada hora\n| **Diario** | Se ejecuta una vez al día\n| **Semanal** | Se ejecuta una vez por semana.\n| **Mensual** | Se ejecuta una vez al mes\n\n> **Consejo:** Comience con \"Manual\" para probar su agente, luego cambie a la frecuencia automática una vez que esté satisfecho.",
"agents.help.howToUseContent": "1. Haga clic en **\"Nuevo agente\"** (o comience con una **Plantilla** en la parte inferior de la página)\n2. Elija un **tipo de agente** (Investigador, Vigilante, Supervisor, Personalizado)\n3. Asígnale un **nombre** y completa los campos específicos del tipo.\n4. Opcionalmente, elija un **cuaderno de destino** o guarde los resultados.\n5. Seleccione una **frecuencia** (Manual = la ejecuta usted mismo)\n6. Haga clic en **Crear**, luego presione el botón **Ejecutar** en la tarjeta del agente.\n7. Una vez completado, aparece una nueva nota en su cuaderno de destino.",
"agents.help.targetNotebookContent": "Cuando un agente completa su tarea, **crea una nota**. El **cuaderno de destino** determina hacia dónde se dirige:\n\n- **Bandeja de entrada** (predeterminado): la nota va a sus notas generales\n- **Cuaderno específico**: elige un cuaderno para mantener los resultados organizados\n\n> **Consejo:** Cree un cuaderno dedicado como \"Informes de agentes\" para centralizar todo el contenido automatizado.",
"agents.newBadge": "Nuevo",
"agents.noResults": "Ningún agente coincide con su búsqueda.",
"agents.schedule.dayOfMonth": "dia del mes",
"agents.schedule.dayOfWeek": "Día de la semana",
"agents.schedule.days.fri": "Viernes",
"agents.schedule.days.mon": "Lunes",
"agents.schedule.days.sat": "SÁBADO",
"agents.schedule.days.sun": "Domingo",
"agents.schedule.days.thu": "JUEVES",
"agents.schedule.days.tue": "Martes",
"agents.schedule.days.wed": "Miércoles",
"agents.schedule.nextRun": "Próxima ejecución",
"agents.schedule.pending": "Esperando para disparar",
"agents.schedule.time": "Hora",
"agents.searchPlaceholder": "Encuentre un agente...",
"agents.toasts.autoRunError": "El agente \"{name}\" falló durante la ejecución automática",
"agents.toasts.autoRunSuccess": "El agente \"{name}\" se ejecutó automáticamente con éxito",
"agents.toasts.runError": "Error: {error}",
"agents.types.scraper": "Sereno",
"ai.action.describeImages": "Describe las imágenes",
"ai.chatTab": "Discusión",
"ai.contextSourceHeading": "fuente de contexto",
"ai.errorShort": "Error",
"ai.featureLocked": "Esta función requiere el plan PRO o superior.",
"ai.generateTitleFromImage": "Generar título a partir de imagen",
"ai.insightsTab": "Resúmenes",
"ai.noImagesError": "No hay imágenes en esta nota.",
"ai.overview": "Resumen",
"ai.quotaExceeded": "Límite mensual alcanzado. Se restablece el próximo mes.",
"ai.titleGenerated": "Título generado a partir de la imagen.",
"ai.tones.academic": "Académico",
"ai.tones.casual": "Relajado",
"ai.tones.creative": "Creativo",
"ai.tones.professional": "Profesional",
"aiSettings.providerOllama": "Ollama (local)",
"aiSettings.title": "IA",
"appearance.fontInterDefault": "Inter (predeterminado)",
"appearance.selectTheme": "Seleccionar tema",
"appearance.tab": "Apariencia",
"auth.signOut": "Desconectar",
"billing.enterpriseTitle": "Negocio",
"billing.tab": "Facturación",
"brainstorm.addIdea": "Añade una idea",
"brainstorm.aiIdea": "IA",
"brainstorm.brainstormThisIdea": "Haz una lluvia de ideas sobre esta idea",
"brainstorm.cancel": "Cancelar",
"brainstorm.canvasChildBranch": "niño",
"brainstorm.canvasDoubleClickHint": "Haz doble clic para agregar una idea.",
"brainstorm.canvasEditTitleNewIdea": "nueva idea",
"brainstorm.canvasEditTitleReply": "Respuesta",
"brainstorm.canvasPlaceholderIdea": "Tu idea...",
"brainstorm.canvasPlaceholderReply": "Tu respuesta…",
"brainstorm.canvasShortcutCancel": "Cancelar",
"brainstorm.canvasShortcutSave": "ahorrar",
"brainstorm.canvasWaitingHint": "El lienzo espera tu chispa...",
"brainstorm.convertedToNoteStatus": "Convertido a calificación",
"brainstorm.converting": "Conversión...",
"brainstorm.deepen": "Excavar",
"brainstorm.deepening": "Generación...",
"brainstorm.delete": "BORRAR",
"brainstorm.derived_from": "Derivado de",
"brainstorm.dismiss": "No relevante",
"brainstorm.export": "Exportar",
"brainstorm.exportDefaultNoteTitle": "Síntesis",
"brainstorm.exportFailedMessage": "Exportación fallida",
"brainstorm.exportNotebookPrefix": "Computadora portátil :",
"brainstorm.exportOpening": "Apertura…",
"brainstorm.exporting": "Exportar...",
"brainstorm.extends": "Se extiende",
"brainstorm.extract": "crear una nota",
"brainstorm.feedbackAlreadyPending": "Ya hay una invitación pendiente para esta persona.",
"brainstorm.feedbackAlreadyShared": "Esta persona ya tiene acceso a esta lluvia de ideas.",
"brainstorm.feedbackGenericError": "Error",
"brainstorm.feedbackInviteResent": "¡Invitación devuelta!",
"brainstorm.feedbackInviteSent": "¡Invitación enviada!",
"brainstorm.generating": "La IA cosecha semillas de pensamiento...",
"brainstorm.guestReadOnlyNotice": "Estás viendo esta lluvia de ideas como invitado. Inicie sesión para editar.",
"brainstorm.ideaDetailConnection": "Conexión",
"brainstorm.ideaDetailNovelty": "Originalidad",
"brainstorm.ideaDetailWave": "Ola",
"brainstorm.ideaOrigin": "Origen de la idea",
"brainstorm.ideas": "ideas",
"brainstorm.impactNotesEnriched": "{count} nota(s) enriquecida(s)",
"brainstorm.impactNotesMarkedDry": "{count} nota(s) marcada(s) seca(s)",
"brainstorm.invite": "Invitar",
"brainstorm.legendDisruptions": "Rupturas",
"brainstorm.legendSeed": "Semilla",
"brainstorm.linkCopied": "¡Enlace de invitación copiado!",
"brainstorm.linkedNotes": "Notas relacionadas",
"brainstorm.liveCollaborationTitle": "Colaboración en vivo",
"brainstorm.liveOtherParticipants": "{count} otros participantes",
"brainstorm.liveStatus": "Vivir",
"brainstorm.liveYouMarker": "(TÚ)",
"brainstorm.manualIdeaPrompt": "Título de tu idea:",
"brainstorm.newBrainstorm": "Nueva lluvia de ideas",
"brainstorm.noNoteLink": "Idea puramente generativa",
"brainstorm.noSessions": "Aún no hay lluvias de ideas",
"brainstorm.none_found": "Sin enlace",
"brainstorm.noteCreated": "Nota creada",
"brainstorm.novelty": "Originalidad",
"brainstorm.opposes": "En oposición a",
"brainstorm.originConnection": "Enlace con origen",
"brainstorm.originalSeedDescription": "Idea fuente inicial",
"brainstorm.ownerBadge": "Dueño",
"brainstorm.placeholder": "Introduzca un concepto para explorar...",
"brainstorm.playbackReturnToLive": "volver a vivir",
"brainstorm.playbackStep": "Paso {current}/{total}",
"brainstorm.playbackStepsCount": "{count} pasos",
"brainstorm.seedLabel": "Idea fuente",
"brainstorm.seedNodeBadge": "SEMILLA",
"brainstorm.sessions": "Sesiones de lluvia de ideas",
"brainstorm.shareDialogTitle": "Comparte la lluvia de ideas",
"brainstorm.shareFooterHint": "La persona recibirá una notificación para aceptar o rechazar.",
"brainstorm.shareGuestsCanEdit": "Permitir que los invitados editen",
"brainstorm.shareNameOrEmailPlaceholder": "Nombre o correo electrónico…",
"brainstorm.sharePublicLink": "Enlace público",
"brainstorm.shareSearchLabel": "buscar una persona",
"brainstorm.shareSubmit": "Compartir",
"brainstorm.shareSubmitting": "Envío…",
"brainstorm.spatialMode": "Modo de exploración espacial",
"brainstorm.startBrainstorm": "Iniciar la lluvia de ideas",
"brainstorm.startOne": "para empezar",
"brainstorm.subtitle": "Ampliar las dimensiones del potencial.",
"brainstorm.synthesizes": "sintetizar",
"brainstorm.title": "Ondas de pensamiento",
"brainstorm.toastConvertFailed": "La conversión falló",
"brainstorm.toastConvertSuccess": "¡Idea convertida en nota!",
"brainstorm.toastDismissFailed": "Fallo de brecha",
"brainstorm.toastDismissSuccess": "Idea descartada",
"brainstorm.toastExpandFailed": "Fracaso de la ampliación",
"brainstorm.toastExpandSuccess": "¡Ideas ampliadas!",
"brainstorm.toastExportFailed": "Exportación fallida",
"brainstorm.toastExportNoteSuccess": "¡Exportado como nota!",
"brainstorm.transposes": "Transponer",
"brainstorm.unnamedPerson": "Sin nombre",
"brainstorm.viewNote": "Ver nota",
"brainstorm.wave": "Ola",
"brainstorm.wave1": "Ola 1",
"brainstorm.wave2": "Ola 2",
"brainstorm.wave3": "Ola 3",
"brainstorm.waveBadge": "Ola {wave}",
"brainstorm.waveFlavorAnalogy": "Analogía",
"byokSettings.alias": "Redacción (opcional)",
"byokSettings.aliasPlaceholder": "ex. OpenAI profesional",
"byokSettings.apiKey": "Clave API",
"byokSettings.badgeActive": "BYOK activo",
"byokSettings.confirmDelete": "¿Eliminar definitivamente esta clave API?",
"byokSettings.deleted": "Clave API eliminada",
"byokSettings.description": "Conecte sus propias claves de proveedor para eludir las cuotas del paquete Descubrimiento. Las llaves están cifradas en reposo.",
"byokSettings.empty": "No se ha configurado ninguna clave API.",
"byokSettings.error": "No se puede guardar la clave",
"byokSettings.loadError": "No se pueden cargar las llaves",
"byokSettings.loading": "Carga...",
"byokSettings.provider": "Proveedor",
"byokSettings.providerPlaceholder": "Elegir un proveedor",
"byokSettings.save": "Guardar clave",
"byokSettings.saved": "Clave API registrada",
"byokSettings.tierRequired": "El BYOK requiere una suscripción Pro o superior.",
"byokSettings.title": "Sus claves API (BYOK)",
"chat.timeoutWarning": "La respuesta tarda más de lo esperado...",
"common.error": "Error",
"dataManagement.cleanup.button": "Limpiar",
"dataManagement.cleanup.description": "Eliminar etiquetas y conexiones que hagan referencia a notas eliminadas.",
"dataManagement.cleanup.failed": "Error al limpiar",
"dataManagement.cleanup.title": "Limpiar datos huérfanos",
"dataManagement.delete.button": "Eliminar todas las notas",
"dataManagement.delete.confirm": "¿Está seguro? Esta acción eliminará permanentemente todas sus notas.",
"dataManagement.delete.description": "Borrar definitivamente todas tus notas. Esta acción es irreversible.",
"dataManagement.delete.failed": "Error al eliminar notas",
"dataManagement.delete.success": "Todas las notas han sido eliminadas",
"dataManagement.delete.title": "Eliminar todas las notas",
"dataManagement.export.button": "Exportar notas",
"dataManagement.export.description": "Descarga todas tus notas en formato JSON. Incluye todo el contenido, etiquetas y metadatos.",
"dataManagement.export.failed": "Fallo al exportar notas",
"dataManagement.export.success": "Notas exportadas con éxito",
"dataManagement.export.title": "Exportar todas las notas",
"dataManagement.import.button": "Importar notas",
"dataManagement.import.description": "Descarga un archivo JSON para importar notas. Las notas se añadirán a las existentes, no se sustituirán.",
"dataManagement.import.failed": "Fallo al importar notas",
"dataManagement.import.success": "{count} notas importadas",
"dataManagement.import.title": "Importar notas",
"dataManagement.indexing.button": "Reconstruir el índice",
"dataManagement.indexing.description": "Regenerar embeddings para todas las notas para mejorar la búsqueda semántica.",
"dataManagement.indexing.failed": "Error al indexar",
"dataManagement.indexing.success": "Indexación completada: {count} notas procesadas",
"dataManagement.indexing.title": "Reconstruir el índice de búsqueda",
"dataManagement.title": "Datos",
"dataManagement.toolsDescription": "Herramientas para mantener la salud de tu base de datos",
"diagnostics.checking": "Verificación",
"diagnostics.description": "Comprueba el estado de la conexión de tu proveedor de IA",
"diagnostics.errorStatus": "Error",
"diagnostics.operational": "Operacional",
"general.clean": "Limpiar",
"general.indexAll": "Indexar todo",
"general.testConnection": "Probar conexión",
"generalSettings.title": "Generales.",
"labHeader.rename": "Renombrar",
"labels.createLabel": "Crear etiqueta",
"labels.delete": "BORRAR",
"labels.deleteTooltip": "Eliminar etiqueta",
"labels.editLabels": "Modificar las etiquetas",
"labels.editLabelsDescription": "Crear, modificar colores o eliminar etiquetas.",
"labels.filter": "Filtrar por etiqueta",
"labels.filterByLabel": "Filtrar por etiqueta",
"labels.labelColor": "Color de la etiqueta",
"labels.labelName": "Nombre Etiqueta",
"labels.loading": "Carga...",
"labels.manage": "Gestionar etiquetas",
"labels.manageLabels": "Gestionar etiquetas",
"labels.manageLabelsDescription": "Añadir o eliminar etiquetas para esta nota. Haga clic en una etiqueta para cambiar su color.",
"labels.manageTooltip": "Gestionar etiquetas",
"labels.namePlaceholder": "Introduzca el nombre de la etiqueta",
"labels.newLabelPlaceholder": "Crear nueva etiqueta",
"labels.noLabelsFound": "No se ha encontrado ninguna etiqueta.",
"labels.notebookRequired": "⚠️ Las etiquetas solo están disponibles en los cuadernos. Mueva esta nota a un cuaderno primero.",
"labels.selectedLabels": "Etiquetas seleccionadas",
"labels.showLess": "VER MENOS<x id=\"1\"/><x id=\"2\"/>",
"labels.showMore": "Ver más",
"labels.tagAdded": "Etiqueta \"{tag}\" añadida",
"labels.title": "Etiquetas",
"landing.footer.legal.title": "Legal",
"landing.pricing.perUser": "+ 3,90€/usuario",
"landing.pricing.perUserAnnual": "+ 2,90€/usuario, facturación anual",
"notebook.generatingDescription": "Favor de esperar…",
"notebook.selectColor": " Color",
"notes.archiveFailed": "Falló el archivado.",
"notes.archived": "Se añade una nota al expediente",
"notes.color": " Color",
"notes.confirmDeleteTitle": "Borrar nota",
"notes.content": "Contenido",
"notes.conversionFailed": "Falló la conversión, permanece en Markdown",
"notes.convertedToRichText": "Convertido en texto enriquecido",
"notes.createFailed": "No se puede crear la nota",
"notes.deleteFailed": "Falló la eliminación de la nota",
"notes.deleted": "Nota eliminada",
"notes.dismiss": "No relevante",
"notes.dismissed": "Nota retirada de las recientes",
"notes.generalNotes": "Notas generales",
"notes.generateTitleFromImage": "Generar título a partir de imagen",
"notes.historyDisabledTitle": "Historial de versiones",
"notes.historyEnabledDesc": "A partir de ahora se guardarán las versiones de esta nota.",
"notes.historyEnabledTitle": "¡Histórico activado!",
"notes.ideaOrigin": "Origen de la idea",
"notes.leftShare": "Compartir retirado",
"notes.noNoteLink": "Idea puramente generativa",
"notes.remove": "BORRAR",
"notes.restore": "Restablecer",
"notes.sort": "Ordenar",
"notes.suggestTitle": "Título IA",
"notes.titleGenerated": "Título generado",
"notes.updateFailed": "Actualización fallida",
"notification.accept": "Accept",
"notification.accepted": "Se acepta compartir",
"notification.decline": "Declinar",
"notification.noNotifications": "Ninguna notificación",
"paragraphRefactor.formal": "Formal:",
"profile.recentNotesUpdateFailed": "Falló la actualización de la configuración de notas recientes",
"profile.recentNotesUpdateSuccess": "Configuración de notas recientes actualizada con éxito",
"profile.showRecentNotes": "Mostrar la sección Reciente",
"profile.showRecentNotesDescription": "Mostrar notas recientes (últimos 7 días) en la página principal",
"profile.tab": "Perfil",
"settings.cardSizeMode": "Tamaño de las notas",
"settings.cardSizeModeDescription": "Elegir entre notas de diferentes tamaños o uniformes",
"settings.cardSizeUniform": "Talla uniforme",
"settings.cardSizeVariable": "Tamaños variables (pequeño/mediano/grande)",
"settings.cleanTags": "Limpiar etiquetas huérfanas",
"settings.cleanTagsDescription": "Eliminar las etiquetas que ya no son utilizadas por ninguna nota",
"settings.maintenanceDescription": "Herramientas para mantener la salud de tu base de datos",
"settings.selectCardSizeMode": "Activar la vista de página maestra.",
"settings.semanticIndexing": "Indexación semántica",
"settings.semanticIndexingDescription": "Generar vectores para todas las notas para permitir la búsqueda por intención",
"settings.themeBaseGroup": "Pantalla",
"settings.themeBlue": "Azul",
"settings.themeGreen": "Verde",
"settings.themeLavender": "Lavanda",
"settings.themeMidnight": "Medianoche",
"settings.themeOcean": "Océano",
"settings.themePalettesGroup": "Paletas de colores",
"settings.themeSand": "Arena",
"settings.themeSepia": "Sepia",
"settings.themeSunset": "Puesta de sol",
"sidebar.archive": "Archivos",
"sidebar.clearFilter": "Retirar el filtro",
"sidebar.editLabels": "Modificar las etiquetas",
"sidebar.labels": "Etiquetas",
"sidebar.reminders": "Advertencias",
"sidebar.sharedNotebookBadge": "Distribuido",
"sidebar.sortAlpha": "Orden A → Z",
"sidebar.trash": "Papelera",
"testPages.titleSuggestions.error": "Error :",
"usageMeter.addApiKey": "Utilizar su propia clave API (BYOK)",
"usageMeter.featureBrainstormCreate": "Creaciones de brainstorm",
"usageMeter.featureBrainstormEnrich": "Enriquecimientos de brainstorm",
"usageMeter.featureBrainstormExpand": "Expansiones de brainstorm",
"usageMeter.featureChat": "Mensajes IA",
"usageMeter.featureReformulate": "Reformulaciones",
"usageMeter.featureSearch": "Búsqueda",
"usageMeter.featureTags": "Etiquetas",
"usageMeter.featureTitles": "Títulos",
"usageMeter.later": "Más tarde",
"usageMeter.packName": "Pack descubrimiento IA",
"usageMeter.proChat": "100 mensajes de chat / mes",
"usageMeter.proIncludes": "Pro incluye:",
"usageMeter.proReformulate": "50 reformulaciones / mes",
"usageMeter.proSearch": "100 búsquedas semánticas / mes",
"usageMeter.proTags": "200 etiquetas de coche / mes",
"usageMeter.proTitles": "200 títulos de auto / mes",
"usageMeter.remaining": "{count} restantes",
"usageMeter.unlimited": "Ilimitado",
"usageMeter.upgradeDescription": "Ha utilizado todos los créditos del paquete de descubrimiento de IA. Actualice a Pro para techos más altos y funciones adicionales.",
"usageMeter.upgradePricing": "Cambiar a Pro",
"usageMeter.upgradeTitle": "Cambiar a Pro"
}

View File

@@ -0,0 +1,164 @@
{
"admin.ai.providerAnthropicOption": "🧠 Anthropic (Claude API)",
"admin.tools.brave": "Brave Search API",
"admin.users.table.subscription": "اشتراک",
"admin.users.tierUpdateFailed": "اشتراک به‌روزرسانی نشد",
"admin.users.tierUpdateSuccess": "اشتراک به {tier} به روز شد",
"agents.form.back": "برگشت",
"ai.contextSourceHeading": "منبع زمینه",
"ai.tones.academic": "دانشگاهی",
"ai.tones.casual": "گاه به گاه",
"ai.tones.creative": "خلاق",
"ai.tones.professional": "حرفه ای",
"appearance.fontInterDefault": "اینتر (پیش‌فرض)",
"billing.enterpriseTitle": "تصدی",
"brainstorm.addIdea": "ایده اضافه کنید",
"brainstorm.brainstormThisIdea": "طوفان فکری این ایده",
"brainstorm.cancel": "لغو کنید",
"brainstorm.canvasChildBranch": "کودک",
"brainstorm.canvasDoubleClickHint": "برای افزودن ایده دوبار کلیک کنید",
"brainstorm.canvasEditTitleNewIdea": "ایده جدید",
"brainstorm.canvasEditTitleReply": "پاسخ دهید",
"brainstorm.canvasPlaceholderIdea": "ایده شما…",
"brainstorm.canvasPlaceholderReply": "پاسخ شما…",
"brainstorm.canvasShortcutCancel": "لغو",
"brainstorm.canvasShortcutSave": "ذخیره کنید",
"brainstorm.canvasWaitingHint": "بوم منتظر جرقه توست...",
"brainstorm.convertedToNoteStatus": "به یادداشت تبدیل شد",
"brainstorm.converting": "در حال تبدیل...",
"brainstorm.deepen": "عمیق کنید",
"brainstorm.deepening": "در حال تولید...",
"brainstorm.delete": "حذف کنید",
"brainstorm.derived_from": "برگرفته از",
"brainstorm.dismiss": "مربوط نیست",
"notes.dismiss": "مربوط نیست",
"brainstorm.export": "صادرات",
"brainstorm.exportDefaultNoteTitle": "سنتز",
"brainstorm.exportFailedMessage": "صادرات انجام نشد",
"brainstorm.exportNotebookPrefix": "دفترچه یادداشت:",
"brainstorm.exportOpening": "باز کردن…",
"brainstorm.exporting": "در حال صادرات...",
"brainstorm.extends": "تمدید می شود",
"brainstorm.extract": "یادداشت ایجاد کنید",
"brainstorm.feedbackAlreadyPending": "یک دعوت نامه برای این شخص از قبل در انتظار است.",
"brainstorm.feedbackAlreadyShared": "این شخص قبلاً به این طوفان فکری دسترسی دارد.",
"brainstorm.feedbackGenericError": "خطا",
"brainstorm.feedbackInviteResent": "دعوت دوباره ارسال شد!",
"brainstorm.feedbackInviteSent": "دعوت نامه ارسال شد!",
"brainstorm.generating": "هوش مصنوعی در حال برداشت دانه های فکر است...",
"brainstorm.guestReadOnlyNotice": "شما در حال مشاهده این طوفان فکری به عنوان یک مهمان هستید. برای ویرایش وارد شوید",
"brainstorm.ideaDetailConnection": "اتصال",
"brainstorm.ideaDetailNovelty": "تازگی",
"brainstorm.novelty": "تازگی",
"brainstorm.ideaDetailWave": "موج",
"brainstorm.wave": "موج",
"brainstorm.ideaOrigin": "خاستگاه ایده",
"notes.ideaOrigin": "خاستگاه ایده",
"brainstorm.ideas": "ایده ها",
"brainstorm.impactNotesEnriched": "{count} یادداشت (ها) غنی شده است",
"brainstorm.impactNotesMarkedDry": "{count} یادداشت خشک علامت‌گذاری شد",
"brainstorm.invite": "دعوت کنید",
"brainstorm.legendDisruptions": "اختلالات",
"brainstorm.legendSeed": "بذر",
"brainstorm.linkCopied": "پیوند دعوت کپی شد!",
"brainstorm.linkedNotes": "یادداشت های مرتبط",
"brainstorm.liveCollaborationTitle": "همکاری زنده",
"brainstorm.liveOtherParticipants": "{count} شرکت‌کننده دیگر",
"brainstorm.liveStatus": "زندگی کنید",
"brainstorm.liveYouMarker": "(شما)",
"brainstorm.manualIdeaPrompt": "عنوان ایده شما:",
"brainstorm.newBrainstorm": "طوفان فکری جدید",
"brainstorm.noNoteLink": "ایده کاملا مولد",
"notes.noNoteLink": "ایده کاملا مولد",
"brainstorm.noSessions": "هنوز طوفان فکری وجود ندارد",
"brainstorm.none_found": "لینک یادداشت وجود ندارد",
"brainstorm.noteCreated": "یادداشت ایجاد شد",
"brainstorm.opposes": "در مخالفت با",
"brainstorm.originConnection": "اتصال مبدا",
"brainstorm.originalSeedDescription": "ایده اصلی بذر",
"brainstorm.ownerBadge": "مالک",
"brainstorm.placeholder": "مفهومی را وارد کنید تا آشکار شود...",
"brainstorm.playbackReturnToLive": "بازگشت به زندگی",
"brainstorm.playbackStep": "مرحله {current}/{total}",
"brainstorm.playbackStepsCount": "{count} مرحله",
"brainstorm.seedLabel": "ایده بذر",
"brainstorm.seedNodeBadge": "دانه",
"brainstorm.sessions": "طوفان فکری",
"brainstorm.shareDialogTitle": "طوفان فکری را به اشتراک بگذارید",
"brainstorm.shareFooterHint": "آنها اعلانی برای پذیرش یا رد دریافت خواهند کرد.",
"brainstorm.shareGuestsCanEdit": "به مهمانان اجازه ویرایش بدهید",
"brainstorm.shareNameOrEmailPlaceholder": "نام یا ایمیل…",
"brainstorm.sharePublicLink": "لینک عمومی",
"brainstorm.shareSearchLabel": "کسی را پیدا کن",
"brainstorm.shareSubmit": "به اشتراک بگذارید",
"brainstorm.shareSubmitting": "در حال ارسال…",
"brainstorm.spatialMode": "حالت کاوش فضایی",
"brainstorm.startBrainstorm": "طوفان فکری را شروع کنید",
"brainstorm.startOne": "یکی را شروع کنید",
"brainstorm.subtitle": "ابعاد پتانسیل را آشکار کنید",
"brainstorm.synthesizes": "سنتز می کند",
"brainstorm.title": "امواج فکر",
"brainstorm.toastConvertFailed": "تبدیل نشد",
"brainstorm.toastConvertSuccess": "ایده تبدیل به یادداشت شد!",
"brainstorm.toastDismissFailed": "اخراج نشد",
"brainstorm.toastDismissSuccess": "ایده رد شد",
"brainstorm.toastExpandFailed": "گسترش یافت نشد",
"brainstorm.toastExpandSuccess": "ایده ها گسترش یافت!",
"brainstorm.toastExportFailed": "صادر نشد",
"brainstorm.toastExportNoteSuccess": "به عنوان یادداشت صادر شد!",
"brainstorm.transposes": "جابجا می کند",
"brainstorm.unnamedPerson": "بدون نام",
"brainstorm.viewNote": "مشاهده یادداشت",
"brainstorm.wave1": "موج ۱",
"brainstorm.wave2": "موج ۲",
"brainstorm.wave3": "موج ۳",
"brainstorm.waveBadge": "موج {موج}",
"brainstorm.waveFlavorAnalogy": "مقایسه",
"byokSettings.alias": "برچسب (اختیاری)",
"byokSettings.aliasPlaceholder": "به عنوان مثال OpenAI کار کنید",
"byokSettings.apiKey": "کلید API",
"byokSettings.badgeActive": "BYOK فعال است",
"byokSettings.confirmDelete": "این کلید API برای همیشه حذف شود؟",
"byokSettings.deleted": "کلید API حذف شد",
"byokSettings.description": "کلیدهای ارائه‌دهنده LLM خود را برای دور زدن سهمیه‌های Discovery Pack وصل کنید. کلیدها در حالت استراحت رمزگذاری می شوند.",
"byokSettings.empty": "هنوز هیچ کلید API پیکربندی نشده است.",
"byokSettings.error": "کلید API ذخیره نشد",
"byokSettings.loadError": "کلیدهای API بارگیری نشد",
"byokSettings.loading": "در حال بارگیری کلیدها...",
"byokSettings.provider": "ارائه دهنده",
"byokSettings.providerPlaceholder": "ارائه دهنده ای را انتخاب کنید",
"byokSettings.save": "کلید ذخیره",
"byokSettings.saved": "کلید API ذخیره شد",
"byokSettings.tierRequired": "BYOK به یک طرح حرفه ای یا بالاتر نیاز دارد. برای اتصال کلیدهای API خود، ارتقا دهید.",
"byokSettings.title": "کلیدهای API شما (BYOK)",
"richTextEditor.imageUrlPlaceholder": "https://example.com/image.png",
"settings.themeBaseGroup": "پایه",
"settings.themeBlue": "آبی",
"settings.themeGreen": "سبز",
"settings.themeLavender": "اسطوخودوس",
"settings.themeMidnight": "نیمه شب",
"settings.themeOcean": "اقیانوس",
"settings.themePalettesGroup": "پالت های رنگی",
"settings.themeSand": "شن و ماسه",
"settings.themeSepia": "سپیا",
"settings.themeSunset": "غروب آفتاب",
"sidebar.sharedNotebookBadge": "· به اشتراک گذاشته شده",
"sidebar.sortAlpha": "A → Z",
"usageMeter.addApiKey": "از کلید API خود (BYOK) استفاده کنید",
"usageMeter.featureSearch": "جستجو کنید",
"usageMeter.featureTags": "برچسب ها",
"usageMeter.featureTitles": "عناوین",
"usageMeter.later": "بعدا",
"usageMeter.packName": "بسته کشف هوش مصنوعی",
"usageMeter.proChat": "۱۰۰ پیام چت در ماه",
"usageMeter.proIncludes": "حرفه ای شامل:",
"usageMeter.proReformulate": "۵۰ فرمول مجدد در ماه",
"usageMeter.proSearch": "۱۰۰ جستجوی معنایی در ماه",
"usageMeter.proTags": "۲۰۰ برچسب خودکار در ماه",
"usageMeter.proTitles": "۲۰۰ عنوان خودکار در ماه",
"usageMeter.remaining": "{count} باقی مانده است",
"usageMeter.unlimited": "نامحدود",
"usageMeter.upgradeDescription": "شما از تمام اعتبارات AI Discovery Pack خود استفاده کرده اید. برای محدودیت های بالاتر و ویژگی های اضافی به Pro ارتقا دهید.",
"usageMeter.upgradePricing": "به Pro ارتقا دهید",
"usageMeter.upgradeTitle": "به Pro ارتقا دهید"
}

View File

@@ -0,0 +1,359 @@
#!/usr/bin/env node
/**
* Builds es.json, it.json, pt.json i18n overrides from FR reference strings.
* Keys: locale still matches EN but FR differs (+ 11 mandatory keys).
*/
import fs from 'fs'
import path from 'path'
import { fileURLToPath } from 'url'
import https from 'https'
const __dirname = path.dirname(fileURLToPath(import.meta.url))
const localesDir = path.join(__dirname, '../../locales')
const outDir = __dirname
function flat(obj, prefix = '') {
const result = {}
for (const [k, v] of Object.entries(obj)) {
const key = prefix ? `${prefix}.${k}` : k
if (v && typeof v === 'object' && !Array.isArray(v)) Object.assign(result, flat(v, key))
else result[key] = v
}
return result
}
const MANDATORY = [
'ai.featureLocked',
'ai.quotaExceeded',
'profile.tab',
'about.tab',
'appearance.tab',
'billing.tab',
'usageMeter.featureChat',
'usageMeter.featureReformulate',
'usageMeter.featureBrainstormCreate',
'usageMeter.featureBrainstormExpand',
'usageMeter.featureBrainstormEnrich',
]
const LANG_MAP = {
es: 'es',
it: 'it',
pt: 'pt',
nl: 'nl',
pl: 'pl',
ru: 'ru',
ar: 'ar',
}
function worklistKeys(lang) {
const en = flat(JSON.parse(fs.readFileSync(path.join(localesDir, 'en.json'), 'utf8')))
const loc = flat(JSON.parse(fs.readFileSync(path.join(localesDir, `${lang}.json`), 'utf8')))
const fr = flat(JSON.parse(fs.readFileSync(path.join(localesDir, 'fr.json'), 'utf8')))
const keys = Object.keys(en).filter((k) => loc[k] === en[k] && fr[k] && fr[k] !== en[k])
for (const k of MANDATORY) {
if (fr[k] && !keys.includes(k)) keys.push(k)
}
return keys.sort()
}
/** Protect ICU-style placeholders during translation */
function shieldPlaceholders(text) {
const tokens = []
const shielded = text.replace(/\{[^}]+\}/g, (m) => {
const id = `__PH_${tokens.length}__`
tokens.push(m)
return id
})
return { shielded, tokens }
}
function unshieldPlaceholders(text, tokens) {
let out = text
tokens.forEach((tok, i) => {
out = out.replace(`__PH_${i}__`, tok)
out = out.replace(`__ PH _ ${i} __`, tok)
out = out.replace(new RegExp(`__\\s*PH\\s*_\\s*${i}\\s*__`, 'gi'), tok)
})
return out
}
function myMemoryTranslate(text, targetLang, attempt = 0) {
return new Promise((resolve, reject) => {
const { shielded, tokens } = shieldPlaceholders(text)
const q = encodeURIComponent(shielded.slice(0, 4500))
const url = `https://api.mymemory.translated.net/get?q=${q}&langpair=fr|${targetLang}`
https
.get(url, (res) => {
let body = ''
res.on('data', (c) => (body += c))
res.on('end', () => {
try {
const data = JSON.parse(body)
if (data.responseStatus === 200 && data.responseData?.translatedText) {
resolve(unshieldPlaceholders(data.responseData.translatedText, tokens))
} else if (attempt < 4) {
setTimeout(() => {
myMemoryTranslate(text, targetLang, attempt + 1)
.then(resolve)
.catch(reject)
}, 1500 * (attempt + 1))
} else {
reject(new Error(data.responseDetails || 'translate failed'))
}
} catch (e) {
reject(e)
}
})
})
.on('error', reject)
})
}
async function translateFr(text, targetLang) {
if (!text || !text.trim()) return text
return myMemoryTranslate(text, targetLang)
}
const MANUAL = {
es: {
'sidebar.sortAlpha': 'Orden A → Z',
'settings.cardSizeVariable': 'Tamaños variables (pequeño/mediano/grande)',
'brainstorm.aiIdea': 'IA',
'brainstorm.seedNodeBadge': 'SEMILLA',
'byokSettings.badgeActive': 'BYOK activo',
'aiSettings.title': 'IA',
'aiSettings.providerOllama': 'Ollama (local)',
'admin.ai.providerOllamaOption': '🦙 Ollama (local y gratuito)',
'admin.ai.providerLMStudioOption': '🖥️ LM Studio (local)',
'usageMeter.packName': 'Pack descubrimiento IA',
'landing.pricing.perUser': '+ 3,90€/usuario',
'landing.pricing.perUserAnnual': '+ 2,90€/usuario, facturación anual',
'ai.featureLocked':
'Esta función requiere el plan PRO o superior.',
'ai.quotaExceeded': 'Límite mensual alcanzado. Se restablece el próximo mes.',
'profile.tab': 'Perfil',
'about.tab': 'Acerca de',
'appearance.tab': 'Apariencia',
'billing.tab': 'Facturación',
'usageMeter.featureChat': 'Mensajes IA',
'usageMeter.featureReformulate': 'Reformulaciones',
'usageMeter.featureBrainstormCreate': 'Creaciones de brainstorm',
'usageMeter.featureBrainstormExpand': 'Expansiones de brainstorm',
'usageMeter.featureBrainstormEnrich': 'Enriquecimientos de brainstorm',
},
it: {
'sidebar.sortAlpha': 'Ordine A → Z',
'settings.cardSizeVariable': 'Dimensioni variabili (small/medium/large)',
'brainstorm.aiIdea': 'IA',
'brainstorm.seedNodeBadge': 'SEME',
'byokSettings.badgeActive': 'BYOK attivo',
'aiSettings.title': 'IA',
'aiSettings.providerOllama': 'Ollama (locale)',
'admin.ai.providerOllamaOption': '🦙 Ollama (locale e gratuito)',
'admin.ai.providerLMStudioOption': '🖥️ LM Studio (locale)',
'usageMeter.packName': 'Pacchetto scoperta IA',
'landing.pricing.perUser': '+ 3,90€/utente',
'landing.pricing.perUserAnnual': '+ 2,90€/utente, fatturazione annuale',
'auth.email': 'Email',
'ai.featureLocked':
'Questa funzione richiede il piano PRO o superiore.',
'ai.quotaExceeded': 'Limite mensile raggiunto. Si azzera il mese prossimo.',
'profile.tab': 'Profilo',
'about.tab': 'Informazioni',
'appearance.tab': 'Aspetto',
'billing.tab': 'Fatturazione',
'usageMeter.featureChat': 'Messaggi IA',
'usageMeter.featureReformulate': 'Riformulazioni',
'usageMeter.featureBrainstormCreate': 'Creazioni brainstorm',
'usageMeter.featureBrainstormExpand': 'Espansioni brainstorm',
'usageMeter.featureBrainstormEnrich': 'Arricchimenti brainstorm',
},
pt: {
'sidebar.sortAlpha': 'Ordenação A → Z',
'settings.cardSizeVariable': 'Tamanhos variáveis (pequeno/médio/grande)',
'brainstorm.aiIdea': 'IA',
'brainstorm.seedNodeBadge': 'SEMENTE',
'byokSettings.badgeActive': 'BYOK ativo',
'aiSettings.title': 'IA',
'aiSettings.providerOllama': 'Ollama (local)',
'admin.ai.providerOllamaOption': '🦙 Ollama (local e gratuito)',
'admin.ai.providerLMStudioOption': '🖥️ LM Studio (local)',
'usageMeter.packName': 'Pack descoberta IA',
'landing.pricing.perUser': '+ 3,90€/utilizador',
'landing.pricing.perUserAnnual': '+ 2,90€/utilizador, faturação anual',
'ai.featureLocked':
'Esta funcionalidade requer o plano PRO ou superior.',
'ai.quotaExceeded': 'Limite mensal atingido. Repõe-se no próximo mês.',
'profile.tab': 'Perfil',
'about.tab': 'Sobre',
'appearance.tab': 'Aparência',
'billing.tab': 'Faturação',
'usageMeter.featureChat': 'Mensagens IA',
'usageMeter.featureReformulate': 'Reformulações',
'usageMeter.featureBrainstormCreate': 'Criações de brainstorm',
'usageMeter.featureBrainstormExpand': 'Expansões de brainstorm',
'usageMeter.featureBrainstormEnrich': 'Enriquecimentos de brainstorm',
},
nl: {
'sidebar.sortAlpha': 'Sortering A → Z',
'brainstorm.aiIdea': 'AI',
'brainstorm.seedNodeBadge': 'ZAAD',
'byokSettings.badgeActive': 'BYOK actief',
'aiSettings.title': 'AI',
'usageMeter.remaining': '{count} resterend',
'brainstorm.liveOtherParticipants': '{count} andere deelnemers',
'brainstorm.playbackStep': 'Stap {current}/{total}',
'brainstorm.playbackStepsCount': '{count} stappen',
'brainstorm.waveBadge': 'Golf {wave}',
'landing.pricing.perUser': '+ 3,90€/gebruiker',
'landing.pricing.perUserAnnual': '+ 2,90€/gebruiker, jaarlijks gefactureerd',
'ai.featureLocked': 'Deze functie vereist het PRO-abonnement of hoger.',
'ai.quotaExceeded': 'Maandelijkse limiet bereikt. Reset volgende maand.',
'profile.tab': 'Profiel',
'about.tab': 'Over',
'appearance.tab': 'Weergave',
'billing.tab': 'Facturering',
'usageMeter.featureChat': 'AI-berichten',
'usageMeter.featureReformulate': 'Herschrijvingen',
'usageMeter.featureBrainstormCreate': 'Brainstorm-aanmaak',
'usageMeter.featureBrainstormExpand': 'Brainstorm-uitbreidingen',
'usageMeter.featureBrainstormEnrich': 'Brainstorm-verrijkingen',
},
pl: {
'sidebar.sortAlpha': 'Sortowanie A → Z',
'brainstorm.aiIdea': 'AI',
'brainstorm.seedNodeBadge': 'NASIONO',
'byokSettings.badgeActive': 'BYOK aktywny',
'aiSettings.title': 'AI',
'usageMeter.remaining': 'Pozostało: {count}',
'brainstorm.liveOtherParticipants': '{count} innych uczestników',
'brainstorm.playbackStep': 'Krok {current}/{total}',
'brainstorm.playbackStepsCount': '{count} kroków',
'brainstorm.waveBadge': 'Fala {wave}',
'landing.pricing.perUser': '+ 3,90€/użytkownika',
'landing.pricing.perUserAnnual': '+ 2,90€/użytkownika, rozliczenie roczne',
'ai.featureLocked': 'Ta funkcja wymaga planu PRO lub wyższego.',
'ai.quotaExceeded': 'Osiągnięto limit miesięczny. Reset w przyszłym miesiącu.',
'profile.tab': 'Profil',
'about.tab': 'O aplikacji',
'appearance.tab': 'Wygląd',
'billing.tab': 'Rozliczenia',
'usageMeter.featureChat': 'Wiadomości AI',
'usageMeter.featureReformulate': 'Przeformułowania',
'usageMeter.featureBrainstormCreate': 'Tworzenia brainstorm',
'usageMeter.featureBrainstormExpand': 'Rozszerzenia brainstorm',
'usageMeter.featureBrainstormEnrich': 'Wzbogacenia brainstorm',
},
ru: {
'sidebar.sortAlpha': 'Сортировка A → Z',
'brainstorm.aiIdea': 'ИИ',
'brainstorm.seedNodeBadge': 'СЕМЯ',
'byokSettings.badgeActive': 'BYOK активен',
'aiSettings.title': 'ИИ',
'usageMeter.remaining': 'осталось {count}',
'brainstorm.liveOtherParticipants': '{count} других участников',
'brainstorm.playbackStep': 'Шаг {current}/{total}',
'brainstorm.playbackStepsCount': '{count} шагов',
'brainstorm.waveBadge': 'Волна {wave}',
'landing.pricing.perUser': '+ 3,90€/пользователь',
'landing.pricing.perUserAnnual': '+ 2,90€/пользователь, ежегодная оплата',
'ai.featureLocked': 'Эта функция требует тарифа PRO или выше.',
'ai.quotaExceeded': 'Достигнут месячный лимит. Сброс в следующем месяце.',
'profile.tab': 'Профиль',
'about.tab': 'О приложении',
'appearance.tab': 'Оформление',
'billing.tab': 'Оплата',
'usageMeter.featureChat': 'Сообщения ИИ',
'usageMeter.featureReformulate': 'Переформулировки',
'usageMeter.featureBrainstormCreate': 'Создания brainstorm',
'usageMeter.featureBrainstormExpand': 'Расширения brainstorm',
'usageMeter.featureBrainstormEnrich': 'Обогащения brainstorm',
},
ar: {
'brainstorm.aiIdea': 'ذكاء اصطناعي',
'brainstorm.seedNodeBadge': 'بذرة',
'byokSettings.badgeActive': 'BYOK نشط',
'usageMeter.remaining': '{count} متبقي',
'brainstorm.liveOtherParticipants': '{count} مشاركين آخرين',
'brainstorm.playbackStep': 'الخطوة {current}/{total}',
'brainstorm.playbackStepsCount': '{count} خطوات',
'brainstorm.waveBadge': 'موجة {wave}',
'landing.pricing.perUser': '+ 3,90€/مستخدم',
'landing.pricing.perUserAnnual': '+ 3,90€/مستخدم، فوترة سنوية',
'ai.featureLocked': 'تتطلب هذه الميزة خطة PRO أو أعلى.',
'ai.quotaExceeded': 'تم الوصول إلى الحد الشهري. يُعاد التعيين الشهر القادم.',
'profile.tab': 'الملف الشخصي',
'about.tab': 'حول',
'appearance.tab': 'المظهر',
'billing.tab': 'الفوترة',
'usageMeter.featureChat': 'رسائل الذكاء الاصطناعي',
'usageMeter.featureReformulate': 'إعادة الصياغة',
'usageMeter.featureBrainstormCreate': 'إنشاءات العصف الذهني',
'usageMeter.featureBrainstormExpand': 'توسعات العصف الذهني',
'usageMeter.featureBrainstormEnrich': 'إثراءات العصف الذهني',
},
}
const sleep = (ms) => new Promise((r) => setTimeout(r, ms))
async function buildLang(lang) {
const fr = flat(JSON.parse(fs.readFileSync(path.join(localesDir, 'fr.json'), 'utf8')))
const keys = worklistKeys(lang)
const target = LANG_MAP[lang]
const outFile = path.join(outDir, `${lang}.json`)
const out = fs.existsSync(outFile)
? JSON.parse(fs.readFileSync(outFile, 'utf8'))
: {}
const frCache = new Map()
console.error(`[${lang}] ${keys.length} keys`)
for (let i = 0; i < keys.length; i++) {
const key = keys[i]
if (MANUAL[lang]?.[key]) {
out[key] = MANUAL[lang][key]
continue
}
// Re-translate if placeholders were corrupted (non-ASCII inside braces)
const existing = out[key]
if (existing && /\{[^}]*[^\x00-\x7F][^}]*\}/.test(existing)) {
delete out[key]
}
const frText = fr[key]
if (!frText) {
console.error(` skip missing fr: ${key}`)
continue
}
const existingAfter = out[key]
if (existingAfter && existingAfter !== frText) {
continue
}
let translated
if (frCache.has(frText)) {
translated = frCache.get(frText)
} else {
try {
translated = await translateFr(frText, target)
frCache.set(frText, translated)
await sleep(350)
} catch (e) {
console.error(` FAIL ${key}:`, e.message)
translated = frText
}
}
out[key] = translated
if ((i + 1) % 50 === 0) console.error(` ${i + 1}/${keys.length}`)
}
const file = path.join(outDir, `${lang}.json`)
fs.writeFileSync(file, JSON.stringify(out, null, 2) + '\n', 'utf8')
console.error(`Wrote ${file} (${Object.keys(out).length} keys)`)
}
const langs = process.argv.slice(2)
const targets = langs.length ? langs : ['es', 'it', 'pt']
for (const lang of targets) {
await buildLang(lang)
}

View File

@@ -0,0 +1,358 @@
{
"about.tab": "के बारे में",
"about.technology.ai": "AI",
"aiSettings.title": "ऐ",
"about.technology.ui": "UI",
"admin.ai.providerCustomOption": "🔧 कस्टम ओपनएआई-संगत",
"admin.ai.providerOllamaOption": "🦙 ओलामा (स्थानीय और मुफ़्त)",
"admin.chat": "एआई चैट",
"admin.email.activeAuto": "ऑटो मोड: पहले पुनः भेजें का उपयोग किया जाएगा, फ़ॉलबैक के रूप में SMTP का उपयोग किया जाएगा।",
"admin.email.activeProvider": "सक्रिय प्रदाता",
"admin.email.activeSmtp": "ऑटो मोड: एसएमटीपी का उपयोग किया जाएगा (पुनः भेजें कॉन्फ़िगर नहीं)।",
"admin.email.keySet": "कुंजी विन्यस्त",
"admin.email.noneConfigured": "कोई ईमेल सेवा कॉन्फ़िगर नहीं की गई. पुनः भेजें या SMTP सेट करें.",
"admin.email.status": "सेवा स्थिति",
"admin.email.testFail": "परीक्षण विफल रहा",
"admin.email.testOk": "परीक्षण उत्तीर्ण",
"admin.lab": "लैब",
"admin.tools.brave": "बहादुर खोज एपीआई",
"admin.tools.searxngUrl": "SearXNG यूआरएल",
"admin.users.confirmDelete": "क्या आपको यकीन है? इस एक्शन को वापस नहीं किया जा सकता।",
"admin.users.table.subscription": "सदस्यता",
"admin.users.tierUpdateFailed": "सदस्यता अद्यतन करने में विफल",
"admin.users.tierUpdateSuccess": "सदस्यता को {स्तर} तक अपडेट किया गया",
"admin.workspace": "कार्यस्थान",
"agents.filterAll": "सभी",
"agents.form.back": "पीछे",
"agents.form.includeImages": "छवियाँ शामिल करें",
"agents.form.includeImagesHint": "स्क्रैप किए गए पृष्ठों से छवियां निकालें और उन्हें जेनरेट किए गए नोट के साथ संलग्न करें",
"agents.help.advancedContent": "अतिरिक्त सेटिंग्स तक पहुंचने के लिए फॉर्म के नीचे **\"उन्नत मोड\"** पर क्लिक करें।\n\n### एआई निर्देश\n\nयह फ़ील्ड आपको एजेंट के लिए **डिफ़ॉल्ट सिस्टम प्रॉम्प्ट को बदलने** की सुविधा देता है। यदि खाली छोड़ दिया जाता है, तो एजेंट अपने प्रकार के अनुसार अनुकूलित एक स्वचालित प्रॉम्प्ट का उपयोग करता है।\n\n**इसका उपयोग क्यों करें?** आप यह नियंत्रित करना चाहते हैं कि एजेंट कैसा व्यवहार करता है। उदाहरण के लिए:\n- \"सारांश अंग्रेजी में लिखें, भले ही स्रोत फ़्रेंच में हों\"\n- \"नोट को अनुभागों के साथ संरचित करें: संदर्भ, मुख्य बिंदु, व्यक्तिगत राय\"\n- \"30 दिन से अधिक पुराने लेखों पर ध्यान न दें और नवीनतम समाचारों पर ध्यान केंद्रित करें\"\n- \"प्रत्येक खोजे गए विषय के लिए, लिंक के साथ 3 अनुवर्ती लीड सुझाएं\"\n\n> **ध्यान दें:** आपके निर्देश डिफ़ॉल्ट को प्रतिस्थापित करते हैं, वे उनमें जुड़ते नहीं हैं।\n\n### अधिकतम पुनरावृत्तियाँ\n\nयह **चक्रों की अधिकतम संख्या** है जिसे एजेंट निष्पादित कर सकता है। एक चक्र = एजेंट सोचता है, एक उपकरण को कॉल करता है, परिणाम पढ़ता है, फिर अगली कार्रवाई का निर्णय लेता है।\n\n- **3-5 पुनरावृत्तियाँ:** सरल कार्यों के लिए (एक पृष्ठ को स्क्रैप करना)\n- **10 पुनरावृत्तियाँ (डिफ़ॉल्ट):** अधिकांश मामलों के लिए अच्छा संतुलन\n- **15-25 पुनरावृत्तियाँ:** गहन अनुसंधान के लिए जहां एजेंट को कई सुरागों का पता लगाने की आवश्यकता होती है\n\n> **चेतावनी:** अधिक पुनरावृत्तियाँ = अधिक समय और संभावित रूप से उच्च एपीआई लागत।",
"agents.help.frequencyContent": "| आवृत्ति | व्यवहार\n|----|-------\n| **मैनुअल** | आप स्वयं \"रन\" पर क्लिक करें - कोई स्वचालित शेड्यूलिंग नहीं\n| **प्रति घंटा** | हर घंटे चलता है\n| **दैनिक** | प्रति दिन एक बार चलता है\n| **साप्ताहिक** | प्रति सप्ताह एक बार चलता है\n| **मासिक** | प्रति माह एक बार चलता है\n\n> **टिप:** अपने एजेंट का परीक्षण करने के लिए \"मैनुअल\" से शुरुआत करें, फिर परिणामों से संतुष्ट होने पर स्वचालित आवृत्ति पर स्विच करें।",
"agents.help.howToUseContent": "1. **\"नया एजेंट\"** पर क्लिक करें (या पृष्ठ के नीचे **टेम्पलेट** से प्रारंभ करें)\n2. एक **एजेंट प्रकार** चुनें (शोधकर्ता, मॉनिटर, पर्यवेक्षक, कस्टम)\n3. इसे **नाम** दें और प्रकार-विशिष्ट फ़ील्ड भरें\n4. वैकल्पिक रूप से एक **लक्ष्य नोटबुक** चुनें जहां परिणाम सहेजे जाएंगे\n5. एक **आवृत्ति** चुनें (मैनुअल = आप इसे स्वयं ट्रिगर करें)\n6. **बनाएं** पर क्लिक करें, फिर एजेंट कार्ड पर **रन** बटन दबाएं\n7. एक बार समाप्त होने पर, आपके लक्ष्य नोटबुक में एक नया नोट दिखाई देता है",
"agents.help.targetNotebookContent": "जब कोई एजेंट अपना कार्य पूरा कर लेता है, तो वह **एक नोट बनाता है**। **लक्ष्य नोटबुक** निर्धारित करती है कि वह नोट कहाँ जाएगा:\n\n- **इनबॉक्स** (डिफ़ॉल्ट) - नोट आपके सामान्य नोट्स में चला जाता है\n- **विशिष्ट नोटबुक** — एजेंट परिणामों को व्यवस्थित रखने के लिए एक नोटबुक चुनें\n\n> **टिप:** सभी स्वचालित सामग्री को एक ही स्थान पर रखने के लिए \"एजेंट रिपोर्ट\" जैसी एक समर्पित नोटबुक बनाएं।",
"agents.newBadge": "नया",
"agents.noResults": "कोई भी एजेंट आपकी खोज से मेल नहीं खाता.",
"agents.schedule.dayOfMonth": "महीने का दिन",
"agents.schedule.dayOfWeek": "सप्ताह का दिन",
"agents.schedule.days.fri": "शुक्रवार",
"agents.schedule.days.mon": "सोमवार",
"agents.schedule.days.sat": "शनिवार",
"agents.schedule.days.sun": "रविवार",
"agents.schedule.days.thu": "गुरुवार",
"agents.schedule.days.tue": "मंगलवार",
"agents.schedule.days.wed": "बुधवार",
"agents.schedule.nextRun": "अगला भाग",
"agents.schedule.pending": "लंबित ट्रिगर",
"agents.schedule.time": "समय",
"agents.searchPlaceholder": "खोज एजेंट...",
"agents.toasts.autoRunError": "एजेंट \"{नाम}\" स्वचालित निष्पादन के दौरान विफल रहा",
"agents.toasts.autoRunSuccess": "एजेंट \"{नाम}\" सफलता के साथ स्वचालित रूप से निष्पादित हुआ",
"ai.action.describeImages": "छवियों का वर्णन करें",
"ai.contextSourceHeading": "प्रसंग स्रोत",
"ai.featureLocked": "इस सुविधा के लिए PRO योजना या उच्चतर की आवश्यकता होती है।",
"ai.generateTitleFromImage": "छवि से शीर्षक उत्पन्न करें",
"notes.generateTitleFromImage": "छवि से शीर्षक उत्पन्न करें",
"ai.noImagesError": "इस नोट में कोई चित्र नहीं",
"ai.overview": "सिंहावलोकन",
"ai.quotaExceeded": "मासिक सीमा पूरी हो गई. अगले महीने रीसेट होगा.",
"ai.titleGenerated": "छवि से उत्पन्न शीर्षक",
"ai.tones.academic": "अकादमिक",
"ai.tones.casual": "अनौपचारिक",
"ai.tones.creative": "रचनात्मक",
"ai.tones.professional": "पेशेवर",
"appearance.fontInterDefault": "इंटर (डिफ़ॉल्ट)",
"appearance.selectTheme": "थीम चुनें",
"appearance.tab": "उपस्थिति",
"auth.signOut": "साइन आउट",
"billing.businessAnnualPrice": "€299",
"billing.businessPrice": "€29.90",
"billing.enterpriseTitle": "उद्यम",
"billing.proAnnualPrice": "€99",
"billing.proPrice": "€9.90",
"billing.tab": "बिलिंग",
"brainstorm.addIdea": "विचार जोड़ें",
"brainstorm.brainstormThisIdea": "इस विचार पर मंथन करें",
"brainstorm.cancel": "रद्द करना",
"brainstorm.canvasChildBranch": "बच्चा",
"brainstorm.canvasDoubleClickHint": "कोई विचार जोड़ने के लिए डबल-क्लिक करें",
"brainstorm.canvasEditTitleNewIdea": "नया विचार",
"brainstorm.canvasEditTitleReply": "जवाब",
"brainstorm.canvasPlaceholderIdea": "आपका विचार...",
"brainstorm.canvasPlaceholderReply": "आपके उत्तर…",
"brainstorm.canvasShortcutCancel": "रद्द करना",
"brainstorm.canvasShortcutSave": "बचाना",
"brainstorm.canvasWaitingHint": "कैनवास आपकी चिंगारी की प्रतीक्षा कर रहा है...",
"brainstorm.convertedToNoteStatus": "नोट में परिवर्तित किया गया",
"brainstorm.converting": "परिवर्तित किया जा रहा है...",
"brainstorm.deepen": "गहरा",
"brainstorm.deepening": "उत्पन्न हो रहा है...",
"brainstorm.delete": "मिटाना",
"labels.delete": "मिटाना",
"brainstorm.derived_from": "से व्युत्पन्न",
"brainstorm.dismiss": "प्रासंगिक नहीं",
"notes.dismiss": "प्रासंगिक नहीं",
"brainstorm.export": "निर्यात",
"brainstorm.exportDefaultNoteTitle": "संश्लेषण",
"brainstorm.exportFailedMessage": "निर्यात विफल",
"brainstorm.exportNotebookPrefix": "स्मरण पुस्तक:",
"brainstorm.exportOpening": "खुल रहा है...",
"brainstorm.exporting": "निर्यात किया जा रहा है...",
"brainstorm.extends": "का विस्तार",
"brainstorm.extract": "नोट बनाएँ",
"brainstorm.feedbackAlreadyPending": "इस व्यक्ति के लिए निमंत्रण पहले से ही लंबित है.",
"brainstorm.feedbackAlreadyShared": "इस व्यक्ति के पास पहले से ही इस विचार-मंथन तक पहुंच है।",
"brainstorm.feedbackGenericError": "गलती",
"diagnostics.errorStatus": "गलती",
"brainstorm.feedbackInviteResent": "निमंत्रण पुनः भेजा गया!",
"brainstorm.feedbackInviteSent": "निमंत्रण भेजा गया!",
"brainstorm.generating": "एआई विचार के बीज काट रहा है...",
"brainstorm.guestReadOnlyNotice": "आप इस मंथन को एक अतिथि के रूप में देख रहे हैं। संपादित करने के लिए साइन इन करें.",
"brainstorm.ideaDetailConnection": "संबंध",
"brainstorm.ideaDetailNovelty": "नवीनता",
"brainstorm.novelty": "नवीनता",
"brainstorm.ideaDetailWave": "लहर",
"brainstorm.wave": "लहर",
"brainstorm.ideaOrigin": "विचार की उत्पत्ति",
"notes.ideaOrigin": "विचार की उत्पत्ति",
"brainstorm.ideas": "विचारों",
"brainstorm.impactNotesEnriched": "{गिनती} नोट समृद्ध हुए",
"brainstorm.impactNotesMarkedDry": "{गिनती} नोट(नोटों) को सूखा चिह्नित किया गया",
"brainstorm.invite": "आमंत्रित करना",
"collaboration.invite": "आमंत्रित करना",
"brainstorm.legendDisruptions": "अवरोधों",
"brainstorm.legendSeed": "बीज",
"brainstorm.linkCopied": "आमंत्रण लिंक कॉपी किया गया!",
"brainstorm.linkedNotes": "जुड़े हुए नोट्स",
"brainstorm.liveCollaborationTitle": "लाइव सहयोग",
"brainstorm.liveOtherParticipants": "अन्य प्रतिभागियों की गिनती करें",
"brainstorm.liveStatus": "रहना",
"brainstorm.liveYouMarker": "(आप)",
"brainstorm.manualIdeaPrompt": "आपके विचार का शीर्षक:",
"brainstorm.newBrainstorm": "नया मंथन",
"brainstorm.noNoteLink": "विशुद्ध रूप से उत्पादक विचार",
"notes.noNoteLink": "विशुद्ध रूप से उत्पादक विचार",
"brainstorm.noSessions": "अभी तक कोई मंथन नहीं हुआ",
"brainstorm.none_found": "कोई नोट लिंक नहीं",
"brainstorm.noteCreated": "नोट बनाया गया",
"brainstorm.opposes": "के विरोध में",
"brainstorm.originConnection": "मूल संबंध",
"brainstorm.originalSeedDescription": "मूल बीज विचार",
"brainstorm.ownerBadge": "मालिक",
"collaboration.owner": "मालिक",
"brainstorm.placeholder": "प्रकट करने के लिए एक अवधारणा दर्ज करें...",
"brainstorm.playbackReturnToLive": "जीने के लिए वापस लौटें",
"brainstorm.playbackStep": "चरण {वर्तमान}/{कुल}",
"brainstorm.playbackStepsCount": "{गिनती} कदम",
"brainstorm.seedLabel": "बीज विचार",
"brainstorm.seedNodeBadge": "बीज",
"brainstorm.sessions": "मंथन",
"brainstorm.shareDialogTitle": "मंथन साझा करें",
"brainstorm.shareFooterHint": "उन्हें स्वीकार या अस्वीकार करने की सूचना मिलेगी।",
"brainstorm.shareGuestsCanEdit": "मेहमानों को संपादित करने की अनुमति दें",
"brainstorm.shareNameOrEmailPlaceholder": "नाम या ईमेल...",
"brainstorm.sharePublicLink": "सार्वजनिक लिंक",
"brainstorm.shareSearchLabel": "किसी को ढूँढें",
"brainstorm.shareSubmit": "शेयर करना",
"brainstorm.shareSubmitting": "भेजा जा रहा है...",
"brainstorm.spatialMode": "स्थानिक अन्वेषण मोड",
"brainstorm.startBrainstorm": "मंथन शुरू करें",
"brainstorm.startOne": "एक शुरू करो",
"brainstorm.subtitle": "संभावनाओं के आयाम उजागर करें",
"brainstorm.synthesizes": "संश्लेषित",
"brainstorm.title": "विचार की लहरें",
"brainstorm.toastConvertFailed": "परिवर्तित करने में विफल",
"brainstorm.toastConvertSuccess": "आइडिया नोट में बदला!",
"brainstorm.toastDismissFailed": "ख़ारिज करने में विफल",
"brainstorm.toastDismissSuccess": "आइडिया खारिज",
"brainstorm.toastExpandFailed": "विस्तार करने में विफल",
"brainstorm.toastExpandSuccess": "विचारों का विस्तार हुआ!",
"brainstorm.toastExportFailed": "निर्यात करने में विफल",
"brainstorm.toastExportNoteSuccess": "नोट के रूप में निर्यात किया गया!",
"brainstorm.transposes": "स्थानान्तरण",
"brainstorm.unnamedPerson": "कोई नाम नहीं",
"brainstorm.viewNote": "नोट देखें",
"brainstorm.wave1": "लहर 1",
"brainstorm.wave2": "तरंग 2",
"brainstorm.wave3": "तरंग 3",
"brainstorm.waveBadge": "लहर",
"brainstorm.waveFlavorAnalogy": "समानता",
"byokSettings.alias": "लेबल (वैकल्पिक)",
"byokSettings.aliasPlaceholder": "जैसे ओपनएआई कार्य करें",
"byokSettings.apiKey": "एपीआई कुंजी",
"byokSettings.badgeActive": "BYOK सक्रिय",
"byokSettings.confirmDelete": "क्या आप इस एपीआई कुंजी को स्थायी रूप से हटा देंगे?",
"byokSettings.deleted": "एपीआई कुंजी हटा दी गई",
"byokSettings.description": "डिस्कवरी पैक कोटा को बायपास करने के लिए अपनी स्वयं की एलएलएम प्रदाता कुंजियाँ कनेक्ट करें। कुंजियाँ आराम से एन्क्रिप्ट की गई हैं।",
"byokSettings.empty": "अभी तक कोई API कुंजी कॉन्फ़िगर नहीं की गई है.",
"byokSettings.error": "एपीआई कुंजी सहेजी नहीं जा सकी",
"byokSettings.loadError": "एपीआई कुंजियाँ लोड नहीं हो सकीं",
"byokSettings.loading": "कुंजियाँ लोड हो रही हैं...",
"byokSettings.provider": "प्रदाता",
"byokSettings.providerPlaceholder": "एक प्रदाता चुनें",
"byokSettings.save": "कुंजी सहेजें",
"byokSettings.saved": "एपीआई कुंजी सहेजी गई",
"byokSettings.tierRequired": "BYOK को प्रो प्लान या उच्चतर की आवश्यकता है। अपनी एपीआई कुंजियाँ कनेक्ट करने के लिए अपग्रेड करें।",
"byokSettings.title": "आपकी एपीआई कुंजियाँ (BYOK)",
"chat.timeoutWarning": "प्रतिक्रिया में अपेक्षा से अधिक समय लग रहा है...",
"collaboration.accessRevoked": "प्रवेश निरस्त कर दिया गया है",
"collaboration.addCollaborator": "सहयोगी जोड़ें",
"collaboration.addCollaboratorDescription": "इस नोट पर सहयोग करने के लिए लोगों को उनके ईमेल पते से जोड़ें।",
"collaboration.alreadyInList": "यह ईमेल पहले से ही सूची में है",
"collaboration.canEdit": "संपादित कर सकते हैं",
"collaboration.canView": "देख सकते हैं",
"collaboration.done": "हो गया",
"collaboration.emailAddress": "मेल पता",
"collaboration.emailPlaceholder": "ईमेल पता दर्ज करें",
"collaboration.enterEmailAddress": "ईमेल पता दर्ज करें",
"collaboration.errorLoading": "सहयोगियों को लोड करने में त्रुटि",
"collaboration.failedToAdd": "सहयोगी जोड़ने में विफल",
"collaboration.failedToRemove": "सहयोगी को हटाने में विफल",
"collaboration.noCollaborators": "अभी तक कोई सहयोगी नहीं. ऊपर किसी को जोड़ें!",
"collaboration.noCollaboratorsViewer": "अभी तक कोई सहयोगी नहीं.",
"collaboration.nowHasAccess": "{नाम} के पास अब इस नोट तक पहुंच है",
"collaboration.pending": "लंबित",
"collaboration.pendingInvite": "लंबित आमंत्रण",
"collaboration.peopleWithAccess": "पहुंच वाले लोग",
"collaboration.remove": "निकालना",
"collaboration.removeCollaborator": "सहयोगी को हटाएँ",
"collaboration.shareNote": "नोट साझा करें",
"collaboration.shareWithCollaborators": "सहयोगियों के साथ साझा करें",
"collaboration.unnamedUser": "अनाम उपयोगकर्ता",
"collaboration.viewerDescription": "आपके पास इस नोट तक पहुंच है. केवल स्वामी ही सहयोगियों को प्रबंधित कर सकता है.",
"collaboration.willBeAdded": "नोट बनाते समय {ईमेल} को सहयोगी के रूप में जोड़ा जाएगा",
"dataManagement.title": "डेटा",
"diagnostics.checking": "जाँच हो रही है...",
"diagnostics.description": "अपने AI प्रदाता कनेक्शन स्थिति की जाँच करें",
"diagnostics.operational": "आपरेशनल",
"general.clean": "साफ",
"general.indexAll": "सभी को अनुक्रमित करें",
"general.testConnection": "परीक्षण कनेक्शन",
"generalSettings.title": "सामान्य",
"labHeader.rename": "नाम बदलें",
"labels.addLabel": "लेबल जोड़ें",
"labels.allLabels": "सभी लेबल",
"labels.changeColor": "रंग बदलें",
"labels.changeColorTooltip": "रंग बदलें",
"labels.clearAll": "सभी साफ करें",
"labels.confirmDelete": "क्या आप वाकई यह लेबल हटाना चाहते हैं?",
"labels.confirmDeleteShort": "पुष्टि करना?",
"labels.count": "{गिनती} लेबल",
"labels.createLabel": "लेबल बनाएं",
"labels.deleteTooltip": "लेबल हटाएँ",
"labels.editLabels": "लेबल संपादित करें",
"labels.editLabelsDescription": "रंग बनाएं, संपादित करें, या लेबल हटाएं।",
"labels.filter": "लेबल द्वारा फ़िल्टर करें",
"labels.filterByLabel": "लेबल द्वारा फ़िल्टर करें",
"labels.labelColor": "लेबल का रंग",
"labels.labelName": "लेबल का नाम",
"labels.labelRemoved": "लेबल \"{label}\" हटा दिया गया",
"labels.loading": "लोड हो रहा है...",
"labels.manage": "लेबल प्रबंधित करें",
"labels.manageTooltip": "लेबल प्रबंधित करें",
"labels.manageLabels": "लेबल प्रबंधित करें",
"labels.manageLabelsDescription": "इस नोट के लिए लेबल जोड़ें या हटाएँ. किसी लेबल का रंग बदलने के लिए उस पर क्लिक करें।",
"labels.namePlaceholder": "लेबल नाम दर्ज करें",
"labels.newLabelPlaceholder": "नया लेबल बनाएं",
"labels.noLabels": "कोई लेबल नहीं",
"labels.noLabelsFound": "कोई लेबल नहीं मिला.",
"labels.notebookRequired": "⚠️ लेबल केवल नोटबुक में उपलब्ध हैं। इस नोट को पहले एक नोटबुक में ले जाएँ।",
"labels.selectedLabels": "चयनित लेबल",
"labels.showLess": "कम दिखाओ",
"labels.showMore": "और दिखाएँ",
"labels.tagAdded": "टैग \"{tag}\" जोड़ा गया",
"labels.title": "लेबल",
"sidebar.labels": "लेबल",
"landing.pricing.perUser": "+3.90€/उपयोगकर्ता",
"landing.pricing.perUserAnnual": "+ 2.90€/उपयोगकर्ता, वार्षिक बिल",
"memoryEcho.fusion.generateError": "फ़्यूज़न उत्पन्न करने में विफल",
"memoryEcho.fusion.noContentReturned": "एपीआई से कोई फ़्यूज़न सामग्री वापस नहीं आई",
"memoryEcho.fusion.unknownDate": "अज्ञात तिथि",
"notebook.generatingDescription": "कृपया प्रतीक्षा करें...",
"notes.archiveFailed": "संग्रहित करने में विफल",
"notes.archived": "नोट संग्रहीत",
"notes.confirmDeleteTitle": "नोट हटाएँ",
"notes.content": "सामग्री",
"notes.conversionFailed": "मार्कडाउन में रहकर रूपांतरण विफल रहा",
"notes.convertedToRichText": "समृद्ध पाठ में कनवर्ट किया गया",
"notes.createFailed": "नोट बनाने में विफल",
"notes.deleteFailed": "नोट हटाने में विफल",
"notes.deleted": "नोट हटा दिया गया",
"notes.dismissed": "नोट हाल ही में खारिज कर दिया गया",
"notes.generalNotes": "सामान्य टिप्पणियां",
"notes.historyDisabledTitle": "संस्करण इतिहास",
"notes.historyEnabledDesc": "इस नोट के संस्करण अब रिकॉर्ड किए जाएंगे.",
"notes.historyEnabledTitle": "इतिहास सक्षम!",
"notes.leftShare": "शेयर हटा दिया गया",
"notes.restore": "पुनर्स्थापित करना",
"notes.sort": "क्रम से लगाना",
"notes.suggestTitle": "एआई शीर्षक",
"notes.titleGenerated": "शीर्षक उत्पन्न हुआ",
"notes.updateFailed": "नोट अद्यतन करने में विफल",
"notification.accept": "स्वीकार करना",
"notification.accepted": "शेयर स्वीकार किया गया",
"notification.decline": "गिरावट",
"notification.noNotifications": "कोई नए संदेश नहीं",
"profile.recentNotesUpdateFailed": "हालिया नोट्स सेटिंग अपडेट करने में विफल",
"profile.recentNotesUpdateSuccess": "हालिया नोट्स सेटिंग सफलतापूर्वक अपडेट की गई",
"profile.showRecentNotes": "हाल के नोट्स अनुभाग दिखाएँ",
"profile.showRecentNotesDescription": "मुख्य पृष्ठ पर हाल के नोट्स (पिछले 7 दिन) प्रदर्शित करें",
"profile.tab": "प्रोफ़ाइल",
"richTextEditor.imageUrlPlaceholder": "https://example.com/image.png",
"search.exactMatch": "बिल्कुल मेल",
"search.noResults": "कोई परिणाम नहीं मिला",
"search.placeholder": "खोज",
"usageMeter.featureSearch": "खोज",
"search.related": "संबंधित",
"search.resultsFound": "{गिनती} नोट मिले",
"search.searchPlaceholder": "अपने नोट्स खोजें...",
"search.searching": "खोज रहे हैं...",
"search.semanticInProgress": "एआई खोज प्रगति पर है...",
"search.semanticTooltip": "एआई सिमेंटिक खोज",
"settings.cardSizeMode": "नोट का आकार",
"settings.cardSizeModeDescription": "परिवर्तनीय आकार या समान आकार के बीच चयन करें",
"settings.cardSizeUniform": "वर्दी का आकार",
"settings.cardSizeVariable": "परिवर्तनीय आकार (छोटा/मध्यम/बड़ा)",
"settings.cleanTags": "स्वच्छ अनाथ टैग",
"settings.cleanTagsDescription": "उन टैग को हटा दें जिनका अब किसी भी नोट द्वारा उपयोग नहीं किया जाता है",
"settings.maintenanceDescription": "आपके डेटाबेस के स्वास्थ्य को बनाए रखने के लिए उपकरण",
"settings.selectCardSizeMode": "डिस्प्ले मोड चुनें",
"settings.semanticIndexing": "सिमेंटिक इंडेक्सिंग",
"settings.semanticIndexingDescription": "आशय-आधारित खोज को सक्षम करने के लिए सभी नोट्स के लिए वेक्टर उत्पन्न करें",
"settings.themeBaseGroup": "आधार",
"settings.themeBlue": "नीला",
"settings.themeGreen": "हरा",
"settings.themeLavender": "लैवेंडर",
"settings.themeMidnight": "मध्यरात्रि",
"settings.themeOcean": "महासागर",
"settings.themePalettesGroup": "रंग पट्टियाँ",
"settings.themeSand": "रेत",
"settings.themeSepia": "एक प्रकार की मछली",
"settings.themeSunset": "सूर्यास्त",
"sidebar.archive": "पुरालेख",
"sidebar.clearFilter": "फ़िल्टर हटाएँ",
"sidebar.editLabels": "लेबल संपादित करें",
"sidebar.reminders": "अनुस्मारक",
"sidebar.sharedNotebookBadge": "· साझा किया गया",
"sidebar.trash": "कचरा",
"usageMeter.addApiKey": "अपनी स्वयं की API कुंजी (BYOK) का उपयोग करें",
"usageMeter.featureBrainstormCreate": "मंथन रचनाएँ",
"usageMeter.featureBrainstormEnrich": "संवर्धन पर मंथन करें",
"usageMeter.featureBrainstormExpand": "विस्तार पर मंथन करें",
"usageMeter.featureChat": "एआई संदेश",
"usageMeter.featureReformulate": "सुधार",
"usageMeter.featureTags": "टैग",
"usageMeter.featureTitles": "टाइटल",
"usageMeter.later": "बाद में",
"usageMeter.packName": "एआई डिस्कवरी पैक",
"usageMeter.proChat": "100 चैट संदेश/माह",
"usageMeter.proIncludes": "प्रो में शामिल हैं:",
"usageMeter.proReformulate": "50 सुधार/माह",
"usageMeter.proSearch": "100 अर्थ संबंधी खोजें/माह",
"usageMeter.proTags": "200 ऑटो-टैग/माह",
"usageMeter.proTitles": "200 ऑटो-शीर्षक/माह",
"usageMeter.remaining": "{गिनती} बाएँ",
"usageMeter.unlimited": "असीमित",
"usageMeter.upgradeDescription": "आपने अपने सभी एआई डिस्कवरी पैक क्रेडिट का उपयोग कर लिया है। उच्च सीमा और अतिरिक्त सुविधाओं के लिए प्रो में अपग्रेड करें।",
"usageMeter.upgradePricing": "प्रो में अपग्रेड",
"usageMeter.upgradeTitle": "प्रो में अपग्रेड"
}

View File

@@ -0,0 +1,260 @@
{
"about.tab": "について",
"about.technology.ai": "AI",
"aiSettings.title": "AI",
"brainstorm.aiIdea": "AI",
"about.technology.ui": "UI",
"admin.ai.providerCustomOption": "🔧 カスタム OpenAI 互換",
"admin.ai.providerOllamaOption": "🦙 オラマ (ローカル&無料)",
"admin.email.activeAuto": "自動モード: 再送信が最初に使用され、SMTP がフォールバックとして使用されます。",
"admin.email.activeProvider": "アクティブなプロバイダー",
"admin.email.activeSmtp": "自動モード: SMTP が使用されます (再送信は構成されていません)。",
"admin.email.keySet": "設定されたキー",
"admin.email.noneConfigured": "電子メール サービスが設定されていません。再送信またはSMTPを設定します。",
"admin.email.status": "サービスステータス",
"admin.email.testFail": "テストは失敗しました",
"admin.email.testOk": "テストに合格しました",
"admin.tools.brave": "Brave検索API",
"admin.tools.searxngUrl": "SeaXNG URL",
"admin.users.table.subscription": "サブスクリプション",
"admin.users.tierUpdateFailed": "サブスクリプションの更新に失敗しました",
"admin.users.tierUpdateSuccess": "サブスクリプションが {tier} に更新されました",
"agents.filterAll": "全て",
"agents.form.back": "戻る",
"agents.form.includeImages": "画像を含める",
"agents.form.includeImagesHint": "スクレイピングしたページから画像を抽出し、生成されたメモに添付します",
"agents.help.advancedContent": "追加の設定にアクセスするには、フォームの下部にある **「詳細モード」** をクリックします。\n\n### AI の指示\n\nこのフィールドを使用すると、エージェントの**デフォルトのシステム プロンプト**を置き換えることができます。空のままにすると、エージェントはそのタイプに応じた自動プロンプトを使用します。\n\n**これを使用する理由** エージェントの動作を正確に制御したいと考えています。たとえば:\n- 「たとえソースがフランス語であっても、概要は英語で書きます」\n- 「メモをセクションで構成する: コンテキスト、キーポイント、個人的な意見」\n- 「30 日より古い記事は無視し、最近のニュースに焦点を当てます」\n- 「検出されたテーマごとに、リンクを含む 3 つのフォローアップ見込み客を提案します」\n\n> **注意:** 指示はデフォルトを置き換えるものであり、追加するものではありません。\n\n### 最大反復回数\n\nこれは、エージェントが実行できる**最大サイクル数**です。 1 サイクル = エージェントが考え、ツールを呼び出し、結果を読み取り、次のアクションを決定します。\n\n- **3 5 回の反復:** 単純なタスク (単一ページのスクレイピング)\n- **10 回の反復 (デフォルト):** ほとんどの場合に良好なバランス\n- **15 25 回の反復:** エージェントが複数のリードを探索する必要がある詳細な調査の場合\n\n> **警告:** 反復回数が増えると、時間がかかり、API コストが高くなる可能性があります。",
"agents.help.frequencyContent": "|周波数 |行動\n|----------|----------\n| **マニュアル** |自分で「実行」をクリックします - 自動スケジュールはありません\n| **毎時** | Runs every hour\n| **毎日** | 1 日に 1 回実行されます\n| **毎週** |週に 1 回実行\n| **毎月** |月に 1 回実行\n\n> **ヒント:** まず「手動」でエージェントをテストし、結果に満足できたら自動頻度に切り替えます。",
"agents.help.howToUseContent": "1. **「新しいエージェント」** をクリックします (または、ページの下部にある **テンプレート** から開始します)\n2. **エージェント タイプ** (リサーチャー、モニター、オブザーバー、カスタム) を選択します。\n3. **名前**を付け、タイプ固有のフィールドに入力します\n4. 必要に応じて、結果が保存される **ターゲット ノートブック** を選択します\n5. **周波数**を選択します (手動 = 自分でトリガーします)\n6. [**作成**] をクリックし、エージェント カードの [**実行**] ボタンを押します。\n7. 完了すると、ターゲットノートブックに新しいノートが表示されます。",
"agents.help.targetNotebookContent": "エージェントはタスクを完了すると、**メモを作成**します。 **ターゲット ノートブック** によって、そのメモの保存場所が決まります。\n\n- **受信箱** (デフォルト) — メモは一般的なメモに移動します\n- **特定のノートブック** — エージェントの結果を整理しておくためにノートブックを選択します\n\n> **ヒント:** 「エージェント レポート」のような専用のノートブックを作成して、すべての自動コンテンツを 1 か所に保管します。",
"agents.newBadge": "新しい",
"agents.noResults": "検索に一致するエージェントはありません。",
"agents.schedule.dayOfMonth": "月の日",
"agents.schedule.dayOfWeek": "曜日",
"agents.schedule.days.fri": "金曜日",
"agents.schedule.days.mon": "月曜日",
"agents.schedule.days.sat": "土曜日",
"agents.schedule.days.sun": "日曜日",
"agents.schedule.days.thu": "木曜日",
"agents.schedule.days.tue": "火曜日",
"agents.schedule.days.wed": "水曜日",
"agents.schedule.nextRun": "次の実行",
"agents.schedule.pending": "保留中のトリガー",
"agents.schedule.time": "時間",
"agents.searchPlaceholder": "エージェントを検索...",
"agents.toasts.autoRunError": "エージェント「{name}」が自動実行中に失敗しました",
"agents.toasts.autoRunSuccess": "エージェント「{name}」は自動的に実行され、成功しました",
"ai.action.describeImages": "画像の説明",
"ai.contextSourceHeading": "コンテキストソース",
"ai.featureLocked": "この機能を利用するには、PRO プラン以上が必要です。",
"ai.generateTitleFromImage": "画像からタイトルを生成",
"notes.generateTitleFromImage": "画像からタイトルを生成",
"ai.noImagesError": "このノートには画像がありません",
"ai.overview": "概要",
"ai.quotaExceeded": "月間制限に達しました。来月リセット。",
"ai.titleGenerated": "画像から生成されたタイトル",
"ai.tones.academic": "アカデミック",
"ai.tones.casual": "カジュアル",
"ai.tones.creative": "クリエイティブ",
"ai.tones.professional": "プロ",
"appearance.fontInterDefault": "インター (デフォルト)",
"appearance.selectTheme": "テーマの選択",
"appearance.tab": "外観",
"billing.businessAnnualPrice": "299ユーロ",
"billing.businessPrice": "€29.90",
"billing.enterpriseTitle": "企業",
"billing.proAnnualPrice": "99ユーロ",
"billing.proPrice": "€9.90",
"billing.tab": "請求する",
"brainstorm.addIdea": "アイデアを追加する",
"brainstorm.brainstormThisIdea": "このアイデアについてブレインストーミングを行う",
"brainstorm.cancel": "キャンセル",
"brainstorm.canvasChildBranch": "子供",
"brainstorm.canvasDoubleClickHint": "ダブルクリックしてアイデアを追加します",
"brainstorm.canvasEditTitleNewIdea": "新しいアイデア",
"brainstorm.canvasEditTitleReply": "返事",
"brainstorm.canvasPlaceholderIdea": "あなたのアイデアは…",
"brainstorm.canvasPlaceholderReply": "あなたの返事は…",
"brainstorm.canvasShortcutCancel": "キャンセル",
"brainstorm.canvasShortcutSave": "保存",
"brainstorm.canvasWaitingHint": "キャンバスはあなたの輝きを待っています...",
"brainstorm.convertedToNoteStatus": "ノートに変換しました",
"brainstorm.converting": "変換中...",
"brainstorm.deepen": "深める",
"brainstorm.deepening": "生成中...",
"brainstorm.delete": "消去",
"brainstorm.derived_from": "由来",
"brainstorm.dismiss": "関係ありません",
"notes.dismiss": "関係ありません",
"brainstorm.export": "輸出",
"brainstorm.exportDefaultNoteTitle": "合成",
"brainstorm.exportFailedMessage": "エクスポートに失敗しました",
"brainstorm.exportNotebookPrefix": "ノート:",
"brainstorm.exportOpening": "オープニング…",
"brainstorm.exporting": "エクスポート中...",
"brainstorm.extends": "伸びる",
"brainstorm.extract": "メモの作成",
"brainstorm.feedbackAlreadyPending": "この人の招待はすでに保留中です。",
"brainstorm.feedbackAlreadyShared": "この人はすでにこのブレインストーミングにアクセスできます。",
"brainstorm.feedbackGenericError": "エラー",
"brainstorm.feedbackInviteResent": "招待状を再送信しました!",
"brainstorm.feedbackInviteSent": "招待状を送信しました!",
"brainstorm.generating": "AI は思考の種を収穫しています...",
"brainstorm.guestReadOnlyNotice": "あなたはこのブレインストーミングをゲストとして視聴しています。編集するにはサインインしてください。",
"brainstorm.ideaDetailConnection": "繋がり",
"brainstorm.ideaDetailNovelty": "ノベルティ",
"brainstorm.novelty": "ノベルティ",
"brainstorm.ideaDetailWave": "波",
"brainstorm.wave": "波",
"brainstorm.ideaOrigin": "アイデアの原点",
"notes.ideaOrigin": "アイデアの原点",
"brainstorm.ideas": "アイデア",
"brainstorm.impactNotesEnriched": "{count} 個のノートが強化されました",
"brainstorm.impactNotesMarkedDry": "{count} 個のノートがドライとマークされました",
"brainstorm.invite": "招待する",
"brainstorm.legendDisruptions": "混乱",
"brainstorm.legendSeed": "シード",
"brainstorm.linkCopied": "招待リンクがコピーされました!",
"brainstorm.linkedNotes": "リンクされたメモ",
"brainstorm.liveCollaborationTitle": "ライブコラボレーション",
"brainstorm.liveOtherParticipants": "他に {count} 人の参加者",
"brainstorm.liveStatus": "ライブ",
"brainstorm.liveYouMarker": "(あなた)",
"brainstorm.manualIdeaPrompt": "あなたのアイデアのタイトル:",
"brainstorm.newBrainstorm": "新しいブレインストーミング",
"brainstorm.noNoteLink": "純粋に生成的なアイデア",
"notes.noNoteLink": "純粋に生成的なアイデア",
"brainstorm.noSessions": "まだブレインストーミングはありません",
"brainstorm.none_found": "メモのリンクがありません",
"brainstorm.noteCreated": "メモが作成されました",
"brainstorm.opposes": "と反対して",
"brainstorm.originConnection": "オリジン接続",
"brainstorm.originalSeedDescription": "オリジナルのシードアイデア",
"brainstorm.ownerBadge": "所有者",
"brainstorm.placeholder": "展開するコンセプトを入力してください...",
"brainstorm.playbackReturnToLive": "ライブに戻る",
"brainstorm.playbackStep": "ステップ {現在}/{合計}",
"brainstorm.playbackStepsCount": "{count} 歩",
"brainstorm.seedLabel": "シードアイデア",
"brainstorm.seedNodeBadge": "シード",
"brainstorm.sessions": "ブレインストーミング",
"brainstorm.shareDialogTitle": "ブレインストーミングを共有する",
"brainstorm.shareFooterHint": "承認または拒否するための通知が届きます。",
"brainstorm.shareGuestsCanEdit": "ゲストに編集を許可する",
"brainstorm.shareNameOrEmailPlaceholder": "名前またはメールアドレス…",
"brainstorm.sharePublicLink": "パブリックリンク",
"brainstorm.shareSearchLabel": "誰かを探す",
"brainstorm.shareSubmit": "共有",
"brainstorm.shareSubmitting": "送信中…",
"brainstorm.spatialMode": "空間探索モード",
"brainstorm.startBrainstorm": "ブレーンストーミングを開始する",
"brainstorm.startOne": "一つ始めてください",
"brainstorm.subtitle": "可能性の次元を広げる",
"brainstorm.synthesizes": "合成する",
"brainstorm.title": "思考の波",
"brainstorm.toastConvertFailed": "変換に失敗しました",
"brainstorm.toastConvertSuccess": "アイデアをnoteに変換",
"brainstorm.toastDismissFailed": "却下できませんでした",
"brainstorm.toastDismissSuccess": "アイデアは却下されました",
"brainstorm.toastExpandFailed": "展開に失敗しました",
"brainstorm.toastExpandSuccess": "アイデアが広がりました!",
"brainstorm.toastExportFailed": "エクスポートに失敗しました",
"brainstorm.toastExportNoteSuccess": "メモとしてエクスポートされました!",
"brainstorm.transposes": "移調",
"brainstorm.unnamedPerson": "名前なし",
"brainstorm.viewNote": "メモを見る",
"brainstorm.wave1": "ウェーブ 1",
"brainstorm.wave2": "ウェーブ 2",
"brainstorm.wave3": "ウェーブ 3",
"brainstorm.waveBadge": "波 {波}",
"brainstorm.waveFlavorAnalogy": "類推",
"byokSettings.alias": "ラベル (オプション)",
"byokSettings.aliasPlaceholder": "例えば作品 OpenAI",
"byokSettings.apiKey": "APIキー",
"byokSettings.badgeActive": "BYOK アクティブ",
"byokSettings.confirmDelete": "この API キーを完全に削除しますか?",
"byokSettings.deleted": "APIキーが削除されました",
"byokSettings.description": "独自の LLM プロバイダー キーを接続して、Discovery Pack クォータをバイパスします。キーは保存時に暗号化されます。",
"byokSettings.empty": "API キーがまだ設定されていません。",
"byokSettings.error": "APIキーを保存できませんでした",
"byokSettings.loadError": "API キーをロードできませんでした",
"byokSettings.loading": "キーをロード中...",
"byokSettings.provider": "プロバイダー",
"byokSettings.providerPlaceholder": "プロバイダーを選択してください",
"byokSettings.save": "キーを保存",
"byokSettings.saved": "APIキーが保存されました",
"byokSettings.tierRequired": "BYOK には Pro プラン以上が必要です。 API キーを接続するにはアップグレードしてください。",
"byokSettings.title": "API キー (BYOK)",
"chat.timeoutWarning": "返答に予想以上に時間がかかっています...",
"dataManagement.title": "データ",
"generalSettings.title": "一般的な",
"labHeader.rename": "名前の変更",
"landing.pricing.perUser": "+ 3.90ユーロ/ユーザー",
"landing.pricing.perUserAnnual": "+ 2.90 ユーロ/ユーザー、毎年請求",
"notebook.generatingDescription": "お待ちください...",
"notes.archiveFailed": "アーカイブに失敗しました",
"notes.archived": "メモがアーカイブされました",
"notes.confirmDeleteTitle": "メモを削除する",
"notes.content": "コンテンツ",
"notes.conversionFailed": "変換に失敗し、Markdown のままになります",
"notes.convertedToRichText": "リッチテキストに変換",
"notes.createFailed": "メモの作成に失敗しました",
"notes.deleteFailed": "メモの削除に失敗しました",
"notes.deleted": "メモが削除されました",
"notes.dismissed": "最近のメモから却下されました",
"notes.generalNotes": "一般的な注意事項",
"notes.historyDisabledTitle": "バージョン履歴",
"notes.historyEnabledDesc": "このメモのバージョンが記録されます。",
"notes.historyEnabledTitle": "履歴が有効になりました!",
"notes.leftShare": "共有が削除されました",
"notes.restore": "復元する",
"notes.sort": "選別",
"notes.suggestTitle": "AIタイトル",
"notes.titleGenerated": "タイトル生成",
"notes.updateFailed": "メモの更新に失敗しました",
"notification.accept": "受け入れる",
"notification.accepted": "シェアが承認されました",
"notification.decline": "衰退",
"notification.noNotifications": "新しい通知はありません",
"profile.tab": "プロフィール",
"richTextEditor.imageUrlPlaceholder": "https://example.com/image.png",
"settings.cardSizeMode": "ノートのサイズ",
"settings.cardSizeModeDescription": "可変サイズまたは均一サイズのどちらかを選択してください",
"settings.cardSizeUniform": "均一なサイズ",
"settings.cardSizeVariable": "可変サイズ(小/中/大)",
"settings.selectCardSizeMode": "表示モードの選択",
"settings.themeBaseGroup": "ベース",
"settings.themeBlue": "青",
"settings.themeGreen": "緑",
"settings.themeLavender": "ラベンダー",
"settings.themeMidnight": "夜中",
"settings.themeOcean": "海",
"settings.themePalettesGroup": "カラーパレット",
"settings.themeSand": "砂",
"settings.themeSepia": "セピア",
"settings.themeSunset": "日没",
"sidebar.clearFilter": "フィルターを削除する",
"sidebar.sharedNotebookBadge": "· 共有",
"usageMeter.addApiKey": "独自の API キーを使用する (BYOK)",
"usageMeter.featureBrainstormCreate": "作品のブレインストーミング",
"usageMeter.featureBrainstormEnrich": "ブレーンストーミングの強化",
"usageMeter.featureBrainstormExpand": "拡張のブレインストーミング",
"usageMeter.featureChat": "AIメッセージ",
"usageMeter.featureReformulate": "再定式化",
"usageMeter.featureSearch": "検索",
"usageMeter.featureTags": "タグ",
"usageMeter.featureTitles": "タイトル",
"usageMeter.later": "後で",
"usageMeter.packName": "AI ディスカバリー パック",
"usageMeter.proChat": "100 チャット メッセージ/月",
"usageMeter.proIncludes": "プロには次のものが含まれます。",
"usageMeter.proReformulate": "50回の再配合/月",
"usageMeter.proSearch": "100 件のセマンティック検索/月",
"usageMeter.proTags": "200 自動タグ/月",
"usageMeter.proTitles": "200 オートタイトル / 月",
"usageMeter.remaining": "残り {count} 個",
"usageMeter.unlimited": "無制限",
"usageMeter.upgradeDescription": "AI Discovery Pack のクレジットをすべて使用しました。 Pro にアップグレードすると、より高い制限と追加機能が利用できます。",
"usageMeter.upgradePricing": "プロにアップグレード",
"usageMeter.upgradeTitle": "プロにアップグレード"
}

View File

@@ -0,0 +1,281 @@
{
"about.tab": "에 대한",
"about.technology.ai": "AI",
"aiSettings.title": "일체 포함",
"about.technology.ui": "UI",
"admin.email.activeAuto": "자동 모드: 재전송이 먼저 사용되고 SMTP가 대체 수단으로 사용됩니다.",
"admin.email.activeProvider": "활성 공급자",
"admin.email.activeSmtp": "자동 모드: SMTP가 사용됩니다(재전송이 구성되지 않음).",
"admin.email.keySet": "키 구성",
"admin.email.noneConfigured": "이메일 서비스가 구성되지 않았습니다. 재전송 또는 SMTP를 설정하세요.",
"admin.email.status": "서비스 현황",
"admin.email.testFail": "테스트 실패",
"admin.email.testOk": "테스트 통과",
"admin.tools.brave": "용감한 검색 API",
"admin.tools.searxngUrl": "SearXNG URL",
"admin.users.table.subscription": "신청",
"admin.users.tierUpdateFailed": "구독을 업데이트하지 못했습니다.",
"admin.users.tierUpdateSuccess": "구독이 {tier}로 업데이트되었습니다.",
"agents.filterAll": "모두",
"agents.form.back": "뒤쪽에",
"agents.form.includeImages": "이미지 포함",
"agents.form.includeImagesHint": "스크랩한 페이지에서 이미지를 추출하여 생성된 노트에 첨부합니다.",
"agents.help.advancedContent": "추가 설정에 액세스하려면 양식 하단의 **\"고급 모드\"**를 클릭하세요.\n\n### AI 지침\n\n이 필드를 사용하면 상담원의 **기본 시스템 프롬프트를 대체**할 수 있습니다. 비워 두면 에이전트는 해당 유형에 맞는 자동 프롬프트를 사용합니다.\n\n**이를 사용하는 이유는 무엇입니까?** 에이전트의 작동 방식을 정확하게 제어하고 싶습니다. 예를 들면:\n- \"출처가 프랑스어인 경우에도 요약을 영어로 작성하세요\"\n- \"컨텍스트, 핵심 포인트, 개인 의견 등 섹션으로 메모를 구성하세요.\"\n- \"30일이 지난 기사는 무시하고 최근 뉴스에만 집중하세요\"\n- \"감지된 각 테마에 대해 링크가 포함된 후속 리드 3개 제안\"\n\n> **참고:** 귀하의 지침은 기본값을 대체하지만 기본값에 추가되지는 않습니다.\n\n### 최대 반복\n\n이는 에이전트가 수행할 수 있는 **최대 주기 수**입니다. 한 주기 = 에이전트가 생각하고 도구를 호출하고 결과를 읽은 후 다음 작업을 결정합니다.\n\n- **3~5회 반복:** 간단한 작업의 경우(단일 페이지 스크랩)\n- **10회 반복(기본값):** 대부분의 경우 좋은 균형\n- **15~25회 반복:** 상담사가 여러 리드를 탐색해야 하는 심층 연구의 경우\n\n> **경고:** 반복 횟수 증가 = 시간이 더 걸리고 API 비용이 더 높아질 수 있습니다.",
"agents.help.frequencyContent": "| 빈도 | 행동\n|------------|----------\n| **수동** | 직접 \"실행\"을 클릭하면 자동 예약 기능이 없습니다.\n| **시간별** | 매 시간마다 실행\n| **매일** | 하루에 한 번 실행됩니다.\n| **주간** | 주 1회 운행\n| **월간** | 한 달에 한 번 실행됩니다.\n\n> **팁:** 에이전트를 테스트하려면 \"수동\"으로 시작한 다음 결과에 만족하면 자동 빈도로 전환하세요.",
"agents.help.howToUseContent": "1. **\"새 에이전트\"**를 클릭합니다(또는 페이지 하단의 **템플릿**에서 시작).\n2. **에이전트 유형**(연구원, 모니터, 관찰자, 사용자 지정)을 선택합니다.\n3. **이름**을 지정하고 유형별 필드를 입력합니다.\n4. 선택적으로 결과가 저장될 **대상 노트북**을 선택합니다.\n5. **빈도**를 선택합니다(수동 = 사용자가 직접 트리거).\n6. **만들기**를 클릭한 다음 에이전트 카드에서 **실행** 버튼을 누릅니다.\n7. 완료되면 대상 노트북에 새 노트가 나타납니다.",
"agents.help.targetNotebookContent": "상담원이 작업을 마치면 **메모를 작성**합니다. **대상 노트북**은 해당 노트의 위치를 결정합니다.\n\n- **받은 편지함**(기본값) — 메모가 일반 메모로 이동됩니다.\n- **특정 노트북** - 상담원 결과를 체계적으로 정리할 노트북을 선택하세요.\n\n> **팁:** 모든 자동화된 콘텐츠를 한 곳에 보관하려면 \"에이전트 보고서\"와 같은 전용 노트북을 만드세요.",
"agents.newBadge": "새로운",
"agents.noResults": "검색어와 일치하는 상담원이 없습니다.",
"agents.schedule.dayOfMonth": "해당 월의 일",
"agents.schedule.dayOfWeek": "요일",
"agents.schedule.days.fri": "금요일",
"agents.schedule.days.mon": "월요일",
"agents.schedule.days.sat": "토요일",
"agents.schedule.days.sun": "일요일",
"agents.schedule.days.thu": "목요일",
"agents.schedule.days.tue": "화요일",
"agents.schedule.days.wed": "수요일",
"agents.schedule.nextRun": "다음 실행",
"agents.schedule.pending": "보류 중인 트리거",
"agents.schedule.time": "시간",
"agents.searchPlaceholder": "검색 에이전트...",
"agents.toasts.autoRunError": "자동 실행 중 \"{name}\" 에이전트가 실패했습니다.",
"agents.toasts.autoRunSuccess": "\"{name}\" 에이전트가 자동으로 성공적으로 실행되었습니다.",
"ai.action.describeImages": "이미지 설명",
"ai.contextSourceHeading": "컨텍스트 소스",
"ai.featureLocked": "이 기능을 사용하려면 PRO 플랜 이상이 필요합니다.",
"ai.generateTitleFromImage": "이미지에서 제목 생성",
"notes.generateTitleFromImage": "이미지에서 제목 생성",
"ai.noImagesError": "이 메모에는 이미지가 없습니다.",
"ai.overview": "개요",
"ai.quotaExceeded": "월별 한도에 도달했습니다. 다음달에 초기화됩니다.",
"ai.titleGenerated": "이미지에서 생성된 제목",
"ai.tones.academic": "학생",
"ai.tones.casual": "평상복",
"ai.tones.creative": "창의적인",
"ai.tones.professional": "전문적인",
"appearance.fontInterDefault": "인터(기본값)",
"appearance.selectTheme": "테마 선택",
"appearance.tab": "모습",
"billing.businessAnnualPrice": "€299",
"billing.businessPrice": "€29.90",
"billing.enterpriseTitle": "기업",
"billing.proAnnualPrice": "€99",
"billing.proPrice": "€9.90",
"billing.tab": "청구",
"brainstorm.addIdea": "아이디어 추가",
"brainstorm.brainstormThisIdea": "이 아이디어를 브레인스토밍하세요",
"brainstorm.cancel": "취소",
"brainstorm.canvasChildBranch": "어린이",
"brainstorm.canvasDoubleClickHint": "아이디어를 추가하려면 두 번 클릭하세요.",
"brainstorm.canvasEditTitleNewIdea": "신안",
"brainstorm.canvasEditTitleReply": "회신하다",
"brainstorm.canvasPlaceholderIdea": "당신의 아이디어…",
"brainstorm.canvasPlaceholderReply": "귀하의 답변은…",
"brainstorm.canvasShortcutCancel": "취소",
"brainstorm.canvasShortcutSave": "구하다",
"brainstorm.canvasWaitingHint": "캔버스가 당신의 불꽃을 기다리고 있습니다...",
"brainstorm.convertedToNoteStatus": "메모로 변환됨",
"brainstorm.converting": "변환 중...",
"brainstorm.deepen": "깊게 하다",
"brainstorm.deepening": "생성 중...",
"brainstorm.delete": "삭제",
"labels.delete": "삭제",
"brainstorm.derived_from": "파생됨",
"brainstorm.dismiss": "관련 없음",
"notes.dismiss": "관련 없음",
"brainstorm.export": "내보내다",
"brainstorm.exportDefaultNoteTitle": "합성",
"brainstorm.exportFailedMessage": "내보내기 실패",
"brainstorm.exportNotebookPrefix": "공책:",
"brainstorm.exportOpening": "열기…",
"brainstorm.exporting": "내보내는 중...",
"brainstorm.extends": "확장",
"brainstorm.extract": "메모 작성",
"brainstorm.feedbackAlreadyPending": "이 사람에 대한 초대가 이미 대기 중입니다.",
"brainstorm.feedbackAlreadyShared": "이 사람은 이미 이 브레인스토밍에 액세스할 수 있습니다.",
"brainstorm.feedbackGenericError": "오류",
"brainstorm.feedbackInviteResent": "초대를 다시 보냈습니다.",
"brainstorm.feedbackInviteSent": "초대장이 전송되었습니다!",
"brainstorm.generating": "AI는 생각의 씨앗을 수확하고 있다.",
"brainstorm.guestReadOnlyNotice": "귀하는 손님으로서 이 브레인스토밍을 보고 계십니다. 편집하려면 로그인하세요.",
"brainstorm.ideaDetailConnection": "연결",
"brainstorm.ideaDetailNovelty": "진기함",
"brainstorm.novelty": "진기함",
"brainstorm.ideaDetailWave": "파도",
"brainstorm.wave": "파도",
"brainstorm.ideaOrigin": "아이디어의 유래",
"notes.ideaOrigin": "아이디어의 유래",
"brainstorm.ideas": "아이디어",
"brainstorm.impactNotesEnriched": "{count}개의 메모가 강화되었습니다.",
"brainstorm.impactNotesMarkedDry": "건조한 것으로 표시된 메모 {count}개",
"brainstorm.invite": "초대하다",
"brainstorm.legendDisruptions": "중단",
"brainstorm.legendSeed": "씨앗",
"brainstorm.linkCopied": "초대 링크가 복사되었습니다!",
"brainstorm.linkedNotes": "연결된 노트",
"brainstorm.liveCollaborationTitle": "실시간 협업",
"brainstorm.liveOtherParticipants": "{count}명의 다른 참가자",
"brainstorm.liveStatus": "살다",
"brainstorm.liveYouMarker": "(너)",
"brainstorm.manualIdeaPrompt": "아이디어 제목:",
"brainstorm.newBrainstorm": "새로운 브레인스토밍",
"brainstorm.noNoteLink": "순전히 생성적인 아이디어",
"notes.noNoteLink": "순전히 생성적인 아이디어",
"brainstorm.noSessions": "아직 브레인스토밍이 없습니다.",
"brainstorm.none_found": "메모 링크 없음",
"brainstorm.noteCreated": "메모가 생성되었습니다.",
"brainstorm.opposes": "반대하다",
"brainstorm.originConnection": "원점 연결",
"brainstorm.originalSeedDescription": "독창적인 종자 아이디어",
"brainstorm.ownerBadge": "소유자",
"brainstorm.placeholder": "전개할 개념을 입력하세요...",
"brainstorm.playbackReturnToLive": "라이브로 돌아가기",
"brainstorm.playbackStep": "단계 {현재}/{총계}",
"brainstorm.playbackStepsCount": "{count}걸음",
"brainstorm.seedLabel": "씨앗 아이디어",
"brainstorm.seedNodeBadge": "씨앗",
"brainstorm.sessions": "브레인스토밍",
"brainstorm.shareDialogTitle": "브레인스토밍 공유",
"brainstorm.shareFooterHint": "수락하거나 거부하라는 알림을 받게 됩니다.",
"brainstorm.shareGuestsCanEdit": "손님이 편집하도록 허용",
"brainstorm.shareNameOrEmailPlaceholder": "이름이나 이메일…",
"brainstorm.sharePublicLink": "공개 링크",
"brainstorm.shareSearchLabel": "누군가를 찾아보세요",
"brainstorm.shareSubmit": "공유하다",
"brainstorm.shareSubmitting": "배상…",
"brainstorm.spatialMode": "공간 탐색 모드",
"brainstorm.startBrainstorm": "브레인스토밍 시작",
"brainstorm.startOne": "하나 시작하세요",
"brainstorm.subtitle": "잠재력의 차원을 펼쳐보세요",
"brainstorm.synthesizes": "합성하다",
"brainstorm.title": "생각의 파도",
"brainstorm.toastConvertFailed": "변환 실패",
"brainstorm.toastConvertSuccess": "아이디어가 노트로 전환되었습니다!",
"brainstorm.toastDismissFailed": "닫을 수 없습니다.",
"brainstorm.toastDismissSuccess": "아이디어가 기각되었습니다.",
"brainstorm.toastExpandFailed": "확장하지 못했습니다.",
"brainstorm.toastExpandSuccess": "아이디어가 확장되었습니다!",
"brainstorm.toastExportFailed": "내보내지 못했습니다.",
"brainstorm.toastExportNoteSuccess": "메모로 내보냈습니다!",
"brainstorm.transposes": "조옮김",
"brainstorm.unnamedPerson": "이름 없음",
"brainstorm.viewNote": "메모 보기",
"brainstorm.wave1": "웨이브 1",
"brainstorm.wave2": "웨이브 2",
"brainstorm.wave3": "웨이브 3",
"brainstorm.waveBadge": "웨이브 {파}",
"brainstorm.waveFlavorAnalogy": "유추",
"byokSettings.alias": "라벨(선택사항)",
"byokSettings.aliasPlaceholder": "예를 들어 OpenAI 작업",
"byokSettings.apiKey": "API 키",
"byokSettings.badgeActive": "BYOK 활성",
"byokSettings.confirmDelete": "이 API 키를 영구적으로 삭제하시겠습니까?",
"byokSettings.deleted": "API 키가 삭제됨",
"byokSettings.description": "자체 LLM 공급자 키를 연결하여 Discovery Pack 할당량을 우회하세요. 키는 저장 시 암호화됩니다.",
"byokSettings.empty": "아직 구성된 API 키가 없습니다.",
"byokSettings.error": "API 키를 저장할 수 없습니다.",
"byokSettings.loadError": "API 키를 로드할 수 없습니다.",
"byokSettings.loading": "키 로드 중...",
"byokSettings.provider": "공급자",
"byokSettings.providerPlaceholder": "제공업체 선택",
"byokSettings.save": "키 저장",
"byokSettings.saved": "API 키가 저장되었습니다",
"byokSettings.tierRequired": "BYOK에는 Pro 플랜 이상이 필요합니다. API 키를 연결하려면 업그레이드하세요.",
"byokSettings.title": "API 키(BYOK)",
"chat.timeoutWarning": "응답이 예상보다 오래 걸리고 있습니다.",
"dataManagement.title": "데이터",
"generalSettings.title": "일반적인",
"labHeader.rename": "이름 바꾸기",
"labels.createLabel": "라벨 만들기",
"labels.deleteTooltip": "라벨 삭제",
"labels.editLabels": "라벨 편집",
"labels.editLabelsDescription": "색상을 생성, 편집하거나 라벨을 삭제합니다.",
"labels.filter": "라벨로 필터링",
"labels.filterByLabel": "라벨로 필터링",
"labels.labelColor": "라벨 색상",
"labels.labelName": "라벨 이름",
"labels.loading": "로드 중...",
"labels.manage": "라벨 관리",
"labels.manageTooltip": "라벨 관리",
"labels.manageLabels": "라벨 관리",
"labels.manageLabelsDescription": "이 메모에 라벨을 추가하거나 삭제하세요. 색상을 변경하려면 라벨을 클릭하세요.",
"labels.namePlaceholder": "라벨 이름을 입력하세요.",
"labels.newLabelPlaceholder": "새 라벨 만들기",
"labels.noLabelsFound": "라벨을 찾을 수 없습니다.",
"labels.notebookRequired": "⚠️ 라벨은 노트에서만 사용 가능합니다. 먼저 이 노트를 노트북으로 이동하세요.",
"labels.selectedLabels": "선택한 라벨",
"labels.showLess": "간략히 보기",
"labels.showMore": "더 보기",
"labels.tagAdded": "\"{tag}\" 태그가 추가되었습니다",
"labels.title": "라벨",
"landing.pricing.perUser": "+ 3.90€/사용자",
"landing.pricing.perUserAnnual": "+ 2.90€/사용자, 연간 청구",
"notebook.generatingDescription": "기다리세요...",
"notes.archiveFailed": "보관하지 못했습니다.",
"notes.archived": "메모가 보관되었습니다.",
"notes.confirmDeleteTitle": "메모 삭제",
"notes.content": "콘텐츠",
"notes.conversionFailed": "변환 실패, Markdown 유지",
"notes.convertedToRichText": "서식 있는 텍스트로 변환됨",
"notes.createFailed": "메모를 작성하지 못했습니다.",
"notes.deleteFailed": "메모를 삭제하지 못했습니다.",
"notes.deleted": "메모가 삭제되었습니다.",
"notes.dismissed": "최근 메모가 닫혔습니다.",
"notes.generalNotes": "일반 사항",
"notes.historyDisabledTitle": "버전 기록",
"notes.historyEnabledDesc": "이제 이 메모의 버전이 기록됩니다.",
"notes.historyEnabledTitle": "기록이 활성화되었습니다!",
"notes.leftShare": "공유가 삭제되었습니다.",
"notes.restore": "복원하다",
"notes.sort": "종류",
"notes.suggestTitle": "AI 제목",
"notes.titleGenerated": "제목이 생성되었습니다.",
"notes.updateFailed": "메모를 업데이트하지 못했습니다.",
"notification.accept": "수용하다",
"notification.accepted": "공유 승인됨",
"notification.decline": "감소",
"notification.noNotifications": "새로운 알림 없음",
"profile.tab": "윤곽",
"richTextEditor.imageUrlPlaceholder": "https://example.com/image.png",
"settings.cardSizeMode": "노트 크기",
"settings.cardSizeModeDescription": "다양한 크기 또는 균일한 크기 중에서 선택하세요.",
"settings.cardSizeUniform": "균일한 크기",
"settings.cardSizeVariable": "다양한 크기(소/중/대)",
"settings.selectCardSizeMode": "디스플레이 모드 선택",
"settings.themeBaseGroup": "베이스",
"settings.themeBlue": "파란색",
"settings.themeGreen": "녹색",
"settings.themeLavender": "라벤더",
"settings.themeMidnight": "자정",
"settings.themeOcean": "대양",
"settings.themePalettesGroup": "색상 팔레트",
"settings.themeSand": "모래",
"settings.themeSepia": "세피아",
"settings.themeSunset": "일몰",
"sidebar.clearFilter": "필터 제거",
"sidebar.sharedNotebookBadge": "· 공유",
"sidebar.sortAlpha": "A → Z",
"usageMeter.addApiKey": "자체 API 키 사용(BYOK)",
"usageMeter.featureBrainstormCreate": "브레인스토밍 창작물",
"usageMeter.featureBrainstormEnrich": "브레인스토밍 강화",
"usageMeter.featureBrainstormExpand": "브레인스토밍 확장",
"usageMeter.featureChat": "AI 메시지",
"usageMeter.featureReformulate": "재구성",
"usageMeter.featureSearch": "찾다",
"usageMeter.featureTags": "태그",
"usageMeter.featureTitles": "제목",
"usageMeter.later": "나중에",
"usageMeter.packName": "AI 디스커버리 팩",
"usageMeter.proChat": "채팅 메시지 100개/월",
"usageMeter.proIncludes": "프로에는 다음이 포함됩니다:",
"usageMeter.proReformulate": "50개 재구성/월",
"usageMeter.proSearch": "의미 검색 100개/월",
"usageMeter.proTags": "자동 태그 200개/월",
"usageMeter.proTitles": "자동 타이틀 200개/월",
"usageMeter.remaining": "{count} 남음",
"usageMeter.unlimited": "제한 없는",
"usageMeter.upgradeDescription": "AI Discovery Pack 크레딧을 모두 사용했습니다. 더 높은 한도와 추가 기능을 이용하려면 Pro로 업그레이드하세요.",
"usageMeter.upgradePricing": "프로로 업그레이드",
"usageMeter.upgradeTitle": "프로로 업그레이드"
}

View File

@@ -0,0 +1,345 @@
{
"sidebar.recent": "Recent",
"sidebar.labels": "Etiketten",
"sidebar.clearFilter": "Filter verwijderen",
"sidebar.sortAlpha": "Sortering A → Z",
"sidebar.sharedNotebookBadge": "· delen",
"notes.deleted": "Opmerking verwijderd",
"notes.deleteFailed": "Kan notitie niet verwijderen",
"notes.recent": "Recent",
"notes.metadataPanel": "Metagegevens",
"notes.historyDisabledTitle": "Versiegeschiedenis",
"notes.historyEnabledTitle": "Geschiedenis geactiveerd!",
"notes.historyEnabledDesc": "Versies van deze notitie worden nu opgeslagen.",
"notes.suggestTitle": "AI-titel",
"notes.generateTitleFromImage": "Genereer titel uit afbeelding",
"notes.titleGenerated": "Gegenereerde titel",
"notes.content": "Inhoud",
"notes.restore": "Herstellen",
"notes.createFailed": "Kan notitie niet maken",
"notes.updateFailed": "Update mislukt",
"notes.archived": "Gearchiveerde notitie",
"notes.archiveFailed": "Archiveren is mislukt",
"notes.sort": "Soort",
"notes.confirmDeleteTitle": "Beoordeling verwijderen",
"notes.leftShare": "Deel verwijderd",
"notes.ideaOrigin": "Oorsprong van het idee",
"notes.noNoteLink": "Puur generatief idee",
"notes.dismiss": "Niet relevant",
"notes.dismissed": "Opmerking verwijderd uit recent",
"notes.generalNotes": "Algemene opmerkingen",
"notes.typeRichText": "Rijke tekst",
"notes.typeChecklist": "To-do-lijst",
"notes.convertedToRichText": "Geconverteerd naar rijke tekst",
"notes.conversionFailed": "Conversie mislukt, blijft in Markdown",
"labels.title": "Etiketten",
"labels.filter": "Filter op tag",
"labels.manage": "Beheer etiketten",
"labels.manageTooltip": "Beheer etiketten",
"labels.delete": "VERWIJDEREN",
"labels.deleteTooltip": "Etiket verwijderen",
"labels.newLabelPlaceholder": "Maak een nieuw etiket",
"labels.namePlaceholder": "Voer de labelnaam in",
"labels.createLabel": "Maak een etiket",
"labels.labelName": "Labelnaam",
"labels.labelColor": "Etiketkleur",
"labels.manageLabels": "Beheer etiketten",
"labels.manageLabelsDescription": "Tags voor deze notitie toevoegen of verwijderen. Klik op een label om de kleur ervan te wijzigen.",
"labels.selectedLabels": "Geselecteerde etiketten",
"labels.filterByLabel": "Filter op tag",
"labels.tagAdded": "'{tag}'-tag toegevoegd",
"labels.showLess": "Zie minder",
"labels.showMore": "Zie meer",
"labels.editLabels": "Etiketten bewerken",
"labels.editLabelsDescription": "Creëer, wijzig kleuren of verwijder labels.",
"labels.noLabelsFound": "Geen tags gevonden.",
"labels.loading": "Laden...",
"labels.notebookRequired": "⚠️ Etiketten zijn alleen verkrijgbaar in notitieboekjes. Verplaats deze notitie eerst naar een notitieboekje.",
"labels.count": "{count} labels",
"ai.chatTab": "Discussie",
"ai.chatPanelContext": "Context",
"ai.contextLabel": "Context",
"ai.contextSourceHeading": "Contextbron",
"ai.tones.professional": "Professioneel",
"ai.tones.creative": "Creatief",
"ai.tones.academic": "Academisch",
"ai.tones.casual": "Ontspannen",
"ai.noImagesError": "Geen afbeeldingen in deze notitie",
"ai.overview": "Samenvatting",
"ai.action.describeImages": "Beschrijf de afbeeldingen",
"ai.generateTitleFromImage": "Genereer titel uit afbeelding",
"ai.titleGenerated": "Titel gegenereerd op basis van afbeelding",
"ai.pptxDownloadButton": "Download .pptx",
"memoryEcho.overlay.sortRecent": "Recent",
"notification.accept": "Accepteren",
"notification.accepted": "Delen geaccepteerd",
"notification.decline": "Weigeren",
"notification.noNotifications": "Geen meldingen",
"notification.downloadPptx": "Download .pptx",
"nav.home": "Welkom",
"nav.recent": "Recent",
"nav.proPlan": "Pro-plan",
"nav.chat": "AI Kat",
"settings.account": "Rekening",
"settings.themeBaseGroup": "Weergave",
"settings.themePalettesGroup": "Kleurenpaletten",
"settings.themeSepia": "Sepia",
"settings.themeMidnight": "Middernacht",
"settings.themeGreen": "Groente",
"settings.themeLavender": "Lavendel",
"settings.themeSand": "Zand",
"settings.themeOcean": "Oceaan",
"settings.themeSunset": "Zonsondergang",
"settings.themeBlue": "Blauw",
"settings.cardSizeMode": "Let op maat",
"settings.cardSizeModeDescription": "Kies tussen bankbiljetten van verschillende of uniforme formaten",
"settings.selectCardSizeMode": "Selecteer weergavemodus",
"settings.cardSizeVariable": "Variabele maten (klein/middelgroot/groot)",
"settings.cardSizeUniform": "Uniforme maat",
"aiSettings.title": "AI",
"aiSettings.providerOpenAI": "OpenAI (wolk)",
"notebook.labels": "Tags:",
"notebook.generatingDescription": "Even geduld a.u.b....",
"admin.chat": "AI Kat",
"admin.ai.chatProvider": "Chatprovider",
"admin.ai.provider": "Leverancier",
"admin.ai.baseUrl": "Basis-URL",
"admin.ai.model": "Model",
"admin.ai.apiKey": "API-sleutel",
"admin.ai.providerOllamaOption": "🦙 Ollama (lokaal en gratis)",
"admin.ai.providerCustomOption": "🔧 Aangepaste OpenAI-compatibel",
"admin.email.status": "Servicestatus",
"admin.email.keySet": "geconfigureerde sleutel",
"admin.email.activeAuto": "Automatische modus: Opnieuw verzenden wordt als prioriteit gebruikt, SMTP als back-up.",
"admin.email.activeSmtp": "Automatische modus: SMTP wordt gebruikt (opnieuw verzenden niet geconfigureerd).",
"admin.email.noneConfigured": "Geen e-mailservice geconfigureerd. Configureer Opnieuw verzenden of SMTP.",
"admin.email.activeProvider": "Actieve leverancier",
"admin.email.testOk": "test geslaagd",
"admin.email.testFail": "mislukte proef",
"admin.smtp.host": "Gastheer",
"admin.users.tierUpdateSuccess": "Abonnement bijgewerkt naar {tier}",
"admin.users.tierUpdateFailed": "Update van abonnement mislukt",
"admin.users.table.subscription": "Abonnement",
"admin.aiTest.provider": "Leverancier :",
"admin.aiTest.model": "Model:",
"admin.aiTest.tipTitle": "Truc:",
"admin.sidebar.dashboard": "Dashboard",
"admin.sidebar.chat": "AI Kat",
"admin.tools.title": "Hulpmiddelen voor agenten",
"admin.tools.brave": "Brave Search-API",
"admin.tools.searxngUrl": "SearXNG-URL",
"admin.dashboard.title": "Dashboard",
"about.platform": "Platform",
"about.technology.frontend": "Front-end",
"about.technology.backend": "Achterkant",
"about.technology.database": "Database",
"about.technology.ai": "AI",
"about.technology.ui": "Interface",
"about.support.feedback": "Opmerkingen",
"support.hostingServers": "Hosting en servers:",
"dataManagement.title": "Gegevens",
"appearance.selectTheme": "Selecteer thema",
"appearance.fontInterDefault": "Inter (standaard)",
"usageMeter.packName": "AI-ontdekkingspakket",
"usageMeter.featureSearch": "Onderzoek",
"usageMeter.featureTags": "Etiketten",
"usageMeter.featureTitles": "Effecten",
"usageMeter.unlimited": "Onbeperkt",
"usageMeter.remaining": "{count} resterend",
"usageMeter.upgradeTitle": "Ga Pro",
"usageMeter.upgradeDescription": "Je hebt alle credits uit het AI-ontdekkingspakket gebruikt. Upgrade naar Pro voor hogere limieten en extra functies.",
"usageMeter.proIncludes": "Pro omvat:",
"usageMeter.proSearch": "100 semantische zoekopdrachten / maand",
"usageMeter.proTags": "200 automatische labels / maand",
"usageMeter.proTitles": "200 autotitels / maand",
"usageMeter.proReformulate": "50 herformuleringen / maand",
"usageMeter.proChat": "100 chatberichten / maand",
"usageMeter.later": "Later",
"usageMeter.upgradePricing": "Ga Pro",
"usageMeter.addApiKey": "Gebruik uw eigen API-sleutel (BYOK)",
"generalSettings.title": "Generaals",
"testPages.titleSuggestions.status": "Status:",
"footer.privacy": "Vertrouwelijkheid",
"documentInfo.tabInfo": "Info",
"languages.targets.chinese": "Chinese",
"agents.searchPlaceholder": "Zoek een makelaar...",
"agents.filterAll": "Alle",
"agents.newBadge": "Nieuw",
"agents.noResults": "Geen enkele agent komt overeen met uw zoekopdracht.",
"agents.types.scraper": "Wachter",
"agents.types.excalidrawGenerator": "Diagram",
"agents.form.slideThemes.bohemian": "Bohemen",
"agents.form.inbox": "Postvak IN",
"agents.form.includeImages": "Voeg afbeeldingen toe",
"agents.form.includeImagesHint": "Extraheer afbeeldingen van geschraapte pagina's en voeg ze toe aan de gegenereerde notitie",
"agents.form.back": "Rug",
"agents.schedule.nextRun": "Volgende uitvoering",
"agents.schedule.pending": "Wachten om te activeren",
"agents.schedule.time": "Uur",
"agents.schedule.dayOfWeek": "Dag van de week",
"agents.schedule.dayOfMonth": "Dag van de maand",
"agents.schedule.days.mon": "Maandag",
"agents.schedule.days.tue": "Dinsdag",
"agents.schedule.days.wed": "Woensdag",
"agents.schedule.days.thu": "DONDERDAG",
"agents.schedule.days.fri": "Vrijdag",
"agents.schedule.days.sat": "ZATERDAG",
"agents.schedule.days.sun": "Zondag",
"agents.toasts.autoRunSuccess": "Agent \"{name}\" is automatisch succesvol uitgevoerd",
"agents.toasts.autoRunError": "Agent '{name}' is mislukt tijdens autorun",
"agents.templates.veilleAI.name": "AI-monitoring",
"agents.templates.veilleTech.name": "Tech-horloge",
"agents.templates.veilleDev.name": "Ontwikkelaar kijken",
"agents.tools.title": "Hulpmiddelen voor agenten",
"agents.tools.configNeeded": "Systeemvereisten",
"agents.help.howToUseContent": "1. Klik op **\"Nieuwe agent\"** (of begin met een **Sjabloon** onderaan de pagina)\n2. Kies een **agenttype** (Onderzoeker, Watcher, Overseer, Custom)\n3. Geef het een **naam** en vul de typespecifieke velden in\n4. Kies eventueel een **doelnotitieboekje** of sla de resultaten op\n5. Selecteer een **frequentie** (Handmatig = u voert het zelf uit)\n6. Klik op **Aanmaken** en druk vervolgens op de knop **Uitvoeren** op de agentkaart\n7. Eenmaal voltooid, verschijnt er een nieuwe notitie in uw doelnotitieboekje",
"agents.help.advancedContent": "Klik op **\"Geavanceerde modus\"** onderaan het formulier om toegang te krijgen tot aanvullende instellingen.\n\n### AI-instructies\n\nMet dit veld kunt u **de standaardsysteemprompt** van de agent overschrijven. Als u dit leeg laat, gebruikt de agent een automatische prompt die is aangepast aan zijn type.\n\n**Waarom het gebruiken?** U wilt het gedrag van de agent precies controleren. Bijvoorbeeld:\n- “Schrijf de samenvatting in het Engels, ook al zijn de bronnen in het Frans”\n- “Structuur de notitie met de secties: Context, Kernpunten, Persoonlijke mening”\n- “Negeer artikelen ouder dan 30 dagen en focus op recent nieuws”\n- \"Biedt voor elk gedetecteerd thema 3 mogelijkheden voor diepgaande studie met links\"\n\n> **Opmerking:** Uw instructies vervangen de standaardinstructies, niet dat ze er iets aan toevoegen.\n\n### Maximale iteraties\n\nDit is het **maximale aantal cycli** dat de agent kan uitvoeren. Eén cyclus = de agent denkt na, roept een tool aan, leest het resultaat en besluit vervolgens over de volgende actie.\n\n- **3-5 iteraties:** voor eenvoudige taken (scrapen van één pagina)\n- **10 iteraties (standaard):** goede balans voor de meeste gevallen\n- **15-25 iteraties:** voor diepgaande zoekopdrachten waarbij de agent verschillende wegen moet verkennen\n\n> **Let op:** Meer iteraties = meer tijd en mogelijk meer API-kosten.",
"agents.help.frequencyContent": "| Frequentie | Gedrag\n|---------------|------------\n| **Handmatig** | U klikt op \"Uitvoeren\" - geen automatische planning\n| **Elk uur** | Rijdt elk uur\n| **Dagelijks** | Wordt één keer per dag uitgevoerd\n| **Wekelijks** | Wordt één keer per week uitgevoerd\n| **Maandelijks** | Wordt één keer per maand uitgevoerd\n\n> **Tip:** Begin met \"Handmatig\" om uw agent te testen en schakel vervolgens over naar de automatische frequentie zodra u tevreden bent.",
"agents.help.targetNotebookContent": "Wanneer een agent zijn taak voltooit, **maakt hij een notitie**. Het **doelnotitieboekje** bepaalt waar ze heen gaat:\n\n- **Inbox** (standaard) — de notitie wordt in uw algemene notities geplaatst\n- **Specifiek notitieboekje** — kies een notitieboekje om de resultaten georganiseerd te houden\n\n> **Tip:** Maak een speciaal notitieboekje zoals “Agent Reports” om alle geautomatiseerde inhoud te centraliseren.",
"chat.timeoutWarning": "De reactie duurt langer dan verwacht...",
"labHeader.live": "Direct",
"labHeader.rename": "Hernoemen",
"richTextEditor.slashCatMedia": "Media",
"richTextEditor.imageUrlPlaceholder": "https://example.com/image.png",
"richTextEditor.slashDiagram": "Diagram",
"richTextEditor.slashSuperscript": "Exposant",
"richTextEditor.superscript": "Exposant",
"brainstorm.title": "Gedachte golven",
"brainstorm.subtitle": "Vergroot de dimensies van potentieel",
"brainstorm.placeholder": "Voer een concept in om te verkennen...",
"brainstorm.generating": "AI oogst zaden van gedachten...",
"brainstorm.newBrainstorm": "Nieuwe brainstorm",
"brainstorm.noSessions": "Nog geen brainstormsessies",
"brainstorm.startOne": "Om te beginnen",
"brainstorm.sessions": "Brainstormsessies",
"brainstorm.seedLabel": "Bron idee",
"brainstorm.brainstormThisIdea": "Brainstorm over dit idee",
"brainstorm.startBrainstorm": "Start de brainstorm",
"brainstorm.spatialMode": "Ruimteverkenningsmodus",
"brainstorm.wave1": "Golf 1",
"brainstorm.wave2": "Golf 2",
"brainstorm.wave3": "Golf 3",
"brainstorm.export": "Exporteren",
"brainstorm.exporting": "Exporteren...",
"brainstorm.wave": "Golf",
"brainstorm.novelty": "Originaliteit",
"brainstorm.originConnection": "Link met herkomst",
"brainstorm.linkedNotes": "Gerelateerde opmerkingen",
"brainstorm.deepen": "Graven",
"brainstorm.deepening": "Generatie...",
"brainstorm.extract": "Maak een notitie",
"brainstorm.converting": "Conversie...",
"brainstorm.dismiss": "Niet relevant",
"brainstorm.noteCreated": "Notitie gemaakt",
"brainstorm.ideas": "ideeën",
"brainstorm.cancel": "Annuleren",
"brainstorm.delete": "VERWIJDEREN",
"brainstorm.ideaOrigin": "Oorsprong van het idee",
"brainstorm.noNoteLink": "Puur generatief idee",
"brainstorm.derived_from": "Afgeleid van",
"brainstorm.opposes": "In tegenstelling tot",
"brainstorm.extends": "Verlengt",
"brainstorm.synthesizes": "Synthetiseer",
"brainstorm.transposes": "Transponeren",
"brainstorm.none_found": "Geen koppeling",
"brainstorm.viewNote": "Zie opmerking",
"brainstorm.addIdea": "Voeg een idee toe",
"brainstorm.manualIdeaPrompt": "Titel van uw idee:",
"brainstorm.invite": "Uitnodiging",
"brainstorm.linkCopied": "Uitnodigingslink gekopieerd!",
"brainstorm.aiIdea": "AI",
"brainstorm.shareDialogTitle": "Deel de brainstorm",
"brainstorm.shareSearchLabel": "Zoek een persoon",
"brainstorm.shareNameOrEmailPlaceholder": "Naam of e-mailadres…",
"brainstorm.shareSubmit": "Deel",
"brainstorm.shareSubmitting": "Verzenden…",
"brainstorm.shareFooterHint": "De persoon ontvangt een melding om te accepteren of te weigeren.",
"brainstorm.sharePublicLink": "Openbare link",
"brainstorm.shareGuestsCanEdit": "Laat gasten bewerken",
"brainstorm.feedbackInviteSent": "Uitnodiging verzonden!",
"brainstorm.feedbackInviteResent": "Uitnodiging terug!",
"brainstorm.feedbackAlreadyShared": "Deze persoon heeft al toegang tot deze brainstorm.",
"brainstorm.feedbackAlreadyPending": "Er is al een uitnodiging in behandeling voor deze persoon.",
"brainstorm.feedbackGenericError": "Fout",
"brainstorm.unnamedPerson": "Naamloos",
"brainstorm.canvasEditTitleReply": "Antwoord",
"brainstorm.canvasEditTitleNewIdea": "Nieuw idee",
"brainstorm.canvasPlaceholderReply": "Jouw antwoord…",
"brainstorm.canvasPlaceholderIdea": "Jouw idee…",
"brainstorm.canvasShortcutSave": "redden",
"brainstorm.canvasShortcutCancel": "Annuleren",
"brainstorm.canvasChildBranch": "kind",
"brainstorm.canvasDoubleClickHint": "Dubbelklik om een idee toe te voegen",
"brainstorm.ideaDetailConnection": "Verbinding",
"brainstorm.ideaDetailNovelty": "Originaliteit",
"brainstorm.ideaDetailWave": "Golf",
"brainstorm.waveFlavorAnalogy": "Analogie",
"brainstorm.liveCollaborationTitle": "Live samenwerking",
"brainstorm.liveStatus": "Live",
"brainstorm.liveYouMarker": "(JIJ)",
"brainstorm.liveOtherParticipants": "{count} andere deelnemers",
"brainstorm.guestReadOnlyNotice": "Je bekijkt deze brainstorm als gast. Log in om te bewerken.",
"brainstorm.impactNotesEnriched": "{count} verrijkte notitie(s)",
"brainstorm.impactNotesMarkedDry": "{count} notitie(s) gemarkeerd als droog",
"brainstorm.exportNotebookPrefix": "Notitieboekje :",
"brainstorm.playbackStep": "Stap {current}/{total}",
"brainstorm.playbackStepsCount": "{count} stappen",
"brainstorm.playbackReturnToLive": "Keer terug om te leven",
"brainstorm.canvasWaitingHint": "Het canvas wacht op jouw vonk...",
"brainstorm.seedNodeBadge": "ZAAD",
"brainstorm.originalSeedDescription": "Eerste bronidee",
"brainstorm.convertedToNoteStatus": "Omgerekend naar beoordeling",
"brainstorm.toastExpandSuccess": "Uitgebreide ideeën!",
"brainstorm.toastExpandFailed": "Mislukking van de uitbreiding",
"brainstorm.toastDismissSuccess": "Idee afgewezen",
"brainstorm.toastDismissFailed": "Gat-mislukking",
"brainstorm.toastConvertSuccess": "Idee omgezet in notitie!",
"brainstorm.toastConvertFailed": "Conversie mislukt",
"brainstorm.toastExportNoteSuccess": "Geëxporteerd als een notitie!",
"brainstorm.toastExportFailed": "Exporteren is mislukt",
"brainstorm.legendSeed": "Zaad",
"brainstorm.legendDisruptions": "Uiteenvallen",
"brainstorm.exportFailedMessage": "Exporteren is mislukt",
"brainstorm.exportDefaultNoteTitle": "Synthese",
"brainstorm.exportOpening": "Opening…",
"brainstorm.ownerBadge": "Eigenaar",
"brainstorm.waveBadge": "Golf {wave}",
"byokSettings.title": "Uw API-sleutels (BYOK)",
"byokSettings.description": "Verbind uw eigen leverancierssleutels om Discovery Pack-quota te omzeilen. Sleutels worden in rust gecodeerd.",
"byokSettings.badgeActive": "BYOK actief",
"byokSettings.tierRequired": "BYOK vereist een Pro-abonnement of hoger.",
"byokSettings.provider": "Leverancier",
"byokSettings.providerPlaceholder": "Kies een leverancier",
"byokSettings.alias": "Formulering (optioneel)",
"byokSettings.aliasPlaceholder": "ex. OpenAI pro",
"byokSettings.apiKey": "API-sleutel",
"byokSettings.save": "Sleutel opslaan",
"byokSettings.saved": "Geregistreerde API-sleutel",
"byokSettings.deleted": "API-sleutel verwijderd",
"byokSettings.error": "Kan sleutel niet registreren",
"byokSettings.loadError": "Kan sleutels niet laden",
"byokSettings.loading": "Laden...",
"byokSettings.empty": "Geen API-sleutel geconfigureerd.",
"byokSettings.confirmDelete": "Deze API-sleutel definitief verwijderen?",
"billing.proAnnualPrice": "€ 99",
"billing.businessAnnualPrice": "€ 299",
"billing.enterpriseTitle": "Bedrijf",
"landing.pricing.perUser": "+ 3,90€/gebruiker",
"landing.pricing.perUserAnnual": "+ 2,90€/gebruiker, jaarlijks gefactureerd",
"landing.pricing.business.feature1": "BYOK (13 leveranciers)",
"landing.pricing.enterprise.feature4": "Toegewijde ondersteuning",
"landing.pricing.enterprise.feature5": "Live onboarding",
"landing.footer.product.title": "Product",
"landing.footer.community.title": "Gemeenschap",
"ai.featureLocked": "Deze functie vereist het PRO-abonnement of hoger.",
"ai.quotaExceeded": "Maandelijkse limiet bereikt. Reset volgende maand.",
"profile.tab": "Profiel",
"about.tab": "Over",
"appearance.tab": "Weergave",
"billing.tab": "Facturering",
"usageMeter.featureChat": "AI-berichten",
"usageMeter.featureReformulate": "Herschrijvingen",
"usageMeter.featureBrainstormCreate": "Brainstorm-aanmaak",
"usageMeter.featureBrainstormExpand": "Brainstorm-uitbreidingen",
"usageMeter.featureBrainstormEnrich": "Brainstorm-verrijkingen"
}

View File

@@ -0,0 +1,289 @@
{
"sidebar.clearFilter": "Usuń filtr",
"sidebar.sortAlpha": "Sortowanie A → Z",
"sidebar.sharedNotebookBadge": "· dzielenie się",
"notes.deleted": "Uwaga usunięta",
"notes.deleteFailed": "Nie udało się usunąć notatki",
"notes.historyDisabledTitle": "Historia wersji",
"notes.historyEnabledTitle": "Historia aktywowana!",
"notes.historyEnabledDesc": "Wersje tej notatki zostaną teraz zapisane.",
"notes.suggestTitle": "Tytuł AI",
"notes.generateTitleFromImage": "Wygeneruj tytuł z obrazu",
"notes.titleGenerated": "Wygenerowany tytuł",
"notes.content": "Treść",
"notes.restore": "Przywrócić",
"notes.createFailed": "Nie można utworzyć notatki",
"notes.updateFailed": "Aktualizacja nie powiodła się",
"notes.archived": "Zarchiwizowana notatka",
"notes.archiveFailed": "Archiwizacja nie powiodła się",
"notes.sort": "Sortować",
"notes.confirmDeleteTitle": "Usuń ocenę",
"notes.leftShare": "Udostępnienie zostało usunięte",
"notes.ideaOrigin": "Pochodzenie pomysłu",
"notes.noNoteLink": "Pomysł czysto twórczy",
"notes.dismiss": "Nie dotyczy",
"notes.dismissed": "Uwaga usunięta z ostatnich",
"notes.generalNotes": "Uwagi ogólne",
"notes.convertedToRichText": "Przekonwertowano na tekst sformatowany",
"notes.conversionFailed": "Konwersja nie powiodła się, pozostaje w Markdown",
"labels.title": "Etykiety",
"labels.filter": "Filtruj według tagu",
"labels.manage": "Zarządzaj etykietami",
"labels.manageTooltip": "Zarządzaj etykietami",
"labels.delete": "USUWAĆ",
"labels.deleteTooltip": "Usuń etykietę",
"labels.newLabelPlaceholder": "Utwórz nową etykietę",
"labels.namePlaceholder": "Wprowadź nazwę etykiety",
"labels.createLabel": "Utwórz etykietę",
"labels.labelName": "Nazwa etykiety",
"labels.labelColor": "Kolor etykiety",
"labels.manageLabels": "Zarządzaj etykietami",
"labels.manageLabelsDescription": "Dodaj lub usuń tagi dla tej notatki. Kliknij etykietę, aby zmienić jej kolor.",
"labels.selectedLabels": "Wybrane etykiety",
"labels.filterByLabel": "Filtruj według tagu",
"labels.tagAdded": "Dodano tag „{tag}”.",
"labels.showLess": "Zobacz mniej",
"labels.showMore": "Zobacz więcej",
"labels.editLabels": "Edytuj etykiety",
"labels.editLabelsDescription": "Twórz, zmieniaj kolory lub usuwaj etykiety.",
"labels.noLabelsFound": "Nie znaleziono tagów.",
"labels.loading": "Załadunek...",
"labels.notebookRequired": "⚠️ Etykiety dostępne są wyłącznie w notesach. Najpierw przenieś tę notatkę do notatnika.",
"ai.chatTab": "Dyskusja",
"ai.contextSourceHeading": "Źródło kontekstu",
"ai.tones.professional": "Profesjonalny",
"ai.tones.creative": "Twórczy",
"ai.tones.academic": "Akademicki",
"ai.tones.casual": "Zrelaksowany",
"ai.noImagesError": "Brak obrazów w tej notatce",
"ai.overview": "Streszczenie",
"ai.action.describeImages": "Opisz obrazy",
"ai.aiCopilot": "Drugi pilot AI",
"ai.generateTitleFromImage": "Wygeneruj tytuł z obrazu",
"ai.titleGenerated": "Tytuł wygenerowany na podstawie obrazu",
"notification.accept": "Przyjąć",
"notification.accepted": "Udostępnienie zaakceptowane",
"notification.decline": "Odmawiać",
"notification.noNotifications": "Brak powiadomień",
"notification.systemNotification": "System",
"settings.themeBaseGroup": "Wyświetlacz",
"settings.themePalettesGroup": "Palety kolorów",
"settings.themeSepia": "Sepia",
"settings.themeMidnight": "Północ",
"settings.themeGreen": "Zielony",
"settings.themeLavender": "Lawenda",
"settings.themeSand": "Piasek",
"settings.themeOcean": "Ocean",
"settings.themeSunset": "Zachód słońca",
"settings.themeBlue": "Niebieski",
"settings.cardSizeMode": "Rozmiar notatki",
"settings.cardSizeModeDescription": "Wybieraj pomiędzy nutami o różnych lub jednakowych rozmiarach",
"settings.selectCardSizeMode": "Wybierz tryb wyświetlania",
"settings.cardSizeVariable": "Różne rozmiary (mały/średni/duży)",
"settings.cardSizeUniform": "Jednolity rozmiar",
"aiSettings.title": "AI",
"notebook.generatingDescription": "Proszę czekać...",
"admin.ai.model": "Model",
"admin.email.status": "Stan usługi",
"admin.email.keySet": "skonfigurowany klucz",
"admin.email.activeAuto": "Tryb automatyczny: Ponowne wysłanie będzie traktowane jako priorytet, SMTP jako kopia zapasowa.",
"admin.email.activeSmtp": "Tryb automatyczny: używany będzie SMTP (ponowne wysyłanie nie jest skonfigurowane).",
"admin.email.noneConfigured": "Nie skonfigurowano żadnej usługi e-mail. Skonfiguruj wysyłanie ponownie lub SMTP.",
"admin.email.activeProvider": "Aktywny dostawca",
"admin.email.testOk": "test zaliczony",
"admin.email.testFail": "nieudany test",
"admin.smtp.host": "Gospodarz",
"admin.users.tierUpdateSuccess": "Subskrypcja zaktualizowana do {tier}",
"admin.users.tierUpdateFailed": "Aktualizacja subskrypcji nie powiodła się",
"admin.users.table.subscription": "Prenumerata",
"admin.aiTest.model": "Modelka:",
"admin.tools.searxng": "SearXNG (własny hosting)",
"admin.tools.brave": "Odważne wyszukiwanie API",
"about.technology.frontend": "Front-end",
"about.technology.backend": "Zaplecze",
"about.technology.ai": "sztuczna inteligencja",
"about.technology.ui": "Interfejs",
"dataManagement.title": "Dane",
"appearance.selectTheme": "Wybierz motyw",
"appearance.fontInterDefault": "Inter (domyślny)",
"usageMeter.packName": "Pakiet odkrywania sztucznej inteligencji",
"usageMeter.featureSearch": "Badania",
"usageMeter.featureTags": "Etykiety",
"usageMeter.featureTitles": "Papiery wartościowe",
"usageMeter.unlimited": "Nieograniczony",
"usageMeter.remaining": "Pozostało: {count}",
"usageMeter.upgradeTitle": "Przejdź na zawodowstwo",
"usageMeter.upgradeDescription": "Wykorzystałeś wszystkie kredyty z pakietu odkrywczego AI. Przejdź na wersję Pro, aby uzyskać wyższe limity i dodatkowe funkcje.",
"usageMeter.proIncludes": "Profesjonalne obejmuje:",
"usageMeter.proSearch": "100 wyszukiwań semantycznych / miesiąc",
"usageMeter.proTags": "200 etykiet samochodowych / miesiąc",
"usageMeter.proTitles": "200 tytułów samochodów / miesiąc",
"usageMeter.proReformulate": "50 przeformułowań/miesiąc",
"usageMeter.proChat": "100 wiadomości na czacie / miesiąc",
"usageMeter.later": "Później",
"usageMeter.upgradePricing": "Przejdź na zawodowstwo",
"usageMeter.addApiKey": "Użyj własnego klucza API (BYOK)",
"generalSettings.title": "Generalicja",
"testPages.titleSuggestions.status": "Stan:",
"agents.searchPlaceholder": "Znajdź agenta...",
"agents.filterAll": "Wszystko",
"agents.newBadge": "Nowy",
"agents.noResults": "Żaden agent nie pasuje do Twojego wyszukiwania.",
"agents.types.scraper": "Stróż",
"agents.types.excalidrawGenerator": "Diagram",
"agents.form.includeImages": "Dołącz obrazy",
"agents.form.includeImagesHint": "Wyodrębnij obrazy ze zeskrobanych stron i dołącz je do wygenerowanej notatki",
"agents.form.back": "Z powrotem",
"agents.schedule.nextRun": "Następna egzekucja",
"agents.schedule.pending": "Oczekiwanie na uruchomienie",
"agents.schedule.time": "Godzina",
"agents.schedule.dayOfWeek": "Dzień tygodnia",
"agents.schedule.dayOfMonth": "Dzień miesiąca",
"agents.schedule.days.mon": "Poniedziałek",
"agents.schedule.days.tue": "Wtorek",
"agents.schedule.days.wed": "Środa",
"agents.schedule.days.thu": "CZWARTEK",
"agents.schedule.days.fri": "Piątek",
"agents.schedule.days.sat": "SOBOTA",
"agents.schedule.days.sun": "Niedziela",
"agents.toasts.autoRunSuccess": "Agent „{name}” został automatycznie uruchomiony pomyślnie",
"agents.toasts.autoRunError": "Agent „{name}” nie powiódł się podczas automatycznego uruchamiania",
"agents.help.howToUseContent": "1. Kliknij **„Nowy agent”** (lub zacznij od **Szablon** na dole strony)\n2. Wybierz **typ agenta** (Badacz, Obserwator, Nadzorca, Niestandardowy)\n3. Nadaj mu **nazwę** i wypełnij pola specyficzne dla typu\n4. Opcjonalnie wybierz **notatnik docelowy** lub zapisz wyniki\n5. Wybierz **częstotliwość** (ręcznie = uruchamiasz samodzielnie)\n6. Kliknij **Utwórz**, a następnie naciśnij przycisk **Wykonaj** na karcie agenta\n7. Po zakończeniu w docelowym notatniku pojawi się nowa notatka",
"agents.help.advancedContent": "Kliknij **„Tryb zaawansowany”** na dole formularza, aby uzyskać dostęp do dodatkowych ustawień.\n\n### Instrukcje AI\n\nTo pole umożliwia **zastąpienie domyślnego monitu systemowego** agenta. Jeżeli pozostawisz to pole puste, agent użyje automatycznego podpowiedzi dostosowanego do jego typu.\n\n**Po co go używać?** Chcesz dokładnie kontrolować zachowanie agenta. Na przykład:\n- „Napisz streszczenie w języku angielskim, nawet jeśli źródła są w języku francuskim”\n- „Ułóż notatkę w oparciu o sekcje: Kontekst, Kluczowe punkty, Osobista opinia”\n- „Ignoruj artykuły starsze niż 30 dni i skup się na najnowszych wiadomościach”\n- „Dla każdego wykrytego tematu oferuje 3 ścieżki dogłębnej analizy z linkami”\n\n> **Uwaga:** Twoje instrukcje zastępują instrukcje domyślne, a nie tylko je uzupełniają.\n\n### Maksymalna liczba iteracji\n\nJest to **maksymalna liczba cykli**, jaką agent może wykonać. Jeden cykl = agent myśli, wywołuje narzędzie, odczytuje wynik, po czym decyduje o kolejnym działaniu.\n\n- **3-5 iteracji:** dla prostych zadań (skrobanie pojedynczej strony)\n- **10 iteracji (domyślnie):** dobra równowaga w większości przypadków\n- **1525 iteracji:** w przypadku głębokich wyszukiwań, w których agent musi zbadać kilka możliwości\n\n> **Uwaga:** Więcej iteracji = więcej czasu i potencjalnie więcej kosztów API.",
"agents.help.frequencyContent": "| Częstotliwość | Zachowanie\n|--------------|------------\n| **Podręcznik** | Klikasz „Uruchom” — brak automatycznego planowania\n| **Co godzinę** | Kursuje co godzinę\n| **Codziennie** | Kursuje raz dziennie\n| **Cotygodniowo** | Kursuje raz w tygodniu\n| **Miesięcznie** | Kursuje raz w miesiącu\n\n> **Wskazówka:** Zacznij od „Ręcznego”, aby przetestować agenta, a następnie przełącz się na częstotliwość automatyczną, gdy będziesz zadowolony.",
"agents.help.targetNotebookContent": "Kiedy agent wykona swoje zadanie, **tworzy notatkę**. **Notatnik docelowy** określa, dokąd zmierza:\n\n- **Skrzynka odbiorcza** (domyślnie) — notatka trafia do notatek ogólnych\n- **Konkretny notatnik** — wybierz notatnik, aby uporządkować wyniki\n\n> **Wskazówka:** Utwórz dedykowany notatnik, taki jak „Raporty agenta”, aby scentralizować całą zautomatyzowaną zawartość.",
"chat.timeoutWarning": "Odpowiedź trwa dłużej, niż oczekiwano…",
"labHeader.rename": "Przemianować",
"richTextEditor.imageUrlPlaceholder": "https://example.com/image.png",
"richTextEditor.slashDiagram": "Diagram",
"brainstorm.title": "Fale myślowe",
"brainstorm.subtitle": "Rozszerz wymiary potencjału",
"brainstorm.placeholder": "Wprowadź koncepcję do odkrycia...",
"brainstorm.generating": "AI zbiera nasiona myśli...",
"brainstorm.newBrainstorm": "Nowa burza mózgów",
"brainstorm.noSessions": "Nie ma jeszcze burzy mózgów",
"brainstorm.startOne": "Aby rozpocząć",
"brainstorm.sessions": "Sesje burzy mózgów",
"brainstorm.seedLabel": "Pomysł źródłowy",
"brainstorm.brainstormThisIdea": "Przemyśl ten pomysł",
"brainstorm.startBrainstorm": "Rozpocznij burzę mózgów",
"brainstorm.spatialMode": "Tryb eksploracji kosmosu",
"brainstorm.wave1": "Fala 1",
"brainstorm.wave2": "Fala 2",
"brainstorm.wave3": "Fala 3",
"brainstorm.export": "Eksport",
"brainstorm.exporting": "Eksport...",
"brainstorm.wave": "Fala",
"brainstorm.novelty": "Oryginalność",
"brainstorm.originConnection": "Link do pochodzenia",
"brainstorm.linkedNotes": "Powiązane uwagi",
"brainstorm.deepen": "Kopać",
"brainstorm.deepening": "Generacja...",
"brainstorm.extract": "Utwórz notatkę",
"brainstorm.converting": "Konwersja...",
"brainstorm.dismiss": "Nie dotyczy",
"brainstorm.noteCreated": "Notatka utworzona",
"brainstorm.ideas": "pomysły",
"brainstorm.cancel": "Anulować",
"brainstorm.delete": "USUWAĆ",
"brainstorm.ideaOrigin": "Pochodzenie pomysłu",
"brainstorm.noNoteLink": "Pomysł czysto twórczy",
"brainstorm.derived_from": "Pochodzi z",
"brainstorm.opposes": "W opozycji do",
"brainstorm.extends": "Rozciąga się",
"brainstorm.synthesizes": "Syntetyzować",
"brainstorm.transposes": "Transponować",
"brainstorm.none_found": "Brak linku",
"brainstorm.viewNote": "Zobacz notatkę",
"brainstorm.addIdea": "Dodaj pomysł",
"brainstorm.manualIdeaPrompt": "Tytuł Twojego pomysłu:",
"brainstorm.invite": "Zapraszać",
"brainstorm.linkCopied": "Link do zaproszenia skopiowany!",
"brainstorm.shareDialogTitle": "Podziel się burzą mózgów",
"brainstorm.shareSearchLabel": "Wyszukaj osobę",
"brainstorm.shareNameOrEmailPlaceholder": "Imię i nazwisko lub e-mail…",
"brainstorm.shareSubmit": "Udział",
"brainstorm.shareSubmitting": "Przesyłka…",
"brainstorm.shareFooterHint": "Osoba otrzyma powiadomienie o konieczności zaakceptowania lub odrzucenia.",
"brainstorm.sharePublicLink": "Link publiczny",
"brainstorm.shareGuestsCanEdit": "Zezwalaj gościom na edycję",
"brainstorm.feedbackInviteSent": "Zaproszenie wysłane!",
"brainstorm.feedbackInviteResent": "Zaproszenie wróciło!",
"brainstorm.feedbackAlreadyShared": "Ta osoba ma już dostęp do tej burzy mózgów.",
"brainstorm.feedbackAlreadyPending": "Zaproszenie dla tej osoby jest już oczekujące.",
"brainstorm.feedbackGenericError": "Błąd",
"brainstorm.unnamedPerson": "Anonimowy",
"brainstorm.canvasEditTitleReply": "Odpowiedź",
"brainstorm.canvasEditTitleNewIdea": "Nowy pomysł",
"brainstorm.canvasPlaceholderReply": "Twoja odpowiedź…",
"brainstorm.canvasPlaceholderIdea": "Twój pomysł…",
"brainstorm.canvasShortcutSave": "ratować",
"brainstorm.canvasShortcutCancel": "Anulować",
"brainstorm.canvasChildBranch": "dziecko",
"brainstorm.canvasDoubleClickHint": "Kliknij dwukrotnie, aby dodać pomysł",
"brainstorm.ideaDetailConnection": "Połączenie",
"brainstorm.ideaDetailNovelty": "Oryginalność",
"brainstorm.ideaDetailWave": "Fala",
"brainstorm.waveFlavorAnalogy": "Analogia",
"brainstorm.liveCollaborationTitle": "Współpraca na żywo",
"brainstorm.liveStatus": "Na żywo",
"brainstorm.liveYouMarker": "(TY)",
"brainstorm.liveOtherParticipants": "{count} innych uczestników",
"brainstorm.guestReadOnlyNotice": "Oglądasz tę burzę mózgów jako gość. Zaloguj się, aby edytować.",
"brainstorm.impactNotesEnriched": "wzbogacone notatki ({count})",
"brainstorm.impactNotesMarkedDry": "{count} notatki oznaczone jako suche",
"brainstorm.exportNotebookPrefix": "Zeszyt :",
"brainstorm.playbackStep": "Krok {current}/{total}",
"brainstorm.playbackStepsCount": "{count} kroków",
"brainstorm.playbackReturnToLive": "Wróć do życia",
"brainstorm.canvasWaitingHint": "Płótno czeka na Twoją iskrę…",
"brainstorm.seedNodeBadge": "NASIONO",
"brainstorm.originalSeedDescription": "Wstępny pomysł na źródło",
"brainstorm.convertedToNoteStatus": "Przekształcone w ocenę",
"brainstorm.toastExpandSuccess": "Rozbudowane pomysły!",
"brainstorm.toastExpandFailed": "Niepowodzenie rozszerzenia",
"brainstorm.toastDismissSuccess": "Pomysł odrzucony",
"brainstorm.toastDismissFailed": "Błąd luki",
"brainstorm.toastConvertSuccess": "Pomysł zamieniony w notatkę!",
"brainstorm.toastConvertFailed": "Konwersja nie powiodła się",
"brainstorm.toastExportNoteSuccess": "Wyeksportowano jako notatkę!",
"brainstorm.toastExportFailed": "Eksport nie powiódł się",
"brainstorm.legendSeed": "Nasienie",
"brainstorm.legendDisruptions": "Rozstania",
"brainstorm.exportFailedMessage": "Eksport nie powiódł się",
"brainstorm.exportDefaultNoteTitle": "Synteza",
"brainstorm.exportOpening": "Otwór…",
"brainstorm.ownerBadge": "Właściciel",
"brainstorm.waveBadge": "Fala {wave}",
"byokSettings.title": "Twoje klucze API (BYOK)",
"byokSettings.description": "Połącz własne klucze dostawców, aby ominąć limity Discovery Pack. Klucze są szyfrowane w stanie spoczynku.",
"byokSettings.badgeActive": "BYOK aktywny",
"byokSettings.tierRequired": "BYOK wymaga subskrypcji Pro lub wyższej.",
"byokSettings.provider": "Dostawca",
"byokSettings.providerPlaceholder": "Wybierz dostawcę",
"byokSettings.alias": "Sformułowanie (opcjonalnie)",
"byokSettings.aliasPlaceholder": "były. OpenAI profesjonalista",
"byokSettings.apiKey": "Klucz API",
"byokSettings.save": "Zapisz klucz",
"byokSettings.saved": "Zarejestrowany klucz API",
"byokSettings.deleted": "Usunięto klucz API",
"byokSettings.error": "Nie można zarejestrować klucza",
"byokSettings.loadError": "Nie można załadować kluczy",
"byokSettings.loading": "Załadunek...",
"byokSettings.empty": "Nie skonfigurowano klucza API.",
"byokSettings.confirmDelete": "Trwale usunąć ten klucz API?",
"billing.enterpriseTitle": "Biznes",
"landing.pricing.perUser": "+ 3,90€/użytkownika",
"landing.pricing.perUserAnnual": "+ 2,90€/użytkownika, rozliczenie roczne",
"ai.featureLocked": "Ta funkcja wymaga planu PRO lub wyższego.",
"ai.quotaExceeded": "Osiągnięto limit miesięczny. Reset w przyszłym miesiącu.",
"profile.tab": "Profil",
"about.tab": "O aplikacji",
"appearance.tab": "Wygląd",
"billing.tab": "Rozliczenia",
"usageMeter.featureChat": "Wiadomości AI",
"usageMeter.featureReformulate": "Przeformułowania",
"usageMeter.featureBrainstormCreate": "Tworzenia brainstorm",
"usageMeter.featureBrainstormExpand": "Rozszerzenia brainstorm",
"usageMeter.featureBrainstormEnrich": "Wzbogacenia brainstorm"
}

View File

@@ -0,0 +1,274 @@
{
"sidebar.clearFilter": "Удалить фильтр",
"sidebar.sharedNotebookBadge": "· обмен",
"notes.deleted": "Примечание удалено.",
"notes.deleteFailed": "Не удалось удалить заметку",
"notes.historyDisabledTitle": "История версий",
"notes.historyEnabledTitle": "История активирована!",
"notes.historyEnabledDesc": "Версии этой заметки теперь будут сохранены.",
"notes.suggestTitle": "AI-заголовок",
"notes.generateTitleFromImage": "Создать заголовок из изображения",
"notes.titleGenerated": "Сгенерированный заголовок",
"notes.content": "Содержание",
"notes.restore": "Восстановить",
"notes.createFailed": "Не удалось создать заметку",
"notes.updateFailed": "Обновление не выполнено",
"notes.archived": "Архивная заметка",
"notes.archiveFailed": "Не удалось архивировать",
"notes.sort": "Сортировать",
"notes.confirmDeleteTitle": "Удалить оценку",
"notes.leftShare": "Поделиться удалено",
"notes.ideaOrigin": "Происхождение идеи",
"notes.noNoteLink": "Чисто генеративная идея",
"notes.dismiss": "Не актуально",
"notes.dismissed": "Примечание удалено из недавних",
"notes.generalNotes": "Общие замечания",
"notes.convertedToRichText": "Преобразовано в форматированный текст",
"notes.conversionFailed": "Конвертация не удалась, остается в Markdown",
"labels.title": "Этикетки",
"labels.filter": "Фильтровать по тегу",
"labels.manage": "Управление ярлыками",
"labels.manageTooltip": "Управление ярлыками",
"labels.delete": "УДАЛИТЬ",
"labels.deleteTooltip": "Удалить ярлык",
"labels.newLabelPlaceholder": "Создать новый ярлык",
"labels.namePlaceholder": "Введите название ярлыка",
"labels.createLabel": "Создать ярлык",
"labels.labelName": "Название этикетки",
"labels.labelColor": "Цвет этикетки",
"labels.manageLabels": "Управление ярлыками",
"labels.manageLabelsDescription": "Добавьте или удалите теги для этой заметки. Нажмите на метку, чтобы изменить ее цвет.",
"labels.selectedLabels": "Выбранные ярлыки",
"labels.filterByLabel": "Фильтровать по тегу",
"labels.tagAdded": "Добавлен тег \"{tag}\"",
"labels.showLess": "Посмотреть меньше",
"labels.showMore": "Посмотреть больше",
"labels.editLabels": "Изменить ярлыки",
"labels.editLabelsDescription": "Создавайте, меняйте цвета или удаляйте метки.",
"labels.noLabelsFound": "Теги не найдены.",
"labels.loading": "Загрузка...",
"labels.notebookRequired": "⚠️Этикетки доступны только в блокнотах. Сначала перенесите эту заметку в блокнот.",
"ai.contextSourceHeading": "Источник контекста",
"ai.tones.professional": "Профессиональный",
"ai.tones.creative": "Креатив",
"ai.tones.academic": "Академический",
"ai.tones.casual": "Расслабленный",
"ai.noImagesError": "В этой заметке нет изображений",
"ai.overview": "Краткое содержание",
"ai.action.describeImages": "Опишите изображения",
"ai.generateTitleFromImage": "Создать заголовок из изображения",
"ai.titleGenerated": "Название создано из изображения",
"notification.accept": "Принимать",
"notification.accepted": "Публикация принята",
"notification.decline": "Мусор",
"notification.noNotifications": "Нет уведомлений",
"settings.themeBaseGroup": "Отображать",
"settings.themePalettesGroup": "Цветовые палитры",
"settings.themeSepia": "Сепия",
"settings.themeMidnight": "Полночь",
"settings.themeGreen": "Зеленый",
"settings.themeLavender": "Лаванда",
"settings.themeSand": "Песок",
"settings.themeOcean": "Океан",
"settings.themeSunset": "Закат",
"settings.themeBlue": "Синий",
"settings.cardSizeMode": "Размер заметки",
"settings.cardSizeModeDescription": "Выбирайте между банкнотами разного или одинакового размера.",
"settings.selectCardSizeMode": "Выберите режим отображения",
"settings.cardSizeVariable": "Различные размеры (маленький/средний/большой)",
"settings.cardSizeUniform": "Единый размер",
"aiSettings.title": "ИИ",
"notebook.generatingDescription": "Пожалуйста, подождите...",
"admin.email.status": "Статус услуги",
"admin.email.keySet": "настроенный ключ",
"admin.email.activeAuto": "Автоматический режим: повторная отправка будет использоваться в качестве приоритета, SMTP — в качестве резервной копии.",
"admin.email.activeSmtp": "Автоматический режим: будет использоваться SMTP (повторная отправка не настроена).",
"admin.email.noneConfigured": "Служба электронной почты не настроена. Настройте повторную отправку или SMTP.",
"admin.email.activeProvider": "Активный поставщик",
"admin.email.testOk": "тест пройден",
"admin.email.testFail": "неудавшийся тест",
"admin.users.tierUpdateSuccess": "Подписка обновлена ​​до {tier}",
"admin.users.tierUpdateFailed": "Обновление подписки не удалось",
"admin.users.table.subscription": "Подписка",
"admin.tools.brave": "API храброго поиска",
"about.technology.ui": "Интерфейс",
"dataManagement.title": "Данные",
"appearance.selectTheme": "Выберите тему",
"appearance.fontInterDefault": "Интер (по умолчанию)",
"usageMeter.packName": "Пакет исследований ИИ",
"usageMeter.featureSearch": "Исследовать",
"usageMeter.featureTags": "Этикетки",
"usageMeter.featureTitles": "Ценные бумаги",
"usageMeter.unlimited": "Безлимитный",
"usageMeter.remaining": "осталось {count}",
"usageMeter.upgradeTitle": "Станьте профессионалом",
"usageMeter.upgradeDescription": "Вы использовали все кредиты из пакета AI Discovery. Обновите версию до Pro, чтобы получить более высокие лимиты и дополнительные функции.",
"usageMeter.proIncludes": "Про включает в себя:",
"usageMeter.proSearch": "100 смысловых поисков/месяц",
"usageMeter.proTags": "200 автоэтикеток/месяц",
"usageMeter.proTitles": "200 наименований автомобилей/месяц",
"usageMeter.proReformulate": "50 переформулировок/месяц",
"usageMeter.proChat": "100 сообщений в чате в месяц",
"usageMeter.later": "Позже",
"usageMeter.upgradePricing": "Станьте профессионалом",
"usageMeter.addApiKey": "Используйте свой собственный ключ API (BYOK)",
"generalSettings.title": "Генералы",
"agents.searchPlaceholder": "Найдите агента...",
"agents.filterAll": "Все",
"agents.newBadge": "Новый",
"agents.noResults": "Ни один агент не соответствует вашему запросу.",
"agents.form.includeImages": "Включить изображения",
"agents.form.includeImagesHint": "Извлекайте изображения из очищенных страниц и прикрепляйте их к созданной заметке.",
"agents.form.back": "Назад",
"agents.schedule.nextRun": "Следующее исполнение",
"agents.schedule.pending": "Ожидание срабатывания",
"agents.schedule.time": "Час",
"agents.schedule.dayOfWeek": "День недели",
"agents.schedule.dayOfMonth": "День месяца",
"agents.schedule.days.mon": "Понедельник",
"agents.schedule.days.tue": "Вторник",
"agents.schedule.days.wed": "Среда",
"agents.schedule.days.thu": "ЧЕТВЕРГ",
"agents.schedule.days.fri": "Пятница",
"agents.schedule.days.sat": "СУББОТА",
"agents.schedule.days.sun": "Воскресенье",
"agents.toasts.autoRunSuccess": "Агент «{name}» успешно запустился автоматически",
"agents.toasts.autoRunError": "Агенту \"{name}\" не удалось выполнить автозапуск.",
"agents.help.howToUseContent": "1. Нажмите **Новый агент** (или начните с **Шаблона** внизу страницы).\n2. Выберите **тип агента** (Исследователь, Наблюдатель, Надзиратель, Пользовательский).\n3. Присвойте ему **имя** и заполните поля для конкретного типа.\n4. При желании выберите **целевой блокнот** или сохраните результаты.\n5. Выберите **частоту** (Вручную = вы запускаете ее самостоятельно)\n6. Нажмите **Создать**, затем нажмите кнопку **Выполнить** на карточке агента.\n7. После завершения в целевом блокноте появится новая заметка.",
"agents.help.advancedContent": "Нажмите **\"Расширенный режим\"** внизу формы, чтобы получить доступ к дополнительным настройкам.\n\n### Инструкции ИИ\n\nЭто поле позволяет вам **переопределить системное приглашение агента по умолчанию**. Если вы оставите это поле пустым, агент будет использовать автоматическое приглашение, адаптированное к его типу.\n\n**Зачем его использовать?** Вы хотите точно контролировать поведение агента. Например:\n- «Напишите резюме на английском языке, даже если источники на французском языке»\n- «Структурируйте заметку по разделам: Контекст, Ключевые моменты, Личное мнение»\n- «Игнорируйте статьи старше 30 дней и сосредоточьтесь на последних новостях»\n- «Для каждой обнаруженной темы предлагается 3 направления углубленного изучения со ссылками»\n\n> **Примечание.** Ваши инструкции заменяют инструкции по умолчанию, а не дополняют их.\n\n### Макс. итераций\n\nЭто **максимальное количество циклов**, которое может выполнить агент. Один цикл = агент думает, вызывает инструмент, считывает результат, затем принимает решение о следующем действии.\n\n- **35 итераций:** для простых задач (парсинг одной страницы).\n- **10 итераций (по умолчанию):** хороший баланс для большинства случаев.\n **1525 итераций**: для глубокого поиска, когда агент должен изучить несколько направлений.\n\n> **Внимание:** Больше итераций = больше времени и, возможно, больше затрат на API.",
"agents.help.frequencyContent": "| Частота | Поведение\n|---------------|------------\n| **Руководство** | Нажимаете «Выполнить» — автоматического планирования нет.\n| **Каждый час** | Работает каждый час\n| **Ежедневно** | Запускается один раз в день\n| **Еженедельно** | Проходит раз в неделю\n| **Ежемесячно** | Проходит раз в месяц\n\n> **Совет.** Начните с варианта «Вручную», чтобы протестировать своего агента, а затем, когда все будет удовлетворено, переключитесь на автоматическую частоту.",
"agents.help.targetNotebookContent": "Когда агент выполняет свою задачу, он **создает заметку**. **Целевой блокнот** определяет, куда она идет:\n\n- **Входящие** (по умолчанию) — заметка попадает в общие заметки.\n- **Особый блокнот** — выберите блокнот, чтобы результаты были систематизированы.\n\n> **Совет.** Создайте специальный блокнот, например «Отчеты агента», чтобы централизовать весь автоматизированный контент.",
"chat.timeoutWarning": "Ответ занимает больше времени, чем ожидалось...",
"labHeader.rename": "Переименовать",
"richTextEditor.imageUrlPlaceholder": "https://example.com/image.png",
"brainstorm.title": "Мысленные волны",
"brainstorm.subtitle": "Расширьте масштабы потенциала",
"brainstorm.placeholder": "Введите концепцию для изучения...",
"brainstorm.generating": "ИИ собирает семена мысли...",
"brainstorm.newBrainstorm": "Новый мозговой штурм",
"brainstorm.noSessions": "Мозговых штурмов пока нет",
"brainstorm.startOne": "Для начала",
"brainstorm.sessions": "Мозговые штурмы",
"brainstorm.seedLabel": "Исходная идея",
"brainstorm.brainstormThisIdea": "Продумайте эту идею",
"brainstorm.startBrainstorm": "Начать мозговой штурм",
"brainstorm.spatialMode": "Режим исследования космоса",
"brainstorm.wave1": "Волна 1",
"brainstorm.wave2": "Волна 2",
"brainstorm.wave3": "Волна 3",
"brainstorm.export": "Экспорт",
"brainstorm.exporting": "Экспорт...",
"brainstorm.wave": "Волна",
"brainstorm.novelty": "Оригинальность",
"brainstorm.originConnection": "Ссылка на происхождение",
"brainstorm.linkedNotes": "Связанные примечания",
"brainstorm.deepen": "Копать",
"brainstorm.deepening": "Поколение...",
"brainstorm.extract": "Создать заметку",
"brainstorm.converting": "Преобразование...",
"brainstorm.dismiss": "Не актуально",
"brainstorm.noteCreated": "Заметка создана",
"brainstorm.ideas": "идеи",
"brainstorm.cancel": "Отмена",
"brainstorm.delete": "УДАЛИТЬ",
"brainstorm.ideaOrigin": "Происхождение идеи",
"brainstorm.noNoteLink": "Чисто генеративная идея",
"brainstorm.derived_from": "Получено из",
"brainstorm.opposes": "В противовес",
"brainstorm.extends": "Расширяет",
"brainstorm.synthesizes": "Синтезировать",
"brainstorm.transposes": "Транспонировать",
"brainstorm.none_found": "Нет ссылки",
"brainstorm.viewNote": "См. примечание",
"brainstorm.addIdea": "Добавить идею",
"brainstorm.manualIdeaPrompt": "Название вашей идеи:",
"brainstorm.invite": "Приглашать",
"brainstorm.linkCopied": "Ссылка-приглашение скопирована!",
"brainstorm.shareDialogTitle": "Поделитесь мозговым штурмом",
"brainstorm.shareSearchLabel": "Поиск человека",
"brainstorm.shareNameOrEmailPlaceholder": "Имя или адрес электронной почты…",
"brainstorm.shareSubmit": "Делиться",
"brainstorm.shareSubmitting": "Отправка…",
"brainstorm.shareFooterHint": "Человек получит уведомление о принятии или отклонении.",
"brainstorm.sharePublicLink": "Публичная ссылка",
"brainstorm.shareGuestsCanEdit": "Разрешить гостям редактировать",
"brainstorm.feedbackInviteSent": "Приглашение отправлено!",
"brainstorm.feedbackInviteResent": "Приглашение вернулось!",
"brainstorm.feedbackAlreadyShared": "У этого человека уже есть доступ к этому мозговому штурму.",
"brainstorm.feedbackAlreadyPending": "Приглашение для этого человека уже находится на рассмотрении.",
"brainstorm.feedbackGenericError": "Ошибка",
"brainstorm.unnamedPerson": "Безымянный",
"brainstorm.canvasEditTitleReply": "Отвечать",
"brainstorm.canvasEditTitleNewIdea": "Новая идея",
"brainstorm.canvasPlaceholderReply": "Ваш ответ…",
"brainstorm.canvasPlaceholderIdea": "Ваша идея…",
"brainstorm.canvasShortcutSave": "сохранять",
"brainstorm.canvasShortcutCancel": "Отмена",
"brainstorm.canvasChildBranch": "ребенок",
"brainstorm.canvasDoubleClickHint": "Дважды щелкните, чтобы добавить идею",
"brainstorm.ideaDetailConnection": "Связь",
"brainstorm.ideaDetailNovelty": "Оригинальность",
"brainstorm.ideaDetailWave": "Волна",
"brainstorm.waveFlavorAnalogy": "Аналогия",
"brainstorm.liveCollaborationTitle": "Живое сотрудничество",
"brainstorm.liveStatus": "Жить",
"brainstorm.liveYouMarker": "(ТЫ)",
"brainstorm.liveOtherParticipants": "{count} других участников",
"brainstorm.guestReadOnlyNotice": "Вы смотрите этот мозговой штурм как гость. Войдите, чтобы редактировать.",
"brainstorm.impactNotesEnriched": "Дополнительные заметки: {count}",
"brainstorm.impactNotesMarkedDry": "Заметки: {count}, помечены как сухие",
"brainstorm.exportNotebookPrefix": "Блокнот :",
"brainstorm.playbackStep": "Шаг {текущий}/{всего}",
"brainstorm.playbackStepsCount": "{count} шагов",
"brainstorm.playbackReturnToLive": "Вернуться к жизни",
"brainstorm.canvasWaitingHint": "Холст ждёт вашей искры…",
"brainstorm.seedNodeBadge": "СЕМЯ",
"brainstorm.originalSeedDescription": "Первоначальная идея",
"brainstorm.convertedToNoteStatus": "Преобразовано в рейтинг",
"brainstorm.toastExpandSuccess": "Расширение идей!",
"brainstorm.toastExpandFailed": "Неудача расширения",
"brainstorm.toastDismissSuccess": "Идея отклонена",
"brainstorm.toastDismissFailed": "Провал провала",
"brainstorm.toastConvertSuccess": "Идея воплощена в заметку!",
"brainstorm.toastConvertFailed": "Преобразование не удалось",
"brainstorm.toastExportNoteSuccess": "Экспортировано как заметка!",
"brainstorm.toastExportFailed": "Экспорт не удался",
"brainstorm.legendSeed": "Семя",
"brainstorm.legendDisruptions": "Расставания",
"brainstorm.exportFailedMessage": "Экспорт не удался",
"brainstorm.exportDefaultNoteTitle": "Синтез",
"brainstorm.exportOpening": "Открытие…",
"brainstorm.ownerBadge": "Владелец",
"brainstorm.waveBadge": "Волна {волна}",
"byokSettings.title": "Ваши ключи API (BYOK)",
"byokSettings.description": "Подключите ключи собственного поставщика, чтобы обойти квоты Discovery Pack. Ключи шифруются в состоянии покоя.",
"byokSettings.badgeActive": "BYOK активен",
"byokSettings.tierRequired": "BYOK требует подписки Pro или выше.",
"byokSettings.provider": "Поставщик",
"byokSettings.providerPlaceholder": "Выберите поставщика",
"byokSettings.alias": "Формулировка (необязательно)",
"byokSettings.aliasPlaceholder": "бывший. OpenAI про",
"byokSettings.apiKey": "API-ключ",
"byokSettings.save": "Сохранить ключ",
"byokSettings.saved": "Зарегистрированный ключ API",
"byokSettings.deleted": "Ключ API удален.",
"byokSettings.error": "Невозможно зарегистрировать ключ",
"byokSettings.loadError": "Невозможно загрузить ключи",
"byokSettings.loading": "Загрузка...",
"byokSettings.empty": "Ключ API не настроен.",
"byokSettings.confirmDelete": "Удалить этот ключ API навсегда?",
"billing.enterpriseTitle": "Бизнес",
"landing.pricing.perUser": "+ 3,90 евро/пользователь",
"landing.pricing.perUserAnnual": "+ 2,90 евро за пользователя, оплата производится ежегодно",
"ai.featureLocked": "Для этой функции требуется план PRO или выше.",
"ai.quotaExceeded": "Достигнут месячный лимит. Сброс в следующем месяце.",
"profile.tab": "Профиль",
"about.tab": "О",
"appearance.tab": "Появление",
"billing.tab": "Биллинг",
"usageMeter.featureChat": "Сообщения ИИ",
"usageMeter.featureReformulate": "Реформулировки",
"usageMeter.featureBrainstormCreate": "Мозговой штурм творений",
"usageMeter.featureBrainstormExpand": "расширения для мозгового штурма",
"usageMeter.featureBrainstormEnrich": "Мозговой штурм"
}

View File

@@ -0,0 +1,259 @@
{
"about.tab": "关于",
"about.technology.ai": "AI",
"aiSettings.title": "人工智能",
"about.technology.ui": "界面",
"admin.ai.providerCustomOption": "🔧 自定义 OpenAI 兼容",
"admin.ai.providerOllamaOption": "🦙Ollama本地且免费",
"admin.email.activeAuto": "自动模式:将首先使用重新发送,然后使用 SMTP 作为后备。",
"admin.email.activeProvider": "活跃的提供商",
"admin.email.activeSmtp": "自动模式:将使用 SMTP未配置重新发送。",
"admin.email.keySet": "按键已配置",
"admin.email.noneConfigured": "未配置电子邮件服务。设置重新发送或 SMTP。",
"admin.email.status": "服务状态",
"admin.email.testFail": "测试失败",
"admin.email.testOk": "测试通过",
"admin.tools.brave": "勇敢的搜索API",
"admin.tools.searxngUrl": "搜索XNG URL",
"admin.users.table.subscription": "订阅",
"admin.users.tierUpdateFailed": "更新订阅失败",
"admin.users.tierUpdateSuccess": "订阅已更新至 {tier}",
"agents.filterAll": "全部",
"agents.form.back": "后退",
"agents.form.includeImages": "包含图像",
"agents.form.includeImagesHint": "从抓取的页面中提取图像并将其附加到生成的注释中",
"agents.help.advancedContent": "单击表单底部的**“高级模式”**以访问其他设置。\n\n###人工智能指令\n\n此字段允许您**替换代理的默认系统提示**。如果留空,代理将使用适合其类型的自动提示。\n\n**为什么使用它?** 您想要精确控制代理的行为方式。例如:\n- “即使来源是法语,也用英语写摘要”\n- “用以下部分构建笔记:背景、要点、个人观点”\n- “忽略超过 30 天的文章并关注最近的新闻”\n- “对于每个检测到的主题,建议 3 个带有链接的后续线索”\n\n> **注意:** 您的说明会替换默认值,但不会添加到默认值中。\n\n### 最大迭代次数\n\n这是代理可以执行的**最大周期数**。一个周期=智能体思考、调用工具、读取结果,然后决定下一步行动。\n\n- **3-5 次迭代:** 对于简单任务(抓取单个页面)\n- **10 次迭代(默认):** 大多数情况下具有良好的平衡性\n- **15-25 次迭代:** 用于代理需要探索多个线索的深入研究\n\n> **警告:** 更多迭代 = 更多时间和潜在更高的 API 成本。",
"agents.help.frequencyContent": "|频率|行为\n|------------|----------\n| **手册** |您自己点击“运行”——没有自动调度\n| **每小时** |每小时运行一次\n| **每日** |每天运行一次\n| **每周** |每周运行一次\n| **每月** |每月运行一次\n\n> **提示:** 从“手动”开始测试您的代理,然后在对结果满意后切换到自动频率。",
"agents.help.howToUseContent": "1. 单击**“新代理”**(或从页面底部的**模板**开始)\n2. 选择**代理类型**(研究员、监控者、观察者、自定义)\n3. 为其命名**并填写特定于类型的字段\n4. 选择一个**目标笔记本**来保存结果\n5. 选择**频率**(手动=您自己触发)\n6. 单击“**创建**”,然后点击代理卡上的“**运行**”按钮\n7. 完成后,目标笔记本中会出现一条新笔记",
"agents.help.targetNotebookContent": "当代理完成其任务时,它**创建一条注释**。 **目标笔记本**决定该笔记的去向:\n\n- **收件箱**(默认)- 注释将转到您的一般注释\n- **特定笔记本** — 选择一个笔记本来整理代理结果\n\n> **提示:** 创建一个专用笔记本(如“代理报告”),将所有自动化内容保存在一个位置。",
"agents.newBadge": "新的",
"agents.noResults": "没有代理符合您的搜索。",
"agents.schedule.dayOfMonth": "一个月中的哪一天",
"agents.schedule.dayOfWeek": "星期几",
"agents.schedule.days.fri": "星期五",
"agents.schedule.days.mon": "周一",
"agents.schedule.days.sat": "周六",
"agents.schedule.days.sun": "星期日",
"agents.schedule.days.thu": "周四",
"agents.schedule.days.tue": "周二",
"agents.schedule.days.wed": "周三",
"agents.schedule.nextRun": "下次运行",
"agents.schedule.pending": "待定触发",
"agents.schedule.time": "时间",
"agents.searchPlaceholder": "搜寻代理...",
"agents.toasts.autoRunError": "代理“{name}”在自动执行期间失败",
"agents.toasts.autoRunSuccess": "代理“{name}”自动成功执行",
"ai.action.describeImages": "描述图像",
"ai.contextSourceHeading": "上下文源",
"ai.featureLocked": "此功能需要 PRO 计划或更高版本。",
"ai.generateTitleFromImage": "从图像生成标题",
"notes.generateTitleFromImage": "从图像生成标题",
"ai.noImagesError": "本笔记中没有图片",
"ai.overview": "概述",
"ai.quotaExceeded": "已达到每月限额。下个月重置。",
"ai.titleGenerated": "从图像生成的标题",
"ai.tones.academic": "学术的",
"ai.tones.casual": "随意的",
"ai.tones.creative": "有创造力的",
"ai.tones.professional": "专业的",
"appearance.fontInterDefault": "国际米兰(默认)",
"appearance.selectTheme": "选择主题",
"appearance.tab": "外貌",
"billing.businessAnnualPrice": "299 欧元",
"billing.businessPrice": "29.90 欧元",
"billing.proAnnualPrice": "99 欧元",
"billing.proPrice": "9.90 欧元",
"billing.tab": "计费",
"brainstorm.addIdea": "添加想法",
"brainstorm.brainstormThisIdea": "集思广益这个想法",
"brainstorm.cancel": "取消",
"brainstorm.canvasChildBranch": "孩子",
"brainstorm.canvasDoubleClickHint": "双击添加想法",
"brainstorm.canvasEditTitleNewIdea": "新想法",
"brainstorm.canvasEditTitleReply": "回复",
"brainstorm.canvasPlaceholderIdea": "你的想法……",
"brainstorm.canvasPlaceholderReply": "你的回复...",
"brainstorm.canvasShortcutCancel": "取消",
"brainstorm.canvasShortcutSave": "节省",
"brainstorm.canvasWaitingHint": "画布正在等待你的火花......",
"brainstorm.convertedToNoteStatus": "转换为注释",
"brainstorm.converting": "转换...",
"brainstorm.deepen": "深化",
"brainstorm.deepening": "生成...",
"brainstorm.delete": "删除",
"brainstorm.derived_from": "源自",
"brainstorm.dismiss": "不相关",
"notes.dismiss": "不相关",
"brainstorm.export": "出口",
"brainstorm.exportDefaultNoteTitle": "合成",
"brainstorm.exportFailedMessage": "导出失败",
"brainstorm.exportNotebookPrefix": "笔记本:",
"brainstorm.exportOpening": "开幕…",
"brainstorm.exporting": "出口...",
"brainstorm.extends": "延伸",
"brainstorm.extract": "创建注释",
"brainstorm.feedbackAlreadyPending": "此人的邀请已待处理。",
"brainstorm.feedbackAlreadyShared": "此人已经可以访问此头脑风暴。",
"brainstorm.feedbackGenericError": "错误",
"brainstorm.feedbackInviteResent": "邀请已重新发送!",
"brainstorm.feedbackInviteSent": "邀请已发送!",
"brainstorm.generating": "人工智能正在收获思想的种子......",
"brainstorm.guestReadOnlyNotice": "您正在以访客身份观看本次头脑风暴。登录进行编辑。",
"brainstorm.ideaDetailConnection": "联系",
"brainstorm.ideaDetailNovelty": "新奇",
"brainstorm.novelty": "新奇",
"brainstorm.ideaDetailWave": "海浪",
"brainstorm.wave": "海浪",
"brainstorm.ideaOrigin": "想法的由来",
"notes.ideaOrigin": "想法的由来",
"brainstorm.ideas": "想法",
"brainstorm.impactNotesEnriched": "丰富了 {count} 个音符",
"brainstorm.impactNotesMarkedDry": "{count} 个音符标记为“干”",
"brainstorm.invite": "邀请",
"brainstorm.legendDisruptions": "干扰",
"brainstorm.legendSeed": "种子",
"brainstorm.linkCopied": "邀请链接已复制!",
"brainstorm.linkedNotes": "链接笔记",
"brainstorm.liveCollaborationTitle": "实时协作",
"brainstorm.liveOtherParticipants": "其他 {count} 名参与者",
"brainstorm.liveStatus": "居住",
"brainstorm.liveYouMarker": "(你)",
"brainstorm.manualIdeaPrompt": "你的想法的标题:",
"brainstorm.newBrainstorm": "新的头脑风暴",
"brainstorm.noNoteLink": "纯粹的生成想法",
"notes.noNoteLink": "纯粹的生成想法",
"brainstorm.noSessions": "还没有集思广益",
"brainstorm.none_found": "没有注释链接",
"brainstorm.noteCreated": "注释已创建",
"brainstorm.opposes": "反对与",
"brainstorm.originConnection": "原点连接",
"brainstorm.originalSeedDescription": "原始种子想法",
"brainstorm.ownerBadge": "所有者",
"brainstorm.placeholder": "输入一个概念来展开...",
"brainstorm.playbackReturnToLive": "返回直播",
"brainstorm.playbackStep": "步骤 {当前}/{总计}",
"brainstorm.playbackStepsCount": "{count} 步",
"brainstorm.seedLabel": "种子想法",
"brainstorm.seedNodeBadge": "种子",
"brainstorm.sessions": "头脑风暴",
"brainstorm.shareDialogTitle": "分享头脑风暴",
"brainstorm.shareFooterHint": "他们将收到接受或拒绝的通知。",
"brainstorm.shareGuestsCanEdit": "允许访客编辑",
"brainstorm.shareNameOrEmailPlaceholder": "姓名或电子邮件...",
"brainstorm.sharePublicLink": "公共链接",
"brainstorm.shareSearchLabel": "找人",
"brainstorm.shareSubmit": "分享",
"brainstorm.shareSubmitting": "正在发送...",
"brainstorm.spatialMode": "空间探索模式",
"brainstorm.startBrainstorm": "开始头脑风暴",
"brainstorm.startOne": "开始一个",
"brainstorm.subtitle": "展现潜力的维度",
"brainstorm.synthesizes": "合成",
"brainstorm.title": "思想的波浪",
"brainstorm.toastConvertFailed": "转换失败",
"brainstorm.toastConvertSuccess": "想法转化为笔记!",
"brainstorm.toastDismissFailed": "驳回失败",
"brainstorm.toastDismissSuccess": "想法被驳回",
"brainstorm.toastExpandFailed": "扩展失败",
"brainstorm.toastExpandSuccess": "想法扩展了!",
"brainstorm.toastExportFailed": "导出失败",
"brainstorm.toastExportNoteSuccess": "导出为注释!",
"brainstorm.transposes": "转置",
"brainstorm.unnamedPerson": "无名",
"brainstorm.viewNote": "查看备注",
"brainstorm.wave1": "第一波",
"brainstorm.wave2": "第2波",
"brainstorm.wave3": "第 3 波",
"brainstorm.waveBadge": "波{波}",
"brainstorm.waveFlavorAnalogy": "类比",
"byokSettings.alias": "标签(可选)",
"byokSettings.aliasPlaceholder": "例如工作开放人工智能",
"byokSettings.apiKey": "API密钥",
"byokSettings.badgeActive": "BYOK 活跃",
"byokSettings.confirmDelete": "永久删除此 API 密钥吗?",
"byokSettings.deleted": "API 密钥已删除",
"byokSettings.description": "连接您自己的 LLM 提供商密钥以绕过 Discovery Pack 配额。密钥在静态时被加密。",
"byokSettings.empty": "尚未配置 API 密钥。",
"byokSettings.error": "无法保存 API 密钥",
"byokSettings.loadError": "无法加载 API 密钥",
"byokSettings.loading": "正在加载密钥...",
"byokSettings.provider": "提供者",
"byokSettings.providerPlaceholder": "选择提供商",
"byokSettings.save": "保存密钥",
"byokSettings.saved": "API 密钥已保存",
"byokSettings.tierRequired": "BYOK 需要 Pro 计划或更高版本。升级以连接您的 API 密钥。",
"byokSettings.title": "您的 API 密钥 (BYOK)",
"chat.timeoutWarning": "响应时间比预期要长...",
"dataManagement.title": "数据",
"generalSettings.title": "一般的",
"labHeader.rename": "重命名",
"landing.pricing.perUser": "+ 3.90 欧元/用户",
"landing.pricing.perUserAnnual": "+ 2.90 欧元/用户,按年计费",
"notebook.generatingDescription": "请稍等...",
"notes.archiveFailed": "存档失败",
"notes.archived": "注释已存档",
"notes.confirmDeleteTitle": "删除注释",
"notes.content": "内容",
"notes.conversionFailed": "转换失败,停留在 Markdown 状态",
"notes.convertedToRichText": "转换为富文本",
"notes.createFailed": "创建笔记失败",
"notes.deleteFailed": "删除笔记失败",
"notes.deleted": "注释已删除",
"notes.dismissed": "最近的注释已被驳回",
"notes.generalNotes": "一般说明",
"notes.historyDisabledTitle": "版本历史",
"notes.historyEnabledDesc": "现在将记录此注释的版本。",
"notes.historyEnabledTitle": "历史记录已启用!",
"notes.leftShare": "分享已删除",
"notes.restore": "恢复",
"notes.sort": "种类",
"notes.suggestTitle": "人工智能标题",
"notes.titleGenerated": "标题已生成",
"notes.updateFailed": "更新笔记失败",
"notification.accept": "接受",
"notification.accepted": "分享已接受",
"notification.decline": "衰退",
"notification.noNotifications": "没有新通知",
"profile.tab": "轮廓",
"richTextEditor.imageUrlPlaceholder": "https://example.com/image.png",
"settings.cardSizeMode": "备注尺寸",
"settings.cardSizeModeDescription": "选择可变尺寸或统一尺寸",
"settings.cardSizeUniform": "尺寸统一",
"settings.cardSizeVariable": "多种尺寸(小/中/大)",
"settings.selectCardSizeMode": "选择显示模式",
"settings.themeBaseGroup": "根据",
"settings.themeBlue": "蓝色的",
"settings.themeGreen": "绿色的",
"settings.themeLavender": "薰衣草",
"settings.themeMidnight": "午夜",
"settings.themeOcean": "海洋",
"settings.themePalettesGroup": "调色板",
"settings.themeSand": "沙",
"settings.themeSepia": "棕褐色",
"settings.themeSunset": "日落",
"sidebar.clearFilter": "移除过滤器",
"sidebar.sharedNotebookBadge": "· 共享",
"sidebar.sortAlpha": "A → Z",
"usageMeter.addApiKey": "使用您自己的 API 密钥 (BYOK)",
"usageMeter.featureBrainstormCreate": "集思广益创作",
"usageMeter.featureBrainstormEnrich": "头脑风暴丰富内容",
"usageMeter.featureBrainstormExpand": "集思广益扩展",
"usageMeter.featureChat": "人工智能消息",
"usageMeter.featureReformulate": "重新配方",
"usageMeter.featureSearch": "搜索",
"usageMeter.featureTags": "标签",
"usageMeter.featureTitles": "标题",
"usageMeter.later": "之后",
"usageMeter.packName": "人工智能探索包",
"usageMeter.proChat": "100 条聊天消息/月",
"usageMeter.proIncludes": "专业版包括:",
"usageMeter.proReformulate": "50 次重新配制/月",
"usageMeter.proSearch": "每月 100 次语义搜索",
"usageMeter.proTags": "200 个自动标签/月",
"usageMeter.proTitles": "每月 200 个自动标题",
"usageMeter.remaining": "还剩 {count} 个",
"usageMeter.unlimited": "无限",
"usageMeter.upgradeDescription": "您已用完所有 AI Discovery Pack 积分。升级到专业版以获得更高的限制和附加功能。",
"usageMeter.upgradePricing": "升级到专业版",
"usageMeter.upgradeTitle": "升级到专业版"
}