@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: "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
- language_settings: "Configuración de idioma",
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,27 @@ 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
+ no_flicker: "Desactivar parpadeo de pantalla",
42
+ back: "Volver al menú principal"
43
+ },
44
+ api_select: {
45
+ title: "Seleccione una API para iniciar:",
30
46
  back: "Volver al menú principal"
31
47
  },
32
48
  remove_api: {
@@ -107,7 +123,8 @@ module.exports = {
107
123
  failed_add: "Error al agregar API: {0}",
108
124
  failed_remove: "Error al eliminar API: {0}",
109
125
  failed_switch: "Error al cambiar API: {0}",
110
- invalid_index: "Índice de API inválido"
126
+ invalid_index: "Índice de API inválido",
127
+ not_found: "API no encontrada: {0}"
111
128
  },
112
129
  password: {
113
130
  empty: "La contraseña no puede estar vacía",
@@ -179,7 +196,16 @@ module.exports = {
179
196
  exporting: "Exportando configuración...",
180
197
  importing: "Importando configuración...",
181
198
  switching_language: "Cambiando idioma...",
182
- initializing: "Inicializando..."
199
+ initializing: "Inicializando...",
200
+ overridden: "Sobrescrito",
201
+ not_set: "(no establecido)",
202
+ default: "Predeterminado",
203
+ enabled: "Activado",
204
+ disabled: "Desactivado",
205
+ current_value: "Actual",
206
+ recommended_value: "Recomendado",
207
+
208
+ auto: "(no establecido)",
183
209
  },
184
210
 
185
211
  // Detalles y etiquetas de API
@@ -204,6 +230,40 @@ module.exports = {
204
230
  remove_confirm: "API a eliminar: {0}",
205
231
  cannot_undo: "¡Esta acción no se puede deshacer!",
206
232
  removed_info: "Eliminado: {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: 'Variables de entorno del modelo',
251
+ field_runtime_env_vars: 'Parámetros de ejecución',
252
+ env_inherited: 'Heredado',
253
+ env_disabled: 'Desactivado [off]',
254
+ manage_custom_env_vars: 'Gestionar variables personalizadas...',
255
+ no_custom_vars: '(sin variables personalizadas)',
256
+ add_custom_var: '+ Añadir variable personalizada',
257
+ enter_custom_key: 'Ingrese clave de variable de entorno:',
258
+ enter_custom_value: 'Ingrese valor:',
259
+ warn_model_not_in_provider: 'Aviso: Modelo "{0}" no encontrado en la lista de {1}.',
260
+ warn_base_url_not_updated: 'Info: URL base no actualizada automáticamente ({0}).',
261
+ warn_mixed_provider: 'Nota: Provider, URL base y Modelo son de diferentes proveedores.',
262
+ },
263
+ add: {
264
+ duplicate_detected: 'API "{0}" ya existe. ¿Saltar a editar parámetros?',
265
+ jump_to_edit: 'Ir a editar API existente',
266
+ cancel: 'Cancelar',
207
267
  }
208
268
  },
209
269
 
@@ -277,6 +337,10 @@ module.exports = {
277
337
  good: "Buena",
278
338
  strong: "Fuerte",
279
339
  very_strong: "Muy fuerte"
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
  // Navegación e interfaz de usuario
326
390
  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 volver al menú principal",
391
+ use_arrows: "Use las teclas de flecha ↑↓ para navegar, Enter/Espacio para seleccionar, doble-tap Ctrl+C para salir",
392
+ use_arrows_esc: "Use ↑↓ para navegar, Enter para {0}, ESC para cancelar",
393
+ use_arrows_page_esc: "←→ Page {0}/{1}, ↑↓ to navigate, Enter to {2}, ESC to cancel",
329
394
  use_number_keys: "Use las teclas numéricas para seleccionar:",
330
395
  currently_active: "API actualmente activa",
331
396
  select_action: "Seleccionar una acción:",
332
397
  no_options: "No hay opciones disponibles",
333
398
  enter_choice: "Ingrese su elección ({0}, o cualquier otra tecla para volver al menú principal):",
334
399
  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): "
400
+ enter_choice_prompt: "[>] Ingrese su elección (1-2, o cualquier otra tecla para volver al menú principal): ",
401
+ input_1_to_n_or_q: "Ingrese 1-{0} o q:",
402
+ invalid_selection: "Selección inválida. Ingrese 1-{0}.",
403
+ enter_to_edit: "Enter para editar, ESC para volver",
404
+ enter_to_select: "Enter para seleccionar, ESC para volver",
405
+ action: {
406
+ edit: 'edit',
407
+ remove: 'remove',
408
+ switch: 'switch',
409
+ select: 'select'
410
+ }
336
411
  },
