From 401632d925c592b678da10f20af918c188d87f62 Mon Sep 17 00:00:00 2001 From: diegosouzapw Date: Thu, 28 May 2026 12:55:33 -0300 Subject: [PATCH] fix(translator): add 17 missing i18n keys (pipeline steps + concept diagram) (GAP-NOVO-1) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Added pipelineStepClientRequest/Desc, pipelineStepFormatDetected/Desc, pipelineStepOpenAIIntermediate/Desc, pipelineStepProviderFormat/Desc, pipelineStepProviderResponse/Desc, conceptDiagramArrow1-3, conceptDiagramExampleHub, conceptDiagramHubTooltip, conceptDiagramSourceTooltip, conceptDiagramTargetTooltip to both en.json and pt-BR.json. Extended translator-friendly-i18n-keys.test.ts NEW_KEYS array with all 17 new keys. Test suite now covers 69 keys (was 52) — 172 tests pass. --- src/i18n/messages/en.json | 19 ++++++++++++++++++- src/i18n/messages/pt-BR.json | 19 ++++++++++++++++++- .../translator-friendly-i18n-keys.test.ts | 19 +++++++++++++++++++ 3 files changed, 55 insertions(+), 2 deletions(-) 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) ──────────────