import 'package:flutter/material.dart';

/// Genex Admin App (Issuer Console) - i18n 多语言支持
///
/// 使用方式: context.t('key') 或 AppLocalizations.of(context).get('key')
/// 支持语言: zh_CN(默认), en_US, ja_JP
class AppLocalizations {
  final Locale locale;
  late final Map<String, String> _strings;

  AppLocalizations(this.locale) {
    final key = locale.countryCode != null && locale.countryCode!.isNotEmpty
        ? '${locale.languageCode}_${locale.countryCode}'
        : locale.languageCode;

    _strings = _allStrings[key] ?? _allStrings[locale.languageCode] ?? _zhCN;
  }

  static AppLocalizations of(BuildContext context) {
    return Localizations.of<AppLocalizations>(context, AppLocalizations)!;
  }

  /// 获取翻译字符串，找不到时 fallback 到中文，再找不到返回 key
  String get(String key) => _strings[key] ?? _zhCN[key] ?? key;

  static const Map<String, Map<String, String>> _allStrings = {
    'zh': _zhCN,
    'zh_CN': _zhCN,
    'en': _enUS,
    'en_US': _enUS,
    'ja': _jaJP,
    'ja_JP': _jaJP,
  };

  // ================================================================
  // 中文 (简体)
  // ================================================================
  static const Map<String, String> _zhCN = {
    // ── Common ──
    'app_name': '企业券信',
    'confirm': '确认',
    'cancel': '取消',
    'save': '保存',
    'delete': '删除',
    'edit': '编辑',
    'search': '搜索',
    'loading': '加载中...',
    'retry': '重试',
    'done': '完成',
    'next': '下一步',
    'back': '返回',
    'close': '关闭',
    'more': '更多',
    'all': '全部',
    'yes': '是',
    'no': '否',
    'export': '导出',
    'view': '查看',
    'submit': '提交',
    'prev_step': '上一步',
    'view_all': '查看全部',

    // ── Tabs (bottom nav) ──
    'tab_dashboard': '数据概览',
    'tab_coupons': '券管理',
    'tab_redemption': '核销',
    'tab_finance': '财务',
    'tab_mine': '我的',

    // ── Login ──
    'login_title': '券信 发行方控制台',
    'login_subtitle': '登录您的企业账号管理券发行',
    'login_phone': '手机号',
    'login_phone_hint': '请输入企业管理员手机号',
    'login_code': '验证码',
    'login_get_code': '获取验证码',
    'login_agree_prefix': '我已阅读并同意',
    'login_agreement': '《发行方服务协议》',
    'login_button': '登录',
    'login_register': '还没有账号？申请入驻',
    'login_error_phone': '请输入手机号',
    'login_error_code': '请输入6位验证码',
    'login_error_network': '网络错误，请稍后重试',
    'login_code_sent': '验证码已发送',

    // ── Onboarding ──
    'onboarding_title': '企业入驻',
    'onboarding_step_company': '企业信息',
    'onboarding_step_documents': '资质上传',
    'onboarding_step_contact': '联系人',
    'onboarding_step_review': '审核中',
    'onboarding_submit_review': '提交审核',
    'onboarding_company_title': '企业基本信息',
    'onboarding_company_subtitle': '请填写真实的企业信息，用于入驻审核',
    'onboarding_company_name': '企业名称',
    'onboarding_company_name_hint': '请输入企业全称',
    'onboarding_credit_code': '统一社会信用代码',
    'onboarding_credit_code_hint': '请输入18位信用代码',
    'onboarding_company_type': '企业类型',
    'onboarding_type_restaurant': '餐饮企业',
    'onboarding_type_retail': '零售企业',
    'onboarding_type_entertainment': '娱乐/文旅',
    'onboarding_type_other': '其他',
    'onboarding_company_address': '企业地址',
    'onboarding_company_address_hint': '请输入企业注册地址',
    'onboarding_ai_compliance': 'AI 合规助手',
    'onboarding_ai_compliance_desc': '填写信息后，AI将自动检查合规要求',
    'onboarding_doc_title': '资质文件上传',
    'onboarding_doc_subtitle': '请上传清晰的企业资质文件',
    'onboarding_doc_license': '营业执照',
    'onboarding_doc_id': '法人身份证（正反面）',
    'onboarding_doc_cert': '行业资质证书（可选）',
    'onboarding_required': '*必填',
    'onboarding_upload': '点击上传',
    'onboarding_contact_title': '联系人信息',
    'onboarding_contact_name': '联系人姓名',
    'onboarding_contact_phone': '联系人手机号',
    'onboarding_contact_email': '企业邮箱',
    'onboarding_contact_role': '职位/角色',
    'onboarding_review_title': '审核中',
    'onboarding_review_desc': '您的入驻申请已提交，预计1-3个工作日内完成审核',
    'onboarding_back_login': '返回登录',
    'onboarding_approved_title': '审核通过',
    'onboarding_approved_desc': '恭喜！您已获得白银级初始额度',
    'onboarding_enter_console': '进入控制台',
    'onboarding_rejected_title': '审核未通过',
    'onboarding_rejected_desc': '原因：资质文件不清晰，请重新上传',
    'onboarding_resubmit': '重新提交',

    // ── Dashboard ──
    'dashboard_title': '数据概览',
    'dashboard_gold_issuer': '黄金发行方',
    'dashboard_total_issued': '总发行量',
    'dashboard_redemption_rate': '核销率',
    'dashboard_sales_revenue': '销售收入',
    'dashboard_withdrawable': '可提现',
    'dashboard_ai_insight': 'AI 洞察',
    'dashboard_ai_insight_content': '您的餐饮券本周销量下降15%，建议周末推出限时折扣活动提升销量。',
    'dashboard_dismiss': '忽略',
    'dashboard_accept': '采纳建议',
    'dashboard_credit_rating': '信用等级 AA',
    'dashboard_credit_gap': '距离 AAA 还差 12 分',
    'dashboard_improve_suggestion': '提升建议',
    'dashboard_issue_quota': '发行额度',
    'dashboard_used_percent': '已用 76%',
    'dashboard_sales_trend': '销售趋势',
    'dashboard_last_7_days': '近7天',
    'dashboard_sales_chart': '销售趋势图表',
    'dashboard_recent_activity': '最近动态',

    // ── User Portrait ──
    'user_portrait_title': '用户画像',
    'user_portrait_export': '导出',
    'user_portrait_total_buyers': '总购买用户',
    'user_portrait_mau': '月活用户',
    'user_portrait_avg_price': '平均客单价',
    'user_portrait_repurchase_rate': '复购率',
    'user_portrait_age_dist': '年龄分布',
    'user_portrait_geo_dist': '地域分布 (Top 5)',
    'user_portrait_other': '其他',
    'user_portrait_preference': '消费偏好',
    'user_portrait_dining': '餐饮',
    'user_portrait_shopping': '购物',
    'user_portrait_entertainment': '娱乐',
    'user_portrait_travel': '旅行',
    'user_portrait_repurchase_funnel': '复购漏斗',
    'user_portrait_first_purchase': '首次购买',
    'user_portrait_2nd_purchase': '2次购买',
    'user_portrait_3_5_purchase': '3-5次',
    'user_portrait_6_10_purchase': '6-10次',
    'user_portrait_10_plus_purchase': '10次以上',
    'user_portrait_ai_insight': 'AI 用户洞察',
    'user_portrait_core_users': '核心用户群体',
    'user_portrait_repurchase_advice': '复购提升建议',
    'user_portrait_geo_opportunity': '地域扩展机会',
    'user_portrait_churn_warning': '流失预警',
    'user_portrait_core_users_desc': '25-34岁女性用户占比38%，贡献42%的消费额，建议针对此群体推出专属优惠',
    'user_portrait_repurchase_advice_desc': '复购率34.2%低于行业45%，建议设置阶梯折扣或会员积分计划',
    'user_portrait_geo_opportunity_desc': '德克萨斯州增长率最高(+25%)，建议加大该区域推广投入',
    'user_portrait_churn_warning_desc': '过去30天有856名用户未活跃，建议通过推送券提醒唤回',

    // ── Coupon List ──
    'coupon_list_title': '券管理',
    'coupon_list_fab': '发券',
    'coupon_list_empty': '暂无券数据',
    'coupon_list_ai_suggestion': '建议：周末发行餐饮券销量通常提升30%',
    'coupon_filter_all': '全部',
    'coupon_filter_on_sale': '在售中',
    'coupon_filter_sold_out': '已售罄',
    'coupon_filter_pending': '待审核',
    'coupon_filter_delisted': '已下架',
    'coupon_stat_issued': '发行量',
    'coupon_stat_sold': '已售',
    'coupon_stat_redeemed': '已核销',
    'coupon_stat_rate': '核销率',
    'coupon_face_value': '面值',

    // ── Create Coupon ──
    'create_coupon_title': '发行新券',
    'create_coupon_save_draft': '存为草稿',
    'create_coupon_step_template': '选择模板',
    'create_coupon_step_info': '基本信息',
    'create_coupon_step_rules': '规则设置',
    'create_coupon_step_preview': '预览确认',
    'create_coupon_select_template': '选择券模板',
    'create_coupon_select_template_desc': '选择适合您业务场景的券类型',
    'create_coupon_tpl_discount': '折扣券',
    'create_coupon_tpl_discount_desc': '按比例打折',
    'create_coupon_tpl_voucher': '代金券',
    'create_coupon_tpl_voucher_desc': '抵扣固定金额',
    'create_coupon_tpl_gift': '礼品卡',
    'create_coupon_tpl_gift_desc': '可充值消费',
    'create_coupon_tpl_stored': '储值券',
    'create_coupon_tpl_stored_desc': '预存金额消费',
    'create_coupon_basic_info': '基本信息',
    'create_coupon_name': '券名称',
    'create_coupon_name_hint': '如：¥25 星巴克礼品卡',
    'create_coupon_face_value': '面值 (\$)',
    'create_coupon_face_value_hint': '输入面值金额',
    'create_coupon_issue_price': '发行价 (\$)',
    'create_coupon_issue_price_hint': '通常低于面值',
    'create_coupon_quantity': '发行数量',
    'create_coupon_quantity_hint': '本次发行总量',
    'create_coupon_expiry': '有效期截止日（最长12个月）',
    'create_coupon_description': '券描述（可选）',
    'create_coupon_description_hint': '详细描述使用规则',
    'create_coupon_rules': '规则设置',
    'create_coupon_transferable': '允许转让',
    'create_coupon_transferable_desc': '消费者可在二级市场转售此券',
    'create_coupon_max_resale': '最大转售次数',
    'create_coupon_refund_policy': '退款策略',
    'create_coupon_refund_window': '退款窗口（天）',
    'create_coupon_auto_refund': '允许自动退款',
    'create_coupon_auto_refund_desc': '窗口期内用户可直接退款无需审核',
    'create_coupon_stackable': '可叠加使用',
    'create_coupon_stackable_desc': '同一订单可使用多张此券',
    'create_coupon_min_purchase': '最低消费金额 (\$，可选)',
    'create_coupon_store_limit': '限定门店（可选）',
    'create_coupon_store_limit_hint': '留空则全部门店可用',
    'create_coupon_preview': '预览确认',
    'create_coupon_preview_desc': '请确认以下信息，提交后将进入审核流程',
    'create_coupon_template_label': '模板',
    'create_coupon_detail_transferable': '可转让',
    'create_coupon_detail_refund_window': '退款窗口',
    'create_coupon_detail_auto_refund': '自动退款',
    'create_coupon_review_notice': '提交后将自动进入平台审核，审核通过后券将自动上架销售',
    'create_coupon_submit_success': '提交成功',
    'create_coupon_submit_desc': '您的券已提交审核，预计1-2个工作日内完成。',
    'create_coupon_submit_error': '提交失败',
    'create_coupon_ok': '确定',
    'create_coupon_day_unit': ' 天',
    'create_coupon_ai_price_suggestion': 'AI建议：同类券发行价通常为面值的85%，建议定价 \$21.25',
    'create_coupon_face_value_short': '面值',
    'create_coupon_issue_price_short': '发行价',
    'create_coupon_quantity_short': '数量',
    'create_coupon_max_times': '最多',
    'create_coupon_times': '次',

    // ── Coupon Detail ──
    'coupon_detail_title': '券详情',
    'coupon_detail_edit': '编辑信息',
    'coupon_detail_reissue': '增发',
    'coupon_detail_delist': '下架',
    'coupon_detail_recall_unsold': '召回未售出',
    'coupon_detail_status_on_sale': '在售中',
    'coupon_detail_sales_data': '销售数据',
    'coupon_detail_sales_income': '销售收入',
    'coupon_detail_breakage_income': 'Breakage收入（过期券）',
    'coupon_detail_platform_fee': '平台手续费',
    'coupon_detail_net_income': '净收入',
    'coupon_detail_daily_trend': '日销量趋势',
    'coupon_detail_secondary_market': '二级市场分析',
    'coupon_detail_listing_count': '挂单数',
    'coupon_detail_avg_resale_price': '平均转售价',
    'coupon_detail_avg_discount_rate': '平均折扣率',
    'coupon_detail_resale_volume': '转售成交量',
    'coupon_detail_resale_amount': '转售成交额',
    'coupon_detail_price_chart': '价格走势K线',
    'coupon_detail_financing_effect': '融资效果',
    'coupon_detail_cash_advance': '现金提前回笼',
    'coupon_detail_avg_advance_days': '平均提前回笼天数',
    'coupon_detail_financing_cost': '融资成本',
    'coupon_detail_equiv_annual_rate': '等效年利率',
    'coupon_detail_recent_redemptions': '最近核销记录',
    'coupon_detail_recall_title': '召回未售出券',
    'coupon_detail_recall_desc': '确认召回所有未售出的券？此操作不可逆。',
    'coupon_detail_confirm_recall': '确认召回',
    'coupon_detail_delist_title': '紧急下架',
    'coupon_detail_delist_desc': '确认下架此券？下架后消费者将无法购买。',
    'coupon_detail_delist_reason': '下架原因',
    'coupon_detail_confirm_delist': '确认下架',

    // ── Batch Operations ──
    'batch_title': '批量操作',
    'batch_history_tooltip': '操作历史',
    'batch_tab_issue': '批量发行',
    'batch_tab_recall': '批量召回',
    'batch_tab_price': '批量调价',
    'batch_progress_label': '批量操作进行中...',
    'batch_select_template': '选择券模板',
    'batch_issue_quantity': '发行数量',
    'batch_validity_range': '有效期范围',
    'batch_custom_quantity_hint': '输入自定义数量',
    'batch_custom_quantity': '自定义数量',
    'batch_date_range_hint': '点击选择有效期范围',
    'batch_preview': '发行预览',
    'batch_preview_template': '券模板',
    'batch_preview_quantity': '发行数量',
    'batch_preview_validity': '有效期',
    'batch_preview_total_value': '预估总面值',
    'batch_not_selected': '未选择',
    'batch_not_set': '未设置',
    'batch_unit_sheets': ' 张',
    'batch_confirm_issue': '确认批量发行',
    'batch_confirm_issue_desc': '将发行 {count} 张 {template}，确认执行？',
    'batch_filter_category': '按类别筛选',
    'batch_filter_status': '按状态筛选',
    'batch_matching_coupons': '符合条件的券',
    'batch_select_all': '全选',
    'batch_deselect_all': '取消全选',
    'batch_remaining': '剩余',
    'batch_recall_reason': '召回原因',
    'batch_recall_reason_hint': '请输入批量召回原因（必填）',
    'batch_confirm_recall': '确认召回',
    'batch_confirm_recall_title': '确认批量召回',
    'batch_confirm_recall_desc': '将召回 {count} 张券，此操作不可撤销。',
    'batch_recall_reason_label': '原因',
    'batch_price_adjust_ratio': '价格调整比例',
    'batch_affected_coupons': '受影响的券',
    'batch_current_price': '当前价',
    'batch_price_decrease_hint': '降价 {pct}% 预计可提升销量 {impact}%',
    'batch_price_increase_hint': '涨价 {pct}% 预计利润提升 {impact}%',
    'batch_price_no_change': '当前价格不变',
    'batch_confirm_price': '确认批量调价',
    'batch_confirm_price_desc': '将对 4 种券批量调价 {pct}%，确认执行？',
    'batch_operation_history': '操作历史',
    'batch_operation_complete': '批量操作完成',
    'batch_status_on_sale': '在售中',
    'batch_status_sold': '已售出',
    'batch_status_expired': '已过期',

    // ── Redemption ──
    'redemption_title': '核销管理',
    'redemption_tab_scan': '扫码核销',
    'redemption_tab_history': '核销记录',
    'redemption_scan_hint': '将券码对准扫描框',
    'redemption_manual_hint': '手动输入券码',
    'redemption_redeem': '核销',
    'redemption_batch': '批量核销',
    'redemption_today_title': '今日核销',
    'redemption_today_count': '核销次数',
    'redemption_today_amount': '核销金额',
    'redemption_today_stores': '门店数',
    'redemption_confirm_title': '核销确认',
    'redemption_confirm_button': '确认核销',
    'redemption_batch_title': '批量核销',
    'redemption_batch_desc': '输入多个券码，每行一个',
    'redemption_batch_hint': '粘贴券码列表...',

    // ── Finance ──
    'finance_title': '财务管理',
    'finance_tab_overview': '概览',
    'finance_tab_transactions': '交易明细',
    'finance_tab_reconciliation': '对账报表',
    'finance_export_title': '导出数据',
    'finance_export_csv': '导出 CSV',
    'finance_export_excel': '导出 Excel',
    'finance_export_pdf': '导出 PDF',
    'finance_withdrawable': '可提现余额',
    'finance_withdraw': '提现',
    'finance_sales_income': '销售收入',
    'finance_breakage_income': 'Breakage收入',
    'finance_platform_fee': '平台手续费',
    'finance_pending_settlement': '待结算',
    'finance_withdrawn': '已提现',
    'finance_total_income': '总收入',
    'finance_guarantee_title': '保证金与冻结款',
    'finance_guarantee_deposit': '已缴纳保证金',
    'finance_frozen_sales': '冻结销售款',
    'finance_frozen_ratio': '冻结比例',
    'finance_auto_freeze': '自动冻结销售款',
    'finance_auto_freeze_desc': '开启后自动冻结20%销售额以提升信用',
    'finance_revenue_trend': '收入趋势',
    'finance_revenue_chart': '月度收入趋势图',
    'finance_generate_report': '生成新对账单',

    // ── Reconciliation ──
    'reconciliation_title': '对账与结算',
    'reconciliation_export_tooltip': '导出报表',
    'reconciliation_period_day': '日',
    'reconciliation_period_week': '周',
    'reconciliation_period_month': '月',
    'reconciliation_period_quarter': '季度',
    'reconciliation_expected': '应结金额',
    'reconciliation_settled': '已结金额',
    'reconciliation_pending': '待结金额',
    'reconciliation_discrepancy_amount': '差异金额',
    'reconciliation_auto_title': '自动对账',
    'reconciliation_auto_last_run': '上次运行: 今天 06:00',
    'reconciliation_auto_running': '运行中',
    'reconciliation_match_rate': '匹配率',
    'reconciliation_matched': '已匹配',
    'reconciliation_to_check': '待核查',
    'reconciliation_has_diff': '有差异',
    'reconciliation_detail_title': '对账明细',
    'reconciliation_col_period': '期间',
    'reconciliation_col_expected': '应结',
    'reconciliation_col_actual': '实结',
    'reconciliation_col_diff': '差异',
    'reconciliation_col_status': '状态',
    'reconciliation_status_done': '已对账',
    'reconciliation_status_diff': '有差异',
    'reconciliation_status_pending': '待对账',
    'reconciliation_discrepancy_title': '差异调查',
    'reconciliation_pending_items': '项待处理',
    'reconciliation_discrepancy_investigating': '调查中',
    'reconciliation_discrepancy_resolved': '已解决',
    'reconciliation_discrepancy_amount_label': '差异金额',
    'reconciliation_export_title': '导出报表',
    'reconciliation_export_dialog_title': '导出对账报表',

    // ── Financing Analysis ──
    'financing_title': '融资效果分析',
    'financing_refresh_tooltip': '刷新数据',
    'financing_export_tooltip': '导出报告',
    'financing_total_amount': '融资总额',
    'financing_avg_rate': '平均利率',
    'financing_count': '融资笔数',
    'financing_utilization': '资金利用率',
    'financing_lifecycle': '融资生命周期',
    'financing_stage_submitted': '申请提交',
    'financing_stage_approved': '审批通过',
    'financing_stage_funded': '资金到账',
    'financing_stage_in_use': '使用中',
    'financing_stage_repayment': '还款期',
    'financing_stage_settled': '结清',
    'financing_stage_tbd': '待定',
    'financing_cost_benefit': '成本效益分析',
    'financing_interest_cost': '利息成本',
    'financing_annual_rate': '年化',
    'financing_generated_income': '产生收入',
    'financing_income_from_financing': '利用融资收入',
    'financing_net_benefit': '净收益',
    'financing_roi': '投资回报率 (ROI)',
    'financing_cost_ratio': '收益/成本比',
    'financing_liquidity': '流动性指标',
    'financing_quick_ratio': '速动比率 (Quick Ratio)',
    'financing_current_ratio': '流动比率 (Current Ratio)',
    'financing_status_healthy': '健康',
    'financing_status_good': '良好',
    'financing_cashflow_forecast': '现金流预测',
    'financing_this_month_inflow': '本月预计流入',
    'financing_this_month_outflow': '本月预计流出',
    'financing_net_cashflow': '净现金流',
    'financing_next_month_inflow': '下月预计流入',
    'financing_next_month_outflow': '下月预计流出',
    'financing_next_month_net': '下月净现金流',
    'financing_risk_title': '风险指标',
    'financing_default_rate': '违约率',
    'financing_overdue_rate': '逾期率',
    'financing_concentration': '集中度',
    'financing_default_detail': '违约率 (Default Rate)',
    'financing_default_desc': '低于行业平均 1.5%',
    'financing_overdue_detail': '逾期率 (Overdue Rate)',
    'financing_overdue_desc': '接近预警线 3.0%，需关注',
    'financing_concentration_detail': '集中度风险 (Concentration)',
    'financing_concentration_desc': '最大单笔占比 35%，建议分散',
    'financing_ai_title': 'AI 融资策略建议',
    'financing_ai_subtitle': '基于您的经营数据智能分析',
    'financing_priority_high': '高优先',
    'financing_priority_medium': '中优先',
    'financing_get_detail_plan': '获取详细融资方案',

    // ── Credit ──
    'credit_title': '信用评级',
    'credit_score_label': '信用等级 AA',
    'credit_gap_label': '距离 AAA 等级还差 8 分',
    'credit_factors': '评分因子',
    'credit_factor_redemption': '核销率',
    'credit_factor_breakage': '沉淀控制',
    'credit_factor_market': '市场存续',
    'credit_factor_satisfaction': '用户满意度',
    'credit_tier_title': '发行方层级',
    'credit_tier_silver': '白银',
    'credit_tier_gold': '黄金',
    'credit_tier_platinum': '铂金',
    'credit_tier_diamond': '钻石',
    'credit_tier_progress': '当前：黄金 → 铂金需月发行量达500万',
    'credit_ai_title': 'AI 信用提升建议',
    'credit_history_title': '信用变动记录',

    // ── Quota Management ──
    'quota_title': '配额管理',
    'quota_apply_increase': '申请提额',
    'quota_current': '当前配额',
    'quota_gold_tier': '黄金层级',
    'quota_used': '已使用',
    'quota_monthly_limit': '月发行限额',
    'quota_remaining': '剩余',
    'quota_breakdown': '配额分配明细',
    'quota_usage_records': '使用记录',
    'quota_period_month': '本月',
    'quota_period_quarter': '本季',
    'quota_period_year': '本年',
    'quota_tier_and_quota': '层级与配额',
    'quota_current_badge': '当前',
    'quota_monthly_quota': '月发行配额',
    'quota_upgrade_hint': '距铂金升级: 信用分达90+ 且 月发行量连续3月 ≥\$10M',
    'quota_request_title': '提额申请记录',
    'quota_request_reviewing': '审核中',
    'quota_request_rejected': '已驳回',
    'quota_request_approved': '已批准',
    'quota_submit_new': '提交新申请',

    // ── AI Agent ──
    'ai_agent_title': 'AI 助手',
    'ai_agent_welcome': '您好！我是企业券信 AI 助手，可以帮您分析销售数据、优化定价策略、提升信用评级。有什么可以帮您的吗？',
    'ai_agent_input_hint': '输入问题...',
    'ai_agent_action_sales': '分析本月销售数据',
    'ai_agent_action_timing': '推荐最优发券时间',
    'ai_agent_action_credit': '如何提升信用评级？',
    'ai_agent_action_quota': '额度使用情况分析',

    // ── Store Management ──
    'store_title': '门店管理',
    'store_tab_list': '门店列表',
    'store_tab_employees': '员工管理',
    'store_status_open': '营业中',
    'store_status_closed': '休息中',
    'store_people_unit': '人',
    'store_emp_edit': '编辑',
    'store_emp_remove': '移除',

    // ── Settings ──
    'settings_title': '我的',
    'settings_admin': '管理员',
    'settings_gold_issuer': '黄金发行方',
    'settings_upgrade': '升级',
    'settings_group_company': '企业管理',
    'settings_company_info': '企业信息',
    'settings_store_mgmt': '门店管理',
    'settings_employee_mgmt': '员工管理',
    'settings_permissions': '权限设置',
    'settings_group_support': '服务支持',
    'settings_ai_assistant': 'AI 助手',
    'settings_customer_service': '专属客服',
    'settings_help_center': '帮助中心',
    'settings_feedback': '意见反馈',
    'settings_group_security': '安全与账号',
    'settings_change_password': '修改密码',
    'settings_operation_log': '操作日志',
    'settings_about': '关于企业券信',
    'settings_logout': '退出登录',

    // ── AI Suggestion Card ──
    'ai_suggestion_label': 'AI 建议',
    'ai_suggestion_dismiss': '忽略',
    'ai_suggestion_accept': '采纳',

    // ── Update ──
    'update.newVersion': '发现新版本',
    'update.importantUpdate': '发现重要更新',
    'update.latestVersion': '最新版本',
    'update.fileSize': '文件大小',
    'update.changelog': '更新内容',
    'update.marketHint': '检测到您的应用来自应用市场，建议前往应用市场更新以获得最佳体验。',
    'update.goMarket': '前往应用市场',
    'update.later': '稍后',
    'update.skipUpdate': '暂时不更新',
    'update.updateNow': '立即更新',
    'update.preparing': '准备下载...',
    'update.downloading': '正在下载...',
    'update.downloadComplete': '下载完成',
    'update.cancelled': '下载已取消',
    'update.failed': '下载失败，请稍后重试',
    'update.installing': '正在安装...',
    'update.installFailed': '安装失败，请手动安装',
    'update.installLater': '稍后安装',
    'update.installNow': '立即安装',
    'update.updating': '正在更新',
    'update.updateFailed': '更新失败',
    'update.cancel': '取消',
    'update.retry': '重试',
    'update.close': '关闭',
    'update.isLatest': '当前已是最新版本',
    'update.checkUpdate': '检查更新',

    // ── Notification ──
    'notification.system': '系统通知',
    'notification.activity': '活动通知',
    'notification.reward': '收益通知',
    'notification.upgrade': '升级通知',
    'notification.announcement': '公告',
    'notification.markAllRead': '全部已读',
    'notification.empty': '暂无通知',
    'notification.loadFailed': '加载失败',
    'notification.retry': '重试',
  };

