From 743e827234f65104ef8b685cb49cdc7b8aec8b38 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Sat, 18 Apr 2026 22:04:38 +0900 Subject: [PATCH 001/150] New translations web.json (Japanese) --- ja/web.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/ja/web.json b/ja/web.json index c9e6334..34ea75b 100644 --- a/ja/web.json +++ b/ja/web.json @@ -1217,7 +1217,7 @@ "variableKey": "変数名", "variableKeyPlaceholder": "例: myVar", "variableValue": "値", - "variableValuePlaceholder": "例: '{{user.name}}'", + "variableValuePlaceholder": "例: {{user.name}}'", "ephemeral": "エフェメラル(本人のみ表示)", "replyContent": "返信内容(省略可)", "replyContentPlaceholder": "返信メッセージ...", @@ -1247,11 +1247,11 @@ "buttonCustomIdHint": "内部識別子(英数字・ハイフン)", "buttonCustomIdPlaceholder": "例: confirm-btn", "buttonModeCustomId": "カスタムID", - "buttonModeLinked": "ワークフロー連携", - "buttonLinkedWorkflow": "連携するワークフロー", - "buttonLinkedWorkflowHint": "ボタンを押したときに実行されるワークフロー", + "buttonModeLinked": "ワークフローを連携する", + "buttonLinkedWorkflow": "ワークフローを連携しました", + "buttonLinkedWorkflowHint": "ボタンがクリックされたときに実行するワークフロー", "buttonLinkedWorkflowPlaceholder": "ワークフローを選択...", - "buttonLinkedWorkflowNone": "ワークフローが見つかりません", + "buttonLinkedWorkflowNone": "ワークフローが見つかりませんでした。", "buttonStyle": "スタイル", "buttonStylePrimary": "プライマリ(青)", "buttonStyleSecondary": "セカンダリ(灰)", @@ -1301,8 +1301,8 @@ "enabled": "有効", "disabled": "無効", "noSettings": "設定項目はありません", - "varNote": "set_variableノードでセットした変数は '{{変数名}}' で参照できます", - "webhookPayloadHint": "受信したJSONの各キーは '{{webhook.payload.keyName}}' で参照できます", + "varNote": "Set Variable ノードで設定された変数は、'{{変数名}} ' として参照できます。", + "webhookPayloadHint": "受信した JSON の各キーは '{{webhook.payload.keyName}}' として利用できます", "webhookHeaders": "カスタムヘッダー", "webhookHeadersHint": "Authorization: Bearer token など", "webhookAddHeader": "ヘッダーを追加", From 17aed95430d8811b33633d8e25387b40a5e70d69 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Sat, 18 Apr 2026 23:06:42 +0900 Subject: [PATCH 002/150] Update source file web.json --- en/web.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/en/web.json b/en/web.json index cb352b6..fa79816 100644 --- a/en/web.json +++ b/en/web.json @@ -317,6 +317,9 @@ "selectDesc": "Choose the server you want to purchase for" }, "purchaseFlow": { + "purchaseSuccess": "Thank you for your purchase!", + "purchaseSuccessDesc": "Returning to dashboard in {seconds} seconds...", + "backToDashboard": "Back to Dashboard", "subscriptionTitle": "Subscription", "ccTitle": "Buy Cube Credit", "popular": "Popular", From 4bd2ce31688dc4c08349c5b4d182a3476d286ed5 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Sat, 18 Apr 2026 23:06:47 +0900 Subject: [PATCH 003/150] New translations web.json (Japanese) --- ja/web.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ja/web.json b/ja/web.json index 34ea75b..ddf917d 100644 --- a/ja/web.json +++ b/ja/web.json @@ -317,6 +317,9 @@ "selectDesc": "購入するサーバーを選んでください" }, "purchaseFlow": { + "purchaseSuccess": "ご購入ありがとうございます!", + "purchaseSuccessDesc": "{seconds}秒後にダッシュボードに戻ります...", + "backToDashboard": "ダッシュボードに戻る", "subscriptionTitle": "サブスクリプション", "ccTitle": "Cubeクレジットを購入", "popular": "人気", From 61e86d07d92e03942559ceb39046eb19f0133891 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Sun, 19 Apr 2026 00:16:21 +0900 Subject: [PATCH 004/150] Update source file web.json --- en/web.json | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/en/web.json b/en/web.json index fa79816..4463699 100644 --- a/en/web.json +++ b/en/web.json @@ -25,7 +25,8 @@ "notSet": "Not set", "buy": "Buy", "processing": "Processing...", - "soon": "Soon" + "soon": "Soon", + "back": "Back" }, "authBlocked": { "title": "Access blocked", @@ -317,6 +318,7 @@ "selectDesc": "Choose the server you want to purchase for" }, "purchaseFlow": { + "purchaseFailed": "The purchase is incomplete or the session is invalid.", "purchaseSuccess": "Thank you for your purchase!", "purchaseSuccessDesc": "Returning to dashboard in {seconds} seconds...", "backToDashboard": "Back to Dashboard", @@ -460,7 +462,11 @@ "changePlanChanging": "Changing...", "changePlanNote": "Changes will take effect from your next billing date.", "downgradeNotAllowed": "Downgrade is not allowed. Please cancel your current plan and resubscribe to a lower tier.", - "addNew": "Add new plan" + "addNew": "Add new plan", + "pagination": { + "prev": "Previous", + "next": "Next" + } }, "pricing": { "title": "Pricing", From b455c781d13a342d9239addfee8eb3c559ec3691 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Sun, 19 Apr 2026 00:16:23 +0900 Subject: [PATCH 005/150] New translations web.json (Japanese) --- ja/web.json | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/ja/web.json b/ja/web.json index ddf917d..c0ff7cf 100644 --- a/ja/web.json +++ b/ja/web.json @@ -25,7 +25,8 @@ "notSet": "未設定", "buy": "購入する", "processing": "処理中...", - "soon": "近日公開" + "soon": "近日公開", + "back": "戻る" }, "authBlocked": { "title": "アクセスが制限されています", @@ -317,6 +318,7 @@ "selectDesc": "購入するサーバーを選んでください" }, "purchaseFlow": { + "purchaseFailed": "購入処理が完了していないか、セッションが無効です。", "purchaseSuccess": "ご購入ありがとうございます!", "purchaseSuccessDesc": "{seconds}秒後にダッシュボードに戻ります...", "backToDashboard": "ダッシュボードに戻る", @@ -460,7 +462,11 @@ "changePlanChanging": "変更中...", "changePlanNote": "変更は次の請求日から適用されます。", "downgradeNotAllowed": "ダウングレードはできません。一度解約してから下位プランに再契約してください。", - "addNew": "新しいプランを追加" + "addNew": "新しいプランを追加", + "pagination": { + "prev": "前へ", + "next": "次へ" + } }, "pricing": { "title": "料金プラン", From 5afe29eba624b48317b0741febde9cae971607cd Mon Sep 17 00:00:00 2001 From: Cube Team Date: Sun, 19 Apr 2026 11:06:47 +0900 Subject: [PATCH 006/150] Update source file web.json --- en/web.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/en/web.json b/en/web.json index 4463699..53cfc2c 100644 --- a/en/web.json +++ b/en/web.json @@ -1022,6 +1022,8 @@ "webhookNoToken": "Webhook token not yet generated. It will appear after saving.", "allVoiceChannels": "All Voice Channels", "webhookUrlCopy": "Copy URL", + "webhookRegenerateTitle": "Regenerate URL", + "webhookRegenerateConfirm": "Regenerating the Webhook URL will invalidate the current URL. Continue?", "webhookUrlCopied": "Copied!", "webhookUrlDesc": "Send a POST request to this URL to trigger the workflow. JSON body fields are available as '{{webhook.payload.key}}'." }, From d5b6c219fbf1ac5f98d38a67dfbfe0546907a1c2 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Sun, 19 Apr 2026 11:06:54 +0900 Subject: [PATCH 007/150] New translations web.json (Japanese) --- ja/web.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ja/web.json b/ja/web.json index c0ff7cf..a6b0e2e 100644 --- a/ja/web.json +++ b/ja/web.json @@ -1022,6 +1022,8 @@ "webhookNoToken": "Webhookトークンはまだ生成されていません。保存後に表示されます。", "allVoiceChannels": "すべてのVCチャンネル", "webhookUrlCopy": "URLをコピー", + "webhookRegenerateTitle": "URLを再生成", + "webhookRegenerateConfirm": "Webhook URLを再生成すると、現在のURLは無効になります。続行しますか?", "webhookUrlCopied": "コピーしました", "webhookUrlDesc": "このURLにPOSTリクエストを送るとワークフローが起動します。JSONボディは '{{webhook.payload.key}}' で参照できます。" }, From 049cc367852e2457795f815823fe5ab97eb9d282 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Sun, 19 Apr 2026 13:33:25 +0900 Subject: [PATCH 008/150] Update source file web.json --- en/web.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/en/web.json b/en/web.json index 53cfc2c..a24bf4a 100644 --- a/en/web.json +++ b/en/web.json @@ -1259,6 +1259,8 @@ "buttonCustomIdPlaceholder": "e.g. confirm-btn", "buttonModeCustomId": "Custom ID", "buttonModeLinked": "Link Workflow", + "buttonModeContinue": "Continue", + "buttonModeContinueHint": "Clicking this button continues the same workflow. Use {{button.label}} and {{button.index}} to identify which button was pressed.", "buttonLinkedWorkflow": "Linked Workflow", "buttonLinkedWorkflowHint": "Workflow to run when this button is clicked", "buttonLinkedWorkflowPlaceholder": "Select a workflow...", From 22b59776fa6e8af7a50cb600bb56ec0fff0e8454 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Sun, 19 Apr 2026 13:33:32 +0900 Subject: [PATCH 009/150] New translations web.json (Japanese) --- ja/web.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ja/web.json b/ja/web.json index a6b0e2e..1da219d 100644 --- a/ja/web.json +++ b/ja/web.json @@ -1259,6 +1259,8 @@ "buttonCustomIdPlaceholder": "例: confirm-btn", "buttonModeCustomId": "カスタムID", "buttonModeLinked": "ワークフローを連携する", + "buttonModeContinue": "続けて実行", + "buttonModeContinueHint": "このボタンが押されると、同じワークフローの続きが実行されます。{{button.label}} と {{button.index}} で押されたボタンを判別できます。", "buttonLinkedWorkflow": "ワークフローを連携しました", "buttonLinkedWorkflowHint": "ボタンがクリックされたときに実行するワークフロー", "buttonLinkedWorkflowPlaceholder": "ワークフローを選択...", From 3846cc76b2318062c4bb43d02a38549b8903aa0d Mon Sep 17 00:00:00 2001 From: Cube Team Date: Sun, 19 Apr 2026 14:35:08 +0900 Subject: [PATCH 010/150] Update source file web.json --- en/web.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/en/web.json b/en/web.json index a24bf4a..5db07c0 100644 --- a/en/web.json +++ b/en/web.json @@ -1260,7 +1260,7 @@ "buttonModeCustomId": "Custom ID", "buttonModeLinked": "Link Workflow", "buttonModeContinue": "Continue", - "buttonModeContinueHint": "Clicking this button continues the same workflow. Use {{button.label}} and {{button.index}} to identify which button was pressed.", + "buttonModeContinueHint": "Clicking this button continues the same workflow. Use '{{button.label}}' and '{{button.index}}' to identify which button was pressed.", "buttonLinkedWorkflow": "Linked Workflow", "buttonLinkedWorkflowHint": "Workflow to run when this button is clicked", "buttonLinkedWorkflowPlaceholder": "Select a workflow...", From a2af6efc3e6aff3169832ca311ffaaea158bd398 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Sun, 19 Apr 2026 14:35:10 +0900 Subject: [PATCH 011/150] New translations web.json (Japanese) --- ja/web.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ja/web.json b/ja/web.json index 1da219d..10d693f 100644 --- a/ja/web.json +++ b/ja/web.json @@ -1260,7 +1260,7 @@ "buttonModeCustomId": "カスタムID", "buttonModeLinked": "ワークフローを連携する", "buttonModeContinue": "続けて実行", - "buttonModeContinueHint": "このボタンが押されると、同じワークフローの続きが実行されます。{{button.label}} と {{button.index}} で押されたボタンを判別できます。", + "buttonModeContinueHint": "このボタンが押されると、同じワークフローの続きが実行されます。'{{button.label}}' と '{{button.index}}' で押されたボタンを判別できます。", "buttonLinkedWorkflow": "ワークフローを連携しました", "buttonLinkedWorkflowHint": "ボタンがクリックされたときに実行するワークフロー", "buttonLinkedWorkflowPlaceholder": "ワークフローを選択...", From 4ace1234aafc0e2493e6894bbda0b923fa195842 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Sun, 19 Apr 2026 21:52:27 +0900 Subject: [PATCH 012/150] Update source file web.json --- en/web.json | 155 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 155 insertions(+) diff --git a/en/web.json b/en/web.json index 5db07c0..b9329dc 100644 --- a/en/web.json +++ b/en/web.json @@ -1348,5 +1348,160 @@ "executionCount": "{count} executions", "planViolationBadge": "Plan limit", "duplicateError": "Failed to duplicate workflow" + }, + "admin": { + "title": "Cube Admin", + "loggedInAs": "Logged in as", + "exitAdmin": "Back to Dashboard", + "cancel": "Cancel", + "create": "Create", + "save": "Save", + "saving": "Saving...", + "add": "Add", + "nav": { + "dashboard": "Dashboard", + "subscriptions": "Subscriptions", + "users": "Users", + "guilds": "Servers", + "blacklist": "Blacklist", + "economy": "Economy" + }, + "dashboard": { + "title": "System Status", + "desc": "Real-time shard monitoring and control", + "totalGuilds": "Total Guilds", + "avgPing": "Avg Ping", + "totalMemory": "Total Memory", + "shards": "Shards", + "refresh": "Refresh", + "noShards": "No shard data available", + "errorShards": "Failed to load shard status", + "leaveBtn": "Leave", + "reloadI18nBtn": "Reload i18n", + "restartAllBtn": "Restart All", + "confirmRestartAll": "Are you sure you want to restart ALL shards? This will disconnect all bots momentarily.", + "confirmRestartShard": "Are you sure you want to restart Shard {id}?", + "confirmReloadI18n": "Are you sure you want to reload translation files?", + "confirmLeaveGuild": "Are you sure you want to force leave guild {id}?", + "restartAllOk": "Restart sequence initiated", + "restartAllFail": "Failed to initiate restart", + "restartShardOk": "Shard {id} restart initiated", + "restartShardFail": "Failed to restart shard", + "reloadI18nOk": "Translations reloaded successfully", + "reloadI18nFail": "Failed to reload translations", + "leaveGuildOk": "Left guild {id}", + "leaveGuildFail": "Failed to leave guild" + }, + "subscriptions": { + "title": "Subscriptions", + "create": "Create", + "createTitle": "Create Subscription", + "searchPlaceholder": "Search by name, email or guild...", + "colUser": "User", + "colGuild": "Guild", + "colStatus": "Status", + "colExpiry": "Expires", + "extend": "Extend", + "extendOk": "Subscription extended", + "extendFail": "Failed to extend subscription", + "empty": "No subscriptions found", + "syncBtn": "Sync with Stripe", + "confirmSync": "Sync all subscriptions from Stripe to DB?", + "syncOk": "Synced {synced} subscriptions (errors: {errors})", + "syncFail": "Sync failed", + "cancelAtEnd": "cancels at period end" + }, + "blacklist": { + "title": "Blacklist", + "add": "Add", + "addTitle": "Add to Blacklist", + "addBtn": "Add", + "reason": "Reason", + "isBlacklisted": "Banned", + "isMuted": "GC Muted", + "searchPlaceholder": "Search by User ID or reason...", + "confirmRemove": "Remove user {userId} from blacklist?", + "removeOk": "Removed from blacklist", + "removeFail": "Failed to remove", + "empty": "Blacklist is empty" + }, + "guilds": { + "title": "Server List", + "searchPlaceholder": "Search by name or ID...", + "colName": "Server Name", + "confirmDelete": "Delete all data for {name}? This cannot be undone.", + "deleteOk": "Server data deleted", + "deleteFail": "Failed to delete", + "empty": "No servers found", + "syncBtn": "Sync Bot", + "confirmSync": "Sync servers the Bot has joined to the DB?", + "syncOk": "Synced {synced} servers", + "syncFail": "Sync failed", + "notFound": "Server not found", + "saveOk": "Settings saved", + "saveFail": "Failed to save", + "detailSettings": "Settings", + "detailLang": "Language", + "detailCreated": "Created", + "detailUpdated": "Updated", + "detailCredits": "Credits", + "creditPaid": "Paid", + "creditBonus": "Bonus", + "creditTotal": "Total", + "detailSubscription": "Subscription", + "noSubscription": "No subscription", + "detailExpiry": "Expires", + "detailFeatures": "Feature flags", + "addPurge": "Add Auto Purge", + "purgeDesc": "{msgLimit} msgs / every {interval} min", + "msgLimit": "Message Limit", + "msgs": "msgs", + "purgeInterval": "Purge Interval", + "min": "min", + "addReact": "Add Auto React", + "emoji": "Emoji", + "roleKeeperTitle": "Role Keeper", + "rkEnable": "Enable", + "rkEnableDesc": "Enable the Role Keeper module", + "rkExcludeAdmin": "Exclude admin roles", + "rkExcludeAdminDesc": "Skip roles with administrator permissions", + "rkExcludeMod": "Exclude mod roles", + "rkExcludeModDesc": "Skip roles with moderation permissions", + "addSticky": "Add Sticky Message", + "stickyContent": "Message Content", + "workflowTitle": "Workflows", + "noWorkflows": "No workflows found", + "execCount": "{count} executions", + "confirmDeleteWorkflow": "Delete this workflow? This cannot be undone." + }, + "economy": { + "title": "Economy Management", + "grantTitle": "Grant Credits", + "grantAllTitle": "Grant to All Servers", + "grantAllDesc": "Grant bonus credits to all active servers. A confirm key is required.", + "amount": "Amount", + "type": "Type", + "reason": "Reason", + "confirmKey": "Confirm Key", + "confirmGrantAll": "Grant {amount} CC to all servers?", + "confirmKeyMismatch": "Confirm key does not match", + "grantBtn": "Grant", + "grantAllBtn": "Grant to All", + "grantOk": "Credits granted", + "grantFail": "Failed to grant credits", + "grantAllOk": "Bulk grant executed", + "grantAllFail": "Failed to execute bulk grant" + }, + "users": { + "title": "User Lookup", + "searchPlaceholder": "Discord ID or User ID", + "searchBtn": "Search", + "notFound": "User not found", + "economyTitle": "Credit Balance", + "confirmDelete": "Delete all data for {name}? This cannot be undone.", + "deleteBtn": "Delete User", + "deleteOk": "User data deleted", + "deleteFail": "Failed to delete user" + } } } From e5acba6eb6fec72ce5eb7ac341b88c539cf4c125 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Sun, 19 Apr 2026 21:52:40 +0900 Subject: [PATCH 013/150] New translations web.json (Japanese) --- ja/web.json | 155 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 155 insertions(+) diff --git a/ja/web.json b/ja/web.json index 10d693f..b6b0526 100644 --- a/ja/web.json +++ b/ja/web.json @@ -1348,5 +1348,160 @@ "executionCount": "{count} 回実行", "planViolationBadge": "プラン制限", "duplicateError": "複製に失敗しました" + }, + "admin": { + "title": "Cube Admin", + "loggedInAs": "ログイン中", + "exitAdmin": "ダッシュボードへ戻る", + "cancel": "キャンセル", + "create": "作成", + "save": "保存", + "saving": "保存中...", + "add": "追加", + "nav": { + "dashboard": "ダッシュボード", + "subscriptions": "サブスクリプション", + "users": "ユーザー", + "guilds": "サーバー", + "blacklist": "ブラックリスト", + "economy": "エコノミー" + }, + "dashboard": { + "title": "システム状況", + "desc": "シャードのリアルタイム監視と管理", + "totalGuilds": "総サーバー数", + "avgPing": "平均 Ping", + "totalMemory": "合計メモリ", + "shards": "シャード", + "refresh": "更新", + "noShards": "シャード情報がありません", + "errorShards": "シャード情報の取得に失敗しました", + "leaveBtn": "退出", + "reloadI18nBtn": "i18n 再読み込み", + "restartAllBtn": "全再起動", + "confirmRestartAll": "全シャードを再起動しますか?Botが一時的に切断されます。", + "confirmRestartShard": "Shard {id} を再起動しますか?", + "confirmReloadI18n": "翻訳ファイルを再読み込みしますか?", + "confirmLeaveGuild": "ギルド {id} から強制退出しますか?", + "restartAllOk": "全シャードの再起動を開始しました", + "restartAllFail": "再起動の開始に失敗しました", + "restartShardOk": "Shard {id} の再起動を開始しました", + "restartShardFail": "シャードの再起動に失敗しました", + "reloadI18nOk": "翻訳ファイルを再読み込みしました", + "reloadI18nFail": "再読み込みに失敗しました", + "leaveGuildOk": "ギルド {id} から退出しました", + "leaveGuildFail": "ギルドからの退出に失敗しました" + }, + "subscriptions": { + "title": "サブスクリプション", + "create": "作成", + "createTitle": "サブスクリプション作成", + "searchPlaceholder": "ユーザー名・メール・ギルド名で検索...", + "colUser": "ユーザー", + "colGuild": "ギルド", + "colStatus": "ステータス", + "colExpiry": "有効期限", + "extend": "期間延長", + "extendOk": "期間を延長しました", + "extendFail": "期間延長に失敗しました", + "empty": "サブスクリプションがありません", + "syncBtn": "Stripe同期", + "confirmSync": "StripeとDBのサブスクリプション情報を同期しますか?", + "syncOk": "{synced}件同期しました(エラー: {errors}件)", + "syncFail": "同期に失敗しました", + "cancelAtEnd": "期間終了時にキャンセル" + }, + "blacklist": { + "title": "ブラックリスト", + "add": "追加", + "addTitle": "ブラックリストに追加", + "addBtn": "追加", + "reason": "理由", + "isBlacklisted": "BAN", + "isMuted": "グロチャミュート", + "searchPlaceholder": "User ID・理由で検索...", + "confirmRemove": "ユーザー {userId} をブラックリストから削除しますか?", + "removeOk": "ブラックリストから削除しました", + "removeFail": "削除に失敗しました", + "empty": "ブラックリストが空です" + }, + "guilds": { + "title": "サーバー一覧", + "searchPlaceholder": "サーバー名・IDで検索...", + "colName": "サーバー名", + "confirmDelete": "{name} のデータを削除しますか?この操作は取り消せません。", + "deleteOk": "サーバーデータを削除しました", + "deleteFail": "削除に失敗しました", + "empty": "サーバーがありません", + "syncBtn": "Bot同期", + "confirmSync": "Botが参加しているサーバーをDBに同期しますか?", + "syncOk": "{synced} 件のサーバーを同期しました", + "syncFail": "同期に失敗しました", + "notFound": "サーバーが見つかりません", + "saveOk": "設定を保存しました", + "saveFail": "保存に失敗しました", + "detailSettings": "設定", + "detailLang": "言語", + "detailCreated": "作成日", + "detailUpdated": "更新日", + "detailCredits": "クレジット", + "creditPaid": "有料", + "creditBonus": "ボーナス", + "creditTotal": "合計", + "detailSubscription": "サブスクリプション", + "noSubscription": "サブスクリプションなし", + "detailExpiry": "有効期限", + "detailFeatures": "機能フラグ", + "addPurge": "Auto Purge 追加", + "purgeDesc": "{msgLimit}件 / {interval}分ごとに削除", + "msgLimit": "メッセージ上限", + "msgs": "件", + "purgeInterval": "削除間隔", + "min": "分", + "addReact": "Auto React 追加", + "emoji": "絵文字", + "roleKeeperTitle": "Role Keeper", + "rkEnable": "有効化", + "rkEnableDesc": "Role Keeper を有効にします", + "rkExcludeAdmin": "管理者権限を除外", + "rkExcludeAdminDesc": "管理者権限のあるロールの自動ロール保持を除外します", + "rkExcludeMod": "モデレーター権限を除外", + "rkExcludeModDesc": "モデレーター権限のあるロールの自動ロール保持を除外します", + "addSticky": "Sticky Message 追加", + "stickyContent": "メッセージ内容", + "workflowTitle": "ワークフロー", + "noWorkflows": "ワークフローがありません", + "execCount": "{count} 回実行", + "confirmDeleteWorkflow": "このワークフローを削除しますか?この操作は取り消せません。" + }, + "economy": { + "title": "エコノミー管理", + "grantTitle": "クレジット付与", + "grantAllTitle": "全サーバーへ一括付与", + "grantAllDesc": "稼働中の全サーバーへボーナスクレジットを付与します。確認キーの入力が必要です。", + "amount": "付与量", + "type": "種別", + "reason": "理由", + "confirmKey": "確認キー", + "confirmGrantAll": "{amount} CC を全サーバーへ付与しますか?", + "confirmKeyMismatch": "確認キーが一致しません", + "grantBtn": "付与する", + "grantAllBtn": "全サーバーへ付与", + "grantOk": "クレジットを付与しました", + "grantFail": "付与に失敗しました", + "grantAllOk": "一括付与を実行しました", + "grantAllFail": "一括付与に失敗しました" + }, + "users": { + "title": "ユーザー検索", + "searchPlaceholder": "Discord ID または User ID", + "searchBtn": "検索", + "notFound": "ユーザーが見つかりません", + "economyTitle": "クレジット残高", + "confirmDelete": "{name} の全データを削除しますか?この操作は取り消せません。", + "deleteBtn": "ユーザー削除", + "deleteOk": "ユーザーデータを削除しました", + "deleteFail": "削除に失敗しました" + } } } From 05b3ffa6ae9b82f815b679e6180b38e1f212c9e1 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Mon, 20 Apr 2026 01:58:56 +0900 Subject: [PATCH 014/150] Update source file web.json --- en/web.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/en/web.json b/en/web.json index b9329dc..e7b5bb9 100644 --- a/en/web.json +++ b/en/web.json @@ -1437,6 +1437,10 @@ "confirmSync": "Sync servers the Bot has joined to the DB?", "syncOk": "Synced {synced} servers", "syncFail": "Sync failed", + "leaveBtn": "Leave", + "confirmLeave": "Remove the Bot from {name}?", + "leaveOk": "Bot left the server", + "leaveFail": "Failed to leave", "notFound": "Server not found", "saveOk": "Settings saved", "saveFail": "Failed to save", From 9f2f419593b8106d2691b1cb44479e90aeb3a408 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Mon, 20 Apr 2026 01:59:03 +0900 Subject: [PATCH 015/150] New translations web.json (Japanese) --- ja/web.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ja/web.json b/ja/web.json index b6b0526..792da03 100644 --- a/ja/web.json +++ b/ja/web.json @@ -1437,6 +1437,10 @@ "confirmSync": "Botが参加しているサーバーをDBに同期しますか?", "syncOk": "{synced} 件のサーバーを同期しました", "syncFail": "同期に失敗しました", + "leaveBtn": "退出", + "confirmLeave": "{name} からBotを退出させますか?", + "leaveOk": "Botがサーバーから退出しました", + "leaveFail": "退出に失敗しました", "notFound": "サーバーが見つかりません", "saveOk": "設定を保存しました", "saveFail": "保存に失敗しました", From d8d057033925bdb8a29e4ea3a1e0b87f7b2141a4 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Mon, 20 Apr 2026 03:37:46 +0900 Subject: [PATCH 016/150] Update source file web.json --- en/web.json | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/en/web.json b/en/web.json index e7b5bb9..ea73f31 100644 --- a/en/web.json +++ b/en/web.json @@ -168,6 +168,11 @@ "messages": "Messages", "workflow": "Workflow" }, + "featureGate": { + "title": "This feature is not available", + "desc": "The corresponding plan or feature flag is required to use this page.", + "upgrade": "Upgrade plan" + }, "overview": { "desc": "Check your server status and available features", "balance": "Credit Balance", @@ -1456,6 +1461,8 @@ "noSubscription": "No subscription", "detailExpiry": "Expires", "detailFeatures": "Feature flags", + "featureFromPlan": "plan", + "featureRawValue": "Raw value", "addPurge": "Add Auto Purge", "purgeDesc": "{msgLimit} msgs / every {interval} min", "msgLimit": "Message Limit", From 2698c224162527be7195be384419186f024a8c73 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Mon, 20 Apr 2026 03:37:48 +0900 Subject: [PATCH 017/150] New translations web.json (Japanese) --- ja/web.json | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/ja/web.json b/ja/web.json index 792da03..711d30f 100644 --- a/ja/web.json +++ b/ja/web.json @@ -168,6 +168,11 @@ "messages": "メッセージ送信", "workflow": "ワークフロー" }, + "featureGate": { + "title": "この機能はご利用いただけません", + "desc": "このページの機能を使用するには、対応するプランまたは機能フラグが必要です。", + "upgrade": "プランをアップグレード" + }, "overview": { "desc": "サーバーの状態と利用可能な機能を確認できます", "balance": "クレジット残高", @@ -1456,6 +1461,8 @@ "noSubscription": "サブスクリプションなし", "detailExpiry": "有効期限", "detailFeatures": "機能フラグ", + "featureFromPlan": "プラン", + "featureRawValue": "フラグ値", "addPurge": "Auto Purge 追加", "purgeDesc": "{msgLimit}件 / {interval}分ごとに削除", "msgLimit": "メッセージ上限", From 2a7a387bbf3759b4042f82b1b26a627822853570 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Tue, 21 Apr 2026 19:12:51 +0900 Subject: [PATCH 018/150] Update source file web.json --- en/web.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/en/web.json b/en/web.json index ea73f31..1dc48e0 100644 --- a/en/web.json +++ b/en/web.json @@ -1166,7 +1166,10 @@ "validationThreadChannelEmpty": "\"Create Thread\" nodes require a target channel.", "validationRenameChannelEmpty": "\"Rename Channel\" nodes require a channel and a new name.", "validationAccountAgeEmpty": "\"Account Age\" nodes require a minimum number of days.", - "validationVarKeyEmpty": "\"Variable Value\" nodes require a variable name." + "validationVarKeyEmpty": "\"Variable Value\" nodes require a variable name.", + "validationScheduledCronMissing": "Scheduled triggers require a cron expression (the cron field).", + "validationScheduledCronInvalid": "Invalid cron expression. Use standard 5-field format (e.g. */5 * * * *).", + "validationScheduledCronTooFrequent": "Minimum execution interval is 5 minutes (e.g. */5 * * * *)." }, "logs": { "empty": "No execution logs", From 7399dbb470395850cd2ccd8e72085dadcf237d78 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Tue, 21 Apr 2026 19:13:00 +0900 Subject: [PATCH 019/150] New translations web.json (Japanese) --- ja/web.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ja/web.json b/ja/web.json index 711d30f..678bbe9 100644 --- a/ja/web.json +++ b/ja/web.json @@ -1166,7 +1166,10 @@ "validationThreadChannelEmpty": "「スレッド作成」ノードには対象チャンネルが必要です。", "validationRenameChannelEmpty": "「チャンネル名変更」ノードにはチャンネルと新しい名前が必要です。", "validationAccountAgeEmpty": "「アカウント作成日数」ノードには最小日数が必要です。", - "validationVarKeyEmpty": "「変数の値」ノードには変数名が必要です。" + "validationVarKeyEmpty": "「変数の値」ノードには変数名が必要です。", + "validationScheduledCronMissing": "scheduledトリガーにはcron式(cron フィールド)の指定が必要です", + "validationScheduledCronInvalid": "無効なcron式です。標準の5フィールド形式(例: */5 * * * *)で指定してください", + "validationScheduledCronTooFrequent": "最短実行間隔は5分です(例: */5 * * * *)" }, "logs": { "empty": "実行ログがありません", From e5ff4b2bc90ebbbc7420a30dba981222f17e01ee Mon Sep 17 00:00:00 2001 From: Cube Team Date: Wed, 22 Apr 2026 01:20:08 +0900 Subject: [PATCH 020/150] Update source file web.json --- en/web.json | 52 +++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 51 insertions(+), 1 deletion(-) diff --git a/en/web.json b/en/web.json index 1dc48e0..54d0077 100644 --- a/en/web.json +++ b/en/web.json @@ -1013,6 +1013,36 @@ "messageDeleteTitle": "Message Delete Settings", "modalSubmitTitle": "Modal Submit Settings", "webhookReceiveTitle": "Webhook Receive Settings", + "rssPollTitle": "RSS Monitor Settings", + "youtubeWebsubTitle": "YouTube Post Notification Settings", + "twitchEventsubTitle": "Twitch Event Notification Settings", + "rssFeedUrl": "RSS Feed URL", + "rssFeedUrlHint": "Specify the RSS/Atom feed URL to monitor (http/https)", + "rssFeedUrlPlaceholder": "e.g. https://example.com/feed.xml", + "rssInterval": "Check Interval", + "rssIntervalHint": "Choose how often to check for new posts", + "rssIntervals": { + "5m": "Every 5 minutes", + "15m": "Every 15 minutes", + "30m": "Every 30 minutes", + "1h": "Every 1 hour", + "6h": "Every 6 hours", + "12h": "Every 12 hours", + "24h": "Every 24 hours" + }, + "youtubeChannelId": "YouTube Channel ID", + "youtubeChannelIdHint": "Specify the YouTube channel ID to receive notifications from", + "youtubeChannelIdPlaceholder": "e.g. UCxxxxxxxxxxxxxxxxxxxxxx", + "twitchBroadcasterUserId": "Twitch Broadcaster User ID", + "twitchBroadcasterUserIdHint": "Specify the broadcaster's numeric user ID", + "twitchBroadcasterUserIdPlaceholder": "e.g. 123456789", + "twitchSubscriptionTypes": "Event Types", + "twitchSubscriptionTypesHint": "Select which Twitch events should trigger the workflow", + "twitchSubscriptionTypeLabels": { + "stream_online": "Stream Online (stream.online)", + "stream_offline": "Stream Offline (stream.offline)", + "channel_update": "Channel Update (channel.update)" + }, "customIdFilter": "Custom ID (Optional)", "customIdFilterHint": "Only trigger for custom IDs starting with this value. Empty means all.", "customIdPlaceholder": "e.g. my-button", @@ -1099,6 +1129,18 @@ "webhook_receive": { "label": "Webhook Receive", "desc": "When a webhook request is received" + }, + "rss_poll": { + "label": "RSS Post", + "desc": "When a new item is published in the RSS feed" + }, + "youtube_websub": { + "label": "YouTube Post", + "desc": "When a new video is published on the channel" + }, + "twitch_eventsub": { + "label": "Twitch Event", + "desc": "When a selected Twitch event is received" } }, "conditions": { @@ -1169,7 +1211,15 @@ "validationVarKeyEmpty": "\"Variable Value\" nodes require a variable name.", "validationScheduledCronMissing": "Scheduled triggers require a cron expression (the cron field).", "validationScheduledCronInvalid": "Invalid cron expression. Use standard 5-field format (e.g. */5 * * * *).", - "validationScheduledCronTooFrequent": "Minimum execution interval is 5 minutes (e.g. */5 * * * *)." + "validationScheduledCronTooFrequent": "Minimum execution interval is 5 minutes (e.g. */5 * * * *).", + "validationRssFeedUrlMissing": "RSS triggers require a feed URL.", + "validationRssFeedUrlInvalid": "RSS feed URL must be a valid http:// or https:// URL.", + "validationRssIntervalInvalid": "RSS interval is invalid.", + "validationYoutubeChannelIdMissing": "YouTube triggers require a channel ID.", + "validationTwitchBroadcasterUserIdMissing": "Twitch triggers require a broadcaster user ID.", + "validationTwitchBroadcasterUserIdInvalid": "Broadcaster user ID must contain numbers only.", + "validationTwitchSubscriptionTypesMissing": "Select at least one Twitch subscription type.", + "validationTwitchSubscriptionTypeInvalid": "Twitch subscription types include an invalid value." }, "logs": { "empty": "No execution logs", From 972995cbf4d4cc9069486a3bc73debe7d6924dc1 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Wed, 22 Apr 2026 01:20:19 +0900 Subject: [PATCH 021/150] New translations web.json (Japanese) --- ja/web.json | 52 +++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 51 insertions(+), 1 deletion(-) diff --git a/ja/web.json b/ja/web.json index 678bbe9..b6f7d3f 100644 --- a/ja/web.json +++ b/ja/web.json @@ -1013,6 +1013,36 @@ "messageDeleteTitle": "メッセージ削除設定", "modalSubmitTitle": "モーダル送信設定", "webhookReceiveTitle": "Webhook受信設定", + "rssPollTitle": "RSS監視設定", + "youtubeWebsubTitle": "YouTube投稿通知設定", + "twitchEventsubTitle": "Twitchイベント通知設定", + "rssFeedUrl": "RSSフィードURL", + "rssFeedUrlHint": "監視するRSS/AtomフィードのURLを指定します(http/https)", + "rssFeedUrlPlaceholder": "例: https://example.com/feed.xml", + "rssInterval": "確認間隔", + "rssIntervalHint": "新着投稿の確認頻度を選択します", + "rssIntervals": { + "5m": "5分ごと", + "15m": "15分ごと", + "30m": "30分ごと", + "1h": "1時間ごと", + "6h": "6時間ごと", + "12h": "12時間ごと", + "24h": "24時間ごと" + }, + "youtubeChannelId": "YouTubeチャンネルID", + "youtubeChannelIdHint": "通知を受け取りたいYouTubeチャンネルのIDを指定します", + "youtubeChannelIdPlaceholder": "例: UCxxxxxxxxxxxxxxxxxxxxxx", + "twitchBroadcasterUserId": "Twitch配信者ユーザーID", + "twitchBroadcasterUserIdHint": "通知を受け取りたい配信者の数値ユーザーIDを指定します", + "twitchBroadcasterUserIdPlaceholder": "例: 123456789", + "twitchSubscriptionTypes": "通知タイプ", + "twitchSubscriptionTypesHint": "受け取りたいTwitchイベントを選択します", + "twitchSubscriptionTypeLabels": { + "stream_online": "配信開始 (stream.online)", + "stream_offline": "配信終了 (stream.offline)", + "channel_update": "チャンネル更新 (channel.update)" + }, "customIdFilter": "カスタムID(任意)", "customIdFilterHint": "特定のカスタムIDから始まるものだけを対象にします。空欄で全て対象", "customIdPlaceholder": "例: my-button", @@ -1099,6 +1129,18 @@ "webhook_receive": { "label": "Webhook受信", "desc": "Webhookリクエストを受信したとき" + }, + "rss_poll": { + "label": "RSS投稿", + "desc": "RSSフィードに新着記事が追加されたとき" + }, + "youtube_websub": { + "label": "YouTube投稿", + "desc": "指定チャンネルに新しい動画が公開されたとき" + }, + "twitch_eventsub": { + "label": "Twitchイベント", + "desc": "Twitchの指定イベントを受信したとき" } }, "conditions": { @@ -1169,7 +1211,15 @@ "validationVarKeyEmpty": "「変数の値」ノードには変数名が必要です。", "validationScheduledCronMissing": "scheduledトリガーにはcron式(cron フィールド)の指定が必要です", "validationScheduledCronInvalid": "無効なcron式です。標準の5フィールド形式(例: */5 * * * *)で指定してください", - "validationScheduledCronTooFrequent": "最短実行間隔は5分です(例: */5 * * * *)" + "validationScheduledCronTooFrequent": "最短実行間隔は5分です(例: */5 * * * *)", + "validationRssFeedUrlMissing": "RSSトリガーにはフィードURLの指定が必要です。", + "validationRssFeedUrlInvalid": "RSSフィードURLは http:// または https:// で始まる有効なURLを指定してください。", + "validationRssIntervalInvalid": "RSSの実行間隔が不正です。", + "validationYoutubeChannelIdMissing": "YouTubeトリガーにはチャンネルIDの指定が必要です。", + "validationTwitchBroadcasterUserIdMissing": "Twitchトリガーには配信者ユーザーIDの指定が必要です。", + "validationTwitchBroadcasterUserIdInvalid": "配信者ユーザーIDは数字のみで指定してください。", + "validationTwitchSubscriptionTypesMissing": "Twitchトリガーには少なくとも1つの購読タイプが必要です。", + "validationTwitchSubscriptionTypeInvalid": "Twitchの購読タイプに不正な値が含まれています。" }, "logs": { "empty": "実行ログがありません", From ce3f5614ffb358ab8ea6cc605df01a28c16ff777 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Wed, 22 Apr 2026 03:06:06 +0900 Subject: [PATCH 022/150] Update source file web.json --- en/web.json | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/en/web.json b/en/web.json index 54d0077..a5cb92b 100644 --- a/en/web.json +++ b/en/web.json @@ -471,7 +471,11 @@ "pagination": { "prev": "Previous", "next": "Next" - } + }, + "syncBtn": "Sync with Stripe", + "syncOk": "Subscription info synced successfully", + "syncFail": "Sync failed", + "syncNote": "If your subscription isn't showing up correctly, you can manually sync with Stripe using the button above" }, "pricing": { "title": "Pricing", @@ -1467,7 +1471,9 @@ "confirmSync": "Sync all subscriptions from Stripe to DB?", "syncOk": "Synced {synced} subscriptions (errors: {errors})", "syncFail": "Sync failed", - "cancelAtEnd": "cancels at period end" + "cancelAtEnd": "cancels at period end", + "syncUserPlaceholder": "User ID", + "confirmSyncUser": "Sync subscription info for user {userId}?" }, "blacklist": { "title": "Blacklist", From a2d5dbb6f56cf17de97bab31eed9b315d91079e1 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Wed, 22 Apr 2026 03:06:13 +0900 Subject: [PATCH 023/150] New translations web.json (Japanese) --- ja/web.json | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/ja/web.json b/ja/web.json index b6f7d3f..b491924 100644 --- a/ja/web.json +++ b/ja/web.json @@ -471,7 +471,11 @@ "pagination": { "prev": "前へ", "next": "次へ" - } + }, + "syncBtn": "情報を最新化", + "syncOk": "サブスクリプション情報を同期しました", + "syncFail": "同期に失敗しました", + "syncNote": "Stripeのデータと同期が取れていない場合は、上のボタンで手動同期できます" }, "pricing": { "title": "料金プラン", @@ -1467,7 +1471,9 @@ "confirmSync": "StripeとDBのサブスクリプション情報を同期しますか?", "syncOk": "{synced}件同期しました(エラー: {errors}件)", "syncFail": "同期に失敗しました", - "cancelAtEnd": "期間終了時にキャンセル" + "cancelAtEnd": "期間終了時にキャンセル", + "syncUserPlaceholder": "User ID", + "confirmSyncUser": "ユーザー {userId} のサブスクリプション情報を同期しますか?" }, "blacklist": { "title": "ブラックリスト", From b3ae91ca974ab6cc20a56cae10aea950421909e6 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Wed, 22 Apr 2026 12:14:02 +0900 Subject: [PATCH 024/150] Update source file web.json --- en/web.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/en/web.json b/en/web.json index a5cb92b..0261c02 100644 --- a/en/web.json +++ b/en/web.json @@ -472,10 +472,10 @@ "prev": "Previous", "next": "Next" }, - "syncBtn": "Sync with Stripe", + "syncBtn": "Sync Subscription", "syncOk": "Subscription info synced successfully", "syncFail": "Sync failed", - "syncNote": "If your subscription isn't showing up correctly, you can manually sync with Stripe using the button above" + "syncNote": "If your purchased subscription isn't showing up, click the sync button to fetch the latest info" }, "pricing": { "title": "Pricing", From ade46fc305dc7a1d9e8541c91f7283c680522d5a Mon Sep 17 00:00:00 2001 From: Cube Team Date: Wed, 22 Apr 2026 12:14:11 +0900 Subject: [PATCH 025/150] New translations web.json (Japanese) --- ja/web.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ja/web.json b/ja/web.json index b491924..7e33f86 100644 --- a/ja/web.json +++ b/ja/web.json @@ -472,10 +472,10 @@ "prev": "前へ", "next": "次へ" }, - "syncBtn": "情報を最新化", + "syncBtn": "サブスクリプションを同期", "syncOk": "サブスクリプション情報を同期しました", "syncFail": "同期に失敗しました", - "syncNote": "Stripeのデータと同期が取れていない場合は、上のボタンで手動同期できます" + "syncNote": "購入済みのサブスクリプションが表示されない場合は、同期ボタンで最新情報を取得できます" }, "pricing": { "title": "料金プラン", From 602ef940326807432c16850858068b5353a420b1 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Mon, 27 Apr 2026 23:46:04 +0900 Subject: [PATCH 026/150] Update source file web.json --- en/web.json | 69 ++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 68 insertions(+), 1 deletion(-) diff --git a/en/web.json b/en/web.json index 0261c02..fd55cb8 100644 --- a/en/web.json +++ b/en/web.json @@ -166,7 +166,8 @@ "manageSubscription": "Manage Subscription", "logout": "Log Out", "messages": "Messages", - "workflow": "Workflow" + "workflow": "Workflow", + "automod": "Moderation" }, "featureGate": { "title": "This feature is not available", @@ -1573,5 +1574,71 @@ "deleteOk": "User data deleted", "deleteFail": "Failed to delete user" } + }, + "automod": { + "title": "Auto Moderation", + "desc": "Configure AutoMod, AntiRaid, and JoinGate settings", + "automodSection": "AutoMod", + "automodDesc": "Automatically detects and responds to spam and suspicious messages", + "enabled": "Enabled", + "disabled": "Disabled", + "heatPresetLabel": "Heat Preset", + "heatPresetDesc": "Adjust sensitivity to violations and the strength of sanctions", + "lenientLabel": "Lenient", + "lenientDesc": "Tolerates minor violations", + "standardLabel": "Standard", + "standardDesc": "Balanced default configuration", + "strictLabel": "Strict", + "strictDesc": "Responds quickly to even minor violations", + "logChannelLabel": "Log Channel", + "logChannelDesc": "Channel to receive moderation action notifications", + "noChannel": "No channel", + "quarantineRoleLabel": "Quarantine Role", + "quarantineRoleDesc": "Role assigned to quarantined users", + "noRole": "No role", + "panicModeLabel": "Panic Mode", + "panicModeDesc": "When enabled, significantly lowers the action threshold for all users", + "antiNukeSection": "AntiNuke", + "antiNukeDesc": "Detects and responds to destructive server actions (channel deletion, mass bans, etc.)", + "antiNukeChannelDeleteLabel": "Channel delete", + "antiNukeRoleDeleteLabel": "Role delete", + "antiNukeWebhookCreateLabel": "Webhook create", + "antiNukeBanKickLabel": "Ban/Kick", + "antiNukeRoleGrantLabel": "Role grant", + "antiNukeLimitSuffix": "actions trigger", + "antiNukeWindowSuffix": "sec window", + "antiRaidSection": "AntiRaid", + "antiRaidDesc": "Detects and responds to raid attacks (mass joins)", + "antiRaidJoinRateLabel": "Join Rate Limit", + "antiRaidJoinRateDesc": "Triggers raid detection when this many users join within the time window", + "antiRaidWindowLabel": "Join Window (seconds)", + "antiRaidAccountAgeLabel": "Account Age (days)", + "antiRaidAccountAgeDesc": "Accounts newer than this many days add to the raid score", + "joinGateSection": "JoinGate", + "joinGateDesc": "Quarantines and requires verification from suspicious new joiners", + "joinGateFilterNoAvatarLabel": "Filter Default Avatars", + "joinGateFilterNoAvatarDesc": "Quarantine accounts with no profile picture", + "joinGateFilterNewAccountLabel": "Filter New Accounts (days)", + "joinGateFilterNewAccountDesc": "Quarantine accounts newer than this many days. 0 to disable", + "joinGateFilterAdvertisingLabel": "Filter Advertising Accounts", + "joinGateFilterAdvertisingDesc": "Quarantine accounts with invite links or banned URLs in their profile", + "powGateSection": "PoW Gate (Human Verification)", + "powGateDesc": "Require Cloudflare Turnstile human verification to prevent bots and raiders", + "powGateAllUsersLabel": "Apply to All New Members", + "powGateAllUsersDesc": "When off, only targets users who triggered JoinGate filters", + "powGateRoleLabel": "Restricted Role", + "powGateRoleDesc": "Role assigned before verification (automatically removed after success)", + "powGateChannelLabel": "Verification Channel", + "powGateChannelDesc": "Fallback channel when DM fails (permissions auto-adjusted on save)", + "powGateTimeoutLabel": "Timeout", + "powGateTimeoutDesc": "Minutes before auto-kicking unverified users (0 to disable)", + "minutes": "min", + "save": "Save", + "saving": "Saving...", + "saved": "Saved", + "saveError": "Failed to save", + "days": "days", + "people": "people", + "seconds": "sec" } } From 92c073fe9c55f09c2b071486d7e1b82bf69fe28c Mon Sep 17 00:00:00 2001 From: Cube Team Date: Mon, 27 Apr 2026 23:46:13 +0900 Subject: [PATCH 027/150] New translations web.json (Japanese) --- ja/web.json | 69 ++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 68 insertions(+), 1 deletion(-) diff --git a/ja/web.json b/ja/web.json index 7e33f86..b6364e5 100644 --- a/ja/web.json +++ b/ja/web.json @@ -166,7 +166,8 @@ "manageSubscription": "サブスクリプション管理", "logout": "ログアウト", "messages": "メッセージ送信", - "workflow": "ワークフロー" + "workflow": "ワークフロー", + "automod": "統合モデレーション" }, "featureGate": { "title": "この機能はご利用いただけません", @@ -1573,5 +1574,71 @@ "deleteOk": "ユーザーデータを削除しました", "deleteFail": "削除に失敗しました" } + }, + "automod": { + "title": "自動モデレーション", + "desc": "AutoMod・AntiRaid・JoinGate の設定を行います", + "automodSection": "AutoMod", + "automodDesc": "スパムや不審なメッセージを自動検知・対応します", + "enabled": "有効", + "disabled": "無効", + "heatPresetLabel": "熱量プリセット", + "heatPresetDesc": "違反への感度と制裁の強さを調整します", + "lenientLabel": "緩め", + "lenientDesc": "軽微な違反は許容", + "standardLabel": "標準", + "standardDesc": "バランスの取れたデフォルト", + "strictLabel": "厳格", + "strictDesc": "軽い違反にも即対応", + "logChannelLabel": "ログチャンネル", + "logChannelDesc": "モデレーションアクションを通知するチャンネル", + "noChannel": "チャンネルなし", + "quarantineRoleLabel": "隔離ロール", + "quarantineRoleDesc": "隔離対象ユーザーに付与するロール", + "noRole": "ロールなし", + "panicModeLabel": "パニックモード", + "panicModeDesc": "有効時、全ユーザーへの制裁閾値を大幅に下げます", + "antiNukeSection": "AntiNuke", + "antiNukeDesc": "サーバーへの破壊的な操作(チャンネル削除・一括BAN等)を検知・対応します", + "antiNukeChannelDeleteLabel": "チャンネル削除", + "antiNukeRoleDeleteLabel": "ロール削除", + "antiNukeWebhookCreateLabel": "Webhook作成", + "antiNukeBanKickLabel": "BAN/Kick", + "antiNukeRoleGrantLabel": "ロール一括付与", + "antiNukeLimitSuffix": "回で発動", + "antiNukeWindowSuffix": "秒以内", + "antiRaidSection": "AntiRaid", + "antiRaidDesc": "レイド攻撃(大量参加)を検知・対応します", + "antiRaidJoinRateLabel": "参加レート上限", + "antiRaidJoinRateDesc": "設定した時間内にこの人数以上が参加するとレイドと判定します", + "antiRaidWindowLabel": "参加ウィンドウ(秒)", + "antiRaidAccountAgeLabel": "アカウント年齢(日)", + "antiRaidAccountAgeDesc": "この日数未満のアカウントはレイドスコアが加算されます", + "joinGateSection": "JoinGate", + "joinGateDesc": "不審な条件に合致した新規参加者を隔離・認証させます", + "joinGateFilterNoAvatarLabel": "デフォルトアバターをフィルター", + "joinGateFilterNoAvatarDesc": "プロフィール画像を設定していないアカウントを隔離", + "joinGateFilterNewAccountLabel": "新規アカウントをフィルター(日数)", + "joinGateFilterNewAccountDesc": "指定日数未満のアカウントを隔離。0で無効", + "joinGateFilterAdvertisingLabel": "広告アカウントをフィルター", + "joinGateFilterAdvertisingDesc": "プロフィールに招待リンク等を含むアカウントを隔離", + "powGateSection": "PoW Gate(人間証明)", + "powGateDesc": "Cloudflare Turnstileで人間確認を要求し、BOTや荒らしを防ぐ", + "powGateAllUsersLabel": "全新規メンバーに適用", + "powGateAllUsersDesc": "オフ時はJoinGateフィルターに引っかかったユーザーのみ対象", + "powGateRoleLabel": "制限ロール", + "powGateRoleDesc": "認証前のユーザーに付与するロール(認証後に自動削除)", + "powGateChannelLabel": "認証チャンネル", + "powGateChannelDesc": "DMが届かない場合の案内チャンネル(設定時に自動権限調整)", + "powGateTimeoutLabel": "タイムアウト", + "powGateTimeoutDesc": "認証未完了ユーザーを自動キックするまでの時間(0で無効)", + "minutes": "分", + "save": "保存", + "saving": "保存中...", + "saved": "保存しました", + "saveError": "保存に失敗しました", + "days": "日", + "people": "人", + "seconds": "秒" } } From 2ec0608e06510284776e8971cc99e0e21b8fa34c Mon Sep 17 00:00:00 2001 From: Cube Team Date: Fri, 1 May 2026 11:05:35 +0900 Subject: [PATCH 028/150] Update source file web.json [ci skip] --- en/web.json | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/en/web.json b/en/web.json index fd55cb8..e95de26 100644 --- a/en/web.json +++ b/en/web.json @@ -1633,6 +1633,31 @@ "powGateTimeoutLabel": "Timeout", "powGateTimeoutDesc": "Minutes before auto-kicking unverified users (0 to disable)", "minutes": "min", + "messages": "msgs", + "automodRules": "Rule Settings", + "quarantineSetupBanner": "Quarantine Role Not Configured", + "quarantineSetupBannerDesc": "Moderation features are enabled but the quarantine role is not set up. Click the button to have the bot auto-create the role and configure channel permissions.", + "quarantineSetupBtn": "Setup Now", + "quarantineSetupRequesting": "Setting up...", + "quarantineSetupDone": "Setup requested. Changes will apply in a few seconds.", + "ruleSpam": "Spam", + "ruleSpamDesc": "Detect rate limit violations within a time window", + "ruleMentionSpam": "Mention Spam", + "ruleMentionSpamDesc": "Detect mass mentions per message or cumulative in window", + "ruleInviteLink": "Invite Links", + "ruleInviteLinkDesc": "Detect unauthorized Discord invite URLs", + "ruleEmojiSpam": "Emoji Spam", + "ruleEmojiSpamDesc": "Detect messages exceeding the emoji count limit", + "ruleCharSpam": "Character Spam", + "ruleCharSpamDesc": "Detect repeated characters or Zalgo text", + "ruleUrlScan": "URL Scanning", + "ruleUrlScanDesc": "Expand short URLs → check with Safe Browsing API", + "ruleImageHash": "Image Hash", + "ruleImageHashDesc": "Match against known spam/NSFW images (pHash)", + "ruleCrossChannel": "Cross-Channel", + "ruleCrossChannelDesc": "Detect similar posts across multiple channels in short time", + "rulePhishing": "Phishing", + "rulePhishingDesc": "Detect known phishing domains and scam URL patterns", "save": "Save", "saving": "Saving...", "saved": "Saved", From d41a2b37b1658582695b6ee044396e95b4b49a6b Mon Sep 17 00:00:00 2001 From: Cube Team Date: Fri, 1 May 2026 11:05:41 +0900 Subject: [PATCH 029/150] New translations web.json (Japanese) [ci skip] --- ja/web.json | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/ja/web.json b/ja/web.json index b6364e5..38e6023 100644 --- a/ja/web.json +++ b/ja/web.json @@ -1633,6 +1633,31 @@ "powGateTimeoutLabel": "タイムアウト", "powGateTimeoutDesc": "認証未完了ユーザーを自動キックするまでの時間(0で無効)", "minutes": "分", + "messages": "件", + "automodRules": "ルール設定", + "quarantineSetupBanner": "隔離ロールが未セットアップです", + "quarantineSetupBannerDesc": "モデレーション機能が有効ですが、隔離ロールが設定されていません。ボタンを押すとBotが自動でロール作成・チャンネル権限設定を行います。", + "quarantineSetupBtn": "今すぐセットアップ", + "quarantineSetupRequesting": "セットアップ中...", + "quarantineSetupDone": "セットアップをリクエストしました。数秒後に反映されます。", + "ruleSpam": "スパム", + "ruleSpamDesc": "一定時間内のレート超過を検知", + "ruleMentionSpam": "メンションスパム", + "ruleMentionSpamDesc": "1メッセージ内の大量メンション・時間内累積を検知", + "ruleInviteLink": "招待リンク", + "ruleInviteLinkDesc": "無断の Discord 招待URLを検知", + "ruleEmojiSpam": "絵文字スパム", + "ruleEmojiSpamDesc": "1メッセージ内の絵文字数が上限を超えた場合に検知", + "ruleCharSpam": "文字スパム", + "ruleCharSpamDesc": "同一文字の連続・Zalgoテキストを検知", + "ruleUrlScan": "URLスキャン", + "ruleUrlScanDesc": "短縮URL展開 → Safe Browsing APIで悪意あるURLを検知", + "ruleImageHash": "画像ハッシュ", + "ruleImageHashDesc": "既知スパム・NSFW画像の照合(pHash)", + "ruleCrossChannel": "クロスチャンネル", + "ruleCrossChannelDesc": "短時間に複数チャンネルへの類似投稿を検知", + "rulePhishing": "フィッシング", + "rulePhishingDesc": "既知フィッシングドメイン・詐欺URLパターンを検知", "save": "保存", "saving": "保存中...", "saved": "保存しました", From 3914493787d02a482e16bf036b4b809bf1856570 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Sat, 2 May 2026 21:47:38 +0900 Subject: [PATCH 030/150] Update source file web.json [ci skip] --- en/web.json | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/en/web.json b/en/web.json index e95de26..c001ae9 100644 --- a/en/web.json +++ b/en/web.json @@ -1640,14 +1640,12 @@ "quarantineSetupBtn": "Setup Now", "quarantineSetupRequesting": "Setting up...", "quarantineSetupDone": "Setup requested. Changes will apply in a few seconds.", - "ruleSpam": "Spam", - "ruleSpamDesc": "Detect rate limit violations within a time window", "ruleMentionSpam": "Mention Spam", - "ruleMentionSpamDesc": "Detect mass mentions per message or cumulative in window", + "ruleMentionSpamDesc": "Adds heat for @user / @role / @here / @everyone mentions", "ruleInviteLink": "Invite Links", "ruleInviteLinkDesc": "Detect unauthorized Discord invite URLs", "ruleEmojiSpam": "Emoji Spam", - "ruleEmojiSpamDesc": "Detect messages exceeding the emoji count limit", + "ruleEmojiSpamDesc": "+1% per emoji, capped at +20% per message", "ruleCharSpam": "Character Spam", "ruleCharSpamDesc": "Detect repeated characters or Zalgo text", "ruleUrlScan": "URL Scanning", @@ -1658,6 +1656,25 @@ "ruleCrossChannelDesc": "Detect similar posts across multiple channels in short time", "rulePhishing": "Phishing", "rulePhishingDesc": "Detect known phishing domains and scam URL patterns", + "ruleBlacklistWord": "Blacklist Words", + "ruleBlacklistWordDesc": "Add heat to messages containing admin-configured words", + "blacklistWordAdd": "Add Word", + "blacklistWordPlaceholder": "Enter forbidden word", + "blacklistWordHeat": "Heat Value", + "blacklistWordHeatHelp": "1–100 (default 30%)", + "ruleInactiveChannel": "Inactive Channel Post", + "ruleInactiveChannelDesc": "Add +3% heat for posting in channels with no recent activity", + "inactiveChannelThreshold": "Inactivity threshold (minutes)", + "suspicionTriggers": "Suspicion Triggers", + "suspicionTriggersDesc": "Detect suspicious signals (new account, default avatar, etc.) and assign Suspicion Level", + "newAccountDays": "New account threshold (days)", + "newAccountDaysHelp": "Assign Suspicion Lv1 to accounts younger than N days", + "timezone": "Moderation Timezone", + "timezoneDesc": "Timezone for night-time policy shift (e.g. Asia/Tokyo)", + "spamHashManagement": "Known Spam Image Hashes", + "spamHashAdd": "Add Hash", + "spamHashPlaceholder": "dHash bit string (64 chars)", + "spamHashLabelPlaceholder": "Label (optional)", "save": "Save", "saving": "Saving...", "saved": "Saved", From ffe47ab7ea43382235e6c88bb8afe2f1cf62401b Mon Sep 17 00:00:00 2001 From: Cube Team Date: Sat, 2 May 2026 21:47:43 +0900 Subject: [PATCH 031/150] New translations web.json (Japanese) [ci skip] --- ja/web.json | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/ja/web.json b/ja/web.json index 38e6023..ad1bb4f 100644 --- a/ja/web.json +++ b/ja/web.json @@ -1640,14 +1640,12 @@ "quarantineSetupBtn": "今すぐセットアップ", "quarantineSetupRequesting": "セットアップ中...", "quarantineSetupDone": "セットアップをリクエストしました。数秒後に反映されます。", - "ruleSpam": "スパム", - "ruleSpamDesc": "一定時間内のレート超過を検知", "ruleMentionSpam": "メンションスパム", - "ruleMentionSpamDesc": "1メッセージ内の大量メンション・時間内累積を検知", + "ruleMentionSpamDesc": "@user / @role / @here / @everyone のメンションをheatとして加算", "ruleInviteLink": "招待リンク", "ruleInviteLinkDesc": "無断の Discord 招待URLを検知", "ruleEmojiSpam": "絵文字スパム", - "ruleEmojiSpamDesc": "1メッセージ内の絵文字数が上限を超えた場合に検知", + "ruleEmojiSpamDesc": "絵文字1個につき+1%(上限20%/メッセージ)", "ruleCharSpam": "文字スパム", "ruleCharSpamDesc": "同一文字の連続・Zalgoテキストを検知", "ruleUrlScan": "URLスキャン", @@ -1658,6 +1656,25 @@ "ruleCrossChannelDesc": "短時間に複数チャンネルへの類似投稿を検知", "rulePhishing": "フィッシング", "rulePhishingDesc": "既知フィッシングドメイン・詐欺URLパターンを検知", + "ruleBlacklistWord": "ブラックリストワード", + "ruleBlacklistWordDesc": "管理者が設定したワードを含むメッセージにheatを加算", + "blacklistWordAdd": "ワードを追加", + "blacklistWordPlaceholder": "禁止ワードを入力", + "blacklistWordHeat": "Heat値", + "blacklistWordHeatHelp": "1〜100(デフォルト30%)", + "ruleInactiveChannel": "非活性チャンネルへの投稿", + "ruleInactiveChannelDesc": "長時間投稿がなかったチャンネルへの投稿に+3%を加算", + "inactiveChannelThreshold": "非活性判定時間(分)", + "suspicionTriggers": "Suspicionトリガー", + "suspicionTriggersDesc": "新規アカウント・デフォルトアバター等の不審シグナルを検知しSuspicion Levelを付与", + "newAccountDays": "新規アカウント判定(日数)", + "newAccountDaysHelp": "作成からN日未満のアカウントにSuspicion Lv1を付与", + "timezone": "モデレーションタイムゾーン", + "timezoneDesc": "夜間ポリシーシフトに使用するタイムゾーン(例: Asia/Tokyo)", + "spamHashManagement": "既知スパム画像ハッシュ管理", + "spamHashAdd": "ハッシュを追加", + "spamHashPlaceholder": "dHashビット列(64文字)", + "spamHashLabelPlaceholder": "ラベル(任意)", "save": "保存", "saving": "保存中...", "saved": "保存しました", From 6f6914861fe41153d047e36c941c5b7ee38309f6 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Sun, 3 May 2026 02:32:21 +0900 Subject: [PATCH 032/150] Update source file bot.json [ci skip] --- en/bot.json | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) diff --git a/en/bot.json b/en/bot.json index b5f95c2..e88aaac 100644 --- a/en/bot.json +++ b/en/bot.json @@ -548,6 +548,16 @@ "delete": { "success": "Deleted sticky message." } + }, + "sus": { + "added": "✅ Granted Suspicion Level {level} to <@{userId}>.", + "removed": "✅ Removed Suspicion Level from <@{userId}>." + }, + "report": { + "self_error": "You cannot report yourself.", + "default_reason": "Report", + "reporter_prefix": "Reported by: {moderatorTag} — {reason}", + "success": "✅ Reported <@{userId}>. A moderator will review it shortly." } }, "info": { @@ -932,5 +942,70 @@ "thread_update": "Thread Updated", "thread_delete": "Thread Deleted" } + }, + "moderation": { + "mod_log": { + "title": "🚨 Moderation Action", + "body": "**User:** <@{userId}> ({userTag})\n**Action(s):** {actions}\n**Reason:** {reason}", + "default_reason": "Automod Action", + "btn_ban": "BAN", + "btn_kick": "Kick", + "btn_unquarantine": "False Positive (Release)" + }, + "warn": { + "dm_title": "⚠️ Warning", + "dm_body": "You have received a warning from **{guildName}**'s auto-moderation. Please review the server rules." + }, + "notify_owner": { + "dm_title": "⚠️ Owner Notification", + "dm_body": "**Server:** {guildName}\n**Target:** <@{userId}> ({userTag})\n**Reason:** {reason}\n\nThis user had a high trust score so a 24-hour timeout was applied. Please review manually." + }, + "appeal_dm": { + "quarantine_title": "⚠️ Quarantine Applied", + "timeout_title": "⚠️ Timeout Applied", + "body": "**Server:** {guildName}\n\nAuto-moderation has applied a {label} to your account. If you believe this is a false positive, you can submit an appeal using the button below.", + "quarantine_label": "Quarantine", + "timeout_label": "Timeout", + "btn_appeal": "Submit Appeal" + }, + "appeal_modal": { + "title": "Submit Appeal", + "reason_label": "Reason for Appeal", + "reason_placeholder": "Please describe why you believe this action was a false positive.", + "success": "✅ Your appeal has been submitted. A moderator will review it shortly.", + "log_title": "📩 Appeal Received", + "log_body": "**Appellant:** <@{userId}> ({userTag})\n**Message:**\n{reason}" + }, + "mod_ban": { + "success": "Successfully banned user <@{userId}>.", + "failed": "Failed to ban user <@{userId}>.", + "reason": "Banned by {moderatorTag} via Mod-Log" + }, + "mod_kick": { + "success": "Successfully kicked user <@{userId}>.", + "failed": "Failed to kick user <@{userId}>.", + "reason": "Kicked by {moderatorTag} via Mod-Log" + }, + "mod_unquarantine": { + "not_found": "Failed to find quarantine snapshot for user <@{userId}>.", + "not_in_server": "User <@{userId}> is no longer in the server.", + "success": "Successfully unquarantined user <@{userId}> and restored roles.", + "failed": "Failed to unquarantine user <@{userId}>." + }, + "join_gate": { + "dm_title": "🔒 Verification Required", + "dm_body": "Verification is required to join **{guildName}**.\n\n[Click here to verify]({verifyUrl})\n\nThis link is valid for **10 minutes**.", + "channel_fallback": "<@{userId}> Verification is required. Click the button below to get your verification link." + }, + "pow_gate": { + "channel_title": "🔒 Verification Required", + "channel_body": "Verification is required to join this server.\nClick the button below to get your verification link.", + "channel_note": "-# Verification link is valid for 10 minutes", + "btn_label": "Get Verification Link", + "no_guild": "Failed to retrieve verification information.", + "no_settings": "Verification settings not found.", + "not_needed": "Verification is not required.", + "link_reply": "Please verify using the following link (**valid for 10 minutes**):\n{verifyUrl}" + } } } From 536bac19fb35ce7257f009a6b01a9505c144541a Mon Sep 17 00:00:00 2001 From: Cube Team Date: Sun, 3 May 2026 02:32:29 +0900 Subject: [PATCH 033/150] New translations bot.json (Japanese) [ci skip] --- ja/bot.json | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) diff --git a/ja/bot.json b/ja/bot.json index 5c9bc05..380483a 100644 --- a/ja/bot.json +++ b/ja/bot.json @@ -548,6 +548,16 @@ "delete": { "success": "ピン留めメッセージを削除しました。" } + }, + "sus": { + "added": "✅ <@{userId}> に Suspicion Level {level} を付与しました。", + "removed": "✅ <@{userId}> の Suspicion Level を解除しました。" + }, + "report": { + "self_error": "自分自身を通報することはできません。", + "default_reason": "通報", + "reporter_prefix": "通報者: {moderatorTag} — {reason}", + "success": "✅ <@{userId}> を通報しました。モデレーターが確認します。" } }, "info": { @@ -932,5 +942,70 @@ "thread_update": "スレッド更新", "thread_delete": "スレッド削除" } + }, + "moderation": { + "mod_log": { + "title": "🚨 Moderation Action", + "body": "**User:** <@{userId}> ({userTag})\n**Action(s):** {actions}\n**Reason:** {reason}", + "default_reason": "Automod Action", + "btn_ban": "BAN", + "btn_kick": "Kick", + "btn_unquarantine": "誤検知(解除) / Unquarantine" + }, + "warn": { + "dm_title": "⚠️ 警告", + "dm_body": "**{guildName}** の自動モデレーションにより警告を受けました。サーバーのルールを確認してください。" + }, + "notify_owner": { + "dm_title": "⚠️ 管理者通知", + "dm_body": "**サーバー:** {guildName}\n**対象:** <@{userId}> ({userTag})\n**理由:** {reason}\n\nこのユーザーは信頼スコアが高いため24時間タイムアウトを適用しました。手動確認してください。" + }, + "appeal_dm": { + "quarantine_title": "⚠️ 隔離(Quarantine)が適用されました", + "timeout_title": "⚠️ タイムアウトが適用されました", + "body": "**サーバー:** {guildName}\n\n自動モデレーションにより {label} が適用されました。誤検知と思われる場合は、下のボタンから異議申し立てができます。", + "quarantine_label": "隔離(Quarantine)", + "timeout_label": "タイムアウト", + "btn_appeal": "異議申し立て" + }, + "appeal_modal": { + "title": "異議申し立て", + "reason_label": "申し立ての理由", + "reason_placeholder": "誤検知と思われる理由や状況を詳しく入力してください。", + "success": "✅ 異議申し立てを受け付けました。モデレーターが確認次第、対応します。", + "log_title": "📩 異議申し立て", + "log_body": "**申立人:** <@{userId}> ({userTag})\n**内容:**\n{reason}" + }, + "mod_ban": { + "success": "ユーザー <@{userId}> をBANしました。", + "failed": "ユーザー <@{userId}> のBANに失敗しました。", + "reason": "{moderatorTag} が Mod-Log からBANしました" + }, + "mod_kick": { + "success": "ユーザー <@{userId}> をKickしました。", + "failed": "ユーザー <@{userId}> のKickに失敗しました。", + "reason": "{moderatorTag} が Mod-Log からKickしました" + }, + "mod_unquarantine": { + "not_found": "ユーザー <@{userId}> の隔離スナップショットが見つかりません。", + "not_in_server": "ユーザー <@{userId}> はすでにサーバーにいません。", + "success": "ユーザー <@{userId}> の隔離を解除し、ロールを復元しました。", + "failed": "ユーザー <@{userId}> の隔離解除に失敗しました。" + }, + "join_gate": { + "dm_title": "🔒 認証が必要です", + "dm_body": "**{guildName}** に参加するには認証が必要です。\n\n[こちらをクリックして認証してください]({verifyUrl})\n\nリンクは **10分間** 有効です。", + "channel_fallback": "<@{userId}> 認証が必要です。下のボタンをクリックして認証リンクを取得してください。" + }, + "pow_gate": { + "channel_title": "🔒 認証が必要です", + "channel_body": "このサーバーに参加するには認証が必要です。\n下のボタンをクリックして認証リンクを取得してください。", + "channel_note": "-# 認証リンクは10分間有効です", + "btn_label": "認証リンクを取得", + "no_guild": "認証情報を取得できませんでした。", + "no_settings": "認証設定が見つかりません。", + "not_needed": "認証は不要です。", + "link_reply": "以下のリンクから認証してください(**10分間有効**):\n{verifyUrl}" + } } } From 928371b913975d9970738520ca7d5e292afa3cac Mon Sep 17 00:00:00 2001 From: Cube Team Date: Mon, 4 May 2026 03:09:57 +0900 Subject: [PATCH 034/150] Update source file web.json [ci skip] --- en/web.json | 37 ++++++++++++++++++++++++++++++------- 1 file changed, 30 insertions(+), 7 deletions(-) diff --git a/en/web.json b/en/web.json index c001ae9..a5a190a 100644 --- a/en/web.json +++ b/en/web.json @@ -1665,12 +1665,9 @@ "ruleInactiveChannel": "Inactive Channel Post", "ruleInactiveChannelDesc": "Add +3% heat for posting in channels with no recent activity", "inactiveChannelThreshold": "Inactivity threshold (minutes)", - "suspicionTriggers": "Suspicion Triggers", - "suspicionTriggersDesc": "Detect suspicious signals (new account, default avatar, etc.) and assign Suspicion Level", - "newAccountDays": "New account threshold (days)", - "newAccountDaysHelp": "Assign Suspicion Lv1 to accounts younger than N days", - "timezone": "Moderation Timezone", - "timezoneDesc": "Timezone for night-time policy shift (e.g. Asia/Tokyo)", + "nightTimeRange": "Night Hours (UTC)", + "nightTimeRangeDesc": "Severity threshold is lowered during this window (night-time policy)", + "nightTimeRangeTo": "to", "spamHashManagement": "Known Spam Image Hashes", "spamHashAdd": "Add Hash", "spamHashPlaceholder": "dHash bit string (64 chars)", @@ -1681,6 +1678,32 @@ "saveError": "Failed to save", "days": "days", "people": "people", - "seconds": "sec" + "seconds": "sec", + "alwaysOnRulesWhitelist": "Always-on Rule Exemptions", + "ruleMessageSend": "Message Send", + "ruleMessageSendDesc": "Every message sent (+2% always)", + "ruleMessageRepeat": "Repeated Messages", + "ruleMessageRepeatDesc": "Content similar to the previous message (+8% always)", + "ruleAttachment": "Attachments", + "ruleAttachmentDesc": "Image and file attachments (+4% each, always)", + "whitelistSection": "Whitelist", + "whitelistUsers": "Exempt Users", + "whitelistRoles": "Exempt Roles", + "whitelistChannels": "Exempt Channels", + "whitelistAddPlaceholder": "Enter ID", + "whitelistEmpty": "No exemptions set", + "mastersSection": "Moderation Admins (Master)", + "mastersDesc": "Users who can modify moderation settings (independent of Discord admin permissions)", + "trustedSection": "Exempt Users (Trusted)", + "trustedDesc": "Users exempt from Heat, AI, AntiNuke and other enforcement actions", + "addMaster": "Add Master", + "addTrusted": "Add Trusted", + "userIdPlaceholder": "Discord UserID", + "remove": "Remove", + "permissionDenied": "You don't have Master permission to change settings", + "exemptHeatLane": "Heat Lane Exempt", + "exemptAiLane": "AI Lane Exempt", + "exemptAntinuke": "AntiNuke Exempt", + "exemptAntiraid": "AntiRaid Exempt" } } From dae66f30f6e7b2c0df7a1add8a367f503d98e42b Mon Sep 17 00:00:00 2001 From: Cube Team Date: Mon, 4 May 2026 03:10:02 +0900 Subject: [PATCH 035/150] New translations web.json (Japanese) [ci skip] --- ja/web.json | 37 ++++++++++++++++++++++++++++++------- 1 file changed, 30 insertions(+), 7 deletions(-) diff --git a/ja/web.json b/ja/web.json index ad1bb4f..a550efd 100644 --- a/ja/web.json +++ b/ja/web.json @@ -1665,12 +1665,9 @@ "ruleInactiveChannel": "非活性チャンネルへの投稿", "ruleInactiveChannelDesc": "長時間投稿がなかったチャンネルへの投稿に+3%を加算", "inactiveChannelThreshold": "非活性判定時間(分)", - "suspicionTriggers": "Suspicionトリガー", - "suspicionTriggersDesc": "新規アカウント・デフォルトアバター等の不審シグナルを検知しSuspicion Levelを付与", - "newAccountDays": "新規アカウント判定(日数)", - "newAccountDaysHelp": "作成からN日未満のアカウントにSuspicion Lv1を付与", - "timezone": "モデレーションタイムゾーン", - "timezoneDesc": "夜間ポリシーシフトに使用するタイムゾーン(例: Asia/Tokyo)", + "nightTimeRange": "夜間時間帯(UTC)", + "nightTimeRangeDesc": "この時間帯は深刻度閾値が低く設定される(夜間ポリシー)", + "nightTimeRangeTo": "〜", "spamHashManagement": "既知スパム画像ハッシュ管理", "spamHashAdd": "ハッシュを追加", "spamHashPlaceholder": "dHashビット列(64文字)", @@ -1681,6 +1678,32 @@ "saveError": "保存に失敗しました", "days": "日", "people": "人", - "seconds": "秒" + "seconds": "秒", + "alwaysOnRulesWhitelist": "常時適用ルールの除外設定", + "ruleMessageSend": "メッセージ送信", + "ruleMessageSendDesc": "すべてのメッセージ送信ごとに +2%(常時適用)", + "ruleMessageRepeat": "繰り返しメッセージ", + "ruleMessageRepeatDesc": "直前と類似した内容の繰り返し送信に +8%(常時適用)", + "ruleAttachment": "添付ファイル", + "ruleAttachmentDesc": "画像・ファイルの添付ごとに +4%(常時適用)", + "whitelistSection": "ホワイトリスト", + "whitelistUsers": "ユーザー除外", + "whitelistRoles": "ロール除外", + "whitelistChannels": "チャンネル除外", + "whitelistAddPlaceholder": "IDを入力", + "whitelistEmpty": "除外設定なし", + "mastersSection": "モデレーション管理者(Master)", + "mastersDesc": "統合モデレーション設定を変更できるユーザー(Discord管理者権限とは独立)", + "trustedSection": "免除ユーザー(Trusted)", + "trustedDesc": "Heat・AI・AntiNukeなどの処罰アクションを免除するユーザー", + "addMaster": "Masterを追加", + "addTrusted": "Trustedを追加", + "userIdPlaceholder": "Discord UserID", + "remove": "削除", + "permissionDenied": "Master権限がないため設定を変更できません", + "exemptHeatLane": "Heatレーン免除", + "exemptAiLane": "AIレーン免除", + "exemptAntinuke": "AntiNuke免除", + "exemptAntiraid": "AntiRaid免除" } } From 4347ca928c53e7566fa7a3a7d31b4956bcd194e8 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Mon, 4 May 2026 13:17:14 +0900 Subject: [PATCH 036/150] Update source file bot.json [ci skip] --- en/bot.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/en/bot.json b/en/bot.json index e88aaac..194e51d 100644 --- a/en/bot.json +++ b/en/bot.json @@ -963,11 +963,15 @@ "appeal_dm": { "quarantine_title": "⚠️ Quarantine Applied", "timeout_title": "⚠️ Timeout Applied", - "body": "**Server:** {guildName}\n\nAuto-moderation has applied a {label} to your account. If you believe this is a false positive, you can submit an appeal using the button below.", + "body": "**Server:** {guildName}\n**Reason:** {reason}\n\nAuto-moderation has applied a {label} to your account. If you believe this is a false positive, you can submit an appeal using the button below.", "quarantine_label": "Quarantine", "timeout_label": "Timeout", "btn_appeal": "Submit Appeal" }, + "notify": { + "channel_title": "🚨 Auto Moderation", + "channel_body": "Applied punishment to <@{userId}>.\n**Action:** {action}\n**Reason:** {reason}" + }, "appeal_modal": { "title": "Submit Appeal", "reason_label": "Reason for Appeal", From 069897f693861dad746faa344c9b628e2c148aa3 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Mon, 4 May 2026 13:17:19 +0900 Subject: [PATCH 037/150] New translations bot.json (Japanese) [ci skip] --- ja/bot.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/ja/bot.json b/ja/bot.json index 380483a..955ea2a 100644 --- a/ja/bot.json +++ b/ja/bot.json @@ -963,11 +963,15 @@ "appeal_dm": { "quarantine_title": "⚠️ 隔離(Quarantine)が適用されました", "timeout_title": "⚠️ タイムアウトが適用されました", - "body": "**サーバー:** {guildName}\n\n自動モデレーションにより {label} が適用されました。誤検知と思われる場合は、下のボタンから異議申し立てができます。", + "body": "**サーバー:** {guildName}\n**理由:** {reason}\n\n自動モデレーションにより {label} が適用されました。誤検知と思われる場合は、下のボタンから異議申し立てができます。", "quarantine_label": "隔離(Quarantine)", "timeout_label": "タイムアウト", "btn_appeal": "異議申し立て" }, + "notify": { + "channel_title": "🚨 自動モデレーション", + "channel_body": "<@{userId}> に対して処罰を実施しました。\n**処罰:** {action}\n**理由:** {reason}" + }, "appeal_modal": { "title": "異議申し立て", "reason_label": "申し立ての理由", From 395d851e60d2b35c11d9721922b374dadb0f09ec Mon Sep 17 00:00:00 2001 From: Cube Team Date: Mon, 4 May 2026 14:22:49 +0900 Subject: [PATCH 038/150] Update source file bot.json [ci skip] --- en/bot.json | 40 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) diff --git a/en/bot.json b/en/bot.json index 194e51d..40f2c17 100644 --- a/en/bot.json +++ b/en/bot.json @@ -891,7 +891,11 @@ "message_content": "Message Content", "before_embed_preview": "Embed Before Edit", "after_embed_preview": "Embed After Edit", - "removed": "Removed" + "removed": "Removed", + "embeds_deleted_threaded": "Deleted message embeds (see thread for details)", + "embed_deleted_thread_name": "deleted-embed-{id}", + "embed_deleted_thread_intro": "This thread stores the embed preview of the deleted message.", + "deleted_embed_preview": "Deleted Embed" }, "events": { "guild_update": "Server Updated", @@ -977,6 +981,7 @@ "reason_label": "Reason for Appeal", "reason_placeholder": "Please describe why you believe this action was a false positive.", "success": "✅ Your appeal has been submitted. A moderator will review it shortly.", + "already_submitted": "❌ You have already submitted an appeal. Please wait for a moderator to review it.", "log_title": "📩 Appeal Received", "log_body": "**Appellant:** <@{userId}> ({userTag})\n**Message:**\n{reason}" }, @@ -1010,6 +1015,39 @@ "no_settings": "Verification settings not found.", "not_needed": "Verification is not required.", "link_reply": "Please verify using the following link (**valid for 10 minutes**):\n{verifyUrl}" + }, + "actions": { + "QUARANTINE": "Quarantine", + "TIMEOUT_1H": "1 Hour Timeout", + "TIMEOUT_24H": "24 Hour Timeout", + "DELETE_MESSAGE": "Message Deletion", + "WARN": "Warning", + "SEND_TO_REVIEW_QUEUE": "Send to Manual Review", + "ADD_SUSPICION_LEVEL_1": "Add Suspicion Level 1", + "NOTIFY_OWNER": "Notify Owner", + "MARK_COHORT_SUSPICION_LV2": "Add Cohort Suspicion Level 2" + }, + "rules": { + "MESSAGE_SEND": "Sending Messages", + "MESSAGE_REPEAT": "Repeating Same Message", + "LINE_BREAK_SPAM": "Line Break Spam", + "ATTACHMENT": "Sending Attachments", + "EMOJI": "Emoji Spam", + "ZALGO": "Zalgo Text", + "LONG_TEXT": "Sending Long Text", + "URL": "Sending URLs", + "MENTION_USER": "User Mentions", + "MENTION_ROLE": "Role Mentions", + "MENTION_HERE": "Here Mention", + "MENTION_EVERYONE": "Everyone Mention", + "INVITATION": "Invite Link", + "PHISHING": "Phishing Link", + "IMAGE_HASH": "Inappropriate Image", + "CROSS_CHANNEL": "Cross-channel Spam", + "BLACKLIST_WORD": "Blacklisted Word", + "INACTIVE_CHANNEL": "Posting in Inactive Channel", + "NSFW_URL": "NSFW Link", + "ANTINUKE": "Anti-Nuke Detection" } } } From 6e1d7266078e50b25e2ecaa750f48eddf96de1d7 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Mon, 4 May 2026 14:22:50 +0900 Subject: [PATCH 039/150] Update source file web.json [ci skip] --- en/web.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/en/web.json b/en/web.json index a5a190a..43474af 100644 --- a/en/web.json +++ b/en/web.json @@ -1665,7 +1665,7 @@ "ruleInactiveChannel": "Inactive Channel Post", "ruleInactiveChannelDesc": "Add +3% heat for posting in channels with no recent activity", "inactiveChannelThreshold": "Inactivity threshold (minutes)", - "nightTimeRange": "Night Hours (UTC)", + "nightTimeRange": "Night Hours (JST)", "nightTimeRangeDesc": "Severity threshold is lowered during this window (night-time policy)", "nightTimeRangeTo": "to", "spamHashManagement": "Known Spam Image Hashes", From f48bd0758e7e55666579d2ee8cb6f2fa5bd922cb Mon Sep 17 00:00:00 2001 From: Cube Team Date: Mon, 4 May 2026 14:23:04 +0900 Subject: [PATCH 040/150] New translations bot.json (Japanese) [ci skip] --- ja/bot.json | 40 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) diff --git a/ja/bot.json b/ja/bot.json index 955ea2a..1cdf71a 100644 --- a/ja/bot.json +++ b/ja/bot.json @@ -891,7 +891,11 @@ "message_content": "メッセージ内容", "before_embed_preview": "編集前Embed", "after_embed_preview": "編集後Embed", - "removed": "削除" + "removed": "削除", + "embeds_deleted_threaded": "削除されたメッセージのEmbed(詳細はスレッド)", + "embed_deleted_thread_name": "deleted-embed-{id}", + "embed_deleted_thread_intro": "このスレッドには削除されたメッセージのEmbedプレビューが保存されています。", + "deleted_embed_preview": "削除前Embed" }, "events": { "guild_update": "サーバー設定更新", @@ -977,6 +981,7 @@ "reason_label": "申し立ての理由", "reason_placeholder": "誤検知と思われる理由や状況を詳しく入力してください。", "success": "✅ 異議申し立てを受け付けました。モデレーターが確認次第、対応します。", + "already_submitted": "❌ 異議申し立てはすでに送信済みです。モデレーターの確認をお待ちください。", "log_title": "📩 異議申し立て", "log_body": "**申立人:** <@{userId}> ({userTag})\n**内容:**\n{reason}" }, @@ -1010,6 +1015,39 @@ "no_settings": "認証設定が見つかりません。", "not_needed": "認証は不要です。", "link_reply": "以下のリンクから認証してください(**10分間有効**):\n{verifyUrl}" + }, + "actions": { + "QUARANTINE": "隔離(Quarantine)", + "TIMEOUT_1H": "1時間のタイムアウト", + "TIMEOUT_24H": "24時間のタイムアウト", + "DELETE_MESSAGE": "メッセージ削除", + "WARN": "警告", + "SEND_TO_REVIEW_QUEUE": "手動レビューへ送信", + "ADD_SUSPICION_LEVEL_1": "監視レベル1追加", + "NOTIFY_OWNER": "オーナー通知", + "MARK_COHORT_SUSPICION_LV2": "連座制による監視レベル2付与" + }, + "rules": { + "MESSAGE_SEND": "メッセージの連続送信", + "MESSAGE_REPEAT": "同一メッセージの反復", + "LINE_BREAK_SPAM": "改行スパム", + "ATTACHMENT": "添付ファイル送信", + "EMOJI": "絵文字スパム", + "ZALGO": "Zalgoテキスト", + "LONG_TEXT": "長文送信", + "URL": "URL送信", + "MENTION_USER": "ユーザーメンション", + "MENTION_ROLE": "ロールメンション", + "MENTION_HERE": "Hereメンション", + "MENTION_EVERYONE": "Everyoneメンション", + "INVITATION": "招待リンク", + "PHISHING": "フィッシングリンク", + "IMAGE_HASH": "不適切画像", + "CROSS_CHANNEL": "複数チャンネルへのスパム", + "BLACKLIST_WORD": "禁止ワード", + "INACTIVE_CHANNEL": "非アクティブチャンネルへの投稿", + "NSFW_URL": "NSFWリンク", + "ANTINUKE": "破壊行為(Anti-Nuke)の検出" } } } From 7c0e612a9598e95a36427199a9f8914a35f5cede Mon Sep 17 00:00:00 2001 From: Cube Team Date: Mon, 4 May 2026 14:23:05 +0900 Subject: [PATCH 041/150] New translations web.json (Japanese) [ci skip] --- ja/web.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ja/web.json b/ja/web.json index a550efd..8a0bb1f 100644 --- a/ja/web.json +++ b/ja/web.json @@ -1665,7 +1665,7 @@ "ruleInactiveChannel": "非活性チャンネルへの投稿", "ruleInactiveChannelDesc": "長時間投稿がなかったチャンネルへの投稿に+3%を加算", "inactiveChannelThreshold": "非活性判定時間(分)", - "nightTimeRange": "夜間時間帯(UTC)", + "nightTimeRange": "夜間時間帯(JST)", "nightTimeRangeDesc": "この時間帯は深刻度閾値が低く設定される(夜間ポリシー)", "nightTimeRangeTo": "〜", "spamHashManagement": "既知スパム画像ハッシュ管理", From 682080c76423eb687159572bb6142876f42fbed6 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Mon, 4 May 2026 20:19:37 +0900 Subject: [PATCH 042/150] Update source file web.json [ci skip] --- en/web.json | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/en/web.json b/en/web.json index 43474af..35d7ff2 100644 --- a/en/web.json +++ b/en/web.json @@ -1576,8 +1576,14 @@ } }, "automod": { - "title": "Auto Moderation", + "title": "Unified Moderation", "desc": "Configure AutoMod, AntiRaid, and JoinGate settings", + "tabFilters": "Filters", + "tabProtection": "Protection", + "tabVerification": "Verification", + "tabPermissions": "Permissions", + "tabWhitelist": "Whitelists", + "whitelistDesc": "Configure users, roles, and channels to be exempt from each rule", "automodSection": "AutoMod", "automodDesc": "Automatically detects and responds to spam and suspicious messages", "enabled": "Enabled", @@ -1640,6 +1646,9 @@ "quarantineSetupBtn": "Setup Now", "quarantineSetupRequesting": "Setting up...", "quarantineSetupDone": "Setup requested. Changes will apply in a few seconds.", + "setupBtn": "Setup", + "requesting": "Processing...", + "setupDone": "Done", "ruleMentionSpam": "Mention Spam", "ruleMentionSpamDesc": "Adds heat for @user / @role / @here / @everyone mentions", "ruleInviteLink": "Invite Links", From 8a2ea24eaaf5a31d482f7ed389b6f131a2000d4c Mon Sep 17 00:00:00 2001 From: Cube Team Date: Mon, 4 May 2026 20:19:45 +0900 Subject: [PATCH 043/150] New translations web.json (Japanese) [ci skip] --- ja/web.json | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/ja/web.json b/ja/web.json index 8a0bb1f..25e6d04 100644 --- a/ja/web.json +++ b/ja/web.json @@ -1576,8 +1576,14 @@ } }, "automod": { - "title": "自動モデレーション", + "title": "統合モデレーション", "desc": "AutoMod・AntiRaid・JoinGate の設定を行います", + "tabFilters": "フィルター", + "tabProtection": "保護", + "tabVerification": "認証", + "tabPermissions": "権限", + "tabWhitelist": "除外設定", + "whitelistDesc": "特定のユーザー、ロール、チャンネルを各ルールの対象外に設定します", "automodSection": "AutoMod", "automodDesc": "スパムや不審なメッセージを自動検知・対応します", "enabled": "有効", @@ -1640,6 +1646,9 @@ "quarantineSetupBtn": "今すぐセットアップ", "quarantineSetupRequesting": "セットアップ中...", "quarantineSetupDone": "セットアップをリクエストしました。数秒後に反映されます。", + "setupBtn": "セットアップ", + "requesting": "処理中...", + "setupDone": "完了", "ruleMentionSpam": "メンションスパム", "ruleMentionSpamDesc": "@user / @role / @here / @everyone のメンションをheatとして加算", "ruleInviteLink": "招待リンク", From 1780a64ba8696cadac018d9186e387dd71fb783f Mon Sep 17 00:00:00 2001 From: Cube Team Date: Mon, 4 May 2026 22:44:17 +0900 Subject: [PATCH 044/150] Update source file bot.json [ci skip] --- en/bot.json | 1 + 1 file changed, 1 insertion(+) diff --git a/en/bot.json b/en/bot.json index 40f2c17..94762de 100644 --- a/en/bot.json +++ b/en/bot.json @@ -1018,6 +1018,7 @@ }, "actions": { "QUARANTINE": "Quarantine", + "UNQUARANTINE": "Unquarantine", "TIMEOUT_1H": "1 Hour Timeout", "TIMEOUT_24H": "24 Hour Timeout", "DELETE_MESSAGE": "Message Deletion", From 0502121941718a631f5ee628f4697f97ce25acf5 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Mon, 4 May 2026 22:44:18 +0900 Subject: [PATCH 045/150] Update source file web.json [ci skip] --- en/web.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/en/web.json b/en/web.json index 35d7ff2..044a410 100644 --- a/en/web.json +++ b/en/web.json @@ -1640,6 +1640,9 @@ "powGateTimeoutDesc": "Minutes before auto-kicking unverified users (0 to disable)", "minutes": "min", "messages": "msgs", + "limit": "Limit", + "window": "Window", + "age": "Age", "automodRules": "Rule Settings", "quarantineSetupBanner": "Quarantine Role Not Configured", "quarantineSetupBannerDesc": "Moderation features are enabled but the quarantine role is not set up. Click the button to have the bot auto-create the role and configure channel permissions.", From ab8338057939a8e557076dc36c633cf1f57c5f04 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Mon, 4 May 2026 22:44:33 +0900 Subject: [PATCH 046/150] New translations bot.json (Japanese) [ci skip] --- ja/bot.json | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/ja/bot.json b/ja/bot.json index 1cdf71a..dc75fbe 100644 --- a/ja/bot.json +++ b/ja/bot.json @@ -949,12 +949,12 @@ }, "moderation": { "mod_log": { - "title": "🚨 Moderation Action", - "body": "**User:** <@{userId}> ({userTag})\n**Action(s):** {actions}\n**Reason:** {reason}", - "default_reason": "Automod Action", + "title": "🚨 モデレーション実行", + "body": "**対象:** <@{userId}> ({userTag})\n**実施アクション:** {actions}\n**理由:** {reason}", + "default_reason": "自動モデレーションによる処罰", "btn_ban": "BAN", - "btn_kick": "Kick", - "btn_unquarantine": "誤検知(解除) / Unquarantine" + "btn_kick": "キック", + "btn_unquarantine": "誤検知(隔離解除)" }, "warn": { "dm_title": "⚠️ 警告", @@ -1018,6 +1018,7 @@ }, "actions": { "QUARANTINE": "隔離(Quarantine)", + "UNQUARANTINE": "隔離解除", "TIMEOUT_1H": "1時間のタイムアウト", "TIMEOUT_24H": "24時間のタイムアウト", "DELETE_MESSAGE": "メッセージ削除", From f551cd12010cd715e9f475271ff7627202fa8fd1 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Mon, 4 May 2026 22:44:35 +0900 Subject: [PATCH 047/150] New translations web.json (Japanese) [ci skip] --- ja/web.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ja/web.json b/ja/web.json index 25e6d04..41ade67 100644 --- a/ja/web.json +++ b/ja/web.json @@ -1640,6 +1640,9 @@ "powGateTimeoutDesc": "認証未完了ユーザーを自動キックするまでの時間(0で無効)", "minutes": "分", "messages": "件", + "limit": "上限", + "window": "期間", + "age": "年齢", "automodRules": "ルール設定", "quarantineSetupBanner": "隔離ロールが未セットアップです", "quarantineSetupBannerDesc": "モデレーション機能が有効ですが、隔離ロールが設定されていません。ボタンを押すとBotが自動でロール作成・チャンネル権限設定を行います。", From 333fa1275867993bd02dac18afc1e5288cdf41ab Mon Sep 17 00:00:00 2001 From: Cube Team Date: Mon, 4 May 2026 23:39:36 +0900 Subject: [PATCH 048/150] Update source file bot.json [ci skip] --- en/bot.json | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/en/bot.json b/en/bot.json index 94762de..824b6ec 100644 --- a/en/bot.json +++ b/en/bot.json @@ -550,8 +550,9 @@ } }, "sus": { - "added": "✅ Granted Suspicion Level {level} to <@{userId}>.", - "removed": "✅ Removed Suspicion Level from <@{userId}>." + "added": "✅ Added Suspicion Level {level} to <@{userId}>.", + "removed": "✅ Removed Suspicion Level from <@{userId}>.", + "already_exists": "User <@{userId}> is already in that state or the action was skipped." }, "report": { "self_error": "You cannot report yourself.", @@ -999,7 +1000,8 @@ "not_found": "Failed to find quarantine snapshot for user <@{userId}>.", "not_in_server": "User <@{userId}> is no longer in the server.", "success": "Successfully unquarantined user <@{userId}> and restored roles.", - "failed": "Failed to unquarantine user <@{userId}>." + "failed": "Failed to unquarantine user <@{userId}>.", + "already_exists": "User <@{userId}> is not currently quarantined." }, "join_gate": { "dm_title": "🔒 Verification Required", @@ -1048,7 +1050,8 @@ "BLACKLIST_WORD": "Blacklisted Word", "INACTIVE_CHANNEL": "Posting in Inactive Channel", "NSFW_URL": "NSFW Link", - "ANTINUKE": "Anti-Nuke Detection" + "ANTINUKE": "Anti-Nuke Detection", + "ANTINUKE_ROLE_GRANT": "Granted dangerous permissions to a role" } } } From 9840fbc1efc0ffde0ff3c6ca5bbaad737535aae0 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Mon, 4 May 2026 23:39:42 +0900 Subject: [PATCH 049/150] New translations bot.json (Japanese) [ci skip] --- ja/bot.json | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/ja/bot.json b/ja/bot.json index dc75fbe..09e6879 100644 --- a/ja/bot.json +++ b/ja/bot.json @@ -551,7 +551,8 @@ }, "sus": { "added": "✅ <@{userId}> に Suspicion Level {level} を付与しました。", - "removed": "✅ <@{userId}> の Suspicion Level を解除しました。" + "removed": "✅ <@{userId}> の Suspicion Level を解除しました。", + "already_exists": "ユーザー <@{userId}> はすでにその状態であるか、処罰をスキップしました。" }, "report": { "self_error": "自分自身を通報することはできません。", @@ -999,7 +1000,8 @@ "not_found": "ユーザー <@{userId}> の隔離スナップショットが見つかりません。", "not_in_server": "ユーザー <@{userId}> はすでにサーバーにいません。", "success": "ユーザー <@{userId}> の隔離を解除し、ロールを復元しました。", - "failed": "ユーザー <@{userId}> の隔離解除に失敗しました。" + "failed": "ユーザー <@{userId}> の隔離解除に失敗しました。", + "already_exists": "ユーザー <@{userId}> は現在隔離されていません。" }, "join_gate": { "dm_title": "🔒 認証が必要です", @@ -1048,7 +1050,8 @@ "BLACKLIST_WORD": "禁止ワード", "INACTIVE_CHANNEL": "非アクティブチャンネルへの投稿", "NSFW_URL": "NSFWリンク", - "ANTINUKE": "破壊行為(Anti-Nuke)の検出" + "ANTINUKE": "破壊行為(Anti-Nuke)の検出", + "ANTINUKE_ROLE_GRANT": "ロールへの危険な権限の付与" } } } From e0ca017f5f70200f16b64ad7f65bafb63080a017 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Tue, 5 May 2026 01:09:28 +0900 Subject: [PATCH 050/150] Update source file web.json [ci skip] --- en/web.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/en/web.json b/en/web.json index 044a410..4453dd9 100644 --- a/en/web.json +++ b/en/web.json @@ -1602,7 +1602,7 @@ "quarantineRoleLabel": "Quarantine Role", "quarantineRoleDesc": "Role assigned to quarantined users", "noRole": "No role", - "panicModeLabel": "Panic Mode", + "panicModeLabel": "Emergency Mode", "panicModeDesc": "When enabled, significantly lowers the action threshold for all users", "antiNukeSection": "AntiNuke", "antiNukeDesc": "Detects and responds to destructive server actions (channel deletion, mass bans, etc.)", @@ -1676,7 +1676,7 @@ "blacklistWordHeatHelp": "1–100 (default 30%)", "ruleInactiveChannel": "Inactive Channel Post", "ruleInactiveChannelDesc": "Add +3% heat for posting in channels with no recent activity", - "inactiveChannelThreshold": "Inactivity threshold (minutes)", + "inactiveChannelThreshold": "Inactivity threshold (days)", "nightTimeRange": "Night Hours (JST)", "nightTimeRangeDesc": "Severity threshold is lowered during this window (night-time policy)", "nightTimeRangeTo": "to", From 9ff7f9c8267c38e89ebb2e8b74cd1dd1932a87c0 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Tue, 5 May 2026 01:09:38 +0900 Subject: [PATCH 051/150] New translations web.json (Japanese) [ci skip] --- ja/web.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/ja/web.json b/ja/web.json index 41ade67..9d93427 100644 --- a/ja/web.json +++ b/ja/web.json @@ -1413,7 +1413,7 @@ "duplicateError": "複製に失敗しました" }, "admin": { - "title": "Cube Admin", + "title": "Cube 管理者", "loggedInAs": "ログイン中", "exitAdmin": "ダッシュボードへ戻る", "cancel": "キャンセル", @@ -1473,7 +1473,7 @@ "syncOk": "{synced}件同期しました(エラー: {errors}件)", "syncFail": "同期に失敗しました", "cancelAtEnd": "期間終了時にキャンセル", - "syncUserPlaceholder": "User ID", + "syncUserPlaceholder": "ユーザーID", "confirmSyncUser": "ユーザー {userId} のサブスクリプション情報を同期しますか?" }, "blacklist": { @@ -1531,7 +1531,7 @@ "min": "分", "addReact": "Auto React 追加", "emoji": "絵文字", - "roleKeeperTitle": "Role Keeper", + "roleKeeperTitle": "ロールキーパー", "rkEnable": "有効化", "rkEnableDesc": "Role Keeper を有効にします", "rkExcludeAdmin": "管理者権限を除外", @@ -1602,7 +1602,7 @@ "quarantineRoleLabel": "隔離ロール", "quarantineRoleDesc": "隔離対象ユーザーに付与するロール", "noRole": "ロールなし", - "panicModeLabel": "パニックモード", + "panicModeLabel": "エマージェンシーモード", "panicModeDesc": "有効時、全ユーザーへの制裁閾値を大幅に下げます", "antiNukeSection": "AntiNuke", "antiNukeDesc": "サーバーへの破壊的な操作(チャンネル削除・一括BAN等)を検知・対応します", @@ -1674,9 +1674,9 @@ "blacklistWordPlaceholder": "禁止ワードを入力", "blacklistWordHeat": "Heat値", "blacklistWordHeatHelp": "1〜100(デフォルト30%)", - "ruleInactiveChannel": "非活性チャンネルへの投稿", + "ruleInactiveChannel": "活発でないチャンネルへの投稿", "ruleInactiveChannelDesc": "長時間投稿がなかったチャンネルへの投稿に+3%を加算", - "inactiveChannelThreshold": "非活性判定時間(分)", + "inactiveChannelThreshold": "非活性判定時間(日)", "nightTimeRange": "夜間時間帯(JST)", "nightTimeRangeDesc": "この時間帯は深刻度閾値が低く設定される(夜間ポリシー)", "nightTimeRangeTo": "〜", @@ -1710,7 +1710,7 @@ "trustedDesc": "Heat・AI・AntiNukeなどの処罰アクションを免除するユーザー", "addMaster": "Masterを追加", "addTrusted": "Trustedを追加", - "userIdPlaceholder": "Discord UserID", + "userIdPlaceholder": "Discord ユーザーID", "remove": "削除", "permissionDenied": "Master権限がないため設定を変更できません", "exemptHeatLane": "Heatレーン免除", From 0d42b22f9f18cbe77b63d813660459f1d09203c0 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Tue, 5 May 2026 03:19:19 +0900 Subject: [PATCH 052/150] Update source file bot.json [ci skip] --- en/bot.json | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) diff --git a/en/bot.json b/en/bot.json index 824b6ec..2264ea6 100644 --- a/en/bot.json +++ b/en/bot.json @@ -378,6 +378,67 @@ }, "ping": { "description": "Ping the bot." + }, + "sus": { + "description": "Manually manage Suspicion Level.", + "add": { + "description": "Grant Suspicion Level to a user.", + "options": { + "user": { + "description": "Target user" + }, + "level": { + "description": "Level to grant (1=GRAY, 2=BLACKISH, 3=DANGER)" + } + } + }, + "remove": { + "description": "Remove Suspicion Level from a user.", + "options": { + "user": { + "description": "Target user" + } + } + } + }, + "mod": { + "description": "Advanced moderation commands.", + "quarantine": { + "description": "Quarantine a user (apply quarantine role and strip permissions).", + "options": { + "user": { + "description": "User to quarantine" + }, + "reason": { + "description": "Reason for quarantine" + } + } + }, + "unquarantine": { + "description": "Unquarantine a user.", + "options": { + "user": { + "description": "User to unquarantine" + }, + "reason": { + "description": "Reason for unquarantine" + } + } + }, + "info": { + "description": "Show user's moderation status (Heat, Suspicion, etc.).", + "title": "Moderation Info for {{user}}", + "heat": "Current Heat", + "suspicion": "Suspicion Level", + "last_violation": "Last Violation", + "trust_status": "Trust Status", + "violations": "Violation History Counts", + "options": { + "user": { + "description": "User to show info for" + } + } + } } }, "context": { From f803f9e04857e5af9f0eac5bb5dc94b32e5e9785 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Tue, 5 May 2026 03:19:21 +0900 Subject: [PATCH 053/150] New translations bot.json (Japanese) [ci skip] --- ja/bot.json | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) diff --git a/ja/bot.json b/ja/bot.json index 09e6879..a7261ee 100644 --- a/ja/bot.json +++ b/ja/bot.json @@ -378,6 +378,67 @@ }, "ping": { "description": "Ping値を表示します" + }, + "sus": { + "description": "不審者(Suspicion)レベルを手動で管理します。", + "add": { + "description": "ユーザーに不審者レベルを付与します。", + "options": { + "user": { + "description": "対象のユーザー" + }, + "level": { + "description": "付与するレベル (1:GRAY, 2:BLACKISH, 3:DANGER)" + } + } + }, + "remove": { + "description": "ユーザーの不審者レベルを解除します。", + "options": { + "user": { + "description": "対象のユーザー" + } + } + } + }, + "mod": { + "description": "高度なモデレーションコマンド", + "quarantine": { + "description": "ユーザーを隔離(隔離ロール付与+権限剥奪)します。", + "options": { + "user": { + "description": "隔離するユーザー" + }, + "reason": { + "description": "隔離の理由" + } + } + }, + "unquarantine": { + "description": "ユーザーの隔離を解除します。", + "options": { + "user": { + "description": "解除するユーザー" + }, + "reason": { + "description": "解除の理由" + } + } + }, + "info": { + "description": "ユーザーのモデレーションステータス(Heat, Suspicion等)を表示します。", + "title": "{{user}} のモデレーション情報", + "heat": "現在のHeat", + "suspicion": "不審者レベル", + "last_violation": "最終違反日時", + "trust_status": "信頼ステータス", + "violations": "違反履歴カウント", + "options": { + "user": { + "description": "情報を表示するユーザー" + } + } + } } }, "context": { From 07914976238c08e7ddb09896924b520d4a6eed56 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Tue, 5 May 2026 17:17:18 +0900 Subject: [PATCH 054/150] Update source file bot.json [ci skip] --- en/bot.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/en/bot.json b/en/bot.json index 2264ea6..8522659 100644 --- a/en/bot.json +++ b/en/bot.json @@ -427,7 +427,7 @@ }, "info": { "description": "Show user's moderation status (Heat, Suspicion, etc.).", - "title": "Moderation Info for {{user}}", + "title": "Moderation Info for {user}", "heat": "Current Heat", "suspicion": "Suspicion Level", "last_violation": "Last Violation", From c1bd7016e392aadf3ae39f262bc065a49992cb43 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Tue, 5 May 2026 17:17:24 +0900 Subject: [PATCH 055/150] New translations bot.json (Japanese) [ci skip] --- ja/bot.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ja/bot.json b/ja/bot.json index a7261ee..141005a 100644 --- a/ja/bot.json +++ b/ja/bot.json @@ -427,7 +427,7 @@ }, "info": { "description": "ユーザーのモデレーションステータス(Heat, Suspicion等)を表示します。", - "title": "{{user}} のモデレーション情報", + "title": "{user} のモデレーション情報", "heat": "現在のHeat", "suspicion": "不審者レベル", "last_violation": "最終違反日時", From 750346ca303d56a7b331d3c76d721373099321f0 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Tue, 5 May 2026 23:42:27 +0900 Subject: [PATCH 056/150] Update source file web.json [ci skip] --- en/web.json | 1 + 1 file changed, 1 insertion(+) diff --git a/en/web.json b/en/web.json index 4453dd9..370f5e7 100644 --- a/en/web.json +++ b/en/web.json @@ -1427,6 +1427,7 @@ "users": "Users", "guilds": "Servers", "blacklist": "Blacklist", + "spamPatterns": "Spam Patterns", "economy": "Economy" }, "dashboard": { From 0920961b0e5aab1cb8ed9caad15877e1d81f83a1 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Tue, 5 May 2026 23:42:36 +0900 Subject: [PATCH 057/150] New translations web.json (Japanese) [ci skip] --- ja/web.json | 1 + 1 file changed, 1 insertion(+) diff --git a/ja/web.json b/ja/web.json index 9d93427..951fc68 100644 --- a/ja/web.json +++ b/ja/web.json @@ -1427,6 +1427,7 @@ "users": "ユーザー", "guilds": "サーバー", "blacklist": "ブラックリスト", + "spamPatterns": "スパムパターン", "economy": "エコノミー" }, "dashboard": { From 9130b1e7d08219d5ff115d2a3c2a68d08a2b68c4 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Wed, 6 May 2026 12:08:57 +0900 Subject: [PATCH 058/150] Update source file web.json [ci skip] --- en/web.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/en/web.json b/en/web.json index 370f5e7..5a83777 100644 --- a/en/web.json +++ b/en/web.json @@ -1629,6 +1629,10 @@ "joinGateFilterNewAccountDesc": "Quarantine accounts newer than this many days. 0 to disable", "joinGateFilterAdvertisingLabel": "Filter Advertising Accounts", "joinGateFilterAdvertisingDesc": "Quarantine accounts with invite links or banned URLs in their profile", + "joinGateFilterUnverifiedBotLabel": "Filter Unverified Bots", + "joinGateFilterUnverifiedBotDesc": "Quarantine bot accounts that are not verified by Discord", + "joinGateFilterUnauthorizedBotLabel": "Filter Unauthorized Bots", + "joinGateFilterUnauthorizedBotDesc": "Quarantine bots added by members without Master permissions", "powGateSection": "PoW Gate (Human Verification)", "powGateDesc": "Require Cloudflare Turnstile human verification to prevent bots and raiders", "powGateAllUsersLabel": "Apply to All New Members", From 62dcf75204719fa8528e04b77ac1596ebd814c61 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Wed, 6 May 2026 12:09:05 +0900 Subject: [PATCH 059/150] New translations web.json (Japanese) [ci skip] --- ja/web.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ja/web.json b/ja/web.json index 951fc68..db2d17c 100644 --- a/ja/web.json +++ b/ja/web.json @@ -1629,6 +1629,10 @@ "joinGateFilterNewAccountDesc": "指定日数未満のアカウントを隔離。0で無効", "joinGateFilterAdvertisingLabel": "広告アカウントをフィルター", "joinGateFilterAdvertisingDesc": "プロフィールに招待リンク等を含むアカウントを隔離", + "joinGateFilterUnverifiedBotLabel": "未認証Botをフィルター", + "joinGateFilterUnverifiedBotDesc": "Discord未認証のBotアカウントを隔離", + "joinGateFilterUnauthorizedBotLabel": "未承認Botをフィルター", + "joinGateFilterUnauthorizedBotDesc": "Masterでないメンバーが追加したBotを隔離", "powGateSection": "PoW Gate(人間証明)", "powGateDesc": "Cloudflare Turnstileで人間確認を要求し、BOTや荒らしを防ぐ", "powGateAllUsersLabel": "全新規メンバーに適用", From 81144c501ffb308c314e6484975cb0de9bedae7a Mon Sep 17 00:00:00 2001 From: Cube Team Date: Wed, 6 May 2026 22:17:36 +0900 Subject: [PATCH 060/150] Update source file bot.json [ci skip] --- en/bot.json | 35 ++++++++++++++++++++++++++++++++--- 1 file changed, 32 insertions(+), 3 deletions(-) diff --git a/en/bot.json b/en/bot.json index 8522659..e5dfcae 100644 --- a/en/bot.json +++ b/en/bot.json @@ -616,10 +616,39 @@ "already_exists": "User <@{userId}> is already in that state or the action was skipped." }, "report": { - "self_error": "You cannot report yourself.", - "default_reason": "Report", + "self_error": "You cannot report yourself or the bot.", "reporter_prefix": "Reported by: {moderatorTag} — {reason}", - "success": "✅ Reported <@{userId}>. A moderator will review it shortly." + "success": "✅ Reported <@{userId}>. A moderator will review it shortly.", + "modal_title": "Report Message", + "modal_reason_label": "Reason for report", + "modal_reason_placeholder": "Spam, harassment, rule violation, etc.", + "no_content": "no text content", + "log_title": "Message Reported", + "log_reporter": "Reporter", + "log_target": "Reported User", + "log_channel": "Channel", + "log_reason": "Reason", + "log_message": "Message Content" + }, + "verify": { + "not_found": "Member not found.", + "no_role_configured": "PoW Gate verification role is not configured.", + "not_in_gate": "<@{userId}> is not pending verification.", + "success": "✅ Manually verified <@{userId}>." + }, + "quarantine": { + "cannot_quarantine_self": "You cannot quarantine yourself or the bot.", + "modal_title": "Quarantine Member", + "modal_reason_label": "Reason (optional)", + "modal_reason_placeholder": "e.g. Spam, suspicious behavior, etc.", + "not_found": "Member not found.", + "manual_prefix": "Manual quarantine by moderator", + "success": "✅ Quarantined <@{userId}>.", + "already_quarantined": "<@{userId}> is already quarantined." + }, + "flag_suspicious": { + "cannot_flag_self": "You cannot flag yourself or the bot as suspicious.", + "success": "✅ Added Suspicion Level 1 (Gray) to <@{userId}>." } }, "info": { From d46911766234ea2ac43ad4c6331413f2580921e2 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Wed, 6 May 2026 22:17:37 +0900 Subject: [PATCH 061/150] Update source file web.json [ci skip] --- en/web.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/en/web.json b/en/web.json index 5a83777..755e8ff 100644 --- a/en/web.json +++ b/en/web.json @@ -1633,6 +1633,11 @@ "joinGateFilterUnverifiedBotDesc": "Quarantine bot accounts that are not verified by Discord", "joinGateFilterUnauthorizedBotLabel": "Filter Unauthorized Bots", "joinGateFilterUnauthorizedBotDesc": "Quarantine bots added by members without Master permissions", + "powGateSectionInner": "Verification Flow (PoW Gate)", + "powGateRoleReady": "Configured", + "powGateRoleNotReady": "Not set (auto-created after setup)", + "quarantineRoleReady": "Configured", + "quarantineRoleNotReady": "Not configured", "powGateSection": "PoW Gate (Human Verification)", "powGateDesc": "Require Cloudflare Turnstile human verification to prevent bots and raiders", "powGateAllUsersLabel": "Apply to All New Members", From 7f98cf45e52e09ebe5b62e902bfa4f10eae498fd Mon Sep 17 00:00:00 2001 From: Cube Team Date: Wed, 6 May 2026 22:17:56 +0900 Subject: [PATCH 062/150] New translations bot.json (Japanese) [ci skip] --- ja/bot.json | 35 ++++++++++++++++++++++++++++++++--- 1 file changed, 32 insertions(+), 3 deletions(-) diff --git a/ja/bot.json b/ja/bot.json index 141005a..64fc237 100644 --- a/ja/bot.json +++ b/ja/bot.json @@ -616,10 +616,39 @@ "already_exists": "ユーザー <@{userId}> はすでにその状態であるか、処罰をスキップしました。" }, "report": { - "self_error": "自分自身を通報することはできません。", - "default_reason": "通報", + "self_error": "自分自身やBotを通報することはできません。", "reporter_prefix": "通報者: {moderatorTag} — {reason}", - "success": "✅ <@{userId}> を通報しました。モデレーターが確認します。" + "success": "✅ <@{userId}> を通報しました。モデレーターが確認します。", + "modal_title": "メッセージを通報", + "modal_reason_label": "通報理由", + "modal_reason_placeholder": "スパム、ハラスメント、規約違反など…", + "no_content": "テキストなし", + "log_title": "メッセージ通報", + "log_reporter": "通報者", + "log_target": "対象ユーザー", + "log_channel": "チャンネル", + "log_reason": "理由", + "log_message": "メッセージ内容" + }, + "verify": { + "not_found": "メンバーが見つかりませんでした。", + "no_role_configured": "認証ロール(PoW Gate)が設定されていません。", + "not_in_gate": "<@{userId}> は認証待ちではありません。", + "success": "✅ <@{userId}> の認証を完了しました。" + }, + "quarantine": { + "cannot_quarantine_self": "自分自身またはBotを隔離することはできません。", + "modal_title": "メンバーを隔離", + "modal_reason_label": "理由(任意)", + "modal_reason_placeholder": "例: スパム行為、不審な行動など", + "not_found": "メンバーが見つかりませんでした。", + "manual_prefix": "モデレーターによる手動隔離", + "success": "✅ <@{userId}> を隔離しました。", + "already_quarantined": "<@{userId}> はすでに隔離されています。" + }, + "flag_suspicious": { + "cannot_flag_self": "自分自身またはBotにSuspicion Levelを付与することはできません。", + "success": "✅ <@{userId}> にSuspicion Level 1(グレー)を付与しました。" } }, "info": { From fbb4a80804e22019b8b34754f023754958de91a2 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Wed, 6 May 2026 22:17:58 +0900 Subject: [PATCH 063/150] New translations web.json (Japanese) [ci skip] --- ja/web.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/ja/web.json b/ja/web.json index db2d17c..ff25199 100644 --- a/ja/web.json +++ b/ja/web.json @@ -1633,6 +1633,11 @@ "joinGateFilterUnverifiedBotDesc": "Discord未認証のBotアカウントを隔離", "joinGateFilterUnauthorizedBotLabel": "未承認Botをフィルター", "joinGateFilterUnauthorizedBotDesc": "Masterでないメンバーが追加したBotを隔離", + "powGateSectionInner": "認証フロー(PoW Gate)", + "powGateRoleReady": "設定済み", + "powGateRoleNotReady": "未設定(セットアップ後に自動作成)", + "quarantineRoleReady": "設定済み", + "quarantineRoleNotReady": "未設定", "powGateSection": "PoW Gate(人間証明)", "powGateDesc": "Cloudflare Turnstileで人間確認を要求し、BOTや荒らしを防ぐ", "powGateAllUsersLabel": "全新規メンバーに適用", From 8a1643d0d4f6c8bb42eca60f8072fb6544ac13d1 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Wed, 6 May 2026 23:43:58 +0900 Subject: [PATCH 064/150] Update source file web.json [ci skip] --- en/web.json | 1 + 1 file changed, 1 insertion(+) diff --git a/en/web.json b/en/web.json index 755e8ff..3014763 100644 --- a/en/web.json +++ b/en/web.json @@ -1577,6 +1577,7 @@ } }, "automod": { + "unknownUser": "Unknown", "title": "Unified Moderation", "desc": "Configure AutoMod, AntiRaid, and JoinGate settings", "tabFilters": "Filters", From 4c82507e5a596846aeffd0e6683e60119a79eba3 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Wed, 6 May 2026 23:44:01 +0900 Subject: [PATCH 065/150] New translations web.json (Japanese) [ci skip] --- ja/web.json | 1 + 1 file changed, 1 insertion(+) diff --git a/ja/web.json b/ja/web.json index ff25199..f874d85 100644 --- a/ja/web.json +++ b/ja/web.json @@ -1577,6 +1577,7 @@ } }, "automod": { + "unknownUser": "Unknown", "title": "統合モデレーション", "desc": "AutoMod・AntiRaid・JoinGate の設定を行います", "tabFilters": "フィルター", From c6922b5fdc96d3c8791f6e3a106b9b62cee8abad Mon Sep 17 00:00:00 2001 From: Cube Team Date: Thu, 7 May 2026 00:58:11 +0900 Subject: [PATCH 066/150] Update source file bot.json [ci skip] --- en/bot.json | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/en/bot.json b/en/bot.json index e5dfcae..3eb4b6d 100644 --- a/en/bot.json +++ b/en/bot.json @@ -1036,6 +1036,25 @@ "thread_create": "Thread Created", "thread_update": "Thread Updated", "thread_delete": "Thread Deleted" + }, + "reason": { + "role_keeper_regrant": "RoleKeeper: Re-granting previously held roles", + "pow_gate_success": "PoW Gate: Verification successful", + "role_add_manual": "Role command: Added by {userTag}", + "role_remove_manual": "Role command: Removed by {userTag}", + "role_add_bulk": "Role command (Bulk): Added by {userTag}", + "role_remove_bulk": "Role command (Bulk): Removed by {userTag}", + "workflow_role_add": "Workflow: Role granted", + "workflow_role_remove": "Workflow: Role removed", + "workflow_timeout_add": "Workflow: Timeout applied", + "workflow_timeout_remove": "Workflow: Timeout removed", + "workflow_thread_create": "Workflow: Thread created", + "workflow_thread_delete": "Workflow: Thread deleted", + "workflow_kick": "Workflow: Kicked", + "workflow_ban": "Workflow: Banned", + "join_gate_pow": "JoinGate: PoW Gate requirement", + "verify_manual": "Context Verify: Verified manually by {userTag}", + "audit_test": "Audit Test" } }, "moderation": { From 0a8f88d041780e6b222912d8ccaeb48a2ba3081d Mon Sep 17 00:00:00 2001 From: Cube Team Date: Thu, 7 May 2026 00:58:14 +0900 Subject: [PATCH 067/150] New translations bot.json (Japanese) [ci skip] --- ja/bot.json | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/ja/bot.json b/ja/bot.json index 64fc237..8af1153 100644 --- a/ja/bot.json +++ b/ja/bot.json @@ -1036,6 +1036,25 @@ "thread_create": "スレッド作成", "thread_update": "スレッド更新", "thread_delete": "スレッド削除" + }, + "reason": { + "role_keeper_regrant": "RoleKeeper: 以前保持していたロールの再付与", + "pow_gate_success": "PoW Gate: 認証成功", + "role_add_manual": "Role コマンド: {userTag} により付与", + "role_remove_manual": "Role コマンド: {userTag} により剥奪", + "role_add_bulk": "Role コマンド (一括): {userTag} により付与", + "role_remove_bulk": "Role コマンド (一括): {userTag} により剥奪", + "workflow_role_add": "ワークフロー: ロール付与", + "workflow_role_remove": "ワークフロー: ロール剥奪", + "workflow_timeout_add": "ワークフロー: タイムアウト", + "workflow_timeout_remove": "ワークフロー: タイムアウト解除", + "workflow_thread_create": "ワークフロー: スレッド作成", + "workflow_thread_delete": "ワークフロー: スレッド削除", + "workflow_kick": "ワークフロー: キック", + "workflow_ban": "ワークフロー: BAN", + "join_gate_pow": "JoinGate: PoW Gate による要求", + "verify_manual": "Context Verify: {userTag} による手動認証", + "audit_test": "監査ログテスト" } }, "moderation": { From e287d25d0ae36ad52bad148e79ceca4a71a8870a Mon Sep 17 00:00:00 2001 From: Cube Team Date: Thu, 7 May 2026 02:04:33 +0900 Subject: [PATCH 068/150] Update source file bot.json [ci skip] --- en/bot.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/en/bot.json b/en/bot.json index 3eb4b6d..14fbf81 100644 --- a/en/bot.json +++ b/en/bot.json @@ -1125,7 +1125,9 @@ "no_guild": "Failed to retrieve verification information.", "no_settings": "Verification settings not found.", "not_needed": "Verification is not required.", - "link_reply": "Please verify using the following link (**valid for 10 minutes**):\n{verifyUrl}" + "link_reply": "Please verify using the following link (**valid for 10 minutes**):\n{verifyUrl}", + "log_title": "Verification Complete (PoW Gate)", + "log_body": "User: <@{userId}> ({userTag})\n**Time:** " }, "actions": { "QUARANTINE": "Quarantine", From ad47997c10ea03869d1097f2442f02ee628f8eb9 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Thu, 7 May 2026 02:04:35 +0900 Subject: [PATCH 069/150] New translations bot.json (Japanese) [ci skip] --- ja/bot.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ja/bot.json b/ja/bot.json index 8af1153..68c02e3 100644 --- a/ja/bot.json +++ b/ja/bot.json @@ -1125,7 +1125,9 @@ "no_guild": "認証情報を取得できませんでした。", "no_settings": "認証設定が見つかりません。", "not_needed": "認証は不要です。", - "link_reply": "以下のリンクから認証してください(**10分間有効**):\n{verifyUrl}" + "link_reply": "以下のリンクから認証してください(**10分間有効**):\n{verifyUrl}", + "log_title": "認証完了 (PoW Gate)", + "log_body": "ユーザー: <@{userId}> ({userTag})\n**日時:** " }, "actions": { "QUARANTINE": "隔離(Quarantine)", From 54fa069a0eba03e59608943bce2c7e933c755e1e Mon Sep 17 00:00:00 2001 From: Cube Team Date: Thu, 7 May 2026 22:26:21 +0900 Subject: [PATCH 070/150] Update source file web.json [ci skip] --- en/web.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/en/web.json b/en/web.json index 3014763..f0e4350 100644 --- a/en/web.json +++ b/en/web.json @@ -1606,6 +1606,8 @@ "noRole": "No role", "panicModeLabel": "Emergency Mode", "panicModeDesc": "When enabled, significantly lowers the action threshold for all users", + "crossServerOptInLabel": "Cross-Server Risk Sharing", + "crossServerOptInDesc": "When enabled, anonymously contributes violation data to the cross-server risk database to improve threat detection across servers", "antiNukeSection": "AntiNuke", "antiNukeDesc": "Detects and responds to destructive server actions (channel deletion, mass bans, etc.)", "antiNukeChannelDeleteLabel": "Channel delete", From bdcf8dbf74e2dcc10c917696617039b906fd8e9f Mon Sep 17 00:00:00 2001 From: Cube Team Date: Thu, 7 May 2026 22:26:32 +0900 Subject: [PATCH 071/150] New translations web.json (Japanese) [ci skip] --- ja/web.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ja/web.json b/ja/web.json index f874d85..f7d007c 100644 --- a/ja/web.json +++ b/ja/web.json @@ -1606,6 +1606,8 @@ "noRole": "ロールなし", "panicModeLabel": "エマージェンシーモード", "panicModeDesc": "有効時、全ユーザーへの制裁閾値を大幅に下げます", + "crossServerOptInLabel": "クロスサーバーリスク共有", + "crossServerOptInDesc": "有効時、このサーバーの違反情報を匿名でクロスサーバーリスクデータベースに提供し、他サーバーの脅威検知精度を向上します", "antiNukeSection": "AntiNuke", "antiNukeDesc": "サーバーへの破壊的な操作(チャンネル削除・一括BAN等)を検知・対応します", "antiNukeChannelDeleteLabel": "チャンネル削除", From 2945bd5cedb7b1f273f4e3351c096c38023515d3 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Fri, 8 May 2026 00:10:43 +0900 Subject: [PATCH 072/150] Update source file web.json [ci skip] --- en/web.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/en/web.json b/en/web.json index f0e4350..47e8b63 100644 --- a/en/web.json +++ b/en/web.json @@ -18,6 +18,8 @@ "save": "Save", "saving": "Saving...", "saved": "Saved", + "unsavedChanges": "Unsaved changes", + "discard": "Discard changes", "cancel": "Cancel", "close": "Close", "loading": "Loading...", From 91f45f07f176f737a723aca628801b9c0399ead0 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Fri, 8 May 2026 00:11:01 +0900 Subject: [PATCH 073/150] New translations web.json (Japanese) [ci skip] --- ja/web.json | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/ja/web.json b/ja/web.json index f7d007c..03ae4de 100644 --- a/ja/web.json +++ b/ja/web.json @@ -18,6 +18,8 @@ "save": "保存", "saving": "保存中...", "saved": "保存しました", + "unsavedChanges": "未保存の変更があります", + "discard": "変更を破棄", "cancel": "キャンセル", "close": "閉じる", "loading": "読み込み中...", @@ -1577,7 +1579,7 @@ } }, "automod": { - "unknownUser": "Unknown", + "unknownUser": "不明", "title": "統合モデレーション", "desc": "AutoMod・AntiRaid・JoinGate の設定を行います", "tabFilters": "フィルター", @@ -1606,7 +1608,7 @@ "noRole": "ロールなし", "panicModeLabel": "エマージェンシーモード", "panicModeDesc": "有効時、全ユーザーへの制裁閾値を大幅に下げます", - "crossServerOptInLabel": "クロスサーバーリスク共有", + "crossServerOptInLabel": "サーバー間のリスク共有", "crossServerOptInDesc": "有効時、このサーバーの違反情報を匿名でクロスサーバーリスクデータベースに提供し、他サーバーの脅威検知精度を向上します", "antiNukeSection": "AntiNuke", "antiNukeDesc": "サーバーへの破壊的な操作(チャンネル削除・一括BAN等)を検知・対応します", @@ -1633,7 +1635,7 @@ "joinGateFilterAdvertisingLabel": "広告アカウントをフィルター", "joinGateFilterAdvertisingDesc": "プロフィールに招待リンク等を含むアカウントを隔離", "joinGateFilterUnverifiedBotLabel": "未認証Botをフィルター", - "joinGateFilterUnverifiedBotDesc": "Discord未認証のBotアカウントを隔離", + "joinGateFilterUnverifiedBotDesc": "Discordで認証されていないBotアカウントを隔離する", "joinGateFilterUnauthorizedBotLabel": "未承認Botをフィルター", "joinGateFilterUnauthorizedBotDesc": "Masterでないメンバーが追加したBotを隔離", "powGateSectionInner": "認証フロー(PoW Gate)", From c61e8f2d8d5c157024c4bd8a42f30c83e9eadd8f Mon Sep 17 00:00:00 2001 From: Cube Team Date: Fri, 8 May 2026 02:04:12 +0900 Subject: [PATCH 074/150] Update source file bot.json [ci skip] --- en/bot.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/en/bot.json b/en/bot.json index 14fbf81..b89add1 100644 --- a/en/bot.json +++ b/en/bot.json @@ -1132,6 +1132,9 @@ "actions": { "QUARANTINE": "Quarantine", "UNQUARANTINE": "Unquarantine", + "TIMEOUT_5M": "5 Minute Timeout", + "TIMEOUT_10M": "10 Minute Timeout", + "TIMEOUT_30M": "30 Minute Timeout", "TIMEOUT_1H": "1 Hour Timeout", "TIMEOUT_24H": "24 Hour Timeout", "DELETE_MESSAGE": "Message Deletion", From eeadbc83585bf880ec9223cdb65465b557a92425 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Fri, 8 May 2026 02:04:15 +0900 Subject: [PATCH 075/150] New translations bot.json (Japanese) [ci skip] --- ja/bot.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ja/bot.json b/ja/bot.json index 68c02e3..688499c 100644 --- a/ja/bot.json +++ b/ja/bot.json @@ -1132,6 +1132,9 @@ "actions": { "QUARANTINE": "隔離(Quarantine)", "UNQUARANTINE": "隔離解除", + "TIMEOUT_5M": "5分のタイムアウト", + "TIMEOUT_10M": "10分のタイムアウト", + "TIMEOUT_30M": "30分のタイムアウト", "TIMEOUT_1H": "1時間のタイムアウト", "TIMEOUT_24H": "24時間のタイムアウト", "DELETE_MESSAGE": "メッセージ削除", From 7c0f8b2e09ee5a505fff5e18b4d4bbc5c6fcd401 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Fri, 8 May 2026 16:13:07 +0900 Subject: [PATCH 076/150] Update source file bot.json [ci skip] --- en/bot.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/en/bot.json b/en/bot.json index b89add1..5998e23 100644 --- a/en/bot.json +++ b/en/bot.json @@ -1066,6 +1066,10 @@ "btn_kick": "Kick", "btn_unquarantine": "False Positive (Release)" }, + "review_queue": { + "title": "🔍 Review Required (Gray Zone)", + "body": "**Target:** <@{userId}> ({userTag})\n**Reason:** {reason}\n\nAutomatic detection confidence was low. Please review this case manually." + }, "warn": { "dm_title": "⚠️ Warning", "dm_body": "You have received a warning from **{guildName}**'s auto-moderation. Please review the server rules." From 31b21001d8259e72f4badc756ac6a5309c1742e0 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Fri, 8 May 2026 16:13:12 +0900 Subject: [PATCH 077/150] New translations bot.json (Japanese) [ci skip] --- ja/bot.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ja/bot.json b/ja/bot.json index 688499c..61c7034 100644 --- a/ja/bot.json +++ b/ja/bot.json @@ -1066,6 +1066,10 @@ "btn_kick": "キック", "btn_unquarantine": "誤検知(隔離解除)" }, + "review_queue": { + "title": "🔍 要審査(グレーゾーン)", + "body": "**対象:** <@{userId}> ({userTag})\n**理由:** {reason}\n\n自動判定の信頼度が低いため、モデレーターによる手動確認が必要です。" + }, "warn": { "dm_title": "⚠️ 警告", "dm_body": "**{guildName}** の自動モデレーションにより警告を受けました。サーバーのルールを確認してください。" From b4a62410a21dc643821fa40fe3eb88d3cdcc8acc Mon Sep 17 00:00:00 2001 From: Cube Team Date: Sun, 10 May 2026 00:31:37 +0900 Subject: [PATCH 078/150] Update source file web.json [ci skip] --- en/web.json | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/en/web.json b/en/web.json index 47e8b63..805b5a6 100644 --- a/en/web.json +++ b/en/web.json @@ -46,7 +46,9 @@ "inviteBot": "Invite Bot", "viewDashboard": "View Dashboard", "pricing": "Pricing", - "changelog": "Changelog" + "changelog": "Changelog", + "security": "Security", + "subscription": "Subscription" }, "top": { "featuresSectionLabel": "Features", @@ -153,7 +155,9 @@ "open": "Open", "invite": "Add Bot", "reload": "Reload", - "refreshHint": "Don't see your server? Try refreshing after adding the bot." + "refreshHint": "Don't see your server? Try refreshing after adding the bot.", + "passkeyBtn": "Log in with Passkey", + "orDivider": "or" }, "sidebar": { "overview": "Overview", @@ -1732,5 +1736,22 @@ "exemptAiLane": "AI Lane Exempt", "exemptAntinuke": "AntiNuke Exempt", "exemptAntiraid": "AntiRaid Exempt" + }, + "accountSecurity": { + "title": "Security", + "desc": "Register passkeys to log in even if you lose access to Discord", + "passkeyTitle": "Passkeys", + "passkeyDesc": "Use registered passkeys to log in during emergencies", + "addPasskey": "Add Passkey", + "adding": "Registering...", + "noPasskeys": "No passkeys registered", + "noPasskeysDesc": "Add a passkey so you can log in even if you lose your Discord account", + "deletePasskey": "Delete", + "deleting": "Deleting...", + "addSuccess": "Passkey registered", + "addError": "Failed to register passkey", + "deleteSuccess": "Passkey deleted", + "deleteError": "Failed to delete passkey", + "registeredAt": "Registered" } } From 265439b77918699795b677bb359ae6ef8042c5e8 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Sun, 10 May 2026 00:31:45 +0900 Subject: [PATCH 079/150] New translations web.json (Japanese) [ci skip] --- ja/web.json | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/ja/web.json b/ja/web.json index 03ae4de..eaff46e 100644 --- a/ja/web.json +++ b/ja/web.json @@ -46,7 +46,9 @@ "inviteBot": "Botを招待", "viewDashboard": "ダッシュボードを見る", "pricing": "料金プラン", - "changelog": "更新履歴" + "changelog": "更新履歴", + "security": "セキュリティ", + "subscription": "サブスクリプション" }, "top": { "featuresSectionLabel": "機能", @@ -153,7 +155,9 @@ "open": "開く", "invite": "Botを追加", "reload": "再読み込み", - "refreshHint": "サーバーが表示されない場合は、Bot追加後に更新してください。" + "refreshHint": "サーバーが表示されない場合は、Bot追加後に更新してください。", + "passkeyBtn": "パスキーでログイン", + "orDivider": "または" }, "sidebar": { "overview": "概要", @@ -1732,5 +1736,22 @@ "exemptAiLane": "AIレーン免除", "exemptAntinuke": "AntiNuke免除", "exemptAntiraid": "AntiRaid免除" + }, + "accountSecurity": { + "title": "セキュリティ", + "desc": "パスキーを登録して、Discordにアクセスできない場合でもログインできます", + "passkeyTitle": "パスキー", + "passkeyDesc": "登録済みのパスキーを使って緊急時にログインできます", + "addPasskey": "パスキーを追加", + "adding": "登録中...", + "noPasskeys": "パスキーが登録されていません", + "noPasskeysDesc": "パスキーを追加すると、Discordアカウントを失った場合でもログインできます", + "deletePasskey": "削除", + "deleting": "削除中...", + "addSuccess": "パスキーを登録しました", + "addError": "パスキーの登録に失敗しました", + "deleteSuccess": "パスキーを削除しました", + "deleteError": "パスキーの削除に失敗しました", + "registeredAt": "登録日" } } From ebc4ae9bd55598b73d2d42bd48ba822c5109c147 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Sun, 10 May 2026 03:12:55 +0900 Subject: [PATCH 080/150] Update source file web.json [ci skip] --- en/web.json | 1 + 1 file changed, 1 insertion(+) diff --git a/en/web.json b/en/web.json index 805b5a6..244cf3b 100644 --- a/en/web.json +++ b/en/web.json @@ -170,6 +170,7 @@ "credits": "Credits", "allServers": "All Servers", "manageSubscription": "Manage Subscription", + "security": "Security", "logout": "Log Out", "messages": "Messages", "workflow": "Workflow", From 09345f6f1813d9eae8d2ed5a67207dc487ea5dcd Mon Sep 17 00:00:00 2001 From: Cube Team Date: Sun, 10 May 2026 03:13:01 +0900 Subject: [PATCH 081/150] New translations web.json (Japanese) [ci skip] --- ja/web.json | 1 + 1 file changed, 1 insertion(+) diff --git a/ja/web.json b/ja/web.json index eaff46e..018dcec 100644 --- a/ja/web.json +++ b/ja/web.json @@ -170,6 +170,7 @@ "credits": "クレジット", "allServers": "すべてのサーバー", "manageSubscription": "サブスクリプション管理", + "security": "セキュリティ", "logout": "ログアウト", "messages": "メッセージ送信", "workflow": "ワークフロー", From 3b511e3a0f568235b7fa4bbee91643265a1105a8 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Sun, 10 May 2026 04:45:48 +0900 Subject: [PATCH 082/150] Update source file web.json [ci skip] --- en/web.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/en/web.json b/en/web.json index 244cf3b..71f7353 100644 --- a/en/web.json +++ b/en/web.json @@ -1753,6 +1753,10 @@ "addError": "Failed to register passkey", "deleteSuccess": "Passkey deleted", "deleteError": "Failed to delete passkey", - "registeredAt": "Registered" + "registeredAt": "Registered", + "addModalTitle": "Name your Passkey", + "addModalDesc": "Enter a name that helps you identify this device.", + "addModalPlaceholder": "e.g. My iPhone, Work PC", + "addModalBtn": "Start Registration" } } From f5472076a0c12568219c93e5e2b9e63059785d33 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Sun, 10 May 2026 04:45:50 +0900 Subject: [PATCH 083/150] New translations web.json (Japanese) [ci skip] --- ja/web.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/ja/web.json b/ja/web.json index 018dcec..cd243d1 100644 --- a/ja/web.json +++ b/ja/web.json @@ -1753,6 +1753,10 @@ "addError": "パスキーの登録に失敗しました", "deleteSuccess": "パスキーを削除しました", "deleteError": "パスキーの削除に失敗しました", - "registeredAt": "登録日" + "registeredAt": "登録日", + "addModalTitle": "パスキーに名前を付ける", + "addModalDesc": "このデバイスを識別しやすい名前を入力してください。", + "addModalPlaceholder": "例: 私のiPhone、メインPC", + "addModalBtn": "登録を開始" } } From 0c58bf4684965896c16085ccb774be623c681327 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Tue, 12 May 2026 18:34:03 +0900 Subject: [PATCH 084/150] Update source file bot.json [ci skip] --- en/bot.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/en/bot.json b/en/bot.json index 5998e23..143ac6d 100644 --- a/en/bot.json +++ b/en/bot.json @@ -986,7 +986,9 @@ "embeds_deleted_threaded": "Deleted message embeds (see thread for details)", "embed_deleted_thread_name": "deleted-embed-{id}", "embed_deleted_thread_intro": "This thread stores the embed preview of the deleted message.", - "deleted_embed_preview": "Deleted Embed" + "deleted_embed_preview": "Deleted Embed", + "emoji": "Emoji", + "message": "Message" }, "events": { "guild_update": "Server Updated", @@ -1003,6 +1005,8 @@ "message_update": "Message Edited", "message_update_embed_before": "Embed Preview Before Edit", "message_update_embed_after": "Embed Preview After Edit", + "message_reaction_add": "Reaction Added", + "message_reaction_remove": "Reaction Removed", "member_add": "Member Joined", "member_remove": "Member Left", "member_kick": "Member Kicked", From 0d604710f2cbbac802f9df1d209e5254cda4885e Mon Sep 17 00:00:00 2001 From: Cube Team Date: Tue, 12 May 2026 18:34:05 +0900 Subject: [PATCH 085/150] Update source file web.json [ci skip] --- en/web.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/en/web.json b/en/web.json index 71f7353..97abcc4 100644 --- a/en/web.json +++ b/en/web.json @@ -736,6 +736,14 @@ "name": "Message Update", "desc": "Log Message Update events" }, + "message_reaction_add": { + "name": "Message Reaction Add", + "desc": "Log Message Reaction Add events" + }, + "message_reaction_remove": { + "name": "Message Reaction Remove", + "desc": "Log Message Reaction Remove events" + }, "member_kick": { "name": "Member Kick", "desc": "Log Member Kick events" From 3477c4c5920f734b4360ecc00c0a49f9f746e584 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Tue, 12 May 2026 18:34:14 +0900 Subject: [PATCH 086/150] New translations bot.json (Japanese) [ci skip] --- ja/bot.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/ja/bot.json b/ja/bot.json index 61c7034..e69220e 100644 --- a/ja/bot.json +++ b/ja/bot.json @@ -986,7 +986,9 @@ "embeds_deleted_threaded": "削除されたメッセージのEmbed(詳細はスレッド)", "embed_deleted_thread_name": "deleted-embed-{id}", "embed_deleted_thread_intro": "このスレッドには削除されたメッセージのEmbedプレビューが保存されています。", - "deleted_embed_preview": "削除前Embed" + "deleted_embed_preview": "削除前Embed", + "emoji": "絵文字", + "message": "メッセージ" }, "events": { "guild_update": "サーバー設定更新", @@ -1003,6 +1005,8 @@ "message_update": "メッセージ編集", "message_update_embed_before": "編集前Embedプレビュー", "message_update_embed_after": "編集後Embedプレビュー", + "message_reaction_add": "リアクション追加", + "message_reaction_remove": "リアクション削除", "member_add": "メンバー参加", "member_remove": "メンバー退出", "member_kick": "メンバーキック", From 90ed01482ecb1a389e5de62d23ff970323c7b8c9 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Tue, 12 May 2026 18:34:16 +0900 Subject: [PATCH 087/150] New translations web.json (Japanese) [ci skip] --- ja/web.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/ja/web.json b/ja/web.json index cd243d1..96b89bf 100644 --- a/ja/web.json +++ b/ja/web.json @@ -736,6 +736,14 @@ "name": "メッセージ編集", "desc": "メッセージ編集のログを記録します" }, + "message_reaction_add": { + "name": "リアクション追加", + "desc": "メッセージへのリアクション追加のログを記録します" + }, + "message_reaction_remove": { + "name": "リアクション削除", + "desc": "メッセージへのリアクション削除のログを記録します" + }, "member_kick": { "name": "メンバーキック", "desc": "メンバーキックのログを記録します" From 727a73ddfb6ae1d2df25a645ea8c135dabe6d20d Mon Sep 17 00:00:00 2001 From: Cube Team Date: Fri, 15 May 2026 13:00:22 +0900 Subject: [PATCH 088/150] Update source file web.json [ci skip] --- en/web.json | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/en/web.json b/en/web.json index 97abcc4..ef0d3f3 100644 --- a/en/web.json +++ b/en/web.json @@ -1744,7 +1744,33 @@ "exemptHeatLane": "Heat Lane Exempt", "exemptAiLane": "AI Lane Exempt", "exemptAntinuke": "AntiNuke Exempt", - "exemptAntiraid": "AntiRaid Exempt" + "exemptAntiraid": "AntiRaid Exempt", + "tabSchedule": "Schedule", + "scheduleSection": "Scheduled Security Rules", + "scheduleSectionDesc": "Automatically change server security settings during specific times or periods.", + "scheduleAddRule": "Add Rule", + "scheduleRuleType": "Action", + "scheduleRuleTypeInviteDisable": "Disable Invites", + "scheduleRuleTypeSecurityLevel": "Change Verification Level", + "scheduleScheduleType": "Schedule Type", + "scheduleTimeRange": "Daily Time Range", + "scheduleDateRange": "One-time Date Range", + "scheduleStartTime": "Start Time (UTC)", + "scheduleEndTime": "End Time (UTC)", + "scheduleStartDate": "Start Date", + "scheduleEndDate": "End Date", + "scheduleSecurityLevel": "Verification Level", + "scheduleSecurityLevelNone": "None (0)", + "scheduleSecurityLevelLow": "Low (1)", + "scheduleSecurityLevelMedium": "Medium (2)", + "scheduleSecurityLevelHigh": "High (3)", + "scheduleSecurityLevelVeryHigh": "Very High (4)", + "scheduleLabel": "Label (optional)", + "scheduleLabelPlaceholder": "e.g. Nightly security boost", + "scheduleEnabled": "Enabled", + "scheduleDeleteConfirm": "Delete this rule?", + "scheduleNoRules": "No schedule rules", + "scheduleAddRuleTitle": "Add Rule" }, "accountSecurity": { "title": "Security", From b49874899b51788b7cc8c94fe4c61cb9b57e4f10 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Fri, 15 May 2026 13:00:29 +0900 Subject: [PATCH 089/150] New translations web.json (Japanese) [ci skip] --- ja/web.json | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/ja/web.json b/ja/web.json index 96b89bf..e7696b3 100644 --- a/ja/web.json +++ b/ja/web.json @@ -1744,7 +1744,33 @@ "exemptHeatLane": "Heatレーン免除", "exemptAiLane": "AIレーン免除", "exemptAntinuke": "AntiNuke免除", - "exemptAntiraid": "AntiRaid免除" + "exemptAntiraid": "AntiRaid免除", + "tabSchedule": "スケジュール", + "scheduleSection": "スケジュールセキュリティルール", + "scheduleSectionDesc": "特定の時間帯・期間にサーバーのセキュリティ設定を自動で変更します", + "scheduleAddRule": "ルールを追加", + "scheduleRuleType": "アクション", + "scheduleRuleTypeInviteDisable": "招待リンクを無効化", + "scheduleRuleTypeSecurityLevel": "認証レベルを変更", + "scheduleScheduleType": "スケジュール種別", + "scheduleTimeRange": "毎日繰り返し(時間帯)", + "scheduleDateRange": "一回限り(期間指定)", + "scheduleStartTime": "開始時刻 (UTC)", + "scheduleEndTime": "終了時刻 (UTC)", + "scheduleStartDate": "開始日時", + "scheduleEndDate": "終了日時", + "scheduleSecurityLevel": "認証レベル", + "scheduleSecurityLevelNone": "なし (0)", + "scheduleSecurityLevelLow": "低 (1)", + "scheduleSecurityLevelMedium": "中 (2)", + "scheduleSecurityLevelHigh": "高 (3)", + "scheduleSecurityLevelVeryHigh": "最高 (4)", + "scheduleLabel": "ラベル(任意)", + "scheduleLabelPlaceholder": "例: 深夜帯セキュリティ強化", + "scheduleEnabled": "有効", + "scheduleDeleteConfirm": "このルールを削除しますか?", + "scheduleNoRules": "スケジュールルールがありません", + "scheduleAddRuleTitle": "ルールを追加" }, "accountSecurity": { "title": "セキュリティ", From 5a2e39947f84919c93553c1fc7a3cd97fed94a54 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Fri, 15 May 2026 14:02:40 +0900 Subject: [PATCH 090/150] Update source file web.json [ci skip] --- en/web.json | 1 + 1 file changed, 1 insertion(+) diff --git a/en/web.json b/en/web.json index ef0d3f3..d0ebc66 100644 --- a/en/web.json +++ b/en/web.json @@ -1751,6 +1751,7 @@ "scheduleAddRule": "Add Rule", "scheduleRuleType": "Action", "scheduleRuleTypeInviteDisable": "Disable Invites", + "scheduleRuleTypeDmDisable": "Disable DMs", "scheduleRuleTypeSecurityLevel": "Change Verification Level", "scheduleScheduleType": "Schedule Type", "scheduleTimeRange": "Daily Time Range", From 4de563da4135947bb31deff286e25dd2b04d359f Mon Sep 17 00:00:00 2001 From: Cube Team Date: Fri, 15 May 2026 14:02:45 +0900 Subject: [PATCH 091/150] New translations web.json (Japanese) [ci skip] --- ja/web.json | 1 + 1 file changed, 1 insertion(+) diff --git a/ja/web.json b/ja/web.json index e7696b3..23871e0 100644 --- a/ja/web.json +++ b/ja/web.json @@ -1751,6 +1751,7 @@ "scheduleAddRule": "ルールを追加", "scheduleRuleType": "アクション", "scheduleRuleTypeInviteDisable": "招待リンクを無効化", + "scheduleRuleTypeDmDisable": "DM を無効化", "scheduleRuleTypeSecurityLevel": "認証レベルを変更", "scheduleScheduleType": "スケジュール種別", "scheduleTimeRange": "毎日繰り返し(時間帯)", From 7d984a81a3fd12a497df2dc27e59123bcf8e1223 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Sat, 23 May 2026 21:02:10 +0900 Subject: [PATCH 092/150] Update source file web.json [ci skip] --- en/web.json | 37 ++++++++++++++++++++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/en/web.json b/en/web.json index d0ebc66..a5948c0 100644 --- a/en/web.json +++ b/en/web.json @@ -174,7 +174,8 @@ "logout": "Log Out", "messages": "Messages", "workflow": "Workflow", - "automod": "Moderation" + "automod": "Moderation", + "activityLog": "Activity Log" }, "featureGate": { "title": "This feature is not available", @@ -1793,5 +1794,39 @@ "addModalDesc": "Enter a name that helps you identify this device.", "addModalPlaceholder": "e.g. My iPhone, Work PC", "addModalBtn": "Start Registration" + }, + "activityLog": { + "title": "Activity Log", + "desc": "View the history of settings changes and actions performed in the dashboard", + "empty": "No activity logs found", + "loadMore": "Load more", + "loading": "Loading...", + "filterAll": "All", + "page": "Page", + "of": "of", + "total": "entries", + "categories": { + "module": "Module", + "workflow": "Workflow", + "audit_log": "Audit Log Settings", + "guild": "Server Settings", + "moderation": "Moderation", + "ai_moderation": "AI Moderation", + "general": "General" + }, + "actions": { + "auto_purge_updated": "Updated auto purge settings", + "auto_purge_deleted": "Deleted auto purge settings", + "auto_react_updated": "Updated auto react settings", + "auto_react_deleted": "Deleted auto react settings", + "role_keeper_updated": "Updated role keeper settings", + "role_keeper_deleted": "Deleted role keeper settings", + "workflow_created": "Created workflow", + "workflow_updated": "Updated workflow", + "workflow_deleted": "Deleted workflow", + "audit_log_channel_set": "Set audit log channel", + "guild_settings_updated": "Updated server settings", + "moderation_settings_updated": "Updated moderation settings" + } } } From 8825e6d5bdcffd1385c2a916c61b851e0096813b Mon Sep 17 00:00:00 2001 From: Cube Team Date: Sat, 23 May 2026 21:02:17 +0900 Subject: [PATCH 093/150] New translations web.json (Japanese) [ci skip] --- ja/web.json | 37 ++++++++++++++++++++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/ja/web.json b/ja/web.json index 23871e0..2d92782 100644 --- a/ja/web.json +++ b/ja/web.json @@ -174,7 +174,8 @@ "logout": "ログアウト", "messages": "メッセージ送信", "workflow": "ワークフロー", - "automod": "統合モデレーション" + "automod": "統合モデレーション", + "activityLog": "操作ログ" }, "featureGate": { "title": "この機能はご利用いただけません", @@ -1793,5 +1794,39 @@ "addModalDesc": "このデバイスを識別しやすい名前を入力してください。", "addModalPlaceholder": "例: 私のiPhone、メインPC", "addModalBtn": "登録を開始" + }, + "activityLog": { + "title": "操作ログ", + "desc": "ダッシュボードでの設定変更・操作の履歴を確認できます", + "empty": "操作ログがありません", + "loadMore": "さらに読み込む", + "loading": "読み込み中...", + "filterAll": "すべて", + "page": "ページ", + "of": "/", + "total": "件", + "categories": { + "module": "モジュール", + "workflow": "ワークフロー", + "audit_log": "監査ログ設定", + "guild": "サーバー設定", + "moderation": "モデレーション", + "ai_moderation": "AIモデレーション", + "general": "一般" + }, + "actions": { + "auto_purge_updated": "自動削除設定を更新", + "auto_purge_deleted": "自動削除設定を削除", + "auto_react_updated": "自動リアクション設定を更新", + "auto_react_deleted": "自動リアクション設定を削除", + "role_keeper_updated": "ロールキーパー設定を更新", + "role_keeper_deleted": "ロールキーパー設定を削除", + "workflow_created": "ワークフローを作成", + "workflow_updated": "ワークフローを更新", + "workflow_deleted": "ワークフローを削除", + "audit_log_channel_set": "監査ログチャンネルを設定", + "guild_settings_updated": "サーバー設定を更新", + "moderation_settings_updated": "モデレーション設定を更新" + } } } From 2fbf36fa8609e708b0ed7433ebcc72268d04276e Mon Sep 17 00:00:00 2001 From: Cube Team Date: Sun, 24 May 2026 00:14:52 +0900 Subject: [PATCH 094/150] Update source file web.json [ci skip] --- en/web.json | 33 ++++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/en/web.json b/en/web.json index a5948c0..0cd0f5b 100644 --- a/en/web.json +++ b/en/web.json @@ -900,6 +900,36 @@ "contentOptional": "(optional)", "contentPlaceholder": "Enter message content...", "addEmbed": "Add Embed", + "addActionRow": "Add Action Row", + "actionRow": { + "rowN": "Action Row {n}", + "typeButtons": "Buttons", + "typeSelect": "Select Menu", + "addButton": "Add Button", + "buttonLabel": "Label", + "buttonLabelPlaceholder": "Button text", + "buttonStyle": "Style", + "buttonStylePrimary": "Primary (Blue)", + "buttonStyleSecondary": "Secondary (Gray)", + "buttonStyleSuccess": "Success (Green)", + "buttonStyleDanger": "Danger (Red)", + "buttonStyleLink": "Link (URL)", + "customId": "Custom ID", + "customIdPlaceholder": "ID used in workflow", + "linkUrl": "URL", + "linkUrlPlaceholder": "https://...", + "selectCustomId": "Custom ID", + "selectCustomIdPlaceholder": "ID used in workflow", + "selectPlaceholder": "Placeholder", + "selectPlaceholderPlaceholder": "Please select", + "addOption": "Add Option", + "optionLabel": "Label", + "optionLabelPlaceholder": "Display text", + "optionValue": "Value", + "optionValuePlaceholder": "Value used in workflow", + "optionDescription": "Description (optional)", + "optionN": "Option {n}" + }, "send": "Send", "update": "Update", "cancel": "Cancel", @@ -942,7 +972,8 @@ "title": "Sent Messages", "desc": "List of messages sent by Cube", "empty": "No sent messages yet", - "embedCount": "{count} embed(s)" + "embedCount": "{count} embed(s)", + "componentCount": "{count} component(s)" } }, "workflow": { From 97da640b4e754a0112cfd0a35d3c1a50da9a45b1 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Sun, 24 May 2026 00:14:59 +0900 Subject: [PATCH 095/150] New translations web.json (Japanese) [ci skip] --- ja/web.json | 33 ++++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/ja/web.json b/ja/web.json index 2d92782..3713636 100644 --- a/ja/web.json +++ b/ja/web.json @@ -900,6 +900,36 @@ "contentOptional": "(任意)", "contentPlaceholder": "メッセージの内容を入力...", "addEmbed": "Embedを追加", + "addActionRow": "Action Row を追加", + "actionRow": { + "rowN": "Action Row {n}", + "typeButtons": "ボタン", + "typeSelect": "セレクトメニュー", + "addButton": "ボタンを追加", + "buttonLabel": "ラベル", + "buttonLabelPlaceholder": "ボタンのテキスト", + "buttonStyle": "スタイル", + "buttonStylePrimary": "Primary(青)", + "buttonStyleSecondary": "Secondary(グレー)", + "buttonStyleSuccess": "Success(緑)", + "buttonStyleDanger": "Danger(赤)", + "buttonStyleLink": "Link(URL)", + "customId": "カスタムID", + "customIdPlaceholder": "ワークフローで使用するID", + "linkUrl": "URL", + "linkUrlPlaceholder": "https://...", + "selectCustomId": "カスタムID", + "selectCustomIdPlaceholder": "ワークフローで使用するID", + "selectPlaceholder": "プレースホルダー", + "selectPlaceholderPlaceholder": "選択してください", + "addOption": "オプションを追加", + "optionLabel": "ラベル", + "optionLabelPlaceholder": "表示テキスト", + "optionValue": "値", + "optionValuePlaceholder": "ワークフローで使用する値", + "optionDescription": "説明(任意)", + "optionN": "オプション {n}" + }, "send": "送信", "update": "更新", "cancel": "キャンセル", @@ -942,7 +972,8 @@ "title": "送信済みメッセージ", "desc": "送信済みのメッセージ一覧です", "empty": "送信済みメッセージはありません", - "embedCount": "{count}件のEmbed" + "embedCount": "{count}件のEmbed", + "componentCount": "{count}個のコンポーネント" } }, "workflow": { From ac2ea678f82def039feda894fc7e9fa357a1b8fb Mon Sep 17 00:00:00 2001 From: Cube Team Date: Sun, 24 May 2026 02:24:50 +0900 Subject: [PATCH 096/150] Update source file web.json [ci skip] --- en/web.json | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/en/web.json b/en/web.json index 0cd0f5b..fbdabdf 100644 --- a/en/web.json +++ b/en/web.json @@ -198,6 +198,16 @@ "aimod": { "label": "AI Moderation", "desc": "AI monitors and responds to chat in real time" + }, + "analytics": { + "title": "Analytics", + "messages": "Messages", + "members": "Member Changes", + "joins": "Joins", + "leaves": "Leaves", + "range7": "7 days", + "range30": "30 days", + "noData": "No data available" } }, "general": { From 0caebdbce65ad6c808445483c9c2b32be269bd99 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Sun, 24 May 2026 02:24:52 +0900 Subject: [PATCH 097/150] New translations web.json (Japanese) [ci skip] --- ja/web.json | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/ja/web.json b/ja/web.json index 3713636..d377839 100644 --- a/ja/web.json +++ b/ja/web.json @@ -198,6 +198,16 @@ "aimod": { "label": "AI モデレーション", "desc": "AI がリアルタイムでチャットを監視・対応" + }, + "analytics": { + "title": "アナリティクス", + "messages": "メッセージ数", + "members": "メンバー増減", + "joins": "参加", + "leaves": "退出", + "range7": "7日間", + "range30": "30日間", + "noData": "データがありません" } }, "general": { From 1c4d06ad3a62b2fc3054397ce41058a677af3e9c Mon Sep 17 00:00:00 2001 From: Cube Team Date: Sun, 24 May 2026 10:16:24 +0900 Subject: [PATCH 098/150] Update source file web.json [ci skip] --- en/web.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/en/web.json b/en/web.json index fbdabdf..bce2a04 100644 --- a/en/web.json +++ b/en/web.json @@ -208,6 +208,10 @@ "range7": "7 days", "range30": "30 days", "noData": "No data available" + }, + "widget": { + "customize": "Customize", + "done": "Done" } }, "general": { From e8bd9e56f0b2cac74df881b9b4e9837d0e6793b3 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Sun, 24 May 2026 10:16:32 +0900 Subject: [PATCH 099/150] New translations web.json (Japanese) [ci skip] --- ja/web.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ja/web.json b/ja/web.json index d377839..d2117f2 100644 --- a/ja/web.json +++ b/ja/web.json @@ -208,6 +208,10 @@ "range7": "7日間", "range30": "30日間", "noData": "データがありません" + }, + "widget": { + "customize": "カスタマイズ", + "done": "完了" } }, "general": { From 08e3f11fc23e46e89f8d8d2346582f5c375ed223 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Sun, 24 May 2026 14:36:57 +0900 Subject: [PATCH 100/150] Update source file web.json [ci skip] --- en/web.json | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/en/web.json b/en/web.json index bce2a04..0bc4184 100644 --- a/en/web.json +++ b/en/web.json @@ -409,7 +409,20 @@ "Priority support" ], "confirmTitle": "Purchase {plan} plan?", - "confirmDesc": "You will be billed ¥{price}/month. Cancel anytime." + "confirmDesc": "You will be billed ¥{price}/month. Cancel anytime.", + "consentTitle": "Before You Continue", + "consentDesc": "To proceed with your purchase, we need to verify your age and obtain your consent.", + "consentDob": "Date of birth", + "consentYear": "Year", + "consentMonth": "Month", + "consentDay": "Day", + "consentTermsLabel": "I agree to the Terms of Service and Privacy Policy", + "consentParentalLabel": "I have obtained parental permission to make this purchase", + "consentMinorNotice": "Because you are under 18, parental consent is required.", + "consentUnderageError": "Sorry, users under 13 are not eligible to make purchases.", + "consentDataNote": "Your date of birth is used solely for age verification and will be shared with Stripe for payment processing.", + "consentContinue": "Agree and continue", + "consentSubmitting": "Verifying..." }, "accountSub": { "title": "Subscription Management", From 7477d976b895832ebda123cebd9946556d0b63b0 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Sun, 24 May 2026 14:37:04 +0900 Subject: [PATCH 101/150] New translations web.json (Japanese) [ci skip] --- ja/web.json | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/ja/web.json b/ja/web.json index d2117f2..f4a1fbe 100644 --- a/ja/web.json +++ b/ja/web.json @@ -409,7 +409,20 @@ "優先サポート" ], "confirmTitle": "{plan} プランを購入しますか?", - "confirmDesc": "月額 ¥{price} が請求されます。いつでもキャンセルできます。" + "confirmDesc": "月額 ¥{price} が請求されます。いつでもキャンセルできます。", + "consentTitle": "購入前の確認", + "consentDesc": "購入手続きを進めるにあたり、生年月日の確認と利用規約への同意が必要です。", + "consentDob": "生年月日", + "consentYear": "年", + "consentMonth": "月", + "consentDay": "日", + "consentTermsLabel": "利用規約およびプライバシーポリシーに同意します", + "consentParentalLabel": "保護者から購入の許可を得ています", + "consentMinorNotice": "18歳未満の方は、保護者の同意が必要です。", + "consentUnderageError": "申し訳ありませんが、13歳未満の方はご購入いただけません。", + "consentDataNote": "入力された生年月日は年齢確認のためにのみ使用され、決済処理のためStripeと共有されます。", + "consentContinue": "同意して続ける", + "consentSubmitting": "確認中..." }, "accountSub": { "title": "サブスクリプション管理", From edb3480d8a1384284864762a112cae3b888837ed Mon Sep 17 00:00:00 2001 From: Cube Team Date: Sun, 24 May 2026 17:07:04 +0900 Subject: [PATCH 102/150] Update source file web.json [ci skip] --- en/web.json | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/en/web.json b/en/web.json index 0bc4184..060deed 100644 --- a/en/web.json +++ b/en/web.json @@ -212,6 +212,24 @@ "widget": { "customize": "Customize", "done": "Done" + }, + "fastaccess": { + "title": "Quick Access" + }, + "recentwork": { + "title": "Recent Work", + "empty": "No recent activity yet", + "justNow": "Just now", + "minutesAgo": "{n}m ago", + "hoursAgo": "{n}h ago", + "daysAgo": "{n}d ago" + }, + "analyticsummary": { + "title": "This Week's Summary", + "messages": "Messages", + "joins": "Joins", + "leaves": "Leaves", + "netChange": "Net Change" } }, "general": { From 92dce03332c26c875a04eba10ea5712562ba2a8b Mon Sep 17 00:00:00 2001 From: Cube Team Date: Sun, 24 May 2026 17:07:10 +0900 Subject: [PATCH 103/150] New translations web.json (Japanese) [ci skip] --- ja/web.json | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/ja/web.json b/ja/web.json index f4a1fbe..38de672 100644 --- a/ja/web.json +++ b/ja/web.json @@ -212,6 +212,24 @@ "widget": { "customize": "カスタマイズ", "done": "完了" + }, + "fastaccess": { + "title": "クイックアクセス" + }, + "recentwork": { + "title": "最近の作業", + "empty": "まだ作業履歴がありません", + "justNow": "たった今", + "minutesAgo": "{n}分前", + "hoursAgo": "{n}時間前", + "daysAgo": "{n}日前" + }, + "analyticsummary": { + "title": "今週のサマリー", + "messages": "メッセージ数", + "joins": "参加", + "leaves": "退出", + "netChange": "純増減" } }, "general": { From 65d0f28d4271cd2c0c17ba4b4cc1b8efbb491783 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Thu, 28 May 2026 14:14:12 +0900 Subject: [PATCH 104/150] Update source file bot.json [ci skip] --- en/bot.json | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/en/bot.json b/en/bot.json index 143ac6d..f66b96a 100644 --- a/en/bot.json +++ b/en/bot.json @@ -1068,7 +1068,9 @@ "default_reason": "Automod Action", "btn_ban": "BAN", "btn_kick": "Kick", - "btn_unquarantine": "False Positive (Release)" + "btn_unquarantine": "Release", + "btn_false_positive": "False Positive", + "btn_confirm_spam": "Confirm Spam" }, "review_queue": { "title": "🔍 Review Required (Gray Zone)", @@ -1120,6 +1122,15 @@ "failed": "Failed to unquarantine user <@{userId}>.", "already_exists": "User <@{userId}> is not currently quarantined." }, + "mod_false_positive": { + "success": "Successfully released user <@{userId}> as a false positive.", + "failed": "Failed to unquarantine user <@{userId}>.", + "already_exists": "User <@{userId}> is not currently quarantined." + }, + "mod_confirm_spam": { + "success": "✅ Spam pattern has been registered.", + "no_data": "Pattern data not found (may have expired)." + }, "join_gate": { "dm_title": "🔒 Verification Required", "dm_body": "Verification is required to join **{guildName}**.\n\n[Click here to verify]({verifyUrl})\n\nThis link is valid for **10 minutes**.", From 77452d18855b79406c13a4ddc29f2283d2dd28db Mon Sep 17 00:00:00 2001 From: Cube Team Date: Thu, 28 May 2026 14:14:18 +0900 Subject: [PATCH 105/150] New translations bot.json (Japanese) [ci skip] --- ja/bot.json | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/ja/bot.json b/ja/bot.json index e69220e..fc45984 100644 --- a/ja/bot.json +++ b/ja/bot.json @@ -1068,7 +1068,9 @@ "default_reason": "自動モデレーションによる処罰", "btn_ban": "BAN", "btn_kick": "キック", - "btn_unquarantine": "誤検知(隔離解除)" + "btn_unquarantine": "隔離解除", + "btn_false_positive": "誤検知として解除", + "btn_confirm_spam": "スパム確認" }, "review_queue": { "title": "🔍 要審査(グレーゾーン)", @@ -1120,6 +1122,15 @@ "failed": "ユーザー <@{userId}> の隔離解除に失敗しました。", "already_exists": "ユーザー <@{userId}> は現在隔離されていません。" }, + "mod_false_positive": { + "success": "ユーザー <@{userId}> を誤検知として隔離解除しました。", + "failed": "ユーザー <@{userId}> の隔離解除に失敗しました。", + "already_exists": "ユーザー <@{userId}> は現在隔離されていません。" + }, + "mod_confirm_spam": { + "success": "✅ スパムパターンを登録しました。", + "no_data": "パターンデータが見つかりませんでした(有効期限切れの可能性があります)。" + }, "join_gate": { "dm_title": "🔒 認証が必要です", "dm_body": "**{guildName}** に参加するには認証が必要です。\n\n[こちらをクリックして認証してください]({verifyUrl})\n\nリンクは **10分間** 有効です。", From 88af2189d994f846090c36597698ed20ab038f53 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Fri, 29 May 2026 17:18:57 +0900 Subject: [PATCH 106/150] Update source file web.json [ci skip] --- en/web.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/en/web.json b/en/web.json index 060deed..04609ef 100644 --- a/en/web.json +++ b/en/web.json @@ -1520,7 +1520,9 @@ "guilds": "Servers", "blacklist": "Blacklist", "spamPatterns": "Spam Patterns", - "economy": "Economy" + "economy": "Economy", + "features": "Feature Flags", + "testGroups": "Test Groups" }, "dashboard": { "title": "System Status", From d5ae0a08ba0ffa71aed78ca73e84be9d3eee6c73 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Fri, 29 May 2026 17:19:11 +0900 Subject: [PATCH 107/150] New translations web.json (Japanese) [ci skip] --- ja/web.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ja/web.json b/ja/web.json index 38de672..28544f9 100644 --- a/ja/web.json +++ b/ja/web.json @@ -1520,7 +1520,9 @@ "guilds": "サーバー", "blacklist": "ブラックリスト", "spamPatterns": "スパムパターン", - "economy": "エコノミー" + "economy": "エコノミー", + "features": "フィーチャーフラグ", + "testGroups": "テストグループ" }, "dashboard": { "title": "システム状況", From 8e2cac146b8e4b365372069a8ea3c537a62032b1 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Tue, 2 Jun 2026 19:31:47 +0900 Subject: [PATCH 108/150] Update source file web.json [ci skip] --- en/web.json | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/en/web.json b/en/web.json index 04609ef..97d084d 100644 --- a/en/web.json +++ b/en/web.json @@ -1769,16 +1769,24 @@ "ruleCharSpamDesc": "Detect repeated characters or Zalgo text", "ruleUrlScan": "URL Scanning", "ruleUrlScanDesc": "Expand short URLs → check with Safe Browsing API", - "ruleImageHash": "Image Hash", - "ruleImageHashDesc": "Match against known spam/NSFW images (pHash)", + "ruleImageHash": "Spam Image Blocking", + "ruleImageHashDesc": "Compares images against Cube's spam/NSFW database and auto-removes matches", "ruleCrossChannel": "Cross-Channel", "ruleCrossChannelDesc": "Detect similar posts across multiple channels in short time", "rulePhishing": "Phishing", "rulePhishingDesc": "Detect known phishing domains and scam URL patterns", "ruleBlacklistWord": "Blacklist Words", "ruleBlacklistWordDesc": "Add heat to messages containing admin-configured words", - "blacklistWordAdd": "Add Word", + "blacklistWordAdd": "Add", "blacklistWordPlaceholder": "Enter forbidden word", + "blacklistWordPlaceholder_text": "Enter forbidden word (substring match)", + "blacklistWordPlaceholder_wildcard": "e.g. *badword* or spam*", + "blacklistWordPlaceholder_regex": "e.g. (bad|spam)\\w+", + "blacklistWordType_text": "Text", + "blacklistWordType_wildcard": "Wildcard", + "blacklistWordType_regex": "Regex", + "blacklistWordWildcardHint": "* matches any sequence of characters. e.g. *word* for substring, word* for prefix", + "blacklistWordRegexHint": "JavaScript regex supported (up to 10 regex patterns are synced to Discord AutoMod)", "blacklistWordHeat": "Heat Value", "blacklistWordHeatHelp": "1–100 (default 30%)", "ruleInactiveChannel": "Inactive Channel Post", From c5031aa387ed871a6bda0827e500b288a6cb1542 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Tue, 2 Jun 2026 19:32:00 +0900 Subject: [PATCH 109/150] New translations web.json (Japanese) [ci skip] --- ja/web.json | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/ja/web.json b/ja/web.json index 28544f9..54d5932 100644 --- a/ja/web.json +++ b/ja/web.json @@ -1769,16 +1769,24 @@ "ruleCharSpamDesc": "同一文字の連続・Zalgoテキストを検知", "ruleUrlScan": "URLスキャン", "ruleUrlScanDesc": "短縮URL展開 → Safe Browsing APIで悪意あるURLを検知", - "ruleImageHash": "画像ハッシュ", - "ruleImageHashDesc": "既知スパム・NSFW画像の照合(pHash)", + "ruleImageHash": "スパム画像ブロック", + "ruleImageHashDesc": "Cubeのスパム・NSFW画像データベースと照合し、一致した画像を自動削除します", "ruleCrossChannel": "クロスチャンネル", "ruleCrossChannelDesc": "短時間に複数チャンネルへの類似投稿を検知", "rulePhishing": "フィッシング", "rulePhishingDesc": "既知フィッシングドメイン・詐欺URLパターンを検知", "ruleBlacklistWord": "ブラックリストワード", "ruleBlacklistWordDesc": "管理者が設定したワードを含むメッセージにheatを加算", - "blacklistWordAdd": "ワードを追加", + "blacklistWordAdd": "追加", "blacklistWordPlaceholder": "禁止ワードを入力", + "blacklistWordPlaceholder_text": "禁止ワードを入力(部分一致)", + "blacklistWordPlaceholder_wildcard": "例: *悪い言葉* または spam*", + "blacklistWordPlaceholder_regex": "例: (bad|spam)\\w+", + "blacklistWordType_text": "テキスト", + "blacklistWordType_wildcard": "ワイルドカード", + "blacklistWordType_regex": "正規表現", + "blacklistWordWildcardHint": "* は任意の文字列に一致します。例: *word* で部分一致、word* で前方一致", + "blacklistWordRegexHint": "JavaScript 正規表現が使用できます(最大10件まで Discord AutoMod に同期されます)", "blacklistWordHeat": "Heat値", "blacklistWordHeatHelp": "1〜100(デフォルト30%)", "ruleInactiveChannel": "活発でないチャンネルへの投稿", From c72dc59a349172375a5bcee7987f6207c157d5c5 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Wed, 3 Jun 2026 14:34:19 +0900 Subject: [PATCH 110/150] Update source file bot.json [ci skip] --- en/bot.json | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/en/bot.json b/en/bot.json index f66b96a..ce87de6 100644 --- a/en/bot.json +++ b/en/bot.json @@ -1069,6 +1069,7 @@ "btn_ban": "BAN", "btn_kick": "Kick", "btn_unquarantine": "Release", + "btn_untimeout": "Remove Timeout", "btn_false_positive": "False Positive", "btn_confirm_spam": "Confirm Spam" }, @@ -1122,6 +1123,12 @@ "failed": "Failed to unquarantine user <@{userId}>.", "already_exists": "User <@{userId}> is not currently quarantined." }, + "mod_untimeout": { + "success": "Successfully removed timeout for user <@{userId}>.", + "not_timed_out": "User <@{userId}> is not currently timed out.", + "not_found": "User <@{userId}> not found.", + "failed": "Failed to remove timeout for user <@{userId}>." + }, "mod_false_positive": { "success": "Successfully released user <@{userId}> as a false positive.", "failed": "Failed to unquarantine user <@{userId}>.", From 14fd8f93ff4dadc13fcf8490166b9624f598664a Mon Sep 17 00:00:00 2001 From: Cube Team Date: Wed, 3 Jun 2026 14:34:20 +0900 Subject: [PATCH 111/150] Update source file web.json [ci skip] --- en/web.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/en/web.json b/en/web.json index 97d084d..1cef614 100644 --- a/en/web.json +++ b/en/web.json @@ -19,6 +19,7 @@ "saving": "Saving...", "saved": "Saved", "unsavedChanges": "Unsaved changes", + "leaveWarning": "You have unsaved changes. Leave this page?", "discard": "Discard changes", "cancel": "Cancel", "close": "Close", @@ -169,6 +170,7 @@ "subscription": "Subscription", "credits": "Credits", "allServers": "All Servers", + "searchServers": "Search servers...", "manageSubscription": "Manage Subscription", "security": "Security", "logout": "Log Out", From efc622bad38ab13170a00445d4ad309e21e01608 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Wed, 3 Jun 2026 14:34:25 +0900 Subject: [PATCH 112/150] New translations bot.json (Japanese) [ci skip] --- ja/bot.json | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/ja/bot.json b/ja/bot.json index fc45984..4613341 100644 --- a/ja/bot.json +++ b/ja/bot.json @@ -1069,6 +1069,7 @@ "btn_ban": "BAN", "btn_kick": "キック", "btn_unquarantine": "隔離解除", + "btn_untimeout": "Remove Timeout", "btn_false_positive": "誤検知として解除", "btn_confirm_spam": "スパム確認" }, @@ -1122,6 +1123,12 @@ "failed": "ユーザー <@{userId}> の隔離解除に失敗しました。", "already_exists": "ユーザー <@{userId}> は現在隔離されていません。" }, + "mod_untimeout": { + "success": "Successfully removed timeout for user <@{userId}>.", + "not_timed_out": "User <@{userId}> is not currently timed out.", + "not_found": "User <@{userId}> not found.", + "failed": "Failed to remove timeout for user <@{userId}>." + }, "mod_false_positive": { "success": "ユーザー <@{userId}> を誤検知として隔離解除しました。", "failed": "ユーザー <@{userId}> の隔離解除に失敗しました。", From a0b54dfe9f5d2f5dddf2c800ab20c14b8fc59bc2 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Wed, 3 Jun 2026 14:34:27 +0900 Subject: [PATCH 113/150] New translations web.json (Japanese) [ci skip] --- ja/web.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ja/web.json b/ja/web.json index 54d5932..849ed04 100644 --- a/ja/web.json +++ b/ja/web.json @@ -19,6 +19,7 @@ "saving": "保存中...", "saved": "保存しました", "unsavedChanges": "未保存の変更があります", + "leaveWarning": "未保存の変更があります。ページを離れますか?", "discard": "変更を破棄", "cancel": "キャンセル", "close": "閉じる", @@ -169,6 +170,7 @@ "subscription": "サブスクリプション", "credits": "クレジット", "allServers": "すべてのサーバー", + "searchServers": "サーバーを検索...", "manageSubscription": "サブスクリプション管理", "security": "セキュリティ", "logout": "ログアウト", From dcf90be62906235ff77e99e55a93de03e640b0a2 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Wed, 3 Jun 2026 16:17:02 +0900 Subject: [PATCH 114/150] Update source file bot.json [ci skip] --- en/bot.json | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/en/bot.json b/en/bot.json index ce87de6..c422f36 100644 --- a/en/bot.json +++ b/en/bot.json @@ -649,6 +649,13 @@ "flag_suspicious": { "cannot_flag_self": "You cannot flag yourself or the bot as suspicious.", "success": "✅ Added Suspicion Level 1 (Gray) to <@{userId}>." + }, + "setup": { + "owner_only": "❌ Only the server owner can run this command.", + "already_setup": "❌ This server is already set up.", + "success": "✅ Setup completed successfully.", + "no_manage_roles": "❌ The bot is missing the **Manage Roles** permission. Please grant it and try again.", + "role_too_low": "❌ The bot's role (**{roleName}**) is too low. Please move it to the top 3 in the role list and try again." } }, "info": { From b9344abc9a43f2a5ac7e1edd87a5b3871e01b51f Mon Sep 17 00:00:00 2001 From: Cube Team Date: Wed, 3 Jun 2026 16:17:15 +0900 Subject: [PATCH 115/150] New translations bot.json (Japanese) [ci skip] --- ja/bot.json | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/ja/bot.json b/ja/bot.json index 4613341..6cdb480 100644 --- a/ja/bot.json +++ b/ja/bot.json @@ -649,6 +649,13 @@ "flag_suspicious": { "cannot_flag_self": "自分自身またはBotにSuspicion Levelを付与することはできません。", "success": "✅ <@{userId}> にSuspicion Level 1(グレー)を付与しました。" + }, + "setup": { + "owner_only": "❌ このコマンドはサーバーオーナーのみ実行できます。", + "already_setup": "❌ 既にセットアップ済みです。", + "success": "✅ セットアップが完了しました。", + "no_manage_roles": "❌ Botに **ロールの管理** 権限がありません。権限を付与してから再度お試しください。", + "role_too_low": "❌ Botのロール(**{roleName}**)が低すぎます。ロール一覧の上から3番目以内に移動してから再度お試しください。" } }, "info": { @@ -1069,7 +1076,7 @@ "btn_ban": "BAN", "btn_kick": "キック", "btn_unquarantine": "隔離解除", - "btn_untimeout": "Remove Timeout", + "btn_untimeout": "タイムアウト解除", "btn_false_positive": "誤検知として解除", "btn_confirm_spam": "スパム確認" }, @@ -1124,10 +1131,10 @@ "already_exists": "ユーザー <@{userId}> は現在隔離されていません。" }, "mod_untimeout": { - "success": "Successfully removed timeout for user <@{userId}>.", - "not_timed_out": "User <@{userId}> is not currently timed out.", - "not_found": "User <@{userId}> not found.", - "failed": "Failed to remove timeout for user <@{userId}>." + "success": "ユーザー <@{userId}> のタイムアウトを解除しました。", + "not_timed_out": "ユーザー <@{userId}> は現在タイムアウト中ではありません。", + "not_found": "ユーザー <@{userId}> が見つかりません。", + "failed": "ユーザー <@{userId}> のタイムアウト解除に失敗しました。" }, "mod_false_positive": { "success": "ユーザー <@{userId}> を誤検知として隔離解除しました。", From b96b055b230c69ace895784abe36ffea966a30fa Mon Sep 17 00:00:00 2001 From: Cube Team Date: Wed, 3 Jun 2026 18:55:15 +0900 Subject: [PATCH 116/150] Update source file web.json [ci skip] --- en/web.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/en/web.json b/en/web.json index 1cef614..32585bb 100644 --- a/en/web.json +++ b/en/web.json @@ -1761,6 +1761,10 @@ "setupBtn": "Setup", "requesting": "Processing...", "setupDone": "Done", + "discordRegistered": "Registered in Discord", + "discordNotRegistered": "Not registered in Discord", + "discordRegisterBtn": "Register in Discord", + "discordRegistering": "Registering...", "ruleMentionSpam": "Mention Spam", "ruleMentionSpamDesc": "Adds heat for @user / @role / @here / @everyone mentions", "ruleInviteLink": "Invite Links", @@ -1816,7 +1820,6 @@ "ruleAttachment": "Attachments", "ruleAttachmentDesc": "Image and file attachments (+4% each, always)", "whitelistSection": "Whitelist", - "whitelistUsers": "Exempt Users", "whitelistRoles": "Exempt Roles", "whitelistChannels": "Exempt Channels", "whitelistAddPlaceholder": "Enter ID", From 97840707d7240408562259dd6e71bbb0db215577 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Wed, 3 Jun 2026 18:55:37 +0900 Subject: [PATCH 117/150] New translations web.json (Japanese) [ci skip] --- ja/web.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ja/web.json b/ja/web.json index 849ed04..cc938c4 100644 --- a/ja/web.json +++ b/ja/web.json @@ -1761,6 +1761,10 @@ "setupBtn": "セットアップ", "requesting": "処理中...", "setupDone": "完了", + "discordRegistered": "Discord登録済み", + "discordNotRegistered": "Discord未登録", + "discordRegisterBtn": "Discordに登録", + "discordRegistering": "登録中...", "ruleMentionSpam": "メンションスパム", "ruleMentionSpamDesc": "@user / @role / @here / @everyone のメンションをheatとして加算", "ruleInviteLink": "招待リンク", @@ -1816,7 +1820,6 @@ "ruleAttachment": "添付ファイル", "ruleAttachmentDesc": "画像・ファイルの添付ごとに +4%(常時適用)", "whitelistSection": "ホワイトリスト", - "whitelistUsers": "ユーザー除外", "whitelistRoles": "ロール除外", "whitelistChannels": "チャンネル除外", "whitelistAddPlaceholder": "IDを入力", From bc4f3f7a165870486f037cf8a0164bc72f095f44 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Wed, 3 Jun 2026 21:23:40 +0900 Subject: [PATCH 118/150] Update source file bot.json [ci skip] --- en/bot.json | 34 ++++++++++++++++++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/en/bot.json b/en/bot.json index c422f36..e11a57a 100644 --- a/en/bot.json +++ b/en/bot.json @@ -995,7 +995,34 @@ "embed_deleted_thread_intro": "This thread stores the embed preview of the deleted message.", "deleted_embed_preview": "Deleted Embed", "emoji": "Emoji", - "message": "Message" + "message": "Message", + "enabled": "Enabled", + "disabled": "Disabled", + "afk_channel": "AFK Channel", + "afk_timeout": "AFK Timeout", + "mfa_level": "2FA Requirement", + "widget_enabled": "Widget", + "widget_channel": "Widget Channel", + "preferred_locale": "Preferred Language", + "safety_alerts_channel": "Safety Alerts Channel", + "nsfw_level": "NSFW Level", + "public_updates_channel": "Community Updates Channel", + "features_added": "Features Added", + "features_removed": "Features Removed", + "automod_trigger": "Trigger Type", + "automod_trigger_keyword": "Keyword", + "automod_trigger_spam": "Spam", + "automod_trigger_preset": "Keyword Preset", + "automod_trigger_mention_spam": "Mention Spam", + "automod_trigger_member_profile": "Member Profile", + "automod_actions": "Actions", + "automod_action_block": "Block Message", + "automod_action_alert": "Send Alert", + "automod_action_timeout": "Timeout", + "automod_action_block_interaction": "Block Interaction", + "automod_enabled": "Enabled", + "automod_exempt_roles": "Exempt Roles", + "automod_exempt_channels": "Exempt Channels" }, "events": { "guild_update": "Server Updated", @@ -1046,7 +1073,10 @@ "guild_scheduled_event_delete": "Event Deleted", "thread_create": "Thread Created", "thread_update": "Thread Updated", - "thread_delete": "Thread Deleted" + "thread_delete": "Thread Deleted", + "automod_rule_create": "AutoMod Rule Created", + "automod_rule_update": "AutoMod Rule Updated", + "automod_rule_delete": "AutoMod Rule Deleted" }, "reason": { "role_keeper_regrant": "RoleKeeper: Re-granting previously held roles", From 2dbe7ab10aa73d7081493f83dd4fed6557492f5f Mon Sep 17 00:00:00 2001 From: Cube Team Date: Wed, 3 Jun 2026 21:23:42 +0900 Subject: [PATCH 119/150] Update source file web.json [ci skip] --- en/web.json | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/en/web.json b/en/web.json index 32585bb..9e2403e 100644 --- a/en/web.json +++ b/en/web.json @@ -732,6 +732,10 @@ "threads": { "name": "Threads", "desc": "Thread lifecycle changes" + }, + "automod": { + "name": "AutoMod", + "desc": "AutoMod rule create, update, and delete" } } }, @@ -923,6 +927,18 @@ "thread_delete": { "name": "Thread Delete", "desc": "Log Thread Delete events" + }, + "automod_rule_create": { + "name": "AutoMod Rule Created", + "desc": "Logs AutoMod rule creation events" + }, + "automod_rule_update": { + "name": "AutoMod Rule Updated", + "desc": "Logs AutoMod rule update events" + }, + "automod_rule_delete": { + "name": "AutoMod Rule Deleted", + "desc": "Logs AutoMod rule deletion events" } }, "options": { From e52db7bcd7993fc81a93448a44582acb5b9279ca Mon Sep 17 00:00:00 2001 From: Cube Team Date: Wed, 3 Jun 2026 21:23:44 +0900 Subject: [PATCH 120/150] New translations bot.json (Japanese) [ci skip] --- ja/bot.json | 34 ++++++++++++++++++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/ja/bot.json b/ja/bot.json index 6cdb480..13d7b9b 100644 --- a/ja/bot.json +++ b/ja/bot.json @@ -995,7 +995,34 @@ "embed_deleted_thread_intro": "このスレッドには削除されたメッセージのEmbedプレビューが保存されています。", "deleted_embed_preview": "削除前Embed", "emoji": "絵文字", - "message": "メッセージ" + "message": "メッセージ", + "enabled": "有効", + "disabled": "無効", + "afk_channel": "AFKチャンネル", + "afk_timeout": "AFKタイムアウト", + "mfa_level": "2段階認証要件", + "widget_enabled": "ウィジェット", + "widget_channel": "ウィジェットチャンネル", + "preferred_locale": "優先言語", + "safety_alerts_channel": "セーフティアラートチャンネル", + "nsfw_level": "NSFWレベル", + "public_updates_channel": "コミュニティアップデートチャンネル", + "features_added": "追加された機能", + "features_removed": "削除された機能", + "automod_trigger": "トリガータイプ", + "automod_trigger_keyword": "キーワード", + "automod_trigger_spam": "スパム", + "automod_trigger_preset": "キーワードプリセット", + "automod_trigger_mention_spam": "メンションスパム", + "automod_trigger_member_profile": "メンバープロフィール", + "automod_actions": "アクション", + "automod_action_block": "メッセージをブロック", + "automod_action_alert": "アラート送信", + "automod_action_timeout": "タイムアウト", + "automod_action_block_interaction": "インタラクションをブロック", + "automod_enabled": "有効化", + "automod_exempt_roles": "除外ロール", + "automod_exempt_channels": "除外チャンネル" }, "events": { "guild_update": "サーバー設定更新", @@ -1046,7 +1073,10 @@ "guild_scheduled_event_delete": "イベント削除", "thread_create": "スレッド作成", "thread_update": "スレッド更新", - "thread_delete": "スレッド削除" + "thread_delete": "スレッド削除", + "automod_rule_create": "AutoModルール作成", + "automod_rule_update": "AutoModルール更新", + "automod_rule_delete": "AutoModルール削除" }, "reason": { "role_keeper_regrant": "RoleKeeper: 以前保持していたロールの再付与", From 7203fb75b892dd2e5e0691b536d006bfd9511182 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Wed, 3 Jun 2026 21:23:46 +0900 Subject: [PATCH 121/150] New translations web.json (Japanese) [ci skip] --- ja/web.json | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/ja/web.json b/ja/web.json index cc938c4..feb463e 100644 --- a/ja/web.json +++ b/ja/web.json @@ -732,6 +732,10 @@ "threads": { "name": "スレッド", "desc": "スレッドの作成・更新・削除" + }, + "automod": { + "name": "AutoMod", + "desc": "AutoModルールの作成・更新・削除" } } }, @@ -923,6 +927,18 @@ "thread_delete": { "name": "スレッド削除", "desc": "スレッド削除のログを記録します" + }, + "automod_rule_create": { + "name": "AutoModルール作成", + "desc": "AutoModルール作成のログを記録します" + }, + "automod_rule_update": { + "name": "AutoModルール更新", + "desc": "AutoModルール更新のログを記録します" + }, + "automod_rule_delete": { + "name": "AutoModルール削除", + "desc": "AutoModルール削除のログを記録します" } }, "options": { From f0069cf785643290723e24d61d550433107532a0 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Thu, 4 Jun 2026 00:11:12 +0900 Subject: [PATCH 122/150] Update source file web.json [ci skip] --- en/web.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/en/web.json b/en/web.json index 9e2403e..8ab4925 100644 --- a/en/web.json +++ b/en/web.json @@ -1720,6 +1720,8 @@ "panicModeDesc": "When enabled, significantly lowers the action threshold for all users", "crossServerOptInLabel": "Cross-Server Risk Sharing", "crossServerOptInDesc": "When enabled, anonymously contributes violation data to the cross-server risk database to improve threat detection across servers", + "trustedRolesLabel": "Trusted Roles (AutoMod Bypass)", + "trustedRolesDesc": "Members with these roles will bypass all AutoMod detection", "antiNukeSection": "AntiNuke", "antiNukeDesc": "Detects and responds to destructive server actions (channel deletion, mass bans, etc.)", "antiNukeChannelDeleteLabel": "Channel delete", From 6d1054a40c5ed2354de1cfa0f604a79e4cf78b7f Mon Sep 17 00:00:00 2001 From: Cube Team Date: Thu, 4 Jun 2026 00:11:23 +0900 Subject: [PATCH 123/150] New translations web.json (Japanese) [ci skip] --- ja/web.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ja/web.json b/ja/web.json index feb463e..9845f52 100644 --- a/ja/web.json +++ b/ja/web.json @@ -1720,6 +1720,8 @@ "panicModeDesc": "有効時、全ユーザーへの制裁閾値を大幅に下げます", "crossServerOptInLabel": "サーバー間のリスク共有", "crossServerOptInDesc": "有効時、このサーバーの違反情報を匿名でクロスサーバーリスクデータベースに提供し、他サーバーの脅威検知精度を向上します", + "trustedRolesLabel": "信頼ロール(AutoMod完全免除)", + "trustedRolesDesc": "このロールを持つメンバーはすべてのAutoMod検知をスキップします", "antiNukeSection": "AntiNuke", "antiNukeDesc": "サーバーへの破壊的な操作(チャンネル削除・一括BAN等)を検知・対応します", "antiNukeChannelDeleteLabel": "チャンネル削除", From 3da9c011a5d27e37be4f74d2133abfd2e973c0b0 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Fri, 5 Jun 2026 00:53:47 +0900 Subject: [PATCH 124/150] Update source file bot.json [ci skip] --- en/bot.json | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/en/bot.json b/en/bot.json index e11a57a..f534b29 100644 --- a/en/bot.json +++ b/en/bot.json @@ -1229,6 +1229,54 @@ "NSFW_URL": "NSFW Link", "ANTINUKE": "Anti-Nuke Detection", "ANTINUKE_ROLE_GRANT": "Granted dangerous permissions to a role" + }, + "legacy_automod": { + "category": { + "harassment": "Harassment", + "harassment/threatening": "Harassment (Threatening)", + "hate": "Hate", + "hate/threatening": "Hate (Threatening)", + "sexual": "Sexual", + "sexual/minors": "Sexual (Minors)", + "violence": "Violence", + "violence/graphic": "Violence (Graphic)", + "self-harm": "Self-harm", + "self-harm/intent": "Self-harm (Intent)", + "self-harm/instructions": "Self-harm (Instructions)", + "illicit": "Illicit", + "illicit/violent": "Illicit (Violent)" + }, + "thread_delete_reason": "Auto-deleted by Legacy AI Moderation", + "report": { + "title": "🛡️ Legacy AI Moderation Detection", + "thread_title": "🛡️ Legacy AI Moderation Detection (Thread)", + "author": "**Author:** <@{userId}> (`{userTag}`)", + "content": "**Content:**\n{content}", + "high_score": "**High-score categories:** {categories}", + "flagged": "**Flagged categories:** {categories}", + "auto_action": "**Auto action:** {action}", + "action_deleted": "Deleted", + "action_none": "None", + "jump": "[Jump to message]({url})", + "btn_delete": "Delete Message", + "btn_warn": "Send Warning" + }, + "delete": { + "success": "Message deleted.", + "failed": "Failed to delete the message.", + "not_found": "The target message was not found." + }, + "warn": { + "modal_title": "Send Warning", + "reason_label": "Warning Reason", + "reason_placeholder": "Enter the reason for the warning", + "bot_not_allowed": "You cannot send a warning to a bot.", + "success": "Sent a warning to <@{userId}>.", + "dm_failed": "Failed to DM <@{userId}> (their DMs may be closed).", + "dm_title": "⚠️ Warning", + "dm_body": "You have received a warning from **{guildName}**.\n**Reason:** {reason}", + "log_appended": "✅ <@{moderatorId}> sent a warning to <@{userId}>.\n**Reason:** {reason}" + } } } } From 67402245dddb61e193d18c0ddf9162f7da3b496b Mon Sep 17 00:00:00 2001 From: Cube Team Date: Fri, 5 Jun 2026 00:53:48 +0900 Subject: [PATCH 125/150] Update source file web.json [ci skip] --- en/web.json | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/en/web.json b/en/web.json index 8ab4925..f696cbe 100644 --- a/en/web.json +++ b/en/web.json @@ -1881,7 +1881,31 @@ "scheduleEnabled": "Enabled", "scheduleDeleteConfirm": "Delete this rule?", "scheduleNoRules": "No schedule rules", - "scheduleAddRuleTitle": "Add Rule" + "scheduleAddRuleTitle": "Add Rule", + "aiModerationModeLabel": "AI Moderation Mode", + "aiModerationModeDesc": "Select the AI moderation mode using omni-moderation scores", + "aiModerationModeOff": "Off", + "aiModerationModeOffDesc": "Disable AI moderation", + "aiModerationModeLegacy": "Legacy (Free)", + "aiModerationModeLegacyDesc": "Simple AI moderation using score thresholds only", + "aiModerationModeAdvanced": "Advanced (Coming Soon)", + "aiModerationModeAdvancedDesc": "High-capability moderation using AI lanes (coming soon)", + "legacyAiSection": "Legacy AI Moderation Settings", + "legacyAiDesc": "Automatically reports and deletes messages based on omni-moderation scores", + "legacyAiLogChannelLabel": "Log Channel", + "legacyAiReportScoreLabel": "Report Score Threshold", + "legacyAiReportScoreDesc": "Report to log when score reaches this value (0–1)", + "legacyAiDeleteScoreLabel": "Delete Score Threshold", + "legacyAiDeleteScoreDesc": "Auto-delete messages when score reaches this value (0–1, recommended ≥ report score)", + "legacyAiScoreRecommend": "Delete score should be greater than or equal to report score", + "legacyAiBypassChannelsLabel": "Bypass Channels", + "legacyAiBypassChannelsDesc": "Messages in these channels skip AI moderation", + "legacyAiBypassRolesLabel": "Bypass Roles", + "legacyAiBypassRolesDesc": "Users with these roles skip AI moderation", + "legacyAiBypassStringsLabel": "Bypass Strings", + "legacyAiBypassStringsDesc": "Messages containing these strings are skipped", + "legacyAiBypassStringPlaceholder": "Enter string to bypass", + "legacyAiBypassStringAdd": "Add" }, "accountSecurity": { "title": "Security", From 248a6a6fea2d5eac1609970c7324c84eabba2db5 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Fri, 5 Jun 2026 00:54:06 +0900 Subject: [PATCH 126/150] New translations bot.json (Japanese) [ci skip] --- ja/bot.json | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/ja/bot.json b/ja/bot.json index 13d7b9b..08cf294 100644 --- a/ja/bot.json +++ b/ja/bot.json @@ -1229,6 +1229,54 @@ "NSFW_URL": "NSFWリンク", "ANTINUKE": "破壊行為(Anti-Nuke)の検出", "ANTINUKE_ROLE_GRANT": "ロールへの危険な権限の付与" + }, + "legacy_automod": { + "category": { + "harassment": "嫌がらせ", + "harassment/threatening": "嫌がらせ(脅迫)", + "hate": "ヘイト", + "hate/threatening": "ヘイト(脅迫)", + "sexual": "性的", + "sexual/minors": "性的(未成年)", + "violence": "暴力", + "violence/graphic": "暴力(描写)", + "self-harm": "自傷", + "self-harm/intent": "自傷(意図)", + "self-harm/instructions": "自傷(手段)", + "illicit": "違法行為", + "illicit/violent": "違法行為(暴力)" + }, + "thread_delete_reason": "レガシーAIモデレーションによる自動削除", + "report": { + "title": "🛡️ レガシーAIモデレーション検知", + "thread_title": "🛡️ レガシーAIモデレーション検知(スレッド)", + "author": "**送信者:** <@{userId}> (`{userTag}`)", + "content": "**内容:**\n{content}", + "high_score": "**高スコアカテゴリ:** {categories}", + "flagged": "**フラグ付きカテゴリ:** {categories}", + "auto_action": "**自動対応:** {action}", + "action_deleted": "削除", + "action_none": "なし", + "jump": "[メッセージへ移動]({url})", + "btn_delete": "メッセージ削除", + "btn_warn": "警告を送信" + }, + "delete": { + "success": "メッセージを削除しました。", + "failed": "メッセージの削除に失敗しました。", + "not_found": "対象のメッセージが見つかりませんでした。" + }, + "warn": { + "modal_title": "警告の送信", + "reason_label": "警告理由", + "reason_placeholder": "警告の理由を入力してください", + "bot_not_allowed": "Botへ警告を送信することはできません。", + "success": "<@{userId}> へ警告を送信しました。", + "dm_failed": "<@{userId}> へのDM送信に失敗しました(DMが閉じられている可能性があります)。", + "dm_title": "⚠️ 警告", + "dm_body": "**{guildName}** から警告を受けました。\n**理由:** {reason}", + "log_appended": "✅ <@{moderatorId}> が <@{userId}> へ警告を送信しました。\n**理由:** {reason}" + } } } } From 22d258d3d72289980a44bb9f760ef8ac5c468d18 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Fri, 5 Jun 2026 00:54:07 +0900 Subject: [PATCH 127/150] New translations web.json (Japanese) [ci skip] --- ja/web.json | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/ja/web.json b/ja/web.json index 9845f52..7fde290 100644 --- a/ja/web.json +++ b/ja/web.json @@ -1881,7 +1881,31 @@ "scheduleEnabled": "有効", "scheduleDeleteConfirm": "このルールを削除しますか?", "scheduleNoRules": "スケジュールルールがありません", - "scheduleAddRuleTitle": "ルールを追加" + "scheduleAddRuleTitle": "ルールを追加", + "aiModerationModeLabel": "AIモデレーションモード", + "aiModerationModeDesc": "omni-moderationスコアを使った自動AIモデレーションのモードを選択します", + "aiModerationModeOff": "無効", + "aiModerationModeOffDesc": "AIモデレーションを使用しない", + "aiModerationModeLegacy": "レガシー(無料)", + "aiModerationModeLegacyDesc": "スコア閾値のみで判定するシンプルなAIモデレーション", + "aiModerationModeAdvanced": "次世代(準備中)", + "aiModerationModeAdvancedDesc": "AIレーンを使った高度なモデレーション(近日公開)", + "legacyAiSection": "レガシーAIモデレーション設定", + "legacyAiDesc": "omni-moderationのスコアを基に自動でレポート・削除を行います", + "legacyAiLogChannelLabel": "ログチャンネル", + "legacyAiReportScoreLabel": "レポートスコア閾値", + "legacyAiReportScoreDesc": "このスコア以上でログに報告します(0〜1)", + "legacyAiDeleteScoreLabel": "削除スコア閾値", + "legacyAiDeleteScoreDesc": "このスコア以上でメッセージを自動削除します(0〜1、レポート以上推奨)", + "legacyAiScoreRecommend": "削除スコアはレポートスコア以上を推奨します", + "legacyAiBypassChannelsLabel": "バイパスチャンネル", + "legacyAiBypassChannelsDesc": "このチャンネルのメッセージはAIモデレーションをスキップします", + "legacyAiBypassRolesLabel": "バイパスロール", + "legacyAiBypassRolesDesc": "このロールを持つユーザーはAIモデレーションをスキップします", + "legacyAiBypassStringsLabel": "バイパス文字列", + "legacyAiBypassStringsDesc": "この文字列を含むメッセージはスキップします", + "legacyAiBypassStringPlaceholder": "バイパスする文字列を入力", + "legacyAiBypassStringAdd": "追加" }, "accountSecurity": { "title": "セキュリティ", From 0adefc215d1b3ee669177fc8165ce87e35f51e78 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Fri, 5 Jun 2026 17:54:24 +0900 Subject: [PATCH 128/150] Update source file web.json [ci skip] --- en/web.json | 50 ++++++++++++++++++++++++-------------------------- 1 file changed, 24 insertions(+), 26 deletions(-) diff --git a/en/web.json b/en/web.json index f696cbe..d589ecf 100644 --- a/en/web.json +++ b/en/web.json @@ -312,7 +312,29 @@ "statusRunning": "Running", "statusStopped": "Stopped", "logTitle": "Moderation Logs", - "logEmpty": "No logs" + "logEmpty": "No logs", + "legacyAiSection": "Legacy AI Moderation Settings", + "legacyAiDesc": "Automatically reports and deletes messages based on omni-moderation scores", + "legacyAiLogChannelLabel": "Log Channel", + "legacyAiReportScoreLabel": "Report Score Threshold", + "legacyAiReportScoreDesc": "Report to log when score reaches this value (0–1)", + "legacyAiDeleteScoreLabel": "Delete Score Threshold", + "legacyAiDeleteScoreDesc": "Auto-delete messages when score reaches this value (0–1, recommended ≥ report score)", + "legacyAiScoreRecommend": "Delete score should be greater than or equal to report score", + "legacyAiBypassChannelsLabel": "Bypass Channels", + "legacyAiBypassChannelsDesc": "Messages in these channels skip AI moderation", + "legacyAiBypassRolesLabel": "Bypass Roles", + "legacyAiBypassRolesDesc": "Users with these roles skip AI moderation", + "legacyAiBypassStringsLabel": "Bypass Strings", + "legacyAiBypassStringsDesc": "Messages containing these strings are skipped", + "legacyAiBypassStringPlaceholder": "Enter string to bypass", + "legacyAiBypassStringAdd": "Add", + "noChannel": "No channel", + "noRole": "No role", + "permissionDenied": "You don't have Master permission to change settings", + "saveError": "Failed to save", + "forbiddenTitle": "Access Denied", + "forbiddenDesc": "You need Master permission to view or edit moderation settings for this server." }, "subscription": { "title": "Subscription", @@ -1881,31 +1903,7 @@ "scheduleEnabled": "Enabled", "scheduleDeleteConfirm": "Delete this rule?", "scheduleNoRules": "No schedule rules", - "scheduleAddRuleTitle": "Add Rule", - "aiModerationModeLabel": "AI Moderation Mode", - "aiModerationModeDesc": "Select the AI moderation mode using omni-moderation scores", - "aiModerationModeOff": "Off", - "aiModerationModeOffDesc": "Disable AI moderation", - "aiModerationModeLegacy": "Legacy (Free)", - "aiModerationModeLegacyDesc": "Simple AI moderation using score thresholds only", - "aiModerationModeAdvanced": "Advanced (Coming Soon)", - "aiModerationModeAdvancedDesc": "High-capability moderation using AI lanes (coming soon)", - "legacyAiSection": "Legacy AI Moderation Settings", - "legacyAiDesc": "Automatically reports and deletes messages based on omni-moderation scores", - "legacyAiLogChannelLabel": "Log Channel", - "legacyAiReportScoreLabel": "Report Score Threshold", - "legacyAiReportScoreDesc": "Report to log when score reaches this value (0–1)", - "legacyAiDeleteScoreLabel": "Delete Score Threshold", - "legacyAiDeleteScoreDesc": "Auto-delete messages when score reaches this value (0–1, recommended ≥ report score)", - "legacyAiScoreRecommend": "Delete score should be greater than or equal to report score", - "legacyAiBypassChannelsLabel": "Bypass Channels", - "legacyAiBypassChannelsDesc": "Messages in these channels skip AI moderation", - "legacyAiBypassRolesLabel": "Bypass Roles", - "legacyAiBypassRolesDesc": "Users with these roles skip AI moderation", - "legacyAiBypassStringsLabel": "Bypass Strings", - "legacyAiBypassStringsDesc": "Messages containing these strings are skipped", - "legacyAiBypassStringPlaceholder": "Enter string to bypass", - "legacyAiBypassStringAdd": "Add" + "scheduleAddRuleTitle": "Add Rule" }, "accountSecurity": { "title": "Security", From 3bf32c7a45b2943b1544472e8acbfbd8ce8fa107 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Fri, 5 Jun 2026 17:54:35 +0900 Subject: [PATCH 129/150] New translations web.json (Japanese) [ci skip] --- ja/web.json | 50 ++++++++++++++++++++++++-------------------------- 1 file changed, 24 insertions(+), 26 deletions(-) diff --git a/ja/web.json b/ja/web.json index 7fde290..40ea4c9 100644 --- a/ja/web.json +++ b/ja/web.json @@ -312,7 +312,29 @@ "statusRunning": "実行中", "statusStopped": "停止中", "logTitle": "モデレーションログ", - "logEmpty": "ログはありません" + "logEmpty": "ログはありません", + "legacyAiSection": "レガシーAIモデレーション設定", + "legacyAiDesc": "omni-moderationのスコアを基に自動でレポート・削除を行います", + "legacyAiLogChannelLabel": "ログチャンネル", + "legacyAiReportScoreLabel": "レポートスコア閾値", + "legacyAiReportScoreDesc": "このスコア以上でログに報告します(0〜1)", + "legacyAiDeleteScoreLabel": "削除スコア閾値", + "legacyAiDeleteScoreDesc": "このスコア以上でメッセージを自動削除します(0〜1、レポート以上推奨)", + "legacyAiScoreRecommend": "削除スコアはレポートスコア以上を推奨します", + "legacyAiBypassChannelsLabel": "バイパスチャンネル", + "legacyAiBypassChannelsDesc": "このチャンネルのメッセージはAIモデレーションをスキップします", + "legacyAiBypassRolesLabel": "バイパスロール", + "legacyAiBypassRolesDesc": "このロールを持つユーザーはAIモデレーションをスキップします", + "legacyAiBypassStringsLabel": "バイパス文字列", + "legacyAiBypassStringsDesc": "この文字列を含むメッセージはスキップします", + "legacyAiBypassStringPlaceholder": "バイパスする文字列を入力", + "legacyAiBypassStringAdd": "追加", + "noChannel": "チャンネルなし", + "noRole": "ロールなし", + "permissionDenied": "Master権限がないため設定を変更できません", + "saveError": "保存に失敗しました", + "forbiddenTitle": "アクセス権限がありません", + "forbiddenDesc": "このサーバーのモデレーション設定を閲覧・編集するにはMaster権限が必要です。" }, "subscription": { "title": "サブスクリプション", @@ -1881,31 +1903,7 @@ "scheduleEnabled": "有効", "scheduleDeleteConfirm": "このルールを削除しますか?", "scheduleNoRules": "スケジュールルールがありません", - "scheduleAddRuleTitle": "ルールを追加", - "aiModerationModeLabel": "AIモデレーションモード", - "aiModerationModeDesc": "omni-moderationスコアを使った自動AIモデレーションのモードを選択します", - "aiModerationModeOff": "無効", - "aiModerationModeOffDesc": "AIモデレーションを使用しない", - "aiModerationModeLegacy": "レガシー(無料)", - "aiModerationModeLegacyDesc": "スコア閾値のみで判定するシンプルなAIモデレーション", - "aiModerationModeAdvanced": "次世代(準備中)", - "aiModerationModeAdvancedDesc": "AIレーンを使った高度なモデレーション(近日公開)", - "legacyAiSection": "レガシーAIモデレーション設定", - "legacyAiDesc": "omni-moderationのスコアを基に自動でレポート・削除を行います", - "legacyAiLogChannelLabel": "ログチャンネル", - "legacyAiReportScoreLabel": "レポートスコア閾値", - "legacyAiReportScoreDesc": "このスコア以上でログに報告します(0〜1)", - "legacyAiDeleteScoreLabel": "削除スコア閾値", - "legacyAiDeleteScoreDesc": "このスコア以上でメッセージを自動削除します(0〜1、レポート以上推奨)", - "legacyAiScoreRecommend": "削除スコアはレポートスコア以上を推奨します", - "legacyAiBypassChannelsLabel": "バイパスチャンネル", - "legacyAiBypassChannelsDesc": "このチャンネルのメッセージはAIモデレーションをスキップします", - "legacyAiBypassRolesLabel": "バイパスロール", - "legacyAiBypassRolesDesc": "このロールを持つユーザーはAIモデレーションをスキップします", - "legacyAiBypassStringsLabel": "バイパス文字列", - "legacyAiBypassStringsDesc": "この文字列を含むメッセージはスキップします", - "legacyAiBypassStringPlaceholder": "バイパスする文字列を入力", - "legacyAiBypassStringAdd": "追加" + "scheduleAddRuleTitle": "ルールを追加" }, "accountSecurity": { "title": "セキュリティ", From a3a5e9d92984478763757b2f6ffc093da826ca0b Mon Sep 17 00:00:00 2001 From: Cube Team Date: Fri, 5 Jun 2026 19:45:13 +0900 Subject: [PATCH 130/150] Update source file web.json [ci skip] --- en/web.json | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/en/web.json b/en/web.json index d589ecf..f9db23b 100644 --- a/en/web.json +++ b/en/web.json @@ -317,9 +317,9 @@ "legacyAiDesc": "Automatically reports and deletes messages based on omni-moderation scores", "legacyAiLogChannelLabel": "Log Channel", "legacyAiReportScoreLabel": "Report Score Threshold", - "legacyAiReportScoreDesc": "Report to log when score reaches this value (0–1)", + "legacyAiReportScoreDesc": "Lower is more sensitive; flagged messages are reported to the log", "legacyAiDeleteScoreLabel": "Delete Score Threshold", - "legacyAiDeleteScoreDesc": "Auto-delete messages when score reaches this value (0–1, recommended ≥ report score)", + "legacyAiDeleteScoreDesc": "Messages above this value are auto-deleted (recommended ≥ report value)", "legacyAiScoreRecommend": "Delete score should be greater than or equal to report score", "legacyAiBypassChannelsLabel": "Bypass Channels", "legacyAiBypassChannelsDesc": "Messages in these channels skip AI moderation", @@ -334,7 +334,15 @@ "permissionDenied": "You don't have Master permission to change settings", "saveError": "Failed to save", "forbiddenTitle": "Access Denied", - "forbiddenDesc": "You need Master permission to view or edit moderation settings for this server." + "forbiddenDesc": "You need Master permission to view or edit moderation settings for this server.", + "modeLabel": "Moderation mode", + "modeDesc": "Choose how messages are automatically monitored", + "modeOff": "Off", + "modeOffDesc": "No automatic monitoring", + "modeLegacy": "Legacy", + "modeLegacyDesc": "Automatically detects, reports and removes inappropriate messages (free)", + "modeAdvanced": "Next-gen", + "modeAdvancedDesc": "Advanced AI moderation that understands context" }, "subscription": { "title": "Subscription", From a78a6939696d68120be44d0e76a05cee64eadbfe Mon Sep 17 00:00:00 2001 From: Cube Team Date: Fri, 5 Jun 2026 19:45:15 +0900 Subject: [PATCH 131/150] New translations web.json (Japanese) [ci skip] --- ja/web.json | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/ja/web.json b/ja/web.json index 40ea4c9..997f73b 100644 --- a/ja/web.json +++ b/ja/web.json @@ -317,9 +317,9 @@ "legacyAiDesc": "omni-moderationのスコアを基に自動でレポート・削除を行います", "legacyAiLogChannelLabel": "ログチャンネル", "legacyAiReportScoreLabel": "レポートスコア閾値", - "legacyAiReportScoreDesc": "このスコア以上でログに報告します(0〜1)", + "legacyAiReportScoreDesc": "低いほど敏感に検知し、ログに通知します", "legacyAiDeleteScoreLabel": "削除スコア閾値", - "legacyAiDeleteScoreDesc": "このスコア以上でメッセージを自動削除します(0〜1、レポート以上推奨)", + "legacyAiDeleteScoreDesc": "この値を超えたメッセージを自動削除します(通知の値以上を推奨)", "legacyAiScoreRecommend": "削除スコアはレポートスコア以上を推奨します", "legacyAiBypassChannelsLabel": "バイパスチャンネル", "legacyAiBypassChannelsDesc": "このチャンネルのメッセージはAIモデレーションをスキップします", @@ -334,7 +334,15 @@ "permissionDenied": "Master権限がないため設定を変更できません", "saveError": "保存に失敗しました", "forbiddenTitle": "アクセス権限がありません", - "forbiddenDesc": "このサーバーのモデレーション設定を閲覧・編集するにはMaster権限が必要です。" + "forbiddenDesc": "このサーバーのモデレーション設定を閲覧・編集するにはMaster権限が必要です。", + "modeLabel": "モデレーションモード", + "modeDesc": "メッセージの自動監視方法を選択します", + "modeOff": "なし", + "modeOffDesc": "自動監視を行いません", + "modeLegacy": "レガシー版", + "modeLegacyDesc": "不適切なメッセージを自動で検知・通知・削除します(無料)", + "modeAdvanced": "次世代", + "modeAdvancedDesc": "文脈を理解する高度な AI モデレーション" }, "subscription": { "title": "サブスクリプション", From 6bfb8deff5c1a4f872780af293ba06f06362f057 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Sun, 7 Jun 2026 00:12:10 +0900 Subject: [PATCH 132/150] Update source file bot.json [ci skip] --- en/bot.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/en/bot.json b/en/bot.json index f534b29..732e79b 100644 --- a/en/bot.json +++ b/en/bot.json @@ -551,7 +551,8 @@ "success": "✅ Successfully gave role to {user}.", "cant_find_role_or_member": "❌ We couldn't find the role or member.", "failed_add_role": "❌ Failed to give role to {user}.\nPlease check role hierarchy and permissions.", - "already_has_role": "ℹ️ {user} already has the role." + "already_has_role": "ℹ️ {user} already has the role.", + "dangerous_role_blocked": "❌ This role has dangerous permissions. Only users with AntiNuke exemption can grant it." }, "remove": { "success": "✅ Successfully removed role from {user}.", From 512fdbd10a995c7b143c05704960d12b0679b607 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Sun, 7 Jun 2026 00:12:15 +0900 Subject: [PATCH 133/150] New translations bot.json (Japanese) [ci skip] --- ja/bot.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ja/bot.json b/ja/bot.json index 08cf294..c93e24b 100644 --- a/ja/bot.json +++ b/ja/bot.json @@ -551,7 +551,8 @@ "success": "✅ {user} にロールを与えました。", "cant_find_role_or_member": "❌ ロールまたはメンバーが見つかりませんでした。", "failed_add_role": "❌ {user}にロールを与えられませんでした。\nロールの順序と権限を確認してください。", - "already_has_role": "❌ {user} already has the role." + "already_has_role": "❌ {user} already has the role.", + "dangerous_role_blocked": "❌ このロールは危険な権限を持っているため、AntiNuke免除のないユーザーは付与できません。" }, "remove": { "success": "✅ {user} からロールを削除しました。", From 5f4916c908002a241da6c0c575c7e2b13d409eba Mon Sep 17 00:00:00 2001 From: Cube Team Date: Sun, 7 Jun 2026 20:35:00 +0900 Subject: [PATCH 134/150] Update source file web.json [ci skip] --- en/web.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/en/web.json b/en/web.json index f9db23b..2aa8132 100644 --- a/en/web.json +++ b/en/web.json @@ -1911,7 +1911,8 @@ "scheduleEnabled": "Enabled", "scheduleDeleteConfirm": "Delete this rule?", "scheduleNoRules": "No schedule rules", - "scheduleAddRuleTitle": "Add Rule" + "scheduleAddRuleTitle": "Add Rule", + "scheduleEditRuleTitle": "Edit Rule" }, "accountSecurity": { "title": "Security", From 42242f5b095e178b26e2a2ca445f0d7f637d2b81 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Sun, 7 Jun 2026 20:35:07 +0900 Subject: [PATCH 135/150] New translations web.json (Japanese) [ci skip] --- ja/web.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ja/web.json b/ja/web.json index 997f73b..7a0f6c4 100644 --- a/ja/web.json +++ b/ja/web.json @@ -1911,7 +1911,8 @@ "scheduleEnabled": "有効", "scheduleDeleteConfirm": "このルールを削除しますか?", "scheduleNoRules": "スケジュールルールがありません", - "scheduleAddRuleTitle": "ルールを追加" + "scheduleAddRuleTitle": "ルールを追加", + "scheduleEditRuleTitle": "ルールを編集" }, "accountSecurity": { "title": "セキュリティ", From d233359eb254e8f93d375adb8925e5bad9583d4d Mon Sep 17 00:00:00 2001 From: Cube Team Date: Sun, 7 Jun 2026 21:45:42 +0900 Subject: [PATCH 136/150] Update source file web.json [ci skip] --- en/web.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/en/web.json b/en/web.json index 2aa8132..032367b 100644 --- a/en/web.json +++ b/en/web.json @@ -1756,6 +1756,8 @@ "antiNukeDesc": "Detects and responds to destructive server actions (channel deletion, mass bans, etc.)", "antiNukeChannelDeleteLabel": "Channel delete", "antiNukeRoleDeleteLabel": "Role delete", + "antiNukeChannelCreateLabel": "Channel create", + "antiNukeRoleCreateLabel": "Role create", "antiNukeWebhookCreateLabel": "Webhook create", "antiNukeBanKickLabel": "Ban/Kick", "antiNukeRoleGrantLabel": "Role grant", From 49126eec90ac83c9dd925ee284be58cd67fdc9de Mon Sep 17 00:00:00 2001 From: Cube Team Date: Sun, 7 Jun 2026 21:45:44 +0900 Subject: [PATCH 137/150] New translations web.json (Japanese) [ci skip] --- ja/web.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ja/web.json b/ja/web.json index 7a0f6c4..8da3cf5 100644 --- a/ja/web.json +++ b/ja/web.json @@ -1756,6 +1756,8 @@ "antiNukeDesc": "サーバーへの破壊的な操作(チャンネル削除・一括BAN等)を検知・対応します", "antiNukeChannelDeleteLabel": "チャンネル削除", "antiNukeRoleDeleteLabel": "ロール削除", + "antiNukeChannelCreateLabel": "チャンネル作成", + "antiNukeRoleCreateLabel": "ロール作成", "antiNukeWebhookCreateLabel": "Webhook作成", "antiNukeBanKickLabel": "BAN/Kick", "antiNukeRoleGrantLabel": "ロール一括付与", From 7fdaf66c8a69e1174df4a8d69dd87b1bbb28e799 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Sun, 7 Jun 2026 23:53:55 +0900 Subject: [PATCH 138/150] New translations web.json (Japanese) [ci skip] --- ja/web.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ja/web.json b/ja/web.json index 8da3cf5..6f2d182 100644 --- a/ja/web.json +++ b/ja/web.json @@ -995,7 +995,7 @@ "addEmbed": "Embedを追加", "addActionRow": "Action Row を追加", "actionRow": { - "rowN": "Action Row {n}", + "rowN": "アクション行{n}", "typeButtons": "ボタン", "typeSelect": "セレクトメニュー", "addButton": "ボタンを追加", @@ -1818,7 +1818,7 @@ "ruleMentionSpam": "メンションスパム", "ruleMentionSpamDesc": "@user / @role / @here / @everyone のメンションをheatとして加算", "ruleInviteLink": "招待リンク", - "ruleInviteLinkDesc": "無断の Discord 招待URLを検知", + "ruleInviteLinkDesc": "Discord 招待URLを検知", "ruleEmojiSpam": "絵文字スパム", "ruleEmojiSpamDesc": "絵文字1個につき+1%(上限20%/メッセージ)", "ruleCharSpam": "文字スパム", From bb09bb3db32a85fed36e9a2a8ebfbedeb93e5ac6 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Mon, 8 Jun 2026 11:36:10 +0900 Subject: [PATCH 139/150] Update source file bot.json [ci skip] --- en/bot.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/en/bot.json b/en/bot.json index 732e79b..0d46258 100644 --- a/en/bot.json +++ b/en/bot.json @@ -1104,6 +1104,8 @@ "title": "🚨 Moderation Action", "body": "**User:** <@{userId}> ({userTag})\n**Action(s):** {actions}\n**Reason:** {reason}", "default_reason": "Automod Action", + "failed_title": "⚠️ Moderation Action Failed", + "failed_body": "**User:** <@{userId}> ({userTag})\n**Attempted action(s):** {actions}\n**Reason:** {reason}\n\nThe action could not be performed because the target has administrator permission or a role higher than the bot. Please handle this manually.", "btn_ban": "BAN", "btn_kick": "Kick", "btn_unquarantine": "Release", From 0b2381845f97941772da5801460df0792fe3eb95 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Mon, 8 Jun 2026 11:36:11 +0900 Subject: [PATCH 140/150] Update source file web.json [ci skip] --- en/web.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/en/web.json b/en/web.json index 032367b..7164842 100644 --- a/en/web.json +++ b/en/web.json @@ -1811,10 +1811,10 @@ "setupBtn": "Setup", "requesting": "Processing...", "setupDone": "Done", - "discordRegistered": "Registered in Discord", - "discordNotRegistered": "Not registered in Discord", - "discordRegisterBtn": "Register in Discord", - "discordRegistering": "Registering...", + "discordRegistered": "Synced with Discord", + "discordNotRegistered": "Not synced with Discord", + "discordRegisterBtn": "Sync with Discord", + "discordRegistering": "Syncing...", "ruleMentionSpam": "Mention Spam", "ruleMentionSpamDesc": "Adds heat for @user / @role / @here / @everyone mentions", "ruleInviteLink": "Invite Links", @@ -1898,8 +1898,8 @@ "scheduleScheduleType": "Schedule Type", "scheduleTimeRange": "Daily Time Range", "scheduleDateRange": "One-time Date Range", - "scheduleStartTime": "Start Time (UTC)", - "scheduleEndTime": "End Time (UTC)", + "scheduleStartTime": "Start Time (JST)", + "scheduleEndTime": "End Time (JST)", "scheduleStartDate": "Start Date", "scheduleEndDate": "End Date", "scheduleSecurityLevel": "Verification Level", From 140b884c27f927836c41c305574e1725688aa34d Mon Sep 17 00:00:00 2001 From: Cube Team Date: Mon, 8 Jun 2026 11:36:26 +0900 Subject: [PATCH 141/150] New translations bot.json (Japanese) [ci skip] --- ja/bot.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ja/bot.json b/ja/bot.json index c93e24b..57ad362 100644 --- a/ja/bot.json +++ b/ja/bot.json @@ -1104,6 +1104,8 @@ "title": "🚨 モデレーション実行", "body": "**対象:** <@{userId}> ({userTag})\n**実施アクション:** {actions}\n**理由:** {reason}", "default_reason": "自動モデレーションによる処罰", + "failed_title": "⚠️ モデレーション実行失敗", + "failed_body": "**対象:** <@{userId}> ({userTag})\n**試行アクション:** {actions}\n**理由:** {reason}\n\n対象が管理者権限を持っている、またはBotより上位のロールを持っているため、アクションを実行できませんでした。手動で対応してください。", "btn_ban": "BAN", "btn_kick": "キック", "btn_unquarantine": "隔離解除", From ac239b8b801912a3b14844592059f75febae031c Mon Sep 17 00:00:00 2001 From: Cube Team Date: Mon, 8 Jun 2026 11:36:28 +0900 Subject: [PATCH 142/150] New translations web.json (Japanese) [ci skip] --- ja/web.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/ja/web.json b/ja/web.json index 6f2d182..0604bc8 100644 --- a/ja/web.json +++ b/ja/web.json @@ -1811,10 +1811,10 @@ "setupBtn": "セットアップ", "requesting": "処理中...", "setupDone": "完了", - "discordRegistered": "Discord登録済み", - "discordNotRegistered": "Discord未登録", - "discordRegisterBtn": "Discordに登録", - "discordRegistering": "登録中...", + "discordRegistered": "Discordと同期済み", + "discordNotRegistered": "Discord未同期", + "discordRegisterBtn": "Discordと同期", + "discordRegistering": "同期中...", "ruleMentionSpam": "メンションスパム", "ruleMentionSpamDesc": "@user / @role / @here / @everyone のメンションをheatとして加算", "ruleInviteLink": "招待リンク", @@ -1898,8 +1898,8 @@ "scheduleScheduleType": "スケジュール種別", "scheduleTimeRange": "毎日繰り返し(時間帯)", "scheduleDateRange": "一回限り(期間指定)", - "scheduleStartTime": "開始時刻 (UTC)", - "scheduleEndTime": "終了時刻 (UTC)", + "scheduleStartTime": "開始時刻 (JST)", + "scheduleEndTime": "終了時刻 (JST)", "scheduleStartDate": "開始日時", "scheduleEndDate": "終了日時", "scheduleSecurityLevel": "認証レベル", From 88c79d4b820be751d1c9201158bc068b0b3215b8 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Mon, 8 Jun 2026 19:14:23 +0900 Subject: [PATCH 143/150] Update source file bot.json [ci skip] --- en/bot.json | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/en/bot.json b/en/bot.json index 0d46258..7530069 100644 --- a/en/bot.json +++ b/en/bot.json @@ -1122,8 +1122,9 @@ "dm_body": "You have received a warning from **{guildName}**'s auto-moderation. Please review the server rules." }, "notify_owner": { - "dm_title": "⚠️ Owner Notification", - "dm_body": "**Server:** {guildName}\n**Target:** <@{userId}> ({userTag})\n**Reason:** {reason}\n\nThis user had a high trust score so a 24-hour timeout was applied. Please review manually." + "dm_title": "🛡️ Anti-Nuke Detected (Owner Notification)", + "dm_body": "**Server:** {guildName}\n**Target:** <@{userId}> ({userTag})\n**Reason:** {reason}\n**Action applied:** {action}\n\nAnti-Nuke detected a destructive action. Please verify manually that this is not a false positive.", + "no_action": "Could not be applied (manual action required)" }, "appeal_dm": { "quarantine_title": "⚠️ Quarantine Applied", @@ -1231,6 +1232,12 @@ "INACTIVE_CHANNEL": "Posting in Inactive Channel", "NSFW_URL": "NSFW Link", "ANTINUKE": "Anti-Nuke Detection", + "ANTINUKE_CHANNEL_DELETE": "Mass channel deletion", + "ANTINUKE_ROLE_DELETE": "Mass role deletion", + "ANTINUKE_CHANNEL_CREATE": "Mass channel creation", + "ANTINUKE_ROLE_CREATE": "Mass role creation", + "ANTINUKE_WEBHOOK_CREATE": "Mass webhook creation", + "ANTINUKE_BAN_KICK": "Mass member ban/kick", "ANTINUKE_ROLE_GRANT": "Granted dangerous permissions to a role" }, "legacy_automod": { From 5ed15bfe98e6af14bb1cf7ed685d77f7ee583e3a Mon Sep 17 00:00:00 2001 From: Cube Team Date: Mon, 8 Jun 2026 19:14:24 +0900 Subject: [PATCH 144/150] Update source file web.json [ci skip] --- en/web.json | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/en/web.json b/en/web.json index 7164842..851c1b0 100644 --- a/en/web.json +++ b/en/web.json @@ -1913,6 +1913,17 @@ "scheduleEnabled": "Enabled", "scheduleDeleteConfirm": "Delete this rule?", "scheduleNoRules": "No schedule rules", + "scheduleRuleTypeInviteDisableDesc": "Pauses server invite links during the selected time window.", + "scheduleRuleTypeDmDisableDesc": "Pauses member-to-member DMs through the server during the selected time window.", + "scheduleRuleTypeSecurityLevelDesc": "Raises the verification level only during the window, then restores the original level automatically.", + "scheduleTimeRangeHint": "Applied repeatedly every day during this window (JST). Overnight ranges (e.g. 22:00→08:00) are supported.", + "scheduleDateRangeHint": "Applied once between the start and end date/time.", + "schedulePreviewLabel": "Preview", + "schedulePreviewTimeRange": "Every day from {start} to {end} JST, {action}", + "schedulePreviewDateRange": "Between {start} and {end}, {action}", + "scheduleActionInviteDisable": "invite links are paused.", + "scheduleActionDmDisable": "member DMs are paused.", + "scheduleActionSecurityLevel": "the verification level is raised to \"{level}\".", "scheduleAddRuleTitle": "Add Rule", "scheduleEditRuleTitle": "Edit Rule" }, From 404ccbdb05b0b161b5d4de97d00af575d4f1d43e Mon Sep 17 00:00:00 2001 From: Cube Team Date: Mon, 8 Jun 2026 19:14:41 +0900 Subject: [PATCH 145/150] New translations bot.json (Japanese) [ci skip] --- ja/bot.json | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/ja/bot.json b/ja/bot.json index 57ad362..eed48dd 100644 --- a/ja/bot.json +++ b/ja/bot.json @@ -1122,8 +1122,9 @@ "dm_body": "**{guildName}** の自動モデレーションにより警告を受けました。サーバーのルールを確認してください。" }, "notify_owner": { - "dm_title": "⚠️ 管理者通知", - "dm_body": "**サーバー:** {guildName}\n**対象:** <@{userId}> ({userTag})\n**理由:** {reason}\n\nこのユーザーは信頼スコアが高いため24時間タイムアウトを適用しました。手動確認してください。" + "dm_title": "🛡️ Anti-Nuke 検知(オーナー通知)", + "dm_body": "**サーバー:** {guildName}\n**対象:** <@{userId}> ({userTag})\n**理由:** {reason}\n**適用アクション:** {action}\n\nAnti-Nuke が破壊的な操作を検知しました。誤検知でないか手動でご確認ください。", + "no_action": "適用できませんでした(手動対応が必要)" }, "appeal_dm": { "quarantine_title": "⚠️ 隔離(Quarantine)が適用されました", @@ -1231,6 +1232,12 @@ "INACTIVE_CHANNEL": "非アクティブチャンネルへの投稿", "NSFW_URL": "NSFWリンク", "ANTINUKE": "破壊行為(Anti-Nuke)の検出", + "ANTINUKE_CHANNEL_DELETE": "チャンネルの大量削除", + "ANTINUKE_ROLE_DELETE": "ロールの大量削除", + "ANTINUKE_CHANNEL_CREATE": "チャンネルの大量作成", + "ANTINUKE_ROLE_CREATE": "ロールの大量作成", + "ANTINUKE_WEBHOOK_CREATE": "Webhookの大量作成", + "ANTINUKE_BAN_KICK": "メンバーの大量BAN/キック", "ANTINUKE_ROLE_GRANT": "ロールへの危険な権限の付与" }, "legacy_automod": { From 8a991598606ff6945216edb5f62b97c9347d6a7d Mon Sep 17 00:00:00 2001 From: Cube Team Date: Mon, 8 Jun 2026 19:14:43 +0900 Subject: [PATCH 146/150] New translations web.json (Japanese) [ci skip] --- ja/web.json | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/ja/web.json b/ja/web.json index 0604bc8..4457f33 100644 --- a/ja/web.json +++ b/ja/web.json @@ -1913,6 +1913,17 @@ "scheduleEnabled": "有効", "scheduleDeleteConfirm": "このルールを削除しますか?", "scheduleNoRules": "スケジュールルールがありません", + "scheduleRuleTypeInviteDisableDesc": "指定した時間帯はサーバーの招待リンクを一時停止します。", + "scheduleRuleTypeDmDisableDesc": "指定した時間帯はサーバー経由のメンバー間 DM を一時停止します。", + "scheduleRuleTypeSecurityLevelDesc": "指定した時間帯だけ認証レベルを引き上げ、時間外は元のレベルへ自動で戻します。", + "scheduleTimeRangeHint": "毎日この時間帯に繰り返し適用されます(JST)。日をまたぐ指定(例: 22:00→08:00)も可能です。", + "scheduleDateRangeHint": "指定した開始〜終了日時の一度きりで適用されます。", + "schedulePreviewLabel": "プレビュー", + "schedulePreviewTimeRange": "毎日 {start}〜{end} JST の間、{action}", + "schedulePreviewDateRange": "{start} 〜 {end} の間、{action}", + "scheduleActionInviteDisable": "招待リンクを一時停止します。", + "scheduleActionDmDisable": "メンバー間 DM を一時停止します。", + "scheduleActionSecurityLevel": "認証レベルを「{level}」に引き上げます。", "scheduleAddRuleTitle": "ルールを追加", "scheduleEditRuleTitle": "ルールを編集" }, From bf3c92b1d0c214368a42136206b321a25758bd2d Mon Sep 17 00:00:00 2001 From: Cube Team Date: Tue, 9 Jun 2026 02:39:22 +0900 Subject: [PATCH 147/150] Update source file bot.json [ci skip] --- en/bot.json | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/en/bot.json b/en/bot.json index 7530069..ee1622c 100644 --- a/en/bot.json +++ b/en/bot.json @@ -1126,6 +1126,17 @@ "dm_body": "**Server:** {guildName}\n**Target:** <@{userId}> ({userTag})\n**Reason:** {reason}\n**Action applied:** {action}\n\nAnti-Nuke detected a destructive action. Please verify manually that this is not a false positive.", "no_action": "Could not be applied (manual action required)" }, + "scheduled_security": { + "started_title": "🔒 Scheduled Security Started", + "started_body": "**{action}** has started.\nActive window: {range}", + "ended_title": "🔓 Scheduled Security Ended", + "ended_body": "**{action}** has ended and the original state was restored.", + "type": { + "invite_disable": "Invite pause", + "dm_disable": "Member DM pause", + "security_level": "Raised verification level" + } + }, "appeal_dm": { "quarantine_title": "⚠️ Quarantine Applied", "timeout_title": "⚠️ Timeout Applied", From ff46b4cba7e95f52bee844aa20fab3db9fa29990 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Tue, 9 Jun 2026 02:39:24 +0900 Subject: [PATCH 148/150] Update source file web.json [ci skip] --- en/web.json | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/en/web.json b/en/web.json index 851c1b0..3c37738 100644 --- a/en/web.json +++ b/en/web.json @@ -1925,7 +1925,18 @@ "scheduleActionDmDisable": "member DMs are paused.", "scheduleActionSecurityLevel": "the verification level is raised to \"{level}\".", "scheduleAddRuleTitle": "Add Rule", - "scheduleEditRuleTitle": "Edit Rule" + "scheduleEditRuleTitle": "Edit Rule", + "scheduleSave": "Save", + "scheduleSaved": "Saved", + "scheduleDailyHint": "Applied automatically during this window every day (JST). Overnight ranges (e.g. 22:00 → 08:00 next day) are supported.", + "scheduleEnableLog": "Enable logging", + "scheduleEnableLogDesc": "Send a log when this starts and ends.", + "scheduleLogChannel": "Log channel", + "scheduleSelectChannel": "Select a channel", + "scheduleLevelLowDesc": "Only email-verified accounts", + "scheduleLevelMediumDesc": "Only accounts registered on Discord for more than 5 minutes", + "scheduleLevelHighDesc": "Only accounts in this server for more than 10 minutes", + "scheduleLevelVeryHighDesc": "Only phone-verified accounts" }, "accountSecurity": { "title": "Security", From 8a2b0a0f295f8b5c59b94d4f53ae08e216d6b29f Mon Sep 17 00:00:00 2001 From: Cube Team Date: Tue, 9 Jun 2026 02:39:37 +0900 Subject: [PATCH 149/150] New translations bot.json (Japanese) [ci skip] --- ja/bot.json | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/ja/bot.json b/ja/bot.json index eed48dd..25593f1 100644 --- a/ja/bot.json +++ b/ja/bot.json @@ -1126,6 +1126,17 @@ "dm_body": "**サーバー:** {guildName}\n**対象:** <@{userId}> ({userTag})\n**理由:** {reason}\n**適用アクション:** {action}\n\nAnti-Nuke が破壊的な操作を検知しました。誤検知でないか手動でご確認ください。", "no_action": "適用できませんでした(手動対応が必要)" }, + "scheduled_security": { + "started_title": "🔒 スケジュールセキュリティ開始", + "started_body": "**{action}** を開始しました。\n適用時間帯: {range}", + "ended_title": "🔓 スケジュールセキュリティ終了", + "ended_body": "**{action}** を終了し、元の状態に戻しました。", + "type": { + "invite_disable": "招待リンクの一時停止", + "dm_disable": "メンバー間DMの一時停止", + "security_level": "認証レベルの引き上げ" + } + }, "appeal_dm": { "quarantine_title": "⚠️ 隔離(Quarantine)が適用されました", "timeout_title": "⚠️ タイムアウトが適用されました", From 30f1f0829f88e21ea5b7fe18268e7c07c52dffd0 Mon Sep 17 00:00:00 2001 From: Cube Team Date: Tue, 9 Jun 2026 02:39:39 +0900 Subject: [PATCH 150/150] New translations web.json (Japanese) [ci skip] --- ja/web.json | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/ja/web.json b/ja/web.json index 4457f33..f4547c7 100644 --- a/ja/web.json +++ b/ja/web.json @@ -1925,7 +1925,18 @@ "scheduleActionDmDisable": "メンバー間 DM を一時停止します。", "scheduleActionSecurityLevel": "認証レベルを「{level}」に引き上げます。", "scheduleAddRuleTitle": "ルールを追加", - "scheduleEditRuleTitle": "ルールを編集" + "scheduleEditRuleTitle": "ルールを編集", + "scheduleSave": "保存", + "scheduleSaved": "保存しました", + "scheduleDailyHint": "毎日この時間帯に自動で適用されます(JST)。日をまたぐ指定(例: 22:00→翌08:00)も可能です。", + "scheduleEnableLog": "ログを有効にする", + "scheduleEnableLogDesc": "開始・終了時にログを送信します。", + "scheduleLogChannel": "ログを送信するチャンネル", + "scheduleSelectChannel": "チャンネルを選択", + "scheduleLevelLowDesc": "メール認証済みのアカウントのみ", + "scheduleLevelMediumDesc": "Discord登録から5分以上経過したアカウントのみ", + "scheduleLevelHighDesc": "サーバー参加から10分以上経過したアカウントのみ", + "scheduleLevelVeryHighDesc": "電話番号認証済みのアカウントのみ" }, "accountSecurity": { "title": "セキュリティ",