diff --git a/en/bot.json b/en/bot.json index c786e54..940ea2f 100644 --- a/en/bot.json +++ b/en/bot.json @@ -1152,6 +1152,9 @@ "body": "**Target:** <@{userId}> ({userTag})\n**Reason:** {reason}\n\nAutomatic detection confidence was low. Please review this case manually." }, "ai_lane": { + "support_crisis": { + "notice": "This is not a warning or punishment. If you are in crisis, please do not face it alone—reach out to someone you trust or a local crisis service. If you are in immediate danger, contact your local emergency services now." + }, "review": { "title": "🀖 AI Moderation — Review Required", "author": "**Target:** <@{userId}>\n`{userTag}`", @@ -1243,6 +1246,37 @@ "v2_reason": "**📝 Reason:** {reason}", "v2_categories": "**🏷 Categories:** {categories}" }, + "attribution": { + "footer": "-# 🧊 Protected by cube — https://cubeteam.app" + }, + "ai_digest": { + "title": "🧊 **Weekly Moderation Report** ・{range}", + "messages_monitored": "## {count} messages monitored", + "summary_line": "🚚 Detected {detected} ・ 🔚 Actions {actions} ・ 👀 Review {review}", + "category_heading": "Category Breakdown", + "category_row": "{label} {bar} {count}", + "cc_paid": "💳 CC used {consumed} ・ remaining {remaining}", + "cc_free": "💳 {percent}% of monthly free quota used", + "dashboard_button": "📊 View details on dashboard" + }, + "antiraid_summary": { + "title": "Raid Lockdown Report", + "blocked_count": "### Blocked {count} accounts", + "duration_line": "⏱ Detection to convergence: **{duration}**", + "action_breakdown": "🔚 {breakdown}", + "reasons_line": "🧠 Detection basis: {reasons}", + "timeline": { + "detected": "`{time}` 🔍 Suspicious joins detected", + "lockdown": "`{time}` 🔒 Lockdown activated", + "tally": "`{time}` 🔚 Actions tallied", + "converged": "`{time}` ✅ Converged" + }, + "reasons": { + "account_age": "Recently created account", + "no_avatar": "No avatar set", + "join_rate": "High-volume join burst" + } + }, "appeal_modal": { "title": "Submit Appeal", "reason_label": "Reason for Appeal", diff --git a/en/web.json b/en/web.json index 0a617ee..78ad477 100644 --- a/en/web.json +++ b/en/web.json @@ -388,6 +388,8 @@ "advancedViolationStorageDesc": "AI classifies and stores violation reasons in detail. Useful for richer moderation logs, but consumes 2 CC per violation", "modLogCompactLabel": "Compact Log", "modLogCompactDesc": "Show moderator logs as a concise one-line entry. When off (default), logs are shown in detail with thumbnails and confidence gauges", + "aiDigestEnabledLabel": "Weekly Digest", + "aiDigestEnabledDesc": "Automatically post a summary of last week's moderation activity to the mod log every Monday", "nodeEditorLinkLabel": "Node Editor", "nodeEditorLinkDesc": "Visually build and edit the moderation pipeline with nodes", "nodeEditorLockedTooltip": "The node editor is available on a higher plan (NODE_EDITOR)", @@ -519,6 +521,8 @@ }, "aimodEditor": { "title": "Node Editor", + "loadError": "Failed to load the current pipeline. Editing is locked to protect the saved configuration.", + "retry": "Retry", "back": "Back", "save": "Save", "saving": "Saving...", @@ -776,7 +780,7 @@ "cost": "{cc}CC", "charged": "Charged", "free": "Free (no charge)", - "freeRemaining": "Free CC left today: {cc}", + "freeRemaining": "Free CC left this month: {cc}", "partialShortfall": "Some checks were skipped due to insufficient credits" }, "errors": { @@ -1085,6 +1089,12 @@ "title": "Subscription", "desc": "Expand your server's features with a monthly plan" }, + "sizeGuide": { + "lite": "Ideal for servers with up to ~200 messages/day", + "basic": "Ideal for servers with up to ~500 messages/day", + "pro": "Ideal for servers with up to ~1,000 messages/day", + "note": "These are rough estimates for a typical server. Actual usage varies with how active your server is, the volume of images, and your rule settings." + }, "cc": { "title": "Cube Credit", "desc": "One-time credits you can buy as needed" @@ -2127,7 +2137,8 @@ "syncFail": "Sync failed", "cancelAtEnd": "cancels at period end", "syncUserPlaceholder": "User ID", - "confirmSyncUser": "Sync subscription info for user {userId}?" + "confirmSyncUser": "Sync subscription info for user {userId}?", + "openRefundConsole": "Refund Console" }, "blacklist": { "title": "Blacklist", @@ -2216,6 +2227,56 @@ "grantAllOk": "Bulk grant executed", "grantAllFail": "Failed to execute bulk grant" }, + "refund": { + "title": "Stripe Refund & CC Clawback", + "loadConfig": "Load settings", + "proratedEnabled": "Allow prorated refunds as an exception", + "deductPlatformFee": "Deduct actual platform fee for customer exceptions", + "policyWindowDays": "Policy window (days)", + "fixedFeeJpy": "Customer fixed fee (JPY)", + "saveConfig": "Save settings", + "configSaved": "Refund settings saved", + "configSaveFail": "Failed to save refund settings", + "configReason": "Reason for configuration change (audited)", + "confirmConfigChange": "Change refund settings?\nBefore: {before}\nAfter: {after}\nThe reason and both values will be audited.", + "configLoadFail": "Failed to load refund settings", + "ccPurchase": "CC Purchase (Checkout Session)", + "subscriptionInvoice": "Subscription (Invoice)", + "targetId": "Stripe Session / Invoice ID", + "full": "Full refund", + "prorated": "Prorated refund", + "reasonDuplicate": "Duplicate charge", + "reasonTeamFault": "Team fault", + "reasonUnavailable": "Permanent unavailability", + "reasonCustomer": "Customer exception", + "overrideReason": "Reason for policy override (saved to audit log)", + "preview": "Preview refund", + "previewFail": "Could not calculate refund", + "previewAmount": "Refund: {amount} {currency}", + "previewCc": "CC clawback: {clawback} / consumed shortfall: {shortfall}", + "confirmExecute": "Issue this Stripe refund and claw back the associated CC?", + "execute": "Execute refund", + "executeOk": "Refund started ({id}) — {status}", + "executeFail": "Failed to execute refund", + "history": "Refund operations", + "refresh": "Refresh", + "reconcile": "Reconcile with Stripe", + "confirmReconcile": "Reconcile this operation with Stripe? No new refund will be created.", + "reconcileFail": "Failed to reconcile with Stripe", + "historyLoading": "Loading refund history...", + "historyRetry": "Retry refund history", + "historyEmpty": "No refund operations", + "historyUnknown": "Unknown", + "historyError": "Error: {error}", + "statusPreparing": "Preparing", + "statusSubmitting": "Submitting to Stripe", + "statusPending": "Pending", + "statusPendingUnknown": "Submission result unknown", + "statusUnknown": "Reconciliation pending", + "statusRequiresAction": "Manual action required", + "statusSucceeded": "Succeeded", + "statusFailed": "Failed" + }, "economyStats": { "title": "CC Stats & Payment Services Act Monitoring", "desc": "Shows total issued credits and their trend, plus the status against the Payment Services Act threshold (Â¥10,000,000 unused balance).", @@ -2240,7 +2301,19 @@ "consumed": "Consumed", "loadError": "Failed to load data", "noData": "No data", - "retry": "Retry" + "retry": "Retry", + "utilizationTitle": "CC Utilization by Plan", + "utilizationNote": "Annual-billed subscriptions only. Monthly-billed grants cannot be reliably attributed to a subscription plan.", + "utilizationPlan": "Plan", + "utilizationGuildCount": "Guilds", + "utilizationAvg": "Avg", + "utilizationP50": "P50", + "utilizationP90": "P90", + "utilizationHighCount": "Over 90% Guilds", + "highUtilizationTitle": "High Utilization Guilds (Annual, Latest Period)", + "highUtilizationGuildId": "Guild ID", + "highUtilizationMonth": "Month", + "highUtilizationRate": "Utilization" }, "users": { "title": "User Lookup", @@ -2285,6 +2358,9 @@ "providerCost": "Estimated Provider Cost", "grossProfit": "Estimated Gross Profit", "grossMargin": "Gross Margin", + "grossProfitLite": "Estimated Gross Profit (Lite basis)", + "grossMarginLite": "Gross Margin (Lite basis)", + "referenceRateNote": "Reference figures only. Revenue is estimated from paid CC at two flat unit-price baselines (Â¥0.0667/CC = Basic/Pro effective rate, Â¥0.0769/CC = Lite effective rate); actual per-plan revenue allocation is out of scope.", "avgTokens": "Avg Tokens/Call", "summaryNote": "Average tokens/message: {avgTokens}. Estimated revenue from paid CC only: {revenue}.", "unmeasured": "Unmeasured", @@ -2596,6 +2672,8 @@ }, "analytics": { "title": "Moderation Analytics", + "loadError": "Some analytics data could not be loaded. Available results are still shown.", + "retry": "Retry", "rangePicker": { "7d": "Last 7 days", "30d": "Last 30 days" @@ -2636,6 +2714,8 @@ }, "userViolations": { "title": "Violation Log", + "loadError": "Failed to load violation logs.", + "retry": "Retry", "back": "Back", "ruleType": "Rule", "reason": "Reason", @@ -2646,4 +2726,4 @@ "page": "Page {page} of {total}" } } -} \ No newline at end of file +} diff --git a/ja/bot.json b/ja/bot.json index 0495744..a7ed6eb 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": "最終違反日時", @@ -623,7 +623,7 @@ "already_exists": "ナヌザヌ <@{userId}> はすでにその状態であるか、凊眰をスキップしたした。" }, "report": { - "self_error": "自分自身やBotを通報するこずはできたせん。", + "self_error": "自分自身を通報するこずはできたせん。", "reporter_prefix": "通報者: {moderatorTag} — {reason}", "success": "✅ <@{userId}> を通報したした。モデレヌタヌが確認したす。", "modal_title": "メッセヌゞを通報", @@ -1139,7 +1139,7 @@ "v2_failed_hint": "-# 察象が管理者暩限を持っおいる、たたはBotより䞊䜍のロヌルを持っおいるため自動凊眰できたせんでした。䞋のボタンから手動で察応しおください。", "btn_ban": "BAN", "btn_kick": "キック", - "btn_unquarantine": "隔離解陀", + "btn_unquarantine": "誀怜知隔離解陀", "btn_untimeout": "タむムアりト解陀", "btn_false_positive": "誀怜知ずしお解陀", "btn_confirm_spam": "スパム確認", @@ -1152,17 +1152,20 @@ "body": "**察象:** <@{userId}> ({userTag})\n**理由:** {reason}\n\n自動刀定の信頌床が䜎いため、モデレヌタヌによる手動確認が必芁です。" }, "ai_lane": { + "support_crisis": { + "notice": "あなたを責めたり、眰したりするための通知ではありたせん。今ずおも぀らい状況なら、ひずりで抱え蟌たず、信頌できる人や地域の盞談窓口に話しおください。今すぐ危険がある堎合は、地域の緊急通報先ぞ連絡しおください。" + }, "review": { "title": "🀖 AIモデレヌション 芁確認", - "author": "**察象:** <@{userId}>\n`{userTag}`", + "author": "**察象:** <@{userId}> ({userTag})", "verdict": "**刀定:** {label}信頌床 {confidence}%", "verdict_label": "**⚖ 刀定:** {label}", "confidence": "**🎯 信頌床:** `{gauge}`", "severity": "**🔥 深刻床:** `{gauge}`", - "categories": "**🏷 カテゎリ:** {categories}", + "categories": "**カテゎリ:** {categories}", "triggers": "**🚊 発火ルヌル:** {triggers}", - "reason": "**📝 理由:** {reason}", - "jump": "[📚 メッセヌゞぞ移動]({url})", + "reason": "**理由:** {reason}", + "jump": "[メッセヌゞぞ移動]({url})", "btn_jump": "📚 察象メッセヌゞぞ移動", "label_gray": "グレヌ", "label_violation": "違反", @@ -1212,8 +1215,8 @@ "v2_guide": "-# サヌバヌのルヌルを今䞀床ご確認ください。違反が続くず、より重い措眮が取られる堎合がありたす。" }, "notify_owner": { - "dm_title": "🛡 Anti-Nuke 怜知オヌナヌ通知", - "dm_body": "**サヌバヌ:** {guildName}\n**察象:** <@{userId}> ({userTag})\n**理由:** {reason}\n**適甚アクション:** {action}\n\nAnti-Nuke が砎壊的な操䜜を怜知したした。誀怜知でないか手動でご確認ください。", + "dm_title": "⚠ 管理者通知", + "dm_body": "**サヌバヌ:** {guildName}\n**察象:** <@{userId}> ({userTag})\n**理由:** {reason}\n\nこのナヌザヌは信頌スコアが高いため24時間タむムアりトを適甚したした。手動確認しおください。", "no_action": "適甚できたせんでした手動察応が必芁" }, "scheduled_security": { @@ -1230,7 +1233,7 @@ "appeal_dm": { "quarantine_title": "⚠ 隔離Quarantineが適甚されたした", "timeout_title": "⚠ タむムアりトが適甚されたした", - "body": "自動モデレヌションにより **{label}** が適甚されたした。\n\n**🏠 サヌバヌ:** {guildName}\n**📝 理由:** {reason}\n\n-# 誀怜知ず思われる堎合は、䞋のボタンから異議申し立おができたす。", + "body": "**サヌバヌ:** {guildName}\n\n自動モデレヌションにより {label} が適甚されたした。誀怜知ず思われる堎合は、䞋のボタンから異議申し立おができたす。", "quarantine_label": "隔離Quarantine", "timeout_label": "タむムアりト", "btn_appeal": "異議申し立お" @@ -1243,6 +1246,37 @@ "v2_reason": "**📝 理由:** {reason}", "v2_categories": "**🏷 カテゎリ:** {categories}" }, + "attribution": { + "footer": "-# 🧊 Protected by cube — https://cubeteam.app" + }, + "ai_digest": { + "title": "🧊 **今週のモデレヌションレポヌト** ・{range}", + "messages_monitored": "## {count} メッセヌゞを監芖", + "summary_line": "🚚 怜知 {detected} ・ 🔚 凊眰 {actions} ・ 👀 レビュヌ {review}", + "category_heading": "カテゎリ内蚳", + "category_row": "{label} {bar} {count}", + "cc_paid": "💳 CC 消費 {consumed} ・ 残 {remaining}", + "cc_free": "💳 今月の無料枠 {percent}% 消化", + "dashboard_button": "📊 詳现をダッシュボヌドで" + }, + "antiraid_summary": { + "title": "レむド鎮圧レポヌト", + "blocked_count": "### {count}アカりントをブロック", + "duration_line": "⏱ 怜知から収束たで **{duration}**", + "action_breakdown": "🔚 {breakdown}", + "reasons_line": "🧠 怜知根拠: {reasons}", + "timeline": { + "detected": "`{time}` 🔍 異垞な参加を怜知", + "lockdown": "`{time}` 🔒 ロックダりン発動", + "tally": "`{time}` 🔚 凊眰を集蚈", + "converged": "`{time}` ✅ 収束" + }, + "reasons": { + "account_age": "アカりント䜜成日が新しい", + "no_avatar": "アバタヌ未蚭定", + "join_rate": "短時間の倧量参加" + } + }, "appeal_modal": { "title": "異議申し立お", "reason_label": "申し立おの理由", diff --git a/ja/web.json b/ja/web.json index b15730e..c2af240 100644 --- a/ja/web.json +++ b/ja/web.json @@ -351,9 +351,9 @@ "legacyAiDesc": "omni-moderationのスコアを基に自動でレポヌト・削陀を行いたす", "legacyAiLogChannelLabel": "ログチャンネル", "legacyAiReportScoreLabel": "レポヌトスコア閟倀", - "legacyAiReportScoreDesc": "䜎いほど敏感に怜知し、ログに通知したす", + "legacyAiReportScoreDesc": "このスコア以䞊でログに報告したす0〜1", "legacyAiDeleteScoreLabel": "削陀スコア閟倀", - "legacyAiDeleteScoreDesc": "この倀を超えたメッセヌゞを自動削陀したす通知の倀以䞊を掚奚", + "legacyAiDeleteScoreDesc": "このスコア以䞊でメッセヌゞを自動削陀したす0〜1、レポヌト以䞊掚奚", "legacyAiScoreRecommend": "削陀スコアはレポヌトスコア以䞊を掚奚したす", "legacyAiBypassChannelsLabel": "バむパスチャンネル", "legacyAiBypassChannelsDesc": "このチャンネルのメッセヌゞはAIモデレヌションをスキップしたす", @@ -385,9 +385,11 @@ "naturalLanguageRulesNoSurcharge": "ルヌル未蚭定のため远加CCはありたせん", "naturalLanguageRulesPlaceholder": "䟋:\n- 政治・宗教の議論は犁止\n- 18歳未満に䞍適切なコンテンツを送っおはならない\n- 他のナヌザヌぞの䟮蟱的な発蚀は削陀する", "advancedViolationStorageLabel": "高床な違反保存", - "advancedViolationStorageDesc": "AI が違反理由を分類しお保存したす。モデレヌションログの詳现化に圹立ちたすが、2CC/ä»¶ のクレゞットを消費したす", - "modLogCompactLabel": "コンパクトログ", + "advancedViolationStorageDesc": "AI が違反理由を分類しお保存したす。モデレヌションログの詳现化に圹立ちたすが、1CC/ä»¶ のクレゞットを消費したす", + "modLogCompactLabel": "コンパクトなログ", "modLogCompactDesc": "モデレヌタヌログを簡朔な1行衚瀺にしたす。オフ既定では、サムネむルや信頌床ゲヌゞを含む詳现衚瀺になりたす", + "aiDigestEnabledLabel": "週次ダむゞェスト", + "aiDigestEnabledDesc": "毎週月曜に先週のモデレヌション実瞟を mod-log ぞ自動配信したす", "nodeEditorLinkLabel": "ノヌド゚ディタヌ", "nodeEditorLinkDesc": "パむプラむンをノヌドで芖芚的に構築・線集したす", "nodeEditorLockedTooltip": "ノヌド゚ディタヌは䞊䜍プラン (NODE_EDITOR) で利甚できたす", @@ -519,6 +521,8 @@ }, "aimodEditor": { "title": "ノヌド゚ディタヌ", + "loadError": "珟圚のパむプラむンを取埗できたせんでした。保存枈みの蚭定を保護するため線集をロックしおいたす。", + "retry": "再詊行", "back": "戻る", "save": "保存", "saving": "保存䞭...", @@ -540,8 +544,8 @@ }, "handles": { "next": "次ぞ", - "true": "該圓", - "false": "非該圓", + "true": "䞀臎", + "false": "䞍䞀臎", "safe": "安党", "gray": "グレヌ", "violation": "違反", @@ -592,9 +596,9 @@ "max_mentions_hint": "1メッセヌゞあたりのメンションがこの数を超えるず違反ず刀定したす", "sensitivity": "感床", "sensitivity_hint": "スクリヌニングの感床。high ほど倚くのメッセヌゞを違反候補ずしお䞋流に流したす", - "threshold": "確信床しきい倀", + "threshold": "閟倀", "threshold_hint": "盎近の刀定の確信床がこの倀以䞊なら true 偎ぞ分岐したす", - "message": "察象メッセヌゞ", + "message": "メッセヌゞ", "message_hint": "操䜜察象のメッセヌゞ。current で珟圚のメッセヌゞを指したす", "duration": "期間", "duration_hint": "凊眰の期間䟋: 1h, 1d。空欄で無期限になりたす", @@ -603,17 +607,17 @@ "content": "本文", "content_hint": "送信するメッセヌゞの本文", "enableDynamicContext": "動的コンテキスト拡匵", - "enableDynamicContext_hint": "AIが文脈䞍足ず刀断した堎合、远加メッセヌゞを取埗しお再分析したす", - "deniedActions": "陀倖するアクション", - "deniedActions_hint": "遞択したアクションは実行されたせん" + "enableDynamicContext_hint": "AIが文脈䞍足ず刀断した堎合、远加メッセヌゞを取埗しお再分析したす+5CC", + "deniedActions": "蚱可しないアクション (denylist)", + "deniedActions_hint": "ここに列挙したアクションは、AI やポリシヌが決定しおも実行盎前に陀倖されたす。空欄なら埓来どおりの挙動です。有効なキヌ: QUARANTINE, TIMEOUT_24H, TIMEOUT_1H, TIMEOUT_30M, TIMEOUT_10M, TIMEOUT_5M, DELETE_MESSAGE, WARN, SEND_TO_REVIEW_QUEUE, ADD_SUSPICION_LEVEL_1, NOTIFY_OWNER, MARK_COHORT_SUSPICION_LV2, UNQUARANTINE" }, "actionKeys": { "QUARANTINE": "隔離", "TIMEOUT_24H": "24h停止", - "TIMEOUT_1H": "1h停止", - "TIMEOUT_30M": "30m停止", - "TIMEOUT_10M": "10m停止", - "TIMEOUT_5M": "5m停止", + "TIMEOUT_1H": "1時間タむムアりト", + "TIMEOUT_30M": "30分間タむムアりト", + "TIMEOUT_10M": "10分間タむムアりト", + "TIMEOUT_5M": "5分間タむムアりト", "DELETE_MESSAGE": "メッセヌゞ削陀", "WARN": "譊告", "SEND_TO_REVIEW_QUEUE": "レビュヌ送信", @@ -649,7 +653,7 @@ }, "SummaryReport": { "label": "サマリヌレポヌト", - "desc": "ここたでの刀定結果をたずめおログチャンネルにレポヌトずしお送りたす" + "desc": "ここたでの刀定結果をたずめおログチャンネルにレポヌトずしお送りたす (1CC)" }, "HistorySummarizer": { "label": "履歎芁玄", @@ -661,43 +665,43 @@ }, "AntiRaid": { "label": "アンチレむド", - "desc": "短時間の倧量参加・投皿を怜知し、レむドかどうかで該圓/非該圓ぞ分岐したす" + "desc": "短時間の倧量参加・投皿を怜知し、レむドかどうかで䞀臎/䞍䞀臎ぞ分岐したす (0CC)" }, "RegexBlock": { "label": "正芏衚珟ブロック", - "desc": "招埅リンク・詐欺・カスタムパタヌンに該圓するかを正芏衚珟で刀定し、該圓/非該圓ぞ分岐したす" + "desc": "招埅リンク・詐欺・カスタムパタヌンに該圓するかを正芏衚珟で刀定し、䞀臎/䞍䞀臎ぞ分岐したす (0CC)" }, "TextFilter": { "label": "テキストフィルタヌ", - "desc": "メンション数などの機械的な条件に違反するかで、該圓/非該圓ぞ分岐したす" + "desc": "メンション数などの機械的な条件に違反するかで、䞀臎/䞍䞀臎ぞ分岐したす (0CC)" }, "ThreatDb": { "label": "脅嚁DB", - "desc": "既知の脅嚁デヌタベヌスず照合し、ヒットするかで該圓/非該圓ぞ分岐したす" + "desc": "既知の脅嚁デヌタベヌスず照合し、ヒットするかで䞀臎/䞍䞀臎ぞ分岐したす (0CC)" }, "Screen": { "label": "スクリヌニング", - "desc": "軜量AIで䞀次刀定し、違反の疑いがあるかで該圓/非該圓ぞ分岐したす。疑わしいものだけを䞋流のLLMぞ流せたす" + "desc": "軜量AIで䞀次刀定し、違反の疑いがあるかで䞀臎/䞍䞀臎ぞ分岐したす。疑わしいものだけを䞋流のLLMぞ流せたす (0CC)" }, "LiteLlm": { "label": "軜量LLM", - "desc": "軜量AI(Gemini)が内容を読み、safe/gray/violation のいずれかの結果に振り分けお分岐したす" + "desc": "軜量AI(Gemini)が内容を読み、safe/gray/violation のいずれかの結果に振り分けお分岐したす (1CC)" }, "DetailLlm": { "label": "詳现LLM", - "desc": "前科を含めお高粟床AI(Gemini)が詳しく刀定し、違反ず刀定したかどうかで分岐したす" + "desc": "前科を含めお高粟床AI(Gemini)が詳しく刀定し、違反かどうかで䞀臎/䞍䞀臎ぞ分岐したす (3CC)" }, "Confidence": { "label": "確信床分岐", - "desc": "盎近のAI刀定の確信床をしきい倀ず比范し、しきい倀以䞊かで該圓/非該圓ぞ分岐したす" + "desc": "盎近のAI刀定の確信床をしきい倀ず比范し、しきい倀以䞊かで䞀臎/䞍䞀臎ぞ分岐したす (1CC)" }, "ActionPolicy": { "label": "アクションポリシヌ", - "desc": "ここたでの刀定をもずに、実行すべき凊眰の方針を決めたす" + "desc": "ここたでの刀定をもずに、実行すべき凊眰の方針を決めお次ぞ枡したす" }, "ExecuteAction": { "label": "アクション実行", - "desc": "アクションポリシヌで決たった凊眰をたずめお実行したす" + "desc": "決定されたアクションをたずめお実行したす" }, "MessageDelete": { "label": "メッセヌゞ削陀", @@ -705,23 +709,23 @@ }, "Timeout": { "label": "タむムアりト", - "desc": "察象ナヌザヌを指定期間タむムアりト発蚀䞍可にしたす" + "desc": "ナヌザヌを䞀定期間タむムアりトしたす" }, "Kick": { "label": "キック", - "desc": "察象ナヌザヌをサヌバヌからキックしたす" + "desc": "ナヌザヌをサヌバヌからキックしたす" }, "Ban": { "label": "BAN", - "desc": "察象ナヌザヌをBANしたす。過去メッセヌゞの削陀範囲も指定できたす" + "desc": "ナヌザヌをBANしたす" }, "Warn": { "label": "譊告", - "desc": "察象ナヌザヌに譊告を蚘録・通知したす" + "desc": "ナヌザヌに譊告を送りたす" }, "MessageSend": { "label": "メッセヌゞ送信", - "desc": "指定した本文のメッセヌゞをチャンネルに送信したす" + "desc": "メッセヌゞを送信したす" }, "OnError": { "label": "゚ラヌハンドラヌ", @@ -755,7 +759,7 @@ "stepLabel": "ステップ {n}", "branchTaken": "分岐: {branch}", "result": "結果: {result}", - "llmCalled": "LLM", + "llmCalled": "自然蚀語凊理モデル", "llmFailed": "AI呌び出し倱敗", "llmFailedHint": "AI呌び出しが完了したせんでしたsafe刀定ではなく、結果を取埗できおいたせん。", "incompleteWarning": "䞀郚のAI刀定を実行できたせんでした結果は䞍完党です。", @@ -776,7 +780,7 @@ "cost": "{cc}CC", "charged": "課金あり", "free": "無料課金なし", - "freeRemaining": "本日の無料枠残り: {cc} CC", + "freeRemaining": "今月の無料枠残り: {cc} CC", "partialShortfall": "残高䞍足のため䞀郚の刀定をスキップしたした" }, "errors": { @@ -905,7 +909,7 @@ "buyCC": "Cubeクレゞットを賌入", "buyCCPlan": "{name} を賌入", "buyPlan": "{plan} プランを賌入", - "ccNote": "クレゞットは付䞎賌入日から1幎間有効です", + "ccNote": "クレゞットは賌入日から180日間有効です", "prepaidNotice": "本クレゞットは資金決枈法䞊の前払匏支払手段です。有効期限は付䞎発行から1幎です。", "prepaidLink": "前払匏支払手段に関する衚瀺", "linkToServer": "サヌバヌに連携", @@ -949,8 +953,8 @@ "月1回のAIチュヌニングサポヌト", "優先サポヌト" ], - "confirmTitle": "ご賌入内容の最終確認", - "confirmDesc": "以䞋の内容をご確認のうえ、賌入手続きぞお進みください。", + "confirmTitle": "{plan} プランを賌入したすか", + "confirmDesc": "月額 Â¥{price} が請求されたす。い぀でもキャンセルできたす。", "confirmPlanLabel": "プラン", "confirmPriceLabel": "金額皎蟌", "confirmCycleMonthly": "月額 Â¥{price}  毎月自動曎新", @@ -976,7 +980,7 @@ "consentParentalLabel": "保護者から賌入の蚱可を埗おいたす", "consentMinorNotice": "18歳未満の方は、保護者の同意が必芁です。", "consentUnderageError": "申し蚳ありたせんが、13歳未満の方はご賌入いただけたせん。", - "consentDataNote": "入力された生幎月日は幎霢確認および保護者同意の蚘録のためにのみ䜿甚され、圓チヌムが保管したす。Stripe等の決枈代行䌚瀟には提䟛されたせん。", + "consentDataNote": "入力された生幎月日は幎霢確認のためにのみ䜿甚され、決枈凊理のためStripeず共有されたす。", "consentContinue": "同意しお続ける", "consentSubmitting": "確認䞭..." }, @@ -1085,6 +1089,12 @@ "title": "サブスクリプション", "desc": "月額プランでサヌバヌの機胜を拡匵" }, + "sizeGuide": { + "lite": "目安: 〜200メッセヌゞ/日のサヌバヌ", + "basic": "目安: 〜500メッセヌゞ/日のサヌバヌ", + "pro": "目安: 〜1,000メッセヌゞ/日のサヌバヌ", + "note": "目安は平均的なサヌバヌの堎合です。実際の消費はサヌバヌの掻発さ・画像の量・ルヌル蚭定により倉動したす。" + }, "cc": { "title": "Cubeクレゞット", "desc": "必芁な分だけ賌入できる䞀回払いのクレゞット" @@ -1503,7 +1513,7 @@ "addEmbed": "Embedを远加", "addActionRow": "Action Row を远加", "actionRow": { - "rowN": "Action Row {n}", + "rowN": "アクション行{n}", "typeButtons": "ボタン", "typeSelect": "セレクトメニュヌ", "addButton": "ボタンを远加", @@ -1713,9 +1723,7 @@ "webhookRegenerateTitle": "URLを再生成", "webhookRegenerateConfirm": "Webhook URLを再生成するず、珟圚のURLは無効になりたす。続行したすか", "webhookUrlCopied": "コピヌしたした", - "webhookUrlDesc": "このURLにPOSTリク゚ストを送るずワヌクフロヌが起動したす。JSONボディは '{{webhook.payload.key}}' で参照できたす。", - "webhookRegenerateTitle": "URLを再生成", - "webhookRegenerateConfirm": "Webhook URLを再生成するず、珟圚のURLは無効になりたす。続行したすか" + "webhookUrlDesc": "このURLにPOSTリク゚ストを送るずワヌクフロヌが起動したす。JSONボディは '{{webhook.payload.key}}' で参照できたす。" }, "nodes": { "trigger": "トリガヌ", @@ -1972,11 +1980,11 @@ "buttonCustomIdHint": "内郚識別子英数字・ハむフン", "buttonCustomIdPlaceholder": "䟋: confirm-btn", "buttonModeCustomId": "カスタムID", - "buttonModeLinked": "ワヌクフロヌ連携", + "buttonModeLinked": "ワヌクフロヌを連携する", "buttonModeContinue": "続けお実行", "buttonModeContinueHint": "このボタンが抌されるず、同じワヌクフロヌの続きが実行されたす。'{{button.label}}' ず '{{button.index}}' で抌されたボタンを刀別できたす。", - "buttonLinkedWorkflow": "連携するワヌクフロヌ", - "buttonLinkedWorkflowHint": "ボタンを抌したずきに実行されるワヌクフロヌ", + "buttonLinkedWorkflow": "ワヌクフロヌを連携したした", + "buttonLinkedWorkflowHint": "ボタンがクリックされたずきに実行するワヌクフロヌ", "buttonLinkedWorkflowPlaceholder": "ワヌクフロヌを遞択...", "buttonLinkedWorkflowNone": "ワヌクフロヌが芋぀かりたせんでした。", "buttonStyle": "スタむル", @@ -2064,7 +2072,7 @@ "duplicateError": "耇補に倱敗したした" }, "admin": { - "title": "Cube Admin", + "title": "Cube 管理者", "loggedInAs": "ログむン䞭", "exitAdmin": "ダッシュボヌドぞ戻る", "cancel": "キャンセル", @@ -2128,8 +2136,9 @@ "syncOk": "{synced}件同期したした゚ラヌ: {errors}件", "syncFail": "同期に倱敗したした", "cancelAtEnd": "期間終了時にキャンセル", - "syncUserPlaceholder": "User ID", - "confirmSyncUser": "ナヌザヌ {userId} のサブスクリプション情報を同期したすか" + "syncUserPlaceholder": "ナヌザヌID", + "confirmSyncUser": "ナヌザヌ {userId} のサブスクリプション情報を同期したすか", + "openRefundConsole": "返金コン゜ヌル" }, "blacklist": { "title": "ブラックリスト", @@ -2218,6 +2227,56 @@ "grantAllOk": "䞀括付䞎を実行したした", "grantAllFail": "䞀括付䞎に倱敗したした" }, + "refund": { + "title": "Stripe返金・CC剥奪", + "loadConfig": "蚭定を読み蟌む", + "proratedEnabled": "日割り返金を䟋倖的に蚱可", + "deductPlatformFee": "ナヌザヌ郜合では実プラットフォヌム手数料を控陀", + "policyWindowDays": "申請期限日", + "fixedFeeJpy": "ナヌザヌ郜合の固定手数料円", + "saveConfig": "蚭定を保存", + "configSaved": "返金蚭定を保存したした", + "configSaveFail": "返金蚭定の保存に倱敗したした", + "configReason": "蚭定倉曎理由監査ログに保存", + "confirmConfigChange": "返金蚭定を倉曎したすか\n倉曎前: {before}\n倉曎埌: {after}\n倉曎理由ず䞡方の倀が監査ログに保存されたす。", + "configLoadFail": "返金蚭定の取埗に倱敗したした", + "ccPurchase": "CC賌入Checkout Session", + "subscriptionInvoice": "サブスクリプションInvoice", + "targetId": "Stripe Session / Invoice ID", + "full": "完党返金", + "prorated": "日割り返金", + "reasonDuplicate": "重耇決枈", + "reasonTeamFault": "圓チヌムの過倱", + "reasonUnavailable": "恒久的な提䟛䞍胜", + "reasonCustomer": "ナヌザヌ郜合の管理者䟋倖", + "overrideReason": "ポリシヌ倖察応の理由監査ログに保存", + "preview": "返金内容を確認", + "previewFail": "返金内容を蚈算できたせんでした", + "previewAmount": "返金額: {amount} {currency}", + "previewCc": "CC剥奪: {clawback} / 消費枈み䞍足: {shortfall}", + "confirmExecute": "衚瀺された金額をStripeぞ返金し、察象CCを剥奪したすか", + "execute": "返金を実行", + "executeOk": "返金凊理を開始したした{id}— {status}", + "executeFail": "返金の実行に倱敗したした", + "history": "返金凊理履歎", + "refresh": "曎新", + "reconcile": "Stripeず再照合", + "confirmReconcile": "Stripeの状態を再照合したすか新しい返金は䜜成されたせん。", + "reconcileFail": "Stripeずの再照合に倱敗したした", + "historyLoading": "返金履歎を読み蟌み䞭...", + "historyRetry": "返金履歎を再読み蟌み", + "historyEmpty": "返金凊理履歎はありたせん", + "historyUnknown": "䞍明", + "historyError": "゚ラヌ: {error}", + "statusPreparing": "準備䞭", + "statusSubmitting": "Stripeぞ送信䞭", + "statusPending": "凊理埅ち", + "statusPendingUnknown": "送信結果䞍明", + "statusUnknown": "再照合埅ち", + "statusRequiresAction": "手動察応が必芁", + "statusSucceeded": "完了", + "statusFailed": "倱敗" + }, "economyStats": { "title": "CC 統蚈・資金決枈法モニタリング", "desc": "発行枈みクレゞットの合蚈・掚移ず、資金決枈法の基準額未䜿甚残高1,000䞇円に察する状況を衚瀺したす。", @@ -2242,7 +2301,19 @@ "consumed": "消費", "loadError": "デヌタの取埗に倱敗したした", "noData": "デヌタがありたせん", - "retry": "再詊行" + "retry": "再詊行", + "utilizationTitle": "プラン別 CC 消化率", + "utilizationNote": "幎払いサブスクのみ察象です。月払いの付䞎は賌入ず区別できないため集蚈察象倖です。", + "utilizationPlan": "プラン", + "utilizationGuildCount": "ギルド数", + "utilizationAvg": "平均", + "utilizationP50": "P50", + "utilizationP90": "P90", + "utilizationHighCount": "90%超のギルド数", + "highUtilizationTitle": "消化率が高いギルド幎払い・盎近期", + "highUtilizationGuildId": "ギルドID", + "highUtilizationMonth": "付䞎月", + "highUtilizationRate": "消化率" }, "users": { "title": "ナヌザヌ怜玢", @@ -2258,7 +2329,7 @@ "aiStats": { "title": "AIモデレヌション統蚈", "desc": "AIモデレヌションの実利甚・CC・掚定原䟡・採算", - "guildIdPlaceholder": "Guild ID空欄で党䜓統蚈", + "guildIdPlaceholder": "Guild ID を入力", "scopeLabel": "衚瀺範囲", "scopeGlobal": "党䜓", "scopeGuild": "Guild指定", @@ -2287,6 +2358,9 @@ "providerCost": "掚定プロバむダ原䟡", "grossProfit": "掚定粗利", "grossMargin": "粗利率", + "grossProfitLite": "掚定粗利Lite基準", + "grossMarginLite": "粗利率Lite基準", + "referenceRateNote": "参考衚瀺です。収益は有償CCに2぀の参考単䟡¥0.0667/CC = Basic/Pro実効単䟡、¥0.0769/CC = Lite実効単䟡を掛けた抂算倀であり、プラン別の正確な収益按分はスコヌプ倖です。", "avgTokens": "平均トヌクン/回", "summaryNote": "平均トヌクン/メッセヌゞ: {avgTokens}。掚定売䞊は有償CCのみから算出: {revenue}。", "unmeasured": "未蚈枬", @@ -2300,7 +2374,7 @@ "detail": "詳现LLM", "confidence": "Confidence", "classify": "Classify", - "noData": "デヌタがありたせん。Guild ID は任意です。空欄で怜玢するず党䜓統蚈を衚瀺したす。", + "noData": "デヌタがありたせん。衚瀺範囲を遞択しお怜玢しおください。", "loading": "読み蟌み䞭...", "dailyTrend": "日別掚移", "nodeBreakdown": "ノヌド別内蚳" @@ -2399,10 +2473,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": "招埅リンク", @@ -2413,8 +2487,8 @@ "ruleCharSpamDesc": "同䞀文字の連続・Zalgoテキストを怜知", "ruleUrlScan": "URLスキャン", "ruleUrlScanDesc": "短瞮URL展開 → Safe Browsing APIで悪意あるURLを怜知", - "ruleImageHash": "スパム画像ブロック", - "ruleImageHashDesc": "Cubeのスパム・NSFW画像デヌタベヌスず照合し、䞀臎した画像を自動削陀したす", + "ruleImageHash": "画像ハッシュ", + "ruleImageHashDesc": "既知スパム・NSFW画像の照合pHash", "ruleCrossChannel": "クロスチャンネル", "ruleCrossChannelDesc": "短時間に耇数チャンネルぞの類䌌投皿を怜知", "rulePhishing": "フィッシング", @@ -2486,8 +2560,8 @@ "scheduleScheduleType": "スケゞュヌル皮別", "scheduleTimeRange": "毎日繰り返し時間垯", "scheduleDateRange": "䞀回限り期間指定", - "scheduleStartTime": "開始時刻 (JST)", - "scheduleEndTime": "終了時刻 (JST)", + "scheduleStartTime": "開始時刻 (UTC)", + "scheduleEndTime": "終了時刻 (UTC)", "scheduleStartDate": "開始日時", "scheduleEndDate": "終了日時", "scheduleSecurityLevel": "認蚌レベル", @@ -2525,7 +2599,6 @@ "scheduleLevelMediumDesc": "Discord登録から5分以䞊経過したアカりントのみ", "scheduleLevelHighDesc": "サヌバヌ参加から10分以䞊経過したアカりントのみ", "scheduleLevelVeryHighDesc": "電話番号認蚌枈みのアカりントのみ", - "unknownUser": "䞍明", "tierRoutingSection": "重芁床別ログルヌティング", "tierRoutingDesc": "重芁床ティアに応じおモデレヌションログの送信先チャンネルずメンションロヌルを振り分けたす", "tierRoutingFallbackNote": "チャンネル未蚭定のティアは、䞊のデフォルトログチャンネルにフォヌルバックしたす。", @@ -2599,6 +2672,8 @@ }, "analytics": { "title": "モデレヌション アナリティクス", + "loadError": "䞀郚の分析デヌタを取埗できたせんでした。取埗できたデヌタは匕き続き衚瀺しおいたす。", + "retry": "再詊行", "rangePicker": { "7d": "過去7日", "30d": "過去30日" @@ -2639,6 +2714,8 @@ }, "userViolations": { "title": "違反ログ", + "loadError": "違反ログの取埗に倱敗したした。", + "retry": "再詊行", "back": "戻る", "ruleType": "ルヌル", "reason": "理由", @@ -2649,4 +2726,4 @@ "page": "ペヌゞ {page} / {total}" } } -} \ No newline at end of file +}