From 5d26c70a9c69cb69c60542f1a6570c094fdc777e Mon Sep 17 00:00:00 2001 From: Mingye Wang Date: Tue, 25 Apr 2017 17:26:33 -0400 Subject: Complete proofreading and addition for zh-CN YML translations (#2445) * proofread & update zh-CN setting form locale * Pull in new devise zh-CN translations from their wiki https://github.com/plataformatec/devise/wiki/I18n, more precisely https://gist.github.com/Artoria2e5/6d2a06ca9e92a417afc627b5000f4690 * pull in zh-CN translation for doorkeeper ... from https://github.com/doorkeeper-gem/doorkeeper-i18n/pull/31/ --- config/locales/devise.zh-CN.yml | 99 +++++++++++++++------------ config/locales/doorkeeper.zh-CN.yml | 127 +++++++++++++++++++++++++++++++++++ config/locales/simple_form.zh-CN.yml | 40 ++++++----- 3 files changed, 205 insertions(+), 61 deletions(-) create mode 100644 config/locales/doorkeeper.zh-CN.yml diff --git a/config/locales/devise.zh-CN.yml b/config/locales/devise.zh-CN.yml index 398055b36..100c1cb78 100644 --- a/config/locales/devise.zh-CN.yml +++ b/config/locales/devise.zh-CN.yml @@ -1,61 +1,72 @@ --- +# Chinese (China) translations for Devise 4.2.1 +# 4.2.0: By HealthGrid at https://gist.github.com/HealthGrid/2d702b38aa6ffe0233f27d3d5be9250f +# 4.2.1: By Artoria2e5 (this file) +# - Fixes pluralization problems (zh only takes "other") +# - Misc translation improvements, you know what these grammar things are. +# - Should be minor enough to claim CC0 for my changes. +# Additional translations at https://github.com/plataformatec/devise/wiki/I18n + +# Adapted for Mastodon. + zh-CN: devise: confirmations: - confirmed: 邮件已确认。 - send_instructions: 发送确认邮件 - send_paranoid_instructions: 发送确认邮件 + confirmed: "成功验证您的邮箱地址。" + send_instructions: "您的电子邮箱将在几分钟后收到一封邮箱确认邮件。" + send_paranoid_instructions: "如果您的邮箱存在于我们的数据库中,您将收到一封确认帐号的邮件。" failure: - already_authenticated: 已登录。 - inactive: 账号未激活。 - invalid: 激活码 %{authentication_keys} 或密码无效。 - last_attempt: 因多次失败账号已锁。 - locked: 账号已锁。 - not_found_in_database: 激活码 %{authentication_keys} 或密码无效。 - timeout: 登录已过期,请重新登录。 - unauthenticated: 请先登录 - unconfirmed: 请先通过邮件激活。 + already_authenticated: "您已经登录。" + inactive: "您还没有激活帐户。" + invalid: " %{authentication_keys} 或密码错误。" + locked: "您的帐号已被锁定。" + last_attempt: "您还有最后一次尝试机会,再次失败您的帐号将被锁定。" + not_found_in_database: "%{authentication_keys}或密码错误。" + timeout: "您已登录超时,请重新登录。" + unauthenticated: "继续操作前请注册或者登录。" + unconfirmed: "继续操作前请先确认您的帐号。" mailer: confirmation_instructions: - subject: 'Mastodon: 激活指引' - password_change: - subject: 'Mastodon: 密码变更' + subject: "Mastodon 帐户确认信息" reset_password_instructions: - subject: 'Mastodon: 密码重置指引' + subject: "Mastodon 重置密码信息" unlock_instructions: - subject: 'Mastodon: 账号解锁指引' + subject: "Mastodon 帐户解锁信息" + email_changed: + subject: "Mastodon 电邮已被修改" + password_change: + subject: 'Mastodon 密码已被重置' omniauth_callbacks: - failure: 从 %{kind} 授权失败:"%{reason}" 。 - success: 成功从 %{kind} 授权。 + failure: "由于%{reason},无法从%{kind}获得授权。" + success: "成功地从%{kind}获得授权。" passwords: - no_token: 仅允许通过密码重置邮件访问本页面,或确认完整 URL。 - send_instructions: 你将收到密码重置指引邮件。 - send_paranoid_instructions: 你将收到密码重置邮件。 - updated: 密码重置成功。 - updated_not_active: 密码重置成功。 + no_token: "无重置邮件不可访问密码重置页面。如果您是从重置邮件来到了这个页面,请确保您输入的URL完整的。" + send_instructions: "几分钟后,您将收到重置密码的电子邮件。" + send_paranoid_instructions: "如果您的邮箱存在于我们的数据库中,您将收到一封找回密码的邮件。" + updated: "您的密码已修改成功,您现在已登录。" + updated_not_active: "您的密码已修改成功。" registrations: - destroyed: 撒油娜啦!账号已经注销。有缘再会。 - signed_up: 欢迎回来! - signed_up_but_inactive: 账号未激活。 - signed_up_but_locked: 账号已锁定。 - signed_up_but_unconfirmed: 确认邮件已发,请先激活。 - update_needs_confirmation: 账号需要重新激活,请先激活。 - updated: 更新成功。 + destroyed: "再见!您的帐户已成功注销。我们希望很快可以再见到您。" + signed_up: "欢迎!您已注册成功。" + signed_up_but_inactive: "您已注册,但尚未激活帐号。" + signed_up_but_locked: "您已注册,但帐号被锁定了。" + signed_up_but_unconfirmed: "一封带有确认链接的邮件已经发送至您的邮箱,请检查邮箱(包括垃圾邮箱),并点击该链接激活您的帐号。" + update_needs_confirmation: "信息更新成功,但我们需要验证您的新电子邮件地址,请检查邮箱(包括垃圾邮箱),并点击该链接激活您的帐号。" + updated: "帐号资料更新成功。" sessions: - already_signed_out: 登出成功。 - signed_in: 登录成功。 - signed_out: 登出成功。 + signed_in: "登录成功。" + signed_out: "退出成功。" + already_signed_out: "已经退出成功。" unlocks: - send_instructions: 解锁邮件已发,请先解锁。 - send_paranoid_instructions: 解锁邮件已发,请先解锁。 - unlocked: 账号已解锁,请登录。 + send_instructions: "几分钟后,您将收到一封解锁帐号的邮件。" + send_paranoid_instructions: "如果您的邮箱存在于我们的数据库中,您将收到一封解锁帐号的邮件。" + unlocked: "您的帐号已成功解锁,您现在已登录。" errors: messages: - already_confirmed: 已激活,请登录。 - confirmation_period_expired: 需要在 %{period} 内激活,请重新申请。 - expired: 已过期,请重新申请。 - not_found: 未发现 - not_locked: 未锁定 + already_confirmed: "已经确认,请重新登录。" + confirmation_period_expired: "注册帐号后须在%{period}以内确认。请重新注册。" + expired: "邮件确认已过期,请重新注册。" + not_found: "找不到。" + not_locked: "未锁定。" not_saved: - one: '保存失败: %{resource}' - other: "保存失败:%{count}" + other: "发生%{count}个错误,导致%{resource}保存失败:" \ No newline at end of file diff --git a/config/locales/doorkeeper.zh-CN.yml b/config/locales/doorkeeper.zh-CN.yml new file mode 100644 index 000000000..4ae85cc88 --- /dev/null +++ b/config/locales/doorkeeper.zh-CN.yml @@ -0,0 +1,127 @@ +# from https://github.com/doorkeeper-gem/doorkeeper-i18n/pull/31/ +zh-CN: + activerecord: + attributes: + doorkeeper/application: + name: '名称' + redirect_uri: '登录回调地址' + scopes: '权限范围' + errors: + models: + doorkeeper/application: + attributes: + redirect_uri: + fragment_present: '不能包含片段(#)' + invalid_uri: '必须是有效的 URL 格式' + relative_uri: '必须是绝对的 URL 地址' + secured_uri: '必须是 HTTPS/SSL 的 URL 地址' + + doorkeeper: + applications: + confirmations: + destroy: '确定要删除应用吗?' + buttons: + edit: '编辑' + destroy: '删除' + submit: '提交' + cancel: '取消' + authorize: '授权' + form: + error: '抱歉! 提交信息的时候遇到了下面的错误' + help: + redirect_uri: '每行只能有一个 URL' + native_redirect_uri: '使用 %{native_redirect_uri} 作为本地测试' + scopes: '用空格隔开权限范围,留空则使用默认设置' + edit: + title: '修改应用' + index: + title: '你的应用' + new: '创建新应用' + name: '名称' + callback_url: '登录回调地址' + new: + title: '创建新应用' + show: + title: '应用:%{name}' + application_id: '应用 ID' + secret: '私钥' + scopes: '权限范围' + callback_urls: '登录回调地址' + actions: '操作' + + authorizations: + buttons: + authorize: '授权' + deny: '拒绝' + error: + title: '存在错误' + new: + title: '需要你授权' + prompt: '授权 %{client_name} 使用你的帐号?' + able_to: '此应用将会' + show: + title: '授权码' + + authorized_applications: + confirmations: + revoke: '确定要注销此应用的认证信息吗?' + buttons: + revoke: '注销' + index: + title: '你授权的应用列表' + application: '应用' + created_at: '授权时间' + date_format: '%Y-%m-%d %H:%M:%S' + + errors: + messages: + # Common error messages + invalid_request: '这个请求缺少必要的参数,或者参数值、格式不正确' + invalid_redirect_uri: '无效的登录回调地址' + unauthorized_client: '未授权的应用,请求无法执行' + access_denied: '用户或服务器拒绝了请求' + invalid_scope: '请求范围无效、未知或格式不正确' + server_error: '服务器异常,无法处理请求' + temporarily_unavailable: '服务器维护中或负载过高,暂时无法处理请求' + + #configuration error messages + credential_flow_not_configured: 'Resource Owner Password Credentials flow failed,原因是 Doorkeeper.configure.resource_owner_from_credentials 尚未设置。' + resource_owner_authenticator_not_configured: 'Resource Owner find failed,原因是 Doorkeeper.configure.resource_owner_authenticator 尚未设置。' + + # Access grant errors + unsupported_response_type: '服务器不支持这种响应类型' + + # Access token errors + invalid_client: '由于未知、不支持或没有客户端,认证失败' + invalid_grant: '授权方式无效,或者登录回调地址无效、过期或已被撤销' + unsupported_grant_type: '服务器不支持此类型的授权方式' + + # Password Access token errors + invalid_resource_owner: '资源所有者认证无效或没有所有者' + + invalid_token: + revoked: "访问令牌已被吊销" + expired: "访问令牌已过期" + unknown: "访问令牌无效" + + flash: + applications: + create: + notice: '应用创建成功' + destroy: + notice: '应用删除成功' + update: + notice: '应用修改成功' + authorized_applications: + destroy: + notice: '已成功注销了应用的认证信息' + + layouts: + admin: + nav: + oauth2_provider: 'OAuth2 提供商' + applications: '应用' + home: '首页' + application: + title: 'OAuth 认证' + diff --git a/config/locales/simple_form.zh-CN.yml b/config/locales/simple_form.zh-CN.yml index cda4e6838..18e71e095 100644 --- a/config/locales/simple_form.zh-CN.yml +++ b/config/locales/simple_form.zh-CN.yml @@ -3,40 +3,46 @@ zh-CN: simple_form: hints: defaults: - avatar: 不超过 2MB,限 PNG, GIF 或 JPG 格式,将缩到 120x120px + avatar: 最大 2MB,限 PNG, GIF 或 JPG 格式,将缩到 120x120px display_name: 不起过 30 个字符 - header: 不超过 2MB,限 PNG, GIF 或 JPG 格式,将缩到 700x335px - locked: 默认仅向粉丝公开,需要手工设置通过的粉丝。 - note: 不起过 160 个字符 + header: 最大 2MB,限 PNG, GIF 或 JPG 格式,将缩到 700x335px + locked: 默认仅向粉丝公开嘟文,需要手工批准粉丝关注请求。 + note: 最多 160 个字符 + imports: + data: 自其他服务站导出的 CSV 文件 labels: defaults: avatar: 头像 confirm_new_password: 确认新密码 confirm_password: 确认密码 current_password: 当前密码 + data: 数据 display_name: 显示名 email: 邮箱 - header: 头 + header: 个人页面顶部 locale: 语言 - locked: 隐私模式 + locked: 隐私模式(锁嘟) new_password: 新密码 - note: Bio - otp_attempt: 两步难码 + note: 简介 + otp_attempt: 两步认证码 password: 密码 - setting_default_privacy: 推文隐私 + setting_boost_modal: 在转嘟前询问我 + setting_default_privacy: 嘟文默认隐私度 + severity: 等级 + type: 导入数据类型 username: 用户名 interactions: - must_be_follower: 仅粉丝可私信 - must_be_following: 仅关注中可私信 + must_be_follower: 隐藏没有关注你的用户的通知 + must_be_following: 隐藏你不关注的用户的通知 notification_emails: digest: 发送摘要邮件 - favourite: 有人收藏你的发送邮件通知 - follow: 有人关注你时发送邮件通知 - follow_request: 有人请求关注你时发送邮件通知 - mention: 有人 AT 你时发送邮件通知 - reblog: 有人转发时发送邮件通知 + favourite: 当有用户喜欢你的嘟文时,发电邮通知 + follow: 当有用户关注你时,发电邮通知 + follow_request: 当有用户要求关注你时,发电邮通知 + mention: 当有用户在嘟文提及你时,发电邮通知 + reblog: 当有用户转嘟你时,发电邮通知 'no': '否' required: mark: "*" - text: 必须 + text: 必填 'yes': '是' -- cgit