fix(ci): add missing provider i18n keys to non-English locales — v0.50.160
Adds 19 provider panel keys (English fallback) to es, de, zh, ru, zh-Hant. Fixes locale parity CI failures since v0.50.159.
This commit is contained in:
@@ -1,5 +1,10 @@
|
|||||||
# Hermes Web UI -- Changelog
|
# 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
|
## [v0.50.159] — 2026-04-23
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|||||||
100
static/i18n.js
100
static/i18n.js
@@ -748,6 +748,26 @@ const LOCALES = {
|
|||||||
password_placeholder: 'Введите новый пароль…',
|
password_placeholder: 'Введите новый пароль…',
|
||||||
disable_auth: 'Отключить авторизацию',
|
disable_auth: 'Отключить авторизацию',
|
||||||
sign_out: 'Выйти',
|
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: 'Отмена',
|
cancel: 'Отмена',
|
||||||
create_job: 'Создать задание',
|
create_job: 'Создать задание',
|
||||||
save_skill: 'Сохранить навык',
|
save_skill: 'Сохранить навык',
|
||||||
@@ -1196,6 +1216,26 @@ const LOCALES = {
|
|||||||
password_placeholder: 'Introduce una contraseña nueva…',
|
password_placeholder: 'Introduce una contraseña nueva…',
|
||||||
disable_auth: 'Desactivar autenticación',
|
disable_auth: 'Desactivar autenticación',
|
||||||
sign_out: 'Cerrar sesió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',
|
cancel: 'Cancelar',
|
||||||
create_job: 'Crear tarea',
|
create_job: 'Crear tarea',
|
||||||
save_skill: 'Guardar skill',
|
save_skill: 'Guardar skill',
|
||||||
@@ -1621,6 +1661,26 @@ const LOCALES = {
|
|||||||
password_placeholder: 'Neues Passwort eingeben…',
|
password_placeholder: 'Neues Passwort eingeben…',
|
||||||
disable_auth: 'Authentifizierung deaktivieren',
|
disable_auth: 'Authentifizierung deaktivieren',
|
||||||
sign_out: 'Abmelden',
|
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',
|
cancel: 'Abbrechen',
|
||||||
create_job: 'Job erstellen',
|
create_job: 'Job erstellen',
|
||||||
save_skill: 'Skill speichern',
|
save_skill: 'Skill speichern',
|
||||||
@@ -1854,6 +1914,26 @@ const LOCALES = {
|
|||||||
suggest_schedule: '今天有什么安排?',
|
suggest_schedule: '今天有什么安排?',
|
||||||
suggest_files: '这个工作区有哪些文件?',
|
suggest_files: '这个工作区有哪些文件?',
|
||||||
sign_out: '退出登录',
|
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: '输入新密码…',
|
password_placeholder: '输入新密码…',
|
||||||
disable_auth: '停用认证',
|
disable_auth: '停用认证',
|
||||||
settings_label_sound: '通知声音',
|
settings_label_sound: '通知声音',
|
||||||
@@ -2269,6 +2349,26 @@ const LOCALES = {
|
|||||||
suggest_schedule: '\u5efa\u8b70\u6642\u7a0b',
|
suggest_schedule: '\u5efa\u8b70\u6642\u7a0b',
|
||||||
suggest_files: '\u5efa\u8b70\u6a94\u6848',
|
suggest_files: '\u5efa\u8b70\u6a94\u6848',
|
||||||
sign_out: '\u767b\u51fa',
|
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',
|
password_placeholder: '\u5bc6\u78bc',
|
||||||
disable_auth: '\u505c\u7528\u9a57\u8b49',
|
disable_auth: '\u505c\u7528\u9a57\u8b49',
|
||||||
settings_label_sound: '\u901a\u77e5\u8072\u97f3',
|
settings_label_sound: '\u901a\u77e5\u8072\u97f3',
|
||||||
|
|||||||
Reference in New Issue
Block a user