From 7a06b7d9ce7256d54f9731d3add934236d25467f Mon Sep 17 00:00:00 2001 From: Michael Wu Date: Sun, 20 Sep 2026 05:11:54 +0900 Subject: [PATCH] fix(app): localize monthly provider usage --- docs/i18n.md | 2 +- packages/app/src/i18n/resources/ar.ts | 2 ++ packages/app/src/i18n/resources/en.ts | 2 ++ packages/app/src/i18n/resources/es.ts | 2 ++ packages/app/src/i18n/resources/fr.ts | 2 ++ packages/app/src/i18n/resources/ja.ts | 2 ++ packages/app/src/i18n/resources/ko.ts | 2 ++ packages/app/src/i18n/resources/pt-BR.ts | 2 ++ packages/app/src/i18n/resources/ru.ts | 2 ++ packages/app/src/i18n/resources/zh-CN.ts | 2 ++ 10 files changed, 19 insertions(+), 1 deletion(-) diff --git a/docs/i18n.md b/docs/i18n.md index e132ece6e7..8bdd6945e1 100644 --- a/docs/i18n.md +++ b/docs/i18n.md @@ -91,4 +91,4 @@ Within a migrated surface, do not leave mixed-language neighboring labels when t - Batch 4Z expanded the supported locale set to the six UN official languages: Arabic, Chinese, English, French, Russian, and Spanish. Arabic, French, Russian, and Spanish now have full client-owned UI resource coverage, with key parity, fallback-ratio, and interpolation-placeholder tests guarding the generated translations. Arabic does not enable RTL layout direction in this batch. - Batch 5A added Brazilian Portuguese (`pt-BR`) resource coverage, language selector labels, i18next registration, and system-locale mapping for `pt-BR` and bare `pt`. Non-Brazilian Portuguese regional locales remain unsupported until a matching resource is added. - Batch 5B added Korean (`ko`) resource coverage, language selector labels, i18next registration, and system-locale mapping for `ko` and Korean regional locales. -- Batch 5C migrated provider-usage chrome across the Usage settings tab and context-meter tooltip: loading/error/empty states, refresh actions, usage/remaining labels, availability statuses, reset/run-out timing, and updated-at text. Known generic usage labels (`session`, `weekly`, `code_review`, and `credits`) are localized by ID; provider names, plan labels, provider-specific labels, detail labels, source labels, and raw provider errors remain runtime values. +- Batch 5C migrated provider-usage chrome across the Usage settings tab and context-meter tooltip: loading/error/empty states, refresh actions, usage/remaining labels, availability statuses, reset/run-out timing, and updated-at text. Known generic usage labels (`session`, `five_hour`, `weekly`, `monthly`, `code_review`, `credits`, and `monthly_credits`) are localized by ID; provider names, plan labels, provider-specific labels, detail labels, source labels, and raw provider errors remain runtime values. diff --git a/packages/app/src/i18n/resources/ar.ts b/packages/app/src/i18n/resources/ar.ts index 17bead2308..4a73e215b6 100644 --- a/packages/app/src/i18n/resources/ar.ts +++ b/packages/app/src/i18n/resources/ar.ts @@ -1973,8 +1973,10 @@ export const ar: TranslationResources = { labels: { session: "الجلسة", weekly: "أسبوعي", + monthly: "شهري", codeReview: "مراجعة التعليمات البرمجية", credits: "الأرصدة", + monthlyCredits: "أرصدة شهرية", }, duration: { days: "{{value}} يوم", diff --git a/packages/app/src/i18n/resources/en.ts b/packages/app/src/i18n/resources/en.ts index f4e1bb54ff..e6b2a6d2c1 100644 --- a/packages/app/src/i18n/resources/en.ts +++ b/packages/app/src/i18n/resources/en.ts @@ -1998,8 +1998,10 @@ export const en = { labels: { session: "Session", weekly: "Weekly", + monthly: "Monthly", codeReview: "Code review", credits: "Credits", + monthlyCredits: "Monthly credits", }, duration: { days: "{{value}}d", diff --git a/packages/app/src/i18n/resources/es.ts b/packages/app/src/i18n/resources/es.ts index 455abc8dc8..a2f692380d 100644 --- a/packages/app/src/i18n/resources/es.ts +++ b/packages/app/src/i18n/resources/es.ts @@ -2021,8 +2021,10 @@ export const es: TranslationResources = { labels: { session: "Sesión", weekly: "Semanal", + monthly: "Mensual", codeReview: "Revisión de código", credits: "Créditos", + monthlyCredits: "Créditos mensuales", }, duration: { days: "{{value}} d", diff --git a/packages/app/src/i18n/resources/fr.ts b/packages/app/src/i18n/resources/fr.ts index d4bb5cd94c..f37e2ef4af 100644 --- a/packages/app/src/i18n/resources/fr.ts +++ b/packages/app/src/i18n/resources/fr.ts @@ -2026,8 +2026,10 @@ export const fr: TranslationResources = { labels: { session: "Session", weekly: "Hebdomadaire", + monthly: "Mensuel", codeReview: "Révision de code", credits: "Crédits", + monthlyCredits: "Crédits mensuels", }, duration: { days: "{{value}} j", diff --git a/packages/app/src/i18n/resources/ja.ts b/packages/app/src/i18n/resources/ja.ts index 6a5046b3a4..b8a6d30f23 100644 --- a/packages/app/src/i18n/resources/ja.ts +++ b/packages/app/src/i18n/resources/ja.ts @@ -1993,8 +1993,10 @@ export const ja: TranslationResources = { labels: { session: "セッション", weekly: "週間", + monthly: "月間", codeReview: "コードレビュー", credits: "クレジット", + monthlyCredits: "月間クレジット", }, duration: { days: "{{value}}日", diff --git a/packages/app/src/i18n/resources/ko.ts b/packages/app/src/i18n/resources/ko.ts index 8e2d3725b2..35db5ff857 100644 --- a/packages/app/src/i18n/resources/ko.ts +++ b/packages/app/src/i18n/resources/ko.ts @@ -1983,8 +1983,10 @@ export const ko: TranslationResources = { labels: { session: "세션", weekly: "주간", + monthly: "월간", codeReview: "코드 검토", credits: "크레딧", + monthlyCredits: "월간 크레딧", }, duration: { days: "{{value}}일", diff --git a/packages/app/src/i18n/resources/pt-BR.ts b/packages/app/src/i18n/resources/pt-BR.ts index 778529b402..0c1c082ec6 100644 --- a/packages/app/src/i18n/resources/pt-BR.ts +++ b/packages/app/src/i18n/resources/pt-BR.ts @@ -2006,8 +2006,10 @@ export const ptBR: TranslationResources = { labels: { session: "Sessão", weekly: "Semanal", + monthly: "Mensal", codeReview: "Revisão de código", credits: "Créditos", + monthlyCredits: "Créditos mensais", }, duration: { days: "{{value}} d", diff --git a/packages/app/src/i18n/resources/ru.ts b/packages/app/src/i18n/resources/ru.ts index 1c41ab3106..baa5b255f9 100644 --- a/packages/app/src/i18n/resources/ru.ts +++ b/packages/app/src/i18n/resources/ru.ts @@ -2006,8 +2006,10 @@ export const ru: TranslationResources = { labels: { session: "Сессия", weekly: "Еженедельно", + monthly: "Ежемесячно", codeReview: "Проверка кода", credits: "Кредиты", + monthlyCredits: "Ежемесячные кредиты", }, duration: { days: "{{value}} дн.", diff --git a/packages/app/src/i18n/resources/zh-CN.ts b/packages/app/src/i18n/resources/zh-CN.ts index 97200ec74b..a7f41aa1cd 100644 --- a/packages/app/src/i18n/resources/zh-CN.ts +++ b/packages/app/src/i18n/resources/zh-CN.ts @@ -1951,8 +1951,10 @@ export const zhCN: TranslationResources = { labels: { session: "会话", weekly: "每周", + monthly: "每月", codeReview: "代码审查", credits: "积分", + monthlyCredits: "每月积分", }, duration: { days: "{{value}}天",