337
412
 
338
413
  // Proceso de lanzamiento
@@ -573,19 +648,15 @@ module.exports = {
573
648
  model_upgrade: {
574
649
  notification: "Actualización de modelo disponible: {0} → {1}",
575
650
  notification_api: "API: {0}",
576
- notification_hint: "Vaya a \"Gestión de API de terceros > Configuración de actualización de modelo\" para actualizar",
651
+ notification_hint: "Actualización auto: \"Gestión de configuración\" / Manual: \"Gestión de API de terceros > Actualización manual de modelo\"",
577
652
  auto_upgraded: "Modelo actualizado automáticamente: {0} → {1}",
578
653
 
579
- settings_title: "Configuración de actualización de modelo",
580
654
  current_config: "Configuración actual",
581
655
  auto_upgrade_label: "Usar automáticamente el último modelo",
582
656
  auto_upgrade_on: "ACTIVADO",
583
657
  auto_upgrade_off: "DESACTIVADO",
584
658
 
585
- menu_toggle_auto_on: "Actualización auto [● ACTIVADO]",
586
- menu_toggle_auto_off: "Actualización auto [○ DESACTIVADO]",
587
659
  menu_manual_upgrade: "Actualizar todos los modelos manualmente",
588
- menu_back: "Volver",
589
660
 
590
661
  manual_title: "Verificación de actualización de modelo",
591
662
  manual_checking: "Verificando {0} configuraciones de API...",
@@ -602,8 +673,153 @@ module.exports = {
602
673
  manual_stats_skipped: "Omitidos: {0} ({1} ya actualizados, {2} sin info de actualización)"
603
674
  },
604
675
  hints: {
605
- auto_mode_info: 'Modo automatico: Disponible para el plan Team. Enterprise/API en despliegue gradual. Despues de iniciar, presione Shift+Tab para cambiar.',
676
+ auto_mode_info: 'Presione Shift+Tab después de iniciar para cambiar al modo de ejecución automática',
606
677
  active_api_info: 'Activo: {0} / {1}',
607
- no_active_api: 'No hay API activa configurada. Vaya a "Gestion de API" para agregar una.'
678
+ no_active_api: 'No hay API activa configurada. Vaya a "Gestión de API" para agregar una.',
679
+ direct_mode_desc: 'Modo de inicio directo, inicia inmediatamente con la API activa',
680
+ direct_mode_api_info: 'API: {0} | Proveedor: {1}',
681
+ direct_mode_api_detail: 'Modelo: {0} | Último uso: {1}',
682
+ direct_mode_change: 'El modo de inicio se puede cambiar en "Gestión de configuración"',
683
+ direct_mode_no_active: 'Modo de inicio directo, pero no hay API activa seleccionada',
684
+ direct_mode_no_active_detail: '{0} APIs configuradas, seleccione una en "Gestión de API de terceros"',
685
+ select_mode_desc: 'Modo selección, elija una API de la lista antes de iniciar',
686
+ select_mode_change: 'El modo de inicio se puede cambiar en "Gestión de configuración"',
687
+ select_mode_api_count: '{0} APIs configuradas, activa: {1}',
688
+ select_mode_active_none: 'ninguna',
689
+ no_api_configured: 'No hay APIs de terceros configuradas. Agregue una en "Gestión de API de terceros" primero',
690
+ api_management_info: '{0} APIs configuradas, activa: {1}',
691
+ config_summary: 'Idioma: {0} | Modo de inicio: {1} | Telemetría: {2} | Sin parpadeo: {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: 'Cambiar idioma de visualización, actual: {0}',
698
+ auto_upgrade: 'Detectar y actualizar automáticamente versiones de modelos para APIs de terceros',
699
+ upgrade_notification: 'Mostrar notificación de actualización de modelo en la parte superior del menú principal',
700
+ telemetry: 'Inyecta DISABLE_TELEMETRY=1 cuando está desactivado. Recomendado: OFF',
701
+ launch_mode: 'Directo: iniciar con API activa / Selección: elegir de la lista primero',
702
+ no_flicker: 'Desactivar parpadeo de pantalla (CLAUDE_CODE_NO_FLICKER)'
703
+ },
704
+ api_select: {
705
+ info: 'API: {0}',
706
+ detail: 'Proveedor: {0} | Modelo: {1}',
707
+ usage: 'Uso: {0} veces | Último uso: {1}'
708
+ },
709
+ model: {
710
+ desc: 'Versiones de modelo para cada escenario',
711
+ sonnet: 'Corresponde al nivel Sonnet de Claude Code',
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: 'Corresponde al nivel Opus de Claude Code',
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: 'Corresponde al nivel Haiku de Claude Code',
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: 'Modelo usado para subtareas y ramificaciones',
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: 'ID de modelo adicional en el selector /model',
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: 'Nombre mostrado para modelo personalizado en /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: 'Tiempo de espera, atribución, comportamiento de red',
726
+ timeout: 'Tiempo máximo de espera para llamadas API',
727
+ timeout_detail: "Maximum wait time for API calls in milliseconds. Corresponds to env var [API_TIMEOUT_MS].",
728
+ attribution: 'Si adjuntar marca de atribución a la salida',
729
+ attribution_detail: "Controls whether an attribution marker is appended to AI output. Corresponds to env var [CLAUDE_CODE_ATTRIBUTION_HEADER].",
730
+ nonessential: 'Si reducir solicitudes de red no esenciales',
731
+ nonessential_detail: "When enabled, reduces background network requests to lower API overhead. Corresponds to env var [CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC].",
732
+ effort: 'Profundidad de razonamiento del modelo en respuestas',
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: 'Desactiva las funciones Beta experimentales de Anthropic para mayor estabilidad de la API',
735
+ experimental_detail: "When enabled, disables Anthropic experimental Beta features. Corresponds to env var [CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS].",
736
+ nonstreaming: 'Si deshabilitar respaldo a modo no-streaming en fallo de stream',
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: "Valores válidos: low, medium, high, xhigh, max, auto",
739
+ source_manual: "Establecido manualmente por el usuario",
740
+ source_provider: "Valor predeterminado del proveedor",
741
+ source_default: "No establecido, usará predeterminado de Claude Code",
742
+ },
743
+ custom: {
744
+ desc: 'Pares clave-valor adicionales inyectados al entorno de lanzamiento'
745
+ }
746
+ },
747
+
748
+ page: {
749
+ model_runtime_config: 'Config de Modelo y Runtime',
750
+ model_config: 'Config de Modelo',
751
+ runtime_config: 'Config de Runtime',
752
+ custom_vars: 'Variables Personalizadas'
753
+ },
754
+
755
+ action: {
756
+ follow_recommended: 'Seguir recomendado',
757
+ force_enable: 'Forzar activado',
758
+ force_disable: 'Forzar desactivado',
759
+ custom_input: 'Entrada personalizada',
760
+ edit_value: 'Editar valor',
761
+ delete_variable: 'Eliminar variable',
762
+ add_variable: 'Agregar variable',
763
+ finish_create: 'Finalizar (usar config actual)',
764
+ cancel_config: "Cancelar",
765
+ please_choose: 'Por favor elija'
766
+ },
767
+
768
+ prompt: {
769
+ empty_to_restore: 'Dejar vacío para restaurar recomendado',
770
+ exit_to_cancel: 'Ingrese exit para cancelar'
771
+ },
772
+
773
+ add_api: {
774
+ step_n_of_m: 'Agregar API · Paso {0}/{1}',
775
+ confirm_config: 'Confirmar Config',
776
+ finish_hint: 'Config recomendada autocompletada según proveedor y modelo',
777
+ confirm_page_prompt: "Puede finalizar ahora con valores predeterminados recomendados, o seleccionar una sección de configuración abajo para personalizar",
778
+ duplicate_title: 'Esta conexión API ya existe',
779
+ duplicate_enter_config: 'Ir a config de API existente',
780
+ duplicate_back: 'Volver a modificar info de conexión',
781
+ duplicate_draft_discarded: 'Nota: los cambios de config ENV hechos durante este flujo NO se fusionarán en la API existente',
782
+ duplicate_race_lost: 'La API recién creada fue tomada por otro proceso, borrador actual descartado',
783
+ partial_failure: 'Algunas escrituras de config ENV fallaron, verifique manualmente',
784
+ recommended_models: 'Modelos recomendados'
785
+ },
786
+
787
+ summary: {
788
+ x_items: '{0} elementos'
789
+ },
790
+
791
+ // Config label display names (used in env editing menus)
792
+ config_labels: {
793
+ model: {
794
+ ANTHROPIC_DEFAULT_SONNET_MODEL: 'Modelo regular (Sonnet)',
795
+ ANTHROPIC_DEFAULT_OPUS_MODEL: 'Modelo pesado (Opus)',
796
+ ANTHROPIC_DEFAULT_HAIKU_MODEL: 'Modelo rápido (Haiku)',
797
+ CLAUDE_CODE_SUBAGENT_MODEL: 'Modelo subagente',
798
+ ANTHROPIC_CUSTOM_MODEL_OPTION: 'Modelo personalizado',
799
+ ANTHROPIC_CUSTOM_MODEL_OPTION_NAME: 'Nombre modelo personalizado',
800
+ },
801
+ runtime: {
802
+ API_TIMEOUT_MS: 'Tiempo de espera',
803
+ CLAUDE_CODE_ATTRIBUTION_HEADER: 'Atribución de salida',
804
+ CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC: 'Reducir tráfico no esencial',
805
+ CLAUDE_CODE_EFFORT_LEVEL: 'Nivel de esfuerzo',
806
+ CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS: 'Desactivar funciones experimentales',
807
+ CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK: 'Desactivar fallback no-streaming',
808
+ },
809
+ },
810
+
811
+ confirm: {
812
+ delete_variable: '¿Eliminar esta variable? (s/N)'
813
+ },
814
+
815
+ config: {
816
+ values: {
817
+ on: 'ACTIVADO',
818
+ off: 'DESACTIVADO',
819
+ direct_mode: 'Modo directo',
820
+ select_mode: 'Modo selección',
821
+ recommended_off: 'DESACTIVADO (Recomendado)',
822
+ recommended_on: 'Activado (recomendado)'
823
+ }
608
824
  }
609
825
  };
