import type { TranslationDictionary } from '@/types/i18n.types';

export const hi: TranslationDictionary = {
  common: {
    save: 'सहेजें',
    cancel: 'रद्द करें',
    delete: 'हटाएं',
    edit: 'संपादित करें',
    create: 'बनाएं',
    search: 'खोजें',
    filter: 'फ़िल्टर',
    loading: 'लोड हो रहा है...',
    noResults: 'कोई परिणाम नहीं मिला',
    confirm: 'पुष्टि करें',
    back: 'वापस',
    next: 'अगला',
    previous: 'पिछला',
    close: 'बंद करें',
    retry: 'पुनः प्रयास',
    error: 'त्रुटि',
    success: 'सफलता',
    warning: 'चेतावनी',
    info: 'सूचना',
    healthy: 'स्वस्थ',
    degraded: 'कमज़ोर',
    unhealthy: 'अस्वस्थ',
    up: 'चालू',
    down: 'बंद',
    responseTime: 'प्रतिक्रिया समय',
    unknown: 'अज्ञात',
    operational: 'चालू',
    notAvailable: 'लागू नहीं',
    yes: 'हां',
    no: 'नहीं',
    never: 'कभी नहीं',
    accessDenied: 'आपके पास इस पृष्ठ तक पहुंचने की अनुमति नहीं है।',
    brandName: 'Claw',
    brandVersion: 'Claw v{version}',
    select: 'चुनें',
    download: 'डाउनलोड',
    noDataAvailable: 'कोई डेटा उपलब्ध नहीं',
    showingPage: 'पृष्ठ {page} / {total} दिखाया जा रहा है',
  },
  auth: {
    login: 'लॉगिन',
    logout: 'लॉगआउट',
    email: 'ईमेल',
    password: 'पासवर्ड',
    loginTitle: 'Claw में साइन इन करें',
    loginSubtitle: 'जारी रखने के लिए अपने क्रेडेंशियल दर्ज करें',
    loginButton: 'साइन इन करें',
    logoutButton: 'साइन आउट',
    sessionExpired: 'आपका सत्र समाप्त हो गया है। कृपया पुनः लॉगिन करें।',
    invalidCredentials: 'अमान्य ईमेल या पासवर्ड',
    welcomeTitle: 'Claw में आपका स्वागत है',
    welcomeSubtitle: 'AI ऑर्केस्ट्रेशन प्लेटफ़ॉर्म',
    passwordPlaceholder: 'अपना पासवर्ड दर्ज करें',
    signingIn: 'साइन इन हो रहा है...',
    loginFailed: 'लॉगिन विफल। कृपया पुनः प्रयास करें।',
    tagline: 'Claw - लोकल-फर्स्ट AI ऑर्केस्ट्रेशन',
    authenticating: 'प्रमाणित किया जा रहा है...',
    emailPlaceholder: 'you@example.com',
  },
  nav: {
    dashboard: 'डैशबोर्ड',
    chat: 'चैट',
    compareModels: 'मॉडल तुलना',
    consensusMode: 'सहमति मोड',
    escalationChain: 'एस्केलेशन चेन',
    repairLab: 'रिपेयर लैब',
    decomposeLab: 'कार्य विघटनकर्ता',
    bestOfNLab: 'बेस्ट-ऑफ़-N जनरेशन',
    verifierLab: 'वेरिफायर',
    pipelineLab: 'पाइपलाइन लैब',
    costEnsemble: 'लागत-सचेत एन्सेम्बल',
    rolePackLab: 'रोल पैक',
    connectors: 'कनेक्टर',
    models: 'मॉडल',
    modelCatalog: 'मॉडल कैटलॉग',
    modelLocalFrontier: 'फ्रंटियर मॉडल',
    localModels: 'लोकल मॉडल',
    routing: 'रूटिंग',
    replayLab: 'रीप्ले लैब',
    recoveryLab: 'रिकवरी इंजन',
    adaptiveInsights: 'अनुकूली अंतर्दृष्टि',
    memory: 'मेमोरी',
    context: 'कॉन्टेक्स्ट पैक',
    files: 'फ़ाइलें',
    observability: 'ऑब्ज़र्वेबिलिटी',
    audits: 'ऑडिट लॉग',
    logs: 'लॉग',
    admin: 'एडमिन',
    settings: 'सेटिंग्स',
    workspace: 'वर्कस्पेस',
    workspaceActions: 'क्रियाएं',
    workspaceApprovals: 'अनुमोदन',
    workspaceSyncHealth: 'सिंक स्वास्थ्य',
    agent: 'एजेंट',
    agentTerminal: 'टर्मिनल',
    agentRepos: 'रिपॉजिटरी',
    agentCapabilities: 'क्षमताएँ',
    agentActivity: 'गतिविधि',
    agentRecipes: 'रेसिपी',
    agentMarketplace: 'बाज़ार',
    agentActivityMemory: 'गतिविधि स्मृति',
    discovery: 'मॉडल खोज',
    workspaceProviders: 'प्रोवाइडर',
    workspaceAppConfigs: 'ऐप कॉन्फ़िगरेशन',
    workspaceGmail: 'Gmail',
    workspaceJira: 'Jira',
    workspaceSourceControl: 'स्रोत नियंत्रण',
    workspaceSlack: 'Slack',
    workspaceDocs: 'दस्तावेज़',
    workspaceConfluence: 'Confluence',
    workspaceFigma: 'Figma',
    workspaceWorkflows: 'वर्कफ़्लो',
    researchProviders: 'रिसर्च प्रोवाइडर',
    researchRuns: 'रिसर्च रन',
    research: 'रिसर्च',
    workspaceInbox: 'इनबॉक्स',
    workspaceSemanticSearch: 'सेमांटिक खोज',
    workspaceDigest: 'डाइजेस्ट',
    workspaceAutomationPreferences: 'स्वचालन प्राथमिकताएँ',
    workspaceEmailSignatures: 'ईमेल हस्ताक्षर',
    workspaceEmailTemplates: 'ईमेल टेम्पलेट',
    workspaceImplHandoffs: 'कोडिंग हैंडऑफ़',
    adminAiActionPolicies: 'AI एक्शन नीतियाँ',
    adminSuggestionRules: 'सुझाव नियम',
    adminWebhookDeliveries: 'वेबहुक डिलीवरी',
  },
  chat: {
    newThread: 'नई चैट',
    threads: 'थ्रेड्स',
    searchThreads: 'थ्रेड्स खोजें...',
    noThreads: 'अभी तक कोई थ्रेड नहीं',
    noThreadsDesc: 'शुरू करने के लिए नई बातचीत प्रारंभ करें',
    sendMessage: 'संदेश भेजें',
    typeMessage: 'संदेश लिखें...',
    deleteThread: 'थ्रेड हटाएं',
    deleteThreadConfirm: 'क्या आप वाकई इस थ्रेड को हटाना चाहते हैं?',
    threadCreated: 'थ्रेड बनाया गया',
    threadCreateFailed: 'थ्रेड बनाने में विफल',
    threadDeleted: 'थ्रेड हटाया गया',
    threadDeleteFailed: 'थ्रेड हटाने में विफल',
    threadUpdateFailed: 'थ्रेड अद्यतन करने में विफल',
    messageSendFailed: 'संदेश भेजने में विफल',
    feedbackFailed: 'फ़ीडबैक सहेजने में विफल',
    regenerateFailed: 'संदेश पुन: बनाने में विफल',
    aiThinking: 'AI सोच रहा है...',
    fallbackRetrying: 'फ़ॉलबैक के साथ पुनः प्रयास...',
    providerFailed: 'विफल',
    tryingProvider: 'प्रयासरत',
    allProvidersFailed: 'सभी प्रोवाइडर प्रतिक्रिया उत्पन्न करने में विफल',
    imageGeneration: 'छवि जनरेशन',
    generatedImage: 'जनरेट की गई छवि',
    downloadImage: 'छवि डाउनलोड करें',
    fileGeneration: 'फ़ाइल जनरेशन',
    generatingFile: 'फ़ाइल बना रहा है...',
    fileGenerationFailed: 'फ़ाइल जनरेशन विफल',
    downloadFile: 'फ़ाइल डाउनलोड करें',
    convertingFile: 'फ़ाइल रूपांतरित हो रही है',
    providerModel: 'प्रोवाइडर / मॉडल',
    pinThread: 'थ्रेड पिन करें',
    unpinThread: 'थ्रेड अनपिन करें',
    archiveThread: 'थ्रेड संग्रहित करें',
    unarchiveThread: 'थ्रेड असंग्रहित करें',
    threadPinned: 'थ्रेड पिन किया गया',
    threadUnpinned: 'थ्रेड अनपिन किया गया',
    threadArchived: 'थ्रेड संग्रहित',
    threadUnarchived: 'थ्रेड असंग्रहित',
    pinFailed: 'पिन स्थिति अद्यतन करने में विफल',
    archiveFailed: 'संग्रह स्थिति अद्यतन करने में विफल',
    showArchived: 'संग्रहित दिखाएं',
    hideArchived: 'संग्रहित छुपाएं',
    provenance: 'संदेश स्रोत',
    provenanceProvider: 'प्रोवाइडर',
    provenanceModel: 'मॉडल',
    provenanceLatency: 'विलंबता',
    provenanceInputTokens: 'इनपुट टोकन',
    provenanceOutputTokens: 'आउटपुट टोकन',
    provenanceEstimatedCost: 'अनुमानित लागत',
    provenanceRoutingMode: 'रूटिंग मोड',
    provenanceFallbackUsed: 'फ़ॉलबैक उपयोग',
    provenanceYes: 'हां',
    provenanceNo: 'नहीं',
    globalSearch: 'थ्रेड्स खोजें',
    globalSearchPlaceholder: 'सभी थ्रेड्स खोजें...',
    globalSearchNoResults: 'कोई थ्रेड नहीं मिला',
    systemPrompt: 'सिस्टम प्रॉम्प्ट',
    systemPromptPlaceholder: 'AI के लिए निर्देश...',
    temperature: 'तापमान',
    temperatureDescription: 'रैंडमनेस नियंत्रित करता है। कम = अधिक केंद्रित, अधिक = अधिक रचनात्मक।',
    maxTokens: 'अधिकतम टोकन',
    maxTokensDescription: 'AI प्रतिक्रिया की अधिकतम लंबाई।',
    threadSettings: 'थ्रेड सेटिंग्स',
    preferredModel: 'डिफ़ॉल्ट AI मॉडल',
    preferredModelDescription:
      'इस थ्रेड के लिए डिफ़ॉल्ट मॉडल। प्रति संदेश ओवरराइड किया जा सकता है।',
    settingsSaved: 'थ्रेड सेटिंग्स सहेजी गईं',
    helpful: 'सहायक',
    notHelpful: 'सहायक नहीं',
    feedbackSaved: 'फ़ीडबैक सहेजा गया',
    attachFiles: 'फ़ाइलें संलग्न करें',
    noFiles: 'अभी तक कोई फ़ाइल अपलोड नहीं',
    selectedFiles: '{count} फ़ाइल(ें) संलग्न',
    contextPacks: 'कॉन्टेक्स्ट पैक',
    contextPacksDescription: 'इस थ्रेड में शामिल करने के लिए कॉन्टेक्स्ट पैक चुनें।',
    noContextPacks: 'अभी तक कोई कॉन्टेक्स्ट पैक नहीं बनाया',
    reRouted: 'पुन: रूट किया गया',
    reRoutedFrom: '{provider}/{model} से पुन: रूट किया गया',
    weakResponse: 'कमज़ोर प्रतिक्रिया का पता चला',
    qualityScore: 'गुणवत्ता: {score}%',
    judgeReferee: 'जज और रेफरी',
    judgeRefereeDescription:
      'उच्च सटीकता के लिए AI-संचालित आलोचना और प्रतिक्रिया सत्यापन सक्षम करें।',
    judgeVerified: 'सत्यापित',
    judgeRevised: 'संशोधित',
    judgeEscalated: 'एस्केलेट किया गया',
    judgeCriticFeedback: 'आलोचक फ़ीडबैक',
    judgeReasoning: 'जज तर्क',
    judgeEvaluating: 'प्रतिक्रिया सत्यापित हो रही है...',
    judgeModelLabel: 'जज मॉडल',
    judgeModelAuto: 'ऑटो (qwen3:1.7b)',
    judgeModelDescription: 'अंतिम निर्णय के लिए उपयोग किए जाने वाले लोकल मॉडल को ओवरराइड करें',
    judgeOpenReview: 'जज प्रतिक्रिया देखें',
    judgeReviewTitle: 'जज समीक्षा',
    judgeReviewDescription:
      'मूल उत्तर, जज निर्णय और जज द्वारा उत्पन्न प्रतिक्रिया का निरीक्षण करें।',
    judgeDecisionLabel: 'निर्णय',
    judgeConfidenceLabel: 'विश्वास',
    judgeSummary: 'जज सारांश',
    judgeResponse: 'जज प्रतिक्रिया',
    judgeOriginalAnswer: 'मूल उत्तर',
    judgeRevisedAnswer: 'संशोधित उत्तर',
    judgeEscalatedAnswer: 'एस्केलेट किया गया उत्तर',
    judgeExecutionModel: 'निष्पादन मॉडल',
    judgeJudgeModel: 'जज मॉडल',
    judgeCriticModel: 'आलोचक मॉडल',
    judgeCriticScore: 'आलोचक स्कोर',
    judgeJudgeLatency: 'जज विलंबता',
    judgeTotalLatency: 'कुल समीक्षा विलंबता',
    judgeRecommendedChanges: 'अनुशंसित परिवर्तन',
    judgeNoCriticFeedback: 'इस समीक्षा के लिए कोई आलोचक फ़ीडबैक दर्ज नहीं किया गया।',
    judgeResponseTypeSummary: 'सारांश',
    judgeResponseTypeRevisedAnswer: 'संशोधित उत्तर',
    judgeResponseTypeEscalatedAnswer: 'एस्केलेट किया गया उत्तर',
    judgeResponseTypeVerificationNote: 'सत्यापन नोट',
    qualityThreshold: 'गुणवत्ता सीमा',
    qualityThresholdDescription:
      'पुन: रूट करने से पहले न्यूनतम गुणवत्ता स्कोर (0 = सभी स्वीकार, 1 = बहुत सख्त)',
    maxReRouteAttempts: 'अधिकतम पुन: रूट प्रयास',
    maxReRouteAttemptsDescription: 'प्रति संदेश अधिकतम पुन: रूट प्रयास (0-5)',
    reRouteReasonShort: 'बहुत छोटा',
    reRouteReasonRefusal: 'अस्वीकृति का पता चला',
    reRouteReasonRepetition: 'अत्यधिक पुनरावृत्ति',
    reRouteReasonEcho: 'प्रॉम्प्ट की प्रतिध्वनि',
    reRouteReasonLowWords: 'बहुत कम शब्द',
    backToThreads: 'थ्रेड्स पर वापस',
    loadingThread: 'थ्रेड लोड हो रहा है...',
    selectOrStartTitle: 'थ्रेड चुनें या नई चैट शुरू करें',
    selectOrStartDesc:
      'साइडबार से मौजूदा बातचीत चुनें या अपने कॉन्फ़िगर किए गए AI मॉडल से इंटरैक्ट करने के लिए नया बनाएं।',
    untitled: 'बिना शीर्षक',
    attachedFile: 'संलग्न फ़ाइल',
    beginningOfConversation: 'बातचीत की शुरुआत',
    composerPlaceholder: 'अपना संदेश लिखें...',
    currentAiProgress: 'वर्तमान AI प्रगति',
    fileGenerationCancelled: 'फ़ाइल निर्माण रद्द किया गया',
    fileGenerationFailedRetry: 'फ़ाइल निर्माण विफल रहा। पुनः प्रयास करें?',
    generationCancelled: 'निर्माण रद्द किया गया',
    imageGenerationFailedRetry: 'छवि निर्माण विफल रहा। पुनः प्रयास करें?',
    judge: 'निर्णायक',
    live: 'लाइव',
    loadingImage: 'छवि लोड हो रही है...',
    loadingMessages: 'संदेश लोड हो रहे हैं...',
    loadingMoreThreads: 'और थ्रेड लोड हो रहे हैं...',
    loadingOlderMessages: 'पुराने संदेश लोड हो रहे हैं...',
    loadingThreads: 'थ्रेड लोड हो रहे हैं...',
    manyMemories: '{count} स्मृतियाँ',
    modelThinking: 'मॉडल सोच रहा है...',
    noMatchingThreads: 'कोई मेल खाने वाला थ्रेड नहीं',
    noMessagesYet: 'अभी तक कोई संदेश नहीं',
    noVisibleAnswer: 'कोई दृश्य उत्तर नहीं',
    oneMemory: '1 स्मृति',
    open: 'खोलें',
    preparingDownload: 'डाउनलोड तैयार किया जा रहा है...',
    regenerate: 'पुनः उत्पन्न करें',
    searching: 'खोज रहे हैं...',
    threadActions: 'थ्रेड क्रियाएँ',
    toggleProvenance: 'उद्गम टॉगल करें',
    tryAnotherModel: 'दूसरा मॉडल आज़माएँ',
    tryingFallback: 'फ़ॉलबैक आज़मा रहे हैं...',
    verifyingWith: '{model} के साथ सत्यापित किया जा रहा है',
    visibleAiProgress: 'दृश्य AI प्रगति',
    useMemoryLabel: 'इस वार्तालाप में मेमोरी उपयोग करें',
    useMemoryDescription: 'बंद होने पर, प्रॉम्प्ट में कोई मेमोरी इंजेक्ट नहीं की जाती।',
    useContextLabel: 'इस वार्तालाप में संदर्भ पैक उपयोग करें',
    useContextDescription: 'बंद होने पर, संलग्न पैक अनदेखा कर दिए जाते हैं।',
  },
  receipt: {
    openLabel: 'दिखाएँ कि AI ने क्या उपयोग किया',
    contextUsed: 'संदर्भ का उपयोग किया गया',
    dialogTitle: 'यह उत्तर क्यों',
    dialogDescription: 'मेमोरी और पैक आइटम जिन्होंने इस उत्तर को प्रभावित किया।',
    loading: 'रसीद लोड हो रही है...',
    notAvailable: 'इस संदेश के लिए कोई रसीद उपलब्ध नहीं है।',
    memoriesCount: '{value} मेमोरी',
    packItemsCount: '{value} पैक आइटम',
    tokenBudget: 'टोकन: {used} / {total}',
    memoriesHeading: 'मेमोरी',
    packItemsHeading: 'पैक आइटम',
    warningsHeading: 'चेतावनियाँ',
    scoreLabel: 'स्कोर {value}',
    pinnedBadge: 'पिन किया गया',
    redactedPlaceholder: '(संशोधित — सामग्री छिपी है)',
  },
  preview: {
    openLabel: 'संदर्भ पूर्वावलोकन',
    dialogTitle: 'AI क्या देखेगा',
    dialogDescription: 'वर्तमान मसौदे के लिए मेमोरी और संदर्भ पैक पुनर्प्राप्ति का ड्राई-रन।',
    loading: 'पूर्वावलोकन बनाया जा रहा है...',
    failed: 'पूर्वावलोकन विफल; अगला भेजना फिर भी काम करेगा।',
    empty: 'इस मसौदे के लिए कोई संदर्भ इंजेक्ट नहीं किया जाएगा।',
    memoryCount: '{value} मेमोरी',
    packCount: '{value} पैक आइटम',
    tokenBudget: 'टोकन: {used} / {total}',
    memoriesHeading: 'मेमोरी',
    packItemsHeading: 'पैक आइटम',
    redactedPlaceholder: '(संशोधित — सामग्री छिपी है)',
  },
  connectors: {
    title: 'कनेक्टर',
    description: 'अपने AI प्रोवाइडर कनेक्शन प्रबंधित करें',
    createConnector: 'कनेक्टर बनाएं',
    editConnector: 'कनेक्टर संपादित करें',
    deleteConnector: 'कनेक्टर हटाएं',
    testConnection: 'कनेक्शन टेस्ट करें',
    testingConnection: 'परीक्षण हो रहा है...',
    syncModels: 'मॉडल सिंक करें',
    name: 'नाम',
    nameHelp: 'अपने डैशबोर्ड में इस कनेक्टर की पहचान के लिए एक नाम।',
    provider: 'प्रोवाइडर',
    providerHelp: 'वह AI प्रोवाइडर जिससे यह कनेक्टर संवाद करेगा।',
    authType: 'प्रमाणीकरण प्रकार',
    authTypeHelp:
      'प्रोवाइडर के साथ प्रमाणीकरण कैसे करें। अधिकांश प्रोवाइडर API Key का उपयोग करते हैं।',
    apiKey: 'API Key',
    apiKeyHelp: 'प्रोवाइडर से आपकी गुप्त API Key। इसे विश्रामावस्था में एन्क्रिप्ट किया जाएगा।',
    baseUrl: 'बेस URL',
    baseUrlHelp:
      'डिफ़ॉल्ट API एंडपॉइंट को ओवरराइड करें। प्रोवाइडर डिफ़ॉल्ट उपयोग करने के लिए खाली छोड़ दें।',
    region: 'क्षेत्र',
    regionHelp: 'वह AWS क्षेत्र जहां आपका Bedrock एंडपॉइंट तैनात है।',
    status: 'स्थिति',
    healthy: 'स्वस्थ',
    degraded: 'कमज़ोर',
    error: 'त्रुटि',
    noConnectors: 'कोई कनेक्टर कॉन्फ़िगर नहीं',
    noConnectorsDesc: 'AI प्रोवाइडर का उपयोग शुरू करने के लिए कनेक्टर जोड़ें',
    connectorCreated: 'कनेक्टर बनाया गया',
    connectorCreateFailed: 'कनेक्टर बनाने में विफल',
    connectorUpdated: 'कनेक्टर अद्यतन',
    connectorUpdateFailed: 'कनेक्टर अद्यतन करने में विफल',
    connectorDeleted: 'कनेक्टर हटाया गया',
    connectorDeleteFailed: 'कनेक्टर हटाने में विफल',
    testSuccessful: 'कनेक्शन टेस्ट सफल',
    testFailed: 'कनेक्शन टेस्ट विफल',
    modelsSynced: 'मॉडल सफलतापूर्वक सिंक किए गए',
    syncFailed: 'मॉडल सिंक करने में विफल',
    testBeforeCreate: 'पहले कनेक्टर सहेजें, फिर कनेक्टर सूची से टेस्ट करें।',
    loadingConnectors: 'कनेक्टर लोड हो रहे हैं...',
    loadingConnector: 'कनेक्टर लोड हो रहा है...',
    addConnector: 'कनेक्टर जोड़ें',
    loadFailed: 'कनेक्टर लोड करने में विफल।',
    connectorDetail: 'कनेक्टर विवरण',
    connectorNotFound: 'कनेक्टर नहीं मिला',
    backToConnectors: 'कनेक्टर पर वापस',
    syncing: 'सिंक हो रहा है...',
    enabled: 'सक्षम',
    disabled: 'अक्षम',
    configuration: 'कॉन्फ़िगरेशन',
    healthHistory: 'स्वास्थ्य इतिहास',
    healthHistoryDesc: 'स्वास्थ्य इतिहास ट्रैकिंग भविष्य के अपडेट में उपलब्ध होगी।',
    models: 'मॉडल',
    oneModel: '{count} मॉडल',
    manyModels: '{count} मॉडल',
    updatedAt: 'अद्यतन {date}',
    addConnectorDesc: 'एक नया AI प्रदाता कनेक्टर जोड़ें',
    apiKeyPlaceholder: 'API Key दर्ज करें',
    apiKeyPlaceholderEdit: 'मौजूदा बनाए रखने के लिए खाली छोड़ें',
    baseUrlOptional: 'Base URL (वैकल्पिक)',
    baseUrlPlaceholder: 'https://api.example.com',
    defaultLabel: 'डिफ़ॉल्ट',
    editConnectorDesc: 'कनेक्टर कॉन्फ़िगरेशन अपडेट करें',
    namePlaceholder: 'उदा., OpenAI Production',
    regionPlaceholder: 'उदा., us-east-1',
    saveFirstThenTest: 'पहले कनेक्टर सहेजें, फिर परीक्षण करें',
    selectProvider: 'एक प्रदाता चुनें',
  },
  memory: {
    title: 'मेमोरी',
    description: 'AI मेमोरी रिकॉर्ड प्रबंधित करें',
    createMemory: 'मेमोरी बनाएं',
    editMemory: 'मेमोरी संपादित करें',
    deleteMemory: 'मेमोरी हटाएं',
    type: 'प्रकार',
    content: 'सामग्री',
    enabled: 'सक्षम',
    disabled: 'अक्षम',
    noMemories: 'कोई मेमोरी रिकॉर्ड नहीं',
    noMemoriesDesc: 'AI कॉन्टेक्स्ट देने के लिए मेमोरी रिकॉर्ड बनाएं',
    memoryCreated: 'मेमोरी बनाई गई',
    memoryCreateFailed: 'मेमोरी बनाने में विफल',
    memoryUpdated: 'मेमोरी अद्यतन',
    memoryUpdateFailed: 'मेमोरी अद्यतन करने में विफल',
    memoryDeleted: 'मेमोरी हटाई गई',
    memoryDeleteFailed: 'मेमोरी हटाने में विफल',
    memoryToggled: 'मेमोरी टॉगल की गई',
    memoryToggleFailed: 'मेमोरी टॉगल करने में विफल',
    loadFailed: 'मेमोरी रिकॉर्ड लोड करने में विफल।',
    loadingMemories: 'मेमोरी रिकॉर्ड लोड हो रहे हैं...',
    addMemory: 'मेमोरी जोड़ें',
    contentPlaceholder: 'स्मृति सामग्री दर्ज करें...',
    createMemoryDesc: 'एक नई स्मृति प्रविष्टि बनाएँ',
    editMemoryDesc: 'स्मृति विवरण अपडेट करें',
    source: 'स्रोत',
    typeSummary: 'सारांश',
    typeFact: 'तथ्य',
    typePreference: 'वरीयता',
    typeInstruction: 'निर्देश',
    filterAllTypes: 'सभी प्रकार',
    tabSaved: 'सहेजे गए',
    tabSuggestions: 'सुझाव',
    tabAudit: 'ऑडिट',
    searchPlaceholder: 'मेमोरी खोजें...',
    filterAllScopes: 'सभी स्कोप',
    filterAllSources: 'सभी स्रोत',
    filterAllSensitivities: 'सभी संवेदनशीलताएँ',
    scopeUser: 'व्यक्तिगत',
    scopeThread: 'यह वार्तालाप',
    scopeWorkspace: 'वर्कस्पेस',
    scopeProject: 'परियोजना',
    sourceUserManual: 'मैन्युअल रूप से बनाया गया',
    sourceAiExtracted: 'चैट से निकाला गया',
    sourceAutomation: 'ऑटोमेशन द्वारा सीखा गया',
    sourceImported: 'आयातित',
    sensitivityNormal: 'सामान्य',
    sensitivitySensitive: 'संवेदनशील',
    sensitivityRedacted: 'संशोधित',
    loadingSuggestions: 'सुझाव लोड हो रहे हैं...',
    loadingAudit: 'ऑडिट लोड हो रहा है...',
    noSuggestions: 'अभी कोई सुझाव नहीं',
    noAudit: 'अभी तक कोई ऑडिट प्रविष्टि नहीं',
    auditNoMemoryId: '(मेमोरी हटा दी गई)',
    approveSuggestion: 'स्वीकार करें',
    rejectSuggestion: 'अस्वीकार करें',
    rejectAndSuppress: 'अस्वीकार करें और समान दबाएँ',
    suggestionConfidence: 'विश्वास: {value}%',
    suggestionReason: 'कारण: {value}',
  },
  files: {
    title: 'फ़ाइलें',
    description: 'AI कॉन्टेक्स्ट के लिए फ़ाइलें अपलोड और प्रबंधित करें',
    uploadFile: 'फ़ाइल अपलोड करें',
    deleteFile: 'फ़ाइल हटाएं',
    dragDrop: 'फ़ाइलें यहां खींचें और छोड़ें, या ब्राउज़ करने के लिए क्लिक करें',
    maxSize: 'अधिकतम फ़ाइल आकार: 50MB',
    noFiles: 'कोई फ़ाइल अपलोड नहीं',
    noFilesDesc: 'AI कॉन्टेक्स्ट के रूप में उपयोग करने के लिए फ़ाइलें अपलोड करें',
    fileUploaded: 'फ़ाइल अपलोड हुई',
    fileUploadFailed: 'फ़ाइल अपलोड करने में विफल',
    fileDeleted: 'फ़ाइल हटाई गई',
    fileDeleteFailed: 'फ़ाइल हटाने में विफल',
    uploadFailed: 'फ़ाइल अपलोड करने में विफल',
    loadFailed: 'फ़ाइलें लोड करने में विफल।',
    loadingFiles: 'फ़ाइलें लोड हो रही हैं...',
    allTypesAccepted: 'सभी फ़ाइल प्रकार स्वीकार किए जाते हैं',
    chunkIndex: 'खंड #{index}',
    chunksTitle: 'फ़ाइल खंड',
    dropFileHere: 'फ़ाइल यहाँ छोड़ें',
    dropOrClick: 'फ़ाइल यहाँ छोड़ें या ब्राउज़ करने के लिए क्लिक करें',
    fileFallback: 'फ़ाइल',
    noChunks: 'कोई खंड उपलब्ध नहीं',
    uploading: 'अपलोड हो रहा है...',
    uploadNewFile: 'नई फ़ाइल अपलोड करें',
    viewChunks: 'खंड देखें',
    statusPending: 'लंबित',
    statusProcessing: 'प्रसंस्करण',
    statusCompleted: 'पूर्ण',
    statusFailed: 'विफल',
  },
  context: {
    title: 'कॉन्टेक्स्ट पैक',
    description: 'AI वार्तालाप के लिए कॉन्टेक्स्ट व्यवस्थित करें',
    createPack: 'कॉन्टेक्स्ट पैक बनाएं',
    addItem: 'आइटम जोड़ें',
    name: 'नाम',
    scope: 'स्कोप',
    noContextPacks: 'कोई कॉन्टेक्स्ट पैक नहीं',
    noContextPacksDesc: 'AI कॉन्टेक्स्ट व्यवस्थित करने के लिए कॉन्टेक्स्ट पैक बनाएं',
    packCreated: 'कॉन्टेक्स्ट पैक बनाया गया',
    packCreateFailed: 'कॉन्टेक्स्ट पैक बनाने में विफल',
    packUpdated: 'कॉन्टेक्स्ट पैक अद्यतन',
    packUpdateFailed: 'कॉन्टेक्स्ट पैक अद्यतन करने में विफल',
    packDeleted: 'कॉन्टेक्स्ट पैक हटाया गया',
    packDeleteFailed: 'कॉन्टेक्स्ट पैक हटाने में विफल',
    itemAdded: 'कॉन्टेक्स्ट पैक में आइटम जोड़ा गया',
    itemAddFailed: 'आइटम जोड़ने में विफल',
    itemUpdated: 'कॉन्टेक्स्ट पैक आइटम अद्यतन',
    itemUpdateFailed: 'आइटम अद्यतन करने में विफल',
    itemRemoved: 'कॉन्टेक्स्ट पैक से आइटम हटाया गया',
    itemRemoveFailed: 'आइटम हटाने में विफल',
    loadFailed: 'कॉन्टेक्स्ट पैक लोड करने में विफल।',
    contextPack: 'कॉन्टेक्स्ट पैक',
    packDetailsDesc: 'पैक विवरण और आइटम',
    backToPacks: 'पैक पर वापस',
    deletePack: 'पैक हटाएं',
    deleting: 'हट रहा है...',
    loadingPackDetails: 'पैक विवरण लोड हो रहा है...',
    noItems: 'इस पैक में कोई आइटम नहीं',
    noItemsDesc: 'इस कॉन्टेक्स्ट पैक में टेक्स्ट नोट, निर्देश, या फ़ाइल संदर्भ जोड़ें।',
    loadingContextPacks: 'कॉन्टेक्स्ट पैक लोड हो रहे हैं...',
    addItemDesc: 'इस कॉन्टेक्स्ट पैक में टेक्स्ट नोट, निर्देश, या फ़ाइल संदर्भ जोड़ें।',
    adding: 'जोड़ा जा रहा है...',
    content: 'सामग्री',
    contentPlaceholder: 'सामग्री दर्ज करें...',
    fileId: 'फ़ाइल ID',
    fileIdPlaceholder: 'फ़ाइल ID दर्ज करें',
    itemType: 'प्रकार',
    selectType: 'एक प्रकार चुनें',
    createPackDesc: 'एक नया कॉन्टेक्स्ट पैक बनाएँ',
    creating: 'बनाया जा रहा है...',
    descriptionOptional: 'विवरण (वैकल्पिक)',
    descriptionPlaceholder: 'वर्णन करें कि यह पैक किसके लिए है',
    namePlaceholder: 'उदा., Project Alpha संदर्भ',
    scopeOptional: 'स्कोप (वैकल्पिक)',
    scopePlaceholder: 'उदा., global, project, user',
    typeNote: 'नोट',
    typeInstruction: 'निर्देश',
    typeFileReference: 'फ़ाइल संदर्भ',
  },
  routing: {
    title: 'रूटिंग नीतियां',
    description: 'AI मॉडल रूटिंग कॉन्फ़िगर करें',
    createPolicy: 'नीति बनाएं',
    editPolicy: 'नीति संपादित करें',
    deletePolicy: 'नीति हटाएं',
    name: 'नाम',
    mode: 'रूटिंग मोड',
    priority: 'प्राथमिकता',
    active: 'सक्रिय',
    noPolicies: 'कोई रूटिंग नीति नहीं',
    noPoliciesDesc: 'मॉडल चयन को नियंत्रित करने के लिए रूटिंग नीतियां बनाएं',
    policyCreated: 'नीति बनाई गई',
    policyCreateFailed: 'नीति बनाने में विफल',
    policyUpdated: 'नीति अद्यतन',
    policyUpdateFailed: 'नीति अद्यतन करने में विफल',
    policyDeleted: 'नीति हटाई गई',
    policyDeleteFailed: 'नीति हटाने में विफल',
    status: 'स्थिति',
    inactive: 'निष्क्रिय',
    activate: 'सक्रिय करें',
    deactivate: 'निष्क्रिय करें',
    loadFailed: 'रूटिंग कॉन्फ़िगरेशन लोड करने में विफल।',
    defaultRoutingMode: 'डिफ़ॉल्ट रूटिंग मोड',
    defaultRoutingModeDesc: 'चुनें कि लोकल राउटर मॉडल में अनुरोध कैसे वितरित करे',
    defaultMode: 'डिफ़ॉल्ट मोड',
    fallbackSettings: 'फ़ॉलबैक सेटिंग्स',
    fallbackSettingsDesc: 'रीट्राई और टाइमआउट व्यवहार कॉन्फ़िगर करें',
    maxRetries: 'अधिकतम रीट्राई',
    timeoutMs: 'टाइमआउट (ms)',
    loadingPolicies: 'नीतियां लोड हो रही हैं...',
    noPoliciesConfigured: 'कोई रूटिंग नीति कॉन्फ़िगर नहीं।',
    complexityLabel: 'जटिलता',
    complexitySimple: 'सरल',
    complexityMedium: 'मध्यम',
    complexityComplex: 'जटिल',
    complexityExpert: 'विशेषज्ञ',
    routingExplanation: 'रूटिंग व्याख्या',
    explanationSummary: 'निर्णय सारांश',
    explanationFactors: 'निर्णय कारक',
    routingDurationMs: 'रूटिंग अवधि',
    modalityLabel: 'पता लगाई गई मोडलिटी',
    modalityText: 'टेक्स्ट',
    modalityCode: 'कोड',
    modalityImageInput: 'छवि समझ',
    modalityImageOutput: 'छवि जनरेशन',
    modalityAudioInput: 'ऑडियो / स्पीच',
    modalityVideoInput: 'वीडियो विश्लेषण',
    modalityPdfInput: 'दस्तावेज़ / PDF',
    modalityWebSearch: 'वेब खोज',
    modalityToolCalling: 'टूल कॉलिंग',
    modalityStructuredOutput: 'संरचित आउटपुट',
    modalityOcr: 'OCR / टेक्स्ट निष्कर्षण',
    modalityReasoning: 'गहन तर्क',
    namePlaceholder: 'मेरी रूटिंग नीति',
    selectModePlaceholder: 'रूटिंग मोड चुनें',
    editPolicyDesc: 'रूटिंग नीति कॉन्फ़िगरेशन अद्यतन करें।',
    createPolicyDesc: 'अनुरोध वितरण नियंत्रित करने के लिए एक नई रूटिंग नीति बनाएं।',
    weightsJsonLabel: 'स्कोर भार (JSON, वैकल्पिक)',
    weightsJsonPlaceholder: '{"capability": 0.2, "domain": 0.1, ...}',
    weightsJsonHelp:
      'वैकल्पिक। मोड-वार डिफ़ॉल्ट भार को ओवरराइड करता है। सभी 14 आयाम शामिल होने चाहिए और कुल 1.0 के बराबर होना चाहिए।',
    weightsJsonError: {
      invalidJson: 'भार का JSON मान्य JSON नहीं है।',
      notAnObject: 'भार एक JSON ऑब्जेक्ट होना चाहिए।',
      missingDimension: 'भार JSON में हर आयाम संख्या के रूप में होना चाहिए।',
      sumNotOne: 'भार का योग 1.0 (±0.001) होना चाहिए।',
    },
    models: {
      title: 'मॉडल रजिस्ट्री',
      description:
        'रूटर को ज्ञात सभी मॉडल ब्राउज़ करें। लागत, जीवनचक्र या रूटिंग फ़्लैग ओवरराइड करें।',
      updateSucceeded: 'मॉडल अद्यतन किया गया।',
      updateFailed: 'मॉडल अद्यतन करने में विफल।',
      overrideCleared: 'ओवरराइड हटाया गया।',
      overrideClearFailed: 'ओवरराइड हटाने में विफल।',
      softDeleteSucceeded: 'मॉडल को हटाया गया के रूप में चिह्नित किया गया।',
      softDeleteFailed: 'मॉडल हटाने में विफल।',
      columnProvider: 'प्रदाता',
      columnModelKey: 'मॉडल',
      columnLifecycle: 'जीवनचक्र',
      columnQuality: 'गुणवत्ता',
      columnCost: 'लागत',
      columnLatency: 'लेटेंसी',
      filterByProvider: 'प्रदाता द्वारा फ़िल्टर करें',
      filterByLifecycle: 'जीवनचक्र द्वारा फ़िल्टर करें',
    },
  },
  models: {
    title: 'मॉडल',
    description: 'सभी उपलब्ध AI मॉडल देखें',
    localTitle: 'लोकल मॉडल',
    localDescription: 'स्थानीय रूप से स्थापित AI मॉडल प्रबंधित करें',
    pullModel: 'मॉडल पुल करें',
    assignRole: 'भूमिका असाइन करें',
    noModels: 'कोई मॉडल उपलब्ध नहीं',
    noModelsDesc: 'प्रोवाइडर कनेक्ट करें या लोकल मॉडल पुल करें',
    modelPullStarted: 'मॉडल पुल शुरू हुआ',
    modelPullFailed: 'मॉडल पुल करने में विफल',
    roleAssigned: 'भूमिका असाइन की गई',
    roleAssignFailed: 'भूमिका असाइन करने में विफल',
    loadFailed: 'मॉडल लोड करने में विफल।',
    loadingModels: 'मॉडल लोड हो रहे हैं...',
    allProviders: 'सभी प्रोवाइडर',
    allLifecycle: 'सभी जीवनचक्र',
    noModelsMatch: 'कोई मॉडल वर्तमान फ़िल्टर से मेल नहीं खाता।',
    localLoadFailed: 'लोकल मॉडल लोड करने में विफल।',
    runtimeHealth: 'रनटाइम स्वास्थ्य',
    runtimeHealthDesc: 'लोकल मॉडल रनटाइम की वर्तमान स्थिति',
    pullModelDesc: 'रजिस्ट्री से नया मॉडल डाउनलोड करें',
    modelName: 'मॉडल नाम',
    runtime: 'रनटाइम',
    pulling: 'पुल हो रहा है...',
    pull: 'पुल',
    installedModels: 'स्थापित मॉडल',
    loadingLocalModels: 'लोकल मॉडल लोड हो रहे हैं...',
    noLocalModels: 'कोई लोकल मॉडल स्थापित नहीं',
    noLocalModelsDesc:
      'लोकल इन्फ़रेंस के साथ शुरू करने के लिए ऊपर दिए गए फ़ॉर्म का उपयोग करके मॉडल पुल करें।',
    colModel: 'मॉडल',
    colRuntime: 'रनटाइम',
    colSize: 'आकार',
    colFamily: 'परिवार',
    colParameters: 'पैरामीटर',
    colRoles: 'भूमिकाएं',
    noneRole: 'कोई नहीं',
    modelNamePlaceholder: 'llama3:8b',
    capabilities: 'क्षमताएँ',
    context: 'संदर्भ',
    lifecycle: 'जीवनचक्र',
    noSyncedModels: 'कोई समन्वयित मॉडल नहीं',
    streaming: 'स्ट्रीमिंग',
    tools: 'उपकरण',
    vision: 'विज़न',
  },
  observability: {
    title: 'ऑब्ज़र्वेबिलिटी',
    description: 'AI उपयोग और प्रदर्शन की निगरानी करें',
    totalRequests: 'कुल अनुरोध',
    totalCost: 'कुल लागत',
    avgLatency: 'औसत विलंबता',
    activeModels: 'सक्रिय मॉडल',
    clientLogs: 'क्लाइंट लॉग',
    serverLogs: 'सर्वर लॉग',
    auditTrail: 'ऑडिट ट्रेल',
    loadingData: 'ऑब्ज़र्वेबिलिटी डेटा लोड हो रहा है...',
    failedToLoad: 'डेटा लोड करने में विफल',
    failedToLoadDesc: 'ऑब्ज़र्वेबिलिटी डेटा प्राप्त नहीं कर सका। कृपया बाद में पुनः प्रयास करें।',
    noDataYet: 'अभी तक कोई ऑब्ज़र्वेबिलिटी डेटा नहीं',
    noDataDesc:
      'अनुरोध ऑर्केस्ट्रेशन लेयर से प्रवाहित होने के बाद मेट्रिक्स और प्रदर्शन डेटा यहां भरेगा।',
    fullDescription: 'सिस्टम स्वास्थ्य, अनुरोध विलंबता, और मॉडल प्रदर्शन की निगरानी करें',
    totalRequestsLabel: 'कुल अनुरोध',
    acrossProviders: 'सभी प्रोवाइडर में',
    estimatedCost: 'अनुमानित लागत',
    estimatedCostLabel: 'अनुमानित लागत',
    recentFailures: 'हाल की विफलताएं',
    highCriticalSeverity: 'उच्च + क्रिटिकल गंभीरता की घटनाएं',
    providerUsage: 'प्रोवाइडर उपयोग',
    modelUsage: 'मॉडल उपयोग',
    latencyBreakdown: 'विलंबता विवरण',
    costSummary: 'लागत सारांश',
    avg: 'औसत',
    p50Median: 'P50 (माध्यिका)',
    p95: 'P95',
    totalTokens: 'कुल टोकन',
    requests: 'अनुरोध',
    tokens: 'टोकन',
    noData: 'कोई डेटा नहीं',
  },
  audits: {
    title: 'ऑडिट लॉग',
    description: 'सिस्टम गतिविधि लॉग देखें',
    action: 'क्रिया',
    severity: 'गंभीरता',
    entity: 'एंटिटी',
    timestamp: 'टाइमस्टैम्प',
    noAudits: 'कोई ऑडिट लॉग नहीं',
    noAuditsDesc: 'प्लेटफ़ॉर्म का उपयोग करते ही गतिविधि यहां दिखाई देगी',
    actor: 'अभिनेता',
    details: 'विवरण',
    loadingAudits: 'ऑडिट लॉग लोड हो रहे हैं...',
    loadFailed: 'ऑडिट लोड करने में विफल',
    loadFailedDesc: 'ऑडिट लॉग प्राप्त नहीं कर सका। कृपया बाद में पुनः प्रयास करें।',
    noMatchingAudits: 'आपके फ़िल्टर से कोई ऑडिट लॉग मेल नहीं खाता।',
    allActions: 'सभी क्रियाएं',
    allSeverities: 'सभी गंभीरताएं',
    searchPlaceholder: 'खोजें...',
    ipAddress: 'IP पता',
  },
  admin: {
    title: 'एडमिन',
    description: 'उपयोगकर्ता और सिस्टम सेटिंग्स प्रबंधित करें',
    users: 'उपयोगकर्ता',
    createUser: 'उपयोगकर्ता बनाएं',
    changeRole: 'भूमिका बदलें',
    deactivate: 'निष्क्रिय करें',
    reactivate: 'पुन: सक्रिय करें',
    noUsers: 'कोई उपयोगकर्ता नहीं मिला',
    checkingServices: 'सेवाओं की जांच हो रही है...',
    healthUnreachable: 'स्वास्थ्य सेवा तक पहुंचने में असमर्थ।',
    loadingUsers: 'उपयोगकर्ता लोड हो रहे हैं...',
    loadUsersFailed: 'उपयोगकर्ता लोड करने में विफल',
    loadUsersFailedDesc: 'उपयोगकर्ता सूची प्राप्त नहीं कर सका। कृपया बाद में पुनः प्रयास करें।',
    userRoleUpdated: 'उपयोगकर्ता भूमिका अद्यतन',
    userRoleUpdateFailed: 'उपयोगकर्ता भूमिका अद्यतन करने में विफल',
    userDeactivated: 'उपयोगकर्ता निष्क्रिय',
    userDeactivateFailed: 'उपयोगकर्ता निष्क्रिय करने में विफल',
    userStats: 'उपयोगकर्ता आँकड़े',
    userStatsDesc: 'प्लेटफ़ॉर्म उपयोगकर्ताओं का अवलोकन',
    totalUsers: 'कुल उपयोगकर्ता',
    activeUsers: 'सक्रिय उपयोगकर्ता',
    platformHealth: 'प्लेटफ़ॉर्म स्वास्थ्य',
    systemStatusOverview: 'सिस्टम स्थिति अवलोकन',
    userManagement: 'उपयोगकर्ता प्रबंधन',
    colUsername: 'उपयोगकर्ता नाम',
    colEmail: 'ईमेल',
    colRole: 'भूमिका',
    colStatus: 'स्थिति',
    colJoined: 'शामिल हुआ',
    colActions: 'क्रियाएं',
    roleAdmin: 'एडमिन',
    roleOperator: 'ऑपरेटर',
    roleViewer: 'दर्शक',
  },
  settings: {
    title: 'सेटिंग्स',
    description: 'अपने खाते की सेटिंग्स प्रबंधित करें',
    profile: 'प्रोफ़ाइल',
    profileDescription: 'आपकी व्यक्तिगत जानकारी। ये फ़ील्ड केवल पठनीय हैं।',
    username: 'उपयोगकर्ता नाम',
    email: 'ईमेल',
    emailReadOnly: 'अपना ईमेल बदलने के लिए एडमिन से संपर्क करें।',
    role: 'भूमिका',
    selectLanguage: 'भाषा चुनें',
    preferences: 'प्राथमिकताएं',
    language: 'भाषा',
    languageDescription: 'अपनी पसंदीदा प्रदर्शन भाषा चुनें',
    appearance: 'दिखावट',
    appearanceDescription: 'चुनें कि एप्लिकेशन कैसा दिखे',
    system: 'सिस्टम',
    light: 'हल्का',
    dark: 'गहरा',
    theme: 'थीम',
    changePassword: 'पासवर्ड बदलें',
    currentPassword: 'वर्तमान पासवर्ड',
    newPassword: 'नया पासवर्ड',
    confirmPassword: 'पासवर्ड की पुष्टि करें',
    passwordChanged: 'पासवर्ड सफलतापूर्वक बदला गया',
    passwordChangeFailed: 'पासवर्ड बदलने में विफल',
    passwordRequirements:
      'पासवर्ड कम से कम 8 अक्षर, अपरकेस, लोअरकेस और एक संख्या के साथ होना चाहिए',
    preferencesUpdated: 'प्राथमिकताएं सफलतापूर्वक अद्यतन',
    preferencesUpdateFailed: 'प्राथमिकताएं अद्यतन करने में विफल',
    devices: {
      title: 'डिवाइस',
      description: 'अपने खाते के साथ जोड़े गए डेस्कटॉप एजेंट प्रबंधित करें।',
      emptyTitle: 'कोई डिवाइस जोड़ा नहीं',
      emptyBody: 'डिवाइस जोड़ने के लिए अपनी मशीन पर `claw-agent login` चलाएं।',
      revoke: 'रद्द करें',
      rename: 'नाम बदलें',
      scopesHeading: 'स्कोप',
      revokedBanner: 'यह डिवाइस रद्द कर दिया गया है',
    },
    langEnglish: 'अंग्रेज़ी',
    langArabic: 'अरबी',
    langFrench: 'फ़्रेंच',
    langItalian: 'इतालवी',
    langGerman: 'जर्मन',
    langSpanish: 'स्पेनिश',
    langRussian: 'रूसी',
    langPortuguese: 'पुर्तगाली',
    langHindi: 'हिन्दी',
    appearanceSystem: 'सिस्टम',
    appearanceLight: 'लाइट',
    appearanceDark: 'डार्क',
  },
  dashboard: {
    title: 'डैशबोर्ड',
    description: 'आपके AI प्लेटफ़ॉर्म का अवलोकन',
    quickActions: 'त्वरित क्रियाएं',
    recentActivity: 'हाल की गतिविधि',
    totalThreads: 'कुल थ्रेड',
    activeConnectors: 'सक्रिय कनेक्टर',
    localModels: 'लोकल मॉडल',
    systemHealth: 'सिस्टम स्वास्थ्य',
    startNewChat: 'नई चैट शुरू करें',
    addConnector: 'कनेक्टर जोड़ें',
    configureRouting: 'रूटिंग कॉन्फ़िगर करें',
    serviceStatus: 'सेवा स्थिति',
    checkingHealth: 'सेवा स्वास्थ्य की जांच हो रही है...',
    healthUnreachable:
      'स्वास्थ्य एग्रीगेटर तक नहीं पहुंच सका। कृपया सत्यापित करें कि स्वास्थ्य सेवा चल रही है।',
    servicesOperational: '{up} में से {total} सेवाएं चालू',
    responseTimeMs: '{ms}ms',
    unreachable: 'अप्राप्य',
    newChatLabel: 'नई चैट',
    newChatDesc: 'नई बातचीत शुरू करें',
    manageConnectorsLabel: 'कनेक्टर प्रबंधित करें',
    manageConnectorsDesc: 'अपने AI प्रदाता कनेक्टर कॉन्फ़िगर करें',
    routingSettingsLabel: 'रूटिंग सेटिंग्स',
    routingSettingsDesc: 'अनुरोधों की रूटिंग कॉन्फ़िगर करें',
  },
  catalog: {
    title: 'मॉडल कैटलॉग',
    description: 'AI मॉडल ब्राउज़ और डाउनलोड करें',
    searchPlaceholder: 'मॉडल खोजें...',
    allCategories: 'सभी',
    coding: 'कोडिंग',
    fileGeneration: 'फ़ाइल जनरेशन',
    imageGeneration: 'छवि जनरेशन',
    routing: 'रूटिंग',
    reasoning: 'तर्क',
    thinking: 'थिंकिंग और सर्च',
    download: 'डाउनलोड',
    downloading: 'डाउनलोड हो रहा है...',
    installed: 'स्थापित',
    failed: 'विफल',
    unavailable: 'अनुपलब्ध',
    cloudOnly: 'केवल क्लाउड',
    cancel: 'रद्द करें',
    recommended: 'अनुशंसित',
    noModels: 'कोई मॉडल नहीं मिला',
    activeDownloads: 'सक्रिय डाउनलोड',
    parameterCount: 'पैरामीटर',
    modelSize: 'आकार',
    capabilities: 'क्षमताएं',
    models: 'मॉडल',
    scrollForMore: 'अधिक के लिए स्क्रॉल करें',
    allLoaded: 'सभी मॉडल लोड हो गए',
    searchBrowserHelpers: 'सर्च/ब्राउज़र सहायक',
    searchBrowserScoreLabel: 'सहायक',
    searchBrowserScoreTooltip:
      'सर्च और ब्राउज़र सहायक वर्कफ़्लो के लिए उपयुक्तता (मेटाडेटा-संचालित स्कोर, 0.00–1.00)',
    cancelDownloadFailed: 'डाउनलोड रद्द करने में विफल',
    downloadCancelled: 'डाउनलोड रद्द किया गया',
    downloadStarted: 'डाउनलोड शुरू हुआ',
    downloadStartFailed: 'डाउनलोड शुरू करने में विफल',
    modelRemoved: 'मॉडल हटा दिया गया',
    modelRemoveFailed: 'मॉडल हटाने में विफल',
  },
  replay: {
    title: 'रूटिंग रीप्ले लैब',
    description:
      'वर्तमान राउटर के विरुद्ध ऐतिहासिक रूटिंग निर्णय पुन: चलाएं और परिणामों की तुलना करें',
    runReplay: 'रीप्ले चलाएं',
    running: 'रीप्ले चल रहा है...',
    totalReplayed: 'कुल पुन: चलाया',
    changed: 'बदला गया',
    unchanged: 'अपरिवर्तित',
    oldRoute: 'मूल मार्ग',
    newRoute: 'नया मार्ग',
    improvement: 'सुधार',
    noResults: 'अभी तक कोई रीप्ले परिणाम नहीं',
    confidenceOld: 'औसत विश्वास (पुराना)',
    confidenceNew: 'औसत विश्वास (नया)',
    replayComplete: 'रूटिंग रीप्ले पूर्ण',
    replayFailed: 'रूटिंग रीप्ले चलाने में विफल',
    saveRun: 'रन सहेजें',
    runName: 'रन का नाम',
    runNamePlaceholder: 'उदा. baseline-2026-04',
    threadIdFilter: 'थ्रेड ID',
    threadIdPlaceholder: 'थ्रेड द्वारा फ़िल्टर करें...',
    startDate: 'प्रारंभ तिथि',
    endDate: 'समाप्ति तिथि',
    suspicious: 'संदिग्ध',
    avgImprovement: 'औसत सुधार',
    needsReview: 'समीक्षा आवश्यक',
    noSuspiciousCases: 'कोई संदिग्ध मामला नहीं मिला',
    noSuspiciousCasesDesc: 'सभी रीप्ले परिणाम साफ दिखते हैं',
    confirmedRegression: 'पुष्टि रिग्रेशन',
    markConfirmedRegression: 'रिग्रेशन के रूप में चिह्नित करें',
    caseReviewed: 'मामला सफलतापूर्वक समीक्षित',
    caseReviewFailed: 'मामले की समीक्षा करने में विफल',
    copyBundle: 'एक्सपोर्ट बंडल कॉपी करें',
    bundleCopied: 'एक्सपोर्ट बंडल क्लिपबोर्ड पर कॉपी हुआ',
    exportFailed: 'बंडल एक्सपोर्ट करने में विफल',
    runsHistory: 'रन इतिहास',
    noRunsHistory: 'अभी तक कोई सहेजा गया रन नहीं',
    noRunsHistoryDesc: 'इतिहास ट्रैक करने के लिए रीप्ले चलाते समय "रन सहेजें" सक्षम करें',
    runResults: 'परिणाम',
    correct_improvement: 'सुधार',
    bad_regression: 'रिग्रेशन',
    cost_win: 'लागत जीत',
    quality_win: 'गुणवत्ता जीत',
    uncertain: 'अनिश्चित',
    badRegression: 'रिग्रेशन',
    noOriginalContent: 'कोई मूल प्रॉम्प्ट संग्रहीत नहीं',
    promoteCase: 'टेस्ट में प्रमोट करें',
    promoted: 'मामला टेस्ट फ़िक्स्चर में प्रमोट किया गया',
    promoteFailed: 'मामला प्रमोट करने में विफल',
    compareRuns: 'रन तुलना करें',
    compareRunsTitle: 'रन तुलना',
    compareRunsDesc: 'रूटिंग निर्णयों की तुलना के लिए दो रन चुनें',
    selectRunToCompare: 'तुलना करने के लिए एक रन चुनें',
    runA: 'रन A',
    runB: 'रन B',
    improved: 'बेहतर',
    regressed: 'रिग्रेस हुआ',
    suspiciousReasons: {
      empty_message_content: 'मूल प्रॉम्प्ट गायब',
      large_confidence_drop: 'बड़ी विश्वास गिरावट',
      large_cost_increase: 'बड़ी लागत वृद्धि',
      route_changed_with_negative_improvement: 'नकारात्मक प्रभाव के साथ मार्ग बदला',
    },
  },
  compare: {
    title: 'मॉडल तुलना',
    description: '2-5 मॉडल चुनें और प्रतिक्रियाओं की तुलना के लिए प्रॉम्प्ट दर्ज करें',
    selectModels: 'मॉडल चुनें',
    minModels: 'कम से कम {min} मॉडल चुनें',
    maxModels: 'अधिकतम {max} मॉडल की अनुमति',
    sendPrompt: 'मॉडल तुलना करें',
    comparing: 'तुलना हो रही है...',
    compareFailed: 'मॉडल तुलना करने में विफल',
    results: 'परिणाम',
    fastest: 'सबसे तेज़',
    completed: 'पूर्ण',
    failed: 'विफल',
    latency: 'विलंबता',
    tokens: 'टोकन',
    noResults: 'अभी तक कोई तुलना परिणाम नहीं',
    modelCount: '{count} मॉडल',
    expand: 'विस्तार करें',
    bestResponse: 'सर्वश्रेष्ठ प्रतिक्रिया',
    viewInThread: 'थ्रेड में देखें',
    totalTokens: 'कुल टोकन',
    avgLatencyLabel: 'औसत विलंबता',
    completedCount: '{count} पूर्ण',
    failedCount: '{count} विफल',
    timeoutCount: '{count} का समय समाप्त',
    modelsCompared: 'तुलना किए गए मॉडल',
    summaryTitle: 'तुलना सारांश',
    showMore: 'अधिक दिखाएं',
    showLess: 'कम दिखाएं',
    timeout: 'समय समाप्त',
    noContent: 'कोई सामग्री उपलब्ध नहीं',
    noJudge: 'कोई जज नहीं',
    judgeAwaiting: 'जज का इंतजार',
    judgeSkipped: 'जज छोड़ा',
    judgeFailed: 'जज विफल',
    judgeUnavailable: 'जज अनुपलब्ध',
    judgeVerified: 'सत्यापित',
    judgeRevised: 'संशोधित',
    judgeEscalated: 'एस्केलेट किया',
    modelsProcessing: 'मॉडल प्रसंस्करण कर रहे हैं...',
    processingMessage: 'आपके संदेश को संसाधित किया जा रहा है...',
  },
  consensus: {
    title: 'सहमति मोड',
    description: '2-5 मॉडल चुनें और AI को सहमति उत्तर संश्लेषित करने दें',
    selectModels: 'मॉडल चुनें',
    minModels: 'कम से कम {min} मॉडल चुनें',
    maxModels: 'अधिकतम {max} मॉडल की अनुमति',
    sendPrompt: 'सहमति चलाएं',
    running: 'सहमति चल रही है...',
    sendFailed: 'सहमति शुरू करने में विफल',
    synthesizing: 'प्रतिक्रियाएं संश्लेषित हो रही हैं...',
    synthesisReady: 'संश्लेषण तैयार',
    synthesisTitle: 'सहमति संश्लेषण',
    agreementScore: 'सहमति स्कोर',
    confidenceLevel: 'विश्वास',
    agreements: 'सहमतियां',
    disagreements: 'असहमतियां',
    contradictions: 'विरोधाभास',
    synthesisRationale: 'तर्काधार',
    modelBreakdown: 'मॉडल विवरण',
    completed: 'पूर्ण',
    failed: 'विफल',
    timeout: 'समय समाप्त',
    contentLength: 'सामग्री की लंबाई',
    noResults: 'अभी तक कोई सहमति परिणाम नहीं',
    viewInThread: 'थ्रेड में देखें',
    high: 'उच्च',
    medium: 'मध्यम',
    low: 'निम्न',
    modelsSelected: '{count} मॉडल चुने गए',
    synthesisRationaleLabel: 'संश्लेषण तर्काधार',
  },
  escalation: {
    title: 'एस्केलेशन चेन',
    description:
      'मॉडल चेन परिभाषित करें — सबसे सस्ता पहले, सबसे शक्तिशाली अंत में। गुणवत्ता कम होने पर AI स्वचालित रूप से एस्केलेट करता है',
    chainBuilder: 'अपनी चेन बनाएं',
    addModel: 'मॉडल जोड़ें',
    removeModel: 'हटाएं',
    moveUp: 'ऊपर ले जाएं',
    moveDown: 'नीचे ले जाएं',
    minSteps: 'कम से कम {min} मॉडल जोड़ें',
    maxSteps: 'चेन में अधिकतम {max} मॉडल',
    sendPrompt: 'चेन चलाएं',
    running: 'चेन चल रही है...',
    sendFailed: 'एस्केलेशन चेन शुरू करने में विफल',
    synthesizing: 'एस्केलेशन चल रहा है...',
    synthesisReady: 'परिणाम तैयार',
    resultTitle: 'एस्केलेशन परिणाम',
    stepUsed: 'उपयोग किया गया चरण',
    totalSteps: 'कुल चरण',
    escalated: 'एस्केलेट किया गया',
    notEscalated: 'कोई एस्केलेशन आवश्यक नहीं',
    status: 'स्थिति',
    statusSingleStep: 'पहले चरण में हल',
    statusResolved: 'एस्केलेशन के बाद हल',
    statusExhausted: 'सभी चरण समाप्त',
    qualityScore: 'गुणवत्ता स्कोर',
    latency: 'विलंबता',
    step: 'चरण',
    passed: 'पास',
    failed: 'विफल',
    finalModel: 'अंतिम मॉडल',
    noResults: 'अभी तक कोई एस्केलेशन परिणाम नहीं',
    viewInThread: 'थ्रेड में देखें',
    stepsTimeline: 'चरण टाइमलाइन',
    finalAnswer: 'अंतिम उत्तर',
  },
  repair: {
    title: 'उत्तर रिपेयर लैब',
    description: 'पुनः आरंभ किए बिना विकृत, उथले, अधूरे, या भ्रामक उत्तरों की मरम्मत करें।',
    contentLabel: 'मरम्मत के लिए उत्तर',
    contentPlaceholder: 'वह उत्तर पेस्ट करें जिसकी आप मरम्मत करना चाहते हैं...',
    repairTypes: 'रिपेयर प्रकार',
    schemaLabel: 'स्कीमा',
    schemaDesc: 'विकृत JSON, गलत संरचना, या डेटा फ़ॉर्मेट समस्याओं को ठीक करें।',
    formatLabel: 'फ़ॉर्मेट',
    formatDesc: 'मार्कडाउन फ़ॉर्मेटिंग, हेडर, सूचियां, कोड ब्लॉक, और समग्र संरचना ठीक करें।',
    completenessLabel: 'पूर्णता',
    completenessDesc: 'उथले या अधूरे अनुभागों का विस्तार करें, गायब मुख्य बिंदु जोड़ें।',
    factualityLabel: 'तथ्यात्मकता',
    factualityDesc: 'तथ्यात्मक त्रुटियों, भ्रमों, या गलत दावों की पहचान और सुधार करें।',
    sendPrompt: 'उत्तर मरम्मत करें',
    running: 'मरम्मत हो रही है...',
    sendFailed: 'रिपेयर शुरू करने में विफल। कृपया पुनः प्रयास करें।',
    synthesizing: 'रिपेयर प्रगति पर है...',
    resultTitle: 'मरम्मत किया गया उत्तर',
    noResults: 'अभी तक कोई रिपेयर परिणाम नहीं',
    viewInThread: 'थ्रेड में देखें',
    finalAnswer: 'अंतिम उत्तर',
    provider: 'प्रोवाइडर',
    model: 'मॉडल',
  },
  decompose: {
    title: 'कार्य विघटन राउटर',
    description:
      'जटिल कार्यों को उप-कार्यों में तोड़ें, प्रत्येक को सर्वोत्तम मॉडल के साथ निष्पादित करें, फिर परिणामों को संश्लेषित करें।',
    contentLabel: 'जटिल कार्य',
    contentPlaceholder:
      'विघटित करने के लिए एक जटिल कार्य का वर्णन करें, उदा. "2025 में AI रुझानों पर शोध करें, 3-बिंदु कार्य योजना बनाएं, और कार्यकारी सारांश लिखें।"',
    maxSubTasks: 'अधिकतम उप-कार्य',
    sendPrompt: 'विघटित करें और निष्पादित करें',
    running: 'विघटन हो रहा है…',
    synthesizing: 'उप-कार्य निष्पादित और परिणाम संश्लेषित हो रहे हैं…',
    resultTitle: 'संश्लेषित परिणाम',
    viewInThread: 'थ्रेड में देखें',
    subTasksHeader: 'उप-कार्य परिणाम',
    subTaskResult: 'परिणाम',
    category: 'श्रेणी',
    model: 'मॉडल',
    latencyMs: 'विलंबता',
    noResults: 'कोई विघटन परिणाम नहीं',
    sendFailed: 'कार्य विघटन विफल। कृपया पुनः प्रयास करें।',
  },
  bestOfN: {
    title: 'बेस्ट-ऑफ़-N उम्मीदवार जनरेशन',
    description:
      'कई उम्मीदवार उत्तर उत्पन्न करें और स्वचालित रूप से उच्चतम गुणवत्ता प्रतिक्रिया चुनें।',
    contentLabel: 'प्रॉम्प्ट',
    contentPlaceholder: 'कई उम्मीदवार उत्पन्न करने के लिए अपना प्रॉम्प्ट दर्ज करें…',
    nCandidates: 'उम्मीदवार (N)',
    sendPrompt: 'बेस्ट-ऑफ़-N उत्पन्न करें',
    running: 'उम्मीदवार उत्पन्न हो रहे हैं…',
    synthesizing: 'सबसे अच्छे उम्मीदवार को स्कोर और चयन हो रहा है…',
    resultTitle: 'सर्वश्रेष्ठ उम्मीदवार परिणाम',
    viewInThread: 'थ्रेड में देखें',
    candidatesHeader: 'सभी उम्मीदवार',
    rank: 'रैंक',
    score: 'स्कोर',
    model: 'मॉडल',
    latency: 'विलंबता',
    noResults: 'कोई उम्मीदवार उत्पन्न नहीं',
    sendFailed: 'उम्मीदवार जनरेशन विफल। कृपया पुनः प्रयास करें।',
  },
  recovery: {
    title: 'मार्ग विफलता रिकवरी',
    description: 'प्रोवाइडर विफलताओं और स्वचालित फ़ॉलबैक रिकवरी घटनाओं की निगरानी करें।',
    totalDecisions: 'कुल निर्णय',
    totalFallbacks: 'फ़ॉलबैक घटनाएं',
    fallbackRate: 'फ़ॉलबैक दर',
    providerTable: 'प्रोवाइडर विफलता विवरण',
    provider: 'प्रोवाइडर',
    fallbackCount: 'फ़ॉलबैक',
    rate: 'दर',
    recentFallbacks: 'हाल की फ़ॉलबैक घटनाएं',
    originalProvider: 'मूल',
    originalModel: 'मॉडल',
    fallbackProvider: 'फ़ॉलबैक',
    fallbackModel: 'फ़ॉलबैक मॉडल',
    mode: 'मोड',
    time: 'समय',
    noFallbacks: 'कोई फ़ॉलबैक घटना नहीं',
    noData: 'अभी तक कोई रूटिंग निर्णय दर्ज नहीं।',
    loading: 'रिकवरी डेटा लोड हो रहा है…',
    error: 'रिकवरी आँकड़े लोड करने में विफल।',
  },
  verify: {
    title: 'वेरिफायर',
    description: 'भेजने से पहले एक प्रतिक्रिया उत्पन्न और सत्यापित करें',
    contentLabel: 'आपका प्रॉम्प्ट',
    contentPlaceholder: 'अपना प्रश्न या कार्य दर्ज करें...',
    maxRevisionsLabel: 'अधिकतम संशोधन',
    sendPrompt: 'सत्यापित करें और भेजें',
    running: 'सत्यापित हो रहा है...',
    synthesizing: 'प्रतिक्रिया उत्पन्न और सत्यापित हो रही है...',
    noResults: 'अभी तक कोई सत्यापित प्रतिक्रिया नहीं',
    sendFailed: 'सत्यापन विफल। कृपया पुनः प्रयास करें।',
    verified: 'सत्यापित',
    verifierScore: 'गुणवत्ता स्कोर',
    revisions: 'संशोधन',
    issues: 'समस्याएं',
    viewInThread: 'थ्रेड में देखें',
  },
  adaptiveLearning: {
    title: 'अनुकूली रूट लर्निंग',
    description: 'भविष्य के निर्णयों को बेहतर बनाने के लिए रूटिंग इतिहास से प्राप्त अंतर्दृष्टि',
    loading: 'अंतर्दृष्टि लोड हो रही है...',
    error: 'अंतर्दृष्टि लोड करने में विफल',
    windowDays: 'विंडो',
    days: 'दिन',
    totalDecisions: 'कुल निर्णय',
    avgConfidence: 'औसत विश्वास',
    topReasonTags: 'शीर्ष कारण टैग',
    providerTable: 'प्रोवाइडर प्रदर्शन',
    modeBreakdown: 'मोड विवरण',
    noData: 'इस विंडो में कोई रूटिंग निर्णय नहीं',
    provider: 'प्रोवाइडर',
    fallbackRate: 'फ़ॉलबैक दर',
    totalCalls: 'कुल कॉल',
    topModes: 'शीर्ष मोड',
    mode: 'मोड',
    count: 'गिनती',
    percentage: 'प्रतिशत',
  },
  pipeline: {
    title: 'मल्टी-स्टेज पाइपलाइन',
    description: 'अपने अनुरोध को विशेषज्ञ चरणों की एक श्रृंखला के माध्यम से रूट करें',
    contentLabel: 'आपका अनुरोध',
    contentPlaceholder: 'आपको क्या चाहिए वर्णन करें...',
    templateLabel: 'पाइपलाइन टेम्पलेट',
    templateAnalyze: 'विश्लेषण → तर्क → फ़ॉर्मेट',
    templateCode: 'कोड → डीबग → समीक्षा',
    templateDraft: 'ड्राफ्ट → आलोचना → संशोधन',
    sendPrompt: 'पाइपलाइन चलाएं',
    running: 'पाइपलाइन चल रही है...',
    synthesizing: 'चरण संसाधित हो रहे हैं...',
    noResults: 'अभी तक कोई पाइपलाइन परिणाम नहीं',
    sendFailed: 'पाइपलाइन विफल। कृपया पुनः प्रयास करें।',
    stageBreakdown: 'चरण विवरण',
    stage: 'चरण',
    model: 'मॉडल',
    latency: 'विलंबता',
    viewInThread: 'थ्रेड में देखें',
  },
  costEnsemble: {
    title: 'लागत-सचेत एन्सेम्बल',
    description: 'स्मार्ट निष्पादन: कार्य जटिलता के आधार पर एक, दो, या तीन मॉडल उपयोग करें',
    contentLabel: 'आपका प्रॉम्प्ट',
    contentPlaceholder: 'अपना प्रश्न या कार्य दर्ज करें...',
    sendPrompt: 'विश्लेषण करें और भेजें',
    running: 'लागत विश्लेषण हो रहा है...',
    synthesizing: 'इष्टतम एन्सेम्बल का चयन हो रहा है...',
    noResults: 'अभी तक कोई परिणाम नहीं',
    sendFailed: 'लागत एन्सेम्बल विफल। कृपया पुनः प्रयास करें।',
    tier: 'टियर',
    tierSingle: 'एकल',
    tierDuo: 'डुओ',
    tierTrio: 'ट्रायो',
    complexity: 'जटिलता',
    risk: 'जोखिम',
    ambiguity: 'अस्पष्टता',
    reasoning: 'तर्क',
    candidates: 'उम्मीदवार',
    viewInThread: 'थ्रेड में देखें',
  },
  rolePack: {
    title: 'भूमिका-आधारित एन्सेम्बल',
    description: 'विशेष AI भूमिकाओं की टीम को अपना अनुरोध भेजें',
    contentLabel: 'आपका अनुरोध',
    contentPlaceholder: 'आपको क्या चाहिए वर्णन करें...',
    packLabel: 'टीम चुनें',
    packCoding: 'कोडिंग टीम',
    packResearch: 'रिसर्च टीम',
    packMarketing: 'मार्केटिंग टीम',
    packLegal: 'लीगल टीम',
    sendPrompt: 'टीम चलाएं',
    running: 'टीम प्रसंस्करण...',
    synthesizing: 'सभी भूमिकाएं समानांतर में चल रही हैं...',
    noResults: 'अभी तक कोई टीम परिणाम नहीं',
    sendFailed: 'टीम रन विफल। कृपया पुनः प्रयास करें।',
    teamBreakdown: 'टीम परिणाम',
    role: 'भूमिका',
    model: 'मॉडल',
    latency: 'विलंबता',
    viewInThread: 'थ्रेड में देखें',
  },
  advancedModelSelector: {
    label: 'निष्पादन मॉडल',
    auto: 'ऑटो (सर्वश्रेष्ठ लोकल मॉडल चुनें)',
    loading: 'मॉडल लोड हो रहे हैं...',
    description: 'इस लैब के लिए ऑटो या एक विशिष्ट स्थानीय रूप से स्थापित Ollama मॉडल चुनें।',
    empty: 'इस लैब के लिए अभी तक कोई लोकल टेक्स्ट मॉडल उपलब्ध नहीं।',
  },
  workspaceConnectors: {
    title: 'वर्कस्पेस कनेक्टर',
    description: 'अपने वर्कस्पेस टूल्स कनेक्ट करें — GitHub, Slack, Jira, Google Drive, और अधिक।',
    createConnector: 'कनेक्टर बनाएं',
    editConnector: 'कनेक्टर संपादित करें',
    deleteConnector: 'कनेक्टर हटाएं',
    testHealth: 'स्वास्थ्य टेस्ट',
    triggerSync: 'अभी सिंक करें',
    name: 'नाम',
    nameHelp: 'इस कनेक्टर के लिए प्रदर्शन नाम',
    provider: 'प्रोवाइडर',
    providerHelp: 'कनेक्ट करने के लिए वर्कस्पेस टूल',
    permissionLevel: 'अनुमति स्तर',
    permissionLevelHelp: 'इस कनेक्टर को दी गई एक्सेस स्तर',
    status: 'स्थिति',
    connected: 'कनेक्ट',
    degraded: 'कमज़ोर',
    disconnected: 'डिस्कनेक्ट',
    pendingAuth: 'प्रमाणीकरण लंबित',
    unknown: 'अज्ञात',
    noConnectors: 'कोई वर्कस्पेस कनेक्टर नहीं',
    noConnectorsDesc: 'शुरू करने के लिए अपना पहला वर्कस्पेस टूल कनेक्ट करें।',
    noConnectorsGuidance:
      'कनेक्शन ऐप कॉन्फ़िगरेशन से शुरू होते हैं। वहां अपना OAuth ऐप पंजीकृत करें, फिर यहां लिंक करने के लिए कनेक्ट पर क्लिक करें।',
    overviewDescription: 'आपके कनेक्ट किए गए वर्कस्पेस टूल। ऐप कॉन्फ़िगरेशन से नए जोड़ें।',
    manageAppConfigs: 'ऐप कॉन्फ़िगरेशन प्रबंधित करें',
    goToAppConfigs: 'ऐप कॉन्फ़िगरेशन पर जाएं',
    connectorCreated: 'कनेक्टर सफलतापूर्वक बनाया गया।',
    connectorCreateFailed: 'कनेक्टर बनाने में विफल।',
    connectorDeleted: 'कनेक्टर सफलतापूर्वक हटाया गया।',
    connectorDeleteFailed: 'कनेक्टर हटाने में विफल।',
    healthCheckStarted: 'स्वास्थ्य जांच शुरू हुई।',
    healthCheckFailed: 'स्वास्थ्य जांच विफल।',
    syncStarted: 'सिंक शुरू हुआ।',
    syncFailed: 'सिंक शुरू करने में विफल।',
    loadFailed: 'कनेक्टर लोड करने में विफल।',
    loadingConnectors: 'कनेक्टर लोड हो रहे हैं...',
    addConnector: 'कनेक्टर जोड़ें',
    connectViaOAuth: 'OAuth के माध्यम से कनेक्ट करें',
    lastSync: 'अंतिम सिंक',
    never: 'कभी नहीं',
    syncRuns: 'सिंक रन',
    healthEvents: 'स्वास्थ्य घटनाएं',
    enabled: 'सक्षम',
    disabled: 'अक्षम',
    deleteConfirm: 'क्या आप वाकई इस कनेक्टर को हटाना चाहते हैं? यह क्रिया पूर्ववत नहीं की जा सकती।',
    namePlaceholder: 'उदा., GitHub Workspace',
    paused: 'रुका हुआ',
  },
  workspaceObjects: {
    title: 'सिंक्ड ऑब्जेक्ट्स',
    description: 'आपके कनेक्ट किए गए वर्कस्पेस टूल से सिंक किए गए ऑब्जेक्ट्स।',
    loading: 'ऑब्जेक्ट्स लोड हो रहे हैं...',
    loadFailed: 'वर्कस्पेस ऑब्जेक्ट्स लोड करने में विफल।',
    noObjects: 'अभी तक कोई ऑब्जेक्ट्स सिंक नहीं।',
    noObjectsDesc: 'वर्कस्पेस ऑब्जेक्ट्स आयात करने के लिए कनेक्टर पर सिंक ट्रिगर करें।',
    selectConnector: 'सिंक किए गए ऑब्जेक्ट्स देखने के लिए एक कनेक्टर चुनें।',
    source: 'स्रोत',
    viewObject: 'ऑब्जेक्ट देखें',
  },
  workspaceSearch: {
    title: 'वर्कस्पेस खोज',
    description: 'सभी सिंक्ड वर्कस्पेस ऑब्जेक्ट्स में खोजें।',
    placeholder: 'दस्तावेज़, मुद्दे, संदेश खोजें...',
    searching: 'खोज हो रही है...',
    noResults: 'कोई परिणाम नहीं मिला।',
    noResultsDesc: 'एक अलग खोज शब्द आज़माएं या अधिक कनेक्टर सिंक करें।',
    searchFailed: 'खोज विफल। कृपया पुनः प्रयास करें।',
    resultCount: '{count} परिणाम',
    viewSource: 'स्रोत देखें',
    score: 'प्रासंगिकता',
  },
  workspaceObjectDetail: {
    title: 'ऑब्जेक्ट विवरण',
    description: 'एक सिंक्ड वर्कस्पेस ऑब्जेक्ट का निरीक्षण करें और उसके प्रोवाइडर से रिफ्रेश करें।',
    loadFailed: 'ऑब्जेक्ट लोड करने में विफल।',
    refresh: 'प्रोवाइडर से रिफ्रेश करें',
    refreshing: 'रिफ्रेश हो रहा है...',
    refreshFailed: 'रिफ्रेश विफल।',
    content: 'सामग्री',
    metadata: 'मेटाडेटा',
    externalCreated: 'स्रोत पर बनाया',
    externalUpdated: 'स्रोत पर अद्यतन',
    openInProvider: 'प्रोवाइडर में खोलें',
    author: 'लेखक: {author}',
  },
  connectorDetail: {
    title: 'कनेक्टर विवरण',
    description:
      'इस कनेक्टर के लिए सिंक इतिहास, स्वास्थ्य घटनाएं, और हाल ही में सिंक किए गए ऑब्जेक्ट्स।',
    loadFailed: 'कनेक्टर लोड करने में विफल।',
    never: 'कभी नहीं',
    lastSync: 'अंतिम सिंक: {value}',
    syncRunsCount: '{count} सिंक रन',
    objectsCount: '{count} ऑब्जेक्ट्स',
    recentObjects: 'हाल के ऑब्जेक्ट्स',
    noObjects:
      'अभी तक कोई सिंक किए गए ऑब्जेक्ट्स नहीं। प्रोवाइडर से ऑब्जेक्ट्स खींचने के लिए सिंक ट्रिगर करें।',
    syncHistory: 'सिंक इतिहास',
    noSyncRuns: 'अभी तक कोई सिंक रन नहीं।',
    syncRunLine: '{synced} सिंक · {failed} विफल',
    healthHistory: 'स्वास्थ्य इतिहास',
    noHealthEvents: 'अभी तक कोई स्वास्थ्य जांच दर्ज नहीं।',
    healthOk: 'ठीक',
    activating:
      'इस कनेक्टर को सक्रिय कर रहे हैं — प्रोवाइडर से ऑब्जेक्ट्स का आपका पहला सेट आयात कर रहे हैं। इस दौरान आप Claw का उपयोग जारी रख सकते हैं।',
    askAi: 'इसके बारे में AI से पूछें',
    askAiTitle: '{name} के बारे में',
    reconnect: 'पुन: कनेक्ट करें',
    reconnectTitle: 'यह कनेक्टर डिस्कनेक्ट है',
    reconnectDescription:
      'संग्रहीत क्रेडेंशियल अब मान्य नहीं हैं। पहुंच बहाल करने के लिए ऐप कॉन्फ़िगरेशन से पुन: प्राधिकृत करें।',
  },
  workspaceSyncRuns: {
    title: 'सिंक रन',
    description: 'इस कनेक्टर के लिए हाल का सिंक इतिहास।',
    loading: 'सिंक रन लोड हो रहे हैं...',
    loadFailed: 'सिंक रन लोड करने में विफल।',
    empty: 'अभी तक कोई सिंक रन नहीं।',
    started: 'शुरू हुआ',
    status: 'स्थिति',
    type: 'प्रकार',
    delta: 'डेल्टा',
    found: 'मिला',
    synced: 'सिंक',
    failed: 'विफल',
    duration: 'अवधि',
  },
  workspaceSync: {
    dashboard: {
      title: 'वर्कस्पेस सिंक स्वास्थ्य',
      description: 'प्रत्येक वर्कस्पेस कनेक्टर पर निर्धारित सिंक जॉब का लाइव दृश्य।',
      error_title: 'सिंक डैशबोर्ड लोड करने में असमर्थ',
      empty_title: 'अभी तक कोई कनेक्टर नहीं',
      empty_description:
        'एक बार जब आप वर्कस्पेस टूल कनेक्ट करते हैं, तो उसका सिंक स्वास्थ्य यहां दिखाई देगा।',
      scheduler_title: 'शेड्यूलर',
      scheduler_enabled: 'शेड्यूलर सक्षम',
      last_tick: 'अंतिम टिक',
      active_runs: 'सक्रिय रन',
      dlq_backlog: 'DLQ बैकलॉग',
      connectors_title: 'कनेक्टर',
      col: {
        connector: 'कनेक्टर',
        freshness: 'ताज़गी',
        last_sync: 'अंतिम सिंक',
        cadence: 'आवृत्ति',
        success_rate: 'सफलता दर 24h',
        avg_duration: 'औसत अवधि',
        status: 'स्थिति',
      },
    },
    band: {
      fresh: 'ताज़ा',
      slow: 'धीमा',
      stale: 'पुराना',
    },
    cadence: {
      label: 'सिंक हर',
      '1m': '1 मिनट',
      '5m': '5 मिनट',
      '10m': '10 मिनट',
      '30m': '30 मिनट',
      '1h': '1 घंटा',
      save: 'आवृत्ति सहेजें',
      saving: 'सहेज रहा है...',
      saved: 'आवृत्ति अद्यतन',
    },
    pause: {
      pause: 'सिंक रोकें',
      resume: 'सिंक पुनः आरंभ करें',
      paused_label: 'सिंक रुका',
      reason_placeholder: 'कारण (वैकल्पिक)',
    },
    chip: {
      synced_ago: '{ago} पहले सिंक',
      stale: 'पुराना',
      paused: 'रुका',
    },
  },
  aiActions: {
    dialog: {
      title: 'AI क्रिया चलाएं · {action}',
      description:
        'एक मॉडल चुनें और उत्पन्न करें। AUTO राउटर को क्रिया प्रकार और गोपनीयता श्रेणी के आधार पर चुनने देता है।',
      model_label: 'मॉडल',
      generate: 'उत्पन्न करें',
      regenerate: 'पुनः उत्पन्न करें',
      resolving: 'उत्पन्न हो रहा है…',
      cancel: 'रद्द करें',
      close: 'बंद करें',
      copy: 'कॉपी करें',
      copied: 'कॉपी किया गया',
      generated_by: '{model} द्वारा उत्पन्न',
      resolution_mode: 'मोड: {mode}',
      resolution_primary: 'प्राथमिक: {model}',
      resolution_fallback: 'फ़ॉलबैक मॉडल कतारबद्ध: {count}',
    },
  },
  approvals: {
    page: {
      title: 'अनुमोदन केंद्र',
      description:
        'अपने वर्कस्पेस कनेक्टर पर लंबित AI-ड्राफ्ट क्रियाओं की समीक्षा और अनुमोदन करें।',
      empty_title: 'कोई लंबित अनुमोदन नहीं',
      empty_description:
        'जब AI आपकी ओर से कोई क्रिया ड्राफ्ट करता है, तो वह समीक्षा के लिए यहां दिखाई देगा।',
      error_title: 'अनुमोदन लोड करने में असमर्थ',
      error_description: 'अनुमोदन सूची लोड करने में कुछ गलत हुआ। पुनः प्रयास करें।',
    },
    card: {
      approve: 'अनुमोदन करें',
      reject: 'अस्वीकार करें',
      edit: 'संपादित करें',
      edited: 'संपादित · v{version}',
      source_stale: 'स्रोत पुराना',
      attribution_auto: 'AUTO · {model}',
      attribution_manual: 'मैनुअल · {model}',
    },
    bulk: {
      selected: '{count} चुने गए',
      approve_all: 'सभी चुने गए अनुमोदित करें',
      clear: 'चयन साफ़ करें',
    },
    edit: {
      title: 'ड्राफ्ट संपादित करें',
      description: 'क्रिया पेलोड संपादित करें। मूल ड्राफ्ट इतिहास में संरक्षित है।',
      payload_label: 'पेलोड (JSON)',
      reason_placeholder: 'संपादन का कारण (वैकल्पिक)',
      save: 'सहेजें और बाद में पुन: अनुमोदन करें',
      cancel: 'रद्द करें',
      invalid_json: 'पेलोड मान्य JSON होना चाहिए',
    },
    reject: {
      title: 'क्रिया अस्वीकार करें',
      description: 'वैकल्पिक रूप से बताएं कि आप इस क्रिया को क्यों अस्वीकार कर रहे हैं।',
      reason_placeholder: 'कारण (वैकल्पिक)',
      confirm: 'अस्वीकार करें',
      cancel: 'रद्द करें',
    },
  },
  automationPreferences: {
    page: {
      title: 'ऑटोमेशन प्राथमिकताएँ',
      description:
        'प्रति-क्रिया-प्रकार नियंत्रण। सबसे सख्त जीतता है: व्यवस्थापक नीति न्यूनतम है; आपकी प्राथमिकताएँ केवल उसे सख्त कर सकती हैं।',
      loading: 'प्राथमिकताएँ लोड हो रही हैं…',
      error: 'प्राथमिकताएँ लोड नहीं हो सकीं। रिफ़्रेश करें।',
      empty: 'अभी तक कोई एक्शन प्रकार नहीं।',
    },
    row: {
      enabled: 'सक्षम',
      disabled: 'अक्षम',
      toggleAria: '{kind} के लिए स्वचालन टॉगल',
      autoApproveBelowRisk: 'जब जोखिम स्कोर इस सीमा पर या नीचे हो, ऑटो-अप्रूव',
      autoApproveDisabled: 'ऑटो-अप्रूव अक्षम (हमेशा समीक्षा कतार में)',
      autoApproveAt: 'जोखिम ≤ {score} पर ऑटो-अप्रूव',
      perDayBudget: 'दैनिक सीमा',
      perDayBudgetPlaceholder: 'unlimited',
      clear: 'साफ़ करें',
    },
  },
  connectorGrants: {
    title: 'साझाकरण',
    description:
      'इस कनेक्टर को अन्य उपयोगकर्ताओं के साथ साझा करें। मालिक के पास हमेशा पूर्ण पहुंच होती है; अधिकृत उपयोगकर्ताओं को आपका चुना हुआ स्तर दिखता है।',
    loading: 'अनुदान लोड हो रहे हैं…',
    error: 'अनुदान लोड नहीं हो सके।',
    empty: 'अभी तक कोई अनुदान नहीं। यह कनेक्टर केवल आपके लिए सुलभ है।',
    granteeUserIdLabel: 'ग्रहीता यूज़र ID',
    granteeUserIdPlaceholder: 'cmnkgdc2c00009w92riuztmmd',
    accessLevelLabel: 'पहुंच स्तर',
    grant: 'पहुंच दें',
    granting: 'दिया जा रहा है…',
    revoke: 'रद्द करें',
    revoking: 'रद्द हो रहा है…',
    grantedBy: 'दिया गया',
    levelReadOnly: 'केवल पढ़ने योग्य',
    levelAiActions: 'AI क्रियाएँ',
    levelFull: 'पूर्ण',
  },
  emailSignatures: {
    page: {
      title: 'ईमेल हस्ताक्षर',
      description:
        'AI द्वारा लिखे गए ईमेल में जोड़े जाने वाले हस्ताक्षर प्रबंधित करें। डिफ़ॉल्ट चुनें ताकि यह स्वचालित रूप से उपयोग हो।',
      loading: 'हस्ताक्षर लोड हो रहे हैं…',
      error: 'हस्ताक्षर लोड नहीं हो सके। पेज रिफ्रेश करें।',
      empty: 'अभी तक कोई हस्ताक्षर नहीं। शुरू करने के लिए एक बनाएं।',
      create: 'नया हस्ताक्षर',
      edit: 'संपादित करें',
      delete: 'हटाएं',
      deleting: 'हटाया जा रहा है…',
      defaultBadge: 'डिफ़ॉल्ट',
    },
    dialog: {
      createTitle: 'हस्ताक्षर बनाएं',
      editTitle: 'हस्ताक्षर संपादित करें',
      nameLabel: 'नाम',
      namePlaceholder: 'कार्य हस्ताक्षर',
      bodyLabel: 'सामग्री',
      bodyPlaceholder: 'सादर,\nAlice\nइंजीनियरिंग के VP · Example Inc.',
      defaultLabel: 'डिफ़ॉल्ट के रूप में उपयोग करें',
      save: 'सहेजें',
      saving: 'सहेजा जा रहा है…',
      cancel: 'रद्द करें',
    },
  },
  research: {
    toggle: {
      placeholder: 'रिसर्च',
      autoProvider: 'ऑटो प्रोवाइडर',
      noProviders: 'कोई प्रोवाइडर कॉन्फ़िगर नहीं',
    },
    modes: {
      off: 'कोई रिसर्च नहीं',
      searchOnly: 'वेब खोज',
      searchThenFetch: 'खोज + फ़ेच',
      searchFetchExtract: 'खोज + निष्कर्षण',
    },
    providers: {
      title: 'रिसर्च प्रोवाइडर',
      description: 'डायनेमिक खोज, फ़ेच, और प्रमाण प्रोवाइडर।',
      createButton: 'नया प्रोवाइडर',
      createTitle: 'रिसर्च प्रोवाइडर जोड़ें',
      createDescription: 'Tavily / SearXNG / Ollama Web प्रोवाइडर पंजीकृत करें।',
      create: 'बनाएं',
      creating: 'बना रहा है...',
      kind: 'प्रकार',
      name: 'नाम',
      baseUrl: 'बेस URL',
      apiKey: 'API key (एन्क्रिप्टेड संग्रहीत)',
      test: 'टेस्ट',
      secretStored: 'सीक्रेट संग्रहीत',
      healthy: 'स्वस्थ',
      unhealthy: 'अस्वस्थ',
      loadFailed: 'प्रोवाइडर लोड करने में विफल।',
      emptyTitle: 'कोई रिसर्च प्रोवाइडर नहीं',
      emptyDescription:
        'लाइव प्रमाण के साथ चैट को ग्राउंड करना शुरू करने के लिए एक प्रोवाइडर जोड़ें।',
      col: {
        name: 'नाम',
        kind: 'प्रकार',
        baseUrl: 'बेस URL',
        status: 'स्थिति',
        secret: 'सीक्रेट',
        actions: 'क्रियाएं',
      },
      namePlaceholder: 'उदा., Tavily Production',
    },
    runs: {
      title: 'रिसर्च रन',
      description: 'चैट से ट्रिगर किए गए रिसर्च रन का इतिहास।',
      loadFailed: 'रन लोड करने में विफल।',
      emptyTitle: 'अभी तक कोई रिसर्च रन नहीं',
      emptyDescription: 'प्रमाण उत्पन्न करने के लिए चैट में रिसर्च टॉगल करें।',
    },
    evidence: {
      title: 'लाइव रिसर्च प्रमाण',
      empty: 'कोई प्रमाण आइटम नहीं लौटाए गए।',
      noTitle: '(कोई शीर्षक नहीं)',
      confidence: 'विश्वास',
      warnings: 'चेतावनियां',
      requestedModel: 'अनुरोधित मॉडल',
      toolsUsed: 'टूल्स',
    },
    results: {
      open: 'खोज परिणाम',
      title: 'रिसर्च परिणाम',
      description: 'प्रोवाइडर पसंद, फ़ॉलबैक चेन, प्रमाण बंडल, और रिसर्च ट्रेस का निरीक्षण करें।',
      provider: 'प्रोवाइडर',
      selectionMode: 'चयन',
      selectionAuto: 'ऑटो',
      selectionExplicit: 'स्पष्ट',
      fallbackUsed: 'फ़ॉलबैक उपयोग',
      query: 'रिसर्च क्वेरी',
      evidenceCount: 'प्रमाण आइटम',
      attempts: 'प्रोवाइडर प्रयास',
      trace: 'रिसर्च ट्रेस',
    },
  },
  workspaceActions: {
    title: 'वर्कस्पेस क्रियाएं',
    description: 'निष्पादित होने से पहले स्वचालित लेखन क्रियाओं की समीक्षा और अनुमोदन करें।',
    approve: 'अनुमोदन करें',
    reject: 'अस्वीकार करें',
    cancel: 'रद्द करें',
    rejectTitle: 'क्रिया अस्वीकार करें',
    rejectDesc: 'इस क्रिया को अस्वीकार करने के लिए एक वैकल्पिक कारण प्रदान करें।',
    rejectReasonPlaceholder: 'कारण (वैकल्पिक)',
    confirmReject: 'अस्वीकार पुष्टि करें',
    connector: 'कनेक्टर',
    rejectionReason: 'अस्वीकृति कारण',
    pendingApproval: 'अनुमोदन लंबित',
    executing: 'निष्पादित हो रहा है',
    executed: 'निष्पादित',
    failed: 'विफल',
    rejected: 'अस्वीकृत',
    noActions: 'कोई क्रिया नहीं मिली',
    noActionsDesc: 'AI द्वारा बनाई गई स्वचालित लेखन क्रियाएं समीक्षा के लिए यहां दिखाई देंगी।',
    loadFailed: 'क्रियाएं लोड करने में विफल।',
    viewPayload: 'पेलोड देखें',
    requestedAt: 'अनुरोधित {value}',
    reviewedAt: 'समीक्षित {value}',
    executedAt: 'निष्पादित {value}',
    approved: 'अनुमोदित',
    expired: 'समाप्त',
    edited: 'संपादित',
  },
  workspaceProviders: {
    catalog: {
      title: 'वर्कस्पेस प्रोवाइडर कैटलॉग',
      description: 'समर्थित वर्कस्पेस इंटीग्रेशन ब्राउज़ करें।',
      loadFailed: 'प्रोवाइडर कैटलॉग लोड करने में विफल।',
      emptyTitle: 'कोई प्रोवाइडर उपलब्ध नहीं',
      emptyDescription: 'अभी तक कोई वर्कस्पेस प्रोवाइडर पंजीकृत नहीं।',
      available: 'उपलब्ध',
      comingSoon: 'जल्द आ रहा है',
      objectTypes: 'ऑब्जेक्ट प्रकार',
      docs: 'दस्तावेज़',
    },
    appConfigs: {
      title: 'प्रोवाइडर ऐप कॉन्फ़िगरेशन',
      description: 'वर्कस्पेस प्रोवाइडर के लिए OAuth ऐप और क्रेडेंशियल पंजीकृत करें।',
      createButton: 'नया कॉन्फ़िगरेशन',
      createTitle: 'प्रोवाइडर ऐप कॉन्फ़िगरेशन बनाएं',
      createDescription: 'OAuth क्रेडेंशियल या व्यक्तिगत एक्सेस टोकन पंजीकृत करें।',
      create: 'बनाएं',
      creating: 'बना रहा है...',
      editTitle: 'प्रदाता ऐप कॉन्फ़िगरेशन संपादित करें',
      editDescription:
        'इस प्रदाता के लिए कॉन्फ़िगरेशन मान और मेटाडेटा अपडेट करें। गुप्त फ़ील्ड अपरिवर्तित रखने के लिए उन्हें खाली छोड़ें।',
      editSecretHint:
        'खाली छोड़े गए गुप्त फ़ील्ड पहले से संग्रहीत मान बनाए रखेंगे। क्रेडेंशियल्स घुमाने के लिए ही उन्हें भरें।',
      save: 'सहेजें',
      saving: 'सहेज रहा है…',
      provider: 'प्रोवाइडर',
      providerPlaceholder: 'एक प्रोवाइडर चुनें...',
      name: 'नाम',
      namePlaceholder: 'उदा. GitHub प्रोडक्शन ऐप',
      authMode: 'प्रमाणीकरण मोड',
      descriptionLabel: 'विवरण',
      descriptionPlaceholder: 'इस कॉन्फ़िगरेशन के बारे में वैकल्पिक नोट्स',
      test: 'टेस्ट',
      connect: 'कनेक्ट',
      testResult: 'टेस्ट परिणाम: {status} ({latency}ms)',
      secretStored: 'सीक्रेट संग्रहीत',
      emptyTitle: 'अभी तक कोई प्रोवाइडर कॉन्फ़िगरेशन नहीं',
      emptyDescription:
        'वर्कस्पेस कनेक्टर सक्षम करने के लिए अपने पहले प्रोवाइडर क्रेडेंशियल जोड़ें।',
      loadFailed: 'ऐप कॉन्फ़िगरेशन लोड करने में विफल।',
      fields: {
        secret: '(सीक्रेट)',
      },
      columns: {
        name: 'नाम',
        provider: 'प्रोवाइडर',
        authMode: 'प्रमाणीकरण',
        status: 'स्थिति',
        secret: 'सीक्रेट',
        lastValidated: 'अंतिम सत्यापन',
        actions: 'क्रियाएं',
      },
      errors: {
        nameRequired: 'नाम आवश्यक है।',
      },
    },
    oauthCallback: {
      exchangingTitle: 'कनेक्शन पूर्ण हो रहा है...',
      exchangingDescription: 'प्रोवाइडर के साथ प्राधिकरण कोड का आदान-प्रदान हो रहा है।',
      successTitle: 'कनेक्ट हो गया!',
      successDescription: 'आपको वर्कस्पेस पर पुनर्निर्देशित किया जा रहा है...',
      successDescriptionNamed: '{name} कनेक्ट हो गया। आपको पुनर्निर्देशित किया जा रहा है...',
      errorTitle: 'कनेक्शन विफल',
      errorUnknown: 'एक अज्ञात त्रुटि हुई।',
    },
  },
  agent: {
    title: 'डेस्कटॉप एजेंट',
    description: 'कनेक्ट किए गए डेस्कटॉप एजेंट और टर्मिनल कमांड प्रबंधित करें।',
    loading: 'एजेंट सत्र लोड हो रहे हैं...',
    loadFailed: 'एजेंट डेटा लोड करने में विफल।',
    noSessions: 'कोई सक्रिय सत्र नहीं',
    noSessionsDesc: 'कनेक्ट करने के लिए अपनी मशीन पर Claw डेस्कटॉप एजेंट शुरू करें।',
    noCommands: 'कोई कमांड नहीं',
    noCommandsDesc: 'लंबित टर्मिनल कमांड यहां दिखाई देंगे।',
    noRepos: 'कोई रिपॉजिटरी नहीं',
    noReposDesc: 'एजेंट द्वारा पता लगाई गई रिपॉजिटरी यहां दिखाई देंगी।',
    terminal: 'टर्मिनल कमांड',
    terminalDesc: 'एजेंट द्वारा अनुरोधित टर्मिनल कमांड को अनुमोदित या अस्वीकार करें।',
    capabilities: 'क्षमता कतार',
    capabilitiesDesc:
      'फ़ाइल सिस्टम, प्रक्रिया, ब्राउज़र और अन्य वर्गों में क्षमता आमंत्रणों को अनुमोदित या अस्वीकार करें।',
    capabilityClass: 'वर्ग',
    capabilityOperation: 'संक्रिया',
    blastRadius: 'प्रभाव क्षेत्र',
    reversibility: 'प्रतिवर्तनीयता',
    riskScore: 'जोखिम स्कोर',
    matchedPolicy: 'मिलान नीति',
    activity: 'एजेंट गतिविधि',
    activityDesc: 'आपके सभी उपकरणों पर हाल की क्षमताएँ और रेसिपी रन।',
    autoApproved: 'स्वतः अनुमोदित',
    denied: 'अस्वीकृत',
    rolledBack: 'वापस लिया गया',
    recipes: 'रेसिपी',
    recipesDesc: 'बहु-चरण स्वचालन जो क्षमता आमंत्रणों को एक साथ जोड़ते हैं।',
    noRecipes: 'अभी तक कोई रेसिपी नहीं',
    noRecipesDesc: 'बहु-चरण कार्यप्रवाह को स्वचालित करने के लिए रेसिपी बनाएँ।',
    recipeRunDetail: 'रन विवरण',
    recipeRunDetailDesc: 'रेसिपी रन की लाइव प्रगति।',
    runStatus: 'रन स्थिति',
    cancelRun: 'रन रद्द करें',
    steps: 'चरण',
    marketplace: 'रेसिपी बाज़ार',
    marketplaceDesc: 'समुदाय द्वारा प्रकाशित हस्ताक्षरित रेसिपीज़ ब्राउज़ करें और इंस्टॉल करें।',
    noListings: 'अभी तक कोई लिस्टिंग नहीं',
    noListingsDesc: 'जब प्रकाशक हस्ताक्षरित रेसिपीज़ शिप करते हैं, वे यहाँ दिखते हैं।',
    install: 'इंस्टॉल करें',
    activityMemory: 'गतिविधि स्मृति',
    activityMemoryDesc: 'आपके उपकरणों से क्लाउड में सिंक की गई गतिविधि प्रविष्टियाँ।',
    noActivity: 'अभी तक कोई गतिविधि प्रविष्टि नहीं',
    noActivityDesc:
      'आपके उपकरणों पर लॉग की गई गतिविधि क्लाउड सिंक ऑप्ट-इन के बाद ही यहाँ दिखती है।',
    repos: 'रिपॉजिटरी',
    reposDesc: 'रिपॉजिटरी का पता चला',
    pendingCommands: 'लंबित कमांड',
    pendingApproval: 'अनुमोदन लंबित',
    recentCommands: 'हाल की कमांड',
    approve: 'अनुमोदन करें',
    reject: 'अस्वीकार करें',
    version: 'संस्करण',
    commands: 'कमांड',
    files: 'फ़ाइलें',
    dirty: 'संशोधित',
    connect: {
      title: 'डिवाइस कनेक्ट करें',
      approveDescription: 'अनुमोदन से पहले डिवाइस विवरण और स्कोप की समीक्षा करें।',
      scopesLabel: 'अनुमतियां (स्कोप)',
      approveButton: 'अनुमोदन करें',
      denyButton: 'रद्द करें',
      successTitle: 'डिवाइस जोड़ा गया',
      successBody: 'आप इस टैब को बंद कर सकते हैं और अपने टर्मिनल पर वापस जा सकते हैं।',
      expiredTitle: 'पेयरिंग लिंक अमान्य या समाप्त',
      expiredBody: 'नई पेयरिंग शुरू करने के लिए `claw-agent login` पुनः चलाएं।',
      deniedTitle: 'अनुमोदन रद्द',
      deniedBody: 'कोई क्रेडेंशियल जारी नहीं किए गए। आप इस टैब को बंद कर सकते हैं।',
      accountMismatchTitle: 'गलत खाता',
      accountMismatchBody: 'उस खाते से साइन इन करें जिससे आप इस डिवाइस को जोड़ना चाहते हैं।',
      deviceNamePlaceholder: 'उदा., मेरा MacBook Pro',
    },
    rejectedByUser: 'उपयोगकर्ता द्वारा अस्वीकृत',
  },
  discovery: {
    title: 'मॉडल खोज',
    description: 'नए Ollama मॉडल को गतिशील रूप से खोजें, वर्गीकृत करें, और अनुमोदित करें।',
    searchPlaceholder: 'उम्मीदवार खोजें...',
    filter: {
      status: 'स्थिति',
      all: 'सभी',
      pending: 'लंबित',
      approved: 'अनुमोदित',
      rejected: 'अस्वीकृत',
      imported: 'आयातित',
      duplicate: 'डुप्लिकेट',
    },
    actions: {
      refresh: 'खोज चलाएं',
      dryRun: 'ड्राई रन',
      approve: 'अनुमोदन करें',
      reject: 'अस्वीकार करें',
    },
    runs: {
      title: 'हाल की खोज रन',
      empty: 'अभी तक कोई खोज रन नहीं। शुरू करने के लिए "खोज चलाएं" पर क्लिक करें।',
      discovered: 'खोजे गए',
      imported: 'आयातित',
      skipped: 'छोड़े गए',
    },
    candidates: {
      title: 'उम्मीदवार',
      empty: {
        title: 'कोई उम्मीदवार नहीं',
        description: 'नए मॉडल खोजने के लिए खोज रन ट्रिगर करें।',
      },
    },
    candidate: {
      size: 'आकार',
      confidence: 'विश्वास',
    },
    packs: {
      title: 'हार्डवेयर पैक',
      empty: 'कोई हार्डवेयर पैक कॉन्फ़िगर नहीं।',
      install: 'पैक इंस्टॉल करें',
      noModelsYet: 'अभी तक कोई मॉडल इस प्रोफ़ाइल से मेल नहीं खाता।',
    },
  },
  validation: {
    required: 'यह फ़ील्ड आवश्यक है',
    invalidEmail: 'कृपया एक मान्य ईमेल पता दर्ज करें',
    tooShort: 'कम से कम {min} अक्षर होने चाहिए',
    tooLong: 'अधिकतम {max} अक्षर होने चाहिए',
    invalidUrl: 'कृपया एक मान्य URL दर्ज करें',
    fileTooLarge: 'फ़ाइल आकार अनुमत अधिकतम से अधिक है',
    invalidFileType: 'यह फ़ाइल प्रकार समर्थित नहीं है',
  },
  toast: {
    loginSuccess: 'लॉगिन सफल',
    loginFailed: 'लॉगिन विफल',
    logoutFailed: 'लॉगआउट विफल',
    sessionExpired: 'सत्र समाप्त, कृपया पुनः लॉगिन करें',
  },
  accessibility: {
    closeSidebar: 'साइडबार बंद करें',
    openSidebar: 'साइडबार खोलें',
    toggleSidebar: 'साइडबार टॉगल करें',
    userMenu: 'उपयोगकर्ता मेनू',
    closeDialog: 'डायलॉग बंद करें',
    openMenu: 'मेनू खोलें',
    search: 'खोजें',
    openSearch: 'खोज खोलें',
    closeSearch: 'खोज बंद करें',
    navigation: 'मुख्य नेविगेशन',
    notifications: 'सूचनाएं',
    languageSelector: 'भाषा चुनें',
    themeToggle: 'थीम टॉगल करें',
    resizeInput: 'संदेश इनपुट का आकार बदलें',
  },
  actions: {
    test: 'टेस्ट',
    testing: 'परीक्षण हो रहा है...',
    sync: 'सिंक',
    syncing: 'सिंक हो रहा है...',
    archive: 'संग्रहित करें',
    unarchive: 'असंग्रहित करें',
    pin: 'पिन करें',
    unpin: 'अनपिन करें',
    duplicate: 'डुप्लिकेट',
    copy: 'कॉपी करें',
    copied: 'कॉपी हो गया',
    copyToClipboard: 'क्लिपबोर्ड पर कॉपी करें',
    view: 'देखें',
    viewAll: 'सब देखें',
    viewDetails: 'विवरण देखें',
    download: 'डाउनलोड',
    upload: 'अपलोड',
    refresh: 'रिफ्रेश',
    reset: 'रीसेट',
    apply: 'लागू करें',
    approve: 'अनुमोदन करें',
    approving: 'अनुमोदन हो रहा है...',
    reject: 'अस्वीकार करें',
    rejecting: 'अस्वीकार हो रहा है...',
    reload: 'पुनः लोड',
    reconnect: 'पुनः कनेक्ट',
    expand: 'विस्तार',
    collapse: 'संक्षिप्त',
    enable: 'सक्षम करें',
    disable: 'अक्षम करें',
    remove: 'हटाएं',
    add: 'जोड़ें',
    select: 'चुनें',
    selectAll: 'सभी चुनें',
    deselectAll: 'सभी को अचयनित करें',
    clear: 'साफ़ करें',
    submit: 'सबमिट करें',
    more: 'अधिक',
    less: 'कम',
    showMore: 'अधिक दिखाएं',
    showLess: 'कम दिखाएं',
  },
  logs: {
    allLevels: 'सभी स्तर',
    allActions: 'सभी क्रियाएं',
    allSeverities: 'सभी गंभीरताएं',
    allMethods: 'सभी विधियां',
    methodPlaceholder: 'विधि',
    componentPlaceholder: 'कंपोनेंट...',
    actionPlaceholder: 'क्रिया...',
    routePlaceholder: 'रूट...',
    routeRegexPlaceholder: 'रूट (regex)...',
    userIdPlaceholder: 'उपयोगकर्ता ID...',
    messageContainsPlaceholder: 'संदेश में शामिल...',
    servicePlaceholder: 'सेवा...',
    controllerPlaceholder: 'कंट्रोलर...',
    entityTypePlaceholder: 'एंटिटी प्रकार...',
    startDate: 'प्रारंभ तिथि',
    endDate: 'समाप्ति तिथि',
    fullTextSearch: 'फुल-टेक्स्ट खोज...',
    searchAllFields: 'सभी फ़ील्ड में खोजें...',
    avgLatency: 'औसत विलंबता',
    errors: 'त्रुटियाँ',
    failedToLoadClient: 'क्लाइंट लॉग लोड करने में विफल',
    failedToLoadClientDesc: 'सर्वर से क्लाइंट लॉग प्राप्त करने में असमर्थ',
    failedToLoadServer: 'सर्वर लॉग लोड करने में विफल',
    failedToLoadServerDesc: 'सर्वर से सर्वर लॉग प्राप्त करने में असमर्थ',
    levelDistribution: 'स्तर वितरण',
    loadingClient: 'क्लाइंट लॉग लोड हो रहे हैं...',
    loadingServer: 'सर्वर लॉग लोड हो रहे हैं...',
    noActionData: 'कोई क्रिया डेटा नहीं',
    noClientLogs: 'कोई क्लाइंट लॉग नहीं',
    noClientLogsActivityDesc: 'अभी तक कोई क्लाइंट लॉग गतिविधि रिकॉर्ड नहीं की गई है',
    noComponentData: 'कोई घटक डेटा नहीं',
    noServerLogs: 'कोई सर्वर लॉग नहीं',
    noServerLogsActivityDesc: 'अभी तक कोई सर्वर लॉग गतिविधि रिकॉर्ड नहीं की गई है',
    noServiceData: 'कोई सेवा डेटा नहीं',
    percentOfTotal: 'कुल का %',
    topActions: 'शीर्ष क्रियाएँ',
    topComponents: 'शीर्ष घटक',
    topServices: 'शीर्ष सेवाएँ',
    totalLogs: 'कुल लॉग',
  },
  gmail: {
    page: {
      title: 'Gmail',
      description: 'समन्वयित Gmail संदेशों को ब्राउज़ और प्रबंधित करें।',
      empty_title: 'कोई ईमेल समन्वयित नहीं',
      empty_description:
        'अभी तक कोई ईमेल समन्वयित नहीं हुआ। संदेश लोड करने के लिए अपने Gmail कनेक्टर पर सिंक चलाएं।',
      error_title: 'ईमेल लोड करने में असमर्थ',
      no_connector_title: 'Gmail कनेक्टर नहीं मिला',
      no_connector_description:
        'अपना इनबॉक्स ब्राउज़ करने के लिए Workspace Connectors में Gmail खाता कनेक्ट करें।',
    },
    message: {
      from: 'प्रेषक',
      to: 'प्राप्तकर्ता',
      date: 'तारीख',
      subject: 'विषय',
      reply: 'उत्तर दें',
      open_in_gmail: 'Gmail में खोलें',
      unread: 'अपठित',
      attachments: 'अनुलग्नक ({count})',
      download: '{name} डाउनलोड करें',
      htmlIframeTitle: 'ईमेल मुख्य भाग',
      toggleHtml: 'HTML टॉगल करें',
      showHtml: 'HTML दिखाएँ',
      toggleImages: 'इमेज टॉगल',
      loadImages: 'इमेज लोड करें',
      imagesBlocked: 'इमेज ब्लॉक्ड',
    },
    actions: {
      summarize: 'सारांश',
      draft_reply: 'उत्तर का मसौदा',
      extract_tasks: 'कार्य निकालें',
      send_email: 'ईमेल भेजें',
      draft_sent: 'मसौदा बनाया — Approvals में समीक्षा करें',
      draft_failed: 'मसौदा बनाने में विफल',
    },
  },
  jira: {
    page: {
      title: 'Jira',
      description: 'सिंक किए गए Jira टिकट देखें और प्रबंधित करें।',
      empty_title: 'कोई टिकट सिंक नहीं हुए',
      empty_description:
        'अभी तक कोई Jira टिकट सिंक नहीं हुए। टिकट लोड करने के लिए अपने Jira कनेक्टर पर सिंक चलाएं।',
      error_title: 'टिकट लोड नहीं हो सके',
      no_connector_title: 'कोई Jira कनेक्टर नहीं मिला',
      no_connector_description:
        'अपने टिकट देखना शुरू करने के लिए Workspace Connectors में Jira खाता जोड़ें।',
    },
    ticket: {
      status: 'स्थिति',
      priority: 'प्राथमिकता',
      assignee: 'असाइनी',
      reporter: 'रिपोर्टर',
      project: 'प्रोजेक्ट',
      sprint: 'स्प्रिंट',
      story_points: 'स्टोरी पॉइंट',
      due_date: 'देय तिथि',
      labels: 'लेबल',
      issue_type: 'प्रकार',
      open_in_jira: 'Jira में खोलें',
      unassigned: 'असाइन नहीं',
      no_sprint: 'कोई स्प्रिंट नहीं',
    },
    actions: {
      summarize: 'सारांश',
      write_comment: 'टिप्पणी लिखें',
      extract_tasks: 'कार्य निकालें',
    },
  },
  source_control: {
    page: {
      title: 'सोर्स कंट्रोल',
      description: 'GitHub, GitLab और Bitbucket से pull requests देखें।',
      empty_title: 'कोई pull request सिंक नहीं हुई',
      empty_description:
        'अभी तक कोई pull request सिंक नहीं हुई। सोर्स कंट्रोल कनेक्टर पर सिंक चलाएं।',
      error_title: 'Pull requests लोड नहीं हो सकीं',
      no_connector_title: 'कोई सोर्स कंट्रोल कनेक्टर नहीं मिला',
      no_connector_description:
        'Pull requests देखने के लिए Workspace Connectors में GitHub, GitLab या Bitbucket जोड़ें।',
    },
    pr: {
      author: 'लेखक',
      source_branch: 'से',
      target_branch: 'में',
      reviewers: 'समीक्षक',
      additions: 'जोड़',
      deletions: 'हटाव',
      labels: 'लेबल',
      draft: 'मसौदा',
      open_pr: 'PR खोलें',
      state_open: 'खुला',
      state_closed: 'बंद',
      state_merged: 'मर्ज',
      review_approved: 'स्वीकृत',
      review_changes: 'बदलाव अनुरोध',
      review_pending: 'समीक्षा बाकी',
    },
    actions: {
      review: 'PR समीक्षा',
      summarize: 'सारांश',
      extract_tasks: 'कार्य निकालें',
    },
  },
  slack: {
    page: {
      title: 'Slack',
      description: 'सिंक किए गए Slack संदेश देखें और प्रबंधित करें।',
      empty_title: 'कोई संदेश सिंक नहीं हुए',
      empty_description:
        'अभी तक कोई Slack संदेश सिंक नहीं हुए। संदेश लोड करने के लिए Slack कनेक्टर पर सिंक चलाएं।',
      error_title: 'संदेश लोड नहीं हो सके',
      no_connector_title: 'कोई Slack कनेक्टर नहीं मिला',
      no_connector_description:
        'संदेश देखने के लिए Workspace Connectors में Slack workspace जोड़ें।',
    },
    message: {
      channel: 'चैनल',
      sender: 'से',
      date: 'तिथि',
      thread_reply: 'थ्रेड उत्तर',
      open_in_slack: 'Slack में खोलें',
      reactions: 'प्रतिक्रियाएं',
    },
    actions: {
      summarize: 'सारांश',
      reply: 'उत्तर का मसौदा',
      extract_tasks: 'कार्य निकालें',
    },
  },
  confluence: {
    page: {
      title: 'Confluence',
      description: 'सिंक किए गए Confluence पृष्ठ देखें और प्रबंधित करें।',
      empty_title: 'कोई पृष्ठ सिंक नहीं हुए',
      empty_description:
        'अभी तक कोई Confluence पृष्ठ सिंक नहीं हुए। Confluence कनेक्टर पर सिंक चलाएं।',
      error_title: 'पृष्ठ लोड नहीं हो सके',
      no_connector_title: 'कोई Confluence कनेक्टर नहीं मिला',
      no_connector_description:
        'पृष्ठ देखने के लिए Workspace Connectors में Confluence workspace जोड़ें।',
    },
    article: {
      space: 'स्पेस',
      author: 'लेखक',
      modified_by: 'संशोधित किया',
      version: 'संस्करण',
      labels: 'लेबल',
      parent: 'मूल',
      open_page: 'Confluence में खोलें',
    },
    actions: {
      summarize: 'सारांश',
      extract_tasks: 'कार्य निकालें',
      write_comment: 'टिप्पणी लिखें',
    },
  },
  docs: {
    page: {
      title: 'दस्तावेज़',
      description:
        'Google Drive, OneDrive और SharePoint से सिंक किए गए दस्तावेज़ देखें और प्रबंधित करें।',
      empty_title: 'कोई दस्तावेज़ सिंक नहीं हुए',
      empty_description:
        'अभी तक कोई दस्तावेज़ सिंक नहीं हुए। Drive या SharePoint कनेक्टर पर सिंक चलाएं।',
      error_title: 'दस्तावेज़ लोड नहीं हो सके',
      no_connector_title: 'कोई दस्तावेज़ कनेक्टर नहीं मिला',
      no_connector_description:
        'दस्तावेज़ देखने के लिए Workspace Connectors में Google Drive, OneDrive या SharePoint जोड़ें।',
    },
    file: {
      owner: 'स्वामी',
      modified_by: 'संशोधित किया',
      size: 'आकार',
      type: 'प्रकार',
      open_file: 'फ़ाइल खोलें',
      shared_with: 'साझा किया गया',
      path: 'पथ',
    },
    actions: {
      summarize: 'सारांश',
      extract_tasks: 'कार्य निकालें',
      draft_email: 'ईमेल का मसौदा',
    },
  },
  figma: {
    page: {
      title: 'Figma',
      description: 'सिंक किए गए Figma डिज़ाइन फ़ाइलें ब्राउज़ और प्रबंधित करें।',
      empty_title: 'कोई डिज़ाइन नहीं मिला',
      empty_description: 'अभी तक कोई Figma डिज़ाइन फ़ाइल सिंक नहीं हुई है।',
      error_title: 'डिज़ाइन लोड करने में विफल',
      no_connector_title: 'Figma कनेक्ट नहीं है',
      no_connector_description: 'डिज़ाइन ब्राउज़ करने के लिए अपना Figma वर्कस्पेस कनेक्ट करें।',
    },
    design: {
      team: 'टीम',
      project: 'प्रोजेक्ट',
      modified_by: 'द्वारा संशोधित',
      components: 'घटक',
      open_in_figma: 'Figma में खोलें',
      last_updated: 'अंतिम अपडेट',
    },
    actions: {
      summarize: 'डिज़ाइन सारांश',
      extract_components: 'घटक निकालें',
      draft_spec: 'स्पेक तैयार करें',
    },
  },
  workflow: {
    page: {
      title: 'क्रॉस-वर्कस्पेस वर्कफ़्लो',
      description:
        'कई वर्कस्पेस प्रदाताओं से ऑब्जेक्ट चुनें और संयुक्त संदर्भ पर AI क्रियाएँ चलाएँ।',
      empty_title: 'कोई ऑब्जेक्ट नहीं मिला',
      empty_description: 'अभी तक कोई वर्कस्पेस ऑब्जेक्ट सिंक नहीं हुआ है।',
      error_title: 'ऑब्जेक्ट लोड करने में विफल',
    },
    object: {
      add: 'जोड़ें',
      remove: 'हटाएँ',
      selected_count: 'ऑब्जेक्ट चुने गए',
      clear_all: 'सब हटाएँ',
    },
    actions: {
      summarize_all: 'सब सारांश करें',
      extract_requirements: 'आवश्यकताएँ निकालें',
      draft_prd: 'PRD तैयार करें',
    },
  },
  gpuBadge: {
    cpuOnly: 'केवल CPU',
    noGpu: 'कोई GPU नहीं मिला — स्थानीय मॉडल देखने के लिए क्लिक करें',
    vendor: {
      nvidia: 'NVIDIA',
      amd: 'AMD ROCm',
      metal: 'Metal',
      intel: 'Intel/Vulkan',
      unknown: 'GPU',
      cpu: 'CPU',
    },
  },
  localFrontier: {
    title: 'स्थानीय फ्रंटियर मॉडल',
    subtitle:
      'फ्रंटियर ओपन-वेट LLMs (Kimi K2, GLM-5.1, DeepSeek V3.2/V4) पूरी तरह से स्थानीय रूप से चलाएँ।',
    loading: 'कैटलॉग लोड हो रहा है…',
    catalogEmpty: 'कोई मॉडल फ़िल्टर से मेल नहीं खाता।',
    catalogError: 'कैटलॉग लोड नहीं हुआ। claw-llamacpp-service चालू है या नहीं जाँचें।',
    contextLength: 'टोकन कॉन्टेक्स्ट',
    requiresRamGb: 'GB RAM',
    sourceLink: 'HuggingFace',
    actions: {
      download: 'डाउनलोड',
      load: 'लोड',
      unload: 'अनलोड',
      deleteWeights: 'वज़न हटाएँ',
      configure: 'रनटाइम कॉन्फ़िगर',
    },
    download: { start: 'डाउनलोड', cancel: 'रद्द', retry: 'पुनः प्रयास' },
    compat: {
      fits: 'आपके हार्डवेयर के अनुकूल',
      warns: 'सीमित हार्डवेयर',
      refuses: 'अपर्याप्त हार्डवेयर',
    },
    qualityTier: { survival: 'सर्वाइवल', balanced: 'संतुलित', best: 'सर्वश्रेष्ठ' },
    preflight: {
      RAM_INSUFFICIENT: 'इस मॉडल के लिए RAM पर्याप्त नहीं है।',
      DISK_INSUFFICIENT: 'पर्याप्त डिस्क स्थान नहीं (ओवरराइड संभव नहीं)।',
      GPU_INSUFFICIENT: 'कोई संगत GPU नहीं मिला।',
      BINARY_NOT_INSTALLED: 'llama-server बाइनरी अभी स्थापित नहीं है।',
      RUNTIME_INCOMPATIBLE: 'स्थापित रनटाइम इस मॉडल को नहीं चला सकता।',
    },
    override: {
      warning: 'आपका हार्डवेयर आवश्यकताओं से कम है। केवल जोखिम समझकर ओवरराइड करें।',
      confirmTypeSize: 'ओवरराइड की पुष्टि के लिए मॉडल आकार GB में लिखें:',
    },
    delete: {
      confirm: 'वज़न हटाएँ?',
      confirmTypePrompt: 'पुष्टि के लिए मॉडल नाम (जैसे glm-5.1:Q4_K_M) टाइप करें।',
    },
    hardware: {
      title: 'हार्डवेयर और रनटाइम',
      subtitle: 'इस मशीन और llama.cpp बाइनरी का लाइव स्नैपशॉट।',
      refresh: 'रिफ़्रेश',
      ram: 'RAM',
      disk: 'डिस्क',
      cpu: 'CPU',
      gpu: 'GPU',
      binary: 'बाइनरी',
      cores: 'कोर',
      noGpu: 'कोई GPU नहीं',
      notInstalled: 'स्थापित नहीं',
      loadedModel: 'लोड किया गया मॉडल',
      noLoadedModel: 'कोई लोड नहीं',
    },
    filters: {
      category: 'श्रेणी',
      qualityTier: 'गुणवत्ता स्तर',
      compatibleOnly: 'केवल संगत',
      refreshCatalog: 'कैटलॉग रिफ़्रेश',
      refreshing: 'रिफ़्रेश हो रहा है…',
      allCategories: 'सभी श्रेणियाँ',
      allTiers: 'सभी स्तर',
      categoryCoding: 'कोडिंग',
      categoryReasoning: 'तर्क',
      categoryThinking: 'सोच',
      categoryGeneral: 'सामान्य',
      categoryFileGen: 'फ़ाइल जनरेशन',
    },
    downloads: {
      title: 'सक्रिय डाउनलोड',
      empty: 'कोई सक्रिय या हालिया डाउनलोड नहीं।',
      cancel: 'रद्द',
      retry: 'पुनः प्रयास',
      remove: 'बंद करें',
      status: 'स्थिति',
      bytes: 'बाइट्स',
      files: 'फ़ाइलें',
      rate: 'दर',
      eta: 'ETA',
      unknown: 'तैयारी…',
    },
    deleteDialog: {
      title: 'वज़न हटाएँ',
      description: 'यह डिस्क से डाउनलोड किए गए वज़न को स्थायी रूप से हटा देता है।',
      promptLabel: 'पुष्टि के लिए लिखें',
      placeholder: 'मॉडल:टैग',
      cancel: 'रद्द',
      confirm: 'वज़न हटाएँ',
      warning: 'पूर्ववत नहीं किया जा सकता। पुनः उपयोग के लिए फिर से डाउनलोड करना होगा।',
    },
    overrideDialog: {
      title: 'हार्डवेयर जाँच ओवरराइड करें?',
      description: 'आपकी मशीन इस मॉडल की अनुशंसित विशिष्टताओं को पूरा नहीं करती।',
      reasonsTitle: 'कारण:',
      cancel: 'रद्द',
      proceed: 'फिर भी डाउनलोड करें',
    },
    configDialog: {
      title: 'रनटाइम कॉन्फ़िगरेशन',
      description: 'लोड किए गए मॉडल के लिए llama.cpp पैरामीटर ट्यून करें।',
      ngpuLayers: 'GPU परतें',
      ngpuLayersHint: 'GPU पर अनलोड की जाने वाली परतें। खाली = स्वतः।',
      ctxSize: 'कॉन्टेक्स्ट आकार',
      ctxSizeHint: 'टोकन में अधिकतम कॉन्टेक्स्ट विंडो।',
      threads: 'CPU थ्रेड',
      threadsHint: 'CPU थ्रेड संख्या। खाली = स्वतः।',
      cpuMoe: 'CPU MoE',
      cpuMoeHint: 'मिश्रित-विशेषज्ञ परतें केवल CPU पर चलाएँ।',
      customArgs: 'कस्टम args',
      customArgsHint: 'अतिरिक्त llama-server flags (allowlist लागू)।',
      cancel: 'रद्द',
      save: 'सहेजें',
    },
  },

  emailTemplates: {
    page: {
      title: 'ईमेल टेम्पलेट',
      description:
        'AI द्वारा लिखे गए ईमेल के लिए पुन: प्रयोज्य विषय + मुख्य भाग। टेम्पलेट उपयोग करते समय {{placeholders}} भर दिए जाते हैं।',
      loading: 'टेम्पलेट लोड हो रहे हैं…',
      error: 'टेम्पलेट लोड नहीं हो सके। पेज रिफ्रेश करें।',
      empty: 'अभी तक कोई टेम्पलेट नहीं। शुरू करने के लिए एक बनाएं।',
      create: 'नया टेम्पलेट',
      edit: 'संपादित करें',
      delete: 'हटाएं',
      deleting: 'हटाया जा रहा है…',
      defaultBadge: 'डिफ़ॉल्ट',
      subjectLabel: 'विषय',
    },
    dialog: {
      createTitle: 'टेम्पलेट बनाएं',
      editTitle: 'टेम्पलेट संपादित करें',
      nameLabel: 'नाम',
      namePlaceholder: 'फ़ॉलो-अप ईमेल',
      subjectLabel: 'विषय',
      subjectPlaceholder: '{{topic}} के बारे में फ़ॉलो-अप',
      bodyLabel: 'मुख्य भाग',
      bodyPlaceholder: 'नमस्ते {{name}},\n\n{{topic}} के बारे में फिर से संपर्क कर रहा हूँ…',
      defaultLabel: 'डिफ़ॉल्ट के रूप में उपयोग करें',
      save: 'सहेजें',
      saving: 'सहेजा जा रहा है…',
      cancel: 'रद्द करें',
    },
  },

  inbox: {
    page: {
      title: 'कार्यक्षेत्र इनबॉक्स',
      description:
        'Cross-provider feed of every recent workspace object — filter by provider, type, attention.',
      loading: 'इनबॉक्स लोड हो रहा है…',
      loadingMore: 'और लोड हो रहा है…',
      loadMore: 'और लोड करें',
      empty: 'फ़िल्टर से मेल खाने वाले कोई आइटम नहीं।',
      error: 'इनबॉक्स लोड नहीं हो सका। रिफ़्रेश करें।',
    },
    filter: {
      providers: 'प्रदाता:',
      types: 'प्रकार:',
      needsAttention: 'ध्यान आवश्यक',
      hasSuggestion: 'सुझाव है',
      reset: 'फ़िल्टर रीसेट करें',
    },
    row: {
      needsAttention: 'ध्यान आवश्यक',
      hasSuggestion: 'सुझाव है',
      mark: 'ध्यान देने के रूप में चिह्नित करें',
      unmark: 'ध्यान साफ़ करें',
      openExternal: 'खोलें',
      viewFile: 'फ़ाइल देखें',
    },
  },
  fileViewer: {
    loading: 'फ़ाइल लोड हो रही है…',
    error: 'यह फ़ाइल लोड नहीं हो सकी।',
    unsupported:
      'इस फ़ाइल प्रकार के लिए पूर्वावलोकन उपलब्ध नहीं है। इसे स्थानीय रूप से खोलने के लिए डाउनलोड का उपयोग करें।',
    download: 'डाउनलोड',
    close: 'बंद करें',
  },
  search: {
    page: {
      title: 'सेमांटिक खोज',
      description: 'अपने सभी वर्कस्पेस ऑब्जेक्ट खोजें — गोपनीयता-संरक्षण स्थानीय एम्बेडिंग।',
      placeholder: 'Type a natural-language question…',
      submit: 'खोज',
      searching: 'खोज रहा है…',
      reset: 'रीसेट',
      local: 'स्थानीय एम्बेडिंग ({model})',
      noResults: 'कोई मेल नहीं मिला। अलग शब्द आज़माएँ।',
      error: 'खोज विफल हुई। पुनः प्रयास करें।',
    },
  },
  digest: {
    page: {
      title: 'डाइजेस्ट',
      description: 'आपकी सुबह की रिपोर्ट: हर कनेक्टेड वर्कस्पेस में क्या बदला।',
      loading: 'डाइजेस्ट लोड हो रहा है…',
      error: 'डाइजेस्ट लोड नहीं हो सका।',
      noTodayDigest: 'आज के लिए अभी डाइजेस्ट नहीं। ट्रिगर करें या क्रॉन की प्रतीक्षा करें।',
      today: 'आज का डाइजेस्ट',
      history: 'पिछले डाइजेस्ट',
      generatedAt: '{ts} पर जनरेट',
      sectionsCount: '{n} sections',
      triggerDaily: 'दैनिक डाइजेस्ट ट्रिगर करें',
      triggerWeekly: 'साप्ताहिक डाइजेस्ट ट्रिगर करें',
      triggering: 'जनरेट हो रहा है…',
      preferenceHint: 'दैनिक: {hour}:00 ({tz})',
    },
    section: {
      highlights: 'मुख्य बातें',
      actionItems: 'कार्य आइटम',
    },
  },
  adminAutomation: {
    dismiss: 'खारिज करें',
    retry: 'पुनः प्रयास',
    policies: {
      title: 'AI एक्शन नीतियाँ',
      description:
        'डिफ़ॉल्ट रूप से सख्त अनुमोदन नियम। सिस्टम डिफ़ॉल्ट को निष्क्रिय किया जा सकता है लेकिन हटाया नहीं जा सकता।',
      loading: 'नीतियाँ लोड हो रही हैं…',
      error: 'नीतियाँ लोड नहीं हो सकीं।',
      empty: 'अभी कोई नीति कॉन्फ़िगर नहीं।',
      systemDefault: 'सिस्टम डिफ़ॉल्ट',
      priority: 'प्राथमिकता {p}',
      providerRegex: 'प्रदाता रेगेक्स',
      actionKindRegex: 'क्रिया प्रकार रेगेक्स',
      riskCeiling: 'जोखिम सीमा',
      delete: 'हटाएँ',
      cannotDelete: 'सिस्टम डिफ़ॉल्ट हटाए नहीं जा सकते',
      toggleActive: 'सक्रिय टॉगल करें',
      toggleSucceeded: 'नीति अपडेट की गई।',
      toggleFailed: 'नीति अपडेट नहीं हो सकी।',
      deleteSucceeded: 'नीति हटा दी गई।',
      deleteFailed: 'नीति हटाई नहीं जा सकी।',
      mutationError: 'नीति अपडेट करते समय त्रुटि हुई।',
      addPolicy: 'नीति जोड़ें',
      editPolicy: 'नीति संपादित करें',
      createTitle: 'नीति बनाएँ',
      editTitle: 'नीति संपादित करें',
      createDescription: 'AI-मसौदा वर्कस्पेस क्रियाओं के लिए एक नया अनुमोदन नियम परिभाषित करें।',
      editDescription: 'इस अनुमोदन नियम को अपडेट करें। नाम बदला नहीं जा सकता।',
      createSucceeded: 'नीति बनाई गई।',
      createFailed: 'नीति नहीं बनाई जा सकी।',
      updateSucceeded: 'नीति अपडेट की गई।',
      updateFailed: 'नीति अपडेट नहीं हो सकी।',
      submit: 'नीति सहेजें',
      submitting: 'सहेजा जा रहा है…',
      nameLabel: 'नाम',
      nameHelp: 'लोअरकेस kebab-case पहचानकर्ता (जैसे deny-pii)।',
      descriptionLabel: 'विवरण',
      kindFieldLabel: 'प्रकार',
      requireReasonLabel: 'HIGH/CRITICAL के लिए कारण आवश्यक',
      isActiveLabel: 'सक्रिय',
      riskMaxScoreLabel: 'अधिकतम जोखिम स्कोर (0–100)',
      priorityLabel: 'प्राथमिकता (0–10000)',
      kindLabel: {
        DENY: 'अस्वीकार करें',
        ALLOW: 'अनुमति दें',
        AUTO_APPROVE: 'स्वतः अनुमोदन',
      },
      riskLabel: {
        LOW: 'कम',
        MEDIUM: 'मध्यम',
        HIGH: 'उच्च',
        CRITICAL: 'गंभीर',
      },
    },
    rules: {
      title: 'सुझाव ट्रिगर नियम',
      description:
        'ऐसे नियम जो प्रदाता की कच्ची घटनाओं को मसौदा सुझावों में बदल देते हैं। संपादित करें, निष्क्रिय करें या हटाएँ।',
      loading: 'नियम लोड हो रहे हैं…',
      error: 'नियम लोड नहीं हो सके।',
      empty: 'अभी कोई नियम कॉन्फ़िगर नहीं।',
      systemDefault: 'सिस्टम डिफ़ॉल्ट',
      priority: 'प्राथमिकता {p}',
      eventType: 'इवेंट प्रकार',
      actionKind: 'क्रिया प्रकार',
      providerRegex: 'प्रदाता रेगेक्स',
      contentRegex: 'सामग्री रेगेक्स',
      delete: 'हटाएँ',
      cannotDelete: 'सिस्टम डिफ़ॉल्ट हटाए नहीं जा सकते',
      toggleActive: 'सक्रिय टॉगल करें',
      toggleSucceeded: 'नियम अपडेट किया गया।',
      toggleFailed: 'नियम अपडेट नहीं हो सका।',
      deleteSucceeded: 'नियम हटा दिया गया।',
      deleteFailed: 'नियम हटाया नहीं जा सका।',
      mutationError: 'नियम अपडेट करते समय त्रुटि हुई।',
      addRule: 'नियम जोड़ें',
      editRule: 'नियम संपादित करें',
      createTitle: 'नियम बनाएँ',
      editTitle: 'नियम संपादित करें',
      createDescription: 'परिभाषित करें कि वर्कस्पेस ईवेंट से सुझाव कब मसौदा करना है।',
      editDescription: 'इस ट्रिगर नियम को अपडेट करें। नाम बदला नहीं जा सकता।',
      createSucceeded: 'नियम बनाया गया।',
      createFailed: 'नियम नहीं बनाया जा सका।',
      updateSucceeded: 'नियम अपडेट किया गया।',
      updateFailed: 'नियम अपडेट नहीं हो सका।',
      submit: 'नियम सहेजें',
      submitting: 'सहेजा जा रहा है…',
      nameLabel: 'नाम',
      nameHelp: 'लोअरकेस kebab-case पहचानकर्ता (जैसे github-pr-opened)।',
      descriptionLabel: 'विवरण',
      eventTypeHelp: 'workspace.webhook.received जैसा इवेंट पैटर्न।',
      actionKindHelp: 'SUMMARIZE, DRAFT, REWRITE जैसे क्रिया प्रकार।',
      isActiveLabel: 'सक्रिय',
      priorityLabel: 'प्राथमिकता (0–10000)',
    },
  },
  adminWebhooks: {
    page: {
      title: 'वेबहुक डिलीवरी',
      description: 'अपने प्रदाताओं से आने वाली वेबहुक डिलीवरी का निरीक्षण और पुनःचालन करें।',
      loading: 'डिलीवरी लोड हो रही है…',
      error: 'वेबहुक डिलीवरी लोड करने में विफल।',
      empty: 'आपके फ़िल्टर से कोई डिलीवरी मेल नहीं खाती।',
    },
    filter: {
      providerPlaceholder: 'प्रदाता द्वारा फ़िल्टर करें (जैसे GITHUB)',
      connectorPlaceholder: 'कनेक्टर आईडी द्वारा फ़िल्टर करें',
      signaturePlaceholder: 'हस्ताक्षर स्थिति',
      signatureAny: 'कोई भी हस्ताक्षर',
      signatureValid: 'मान्य हस्ताक्षर',
      signatureInvalid: 'अमान्य हस्ताक्षर',
      clear: 'फ़िल्टर साफ़ करें',
    },
    row: {
      deliveryId: 'डिलीवरी आईडी',
      connector: 'कनेक्टर',
      bytes: 'बॉडी बाइट्स',
      processedAt: 'संसाधित किया गया',
    },
    status: {
      accepted: 'स्वीकृत',
      rejected: 'अस्वीकृत',
      idempotent: 'इडिम्पोटेंट',
    },
    replay: 'पुनःचालन',
    replaying: 'पुनः चलाया जा रहा है…',
    replaySucceeded: 'वेबहुक डिलीवरी फिर से चलाई गई।',
    replayFailed: 'वेबहुक डिलीवरी पुनः नहीं चलाई जा सकी।',
  },
  implHandoff: {
    page: {
      title: 'कोडिंग हैंडऑफ़',
      description:
        'Approved IMPL_PROMPT actions delivered to chat threads, agent terminals, or clipboard.',
      loading: 'हैंडऑफ़ लोड हो रहे हैं…',
      error: 'हैंडऑफ़ लोड नहीं हो सके।',
      empty: 'अभी तक कोई हैंडऑफ़ नहीं। कतार में IMPL_PROMPT अनुमोदित करें।',
      openThread: 'चैट थ्रेड खोलें →',
    },
    picker: {
      title: 'IMPL_PROMPT भेजें…',
      description: 'अनुमोदित कोडिंग ब्रीफ कहाँ भेजें चुनें।',
      cancel: 'रद्द करें',
      CHAT: { hint: 'ब्रीफ के साथ नया चैट थ्रेड खोलें' },
      AGENT: { hint: 'जुड़े डिवाइस टर्मिनल कतार में डालें' },
      CLIPBOARD: { hint: 'क्लिपबोर्ड पर कॉपी करें' },
    },
  },
  learned: {
    panel: {
      title: 'हमने क्या सीखा',
      subtitle: '{count} preferences',
      description:
        'Patterns derived from your approve / reject / edit decisions. Used to personalise future suggestions.',
      loading: 'लोड हो रहा है…',
      error: 'प्राथमिकताएँ लोड नहीं हो सकीं।',
      empty: 'हम आपके अप्रूवल से सीखेंगे — अभी कोई प्राथमिकता नहीं।',
    },
  },
};
