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 _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(context, AppLocalizations)!; } /// 获取翻译字符串,找不到时 fallback 到中文,再找不到返回 key String get(String key) => _strings[key] ?? _zhCN[key] ?? key; static const Map> _allStrings = { 'zh': _zhCN, 'zh_CN': _zhCN, 'en': _enUS, 'en_US': _enUS, 'ja': _jaJP, 'ja_JP': _jaJP, }; // ================================================================ // 中文 (简体) // ================================================================ static const Map _zhCN = { // ── 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 (bottom nav) ── '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': '还没有账号?申请入驻', // ── 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_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_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': '您好!我是 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': '采纳', }; // ================================================================ // English (US) // ================================================================ static const Map _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', // ── 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_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_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', }; // ================================================================ // Japanese // ================================================================ static const Map _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': 'アカウントがない場合は申請', // ── 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_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_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': '採用', }; } /// LocalizationsDelegate class AppLocalizationsDelegate extends LocalizationsDelegate { const AppLocalizationsDelegate(); @override bool isSupported(Locale locale) { return ['zh', 'en', 'ja'].contains(locale.languageCode); } @override Future load(Locale locale) async { return AppLocalizations(locale); } @override bool shouldReload(covariant LocalizationsDelegate old) => false; } /// BuildContext 扩展,快捷访问翻译 extension AppLocalizationsExtension on BuildContext { /// 快捷翻译: context.t('key') String t(String key) => AppLocalizations.of(this).get(key); }