@kikkimo/claude-launcher 2.5.0 → 3.1.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.
@@ -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
- language_settings: "Spracheinstellungen",
17
+ config_management: "Konfigurationsverwaltung",
18
18
  version_check: "Versionsaktualisierung prüfen",
19
19
  exit: "Beenden"
20
20
  },
@@ -22,11 +22,27 @@ 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
+ no_flicker: "Bildschirmflimmern deaktivieren",
42
+ back: "Zurück zum Hauptmenü"
43
+ },
44
+ api_select: {
45
+ title: "Wählen Sie eine API zum Starten:",
30
46
  back: "Zurück zum Hauptmenü"
31
47
  },
32
48
  remove_api: {
@@ -107,7 +123,8 @@ module.exports = {
107
123
  failed_add: "Hinzufügen der API fehlgeschlagen: {0}",
108
124
  failed_remove: "Entfernen der API fehlgeschlagen: {0}",
109
125
  failed_switch: "Wechsel der API fehlgeschlagen: {0}",
110
- invalid_index: "Ungültiger API-Index"
126
+ invalid_index: "Ungültiger API-Index",
127
+ not_found: "API nicht gefunden: {0}"
111
128
  },
112
129
  password: {
113
130
  empty: "Passwort darf nicht leer sein",
@@ -179,7 +196,16 @@ module.exports = {
179
196
  exporting: "Konfiguration exportieren...",
180
197
  importing: "Konfiguration importieren...",
181
198
  switching_language: "Sprache wechseln...",
182
- initializing: "Initialisieren..."
199
+ initializing: "Initialisieren...",
200
+ overridden: "Überschrieben",
201
+ not_set: "(nicht gesetzt)",
202
+ default: "Standard",
203
+ enabled: "Aktiviert",
204
+ disabled: "Deaktiviert",
205
+ current_value: "Aktuell",
206
+ recommended_value: "Empfohlen",
207
+
208
+ auto: "(nicht gesetzt)",
183
209
  },
184
210
 
185
211
  // API-Details und Labels
@@ -204,6 +230,40 @@ module.exports = {
204
230
  remove_confirm: "Zu entfernende API: {0}",
205
231
  cannot_undo: "Diese Aktion kann nicht rückgängig gemacht werden!",
206
232
  removed_info: "Entfernt: {0}"
233
+ },
234
+ edit: {
235
+ select_api: 'Select API to edit',
236
+ current_value: 'Current value: {0}',
237
+ new_value: 'New value: ',
238
+ success: '✅ {0} updated successfully',
239
+ cancelled: 'Edit cancelled',
240
+ back: 'Back',
241
+ field_name: 'Name',
242
+ field_provider: 'Provider',
243
+ field_base_url: 'Base URL',
244
+ field_model: 'Model',
245
+ name_required: 'Name cannot be empty when editing',
246
+ duplicate: 'This change would create a duplicate configuration',
247
+ provider_url_mismatch: 'Provider and URL may be inconsistent',
248
+ provider_url_mismatch_detail: 'Provider: {0} / URL suggests: {1}',
249
+ url_provider_hint: "URL matches provider '{0}' but current provider is '{1}'. Consider updating Provider field.",
250
+ field_model_env_vars: 'Modell-Umgebungsvariablen',
251
+ field_runtime_env_vars: 'Laufzeitparameter',
252
+ env_inherited: 'Vererbt',
253
+ env_disabled: 'Deaktiviert [off]',
254
+ manage_custom_env_vars: 'Benutzerdefinierte Variablen verwalten...',
255
+ no_custom_vars: '(keine benutzerdefinierten Variablen)',
256
+ add_custom_var: '+ Benutzerdefinierte Variable hinzufügen',
257
+ enter_custom_key: 'Umgebungsvariablen-Schlüssel eingeben:',
258
+ enter_custom_value: 'Wert eingeben:',
259
+ warn_model_not_in_provider: 'Warnung: Modell "{0}" nicht in {1} Modellliste gefunden.',
260
+ warn_base_url_not_updated: 'Info: Basis-URL nicht automatisch aktualisiert ({0}).',
261
+ warn_mixed_provider: 'Hinweis: Provider, Basis-URL und Modell stammen von verschiedenen Anbietern.',
262
+ },
263
+ add: {
264
+ duplicate_detected: 'API "{0}" existiert bereits. Zur Bearbeitung der Laufzeitparameter springen?',
265
+ jump_to_edit: 'Zur vorhandenen API wechseln',
266
+ cancel: 'Abbrechen',
207
267
  }
208
268
  },
209
269
 
@@ -277,6 +337,10 @@ module.exports = {
277
337
  good: "Gut",
278
338
  strong: "Stark",
279
339
  very_strong: "Sehr stark"
340
+ },
341
+ guard: {
342
+ delete: { header: '🗑️ Remove API — Password required to verify identity' },
343
+ edit: { header: '✏️ Edit API — Password required to verify identity' }
280
344
  }
281
345
  },
