diff --git a/LICENSE b/LICENSE old mode 100644 new mode 100755 index 6601e6e..56a4efe --- a/LICENSE +++ b/LICENSE @@ -1,8 +1,8 @@ The MIT License (MIT) -Copyright (c) 2015-2017 Jsthon Wong +Copyright (c) 2015-2017 Jsthon Wong, 2018 genment -Based on English resources, copyright (c) 2015-2016 Toby Zerner +Based on English resources, copyright (c) Toby Zerner Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/composer.json b/composer.json old mode 100644 new mode 100755 index cb14cf0..017e54d --- a/composer.json +++ b/composer.json @@ -4,7 +4,7 @@ "description": "Simplified Chinese language pack.", "keywords": ["locale"], "license": "MIT", - "version": "v0.1.0-beta.7", + "version": "v0.1.0-beta.8", "authors": [ { "name": "Jsthon Wong", @@ -12,10 +12,10 @@ } ], "support": { - "source": "https://github.com/jsthon/flarum-ext-simplified-chinese" + "source": "https://github.com/Flarum-Chinese/flarum-ext-simplified-chinese" }, "require": { - "flarum/core": "^0.1.0-beta.7" + "flarum/core": "^0.1.0-beta.8" }, "extra": { "flarum-extension": { diff --git a/extend.php b/extend.php new file mode 100755 index 0000000..7b40e0b --- /dev/null +++ b/extend.php @@ -0,0 +1,12 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +return new Flarum\Extend\LanguagePack; diff --git a/locale/core.yml b/locale/core.yml old mode 100644 new mode 100755 index 1f1ed92..f44067a --- a/locale/core.yml +++ b/locale/core.yml @@ -9,28 +9,31 @@ core: # These translations are used in the placeholder Add Extension modal dialog. add_extension: - developer_text: "如果你是开发者,你可以阅读 开发文档 ,并开发新的插件。" + developer_text: "如果你是开发者,你可以阅读 开发文档 ,开发你自己的新插件。" install_text: "同时,你可以在 Flarum Community site 寻找插件,或使用 Composer 手动安装。" temporary_text: "不远的将来,这里能更快捷地添加拓展插件。正如我们所说,我们正在建造一个生态系统。" title: 添加插件 # These translations are used in the Appearance page. appearance: - colored_header_label: 彩色导航 + colored_header_label: 使用强调色作为导航栏背景色 colors_heading: 颜色 - colors_text: "选择两种颜色作为主题色。第一种将用于突出显示的颜色,第二种将作为背景等元素的色调。" + colors_text: "选择两种颜色作为站点的主色调。第一种将作为强调色,第二种将作为背景等元素的色调。" + custom_footer_heading: 自定义底部 + custom_footer_text: => core.ref.custom_footer_text custom_header_heading: 自定义头部 - custom_header_text: "添加 HTML 代码作为页面头部,显示在站点标题上方。" + custom_header_text: => core.ref.custom_header_text custom_styles_heading: 自定义样式 - custom_styles_text: 添加 LESS/CSS 代码以生成自定义样式作为默认外观。 + custom_styles_text: 添加 LESS/CSS 代码以自定义站点的外观样式。 dark_mode_label: 夜间模式 - edit_css_button: 编辑样式代码 - edit_header_button: 编辑自定义头部 + edit_css_button: 编辑自定义 CSS 代码 + edit_footer_button: => core.ref.custom_footer_title + edit_header_button: => core.ref.custom_header_title enter_hex_message: 请输入一个十六进制颜色代码。 favicon_heading: Favicon - favicon_text: 上传 Favicon 图片作为站点徽标展示。 + favicon_text: 上传一张图片作为站点的 Favicon。 logo_heading: Logo - logo_text: 上传 Logo 并展示在导航的站点标题处。 + logo_text: 上传一张图片作为站点的 Logo,替换站点的文字标题,并显示在导航栏左侧。 submit_button: => core.ref.save_changes # These translations are used in the Basics page. @@ -38,66 +41,66 @@ core: all_discussions_label: => core.ref.all_discussions default_language_heading: 默认语言 forum_description_heading: 站点描述 - forum_description_text: 通过几个短语或句子描述你的站点,它将作为 Meta 标记,并且被搜索引擎抓取。 + forum_description_text: 通过几个短语或句子描述你的站点,它将作为 meta 标记的内容,并且被搜索引擎抓取。 forum_title_heading: 站点名称 home_page_heading: 站点首页 - home_page_text: "选择一个页面作为站点首页。如果输入了自定义值,请使用基于站点根目录的相对路径。" - saved_message: 你的更改已保存 - show_language_selector_label: 显示语言选择 + home_page_text: 选择一个页面作为首页的内容。 + saved_message: 你的更改已保存。 + show_language_selector_label: 显示语言选择器 submit_button: => core.ref.save_changes welcome_banner_heading: 欢迎横幅 - welcome_banner_text: 输入一段文字作为横幅,它将显示在站点的“所有话题”页面中。 + welcome_banner_text: 输入一段文字作为欢迎横幅的内容,它将显示在站点的“所有话题”页面中。 # These translations are used in the Dashboard page. dashboard: - beta_warning_text: "这是一个 测试版 程序,不建议你用于正式的生产环境中。" - contributing_text: "想要贡献? 阅读 贡献文档 。" - extension_text: "想要开发拓展? 阅读 拓展文档 。" - features_text: "有好的主意来改善功能?请来这告诉我们 特性标签 。" - support_text: "找到一个Bug? 请在这里反馈 支持标签 。" - troubleshooting_text: "有问题吗? 请阅读 故障排除文档 。" - version_text: "感谢你使用 Flarum ! 你正在运行版本是 {version} 。" - welcome_text: "欢迎使用 Flarum Beta!" + clear_cache_button: 清理缓存 + tools_button: 工具 # These translations are used in the Edit Custom CSS modal dialog. edit_css: - customize_text: "添加 LESS/CSS 代码以生成自定义样式作为 默认外观 。" + customize_text: "添加 LESS/CSS 来个性化定制外观(参考 Flarum 的默认样式)。" submit_button: => core.ref.save_changes - title: 自定义样式 + title: 编辑自定义样式 + + # These translations are used in the Edit Custom Footer modal dialog. + edit_footer: + customize_text: => core.ref.custom_footer_text + submit_button: => core.ref.save_changes + title: => core.ref.custom_footer_title # These translations are used in the Edit Group modal dialog. edit_group: - color_label: 颜色 + color_label: => core.ref.color delete_button: 删除用户组 delete_confirmation: "确定删除这个用户组?该用户组中的用户不会被删除。" icon_label: 图标 - icon_text: "输入任意一个 FontAwesome 图标名称,无需添加 fa- 前缀。" + icon_text: "输入任意一个 FontAwesome 图标名称,必须包含fas fa- 前缀。" name_label: 名称 - plural_placeholder: 用户组 (例如 Mods) - singular_placeholder: 单个用户 (例如 Mod) + plural_placeholder: 用户组 (例如 Coders、设计部) + singular_placeholder: 单个用户 (例如 Coder、设计师) submit_button: => core.ref.save_changes - title: 新用户组 + title: 新建用户组 # These translations are used in the Edit Custom Header modal dialog. edit_header: - customize_text: "添加 HTML 代码作为页面头部,显示在站点标题上方。" + customize_text: => core.ref.custom_header_text submit_button: => core.ref.save_changes - title: 编辑自定义头部 + title: => core.ref.custom_header_title # These translations are used in the email page of the admin interface. email: account_heading: SMTP 账户 addresses_heading: 邮件地址 - driver_label: 发信方法 - encryption_label: 加密 + driver_label: 发信方法(建议填写 smtp) + encryption_label: 加密方式 from_label: 发信地址 - heading: 邮件配置 + heading: => core.ref.email host_label: 邮件服务器地址 password_label: => core.ref.password - port_label: 端口 - server_heading: SMTP 配置 + port_label: 端口号 + server_heading: SMTP 服务器配置 submit_button: => core.ref.save_changes - text: 配置你的 SMTP 服务器用于站点的邮件发送。 + text: 配置用于发送站点邮件的 SMTP 服务器相关。 username_label: => core.ref.username # These translations are used in the Extensions page. @@ -112,17 +115,17 @@ core: # These translations are used in the modal dialog displayed when loading extensions. loading: - title: 请稍后... + title: 请稍候... # These translations are used in the navigation bar. nav: appearance_button: 外观配置 - appearance_text: "自定义页面颜色、徽标和其他变量。" + appearance_text: "自定义站点的颜色、 Logo 和其他变量。" basics_button: 基本设置 - basics_text: "修改你的站点名称、语言和其他设置。" + basics_text: "设置你的站点名称、语言和其他设置。" dashboard_button: 主要概览 dashboard_text: 各项数据,一目了然。 - email_button: 邮件配置 + email_button: => core.ref.email email_text: "配置站点的邮件服务。" extensions_button: 插件拓展 extensions_text: 添加新的插件拓展到你的站点。 @@ -131,16 +134,17 @@ core: # These translations are used in the Permissions page of the admin interface. permissions: - allow_renaming_label: 修改标题 allow_post_editing_label: 修改内容 + allow_renaming_label: 修改标题 create_heading: 话题相关 delete_discussions_forever_label: 永久删除话题 delete_discussions_label: 删除话题 delete_posts_forever_label: 永久删除回复 - edit_and_delete_posts_label: 编辑或删除回复 + delete_posts_label: 删除内容 + edit_posts_label: 编辑内容 global_heading: 全局 moderate_heading: 管理相关 - new_group_button: 新用户组 + new_group_button: 新建用户组 participate_heading: 内容相关 read_heading: 访问相关 rename_discussions_label: 修改标题 @@ -148,6 +152,7 @@ core: sign_up_label: 注册账户 start_discussions_label: 发布话题 view_discussions_label: 浏览话题 + view_last_seen_at_label: 查看用户最近在线时间 view_post_ips_label: 查看发表 IP 地址 view_user_list_label: 查看用户资料 @@ -156,7 +161,7 @@ core: allow_indefinitely_button: 无限期 allow_some_minutes_button: "发布 {count} 分钟内|发布 {count} 分钟内" allow_ten_minutes_button: 发布 10 分钟内 - allow_until_reply_button: 直到新回复 + allow_until_reply_button: 直到有新的回复 everyone_button: 所有人 members_button: => core.group.members signup_closed_button: 关闭 @@ -168,52 +173,53 @@ core: # These translations are used in image upload buttons. upload_image: - remove_button: 移除 - upload_button: 选择图片 + remove_button: => core.ref.remove + upload_button: 选择一张图片... # Translations in this namespace are used by the forum user interface. forum: # These translations are used in the Change Email modal dialog. change_email: - confirmation_message: => core.ref.confirmation_email_sent confirm_password_placeholder: => core.ref.confirm_password + confirmation_message: => core.ref.confirmation_email_sent dismiss_button: => core.ref.okay - incorrect_password_message: 这个密码有误! + incorrect_password_message: 你输入的密码有误。 submit_button: => core.ref.save_changes title: => core.ref.change_email # These translations are used in the Change Password modal dialog. change_password: - send_button: 发送链接至邮箱 - text: 将发送一个安全链接至你的邮箱以完成重置密码。 + send_button: 发送密码重置邮件 + text: 点击下面的按钮后,将发送链接到你的邮箱,请点击链接更改密码。 title: => core.ref.change_password # These translations are used by the composer controls. composer: close_tooltip: 关闭 - exit_full_screen_tooltip: 还原窗口 - full_screen_tooltip: 最大化 + exit_full_screen_tooltip: 退出全屏 + full_screen_tooltip: 全屏显示 minimize_tooltip: 最小化 + preview_tooltip: 预览 # These translations are used by the composer when starting a discussion. composer_discussion: body_placeholder: 写点什么... - discard_confirmation: "话题还没有发布,确定要丢弃?" - submit_button: 发布话题 + discard_confirmation: "你还没有发起该话题,确定要丢弃吗?" + submit_button: 发起话题 title: => core.ref.start_a_discussion - title_placeholder: 话题标题 + title_placeholder: 话题的标题 # These translations are used by the composer when editing a post. composer_edit: - discard_confirmation: "更改还没有保存,确定要放弃?" + discard_confirmation: "你更改的内容还没有保存,确定要放弃?" post_link: "编辑 #{number} {discussion}" submit_button: => core.ref.save_changes # These translations are used by the composer when replying to a discussion. composer_reply: body_placeholder: => core.ref.write_a_reply - discard_confirmation: "回复还没有发表,确定要丢弃?" + discard_confirmation: "你要回复的内容还没有发表,确定要丢弃?" posted_message: 你的回复已发表 submit_button: 发表回复 view_button: 查看 @@ -225,7 +231,7 @@ core: delete_button: => core.ref.delete delete_confirmation: "确定删除这个话题?" delete_forever_button: => core.ref.delete_forever - log_in_to_reply_button: 登入以回复 + log_in_to_reply_button: 请登录再回复 rename_button: => core.ref.rename reply_button: => core.ref.reply restore_button: => core.ref.restore @@ -293,9 +299,9 @@ core: # These translations are used in the Log In modal dialog. log_in: forgot_password_link: "忘记了密码?" - invalid_login_message: 登入信息有误 + invalid_login_message: 登录信息错误 password_placeholder: => core.ref.password - remember_me_label: 自动登入 + remember_me_label: 自动登录 sign_up_text: "还没有注册? 注册" submit_button: => core.ref.log_in title: => core.ref.log_in @@ -311,7 +317,7 @@ core: # These translations are used by tooltips displayed for individual posts. post: - edited_text: 编辑 + edited_text: 已编辑过 edited_tooltip: "{username} 编辑于 {ago}" number_tooltip: "发表 #{number}" @@ -331,22 +337,22 @@ core: # These translations are displayed between posts in the post stream. post_stream: - discussion_renamed_old_text: "原标题:{old}" - discussion_renamed_text: "{username} 修改标题成 {new}" + discussion_renamed_old_tooltip: "原标题:{old}" + discussion_renamed_text: "{username} 修改标题为 {new}。" load_more_button: => core.ref.load_more reply_placeholder: => core.ref.write_a_reply time_lapsed_text: "{period} 后" # These translations are used by the rename discussion modal. rename_discussion: - title: 修改标题 submit_button: => core.ref.rename + title: 修改标题 # These translations are used by the search results dropdown list. search: all_discussions_button: '所有话题中搜索 "{query}"' discussions_heading: => core.ref.discussions - users_heading: 用户 + users_heading: => core.ref.users # These translations are used in the Settings page. settings: @@ -355,17 +361,17 @@ core: change_password_button: => core.ref.change_password notifications_heading: => core.ref.notifications notify_by_email_heading: => core.ref.email - notify_by_web_heading: 通知 - notify_discussion_renamed_label: 我的话题被修改 + notify_by_web_heading: 站内通知 + notify_discussion_renamed_label: 我发布的话题的标题被修改 privacy_disclose_online_label: 允许其他人看到我的在线状态 privacy_heading: 隐私相关 title: => core.ref.settings # These translations are used in the Sign Up modal dialog. sign_up: - email_placeholder: => core.ref.email dismiss_button: => core.ref.okay - log_in_text: "已经注册过了? 登入" + email_placeholder: => core.ref.email + log_in_text: "已经注册过了? 登录" password_placeholder: => core.ref.password submit_button: => core.ref.sign_up title: => core.ref.sign_up @@ -374,16 +380,16 @@ core: # These translations are used in the user profile page and profile popup. user: - avatar_remove_button: 移除 + avatar_remove_button: => core.ref.remove avatar_upload_button: 上传 avatar_upload_tooltip: 上传新头像 - bio_placeholder: 写点什么介绍下自己吧 discussions_link: => core.ref.discussions in_discussion_text: "{discussion}" joined_date_text: "加入于 {ago}" online_text: 在线 + posts_empty_text: 空空如也! + posts_link: => core.ref.posts posts_load_more_button: => core.ref.load_more - posts_link: 回复 settings_link: => core.ref.settings # These translations are found on the user profile page (admin function). @@ -393,10 +399,10 @@ core: delete_confirmation: "确定删除这个用户?该用户所有发言都会被删除。" edit_button: => core.ref.edit - # These translations are used in unverified user alert box. + # These translations are used in the alert that is shown when a new user has not confirmed their email address. user_email_confirmation: alert_message: => core.ref.confirmation_email_sent - resend_button: 重新发送确认邮件 + resend_button: 重新发送验证邮件 sent_message: 发送 # Translations in this namespace are used by the forum and admin interfaces. @@ -406,15 +412,11 @@ core: badge: hidden_tooltip: 隐藏 - # These translations are used to modify usernames. - username: - deleted_user_text: "[已销户]" - # These translations are displayed as error messages. error: generic_message: "网络不太顺,请再试一次。" - not_found_message: 没有这个页面 - permission_denied_message: 好像不能进行此操作 + not_found_message: 你访问的内容不存在。 + permission_denied_message: 好像不能进行此操作。 rate_limit_exceeded_message: 你的操作太频繁了,请等一会儿。 # These translations are used as suffixes when abbreviating numbers. @@ -428,6 +430,10 @@ core: three_text: "{first}, {second}, 还有 {third}" two_text: "{first} 和 {second}" + # These translations are used to modify usernames. + username: + deleted_text: "[已销户]" + # Translations in this namespace are used in views other than Flarum's normal JS client. views: @@ -440,23 +446,38 @@ core: # Translations in this namespace are displayed in the basic HTML discussion view. discussion: next_page_button: => core.ref.next_page - previous_page_button: 上一页 + previous_page_button: => core.ref.previous_page + + # Translations in this namespace are displayed when Flarum encounters an error. + error: + 403_message: 你好像不能访问这个页面。 + 404_message: 你访问的页面不存在。 + 404_return_link: "返回 {forum}" + 500_message: 加载页面时发生了错误,请稍后再试。 + 503_message: "{forum} 正在维护,请稍后再来。" # Translations in this namespace are displayed by the basic HTML discussion index. index: all_discussions_heading: => core.ref.all_discussions next_page_button: => core.ref.next_page + previous_page_button: => core.ref.previous_page + + # Translations in this namespace are displayed by the Log Out confirmation interface. + log_out: + log_out_button: => core.ref.log_out + log_out_confirmation: "你确定要退出登录 {forum} 吗?" + title: => core.ref.log_out # Translations in this namespace are displayed by the Reset Password interface. - reset: - confirm_password_label: => core.ref.confirm_password - password_label: => core.ref.password - submit_button: 重置密码 + reset_password: + confirm_password_label: 确认新密码 + new_password_label: 新密码 + submit_button: => core.ref.save_changes title: => core.ref.reset_your_password # Translations in this namespace are used in messages output by the API. api: - invalid_username_message: "用户名只能含有字母、数字、连字符" + invalid_username_message: "用户名只能包含字母、数字、连字符。" # Translations in this namespace are used in emails sent by the forum. email: @@ -467,27 +488,25 @@ core: body: | 嘿~ - {username} 想通过这个邮箱在 {forum} 注册账号。(但愿是你!) - - 如果是你注册的,只需打开下面的链接即可完成账号激活。 + {username} 想通过这个邮箱在 {forum} 注册账号。(但愿是你本人!) + 如果是你注册的,只需点击下面的链接即可完成账号激活: {url} 如果你感到莫名其妙,请忽略这封邮件。 # These translations are used in emails sent when users change their email address. confirm_email: - subject: 确认邮箱地址 + subject: 确认你的新邮箱地址 body: | Hey {username} ! - 有人想更换你在 {forum} 的邮箱地址。(但愿是你!) - - 如果确定是你的操作,只需打开下面的链接即可更换新的邮箱。 + 有人想更换你在 {forum} 的邮箱地址为当前邮箱。(但愿是你本人!) + 如果确定是你的操作,只需点击下面的链接即可更换新的邮箱: {url} - 如果不是你,请立即检查账号安全并修改密码。 + 如果不是你,请忽略这封邮件。 # These translations are used in emails sent when users ask to reset their passwords. reset_password: @@ -495,10 +514,9 @@ core: body: | Hey {username} ! - 有人想要重置你在 {forum} 的登入密码。(但愿是你!) - - 如果确定是你的操作,只需打开下面的链接即可完成重置密码。 + 有人想要重置你在 {forum} 的登录密码。(但愿是你本人!) + 如果确定是你的操作,只需点击下面的链接即可完成重置密码: {url} 如果不是你,请忽略掉它,我们不会受理这个操作。 @@ -508,47 +526,55 @@ core: ## # Translations in this namespace are referenced by two or more unique keys. - ref: all_discussions: 所有话题 change_email: 更换邮箱 change_password: 更改密码 + color: 颜色 # Referenced by flarum-tags.yml confirm_password: 确认密码 - confirmation_email_sent: "我们已经发送了一封邮件至 {email},请打开它并完成账号激活。" + confirmation_email_sent: "我们已经发送了一封邮件至 {email}。如果没收到,请检查你的垃圾邮件文件夹。" + custom_footer_text: 添加要显示在页面底部的 HTML 内容。 + custom_footer_title: 编辑自定义页脚 + custom_header_text: "添加要显示在页面最顶部的 HTML 内容。将显示在 Flarum 的导航栏上方。" + custom_header_title: 编辑自定义页头 delete: 删除 delete_forever: 永久删除 - discussions: 话题 + discussions: 话题 # Referenced by flarum-statistics.yml edit: 编辑 - email: 邮箱 - load_more: 载入更多 - log_in: 登入 - log_out: 登出 + email: 电子邮箱 + load_more: 加载更多 + log_in: 登录 + log_out: 退出登录 mark_all_as_read: 标记所有为已读 next_page: 下一页 notifications: 消息通知 - okay: 完成 # Referenced by flarum-tags.yml + okay: 确认 # Referenced by flarum-tags.yml password: 密码 + posts: 内容 # Referenced by flarum-statistics.yml + previous_page: 上一页 + remove: 移除 rename: 更改标题 - reply: 回复 # Referenced by flarum-mentions.yml + reply: 回复 # Referenced by flarum-mentions.yml reset_your_password: 重置密码 - restore: 恢复 - save_changes: 保存更改 # Referenced by flarum-suspend.yml, flarum-tags.yml + restore: 还原 + save_changes: 保存更改 # Referenced by flarum-suspend.yml, flarum-tags.yml settings: 个人设置 sign_up: 注册 - start_a_discussion: 新的话题 some_others: "{count} 人|{count} 人" # Referenced by flarum-likes.yml, flarum-mentions.yml + start_a_discussion: 发布新的话题 username: 用户名 + users: 用户 # Referenced by flarum-statistics.yml write_a_reply: 说点什么... you: 你 # Referenced by flarum-likes.yml, flarum-mentions.yml - ## - # GROUP NAMES - These keys are translated at the back end. - ## + ## + # GROUP NAMES - These keys are translated at the back end. + ## # Translations in this namespace are used to translate default group names. group: - admin: 创建者 - admins: 创建组 + admin: 超级管理员 + admins: 超级管理组 guest: 游客 guests: 游客组 member: 用户 diff --git a/locale/flarum-akismet.yml b/locale/flarum-akismet.yml old mode 100644 new mode 100755 index a71079f..9703c24 --- a/locale/flarum-akismet.yml +++ b/locale/flarum-akismet.yml @@ -19,3 +19,4 @@ flarum-akismet: post: akismet_flagged_text: Akismet 标记为垃圾内容 not_spam_button: 非垃圾 + diff --git a/locale/flarum-approval.yml b/locale/flarum-approval.yml old mode 100644 new mode 100755 index 44938f5..e1cf845 --- a/locale/flarum-approval.yml +++ b/locale/flarum-approval.yml @@ -11,7 +11,7 @@ flarum-approval: permissions: approve_posts_label: 审核内容 reply_without_approval_label: 回复无需审核 - start_discussions_without_approval_label: 话题无需审核 + start_discussions_without_approval_label: 发表话题无需审核 # Translations in this namespace are used by the forum user interface. forum: @@ -34,4 +34,4 @@ flarum-approval: # Translations in this namespace are referenced by two or more unique keys. ref: - awaiting_approval: 等待审核中 \ No newline at end of file + awaiting_approval: 等待审核中 diff --git a/locale/flarum-auth-facebook.yml b/locale/flarum-auth-facebook.yml old mode 100644 new mode 100755 index fac06a9..e4ce2d9 --- a/locale/flarum-auth-facebook.yml +++ b/locale/flarum-auth-facebook.yml @@ -18,4 +18,4 @@ flarum-auth-facebook: # These translations are used in the Log In modal dialog. log_in: - with_facebook_button: 使用 Facebook 登入 \ No newline at end of file + with_facebook_button: 使用 Facebook 登录 diff --git a/locale/flarum-auth-github.yml b/locale/flarum-auth-github.yml old mode 100644 new mode 100755 index e56c418..6f162fb --- a/locale/flarum-auth-github.yml +++ b/locale/flarum-auth-github.yml @@ -18,4 +18,4 @@ flarum-auth-github: # These translations are used in the Log In modal dialog. log_in: - with_github_button: 使用 GitHub 登入 \ No newline at end of file + with_github_button: 使用 GitHub 登录 diff --git a/locale/flarum-auth-twitter.yml b/locale/flarum-auth-twitter.yml old mode 100644 new mode 100755 index 88e4ee7..8d7b75f --- a/locale/flarum-auth-twitter.yml +++ b/locale/flarum-auth-twitter.yml @@ -18,4 +18,4 @@ flarum-auth-twitter: # These translations are used in the Log In modal dialog. log_in: - with_twitter_button: 使用 Twitter 登入 \ No newline at end of file + with_twitter_button: 使用 Twitter 登录 diff --git a/locale/flarum-emoji.yml b/locale/flarum-emoji.yml new file mode 100755 index 0000000..aa5541b --- /dev/null +++ b/locale/flarum-emoji.yml @@ -0,0 +1,13 @@ +flarum-emoji: + + ## + # UNIQUE KEYS - The following keys are used in only one location each. + ## + + # Translations in this namespace are used by the forum user interface. + forum: + + # These translations are used by the composer (emoji autocompletion function). + composer: + emoji_tooltip: 插入 emoji 表情 + type_to_search_text: 搜索 emoji 表情 diff --git a/locale/flarum-flags.yml b/locale/flarum-flags.yml old mode 100644 new mode 100755 index 585a945..da2b413 --- a/locale/flarum-flags.yml +++ b/locale/flarum-flags.yml @@ -1,4 +1,9 @@ flarum-flags: + ## + # 此处的 Flag 代表的是需要处理的事情,包括举报、审核。 + # 我会根据不同的情况,翻译成相应的比较合适的词语。如果有误,请指出,谢谢。 + # ---- genment 2018年12月05日,当前版本 0.1.0-beta.8 + ## ## # UNIQUE KEYS - The following keys are used in only one location each. @@ -9,53 +14,53 @@ flarum-flags: # These translations are used in the Permissions page of the admin interface. permissions: - flag_posts_label: 发起报告 - view_flags_label: 查看报告 + flag_posts_label: 发起举报 + view_flags_label: 查看被举报的内容 # These translations are used in the Flags Settings modal dialog. settings: guidelines_url_label: 社区规则 URL - title: 报告设置 + title: 举报设置 # Translations in this namespace are used by the forum user interface. forum: # These translations are used by the Flag Post modal dialog. flag_post: - confirmation_message: 谢谢你的提醒,我们很快会处理。 + confirmation_message: 感谢你的举报,我们将尽快处理。 dismiss_button: => core.ref.okay reason_inappropriate_label: 不恰当的言辞 - reason_inappropriate_text: "内容的言辞不恰当 或违反了社区规则" + reason_inappropriate_text: "内容的言辞不恰当,辱骂、冒犯他人,或违反了我们的社区规则。" reason_off_topic_label: "主题分类不当" - reason_off_topic_text: 内容与主题分类不一致 应当移动到其它地方 + reason_off_topic_text: 该话题与所在的话题分类不一致,应当发表到其他相应的分类中。 reason_other_label: 其它原因 reason_spam_label: 无意义的内容 - reason_spam_text: 这些内容没有太多的意义 + reason_spam_text: 对该话题毫无帮助、纯灌水、广告等等。 submit_button: => flarum-flags.ref.flag_post title: => flarum-flags.ref.flag_post # These translations are used by the Flagged Posts dropdown, a.k.a. "the flag". flagged_posts: - empty_text: 没有新报告 - item_text: "{username} 在 {discussion}" + empty_text: 没有待处理的报告 + item_text: "{username} 发表于 {discussion}" title: => flarum-flags.ref.flagged_posts tooltip: => flarum-flags.ref.flagged_posts # These translations are used by the frame displayed around flagged posts. post: - dismiss_flag_button: 忽略报告 - flagged_by_text: "由 {username} 报告" - flagged_by_with_reason_text: "{username} 报告了 {reason}" + dismiss_flag_button: 忽略该报告 + flagged_by_text: "由 {username} 举报" + flagged_by_with_reason_text: "{username} 举报为 {reason}" # These translations are used by the post control buttons. post_controls: - flag_button: 报告 + flag_button: 举报 ## - # REUSED STRINGS - These keys should not be used directly in code! + # REUSED TRANSLATIONS - These keys should not be used directly in code! ## # Translations in this namespace are referenced by two or more unique keys. ref: - flag_post: 报告 - flagged_posts: 内容报告 + flag_post: 举报 + flagged_posts: 待处理的报告 diff --git a/locale/flarum-likes.yml b/locale/flarum-likes.yml old mode 100644 new mode 100755 index c1341db..6eaeb08 --- a/locale/flarum-likes.yml +++ b/locale/flarum-likes.yml @@ -17,13 +17,13 @@ flarum-likes: # These translations are used by the Notifications dropdown, a.k.a. "the bell". notifications: others_text: => core.ref.some_others - post_liked_text: "{username} 赞了你" # Can be pluralized to agree with the number of users! + post_liked_text: "{username} 赞了你。" # Can be pluralized to agree with the number of users! # These translations are displayed beneath individual posts. post: like_link: 点赞 - liked_by_self_text: "{users} 赞了" # Can be pluralized to agree with the number of users! - liked_by_text: "{users} 赞了|{users} 赞了" + liked_by_self_text: "{users} 赞了。" # Can be pluralized to agree with the number of users! + liked_by_text: "{users} 赞了。|{users} 赞了。" others_link: => core.ref.some_others unlike_link: 取消赞 you_text: => core.ref.you @@ -34,4 +34,4 @@ flarum-likes: # These translations are used in the Settings page. settings: - notify_post_liked_label: 有人点赞我的内容 + notify_post_liked_label: 有人点赞了我的内容 diff --git a/locale/flarum-lock.yml b/locale/flarum-lock.yml old mode 100644 new mode 100755 index 58de2f4..c008b97 --- a/locale/flarum-lock.yml +++ b/locale/flarum-lock.yml @@ -16,7 +16,7 @@ flarum-lock: # These translations are displayed as tooltips for discussion badges. badge: - locked_tooltip: 锁定 + locked_tooltip: 已被锁定 # These translations are used by the discussion control buttons. discussion_controls: @@ -29,9 +29,9 @@ flarum-lock: # These translations are displayed between posts in the post stream. post_stream: - discussion_locked_text: "{username} 锁定了话题" - discussion_unlocked_text: "{username} 解锁了话题" + discussion_locked_text: "{username} 锁定了话题。" + discussion_unlocked_text: "{username} 解锁了话题。" # These translations are used in the Settings page. settings: - notify_discussion_locked_label: 我的话题被锁定 + notify_discussion_locked_label: 我发起的话题被锁定了 diff --git a/locale/flarum-markdown.yml b/locale/flarum-markdown.yml new file mode 100755 index 0000000..8f2157d --- /dev/null +++ b/locale/flarum-markdown.yml @@ -0,0 +1,19 @@ +flarum-markdown: + + ## + # UNIQUE KEYS - The following keys are used in only one location each. + ## + + # Translations in this namespace are used by the forum user interface. + forum: + + # These translations are used by the composer (emoji autocompletion function). + composer: + bold_tooltip: 添加粗体文字 + code_tooltip: 插入代码 + header_tooltip: 添加标题文字 + italic_tooltip: 添加斜体文字 + link_tooltip: 添加链接 + ordered_list_tooltip: 添加有序列表 + quote_tooltip: 插入引用 + unordered_list_tooltip: 添加无序列表 diff --git a/locale/flarum-mentions.yml b/locale/flarum-mentions.yml old mode 100644 new mode 100755 index 9650c0c..60d3dba --- a/locale/flarum-mentions.yml +++ b/locale/flarum-mentions.yml @@ -9,6 +9,7 @@ flarum-mentions: # These translations are used by the composer (reply autocompletion function). composer: + mention_tooltip: "@用户或者回复指定内容" reply_to_post_text: "回复 #{number}" # These translations are used by the Notifications dropdown, a.k.a. "the bell". @@ -19,8 +20,8 @@ flarum-mentions: # These translations are displayed beneath individual posts. post: - mentioned_by_self_text: "{users} 回复了它" # Can be pluralized to agree with the number of users! - mentioned_by_text: "{users} 回复了它" # Can be pluralized to agree with the number of users! + mentioned_by_self_text: "{users} 回复了此内容。" # Can be pluralized to agree with the number of users! + mentioned_by_text: "{users} 回复了此内容。" # Can be pluralized to agree with the number of users! others_text: => core.ref.some_others quote_button: 引用 reply_link: => core.ref.reply @@ -33,4 +34,4 @@ flarum-mentions: # These translations are used in the user profile page and profile popup. user: - mentions_link: 提到用户 \ No newline at end of file + mentions_link: 被提到 diff --git a/locale/flarum-pusher.yml b/locale/flarum-pusher.yml old mode 100644 new mode 100755 diff --git a/locale/flarum-statistics.yml b/locale/flarum-statistics.yml new file mode 100755 index 0000000..fe14be8 --- /dev/null +++ b/locale/flarum-statistics.yml @@ -0,0 +1,20 @@ +flarum-statistics: + + ## + # UNIQUE KEYS - The following keys are used in only one location each. + ## + + # Translations in this namespace are used by the admin interface. + admin: + + # These translations are used in the Statistics dashboard widget. + statistics: + active_users_text: "{count} 个活跃用户" + discussions_heading: => core.ref.discussions + last_12_months_label: 最近 12 个月 + last_28_days_label: 最近 28 天 + last_7_days_label: 最近 7 天 + posts_heading: => core.ref.posts + today_label: 今天 + total_label: 总数 + users_heading: => core.ref.users diff --git a/locale/flarum-sticky.yml b/locale/flarum-sticky.yml old mode 100644 new mode 100755 index 75ae8b9..ee98b3c --- a/locale/flarum-sticky.yml +++ b/locale/flarum-sticky.yml @@ -20,16 +20,16 @@ flarum-sticky: # These translations are used by the discussion control buttons. discussion_controls: - sticky_button: 置顶话题 + sticky_button: => flarum-sticky.ref.sticky unsticky_button: 取消置顶 # These translations are displayed between posts in the post stream. post_stream: - discussion_stickied_text: "{username} 置顶了话题" - discussion_unstickied_text: "{username} 取消置顶话题" + discussion_stickied_text: "{username} 置顶了话题。" + discussion_unstickied_text: "{username} 取消置顶话题。" ## - # REUSED STRINGS - These keys should not be used directly in code! + # REUSED TRANSLATIONS - These keys should not be used directly in code! ## # Translations in this namespace are referenced by two or more unique keys. diff --git a/locale/flarum-subscriptions.yml b/locale/flarum-subscriptions.yml old mode 100644 new mode 100755 index d1d1592..faf3876 --- a/locale/flarum-subscriptions.yml +++ b/locale/flarum-subscriptions.yml @@ -28,27 +28,27 @@ flarum-subscriptions: # These translations are used in the Settings page. settings: - follow_after_reply_label: 自动关注我回复的话题 - notify_new_post_label: 关注的话题被回复 + follow_after_reply_label: 自动关注我回复过的话题 + notify_new_post_label: 我关注的话题有新的回复 # These translations are used in the subscription menu displayed to the right of the post stream. sub_controls: follow_button: => flarum-subscriptions.ref.follow following_button: => flarum-subscriptions.ref.following - following_text: 当有人回复此话题时提醒我 + following_text: 当有人回复此话题时提醒我。 ignoring_button: => flarum-subscriptions.ref.ignoring - ignoring_text: 不接收任何提醒并隐藏话题 + ignoring_text: 不接收任何提醒,并隐藏该话题。(除非知道链接,否则将再也看不到该话题) not_following_button: 常规 - not_following_text: "仅在有人@提到我时提醒我" - notify_alert_tooltip: 有新回复时通知提醒 - notify_email_tooltip: 有新回复时发送邮件 + not_following_text: "仅在有人@提到我时提醒我。" + notify_alert_tooltip: 有新回复时通过站内通知提醒 + notify_email_tooltip: 有新回复时发送邮件提醒 ## - # REUSED STRINGS - These keys should not be used directly in code! + # REUSED TRANSLATIONS - These keys should not be used directly in code! ## # Translations in this namespace are referenced by two or more unique keys. ref: follow: 关注 following: 关注 - ignoring: 忽视 \ No newline at end of file + ignoring: 忽视 diff --git a/locale/flarum-suspend.yml b/locale/flarum-suspend.yml old mode 100644 new mode 100755 index a469033..16d8c32 --- a/locale/flarum-suspend.yml +++ b/locale/flarum-suspend.yml @@ -9,25 +9,29 @@ flarum-suspend: # These translations are used in the Permissions page of the admin interface. permissions: - suspend_users_label: 冻结用户 + suspend_users_label: 禁言用户 # Translations in this namespace are used by the forum user interface. forum: + # These translations are used in the suspension notifications + notifications: + user_suspended_text: "{username} 将你禁言 {timeReadable}。" + user_unsuspended_text: "{username} 将你解除禁言。" # These translations are used in the Suspend User modal dialog (admin function). suspend_user: - indefinitely_label: 永久冻结 - limited_time_label: 自定义时间 + indefinitely_label: 永久禁言 limited_time_days_text: " 天" - not_suspended_label: 不冻结 - status_heading: 冻结用户状态 + limited_time_label: 自定义时间... + not_suspended_label: 不禁言 + status_heading: 禁言状态 submit_button: => core.ref.save_changes - title: "冻结 {username}" + title: "对 {username} 禁言" # These translations are displayed as tooltips for user badges. user_badge: - suspended_tooltip: 冻结 + suspended_tooltip: 该用户已被禁言 # These translations are found on the user profile page (admin function). user_controls: - suspend_button: 冻结 \ No newline at end of file + suspend_button: 禁言 diff --git a/locale/flarum-tags.yml b/locale/flarum-tags.yml old mode 100644 new mode 100755 index 790408c..84a5fb3 --- a/locale/flarum-tags.yml +++ b/locale/flarum-tags.yml @@ -13,11 +13,11 @@ flarum-tags: # These translations are used in the Edit Tag modal dialog. edit_tag: - color_label: 颜色 + color_label: => core.ref.color delete_tag_button: 删除分类 delete_tag_confirmation: "你确定删除这个分类吗?删除后该分类中的话题不会被删除。" description_label: 描述 - hide_label: 首页所有话题中隐藏 + hide_label: 在首页所有话题中隐藏 name_label: => flarum-tags.ref.name name_placeholder: => flarum-tags.ref.name slug_label: URL @@ -26,14 +26,14 @@ flarum-tags: # These translations are used in the navigation bar. nav: - tags_button: 节点标签 + tags_button: => flarum-tags.ref.tags tags_text: 管理站点的节点与标签列表。 # These translations are used in the Permissions page of the admin interface. permissions: allow_edit_tags_label: 允许修改分类 - restrict_by_tag_heading: 单个分类 - tag_discussions_label: 修改分类 + restrict_by_tag_heading: 按分类设置权限 + tag_discussions_label: 修改话题的分类 # These translations are used in the Tag Settings modal dialog. tag_settings: @@ -46,7 +46,7 @@ flarum-tags: # These translations are used in the Tags page. tags: - about_tags_text: 节点与标签用于话题的分类。节点类似于传统论坛的版块,它们可以有两个结构层次。标签没有结构层次,常作为微型话题分类的关键词。 + about_tags_text: "节点与标签用于话题的分类。节点类似于传统论坛的版块,它们可以有两个结构层次。标签没有结构层次,常作为微型话题分类的关键词。" create_tag_button: => flarum-tags.ref.create_tag primary_heading: 节点 secondary_heading: 标签 @@ -71,27 +71,30 @@ flarum-tags: discussion_controls: edit_tags_button: 修改分类 + header: + back_to_tags_tooltip: 返回分类列表 + # These translations are used on the index page, peripheral to the discussion list. index: more_link: 更多... tags_link: => flarum-tags.ref.tags - untagged_link: 移除分类 + untagged_link: 取消分类 # These translations are displayed between posts in the post stream. post_stream: - added_tags_text: "{username} 添加到 {tagsAdded}" - added_and_removed_tags_text: "{username} 添加到 {tagsAdded} 并从 {tagsRemoved} 移除" - removed_tags_text: "{username} 从 {tagsRemoved} 移除" + added_and_removed_tags_text: "{username} 将话题添加到 {tagsAdded},并从 {tagsRemoved}中移除。" + added_tags_text: "{username} 将话题添加到 {tagsAdded}。" + removed_tags_text: "{username} 将话题从 {tagsRemoved}中移除。" tags_text: "{tags} 分类|{tags} 分类" # Translations in this namespace are used by the forum and admin interfaces. lib: - # This translation displayed in place of the name of a tag that's been deleted. + # This translation is displayed in place of the name of a tag that's been deleted. deleted_tag_text: 已删除 ## - # REUSED STRINGS - These keys should not be used directly in code! + # REUSED TRANSLATIONS - These keys should not be used directly in code! ## # Translations in this namespace are referenced by two or more unique keys. diff --git a/locale/validation.yml b/locale/validation.yml old mode 100644 new mode 100755 index d504ca3..e2c00a1 --- a/locale/validation.yml +++ b/locale/validation.yml @@ -1,74 +1,96 @@ validation: - accepted: ":attribute 未被选择接受" - active_url: "此 :attribute 不是有效的URL地址" - after: ":attribute 只能是 :date 后的日期" - after_or_equal: ":attribute 只能是 :date 后的日期" - alpha: ":attribute 只能是字母" - alpha_dash: ":attribute 只能有字母、数字或连字符" - alpha_num: ":attribute 只能是字母或数字" - array: ":attribute 只能是一个数字" - before: ":attribute 只能是 :date 前的日期" - before_or_equal: ":attribute 只能是 :date 前的日期" + accepted: "必须接受 :attribute 。" + active_url: ":attribute 不是有效的 URL" + after: ":attribute 必须在日期 :date 之后。" + after_or_equal: ":attribute 必须是日期 :date 或之后。" + alpha: ":attribute 只能是字母。" + alpha_dash: ":attribute 只能是字母、数字、连字符或下划线。" + alpha_num: ":attribute 只能是字母或数字。" + array: ":attribute 必须是数组。" # TODO: 不清楚上下文,不好翻译 array,原翻译为『数字』。 + before: ":attribute 必须在日期 :date 之前。" + before_or_equal: ":attribute 必须是日期 :date 或之前。" between: - numeric: ":attribute 只能在 :min 与 :max 之间" - file: ":attribute 只能在 :minKB 至 :maxKB内" - string: ":attribute 只能在 :min 至 :max 个字符内" - array: ":attribute 只能在 :min 至 :max 个内" - boolean: ":attribute 只能选择 true 或 false" - confirmed: ":attribute 不匹配" - date: ":attribute 不是有效的日期" - date_format: ":attribute 与格式 :other 不匹配" - different: ":attribute 与 :other 不一致" - digits: ":attribute 只能是 :digits 位数" - digits_between: ":attribute 只能是 :min 至 :max 位数" - dimensions: ":attribute 图片尺寸无效" - distinct: ":attribute 是一个重复的值" - email: ":attribute 必须是有效的" - exists: "选择的 :attribute 无效" - file: ":attribute 必须是个有效文件" - filled: ":attribute 必须是个有效值" - image: ":attribute 只能是图像" - in: "选择的 :attribute 无效" - in_array: ":attribute 在 :other 中不存在" - integer: ":attribute 只能是一个整数" - ip: ":attribute 必须是有效的 IP 地址" - ipv4: ":attribute 必须是有效的 IPv4 地址" - ipv6: ":attribute 必须是有效的 IPv6 地址" - json: ":attribute 必须是有效的 JSON 字符串" + numeric: ":attribute 必须在 :min 和 :max 之间。" + file: ":attribute 必须在 :min KB 至 :max KB 内。" + string: ":attribute 必须在 :min 至 :max 个字符内。" + array: ":attribute 必须有 :min 至 :max 个项目。" + boolean: ":attribute 必须是 true 或 false。" + confirmed: ":attribute 不匹配。" + date: ":attribute 不是有效的日期。" + date_format: ":attribute 不符合 :other 的格式。" + different: ":attribute 和 :other 不能一样。" + digits: ":attribute 必须是 :digits 位数字。" + digits_between: ":attribute 必须是 :min 至 :max 位数字。" + dimensions: ":attribute 图片尺寸无效。" + distinct: ":attribute 存在重复值。" + email: ":attribute 必须是一个有效的地址。" + exists: "所选的 :attribute 无效。" + file: ":attribute 必须是一个有效的文件。" + filled: ":attribute 必须是个有效值。" + gt: + numeric: ":attribute 必须大于 :value。" + file: ":attribute 必须大于 :value KB。" + string: ":attribute 必须有 :value 个字符以上。" + array: ":attribute 必须包含 :value 个项目以上。" + gte: + numeric: ":attribute 必须大于或等于 :value。" + file: ":attribute 必须大于或等于 :value KB。" + string: ":attribute 必须包含 :value 或以上个字符。" + array: ":attribute 必须包含 :value 或以上个项目。" + image: ":attribute 必须是有效的图片。" + in: "所选的 :attribute 无效。" + in_array: ":attribute 不存在于 :other 中。" + integer: ":attribute 必须是一个整数。" + ip: ":attribute 必须是一个有效的 IP 地址。" + ipv4: ":attribute 必须是一个有效的 IPv4 地址。" + ipv6: ":attribute 必须是一个有效的 IPv6 地址。" + json: ":attribute 必须是一个有效的 JSON 字符串。" + lt: + numeric: ":attribute 必须小于 :value。" + file: ":attribute 必须小于 :value KB。" + string: ":attribute 必须少于 :value 个字符。" + array: ":attribute 必须少于 :value 个项目。" + lte: + numeric: ":attribute 必须小于或等于 :value。" + file: ":attribute 必须小于或等于 :value KB。" + string: ":attribute 不能超过 :value 个字符。" + array: ":attribute 不能超过 :value 个项目。" max: - numeric: ":attribute 不能超过 :max." - file: ":attribute 不能大于 :maxKB" - string: ":attribute 不能超过 :max 个字符" - array: ":attribute 不能超过 :max 个" - mimes: ":attribute 文件类型必须是 :values" - mimetypes: ":attribute 文件类型只能是 :values." + numeric: ":attribute 不能大于 :max。" + file: ":attribute 不能大于 :max KB。" + string: ":attribute 不能超过 :max 个字符。" + array: ":attribute 不能超过 :max 个项目。" + mimes: ":attribute 文件类型必须是: :values." + mimetypes: ":attribute 文件类型必须是: :values." min: - numeric: ":attribute 至少是 :min." - file: ":attribute 至少有 :minKB" - string: ":attribute 至少有 :min 个字符" - array: ":attribute 至少有 :min 个" - not_in: "选择的 :attribute 无效" - numeric: ":attribute 只能是一个数字" - present: ":attribute 必须存在一个值" - regex: ":attribute 格式无效" - required: "没有:attribute" - required_if: "当 :other 为 :value 时 :attribute 必须完整" + numeric: ":attribute 至少是 :min。" + file: ":attribute 至少有 :min KB。" + string: ":attribute 至少有 :min 个字符。" + array: ":attribute 至少有 :min 个项目。" + not_in: "所选的 :attribute 无效。" + not_regex: ":attribute 格式无效。" + numeric: ":attribute 必须是数字。" + present: ":attribute 必须存在一个值。" + regex: ":attribute 格式无效。" + required: "没有 :attribute" + required_if: "当 :other 为 :value 时, :attribute 必须完整" required_unless: ":attribute 必须存在,除非 :other 为 :values" - required_with: "当 :values 存在时 :attribute 必须完整" - required_with_all: "当 :values 存在时 :attribute 必须完整" - required_without: "当 :values 不存在时 :attribute 必须完整" - required_without_all: "当没有一个 :values 存在时 :attribute 必须完整" - same: ":attribute 与 :other 必须匹配" + required_with: "当 :values 存在时, :attribute 必须完整" + required_with_all: "当 :values 存在时, :attribute 必须完整" + required_without: "当 :values 不存在时, :attribute 必须完整" + required_without_all: "当没有一个 :values 存在时, :attribute 必须完整" + same: ":attribute 与 :other 必须匹配。" size: - numeric: ":attribute 只能有 :size." - file: ":attribute 只能有 :sizeKB" - string: ":attribute 只能有 :size 个字符" - array: ":attribute 只能有 :size 个" - string: ":attribute 必须是一个字符串" - timezone: ":attribute 必须是有效的" - unique: ":attribute 已经存在" - uploaded: ":attribute 上传失败" - url: ":attribute 格式无效" + numeric: ":attribute 必须是 :size。" + file: ":attribute 必须是 :size KB。" + string: ":attribute 必须是 :size 个字符。" + array: ":attribute 必须包含 :size 个。" + string: ":attribute 必须是一个字符串。" + timezone: ":attribute 必须是有效的时区。" + unique: ":attribute 已经存在。" + uploaded: ":attribute 上传失败。" + url: ":attribute 格式无效。" + uuid: ":attribute 必须是有效的 UUID。" attributes: username: 用户名