@@ -14,7 +14,7 @@ module.exports = {
14
14
  launch_api: "Lancer Claude Code avec API tierce",
15
15
  launch_api_skip: "Lancer Claude Code avec API tierce (Ignorer la vérification des permissions)",
16
16
  api_management: "Gestion des API tierces",
17
- language_settings: "Paramètres de langue",
17
+ config_management: "Gestion de la configuration",
18
18
  version_check: "Vérification de mise à jour",
19
19
  exit: "Quitter"
20
20
  },
@@ -22,11 +22,27 @@ module.exports = {
22
22
  title: "Gestion des API tierces",
23
23
  add_new: "Ajouter une nouvelle API tierce",
24
24
  remove: "Supprimer une API",
25
+ edit: "Edit API",
25
26
  switch: "Changer l'API active",
26
27
  statistics: "Voir les statistiques d'API",
27
28
  export: "Exporter la configuration",
28
29
  import: "Importer la configuration",
29
30
  change_password: "Changer le mot de passe",
31
+ manual_upgrade: "Mise à niveau manuelle du modèle",
32
+ back: "Retour au menu principal"
33
+ },
34
+ config: {
35
+ title: "Gestion de la configuration",
36
+ language: "Paramètres de langue",
37
+ auto_model_upgrade: "Mise à niveau auto du modèle",
38
+ model_upgrade_notification: "Notification de mise à niveau du modèle",
39
+ telemetry: "Télémétrie Anthropic",
40
+ api_launch_mode: "Mode de lancement API tierce",
41
+ no_flicker: "Désactiver le scintillement de l'écran",
42
+ back: "Retour au menu principal"
43
+ },
44
+ api_select: {
45
+ title: "Sélectionnez une API à lancer :",
30
46
  back: "Retour au menu principal"
31
47
  },