282
346
 
@@ -324,15 +388,26 @@ module.exports = {
324
388
 
325
389
  // Navigation und UI
326
390
  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 Hauptmenü zurückkehren",
391
+ use_arrows: "Verwenden Sie ↑↓ Pfeiltasten zum Navigieren, Enter/Leertaste zum Auswählen, doppelt Ctrl+C zum Beenden",
392
+ use_arrows_esc: "Verwenden Sie ↑↓ zum Navigieren, Enter zum {0}, ESC zum Abbrechen",
393
+ use_arrows_page_esc: "←→ Page {0}/{1}, ↑↓ to navigate, Enter to {2}, ESC to cancel",
329
394
  use_number_keys: "Verwenden Sie Zahlentasten zum Auswählen:",
330
395
  currently_active: "Derzeit aktive API",
331
396
  select_action: "Aktion auswählen:",
332
397
  no_options: "Keine Optionen verfügbar",
333
398
  enter_choice: "Geben Sie Ihre Wahl ein ({0}, oder beliebige andere Taste zum Hauptmenü zurückkehren):",
334
399
  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): "
400
+ enter_choice_prompt: "[>] Geben Sie Ihre Wahl ein (1-2, oder beliebige andere Taste zum Hauptmenü zurückkehren): ",
401
+ input_1_to_n_or_q: "1-{0} oder q eingeben:",
402
+ invalid_selection: "Ungültige Auswahl. Bitte 1-{0} eingeben.",
403
+ enter_to_edit: "Enter zum Bearbeiten, ESC zurück",
404
+ enter_to_select: "Enter zum Auswählen, ESC zurück",
405
+ action: {
406
+ edit: 'edit',
407
+ remove: 'remove',
408
+ switch: 'switch',
409
+ select: 'select'
410
+ }
336
411
  },
337
412
 
338
413
  // Start-Prozess