  // ================================================================
  // English (US)
  // ================================================================
  static const Map<String, String> _enUS = {
    // ── Common ──
    'app_name': 'Genex',
    'confirm': 'Confirm',
    'cancel': 'Cancel',
    'save': 'Save',
    'delete': 'Delete',
    'edit': 'Edit',
    'search': 'Search',
    'loading': 'Loading...',
    'retry': 'Retry',
    'done': 'Done',
    'next': 'Next',
    'back': 'Back',
    'close': 'Close',
    'more': 'More',
    'all': 'All',
    'yes': 'Yes',
    'no': 'No',
    'export': 'Export',
    'view': 'View',
    'submit': 'Submit',
    'prev_step': 'Previous',
    'view_all': 'View All',

    // ── Tabs ──
    'tab_dashboard': 'Dashboard',
    'tab_coupons': 'Coupons',
    'tab_redemption': 'Redeem',
    'tab_finance': 'Finance',
    'tab_mine': 'Settings',

    // ── Login ──
    'login_title': 'Genex Issuer Console',
    'login_subtitle': 'Sign in to manage your coupon issuance',
    'login_phone': 'Phone Number',
    'login_phone_hint': 'Enter admin phone number',
    'login_code': 'Verification Code',
    'login_get_code': 'Get Code',
    'login_agree_prefix': 'I have read and agree to the ',
    'login_agreement': 'Issuer Service Agreement',
    'login_button': 'Sign In',
    'login_register': 'No account? Apply to join',
    'login_error_phone': 'Please enter your phone number',
    'login_error_code': 'Please enter the 6-digit code',
    'login_error_network': 'Network error, please try again',
    'login_code_sent': 'Code sent',

    // ── Onboarding ──
    'onboarding_title': 'Business Onboarding',
    'onboarding_step_company': 'Company',
    'onboarding_step_documents': 'Documents',
    'onboarding_step_contact': 'Contact',
    'onboarding_step_review': 'Review',
    'onboarding_submit_review': 'Submit for Review',
    'onboarding_company_title': 'Company Information',
    'onboarding_company_subtitle': 'Please provide accurate company details for review',
    'onboarding_company_name': 'Company Name',
    'onboarding_company_name_hint': 'Enter full company name',
    'onboarding_credit_code': 'Business Registration Number',
    'onboarding_credit_code_hint': 'Enter 18-digit code',
    'onboarding_company_type': 'Company Type',
    'onboarding_type_restaurant': 'Restaurant / F&B',
    'onboarding_type_retail': 'Retail',
    'onboarding_type_entertainment': 'Entertainment / Tourism',
    'onboarding_type_other': 'Other',
    'onboarding_company_address': 'Company Address',
    'onboarding_company_address_hint': 'Enter registered address',
    'onboarding_ai_compliance': 'AI Compliance Assistant',
    'onboarding_ai_compliance_desc': 'AI will auto-check compliance after you fill in the info',
    'onboarding_doc_title': 'Upload Documents',
    'onboarding_doc_subtitle': 'Please upload clear copies of business documents',
    'onboarding_doc_license': 'Business License',
    'onboarding_doc_id': 'Legal Representative ID (front & back)',
    'onboarding_doc_cert': 'Industry Certificate (optional)',
    'onboarding_required': '*Required',
    'onboarding_upload': 'Upload',
    'onboarding_contact_title': 'Contact Information',
    'onboarding_contact_name': 'Contact Name',
    'onboarding_contact_phone': 'Contact Phone',
    'onboarding_contact_email': 'Business Email',
    'onboarding_contact_role': 'Position / Role',
    'onboarding_review_title': 'Under Review',
    'onboarding_review_desc': 'Your application has been submitted. Review takes 1-3 business days.',
    'onboarding_back_login': 'Back to Login',
    'onboarding_approved_title': 'Approved',
    'onboarding_approved_desc': 'Congratulations! You have received a Silver-tier initial quota.',
    'onboarding_enter_console': 'Enter Console',
    'onboarding_rejected_title': 'Not Approved',
    'onboarding_rejected_desc': 'Reason: Documents unclear, please re-upload.',
    'onboarding_resubmit': 'Resubmit',

    // ── Dashboard ──
    'dashboard_title': 'Dashboard',
    'dashboard_gold_issuer': 'Gold Issuer',
    'dashboard_total_issued': 'Total Issued',
    'dashboard_redemption_rate': 'Redemption Rate',
    'dashboard_sales_revenue': 'Sales Revenue',
    'dashboard_withdrawable': 'Withdrawable',
    'dashboard_ai_insight': 'AI Insights',
    'dashboard_ai_insight_content': 'Your dining coupon sales dropped 15% this week. Consider a limited-time weekend discount to boost sales.',
    'dashboard_dismiss': 'Dismiss',
    'dashboard_accept': 'Accept',
    'dashboard_credit_rating': 'Credit Rating AA',
    'dashboard_credit_gap': '12 points to AAA',
    'dashboard_improve_suggestion': 'Tips',
    'dashboard_issue_quota': 'Issue Quota',
    'dashboard_used_percent': '76% Used',
    'dashboard_sales_trend': 'Sales Trend',
    'dashboard_last_7_days': 'Last 7 Days',
    'dashboard_sales_chart': 'Sales Trend Chart',
    'dashboard_recent_activity': 'Recent Activity',

    // ── User Portrait ──
    'user_portrait_title': 'User Insights',
    'user_portrait_export': 'Export',
    'user_portrait_total_buyers': 'Total Buyers',
    'user_portrait_mau': 'Monthly Active',
    'user_portrait_avg_price': 'Avg. Order',
    'user_portrait_repurchase_rate': 'Repurchase',
    'user_portrait_age_dist': 'Age Distribution',
    'user_portrait_geo_dist': 'Region Distribution (Top 5)',
    'user_portrait_other': 'Other',
    'user_portrait_preference': 'Purchase Preference',
    'user_portrait_dining': 'Dining',
    'user_portrait_shopping': 'Shopping',
    'user_portrait_entertainment': 'Entertainment',
    'user_portrait_travel': 'Travel',
    'user_portrait_repurchase_funnel': 'Repurchase Funnel',
    'user_portrait_first_purchase': 'First Purchase',
    'user_portrait_2nd_purchase': '2nd Purchase',
    'user_portrait_3_5_purchase': '3-5 Times',
    'user_portrait_6_10_purchase': '6-10 Times',
    'user_portrait_10_plus_purchase': '10+ Times',
    'user_portrait_ai_insight': 'AI User Insights',
    'user_portrait_core_users': 'Core User Group',
    'user_portrait_repurchase_advice': 'Repurchase Advice',
    'user_portrait_geo_opportunity': 'Geographic Opportunity',
    'user_portrait_churn_warning': 'Churn Warning',
    'user_portrait_core_users_desc': 'Female users aged 25-34 account for 38%, contributing 42% of spending. Consider exclusive offers for this group.',
    'user_portrait_repurchase_advice_desc': 'Repurchase rate 34.2% is below the industry avg 45%. Consider tiered discounts or loyalty programs.',
    'user_portrait_geo_opportunity_desc': 'Texas has the highest growth rate (+25%). Consider increasing promotion in that region.',
    'user_portrait_churn_warning_desc': '856 users have been inactive for 30 days. Consider push notifications with coupons to re-engage.',

    // ── Coupon List ──
    'coupon_list_title': 'Coupon Management',
    'coupon_list_fab': 'Issue',
    'coupon_list_empty': 'No coupons found',
    'coupon_list_ai_suggestion': 'Tip: Weekend dining coupons typically boost sales 30%',
    'coupon_filter_all': 'All',
    'coupon_filter_on_sale': 'On Sale',
    'coupon_filter_sold_out': 'Sold Out',
    'coupon_filter_pending': 'Pending',
    'coupon_filter_delisted': 'Delisted',
    'coupon_stat_issued': 'Issued',
    'coupon_stat_sold': 'Sold',
    'coupon_stat_redeemed': 'Redeemed',
    'coupon_stat_rate': 'Rate',
    'coupon_face_value': 'Face Value',

    // ── Create Coupon ──
    'create_coupon_title': 'Issue New Coupon',
    'create_coupon_save_draft': 'Save Draft',
    'create_coupon_step_template': 'Template',
    'create_coupon_step_info': 'Details',
    'create_coupon_step_rules': 'Rules',
    'create_coupon_step_preview': 'Preview',
    'create_coupon_select_template': 'Select Template',
    'create_coupon_select_template_desc': 'Choose the coupon type that fits your business',
    'create_coupon_tpl_discount': 'Discount Coupon',
    'create_coupon_tpl_discount_desc': 'Percentage discount',
    'create_coupon_tpl_voucher': 'Cash Voucher',
    'create_coupon_tpl_voucher_desc': 'Fixed amount off',
    'create_coupon_tpl_gift': 'Gift Card',
    'create_coupon_tpl_gift_desc': 'Reloadable spending',
    'create_coupon_tpl_stored': 'Stored Value',
    'create_coupon_tpl_stored_desc': 'Pre-paid balance',
    'create_coupon_basic_info': 'Basic Info',
    'create_coupon_name': 'Coupon Name',
    'create_coupon_name_hint': 'e.g. \$25 Starbucks Gift Card',
    'create_coupon_face_value': 'Face Value (\$)',
    'create_coupon_face_value_hint': 'Enter face value',
    'create_coupon_issue_price': 'Issue Price (\$)',
    'create_coupon_issue_price_hint': 'Usually below face value',
    'create_coupon_quantity': 'Issue Quantity',
    'create_coupon_quantity_hint': 'Total for this batch',
    'create_coupon_expiry': 'Expiry Date (max 12 months)',
    'create_coupon_description': 'Description (optional)',
    'create_coupon_description_hint': 'Describe usage rules',
    'create_coupon_rules': 'Rules',
    'create_coupon_transferable': 'Transferable',
    'create_coupon_transferable_desc': 'Consumers can resell on secondary market',
    'create_coupon_max_resale': 'Max Resale Count',
    'create_coupon_refund_policy': 'Refund Policy',
    'create_coupon_refund_window': 'Refund Window (days)',
    'create_coupon_auto_refund': 'Auto Refund',
    'create_coupon_auto_refund_desc': 'Users can refund directly within the window',
    'create_coupon_stackable': 'Stackable',
    'create_coupon_stackable_desc': 'Multiple coupons per order',
    'create_coupon_min_purchase': 'Minimum Purchase (\$, optional)',
    'create_coupon_store_limit': 'Store Restriction (optional)',
    'create_coupon_store_limit_hint': 'Leave empty for all stores',
    'create_coupon_preview': 'Preview & Confirm',
    'create_coupon_preview_desc': 'Please confirm the details. Once submitted, it goes to review.',
    'create_coupon_template_label': 'Template',
    'create_coupon_detail_transferable': 'Transferable',
    'create_coupon_detail_refund_window': 'Refund Window',
    'create_coupon_detail_auto_refund': 'Auto Refund',
    'create_coupon_review_notice': 'After submission, the coupon enters platform review and is listed automatically upon approval.',
    'create_coupon_submit_success': 'Submitted',
    'create_coupon_submit_desc': 'Your coupon is under review. Expected 1-2 business days.',
    'create_coupon_submit_error': 'Submission failed',
    'create_coupon_ok': 'OK',
    'create_coupon_day_unit': ' days',
    'create_coupon_ai_price_suggestion': 'AI Tip: Similar coupons are typically priced at 85% of face value. Suggested price: \$21.25',
    'create_coupon_face_value_short': 'Face Value',
    'create_coupon_issue_price_short': 'Issue Price',
    'create_coupon_quantity_short': 'Quantity',
    'create_coupon_max_times': 'Max ',
    'create_coupon_times': ' times',

    // ── Coupon Detail ──
    'coupon_detail_title': 'Coupon Detail',
    'coupon_detail_edit': 'Edit',
    'coupon_detail_reissue': 'Reissue',
    'coupon_detail_delist': 'Delist',
    'coupon_detail_recall_unsold': 'Recall Unsold',
    'coupon_detail_status_on_sale': 'On Sale',
    'coupon_detail_sales_data': 'Sales Data',
    'coupon_detail_sales_income': 'Sales Revenue',
    'coupon_detail_breakage_income': 'Breakage Revenue (expired)',
    'coupon_detail_platform_fee': 'Platform Fee',
    'coupon_detail_net_income': 'Net Revenue',
    'coupon_detail_daily_trend': 'Daily Sales Trend',
    'coupon_detail_secondary_market': 'Secondary Market',
    'coupon_detail_listing_count': 'Listings',
    'coupon_detail_avg_resale_price': 'Avg. Resale Price',
    'coupon_detail_avg_discount_rate': 'Avg. Discount Rate',
    'coupon_detail_resale_volume': 'Resale Volume',
    'coupon_detail_resale_amount': 'Resale Amount',
    'coupon_detail_price_chart': 'Price Chart',
    'coupon_detail_financing_effect': 'Financing Effect',
    'coupon_detail_cash_advance': 'Cash Advance',
    'coupon_detail_avg_advance_days': 'Avg. Advance Days',
    'coupon_detail_financing_cost': 'Financing Cost',
    'coupon_detail_equiv_annual_rate': 'Equiv. Annual Rate',
    'coupon_detail_recent_redemptions': 'Recent Redemptions',
    'coupon_detail_recall_title': 'Recall Unsold Coupons',
    'coupon_detail_recall_desc': 'Recall all unsold coupons? This cannot be undone.',
    'coupon_detail_confirm_recall': 'Confirm Recall',
    'coupon_detail_delist_title': 'Emergency Delist',
    'coupon_detail_delist_desc': 'Delist this coupon? Consumers will no longer be able to purchase.',
    'coupon_detail_delist_reason': 'Delist Reason',
    'coupon_detail_confirm_delist': 'Confirm Delist',

    // ── Batch Operations ──
    'batch_title': 'Batch Operations',
    'batch_history_tooltip': 'History',
    'batch_tab_issue': 'Batch Issue',
    'batch_tab_recall': 'Batch Recall',
    'batch_tab_price': 'Batch Pricing',
    'batch_progress_label': 'Batch operation in progress...',
    'batch_select_template': 'Select Template',
    'batch_issue_quantity': 'Issue Quantity',
    'batch_validity_range': 'Validity Period',
    'batch_custom_quantity_hint': 'Enter custom quantity',
    'batch_custom_quantity': 'Custom Quantity',
    'batch_date_range_hint': 'Select validity range',
    'batch_preview': 'Issue Preview',
    'batch_preview_template': 'Template',
    'batch_preview_quantity': 'Quantity',
    'batch_preview_validity': 'Validity',
    'batch_preview_total_value': 'Est. Total Value',
    'batch_not_selected': 'Not Selected',
    'batch_not_set': 'Not Set',
    'batch_unit_sheets': ' pcs',
    'batch_confirm_issue': 'Confirm Batch Issue',
    'batch_confirm_issue_desc': 'Issue {count} {template}. Proceed?',
    'batch_filter_category': 'Filter by Category',
    'batch_filter_status': 'Filter by Status',
    'batch_matching_coupons': 'Matching Coupons',
    'batch_select_all': 'Select All',
    'batch_deselect_all': 'Deselect All',
    'batch_remaining': 'Remaining',
    'batch_recall_reason': 'Recall Reason',
    'batch_recall_reason_hint': 'Enter recall reason (required)',
    'batch_confirm_recall': 'Confirm Recall',
    'batch_confirm_recall_title': 'Confirm Batch Recall',
    'batch_confirm_recall_desc': 'Recall {count} coupons? This cannot be undone.',
    'batch_recall_reason_label': 'Reason',
    'batch_price_adjust_ratio': 'Price Adjustment',
    'batch_affected_coupons': 'Affected Coupons',
    'batch_current_price': 'Current Price',
    'batch_price_decrease_hint': '{pct}% discount may boost sales by {impact}%',
    'batch_price_increase_hint': '{pct}% increase may boost profit by {impact}%',
    'batch_price_no_change': 'No price change',
    'batch_confirm_price': 'Confirm Price Adjustment',
    'batch_confirm_price_desc': 'Adjust prices for 4 coupons by {pct}%. Proceed?',
    'batch_operation_history': 'Operation History',
    'batch_operation_complete': 'Batch operation complete',
    'batch_status_on_sale': 'On Sale',
    'batch_status_sold': 'Sold',
    'batch_status_expired': 'Expired',

    // ── Redemption ──
    'redemption_title': 'Redemption',
    'redemption_tab_scan': 'Scan & Redeem',
    'redemption_tab_history': 'History',
    'redemption_scan_hint': 'Point the coupon code at the scanner',
    'redemption_manual_hint': 'Enter coupon code manually',
    'redemption_redeem': 'Redeem',
    'redemption_batch': 'Batch Redeem',
    'redemption_today_title': 'Today\'s Redemptions',
    'redemption_today_count': 'Count',
    'redemption_today_amount': 'Amount',
    'redemption_today_stores': 'Stores',
    'redemption_confirm_title': 'Confirm Redemption',
    'redemption_confirm_button': 'Confirm',
    'redemption_batch_title': 'Batch Redeem',
    'redemption_batch_desc': 'Enter multiple codes, one per line',
    'redemption_batch_hint': 'Paste coupon codes...',

    // ── Finance ──
    'finance_title': 'Finance',
    'finance_tab_overview': 'Overview',
    'finance_tab_transactions': 'Transactions',
    'finance_tab_reconciliation': 'Reports',
    'finance_export_title': 'Export Data',
    'finance_export_csv': 'Export CSV',
    'finance_export_excel': 'Export Excel',
    'finance_export_pdf': 'Export PDF',
    'finance_withdrawable': 'Withdrawable Balance',
    'finance_withdraw': 'Withdraw',
    'finance_sales_income': 'Sales Revenue',
    'finance_breakage_income': 'Breakage Revenue',
    'finance_platform_fee': 'Platform Fee',
    'finance_pending_settlement': 'Pending',
    'finance_withdrawn': 'Withdrawn',
    'finance_total_income': 'Total Revenue',
    'finance_guarantee_title': 'Deposit & Frozen Funds',
    'finance_guarantee_deposit': 'Deposit Paid',
    'finance_frozen_sales': 'Frozen Sales',
    'finance_frozen_ratio': 'Freeze Ratio',
    'finance_auto_freeze': 'Auto Freeze Sales',
    'finance_auto_freeze_desc': 'Freeze 20% of sales to improve credit',
    'finance_revenue_trend': 'Revenue Trend',
    'finance_revenue_chart': 'Monthly Revenue Chart',
    'finance_generate_report': 'Generate New Report',

    // ── Reconciliation ──
    'reconciliation_title': 'Reconciliation',
    'reconciliation_export_tooltip': 'Export Report',
    'reconciliation_period_day': 'Day',
    'reconciliation_period_week': 'Week',
    'reconciliation_period_month': 'Month',
    'reconciliation_period_quarter': 'Quarter',
    'reconciliation_expected': 'Expected',
    'reconciliation_settled': 'Settled',
    'reconciliation_pending': 'Pending',
    'reconciliation_discrepancy_amount': 'Discrepancy',
    'reconciliation_auto_title': 'Auto Reconciliation',
    'reconciliation_auto_last_run': 'Last run: Today 06:00',
    'reconciliation_auto_running': 'Running',
    'reconciliation_match_rate': 'Match Rate',
    'reconciliation_matched': 'Matched',
    'reconciliation_to_check': 'To Check',
    'reconciliation_has_diff': 'Discrepancy',
    'reconciliation_detail_title': 'Details',
    'reconciliation_col_period': 'Period',
    'reconciliation_col_expected': 'Expected',
    'reconciliation_col_actual': 'Actual',
    'reconciliation_col_diff': 'Diff',
    'reconciliation_col_status': 'Status',
    'reconciliation_status_done': 'Reconciled',
    'reconciliation_status_diff': 'Discrepancy',
    'reconciliation_status_pending': 'Pending',
    'reconciliation_discrepancy_title': 'Discrepancy Investigation',
    'reconciliation_pending_items': ' items pending',
    'reconciliation_discrepancy_investigating': 'Investigating',
    'reconciliation_discrepancy_resolved': 'Resolved',
    'reconciliation_discrepancy_amount_label': 'Discrepancy Amount',
    'reconciliation_export_title': 'Export Report',
    'reconciliation_export_dialog_title': 'Export Reconciliation Report',

    // ── Financing Analysis ──
    'financing_title': 'Financing Analysis',
    'financing_refresh_tooltip': 'Refresh',
    'financing_export_tooltip': 'Export Report',
    'financing_total_amount': 'Total Financed',
    'financing_avg_rate': 'Avg. Rate',
    'financing_count': 'Transactions',
    'financing_utilization': 'Utilization',
    'financing_lifecycle': 'Financing Lifecycle',
    'financing_stage_submitted': 'Submitted',
    'financing_stage_approved': 'Approved',
    'financing_stage_funded': 'Funded',
    'financing_stage_in_use': 'In Use',
    'financing_stage_repayment': 'Repayment',
    'financing_stage_settled': 'Settled',
    'financing_stage_tbd': 'TBD',
    'financing_cost_benefit': 'Cost-Benefit Analysis',
    'financing_interest_cost': 'Interest Cost',
    'financing_annual_rate': 'Annual',
    'financing_generated_income': 'Generated Income',
    'financing_income_from_financing': 'From financing',
    'financing_net_benefit': 'Net Benefit',
    'financing_roi': 'ROI',
    'financing_cost_ratio': 'Benefit/Cost Ratio',
    'financing_liquidity': 'Liquidity Metrics',
    'financing_quick_ratio': 'Quick Ratio',
    'financing_current_ratio': 'Current Ratio',
    'financing_status_healthy': 'Healthy',
    'financing_status_good': 'Good',
    'financing_cashflow_forecast': 'Cash Flow Forecast',
    'financing_this_month_inflow': 'This Month Inflow',
    'financing_this_month_outflow': 'This Month Outflow',
    'financing_net_cashflow': 'Net Cash Flow',
    'financing_next_month_inflow': 'Next Month Inflow',
    'financing_next_month_outflow': 'Next Month Outflow',
    'financing_next_month_net': 'Next Month Net',
    'financing_risk_title': 'Risk Indicators',
    'financing_default_rate': 'Default',
    'financing_overdue_rate': 'Overdue',
    'financing_concentration': 'Concentration',
    'financing_default_detail': 'Default Rate',
    'financing_default_desc': 'Below industry avg 1.5%',
    'financing_overdue_detail': 'Overdue Rate',
    'financing_overdue_desc': 'Near warning line 3.0%, monitor needed',
    'financing_concentration_detail': 'Concentration Risk',
    'financing_concentration_desc': 'Largest single exposure 35%, diversify recommended',
    'financing_ai_title': 'AI Financing Strategy',
    'financing_ai_subtitle': 'Smart analysis based on your data',
    'financing_priority_high': 'High',
    'financing_priority_medium': 'Medium',
    'financing_get_detail_plan': 'Get Detailed Plan',

    // ── Credit ──
    'credit_title': 'Credit Rating',
    'credit_score_label': 'Credit Rating AA',
    'credit_gap_label': '8 points to AAA',
    'credit_factors': 'Rating Factors',
    'credit_factor_redemption': 'Redemption Rate',
    'credit_factor_breakage': 'Breakage Control',
    'credit_factor_market': 'Market Presence',
    'credit_factor_satisfaction': 'User Satisfaction',
    'credit_tier_title': 'Issuer Tier',
    'credit_tier_silver': 'Silver',
    'credit_tier_gold': 'Gold',
    'credit_tier_platinum': 'Platinum',
    'credit_tier_diamond': 'Diamond',
    'credit_tier_progress': 'Current: Gold -> Platinum requires 5M monthly issuance',
    'credit_ai_title': 'AI Credit Improvement Tips',
    'credit_history_title': 'Credit History',

    // ── Quota Management ──
    'quota_title': 'Quota Management',
    'quota_apply_increase': 'Request Increase',
    'quota_current': 'Current Quota',
    'quota_gold_tier': 'Gold Tier',
    'quota_used': 'Used',
    'quota_monthly_limit': 'Monthly Limit',
    'quota_remaining': 'Remaining',
    'quota_breakdown': 'Quota Breakdown',
    'quota_usage_records': 'Usage Records',
    'quota_period_month': 'This Month',
    'quota_period_quarter': 'This Quarter',
    'quota_period_year': 'This Year',
    'quota_tier_and_quota': 'Tier & Quota',
    'quota_current_badge': 'Current',
    'quota_monthly_quota': 'Monthly Quota',
    'quota_upgrade_hint': 'Platinum: Credit score 90+ and 3 consecutive months >= \$10M issuance',
    'quota_request_title': 'Quota Requests',
    'quota_request_reviewing': 'Under Review',
    'quota_request_rejected': 'Rejected',
    'quota_request_approved': 'Approved',
    'quota_submit_new': 'Submit New Request',

    // ── AI Agent ──
    'ai_agent_title': 'AI Assistant',
    'ai_agent_welcome': 'Hello! I\'m the Genex AI Assistant. I can help analyze sales data, optimize pricing, and improve your credit rating. How can I help?',
    'ai_agent_input_hint': 'Ask a question...',
    'ai_agent_action_sales': 'Analyze monthly sales',
    'ai_agent_action_timing': 'Best time to issue coupons',
    'ai_agent_action_credit': 'How to improve credit?',
    'ai_agent_action_quota': 'Quota usage analysis',

    // ── Store Management ──
    'store_title': 'Store Management',
    'store_tab_list': 'Stores',
    'store_tab_employees': 'Employees',
    'store_status_open': 'Open',
    'store_status_closed': 'Closed',
    'store_people_unit': ' staff',
    'store_emp_edit': 'Edit',
    'store_emp_remove': 'Remove',

    // ── Settings ──
    'settings_title': 'Settings',
    'settings_admin': 'Admin',
    'settings_gold_issuer': 'Gold Issuer',
    'settings_upgrade': 'Upgrade',
    'settings_group_company': 'Company',
    'settings_company_info': 'Company Info',
    'settings_store_mgmt': 'Store Management',
    'settings_employee_mgmt': 'Employee Management',
    'settings_permissions': 'Permissions',
    'settings_group_support': 'Support',
    'settings_ai_assistant': 'AI Assistant',
    'settings_customer_service': 'Customer Service',
    'settings_help_center': 'Help Center',
    'settings_feedback': 'Feedback',
    'settings_group_security': 'Security & Account',
    'settings_change_password': 'Change Password',
    'settings_operation_log': 'Activity Log',
    'settings_about': 'About Genex',
    'settings_logout': 'Sign Out',

    // ── AI Suggestion Card ──
    'ai_suggestion_label': 'AI Suggestion',
    'ai_suggestion_dismiss': 'Dismiss',
    'ai_suggestion_accept': 'Accept',

    // ── Update ──
    'update.newVersion': 'New Version Available',
    'update.importantUpdate': 'Important Update',
    'update.latestVersion': 'Latest version',
    'update.fileSize': 'File size',
    'update.changelog': "What's New",
    'update.marketHint': 'Your app was installed from an app store. We recommend updating through the store.',
    'update.goMarket': 'Go to App Store',
    'update.later': 'Later',
    'update.skipUpdate': 'Skip',
    'update.updateNow': 'Update Now',
    'update.preparing': 'Preparing...',
    'update.downloading': 'Downloading...',
    'update.downloadComplete': 'Download Complete',
    'update.cancelled': 'Download Cancelled',
    'update.failed': 'Download failed, please try again',
    'update.installing': 'Installing...',
    'update.installFailed': 'Installation failed',
    'update.installLater': 'Install Later',
    'update.installNow': 'Install Now',
    'update.updating': 'Updating',
    'update.updateFailed': 'Update Failed',
    'update.cancel': 'Cancel',
    'update.retry': 'Retry',
    'update.close': 'Close',
    'update.isLatest': 'Already up to date',
    'update.checkUpdate': 'Check for Updates',

    // ── Notification ──
    'notification.system': 'System',
    'notification.activity': 'Activity',
    'notification.reward': 'Reward',
    'notification.upgrade': 'Upgrade',
    'notification.announcement': 'Announcement',
    'notification.markAllRead': 'Mark All Read',
    'notification.empty': 'No notifications',
    'notification.loadFailed': 'Load failed',
    'notification.retry': 'Retry',
  };