32
48
  remove_api: {
@@ -107,7 +123,8 @@ module.exports = {
107
123
  failed_add: "Échec de l'ajout de l'API : {0}",
108
124
  failed_remove: "Échec de la suppression de l'API : {0}",
109
125
  failed_switch: "Échec du changement d'API : {0}",
110
- invalid_index: "Index d'API invalide"
126
+ invalid_index: "Index d'API invalide",
127
+ not_found: "API introuvable : {0}"
111
128
  },
112
129
  password: {
113
130
  empty: "Le mot de passe ne peut pas être vide",
@@ -179,7 +196,16 @@ module.exports = {
179
196
  exporting: "Export de la configuration...",
180
197
  importing: "Import de la configuration...",
181
198
  switching_language: "Changement de langue...",
182
- initializing: "Initialisation..."
199
+ initializing: "Initialisation...",
200
+ overridden: "Remplacé",
201
+ not_set: "(non défini)",
202
+ default: "Par défaut",
203
+ enabled: "Activé",
204
+ disabled: "Désactivé",
205
+ current_value: "Actuel",
206
+ recommended_value: "Recommandé",
207
+
208
+ auto: "(non défini)",
183
209
  },
184
210
 
185
211
  // Détails et étiquettes des API
@@ -204,6 +230,40 @@ module.exports = {
204
230
  remove_confirm: "API à supprimer : {0}",
205
231
  cannot_undo: "Cette action ne peut pas être annulée !",
206
232
  removed_info: "Supprimé : {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: "Variables d'environnement du modèle",
251
+ field_runtime_env_vars: "Paramètres d'exécution",
252
+ env_inherited: "Hérité",
253
+ env_disabled: "Désactivé [off]",
254
+ manage_custom_env_vars: "Gérer les variables personnalisées...",
255
+ no_custom_vars: "(aucune variable personnalisée)",
256
+ add_custom_var: "+ Ajouter une variable",
257
+ enter_custom_key: "Entrez la clé de variable:",
258
+ enter_custom_value: "Entrez la valeur:",
259
+ warn_model_not_in_provider: 'Attention: Modèle "{0}" introuvable dans la liste {1}.',
260
+ warn_base_url_not_updated: "Info: URL de base non mise à jour ({0}).",
261
+ warn_mixed_provider: "Note: Provider, URL de base et Modèle proviennent de différents fournisseurs.",
262
+ },
263
+ add: {
264
+ duplicate_detected: 'API "{0}" existe déjà. Modifier les paramètres?',
265
+ jump_to_edit: "Modifier l'API existante",
266
+ cancel: "Annuler",
207
267
  }
208
268
  },
209
269
 
@@ -277,6 +337,10 @@ module.exports = {
277
337
  good: "Bon",
278
338
  strong: "Fort",
279
339
  very_strong: "Très fort"
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 et interface utilisateur
326
390
  navigation: {
327
- use_arrows: "Utilisez les touches fléchées ↑↓ pour naviguer, Entrée pour sélectionner, double-tap Ctrl+C pour quitter",
328
- use_arrows_esc: "Utilisez ↑↓ pour naviguer, Entrée pour {0}, ESC pour retourner au menu principal",
391
+ use_arrows: "Utilisez les touches fléchées ↑↓ pour naviguer, Entrée/Espace pour sélectionner, double-tap Ctrl+C pour quitter",
392
+ use_arrows_esc: "Utilisez ↑↓ pour naviguer, Entrée pour {0}, ESC pour annuler",
393
+ use_arrows_page_esc: "←→ Page {0}/{1}, ↑↓ to navigate, Enter to {2}, ESC to cancel",
329
394
  use_number_keys: "Utilisez les touches numériques pour sélectionner :",
330
395
  currently_active: "API actuellement active",
331
396
  select_action: "Sélectionner une action :",
332
397
  no_options: "Aucune option disponible",
333
398
  enter_choice: "Entrez votre choix ({0}, ou toute autre touche pour retourner au menu principal) :",
334
399
  arrow_keys_not_available: "Touches fléchées non disponibles. Entrez le numéro de sélection (1-{0}) :",
335
- enter_choice_prompt: "[>] Entrez votre choix (1-2, ou toute autre touche pour retourner au menu principal) : "
400
+ enter_choice_prompt: "[>] Entrez votre choix (1-2, ou toute autre touche pour retourner au menu principal) : ",
401
+ input_1_to_n_or_q: "Entrez 1-{0} ou q :",
402
+ invalid_selection: "Sélection invalide. Veuillez entrer 1-{0}.",
403
+ enter_to_edit: "Entrée pour modifier, ESC pour revenir",
404
+ enter_to_select: "Entrée pour sélectionner, ESC pour revenir",
405
+ action: {
406
+ edit: 'edit',
407
+ remove: 'remove',
408
+ switch: 'switch',
409
+ select: 'select'
410
+ }
336
411
  },
337
412
 
338
413
  // Processus de lancement
@@ -573,19 +648,15 @@ module.exports = {
573
648
  model_upgrade: {
574
649
  notification: "Mise à niveau du modèle disponible : {0} → {1}",
575
650
  notification_api: "API : {0}",
576
- notification_hint: "Allez dans \"Gestion des API tierces > Paramètres de mise à niveau du modèle\" pour mettre à niveau",
651
+ notification_hint: "Mise à niveau auto : \"Gestion de la configuration\" / Manuelle : \"Gestion des API tierces > Mise à niveau manuelle du modèle\"",
577
652
  auto_upgraded: "Modèle mis à niveau automatiquement : {0} → {1}",
578
653
 
579
- settings_title: "Paramètres de mise à niveau du modèle",
580
654
  current_config: "Configuration actuelle",
581
655
  auto_upgrade_label: "Utiliser automatiquement le dernier modèle",
582
656
  auto_upgrade_on: "ACTIVÉ",
583
657
  auto_upgrade_off: "DÉSACTIVÉ",
584
658
 
585
- menu_toggle_auto_on: "Mise à niveau auto [● ACTIVÉ]",
586
- menu_toggle_auto_off: "Mise à niveau auto [○ DÉSACTIVÉ]",
587
659
  menu_manual_upgrade: "Mettre à niveau tous les modèles manuellement",
588
- menu_back: "Retour",
589
660
 
590
661
  manual_title: "Vérification de mise à niveau du modèle",
591
662
  manual_checking: "Vérification de {0} configurations d'API...",
@@ -602,8 +673,153 @@ module.exports = {
602
673
  manual_stats_skipped: "Ignoré : {0} ({1} déjà à jour, {2} sans info de mise à niveau)"
603
674
  },
604
675
  hints: {
605
- auto_mode_info: 'Mode auto : Disponible pour le plan Team. Enterprise/API en cours de deploiement. Apres le lancement, appuyez sur Shift+Tab pour basculer.',
676
+ auto_mode_info: 'Appuyez sur Shift+Tab après le lancement pour passer en mode exécution automatique',
606
677
  active_api_info: 'Actif : {0} / {1}',
607
- no_active_api: 'Aucune API active configuree. Allez dans "Gestion des API" pour en ajouter une.'
678
+ no_active_api: 'Aucune API active configurée. Allez dans "Gestion des API" pour en ajouter une.',
679
+ direct_mode_desc: 'Mode lancement direct, lance immédiatement avec l\'API active',
680
+ direct_mode_api_info: 'API : {0} | Fournisseur : {1}',
681
+ direct_mode_api_detail: 'Modèle : {0} | Dernière utilisation : {1}',
682
+ direct_mode_change: 'Le mode de lancement peut être changé dans "Gestion de la configuration"',
683
+ direct_mode_no_active: 'Mode lancement direct, mais aucune API active sélectionnée',
684
+ direct_mode_no_active_detail: '{0} APIs configurées, veuillez en sélectionner une dans "Gestion des API tierces"',
685
+ select_mode_desc: 'Mode sélection, choisir une API dans la liste avant le lancement',
686
+ select_mode_change: 'Le mode de lancement peut être changé dans "Gestion de la configuration"',
687
+ select_mode_api_count: '{0} APIs configurées, active : {1}',
688
+ select_mode_active_none: 'aucune',
689
+ no_api_configured: 'Aucune API tierce configurée. Ajoutez-en une dans "Gestion des API tierces" d\'abord',
690
+ api_management_info: '{0} APIs configurées, active : {1}',
691
+ config_summary: 'Langue : {0} | Mode de lancement : {1} | Télémétrie : {2} | Scintillement: {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: 'Changer la langue d\'affichage, actuelle : {0}',
698
+ auto_upgrade: 'Détecter et mettre à niveau automatiquement les versions de modèles pour les APIs tierces',
699
+ upgrade_notification: 'Afficher la notification de mise à niveau du modèle en haut du menu principal',
700
+ telemetry: 'Injecte DISABLE_TELEMETRY=1 lorsque désactivé. Recommandé : OFF',
701
+ launch_mode: 'Direct : lancer avec l\'API active / Sélection : choisir dans la liste d\'abord',
702
+ no_flicker: 'Désactiver le scintillement (CLAUDE_CODE_NO_FLICKER)'
703
+ },
704
+ api_select: {
705
+ info: 'API : {0}',
706
+ detail: 'Fournisseur : {0} | Modèle : {1}',
707
+ usage: 'Utilisation : {0} fois | Dernière utilisation : {1}'
708
+ },
709
+ model: {
710
+ desc: 'Versions de modèle pour chaque scénario',
711
+ sonnet: 'Correspond au niveau Sonnet de Claude Code',
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: 'Correspond au niveau Opus de Claude Code',
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: 'Correspond au niveau Haiku de Claude Code',
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: 'Modèle utilisé pour les sous-tâches et les 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: 'ID de modèle supplémentaire dans le sélecteur /model',
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: 'Nom affiché pour le modèle personnalisé dans /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: 'Délai, attribution, comportement réseau',
726
+ timeout: 'Temps d\'attente max pour les appels API',
727
+ timeout_detail: "Maximum wait time for API calls in milliseconds. Corresponds to env var [API_TIMEOUT_MS].",
728
+ attribution: 'Ajouter ou non un marqueur d\'attribution à la sortie',
729
+ attribution_detail: "Controls whether an attribution marker is appended to AI output. Corresponds to env var [CLAUDE_CODE_ATTRIBUTION_HEADER].",
730
+ nonessential: 'Réduire ou non les requêtes réseau non essentielles',
731
+ nonessential_detail: "When enabled, reduces background network requests to lower API overhead. Corresponds to env var [CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC].",
732
+ effort: 'Profondeur de raisonnement du modèle dans les réponses',
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: "Désactive les fonctions Beta expérimentales d'Anthropic pour une meilleure stabilité de l'API",
735
+ experimental_detail: "When enabled, disables Anthropic experimental Beta features. Corresponds to env var [CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS].",
736
+ nonstreaming: 'Désactiver ou non le repli en mode non-streaming en cas d\'échec du stream',
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: "Valeurs valides: low, medium, high, xhigh, max, auto",
739
+ source_manual: "Défini manuellement par l_utilisateur",
740
+ source_provider: "Valeur par défaut du fournisseur",
741
+ source_default: "Non défini, utilisera la valeur par défaut de Claude Code",
742
+ },
743
+ custom: {
744
+ desc: 'Paires clé-valeur supplémentaires injectées dans l\'environnement de lancement'
745
+ }
746
+ },
747
+
748
+ page: {
749
+ model_runtime_config: 'Config Modèle & Runtime',
750
+ model_config: 'Config Modèle',
751
+ runtime_config: 'Config Runtime',
752
+ custom_vars: 'Variables Personnalisées'
753
+ },
754
+
755
+ action: {
756
+ follow_recommended: 'Suivre la recommandation',
757
+ force_enable: 'Forcer l\'activation',
758
+ force_disable: 'Forcer la désactivation',
759
+ custom_input: 'Saisie personnalisée',
760
+ edit_value: 'Modifier la valeur',
761
+ delete_variable: 'Supprimer la variable',
762
+ add_variable: 'Ajouter une variable',
763
+ finish_create: 'Terminer (utiliser la config actuelle)',
764
+ cancel_config: "Annuler",
765
+ please_choose: 'Veuillez choisir'
766
+ },
767
+
768
+ prompt: {
769
+ empty_to_restore: 'Laisser vide pour restaurer la recommandation',
770
+ exit_to_cancel: 'Entrez exit pour annuler'
771
+ },
772
+
773
+ add_api: {
774
+ step_n_of_m: 'Ajouter API · Étape {0}/{1}',
775
+ confirm_config: 'Confirmer la Config',
776
+ finish_hint: 'Config recommandée remplie automatiquement selon le fournisseur et le modèle',
777
+ confirm_page_prompt: "Vous pouvez terminer maintenant avec les valeurs par défaut recommandées, ou sélectionner une section ci-dessous à personnaliser",
778
+ duplicate_title: 'Cette connexion API existe déjà',
779
+ duplicate_enter_config: 'Aller à la config de l\'API existante',
780
+ duplicate_back: 'Retour pour modifier les infos de connexion',
781
+ duplicate_draft_discarded: 'Note : les modifications de config ENV effectuées pendant ce flux ne seront PAS fusionnées dans l\'API existante',
782
+ duplicate_race_lost: 'L\'API nouvellement créée a été prise par un autre processus, brouillon actuel ignoré',
783
+ partial_failure: 'Certaines écritures de config ENV ont échoué, veuillez vérifier manuellement',
784
+ recommended_models: 'Modèles recommandés'
785
+ },
786
+
787
+ summary: {
788
+ x_items: '{0} éléments'
789
+ },
790
+
791
+ // Config label display names (used in env editing menus)
792
+ config_labels: {
793
+ model: {
794
+ ANTHROPIC_DEFAULT_SONNET_MODEL: 'Modèle standard (Sonnet)',
795
+ ANTHROPIC_DEFAULT_OPUS_MODEL: 'Modèle haute performance (Opus)',
796
+ ANTHROPIC_DEFAULT_HAIKU_MODEL: 'Modèle rapide (Haiku)',
797
+ CLAUDE_CODE_SUBAGENT_MODEL: 'Modèle sous-agent',
798
+ ANTHROPIC_CUSTOM_MODEL_OPTION: 'Modèle personnalisé',
799
+ ANTHROPIC_CUSTOM_MODEL_OPTION_NAME: 'Nom du modèle personnalisé',
800
+ },
801
+ runtime: {
802
+ API_TIMEOUT_MS: 'Délai d\'expiration',
803
+ CLAUDE_CODE_ATTRIBUTION_HEADER: 'Attribution de sortie',
804
+ CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC: 'Réduire le trafic non essentiel',
805
+ CLAUDE_CODE_EFFORT_LEVEL: 'Niveau d\'effort',
806
+ CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS: 'Désactiver les fonctions expérimentales',
807
+ CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK: 'Désactiver le fallback non-streaming',
808
+ },
809
+ },
810
+
811
+ confirm: {
812
+ delete_variable: 'Supprimer cette variable ? (o/N)'
813
+ },
814
+
815
+ config: {
816
+ values: {
817
+ on: 'ACTIVÉ',
818
+ off: 'DÉSACTIVÉ',
819
+ direct_mode: 'Mode direct',
820
+ select_mode: 'Mode sélection',
821
+ recommended_off: 'DÉSACTIVÉ (Recommandé)',
822
+ recommended_on: 'Activé (recommandé)'
823
+ }
608
824
  }
609
825
  };