@@ -573,19 +648,15 @@ module.exports = {
573
648
  model_upgrade: {
574
649
  notification: "Modell-Upgrade verfügbar: {0} → {1}",
575
650
  notification_api: "API: {0}",
576
- notification_hint: "Gehen Sie zu \"Drittanbieter-API-Verwaltung > Modell-Upgrade-Einstellungen\" zum Upgraden",
651
+ notification_hint: "Auto-Upgrade: \"Konfigurationsverwaltung\" / Manuell: \"Drittanbieter-API-Verwaltung > Manuelles Modell-Upgrade\"",
577
652
  auto_upgraded: "Modell automatisch upgegradet: {0} → {1}",
578
653
 
579
- settings_title: "Modell-Upgrade-Einstellungen",
580
654
  current_config: "Aktuelle Konfiguration",
581
655
  auto_upgrade_label: "Neuestes Modell automatisch verwenden",
582
656
  auto_upgrade_on: "AN",
583
657
  auto_upgrade_off: "AUS",
584
658
 
585
- menu_toggle_auto_on: "Auto-Upgrade [● AN]",
586
- menu_toggle_auto_off: "Auto-Upgrade [○ AUS]",
587
659
  menu_manual_upgrade: "Alle Modelle manuell upgraden",
588
- menu_back: "Zurück",
589
660
 
590
661
  manual_title: "Modell-Upgrade-Prüfung",
591
662
  manual_checking: "{0} API-Konfigurationen werden geprüft...",
@@ -602,8 +673,153 @@ module.exports = {
602
673
  manual_stats_skipped: "Übersprungen: {0} ({1} bereits aktuell, {2} keine Upgrade-Info)"
603
674
  },
604
675
  hints: {
605
- auto_mode_info: 'Auto-Modus: Derzeit fuer Team-Plan verfuegbar. Enterprise/API wird schrittweise eingefuehrt. Nach dem Start mit Shift+Tab wechseln.',
676
+ auto_mode_info: 'Nach dem Start Shift+Tab drücken, um in den automatischen Ausführungsmodus zu wechseln',
606
677
  active_api_info: 'Aktiv: {0} / {1}',
607
- no_active_api: 'Keine aktive API konfiguriert. Gehen Sie zur "API-Verwaltung", um eine hinzuzufuegen.'
678
+ no_active_api: 'Keine aktive API konfiguriert. Gehen Sie zur "API-Verwaltung", um eine hinzuzufügen.',
679
+ direct_mode_desc: 'Direktstartmodus, startet sofort mit der aktiven API',
680
+ direct_mode_api_info: 'API: {0} | Anbieter: {1}',
681
+ direct_mode_api_detail: 'Modell: {0} | Zuletzt verwendet: {1}',
682
+ direct_mode_change: 'Startmodus kann in "Konfigurationsverwaltung" geändert werden',
683
+ direct_mode_no_active: 'Direktstartmodus, aber keine aktive API ausgewählt',
684
+ direct_mode_no_active_detail: '{0} APIs konfiguriert, bitte wählen Sie eine in "Drittanbieter-API-Verwaltung"',
685
+ select_mode_desc: 'Auswahlmodus, wählen Sie eine API aus der Liste vor dem Start',
686
+ select_mode_change: 'Startmodus kann in "Konfigurationsverwaltung" geändert werden',
687
+ select_mode_api_count: '{0} APIs konfiguriert, aktiv: {1}',
688
+ select_mode_active_none: 'keine',
689
+ no_api_configured: 'Keine Drittanbieter-APIs konfiguriert. Fügen Sie zuerst eine in "Drittanbieter-API-Verwaltung" hinzu',
690
+ api_management_info: '{0} APIs konfiguriert, aktiv: {1}',
691
+ config_summary: 'Sprache: {0} | Startmodus: {1} | Telemetrie: {2} | Flimmern: {3}',
692
+ edit_password_required: '🔒 Password verification required to edit API configuration',
693
+ remove_password_required: '🔒 Password verification required to remove API',
694
+ export_password_required: '🔒 Password verification required to export configuration',
695
+ import_password_required: '🔒 Password verification required to import configuration',
696
+ config: {
697
+ language: 'Anzeigesprache wechseln, aktuell: {0}',
698
+ auto_upgrade: 'Modellversionen für Drittanbieter-APIs automatisch erkennen und upgraden',
699
+ upgrade_notification: 'Modell-Upgrade-Benachrichtigung oben im Hauptmenü anzeigen',
700
+ telemetry: 'Injiziert DISABLE_TELEMETRY=1 wenn deaktiviert. Empfohlen: AUS',
701
+ launch_mode: 'Direkt: mit aktiver API starten / Auswahl: zuerst aus Liste wählen',
702
+ no_flicker: 'Bildschirmflimmern deaktivieren (CLAUDE_CODE_NO_FLICKER)'
703
+ },
704
+ api_select: {
705
+ info: 'API: {0}',
706
+ detail: 'Anbieter: {0} | Modell: {1}',
707
+ usage: 'Nutzung: {0} mal | Zuletzt verwendet: {1}'
708
+ },
709
+ model: {
710
+ desc: 'Modellversionen für jedes Szenario',
711
+ sonnet: 'Entspricht Claude Code Sonnet-Stufe',
712
+ sonnet_detail: "Default model for everyday conversations in Claude Code. Corresponds to env var [ANTHROPIC_DEFAULT_SONNET_MODEL]. Auto-matched to same-generation Sonnet tier",
713
+ opus: 'Entspricht Claude Code Opus-Stufe',
714
+ opus_detail: "Model for complex reasoning and deep analysis tasks. Corresponds to env var [ANTHROPIC_DEFAULT_OPUS_MODEL]. Auto-matched to same-generation Opus tier",
715
+ haiku: 'Entspricht Claude Code Haiku-Stufe',
716
+ haiku_detail: "Lightweight fast model for simple tasks and high-frequency calls. Corresponds to env var [ANTHROPIC_DEFAULT_HAIKU_MODEL]. Auto-matched to same-generation high-speed variant",
717
+ subagent: 'Modell für Unteraufgaben und Verzweigungen',
718
+ subagent_detail: "Model for subtasks and branch execution. Corresponds to env var [CLAUDE_CODE_SUBAGENT_MODEL]. Auto-filled by model orchestration",
719
+ custom_option: 'Zusätzliche Modell-ID im /model-Selektor',
720
+ custom_option_detail: "Model ID used for API requests to the third-party provider. Corresponds to env var [ANTHROPIC_CUSTOM_MODEL_OPTION]. Auto-filled by model orchestration",
721
+ custom_name: 'Anzeigename für benutzerdefiniertes Modell in /model',
722
+ custom_name_detail: "Display name in the /model command selector. Corresponds to env var [ANTHROPIC_CUSTOM_MODEL_OPTION_NAME]. Auto-filled by model orchestration",
723
+ },
724
+ runtime: {
725
+ desc: 'Zeitüberschreitung, Attribution, Netzwerkverhalten',
726
+ timeout: 'Maximale Wartezeit für API-Aufrufe',
727
+ timeout_detail: "Maximum wait time for API calls in milliseconds. Corresponds to env var [API_TIMEOUT_MS].",
728
+ attribution: 'Attributionsmarkierung an Ausgabe anhängen',
729
+ attribution_detail: "Controls whether an attribution marker is appended to AI output. Corresponds to env var [CLAUDE_CODE_ATTRIBUTION_HEADER].",
730
+ nonessential: 'Nicht-essentielle Netzwerkanfragen reduzieren',
731
+ nonessential_detail: "When enabled, reduces background network requests to lower API overhead. Corresponds to env var [CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC].",
732
+ effort: 'Denktiefe des Modells bei Antworten',
733
+ effort_detail: "Controls reasoning depth in model responses. Corresponds to env var [CLAUDE_CODE_EFFORT_LEVEL]. Valid: low / medium / high / xhigh / max / auto",
734
+ experimental: 'Deaktiviert experimentelle Beta-Funktionen von Anthropic für verbesserte API-Stabilität',
735
+ experimental_detail: "When enabled, disables Anthropic experimental Beta features. Corresponds to env var [CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS].",
736
+ nonstreaming: 'Fallback auf Nicht-Streaming-Modus bei Stream-Fehler deaktivieren',
737
+ nonstreaming_detail: "When enabled, failed streaming requests will not fall back to non-streaming mode. Corresponds to env var [CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK].",
738
+ effort_values: "Gültige Werte: low, medium, high, xhigh, max, auto",
739
+ source_manual: "Manuell vom Benutzer gesetzt",
740
+ source_provider: "Vom Provider empfohlen",
741
+ source_default: "Nicht gesetzt, verwendet Claude Code-Standard",
742
+ },
743
+ custom: {
744
+ desc: 'Zusätzliche Schlüssel-Wert-Paare für Startumgebung'
745
+ }
746
+ },
747
+
748
+ page: {
749
+ model_runtime_config: 'Modell- & Laufzeitkonfiguration',
750
+ model_config: 'Modellkonfiguration',
751
+ runtime_config: 'Laufzeitkonfiguration',
752
+ custom_vars: 'Benutzerdefinierte Variablen'
753
+ },
754
+
755
+ action: {
756
+ follow_recommended: 'Empfohlen folgen',
757
+ force_enable: 'Erzwingen aktivieren',
758
+ force_disable: 'Erzwingen deaktivieren',
759
+ custom_input: 'Benutzerdefinierte Eingabe',
760
+ edit_value: 'Wert bearbeiten',
761
+ delete_variable: 'Variable löschen',
762
+ add_variable: 'Variable hinzufügen',
763
+ finish_create: 'Fertig (aktuelle Konfiguration verwenden)',
764
+ cancel_config: "Abbrechen",
765
+ please_choose: 'Bitte wählen'
766
+ },
767
+
768
+ prompt: {
769
+ empty_to_restore: 'Leer lassen um Empfohlen wiederherzustellen',
770
+ exit_to_cancel: 'exit eingeben zum Abbrechen'
771
+ },
772
+
773
+ add_api: {
774
+ step_n_of_m: 'API hinzufügen · Schritt {0}/{1}',
775
+ confirm_config: 'Konfiguration bestätigen',
776
+ finish_hint: 'Empfohlene Konfiguration basierend auf Provider und Modell automatisch ausgefüllt',
777
+ confirm_page_prompt: "Sie können jetzt mit empfohlenen Standardwerten abschließen oder einen Konfigurationsbereich unten zum Anpassen auswählen",
778
+ duplicate_title: 'Diese API-Verbindung existiert bereits',
779
+ duplicate_enter_config: 'Zur existierenden API-Konfiguration',
780
+ duplicate_back: 'Zurück zum Bearbeiten der Verbindungsinformationen',
781
+ duplicate_draft_discarded: 'Hinweis: ENV-Konfigurationsänderungen aus diesem Hinzufügen-Prozess werden NICHT in die bestehende API übernommen',
782
+ duplicate_race_lost: 'Die neu erstellte API wurde von einem anderen Prozess übernommen, aktueller Entwurf verworfen',
783
+ partial_failure: 'Einige ENV-Konfigurationsschreibvorgänge fehlgeschlagen, bitte manuell prüfen',
784
+ recommended_models: 'Empfohlene Modelle'
785
+ },
786
+
787
+ summary: {
788
+ x_items: '{0} Elemente'
789
+ },
790
+
791
+ // Config label display names (used in env editing menus)
792
+ config_labels: {
793
+ model: {
794
+ ANTHROPIC_DEFAULT_SONNET_MODEL: 'Standardmodell (Sonnet)',
795
+ ANTHROPIC_DEFAULT_OPUS_MODEL: 'Hochleistungsmodell (Opus)',
796
+ ANTHROPIC_DEFAULT_HAIKU_MODEL: 'Schnelles Modell (Haiku)',
797
+ CLAUDE_CODE_SUBAGENT_MODEL: 'Subagent-Modell',
798
+ ANTHROPIC_CUSTOM_MODEL_OPTION: 'Benutzerdefiniertes Modell',
799
+ ANTHROPIC_CUSTOM_MODEL_OPTION_NAME: 'Name des Modells',
800
+ },
801
+ runtime: {
802
+ API_TIMEOUT_MS: 'Anfrage-Timeout',
803
+ CLAUDE_CODE_ATTRIBUTION_HEADER: 'Ausgabe-Attribution',
804
+ CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC: 'Nicht-essentiellen Verkehr reduzieren',
805
+ CLAUDE_CODE_EFFORT_LEVEL: 'Denkaufwand',
806
+ CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS: 'Experimentelle Funktionen deaktivieren',
807
+ CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK: 'Nicht-Streaming-Fallback deaktivieren',
808
+ },
809
+ },
810
+
811
+ confirm: {
812
+ delete_variable: 'Diese Variable löschen? (j/N)'
813
+ },
814
+
815
+ config: {
816
+ values: {
817
+ on: 'AN',
818
+ off: 'AUS',
819
+ direct_mode: 'Direktmodus',
820
+ select_mode: 'Auswahlmodus',
821
+ recommended_off: 'AUS (Empfohlen)',
822
+ recommended_on: 'An (empfohlen)'
823
+ }
608
824
  }
609
825
  };
@@ -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
- language_settings: "Language Settings",
17
+ config_management: "Configuration Management",
18
18
  version_check: "Version Update Check",
19
19
  exit: "Exit"
20
20
  },
