Skip to content
Merged
7 changes: 5 additions & 2 deletions messages/en/auth.json
Original file line number Diff line number Diff line change
Expand Up @@ -30,14 +30,17 @@
"solutionTitle": "Solutions:",
"useHttps": "Use HTTPS to access the system (recommended)",
"disableSecureCookies": "Set ENABLE_SECURE_COOKIES=false in .env (reduces security)",
"privacyNote": "Please use your API Key to log in to the Claude Code Hub admin panel"
"privacyNote": "Please use your API Key to log in to the admin panel"
},
"errors": {
"loginFailed": "Login failed",
"networkError": "Network error, please try again later",
"invalidToken": "Invalid authentication token",
"tokenRequired": "Authentication token is required",
"sessionExpired": "Your session has expired, please log in again",
"unauthorized": "Unauthorized, please log in first"
"unauthorized": "Unauthorized, please log in first",
"apiKeyRequired": "Please enter API Key",
"apiKeyInvalidOrExpired": "API Key is invalid or expired",
"serverError": "Login failed, please try again later"
}
}
12 changes: 11 additions & 1 deletion messages/en/common.json
Original file line number Diff line number Diff line change
Expand Up @@ -48,5 +48,15 @@
"theme": "Theme",
"light": "Light",
"dark": "Dark",
"system": "System"
"system": "System",
"relativeTimeShort": {
"now": "now",
"secondsAgo": "{count}s ago",
"minutesAgo": "{count}m ago",
"hoursAgo": "{count}h ago",
"daysAgo": "{count}d ago",
"weeksAgo": "{count}w ago",
"monthsAgo": "{count}mo ago",
"yearsAgo": "{count}y ago"
}
}
80 changes: 75 additions & 5 deletions messages/en/dashboard.json
Original file line number Diff line number Diff line change
Expand Up @@ -781,6 +781,15 @@
"defaultDescription": "default includes providers without groupTag.",
"descriptionWithUserGroup": "Provider groups for this key (user groups: {group}; default: default)."
},
"cacheTtl": {
"label": "Cache TTL Override",
"description": "Force Anthropic prompt cache TTL for requests containing cache_control.",
"options": {
"inherit": "No override (follow provider/client)",
"5m": "5m",
"1h": "1h"
}
},
"successTitle": "Key Created Successfully",
"successDescription": "Your API key has been created successfully.",
"generatedKey": {
Expand Down Expand Up @@ -1144,18 +1153,21 @@
"name": "Key name",
"key": "Key",
"group": "Group",
"todayUsage": "Today's usage",
"todayUsage": "Requests today",
"todayCost": "Today's cost",
"todayTokens": "Tokens today",
"lastUsed": "Last used",
"actions": "Actions",
"quotaButton": "View Quota Usage",
"fields": {
"callsLabel": "Calls",
"callsLabel": "Requests",
"tokensLabel": "Tokens",
"costLabel": "Cost"
}
},
"expand": "Expand",
"collapse": "Collapse",
"refresh": "Refresh",
"noKeys": "No keys",
"defaultGroup": "default",
"userStatus": {
Expand Down Expand Up @@ -1246,7 +1258,18 @@
"userEnabled": "User has been enabled",
"deleteFailed": "Failed to delete user",
"userDeleted": "User has been deleted",
"saving": "Saving..."
"saving": "Saving...",
"resetData": {
"title": "Reset Statistics",
"description": "Delete all request logs and usage data for this user. This action is irreversible.",
"error": "Failed to reset data",
"button": "Reset Statistics",
"confirmTitle": "Reset All Statistics?",
"confirmDescription": "This will permanently delete all request logs and usage statistics for this user. This action cannot be undone.",
"confirm": "Yes, Reset All",
"loading": "Resetting...",
"success": "All statistics have been reset"
}
},
"batchEdit": {
"enterMode": "Batch Edit",
Expand Down Expand Up @@ -1347,6 +1370,41 @@
},
"limitRules": {
"addRule": "Add limit rule",
"title": "Add Limit Rule",
"description": "Select limit type and set value",
"cancel": "Cancel",
"confirm": "Save",
"fields": {
"type": {
"label": "Limit Type",
"placeholder": "Select"
},
"value": {
"label": "Value",
"placeholder": "Enter"
}
},
"daily": {
"mode": {
"label": "Daily Reset Mode",
"fixed": "Fixed time reset",
"rolling": "Rolling window (24h)",
"helperRolling": "Rolling 24-hour window from first request"
},
"time": {
"label": "Reset Time",
"placeholder": "HH:mm"
}
},
"limitTypes": {
"limitRpm": "RPM Limit",
"limit5h": "5-Hour Limit",
"limitDaily": "Daily Limit",
"limitWeekly": "Weekly Limit",
"limitMonthly": "Monthly Limit",
"limitTotal": "Total Limit",
"limitSessions": "Concurrent Sessions"
},
"ruleTypes": {
"limitRpm": "RPM limit",
"limit5h": "5-hour limit",
Expand All @@ -1356,6 +1414,12 @@
"limitTotal": "Total limit",
"limitSessions": "Concurrent sessions"
},
"errors": {
"missingType": "Please select a limit type",
"invalidValue": "Please enter a valid value",
"invalidTime": "Please enter a valid time (HH:mm)"
},
"overwriteHint": "This type already exists, saving will overwrite the existing value",
"dailyMode": {
"fixed": "Fixed reset time",
"rolling": "Rolling window (24h)"
Expand All @@ -1368,8 +1432,7 @@
"500": "$500"
},
"alreadySet": "Configured",
"confirmAdd": "Add",
"cancel": "Cancel"
"confirmAdd": "Add"
},
"quickExpire": {
"oneWeek": "In 1 week",
Expand Down Expand Up @@ -1592,6 +1655,13 @@
}
},
"overwriteHint": "This type already exists, saving will overwrite the existing value"
},
"accessRestrictions": {
"title": "Access Restrictions",
"models": "Allowed Models",
"clients": "Allowed Clients",
"noRestrictions": "No restrictions",
"inheritedFromUser": "Inherited from user settings"
}
}
},
Expand Down
12 changes: 8 additions & 4 deletions messages/en/quota.json
Original file line number Diff line number Diff line change
Expand Up @@ -288,7 +288,8 @@
"limit5hUsd": {
"label": "5-Hour Cost Limit (USD)",
"placeholder": "Leave blank for unlimited",
"description": "Maximum cost within 5 hours"
"description": "Maximum cost within 5 hours",
"descriptionWithUserLimit": "Cannot exceed user 5-hour limit ({limit})"
},
"limitDailyUsd": {
"label": "Daily Cost Limit (USD)",
Expand All @@ -314,12 +315,14 @@
"limitWeeklyUsd": {
"label": "Weekly Cost Limit (USD)",
"placeholder": "Leave blank for unlimited",
"description": "Maximum cost per week"
"description": "Maximum cost per week",
"descriptionWithUserLimit": "Cannot exceed user weekly limit ({limit})"
},
"limitMonthlyUsd": {
"label": "Monthly Cost Limit (USD)",
"placeholder": "Leave blank for unlimited",
"description": "Maximum cost per month"
"description": "Maximum cost per month",
"descriptionWithUserLimit": "Cannot exceed user monthly limit ({limit})"
},
"limitTotalUsd": {
"label": "Total Cost Limit (USD)",
Expand All @@ -330,7 +333,8 @@
"limitConcurrentSessions": {
"label": "Concurrent Session Limit",
"placeholder": "0 means unlimited",
"description": "Number of simultaneous conversations"
"description": "Number of simultaneous conversations",
"descriptionWithUserLimit": "Cannot exceed user session limit ({limit})"
},
"providerGroup": {
"label": "Provider Group",
Expand Down
2 changes: 1 addition & 1 deletion messages/en/settings/providers/autoSort.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"button": "Auto Sort Priority",
"button": "Auto Sort",
"changeCount": "{count} providers will be updated",
"changesTitle": "Change Details",
"confirm": "Apply Changes",
Expand Down
7 changes: 5 additions & 2 deletions messages/ja/auth.json
Original file line number Diff line number Diff line change
Expand Up @@ -30,14 +30,17 @@
"solutionTitle": "解決策:",
"useHttps": "HTTPS を使用してアクセスしてください (推奨)",
"disableSecureCookies": ".env ファイルで ENABLE_SECURE_COOKIES=false を設定 (セキュリティが低下します)",
"privacyNote": "API Keyを使用してClaude Code Hub管理画面にログインしてください"
"privacyNote": "API Keyを使用して管理画面にログインしてください"
},
"errors": {
"loginFailed": "ログインに失敗しました",
"networkError": "ネットワークエラーが発生しました。しばらく後に再度お試しください",
"invalidToken": "無効な認証トークン",
"tokenRequired": "認証トークンが必要です",
"sessionExpired": "セッションの有効期限が切れています。もう一度ログインしてください",
"unauthorized": "認可されていません。先にログインしてください"
"unauthorized": "認可されていません。先にログインしてください",
"apiKeyRequired": "API Keyを入力してください",
"apiKeyInvalidOrExpired": "API Keyが無効または期限切れです",
"serverError": "ログインに失敗しました。しばらく後に再度お試しください"
}
}
12 changes: 11 additions & 1 deletion messages/ja/common.json
Original file line number Diff line number Diff line change
Expand Up @@ -48,5 +48,15 @@
"theme": "テーマ",
"light": "ライト",
"dark": "ダーク",
"system": "システム設定"
"system": "システム設定",
"relativeTimeShort": {
"now": "たった今",
"secondsAgo": "{count}秒前",
"minutesAgo": "{count}分前",
"hoursAgo": "{count}時間前",
"daysAgo": "{count}日前",
"weeksAgo": "{count}週間前",
"monthsAgo": "{count}ヶ月前",
"yearsAgo": "{count}年前"
}
}
52 changes: 45 additions & 7 deletions messages/ja/dashboard.json
Original file line number Diff line number Diff line change
Expand Up @@ -717,7 +717,8 @@
"limit5hUsd": {
"label": "5時間消費上限 (USD)",
"placeholder": "空白の場合は無制限",
"description": "5時間以内の最大消費金額"
"description": "5時間以内の最大消費金額",
"descriptionWithUserLimit": "5時間以内の最大消費金額 (ユーザー上限: {limit})"
},
"limitDailyUsd": {
"label": "1日の消費上限 (USD)",
Expand All @@ -743,17 +744,26 @@
"limitWeeklyUsd": {
"label": "週間消費上限 (USD)",
"placeholder": "空白の場合は無制限",
"description": "1週間あたりの最大消費金額"
"description": "1週間あたりの最大消費金額",
"descriptionWithUserLimit": "1週間あたりの最大消費金額 (ユーザー上限: {limit})"
},
"limitMonthlyUsd": {
"label": "月間消費上限 (USD)",
"placeholder": "空白の場合は無制限",
"description": "1ヶ月あたりの最大消費金額"
"description": "1ヶ月あたりの最大消費金額",
"descriptionWithUserLimit": "1ヶ月あたりの最大消費金額 (ユーザー上限: {limit})"
},
"limitTotalUsd": {
"label": "総消費上限 (USD)",
"placeholder": "空白の場合は無制限",
"description": "累計消費上限(リセットなし)",
"descriptionWithUserLimit": "ユーザーの総上限を超えることはできません ({limit})"
},
"limitConcurrentSessions": {
"label": "同時セッション上限",
"placeholder": "0は無制限を意味します",
"description": "同時に実行される会話の数"
"description": "同時に実行される会話の数",
"descriptionWithUserLimit": "最大セッション数 (ユーザー上限: {limit})"
},
"providerGroup": {
"label": "プロバイダーグループ",
Expand All @@ -762,6 +772,15 @@
"defaultDescription": "default は groupTag 未設定のプロバイダーを含みます",
"descriptionWithUserGroup": "このキーのプロバイダーグループ(ユーザーのグループ: {group}、既定: default)"
},
"cacheTtl": {
"label": "Cache TTL上書き",
"description": "cache_controlを含むリクエストに対してAnthropic prompt cache TTLを強制します。",
"options": {
"inherit": "上書きしない(プロバイダー/クライアントに従う)",
"5m": "5m",
"1h": "1h"
}
},
"successTitle": "キーが正常に作成されました",
"successDescription": "APIキーが正常に作成されました。",
"generatedKey": {
Expand Down Expand Up @@ -1115,18 +1134,21 @@
"name": "キー名",
"key": "キー",
"group": "グループ",
"todayUsage": "本日の使用量",
"todayUsage": "本日のリクエスト",
"todayCost": "本日の消費",
"todayTokens": "本日のトークン",
"lastUsed": "最終使用",
"actions": "アクション",
"quotaButton": "クォータ使用状況を表示",
"fields": {
"callsLabel": "呼び出し",
"callsLabel": "リクエスト",
"tokensLabel": "トークン",
"costLabel": "消費"
}
},
"expand": "展開",
"collapse": "折りたたむ",
"refresh": "更新",
"noKeys": "キーなし",
"defaultGroup": "default",
"userStatus": {
Expand Down Expand Up @@ -1178,6 +1200,10 @@
"currentExpiry": "現在の有効期限",
"neverExpires": "無期限",
"expired": "期限切れ",
"quickExtensionLabel": "クイック延長",
"quickExtensionHint": "現在の有効期限から延長(期限切れの場合は現在から)",
"customDateLabel": "有効期限を設定",
"customDateHint": "有効期限を直接指定",
"quickOptions": {
"7days": "7 日",
"30days": "30 日",
Expand All @@ -1186,6 +1212,7 @@
},
"customDate": "カスタム日付",
"enableOnRenew": "同時にユーザーを有効化",
"enableKeyOnRenew": "同時にキーを有効化",
"cancel": "キャンセル",
"confirm": "更新を確認",
"confirming": "更新中...",
Expand All @@ -1208,7 +1235,18 @@
"userEnabled": "ユーザーが有効化されました",
"deleteFailed": "ユーザーの削除に失敗しました",
"userDeleted": "ユーザーが削除されました",
"saving": "保存しています..."
"saving": "保存しています...",
"resetData": {
"title": "統計リセット",
"description": "このユーザーのすべてのリクエストログと使用データを削除します。この操作は元に戻せません。",
"error": "データのリセットに失敗しました",
"button": "統計をリセット",
"confirmTitle": "すべての統計をリセットしますか?",
"confirmDescription": "このユーザーのすべてのリクエストログと使用統計を完全に削除します。この操作は取り消せません。",
"confirm": "はい、すべてリセット",
"loading": "リセット中...",
"success": "すべての統計がリセットされました"
}
},
"batchEdit": {
"enterMode": "一括編集",
Expand Down
Loading
Loading