diff --git a/app/helpers/languages_helper.rb b/app/helpers/languages_helper.rb index cd64c3cd2..98c35f4c1 100644 --- a/app/helpers/languages_helper.rb +++ b/app/helpers/languages_helper.rb @@ -57,7 +57,7 @@ module LanguagesHelper tr: "Turkish", uk: "Ukrainian", vi: "Vietnamese", - 'zh-CN': "Chinese (Simplified)", + 'zh-CN': "简体中文", 'zh-TW': "Chinese (Traditional)", af: "Afrikaans", az: "Azerbaijani", @@ -162,7 +162,8 @@ module LanguagesHelper "nb", # Norwegian Bokmål - 57 translation files "ca", # Catalan - 57 translation files "ro", # Romanian - 62 translation files - "pt-BR" # Brazilian Portuguese - 60 translation files + "pt-BR", # Brazilian Portuguese - 60 translation files + "zh-CN" # Chinese (Simplified) - 59 translation files ].freeze COUNTRY_MAPPING = { diff --git a/config/locales/defaults/zh-CN.yml b/config/locales/defaults/zh-CN.yml index 35f2aa697..03bcb770c 100644 --- a/config/locales/defaults/zh-CN.yml +++ b/config/locales/defaults/zh-CN.yml @@ -90,10 +90,11 @@ zh-CN: confirmation: 与%{attribute}不匹配 empty: 不能留空 equal_to: 必须等于%{count} - even: 必须为双数 + even: 必须为偶数 exclusion: 是保留关键字 greater_than: 必须大于%{count} greater_than_or_equal_to: 必须大于或等于%{count} + in: 必须在 %{count} 之内 inclusion: 不包含于列表中 invalid: 是无效的 less_than: 必须小于%{count} @@ -101,7 +102,7 @@ zh-CN: model_invalid: 验证失败:%{errors} not_a_number: 不是数字 not_an_integer: 必须是整数 - odd: 必须为单数 + odd: 必须为奇数 other_than: 长度非法(不可为%{count}个字符) present: 必须是空白 required: 必须存在 @@ -111,7 +112,7 @@ zh-CN: wrong_length: 长度非法(必须为%{count}个字符) template: body: 如下字段出现错误: - header: 有%{count}个错误发生导致“%{model}”无法被保存。 + header: 有%{count}个错误发生导致"%{model}"无法被保存。 helpers: select: prompt: 请选择 @@ -122,16 +123,12 @@ zh-CN: number: currency: format: - delimiter: "," - format: "%u %n" - precision: 2 - separator: "." significant: false strip_insignificant_zeros: false - unit: CN¥ format: delimiter: "," precision: 3 + round_mode: default separator: "." significant: false strip_insignificant_zeros: false @@ -175,7 +172,7 @@ zh-CN: time: am: 上午 formats: - default: "%Y年%m月%d日 %A %H:%M:%S %Z" + default: "%Y年%m月%d日 %A %H:%M:%S" long: "%Y年%m月%d日 %H:%M" short: "%m月%d日 %H:%M" pm: 下午 diff --git a/config/locales/doorkeeper.zh-CN.yml b/config/locales/doorkeeper.zh-CN.yml new file mode 100644 index 000000000..84b730a13 --- /dev/null +++ b/config/locales/doorkeeper.zh-CN.yml @@ -0,0 +1,143 @@ +--- +zh-CN: + activerecord: + attributes: + doorkeeper/application: + name: 应用名称 + redirect_uri: 重定向 URI + errors: + models: + doorkeeper/application: + attributes: + redirect_uri: + forbidden_uri: 被服务器禁止 + fragment_present: 不能包含片段标识符 + invalid_uri: 必须是有效的 URI + relative_uri: 必须是绝对 URI + secured_uri: 必须是 HTTPS/SSL URI + unspecified_scheme: 必须指定协议 + scopes: + not_match_configured: 与服务器配置不匹配 + doorkeeper: + applications: + buttons: + authorize: 授权 + cancel: 取消 + destroy: 删除 + edit: 编辑 + submit: 提交 + confirmations: + destroy: 确定要删除吗? + edit: + title: 编辑应用 + form: + error: 错误!请检查表单中的可能错误 + help: + blank_redirect_uri: 如果您的提供商配置为使用客户端凭据、资源所有者密码凭据或其他不需要重定向 URI 的授权类型,请留空。 + confidential: 此应用将用于可以保密客户端密钥的场景。原生移动应用和单页应用被视为非保密应用。 + redirect_uri: 每个 URI 占用一行 + scopes: 用空格分隔权限范围。留空则使用默认范围。 + index: + actions: 操作 + callback_url: 回调 URL + confidential: 保密应用? + confidentiality: + 'no': 否 + 'yes': 是 + name: 名称 + new: 新建应用 + title: 您的应用 + new: + title: 新建应用 + show: + actions: 操作 + application_id: 应用 ID + callback_urls: 回调 URL + confidential: 保密 + not_defined: 未定义 + scopes: 权限范围 + secret: 密钥 + secret_hashed: 密钥哈希值 + title: 应用:%{name} + authorizations: + buttons: + authorize: 授权 + deny: 拒绝 + error: + title: 发生错误 + form_post: + title: 提交此表单 + new: + able_to: 此应用将能够 + prompt: 授权 %{client_name} 使用您的账户吗? + title: 需要授权 + show: + title: 授权代码 + authorized_applications: + buttons: + revoke: 撤销 + confirmations: + revoke: 确定要撤销吗? + index: + application: 应用 + created_at: 创建时间 + date_format: "%Y年%m月%d日 %H:%M:%S" + title: 您已授权的应用 + errors: + messages: + access_denied: 资源所有者或授权服务器拒绝了请求。 + admin_authenticator_not_configured: 访问管理面板被禁止,因为 Doorkeeper.configure.admin_authenticator + 未配置。 + credential_flow_not_configured: 资源所有者密码凭据流程失败,因为 Doorkeeper.configure.resource_owner_from_credentials + 未配置。 + forbidden_token: + missing_scope: 访问此资源需要权限范围 "%{oauth_scopes}"。 + invalid_client: 客户端认证失败:未知客户端、未包含客户端认证或使用了不受支持的认证方法。 + invalid_code_challenge_method: + one: code_challenge_method 必须是 %{challenge_methods}。 + other: code_challenge_method 必须是以下之一:%{challenge_methods}。 + zero: 授权服务器不支持 PKCE,因为没有可接受的 code_challenge_method 值。 + invalid_grant: 提供的授权授权码无效、已过期、已撤销、与授权请求中使用的重定向 URI 不匹配,或已颁发给其他客户端。 + invalid_redirect_uri: 请求的重定向 URI 格式不正确或与客户端重定向 URI 不匹配。 + invalid_request: + invalid_code_challenge: 需要代码挑战参数。 + missing_param: 缺少必要参数:%{value}。 + request_not_authorized: 请求需要授权。授权请求的必要参数缺失或无效。 + unknown: 请求缺少必要参数、包含不受支持的参数值或格式不正确。 + invalid_scope: 请求的权限范围无效、未知或格式不正确。 + invalid_token: + expired: 访问令牌已过期 + revoked: 访问令牌已被撤销 + unknown: 访问令牌无效 + resource_owner_authenticator_not_configured: 资源所有者查找失败,因为 Doorkeeper.configure.resource_owner_authenticator + 未配置。 + revoke: + unauthorized: 您无权撤销此令牌 + server_error: 授权服务器遇到意外情况,无法完成请求。 + temporarily_unavailable: 授权服务器因临时过载或维护而暂时无法处理请求。 + unauthorized_client: 客户端无权使用此方法执行此请求。 + unsupported_grant_type: 授权服务器不支持此授权类型。 + unsupported_response_mode: 授权服务器不支持此响应模式。 + unsupported_response_type: 授权服务器不支持此响应类型。 + flash: + applications: + create: + notice: 应用已创建。 + destroy: + notice: 应用已删除。 + update: + notice: 应用已更新。 + authorized_applications: + destroy: + notice: 应用授权已撤销。 + layouts: + admin: + nav: + applications: 应用管理 + home: 首页 + oauth2_provider: OAuth2 提供商 + title: Doorkeeper + application: + title: 需要 OAuth 授权 + pre_authorization: + status: 预授权 diff --git a/config/locales/mailers/invitation_mailer/zh-CN.yml b/config/locales/mailers/invitation_mailer/zh-CN.yml new file mode 100644 index 000000000..3139a47fb --- /dev/null +++ b/config/locales/mailers/invitation_mailer/zh-CN.yml @@ -0,0 +1,5 @@ +--- +zh-CN: + invitation_mailer: + invite_email: + subject: "%{inviter} 邀请您加入他们在 %{product_name} 的家庭账户!" diff --git a/config/locales/models/account/zh-CN.yml b/config/locales/models/account/zh-CN.yml new file mode 100644 index 000000000..97b168276 --- /dev/null +++ b/config/locales/models/account/zh-CN.yml @@ -0,0 +1,21 @@ +--- +zh-CN: + activerecord: + attributes: + account: + balance: 余额 + currency: 币种 + family: 家庭 + family_id: 家庭 + name: 名称 + subtype: 子类型 + models: + account: 账户 + account/credit: 信用卡 + account/depository: 银行账户 + account/investment: 投资账户 + account/loan: 贷款 + account/other_asset: 其他资产 + account/other_liability: 其他负债 + account/property: 房产/房地产 + account/vehicle: 车辆 diff --git a/config/locales/models/address/zh-CN.yml b/config/locales/models/address/zh-CN.yml new file mode 100644 index 000000000..6a50c1d15 --- /dev/null +++ b/config/locales/models/address/zh-CN.yml @@ -0,0 +1,11 @@ +--- +zh-CN: + address: + attributes: + country: 国家/地区 + line1: 地址行 1 + line2: 地址行 2 + locality: 城市/地区 + postal_code: 邮政编码 + region: 州/省/地区 + format: "%{country}%{region}%{locality}%{line1}%{line2} %{postal_code}" diff --git a/config/locales/models/entry/zh-CN.yml b/config/locales/models/entry/zh-CN.yml new file mode 100644 index 000000000..7dd50827c --- /dev/null +++ b/config/locales/models/entry/zh-CN.yml @@ -0,0 +1,10 @@ +--- +zh-CN: + activerecord: + errors: + models: + entry: + attributes: + base: + invalid_sell_quantity: 无法卖出 %{sell_qty} 股 %{ticker},因为您当前仅持有 %{current_qty} + 股 diff --git a/config/locales/models/import/zh-CN.yml b/config/locales/models/import/zh-CN.yml new file mode 100644 index 000000000..5be74fe23 --- /dev/null +++ b/config/locales/models/import/zh-CN.yml @@ -0,0 +1,13 @@ +--- +zh-CN: + activerecord: + attributes: + import: + currency: 货币 + number_format: 数字格式 + errors: + models: + import: + attributes: + raw_file_str: + invalid_csv_format: 格式无效,不是合法的CSV格式 diff --git a/config/locales/models/time_series/value/zh-CN.yml b/config/locales/models/time_series/value/zh-CN.yml new file mode 100644 index 000000000..c8ce2a9b4 --- /dev/null +++ b/config/locales/models/time_series/value/zh-CN.yml @@ -0,0 +1,9 @@ +--- +zh-CN: + activemodel: + errors: + models: + time_series/value: + attributes: + value: + must_be_a_money_or_numeric: 必须是货币类型或数字类型 diff --git a/config/locales/models/transfer/zh-CN.yml b/config/locales/models/transfer/zh-CN.yml new file mode 100644 index 000000000..b1f6113dd --- /dev/null +++ b/config/locales/models/transfer/zh-CN.yml @@ -0,0 +1,18 @@ +--- +zh-CN: + activerecord: + errors: + models: + transfer: + attributes: + base: + inflow_cannot_be_in_multiple_transfers: 入账交易不能参与多次转账 + must_be_from_different_accounts: 转账双方账户必须是不同的账户 + must_be_from_same_family: 转账双方必须属于同一家庭 + must_be_within_date_range: 转账交易的日期差必须在4天以内 + must_have_opposite_amounts: 转账交易的金额必须互为相反数 + must_have_single_currency: 转账必须使用单一货币 + outflow_cannot_be_in_multiple_transfers: 出账交易不能参与多次转账 + transfer: + name: 转账至 %{to_account} + payment_name: 付款至 %{to_account} diff --git a/config/locales/models/trend/zh-CN.yml b/config/locales/models/trend/zh-CN.yml new file mode 100644 index 000000000..5bbe9f241 --- /dev/null +++ b/config/locales/models/trend/zh-CN.yml @@ -0,0 +1,13 @@ +--- +zh-CN: + activemodel: + errors: + models: + trend: + attributes: + current: + must_be_of_the_same_type_as_previous: 必须与 previous 的数据类型相同 + must_be_of_type_money_numeric_or_nil: 必须是 Money、Numeric 或 nil 类型 + previous: + must_be_of_the_same_type_as_current: 必须与 current 的数据类型相同 + must_be_of_type_money_numeric_or_nil: 必须是 Money、Numeric 或 nil 类型 diff --git a/config/locales/models/user/zh-CN.yml b/config/locales/models/user/zh-CN.yml new file mode 100644 index 000000000..95b724df0 --- /dev/null +++ b/config/locales/models/user/zh-CN.yml @@ -0,0 +1,20 @@ +--- +zh-CN: + activerecord: + attributes: + user: + email: 邮箱 + family: 家庭 + family_id: 家庭 + first_name: 名字 + last_name: 姓氏 + password: 密码 + password_confirmation: 密码确认 + errors: + models: + user: + attributes: + base: + cannot_deactivate_admin_with_other_users: 存在其他用户时无法删除管理员账户,请先删除所有家庭成员。 + profile_image: + invalid_file_size: 文件大小必须小于 %{max_megabytes}MB diff --git a/config/locales/views/accounts/zh-CN.yml b/config/locales/views/accounts/zh-CN.yml new file mode 100644 index 000000000..3e6facff8 --- /dev/null +++ b/config/locales/views/accounts/zh-CN.yml @@ -0,0 +1,118 @@ +--- +zh-CN: + account: + entries: + destroy: + success: 删除成功 + accounts: + account: + link_lunchflow: 关联 Lunch Flow 账户 + link_provider: 关联服务提供商 + troubleshoot: 故障排查 + unlink_provider: 解除提供商关联 + chart: + data_not_available: 所选时间段内无可用数据 + confirm_unlink: + confirm_button: 确认并解除关联 + description_html: 您即将解除 %{account_name} 与 %{provider_name} + 的关联。这将转换为手动账户。 + title: 确认解除账户关联? + warning_can_delete: 解除关联后,您可以在需要时删除账户 + warning_manual_updates: 您需要手动添加交易和更新余额 + warning_no_sync: 账户将不再与您的银行自动同步 + warning_title: 这意味着 + warning_transactions_kept: 所有现有交易和余额将被保留 + create: + success: "%{type} 账户已创建" + destroy: + cannot_delete_linked: 无法删除已关联账户,请先解除关联。 + success: "%{type} 账户已计划删除" + empty: + empty_message: 可通过关联服务、导入数据或手动输入的方式添加账户。 + new_account: 新建账户 + no_accounts: 暂无账户 + form: + balance: 当前余额 + name_label: 账户名称 + name_placeholder: 例如:储蓄账户 + index: + accounts: 账户管理 + manual_accounts: + other_accounts: 其他账户 + new_account: 新建账户 + sync: 同步所有账户 + new: + import_accounts: 导入账户 + method_selector: + connected_entry: 关联账户 + connected_entry_eu: 关联欧盟账户 + link_with_provider: 关联 %{provider} + lunchflow_entry: 关联 Lunch Flow 账户 + manual_entry: 手动输入账户余额 + title: 请选择添加方式 + title: 您希望添加什么类型的账户? + select_provider: + already_linked: 账户已关联到服务提供商 + description: 请选择用于关联 %{account_name} 的服务提供商 + no_providers: 当前未配置任何服务提供商 + title: 选择关联的服务提供商 + show: + activity: + amount: 金额 + balance: 余额 + date: 日期 + entries: 条记录 + entry: 条记录 + new: 新建 + new_balance: 新增余额 + new_transaction: 新建交易 + no_entries: 未找到相关记录 + search: + placeholder: 按名称搜索记录 + title: 账户活动 + chart: + balance: 余额 + owed: 欠款金额 + menu: + confirm_accept: 删除“%{name}” + confirm_body_html: "
删除此账户将清除其历史价值数据,影响您整体账户的多个方面。此操作将直接影响您的资产净值计算和账户图表。
删除后无法恢复账户信息,您需要将其作为新账户重新添加。
" + confirm_title: 确认删除账户? + edit: 编辑 + import: 导入交易记录 + manage: 管理账户 + sidebar: + configure_providers: 在此配置您的服务提供商。 + missing_data: 历史数据缺失 + missing_data_description: "%{product} 使用第三方服务提供商获取历史汇率、证券价格等数据。这些数据是计算准确历史账户余额所必需的。" + new_account: 新建账户 + new_account_group: 新建 %{account_group} + new_asset: 新增资产 + new_debt: 新增负债 + tabs: + all: 全部 + assets: 资产 + debts: 负债 + sync_all: + syncing: 账户同步中... + types: + credit_card: 信用卡账户 + crypto: 加密货币账户 + depository: 现金账户 + investment: 投资账户 + loan: 贷款账户 + other_asset: 其他资产账户 + other_liability: 其他负债账户 + property: 房产账户 + vehicle: 车辆账户 + unlink: + error: 解除账户关联失败:%{error} + generic_error: 发生意外错误,请重试。 + not_linked: 账户未关联到任何服务提供商 + success: 账户已成功解除关联,现已成为手动账户。 + update: + success: "%{type} 账户已更新" + email_confirmations: + new: + invalid_token: 确认链接无效或已过期。 + success_login: 您的邮箱已确认成功。请使用新邮箱地址登录。 diff --git a/config/locales/views/application/zh-CN.yml b/config/locales/views/application/zh-CN.yml new file mode 100644 index 000000000..ecade888e --- /dev/null +++ b/config/locales/views/application/zh-CN.yml @@ -0,0 +1,10 @@ +--- +zh-CN: + number: + currency: + format: + delimiter: "," + format: "%u%n" + precision: 2 + separator: "." + unit: "¥" diff --git a/config/locales/views/budgets/zh-CN.yml b/config/locales/views/budgets/zh-CN.yml new file mode 100644 index 000000000..37115d450 --- /dev/null +++ b/config/locales/views/budgets/zh-CN.yml @@ -0,0 +1,7 @@ +--- +zh-CN: + budgets: + show: + tabs: + actual: 实际 + budgeted: 预算 diff --git a/config/locales/views/categories/zh-CN.yml b/config/locales/views/categories/zh-CN.yml new file mode 100644 index 000000000..973b4277a --- /dev/null +++ b/config/locales/views/categories/zh-CN.yml @@ -0,0 +1,34 @@ +--- +zh-CN: + categories: + bootstrap: + success: 默认分类已创建成功 + category: + delete: 删除分类 + edit: 编辑分类 + create: + success: 分类创建成功 + destroy: + success: 分类删除成功 + edit: + edit: 编辑分类 + form: + placeholder: 分类名称 + index: + bootstrap: 使用默认分类(推荐) + categories: 分类管理 + categories_expenses: 支出分类 + categories_incomes: 收入分类 + empty: 暂无分类 + new: 新建分类 + menu: + loading: 加载中... + new: + new_category: 新建分类 + update: + success: 分类更新成功 + category: + dropdowns: + show: + bootstrap: 生成默认分类 + empty: 暂无分类 diff --git a/config/locales/views/category/deletions/zh-CN.yml b/config/locales/views/category/deletions/zh-CN.yml new file mode 100644 index 000000000..66573351b --- /dev/null +++ b/config/locales/views/category/deletions/zh-CN.yml @@ -0,0 +1,13 @@ +--- +zh-CN: + category: + deletions: + create: + success: 交易分类已删除成功 + new: + category: 分类 + delete_and_leave_uncategorized: 删除“%{category_name}”并保留为未分类 + delete_and_recategorize: 删除“%{category_name}”并重新分配分类 + delete_category: 确认删除分类? + explanation: 删除此分类后,所有标记为“%{category_name}”的交易将变为未分类状态。您也可以在下述选项中选择一个新分类进行重新分配。 + replacement_category_prompt: 选择新分类 diff --git a/config/locales/views/category/dropdowns/zh-CN.yml b/config/locales/views/category/dropdowns/zh-CN.yml new file mode 100644 index 000000000..3db41514c --- /dev/null +++ b/config/locales/views/category/dropdowns/zh-CN.yml @@ -0,0 +1,11 @@ +--- +zh-CN: + category: + dropdowns: + row: + delete: 删除分类 + edit: 编辑分类 + show: + clear: 清空分类 + no_categories: 暂无分类 + search_placeholder: 搜索分类 diff --git a/config/locales/views/chats/zh-CN.yml b/config/locales/views/chats/zh-CN.yml new file mode 100644 index 000000000..78d1fc802 --- /dev/null +++ b/config/locales/views/chats/zh-CN.yml @@ -0,0 +1,5 @@ +--- +zh-CN: + chats: + demo_banner_message: "您正在使用由 Cloudflare Workers AI 提供额度的开源权重 Qwen3 大语言模型。由于代码库主要在 `gpt-4.1` 上测试,结果可能有所不同,但您的令牌不会被用于其他地方进行训练!🤖" + demo_banner_title: 演示模式已激活 diff --git a/config/locales/views/credit_cards/zh-CN.yml b/config/locales/views/credit_cards/zh-CN.yml new file mode 100644 index 000000000..493b85034 --- /dev/null +++ b/config/locales/views/credit_cards/zh-CN.yml @@ -0,0 +1,25 @@ +--- +zh-CN: + credit_cards: + edit: + edit: 编辑%{account} + form: + annual_fee: 年费 + annual_fee_placeholder: '99' + apr: 年利率 + apr_placeholder: '15.99' + available_credit: 可用额度 + available_credit_placeholder: '10000' + expiration_date: 到期日期 + minimum_payment: 最低还款额 + minimum_payment_placeholder: '100' + new: + title: 请输入信用卡详细信息 + overview: + amount_owed: 欠款总额 + annual_fee: 年费 + apr: 年利率 + available_credit: 可用额度 + expiration_date: 到期日期 + minimum_payment: 最低还款额 + unknown: 未知 diff --git a/config/locales/views/cryptos/zh-CN.yml b/config/locales/views/cryptos/zh-CN.yml new file mode 100644 index 000000000..4b19e0d1b --- /dev/null +++ b/config/locales/views/cryptos/zh-CN.yml @@ -0,0 +1,7 @@ +--- +zh-CN: + cryptos: + edit: + edit: 编辑%{account} + new: + title: 请输入账户余额 diff --git a/config/locales/views/depositories/zh-CN.yml b/config/locales/views/depositories/zh-CN.yml new file mode 100644 index 000000000..bf317fa93 --- /dev/null +++ b/config/locales/views/depositories/zh-CN.yml @@ -0,0 +1,10 @@ +--- +zh-CN: + depositories: + edit: + edit: 编辑%{account} + form: + none: 无 + subtype_prompt: 选择账户类型 + new: + title: 请输入账户余额 diff --git a/config/locales/views/email_confirmation_mailer/zh-CN.yml b/config/locales/views/email_confirmation_mailer/zh-CN.yml new file mode 100644 index 000000000..5b3bd42cf --- /dev/null +++ b/config/locales/views/email_confirmation_mailer/zh-CN.yml @@ -0,0 +1,9 @@ +--- +zh-CN: + email_confirmation_mailer: + confirmation_email: + body: 您最近请求更改邮箱地址。请点击下方按钮确认此次更改。 + cta: 确认邮箱更改 + expiry_notice: 此链接将在 %{hours} 小时后失效。 + greeting: 您好! + subject: "%{product_name}:确认您的邮箱更改" diff --git a/config/locales/views/enable_banking_items/en.yml b/config/locales/views/enable_banking_items/en.yml index c52867096..39c6320ee 100644 --- a/config/locales/views/enable_banking_items/en.yml +++ b/config/locales/views/enable_banking_items/en.yml @@ -1,8 +1,49 @@ --- en: enable_banking_items: + authorize: + authorization_failed: Failed to initiate authorization + bank_required: Please select a bank. + invalid_redirect: The authorization URL received is invalid. Please try again or contact support. + redirect_uri_not_allowed: Redirect not allowed. Please configure `%{callback_url}` in your Enable Banking app settings. + unexpected_error: An unexpected error occurred. Please try again. + callback: + authorization_error: Authorization failed + invalid_callback: Invalid callback parameters. + item_not_found: Connection not found. + session_failed: Unable to complete authorization + success: Successfully connected to your bank. Your accounts are syncing. + unexpected_error: An unexpected error occurred. Please try again. + complete_account_setup: + all_skipped: All accounts were skipped. You can set them up later on the accounts page. + no_accounts: No accounts available to set up. + success: Successfully created %{count} accounts! + create: + success: Enable Banking configuration successful. + destroy: + success: Enable Banking connection has been queued for deletion. + link_accounts: + already_linked: The selected accounts are already linked. + link_failed: Failed to link accounts + no_accounts_selected: No accounts selected. + no_session: No active Enable Banking connection. Please connect to a bank first. + success: Successfully linked %{count} accounts. link_existing_account: success: Account successfully linked to Enable Banking errors: only_manual: Only manual accounts can be linked invalid_enable_banking_account: Invalid Enable Banking account selected + new: + link_enable_banking_title: Link Enable Banking + reauthorize: + invalid_redirect: The authorization URL received is invalid. Please try again or contact support. + reauthorization_failed: Reauthorization failed + select_bank: + cancel: Cancel + check_country: Please check your country code settings. + credentials_required: Please configure your Enable Banking credentials first. + description: Select the bank you want to connect to your accounts. + no_banks: No banks available for this country/region. + title: Select Your Bank + update: + success: Enable Banking configuration updated. diff --git a/config/locales/views/enable_banking_items/zh-CN.yml b/config/locales/views/enable_banking_items/zh-CN.yml new file mode 100644 index 000000000..3285fbee5 --- /dev/null +++ b/config/locales/views/enable_banking_items/zh-CN.yml @@ -0,0 +1,49 @@ +--- +zh-CN: + enable_banking_items: + authorize: + authorization_failed: 启动授权失败 + bank_required: 请选择一家银行。 + invalid_redirect: 收到的授权 URL 无效。请重试或联系支持人员。 + redirect_uri_not_allowed: 不允许重定向。请在 Enable Banking 应用设置中配置 `%{callback_url}`。 + unexpected_error: 发生意外错误。请重试。 + callback: + authorization_error: 授权失败 + invalid_callback: 回调参数无效。 + item_not_found: 未找到连接。 + session_failed: 无法完成授权 + success: 已成功连接到您的银行。您的账户正在同步中。 + unexpected_error: 发生意外错误。请重试。 + complete_account_setup: + all_skipped: 已跳过所有账户。您可以稍后在账户页面进行设置。 + no_accounts: 没有可设置的账户。 + success: 成功创建了 %{count} 个账户! + create: + success: Enable Banking 配置成功。 + destroy: + success: Enable Banking 连接已加入删除队列。 + link_accounts: + already_linked: 所选账户已关联。 + link_failed: 关联账户失败 + no_accounts_selected: 未选择任何账户。 + no_session: 无活跃的 Enable Banking 连接。请先连接一家银行。 + success: 成功关联了 %{count} 个账户。 + link_existing_account: + errors: + invalid_enable_banking_account: 所选 Enable Banking 账户无效 + only_manual: 只能关联手动账户 + success: 账户已成功关联到 Enable Banking + new: + link_enable_banking_title: 关联 Enable Banking + reauthorize: + invalid_redirect: 收到的授权 URL 无效。请重试或联系支持人员。 + reauthorization_failed: 重新授权失败 + select_bank: + cancel: 取消 + check_country: 请检查您的国家代码设置。 + credentials_required: 请先配置您的 Enable Banking 凭据。 + description: 选择您想要连接到账户的银行。 + no_banks: 该国家/地区暂无可用银行。 + title: 选择您的银行 + update: + success: Enable Banking 配置已更新。 diff --git a/config/locales/views/entries/zh-CN.yml b/config/locales/views/entries/zh-CN.yml new file mode 100644 index 000000000..e40ed45a3 --- /dev/null +++ b/config/locales/views/entries/zh-CN.yml @@ -0,0 +1,14 @@ +--- +zh-CN: + entries: + create: + success: 记录已创建 + destroy: + success: 记录已删除 + empty: + description: 尝试添加记录、编辑筛选条件或优化搜索词 + title: 未找到相关记录 + loading: + loading: 正在加载记录... + update: + success: 记录已更新 diff --git a/config/locales/views/family_exports/zh-CN.yml b/config/locales/views/family_exports/zh-CN.yml new file mode 100644 index 000000000..4fef9a5f6 --- /dev/null +++ b/config/locales/views/family_exports/zh-CN.yml @@ -0,0 +1,7 @@ +--- +zh-CN: + family_exports: + list: + complete: 已完成 + failed: 已失败 + in_progress: 进行中 diff --git a/config/locales/views/holdings/zh-CN.yml b/config/locales/views/holdings/zh-CN.yml new file mode 100644 index 000000000..1dce20e3e --- /dev/null +++ b/config/locales/views/holdings/zh-CN.yml @@ -0,0 +1,35 @@ +--- +zh-CN: + holdings: + cash: + brokerage_cash: 经纪账户现金 + destroy: + success: 持仓已删除 + holding: + per_share: 每股 + shares: "%{qty}股" + index: + average_cost: 平均成本 + holdings: 持仓 + name: 名称 + new_holding: 新建交易 + no_holdings: 暂无持仓记录 + return: 总收益 + weight: 权重 + missing_price_tooltip: + description: 此投资缺少价格数据,无法计算其收益或价值。 + missing_data: 数据缺失 + show: + avg_cost_label: 平均成本 + current_market_price_label: 当前市价 + delete: 删除 + delete_subtitle: 此操作将删除该持仓及相关所有交易记录,且不可恢复。 + delete_title: 删除持仓 + history: 历史记录 + overview: 概览 + portfolio_weight_label: 投资组合权重 + settings: 设置 + ticker_label: 股票代码 + total_return_label: 总收益 + trade_history_entry: "%{qty}股%{security} @ %{price}" + unknown: 未知 diff --git a/config/locales/views/impersonation_sessions/zh-CN.yml b/config/locales/views/impersonation_sessions/zh-CN.yml new file mode 100644 index 000000000..661759c58 --- /dev/null +++ b/config/locales/views/impersonation_sessions/zh-CN.yml @@ -0,0 +1,15 @@ +--- +zh-CN: + impersonation_sessions: + approve: + success: 请求已批准 + complete: + success: 会话已完成 + create: + success: 请求已发送给用户,等待批准中 + join: + success: 已加入会话 + leave: + success: 已离开会话 + reject: + success: 请求已拒绝 diff --git a/config/locales/views/imports/zh-CN.yml b/config/locales/views/imports/zh-CN.yml new file mode 100644 index 000000000..952bff549 --- /dev/null +++ b/config/locales/views/imports/zh-CN.yml @@ -0,0 +1,88 @@ +--- +zh-CN: + import: + cleans: + show: + description: 请在下方表格中编辑您的数据。红色单元格表示无效数据。 + errors_notice: 您的数据中存在错误。将鼠标悬停在错误上可查看详情。 + errors_notice_mobile: 您的数据中存在错误。点击错误提示可查看详情。 + title: 数据清洗 + configurations: + category_import: + button_label: 继续 + description: 上传简单的 CSV 文件(例如我们导出数据时生成的文件格式)。我们将自动为您映射列。 + instructions: 选择继续以解析您的 CSV 文件并进入清洗步骤。 + mint_import: + date_format_label: 日期格式 + rule_import: + description: 配置您的规则导入。规则将根据 CSV 数据创建或更新。 + process_button: 处理规则 + process_help: 点击下方按钮处理您的 CSV 并生成规则行。 + show: + description: 请选择 CSV 文件中各列对应的字段。 + title: 配置导入设置 + trade_import: + date_format_label: 日期格式 + transaction_import: + date_format_label: 日期格式 + confirms: + mappings: + create_account: 新建账户 + csv_mapping_label: CSV 中的 %{mapping} + no_accounts: 您目前没有任何账户。请创建一个账户用于处理 CSV 中的(未分配)行,或返回上一步的“清洗”环节提供一个可用的账户名称。 + rows_label: 行数 + sure_mapping_label: "%{product_name} 中的 %{mapping}" + unassigned_account: 需要为未分配行创建新账户? + show: + account_mapping_description: 将导入文件中的所有账户分配到 %{product_name} 的现有账户。您也可以新建账户或保留为未分类。 + account_mapping_title: 分配账户 + account_type_mapping_description: 将导入文件中的所有账户类型分配到 %{product_name} 的账户类型 + account_type_mapping_title: 分配账户类型 + category_mapping_description: 将导入文件中的所有分类分配到 %{product_name} 的现有分类。您也可以新建分类或保留为未分类。 + category_mapping_title: 分配分类 + tag_mapping_description: 将导入文件中的所有标签分配到 %{product_name} 的现有标签。您也可以新建标签或保留为未分类。 + tag_mapping_title: 分配标签 + uploads: + show: + description: 请在下方粘贴或上传您的 CSV 文件。开始前请仔细阅读下表中的说明。 + instructions_1: 下方是可供导入的 CSV 示例文件及列说明。 + instructions_2: 您的 CSV 文件必须包含表头行 + instructions_3: 您可以为各列自由命名,稍后步骤中将进行字段映射。 + instructions_4: 标有星号 (*) 的列为必填数据。 + instructions_5: 数字中请勿包含逗号、货币符号或括号。 + title: 导入数据 + imports: + empty: + message: 暂无导入记录。 + new: 新建导入 + import: + complete: 已完成 + delete: 删除 + failed: 已失败 + in_progress: 进行中 + label: "%{type}:%{datetime}" + revert_failed: 回滚失败 + reverting: 回滚中 + uploading: 处理行数据中 + view: 查看 + index: + exports: 导出记录 + imports: 导入记录 + new: 新建导入 + new_export: 新建导出 + no_exports: 暂无导出记录 + title: 导入/导出管理 + new: + description: 您可以通过 CSV 手动导入多种类型数据,或使用我们的导入模板(如 Mint 格式)。 + import_accounts: 导入账户 + import_categories: 导入分类 + import_mint: 从 Mint 导入 + import_portfolio: 导入投资数据 + import_rules: 导入规则 + import_transactions: 导入交易记录 + resume: 继续 %{type} + sources: 数据来源 + title: 新建 CSV 导入 + ready: + description: 以下是发布导入后将添加到您账户的新项目摘要。 + title: 确认导入数据 diff --git a/config/locales/views/investments/zh-CN.yml b/config/locales/views/investments/zh-CN.yml new file mode 100644 index 000000000..80f59bef0 --- /dev/null +++ b/config/locales/views/investments/zh-CN.yml @@ -0,0 +1,17 @@ +--- +zh-CN: + investments: + edit: + edit: 编辑%{account} + form: + none: 无 + subtype_prompt: 选择投资类型 + new: + title: 请输入账户余额 + show: + chart_title: 总价值 + value_tooltip: + cash: 现金 + holdings: 持仓 + total: 投资组合余额 + total_value_tooltip: 总投资组合余额等于经纪账户现金(可用于交易)与持仓当前市值的总和。 diff --git a/config/locales/views/invitation_mailer/zh-CN.yml b/config/locales/views/invitation_mailer/zh-CN.yml new file mode 100644 index 000000000..4b3ee1cc4 --- /dev/null +++ b/config/locales/views/invitation_mailer/zh-CN.yml @@ -0,0 +1,8 @@ +--- +zh-CN: + invitation_mailer: + invite_email: + accept_button: 接受邀请 + body: "%{inviter} 邀请您加入 %{family} 家庭,共同使用 %{product_name}!" + expiry_notice: 此邀请将在 %{days} 天后过期 + greeting: 欢迎使用 %{product_name}! diff --git a/config/locales/views/invitations/zh-CN.yml b/config/locales/views/invitations/zh-CN.yml new file mode 100644 index 000000000..9529f4b01 --- /dev/null +++ b/config/locales/views/invitations/zh-CN.yml @@ -0,0 +1,19 @@ +--- +zh-CN: + invitations: + create: + failure: 发送邀请失败 + success: 邀请发送成功 + destroy: + failure: 删除邀请时出现问题。 + not_authorized: 您没有管理邀请的权限。 + success: 邀请已成功删除。 + new: + email_label: 邮箱地址 + email_placeholder: 请输入邮箱地址 + role_admin: 管理员 + role_label: 角色 + role_member: 成员 + submit: 发送邀请 + subtitle: 发送邀请,让对方加入您在 %{product_name} 的家庭账户 + title: 邀请成员 diff --git a/config/locales/views/invite_codes/zh-CN.yml b/config/locales/views/invite_codes/zh-CN.yml new file mode 100644 index 000000000..3aba8c480 --- /dev/null +++ b/config/locales/views/invite_codes/zh-CN.yml @@ -0,0 +1,6 @@ +--- +zh-CN: + invite_codes: + index: + invite_code_description: 生成新代码后将会显示在此处。已使用的生成代码将不再显示。 + no_invite_codes: 暂无邀请码 diff --git a/config/locales/views/layout/zh-CN.yml b/config/locales/views/layout/zh-CN.yml new file mode 100644 index 000000000..84709cfd7 --- /dev/null +++ b/config/locales/views/layout/zh-CN.yml @@ -0,0 +1,20 @@ + +--- +zh-CN: + layouts: + application: + nav: + assistant: 智能助手 + budgets: 预算管理 + home: 首页 + reports: 财务报告 + transactions: 交易记录 + auth: + existing_account: 已有账户? + no_account: 新用户? + sign_in: 登录 + sign_up: 注册账户 + shared: + footer: + privacy_policy: 隐私政策 + terms_of_service: 服务条款 diff --git a/config/locales/views/loans/zh-CN.yml b/config/locales/views/loans/zh-CN.yml new file mode 100644 index 000000000..0a8353fc7 --- /dev/null +++ b/config/locales/views/loans/zh-CN.yml @@ -0,0 +1,33 @@ +--- +zh-CN: + loans: + edit: + edit: 编辑%{account} + form: + initial_balance: 原始贷款余额 + interest_rate: 利率 + interest_rate_placeholder: '5.25' + rate_type: 利率类型 + term_months: 期限(月) + term_months_placeholder: '360' + new: + title: 请输入贷款详情 + overview: + interest_rate: 利率 + monthly_payment: 月还款额 + not_applicable: 不适用 + original_principal: 原始本金 + remaining_principal: 剩余本金 + term: 期限 + type: 类型 + unknown: 未知 + tabs: + overview: + interest_rate: 利率 + monthly_payment: 月供 + not_applicable: 不适用 + original_principal: 原始本金 + remaining_principal: 剩余本金 + term: 期限 + type: 类型 + unknown: 未知 diff --git a/config/locales/views/lunchflow_items/zh-CN.yml b/config/locales/views/lunchflow_items/zh-CN.yml new file mode 100644 index 000000000..e778ace97 --- /dev/null +++ b/config/locales/views/lunchflow_items/zh-CN.yml @@ -0,0 +1,148 @@ +--- +zh-CN: + lunchflow_items: + complete_account_setup: + all_skipped: 所有账户已跳过。未创建任何账户。 + creation_failed: 创建账户失败:%{error} + no_accounts: 无待设置账户。 + success: 成功创建 %{count} 个账户。 + create: + success: Lunch Flow 连接已创建成功 + destroy: + success: Lunch Flow 连接已移除 + index: + title: Lunch Flow 连接管理 + link_accounts: + all_already_linked: + one: 所选账户(%{names})已关联 + other: 所有 %{count} 个所选账户均已关联:%{names} + api_error: API 错误:%{message} + invalid_account_names: + one: 无法关联名称为空的账户 + other: 无法关联 %{count} 个名称为空的账户 + link_failed: 关联账户失败 + no_accounts_selected: 请至少选择一个账户 + no_api_key: 未发现 API 密钥 + partial_invalid: 成功关联 %{created_count} 个账户,%{already_linked_count} 个已关联,%{invalid_count} + 个账户名称无效 + partial_success: 成功关联 %{created_count} 个账户。%{already_linked_count} 个账户已关联:%{already_linked_names} + success: + one: 成功关联 %{count} 个账户 + other: 成功关联 %{count} 个账户 + link_existing_account: + account_already_linked: 此账户已关联到其他服务提供商 + api_error: API 错误:%{message} + invalid_account_name: 无法关联名称为空的账户 + lunchflow_account_already_linked: 此 Lunch Flow 账户已关联到其他账户 + lunchflow_account_not_found: 未找到 Lunch Flow 账户 + missing_parameters: 缺少必要参数 + no_api_key: 未发现 API 密钥 + success: "%{account_name} 已成功与 Lunch Flow 关联" + loading: + loading_message: 正在加载 Lunch Flow 账户... + loading_title: 加载中 + lunchflow_item: + accounts_need_setup: 账户需要设置 + delete: 删除连接 + deletion_in_progress: 删除进行中... + error: 错误 + no_accounts_description: 此连接尚未关联任何账户。 + no_accounts_title: 暂无账户 + setup_action: 设置新账户 + setup_description: 已关联 %{linked} / %{total} 个账户。请为您新导入的 Lunch Flow 账户选择账户类型。 + setup_needed: 新账户待设置 + status: 同步于 %{timestamp} 前 + status_never: 从未同步 + status_with_summary: 上次同步于 %{timestamp} 前 • %{summary} + syncing: 同步中... + total: 总计 + unlinked: 未关联 + select_accounts: + accounts_selected: 个账户已选 + api_error: API 错误:%{message} + cancel: 取消 + configure_name_in_lunchflow: 无法导入 - 请在 Lunchflow 中配置账户名称 + description: 选择您想要关联到 %{product_name} 账户的 Lunch Flow 账户。 + link_accounts: 关联所选账户 + no_accounts_found: 未找到账户。请检查您的 API 密钥配置。 + no_api_key: Lunch Flow API 密钥未配置。请在设置中配置。 + no_credentials_configured: 请先在服务商设置中配置您的 Lunch Flow API 密钥。 + no_name_placeholder: "(无名称)" + title: 选择 Lunch Flow 账户 + select_existing_account: + account_already_linked: 此账户已关联到其他服务提供商 + all_accounts_already_linked: 所有 Lunch Flow 账户均已关联 + api_error: API 错误:%{message} + cancel: 取消 + configure_name_in_lunchflow: 无法导入 - 请在 Lunchflow 中配置账户名称 + description: 选择一个 Lunch Flow 账户与此账户关联。交易将自动同步并去重。 + link_account: 关联账户 + no_account_specified: 未指定账户 + no_accounts_found: 未找到 Lunch Flow 账户。请检查您的 API 密钥配置。 + no_api_key: Lunch Flow API 密钥未配置。请在设置中配置。 + no_credentials_configured: 请先在服务商设置中配置您的 Lunch Flow API 密钥。 + no_name_placeholder: "(无名称)" + title: 将 %{account_name} 与 Lunch Flow 关联 + setup_accounts: + account_type_label: 账户类型: + account_types: + credit_card: 信用卡 + depository: 支票或储蓄账户 + investment: 投资账户 + loan: 贷款或抵押贷款 + other_asset: 其他资产 + skip: 跳过此账户 + all_accounts_linked: 您的所有 Lunch Flow 账户已完成设置。 + api_error: API 错误:%{message} + balance: 余额 + cancel: 取消 + choose_account_type: 请为每个 Lunch Flow 账户选择正确的账户类型: + create_accounts: 创建账户 + creating_accounts: 正在创建账户... + fetch_failed: 获取账户失败 + historical_data_range: 历史数据范围: + no_accounts_to_setup: 无待设置账户 + no_api_key: Lunch Flow API 密钥未配置。请检查您的连接设置。 + subtitle: 为您的导入账户选择正确的账户类型 + subtype_labels: + credit_card: '' + depository: 账户子类型: + investment: 投资类型: + loan: 贷款类型: + other_asset: '' + subtype_messages: + credit_card: 信用卡将自动设置为信用卡账户。 + other_asset: 其他资产无需额外选项。 + subtypes: + depository: + cd: 定期存款 + checking: 支票账户 + hsa: 健康储蓄账户 + money_market: 货币市场账户 + savings: 储蓄账户 + investment: + 401k: 401(k) 计划 + 403b: 403(b) 计划 + 529_plan: 529 教育储蓄计划 + angel: 天使投资 + brokerage: 经纪账户 + hsa: 健康储蓄账户 + ira: 传统 IRA + mutual_fund: 共同基金 + pension: 养老金账户 + retirement: 退休账户 + roth_401k: Roth 401(k) 计划 + roth_ira: Roth IRA + tsp: 节俭储蓄计划 + loan: + auto: 汽车贷款 + mortgage: 抵押贷款 + other: 其他贷款 + student: 学生贷款 + sync_start_date_help: 选择您希望同步交易历史的时间范围。最多可同步 3 年历史数据。 + sync_start_date_label: 开始同步交易的日期: + title: 设置您的 Lunch Flow 账户 + sync: + success: 同步已开始 + update: + success: Lunch Flow 连接已更新 diff --git a/config/locales/views/merchants/zh-CN.yml b/config/locales/views/merchants/zh-CN.yml new file mode 100644 index 000000000..90c0358fc --- /dev/null +++ b/config/locales/views/merchants/zh-CN.yml @@ -0,0 +1,35 @@ +--- +zh-CN: + family_merchants: + create: + error: 创建商户失败:%{error} + success: 商户创建成功 + destroy: + success: 商户删除成功 + edit: + title: 编辑商户 + form: + name_placeholder: 商户名称 + index: + empty: 暂无商户 + family_empty: 暂无家庭商户 + family_title: 家庭商户 + new: 新建商户 + provider_empty: 此家庭尚未关联任何服务提供商商户 + provider_read_only: 服务提供商商户从您关联的金融机构同步而来,无法在此编辑。 + provider_title: 服务提供商商户 + table: + actions: 操作 + merchant: 商户名称 + source: 来源 + title: 商户管理 + merchant: + confirm_accept: 确认删除 + confirm_body: 确定要删除此商户吗?删除后将解除所有关联交易,并可能影响您的报表数据。 + confirm_title: 确认删除商户? + delete: 删除商户 + edit: 编辑商户 + new: + title: 新建商户 + update: + success: 商户更新成功 diff --git a/config/locales/views/mfa/zh-CN.yml b/config/locales/views/mfa/zh-CN.yml new file mode 100644 index 000000000..9a517fc06 --- /dev/null +++ b/config/locales/views/mfa/zh-CN.yml @@ -0,0 +1,34 @@ +--- +zh-CN: + mfa: + backup_codes: + backup_codes_description: 每个代码仅能使用一次。请妥善保管这些代码。 + backup_codes_title: 您的备用代码 + continue: 继续前往安全设置 + description: 请将这些备用代码保存在安全的地方——当您无法访问身份验证器应用时将需要它们 + page_title: 备用代码 + title: 保存您的备用代码 + create: + invalid_code: 验证码无效,请重试。 + disable: + success: 双重认证已停用 + new: + code_label: 验证码 + code_placeholder: 请输入6位数字代码 + description: 设置双重认证以增强账户安全性 + page_title: 双重认证设置 + scan_description: 使用 Google Authenticator 或 1Password 等身份验证器应用扫描此二维码 + scan_title: 1. 扫描二维码 + secret_description: 如果无法扫描二维码,请在身份验证器应用中手动输入此密钥 + secret_title: 手动输入密钥 + title: 设置双重认证 + verify_button: 验证并启用双重认证 + verify_description: 请输入来自身份验证器应用的6位数字代码 + verify_title: 2. 输入验证码 + verify: + description: 请输入身份验证器应用中的代码以继续 + page_title: 验证双重认证 + title: 双重认证 + verify_button: 验证 + verify_code: + invalid_code: 身份验证码无效,请重试。 diff --git a/config/locales/views/onboardings/zh-CN.yml b/config/locales/views/onboardings/zh-CN.yml new file mode 100644 index 000000000..7ee58a4d4 --- /dev/null +++ b/config/locales/views/onboardings/zh-CN.yml @@ -0,0 +1,27 @@ +--- +zh-CN: + onboardings: + header: + sign_out: 退出登录 + preferences: + currency: 货币 + date_format: 日期格式 + example: 示例账户 + locale: 语言 + preview: 预览偏好设置下的数据展示效果。 + submit: 完成设置 + subtitle: 现在来配置您的偏好设置。 + title: 配置偏好设置 + profile: + country: 国家/地区 + first_name: 名字 + household_name: 家庭名称 + last_name: 姓氏 + profile_image: 个人头像 + submit: 继续 + subtitle: 现在来完成您的个人资料。 + title: 基础信息设置 + show: + message: 很高兴您的加入!接下来我们将引导您完成几个步骤:完善个人资料,然后进行初始设置。 + setup: 开始设置 + title: 欢迎使用 %{product_name} diff --git a/config/locales/views/other_assets/zh-CN.yml b/config/locales/views/other_assets/zh-CN.yml new file mode 100644 index 000000000..06b869588 --- /dev/null +++ b/config/locales/views/other_assets/zh-CN.yml @@ -0,0 +1,9 @@ +--- +zh-CN: + other_assets: + edit: + balance_tracking_info: 其他资产通过'新增余额'功能手动估值追踪,而非交易记录。现金流不会影响账户余额。 + edit: 编辑%{account} + new: + balance_tracking_info: 其他资产通过'新增余额'功能手动估值追踪,而非交易记录。现金流不会影响账户余额。 + title: 请输入资产详情 diff --git a/config/locales/views/other_liabilities/zh-CN.yml b/config/locales/views/other_liabilities/zh-CN.yml new file mode 100644 index 000000000..5700abbf1 --- /dev/null +++ b/config/locales/views/other_liabilities/zh-CN.yml @@ -0,0 +1,7 @@ +--- +zh-CN: + other_liabilities: + edit: + edit: 编辑%{account} + new: + title: 请输入负债详情 diff --git a/config/locales/views/pages/zh-CN.yml b/config/locales/views/pages/zh-CN.yml new file mode 100644 index 000000000..7d42fccdd --- /dev/null +++ b/config/locales/views/pages/zh-CN.yml @@ -0,0 +1,37 @@ +--- +zh-CN: + pages: + changelog: + title: 更新日志 + dashboard: + balance_sheet: + add_accounts: 添加您的%{name}账户以查看完整分析 + no_items: 暂无%{name} + title: 资产负债表 + cashflow_sankey: + add_transaction: 添加交易 + no_data_description: 添加交易记录以显示现金流数据或扩大时间范围 + no_data_title: 此时间段内无现金流数据 + title: 现金流 + drag_to_reorder: 拖动以重新排序模块 + net_worth_chart: + data_not_available: 所选时间段内无可用数据 + title: 资产净值 + new: 新增 + no_account_empty_state: + new_account: 新建账户 + no_account_subtitle: 由于尚未添加任何账户,暂无数据可显示。添加您的第一个账户以开始查看仪表板数据。 + no_account_title: 暂无账户 + no_accounts: + add_account: 添加账户 + description: 添加账户以显示资产净值数据 + title: 暂无账户 + outflows_donut: + categories: 分类 + title: 支出分布 + total_outflows: 总支出 + value: 金额 + weight: 占比 + subtitle: 以下是您财务状况的概览 + toggle_section: 切换模块显示/隐藏 + welcome: 欢迎回来,%{name} diff --git a/config/locales/views/password_mailer/zh-CN.yml b/config/locales/views/password_mailer/zh-CN.yml new file mode 100644 index 000000000..cecb4ca88 --- /dev/null +++ b/config/locales/views/password_mailer/zh-CN.yml @@ -0,0 +1,8 @@ +--- +zh-CN: + password_mailer: + password_reset: + cta: 重置密码 + ignore_if_not_requested: 如果您未发起此请求,可忽略此邮件。 + request_made: 我们收到了您重置 %{product_name} 密码的请求。请点击下方链接重置密码。 + subject: "%{product_name}:重置您的密码" diff --git a/config/locales/views/password_resets/zh-CN.yml b/config/locales/views/password_resets/zh-CN.yml new file mode 100644 index 000000000..5bbf19447 --- /dev/null +++ b/config/locales/views/password_resets/zh-CN.yml @@ -0,0 +1,13 @@ +--- +zh-CN: + password_resets: + edit: + title: 重置密码 + new: + back: 返回 + requested: 重置密码链接已发送至您的邮箱,请查收。 + submit: 重置密码 + title: 重置密码 + update: + invalid_token: 验证令牌无效。 + success: 密码已重置成功。 diff --git a/config/locales/views/passwords/zh-CN.yml b/config/locales/views/passwords/zh-CN.yml new file mode 100644 index 000000000..9327a2556 --- /dev/null +++ b/config/locales/views/passwords/zh-CN.yml @@ -0,0 +1,10 @@ +--- +zh-CN: + passwords: + edit: + password: 新密码 + password_challenge: 当前密码 + submit: 重置密码 + title: 更新密码 + update: + success: 密码已重置成功。 diff --git a/config/locales/views/plaid_items/zh-CN.yml b/config/locales/views/plaid_items/zh-CN.yml new file mode 100644 index 000000000..bacb08f13 --- /dev/null +++ b/config/locales/views/plaid_items/zh-CN.yml @@ -0,0 +1,28 @@ +--- +zh-CN: + plaid_items: + create: + success: 账户已成功关联,请等待账户同步完成。 + destroy: + success: 账户已计划删除。 + plaid_item: + add_new: 新增连接 + confirm_accept: 确认删除 + confirm_body: 此操作将永久删除该组下的所有账户及相关数据。 + confirm_title: 确认删除机构? + connection_lost: 连接已断开 + connection_lost_description: 此连接已失效。您需要删除当前连接并重新添加才能继续同步数据。 + delete: 删除 + error: 数据同步时发生错误 + no_accounts_description: 无法从该金融机构加载任何账户。 + no_accounts_title: 未找到账户 + requires_update: 重新连接 + status: 上次同步于 %{timestamp} 前 + status_never: 需要数据同步 + syncing: 同步中... + update: 更新 + select_existing_account: + cancel: 取消 + description: 选择一个 Plaid 账户与您的现有账户关联 + link_account: 关联账户 + title: 将 %{account_name} 关联到 Plaid diff --git a/config/locales/views/properties/zh-CN.yml b/config/locales/views/properties/zh-CN.yml new file mode 100644 index 000000000..c4a869ce1 --- /dev/null +++ b/config/locales/views/properties/zh-CN.yml @@ -0,0 +1,40 @@ +--- +zh-CN: + properties: + edit: + edit: 编辑%{account} + form: + address_line1: 街道地址 + address_line1_placeholder: 123 Main St + area: 居住面积 + area_placeholder: '2000' + area_unit: 面积单位 + country: 国家/地区 + country_placeholder: 美国 + locality: 城市 + locality_placeholder: 旧金山 + none: 无 + postal_code: 邮政编码 + postal_code_placeholder: '94105' + region: 州/省份 + region_placeholder: 加利福尼亚州 + subtype_prompt: 选择房产类型 + year_built: 建造年份 + year_built_placeholder: '2000' + new: + title: 请输入房产详情 + overview: + living_area: 居住面积 + market_value: 市场估值 + purchase_price: 购买价格 + trend: 价格趋势 + unknown: 未知 + year_built: 建造年份 + tabs: + overview: + living_area: 居住面积 + market_value: 市场价 + purchase_price: 买入价 + trend: 走势 + unknown: 未知 + year_built: 建筑年份 diff --git a/config/locales/views/recurring_transactions/zh-CN.yml b/config/locales/views/recurring_transactions/zh-CN.yml new file mode 100644 index 000000000..20944baaf --- /dev/null +++ b/config/locales/views/recurring_transactions/zh-CN.yml @@ -0,0 +1,49 @@ +--- +zh-CN: + recurring_transactions: + already_exists: 此模式已存在手动创建的定期交易 + amount_range: 金额范围:%{min} 至 %{max} + badges: + manual: 手动 + cleaned_up: 已清理 %{count} 个过期定期交易记录 + cleanup_stale: 清理过期记录 + confirm_delete: 确定要删除此定期交易吗? + creation_failed: 创建定期交易失败。请检查交易详情并重试。 + day_of_month: 每月第 %{day} 天 + deleted: 定期交易已删除 + empty: + description: 点击"识别模式"可从您的交易历史中自动识别定期交易。 + title: 未找到定期交易 + expected_on: 预计于 %{date} + identified: 已识别 %{count} 个定期交易模式 + identify_patterns: 识别模式 + info: + automatic_description: 自动识别也会在以下情况后运行: + manual_description: 您可以使用上方按钮手动识别模式或清理过期的定期交易记录。 + title: 自动模式识别 + triggers: + - CSV 导入完成时(交易、投资、账户等) + - 任何服务提供商同步完成时(Plaid、SimpleFIN 等) + marked_active: 定期交易已标记为激活 + marked_as_recurring: 交易已标记为定期交易 + marked_inactive: 定期交易已标记为未激活 + projected: 预计 + recurring: 定期 + settings: + enable_description: 自动检测定期交易模式并显示即将发生的预计交易。 + enable_label: 启用定期交易功能 + settings_updated: 定期交易设置已更新 + status: + active: 激活 + inactive: 未激活 + table: + actions: 操作 + amount: 金额 + expected_day: 预计日期 + last_occurrence: 上次发生日 + merchant: 名称 + next_date: 下次发生日 + status: 状态 + title: 定期交易 + unexpected_error: 创建定期交易时发生意外错误 + upcoming: 即将发生的定期交易 diff --git a/config/locales/views/registrations/zh-CN.yml b/config/locales/views/registrations/zh-CN.yml new file mode 100644 index 000000000..d4344273a --- /dev/null +++ b/config/locales/views/registrations/zh-CN.yml @@ -0,0 +1,25 @@ +--- +zh-CN: + helpers: + label: + user: + invite_code: 邀请码 + submit: + user: + create: 继续 + registrations: + closed: 当前注册功能已关闭。 + create: + failure: 注册过程中出现问题。 + invalid_invite_code: 邀请码无效,请重试。 + success: 您已成功注册。 + new: + invitation_message: "%{inviter} 已邀请您以 %{role} 身份加入" + join_family_title: 加入 %{family} + password_placeholder: 请输入密码 + role_admin: 管理员 + role_member: 成员 + submit: 创建账户 + title: 创建您的账户 + welcome_body: 开始使用前,您需要注册一个新账户。注册后即可在应用内配置其他设置。 + welcome_title: 欢迎使用自托管版 %{product_name}! diff --git a/config/locales/views/reports/zh-CN.yml b/config/locales/views/reports/zh-CN.yml new file mode 100644 index 000000000..eae7bc40e --- /dev/null +++ b/config/locales/views/reports/zh-CN.yml @@ -0,0 +1,130 @@ +--- +zh-CN: + reports: + budget_performance: + budgeted: 预算额 + no_budgets: 本月未设置预算分类 + over_by: 超支 + remaining: 剩余 + spent: 已支出 + status: + good: 正常执行 + over: 超出预算 + warning: 接近限额 + suggested_daily: 建议每日 %{amount}(剩余 %{days} 天) + title: 预算执行情况 + empty_state: + add_account: 添加账户 + add_transaction: 添加交易 + description: 开始追踪您的财务状况:添加交易记录或关联账户以查看详细报告 + title: 无可用数据 + google_sheets_instructions: + close: 知道了 + example: 示例 + go_to_api_keys: 前往 API 密钥设置 + need_key: 要将数据导入 Google 表格,您需要一个 API 密钥。 + open_sheets: 打开 Google 表格 + ready: 您的 CSV 链接(含 API 密钥)已准备就绪。 + security_warning: 此链接包含您的 API 密钥,请妥善保管! + step1: 前往 设置 → API 密钥 + step2: 创建一个具有"读取"权限的新 API 密钥 + step3: 复制 API 密钥 + step4: 将其添加到链接中:?api_key=您的密钥 + steps: |- + 导入到 Google 表格的步骤: + 1. 创建新的 Google 表格 + 2. 在 A1 单元格中输入下方所示的公式 + 3. 按 Enter 键 + then_use: 然后在 Google 表格中使用完整链接和 =IMPORTDATA() 函数。 + title_no_key: "⚠️ 需要 API 密钥" + title_with_key: "✅ 复制 Google 表格导入链接" + index: + date_range: + from: 开始日期 + to: 结束日期 + drag_to_reorder: 拖动以重新排序模块 + export: 导出 CSV + periods: + custom: 自定义范围 + last_6_months: 过去6个月 + monthly: 月度 + quarterly: 季度 + ytd: 本年度至今 + showing_period: 显示 %{start} 至 %{end} 的数据 + subtitle: 全面洞察您的财务健康状况 + title: 财务报告 + toggle_section: 切换模块显示/隐藏 + invalid_date_range: 结束日期不能早于开始日期。日期已自动交换。 + summary: + budget_performance: 预算执行情况 + income_minus_expenses: 收入减去支出 + net_savings: 净储蓄 + no_budget_data: 此期间无预算数据 + of_budget_used: 的预算已使用 + total_expenses: 总支出 + total_income: 总收入 + vs_previous: 与上一期相比 + transactions_breakdown: + export: + csv: CSV + excel: Excel + google_sheets: 在 Google 表格中打开 + label: 导出格式 + pdf: PDF + filters: + account: 账户 + all_accounts: 全部账户 + all_categories: 全部分类 + all_tags: 全部标签 + amount_max: 最大金额 + amount_min: 最小金额 + apply: 应用筛选 + category: 分类 + clear: 清除筛选 + date_range: 日期范围 + tag: 标签 + title: 筛选条件 + no_transactions: 所选时间段和筛选条件下未找到交易记录 + pagination: + next: 下一页 + previous: 上一页 + showing: 显示 %{count} 笔交易 + sort: + amount_asc: 金额(从低到高) + amount_desc: 金额(从高到低) + date_desc: 日期(从新到旧) + label: 排序方式 + table: + amount: 金额 + category: 分类 + expense: 支出 + income: 收入 + percentage: 占总比 + transactions: 笔交易 + type: 类型 + uncategorized: 未分类 + title: 交易明细分析 + trends: + avg_monthly_expenses: 月均支出 + avg_monthly_income: 月均收入 + avg_monthly_savings: 月均储蓄 + avg_per_transaction: 每笔交易平均 + current: 当前 + expenses: 支出 + income: 收入 + insight_higher_weekday: 您工作日每笔交易消费比周末高 %{percent}% + insight_higher_weekend: 您周末每笔交易消费比工作日高 %{percent}% + insight_similar: 您工作日和周末的每笔交易消费水平相似 + insight_title: 数据洞察 + month: 月份 + monthly_breakdown: 月度明细 + net: 净额 + no_data: 无趋势数据可用 + no_spending_data: 此期间无消费数据可用 + savings_rate: 储蓄率 + spending_patterns: 消费模式 + title: 趋势与洞察 + total: 总计 + transactions: 交易笔数 + weekday_spending: 工作日消费 + weekend_spending: 周末消费 diff --git a/config/locales/views/rules/zh-CN.yml b/config/locales/views/rules/zh-CN.yml new file mode 100644 index 000000000..5044d8b00 --- /dev/null +++ b/config/locales/views/rules/zh-CN.yml @@ -0,0 +1,24 @@ +--- +zh-CN: + rules: + no_action: 无操作 + recent_runs: + columns: + date_time: 日期/时间 + execution_type: 执行类型 + rule_name: 规则名称 + status: 状态 + transactions_counts: + modified: 已修改 + processed: 已处理 + queued: 待处理 + description: 查看规则的执行历史,包括成功/失败状态和交易处理数量。 + execution_types: + manual: 手动执行 + scheduled: 计划执行 + statuses: + failed: 失败 + pending: 等待中 + success: 成功 + title: 最近执行记录 + unnamed_rule: 未命名规则 diff --git a/config/locales/views/sessions/zh-CN.yml b/config/locales/views/sessions/zh-CN.yml new file mode 100644 index 000000000..d8ca1cba1 --- /dev/null +++ b/config/locales/views/sessions/zh-CN.yml @@ -0,0 +1,23 @@ +--- +zh-CN: + sessions: + create: + invalid_credentials: 邮箱或密码无效。 + destroy: + logout_successful: 您已成功退出登录。 + failure: + failed: 认证失败。 + new: + demo_banner_message: 这是一个演示环境。为方便使用,登录凭据已预先填充。请勿输入真实或敏感信息。 + demo_banner_title: 演示模式已激活 + email: 邮箱地址 + email_placeholder: you@example.com + forgot_password: 忘记密码? + google_auth_connect: 使用 Google 登录 + openid_connect: 使用 OpenID Connect 登录 + password: 密码 + password_placeholder: 请输入密码 + submit: 登录 + title: 登录您的账户 + openid_connect: + failed: 无法通过 OpenID Connect 认证。 diff --git a/config/locales/views/settings/api_keys/zh-CN.yml b/config/locales/views/settings/api_keys/zh-CN.yml new file mode 100644 index 000000000..35c8bffa8 --- /dev/null +++ b/config/locales/views/settings/api_keys/zh-CN.yml @@ -0,0 +1,77 @@ +--- +zh-CN: + settings: + api_keys: + created: + continue: 继续前往 API 密钥设置 + copy_key: 复制 API 密钥 + critical_warning_1: 这是您唯一一次看到 API 密钥的明文显示。 + critical_warning_2: 请复制并安全存储至密码管理器或应用中。 + critical_warning_3: 如遗失此密钥,您需要重新创建。 + critical_warning_title: "⚠️ 重要提示:请立即保存 API 密钥" + key_name: 密钥名称 + permissions: 权限范围 + success_description: 您的新 API 密钥已准备就绪。请立即复制保存,后续将无法再次查看。 + success_title: API 密钥创建成功 + title: API 密钥已创建 + usage_instructions: 在 X-Api-Key 请求头中包含您的 API 密钥即可使用: + usage_instructions_title: 快速开始 + your_api_key: 您的 API 密钥 + new: + cancel: 取消 + create_key: 创建 API 密钥 + create_new_key: 创建新 API 密钥 + description: 为新 API 密钥设置描述性名称和适当权限。 + name_help: 请选择描述性名称以便识别该密钥的用途。 + name_label: API 密钥名称 + name_placeholder: 例如:生产环境应用、分析仪表板 + permissions_help: 选择 API 密钥所需的权限范围。您随时可以创建具有不同权限的新密钥。 + permissions_label: 权限设置 + scope_details: + read_accounts: 查看账户信息、余额及账户级数据 + read_balances: 查看历史余额数据及账户价值趋势 + read_transactions: 查看交易数据、分类及交易详情 + write_transactions: 创建和更新交易记录(即将推出) + security_warning: API 密钥仅在创建后显示一次。请安全存储,切勿公开分享。如遗失需重新创建。 + security_warning_title: 重要安全提示 + title: 创建 API 密钥 + show: + current_api_key: + active: 活跃 + ago: 前 + created_at: 创建时间 + description: 您的活跃 API 密钥已准备就绪。请妥善保管,切勿公开分享。 + expires: 过期时间 + key_name: 密钥名称 + last_used: 最后使用 + never_expires: 永不过期 + never_used: 从未使用 + permissions: 权限范围 + regenerate_key: 创建新密钥 + revoke_confirmation: 确定要撤销此 API 密钥吗?此操作不可撤销,将立即停用所有使用此密钥的应用程序。 + revoke_key: 撤销密钥 + title: 您的 API 密钥 + usage_instructions: 向 %{product_name} API 发起请求时,请在 X-Api-Key 请求头中包含您的 API + 密钥: + usage_instructions_title: 如何使用 API 密钥 + no_api_key: + create_api_key: 创建 API 密钥 + description: 通过安全的 API 密钥以编程方式访问您的 %{product_name} 数据。 + feature_1: 以编程方式访问账户数据 + feature_2: 构建自定义集成和应用 + feature_3: 自动化数据获取与分析 + heading: 以编程方式访问您的账户数据 + security_note: 您的 API 密钥将根据所选权限范围受到限制,且同一时间只能有一个活跃的 API 密钥。 + security_note_title: 安全第一 + title: API 密钥 + what_you_can_do: API 功能概述: + title: API 密钥管理 + api_keys_controller: + revoke_failed: 撤销 API 密钥失败 + revoked_successfully: API 密钥已成功撤销 + scope_descriptions: + read_accounts: 查看账户 + read_balances: 查看余额 + read_transactions: 查看交易 + write_transactions: 创建交易 + success: API 密钥已创建成功 diff --git a/config/locales/views/settings/hostings/zh-CN.yml b/config/locales/views/settings/hostings/zh-CN.yml new file mode 100644 index 000000000..176679e10 --- /dev/null +++ b/config/locales/views/settings/hostings/zh-CN.yml @@ -0,0 +1,79 @@ +--- +zh-CN: + settings: + hostings: + brand_fetch_settings: + description: 请输入 Brand Fetch 提供的 Client ID + label: Client ID + placeholder: 在此输入您的 Client ID + title: Brand Fetch 设置 + clear_cache: + cache_cleared: 数据缓存已清除,此操作可能需要一些时间完成。 + invite_code_settings: + description: 控制新用户如何注册您的 %{product} 实例。 + email_confirmation_description: 启用后,用户在更改邮箱地址时必须进行邮箱确认。 + email_confirmation_title: 要求邮箱确认 + generate_tokens: 生成新代码 + generated_tokens: 已生成的代码 + states: + closed: 关闭注册 + invite_only: 仅限邀请注册 + open: 开放注册 + title: 新用户注册设置 + not_authorized: 您没有执行此操作的权限 + openai_settings: + access_token_label: 访问令牌 + access_token_placeholder: 在此输入您的访问令牌 + description: 输入访问令牌,并可选择配置自定义的 OpenAI 兼容提供商 + env_configured_message: 已通过环境变量成功配置。 + json_mode_auto: 自动(推荐) + json_mode_help: 严格模式最适合思考模型(qwen-thinking、deepseek-reasoner)。无模式最适合标准模型(llama、mistral、gpt-oss)。 + json_mode_json_object: JSON 对象 + json_mode_label: JSON 模式 + json_mode_none: 无(最适合标准模型) + json_mode_strict: 严格(最适合思考模型) + model_label: 模型(可选) + model_placeholder: gpt-4.1(默认) + title: OpenAI 设置 + uri_base_label: API 基础 URL(可选) + uri_base_placeholder: https://api.openai.com/v1(默认) + provider_selection: + description: 选择用于获取汇率和证券价格的服务。Yahoo Finance 免费且无需 API 密钥。Twelve Data 需要免费的 + API 密钥,但可能提供更全面的数据覆盖。 + env_configured_message: 提供商选择已禁用,因为环境变量(EXCHANGE_RATE_PROVIDER 或 SECURITIES_PROVIDER)已设置。要在此处启用选择,请从配置中移除这些环境变量。 + exchange_rate_provider_label: 汇率数据提供商 + providers: + twelve_data: Twelve Data + yahoo_finance: Yahoo Finance + securities_provider_label: 证券(股票价格)数据提供商 + title: 数据提供商选择 + show: + clear_cache: 清除数据缓存 + clear_cache_warning: 清除数据缓存将移除所有汇率、证券价格、账户余额及其他数据。这不会删除账户、交易记录、分类或其他用户自有数据。 + confirm_clear_cache: + body: 确定要清除数据缓存吗?这将移除所有汇率、证券价格、账户余额及其他数据,且不可撤销。 + title: 确认清除数据缓存? + danger_zone: 高风险操作 + financial_data_providers: 金融数据提供商 + general: 通用设置 + invites: 邀请码设置 + title: 自托管配置 + twelve_data_settings: + api_calls_used: 已使用 %{used} / %{limit} 次每日 API 调用(%{percentage}) + description: 请输入 Twelve Data 提供的 API 密钥 + env_configured_message: 已通过 TWELVE_DATA_API_KEY 环境变量成功配置。 + label: API 密钥 + placeholder: 在此输入您的 API 密钥 + plan: "%{plan} 套餐" + title: Twelve Data 设置 + update: + failure: 设置值无效 + invalid_onboarding_state: 无效的新用户注册状态 + success: 设置已更新 + yahoo_finance_settings: + connection_failed: 无法连接到 Yahoo Finance + description: Yahoo Finance 提供免费的股票价格、汇率和金融数据访问,无需 API 密钥。 + status_active: Yahoo Finance 已激活并正常工作 + status_inactive: Yahoo Finance 连接失败 + title: Yahoo Finance 设置 + troubleshooting: 请检查您的互联网连接和防火墙设置。Yahoo Finance 可能暂时不可用。 diff --git a/config/locales/views/settings/securities/zh-CN.yml b/config/locales/views/settings/securities/zh-CN.yml new file mode 100644 index 000000000..1a3adb6cf --- /dev/null +++ b/config/locales/views/settings/securities/zh-CN.yml @@ -0,0 +1,10 @@ +--- +zh-CN: + settings: + securities: + show: + disable_mfa: 停用双重认证 + disable_mfa_confirm: 确定要停用双重认证吗?这可能会降低您的账户安全性。 + enable_mfa: 启用双重认证 + mfa_description: 在登录时要求输入身份验证器应用中的代码,为账户增加额外安全层 + mfa_title: 双重认证 diff --git a/config/locales/views/settings/zh-CN.yml b/config/locales/views/settings/zh-CN.yml new file mode 100644 index 000000000..4b9d7bff3 --- /dev/null +++ b/config/locales/views/settings/zh-CN.yml @@ -0,0 +1,124 @@ +--- +zh-CN: + settings: + ai_prompts: + show: + disable_ai: 禁用 AI 助手 + main_system_prompt: + subtitle: 定义 AI 助手在所有聊天对话中行为的核心指令 + title: 主系统提示词 + merchant_detector: + subtitle: AI 识别交易数据并补充商户信息 + title: 商户识别器 + openai_label: OpenAI + page_title: AI 提示词设置 + prompt_instructions: 提示词说明 + transaction_categorizer: + subtitle: AI 根据您定义的分类自动为交易进行分类 + title: 交易分类器 + billings: + show: + page_title: 账单管理 + subscription_subtitle: 更新订阅与账单信息 + subscription_title: 管理订阅 + hostings: + ensure_admin: + not_authorized: 未授权 + preferences: + show: + country: 国家/地区 + currency: 货币 + date_format: 日期格式 + default_account_order: 默认账户排序 + default_period: 默认周期 + general_subtitle: 配置个人偏好设置 + general_title: 通用设置 + language: 语言 + page_title: 偏好设置 + theme_dark: 深色模式 + theme_light: 浅色模式 + theme_subtitle: 选择应用的主题模式 + theme_system: 跟随系统 + theme_title: 主题 + timezone: 时区 + profiles: + destroy: + cannot_remove_self: 您无法将自己从账户中移除。 + member_removal_failed: 移除成员时出现问题。 + member_removed: 成员已成功移除。 + not_authorized: 您没有移除成员的权限。 + show: + confirm_delete: + body: 确定要永久删除您的账户吗?此操作不可逆转。 + title: 确认删除账户? + confirm_remove_invitation: + body: 确定要移除 %{email} 的邀请吗? + title: 移除邀请 + confirm_remove_member: + body: 确定要将 %{name} 从您的账户中移除吗? + title: 移除成员 + confirm_reset: + body: 确定要重置您的账户吗?这将删除您的所有账户、分类、商户、标签及其他数据,且不可撤销。 + title: 确认重置账户? + confirm_reset_with_sample_data: + body: 确定要重置账户并加载示例数据吗?这将删除您的现有数据并替换为演示数据,以便您安全地探索 %{product_name}。 + title: 确认重置账户并加载示例数据? + danger_zone_title: 高风险操作 + delete_account: 删除账户 + delete_account_warning: 删除账户将永久移除您的所有数据且不可恢复。 + email: 邮箱 + first_name: 名字 + household_form_input_placeholder: 请输入家庭名称 + household_form_label: 家庭名称 + household_subtitle: 邀请家庭成员、合作伙伴等人员。被邀请者可登录您的家庭账户并访问共享账户。 + household_title: 家庭管理 + invitation_link: 邀请链接 + invite_member: 添加成员 + last_name: 姓氏 + page_title: 个人资料信息 + pending: 待处理 + profile_subtitle: 自定义您在 %{product_name} 中的显示信息 + profile_title: 个人信息 + remove_invitation: 移除邀请 + remove_member: 移除成员 + reset_account: 重置账户 + reset_account_warning: 重置账户将删除您的所有账户、分类、商户、标签及其他数据,但保留您的用户账户。 + reset_account_with_sample_data: 重置并预加载数据 + reset_account_with_sample_data_warning: 删除所有现有数据,然后加载新的示例数据,以便您在预填充环境中进行探索。 + save: 保存 + securities: + show: + page_title: 安全设置 + settings_nav: + accounts_label: 账户管理 + advanced_section_title: 高级设置 + ai_prompts_label: AI 提示词 + api_key_label: API 密钥 + api_keys_label: API 密钥 + bank_sync_label: 银行同步 + billing_label: 账单管理 + categories_label: 分类管理 + feedback_label: 意见反馈 + general_section_title: 通用设置 + guides_label: 使用指南 + imports_label: 导入/导出 + logout: 退出登录 + merchants_label: 商户管理 + other_section_title: 更多设置 + preferences_label: 偏好设置 + profile_label: 个人资料信息 + recurring_transactions_label: 定期交易 + rules_label: 规则管理 + security_label: 安全设置 + self_hosting_label: 自托管 + tags_label: 标签管理 + transactions_section_title: 交易管理 + whats_new_label: 更新日志 + settings_nav_link_large: + next: 下一步 + previous: 上一步 + user_avatar_field: + accepted_formats: 支持 JPG 或 PNG 格式,最大 5MB + change: 更换头像 + choose: 上传头像 + choose_label: "(可选)" diff --git a/config/locales/views/shared/zh-CN.yml b/config/locales/views/shared/zh-CN.yml new file mode 100644 index 000000000..d37cc3c3f --- /dev/null +++ b/config/locales/views/shared/zh-CN.yml @@ -0,0 +1,18 @@ +--- +zh-CN: + shared: + confirm_modal: + accept: 确认 + body_html: "此操作不可撤销
" + cancel: 取消 + title: 确定要执行此操作? + money_field: + label: 金额 + syncing_notice: + syncing: 账户数据同步中... + transaction_tabs: + expense: 支出 + income: 收入 + transfer: 转账 + trend_change: + no_change: 无变化 diff --git a/config/locales/views/simplefin_items/zh-CN.yml b/config/locales/views/simplefin_items/zh-CN.yml new file mode 100644 index 000000000..1000cdd8d --- /dev/null +++ b/config/locales/views/simplefin_items/zh-CN.yml @@ -0,0 +1,71 @@ +--- +zh-CN: + simplefin_items: + complete_account_setup: + all_skipped: 所有账户已跳过。未创建任何账户。 + no_accounts: 无待设置账户。 + success: 已成功创建 %{count} 个 SimpleFIN 账户!您的交易和投资数据正在后台导入。 + create: + errors: + blank_token: 请输入 SimpleFIN 设置令牌。 + create_failed: 连接失败:%{message} + invalid_token: 设置令牌无效。请检查是否从 SimpleFIN Bridge 复制了完整的令牌。 + token_compromised: 设置令牌可能已泄露、过期或已被使用。请创建新令牌。 + unexpected: 发生意外错误。请重试或联系支持团队。 + success: SimpleFIN 连接已成功添加!您的账户将在后台同步后显示。 + destroy: + success: SimpleFIN 连接将被移除 + edit: + setup_token: + help_text: 令牌应为以字母和数字开头的长字符串 + label: SimpleFIN 设置令牌: + placeholder: 在此粘贴您的 SimpleFIN 设置令牌... + link_existing_account: + errors: + invalid_simplefin_account: 所选 SimpleFIN 账户无效 + only_manual: 只能关联手动账户 + success: 账户已成功关联到 SimpleFIN + new: + cancel: 取消 + connect: 连接 + setup_token: 设置令牌 + setup_token_placeholder: 粘贴您的 SimpleFIN 设置令牌 + title: 连接 SimpleFIN + select_existing_account: + all_accounts_already_linked: 所有 SimpleFIN 账户似乎均已关联。 + cancel: 取消 + check_provider_health: 检查服务提供商状态 + currently_linked_to: "当前关联到:%{account_name}" + description: 选择一个 SimpleFIN 账户与您的现有账户关联 + link_account: 关联账户 + no_accounts_found: 此家庭未找到 SimpleFIN 账户。 + title: 将 %{account_name} 关联到 SimpleFIN + unlink_to_move: 如需移动关联,请先从账户操作菜单中解除当前关联。 + wait_for_sync: 如果您刚刚连接或同步完成,请等待同步完成后再试。 + simplefin_item: + add_new: 添加新连接 + confirm_accept: 删除连接 + confirm_body: 此操作将永久删除该组下的所有账户及相关数据。 + confirm_title: 确认删除 SimpleFIN 连接? + delete: 删除 + deletion_in_progress: "(删除进行中...)" + error: 同步数据时发生错误 + no_accounts_description: 此连接尚未同步任何账户。 + no_accounts_title: 未找到账户 + requires_update: 需要重新认证 + setup_action: 设置新账户 + setup_description: 请为您新导入的 SimpleFIN 账户选择账户类型。 + setup_needed: 新账户待设置 + status: 上次同步于 %{timestamp} 前 + status_never: 从未同步 + status_with_summary: 同步于 %{timestamp} 前 • %{summary} + syncing: 同步中... + update: 更新连接 + update: + errors: + blank_token: 请输入 SimpleFIN 设置令牌。 + invalid_token: 设置令牌无效。请检查是否从 SimpleFIN Bridge 复制了完整的令牌。 + token_compromised: 设置令牌可能已泄露、过期或已被使用。请创建新令牌。 + unexpected: 发生意外错误。请重试或联系支持团队。 + update_failed: 更新连接失败:%{message} + success: SimpleFIN 连接更新成功!您的账户正在重新连接中。 diff --git a/config/locales/views/subscriptions/zh-CN.yml b/config/locales/views/subscriptions/zh-CN.yml new file mode 100644 index 000000000..a410aa6df --- /dev/null +++ b/config/locales/views/subscriptions/zh-CN.yml @@ -0,0 +1,4 @@ +--- +zh-CN: + subscriptions: + self_hosted_alert: "%{product_name} 在自托管模式下不可用。" diff --git a/config/locales/views/tag/deletions/zh-CN.yml b/config/locales/views/tag/deletions/zh-CN.yml new file mode 100644 index 000000000..816eecfd2 --- /dev/null +++ b/config/locales/views/tag/deletions/zh-CN.yml @@ -0,0 +1,13 @@ +--- +zh-CN: + tag: + deletions: + create: + deleted: 标签已删除 + new: + delete_and_leave_uncategorized: 删除“%{tag_name}”并保留为未标记 + delete_and_recategorize: 删除“%{tag_name}”并重新分配标签 + delete_tag: 确认删除标签? + explanation: "“%{tag_name}”将从交易及其他可标记实体中移除。您也可以在下述选项中选择一个新标签进行重新分配,而不是保留为未标记状态。" + replacement_tag_prompt: 选择新标签 + tag: 标签 diff --git a/config/locales/views/tags/zh-CN.yml b/config/locales/views/tags/zh-CN.yml new file mode 100644 index 000000000..c133ffe3f --- /dev/null +++ b/config/locales/views/tags/zh-CN.yml @@ -0,0 +1,23 @@ +--- +zh-CN: + tags: + create: + created: 标签已创建 + error: 创建标签失败:%{error} + destroy: + deleted: 标签已删除 + edit: + edit: 编辑标签 + form: + placeholder: 标签名称 + index: + empty: 暂无标签 + new: 新建标签 + tags: 标签管理 + new: + new: 新建标签 + tag: + delete: 删除 + edit: 编辑 + update: + updated: 标签已更新 diff --git a/config/locales/views/trades/zh-CN.yml b/config/locales/views/trades/zh-CN.yml new file mode 100644 index 000000000..c735daadd --- /dev/null +++ b/config/locales/views/trades/zh-CN.yml @@ -0,0 +1,38 @@ +--- +zh-CN: + trades: + form: + account: 转账账户(可选) + account_prompt: 搜索账户 + amount: 金额 + holding: 股票代码 + price: 每股价格 + qty: 数量 + submit: 添加交易 + ticker_placeholder: AAPL + type: 交易类型 + header: + buy: 买入 + current_market_price_label: 当前市价 + overview: 概览 + purchase_price_label: 买入价格 + purchase_qty_label: 买入数量 + sell: 卖出 + symbol_label: 股票代码 + total_return_label: 未实现盈亏 + new: + title: 新建交易 + show: + additional: 附加信息 + cost_per_share_label: 每股成本 + date_label: 日期 + delete: 删除 + delete_subtitle: 此操作不可撤销 + delete_title: 删除交易 + details: 详情 + exclude_subtitle: 此交易将不计入报表和计算 + exclude_title: 从分析中排除 + note_label: 备注 + note_placeholder: 在此添加额外备注... + quantity_label: 数量 + settings: 设置 diff --git a/config/locales/views/transactions/zh-CN.yml b/config/locales/views/transactions/zh-CN.yml new file mode 100644 index 000000000..214709670 --- /dev/null +++ b/config/locales/views/transactions/zh-CN.yml @@ -0,0 +1,88 @@ +--- +zh-CN: + transactions: + form: + account: 账户 + account_prompt: 选择账户 + amount: 金额 + category: 分类 + category_prompt: 选择分类 + date: 日期 + description: 描述 + description_placeholder: 请输入交易描述 + details: 详情 + expense: 支出 + income: 收入 + none: "(无)" + note_label: 备注 + note_placeholder: 请输入备注 + submit: 添加交易 + tags_label: 标签 + transfer: 转账 + header: + edit_categories: 编辑分类 + edit_imports: 编辑导入 + edit_merchants: 编辑商户 + edit_tags: 编辑标签 + import: 导入 + index: + import: 导入 + transaction: 交易 + transactions: 交易记录 + new: + new_transaction: 新建交易 + searches: + filters: + amount_filter: + equal_to: 等于 + greater_than: 大于 + less_than: 小于 + placeholder: '0' + badge: + expense: 支出 + income: 收入 + on_or_after: 在 %{date} 或之后 + on_or_before: 在 %{date} 或之前 + transfer: 转账 + type_filter: + expense: 支出 + income: 收入 + transfer: 转账 + menu: + account_filter: 账户 + amount_filter: 金额 + apply: 应用 + cancel: 取消 + category_filter: 分类 + clear_filters: 清除筛选 + date_filter: 日期 + merchant_filter: 商户 + tag_filter: 标签 + type_filter: 类型 + search: + equal_to: 等于 + greater_than: 大于 + less_than: 小于 + show: + account_label: 账户 + amount: 金额 + category_label: 分类 + date_label: 日期 + delete: 删除 + delete_subtitle: 此操作将永久删除该交易,影响历史余额数据,且不可恢复。 + delete_title: 删除交易 + details: 详情 + mark_recurring: 标记为定期交易 + mark_recurring_subtitle: 将此交易标记为定期交易跟踪。金额波动将根据过去6个月的类似交易自动计算。 + mark_recurring_title: 定期交易设置 + merchant_label: 商户 + name_label: 名称 + nature: 类型 + none: "(无)" + note_label: 备注 + note_placeholder: 请输入备注 + overview: 概览 + settings: 设置 + tags_label: 标签 + uncategorized: "(未分类)" + toggle_recurring_section: 切换即将发生的定期交易显示 diff --git a/config/locales/views/transfers/zh-CN.yml b/config/locales/views/transfers/zh-CN.yml new file mode 100644 index 000000000..ec1f1d714 --- /dev/null +++ b/config/locales/views/transfers/zh-CN.yml @@ -0,0 +1,30 @@ +--- +zh-CN: + transfers: + create: + success: 转账已创建 + destroy: + success: 转账已移除 + form: + amount: 金额 + date: 日期 + expense: 支出 + from: 转出账户 + income: 收入 + select_account: 选择账户 + submit: 创建转账 + to: 转入账户 + transfer: 转账 + new: + title: 新建转账 + show: + delete: 移除转账 + delete_subtitle: 此操作仅移除转账记录,不会删除底层交易数据。 + delete_title: 确认移除转账? + details: 详情 + note_label: 备注 + note_placeholder: 为此转账添加备注 + overview: 概览 + settings: 设置 + update: + success: 转账已更新 diff --git a/config/locales/views/users/zh-CN.yml b/config/locales/views/users/zh-CN.yml new file mode 100644 index 000000000..5c9d5890f --- /dev/null +++ b/config/locales/views/users/zh-CN.yml @@ -0,0 +1,18 @@ +--- +zh-CN: + no_pending_change: 当前没有待处理的邮箱更改请求! + users: + destroy: + success: 您的账户已删除。 + resend_confirmation_email: + no_pending_change: 当前没有待处理的邮箱更改请求! + success: 新的确认邮件已加入发送队列。 + reset: + success: 账户重置成功。相关数据将在后台逐步删除。 + unauthorized: 您没有执行此操作的权限。 + reset_with_sample_data: + success: 账户已重置,正在准备示例数据。您将很快看到演示数据。 + update: + email_change_failed: 邮箱地址更改失败。 + email_change_initiated: 请查收新邮箱地址的确认邮件以完成更改。 + success: 个人资料已更新成功。 diff --git a/config/locales/views/valuations/zh-CN.yml b/config/locales/views/valuations/zh-CN.yml new file mode 100644 index 000000000..e6a3a37ec --- /dev/null +++ b/config/locales/views/valuations/zh-CN.yml @@ -0,0 +1,32 @@ +--- +zh-CN: + valuations: + form: + amount: 金额 + submit: 添加余额更新 + header: + balance: 余额 + index: + change: 变动 + date: 日期 + new_entry: 新建记录 + no_valuations: 此账户暂无估值记录 + valuations: 估值 + value: 价值 + new: + amount: 金额 + submit: 提交 + title: 新建余额记录 + show: + amount: 金额 + date_label: 日期 + delete: 删除 + delete_subtitle: 此操作不可撤销 + delete_title: 删除记录 + details: 详情 + name_label: 名称 + name_placeholder: 请输入此记录的名称 + note_label: 备注 + note_placeholder: 添加此记录的其他详细信息 + overview: 概览 + settings: 设置 diff --git a/config/locales/views/vehicles/zh-CN.yml b/config/locales/views/vehicles/zh-CN.yml new file mode 100644 index 000000000..01c1f3f0c --- /dev/null +++ b/config/locales/views/vehicles/zh-CN.yml @@ -0,0 +1,34 @@ +--- +zh-CN: + vehicles: + edit: + edit: 编辑%{account} + form: + make: 品牌 + make_placeholder: 丰田 + mileage: 里程 + mileage_placeholder: '15000' + mileage_unit: 单位 + model: 车型 + model_placeholder: 凯美瑞 + year: 年份 + year_placeholder: '2023' + new: + title: 请输入车辆详情 + overview: + current_price: 当前估值 + make_model: 品牌与车型 + mileage: 里程 + purchase_price: 购买价格 + trend: 价格趋势 + unknown: 未知 + year: 年份 + tabs: + overview: + current_price: 当前价格 + make_model: 品牌型号 + mileage: 里程 + purchase_price: 买入价 + trend: 走势 + unknown: 未知 + year: 年份