@@ -22,11 +22,27 @@ 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
+ no_flicker: "Disable Screen Flash",
42
+ back: "Back to Main Menu"
43
+ },
44
+ api_select: {
45
+ title: "Select an API to launch:",
30
46
  back: "Back to Main Menu"
31
47
  },
32
48
  remove_api: {
@@ -107,7 +123,8 @@ module.exports = {
107
123
  failed_add: "Failed to add API: {0}",
108
124
  failed_remove: "Failed to remove API: {0}",
109
125
  failed_switch: "Failed to switch API: {0}",
110
- invalid_index: "Invalid API index"
126
+ invalid_index: "Invalid API index",
127
+ not_found: "API not found: {0}",
111
128
  },
112
129
  password: {
113
130
  empty: "Password cannot be empty",
@@ -179,7 +196,16 @@ module.exports = {
179
196
  exporting: "Exporting configuration...",
180
197
  importing: "Importing configuration...",
181
198
  switching_language: "Switching language...",
182
- initializing: "Initializing..."
199
+ initializing: "Initializing...",
200
+ overridden: "Overridden",
201
+ not_set: "(not set)",
202
+ default: "Default",
203
+ enabled: "Enabled",
204
+ disabled: "Disabled",
205
+ current_value: "Current",
206
+ recommended_value: "Recommended",
207
+
208
+ auto: "(not set)",
183
209
  },
184
210
 
185
211
  // API details and labels
@@ -204,6 +230,40 @@ module.exports = {
204
230
  remove_confirm: "API to remove: {0}",
205
231
  cannot_undo: "This action cannot be undone!",
206
232
  removed_info: "Removed: {0}"
233
+ },
234
+ edit: {
235
+ select_api: 'Select API to edit',
236
+ current_value: 'Current value: {0}',
237
+ new_value: 'New value: ',
238
+ success: '✅ {0} updated successfully',
239
+ cancelled: 'Edit cancelled',
240
+ back: 'Back',
241
+ field_name: 'Name',
242
+ field_provider: 'Provider',
243
+ field_base_url: 'Base URL',
244
+ field_model: 'Model',
245
+ name_required: 'Name cannot be empty when editing',
246
+ duplicate: 'This change would create a duplicate configuration',
247
+ provider_url_mismatch: 'Provider and URL may be inconsistent',
248
+ provider_url_mismatch_detail: 'Provider: {0} / URL suggests: {1}',
249
+ url_provider_hint: "URL matches provider '{0}' but current provider is '{1}'. Consider updating Provider field.",
250
+ field_model_env_vars: 'Model Env Variables',
251
+ field_runtime_env_vars: 'Runtime Parameters',
252
+ env_inherited: 'Inherited',
253
+ env_disabled: 'Disabled [off]',
254
+ manage_custom_env_vars: 'Manage Custom Variables...',
255
+ no_custom_vars: '(no custom variables)',
256
+ add_custom_var: '+ Add Custom Variable',
257
+ enter_custom_key: 'Enter environment variable key:',
258
+ enter_custom_value: 'Enter value:',
259
+ warn_model_not_in_provider: 'Warning: Model "{0}" not found in {1} model list.',
260
+ warn_base_url_not_updated: 'Info: Base URL not auto-updated ({0}).',
261
+ warn_mixed_provider: 'Note: Provider, Base URL, and Model are from different vendors.',
262
+ },
263
+ add: {
264
+ duplicate_detected: 'API "{0}" already exists. Jump to edit runtime parameters?',
265
+ jump_to_edit: 'Jump to edit existing API',
266
+ cancel: 'Cancel',
207
267
  }
208
268
  },
209
269
 
@@ -277,6 +337,10 @@ module.exports = {
277
337
  good: "Good",
278
338
  strong: "Strong",
279
339
  very_strong: "Very Strong"
340
+ },
341
+ guard: {
342
+ delete: { header: '🗑️ Remove API — Password required to verify identity' },
343
+ edit: { header: '✏️ Edit API — Password required to verify identity' }
280
344
  }
281
345
  },