  // ================================================================
  // Japanese
  // ================================================================
  static const Map<String, String> _jaJP = {
    // ── Common ──
    'app_name': 'Genex',
    'confirm': '確認',
    'cancel': 'キャンセル',
    'save': '保存',
    'delete': '削除',
    'edit': '編集',
    'search': '検索',
    'loading': '読み込み中...',
    'retry': 'リトライ',
    'done': '完了',
    'next': '次へ',
    'back': '戻る',
    'close': '閉じる',
    'more': 'もっと見る',
    'all': 'すべて',
    'yes': 'はい',
    'no': 'いいえ',
    'export': 'エクスポート',
    'view': '表示',
    'submit': '提出',
    'prev_step': '前へ',
    'view_all': 'すべて表示',

    // ── Tabs ──
    'tab_dashboard': 'ダッシュボード',
    'tab_coupons': 'クーポン管理',
    'tab_redemption': '検証',
    'tab_finance': '財務',
    'tab_mine': '設定',

    // ── Login ──
    'login_title': 'Genex 発行者コンソール',
    'login_subtitle': '企業アカウントでログインしてクーポン発行を管理',
    'login_phone': '電話番号',
    'login_phone_hint': '管理者の電話番号を入力',
    'login_code': '認証コード',
    'login_get_code': 'コード取得',
    'login_agree_prefix': '以下に同意します：',
    'login_agreement': '発行者サービス規約',
    'login_button': 'ログイン',
    'login_register': 'アカウントがない場合は申請',
    'login_error_phone': '電話番号を入力してください',
    'login_error_code': '6桁の認証コードを入力してください',
    'login_error_network': 'ネットワークエラーです。後でもう一度お試しください',
    'login_code_sent': '認証コードを送信しました',

    // ── Onboarding ──
    'onboarding_title': '企業登録',
    'onboarding_step_company': '企業情報',
    'onboarding_step_documents': '書類',
    'onboarding_step_contact': '連絡先',
    'onboarding_step_review': '審査中',
    'onboarding_submit_review': '審査を提出',
    'onboarding_company_title': '企業基本情報',
    'onboarding_company_subtitle': '審査のために正確な企業情報をご記入ください',
    'onboarding_company_name': '企業名',
    'onboarding_company_name_hint': '企業正式名称を入力',
    'onboarding_credit_code': '法人番号',
    'onboarding_credit_code_hint': '18桁のコードを入力',
    'onboarding_company_type': '企業タイプ',
    'onboarding_type_restaurant': '飲食業',
    'onboarding_type_retail': '小売業',
    'onboarding_type_entertainment': 'エンタメ/観光',
    'onboarding_type_other': 'その他',
    'onboarding_company_address': '企業住所',
    'onboarding_company_address_hint': '登記住所を入力',
    'onboarding_ai_compliance': 'AI コンプライアンス',
    'onboarding_ai_compliance_desc': '入力後、AIが自動的にコンプライアンスを確認します',
    'onboarding_doc_title': '書類アップロード',
    'onboarding_doc_subtitle': '鮮明な企業書類をアップロードしてください',
    'onboarding_doc_license': '営業許可証',
    'onboarding_doc_id': '代表者身分証明書（表裏）',
    'onboarding_doc_cert': '業界資格証明書（任意）',
    'onboarding_required': '*必須',
    'onboarding_upload': 'アップロード',
    'onboarding_contact_title': '連絡先情報',
    'onboarding_contact_name': '担当者名',
    'onboarding_contact_phone': '担当者電話番号',
    'onboarding_contact_email': '企業メール',
    'onboarding_contact_role': '役職',
    'onboarding_review_title': '審査中',
    'onboarding_review_desc': '申請が提出されました。審査には1-3営業日かかります。',
    'onboarding_back_login': 'ログインに戻る',
    'onboarding_approved_title': '承認済み',
    'onboarding_approved_desc': 'おめでとうございます！シルバーティアの初期クォータを獲得しました。',
    'onboarding_enter_console': 'コンソールへ',
    'onboarding_rejected_title': '審査不合格',
    'onboarding_rejected_desc': '理由：書類が不鮮明です。再アップロードしてください。',
    'onboarding_resubmit': '再提出',

    // ── Dashboard ──
    'dashboard_title': 'ダッシュボード',
    'dashboard_gold_issuer': 'ゴールド発行者',
    'dashboard_total_issued': '総発行数',
    'dashboard_redemption_rate': '検証率',
    'dashboard_sales_revenue': '売上収入',
    'dashboard_withdrawable': '出金可能',
    'dashboard_ai_insight': 'AI インサイト',
    'dashboard_ai_insight_content': '今週の飲食クーポンの売上が15%減少しました。週末に期間限定割引を実施して売上を向上させましょう。',
    'dashboard_dismiss': '無視',
    'dashboard_accept': '採用',
    'dashboard_credit_rating': '信用等級 AA',
    'dashboard_credit_gap': 'AAAまであと12ポイント',
    'dashboard_improve_suggestion': '改善提案',
    'dashboard_issue_quota': '発行クォータ',
    'dashboard_used_percent': '76% 使用済み',
    'dashboard_sales_trend': '販売トレンド',
    'dashboard_last_7_days': '過去7日間',
    'dashboard_sales_chart': '販売トレンドチャート',
    'dashboard_recent_activity': '最近のアクティビティ',

    // ── User Portrait ──
    'user_portrait_title': 'ユーザー分析',
    'user_portrait_export': 'エクスポート',
    'user_portrait_total_buyers': '総購入者',
    'user_portrait_mau': '月間アクティブ',
    'user_portrait_avg_price': '平均注文額',
    'user_portrait_repurchase_rate': 'リピート率',
    'user_portrait_age_dist': '年齢分布',
    'user_portrait_geo_dist': '地域分布 (Top 5)',
    'user_portrait_other': 'その他',
    'user_portrait_preference': '購入嗜好',
    'user_portrait_dining': '飲食',
    'user_portrait_shopping': 'ショッピング',
    'user_portrait_entertainment': 'エンタメ',
    'user_portrait_travel': '旅行',
    'user_portrait_repurchase_funnel': 'リピートファネル',
    'user_portrait_first_purchase': '初回購入',
    'user_portrait_2nd_purchase': '2回目',
    'user_portrait_3_5_purchase': '3-5回',
    'user_portrait_6_10_purchase': '6-10回',
    'user_portrait_10_plus_purchase': '10回以上',
    'user_portrait_ai_insight': 'AI ユーザーインサイト',
    'user_portrait_core_users': 'コアユーザー',
    'user_portrait_repurchase_advice': 'リピート改善提案',
    'user_portrait_geo_opportunity': '地域拡大機会',
    'user_portrait_churn_warning': '離脱警告',
    'user_portrait_core_users_desc': '25〜34歳の女性ユーザーが38%を占め、消費額の42%に貢献。このグループ向けの限定特典を検討してください。',
    'user_portrait_repurchase_advice_desc': 'リピート率34.2%は業界平均45%を下回っています。段階割引やポイントプログラムをご検討ください。',
    'user_portrait_geo_opportunity_desc': 'テキサス州の成長率が最高(+25%)です。同地域のプロモーション強化を検討してください。',
    'user_portrait_churn_warning_desc': '856名のユーザーが30日間非アクティブです。クーポン付きプッシュ通知で呼び戻しを検討してください。',

    // ── Coupon List ──
    'coupon_list_title': 'クーポン管理',
    'coupon_list_fab': '発行',
    'coupon_list_empty': 'クーポンがありません',
    'coupon_list_ai_suggestion': '提案：週末の飲食クーポンは通常30%売上向上',
    'coupon_filter_all': 'すべて',
    'coupon_filter_on_sale': '販売中',
    'coupon_filter_sold_out': '完売',
    'coupon_filter_pending': '審査中',
    'coupon_filter_delisted': '非公開',
    'coupon_stat_issued': '発行数',
    'coupon_stat_sold': '販売数',
    'coupon_stat_redeemed': '検証数',
    'coupon_stat_rate': '検証率',
    'coupon_face_value': '額面',

    // ── Create Coupon ──
    'create_coupon_title': '新規クーポン発行',
    'create_coupon_save_draft': '下書き保存',
    'create_coupon_step_template': 'テンプレート',
    'create_coupon_step_info': '基本情報',
    'create_coupon_step_rules': 'ルール',
    'create_coupon_step_preview': 'プレビュー',
    'create_coupon_select_template': 'テンプレート選択',
    'create_coupon_select_template_desc': 'ビジネスに合ったクーポンタイプを選択',
    'create_coupon_tpl_discount': '割引クーポン',
    'create_coupon_tpl_discount_desc': '割合割引',
    'create_coupon_tpl_voucher': '金券',
    'create_coupon_tpl_voucher_desc': '固定額割引',
    'create_coupon_tpl_gift': 'ギフトカード',
    'create_coupon_tpl_gift_desc': 'チャージ可能',
    'create_coupon_tpl_stored': 'プリペイド券',
    'create_coupon_tpl_stored_desc': '前払い残高',
    'create_coupon_basic_info': '基本情報',
    'create_coupon_name': 'クーポン名',
    'create_coupon_name_hint': '例：¥25 スタバギフトカード',
    'create_coupon_face_value': '額面 (\$)',
    'create_coupon_face_value_hint': '額面を入力',
    'create_coupon_issue_price': '発行価格 (\$)',
    'create_coupon_issue_price_hint': '通常は額面より低い',
    'create_coupon_quantity': '発行数量',
    'create_coupon_quantity_hint': '今回の総数',
    'create_coupon_expiry': '有効期限（最長12ヶ月）',
    'create_coupon_description': '説明（任意）',
    'create_coupon_description_hint': '利用ルールを詳しく記載',
    'create_coupon_rules': 'ルール設定',
    'create_coupon_transferable': '譲渡可能',
    'create_coupon_transferable_desc': '二次市場での転売が可能',
    'create_coupon_max_resale': '最大転売回数',
    'create_coupon_refund_policy': '返金ポリシー',
    'create_coupon_refund_window': '返金期間（日）',
    'create_coupon_auto_refund': '自動返金',
    'create_coupon_auto_refund_desc': '期間内はユーザーが直接返金可能',
    'create_coupon_stackable': '併用可能',
    'create_coupon_stackable_desc': '1注文で複数枚使用可能',
    'create_coupon_min_purchase': '最低購入金額（\$、任意）',
    'create_coupon_store_limit': '利用店舗制限（任意）',
    'create_coupon_store_limit_hint': '空欄で全店舗利用可',
    'create_coupon_preview': 'プレビュー確認',
    'create_coupon_preview_desc': '内容をご確認ください。提出後は審査に入ります。',
    'create_coupon_template_label': 'テンプレート',
    'create_coupon_detail_transferable': '譲渡可能',
    'create_coupon_detail_refund_window': '返金期間',
    'create_coupon_detail_auto_refund': '自動返金',
    'create_coupon_review_notice': '提出後、プラットフォーム審査を経て自動的に販売開始されます。',
    'create_coupon_submit_success': '提出完了',
    'create_coupon_submit_desc': 'クーポンは審査中です。1-2営業日で完了予定。',
    'create_coupon_submit_error': '提出に失敗しました',
    'create_coupon_ok': 'OK',
    'create_coupon_day_unit': ' 日',
    'create_coupon_ai_price_suggestion': 'AIアドバイス：同種のクーポンは額面の85%が一般的です。推奨価格：\$21.25',
    'create_coupon_face_value_short': '額面',
    'create_coupon_issue_price_short': '発行価格',
    'create_coupon_quantity_short': '数量',
    'create_coupon_max_times': '最大',
    'create_coupon_times': '回',

    // ── Coupon Detail ──
    'coupon_detail_title': 'クーポン詳細',
    'coupon_detail_edit': '編集',
    'coupon_detail_reissue': '追加発行',
    'coupon_detail_delist': '非公開',
    'coupon_detail_recall_unsold': '未販売回収',
    'coupon_detail_status_on_sale': '販売中',
    'coupon_detail_sales_data': '販売データ',
    'coupon_detail_sales_income': '売上収入',
    'coupon_detail_breakage_income': 'Breakage収入（期限切れ）',
    'coupon_detail_platform_fee': 'プラットフォーム手数料',
    'coupon_detail_net_income': '純収入',
    'coupon_detail_daily_trend': '日次販売トレンド',
    'coupon_detail_secondary_market': '二次市場分析',
    'coupon_detail_listing_count': '出品数',
    'coupon_detail_avg_resale_price': '平均転売価格',
    'coupon_detail_avg_discount_rate': '平均割引率',
    'coupon_detail_resale_volume': '転売成約数',
    'coupon_detail_resale_amount': '転売成約額',
    'coupon_detail_price_chart': '価格チャート',
    'coupon_detail_financing_effect': '融資効果',
    'coupon_detail_cash_advance': '前倒し回収',
    'coupon_detail_avg_advance_days': '平均前倒し日数',
    'coupon_detail_financing_cost': '融資コスト',
    'coupon_detail_equiv_annual_rate': '年利換算',
    'coupon_detail_recent_redemptions': '最近の検証記録',
    'coupon_detail_recall_title': '未販売クーポン回収',
    'coupon_detail_recall_desc': '未販売のクーポンをすべて回収しますか？元に戻せません。',
    'coupon_detail_confirm_recall': '回収確認',
    'coupon_detail_delist_title': '緊急非公開',
    'coupon_detail_delist_desc': 'このクーポンを非公開にしますか？消費者は購入できなくなります。',
    'coupon_detail_delist_reason': '非公開理由',
    'coupon_detail_confirm_delist': '非公開確認',

    // ── Batch Operations ──
    'batch_title': '一括操作',
    'batch_history_tooltip': '操作履歴',
    'batch_tab_issue': '一括発行',
    'batch_tab_recall': '一括回収',
    'batch_tab_price': '一括価格変更',
    'batch_progress_label': '一括操作実行中...',
    'batch_select_template': 'テンプレート選択',
    'batch_issue_quantity': '発行数量',
    'batch_validity_range': '有効期間',
    'batch_custom_quantity_hint': 'カスタム数量を入力',
    'batch_custom_quantity': 'カスタム数量',
    'batch_date_range_hint': '有効期間を選択',
    'batch_preview': '発行プレビュー',
    'batch_preview_template': 'テンプレート',
    'batch_preview_quantity': '数量',
    'batch_preview_validity': '有効期間',
    'batch_preview_total_value': '推定総額面',
    'batch_not_selected': '未選択',
    'batch_not_set': '未設定',
    'batch_unit_sheets': ' 枚',
    'batch_confirm_issue': '一括発行確認',
    'batch_confirm_issue_desc': '{count} 枚の {template} を発行します。実行しますか？',
    'batch_filter_category': 'カテゴリで絞込',
    'batch_filter_status': 'ステータスで絞込',
    'batch_matching_coupons': '該当クーポン',
    'batch_select_all': '全選択',
    'batch_deselect_all': '全解除',
    'batch_remaining': '残り',
    'batch_recall_reason': '回収理由',
    'batch_recall_reason_hint': '回収理由を入力（必須）',
    'batch_confirm_recall': '回収確認',
    'batch_confirm_recall_title': '一括回収確認',
    'batch_confirm_recall_desc': '{count} 枚を回収します。元に戻せません。',
    'batch_recall_reason_label': '理由',
    'batch_price_adjust_ratio': '価格調整比率',
    'batch_affected_coupons': '対象クーポン',
    'batch_current_price': '現在価格',
    'batch_price_decrease_hint': '{pct}% 値下げで売上 {impact}% 向上見込み',
    'batch_price_increase_hint': '{pct}% 値上げで利益 {impact}% 向上見込み',
    'batch_price_no_change': '価格変更なし',
    'batch_confirm_price': '一括価格変更確認',
    'batch_confirm_price_desc': '4種のクーポンを {pct}% 調整します。実行しますか？',
    'batch_operation_history': '操作履歴',
    'batch_operation_complete': '一括操作完了',
    'batch_status_on_sale': '販売中',
    'batch_status_sold': '販売済',
    'batch_status_expired': '期限切れ',

    // ── Redemption ──
    'redemption_title': '検証管理',
    'redemption_tab_scan': 'スキャン検証',
    'redemption_tab_history': '検証履歴',
    'redemption_scan_hint': 'クーポンコードをスキャナーに向けてください',
    'redemption_manual_hint': 'クーポンコードを手動入力',
    'redemption_redeem': '検証',
    'redemption_batch': '一括検証',
    'redemption_today_title': '本日の検証',
    'redemption_today_count': '検証回数',
    'redemption_today_amount': '検証金額',
    'redemption_today_stores': '店舗数',
    'redemption_confirm_title': '検証確認',
    'redemption_confirm_button': '検証実行',
    'redemption_batch_title': '一括検証',
    'redemption_batch_desc': '複数コードを入力（1行1コード）',
    'redemption_batch_hint': 'コードを貼り付け...',

    // ── Finance ──
    'finance_title': '財務管理',
    'finance_tab_overview': '概要',
    'finance_tab_transactions': '取引明細',
    'finance_tab_reconciliation': '照合レポート',
    'finance_export_title': 'データエクスポート',
    'finance_export_csv': 'CSV エクスポート',
    'finance_export_excel': 'Excel エクスポート',
    'finance_export_pdf': 'PDF エクスポート',
    'finance_withdrawable': '出金可能残高',
    'finance_withdraw': '出金',
    'finance_sales_income': '売上収入',
    'finance_breakage_income': 'Breakage収入',
    'finance_platform_fee': 'プラットフォーム手数料',
    'finance_pending_settlement': '未決済',
    'finance_withdrawn': '出金済み',
    'finance_total_income': '総収入',
    'finance_guarantee_title': '保証金と凍結金',
    'finance_guarantee_deposit': '納入済み保証金',
    'finance_frozen_sales': '凍結売上',
    'finance_frozen_ratio': '凍結比率',
    'finance_auto_freeze': '売上自動凍結',
    'finance_auto_freeze_desc': '信用向上のため売上の20%を自動凍結',
    'finance_revenue_trend': '収入トレンド',
    'finance_revenue_chart': '月次収入チャート',
    'finance_generate_report': '新規レポート作成',

    // ── Reconciliation ──
    'reconciliation_title': '照合と決済',
    'reconciliation_export_tooltip': 'レポートエクスポート',
    'reconciliation_period_day': '日',
    'reconciliation_period_week': '週',
    'reconciliation_period_month': '月',
    'reconciliation_period_quarter': '四半期',
    'reconciliation_expected': '予定金額',
    'reconciliation_settled': '決済済み',
    'reconciliation_pending': '未決済',
    'reconciliation_discrepancy_amount': '差異金額',
    'reconciliation_auto_title': '自動照合',
    'reconciliation_auto_last_run': '前回実行: 本日 06:00',
    'reconciliation_auto_running': '実行中',
    'reconciliation_match_rate': '一致率',
    'reconciliation_matched': '一致済み',
    'reconciliation_to_check': '要確認',
    'reconciliation_has_diff': '差異あり',
    'reconciliation_detail_title': '照合明細',
    'reconciliation_col_period': '期間',
    'reconciliation_col_expected': '予定',
    'reconciliation_col_actual': '実績',
    'reconciliation_col_diff': '差異',
    'reconciliation_col_status': 'ステータス',
    'reconciliation_status_done': '照合済み',
    'reconciliation_status_diff': '差異あり',
    'reconciliation_status_pending': '未照合',
    'reconciliation_discrepancy_title': '差異調査',
    'reconciliation_pending_items': ' 件処理待ち',
    'reconciliation_discrepancy_investigating': '調査中',
    'reconciliation_discrepancy_resolved': '解決済み',
    'reconciliation_discrepancy_amount_label': '差異金額',
    'reconciliation_export_title': 'レポートエクスポート',
    'reconciliation_export_dialog_title': '照合レポートエクスポート',

    // ── Financing Analysis ──
    'financing_title': '融資効果分析',
    'financing_refresh_tooltip': 'データ更新',
    'financing_export_tooltip': 'レポートエクスポート',
    'financing_total_amount': '融資総額',
    'financing_avg_rate': '平均金利',
    'financing_count': '融資件数',
    'financing_utilization': '資金利用率',
    'financing_lifecycle': '融資ライフサイクル',
    'financing_stage_submitted': '申請提出',
    'financing_stage_approved': '承認',
    'financing_stage_funded': '入金',
    'financing_stage_in_use': '利用中',
    'financing_stage_repayment': '返済期',
    'financing_stage_settled': '完済',
    'financing_stage_tbd': '未定',
    'financing_cost_benefit': 'コスト効果分析',
    'financing_interest_cost': '利息コスト',
    'financing_annual_rate': '年率',
    'financing_generated_income': '生成収入',
    'financing_income_from_financing': '融資活用収入',
    'financing_net_benefit': '純利益',
    'financing_roi': '投資収益率 (ROI)',
    'financing_cost_ratio': '収益/コスト比',
    'financing_liquidity': '流動性指標',
    'financing_quick_ratio': '当座比率',
    'financing_current_ratio': '流動比率',
    'financing_status_healthy': '健全',
    'financing_status_good': '良好',
    'financing_cashflow_forecast': 'キャッシュフロー予測',
    'financing_this_month_inflow': '今月予定流入',
    'financing_this_month_outflow': '今月予定流出',
    'financing_net_cashflow': '純キャッシュフロー',
    'financing_next_month_inflow': '来月予定流入',
    'financing_next_month_outflow': '来月予定流出',
    'financing_next_month_net': '来月純キャッシュフロー',
    'financing_risk_title': 'リスク指標',
    'financing_default_rate': 'デフォルト率',
    'financing_overdue_rate': '延滞率',
    'financing_concentration': '集中度',
    'financing_default_detail': 'デフォルト率',
    'financing_default_desc': '業界平均1.5%を下回る',
    'financing_overdue_detail': '延滞率',
    'financing_overdue_desc': '警戒ライン3.0%に接近、要注意',
    'financing_concentration_detail': '集中度リスク',
    'financing_concentration_desc': '最大単一エクスポージャー35%、分散推奨',
    'financing_ai_title': 'AI 融資戦略提案',
    'financing_ai_subtitle': '経営データに基づくスマート分析',
    'financing_priority_high': '高優先',
    'financing_priority_medium': '中優先',
    'financing_get_detail_plan': '詳細プランを取得',

    // ── Credit ──
    'credit_title': '信用格付け',
    'credit_score_label': '信用等級 AA',
    'credit_gap_label': 'AAAまであと8ポイント',
    'credit_factors': '評価因子',
    'credit_factor_redemption': '検証率',
    'credit_factor_breakage': '沈殿制御',
    'credit_factor_market': '市場存続',
    'credit_factor_satisfaction': 'ユーザー満足度',
    'credit_tier_title': '発行者ティア',
    'credit_tier_silver': 'シルバー',
    'credit_tier_gold': 'ゴールド',
    'credit_tier_platinum': 'プラチナ',
    'credit_tier_diamond': 'ダイヤモンド',
    'credit_tier_progress': '現在：ゴールド → プラチナには月間発行500万が必要',
    'credit_ai_title': 'AI 信用改善提案',
    'credit_history_title': '信用変動履歴',

    // ── Quota Management ──
    'quota_title': 'クォータ管理',
    'quota_apply_increase': '増額申請',
    'quota_current': '現在のクォータ',
    'quota_gold_tier': 'ゴールドティア',
    'quota_used': '使用済み',
    'quota_monthly_limit': '月間発行限度',
    'quota_remaining': '残り',
    'quota_breakdown': 'クォータ内訳',
    'quota_usage_records': '使用記録',
    'quota_period_month': '今月',
    'quota_period_quarter': '今四半期',
    'quota_period_year': '今年',
    'quota_tier_and_quota': 'ティアとクォータ',
    'quota_current_badge': '現在',
    'quota_monthly_quota': '月間クォータ',
    'quota_upgrade_hint': 'プラチナ：信用スコア90+ かつ 3ヶ月連続 ≥\$10M発行',
    'quota_request_title': '増額申請履歴',
    'quota_request_reviewing': '審査中',
    'quota_request_rejected': '却下',
    'quota_request_approved': '承認済み',
    'quota_submit_new': '新規申請',

    // ── AI Agent ──
    'ai_agent_title': 'AI アシスタント',
    'ai_agent_welcome': 'こんにちは！Genex AIアシスタントです。販売データ分析、価格最適化、信用格付け向上のお手伝いができます。何かお手伝いしましょうか？',
    'ai_agent_input_hint': '質問を入力...',
    'ai_agent_action_sales': '今月の売上を分析',
    'ai_agent_action_timing': '最適な発行タイミング',
    'ai_agent_action_credit': '信用格付けの改善方法',
    'ai_agent_action_quota': 'クォータ使用状況分析',

    // ── Store Management ──
    'store_title': '店舗管理',
    'store_tab_list': '店舗一覧',
    'store_tab_employees': 'スタッフ管理',
    'store_status_open': '営業中',
    'store_status_closed': '休業中',
    'store_people_unit': '名',
    'store_emp_edit': '編集',
    'store_emp_remove': '削除',

    // ── Settings ──
    'settings_title': '設定',
    'settings_admin': '管理者',
    'settings_gold_issuer': 'ゴールド発行者',
    'settings_upgrade': 'アップグレード',
    'settings_group_company': '企業管理',
    'settings_company_info': '企業情報',
    'settings_store_mgmt': '店舗管理',
    'settings_employee_mgmt': 'スタッフ管理',
    'settings_permissions': '権限設定',
    'settings_group_support': 'サポート',
    'settings_ai_assistant': 'AI アシスタント',
    'settings_customer_service': '専属カスタマーサービス',
    'settings_help_center': 'ヘルプセンター',
    'settings_feedback': 'フィードバック',
    'settings_group_security': 'セキュリティとアカウント',
    'settings_change_password': 'パスワード変更',
    'settings_operation_log': '操作ログ',
    'settings_about': 'Genex について',
    'settings_logout': 'ログアウト',

    // ── AI Suggestion Card ──
    'ai_suggestion_label': 'AI 提案',
    'ai_suggestion_dismiss': '無視',
    'ai_suggestion_accept': '採用',

    // ── Update ──
    'update.newVersion': '新バージョン',
    'update.importantUpdate': '重要な更新',
    'update.latestVersion': '最新バージョン',
    'update.fileSize': 'ファイルサイズ',
    'update.changelog': '更新内容',
    'update.marketHint': 'アプリストアからインストールされました。ストアでの更新を推奨します。',
    'update.goMarket': 'ストアへ',
    'update.later': '後で',
    'update.skipUpdate': 'スキップ',
    'update.updateNow': '今すぐ更新',
    'update.preparing': '準備中...',
    'update.downloading': 'ダウンロード中...',
    'update.downloadComplete': 'ダウンロード完了',
    'update.cancelled': 'キャンセル済み',
    'update.failed': 'ダウンロード失敗',
    'update.installing': 'インストール中...',
    'update.installFailed': 'インストール失敗',
    'update.installLater': '後でインストール',
    'update.installNow': '今すぐインストール',
    'update.updating': '更新中',
    'update.updateFailed': '更新失敗',
    'update.cancel': 'キャンセル',
    'update.retry': 'リトライ',
    'update.close': '閉じる',
    'update.isLatest': '最新バージョンです',
    'update.checkUpdate': 'アップデート確認',

    // ── Notification ──
    'notification.system': 'システム',
    'notification.activity': 'アクティビティ',
    'notification.reward': '収益',
    'notification.upgrade': 'アップグレード',
    'notification.announcement': 'お知らせ',
    'notification.markAllRead': 'すべて既読',
    'notification.empty': '通知なし',
    'notification.loadFailed': '読み込み失敗',
    'notification.retry': 'リトライ',
  };
}

/// LocalizationsDelegate
class AppLocalizationsDelegate extends LocalizationsDelegate<AppLocalizations> {
  const AppLocalizationsDelegate();

  @override
  bool isSupported(Locale locale) {
    return ['zh', 'en', 'ja'].contains(locale.languageCode);
  }

  @override
  Future<AppLocalizations> load(Locale locale) async {
    return AppLocalizations(locale);
  }

  @override
  bool shouldReload(covariant LocalizationsDelegate<AppLocalizations> old) =>
      false;
}

/// BuildContext 扩展，快捷访问翻译
extension AppLocalizationsExtension on BuildContext {
  /// 快捷翻译: context.t('key')
  String t(String key) => AppLocalizations.of(this).get(key);
}
