From ad8f1030489afbd6fad7fd9b03e820aad437c13e Mon Sep 17 00:00:00 2001 From: Shannon Sands Date: Thu, 9 Jul 2026 14:39:03 +1000 Subject: [PATCH] i18n(dashboard): translate OAuth copy-code strings in all locales MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The new oauth.copyCode/copyFailed keys existed only in en.ts, with optional types and English literal fallbacks in OAuthLoginModal — so non-English users got English strings on the device-code copy button. Backfill translations in all 16 non-English locales, refresh the updated oauth.description/notConnected copy (dashboard Login flow mention) to match en.ts, make the two keys required in the Translations interface, and drop the English fallbacks from the modal. Verified with web tsc --noEmit (required keys enforce locale completeness), vitest, and a web build. --- web/src/components/OAuthLoginModal.tsx | 9 +++------ web/src/i18n/af.ts | 7 +++++-- web/src/i18n/de.ts | 7 +++++-- web/src/i18n/es.ts | 7 +++++-- web/src/i18n/fr.ts | 7 +++++-- web/src/i18n/ga.ts | 7 +++++-- web/src/i18n/hu.ts | 7 +++++-- web/src/i18n/it.ts | 7 +++++-- web/src/i18n/ja.ts | 7 +++++-- web/src/i18n/ko.ts | 7 +++++-- web/src/i18n/pt.ts | 7 +++++-- web/src/i18n/ru.ts | 7 +++++-- web/src/i18n/tr.ts | 7 +++++-- web/src/i18n/types.ts | 4 ++-- web/src/i18n/uk.ts | 7 +++++-- web/src/i18n/zh-hant.ts | 7 +++++-- web/src/i18n/zh.ts | 7 +++++-- 17 files changed, 80 insertions(+), 38 deletions(-) diff --git a/web/src/components/OAuthLoginModal.tsx b/web/src/components/OAuthLoginModal.tsx index 2d1b07ac029..dd815c2ee07 100644 --- a/web/src/components/OAuthLoginModal.tsx +++ b/web/src/components/OAuthLoginModal.tsx @@ -300,17 +300,14 @@ export function OAuthLoginModal({ provider, onClose, onSuccess }: Props) { ) } - aria-label={t.oauth.copyCode ?? "Copy code"} + aria-label={t.oauth.copyCode} > - {copyStatus === "copied" - ? t.oauth.copied - : (t.oauth.copyCode ?? "Copy code")} + {copyStatus === "copied" ? t.oauth.copied : t.oauth.copyCode} {copyStatus === "failed" && (

- {t.oauth.copyFailed ?? - "Could not copy automatically. Select the code and copy it manually."} + {t.oauth.copyFailed}

)}