282
346
 
@@ -324,15 +388,26 @@ module.exports = {
324
388
 
325
389
  // Navigation and UI
326
390
  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 return to main menu",
391
+ use_arrows: "Use ↑↓ arrow keys to navigate, Enter/Space to select, Double-tap Ctrl+C to exit",
392
+ use_arrows_esc: "Use ↑↓ to navigate, Enter to {0}, ESC to cancel",
393
+ use_arrows_page_esc: "←→ Page {0}/{1}, ↑↓ to navigate, Enter to {2}, ESC to cancel",
329
394
  use_number_keys: "Use number keys to select:",
330
395
  currently_active: "Currently active API",
331
396
  select_action: "Select an action:",
332
397
  no_options: "No options available",
333
398
  enter_choice: "Enter your choice ({0}, or any other key to return to main menu):",
334
399
  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): "
400
+ enter_choice_prompt: "[>] Enter your choice (1-2, or any other key to return to main menu): ",
401
+ input_1_to_n_or_q: "Enter 1-{0} or q:",
402
+ invalid_selection: "Invalid selection. Please enter 1-{0}.",
403
+ enter_to_edit: "Enter to edit, ESC to go back",
404
+ enter_to_select: "Enter to select, ESC to go back",
405
+ action: {
406
+ edit: 'edit',
407
+ remove: 'remove',
408
+ switch: 'switch',
409
+ select: 'select'
410
+ }
336
411
  },
