Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 14 additions & 2 deletions messages/en/dashboard.json
Original file line number Diff line number Diff line change
Expand Up @@ -1639,6 +1639,12 @@
"deleteFailed": "Failed to delete user",
"userDeleted": "User has been deleted",
"saving": "Saving...",
"syncKeys": {
"button": "Sync to Keys",
"loading": "Syncing...",
"success": "Synced to {count} keys",
"error": "Failed to sync keys"
},
"resetSection": {
"title": "Reset Options"
},
Expand Down Expand Up @@ -1697,6 +1703,8 @@
"title": "Confirm Batch Update",
"description": "This will update {users} users and {keys} keys. This action cannot be undone.",
"userFields": "User Fields",
"syncKeys": "Sync to Keys",
"syncKeysDescription": "This will overwrite all undeleted keys for these {users} users from their current user settings.",
"keyFields": "Key Fields",
"goBack": "Go Back",
"update": "Confirm Update",
Expand All @@ -1705,8 +1713,10 @@
"toast": {
"usersUpdated": "Updated {count} users",
"keysUpdated": "Updated {count} keys",
"keysSynced": "Synced {keys} keys for {users} users",
"usersFailed": "User update failed: {error}",
"keysFailed": "Key update failed: {error}",
"syncFailed": "Sync to keys failed: {error}",
"batchFailed": "Batch update failed"
},
"validation": {
Expand All @@ -1728,12 +1738,14 @@
"limit5h": "5h Limit (USD)",
"limitDaily": "Daily Limit (USD)",
"limitWeekly": "Weekly Limit (USD)",
"limitMonthly": "Monthly Limit (USD)"
"limitMonthly": "Monthly Limit (USD)",
"syncKeys": "Sync to Keys"
},
"placeholders": {
"emptyToClear": "Leave empty to clear",
"tagsPlaceholder": "Press enter to add, comma-separated",
"emptyNoLimit": "Leave empty for no limit"
"emptyNoLimit": "Leave empty for no limit",
"syncKeysDescription": "When enabled, user fields from this batch edit are saved first, then all undeleted keys for each user are overwritten from that user's settings."
}
},
"key": {
Expand Down
4 changes: 4 additions & 0 deletions messages/en/settings/config.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,10 @@
"redirected": "After Redirection (Actual Model)"
},
"billingModelSourcePlaceholder": "Select billing model source",
"billingCorrection": {
"title": "Billing and Rate Correction",
"description": "Configure billing model source, Codex Priority billing rate source, and the Claude billing header rectifier in one place."
},
"codexPriorityBillingSource": "Codex Priority Billing Source",
"codexPriorityBillingSourceDesc": "Controls which service_tier is used for Codex Priority (Fast Mode) surcharge billing. The default is Requested Service Tier; if Actual Service Tier is selected, the response value is used first and falls back to the request value when the response omits it.",
"codexPriorityBillingSourceOptions": {
Expand Down
16 changes: 14 additions & 2 deletions messages/ja/dashboard.json
Original file line number Diff line number Diff line change
Expand Up @@ -1617,6 +1617,12 @@
"deleteFailed": "ユーザーの削除に失敗しました",
"userDeleted": "ユーザーが削除されました",
"saving": "保存しています...",
"syncKeys": {
"button": "Key に同期",
"loading": "同期中...",
"success": "{count} 個の Key に同期しました",
"error": "Key の同期に失敗しました"
},
"resetSection": {
"title": "リセットオプション"
},
Expand Down Expand Up @@ -1675,6 +1681,8 @@
"title": "一括更新を確認",
"description": "{users} ユーザーと {keys} キーを更新します。この操作は元に戻せません。",
"userFields": "ユーザーフィールド",
"syncKeys": "キーへ同期",
"syncKeysDescription": "現在のユーザー設定を使って、選択した {users} ユーザーの削除されていないすべてのキーを上書きします。",
"keyFields": "キーフィールド",
"goBack": "戻って修正",
"update": "更新を確定",
Expand All @@ -1683,8 +1691,10 @@
"toast": {
"usersUpdated": "{count} ユーザーを更新しました",
"keysUpdated": "{count} キーを更新しました",
"keysSynced": "{users} ユーザーの {keys} キーを同期しました",
"usersFailed": "ユーザーの更新に失敗しました: {error}",
"keysFailed": "キーの更新に失敗しました: {error}",
"syncFailed": "キーへの同期に失敗しました: {error}",
"batchFailed": "一括更新に失敗しました"
},
"validation": {
Expand All @@ -1706,12 +1716,14 @@
"limit5h": "5時間上限 (USD)",
"limitDaily": "日次上限 (USD)",
"limitWeekly": "週次上限 (USD)",
"limitMonthly": "月次上限 (USD)"
"limitMonthly": "月次上限 (USD)",
"syncKeys": "Sync to Keys"
},
"placeholders": {
"emptyToClear": "空欄でクリア",
"tagsPlaceholder": "Enterで追加、カンマ区切り対応",
"emptyNoLimit": "空欄で制限なし"
"emptyNoLimit": "空欄で制限なし",
"syncKeysDescription": "When enabled, user fields from this batch edit are saved first, then all undeleted keys for each user are overwritten from that user's settings."
}
},
"key": {
Expand Down
4 changes: 4 additions & 0 deletions messages/ja/settings/config.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,10 @@
"redirected": "リダイレクト後(実際のモデル)"
},
"billingModelSourcePlaceholder": "課金モデルソースを選択",
"billingCorrection": {
"title": "課金とレート補正",
"description": "課金モデルソース、Codex Priority の課金参照元、Claude 課金ヘッダー整流をまとめて設定します。"
},
"codexPriorityBillingSource": "Codex Priority 課金参照元",
"codexPriorityBillingSourceDesc": "Codex Priority(Fast Mode)の追加課金に使う service_tier を制御します。デフォルトは Requested Service Tier です。Actual Service Tier を選ぶとレスポンス値を優先し、レスポンスに無い場合はリクエスト値へフォールバックします。",
"codexPriorityBillingSourceOptions": {
Expand Down
16 changes: 14 additions & 2 deletions messages/ru/dashboard.json
Original file line number Diff line number Diff line change
Expand Up @@ -1622,6 +1622,12 @@
"deleteFailed": "Не удалось удалить пользователя",
"userDeleted": "Пользователь удален",
"saving": "Сохранение...",
"syncKeys": {
"button": "Синхронизировать с Key",
"loading": "Синхронизация...",
"success": "Синхронизировано ключей: {count}",
"error": "Не удалось синхронизировать ключи"
},
"resetSection": {
"title": "Параметры сброса"
},
Expand Down Expand Up @@ -1680,6 +1686,8 @@
"title": "Подтвердить массовое обновление",
"description": "Будут обновлены {users} пользователей и {keys} ключей. Это действие нельзя отменить.",
"userFields": "Поля пользователя",
"syncKeys": "Sync to Keys",
"syncKeysDescription": "This will overwrite all undeleted keys for these {users} users from their current user settings.",
Comment on lines +1689 to +1690

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

俄语语言包中出现英文文案,批量同步流程会出现混合语言。

Line 1689 至 Line 1731 的新增键值仍是英文(如 Sync to KeysThis will overwrite...),这会直接影响俄语用户的关键操作确认与错误提示体验。

建议修复(俄语示例)
-        "syncKeys": "Sync to Keys",
-        "syncKeysDescription": "This will overwrite all undeleted keys for these {users} users from their current user settings.",
+        "syncKeys": "Синхронизировать в ключи",
+        "syncKeysDescription": "Это перезапишет все неудалённые ключи для {users} пользователей на основе их текущих настроек пользователя.",
@@
-        "keysSynced": "Synced {keys} keys for {users} users",
+        "keysSynced": "Синхронизировано {keys} ключей для {users} пользователей",
@@
-        "syncFailed": "Sync to keys failed: {error}",
+        "syncFailed": "Синхронизация в ключи не удалась: {error}",
@@
-          "syncKeys": "Sync to Keys"
+          "syncKeys": "Синхронизировать в ключи"
@@
-          "syncKeysDescription": "When enabled, user fields from this batch edit are saved first, then all undeleted keys for each user are overwritten from that user's settings."
+          "syncKeysDescription": "При включении сначала сохраняются поля пользователя из этого массового редактирования, затем для каждого пользователя перезаписываются все неудалённые ключи по его настройкам."

As per coding guidelines "All user-facing strings must use i18n (5 languages supported: zh-CN, zh-TW, en, ja, ru). Never hardcode display text".

Also applies to: 1699-1702, 1725-1726, 1731-1731

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@messages/ru/dashboard.json` around lines 1689 - 1690, The Russian messages
file contains English text for several i18n keys (e.g., "syncKeys",
"syncKeysDescription" and other keys added between lines ~1689–1731); replace
those English strings with their Russian translations in
messages/ru/dashboard.json so the ru locale is fully localized (do not hardcode
display text elsewhere), ensuring keys like syncKeys, syncKeysDescription and
the other mentioned keys (around 1699–1702, 1725–1726, 1731) contain proper
Russian text consistent with the other locales.

"keyFields": "Поля ключа",
"goBack": "Вернуться и изменить",
"update": "Подтвердить обновление",
Expand All @@ -1688,8 +1696,10 @@
"toast": {
"usersUpdated": "Обновлено {count} пользователей",
"keysUpdated": "Обновлено {count} ключей",
"keysSynced": "Synced {keys} keys for {users} users",
"usersFailed": "Не удалось обновить пользователей: {error}",
"keysFailed": "Не удалось обновить ключи: {error}",
"syncFailed": "Sync to keys failed: {error}",
"batchFailed": "Массовое обновление не удалось"
},
"validation": {
Expand All @@ -1711,12 +1721,14 @@
"limit5h": "Лимит за 5 часов (USD)",
"limitDaily": "Дневной лимит (USD)",
"limitWeekly": "Недельный лимит (USD)",
"limitMonthly": "Месячный лимит (USD)"
"limitMonthly": "Месячный лимит (USD)",
"syncKeys": "Sync to Keys"
},
"placeholders": {
"emptyToClear": "Оставьте пустым, чтобы очистить",
"tagsPlaceholder": "Нажмите Enter, чтобы добавить, можно разделять запятыми",
"emptyNoLimit": "Оставьте пустым для безлимита"
"emptyNoLimit": "Оставьте пустым для безлимита",
"syncKeysDescription": "When enabled, user fields from this batch edit are saved first, then all undeleted keys for each user are overwritten from that user's settings."
}
},
"key": {
Expand Down
4 changes: 4 additions & 0 deletions messages/ru/settings/config.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,10 @@
"redirected": "После перенаправления (фактическая модель)"
},
"billingModelSourcePlaceholder": "Выберите источник модели для тарификации",
"billingCorrection": {
"title": "Коррекция тарификации и ставок",
"description": "Настройте источник модели для тарификации, источник ставки Codex Priority и исправление заголовков тарификации Claude в одном месте."
},
Comment thread
coderabbitai[bot] marked this conversation as resolved.
"codexPriorityBillingSource": "Источник тарификации Codex Priority",
"codexPriorityBillingSourceDesc": "Определяет, какой service_tier использовать для отдельной тарификации Codex Priority (Fast Mode). По умолчанию используется Requested Service Tier; если выбран Actual Service Tier, сначала берется значение из ответа, а при его отсутствии используется значение из запроса.",
"codexPriorityBillingSourceOptions": {
Expand Down
16 changes: 14 additions & 2 deletions messages/zh-CN/dashboard.json
Original file line number Diff line number Diff line change
Expand Up @@ -1640,6 +1640,12 @@
"deleteFailed": "删除用户失败",
"userDeleted": "用户已删除",
"saving": "保存中...",
"syncKeys": {
"button": "同步到 Key",
"loading": "同步中...",
"success": "已同步到 {count} 把 Key",
"error": "同步 Key 失败"
},
"resetSection": {
"title": "重置选项"
},
Expand Down Expand Up @@ -1698,6 +1704,8 @@
"title": "确认批量更新",
"description": "此操作将更新 {users} 个用户和 {keys} 个密钥,操作不可撤销。",
"userFields": "用户字段",
"syncKeys": "同步到 Key",
"syncKeysDescription": "会按当前用户配置覆盖这 {users} 个用户的全部未删除 Key。",
"keyFields": "密钥字段",
"goBack": "返回修改",
"update": "确认更新",
Expand All @@ -1706,8 +1714,10 @@
"toast": {
"usersUpdated": "已更新 {count} 个用户",
"keysUpdated": "已更新 {count} 个密钥",
"keysSynced": "已同步 {users} 个用户的 {keys} 把 Key",
"usersFailed": "用户更新失败:{error}",
"keysFailed": "密钥更新失败:{error}",
"syncFailed": "同步到 Key 失败:{error}",
"batchFailed": "批量更新失败"
},
"validation": {
Expand All @@ -1729,12 +1739,14 @@
"limit5h": "5h 限额 (USD)",
"limitDaily": "每日限额 (USD)",
"limitWeekly": "周限额 (USD)",
"limitMonthly": "月限额 (USD)"
"limitMonthly": "月限额 (USD)",
"syncKeys": "同步到 Key"
},
"placeholders": {
"emptyToClear": "留空表示清空",
"tagsPlaceholder": "输入后回车添加,支持逗号分隔",
"emptyNoLimit": "留空表示不限额"
"emptyNoLimit": "留空表示不限额",
"syncKeysDescription": "启用后,会先保存本批量编辑里的用户字段,再按用户配置同步该用户全部未删除 Key。"
}
},
"key": {
Expand Down
4 changes: 4 additions & 0 deletions messages/zh-CN/settings/config.json
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,10 @@
"original": "重定向前(原始模型)",
"redirected": "重定向后(实际模型)"
},
"billingCorrection": {
"title": "计费与费率矫正",
"description": "集中配置模型计费来源、Codex Priority 费率口径,以及 Claude 计费标头整流开关。"
},
"codexPriorityBillingSource": "Codex Priority 计费来源",
"codexPriorityBillingSourcePlaceholder": "选择 Codex Priority 计费来源",
"codexPriorityBillingSourceDesc": "控制 Codex Priority(Fast Mode)单独计费使用哪个 service_tier。默认按 Requested Service Tier 计费;若选择 Actual Service Tier,则优先使用响应返回值,响应未返回时回退到请求值。",
Expand Down
16 changes: 14 additions & 2 deletions messages/zh-TW/dashboard.json
Original file line number Diff line number Diff line change
Expand Up @@ -1625,6 +1625,12 @@
"deleteFailed": "刪除使用者失敗",
"userDeleted": "使用者已刪除",
"saving": "儲存中...",
"syncKeys": {
"button": "同步到 Key",
"loading": "同步中...",
"success": "已同步到 {count} 把 Key",
"error": "同步 Key 失敗"
},
"resetSection": {
"title": "重置選項"
},
Expand Down Expand Up @@ -1683,6 +1689,8 @@
"title": "確認批量更新",
"description": "此操作將更新 {users} 位使用者和 {keys} 個金鑰,操作不可撤銷。",
"userFields": "使用者欄位",
"syncKeys": "同步到 Key",
"syncKeysDescription": "會按目前使用者設定覆蓋這 {users} 位使用者的全部未刪除 Key。",
"keyFields": "金鑰欄位",
"goBack": "返回編輯",
"update": "確認更新",
Expand All @@ -1691,8 +1699,10 @@
"toast": {
"usersUpdated": "已更新 {count} 位使用者",
"keysUpdated": "已更新 {count} 個金鑰",
"keysSynced": "已同步 {users} 位使用者的 {keys} 個 Key",
"usersFailed": "使用者更新失敗:{error}",
"keysFailed": "金鑰更新失敗:{error}",
"syncFailed": "同步到 Key 失敗:{error}",
"batchFailed": "批量更新失敗"
},
"validation": {
Expand All @@ -1714,12 +1724,14 @@
"limit5h": "5h 限額(USD)",
"limitDaily": "每日限額(USD)",
"limitWeekly": "週限額(USD)",
"limitMonthly": "月限額(USD)"
"limitMonthly": "月限額(USD)",
"syncKeys": "同步到 Key"
},
"placeholders": {
"emptyToClear": "留空表示清除",
"tagsPlaceholder": "輸入後按 Enter 新增,支援逗號分隔",
"emptyNoLimit": "留空表示不限額"
"emptyNoLimit": "留空表示不限額",
"syncKeysDescription": "啟用後,會先儲存本次批量編輯中的使用者欄位,再按使用者設定同步該使用者全部未刪除 Key。"
}
},
"key": {
Expand Down
4 changes: 4 additions & 0 deletions messages/zh-TW/settings/config.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,10 @@
"redirected": "重新導向後(實際模型)"
},
"billingModelSourcePlaceholder": "選擇計費模型來源",
"billingCorrection": {
"title": "計費與費率矯正",
"description": "集中設定模型計費來源、Codex Priority 費率口徑,以及 Claude 計費標頭整流開關。"
},
"codexPriorityBillingSource": "Codex Priority 計費來源",
"codexPriorityBillingSourceDesc": "控制 Codex Priority(Fast Mode)單獨計費使用哪個 service_tier。預設按 Requested Service Tier 計費;若選擇 Actual Service Tier,則優先使用回應返回值,回應未返回時回退到請求值。",
"codexPriorityBillingSourceOptions": {
Expand Down
Loading