@nac3/forge-cli 1.0.77 → 1.0.78

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,527 +1,531 @@
1
- {
2
- "panel.brand": "Yujin Forge",
3
- "panel.brand.kanji": "侑",
4
- "panel.tagline": "वॉइस-फर्स्ट डेवलपमेंट असिस्टेंट",
5
- "panel.input.placeholder": "Yujin से पूछें",
6
- "panel.button.send": "भेजें",
7
- "panel.button.mic": "बोलें (दबाकर रखें)",
8
- "panel.button.mic.recording": "रिकॉर्डिंग रोकने के लिए दबाएँ",
9
- "panel.button.tts": "आवाज़ चालू",
10
- "panel.button.keys": "कुंजियाँ",
11
- "panel.button.minimise": "छोटा करें",
12
- "panel.button.maximise": "बड़ा करें",
13
- "panel.button.close": "बंद करें",
14
- "panel.button.language": "भाषा",
15
- "panel.trace.title": "क्रिया लॉग",
16
- "panel.trace.count.one": "{n} टूल कॉल",
17
- "panel.trace.count.other": "{n} टूल कॉल्स",
18
- "panel.trace.empty.kanji": "空",
19
- "panel.trace.empty.body": "Yujin Forge आपको जवाब देने के लिए जो भी टूल चलाता है, वह यहाँ दिखाता है: मैनिफेस्ट पढ़ना, SPEC में खोज, कंपोनेंट्स संपादन, दस्तावेज़ पढ़ना। ऐसा कोई प्रश्न पूछें जिसमें इनकी ज़रूरत हो।",
20
- "panel.trace.badge.tool": "टूल",
21
- "panel.trace.badge.voice": "आवाज़",
22
- "panel.trace.badge.error": "त्रुटि",
23
- "panel.stream.empty.kanji": "侑仁",
24
- "panel.stream.empty.body": "Yujin Forge ऑनलाइन है। प्रोजेक्ट में बदलाव माँगें।",
25
- "panel.status.no_audio": "कोई ऑडियो कैप्चर नहीं हुआ। माइक्रोफ़ोन ने शायद कुछ नहीं पकड़ा।",
26
- "panel.status.did_not_catch": "मैं समझ नहीं पाया। फिर से कोशिश करें।",
27
- "panel.status.mic_denied": "माइक्रोफ़ोन अनुमति अस्वीकृत या अनुपलब्ध: {error}",
28
- "panel.status.voice_failed": "आवाज़ विफल: {error}",
29
- "panel.status.voice_reply_failed": "उत्तर नहीं चला सका: {error}",
30
- "panel.status.audio_play_error": "ऑडियो नहीं चला सका: {error}",
31
- "panel.status.reading": "{filename} पढ़ रहा हूँ...",
32
- "panel.status.ingest_failed": "इनजेस्ट विफल: {error}",
33
- "panel.status.read_failed": "विनिर्देश नहीं पढ़ सका: {error}",
34
- "panel.drop.title": "विनिर्देश यहाँ छोड़ें",
35
- "panel.drop.hint": "PDF, DOCX, HTML, MD, RTF, EPUB, CSV, XLSX, TXT",
36
- "panel.ingest.spec_attached": "विनिर्देश संलग्न: {filename}, {kb} KB",
37
- "panel.ingest.read_label": "पढ़ा गया।",
38
- "panel.ingest.title_label": "शीर्षक: {title}",
39
- "panel.ingest.no_title": "(कोई शीर्षक नहीं)",
40
- "panel.ingest.format_label": "प्रारूप: {format} / {sections} खंड / {kb} KB",
41
- "panel.ingest.first_lines": "पहली पंक्तियाँ:",
42
- "panel.ingest.action_done": "क्रिया {tool} पूर्ण।",
43
- "vault.modal.title": "क्रेडेंशियल्स (वॉल्ट)",
44
- "vault.modal.aria.close": "क्रेडेंशियल्स मोडल बंद करें",
45
- "vault.tab.list": "लोड किए गए स्लॉट्स",
46
- "vault.tab.add": "जोड़ें",
47
- "vault.list.loading": "लोड हो रहा है...",
48
- "vault.list.empty": "आपने अभी तक कोई कुंजी लोड नहीं की है। शुरू करने के लिए \"जोड़ें\" पर क्लिक करें।",
49
- "vault.add.slot_label": "स्लॉट का नाम",
50
- "vault.add.slot_hint": "छोटे अक्षर, अंक, अंडरस्कोर, हाइफ़न। अक्षर से शुरू होना चाहिए।",
51
- "vault.add.value_label": "सादा-पाठ मान (मास्क किया गया)",
52
- "vault.add.value_hint": "सहेजते समय केवल एक बार दिखाई देता है। बाद में बदला जा सकता है पर पढ़ा नहीं जा सकता।",
53
- "vault.add.button_save": "सहेजें",
54
- "vault.add.button_cancel": "रद्द करें",
55
- "vault.add.success": "स्लॉट {slot} सहेजा गया।",
56
- "vault.add.overwrite": "स्लॉट {slot} ओवरराइट किया गया।",
57
- "manual.intro": "Yujin Forge -- उपयोगकर्ता मैनुअल",
58
- "manual.section.welcome": "स्वागत है",
59
- "manual.section.install": "स्थापना",
60
- "manual.section.first_run": "पहला रन",
61
- "manual.section.voice": "वॉइस कमांड्स",
62
- "manual.section.spec_ingest": "विनिर्देश इनजेस्ट",
63
- "manual.section.troubleshooting": "समस्या निवारण",
64
- "manual.section.support": "सहायता",
65
- "lang.name.es": "स्पेनिश",
66
- "lang.name.en": "अंग्रेज़ी",
67
- "lang.name.pt": "पुर्तगाली",
68
- "lang.name.fr": "फ़्रांसीसी",
69
- "lang.name.ja": "जापानी",
70
- "lang.name.zh": "चीनी",
71
- "lang.name.hi": "हिन्दी",
72
- "lang.name.ar": "अरबी",
73
- "lang.name.de": "जर्मन",
74
- "lang.name.it": "इतालवी",
75
- "recap.fallback_period": "।",
76
- "recap.empty": "अभी सारांश के लिए कुछ नहीं है।",
77
- "error_ui.severity.info": "जानकारी",
78
- "error_ui.severity.warning": "चेतावनी",
79
- "error_ui.severity.error": "त्रुटि",
80
- "error_ui.severity.fatal": "घातक",
81
- "error_ui.label.what": "क्या हुआ",
82
- "error_ui.label.why": "क्यों",
83
- "error_ui.label.fix": "कैसे ठीक करें",
84
- "error_ui.label.cmd": "कमांड",
85
- "error_ui.label.docs": "स्थानीय दस्तावेज़",
86
- "error_ui.label.retry": "पुनः प्रयास करें में",
87
- "error_ui.copy_btn": "कमांड कॉपी करें",
88
- "error_ui.unknown.what": "Forge को आंतरिक त्रुटि मिली (अज्ञात कोड)।",
89
- "error_ui.unknown.why": "कोड {code} कैटलॉग में नहीं है। यह एक बग है।",
90
- "error_ui.unknown.fix": "कोड + ट्रेसबैक के साथ https://github.com/yujinapp/yujin-forge/issues पर एक issue खोलें।",
91
- "error.cap_frontier_exhausted.what": "frontier टियर (बड़ा मॉडल) की मासिक टोकन सीमा समाप्त हो गई।",
92
- "error.cap_frontier_exhausted.why": "आपकी प्लान {plan} frontier पर अधिकतम {cap} टोकन/महीना अनुमति देती है। आपने {used} उपयोग किया। अगले UTC महीने की शुरुआत में रीसेट।",
93
- "error.cap_frontier_exhausted.fix": "सीधे Anthropic BYOK पर स्विच करें: worker की मासिक सीमा बायपास करता है। आपकी लागत Anthropic का सीधा शुल्क बन जाती है।",
94
- "error.cap_frontier_exhausted.cmd": "yf brain config --frontier-provider anthropic --frontier-model claude-opus-4-7",
95
- "error.cap_eco_exhausted.what": "eco टियर (छोटा मॉडल) की मासिक टोकन सीमा समाप्त हो गई।",
96
- "error.cap_eco_exhausted.why": "आपकी प्लान {plan} eco पर अधिकतम {cap} टोकन/महीना अनुमति देती है। आपने {used} उपयोग किया। अगले UTC महीने की शुरुआत में रीसेट।",
97
- "error.cap_eco_exhausted.fix": "सीधे BYOK पर स्विच करें या प्लान अपग्रेड करें। BYOK worker की सीमा बायपास करता है।",
98
- "error.cap_eco_exhausted.cmd": "yf brain config --eco-provider google_ai --eco-model gemini-2.5-flash-lite",
99
- "error.tier_not_in_plan.what": "टियर {tier} आपकी प्लान पर सक्षम नहीं है।",
100
- "error.tier_not_in_plan.why": "आपकी प्लान {plan} में {tier} टियर शामिल नहीं है। संभवतः आप free-public पर हैं या आपका लाइसेंस समाप्त हो गया है।",
101
- "error.tier_not_in_plan.fix": "भुगतान लाइसेंस सक्रिय करें या सीधे BYOK पर स्विच करें (आपकी लागत, worker सीमा के बिना)।",
102
- "error.tier_not_in_plan.cmd": "yf license activate --key <jwt>",
103
- "error.response_truncated.what": "मॉडल की प्रतिक्रिया समाप्त होने से पहले काट दी गई।",
104
- "error.response_truncated.why": "managed_max_tokens_per_turn = {limit} टोकन सीमा टर्न के बीच में पहुंच गई। मॉडल ने जेनरेट करना बंद कर दिया।",
105
- "error.response_truncated.fix": "yf limits के माध्यम से सीमा बढ़ाएं। चैट पुनरारंभ किए बिना अगले टर्न पर लागू होता है।",
106
- "error.response_truncated.cmd": "yf limits set managed_max_tokens_per_turn 16384",
107
- "error.response_truncated.banner": "[max_tokens={max} द्वारा प्रतिक्रिया छंटनी गई। सीमा बढ़ाएं: yf limits set managed_max_tokens_per_turn {suggested}]",
108
- "error.modal_trace_stale.what": "अनुमोदन मोडल समाप्त हो गया या अनाथ है।",
109
- "error.modal_trace_stale.why": "trace_id {trace_id} dispatcher में कोई लंबित अनुमोदन नहीं है। संभावित race condition invoke और panel state के बीच, या पिछले cancel ने trace को zombie छोड़ा।",
110
- "error.modal_trace_stale.fix": "चैट से verb को पुनः invoke करें: एक नया साफ trace शुरू करता है। यदि बना रहता है, panel जांचने के लिए yf doctor चलाएं।",
111
- "error.modal_trace_stale.cmd": "yf doctor",
112
- "error.byok_key_missing.what": "प्रदाता {provider} के लिए API key गायब है।",
113
- "error.byok_key_missing.why": "आपने {provider} को {tier} टियर प्रदाता के रूप में कॉन्फ़िगर किया लेकिन स्लॉट byok_{slot} एन्क्रिप्टेड Vault में नहीं है।",
114
- "error.byok_key_missing.fix": "yf keys set के साथ key कॉन्फ़िगर करें (परमाणु, mode 0600, कभी लॉग नहीं)।",
115
- "error.byok_key_missing.cmd": "yf keys set {slot}",
116
- "error.worker_unreachable.what": "yujin.app worker तक नहीं पहुंच सका।",
117
- "error.worker_unreachable.why": "नेटवर्क टाइमआउट या worker बंद (HTTP {status})। {attempts} बार पुनः प्रयास किया।",
118
- "error.worker_unreachable.fix": "अपना इंटरनेट जांचें। यदि ठीक है, worker निर्भरता से बचने के लिए अस्थायी रूप से सीधे BYOK पर स्विच करें।",
119
- "error.worker_unreachable.cmd": "yf brain config --frontier-provider anthropic",
120
- "error.vault_decrypt_failed.what": "Vault से एक key को डिक्रिप्ट नहीं कर सका।",
121
- "error.vault_decrypt_failed.why": "मास्टर key गलत है या Vault फ़ाइल दूषित है। यदि आपने मास्टर माइग्रेट किए बिना मशीनों के बीच config स्थानांतरित किया या disk error के कारण हो सकता है।",
122
- "error.vault_decrypt_failed.fix": "यदि आपके पास server backup सक्रिय है तो server copy खींचें (आपके स्थानीय मास्टर के साथ पुनः एन्क्रिप्ट करता है)।",
123
- "error.vault_decrypt_failed.cmd": "yf keys setup --pull",
124
- "error.shell_exec_rejected.what": "आपने yujin.shell.exec के R8 मोडल को अस्वीकार किया।",
125
- "error.shell_exec_rejected.why": "कमांड {command} को {classification} के रूप में वर्गीकृत किया गया। shell.exec हमेशा सुरक्षा के लिए अनुमोदन मांगता है, भले ही कमांड read-only हो।",
126
- "error.shell_exec_rejected.fix": "यदि कमांड read-only था (yf projects active, git status, ls), समकक्ष देशी verb का उपयोग करें। यदि यह आवश्यक था और आपने गलती से अस्वीकार किया, पुनः invoke करें।",
127
- "error.project_not_registered.what": "कोई adopter प्रोजेक्ट पंजीकृत नहीं।",
128
- "error.project_not_registered.why": "invoked verb को सक्रिय project root की आवश्यकता है लेकिन ~/.yujin-forge/projects.json में कोई entries नहीं हैं।",
129
- "error.project_not_registered.fix": "yujin.project.init के साथ एक बनाएं या yf projects add के साथ एक मौजूदा पंजीकृत करें।",
130
- "error.project_not_registered.cmd": "yf projects scan",
131
- "panel.button.agents": "एजेंट",
132
- "panel.agents.title": "एजेंट",
133
- "panel.agents.subtitle": "इस परियोजना में पंजीकृत निदेशक और उप-एजेंट",
134
- "panel.agents.empty.title": "अभी तक कोई एजेंट नहीं",
135
- "panel.agents.empty.body": "निदेशक और इसके 4 उप-एजेंटों (विश्लेषक, कोडर, परीक्षक, स्कैफोल्डर) को पंजीकृत करने के लिए `yf agent install --defaults` चलाएं।",
136
- "panel.agents.legend.eco": "इको",
137
- "panel.agents.legend.managed": "प्रबंधित",
138
- "panel.agents.legend.frontier": "फ्रंटियर",
139
- "panel.agents.status.disabled": "एजेंट रनटाइम प्रारंभ नहीं हुआ",
140
- "panel.agents.event.running": "चल रहा है",
141
- "panel.agents.event.idle": "निष्क्रिय",
142
- "panel.agents.tick.live": "जुड़ा हुआ",
143
- "panel.agents.tick.lost": "कनेक्शन खो गया",
144
- "workflow.phase.i": "ट्रायेज और इरादा",
145
- "workflow.phase.ii": "स्पष्टीकरण (कार्यात्मक + 4 NFR + ब्लॉक)",
146
- "workflow.phase.iii": "विशिष्टीकरण (RFP + आर्क + डिज़ाइन + अनुमोदन)",
147
- "workflow.phase.iv": "बूटस्ट्रैप",
148
- "workflow.phase.v": "ब्लॉक विकास",
149
- "workflow.phase.vi": "परिनियोजन + लॉन्च के बाद",
150
- "wizard.title": "Yujin Forge में आपका स्वागत है",
151
- "wizard.close": "बंद करें",
152
- "wizard.intro": "शुरू करने के लिए, चुनें कि Forge आपके AI मॉडल से कैसे जुड़े। बाद में Settings से बदला जा सकता है।",
153
- "wizard.back": "वापस",
154
- "wizard.start": "शुरू करें",
155
- "wizard.plan.badge": "अनुशंसित",
156
- "wizard.plan.title": "Claude प्लान",
157
- "wizard.plan.desc": "Claude की मासिक सदस्यता। निरंतर उपयोग के लिए सबसे किफायती। Forge आपके claude -p सत्र का उपयोग करता है।",
158
- "wizard.plan.price": "निश्चित मासिक शुल्क (प्लान)",
159
- "wizard.plan.step.title": "अपना Claude प्लान कनेक्ट करें",
160
- "wizard.plan.step.1": "एक नया टर्मिनल खोलें।",
161
- "wizard.plan.step.2": "claude कमांड (बिना तर्क) चलाएं और ब्राउज़र लॉगिन पूरा करें।",
162
- "wizard.plan.step.3": "यहाँ वापस आएं और सत्यापन के लिए मैं लॉग इन हूँ पर क्लिक करें।",
163
- "wizard.plan.done": "मैं लॉग इन हूँ",
164
- "wizard.byok.title": "आपकी अपनी API key (BYOK)",
165
- "wizard.byok.desc": "किसी भी प्रदाता (Anthropic, OpenAI, Google, DeepSeek...) की आपकी अपनी key। आपके खाते पर उपयोग अनुसार भुगतान।",
166
- "wizard.byok.price": "उपयोग आधारित (Console)",
167
- "wizard.byok.step.title": "अपना प्रदाता चुनें और अपनी API key पेस्ट करें",
168
- "wizard.byok.step.intro": "मेन्यू से प्रदाता चुनें और उसकी API key पेस्ट करें। Forge इसे लोकल Vault में एन्क्रिप्टेड रखता है; यह आपकी मशीन से बाहर नहीं जाती।",
169
- "wizard.byok.test": "सत्यापित करें और सहेजें",
170
- "wizard.skip.title": "मैं पहले से तैयार हूँ",
171
- "wizard.skip.desc": "विज़ार्ड छोड़ें। बाद में Settings से फिर से खोल सकते हैं।",
172
- "wizard.done.kanji": "पूरा",
173
- "wizard.done.title": "हो गया",
174
- "wizard.done.msg": "Forge तैयार है। चैट शुरू करें।",
175
- "pizarron.button.read": "पढ़कर सुनाओ",
176
- "pizarron.button.copy": "कॉपी",
177
- "pizarron.button.edit": "संपादित करें",
178
- "pizarron.graph.refresh": "ताज़ा करें",
179
- "pizarron.graph.regenerating": "पुनर्जनन हो रहा है...",
180
- "pizarron.graph.detail.hint": "विवरण देखने के लिए नोड पर टैप करें।",
181
- "pizarron.graph.detail.empty": "इस नोड का कोई विवरण नहीं।",
1
+ {
2
+ "panel.brand": "Yujin Forge",
3
+ "panel.brand.kanji": "侑",
4
+ "panel.tagline": "वॉइस-फर्स्ट डेवलपमेंट असिस्टेंट",
5
+ "panel.input.placeholder": "Yujin से पूछें",
6
+ "panel.button.send": "भेजें",
7
+ "panel.button.mic": "बोलें (दबाकर रखें)",
8
+ "panel.button.mic.recording": "रिकॉर्डिंग रोकने के लिए दबाएँ",
9
+ "panel.button.tts": "आवाज़ चालू",
10
+ "panel.button.keys": "कुंजियाँ",
11
+ "panel.button.minimise": "छोटा करें",
12
+ "panel.button.maximise": "बड़ा करें",
13
+ "panel.button.close": "बंद करें",
14
+ "panel.button.language": "भाषा",
15
+ "panel.trace.title": "क्रिया लॉग",
16
+ "panel.trace.count.one": "{n} टूल कॉल",
17
+ "panel.trace.count.other": "{n} टूल कॉल्स",
18
+ "panel.trace.empty.kanji": "空",
19
+ "panel.trace.empty.body": "Yujin Forge आपको जवाब देने के लिए जो भी टूल चलाता है, वह यहाँ दिखाता है: मैनिफेस्ट पढ़ना, SPEC में खोज, कंपोनेंट्स संपादन, दस्तावेज़ पढ़ना। ऐसा कोई प्रश्न पूछें जिसमें इनकी ज़रूरत हो।",
20
+ "panel.trace.badge.tool": "टूल",
21
+ "panel.trace.badge.voice": "आवाज़",
22
+ "panel.trace.badge.error": "त्रुटि",
23
+ "panel.stream.empty.kanji": "侑仁",
24
+ "panel.stream.empty.body": "Yujin Forge ऑनलाइन है। प्रोजेक्ट में बदलाव माँगें।",
25
+ "panel.status.no_audio": "कोई ऑडियो कैप्चर नहीं हुआ। माइक्रोफ़ोन ने शायद कुछ नहीं पकड़ा।",
26
+ "panel.status.did_not_catch": "मैं समझ नहीं पाया। फिर से कोशिश करें।",
27
+ "panel.status.mic_denied": "माइक्रोफ़ोन अनुमति अस्वीकृत या अनुपलब्ध: {error}",
28
+ "panel.status.voice_failed": "आवाज़ विफल: {error}",
29
+ "panel.status.voice_reply_failed": "उत्तर नहीं चला सका: {error}",
30
+ "panel.status.audio_play_error": "ऑडियो नहीं चला सका: {error}",
31
+ "panel.status.reading": "{filename} पढ़ रहा हूँ...",
32
+ "panel.status.ingest_failed": "इनजेस्ट विफल: {error}",
33
+ "panel.status.read_failed": "विनिर्देश नहीं पढ़ सका: {error}",
34
+ "panel.drop.title": "विनिर्देश यहाँ छोड़ें",
35
+ "panel.drop.hint": "PDF, DOCX, HTML, MD, RTF, EPUB, CSV, XLSX, TXT",
36
+ "panel.ingest.spec_attached": "विनिर्देश संलग्न: {filename}, {kb} KB",
37
+ "panel.ingest.read_label": "पढ़ा गया।",
38
+ "panel.ingest.title_label": "शीर्षक: {title}",
39
+ "panel.ingest.no_title": "(कोई शीर्षक नहीं)",
40
+ "panel.ingest.format_label": "प्रारूप: {format} / {sections} खंड / {kb} KB",
41
+ "panel.ingest.first_lines": "पहली पंक्तियाँ:",
42
+ "panel.ingest.action_done": "क्रिया {tool} पूर्ण।",
43
+ "vault.modal.title": "क्रेडेंशियल्स (वॉल्ट)",
44
+ "vault.modal.aria.close": "क्रेडेंशियल्स मोडल बंद करें",
45
+ "vault.tab.list": "लोड किए गए स्लॉट्स",
46
+ "vault.tab.add": "जोड़ें",
47
+ "vault.list.loading": "लोड हो रहा है...",
48
+ "vault.list.empty": "आपने अभी तक कोई कुंजी लोड नहीं की है। शुरू करने के लिए \"जोड़ें\" पर क्लिक करें।",
49
+ "vault.add.slot_label": "स्लॉट का नाम",
50
+ "vault.add.slot_hint": "छोटे अक्षर, अंक, अंडरस्कोर, हाइफ़न। अक्षर से शुरू होना चाहिए।",
51
+ "vault.add.value_label": "सादा-पाठ मान (मास्क किया गया)",
52
+ "vault.add.value_hint": "सहेजते समय केवल एक बार दिखाई देता है। बाद में बदला जा सकता है पर पढ़ा नहीं जा सकता।",
53
+ "vault.add.button_save": "सहेजें",
54
+ "vault.add.button_cancel": "रद्द करें",
55
+ "vault.add.success": "स्लॉट {slot} सहेजा गया।",
56
+ "vault.add.overwrite": "स्लॉट {slot} ओवरराइट किया गया।",
57
+ "manual.intro": "Yujin Forge -- उपयोगकर्ता मैनुअल",
58
+ "manual.section.welcome": "स्वागत है",
59
+ "manual.section.install": "स्थापना",
60
+ "manual.section.first_run": "पहला रन",
61
+ "manual.section.voice": "वॉइस कमांड्स",
62
+ "manual.section.spec_ingest": "विनिर्देश इनजेस्ट",
63
+ "manual.section.troubleshooting": "समस्या निवारण",
64
+ "manual.section.support": "सहायता",
65
+ "lang.name.es": "स्पेनिश",
66
+ "lang.name.en": "अंग्रेज़ी",
67
+ "lang.name.pt": "पुर्तगाली",
68
+ "lang.name.fr": "फ़्रांसीसी",
69
+ "lang.name.ja": "जापानी",
70
+ "lang.name.zh": "चीनी",
71
+ "lang.name.hi": "हिन्दी",
72
+ "lang.name.ar": "अरबी",
73
+ "lang.name.de": "जर्मन",
74
+ "lang.name.it": "इतालवी",
75
+ "recap.fallback_period": "।",
76
+ "recap.empty": "अभी सारांश के लिए कुछ नहीं है।",
77
+ "error_ui.severity.info": "जानकारी",
78
+ "error_ui.severity.warning": "चेतावनी",
79
+ "error_ui.severity.error": "त्रुटि",
80
+ "error_ui.severity.fatal": "घातक",
81
+ "error_ui.label.what": "क्या हुआ",
82
+ "error_ui.label.why": "क्यों",
83
+ "error_ui.label.fix": "कैसे ठीक करें",
84
+ "error_ui.label.cmd": "कमांड",
85
+ "error_ui.label.docs": "स्थानीय दस्तावेज़",
86
+ "error_ui.label.retry": "पुनः प्रयास करें में",
87
+ "error_ui.copy_btn": "कमांड कॉपी करें",
88
+ "error_ui.unknown.what": "Forge को आंतरिक त्रुटि मिली (अज्ञात कोड)।",
89
+ "error_ui.unknown.why": "कोड {code} कैटलॉग में नहीं है। यह एक बग है।",
90
+ "error_ui.unknown.fix": "कोड + ट्रेसबैक के साथ https://github.com/yujinapp/yujin-forge/issues पर एक issue खोलें।",
91
+ "error.cap_frontier_exhausted.what": "frontier टियर (बड़ा मॉडल) की मासिक टोकन सीमा समाप्त हो गई।",
92
+ "error.cap_frontier_exhausted.why": "आपकी प्लान {plan} frontier पर अधिकतम {cap} टोकन/महीना अनुमति देती है। आपने {used} उपयोग किया। अगले UTC महीने की शुरुआत में रीसेट।",
93
+ "error.cap_frontier_exhausted.fix": "सीधे Anthropic BYOK पर स्विच करें: worker की मासिक सीमा बायपास करता है। आपकी लागत Anthropic का सीधा शुल्क बन जाती है।",
94
+ "error.cap_frontier_exhausted.cmd": "yf brain config --frontier-provider anthropic --frontier-model claude-opus-4-7",
95
+ "error.cap_eco_exhausted.what": "eco टियर (छोटा मॉडल) की मासिक टोकन सीमा समाप्त हो गई।",
96
+ "error.cap_eco_exhausted.why": "आपकी प्लान {plan} eco पर अधिकतम {cap} टोकन/महीना अनुमति देती है। आपने {used} उपयोग किया। अगले UTC महीने की शुरुआत में रीसेट।",
97
+ "error.cap_eco_exhausted.fix": "सीधे BYOK पर स्विच करें या प्लान अपग्रेड करें। BYOK worker की सीमा बायपास करता है।",
98
+ "error.cap_eco_exhausted.cmd": "yf brain config --eco-provider google_ai --eco-model gemini-2.5-flash-lite",
99
+ "error.tier_not_in_plan.what": "टियर {tier} आपकी प्लान पर सक्षम नहीं है।",
100
+ "error.tier_not_in_plan.why": "आपकी प्लान {plan} में {tier} टियर शामिल नहीं है। संभवतः आप free-public पर हैं या आपका लाइसेंस समाप्त हो गया है।",
101
+ "error.tier_not_in_plan.fix": "भुगतान लाइसेंस सक्रिय करें या सीधे BYOK पर स्विच करें (आपकी लागत, worker सीमा के बिना)।",
102
+ "error.tier_not_in_plan.cmd": "yf license activate --key <jwt>",
103
+ "error.response_truncated.what": "मॉडल की प्रतिक्रिया समाप्त होने से पहले काट दी गई।",
104
+ "error.response_truncated.why": "managed_max_tokens_per_turn = {limit} टोकन सीमा टर्न के बीच में पहुंच गई। मॉडल ने जेनरेट करना बंद कर दिया।",
105
+ "error.response_truncated.fix": "yf limits के माध्यम से सीमा बढ़ाएं। चैट पुनरारंभ किए बिना अगले टर्न पर लागू होता है।",
106
+ "error.response_truncated.cmd": "yf limits set managed_max_tokens_per_turn 16384",
107
+ "error.response_truncated.banner": "[max_tokens={max} द्वारा प्रतिक्रिया छंटनी गई। सीमा बढ़ाएं: yf limits set managed_max_tokens_per_turn {suggested}]",
108
+ "error.modal_trace_stale.what": "अनुमोदन मोडल समाप्त हो गया या अनाथ है।",
109
+ "error.modal_trace_stale.why": "trace_id {trace_id} dispatcher में कोई लंबित अनुमोदन नहीं है। संभावित race condition invoke और panel state के बीच, या पिछले cancel ने trace को zombie छोड़ा।",
110
+ "error.modal_trace_stale.fix": "चैट से verb को पुनः invoke करें: एक नया साफ trace शुरू करता है। यदि बना रहता है, panel जांचने के लिए yf doctor चलाएं।",
111
+ "error.modal_trace_stale.cmd": "yf doctor",
112
+ "error.byok_key_missing.what": "प्रदाता {provider} के लिए API key गायब है।",
113
+ "error.byok_key_missing.why": "आपने {provider} को {tier} टियर प्रदाता के रूप में कॉन्फ़िगर किया लेकिन स्लॉट byok_{slot} एन्क्रिप्टेड Vault में नहीं है।",
114
+ "error.byok_key_missing.fix": "yf keys set के साथ key कॉन्फ़िगर करें (परमाणु, mode 0600, कभी लॉग नहीं)।",
115
+ "error.byok_key_missing.cmd": "yf keys set {slot}",
116
+ "error.worker_unreachable.what": "yujin.app worker तक नहीं पहुंच सका।",
117
+ "error.worker_unreachable.why": "नेटवर्क टाइमआउट या worker बंद (HTTP {status})। {attempts} बार पुनः प्रयास किया।",
118
+ "error.worker_unreachable.fix": "अपना इंटरनेट जांचें। यदि ठीक है, worker निर्भरता से बचने के लिए अस्थायी रूप से सीधे BYOK पर स्विच करें।",
119
+ "error.worker_unreachable.cmd": "yf brain config --frontier-provider anthropic",
120
+ "error.vault_decrypt_failed.what": "Vault से एक key को डिक्रिप्ट नहीं कर सका।",
121
+ "error.vault_decrypt_failed.why": "मास्टर key गलत है या Vault फ़ाइल दूषित है। यदि आपने मास्टर माइग्रेट किए बिना मशीनों के बीच config स्थानांतरित किया या disk error के कारण हो सकता है।",
122
+ "error.vault_decrypt_failed.fix": "यदि आपके पास server backup सक्रिय है तो server copy खींचें (आपके स्थानीय मास्टर के साथ पुनः एन्क्रिप्ट करता है)।",
123
+ "error.vault_decrypt_failed.cmd": "yf keys setup --pull",
124
+ "error.shell_exec_rejected.what": "आपने yujin.shell.exec के R8 मोडल को अस्वीकार किया।",
125
+ "error.shell_exec_rejected.why": "कमांड {command} को {classification} के रूप में वर्गीकृत किया गया। shell.exec हमेशा सुरक्षा के लिए अनुमोदन मांगता है, भले ही कमांड read-only हो।",
126
+ "error.shell_exec_rejected.fix": "यदि कमांड read-only था (yf projects active, git status, ls), समकक्ष देशी verb का उपयोग करें। यदि यह आवश्यक था और आपने गलती से अस्वीकार किया, पुनः invoke करें।",
127
+ "error.project_not_registered.what": "कोई adopter प्रोजेक्ट पंजीकृत नहीं।",
128
+ "error.project_not_registered.why": "invoked verb को सक्रिय project root की आवश्यकता है लेकिन ~/.yujin-forge/projects.json में कोई entries नहीं हैं।",
129
+ "error.project_not_registered.fix": "yujin.project.init के साथ एक बनाएं या yf projects add के साथ एक मौजूदा पंजीकृत करें।",
130
+ "error.project_not_registered.cmd": "yf projects scan",
131
+ "panel.button.agents": "एजेंट",
132
+ "panel.agents.title": "एजेंट",
133
+ "panel.agents.subtitle": "इस परियोजना में पंजीकृत निदेशक और उप-एजेंट",
134
+ "panel.agents.empty.title": "अभी तक कोई एजेंट नहीं",
135
+ "panel.agents.empty.body": "निदेशक और इसके 4 उप-एजेंटों (विश्लेषक, कोडर, परीक्षक, स्कैफोल्डर) को पंजीकृत करने के लिए `yf agent install --defaults` चलाएं।",
136
+ "panel.agents.legend.eco": "इको",
137
+ "panel.agents.legend.managed": "प्रबंधित",
138
+ "panel.agents.legend.frontier": "फ्रंटियर",
139
+ "panel.agents.status.disabled": "एजेंट रनटाइम प्रारंभ नहीं हुआ",
140
+ "panel.agents.event.running": "चल रहा है",
141
+ "panel.agents.event.idle": "निष्क्रिय",
142
+ "panel.agents.tick.live": "जुड़ा हुआ",
143
+ "panel.agents.tick.lost": "कनेक्शन खो गया",
144
+ "workflow.phase.i": "ट्रायेज और इरादा",
145
+ "workflow.phase.ii": "स्पष्टीकरण (कार्यात्मक + 4 NFR + ब्लॉक)",
146
+ "workflow.phase.iii": "विशिष्टीकरण (RFP + आर्क + डिज़ाइन + अनुमोदन)",
147
+ "workflow.phase.iv": "बूटस्ट्रैप",
148
+ "workflow.phase.v": "ब्लॉक विकास",
149
+ "workflow.phase.vi": "परिनियोजन + लॉन्च के बाद",
150
+ "wizard.title": "Yujin Forge में आपका स्वागत है",
151
+ "wizard.close": "बंद करें",
152
+ "wizard.intro": "शुरू करने के लिए, चुनें कि Forge आपके AI मॉडल से कैसे जुड़े। बाद में Settings से बदला जा सकता है।",
153
+ "wizard.back": "वापस",
154
+ "wizard.start": "शुरू करें",
155
+ "wizard.plan.badge": "अनुशंसित",
156
+ "wizard.plan.title": "Claude प्लान",
157
+ "wizard.plan.desc": "Claude की मासिक सदस्यता। निरंतर उपयोग के लिए सबसे किफायती। Forge आपके claude -p सत्र का उपयोग करता है।",
158
+ "wizard.plan.price": "निश्चित मासिक शुल्क (प्लान)",
159
+ "wizard.plan.step.title": "अपना Claude प्लान कनेक्ट करें",
160
+ "wizard.plan.step.1": "एक नया टर्मिनल खोलें।",
161
+ "wizard.plan.step.2": "claude कमांड (बिना तर्क) चलाएं और ब्राउज़र लॉगिन पूरा करें।",
162
+ "wizard.plan.step.3": "यहाँ वापस आएं और सत्यापन के लिए मैं लॉग इन हूँ पर क्लिक करें।",
163
+ "wizard.plan.done": "मैं लॉग इन हूँ",
164
+ "wizard.byok.title": "आपकी अपनी API key (BYOK)",
165
+ "wizard.byok.desc": "किसी भी प्रदाता (Anthropic, OpenAI, Google, DeepSeek...) की आपकी अपनी key। आपके खाते पर उपयोग अनुसार भुगतान।",
166
+ "wizard.byok.price": "उपयोग आधारित (Console)",
167
+ "wizard.byok.step.title": "अपना प्रदाता चुनें और अपनी API key पेस्ट करें",
168
+ "wizard.byok.step.intro": "मेन्यू से प्रदाता चुनें और उसकी API key पेस्ट करें। Forge इसे लोकल Vault में एन्क्रिप्टेड रखता है; यह आपकी मशीन से बाहर नहीं जाती।",
169
+ "wizard.byok.test": "सत्यापित करें और सहेजें",
170
+ "wizard.skip.title": "मैं पहले से तैयार हूँ",
171
+ "wizard.skip.desc": "विज़ार्ड छोड़ें। बाद में Settings से फिर से खोल सकते हैं।",
172
+ "wizard.done.kanji": "पूरा",
173
+ "wizard.done.title": "हो गया",
174
+ "wizard.done.msg": "Forge तैयार है। चैट शुरू करें।",
175
+ "pizarron.button.read": "पढ़कर सुनाओ",
176
+ "pizarron.button.copy": "कॉपी",
177
+ "pizarron.button.edit": "संपादित करें",
178
+ "pizarron.graph.refresh": "ताज़ा करें",
179
+ "pizarron.graph.regenerating": "पुनर्जनन हो रहा है...",
180
+ "pizarron.graph.detail.hint": "विवरण देखने के लिए नोड पर टैप करें।",
181
+ "pizarron.graph.detail.empty": "इस नोड का कोई विवरण नहीं।",
182
182
  "pizarron.graph.detail.weight": "भार",
183
183
  "pizarron.graph.orbit": "कक्षा",
184
- "pizarron.graph.orbit.speed": "कक्षीय गति",
185
- "startup.tab.graph": "विज़ुअल ग्राफ़",
186
- "startup.tab.graphSem": "सिमेंटिक ग्राफ़",
187
- "startup.tab.pendings": "लंबित",
188
- "startup.tab.workflow": "वर्कफ़्लो",
189
- "settings.startupTabs": "खुलने पर टैब",
190
- "graph.term.nodes": "नोड",
191
- "graph.term.edges": "किनारे",
192
- "coding.read": "{x} पढ़ रहा है",
193
- "coding.read_bare": "एक फ़ाइल पढ़ रहा है",
194
- "coding.edit": "{x} संपादित कर रहा है",
195
- "coding.edit_bare": "एक फ़ाइल संपादित कर रहा है",
196
- "coding.write": "{x} लिख रहा है",
197
- "coding.write_bare": "एक फ़ाइल लिख रहा है",
198
- "coding.notebook_bare": "नोटबुक संपादित कर रहा है",
199
- "coding.bash": "चला रहा है: {x}",
200
- "coding.bash_bare": "एक कमांड चला रहा है",
201
- "coding.grep": "\"{x}\" खोज रहा है",
202
- "coding.grep_bare": "कोड में खोज रहा है",
203
- "coding.glob": "{x} सूचीबद्ध कर रहा है",
204
- "coding.glob_bare": "फ़ाइलें सूचीबद्ध कर रहा है",
205
- "coding.web_bare": "वेब पढ़ रहा है",
206
- "coding.websearch": "वेब खोज: {x}",
207
- "coding.websearch_bare": "वेब खोज रहा है",
208
- "coding.task": "उप-एजेंट: {x}",
209
- "coding.task_bare": "एक उप-एजेंट शुरू कर रहा है",
210
- "coding.todo": "अपनी कार्य सूची अपडेट कर रहा है",
211
- "coding.verb_bare": "एक yujin क्रिया चला रहा है",
212
- "panel.button.stop": "रोकें",
213
- "panel.status.stopping": "रोका जा रहा है...",
214
- "panel.status.noActiveTurn": "कोई टर्न नहीं चल रहा था।",
215
- "panel.status.interruptFailed": "रुकावट नहीं भेजी जा सकी।",
216
- "panel.status.turnInterrupted": "टर्न रोक दिया गया।",
217
- "panel.label.interrupted": "(रोका गया)",
218
- "panel.queue.label": "कतार में",
219
- "panel.queue.remove": "कतार से हटाएँ",
220
- "panel.project.switchHint": "प्रोजेक्ट बदलें",
221
- "panel.project.title": "प्रोजेक्ट",
222
- "panel.project.add": "प्रोजेक्ट जोड़ें...",
223
- "panel.project.addPrompt": "जोड़ने के लिए प्रोजेक्ट का पूर्ण पथ:",
224
- "panel.project.switching": "प्रोजेक्ट बदला जा रहा है...",
225
- "startup.tab.files": "फ़ाइलें",
226
- "panel.project.remove": "सूची से हटाएँ",
227
- "panel.project.removeConfirm": "इस प्रोजेक्ट को सूची से हटाएँ? (डिस्क की फ़ाइलें नहीं मिटतीं)",
228
- "panel.project.removed": "प्रोजेक्ट सूची से हटाया गया",
229
- "panel.files.refresh": "रिफ़्रेश",
230
- "panel.files.loading": "लोड हो रहा है...",
231
- "panel.files.error": "फ़ाइलें नहीं पढ़ सके।",
232
- "panel.files.empty": "(कोई फ़ाइल नहीं)",
233
- "panel.files.truncated": "(सूची संक्षिप्त)",
234
- "panel.files.opened": "खोला गया",
235
- "panel.files.openFailed": "फ़ाइल नहीं खोल सके।",
236
- "startup.tab.tasks": "कार्य",
237
- "settings.bridge.title": "इंस्टेंस के बीच समन्वय",
238
- "settings.bridge.accept": "अन्य इंस्टेंस से निर्देशित संदेश स्वीकार करें (चैट के रूप में डाले जाते हैं)",
239
- "settings.bridge.composePlaceholder": "अन्य इंस्टेंस को संदेश...",
240
- "settings.voice.title": "आवाज़",
241
- "settings.voice.mode": "मोड",
242
- "settings.voice.modeMic": "माइक मोड",
243
- "settings.voice.stt": "STT",
244
- "settings.voice.sttBrowser": "STT ब्राउज़र",
245
- "settings.voice.ttsEngine": "TTS इंजन",
246
- "settings.voice.ttsBrowser": "TTS ब्राउज़र",
247
- "settings.voice.ttsVoice": "TTS आवाज़ (केवल Google)",
248
- "settings.vad.title": "VAD (मौन पहचान)",
249
- "settings.vad.resetDefaults": "डिफ़ॉल्ट रीसेट",
250
- "settings.vad.engine": "इंजन",
251
- "settings.vad.engineAmplitude": "आयाम (RMS)",
252
- "settings.vad.engineBand": "बैंड 80-400Hz",
253
- "settings.vad.baselineWindow": "बेसलाइन विंडो",
254
- "settings.vad.thresholdMult": "थ्रेशोल्ड गुणक (बेसलाइन x N)",
255
- "settings.vad.thresholdMin": "न्यूनतम थ्रेशोल्ड",
256
- "settings.vad.thresholdMax": "अधिकतम थ्रेशोल्ड",
257
- "settings.vad.silence": "बंद करने के लिए मौन",
258
- "settings.vad.minVoiced": "न्यूनतम आवाज़ (एंटी-ब्लिप)",
259
- "settings.vad.tick": "VAD टिक",
260
- "settings.vad.bandLow": "आवाज़ बैंड: low (Hz)",
261
- "settings.vad.bandHigh": "आवाज़ बैंड: high (Hz)",
262
- "settings.vad.showOverlay": "लाइव ओवरले दिखाएं",
263
- "settings.vad.logStats": "प्रति सत्र आँकड़े लॉग करें",
264
- "settings.brain.anthropicMode": "Anthropic: मोड",
265
- "settings.brain.modePlan": "Plan (Claude सदस्यता)",
266
- "settings.brain.modeConsole": "Console (API key)",
267
- "settings.brain.modeNote": "पैनल फिर से खोलने पर लागू होता है।",
268
- "settings.brain.ecoEnabled": "eco मोड सक्षम",
269
- "settings.brain.ecoHint": "बंद = हमेशा frontier",
270
- "settings.brain.modelEco": "eco मॉडल",
271
- "settings.brain.modelFrontier": "frontier मॉडल",
272
- "settings.brain.modelMultimodal": "multimodal मॉडल",
273
- "settings.brain.multimodalClearTitle": "समर्पित multimodal brain हटाएं (स्वचालित विज़न रूटिंग पर लौटें)",
274
- "settings.brain.auto": "स्वतः",
275
- "settings.brain.multimodalHint": "छवि वाले टर्न के लिए समर्पित brain। स्वतः = स्वचालित विज़न रूटिंग (frontier अगर देखता है, अन्यथा सूचना)।",
276
- "settings.brain.geminiCache": "Gemini स्पष्ट कैश (CachedContent)",
277
- "settings.brain.geminiCacheHint": "ऑप्ट-इन। Gemini Pro के साथ लंबे सत्रों में उपयोगी; छोटे सत्रों में 2.5 का मुफ़्त अंतर्निहित कैश पर्याप्त है।",
278
- "settings.federation.title": "brain फ़ेडरेशन",
279
- "settings.federation.intro": "किसी अन्य Forge का brain उपयोग करें (उसकी key कभी उसकी मशीन नहीं छोड़ती) या अपना उधार दें। आपका कोड स्थानीय रूप से चलता है; केवल इन्फरेंस यात्रा करता है।",
280
- "settings.federation.connectedTo": "से जुड़ा",
281
- "settings.federation.disconnect": "डिस्कनेक्ट",
282
- "settings.federation.connectMe": "मुझे जोड़ें",
283
- "settings.federation.tokenPlaceholder": "फ़ेडरेशन कोड पेस्ट करें",
284
- "settings.federation.connect": "कनेक्ट",
285
- "settings.federation.lendBrain": "मेरा brain उधार दें",
286
- "settings.federation.generateCode": "कोड उत्पन्न करें",
287
- "settings.federation.host": "होस्ट करें (बच्चों को जवाब दें)",
288
- "settings.federation.fedBrain": "फ़ेडरेशन brain",
289
- "settings.federation.fedBrainNote": "वह जो बच्चों को जवाब देता है। प्रत्यक्ष API (डिफ़ॉल्ट रूप से DeepSeek)। Claude Plan होस्ट के लिए काम नहीं करता; इसे बैलेंस वाली key चाहिए।",
290
- "settings.federation.codeOnce": "कोड (एकल उपयोग)",
291
- "settings.federation.copy": "कॉपी",
292
- "settings.keys.title": "API keys (BYOK)",
293
- "settings.keys.configure": "कॉन्फ़िगर करें",
294
- "settings.keys.remove": "हटाएं",
295
- "settings.keys.brainAnthropic": "Brain (Anthropic)",
296
- "settings.keys.brainOpenai": "Brain (OpenAI)",
297
- "settings.keys.brainGoogle": "Brain (Google AI)",
298
- "settings.keys.brainDeepseek": "Brain (DeepSeek)",
299
- "settings.keys.brainXai": "Brain (xAI / Grok)",
300
- "settings.keys.brainMistral": "Brain (Mistral)",
301
- "settings.keys.brainCohere": "Brain (Cohere)",
302
- "settings.keys.sttGoogle": "STT Google",
303
- "settings.keys.ttsGoogle": "TTS Google",
304
- "settings.keys.ttsElevenlabs": "TTS ElevenLabs",
305
- "settings.keys.sttWhisper": "STT Whisper",
306
- "settings.lang.title": "भाषा",
307
- "settings.lang.panelVoice": "पैनल + आवाज़",
308
- "settings.lang.changeButton": "भाषा बदलें",
309
- "settings.vault.title": "Vault (एन्क्रिप्टेड)",
310
- "settings.vault.slots": "स्लॉट",
311
- "settings.vault.open": "Vault खोलें",
312
- "settings.license.email": "ईमेल",
313
- "settings.license.validated": "सत्यापित",
314
- "settings.license.connectHint": "अपना Polar खाता कनेक्ट करें। जिस ईमेल से आपने भुगतान किया वह दर्ज करें और हम आपका plan स्वचालित रूप से सिंक करेंगे।",
315
- "settings.license.emailPlaceholder": "email@example.com",
316
- "settings.license.connect": "कनेक्ट",
317
- "settings.license.sync": "Polar के साथ सिंक करें",
318
- "settings.license.buy": "plan खरीदें / सक्रिय करें",
319
- "settings.budget.title": "इस महीने का बजट",
320
- "settings.budget.renews": "नवीनीकरण",
321
- "settings.budget.tokensEco": "eco tokens",
322
- "settings.budget.tokensFrontier": "frontier tokens",
323
- "settings.budget.buyExtension": "token विस्तार खरीदें",
324
- "settings.limits.title": "सीमाएं (उन्नत)",
325
- "settings.limits.editHint": "कोई भी मान संपादित करें + tab/blur से सहेजें।",
326
- "settings.limits.reset": "डिफ़ॉल्ट पर रीसेट करें",
327
- "settings.bookmarks.title": "Reader बुकमार्क",
328
- "settings.graph.title": "प्रोजेक्ट नॉलेज ग्राफ़",
329
- "settings.pair.title": "फ़ोन लिंक करें",
330
- "settings.pair.hint": "Forge Mobile खोलें, \"लिंक\" टैप करें और इस QR को स्कैन करें। हो गया।",
331
- "settings.pair.generateQr": "QR उत्पन्न करें",
332
- "settings.pair.cantRead": "कैमरा QR नहीं पढ़ पा रहा? इस कोड को कॉपी करें और Forge Mobile में पेस्ट करें:",
333
- "settings.audit.viewFull": "पूरा देखें",
334
- "settings.audit.close": "बंद करें",
335
- "settings.audit.allKinds": "सभी kinds",
336
- "settings.audit.allModes": "सभी modes",
337
- "settings.audit.copyJson": "JSON कॉपी करें",
338
- "settings.audit.closeDetail": "विवरण बंद करें",
339
- "settings.about.title": "परिचय",
340
- "settings.danger.title": "खतरा क्षेत्र",
341
- "settings.danger.warning": "ON होने पर, Yujin बिना पुष्टि मांगे हर क्रिया चलाता है (shell.exec, rm, git push --force आदि सहित)। सुरक्षा से अधिक गति। सब कुछ audit log में दर्ज होता है।",
342
- "settings.keyEditor.placeholder": "अपनी API key यहाँ पेस्ट करें",
343
- "settings.license.title": "लाइसेंस",
344
- "settings.plan": "योजना",
345
- "settings.audit.title": "ऑडिट लॉग",
346
- "settings.legal.title": "कानूनी",
347
- "panel.status.projectSwitchFail": "परियोजना नहीं बदली जा सकी।",
348
- "panel.status.projectRemoveFail": "परियोजना नहीं हटाई जा सकी।",
349
- "panel.status.projectAddFail": "परियोजना नहीं जोड़ी जा सकी।",
350
- "panel.status.cancelFail": "रद्द नहीं किया जा सका: {reason}",
351
- "panel.status.cancelNetError": "shell रद्द करते समय नेटवर्क त्रुटि।",
352
- "panel.status.notEditable": "इस प्रकार की सामग्री संपादन योग्य नहीं है।",
353
- "panel.status.savedAsPicker": "{name} के रूप में सहेजा गया (उस पथ पर जो आपने डायलॉग में चुना)।",
354
- "panel.status.saveAsFail": "इस रूप में सहेजें त्रुटि: {error} -- फ़ॉलबैक का उपयोग।",
355
- "panel.status.saveFail": "सहेजने में त्रुटि: {error}",
356
- "panel.status.savedAs": "{path} के रूप में सहेजा गया ({bytes} बाइट)",
357
- "panel.status.netError": "नेटवर्क त्रुटि: {error}",
358
- "panel.status.savedTabOnly": "परिवर्तन टैब में सहेजे गए (डिस्क पर नहीं -- file_path के बिना)।",
359
- "panel.status.saved": "सहेजा गया: {path} ({bytes} बाइट)",
360
- "panel.status.copied": "क्लिपबोर्ड पर कॉपी किया गया।",
361
- "panel.status.copyFail": "कॉपी नहीं किया जा सका।",
362
- "panel.status.modeAvailable": "उपलब्ध मोड: didactico, tecnico. उपयोग: /modo tecnico",
363
- "panel.status.modeChangeFail": "मोड नहीं बदला जा सका: {error}",
364
- "panel.status.modeChanged": "मोड {target} में बदला गया। अगला टर्न पहले से ही यह मोड उपयोग करता है।",
365
- "panel.status.genericError": "त्रुटि: {error}",
366
- "panel.status.brainTierAuto": "Brain tier वापस auto पर (router verb / phase के अनुसार तय करता है)।",
367
- "panel.status.brainTierForced": "इस सत्र के लिए Brain tier \"{target}\" पर सेट किया गया। /auto router पर लौटाता है।",
368
- "panel.confirm.tabUnsaved": "टैब \"{title}\" में असहेजे परिवर्तन हैं। फिर भी बंद करें?",
369
- "panel.confirm.tabsUnsaved": "असहेजे परिवर्तनों वाले टैब हैं। फिर भी सब बंद करें?",
370
- "panel.confirm.discardChanges": "असहेजे परिवर्तन छोड़ दें?",
371
- "panel.confirm.removeSlot": "slot \"{slot}\" हटाएं? इसे पूर्ववत नहीं किया जा सकता।",
372
- "panel.confirm.removeKey": "{slot} की key हटाएं?",
373
- "panel.prompt.saveAs": "इस रूप में सहेजें (परियोजना के सापेक्ष पथ):",
374
- "panel.voice.sttFallback": "ब्राउज़र STT अनुपलब्ध; सर्वर-साइड फ़ॉलबैक का उपयोग।",
375
- "panel.voice.noMicSupport": "आपका ब्राउज़र माइक्रोफ़ोन एक्सेस का समर्थन नहीं करता।",
376
- "panel.voice.recordingCountdown": "रिकॉर्डिंग... {n}से में ऑटो-स्टॉप",
377
- "panel.voice.autoStopped": "रिकॉर्डिंग 55से पर अपने आप रुक गई (Google STT 1-मिनट सीमा)। छोटा प्रयास करें।",
378
- "panel.voice.noAudio": "कोई ऑडियो कैप्चर नहीं हुआ। फिर से प्रयास करें।",
379
- "panel.voice.audioTooLong": "ऑडियो बहुत लंबा (>1 मिनट)। Google STT सिंक सीमा। छोटा प्रयास करें।",
380
- "panel.voice.ttsUnavailable": "ब्राउज़र TTS उपलब्ध नहीं; सेटिंग्स में Google पर वापस जाएं।",
381
- "panel.voice.micClosedHalfDuplex": "Yujin के बोलते समय माइक बंद (half-duplex)।",
382
- "panel.voice.micBlocked": "माइक्रोफ़ोन अवरुद्ध। ब्राउज़र सेटिंग्स में इस ऐप के लिए माइक्रोफ़ोन की अनुमति दें और फिर से प्रयास करें।",
383
- "panel.voice.noMicDevice": "इस डिवाइस पर कोई माइक्रोफ़ोन नहीं मिला।",
384
- "panel.voice.micOpenFail": "माइक्रोफ़ोन नहीं खोला जा सका: {error}",
385
- "panel.voice.micOpenListening": "माइक चालू, सुन रहा है...",
386
- "panel.voice.listening": "मैं सुन रहा हूँ...",
387
- "panel.voice.listeningInterim": "मैं सुन रहा हूँ... {text}",
388
- "panel.voice.micBlockedBrowser": "ब्राउज़र द्वारा माइक्रोफ़ोन अवरुद्ध। URL बार में लॉक आइकन पर क्लिक करें और माइक्रोफ़ोन की अनुमति दें, फिर पेज पुनः लोड करें। या यदि आपके पास API key है तो सेटिंग्स में STT को \"google\" / \"whisper\" पर बदलें।",
389
- "panel.voice.noMicPhysical": "कोई भौतिक माइक्रोफ़ोन नहीं मिला। एक कनेक्ट करें या सेटिंग्स में STT को \"google\" / \"whisper\" पर बदलें।",
390
- "panel.voice.networkRequired": "Web Speech के लिए इंटरनेट कनेक्शन आवश्यक है (Chrome पर्दे के पीछे Google का उपयोग करता है)। बिना रुक-रुक कर कनेक्शन के प्रयास करें या यदि आपके पास API key है तो STT को \"whisper\" पर बदलें।",
391
- "panel.voice.langNotSupported": "आपका ब्राउज़र STT के लिए इस भाषा का समर्थन नहीं करता। पैनल भाषा को समर्थित भाषा (en, es, pt) में बदलें या STT को \"google\" / \"whisper\" पर बदलें।",
392
- "panel.voice.micError": "माइक त्रुटि: {error}",
393
- "panel.voice.noAudioToRecognizer": "पहचानकर्ता तक कोई ऑडियो नहीं पहुँचा: इस ऐप में ब्राउज़र का डिक्टेशन कैप्चर नहीं कर रहा।",
394
- "panel.voice.micOpenNoVoice": "माइक चालू है पर कोई आवाज़ नहीं मिली। माइक्रोफ़ोन के पास जाएं और ज़ोर से बोलें; यदि जारी रहे, तो इस PWA में मुफ़्त डिक्टेशन काम नहीं करता।",
395
- "panel.voice.voiceNoText": "आवाज़ मिली पर ब्राउज़र ने कोई टेक्स्ट नहीं लौटाया (इस PWA में मुफ़्त STT अनुपलब्ध)।",
396
- "panel.voice.startingDictation": "डिक्टेशन शुरू हो रहा है...",
397
- "panel.voice.couldNotStartMic": "माइक शुरू नहीं किया जा सका: {error}",
398
- "panel.status.imageTooLarge": "छवि बहुत बड़ी (>6MB): {name}",
399
- "panel.status.imageReady": "भेजने के लिए छवि तैयार: {name}",
400
- "panel.status.imageReadFail": "छवि नहीं पढ़ी जा सकी: {error}",
401
- "panel.tip.attachFile": "फ़ाइल संलग्न करें",
402
- "panel.tip.refreshDiscovery": "डिस्कवरी रिफ़्रेश करें",
403
- "panel.tip.refreshNow": "अभी रिफ़्रेश करें",
404
- "panel.tip.filterByProject": "प्रोजेक्ट से फ़िल्टर करें",
405
- "panel.tip.concurrentRuns": "समवर्ती रन: वैश्विक / प्रति-प्रोजेक्ट सीमाएं",
406
- "panel.tip.mcpBridges": "MCP ब्रिज (F101)",
407
- "panel.tip.activity": "एजेंट गतिविधि + ब्रिज इंस्पेक्टर + प्रति-एजेंट चैट",
408
- "panel.tip.settings": "सेटिंग्स (वॉइस मोड, STT, TTS, कुंजियाँ, भाषा)",
409
- "panel.tip.zoomOut": "ज़ूम आउट (Ctrl -)",
410
- "panel.tip.zoomReset": "ज़ूम रीसेट करें (Ctrl 0)",
411
- "panel.tip.zoomIn": "ज़ूम इन (Ctrl +)",
412
- "panel.tip.maximize": "अधिकतम करें / पुनर्स्थापित करें (पूर्ण स्क्रीन)",
413
- "panel.tip.closeBoard": "पूरा बोर्ड बंद करें",
414
- "panel.tip.openInEditor": "मेरे एडिटर में खोलें",
415
- "panel.tip.open": "खोलें",
416
- "panel.tip.saveAs": "इस रूप में सहेजें -- नया पथ चुनें (प्रोजेक्ट के सापेक्ष)",
417
- "panel.tip.codeModeDetail": "विस्तृत: फ़ाइलें, diff और कमांड लाइव",
418
- "panel.tip.codeModeZen": "Sumi-e: कभी-कभी टेक्स्ट के साथ कला",
419
- "panel.tip.cancelShell": "शेल कमांड रद्द करें",
420
- "panel.tip.closeTab": "टैब बंद करें",
421
- "panel.tip.reopenNativeTabs": "बंद किए गए नेटिव टैब फिर से खोलें",
422
- "panel.tip.notTestedYet": "अभी तक परीक्षण नहीं किया गया",
423
- "panel.aria.activity": "गतिविधि",
424
- "panel.aria.settings": "सेटिंग्स",
425
- "panel.aria.zoomOut": "ज़ूम आउट",
426
- "panel.aria.zoomIn": "ज़ूम इन",
427
- "panel.aria.maximize": "अधिकतम करें",
428
- "panel.aria.closeBoard": "सभी बंद करें",
429
- "panel.aria.thinking": "सोच रहा है",
430
- "panel.hint.boardEmpty": "संरचित सामग्री यहाँ दिखती है: कोड, तालिकाएँ, दस्तावेज़। Yujin से कुछ लिखने या संपादित करने के लिए कहें।",
431
- "panel.hint.planMode": "आप Plan मोड (सदस्यता) में हैं। बोर्ड तब बनता है जब brain API मोड में चलता है: इसे <strong>सेटिंग्स &gt; Brain &gt; Anthropic: मोड &gt; Console</strong> में बदलें और पैनल फिर से खोलें।",
432
- "panel.hint.bookmarksEmpty": "कोई बुकमार्क नहीं। दस्तावेज़ पढ़ते समय Yujin से कहें \"इस बिंदु को ... के रूप में चिह्नित करें\"।",
433
- "panel.voice.replyFailed": "वॉइस उत्तर विफल: {err}",
434
- "panel.voice.replyError": "वॉइस उत्तर त्रुटि: {err}",
435
- "panel.status.languageSwitchFailed": "भाषा बदलना विफल: {err}",
436
- "panel.status.languageListFailed": "भाषा सूची लोड नहीं हो सकी",
437
- "panel.legal.loading": "लोड हो रहा है...",
438
- "panel.legal.loadError": "दस्तावेज़ लोड करने में त्रुटि {status}",
439
- "panel.legal.networkError": "नेटवर्क त्रुटि: {err}",
440
- "panel.legal.defaultTitle": "कानूनी",
441
- "panel.feedback.copied": "कॉपी किया गया",
442
- "panel.feedback.copyFailed": "कॉपी विफल",
443
- "panel.feedback.clipboardUnavailable": "क्लिपबोर्ड अनुपलब्ध",
444
- "panel.feedback.saving": "सहेजा जा रहा है...",
445
- "panel.feedback.saved": "सहेजा गया।",
446
- "panel.feedback.saveError": "सहेजने में त्रुटि",
447
- "panel.feedback.netError": "नेटवर्क त्रुटि",
448
- "panel.feedback.netErrorSaving": "सहेजते समय नेटवर्क त्रुटि",
449
- "panel.feedback.errorPrefix": "त्रुटि: {detail}",
450
- "panel.pair.generating": "जनरेट हो रहा है...",
451
- "panel.pair.generateQr": "QR जनरेट करें",
452
- "panel.pair.copy": "कॉपी करें",
453
- "panel.pair.expiry": "~{mins} मिनट में समाप्त होगा। समाप्त होने पर फिर से जनरेट करें।",
454
- "panel.pair.qrNetError": "QR जनरेट करते समय नेटवर्क त्रुटि।",
455
- "panel.audit.copyJson": "JSON कॉपी करें",
456
- "panel.limits.resetApplied": "डिफ़ॉल्ट पर रीसेट लागू किया गया",
457
- "panel.nac3.effects": "प्रभाव: {list}",
458
- "panel.nac3.effectsUnknown": "अज्ञात",
459
- "panel.nac3.cancel": "रद्द करें",
460
- "panel.nac3.reject": "अस्वीकार करें",
461
- "panel.nac3.approve": "स्वीकृत करें",
462
- "panel.nac3.approveDestructive": "स्वीकृत करें (विनाशकारी)",
463
- "panel.nac3.executing": "निष्पादित हो रहा है...",
464
- "panel.tts.providerBrowser": "TTS ब्राउज़र",
465
- "panel.tts.providerGoogle": "TTS Google",
466
- "panel.tts.providerTitle": "ब्राउज़र (नेटिव SpeechSynthesis, OS आवाज़ें) और Google Cloud TTS (सर्वर-साइड) के बीच स्विच करने के लिए क्लिक करें।",
467
- "panel.stt.providerBrowser": "STT ब्राउज़र",
468
- "panel.stt.providerGoogle": "STT Google",
469
- "panel.stt.providerWhisper": "STT Whisper",
470
- "panel.stt.providerTitle": "ब्राउज़र (तेज़ + नेटिव es-AR + मुफ़्त), Google Cloud STT (सर्वर-साइड, BYOK) या Whisper (सर्वर-साइड, BYOK) के बीच स्विच करने के लिए क्लिक करें।",
471
- "panel.tts.voiceTitle": "वर्तमान आवाज़: {id} / {persona} ({gender}) -- {style}। चक्र के लिए क्लिक करें। Studio = s स्पष्ट उच्चारित; Neural2 = प्राकृतिक स्पेनिश (अंतिम s को कम करता है)।",
472
- "panel.license.lendNeedsLicense": "अपना brain उधार देने के लिए अपना लाइसेंस सक्रिय करें",
473
- "panel.license.emailInvalid": "एक मान्य ईमेल दर्ज करें (@ के साथ)।",
474
- "panel.license.connecting": "कनेक्ट हो रहा है...",
475
- "panel.license.savingEmail": "ईमेल सहेजा जा रहा है + Polar के साथ सिंक हो रहा है...",
476
- "panel.license.syncFailedRetry": "ईमेल सहेजा गया, लेकिन सिंक विफल: {err}{http}। यदि आपने अभी भुगतान किया है, तो 1-2 मिनट प्रतीक्षा करें और \"Polar के साथ सिंक करें\" दबाएं।",
477
- "panel.license.planOk": "OK -- प्लान: {plan}।",
478
- "panel.license.netError": "नेटवर्क त्रुटि: {err}",
479
- "panel.license.syncing": "सिंक हो रहा है...",
480
- "panel.license.querying": "सर्वर से पूछताछ हो रही है...",
481
- "panel.license.syncError": "सिंक त्रुटि: {err}{http}",
482
- "panel.license.planUnchanged": "प्लान अपरिवर्तित: {plan}",
483
- "panel.license.planUpdated": "प्लान अपडेट किया गया: {before} -> {after}",
484
- "panel.license.syncWithPolar": "Polar के साथ सिंक करें",
485
- "panel.license.errorWithCode": "त्रुटि: {code}",
486
- "panel.keyEditor.keyTooShort": "कुंजी बहुत छोटी है (न्यूनतम 8 अक्षर)।",
487
- "panel.bridge.coordUnavailable": "समन्वय अनुपलब्ध।",
488
- "panel.bridge.statusUnavailable": "अनुपलब्ध",
489
- "panel.mcp.loadingBridges": "ब्रिज लोड हो रहे हैं...",
490
- "panel.tools.loading": "टूल लोड हो रहे हैं...",
491
- "panel.agentsChat.backPairs": "< जोड़े",
492
- "panel.agentsChat.noMessages": "इस जोड़ी में कोई संदेश नहीं।",
493
- "panel.agentsChat.noAgents": "कोई एजेंट नहीं",
494
- "panel.agentsChat.pickAgent": "भेजने से पहले एक एजेंट चुनें + टेक्स्ट टाइप करें।",
495
- "panel.agentsChat.sending": "भेजा जा रहा है...",
496
- "panel.agentsChat.errorGeneric": "त्रुटि: {err}",
497
- "panel.whatsNew.dismiss": "बंद करें",
498
- "panel.alert.noEditor": "PATH में कोई एडिटर नहीं। पथ कॉपी करें: {path}",
499
- "panel.alert.pathRelative": "पथ प्रोजेक्ट के सापेक्ष होना चाहिए (शुरुआती \"/\" या \"..\" के बिना)।",
500
- "panel.tip.saveTo": "{path} में सहेजें",
501
- "panel.tip.saveToMemory": "(मेमोरी)",
502
- "panel.button.saveAs": "इस रूप में सहेजें...",
503
- "panel.aria.concurrentRuns": "समवर्ती रन",
504
- "panel.activity.allProjects": "सभी प्रोजेक्ट",
505
- "panel.activity.loadingFeed": "फ़ीड लोड हो रहा है...",
506
- "panel.feedback.savedShort": "सहेजा गया",
507
- "panel.pair.qrFailed": "QR जनरेट नहीं किया जा सका।",
508
- "panel.brain.modePlan": "Plan (सदस्यता)",
509
- "panel.brain.modeConsole": "Console (API कुंजी)",
510
- "panel.brain.applying": "{mode} लागू हो रहा है...",
511
- "panel.brain.applied": "{mode} लागू किया गया। अगला टर्न पहले से ही इस मोड का उपयोग करता है।",
512
- "panel.brain.reopenHint": "पैनल फिर से खोलने पर लागू होता है।",
513
- "panel.brain.active": "{mode} सक्रिय",
514
- "panel.bridge.roleHost": "होस्ट",
515
- "panel.bridge.roleClient": "क्लाइंट",
516
- "panel.bridge.instanceOne": "इंस्टेंस",
517
- "panel.bridge.instanceMany": "इंस्टेंस",
518
- "panel.bridge.you": "आप",
519
- "panel.tip.deleteTask": "कार्य हटाएं",
520
- "panel.tasks.cmdPlaceholder": "कमांड (जैसे: pnpm install)...",
521
- "panel.readAloud.code": "कोड",
522
- "panel.readAloud.codeLang": "{lang} में कोड",
523
- "panel.readAloud.file": "फ़ाइल {file}",
524
- "panel.readAloud.content": "सामग्री: {content}",
525
- "panel.pizarron.tabOne": "टैब",
526
- "panel.pizarron.tabMany": "टैब"
527
- }
184
+ "pizarron.graph.orbit.speed": "कक्षीय गति",
185
+ "startup.tab.graph": "विज़ुअल ग्राफ़",
186
+ "startup.tab.graphSem": "सिमेंटिक ग्राफ़",
187
+ "startup.tab.pendings": "लंबित",
188
+ "startup.tab.workflow": "वर्कफ़्लो",
189
+ "settings.startupTabs": "खुलने पर टैब",
190
+ "graph.term.nodes": "नोड",
191
+ "graph.term.edges": "किनारे",
192
+ "coding.read": "{x} पढ़ रहा है",
193
+ "coding.read_bare": "एक फ़ाइल पढ़ रहा है",
194
+ "coding.edit": "{x} संपादित कर रहा है",
195
+ "coding.edit_bare": "एक फ़ाइल संपादित कर रहा है",
196
+ "coding.write": "{x} लिख रहा है",
197
+ "coding.write_bare": "एक फ़ाइल लिख रहा है",
198
+ "coding.notebook_bare": "नोटबुक संपादित कर रहा है",
199
+ "coding.bash": "चला रहा है: {x}",
200
+ "coding.bash_bare": "एक कमांड चला रहा है",
201
+ "coding.grep": "\"{x}\" खोज रहा है",
202
+ "coding.grep_bare": "कोड में खोज रहा है",
203
+ "coding.glob": "{x} सूचीबद्ध कर रहा है",
204
+ "coding.glob_bare": "फ़ाइलें सूचीबद्ध कर रहा है",
205
+ "coding.web_bare": "वेब पढ़ रहा है",
206
+ "coding.websearch": "वेब खोज: {x}",
207
+ "coding.websearch_bare": "वेब खोज रहा है",
208
+ "coding.task": "उप-एजेंट: {x}",
209
+ "coding.task_bare": "एक उप-एजेंट शुरू कर रहा है",
210
+ "coding.todo": "अपनी कार्य सूची अपडेट कर रहा है",
211
+ "coding.verb_bare": "एक yujin क्रिया चला रहा है",
212
+ "panel.button.stop": "रोकें",
213
+ "panel.status.stopping": "रोका जा रहा है...",
214
+ "panel.status.noActiveTurn": "कोई टर्न नहीं चल रहा था।",
215
+ "panel.status.interruptFailed": "रुकावट नहीं भेजी जा सकी।",
216
+ "panel.status.turnInterrupted": "टर्न रोक दिया गया।",
217
+ "panel.label.interrupted": "(रोका गया)",
218
+ "panel.queue.label": "कतार में",
219
+ "panel.queue.remove": "कतार से हटाएँ",
220
+ "panel.project.switchHint": "प्रोजेक्ट बदलें",
221
+ "panel.project.title": "प्रोजेक्ट",
222
+ "panel.project.add": "प्रोजेक्ट जोड़ें...",
223
+ "panel.project.addPrompt": "जोड़ने के लिए प्रोजेक्ट का पूर्ण पथ:",
224
+ "panel.project.switching": "प्रोजेक्ट बदला जा रहा है...",
225
+ "startup.tab.files": "फ़ाइलें",
226
+ "panel.project.remove": "सूची से हटाएँ",
227
+ "panel.project.removeConfirm": "इस प्रोजेक्ट को सूची से हटाएँ? (डिस्क की फ़ाइलें नहीं मिटतीं)",
228
+ "panel.project.removed": "प्रोजेक्ट सूची से हटाया गया",
229
+ "panel.files.refresh": "रिफ़्रेश",
230
+ "panel.files.loading": "लोड हो रहा है...",
231
+ "panel.files.error": "फ़ाइलें नहीं पढ़ सके।",
232
+ "panel.files.empty": "(कोई फ़ाइल नहीं)",
233
+ "panel.files.truncated": "(सूची संक्षिप्त)",
234
+ "panel.files.opened": "खोला गया",
235
+ "panel.files.openFailed": "फ़ाइल नहीं खोल सके।",
236
+ "panel.files.searchName": "नाम से फ़िल्टर करें",
237
+ "panel.files.searchType": "प्रकार (जैसे ts, png)",
238
+ "panel.files.matches": "{n} मिलान",
239
+ "panel.files.noMatches": "कोई मिलान नहीं",
240
+ "startup.tab.tasks": "कार्य",
241
+ "settings.bridge.title": "इंस्टेंस के बीच समन्वय",
242
+ "settings.bridge.accept": "अन्य इंस्टेंस से निर्देशित संदेश स्वीकार करें (चैट के रूप में डाले जाते हैं)",
243
+ "settings.bridge.composePlaceholder": "अन्य इंस्टेंस को संदेश...",
244
+ "settings.voice.title": "आवाज़",
245
+ "settings.voice.mode": "मोड",
246
+ "settings.voice.modeMic": "माइक मोड",
247
+ "settings.voice.stt": "STT",
248
+ "settings.voice.sttBrowser": "STT ब्राउज़र",
249
+ "settings.voice.ttsEngine": "TTS इंजन",
250
+ "settings.voice.ttsBrowser": "TTS ब्राउज़र",
251
+ "settings.voice.ttsVoice": "TTS आवाज़ (केवल Google)",
252
+ "settings.vad.title": "VAD (मौन पहचान)",
253
+ "settings.vad.resetDefaults": "डिफ़ॉल्ट रीसेट",
254
+ "settings.vad.engine": "इंजन",
255
+ "settings.vad.engineAmplitude": "आयाम (RMS)",
256
+ "settings.vad.engineBand": "बैंड 80-400Hz",
257
+ "settings.vad.baselineWindow": "बेसलाइन विंडो",
258
+ "settings.vad.thresholdMult": "थ्रेशोल्ड गुणक (बेसलाइन x N)",
259
+ "settings.vad.thresholdMin": "न्यूनतम थ्रेशोल्ड",
260
+ "settings.vad.thresholdMax": "अधिकतम थ्रेशोल्ड",
261
+ "settings.vad.silence": "बंद करने के लिए मौन",
262
+ "settings.vad.minVoiced": "न्यूनतम आवाज़ (एंटी-ब्लिप)",
263
+ "settings.vad.tick": "VAD टिक",
264
+ "settings.vad.bandLow": "आवाज़ बैंड: low (Hz)",
265
+ "settings.vad.bandHigh": "आवाज़ बैंड: high (Hz)",
266
+ "settings.vad.showOverlay": "लाइव ओवरले दिखाएं",
267
+ "settings.vad.logStats": "प्रति सत्र आँकड़े लॉग करें",
268
+ "settings.brain.anthropicMode": "Anthropic: मोड",
269
+ "settings.brain.modePlan": "Plan (Claude सदस्यता)",
270
+ "settings.brain.modeConsole": "Console (API key)",
271
+ "settings.brain.modeNote": "पैनल फिर से खोलने पर लागू होता है।",
272
+ "settings.brain.ecoEnabled": "eco मोड सक्षम",
273
+ "settings.brain.ecoHint": "बंद = हमेशा frontier",
274
+ "settings.brain.modelEco": "eco मॉडल",
275
+ "settings.brain.modelFrontier": "frontier मॉडल",
276
+ "settings.brain.modelMultimodal": "multimodal मॉडल",
277
+ "settings.brain.multimodalClearTitle": "समर्पित multimodal brain हटाएं (स्वचालित विज़न रूटिंग पर लौटें)",
278
+ "settings.brain.auto": "स्वतः",
279
+ "settings.brain.multimodalHint": "छवि वाले टर्न के लिए समर्पित brain। स्वतः = स्वचालित विज़न रूटिंग (frontier अगर देखता है, अन्यथा सूचना)।",
280
+ "settings.brain.geminiCache": "Gemini स्पष्ट कैश (CachedContent)",
281
+ "settings.brain.geminiCacheHint": "ऑप्ट-इन। Gemini Pro के साथ लंबे सत्रों में उपयोगी; छोटे सत्रों में 2.5 का मुफ़्त अंतर्निहित कैश पर्याप्त है।",
282
+ "settings.federation.title": "brain फ़ेडरेशन",
283
+ "settings.federation.intro": "किसी अन्य Forge का brain उपयोग करें (उसकी key कभी उसकी मशीन नहीं छोड़ती) या अपना उधार दें। आपका कोड स्थानीय रूप से चलता है; केवल इन्फरेंस यात्रा करता है।",
284
+ "settings.federation.connectedTo": "से जुड़ा",
285
+ "settings.federation.disconnect": "डिस्कनेक्ट",
286
+ "settings.federation.connectMe": "मुझे जोड़ें",
287
+ "settings.federation.tokenPlaceholder": "फ़ेडरेशन कोड पेस्ट करें",
288
+ "settings.federation.connect": "कनेक्ट",
289
+ "settings.federation.lendBrain": "मेरा brain उधार दें",
290
+ "settings.federation.generateCode": "कोड उत्पन्न करें",
291
+ "settings.federation.host": "होस्ट करें (बच्चों को जवाब दें)",
292
+ "settings.federation.fedBrain": "फ़ेडरेशन brain",
293
+ "settings.federation.fedBrainNote": "वह जो बच्चों को जवाब देता है। प्रत्यक्ष API (डिफ़ॉल्ट रूप से DeepSeek)। Claude Plan होस्ट के लिए काम नहीं करता; इसे बैलेंस वाली key चाहिए।",
294
+ "settings.federation.codeOnce": "कोड (एकल उपयोग)",
295
+ "settings.federation.copy": "कॉपी",
296
+ "settings.keys.title": "API keys (BYOK)",
297
+ "settings.keys.configure": "कॉन्फ़िगर करें",
298
+ "settings.keys.remove": "हटाएं",
299
+ "settings.keys.brainAnthropic": "Brain (Anthropic)",
300
+ "settings.keys.brainOpenai": "Brain (OpenAI)",
301
+ "settings.keys.brainGoogle": "Brain (Google AI)",
302
+ "settings.keys.brainDeepseek": "Brain (DeepSeek)",
303
+ "settings.keys.brainXai": "Brain (xAI / Grok)",
304
+ "settings.keys.brainMistral": "Brain (Mistral)",
305
+ "settings.keys.brainCohere": "Brain (Cohere)",
306
+ "settings.keys.sttGoogle": "STT Google",
307
+ "settings.keys.ttsGoogle": "TTS Google",
308
+ "settings.keys.ttsElevenlabs": "TTS ElevenLabs",
309
+ "settings.keys.sttWhisper": "STT Whisper",
310
+ "settings.lang.title": "भाषा",
311
+ "settings.lang.panelVoice": "पैनल + आवाज़",
312
+ "settings.lang.changeButton": "भाषा बदलें",
313
+ "settings.vault.title": "Vault (एन्क्रिप्टेड)",
314
+ "settings.vault.slots": "स्लॉट",
315
+ "settings.vault.open": "Vault खोलें",
316
+ "settings.license.email": "ईमेल",
317
+ "settings.license.validated": "सत्यापित",
318
+ "settings.license.connectHint": "अपना Polar खाता कनेक्ट करें। जिस ईमेल से आपने भुगतान किया वह दर्ज करें और हम आपका plan स्वचालित रूप से सिंक करेंगे।",
319
+ "settings.license.emailPlaceholder": "email@example.com",
320
+ "settings.license.connect": "कनेक्ट",
321
+ "settings.license.sync": "Polar के साथ सिंक करें",
322
+ "settings.license.buy": "plan खरीदें / सक्रिय करें",
323
+ "settings.budget.title": "इस महीने का बजट",
324
+ "settings.budget.renews": "नवीनीकरण",
325
+ "settings.budget.tokensEco": "eco tokens",
326
+ "settings.budget.tokensFrontier": "frontier tokens",
327
+ "settings.budget.buyExtension": "token विस्तार खरीदें",
328
+ "settings.limits.title": "सीमाएं (उन्नत)",
329
+ "settings.limits.editHint": "कोई भी मान संपादित करें + tab/blur से सहेजें।",
330
+ "settings.limits.reset": "डिफ़ॉल्ट पर रीसेट करें",
331
+ "settings.bookmarks.title": "Reader बुकमार्क",
332
+ "settings.graph.title": "प्रोजेक्ट नॉलेज ग्राफ़",
333
+ "settings.pair.title": "फ़ोन लिंक करें",
334
+ "settings.pair.hint": "Forge Mobile खोलें, \"लिंक\" टैप करें और इस QR को स्कैन करें। हो गया।",
335
+ "settings.pair.generateQr": "QR उत्पन्न करें",
336
+ "settings.pair.cantRead": "कैमरा QR नहीं पढ़ पा रहा? इस कोड को कॉपी करें और Forge Mobile में पेस्ट करें:",
337
+ "settings.audit.viewFull": "पूरा देखें",
338
+ "settings.audit.close": "बंद करें",
339
+ "settings.audit.allKinds": "सभी kinds",
340
+ "settings.audit.allModes": "सभी modes",
341
+ "settings.audit.copyJson": "JSON कॉपी करें",
342
+ "settings.audit.closeDetail": "विवरण बंद करें",
343
+ "settings.about.title": "परिचय",
344
+ "settings.danger.title": "खतरा क्षेत्र",
345
+ "settings.danger.warning": "ON होने पर, Yujin बिना पुष्टि मांगे हर क्रिया चलाता है (shell.exec, rm, git push --force आदि सहित)। सुरक्षा से अधिक गति। सब कुछ audit log में दर्ज होता है।",
346
+ "settings.keyEditor.placeholder": "अपनी API key यहाँ पेस्ट करें",
347
+ "settings.license.title": "लाइसेंस",
348
+ "settings.plan": "योजना",
349
+ "settings.audit.title": "ऑडिट लॉग",
350
+ "settings.legal.title": "कानूनी",
351
+ "panel.status.projectSwitchFail": "परियोजना नहीं बदली जा सकी।",
352
+ "panel.status.projectRemoveFail": "परियोजना नहीं हटाई जा सकी।",
353
+ "panel.status.projectAddFail": "परियोजना नहीं जोड़ी जा सकी।",
354
+ "panel.status.cancelFail": "रद्द नहीं किया जा सका: {reason}",
355
+ "panel.status.cancelNetError": "shell रद्द करते समय नेटवर्क त्रुटि।",
356
+ "panel.status.notEditable": "इस प्रकार की सामग्री संपादन योग्य नहीं है।",
357
+ "panel.status.savedAsPicker": "{name} के रूप में सहेजा गया (उस पथ पर जो आपने डायलॉग में चुना)।",
358
+ "panel.status.saveAsFail": "इस रूप में सहेजें त्रुटि: {error} -- फ़ॉलबैक का उपयोग।",
359
+ "panel.status.saveFail": "सहेजने में त्रुटि: {error}",
360
+ "panel.status.savedAs": "{path} के रूप में सहेजा गया ({bytes} बाइट)",
361
+ "panel.status.netError": "नेटवर्क त्रुटि: {error}",
362
+ "panel.status.savedTabOnly": "परिवर्तन टैब में सहेजे गए (डिस्क पर नहीं -- file_path के बिना)।",
363
+ "panel.status.saved": "सहेजा गया: {path} ({bytes} बाइट)",
364
+ "panel.status.copied": "क्लिपबोर्ड पर कॉपी किया गया।",
365
+ "panel.status.copyFail": "कॉपी नहीं किया जा सका।",
366
+ "panel.status.modeAvailable": "उपलब्ध मोड: didactico, tecnico. उपयोग: /modo tecnico",
367
+ "panel.status.modeChangeFail": "मोड नहीं बदला जा सका: {error}",
368
+ "panel.status.modeChanged": "मोड {target} में बदला गया। अगला टर्न पहले से ही यह मोड उपयोग करता है।",
369
+ "panel.status.genericError": "त्रुटि: {error}",
370
+ "panel.status.brainTierAuto": "Brain tier वापस auto पर (router verb / phase के अनुसार तय करता है)।",
371
+ "panel.status.brainTierForced": "इस सत्र के लिए Brain tier \"{target}\" पर सेट किया गया। /auto router पर लौटाता है।",
372
+ "panel.confirm.tabUnsaved": "टैब \"{title}\" में असहेजे परिवर्तन हैं। फिर भी बंद करें?",
373
+ "panel.confirm.tabsUnsaved": "असहेजे परिवर्तनों वाले टैब हैं। फिर भी सब बंद करें?",
374
+ "panel.confirm.discardChanges": "असहेजे परिवर्तन छोड़ दें?",
375
+ "panel.confirm.removeSlot": "slot \"{slot}\" हटाएं? इसे पूर्ववत नहीं किया जा सकता।",
376
+ "panel.confirm.removeKey": "{slot} की key हटाएं?",
377
+ "panel.prompt.saveAs": "इस रूप में सहेजें (परियोजना के सापेक्ष पथ):",
378
+ "panel.voice.sttFallback": "ब्राउज़र STT अनुपलब्ध; सर्वर-साइड फ़ॉलबैक का उपयोग।",
379
+ "panel.voice.noMicSupport": "आपका ब्राउज़र माइक्रोफ़ोन एक्सेस का समर्थन नहीं करता।",
380
+ "panel.voice.recordingCountdown": "रिकॉर्डिंग... {n}से में ऑटो-स्टॉप",
381
+ "panel.voice.autoStopped": "रिकॉर्डिंग 55से पर अपने आप रुक गई (Google STT 1-मिनट सीमा)। छोटा प्रयास करें।",
382
+ "panel.voice.noAudio": "कोई ऑडियो कैप्चर नहीं हुआ। फिर से प्रयास करें।",
383
+ "panel.voice.audioTooLong": "ऑडियो बहुत लंबा (>1 मिनट)। Google STT सिंक सीमा। छोटा प्रयास करें।",
384
+ "panel.voice.ttsUnavailable": "ब्राउज़र TTS उपलब्ध नहीं; सेटिंग्स में Google पर वापस जाएं।",
385
+ "panel.voice.micClosedHalfDuplex": "Yujin के बोलते समय माइक बंद (half-duplex)।",
386
+ "panel.voice.micBlocked": "माइक्रोफ़ोन अवरुद्ध। ब्राउज़र सेटिंग्स में इस ऐप के लिए माइक्रोफ़ोन की अनुमति दें और फिर से प्रयास करें।",
387
+ "panel.voice.noMicDevice": "इस डिवाइस पर कोई माइक्रोफ़ोन नहीं मिला।",
388
+ "panel.voice.micOpenFail": "माइक्रोफ़ोन नहीं खोला जा सका: {error}",
389
+ "panel.voice.micOpenListening": "माइक चालू, सुन रहा है...",
390
+ "panel.voice.listening": "मैं सुन रहा हूँ...",
391
+ "panel.voice.listeningInterim": "मैं सुन रहा हूँ... {text}",
392
+ "panel.voice.micBlockedBrowser": "ब्राउज़र द्वारा माइक्रोफ़ोन अवरुद्ध। URL बार में लॉक आइकन पर क्लिक करें और माइक्रोफ़ोन की अनुमति दें, फिर पेज पुनः लोड करें। या यदि आपके पास API key है तो सेटिंग्स में STT को \"google\" / \"whisper\" पर बदलें।",
393
+ "panel.voice.noMicPhysical": "कोई भौतिक माइक्रोफ़ोन नहीं मिला। एक कनेक्ट करें या सेटिंग्स में STT को \"google\" / \"whisper\" पर बदलें।",
394
+ "panel.voice.networkRequired": "Web Speech के लिए इंटरनेट कनेक्शन आवश्यक है (Chrome पर्दे के पीछे Google का उपयोग करता है)। बिना रुक-रुक कर कनेक्शन के प्रयास करें या यदि आपके पास API key है तो STT को \"whisper\" पर बदलें।",
395
+ "panel.voice.langNotSupported": "आपका ब्राउज़र STT के लिए इस भाषा का समर्थन नहीं करता। पैनल भाषा को समर्थित भाषा (en, es, pt) में बदलें या STT को \"google\" / \"whisper\" पर बदलें।",
396
+ "panel.voice.micError": "माइक त्रुटि: {error}",
397
+ "panel.voice.noAudioToRecognizer": "पहचानकर्ता तक कोई ऑडियो नहीं पहुँचा: इस ऐप में ब्राउज़र का डिक्टेशन कैप्चर नहीं कर रहा।",
398
+ "panel.voice.micOpenNoVoice": "माइक चालू है पर कोई आवाज़ नहीं मिली। माइक्रोफ़ोन के पास जाएं और ज़ोर से बोलें; यदि जारी रहे, तो इस PWA में मुफ़्त डिक्टेशन काम नहीं करता।",
399
+ "panel.voice.voiceNoText": "आवाज़ मिली पर ब्राउज़र ने कोई टेक्स्ट नहीं लौटाया (इस PWA में मुफ़्त STT अनुपलब्ध)।",
400
+ "panel.voice.startingDictation": "डिक्टेशन शुरू हो रहा है...",
401
+ "panel.voice.couldNotStartMic": "माइक शुरू नहीं किया जा सका: {error}",
402
+ "panel.status.imageTooLarge": "छवि बहुत बड़ी (>6MB): {name}",
403
+ "panel.status.imageReady": "भेजने के लिए छवि तैयार: {name}",
404
+ "panel.status.imageReadFail": "छवि नहीं पढ़ी जा सकी: {error}",
405
+ "panel.tip.attachFile": "फ़ाइल संलग्न करें",
406
+ "panel.tip.refreshDiscovery": "डिस्कवरी रिफ़्रेश करें",
407
+ "panel.tip.refreshNow": "अभी रिफ़्रेश करें",
408
+ "panel.tip.filterByProject": "प्रोजेक्ट से फ़िल्टर करें",
409
+ "panel.tip.concurrentRuns": "समवर्ती रन: वैश्विक / प्रति-प्रोजेक्ट सीमाएं",
410
+ "panel.tip.mcpBridges": "MCP ब्रिज (F101)",
411
+ "panel.tip.activity": "एजेंट गतिविधि + ब्रिज इंस्पेक्टर + प्रति-एजेंट चैट",
412
+ "panel.tip.settings": "सेटिंग्स (वॉइस मोड, STT, TTS, कुंजियाँ, भाषा)",
413
+ "panel.tip.zoomOut": "ज़ूम आउट (Ctrl -)",
414
+ "panel.tip.zoomReset": "ज़ूम रीसेट करें (Ctrl 0)",
415
+ "panel.tip.zoomIn": "ज़ूम इन (Ctrl +)",
416
+ "panel.tip.maximize": "अधिकतम करें / पुनर्स्थापित करें (पूर्ण स्क्रीन)",
417
+ "panel.tip.closeBoard": "पूरा बोर्ड बंद करें",
418
+ "panel.tip.openInEditor": "मेरे एडिटर में खोलें",
419
+ "panel.tip.open": "खोलें",
420
+ "panel.tip.saveAs": "इस रूप में सहेजें -- नया पथ चुनें (प्रोजेक्ट के सापेक्ष)",
421
+ "panel.tip.codeModeDetail": "विस्तृत: फ़ाइलें, diff और कमांड लाइव",
422
+ "panel.tip.codeModeZen": "Sumi-e: कभी-कभी टेक्स्ट के साथ कला",
423
+ "panel.tip.cancelShell": "शेल कमांड रद्द करें",
424
+ "panel.tip.closeTab": "टैब बंद करें",
425
+ "panel.tip.reopenNativeTabs": "बंद किए गए नेटिव टैब फिर से खोलें",
426
+ "panel.tip.notTestedYet": "अभी तक परीक्षण नहीं किया गया",
427
+ "panel.aria.activity": "गतिविधि",
428
+ "panel.aria.settings": "सेटिंग्स",
429
+ "panel.aria.zoomOut": "ज़ूम आउट",
430
+ "panel.aria.zoomIn": "ज़ूम इन",
431
+ "panel.aria.maximize": "अधिकतम करें",
432
+ "panel.aria.closeBoard": "सभी बंद करें",
433
+ "panel.aria.thinking": "सोच रहा है",
434
+ "panel.hint.boardEmpty": "संरचित सामग्री यहाँ दिखती है: कोड, तालिकाएँ, दस्तावेज़। Yujin से कुछ लिखने या संपादित करने के लिए कहें।",
435
+ "panel.hint.planMode": "आप Plan मोड (सदस्यता) में हैं। बोर्ड तब बनता है जब brain API मोड में चलता है: इसे <strong>सेटिंग्स &gt; Brain &gt; Anthropic: मोड &gt; Console</strong> में बदलें और पैनल फिर से खोलें।",
436
+ "panel.hint.bookmarksEmpty": "कोई बुकमार्क नहीं। दस्तावेज़ पढ़ते समय Yujin से कहें \"इस बिंदु को ... के रूप में चिह्नित करें\"।",
437
+ "panel.voice.replyFailed": "वॉइस उत्तर विफल: {err}",
438
+ "panel.voice.replyError": "वॉइस उत्तर त्रुटि: {err}",
439
+ "panel.status.languageSwitchFailed": "भाषा बदलना विफल: {err}",
440
+ "panel.status.languageListFailed": "भाषा सूची लोड नहीं हो सकी",
441
+ "panel.legal.loading": "लोड हो रहा है...",
442
+ "panel.legal.loadError": "दस्तावेज़ लोड करने में त्रुटि {status}।",
443
+ "panel.legal.networkError": "नेटवर्क त्रुटि: {err}",
444
+ "panel.legal.defaultTitle": "कानूनी",
445
+ "panel.feedback.copied": "कॉपी किया गया",
446
+ "panel.feedback.copyFailed": "कॉपी विफल",
447
+ "panel.feedback.clipboardUnavailable": "क्लिपबोर्ड अनुपलब्ध",
448
+ "panel.feedback.saving": "सहेजा जा रहा है...",
449
+ "panel.feedback.saved": "सहेजा गया।",
450
+ "panel.feedback.saveError": "सहेजने में त्रुटि",
451
+ "panel.feedback.netError": "नेटवर्क त्रुटि",
452
+ "panel.feedback.netErrorSaving": "सहेजते समय नेटवर्क त्रुटि",
453
+ "panel.feedback.errorPrefix": "त्रुटि: {detail}",
454
+ "panel.pair.generating": "जनरेट हो रहा है...",
455
+ "panel.pair.generateQr": "QR जनरेट करें",
456
+ "panel.pair.copy": "कॉपी करें",
457
+ "panel.pair.expiry": "~{mins} मिनट में समाप्त होगा। समाप्त होने पर फिर से जनरेट करें।",
458
+ "panel.pair.qrNetError": "QR जनरेट करते समय नेटवर्क त्रुटि।",
459
+ "panel.audit.copyJson": "JSON कॉपी करें",
460
+ "panel.limits.resetApplied": "डिफ़ॉल्ट पर रीसेट लागू किया गया",
461
+ "panel.nac3.effects": "प्रभाव: {list}",
462
+ "panel.nac3.effectsUnknown": "अज्ञात",
463
+ "panel.nac3.cancel": "रद्द करें",
464
+ "panel.nac3.reject": "अस्वीकार करें",
465
+ "panel.nac3.approve": "स्वीकृत करें",
466
+ "panel.nac3.approveDestructive": "स्वीकृत करें (विनाशकारी)",
467
+ "panel.nac3.executing": "निष्पादित हो रहा है...",
468
+ "panel.tts.providerBrowser": "TTS ब्राउज़र",
469
+ "panel.tts.providerGoogle": "TTS Google",
470
+ "panel.tts.providerTitle": "ब्राउज़र (नेटिव SpeechSynthesis, OS आवाज़ें) और Google Cloud TTS (सर्वर-साइड) के बीच स्विच करने के लिए क्लिक करें।",
471
+ "panel.stt.providerBrowser": "STT ब्राउज़र",
472
+ "panel.stt.providerGoogle": "STT Google",
473
+ "panel.stt.providerWhisper": "STT Whisper",
474
+ "panel.stt.providerTitle": "ब्राउज़र (तेज़ + नेटिव es-AR + मुफ़्त), Google Cloud STT (सर्वर-साइड, BYOK) या Whisper (सर्वर-साइड, BYOK) के बीच स्विच करने के लिए क्लिक करें।",
475
+ "panel.tts.voiceTitle": "वर्तमान आवाज़: {id} / {persona} ({gender}) -- {style}। चक्र के लिए क्लिक करें। Studio = s स्पष्ट उच्चारित; Neural2 = प्राकृतिक स्पेनिश (अंतिम s को कम करता है)।",
476
+ "panel.license.lendNeedsLicense": "अपना brain उधार देने के लिए अपना लाइसेंस सक्रिय करें",
477
+ "panel.license.emailInvalid": "एक मान्य ईमेल दर्ज करें (@ के साथ)।",
478
+ "panel.license.connecting": "कनेक्ट हो रहा है...",
479
+ "panel.license.savingEmail": "ईमेल सहेजा जा रहा है + Polar के साथ सिंक हो रहा है...",
480
+ "panel.license.syncFailedRetry": "ईमेल सहेजा गया, लेकिन सिंक विफल: {err}{http}। यदि आपने अभी भुगतान किया है, तो 1-2 मिनट प्रतीक्षा करें और \"Polar के साथ सिंक करें\" दबाएं।",
481
+ "panel.license.planOk": "OK -- प्लान: {plan}",
482
+ "panel.license.netError": "नेटवर्क त्रुटि: {err}",
483
+ "panel.license.syncing": "सिंक हो रहा है...",
484
+ "panel.license.querying": "सर्वर से पूछताछ हो रही है...",
485
+ "panel.license.syncError": "सिंक त्रुटि: {err}{http}",
486
+ "panel.license.planUnchanged": "प्लान अपरिवर्तित: {plan}",
487
+ "panel.license.planUpdated": "प्लान अपडेट किया गया: {before} -> {after}",
488
+ "panel.license.syncWithPolar": "Polar के साथ सिंक करें",
489
+ "panel.license.errorWithCode": "त्रुटि: {code}",
490
+ "panel.keyEditor.keyTooShort": "कुंजी बहुत छोटी है (न्यूनतम 8 अक्षर)।",
491
+ "panel.bridge.coordUnavailable": "समन्वय अनुपलब्ध।",
492
+ "panel.bridge.statusUnavailable": "अनुपलब्ध",
493
+ "panel.mcp.loadingBridges": "ब्रिज लोड हो रहे हैं...",
494
+ "panel.tools.loading": "टूल लोड हो रहे हैं...",
495
+ "panel.agentsChat.backPairs": "< जोड़े",
496
+ "panel.agentsChat.noMessages": "इस जोड़ी में कोई संदेश नहीं।",
497
+ "panel.agentsChat.noAgents": "कोई एजेंट नहीं",
498
+ "panel.agentsChat.pickAgent": "भेजने से पहले एक एजेंट चुनें + टेक्स्ट टाइप करें।",
499
+ "panel.agentsChat.sending": "भेजा जा रहा है...",
500
+ "panel.agentsChat.errorGeneric": "त्रुटि: {err}",
501
+ "panel.whatsNew.dismiss": "बंद करें",
502
+ "panel.alert.noEditor": "PATH में कोई एडिटर नहीं। पथ कॉपी करें: {path}",
503
+ "panel.alert.pathRelative": "पथ प्रोजेक्ट के सापेक्ष होना चाहिए (शुरुआती \"/\" या \"..\" के बिना)।",
504
+ "panel.tip.saveTo": "{path} में सहेजें",
505
+ "panel.tip.saveToMemory": "(मेमोरी)",
506
+ "panel.button.saveAs": "इस रूप में सहेजें...",
507
+ "panel.aria.concurrentRuns": "समवर्ती रन",
508
+ "panel.activity.allProjects": "सभी प्रोजेक्ट",
509
+ "panel.activity.loadingFeed": "फ़ीड लोड हो रहा है...",
510
+ "panel.feedback.savedShort": "सहेजा गया",
511
+ "panel.pair.qrFailed": "QR जनरेट नहीं किया जा सका।",
512
+ "panel.brain.modePlan": "Plan (सदस्यता)",
513
+ "panel.brain.modeConsole": "Console (API कुंजी)",
514
+ "panel.brain.applying": "{mode} लागू हो रहा है...",
515
+ "panel.brain.applied": "{mode} लागू किया गया। अगला टर्न पहले से ही इस मोड का उपयोग करता है।",
516
+ "panel.brain.reopenHint": "पैनल फिर से खोलने पर लागू होता है।",
517
+ "panel.brain.active": "{mode} सक्रिय",
518
+ "panel.bridge.roleHost": "होस्ट",
519
+ "panel.bridge.roleClient": "क्लाइंट",
520
+ "panel.bridge.instanceOne": "इंस्टेंस",
521
+ "panel.bridge.instanceMany": "इंस्टेंस",
522
+ "panel.bridge.you": "आप",
523
+ "panel.tip.deleteTask": "कार्य हटाएं",
524
+ "panel.tasks.cmdPlaceholder": "कमांड (जैसे: pnpm install)...",
525
+ "panel.readAloud.code": "कोड",
526
+ "panel.readAloud.codeLang": "{lang} में कोड",
527
+ "panel.readAloud.file": "फ़ाइल {file}",
528
+ "panel.readAloud.content": "सामग्री: {content}",
529
+ "panel.pizarron.tabOne": "टैब",
530
+ "panel.pizarron.tabMany": "टैब"
531
+ }