337
412
 
338
413
  // Launch process
@@ -573,19 +648,15 @@ module.exports = {
573
648
  model_upgrade: {
574
649
  notification: "Model upgrade available: {0} → {1}",
575
650
  notification_api: "API: {0}",
576
- notification_hint: "Go to \"3rd-party API Management > Model Upgrade Settings\" to upgrade",
651
+ notification_hint: "Auto upgrade: \"Configuration Management\" / Manual: \"3rd-party API Management > Manual Model Upgrade\"",
577
652
  auto_upgraded: "Model auto-upgraded: {0} → {1}",
578
653
 
579
- settings_title: "Model Upgrade Settings",
580
654
  current_config: "Current Configuration",
581
655
  auto_upgrade_label: "Auto use latest model",
582
656
  auto_upgrade_on: "ON",
583
657
  auto_upgrade_off: "OFF",
584
658
 
585
- menu_toggle_auto_on: "Auto Upgrade [● ON]",
586
- menu_toggle_auto_off: "Auto Upgrade [○ OFF]",
587
659
  menu_manual_upgrade: "Manual upgrade all models",
588
- menu_back: "Back",
589
660
 
590
661
  manual_title: "Model Upgrade Check",
591
662
  manual_checking: "Checking {0} API configurations...",
@@ -602,8 +673,159 @@ module.exports = {
602
673
  manual_stats_skipped: "Skipped: {0} ({1} already latest, {2} no upgrade info)"
603
674
  },
604
675
  hints: {
605
- auto_mode_info: 'Auto Mode: Currently supports Team plan. Enterprise/API rolling out. Use Shift+Tab to switch after launch.',
676
+ auto_mode_info: 'Press Shift+Tab after launch to switch to auto execution mode',
606
677
  active_api_info: 'Active: {0} / {1}',
607
- no_active_api: 'No active API configured. Go to "API Management" to add one.'
678
+ no_active_api: 'No active API configured. Go to "API Management" to add one.',
679
+ direct_mode_desc: 'Direct launch mode, launches with the active API immediately',
680
+ direct_mode_api_info: 'API: {0} | Provider: {1}',
681
+ direct_mode_api_detail: 'Model: {0} | Last used: {1}',
682
+ direct_mode_change: 'Launch mode can be changed in "Configuration Management"',
683
+ direct_mode_no_active: 'Direct launch mode, but no active API selected',
684
+ direct_mode_no_active_detail: '{0} APIs configured, please select one in "3rd-party API Management"',
685
+ select_mode_desc: 'Select mode, choose an API from the list before launching',
686
+ select_mode_change: 'Launch mode can be changed in "Configuration Management"',
687
+ select_mode_api_count: '{0} APIs configured, active: {1}',
688
+ select_mode_active_none: 'none',
689
+ no_api_configured: 'No 3rd-party APIs configured. Add one in "3rd-party API Management" first',
690
+ api_management_info: '{0} APIs configured, active: {1}',
691
+ config_summary: 'Language: {0} | Launch Mode: {1} | Telemetry: {2} | No-Flicker: {3}',
692
+ edit_password_required: '🔒 Password verification required to edit API configuration',
693
+ remove_password_required: '🔒 Password verification required to remove API',
694
+ export_password_required: '🔒 Password verification required to export configuration',
695
+ import_password_required: '🔒 Password verification required to import configuration',
696
+ config: {
697
+ language: 'Switch the display language, current: {0}',
698
+ auto_upgrade: 'Auto detect and upgrade model versions for 3rd-party APIs',
699
+ upgrade_notification: 'Show model upgrade notification at the top of main menu',
700
+ telemetry: 'Injects DISABLE_TELEMETRY=1 when disabled. Recommended: OFF',
701
+ launch_mode: 'Direct: launch with active API / Select: choose from list first',
702
+ no_flicker: 'Disable screen flickering (CLAUDE_CODE_NO_FLICKER)',
703
+ },
704
+ api_select: {
705
+ info: 'API: {0}',
706
+ detail: 'Provider: {0} | Model: {1}',
707
+ usage: 'Usage: {0} times | Last used: {1}'
708
+ },
709
+ model: {
710
+ desc: 'Model versions for each scenario',
711
+ sonnet: 'Corresponds to Claude Code Sonnet tier',
712
+ sonnet_detail: "Default model for everyday conversations in Claude Code. Corresponds to env var [ANTHROPIC_DEFAULT_SONNET_MODEL]. Auto-matched to same-generation Sonnet tier",
713
+ opus: 'Corresponds to Claude Code Opus tier',
714
+ opus_detail: "Model for complex reasoning and deep analysis tasks. Corresponds to env var [ANTHROPIC_DEFAULT_OPUS_MODEL]. Auto-matched to same-generation Opus tier",
715
+ haiku: 'Corresponds to Claude Code Haiku tier',
716
+ haiku_detail: "Lightweight fast model for simple tasks and high-frequency calls. Corresponds to env var [ANTHROPIC_DEFAULT_HAIKU_MODEL]. Auto-matched to same-generation high-speed variant",
717
+ subagent: 'Model used for sub-tasks and branches',
718
+ subagent_detail: "Model for subtasks and branch execution. Corresponds to env var [CLAUDE_CODE_SUBAGENT_MODEL]. Auto-filled by model orchestration",
719
+ custom_option: 'Extra model ID added to /model selector',
720
+ custom_option_detail: "Model ID used for API requests to the third-party provider. Corresponds to env var [ANTHROPIC_CUSTOM_MODEL_OPTION]. Auto-filled by model orchestration",
721
+ custom_name: 'Display name for custom model in /model',
722
+ custom_name_detail: "Display name in the /model command selector. Corresponds to env var [ANTHROPIC_CUSTOM_MODEL_OPTION_NAME]. Auto-filled by model orchestration",
723
+ },
724
+ runtime: {
725
+ desc: 'Timeout, attribution, network behavior toggles',
726
+ timeout: 'Max wait time for API calls',
727
+ timeout_detail: "Maximum wait time for API calls in milliseconds. Corresponds to env var [API_TIMEOUT_MS].",
728
+ attribution: 'Whether to append attribution marker to output',
729
+ attribution_detail: "Controls whether an attribution marker is appended to AI output. Corresponds to env var [CLAUDE_CODE_ATTRIBUTION_HEADER].",
730
+ nonessential: 'Whether to reduce non-essential network requests',
731
+ nonessential_detail: "When enabled, reduces background network requests to lower API overhead. Corresponds to env var [CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC].",
732
+ effort: 'Reasoning depth the model invests in responses',
733
+ effort_detail: "Controls reasoning depth in model responses. Corresponds to env var [CLAUDE_CODE_EFFORT_LEVEL]. Valid: low / medium / high / xhigh / max / auto",
734
+ experimental: 'Disable Anthropic experimental Beta features for improved API stability',
735
+ experimental_detail: "When enabled, disables Anthropic experimental Beta features. Corresponds to env var [CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS].",
736
+ nonstreaming: 'Whether to disable fallback to non-streaming mode on stream failure',
737
+ nonstreaming_detail: "When enabled, failed streaming requests will not fall back to non-streaming mode. Corresponds to env var [CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK].",
738
+ effort_values: "Valid values: low, medium, high, xhigh, max, auto",
739
+ source_manual: "Manually set by user",
740
+ source_provider: "From provider recommended default",
741
+ source_default: "Not set, will use Claude Code built-in default",
742
+ },
743
+ custom: {
744
+ desc: 'Extra key-value pairs injected into launch environment'
745
+ }
746
+ },
747
+
748
+ // Page titles for env config sections
749
+ page: {
750
+ model_runtime_config: 'Model & Runtime Config',
751
+ model_config: 'Model Config',
752
+ runtime_config: 'Runtime Config',
753
+ custom_vars: 'Custom Variables'
754
+ },
755
+
756
+ // Actions for env config editing
757
+ action: {
758
+ follow_recommended: 'Follow recommended',
759
+ force_enable: 'Force enable',
760
+ force_disable: 'Force disable',
761
+ custom_input: 'Custom input',
762
+ edit_value: 'Edit value',
763
+ delete_variable: 'Delete variable',
764
+ add_variable: 'Add variable',
765
+ finish_create: 'Finish (use current config)',
766
+ cancel_config: "Cancel",
767
+ please_choose: 'Please choose'
768
+ },
769
+
770
+ // Prompts
771
+ prompt: {
772
+ empty_to_restore: 'Enter empty to restore recommended',
773
+ exit_to_cancel: 'Enter exit to cancel'
774
+ },
775
+
776
+ // Add API flow
777
+ add_api: {
778
+ step_n_of_m: 'Add API · Step {0}/{1}',
779
+ confirm_config: 'Confirm Config',
780
+ finish_hint: 'Recommended config auto-filled based on provider and model',
781
+ confirm_page_prompt: "You can finish now with recommended defaults, or select a config section below to customize before creating",
782
+ duplicate_title: 'This API connection already exists',
783
+ duplicate_enter_config: 'Go to existing API config',
784
+ duplicate_back: 'Back to modify connection info',
785
+ duplicate_draft_discarded: 'Note: env config changes made during this add flow will NOT be merged into the existing API',
786
+ duplicate_race_lost: 'The newly created API was taken by another process, current draft discarded',
787
+ partial_failure: 'Some env config writes failed, please check manually',
788
+ recommended_models: 'Recommended models'
789
+ },
790
+
791
+ // Summary
792
+ summary: {
793
+ x_items: '{0} items'
794
+ },
795
+
796
+ // Config label display names (used in env editing menus)
797
+ config_labels: {
798
+ model: {
799
+ ANTHROPIC_DEFAULT_SONNET_MODEL: 'Regular Model (Sonnet)',
800
+ ANTHROPIC_DEFAULT_OPUS_MODEL: 'Heavy Model (Opus)',
801
+ ANTHROPIC_DEFAULT_HAIKU_MODEL: 'Fast Model (Haiku)',
802
+ CLAUDE_CODE_SUBAGENT_MODEL: 'Subagent Model',
803
+ ANTHROPIC_CUSTOM_MODEL_OPTION: 'Custom Model',
804
+ ANTHROPIC_CUSTOM_MODEL_OPTION_NAME: 'Custom Model Name',
805
+ },
806
+ runtime: {
807
+ API_TIMEOUT_MS: 'Request Timeout',
808
+ CLAUDE_CODE_ATTRIBUTION_HEADER: 'Output Attribution',
809
+ CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC: 'Reduce Non-Essential Traffic',
810
+ CLAUDE_CODE_EFFORT_LEVEL: 'Reasoning Effort',
811
+ CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS: 'Disable Experimental Features',
812
+ CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK: 'Disable Non-Streaming Fallback',
813
+ },
814
+ },
815
+
816
+ // Confirmations
817
+ confirm: {
818
+ delete_variable: 'Delete this variable? (y/N)'
819
+ },
820
+
821
+ config: {
822
+ values: {
823
+ on: 'ON',
824
+ off: 'OFF',
825
+ direct_mode: 'Direct Mode',
826
+ select_mode: 'Select Mode',
827
+ recommended_off: 'OFF (Recommended)',
828
+ recommended_on: 'On (recommended)'
829
+ }
608
830
  }
609
831
  };