diff --git a/src/i18n/messages/en.json b/src/i18n/messages/en.json index 1d5303a850..18234c882d 100644 --- a/src/i18n/messages/en.json +++ b/src/i18n/messages/en.json @@ -5681,7 +5681,24 @@ "advancedCompressionSubtitle": "Estimate token savings across different compression modes.", "monitorOriginHint": "Events generated by Translate or the main pipeline appear here in real time.", "monitorEmptyCta": "Go to the Translate tab and send a request — it will appear here.", - "monitorOpenTranslateButton": "Go to Translate" + "monitorOpenTranslateButton": "Go to Translate", + "pipelineStepClientRequest": "Client Request", + "pipelineStepClientRequestDesc": "Request received in client format", + "pipelineStepFormatDetected": "Format Detected", + "pipelineStepFormatDetectedDesc": "Auto-detected source format", + "pipelineStepOpenAIIntermediate": "OpenAI Intermediate", + "pipelineStepOpenAIIntermediateDesc": "Translated to OpenAI hub format", + "pipelineStepProviderFormat": "Provider Format", + "pipelineStepProviderFormatDesc": "Translated to provider target format", + "pipelineStepProviderResponse": "Provider Response", + "pipelineStepProviderResponseDesc": "Streaming response from provider", + "conceptDiagramArrow1": "speaks", + "conceptDiagramArrow2": "translates", + "conceptDiagramArrow3": "converts", + "conceptDiagramExampleHub": "OpenAI", + "conceptDiagramHubTooltip": "Intermediate hub used by the translator to convert between formats that don't have a direct mapping.", + "conceptDiagramSourceTooltip": "The API format your app speaks (e.g., Anthropic SDK = claude).", + "conceptDiagramTargetTooltip": "The provider where the request will actually be sent." }, "usage": { "title": "Usage", diff --git a/src/i18n/messages/pt-BR.json b/src/i18n/messages/pt-BR.json index 77515b587c..f34537cc45 100644 --- a/src/i18n/messages/pt-BR.json +++ b/src/i18n/messages/pt-BR.json @@ -5671,7 +5671,24 @@ "advancedCompressionSubtitle": "Estime economia de tokens em diferentes modos.", "monitorOriginHint": "Eventos gerados pelo Translate ou pelo pipeline principal aparecem aqui em tempo real.", "monitorEmptyCta": "Volte para a aba Translate e envie um request — ele aparecerá aqui.", - "monitorOpenTranslateButton": "Ir para Translate" + "monitorOpenTranslateButton": "Ir para Translate", + "pipelineStepClientRequest": "Requisição do Cliente", + "pipelineStepClientRequestDesc": "Requisição recebida no formato do cliente", + "pipelineStepFormatDetected": "Formato Detectado", + "pipelineStepFormatDetectedDesc": "Formato de origem detectado automaticamente", + "pipelineStepOpenAIIntermediate": "Intermediário OpenAI", + "pipelineStepOpenAIIntermediateDesc": "Traduzido para o formato hub OpenAI", + "pipelineStepProviderFormat": "Formato do Provider", + "pipelineStepProviderFormatDesc": "Traduzido para o formato do provider de destino", + "pipelineStepProviderResponse": "Resposta do Provider", + "pipelineStepProviderResponseDesc": "Resposta em streaming do provider", + "conceptDiagramArrow1": "fala", + "conceptDiagramArrow2": "traduz", + "conceptDiagramArrow3": "converte", + "conceptDiagramExampleHub": "OpenAI", + "conceptDiagramHubTooltip": "Hub intermediário usado pelo translator para converter entre formatos que não têm mapeamento direto.", + "conceptDiagramSourceTooltip": "O formato de API que sua app fala (ex: SDK Anthropic = claude).", + "conceptDiagramTargetTooltip": "O provider para onde a requisição será realmente enviada." }, "usage": { "title": "Uso", diff --git a/tests/unit/translator-friendly-i18n-keys.test.ts b/tests/unit/translator-friendly-i18n-keys.test.ts index b13abe12f7..712acd44f9 100644 --- a/tests/unit/translator-friendly-i18n-keys.test.ts +++ b/tests/unit/translator-friendly-i18n-keys.test.ts @@ -85,6 +85,25 @@ const NEW_KEYS = [ "monitorOriginHint", "monitorEmptyCta", "monitorOpenTranslateButton", + // Pipeline step keys (GAP-NOVO-1) + "pipelineStepClientRequest", + "pipelineStepClientRequestDesc", + "pipelineStepFormatDetected", + "pipelineStepFormatDetectedDesc", + "pipelineStepOpenAIIntermediate", + "pipelineStepOpenAIIntermediateDesc", + "pipelineStepProviderFormat", + "pipelineStepProviderFormatDesc", + "pipelineStepProviderResponse", + "pipelineStepProviderResponseDesc", + // Concept diagram keys (GAP-NOVO-1) + "conceptDiagramArrow1", + "conceptDiagramArrow2", + "conceptDiagramArrow3", + "conceptDiagramExampleHub", + "conceptDiagramHubTooltip", + "conceptDiagramSourceTooltip", + "conceptDiagramTargetTooltip", ] as const; // ─── Keys that should obviously differ from English (spot check) ──────────────