From cc025aab799cc9bacd5cfb5e526902da6f5b1092 Mon Sep 17 00:00:00 2001 From: nesquena-hermes Date: Wed, 22 Apr 2026 18:24:11 -0700 Subject: [PATCH] =?UTF-8?q?fix(ci):=20add=20missing=20provider=20i18n=20ke?= =?UTF-8?q?ys=20to=20non-English=20locales=20=E2=80=94=20v0.50.160?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds 19 provider panel keys (English fallback) to es, de, zh, ru, zh-Hant. Fixes locale parity CI failures since v0.50.159. --- CHANGELOG.md | 5 +++ static/i18n.js | 100 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 105 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f99d91b..72dc0f0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # Hermes Web UI -- Changelog +## [v0.50.160] — 2026-04-23 + +### Fixed +- **CI: provider panel i18n keys now present in all 6 locales** — `es`, `de`, `zh`, `ru`, `zh-Hant` were missing the 19 provider panel keys added in v0.50.159, causing locale parity test failures on CI after every push to master. (`static/i18n.js`) + ## [v0.50.159] — 2026-04-23 ### Added diff --git a/static/i18n.js b/static/i18n.js index dfc03ff..773ceff 100644 --- a/static/i18n.js +++ b/static/i18n.js @@ -748,6 +748,26 @@ const LOCALES = { password_placeholder: 'Введите новый пароль…', disable_auth: 'Отключить авторизацию', sign_out: 'Выйти', + // Providers panel (English fallback — native translations welcome in follow-up PRs) + providers_tab_title: 'Providers', + providers_section_title: 'Providers', + providers_section_meta: 'Manage API keys for AI providers. Changes take effect immediately.', + providers_status_configured: 'API key configured', + providers_status_not_configured: 'No API key', + providers_status_oauth: 'OAuth', + providers_status_api_key: 'API key', + providers_status_not_configured_label: 'Not configured', + providers_oauth_hint: 'Authenticated via OAuth. No API key needed.', + providers_save: 'Save', + providers_remove: 'Remove', + providers_saving: 'Saving…', + providers_removing: 'Removing…', + providers_enter_key: 'Please enter an API key', + providers_empty: 'No configurable providers found.', + providers_key_updated: 'API key saved', + providers_key_removed: 'API key removed', + providers_key_placeholder_new: 'sk-...', + providers_key_placeholder_replace: 'Enter new key to replace…', cancel: 'Отмена', create_job: 'Создать задание', save_skill: 'Сохранить навык', @@ -1196,6 +1216,26 @@ const LOCALES = { password_placeholder: 'Introduce una contraseña nueva…', disable_auth: 'Desactivar autenticación', sign_out: 'Cerrar sesión', + // Providers panel (English fallback — native translations welcome in follow-up PRs) + providers_tab_title: 'Providers', + providers_section_title: 'Providers', + providers_section_meta: 'Manage API keys for AI providers. Changes take effect immediately.', + providers_status_configured: 'API key configured', + providers_status_not_configured: 'No API key', + providers_status_oauth: 'OAuth', + providers_status_api_key: 'API key', + providers_status_not_configured_label: 'Not configured', + providers_oauth_hint: 'Authenticated via OAuth. No API key needed.', + providers_save: 'Save', + providers_remove: 'Remove', + providers_saving: 'Saving…', + providers_removing: 'Removing…', + providers_enter_key: 'Please enter an API key', + providers_empty: 'No configurable providers found.', + providers_key_updated: 'API key saved', + providers_key_removed: 'API key removed', + providers_key_placeholder_new: 'sk-...', + providers_key_placeholder_replace: 'Enter new key to replace…', cancel: 'Cancelar', create_job: 'Crear tarea', save_skill: 'Guardar skill', @@ -1621,6 +1661,26 @@ const LOCALES = { password_placeholder: 'Neues Passwort eingeben…', disable_auth: 'Authentifizierung deaktivieren', sign_out: 'Abmelden', + // Providers panel (English fallback — native translations welcome in follow-up PRs) + providers_tab_title: 'Providers', + providers_section_title: 'Providers', + providers_section_meta: 'Manage API keys for AI providers. Changes take effect immediately.', + providers_status_configured: 'API key configured', + providers_status_not_configured: 'No API key', + providers_status_oauth: 'OAuth', + providers_status_api_key: 'API key', + providers_status_not_configured_label: 'Not configured', + providers_oauth_hint: 'Authenticated via OAuth. No API key needed.', + providers_save: 'Save', + providers_remove: 'Remove', + providers_saving: 'Saving…', + providers_removing: 'Removing…', + providers_enter_key: 'Please enter an API key', + providers_empty: 'No configurable providers found.', + providers_key_updated: 'API key saved', + providers_key_removed: 'API key removed', + providers_key_placeholder_new: 'sk-...', + providers_key_placeholder_replace: 'Enter new key to replace…', cancel: 'Abbrechen', create_job: 'Job erstellen', save_skill: 'Skill speichern', @@ -1854,6 +1914,26 @@ const LOCALES = { suggest_schedule: '今天有什么安排?', suggest_files: '这个工作区有哪些文件?', sign_out: '退出登录', + // Providers panel (English fallback — native translations welcome in follow-up PRs) + providers_tab_title: 'Providers', + providers_section_title: 'Providers', + providers_section_meta: 'Manage API keys for AI providers. Changes take effect immediately.', + providers_status_configured: 'API key configured', + providers_status_not_configured: 'No API key', + providers_status_oauth: 'OAuth', + providers_status_api_key: 'API key', + providers_status_not_configured_label: 'Not configured', + providers_oauth_hint: 'Authenticated via OAuth. No API key needed.', + providers_save: 'Save', + providers_remove: 'Remove', + providers_saving: 'Saving…', + providers_removing: 'Removing…', + providers_enter_key: 'Please enter an API key', + providers_empty: 'No configurable providers found.', + providers_key_updated: 'API key saved', + providers_key_removed: 'API key removed', + providers_key_placeholder_new: 'sk-...', + providers_key_placeholder_replace: 'Enter new key to replace…', password_placeholder: '输入新密码…', disable_auth: '停用认证', settings_label_sound: '通知声音', @@ -2269,6 +2349,26 @@ const LOCALES = { suggest_schedule: '\u5efa\u8b70\u6642\u7a0b', suggest_files: '\u5efa\u8b70\u6a94\u6848', sign_out: '\u767b\u51fa', + // Providers panel (English fallback — native translations welcome in follow-up PRs) + providers_tab_title: 'Providers', + providers_section_title: 'Providers', + providers_section_meta: 'Manage API keys for AI providers. Changes take effect immediately.', + providers_status_configured: 'API key configured', + providers_status_not_configured: 'No API key', + providers_status_oauth: 'OAuth', + providers_status_api_key: 'API key', + providers_status_not_configured_label: 'Not configured', + providers_oauth_hint: 'Authenticated via OAuth. No API key needed.', + providers_save: 'Save', + providers_remove: 'Remove', + providers_saving: 'Saving…', + providers_removing: 'Removing…', + providers_enter_key: 'Please enter an API key', + providers_empty: 'No configurable providers found.', + providers_key_updated: 'API key saved', + providers_key_removed: 'API key removed', + providers_key_placeholder_new: 'sk-...', + providers_key_placeholder_replace: 'Enter new key to replace…', password_placeholder: '\u5bc6\u78bc', disable_auth: '\u505c\u7528\u9a57\u8b49', settings_label_sound: '\u901a\u77e5\u8072\u97f3',