@kikkimo/claude-launcher 2.5.0 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +42 -0
- package/README.md +17 -10
- package/claude-launcher +614 -398
- package/docs/README-zh.md +17 -10
- package/lib/api-manager.js +136 -11
- package/lib/auth/password-input.js +8 -4
- package/lib/auth/password-validator.js +83 -48
- package/lib/i18n/index.js +4 -3
- package/lib/i18n/language-manager.js +4 -3
- package/lib/i18n/locales/de.js +89 -11
- package/lib/i18n/locales/en.js +89 -11
- package/lib/i18n/locales/es.js +89 -11
- package/lib/i18n/locales/fr.js +89 -11
- package/lib/i18n/locales/it.js +89 -11
- package/lib/i18n/locales/ja.js +89 -11
- package/lib/i18n/locales/ko.js +89 -11
- package/lib/i18n/locales/pt.js +89 -11
- package/lib/i18n/locales/ru.js +89 -11
- package/lib/i18n/locales/zh-TW.js +89 -11
- package/lib/i18n/locales/zh.js +89 -11
- package/lib/launcher.js +121 -93
- package/lib/ui/api-editor.js +210 -0
- package/lib/ui/interactive-table.js +216 -99
- package/lib/ui/menu.js +73 -62
- package/lib/ui/prompts.js +168 -139
- package/lib/ui/screen.js +125 -0
- package/lib/utils/stdin-manager.js +11 -9
- package/lib/utils/version-checker.js +63 -3
- package/package.json +2 -2
- package/docs/superpowers/plans/2026-03-31-update-models-and-auto-mode.md +0 -1414
- package/docs/superpowers/specs/2026-03-31-update-models-and-auto-mode-design.md +0 -187
package/lib/i18n/index.js
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
const LanguageManager = require('./language-manager');
|
|
7
7
|
const MessageFormatter = require('./formatter');
|
|
8
|
+
const screen = require('../ui/screen');
|
|
8
9
|
|
|
9
10
|
class I18n {
|
|
10
11
|
constructor() {
|
|
@@ -34,14 +35,14 @@ class I18n {
|
|
|
34
35
|
for (const k of keys) {
|
|
35
36
|
value = value?.[k];
|
|
36
37
|
if (value === undefined) {
|
|
37
|
-
|
|
38
|
+
screen.debug(`Translation key not found: ${key}`);
|
|
38
39
|
return key; // Return key as fallback
|
|
39
40
|
}
|
|
40
41
|
}
|
|
41
42
|
|
|
42
43
|
// If value is not a string, return the key as fallback
|
|
43
44
|
if (typeof value !== 'string') {
|
|
44
|
-
|
|
45
|
+
screen.debug(`Translation value is not a string for key: ${key}`);
|
|
45
46
|
return key;
|
|
46
47
|
}
|
|
47
48
|
|
|
@@ -56,7 +57,7 @@ class I18n {
|
|
|
56
57
|
|
|
57
58
|
return result;
|
|
58
59
|
} catch (error) {
|
|
59
|
-
|
|
60
|
+
screen.debug(`Translation error for key ${key}: ` + error.message);
|
|
60
61
|
return key; // Return key as fallback
|
|
61
62
|
}
|
|
62
63
|
}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
const fs = require('fs');
|
|
7
7
|
const path = require('path');
|
|
8
8
|
const os = require('os');
|
|
9
|
+
const screen = require('../ui/screen');
|
|
9
10
|
|
|
10
11
|
class LanguageManager {
|
|
11
12
|
constructor() {
|
|
@@ -83,7 +84,7 @@ class LanguageManager {
|
|
|
83
84
|
this.languageCache.set(this.currentLanguage, languagePack);
|
|
84
85
|
return languagePack;
|
|
85
86
|
} catch (error) {
|
|
86
|
-
|
|
87
|
+
screen.debug(`Failed to load language pack for ${this.currentLanguage}, falling back to English. Error: ${error.message}`);
|
|
87
88
|
|
|
88
89
|
// Fallback to English
|
|
89
90
|
if (this.currentLanguage !== 'en') {
|
|
@@ -118,7 +119,7 @@ class LanguageManager {
|
|
|
118
119
|
|
|
119
120
|
fs.writeFileSync(this.configFile, JSON.stringify(config, null, 2));
|
|
120
121
|
} catch (error) {
|
|
121
|
-
|
|
122
|
+
screen.debug('Failed to save language preference: ' + error.message);
|
|
122
123
|
}
|
|
123
124
|
}
|
|
124
125
|
|
|
@@ -134,7 +135,7 @@ class LanguageManager {
|
|
|
134
135
|
}
|
|
135
136
|
}
|
|
136
137
|
} catch (error) {
|
|
137
|
-
|
|
138
|
+
screen.debug('Failed to load language preference, using default (English)');
|
|
138
139
|
}
|
|
139
140
|
}
|
|
140
141
|
|
package/lib/i18n/locales/de.js
CHANGED
|
@@ -14,7 +14,7 @@ module.exports = {
|
|
|
14
14
|
launch_api: "Claude Code mit Drittanbieter-API starten",
|
|
15
15
|
launch_api_skip: "Claude Code mit Drittanbieter-API starten (Berechtigungsprüfung überspringen)",
|
|
16
16
|
api_management: "Drittanbieter-API-Verwaltung",
|
|
17
|
-
|
|
17
|
+
config_management: "Konfigurationsverwaltung",
|
|
18
18
|
version_check: "Versionsaktualisierung prüfen",
|
|
19
19
|
exit: "Beenden"
|
|
20
20
|
},
|
|
@@ -22,11 +22,26 @@ module.exports = {
|
|
|
22
22
|
title: "Drittanbieter-API-Verwaltung",
|
|
23
23
|
add_new: "Neue Drittanbieter-API hinzufügen",
|
|
24
24
|
remove: "API entfernen",
|
|
25
|
+
edit: "Edit API",
|
|
25
26
|
switch: "Aktive API wechseln",
|
|
26
27
|
statistics: "API-Statistiken anzeigen",
|
|
27
28
|
export: "Konfiguration exportieren",
|
|
28
29
|
import: "Konfiguration importieren",
|
|
29
30
|
change_password: "Passwort ändern",
|
|
31
|
+
manual_upgrade: "Manuelles Modell-Upgrade",
|
|
32
|
+
back: "Zurück zum Hauptmenü"
|
|
33
|
+
},
|
|
34
|
+
config: {
|
|
35
|
+
title: "Konfigurationsverwaltung",
|
|
36
|
+
language: "Spracheinstellungen",
|
|
37
|
+
auto_model_upgrade: "Automatisches Modell-Upgrade",
|
|
38
|
+
model_upgrade_notification: "Modell-Upgrade-Benachrichtigung",
|
|
39
|
+
telemetry: "Anthropic Telemetrie",
|
|
40
|
+
api_launch_mode: "Drittanbieter-API-Startmodus",
|
|
41
|
+
back: "Zurück zum Hauptmenü"
|
|
42
|
+
},
|
|
43
|
+
api_select: {
|
|
44
|
+
title: "Wählen Sie eine API zum Starten:",
|
|
30
45
|
back: "Zurück zum Hauptmenü"
|
|
31
46
|
},
|
|
32
47
|
remove_api: {
|
|
@@ -204,6 +219,23 @@ module.exports = {
|
|
|
204
219
|
remove_confirm: "Zu entfernende API: {0}",
|
|
205
220
|
cannot_undo: "Diese Aktion kann nicht rückgängig gemacht werden!",
|
|
206
221
|
removed_info: "Entfernt: {0}"
|
|
222
|
+
},
|
|
223
|
+
edit: {
|
|
224
|
+
select_api: 'Select API to edit',
|
|
225
|
+
current_value: 'Current value: {0}',
|
|
226
|
+
new_value: 'New value: ',
|
|
227
|
+
success: '✅ {0} updated successfully',
|
|
228
|
+
cancelled: 'Edit cancelled',
|
|
229
|
+
back: 'Back',
|
|
230
|
+
field_name: 'Name',
|
|
231
|
+
field_provider: 'Provider',
|
|
232
|
+
field_base_url: 'Base URL',
|
|
233
|
+
field_model: 'Model',
|
|
234
|
+
name_required: 'Name cannot be empty when editing',
|
|
235
|
+
duplicate: 'This change would create a duplicate configuration',
|
|
236
|
+
provider_url_mismatch: 'Provider and URL may be inconsistent',
|
|
237
|
+
provider_url_mismatch_detail: 'Provider: {0} / URL suggests: {1}',
|
|
238
|
+
url_provider_hint: "URL matches provider '{0}' but current provider is '{1}'. Consider updating Provider field."
|
|
207
239
|
}
|
|
208
240
|
},
|
|
209
241
|
|
|
@@ -277,6 +309,10 @@ module.exports = {
|
|
|
277
309
|
good: "Gut",
|
|
278
310
|
strong: "Stark",
|
|
279
311
|
very_strong: "Sehr stark"
|
|
312
|
+
},
|
|
313
|
+
guard: {
|
|
314
|
+
delete: { header: '🗑️ Remove API — Password required to verify identity' },
|
|
315
|
+
edit: { header: '✏️ Edit API — Password required to verify identity' }
|
|
280
316
|
}
|
|
281
317
|
},
|
|
282
318
|
|
|
@@ -324,15 +360,22 @@ module.exports = {
|
|
|
324
360
|
|
|
325
361
|
// Navigation und UI
|
|
326
362
|
navigation: {
|
|
327
|
-
use_arrows: "Verwenden Sie ↑↓ Pfeiltasten zum Navigieren, Enter zum Auswählen, doppelt Ctrl+C zum Beenden",
|
|
328
|
-
use_arrows_esc: "Verwenden Sie ↑↓ zum Navigieren, Enter zum {0}, ESC zum
|
|
363
|
+
use_arrows: "Verwenden Sie ↑↓ Pfeiltasten zum Navigieren, Enter/Leertaste zum Auswählen, doppelt Ctrl+C zum Beenden",
|
|
364
|
+
use_arrows_esc: "Verwenden Sie ↑↓ zum Navigieren, Enter zum {0}, ESC zum Abbrechen",
|
|
365
|
+
use_arrows_page_esc: "←→ Page {0}/{1}, ↑↓ to navigate, Enter to {2}, ESC to cancel",
|
|
329
366
|
use_number_keys: "Verwenden Sie Zahlentasten zum Auswählen:",
|
|
330
367
|
currently_active: "Derzeit aktive API",
|
|
331
368
|
select_action: "Aktion auswählen:",
|
|
332
369
|
no_options: "Keine Optionen verfügbar",
|
|
333
370
|
enter_choice: "Geben Sie Ihre Wahl ein ({0}, oder beliebige andere Taste zum Hauptmenü zurückkehren):",
|
|
334
371
|
arrow_keys_not_available: "Pfeiltasten nicht verfügbar. Geben Sie Auswahlnummer ein (1-{0}):",
|
|
335
|
-
enter_choice_prompt: "[>] Geben Sie Ihre Wahl ein (1-2, oder beliebige andere Taste zum Hauptmenü zurückkehren): "
|
|
372
|
+
enter_choice_prompt: "[>] Geben Sie Ihre Wahl ein (1-2, oder beliebige andere Taste zum Hauptmenü zurückkehren): ",
|
|
373
|
+
action: {
|
|
374
|
+
edit: 'edit',
|
|
375
|
+
remove: 'remove',
|
|
376
|
+
switch: 'switch',
|
|
377
|
+
select: 'select'
|
|
378
|
+
}
|
|
336
379
|
},
|
|
337
380
|
|
|
338
381
|
// Start-Prozess
|
|
@@ -573,19 +616,15 @@ module.exports = {
|
|
|
573
616
|
model_upgrade: {
|
|
574
617
|
notification: "Modell-Upgrade verfügbar: {0} → {1}",
|
|
575
618
|
notification_api: "API: {0}",
|
|
576
|
-
notification_hint: "
|
|
619
|
+
notification_hint: "Auto-Upgrade: \"Konfigurationsverwaltung\" / Manuell: \"Drittanbieter-API-Verwaltung > Manuelles Modell-Upgrade\"",
|
|
577
620
|
auto_upgraded: "Modell automatisch upgegradet: {0} → {1}",
|
|
578
621
|
|
|
579
|
-
settings_title: "Modell-Upgrade-Einstellungen",
|
|
580
622
|
current_config: "Aktuelle Konfiguration",
|
|
581
623
|
auto_upgrade_label: "Neuestes Modell automatisch verwenden",
|
|
582
624
|
auto_upgrade_on: "AN",
|
|
583
625
|
auto_upgrade_off: "AUS",
|
|
584
626
|
|
|
585
|
-
menu_toggle_auto_on: "Auto-Upgrade [● AN]",
|
|
586
|
-
menu_toggle_auto_off: "Auto-Upgrade [○ AUS]",
|
|
587
627
|
menu_manual_upgrade: "Alle Modelle manuell upgraden",
|
|
588
|
-
menu_back: "Zurück",
|
|
589
628
|
|
|
590
629
|
manual_title: "Modell-Upgrade-Prüfung",
|
|
591
630
|
manual_checking: "{0} API-Konfigurationen werden geprüft...",
|
|
@@ -602,8 +641,47 @@ module.exports = {
|
|
|
602
641
|
manual_stats_skipped: "Übersprungen: {0} ({1} bereits aktuell, {2} keine Upgrade-Info)"
|
|
603
642
|
},
|
|
604
643
|
hints: {
|
|
605
|
-
auto_mode_info: '
|
|
644
|
+
auto_mode_info: 'Nach dem Start Shift+Tab drücken, um in den automatischen Ausführungsmodus zu wechseln',
|
|
606
645
|
active_api_info: 'Aktiv: {0} / {1}',
|
|
607
|
-
no_active_api: 'Keine aktive API konfiguriert. Gehen Sie zur "API-Verwaltung", um eine
|
|
646
|
+
no_active_api: 'Keine aktive API konfiguriert. Gehen Sie zur "API-Verwaltung", um eine hinzuzufügen.',
|
|
647
|
+
direct_mode_desc: 'Direktstartmodus, startet sofort mit der aktiven API',
|
|
648
|
+
direct_mode_api_info: 'API: {0} | Anbieter: {1}',
|
|
649
|
+
direct_mode_api_detail: 'Modell: {0} | Zuletzt verwendet: {1}',
|
|
650
|
+
direct_mode_change: 'Startmodus kann in "Konfigurationsverwaltung" geändert werden',
|
|
651
|
+
direct_mode_no_active: 'Direktstartmodus, aber keine aktive API ausgewählt',
|
|
652
|
+
direct_mode_no_active_detail: '{0} APIs konfiguriert, bitte wählen Sie eine in "Drittanbieter-API-Verwaltung"',
|
|
653
|
+
select_mode_desc: 'Auswahlmodus, wählen Sie eine API aus der Liste vor dem Start',
|
|
654
|
+
select_mode_change: 'Startmodus kann in "Konfigurationsverwaltung" geändert werden',
|
|
655
|
+
select_mode_api_count: '{0} APIs konfiguriert, aktiv: {1}',
|
|
656
|
+
select_mode_active_none: 'keine',
|
|
657
|
+
no_api_configured: 'Keine Drittanbieter-APIs konfiguriert. Fügen Sie zuerst eine in "Drittanbieter-API-Verwaltung" hinzu',
|
|
658
|
+
api_management_info: '{0} APIs konfiguriert, aktiv: {1}',
|
|
659
|
+
config_summary: 'Sprache: {0} | Startmodus: {1} | Telemetrie: {2}',
|
|
660
|
+
edit_password_required: '🔒 Password verification required to edit API configuration',
|
|
661
|
+
remove_password_required: '🔒 Password verification required to remove API',
|
|
662
|
+
export_password_required: '🔒 Password verification required to export configuration',
|
|
663
|
+
import_password_required: '🔒 Password verification required to import configuration',
|
|
664
|
+
config: {
|
|
665
|
+
language: 'Anzeigesprache wechseln, aktuell: {0}',
|
|
666
|
+
auto_upgrade: 'Modellversionen für Drittanbieter-APIs automatisch erkennen und upgraden',
|
|
667
|
+
upgrade_notification: 'Modell-Upgrade-Benachrichtigung oben im Hauptmenü anzeigen',
|
|
668
|
+
telemetry: 'Injiziert DISABLE_TELEMETRY=1 wenn deaktiviert. Empfohlen: AUS',
|
|
669
|
+
launch_mode: 'Direkt: mit aktiver API starten / Auswahl: zuerst aus Liste wählen'
|
|
670
|
+
},
|
|
671
|
+
api_select: {
|
|
672
|
+
info: 'API: {0}',
|
|
673
|
+
detail: 'Anbieter: {0} | Modell: {1}',
|
|
674
|
+
usage: 'Nutzung: {0} mal | Zuletzt verwendet: {1}'
|
|
675
|
+
}
|
|
676
|
+
},
|
|
677
|
+
|
|
678
|
+
config: {
|
|
679
|
+
values: {
|
|
680
|
+
on: 'AN',
|
|
681
|
+
off: 'AUS',
|
|
682
|
+
direct_mode: 'Direktmodus',
|
|
683
|
+
select_mode: 'Auswahlmodus',
|
|
684
|
+
recommended_off: 'AUS (Empfohlen)'
|
|
685
|
+
}
|
|
608
686
|
}
|
|
609
687
|
};
|
package/lib/i18n/locales/en.js
CHANGED
|
@@ -14,7 +14,7 @@ module.exports = {
|
|
|
14
14
|
launch_api: "Launch Claude Code with 3rd-party API",
|
|
15
15
|
launch_api_skip: "Launch Claude Code with 3rd-party API (Auto Skip Permissions)",
|
|
16
16
|
api_management: "3rd-party API Management",
|
|
17
|
-
|
|
17
|
+
config_management: "Configuration Management",
|
|
18
18
|
version_check: "Version Update Check",
|
|
19
19
|
exit: "Exit"
|
|
20
20
|
},
|
|
@@ -22,11 +22,26 @@ module.exports = {
|
|
|
22
22
|
title: "3rd-party API Management",
|
|
23
23
|
add_new: "Add New 3rd-party API",
|
|
24
24
|
remove: "Remove API",
|
|
25
|
+
edit: "Edit API",
|
|
25
26
|
switch: "Switch Active API",
|
|
26
27
|
statistics: "View API Statistics",
|
|
27
28
|
export: "Export Configuration",
|
|
28
29
|
import: "Import Configuration",
|
|
29
30
|
change_password: "Change Password",
|
|
31
|
+
manual_upgrade: "Manual Model Upgrade",
|
|
32
|
+
back: "Back to Main Menu"
|
|
33
|
+
},
|
|
34
|
+
config: {
|
|
35
|
+
title: "Configuration Management",
|
|
36
|
+
language: "Language Settings",
|
|
37
|
+
auto_model_upgrade: "Auto Model Upgrade",
|
|
38
|
+
model_upgrade_notification: "Model Upgrade Notification",
|
|
39
|
+
telemetry: "Anthropic Telemetry",
|
|
40
|
+
api_launch_mode: "3rd-party API Launch Mode",
|
|
41
|
+
back: "Back to Main Menu"
|
|
42
|
+
},
|
|
43
|
+
api_select: {
|
|
44
|
+
title: "Select an API to launch:",
|
|
30
45
|
back: "Back to Main Menu"
|
|
31
46
|
},
|
|
32
47
|
remove_api: {
|
|
@@ -204,6 +219,23 @@ module.exports = {
|
|
|
204
219
|
remove_confirm: "API to remove: {0}",
|
|
205
220
|
cannot_undo: "This action cannot be undone!",
|
|
206
221
|
removed_info: "Removed: {0}"
|
|
222
|
+
},
|
|
223
|
+
edit: {
|
|
224
|
+
select_api: 'Select API to edit',
|
|
225
|
+
current_value: 'Current value: {0}',
|
|
226
|
+
new_value: 'New value: ',
|
|
227
|
+
success: '✅ {0} updated successfully',
|
|
228
|
+
cancelled: 'Edit cancelled',
|
|
229
|
+
back: 'Back',
|
|
230
|
+
field_name: 'Name',
|
|
231
|
+
field_provider: 'Provider',
|
|
232
|
+
field_base_url: 'Base URL',
|
|
233
|
+
field_model: 'Model',
|
|
234
|
+
name_required: 'Name cannot be empty when editing',
|
|
235
|
+
duplicate: 'This change would create a duplicate configuration',
|
|
236
|
+
provider_url_mismatch: 'Provider and URL may be inconsistent',
|
|
237
|
+
provider_url_mismatch_detail: 'Provider: {0} / URL suggests: {1}',
|
|
238
|
+
url_provider_hint: "URL matches provider '{0}' but current provider is '{1}'. Consider updating Provider field."
|
|
207
239
|
}
|
|
208
240
|
},
|
|
209
241
|
|
|
@@ -277,6 +309,10 @@ module.exports = {
|
|
|
277
309
|
good: "Good",
|
|
278
310
|
strong: "Strong",
|
|
279
311
|
very_strong: "Very Strong"
|
|
312
|
+
},
|
|
313
|
+
guard: {
|
|
314
|
+
delete: { header: '🗑️ Remove API — Password required to verify identity' },
|
|
315
|
+
edit: { header: '✏️ Edit API — Password required to verify identity' }
|
|
280
316
|
}
|
|
281
317
|
},
|
|
282
318
|
|
|
@@ -324,15 +360,22 @@ module.exports = {
|
|
|
324
360
|
|
|
325
361
|
// Navigation and UI
|
|
326
362
|
navigation: {
|
|
327
|
-
use_arrows: "Use ↑↓ arrow keys to navigate, Enter to select, Double-tap Ctrl+C to exit",
|
|
328
|
-
use_arrows_esc: "Use ↑↓ to navigate, Enter to {0}, ESC to
|
|
363
|
+
use_arrows: "Use ↑↓ arrow keys to navigate, Enter/Space to select, Double-tap Ctrl+C to exit",
|
|
364
|
+
use_arrows_esc: "Use ↑↓ to navigate, Enter to {0}, ESC to cancel",
|
|
365
|
+
use_arrows_page_esc: "←→ Page {0}/{1}, ↑↓ to navigate, Enter to {2}, ESC to cancel",
|
|
329
366
|
use_number_keys: "Use number keys to select:",
|
|
330
367
|
currently_active: "Currently active API",
|
|
331
368
|
select_action: "Select an action:",
|
|
332
369
|
no_options: "No options available",
|
|
333
370
|
enter_choice: "Enter your choice ({0}, or any other key to return to main menu):",
|
|
334
371
|
arrow_keys_not_available: "Arrow keys not available. Enter selection number (1-{0}):",
|
|
335
|
-
enter_choice_prompt: "[>] Enter your choice (1-2, or any other key to return to main menu): "
|
|
372
|
+
enter_choice_prompt: "[>] Enter your choice (1-2, or any other key to return to main menu): ",
|
|
373
|
+
action: {
|
|
374
|
+
edit: 'edit',
|
|
375
|
+
remove: 'remove',
|
|
376
|
+
switch: 'switch',
|
|
377
|
+
select: 'select'
|
|
378
|
+
}
|
|
336
379
|
},
|
|
337
380
|
|
|
338
381
|
// Launch process
|
|
@@ -573,19 +616,15 @@ module.exports = {
|
|
|
573
616
|
model_upgrade: {
|
|
574
617
|
notification: "Model upgrade available: {0} → {1}",
|
|
575
618
|
notification_api: "API: {0}",
|
|
576
|
-
notification_hint: "
|
|
619
|
+
notification_hint: "Auto upgrade: \"Configuration Management\" / Manual: \"3rd-party API Management > Manual Model Upgrade\"",
|
|
577
620
|
auto_upgraded: "Model auto-upgraded: {0} → {1}",
|
|
578
621
|
|
|
579
|
-
settings_title: "Model Upgrade Settings",
|
|
580
622
|
current_config: "Current Configuration",
|
|
581
623
|
auto_upgrade_label: "Auto use latest model",
|
|
582
624
|
auto_upgrade_on: "ON",
|
|
583
625
|
auto_upgrade_off: "OFF",
|
|
584
626
|
|
|
585
|
-
menu_toggle_auto_on: "Auto Upgrade [● ON]",
|
|
586
|
-
menu_toggle_auto_off: "Auto Upgrade [○ OFF]",
|
|
587
627
|
menu_manual_upgrade: "Manual upgrade all models",
|
|
588
|
-
menu_back: "Back",
|
|
589
628
|
|
|
590
629
|
manual_title: "Model Upgrade Check",
|
|
591
630
|
manual_checking: "Checking {0} API configurations...",
|
|
@@ -602,8 +641,47 @@ module.exports = {
|
|
|
602
641
|
manual_stats_skipped: "Skipped: {0} ({1} already latest, {2} no upgrade info)"
|
|
603
642
|
},
|
|
604
643
|
hints: {
|
|
605
|
-
auto_mode_info: '
|
|
644
|
+
auto_mode_info: 'Press Shift+Tab after launch to switch to auto execution mode',
|
|
606
645
|
active_api_info: 'Active: {0} / {1}',
|
|
607
|
-
no_active_api: 'No active API configured. Go to "API Management" to add one.'
|
|
646
|
+
no_active_api: 'No active API configured. Go to "API Management" to add one.',
|
|
647
|
+
direct_mode_desc: 'Direct launch mode, launches with the active API immediately',
|
|
648
|
+
direct_mode_api_info: 'API: {0} | Provider: {1}',
|
|
649
|
+
direct_mode_api_detail: 'Model: {0} | Last used: {1}',
|
|
650
|
+
direct_mode_change: 'Launch mode can be changed in "Configuration Management"',
|
|
651
|
+
direct_mode_no_active: 'Direct launch mode, but no active API selected',
|
|
652
|
+
direct_mode_no_active_detail: '{0} APIs configured, please select one in "3rd-party API Management"',
|
|
653
|
+
select_mode_desc: 'Select mode, choose an API from the list before launching',
|
|
654
|
+
select_mode_change: 'Launch mode can be changed in "Configuration Management"',
|
|
655
|
+
select_mode_api_count: '{0} APIs configured, active: {1}',
|
|
656
|
+
select_mode_active_none: 'none',
|
|
657
|
+
no_api_configured: 'No 3rd-party APIs configured. Add one in "3rd-party API Management" first',
|
|
658
|
+
api_management_info: '{0} APIs configured, active: {1}',
|
|
659
|
+
config_summary: 'Language: {0} | Launch Mode: {1} | Telemetry: {2}',
|
|
660
|
+
edit_password_required: '🔒 Password verification required to edit API configuration',
|
|
661
|
+
remove_password_required: '🔒 Password verification required to remove API',
|
|
662
|
+
export_password_required: '🔒 Password verification required to export configuration',
|
|
663
|
+
import_password_required: '🔒 Password verification required to import configuration',
|
|
664
|
+
config: {
|
|
665
|
+
language: 'Switch the display language, current: {0}',
|
|
666
|
+
auto_upgrade: 'Auto detect and upgrade model versions for 3rd-party APIs',
|
|
667
|
+
upgrade_notification: 'Show model upgrade notification at the top of main menu',
|
|
668
|
+
telemetry: 'Injects DISABLE_TELEMETRY=1 when disabled. Recommended: OFF',
|
|
669
|
+
launch_mode: 'Direct: launch with active API / Select: choose from list first'
|
|
670
|
+
},
|
|
671
|
+
api_select: {
|
|
672
|
+
info: 'API: {0}',
|
|
673
|
+
detail: 'Provider: {0} | Model: {1}',
|
|
674
|
+
usage: 'Usage: {0} times | Last used: {1}'
|
|
675
|
+
}
|
|
676
|
+
},
|
|
677
|
+
|
|
678
|
+
config: {
|
|
679
|
+
values: {
|
|
680
|
+
on: 'ON',
|
|
681
|
+
off: 'OFF',
|
|
682
|
+
direct_mode: 'Direct Mode',
|
|
683
|
+
select_mode: 'Select Mode',
|
|
684
|
+
recommended_off: 'OFF (Recommended)'
|
|
685
|
+
}
|
|
608
686
|
}
|
|
609
687
|
};
|
package/lib/i18n/locales/es.js
CHANGED
|
@@ -14,7 +14,7 @@ module.exports = {
|
|
|
14
14
|
launch_api: "Iniciar Claude Code con API de terceros",
|
|
15
15
|
launch_api_skip: "Iniciar Claude Code con API de terceros (Omitir verificación de permisos)",
|
|
16
16
|
api_management: "Gestión de API de terceros",
|
|
17
|
-
|
|
17
|
+
config_management: "Gestión de configuración",
|
|
18
18
|
version_check: "Verificación de actualización de versión",
|
|
19
19
|
exit: "Salir"
|
|
20
20
|
},
|
|
@@ -22,11 +22,26 @@ module.exports = {
|
|
|
22
22
|
title: "Gestión de API de terceros",
|
|
23
23
|
add_new: "Agregar nueva API de terceros",
|
|
24
24
|
remove: "Eliminar API",
|
|
25
|
+
edit: "Edit API",
|
|
25
26
|
switch: "Cambiar API activa",
|
|
26
27
|
statistics: "Ver estadísticas de API",
|
|
27
28
|
export: "Exportar configuración",
|
|
28
29
|
import: "Importar configuración",
|
|
29
30
|
change_password: "Cambiar contraseña",
|
|
31
|
+
manual_upgrade: "Actualización manual de modelo",
|
|
32
|
+
back: "Volver al menú principal"
|
|
33
|
+
},
|
|
34
|
+
config: {
|
|
35
|
+
title: "Gestión de configuración",
|
|
36
|
+
language: "Configuración de idioma",
|
|
37
|
+
auto_model_upgrade: "Actualización automática de modelo",
|
|
38
|
+
model_upgrade_notification: "Notificación de actualización de modelo",
|
|
39
|
+
telemetry: "Telemetría Anthropic",
|
|
40
|
+
api_launch_mode: "Modo de inicio de API de terceros",
|
|
41
|
+
back: "Volver al menú principal"
|
|
42
|
+
},
|
|
43
|
+
api_select: {
|
|
44
|
+
title: "Seleccione una API para iniciar:",
|
|
30
45
|
back: "Volver al menú principal"
|
|
31
46
|
},
|
|
32
47
|
remove_api: {
|
|
@@ -204,6 +219,23 @@ module.exports = {
|
|
|
204
219
|
remove_confirm: "API a eliminar: {0}",
|
|
205
220
|
cannot_undo: "¡Esta acción no se puede deshacer!",
|
|
206
221
|
removed_info: "Eliminado: {0}"
|
|
222
|
+
},
|
|
223
|
+
edit: {
|
|
224
|
+
select_api: 'Select API to edit',
|
|
225
|
+
current_value: 'Current value: {0}',
|
|
226
|
+
new_value: 'New value: ',
|
|
227
|
+
success: '✅ {0} updated successfully',
|
|
228
|
+
cancelled: 'Edit cancelled',
|
|
229
|
+
back: 'Back',
|
|
230
|
+
field_name: 'Name',
|
|
231
|
+
field_provider: 'Provider',
|
|
232
|
+
field_base_url: 'Base URL',
|
|
233
|
+
field_model: 'Model',
|
|
234
|
+
name_required: 'Name cannot be empty when editing',
|
|
235
|
+
duplicate: 'This change would create a duplicate configuration',
|
|
236
|
+
provider_url_mismatch: 'Provider and URL may be inconsistent',
|
|
237
|
+
provider_url_mismatch_detail: 'Provider: {0} / URL suggests: {1}',
|
|
238
|
+
url_provider_hint: "URL matches provider '{0}' but current provider is '{1}'. Consider updating Provider field."
|
|
207
239
|
}
|
|
208
240
|
},
|
|
209
241
|
|
|
@@ -277,6 +309,10 @@ module.exports = {
|
|
|
277
309
|
good: "Buena",
|
|
278
310
|
strong: "Fuerte",
|
|
279
311
|
very_strong: "Muy fuerte"
|
|
312
|
+
},
|
|
313
|
+
guard: {
|
|
314
|
+
delete: { header: '🗑️ Remove API — Password required to verify identity' },
|
|
315
|
+
edit: { header: '✏️ Edit API — Password required to verify identity' }
|
|
280
316
|
}
|
|
281
317
|
},
|
|
282
318
|
|
|
@@ -324,15 +360,22 @@ module.exports = {
|
|
|
324
360
|
|
|
325
361
|
// Navegación e interfaz de usuario
|
|
326
362
|
navigation: {
|
|
327
|
-
use_arrows: "Use las teclas de flecha ↑↓ para navegar, Enter para seleccionar, doble-tap Ctrl+C para salir",
|
|
328
|
-
use_arrows_esc: "Use ↑↓ para navegar, Enter para {0}, ESC para
|
|
363
|
+
use_arrows: "Use las teclas de flecha ↑↓ para navegar, Enter/Espacio para seleccionar, doble-tap Ctrl+C para salir",
|
|
364
|
+
use_arrows_esc: "Use ↑↓ para navegar, Enter para {0}, ESC para cancelar",
|
|
365
|
+
use_arrows_page_esc: "←→ Page {0}/{1}, ↑↓ to navigate, Enter to {2}, ESC to cancel",
|
|
329
366
|
use_number_keys: "Use las teclas numéricas para seleccionar:",
|
|
330
367
|
currently_active: "API actualmente activa",
|
|
331
368
|
select_action: "Seleccionar una acción:",
|
|
332
369
|
no_options: "No hay opciones disponibles",
|
|
333
370
|
enter_choice: "Ingrese su elección ({0}, o cualquier otra tecla para volver al menú principal):",
|
|
334
371
|
arrow_keys_not_available: "Teclas de flecha no disponibles. Ingrese número de selección (1-{0}):",
|
|
335
|
-
enter_choice_prompt: "[>] Ingrese su elección (1-2, o cualquier otra tecla para volver al menú principal): "
|
|
372
|
+
enter_choice_prompt: "[>] Ingrese su elección (1-2, o cualquier otra tecla para volver al menú principal): ",
|
|
373
|
+
action: {
|
|
374
|
+
edit: 'edit',
|
|
375
|
+
remove: 'remove',
|
|
376
|
+
switch: 'switch',
|
|
377
|
+
select: 'select'
|
|
378
|
+
}
|
|
336
379
|
},
|
|
337
380
|
|
|
338
381
|
// Proceso de lanzamiento
|
|
@@ -573,19 +616,15 @@ module.exports = {
|
|
|
573
616
|
model_upgrade: {
|
|
574
617
|
notification: "Actualización de modelo disponible: {0} → {1}",
|
|
575
618
|
notification_api: "API: {0}",
|
|
576
|
-
notification_hint: "
|
|
619
|
+
notification_hint: "Actualización auto: \"Gestión de configuración\" / Manual: \"Gestión de API de terceros > Actualización manual de modelo\"",
|
|
577
620
|
auto_upgraded: "Modelo actualizado automáticamente: {0} → {1}",
|
|
578
621
|
|
|
579
|
-
settings_title: "Configuración de actualización de modelo",
|
|
580
622
|
current_config: "Configuración actual",
|
|
581
623
|
auto_upgrade_label: "Usar automáticamente el último modelo",
|
|
582
624
|
auto_upgrade_on: "ACTIVADO",
|
|
583
625
|
auto_upgrade_off: "DESACTIVADO",
|
|
584
626
|
|
|
585
|
-
menu_toggle_auto_on: "Actualización auto [● ACTIVADO]",
|
|
586
|
-
menu_toggle_auto_off: "Actualización auto [○ DESACTIVADO]",
|
|
587
627
|
menu_manual_upgrade: "Actualizar todos los modelos manualmente",
|
|
588
|
-
menu_back: "Volver",
|
|
589
628
|
|
|
590
629
|
manual_title: "Verificación de actualización de modelo",
|
|
591
630
|
manual_checking: "Verificando {0} configuraciones de API...",
|
|
@@ -602,8 +641,47 @@ module.exports = {
|
|
|
602
641
|
manual_stats_skipped: "Omitidos: {0} ({1} ya actualizados, {2} sin info de actualización)"
|
|
603
642
|
},
|
|
604
643
|
hints: {
|
|
605
|
-
auto_mode_info: '
|
|
644
|
+
auto_mode_info: 'Presione Shift+Tab después de iniciar para cambiar al modo de ejecución automática',
|
|
606
645
|
active_api_info: 'Activo: {0} / {1}',
|
|
607
|
-
no_active_api: 'No hay API activa configurada. Vaya a "
|
|
646
|
+
no_active_api: 'No hay API activa configurada. Vaya a "Gestión de API" para agregar una.',
|
|
647
|
+
direct_mode_desc: 'Modo de inicio directo, inicia inmediatamente con la API activa',
|
|
648
|
+
direct_mode_api_info: 'API: {0} | Proveedor: {1}',
|
|
649
|
+
direct_mode_api_detail: 'Modelo: {0} | Último uso: {1}',
|
|
650
|
+
direct_mode_change: 'El modo de inicio se puede cambiar en "Gestión de configuración"',
|
|
651
|
+
direct_mode_no_active: 'Modo de inicio directo, pero no hay API activa seleccionada',
|
|
652
|
+
direct_mode_no_active_detail: '{0} APIs configuradas, seleccione una en "Gestión de API de terceros"',
|
|
653
|
+
select_mode_desc: 'Modo selección, elija una API de la lista antes de iniciar',
|
|
654
|
+
select_mode_change: 'El modo de inicio se puede cambiar en "Gestión de configuración"',
|
|
655
|
+
select_mode_api_count: '{0} APIs configuradas, activa: {1}',
|
|
656
|
+
select_mode_active_none: 'ninguna',
|
|
657
|
+
no_api_configured: 'No hay APIs de terceros configuradas. Agregue una en "Gestión de API de terceros" primero',
|
|
658
|
+
api_management_info: '{0} APIs configuradas, activa: {1}',
|
|
659
|
+
config_summary: 'Idioma: {0} | Modo de inicio: {1} | Telemetría: {2}',
|
|
660
|
+
edit_password_required: '🔒 Password verification required to edit API configuration',
|
|
661
|
+
remove_password_required: '🔒 Password verification required to remove API',
|
|
662
|
+
export_password_required: '🔒 Password verification required to export configuration',
|
|
663
|
+
import_password_required: '🔒 Password verification required to import configuration',
|
|
664
|
+
config: {
|
|
665
|
+
language: 'Cambiar idioma de visualización, actual: {0}',
|
|
666
|
+
auto_upgrade: 'Detectar y actualizar automáticamente versiones de modelos para APIs de terceros',
|
|
667
|
+
upgrade_notification: 'Mostrar notificación de actualización de modelo en la parte superior del menú principal',
|
|
668
|
+
telemetry: 'Inyecta DISABLE_TELEMETRY=1 cuando está desactivado. Recomendado: OFF',
|
|
669
|
+
launch_mode: 'Directo: iniciar con API activa / Selección: elegir de la lista primero'
|
|
670
|
+
},
|
|
671
|
+
api_select: {
|
|
672
|
+
info: 'API: {0}',
|
|
673
|
+
detail: 'Proveedor: {0} | Modelo: {1}',
|
|
674
|
+
usage: 'Uso: {0} veces | Último uso: {1}'
|
|
675
|
+
}
|
|
676
|
+
},
|
|
677
|
+
|
|
678
|
+
config: {
|
|
679
|
+
values: {
|
|
680
|
+
on: 'ACTIVADO',
|
|
681
|
+
off: 'DESACTIVADO',
|
|
682
|
+
direct_mode: 'Modo directo',
|
|
683
|
+
select_mode: 'Modo selección',
|
|
684
|
+
recommended_off: 'DESACTIVADO (Recomendado)'
|
|
685
|
+
}
|
|
608
686
|
}
|
|
609
687
|
};
|