locales.js 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256
  1. window.BindVaultLocales = {
  2. zh: {
  3. app: { subtitle: "个人数字资产台账", workspace: "MVP workspace" },
  4. groups: { overview: "总览", assets: "基础资产", relations: "关系管理", risk: "风险" },
  5. labels: {
  6. dashboard: "Dashboard", phones: "手机号", emails: "邮箱", domains: "域名", accounts: "账号", bindings: "绑定关系", incidents: "风险事件",
  7. available: "可用", inactive: "停用", cannot_receive_sms: "不可收码", released: "已释放", high_risk: "高风险", unknown: "未知",
  8. cannot_receive: "不可收信", active: "活跃", expired: "已过期", transferring: "转移中", normal: "正常", pending_verify: "待验证",
  9. locked: "已锁定", suspended: "已冻结", appealing: "申诉中", recovered: "已恢复", deleted: "已注销", unusable: "不可用",
  10. open: "待处理", processing: "处理中", resolved: "已解决", abandoned: "放弃", low: "低", medium: "中", high: "高", critical: "严重",
  11. phone: "手机号", email: "邮箱", domain: "域名", account: "账号", login: "登录", recovery: "恢复", trusted_phone: "受信任手机号",
  12. two_factor: "二次验证", notification: "通知", payment: "支付", owner: "实名/所有者", alias: "别名", removed: "已解绑", risky: "有风险",
  13. },
  14. schemas: {
  15. phones: { title: "手机号", fields: { country_code: "手机号", phone_local_number: "本地号码", country_region: "国家/地区", carrier: "运营商", owner: "实名人", sim_type: "SIM 类型", status: "状态", purpose: "用途", is_primary: "主力号码", can_receive_sms: "可收短信", can_receive_call: "可接电话", last_verified_at: "最近验证", expires_at: "到期时间", tags: "标签", notes: "备注" } },
  16. emails: { title: "邮箱", fields: { email: "邮箱地址", email_type: "邮箱类型", provider: "服务商", domain: "所属域名", forward_to: "转发目标", status: "状态", can_receive_email: "可收信", can_send_email: "可发信", purpose: "用途", is_primary: "主邮箱", last_verified_at: "最近验证", tags: "标签", notes: "备注" } },
  17. domains: { title: "域名", fields: { domain: "域名", registrar: "注册商", dns_provider: "DNS 服务商", status: "状态", expires_at: "到期时间", auto_renew: "自动续费", email_routing_enabled: "邮件路由", tags: "标签", notes: "备注" } },
  18. accounts: { title: "账号", fields: { platform: "平台", platform_logo: "平台 Logo", account_identifier: "登录标识", display_name: "展示名", region: "注册地区", status: "状态", login_email_id: "登录邮箱", login_phone_id: "登录手机号", recovery_email_id: "恢复邮箱", recovery_phone_id: "恢复手机号", two_factor_type: "2FA 类型", credential_ref: "凭据引用", recovery_ref: "恢复引用", registered_at: "注册时间", last_login_at: "最近登录", last_verified_at: "最近验证", tags: "标签", risk_notes: "风险提示", notes: "备注" } },
  19. bindings: { title: "绑定关系", fields: { asset_type: "资产类型", asset_id: "资产", account_id: "账号", binding_role: "绑定角色", status: "状态", bound_at: "绑定时间", unbound_at: "解绑时间", can_unbind: "可解绑", risk_level: "风险等级", tags: "标签", notes: "备注" } },
  20. incidents: { title: "风险事件", fields: { account_id: "关联账号", platform: "平台", incident_type: "事件类型", severity: "严重等级", status: "状态", occurred_at: "发生时间", resolved_at: "解决时间", description: "描述", action_taken: "已采取动作", next_action: "下一步动作", evidence_ref: "证据引用", tags: "标签", notes: "备注" } },
  21. },
  22. ui: {
  23. searchGlobal: "搜索资源、账号或关系...", refresh: "刷新", newBinding: "新建绑定", saved: "已保存", cancel: "取消", save: "保存", saving: "保存中...",
  24. addRecord: "新增{name}", editRecord: "编辑{name}", noSelection: "未选择", required: "必填", searchCurrent: "搜索当前列表", allStatus: "全部状态",
  25. noLocalLicense: "暂无本地激活信息", freeUnlocked: "Free 永久可用,受数量限制", proUnlocked: "已解锁完整功能",
  26. freePlan: "Free 套餐", proPlan: "Pro 套餐", notActivated: "未激活", activated: "已激活", profile: "个人中心", upgrade: "升级套餐",
  27. guide: "新手指引", signOut: "退出登录", license: "License", accountInfo: "账号信息", email: "邮箱", deviceId: "设备 ID",
  28. licenseStatus: "授权状态", licenseKey: "激活码", plan: "套餐", localData: "本地数据", totalAssets: "资产总数", totalAccounts: "账号总数",
  29. totalBindings: "绑定关系", close: "关闭", getCode: "获取激活码", haveCode: "已有激活码", sendCode: "发送激活码", sending: "发送中...",
  30. activate: "激活", verifying: "验证中...", enterCode: "请输入激活码", registerDesc: "免费版可长期使用:基础资产 {assets} 个、账号 {accounts} 个、绑定关系 {bindings} 条。升级 Pro 后开启完整功能。",
  31. limitReason: "免费版最多可创建 {limit} 个{name},当前已使用 {used}/{limit}。", limitUpgrade: "{reason}<br>升级 Pro 后可解除数量限制,开启完整功能。",
  32. relationshipMap: "Relationship Map", bindingTopology: "绑定拓扑图", bindingTopologyDesc: "清晰查看基础资产、账号与绑定角色之间的关系。",
  33. allRelations: "全部关系", showAll: "显示全部", focusedView: "当前为聚焦视图", activeCount: "活跃 {count}", inactiveCount: "非活跃 {count}",
  34. assetStats: "基础资产", accountStats: "账号总数", bindingStats: "绑定关系", highRiskBindings: "高风险绑定",
  35. assetStatsMeta: "手机号 {phones} · 邮箱 {emails} · 域名 {domains}", activeBindingsMeta: "活跃绑定 {count}",
  36. noHighRisk: "当前没有高风险", needsPriority: "需要优先处理", details: "Details", bindingDetails: "绑定明细",
  37. noActiveBindings: "暂无活跃绑定关系", graph: "Graph", coreBindingGraph: "核心绑定关系", baseResources: "基础资源",
  38. bindingRoleLegend: "绑定角色", riskLegend: "风险", bindingCount: "{count} 个绑定",
  39. resource: "资源", role: "角色", status: "状态", risk: "风险", boundAt: "绑定时间", actions: "操作",
  40. view: "详情", edit: "编辑", delete: "删除", yes: "是", no: "否", all: "全部", other: "其他", unknownName: "未知",
  41. paymentMethod: "支付方式", device: "设备", subscription: "订阅",
  42. boundResources: "绑定资源", accountState: "账号状态", region: "地区", attentionNeeded: "需关注", healthy: "正常",
  43. noActiveAccountBindings: "暂无活跃绑定。", selectBindingDetails: "选择一条绑定查看详情", noRiskTips: "暂无风险提示。",
  44. topology: "Topology", assetBindingTopology: "资产绑定拓扑", riskBinding: "风险绑定", platformAccounts: "平台账号",
  45. emptyRecord: "还没有{name}记录", emptyRecordDesc: "点击右上角新增,先把关键手机号、邮箱、账号和绑定关系录入起来,风险检测就能开始工作。",
  46. quickView: "Quick View", notes: "备注", relatedBindings: "关联绑定", noRelatedBindings: "暂无关联绑定。", eventTimeline: "事件时间线",
  47. manualTip: "手动提示", noModuleData: "暂无{name}数据", searchModule: "搜索{name}…",
  48. put: "把", as: "作为", possessive: "的", selectAsset: "选择资产", selectAccount: "选择账号",
  49. usageRole: "用途 / 绑定角色", selectUsage: "选择用途", moreOptions: "更多选项", canUnbind: "可解绑", optionalTags: "可选标签",
  50. logoHint: "可选。支持 https 图片地址、data:image... 或 assets/platforms/*.svg;不填则使用内置品牌或首字母。",
  51. uploadLogo: "上传图片",
  52. detailSuffix: "详情", closeDetail: "关闭详情",
  53. workspaceOverview: "Workspace Overview", assetAccountSecurity: "资产与账号安全",
  54. dashboardHeroDesc: "用更轻的方式看清当前台账状态、恢复链路和支付依赖。重点问题会直接浮到台前,不用再翻列表找。",
  55. recentEvent: "最近事件", allClear: "一切平稳", noOpenIncidents: "当前没有待处理事件",
  56. dashboardAssetsMeta: "手机号 {phones} · 邮箱 {emails} · 域名 {domains}", goMaintain: "前往维护",
  57. accountSecurity: "账号安全", accountSecurityMeta: "正常 {normal} · 异常 {locked} · 申诉中 {appealing}", viewAccounts: "查看账号", twoFactorEnabled: "2FA 已启用 {count}",
  58. recoveryPayment: "恢复与支付", recoveryPaymentMeta: "恢复链路 {recovery} · 支付关系 {payment}", viewBindings: "查看绑定",
  59. riskStatus: "风险状态", riskStatusMeta: "高风险 {highRisk} · 待处理事件 {openIncidents}", viewRisks: "查看风险",
  60. accountsPanel: "Accounts", platformStatus: "平台与状态", viewAll: "查看全部", platformDistribution: "平台分布", accountStatus: "账号状态", noAccountData: "暂无账号数据",
  61. monitoringPanel: "Monitoring", riskRecentChanges: "风险与最近变更", riskTips: "风险提示", noRisk: "暂无风险",
  62. noRiskDesc: "当手机号、邮箱、域名和恢复方式出现异常时,这里会优先提醒你。", recentChangedAccounts: "最近变更账号", noAccountsYet: "还没有账号记录。",
  63. },
  64. tour: {
  65. progress: "步骤 {current} / {total}",
  66. skip: "退出引导",
  67. next: "下一步",
  68. waitingSave: "等待保存...",
  69. completed: "第一条资产链路引导完成",
  70. steps: [
  71. { title: "第一步:先进入邮箱", body: "我们先录入一个邮箱,马上用它作为账号的登录邮箱,形成第一条资产关系。", cta: "打开邮箱页" },
  72. { title: "新建邮箱", body: "点击新增邮箱,填写邮箱地址并保存。", cta: "新增邮箱" },
  73. { title: "填写并保存邮箱", body: "填入邮箱地址,确认可收信状态,然后点击「保存」。保存成功后,我会带你去新建账号。" },
  74. { title: "第二步:进入账号", body: "接下来新建一个账号,并把刚才的邮箱选为登录邮箱。", cta: "打开账号页" },
  75. { title: "新建账号", body: "点击新增账号。我会帮你预填平台 BindVault,并默认选中刚才创建的邮箱。", cta: "新增账号" },
  76. { title: "确认登录邮箱并保存账号", body: "平台可以填 BindVault,登录邮箱选择刚才创建的邮箱。保存账号后,系统会自动创建邮箱登录绑定。" },
  77. { title: "完成:查看绑定拓扑", body: "账号保存后已经自动生成邮箱登录绑定。现在可以在拓扑图里看到邮箱和账号之间的关系。", cta: "完成" },
  78. ],
  79. },
  80. onboarding: {
  81. eyebrow: "Getting Started",
  82. title: "快速建立第一条账号链路",
  83. later: "稍后再说",
  84. start: "开始录入",
  85. steps: [
  86. { title: "先填写邮箱", body: "先录入一个可收信邮箱,马上用它作为账号登录邮箱。", cta: "新增邮箱" },
  87. { title: "新建账号并选择登录邮箱", body: "平台可以填 BindVault,登录邮箱选择刚才录入的邮箱。", cta: "新增账号" },
  88. { title: "自动生成登录绑定", body: "保存账号后,系统会自动创建邮箱到账号的登录绑定关系。", cta: "继续账号" },
  89. { title: "查看绑定拓扑", body: "进入绑定关系页,查看邮箱和账号之间的第一条资产链路。", cta: "查看拓扑" },
  90. ],
  91. },
  92. pricing: {
  93. eyebrow: "Upgrade",
  94. title: "选择适合你的套餐",
  95. subtitle: "从基础台账到全功能解锁,按需升级。",
  96. monthSuffix: "/ 月",
  97. recommended: "推荐",
  98. currentPlan: "当前套餐",
  99. upgradeToPro: "升级至 Pro",
  100. switchToFree: "切换至 Free",
  101. includesAll: "包含 Free 所有功能,并解锁:",
  102. free: {
  103. desc: "本地管理你的数字资产",
  104. features: [
  105. "基础资产管理(手机 / 邮箱 / 域名)",
  106. "账号与绑定关系图",
  107. "风险事件追踪",
  108. "本地 SQLite 存储",
  109. "JSON 导入 / 导出",
  110. "最多 3 台设备使用",
  111. ],
  112. },
  113. pro: {
  114. desc: "解锁全部高级能力",
  115. features: [
  116. "多设备云端同步",
  117. "每日自动备份",
  118. "数据端到端加密",
  119. "高级风险检测(恢复链路异常 / 单点故障预警)",
  120. "批量 CSV 导入与导出",
  121. "无限制账号与绑定数量",
  122. "优先邮件支持",
  123. ],
  124. },
  125. payPending: "Pro 升级支付通道开通中,敬请期待",
  126. downgradePending: "切换至 Free 即将上线",
  127. },
  128. },
  129. en: {
  130. app: { subtitle: "Personal digital asset ledger", workspace: "MVP workspace" },
  131. groups: { overview: "Overview", assets: "Assets", relations: "Relations", risk: "Risk" },
  132. labels: {
  133. dashboard: "Dashboard", phones: "Phones", emails: "Emails", domains: "Domains", accounts: "Accounts", bindings: "Bindings", incidents: "Risk Events",
  134. available: "Available", inactive: "Inactive", cannot_receive_sms: "No SMS", released: "Released", high_risk: "High Risk", unknown: "Unknown",
  135. cannot_receive: "Cannot Receive", active: "Active", expired: "Expired", transferring: "Transferring", normal: "Normal", pending_verify: "Pending",
  136. locked: "Locked", suspended: "Suspended", appealing: "Appealing", recovered: "Recovered", deleted: "Deleted", unusable: "Unusable",
  137. open: "Open", processing: "Processing", resolved: "Resolved", abandoned: "Abandoned", low: "Low", medium: "Medium", high: "High", critical: "Critical",
  138. phone: "Phone", email: "Email", domain: "Domain", account: "Account", login: "Login", recovery: "Recovery", trusted_phone: "Trusted Phone",
  139. two_factor: "2FA", notification: "Notification", payment: "Payment", owner: "Owner", alias: "Alias", removed: "Removed", risky: "Risky",
  140. },
  141. schemas: {
  142. phones: { title: "Phone", fields: { country_code: "Phone", phone_local_number: "Local Number", country_region: "Country/Region", carrier: "Carrier", owner: "Owner", sim_type: "SIM Type", status: "Status", purpose: "Purpose", is_primary: "Primary Number", can_receive_sms: "Can Receive SMS", can_receive_call: "Can Receive Calls", last_verified_at: "Last Verified", expires_at: "Expires At", tags: "Tags", notes: "Notes" } },
  143. emails: { title: "Email", fields: { email: "Email Address", email_type: "Email Type", provider: "Provider", domain: "Domain", forward_to: "Forward To", status: "Status", can_receive_email: "Can Receive", can_send_email: "Can Send", purpose: "Purpose", is_primary: "Primary Email", last_verified_at: "Last Verified", tags: "Tags", notes: "Notes" } },
  144. domains: { title: "Domain", fields: { domain: "Domain", registrar: "Registrar", dns_provider: "DNS Provider", status: "Status", expires_at: "Expires At", auto_renew: "Auto Renew", email_routing_enabled: "Email Routing", tags: "Tags", notes: "Notes" } },
  145. accounts: { title: "Account", fields: { platform: "Platform", platform_logo: "Platform Logo", account_identifier: "Login ID", display_name: "Display Name", region: "Region", status: "Status", login_email_id: "Login Email", login_phone_id: "Login Phone", recovery_email_id: "Recovery Email", recovery_phone_id: "Recovery Phone", two_factor_type: "2FA Type", credential_ref: "Credential Ref", recovery_ref: "Recovery Ref", registered_at: "Registered At", last_login_at: "Last Login", last_verified_at: "Last Verified", tags: "Tags", risk_notes: "Risk Notes", notes: "Notes" } },
  146. bindings: { title: "Binding", fields: { asset_type: "Asset Type", asset_id: "Asset", account_id: "Account", binding_role: "Role", status: "Status", bound_at: "Bound At", unbound_at: "Unbound At", can_unbind: "Can Unbind", risk_level: "Risk Level", tags: "Tags", notes: "Notes" } },
  147. incidents: { title: "Risk Event", fields: { account_id: "Account", platform: "Platform", incident_type: "Event Type", severity: "Severity", status: "Status", occurred_at: "Occurred At", resolved_at: "Resolved At", description: "Description", action_taken: "Action Taken", next_action: "Next Action", evidence_ref: "Evidence Ref", tags: "Tags", notes: "Notes" } },
  148. },
  149. ui: {
  150. searchGlobal: "Search assets, accounts, or relations...", refresh: "Refresh", newBinding: "New Binding", saved: "Saved", cancel: "Cancel", save: "Save", saving: "Saving...",
  151. addRecord: "Add {name}", editRecord: "Edit {name}", noSelection: "None", required: "Required", searchCurrent: "Search current list", allStatus: "All statuses",
  152. noLocalLicense: "No local license info", freeUnlocked: "Free forever with quantity limits", proUnlocked: "Full features unlocked",
  153. freePlan: "Free Plan", proPlan: "Pro Plan", notActivated: "Not activated", activated: "Activated", profile: "Profile", upgrade: "Upgrade",
  154. guide: "Guide", signOut: "Sign Out", license: "License", accountInfo: "Account Info", email: "Email", deviceId: "Device ID",
  155. licenseStatus: "License Status", licenseKey: "License Key", plan: "Plan", localData: "Local Data", totalAssets: "Assets", totalAccounts: "Accounts",
  156. totalBindings: "Bindings", close: "Close", getCode: "Get Code", haveCode: "Have Code", sendCode: "Send Code", sending: "Sending...",
  157. activate: "Activate", verifying: "Verifying...", enterCode: "Enter license code", registerDesc: "Free forever: {assets} assets, {accounts} accounts, and {bindings} bindings. Upgrade to Pro for full features.",
  158. limitReason: "Free plan allows up to {limit} {name}. Current usage: {used}/{limit}.", limitUpgrade: "{reason}<br>Upgrade to Pro to remove limits and unlock full features.",
  159. relationshipMap: "Relationship Map", bindingTopology: "Binding Topology", bindingTopologyDesc: "Clearly see how base assets, accounts, and binding roles connect.",
  160. allRelations: "All relations", showAll: "Show all", focusedView: "Focused view", activeCount: "Active {count}", inactiveCount: "Inactive {count}",
  161. assetStats: "Assets", accountStats: "Accounts", bindingStats: "Bindings", highRiskBindings: "High-risk bindings",
  162. assetStatsMeta: "Phones {phones} · Emails {emails} · Domains {domains}", activeBindingsMeta: "Active bindings {count}",
  163. noHighRisk: "No high risk", needsPriority: "Needs attention", details: "Details", bindingDetails: "Binding Details",
  164. noActiveBindings: "No active bindings", graph: "Graph", coreBindingGraph: "Core Binding Graph", baseResources: "Base Resources",
  165. bindingRoleLegend: "Binding Roles", riskLegend: "Risk", bindingCount: "{count} bindings",
  166. resource: "Resource", role: "Role", status: "Status", risk: "Risk", boundAt: "Bound At", actions: "Actions",
  167. view: "View", edit: "Edit", delete: "Delete", yes: "Yes", no: "No", all: "All", other: "Other", unknownName: "Unknown",
  168. paymentMethod: "Payment Method", device: "Device", subscription: "Subscription",
  169. boundResources: "Bound Resources", accountState: "Account Status", region: "Region", attentionNeeded: "Needs Attention", healthy: "Normal",
  170. noActiveAccountBindings: "No active bindings.", selectBindingDetails: "Select a binding to view details", noRiskTips: "No risk tips.",
  171. topology: "Topology", assetBindingTopology: "Asset Binding Topology", riskBinding: "Risk Binding", platformAccounts: "Platform Accounts",
  172. emptyRecord: "No {name} records yet", emptyRecordDesc: "Click Add in the upper-right corner to start recording key phones, emails, accounts, and bindings. Risk detection will start from there.",
  173. quickView: "Quick View", notes: "Notes", relatedBindings: "Related Bindings", noRelatedBindings: "No related bindings.", eventTimeline: "Event Timeline",
  174. manualTip: "Manual Tip", noModuleData: "No {name} data", searchModule: "Search {name}...",
  175. put: "Use", as: "as", possessive: "for", selectAsset: "Select Asset", selectAccount: "Select Account",
  176. usageRole: "Usage / Binding Role", selectUsage: "Select usage", moreOptions: "More Options", canUnbind: "Can Unbind", optionalTags: "Optional tags",
  177. logoHint: "Optional. Supports HTTPS image URLs, data:image..., or assets/platforms/*.svg. If empty, BindVault uses built-in brands or initials.",
  178. uploadLogo: "Upload Image",
  179. detailSuffix: "Details", closeDetail: "Close details",
  180. workspaceOverview: "Workspace Overview", assetAccountSecurity: "Asset & Account Security",
  181. dashboardHeroDesc: "See account status, recovery paths, and payment dependencies at a glance. Important issues surface first, without digging through lists.",
  182. recentEvent: "Recent Event", allClear: "All Clear", noOpenIncidents: "No pending events",
  183. dashboardAssetsMeta: "Phones {phones} · Emails {emails} · Domains {domains}", goMaintain: "Maintain",
  184. accountSecurity: "Account Security", accountSecurityMeta: "Normal {normal} · Issues {locked} · Appealing {appealing}", viewAccounts: "View Accounts", twoFactorEnabled: "2FA enabled {count}",
  185. recoveryPayment: "Recovery & Payment", recoveryPaymentMeta: "Recovery links {recovery} · Payment relations {payment}", viewBindings: "View Bindings",
  186. riskStatus: "Risk Status", riskStatusMeta: "High risk {highRisk} · Open events {openIncidents}", viewRisks: "View Risks",
  187. accountsPanel: "Accounts", platformStatus: "Platforms & Status", viewAll: "View All", platformDistribution: "Platform Distribution", accountStatus: "Account Status", noAccountData: "No account data",
  188. monitoringPanel: "Monitoring", riskRecentChanges: "Risks & Recent Changes", riskTips: "Risk Tips", noRisk: "No Risk",
  189. noRiskDesc: "When phone numbers, emails, domains, or recovery methods become abnormal, they will appear here first.", recentChangedAccounts: "Recently Changed Accounts", noAccountsYet: "No account records yet.",
  190. },
  191. tour: {
  192. progress: "Step {current} / {total}",
  193. skip: "Exit Guide",
  194. next: "Next",
  195. waitingSave: "Waiting for save...",
  196. completed: "First asset chain guide completed",
  197. steps: [
  198. { title: "Step 1: Open Emails", body: "Let's add an email first, then use it as the login email for an account to create the first asset relationship.", cta: "Open Emails" },
  199. { title: "Create an Email", body: "Click Add Email, enter the email address, and save it.", cta: "Add Email" },
  200. { title: "Fill and Save the Email", body: "Enter the email address, confirm it can receive mail, then click Save. After it is saved, I will take you to create an account." },
  201. { title: "Step 2: Open Accounts", body: "Next, create an account and select the email you just added as its login email.", cta: "Open Accounts" },
  202. { title: "Create an Account", body: "Click Add Account. I will prefill the platform as BindVault and select the email you just created by default.", cta: "Add Account" },
  203. { title: "Confirm Login Email and Save", body: "Use BindVault as the platform, select the email you just created as the login email, then save. The system will automatically create an email login binding." },
  204. { title: "Done: View the Topology", body: "After the account is saved, the email login binding is created automatically. You can now see the relationship between the email and account in the topology.", cta: "Done" },
  205. ],
  206. },
  207. onboarding: {
  208. eyebrow: "Getting Started",
  209. title: "Create Your First Account Chain",
  210. later: "Maybe Later",
  211. start: "Start",
  212. steps: [
  213. { title: "Add an Email First", body: "Add an email that can receive mail, then use it as the login email for an account.", cta: "Add Email" },
  214. { title: "Create an Account and Select Login Email", body: "You can use BindVault as the platform and select the email you just added.", cta: "Add Account" },
  215. { title: "Auto-create the Login Binding", body: "After saving the account, the system will automatically create an email-to-account login binding.", cta: "Continue Account" },
  216. { title: "View the Binding Topology", body: "Open Bindings to see the first asset chain between the email and account.", cta: "View Topology" },
  217. ],
  218. },
  219. pricing: {
  220. eyebrow: "Upgrade",
  221. title: "Choose the plan that fits you",
  222. subtitle: "From basic ledger to full features — upgrade on demand.",
  223. monthSuffix: "/ month",
  224. recommended: "Recommended",
  225. currentPlan: "Current Plan",
  226. upgradeToPro: "Upgrade to Pro",
  227. switchToFree: "Switch to Free",
  228. includesAll: "Includes all Free features, plus:",
  229. free: {
  230. desc: "Manage your digital assets locally",
  231. features: [
  232. "Basic asset management (phones / emails / domains)",
  233. "Accounts and binding relationship graph",
  234. "Risk event tracking",
  235. "Local SQLite storage",
  236. "JSON import / export",
  237. "Up to 3 devices",
  238. ],
  239. },
  240. pro: {
  241. desc: "Unlock all advanced capabilities",
  242. features: [
  243. "Multi-device cloud sync",
  244. "Daily automatic backup",
  245. "End-to-end encryption",
  246. "Advanced risk detection (recovery chain anomalies / single-point alerts)",
  247. "Bulk CSV import & export",
  248. "Unlimited accounts and bindings",
  249. "Priority email support",
  250. ],
  251. },
  252. payPending: "Pro payment channel is coming soon, stay tuned",
  253. downgradePending: "Switching to Free coming soon",
  254. },
  255. },
  256. };