mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-08-06 15:22:12 +03:00
feat(i18n): update italian translations (#9280)
Validated in local merge-train (devbox-vm-06-dev002) @ combined-tip (FAST gates green: static + changed tests + vitest — only pre-existing audit.test.ts flake). Evidence: /home/diegosouzapw/dev/proxys/OmniRoute/.claude/worktrees/merge-train-20260805-213228-suite.log
This commit is contained in:
@@ -937,7 +937,7 @@
|
||||
"disabled": "Disabilitato",
|
||||
"featureFlagOmnirouteEmergencyFallbackDescription": "Indirizza le richieste con budget esaurito al provider/modello di fallback gratuito di emergenza.",
|
||||
"featureFlagArenaEloSyncEnabledDescription": "Abilita la sincronizzazione periodica dell'ELO della classifica Arena AI per le graduatorie di intelligenza dei modelli.",
|
||||
"featureFlagExposeCcDiscoveryAliasesDescription": "__MISSING__:Advertise claude/<provider>/<model> mirror ids on /v1/models so Claude Code gateway model discovery lists non-Claude models. Warning: doubles catalog entries for all clients when enabled globally.",
|
||||
"featureFlagExposeCcDiscoveryAliasesDescription": "Mostra gli id specchio claude/<provider>/<model> su /v1/models in modo che la scoperta dei modelli gateway di Claude Code elenchi i modelli non-Claude. Attenzione: raddoppia le voci nel catalogo per tutti i client quando abilitato globalmente.",
|
||||
"sidebar": {
|
||||
"home": "Casa",
|
||||
"dashboard": "Pannello di controllo",
|
||||
@@ -1055,7 +1055,7 @@
|
||||
"combosLive": "Combo Studio",
|
||||
"combosLiveSubtitle": "Cascata di routing in tempo reale",
|
||||
"compressionStudio": "Compression Studio",
|
||||
"compressionExclusions": "__MISSING__:Exclusions",
|
||||
"compressionExclusions": "Esclusioni",
|
||||
"contextSettingsSubtitle": "Impostazioni predefinite globali",
|
||||
"contextHeadroomSubtitle": "Compattazione tabellare",
|
||||
"contextSessionDedupSubtitle": "Deduplicazione cross-turn",
|
||||
@@ -1066,7 +1066,7 @@
|
||||
"contextUltraSubtitle": "Potatura euristica",
|
||||
"contextOmniglyphSubtitle": "Contesto come immagini",
|
||||
"compressionStudioSubtitle": "Cascata del motore in tempo reale",
|
||||
"compressionExclusionsSubtitle": "__MISSING__:Per-model/endpoint bypass",
|
||||
"compressionExclusionsSubtitle": "Bypass per-modello/endpoint",
|
||||
"chaosConfigSubtitle": "Esecuzione parallela multi-modello",
|
||||
"routingSection": "Routing",
|
||||
"protocolsSection": "Protocols",
|
||||
@@ -1107,7 +1107,7 @@
|
||||
"settingsSecurity": "Security",
|
||||
"settingsAccessTokens": "Token di accesso",
|
||||
"settingsFeatureFlags": "Flag di funzionalità",
|
||||
"settingsCache": "__MISSING__:Cache",
|
||||
"settingsCache": "Cache",
|
||||
"settingsAuthz": "Authz",
|
||||
"settingsRouting": "Routing",
|
||||
"settingsResilience": "Resilience",
|
||||
@@ -1164,7 +1164,7 @@
|
||||
"logsSubtitle": "Application logs",
|
||||
"logsProxySubtitle": "Proxy traffic logs",
|
||||
"consoleLogsSubtitle": "Console output",
|
||||
"logsTimelineSubtitle": "__MISSING__:Visual request timeline",
|
||||
"logsTimelineSubtitle": "Timeline visiva delle richieste",
|
||||
"logsActivitySubtitle": "User activity log",
|
||||
"healthSubtitle": "System health check",
|
||||
"costsPricingSubtitle": "Per-model pricing rules",
|
||||
@@ -1194,7 +1194,7 @@
|
||||
"settingsSecuritySubtitle": "Auth and encryption",
|
||||
"settingsAccessTokensSubtitle": "Token CLI con ambito per la modalità remota",
|
||||
"settingsFeatureFlagsSubtitle": "Attiva/disattiva le funzionalità del sistema",
|
||||
"settingsCacheSubtitle": "__MISSING__:Model catalog and response caching",
|
||||
"settingsCacheSubtitle": "Catalogo modelli e caching delle risposte",
|
||||
"settingsSidebar": "Sidebar",
|
||||
"settingsSidebarSubtitle": "Customize sidebar layout",
|
||||
"settingsAuthzSubtitle": "Inventario delle route e criteri di bypass",
|
||||
@@ -1557,7 +1557,7 @@
|
||||
"settingsGeneralDescription": "Storage, database, and general instance configuration",
|
||||
"settingsAppearanceDescription": "Theme, branding, and visual customization",
|
||||
"settingsAiDescription": "AI behaviors, thinking budgets, vision, and memory settings",
|
||||
"settingsCacheDescription": "__MISSING__:TTL for model catalog cache entries",
|
||||
"settingsCacheDescription": "TTL per le voci di cache del catalogo modelli",
|
||||
"settingsSecurityDescription": "Authentication, authorization, and access control settings",
|
||||
"featureFlags": "Flag di funzionalità",
|
||||
"featureFlagsDescription": "Capacità del sistema di controllo e caratteristiche sperimentali",
|
||||
@@ -2946,14 +2946,14 @@
|
||||
"copilotReloadInstruction": "Quindi ricarica VS Code e imposta la chiave API nel prompt di input.",
|
||||
"wireApiChatCompletions": "Completamenti chat (/chat/completamenti)",
|
||||
"wireApiResponses": "API delle risposte (/responses)",
|
||||
"ccDiscoveryInfoButton": "__MISSING__:How to enable discovery in Claude Code",
|
||||
"ccDiscoveryInfoTooltip": "__MISSING__:Advertise non-Claude models under claude/<provider>/<model> mirror ids so Claude Code's gateway model discovery can list them. Doubles catalog entries for all clients when enabled globally.",
|
||||
"ccDiscoveryInfoLink": "__MISSING__:Open Feature Flags",
|
||||
"ccOnboardingTitle": "__MISSING__:settings.json for gateway model discovery",
|
||||
"ccOnboardingCopy": "__MISSING__:Copy",
|
||||
"ccOnboardingCopied": "__MISSING__:Copied",
|
||||
"ccOnboardingKeyPlaceholder": "__MISSING__:<your OmniRoute API key>",
|
||||
"ccOnboardingWindowNote": "__MISSING__:Claude Code assumes a 200K context window for any model id it does not recognize. For a model with a different real window, add CLAUDE_CODE_AUTO_COMPACT_WINDOW just under it so auto-compaction does not fire too early."
|
||||
"ccDiscoveryInfoButton": "Come abilitare la scoperta in Claude Code",
|
||||
"ccDiscoveryInfoTooltip": "Mostra i modelli non-Claude sotto gli id specchio claude/<provider>/<model> così la scoperta modelli gateway di Claude Code può elencarli. Raddoppia le voci nel catalogo per tutti i client quando abilitato globalmente.",
|
||||
"ccDiscoveryInfoLink": "Apri le Flag Funzionalità",
|
||||
"ccOnboardingTitle": "settings.json per la scoperta modelli gateway",
|
||||
"ccOnboardingCopy": "Copia",
|
||||
"ccOnboardingCopied": "Copiato",
|
||||
"ccOnboardingKeyPlaceholder": "<la tua chiave API OmniRoute>",
|
||||
"ccOnboardingWindowNote": "Claude Code assume una finestra di contesto di 200K per qualsiasi id modello non riconosciuto. Per un modello con una finestra reale diversa, aggiungi CLAUDE_CODE_AUTO_COMPACT_WINDOW subito sotto in modo che l'auto-compattazione non si attivi troppo presto."
|
||||
},
|
||||
"combos": {
|
||||
"title": "Combinazioni",
|
||||
@@ -3704,7 +3704,7 @@
|
||||
"modelsCount": "{count, plural, one {# model} other {# models}}",
|
||||
"sectionTitle": "Integration Surface",
|
||||
"sectionDescription": "OpenAI-compatible APIs and operational protocol endpoints",
|
||||
"tabApis": "__MISSING__:APIs",
|
||||
"tabApis": "API",
|
||||
"tabProtocols": "Protocols",
|
||||
"tabsAria": "Endpoint sections",
|
||||
"protocolsTitle": "Protocols",
|
||||
@@ -5411,8 +5411,8 @@
|
||||
"t3ChatWebCookieHint": "Apri t3.chat → DevTools → Applicazione → Archiviazione locale → https://t3.chat, copia 'convex-session-id'. Quindi apri DevTools → Rete, copia l'intestazione completa del cookie da qualsiasi richiesta di chat. Incolla entrambi i valori nei campi sottostanti.",
|
||||
"t3ChatWebCookiePlaceholder": "convex-session-id=abc123...",
|
||||
"grokWebCookieHint": "Grok Web Cookie Hint",
|
||||
"blockClaudeExtraUsageDescription": "__MISSING__:When enabled, OmniRoute marks this Claude connection unavailable as soon as the usage API reports queued extra usage, so fallback switches to another connection instead of continuing on pay-as-you-go extra billing.",
|
||||
"blockClaudeExtraUsageLabel": "__MISSING__:Block extra Claude usage",
|
||||
"blockClaudeExtraUsageDescription": "Se abilitato, OmniRoute segna questa connessione Claude come non disponibile non appena l'API di utilizzo segnala extra usage in coda, in modo che il fallback passi a un'altra connessione invece di continuare con una fatturazione extra pay-as-you-go.",
|
||||
"blockClaudeExtraUsageLabel": "Blocca l'extra usage di Claude",
|
||||
"disableCoolingDescription": "Salta il cooldown transitorio in modo che questa connessione rimanga idonea anche dopo errori ripristinabili (gli stati terminali come bannato/scaduto si applicano ancora).",
|
||||
"disableCoolingLabel": "Disabilita il cooldown per questa connessione",
|
||||
"bulkPasteAdded": "{count, plural, one {1 key added} other {# keys added}}",
|
||||
@@ -5591,13 +5591,13 @@
|
||||
"importGrokAuth": "Importa autenticazione Grok Build",
|
||||
"zedImportTitle": "Importa da Zed Keychain",
|
||||
"zedImportDescription": "Trova le credenziali dei provider AI (OpenAI, Anthropic, Google, Mistral, xAI) memorizzate da Zed IDE nel portachiavi del sistema operativo e importale come connessioni. Zed IDE deve essere installato su questa macchina.",
|
||||
"zedImportButton": "__MISSING__:Import from Zed",
|
||||
"zedImportFailed": "__MISSING__:Zed import failed",
|
||||
"zedImportButton": "Importa da Zed",
|
||||
"zedImportFailed": "Importazione da Zed fallita",
|
||||
"zedImportHint": "Zed Import Hint",
|
||||
"zedImportNetworkError": "Zed Import Network Error",
|
||||
"zedImportNone": "Zed Import None",
|
||||
"zedImportSuccess": "__MISSING__:Imported {credentials} credential(s) from Zed for {providers} provider(s)",
|
||||
"zedImporting": "__MISSING__:Importing…",
|
||||
"zedImportSuccess": "Importate {credentials} credenziali da Zed per {providers} provider",
|
||||
"zedImporting": "Importazione in corso…",
|
||||
"zedNoCredentials": "Nessuna credenziale Zed trovata nel portachiavi",
|
||||
"zedUnsupportedCredentials": "Trovate {count} credenziali nel portachiavi, ma nessuna corrisponde ai provider supportati",
|
||||
"zedManualTitle": "Importazione manuale del token",
|
||||
@@ -5743,7 +5743,7 @@
|
||||
"bailian-coding-plan": "Connetti Alibaba Coding Plan con una chiave API.",
|
||||
"bedrock": "Integrazione nativa di Bedrock: l'individuazione dei modelli utilizza i modelli di base e i profili di inferenza di Bedrock, mentre la chat utilizza le API regionali Bedrock Runtime Converse/ConverseStream.",
|
||||
"anthropic": "Connetti Anthropic con una chiave API.",
|
||||
"ant-ling": "__MISSING__:Register and create an API key at the Ant Ling API console (https://chat.ant-ling.com/open), then paste it here. OmniRoute routes chat traffic to https://api.ant-ling.com/v1/chat/completions; the provider is OpenAI-compatible and also exposes an Anthropic-compatible surface.",
|
||||
"ant-ling": "Registrati e crea una chiave API nella console API di Ant Ling (https://chat.ant-ling.com/open), poi incollala qui. OmniRoute instrada il traffico chat verso https://api.ant-ling.com/v1/chat/completions; il provider è compatibile con OpenAI ed espone anche una superficie compatibile con Anthropic.",
|
||||
"api-airforce": "Ottieni la tua chiave API da https://panel.api.airforce — endpoint compatibile con OpenAI su https://api.airforce/v1",
|
||||
"arcee-ai": "Ottieni la chiave API su arcee.ai",
|
||||
"azure-ai": "Foundry utilizza l'interfaccia OpenAI v1 con i nomi di deployment come modelli. OmniRoute normalizza gli URL delle risorse radice agli endpoint chat v1 e /models.",
|
||||
@@ -5764,7 +5764,7 @@
|
||||
"chutes": "Chiave API Bearer per il gateway compatibile con OpenAI di Chutes.",
|
||||
"clarifai": "Clarifai espone chat, risposte e /models compatibili con OpenAI su /v2/ext/openai/v1. I modelli pubblici/della community richiedono in genere un PAT; le chiavi con ambito app funzionano solo per le risorse all'interno di quell'app.",
|
||||
"cloudflare-ai": "Richiede un token API E un ID account (disponibile su dash.cloudflare.com)",
|
||||
"clova-studio": "__MISSING__:CLOVA Studio (HyperCLOVA X) is OpenAI-compatible on /v1/openai. OmniRoute probes /v1/openai/models and routes chat traffic to /v1/openai/chat/completions. Uses the current clovastudio.stream.ntruss.com host — the legacy clovastudio.apigw.ntruss.com endpoint is being deprecated.",
|
||||
"clova-studio": "CLOVA Studio (HyperCLOVA X) è compatibile con OpenAI su /v1/openai. OmniRoute controlla /v1/openai/models e instrada il traffico chat verso /v1/openai/chat/completions. Usa l'attuale host clovastudio.stream.ntruss.com — il vecchio endpoint clovastudio.apigw.ntruss.com è in fase di deprecazione.",
|
||||
"codestral": "Connetti Codestral con una chiave API.",
|
||||
"cohere": "Prova gratuita: 1.000 chiamate API/mese per i test, nessuna carta di credito richiesta",
|
||||
"command-code": "Crea o copia una chiave API da Command Code, quindi incollala qui come token Bearer.",
|
||||
@@ -5809,9 +5809,9 @@
|
||||
"watsonx": "Il model gateway watsonx espone /chat/completions e /models compatibili con OpenAI sotto /ml/gateway/v1.",
|
||||
"ideogram": "Ottieni la chiave API su ideogram.ai/docs/api",
|
||||
"iflytek": "Ottieni la chiave API su console.xfyun.cn",
|
||||
"inception": "__MISSING__:Inception Labs is OpenAI-compatible at https://api.inceptionlabs.ai/v1. mercury-2 is the first diffusion LLM (dLLM) in the catalog — 5-10x faster generation than comparable autoregressive models, with tool calling, json_mode, and structured outputs.",
|
||||
"inception": "Inception Labs è compatibile con OpenAI all'indirizzo https://api.inceptionlabs.ai/v1. mercury-2 è il primo LLM di diffusione (dLLM) nel catalogo — generazione 5-10x più veloce rispetto ai modelli autoregressivi comparabili, con tool calling, json_mode e structured outputs.",
|
||||
"inference-net": "25 $ di crediti gratuiti alla registrazione più borse di ricerca disponibili",
|
||||
"internlm": "__MISSING__:Free monthly quota ~1M input / 3M output tokens (~10 RPM)",
|
||||
"internlm": "Quota mensile gratuita ~1M token input / 3M output (~10 RPM)",
|
||||
"jina-ai": "Chiave API Bearer per l'API di rerank di Jina AI.",
|
||||
"jina-reader": "Connetti Jina Reader con una chiave API.",
|
||||
"kenari": "Kenari espone un endpoint di completamento chat compatibile con OpenAI all'indirizzo https://kenari.id/v1/chat/completions, oltre a un catalogo live /v1/models che copre Claude, GPT, DeepSeek, GLM, Kimi e altri. OmniRoute utilizza il protocollo OpenAI ed elenca i modelli tramite passthrough.",
|
||||
@@ -5858,7 +5858,7 @@
|
||||
"perplexity": "Connetti Perplexity con una chiave API.",
|
||||
"piapi": "Connetti PiAPI con una chiave API.",
|
||||
"pioneer": "$75 di crediti di utilizzo gratuiti — nessuna carta di credito richiesta",
|
||||
"plamo": "__MISSING__:PLaMo is OpenAI-compatible at https://api.platform.preferredai.jp/v1. Built by Preferred Networks and optimized for Japanese. Docs are primarily in Japanese.",
|
||||
"plamo": "PLaMo è compatibile con OpenAI all'indirizzo https://api.platform.preferredai.jp/v1. Sviluppato da Preferred Networks e ottimizzato per il giapponese. La documentazione è principalmente in giapponese.",
|
||||
"poe": "Poe espone chat e risposte compatibili con OpenAI su https://api.poe.com/v1, con controlli del saldo autenticati su /usage/current_balance.",
|
||||
"pollinations": "Livello gratuito senza chiave: openai, openai-fast, openai-large, qwen-coder, mistral, deepseek, grok, gemini-flash-lite-3.1, perplexity-fast, perplexity-reasoning. I modelli premium (claude, gemini, midijourney) richiedono una chiave API Pollinations da enter.pollinations.ai.",
|
||||
"publicai": "Richiede una chiave API — credito di registrazione una tantum, poi a pagamento",
|
||||
@@ -5870,7 +5870,7 @@
|
||||
"runwayml": "La generazione video di Runway è basata su task. OmniRoute invia lavori text-to-video o image-to-video, interroga /v1/tasks/[id] e normalizza gli output video completati nella risposta simile a OpenAI /v1/videos/generations.",
|
||||
"sambanova": "$5 di crediti gratuiti alla registrazione (validità 30 giorni), nessuna carta di credito richiesta",
|
||||
"sap": "La scoperta dei modelli utilizza /v2/lm/scenarios/foundation-models/models su AI_API_URL. Le richieste di chat utilizzano deploymentUrl/chat/completions e richiedono AI-Resource-Group.",
|
||||
"sarvam": "__MISSING__:Sarvam AI is OpenAI-compatible on /v1. OmniRoute probes /v1/models and routes chat traffic to /v1/chat/completions. Models are tuned for Indic languages.",
|
||||
"sarvam": "Sarvam AI è compatibile con OpenAI su /v1. OmniRoute controlla /v1/models e instrada il traffico chat verso /v1/chat/completions. I modelli sono ottimizzati per le lingue indiane.",
|
||||
"scaleway": "1M di token gratuiti per i nuovi account — conforme a UE/GDPR (Parigi), Qwen3 235B & Llama 70B",
|
||||
"sensenova": "Ottieni la chiave API su platform.sensenova.cn",
|
||||
"siliconflow": "$1 di crediti gratuiti più modelli permanentemente gratuiti dopo la verifica dell'identità",
|
||||
@@ -5887,7 +5887,7 @@
|
||||
"together": "Connetti Together AI con una chiave API.",
|
||||
"tokenrouter": "TokenRouter espone un endpoint di completamento chat compatibile con OpenAI all'indirizzo https://api.tokenrouter.com/v1/chat/completions, oltre a un catalogo /v1/models funzionante. OmniRoute utilizza il protocollo OpenAI.",
|
||||
"topaz": "Connetti Topaz con una chiave API.",
|
||||
"typhoon": "__MISSING__:Typhoon is OpenAI-compatible on /v1. Built by SCB 10X (Thailand); typhoon-v2.5-30b-a3b-instruct is a thai-first, multilingual model.",
|
||||
"typhoon": "Typhoon è compatibile con OpenAI su /v1. Creato da SCB 10X (Thailandia); typhoon-v2.5-30b-a3b-instruct è un modello multilingue con priorità al thailandese.",
|
||||
"udio": "Incolla il cookie di sessione da udio.com (autenticazione Supabase)",
|
||||
"uncloseai": "Nessuna autenticazione richiesta. L'API accetta qualsiasi stringa non vuota come chiave per l'identificazione.",
|
||||
"upstage": "Connetti Upstage con una chiave API.",
|
||||
@@ -5900,7 +5900,7 @@
|
||||
"voyage-ai": "Chiave API Bearer per le API di embedding e rerank di Voyage AI.",
|
||||
"wafer": "Chiave API da https://wafer.ai",
|
||||
"wandb": "Connetti Weights & Biases Inference con una chiave API.",
|
||||
"writer": "__MISSING__:Writer Palmyra is OpenAI-compatible at https://api.writer.com/v1. palmyra-x5 offers a 1M-token context window.",
|
||||
"writer": "Writer Palmyra è compatibile con OpenAI all'indirizzo https://api.writer.com/v1. palmyra-x5 offre una finestra di contesto di 1M di token.",
|
||||
"x5lab": "X5Lab espone un endpoint di completamento chat compatibile con OpenAI all'indirizzo https://api.x5lab.dev/v1/chat/completions, oltre a un catalogo live /v1/models. OmniRoute utilizza il protocollo OpenAI ed elenca i modelli tramite passthrough.",
|
||||
"xai": "Connetti xAI (Grok) con una chiave API.",
|
||||
"xiaomi-mimo": "Connetti Xiaomi MiMo con una chiave API.",
|
||||
@@ -5981,18 +5981,18 @@
|
||||
"cheaperInferenceSupporterBadge": "Amico open source",
|
||||
"cheaperInferenceSupporterTooltip": "Cheaper Inference sostiene OmniRoute come amico open source",
|
||||
"kimiPartnerLinkNote": "Link partner — supporta OmniRoute senza costi aggiuntivi per te",
|
||||
"ccAliasSectionTitle": "__MISSING__:Expose in Claude Code (claude/…)",
|
||||
"ccAliasSectionHint": "__MISSING__:Advertise this provider's models under claude/<provider>/<model> mirror ids so Claude Code's gateway model discovery can list them. Off by default — enabling this doubles catalog entries for all clients.",
|
||||
"ccAliasProviderLevelLabel": "__MISSING__:Provider default",
|
||||
"ccAliasModelOverridesLabel": "__MISSING__:Per-model overrides",
|
||||
"ccAliasModelOverrideAriaLabel": "__MISSING__:Override for {modelId}",
|
||||
"ccAliasStateInherit": "__MISSING__:Inherit",
|
||||
"ccAliasStateOn": "__MISSING__:On",
|
||||
"ccAliasStateOff": "__MISSING__:Off",
|
||||
"ccAliasAddModelPlaceholder": "__MISSING__:Model id (e.g. gpt-4o)",
|
||||
"ccAliasAddModelButton": "__MISSING__:Add override",
|
||||
"ccAliasLoadError": "__MISSING__:Failed to load discovery-alias settings: {error}",
|
||||
"ccAliasSaveError": "__MISSING__:Failed to save discovery-alias setting: {error}"
|
||||
"ccAliasSectionTitle": "Esponi in Claude Code (claude/…)",
|
||||
"ccAliasSectionHint": "Mostra i modelli di questo provider sotto gli id specchio claude/<provider>/<model> così la scoperta modelli gateway di Claude Code può elencarli. Disattivato per impostazione predefinita — abilitarlo raddoppia le voci nel catalogo per tutti i client.",
|
||||
"ccAliasProviderLevelLabel": "Impostazione predefinita del provider",
|
||||
"ccAliasModelOverridesLabel": "Sostituzioni per modello",
|
||||
"ccAliasModelOverrideAriaLabel": "Sostituzione per {modelId}",
|
||||
"ccAliasStateInherit": "Eredita",
|
||||
"ccAliasStateOn": "On",
|
||||
"ccAliasStateOff": "Off",
|
||||
"ccAliasAddModelPlaceholder": "Id modello (es. gpt-4o)",
|
||||
"ccAliasAddModelButton": "Aggiungi sostituzione",
|
||||
"ccAliasLoadError": "Impossibile caricare le impostazioni discovery-alias: {error}",
|
||||
"ccAliasSaveError": "Impossibile salvare l'impostazione discovery-alias: {error}"
|
||||
},
|
||||
"settings": {
|
||||
"title": "Impostazioni",
|
||||
@@ -6087,18 +6087,18 @@
|
||||
"requestBodyLimitSaving": "Saving...",
|
||||
"requestBodyLimitSave": "Save",
|
||||
"requestBodyLimitCurrent": "Current: {value}",
|
||||
"cacheConfigLoadFailed": "__MISSING__:Failed to load cache settings",
|
||||
"cacheConfigSaveSuccess": "__MISSING__:Cache settings saved",
|
||||
"cacheConfigSaveFailed": "__MISSING__:Failed to save cache settings",
|
||||
"modelCatalogTtlWholeNumberError": "__MISSING__:Use a whole number",
|
||||
"modelCatalogTtlMinimumError": "__MISSING__:Minimum is {min} ms",
|
||||
"modelCatalogTtlMaximumError": "__MISSING__:Maximum is {max} ms",
|
||||
"modelCatalogCacheTtl": "__MISSING__:Model Catalog Cache TTL",
|
||||
"modelCatalogCacheTtlDescription": "__MISSING__:How long model catalog responses are cached before refreshing",
|
||||
"modelCatalogCacheTtlLabel": "__MISSING__:Model catalog cache TTL in milliseconds",
|
||||
"modelCatalogCacheTtlSaving": "__MISSING__:Saving...",
|
||||
"modelCatalogCacheTtlSave": "__MISSING__:Save",
|
||||
"modelCatalogCacheTtlCurrent": "__MISSING__:Current: {value} ms",
|
||||
"cacheConfigLoadFailed": "Impossibile caricare le impostazioni della cache",
|
||||
"cacheConfigSaveSuccess": "Impostazioni della cache salvate",
|
||||
"cacheConfigSaveFailed": "Impossibile salvare le impostazioni della cache",
|
||||
"modelCatalogTtlWholeNumberError": "Usa un numero intero",
|
||||
"modelCatalogTtlMinimumError": "Il minimo è {min} ms",
|
||||
"modelCatalogTtlMaximumError": "Il massimo è {max} ms",
|
||||
"modelCatalogCacheTtl": "TTL Cache Catalogo Modelli",
|
||||
"modelCatalogCacheTtlDescription": "Per quanto tempo le risposte del catalogo modelli vengono memorizzate nella cache prima di essere aggiornate",
|
||||
"modelCatalogCacheTtlLabel": "TTL cache catalogo modelli in millisecondi",
|
||||
"modelCatalogCacheTtlSaving": "Salvataggio in corso...",
|
||||
"modelCatalogCacheTtlSave": "Salva",
|
||||
"modelCatalogCacheTtlCurrent": "Attuale: {value} ms",
|
||||
"mitmProxy": "Procura MITM",
|
||||
"pricing": "Prezzi",
|
||||
"storage": "Magazzinaggio",
|
||||
@@ -6752,7 +6752,7 @@
|
||||
"howPricingWorks": "Come funzionano i prezzi",
|
||||
"cacheWrite": "Scrittura nella cache",
|
||||
"unsaved": "non salvato",
|
||||
"resetDefaults": "__MISSING__:Reset defaults",
|
||||
"resetDefaults": "Ripristina impostazioni predefinite",
|
||||
"saveProvider": "Salva fornitore",
|
||||
"model": "Modello",
|
||||
"models": "modelli",
|
||||
@@ -6806,7 +6806,7 @@
|
||||
"purgeLogsFailed": "Failed to purge logs",
|
||||
"logsDeleted": "{count, plural, =0 {Nessun log scaduto eliminato} one {Eliminato # log scaduto} other {Eliminati # log scaduti}}",
|
||||
"resetUsageData": "Ripristina Dati di Utilizzo",
|
||||
"resetUsageDataDesc": "__MISSING__:Select how far back you want to delete usage, request logs, and analytics data. Provider configuration, connections, API keys, combos, and settings are preserved. This action cannot be undone.",
|
||||
"resetUsageDataDesc": "Scegli da quanto tempo fa vuoi eliminare l'uso, i log delle richieste e i dati di analisi. Configurazione dei provider, connessioni, chiavi API, combo e impostazioni vengono conservati. Questa azione non può essere annullata.",
|
||||
"resetUsagePeriod_5m": "5 minuti",
|
||||
"resetUsagePeriod_1h": "1 ora",
|
||||
"resetUsagePeriod_3h": "3 ore",
|
||||
@@ -6932,13 +6932,13 @@
|
||||
"compressionPreserveSystemNever": "Mai",
|
||||
"compressionLiveZoneTitle": "Live Zone allineata alla cache",
|
||||
"compressionLiveZoneDesc": "Mantieni stabile il prefisso della conversazione compressa ed elabora solo gli elementi aggiunti di recente.",
|
||||
"compressionExclusionsTitle": "__MISSING__:Compression Exclusions",
|
||||
"compressionExclusionsDesc": "__MISSING__:Model ids or provider/model patterns that must never be compressed. `*` is the only wildcard (e.g. `openai/*`, `*embedding*`). A matching request passes through byte-identical — no compression engine runs.",
|
||||
"compressionExclusionsPlaceholder": "__MISSING__:One pattern per line, e.g.\nopenai/text-embedding-3-large\nanthropic/*",
|
||||
"compressionExclusionsSave": "__MISSING__:Save",
|
||||
"compressionExclusionsSaved": "__MISSING__:Saved",
|
||||
"compressionExclusionsCount": "__MISSING__:{count, plural, one {# exclusion} other {# exclusions}} configured",
|
||||
"compressionExclusionsEmpty": "__MISSING__:No exclusions configured — every model/endpoint is eligible for compression (default behavior).",
|
||||
"compressionExclusionsTitle": "Esclusioni Compressione",
|
||||
"compressionExclusionsDesc": "Id di modelli o pattern provider/modello che non devono mai essere compressi. `*` è l'unico jolly (es. `openai/*`, `*embedding*`). Una richiesta corrispondente passa identica byte per byte — nessun motore di compressione viene eseguito.",
|
||||
"compressionExclusionsPlaceholder": "Un pattern per riga, es.\nopenai/text-embedding-3-large\nanthropic/*",
|
||||
"compressionExclusionsSave": "Salva",
|
||||
"compressionExclusionsSaved": "Salvato",
|
||||
"compressionExclusionsCount": "{count, plural, one {# esclusione} other {# esclusioni}} configurate",
|
||||
"compressionExclusionsEmpty": "Nessuna esclusione configurata — ogni modello/endpoint è idoneo alla compressione (comportamento predefinito).",
|
||||
"compressionCavemanConfig": "Caveman Engine Configuration",
|
||||
"compressionCavemanConfigDesc": "Fine-tune the rule-based compression engine",
|
||||
"compressionCavemanPanelHint": "L'attivazione e il livello si impostano nel panel:",
|
||||
@@ -7493,9 +7493,9 @@
|
||||
"resilienceEnableServerWaitDesc": "Quando abilitato, OmniRoute attende la scadenza del primo tempo di recupero e riprova automaticamente.",
|
||||
"resilienceMaxAttempts": "Tentativi massimi",
|
||||
"resilienceMaxWaitPerAttempt": "Attesa massima per tentativo",
|
||||
"resilienceComboCooldownWaitTitle": "__MISSING__:Combo cooldown wait",
|
||||
"resilienceComboCooldownWaitDesc": "__MISSING__:For all combo strategies: wait out a short transient cooldown and re-dispatch instead of returning a 429 immediately. Never waits on quota_exhausted.",
|
||||
"resilienceComboCooldownWaitToggleDesc": "__MISSING__:All combo strategies; never waits on quota_exhausted.",
|
||||
"resilienceComboCooldownWaitTitle": "Attesa di cooldown della combo",
|
||||
"resilienceComboCooldownWaitDesc": "Per tutte le strategie combo: attendi un breve cooldown temporaneo e inoltra nuovamente invece di restituire immediatamente un 429. Non attende mai per quota_exhausted.",
|
||||
"resilienceComboCooldownWaitToggleDesc": "Tutte le strategie combo; non attende mai per quota_exhausted.",
|
||||
"resilienceComboCooldownMaxWaitMs": "Attesa massima per tentativo",
|
||||
"resilienceComboCooldownBudgetMs": "Budget attesa totale",
|
||||
"resilienceQuotaShareConcurrencyTitle": "Concorrenza per connessione quota-share",
|
||||
@@ -9723,23 +9723,23 @@
|
||||
"deviceCodeVerificationUrl": "URL di verifica",
|
||||
"deviceCodeYourCode": "Il tuo codice",
|
||||
"deviceCodeWaiting": "In attesa di autorizzazione...",
|
||||
"googleLoopbackTitle": "__MISSING__:Google sign-in can't complete from this address",
|
||||
"googleLoopbackWhatHappens": "__MISSING__:Google only releases the authorization code once <code>{redirectUri}</code> is reachable from the browser that approves the sign-in. Here that address points at this computer, not at the OmniRoute server — so the consent screen hangs instead of redirecting, and there is no callback URL to copy.",
|
||||
"googleLoopbackRecommended": "__MISSING__:Recommended — run this on your own computer, then paste the result below:",
|
||||
"googleLoopbackHelperNote": "__MISSING__:It opens the Google consent locally (where 127.0.0.1 works) and prints a one-line omniroute-cred-v1.… blob. Paste that blob into the Step 2 field below — it accepts a credential blob as well as a callback URL.",
|
||||
"googleLoopbackTunnelLabel": "__MISSING__:Or forward the dashboard port over SSH and reload OmniRoute through the tunnel:",
|
||||
"googleLoopbackTunnelNote": "__MISSING__:Replace {userPlaceholder} with your SSH username, keep the terminal open, then open {localUrl} and connect again from there.",
|
||||
"googleLoopbackHeadlessAlt": "__MISSING__:For fully headless use with no local callback at all, <a>configure your own Google OAuth credentials</a> plus a public base URL.",
|
||||
"googleLoopbackTitle": "L'accesso con Google non può essere completato da questo indirizzo",
|
||||
"googleLoopbackWhatHappens": "Google rilascia il codice di autorizzazione solo una volta che <code>{redirectUri}</code> è raggiungibile dal browser che approva l'accesso. Qui quell'indirizzo punta a questo computer, non al server OmniRoute — quindi la schermata di consenso si blocca invece di reindirizzare, e non c'è nessun URL di callback da copiare.",
|
||||
"googleLoopbackRecommended": "Consigliato — esegui questo sul tuo computer, poi incolla il risultato qui sotto:",
|
||||
"googleLoopbackHelperNote": "Apre il consenso di Google localmente (dove 127.0.0.1 funziona) e stampa un blocco omniroute-cred-v1.… su una sola riga. Incolla quel blocco nel campo Step 2 qui sotto — accetta un blocco di credenziali così come un URL di callback.",
|
||||
"googleLoopbackTunnelLabel": "Oppure inoltra la porta della dashboard tramite SSH e ricarica OmniRoute attraverso il tunnel:",
|
||||
"googleLoopbackTunnelNote": "Sostituisci {userPlaceholder} con il tuo username SSH, tieni il terminale aperto, quindi apri {localUrl} e connettiti di nuovo da lì.",
|
||||
"googleLoopbackHeadlessAlt": "Per un uso completamente headless senza alcun callback locale, <a>configura le tue credenziali Google OAuth</a> più un URL di base pubblico.",
|
||||
"remoteAccessInfo": "Accesso remoto: poiché stai accedendo a OmniRoute da remoto, dopo l'autorizzazione vedrai una pagina di errore (localhost non trovato). Questo è normale: basta copiare l'URL completo dalla barra degli indirizzi del browser e incollarlo di seguito.",
|
||||
"loopbackMismatchTitle": "__MISSING__:Sign-in can't complete from this address",
|
||||
"loopbackMismatchWhatHappened": "__MISSING__:What's happening",
|
||||
"loopbackMismatchExplanation": "__MISSING__:After you approve the login, {providerName} always sends the browser back to <code>{redirectUri}</code>. That address points at the computer running this browser, not at the OmniRoute server — so the authorization code never reaches OmniRoute and the provider fails the sign-in without showing an error.",
|
||||
"loopbackMismatchHowToFix": "__MISSING__:How to fix it",
|
||||
"loopbackMismatchStep1": "__MISSING__:On this computer, open a terminal and start an SSH tunnel to the OmniRoute server:",
|
||||
"loopbackMismatchStep1Note": "__MISSING__:Replace {userPlaceholder} with your SSH username. Keep this terminal open until the connection shows as active — both ports are needed: one serves the dashboard, the other receives the callback.",
|
||||
"loopbackMismatchStep2": "__MISSING__:In this browser, reopen OmniRoute through the tunnel:",
|
||||
"loopbackMismatchStep3": "__MISSING__:Then connect {providerName} again from the new tab. The callback now reaches the server and the login completes normally.",
|
||||
"loopbackMismatchAlternative": "__MISSING__:No SSH access? If this provider offers a token import tab, connect with a token instead — that path doesn't use a loopback callback.",
|
||||
"loopbackMismatchTitle": "L'accesso non può essere completato da questo indirizzo",
|
||||
"loopbackMismatchWhatHappened": "Cosa sta succedendo",
|
||||
"loopbackMismatchExplanation": "Dopo che hai approvato l'accesso, {providerName} rimanda sempre il browser a <code>{redirectUri}</code>. Quell'indirizzo punta al computer che esegue questo browser, non al server OmniRoute — quindi il codice di autorizzazione non raggiunge mai OmniRoute e il provider fa fallire l'accesso senza mostrare un errore.",
|
||||
"loopbackMismatchHowToFix": "Come risolvere",
|
||||
"loopbackMismatchStep1": "Su questo computer, apri un terminale e avvia un tunnel SSH verso il server OmniRoute:",
|
||||
"loopbackMismatchStep1Note": "Sostituisci {userPlaceholder} con il tuo username SSH. Tieni questo terminale aperto finché la connessione non risulta attiva — sono necessarie entrambe le porte: una serve la dashboard, l'altra riceve il callback.",
|
||||
"loopbackMismatchStep2": "In questo browser, riapri OmniRoute attraverso il tunnel:",
|
||||
"loopbackMismatchStep3": "Quindi connetti di nuovo {providerName} dalla nuova scheda. Il callback ora raggiunge il server e l'accesso si completa normalmente.",
|
||||
"loopbackMismatchAlternative": "Nessun accesso SSH? Se questo provider offre una scheda per importare un token, connettiti con un token invece — quel percorso non usa un callback loopback.",
|
||||
"step1OpenUrl": "Passaggio 1: apri questo URL nel tuo browser",
|
||||
"copy": "Copia",
|
||||
"step2PasteCallback": "Passaggio 2: incolla qui l'URL di richiamata o il codice di autorizzazione",
|
||||
@@ -11837,7 +11837,7 @@
|
||||
"description": "Abilita l'accesso alla rete nella sandbox delle skill."
|
||||
}
|
||||
},
|
||||
"ccDiscoveryAliasesEnvWarning": "__MISSING__:Active via environment variable (EXPOSE_CC_DISCOVERY_ALIASES) — this overrides any dashboard toggle below."
|
||||
"ccDiscoveryAliasesEnvWarning": "Attivo tramite variabile d'ambiente (EXPOSE_CC_DISCOVERY_ALIASES) — questo sovrascrive qualsiasi toggle della dashboard qui sotto."
|
||||
},
|
||||
"comboControl": {
|
||||
"title": "Centro di controllo combo",
|
||||
@@ -12185,5 +12185,5 @@
|
||||
"partnerLinkNote": "Link partner",
|
||||
"dismissAriaLabel": "Ignora"
|
||||
},
|
||||
"featureFlagExposeFunctionalGatewayMirrorsDescription": "__MISSING__:Advertise <gateway-alias>/<model> mirror ids on /v1/models for models whose canonical owner has no active credential but a passthrough gateway with an active credential routes them. Warning: adds catalog entries for all clients when enabled globally."
|
||||
"featureFlagExposeFunctionalGatewayMirrorsDescription": "Mostra gli id specchio <gateway-alias>/<model> su /v1/models per i modelli il cui proprietario canonico non ha credenziali attive ma un gateway di transito con una credenziale attiva li instrada. Attenzione: aggiunge voci nel catalogo per tutti i client quando abilitato globalmente."
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user