diff --git a/database/seeds/SettingsSeeder.php b/database/seeds/SettingsSeeder.php index 5d31ab36d..552168533 100644 --- a/database/seeds/SettingsSeeder.php +++ b/database/seeds/SettingsSeeder.php @@ -123,6 +123,7 @@ public function run() $language_options = json_encode([ 'de' => 'Deutsch (German)', 'en' => 'English', + 'cn' => '简体中文 (Simplified Chinese)', 'fi' => 'Suomi (Finnish)', 'fr' => 'Français (French)', 'el' => 'Ελληνικά (Greek)', diff --git a/readme.md b/readme.md index e3242f91d..64aa65494 100644 --- a/readme.md +++ b/readme.md @@ -91,6 +91,7 @@ Currently added languages are - Spanish - Turkish - Russian +- Chinese ## Web Server Configuration diff --git a/resources/lang/cn/app.php b/resources/lang/cn/app.php index 2e15e7d0d..6864557e0 100644 --- a/resources/lang/cn/app.php +++ b/resources/lang/cn/app.php @@ -11,7 +11,9 @@ 'settings.system' => '系统', 'settings.appearance' => '外观', - 'settings.miscellaneous' => '其他', + 'settings.miscellaneous' => '杂项', + 'settings.advanced' => '高级', + 'settings.support' => '支持', 'settings.donate' => '捐赠', @@ -25,7 +27,7 @@ 'settings.search_provider' => '默认搜索引擎', 'settings.language' => '语言', 'settings.reset' => '重置为默认值', - 'settings.remove' => '删除', + 'settings.remove' => '移除', 'settings.search' => '搜索', 'settings.no_items' => '没有可用项目', @@ -34,12 +36,16 @@ 'settings.edit' => '编辑', 'settings.view' => '查看', + 'settings.custom_css' => '自定义 CSS', + 'settings.custom_js' => '自定义 JavaScript', + 'options.none' => '- 未设置 -', 'options.google' => 'Google', + 'options.baidu' => '百度', 'options.ddg' => 'DuckDuckGo', 'options.bing' => 'Bing', 'options.qwant' => 'Qwant', - 'options.startpage' => 'StartPage', + 'options.startpage' => '起始页', 'options.yes' => '是', 'options.no' => '否', 'options.nzbhydra' => 'NZBHydra', @@ -51,11 +57,11 @@ 'buttons.upload' => '上传图标', 'buttons.downloadapps' => '更新应用列表', - 'dash.pin_item' => '将应用固定到仪表盘', - 'dash.no_apps' => '当前没有固定的应用, 请 :link1 或 :link2', + 'dash.pin_item' => '固定应用到仪表盘', + 'dash.no_apps' => '当前没有固定的应用, :link1 或 :link2', 'dash.link1' => '添加应用', 'dash.link2' => '将应用固定到仪表盘', - 'dash.pinned_items' => '固定应用', + 'dash.pinned_items' => '已固定应用', 'apps.app_list' => '应用列表', 'apps.view_trash' => '查看垃圾箱', @@ -65,12 +71,12 @@ 'apps.icon' => '图标', 'apps.pinned' => '固定', 'apps.title' => '标题', - 'apps.hex' => 'Hex颜色', - 'apps.username' => '用户名称', + 'apps.hex' => 'Hex色值', + 'apps.username' => '用户名', 'apps.password' => '密码', 'apps.config' => '配置', 'apps.apikey' => 'API 密钥', - 'apps.enable' => 'Enable', + 'apps.enable' => '开启', 'apps.tag_list' => '标签列表', 'apps.add_tag' => '添加标签', 'apps.tag_name' => '标签名称', @@ -78,41 +84,46 @@ 'apps.override' => '如果与主链接不同', 'apps.preview' => '预览', 'apps.apptype' => '应用类型', + 'apps.website' => '网址', + 'apps.description' => '描述', + 'apps.only_admin_account' => '您必须拥有管理员账户!', + 'apps.autologin_url' => '自动登录网址', + 'apps.show_deleted' => '显示已移除的应用', - 'dashboard' => '主页-控制台', + 'dashboard' => '仪表盘', 'user.user_list' => '用户', - 'user.add_user' => '添加用户', - 'user.username' => '用户名称', + 'user.add_user' => '增加用户', + 'user.username' => '用户名', 'user.avatar' => '头像', - 'user.email' => '邮箱地址', - 'user.password_confirm' => '重复密码', - 'user.secure_front' => '仅设置密码后才允许公开访问.', - 'user.autologin' => '仅可从特定的链接访问(任何通过链接都可访问).', + 'user.email' => '邮箱', + 'user.password_confirm' => '确认密码', + 'user.secure_front' => '允许公开访问 - 仅在设置密码时有效', + 'user.autologin' => '允许从特定链接进入 - 任何拥有链接的人均可访问', - 'url' => '链接', + 'url' => '网址', 'title' => '标题', - 'delete' => '删除', + 'delete' => '移除', 'optional' => '可选', - 'restore' => '复位', - - 'alert.success.item_created' => '应用添加成功', - 'alert.success.item_updated' => '应用更新成功', - 'alert.success.item_deleted' => '应用删除成功', - 'alert.success.item_restored' => '应用复位成功', - 'alert.success.updating' => '更新应用列表完成', - - 'alert.success.tag_created' => '标签添加成功', - 'alert.success.tag_updated' => '标签更新成功', - 'alert.success.tag_deleted' => '标签删除成功', - 'alert.success.tag_restored' => '标签复位成功', - - 'alert.success.setting_updated' => '你已成功编辑此设置', - 'alert.error.not_exist' => '此设置项不存在.', - - 'alert.success.user_created' => '用户添加成功', - 'alert.success.user_updated' => '用户更新成功', - 'alert.success.user_deleted' => '用户删除成功', - 'alert.success.user_restored' => '用户复位成功', + 'restore' => '恢复', + + 'alert.success.item_created' => '应用创建成功', + 'alert.success.item_updated' => '应用修改成功', + 'alert.success.item_deleted' => '应用移除成功', + 'alert.success.item_restored' => '应用恢复成功', + 'alert.success.updating' => '应用列表升级中...', + + 'alert.success.tag_created' => '标签创建成功', + 'alert.success.tag_updated' => '标签修改成功', + 'alert.success.tag_deleted' => '标签移除成功', + 'alert.success.tag_restored' => '标签恢复成功', + + 'alert.success.setting_updated' => '您成功编辑了此设置', + 'alert.error.not_exist' => '此设置项不存在', + + 'alert.success.user_created' => '用户创建成功', + 'alert.success.user_updated' => '用户修改成功', + 'alert.success.user_deleted' => '用户移除成功', + 'alert.success.user_restored' => '用户恢复成功', ]; diff --git a/resources/lang/cn/auth.php b/resources/lang/cn/auth.php new file mode 100644 index 000000000..165fbd557 --- /dev/null +++ b/resources/lang/cn/auth.php @@ -0,0 +1,19 @@ + '此凭据无效,请重试。', + 'throttle' => '登录尝试次数过多. 请等待 :seconds 秒后重试.', + +]; diff --git a/resources/lang/cn/pagination.php b/resources/lang/cn/pagination.php new file mode 100644 index 000000000..4e8dea7c7 --- /dev/null +++ b/resources/lang/cn/pagination.php @@ -0,0 +1,19 @@ + '« 上一页', + 'next' => '下一页 »', + +]; diff --git a/resources/lang/cn/passwords.php b/resources/lang/cn/passwords.php new file mode 100644 index 000000000..1db51c0e1 --- /dev/null +++ b/resources/lang/cn/passwords.php @@ -0,0 +1,22 @@ + '密码必须至少包含6个字符, 且两次输入一致.', + 'reset' => '您的密码已重置!', + 'sent' => '我们已通过邮件将密码重置链接发送至您的邮箱!', + 'token' => '密码重置令牌无效.', + 'user' => "我们无法找到该邮箱对应的用户.", + +]; diff --git a/resources/lang/cn/validation.php b/resources/lang/cn/validation.php new file mode 100644 index 000000000..80fc935a2 --- /dev/null +++ b/resources/lang/cn/validation.php @@ -0,0 +1,121 @@ + '必须同意 :attribute.', + 'active_url' => ':attribute 不是一个有效的网址.', + '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 或在其之前.', + 'between' => [ + 'numeric' => ':attribute 必须在 :min 到 :max 之间.', + 'file' => ':attribute 必须在 :min 到 :max 千字节 之间.', + 'string' => ':attribute 必须在 :min 到 :max 个字符 之间.', + 'array' => ':attribute 必须在 :min 到 :max 个项 之间.', + ], + 'boolean' => ':attribute 只能是真或假.', + 'confirmed' => ':attribute 确认不匹配.', + 'date' => ':attribute 是无效日期.', + 'date_format' => ':attribute 不符合 :format 的格式.', + '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 字符串.', + 'max' => [ + 'numeric' => ':attribute 不应比 :max 大.', + 'file' => ':attribute 不应比 :max 千字节 多.', + 'string' => ':attribute 不应比 :max 个字符 多.', + 'array' => ':attribute 不应有多于 :max 个项.', + ], + 'mimes' => ':attribute 必须是 :values 类型的文件.', + 'mimetypes' => ':attribute 必须是 :values 类型的文件.', + 'min' => [ + 'numeric' => ':attribute 不应比 :min 小.', + 'file' => ':attribute 不应比 :min 千字节 少.', + 'string' => ':attribute 不应比 :min 个字符 少.', + 'array' => ':attribute 不应有多于 :min 个项.', + ], + 'not_in' => '选中的 :attribute 无效.', + 'numeric' => ':attribute 只能是数字.', + 'present' => ':attribute 字段必须存在.', + 'regex' => ':attribute 格式无效.', + 'required' => ':attribute 字段必须填写.', + 'required_if' => ':attribute 字段必须填写, 因 :other 是 :value.', + 'required_unless' => ':attribute 字段必须填写, 除非 :other 在 :values 中.', + 'required_with' => ':attribute 字段必须填写, 因 :values 存在.', + 'required_with_all' => ':attribute 字段必须填写, 因 :values 存在.', + 'required_without' => ':attribute 字段必须填写, 因 :values 不存在.', + 'required_without_all' => ':attribute 字段必须填写, 因任何 :values 均不存在.', + 'same' => ':attribute 与 :other 必须相符.', + 'size' => [ + 'numeric' => ':attribute 必须是 :size.', + 'file' => ':attribute 必须是 :size 千字节.', + 'string' => ':attribute 必须是 :size 个字符.', + 'array' => ':attribute 必须包含 :size 个项.', + ], + 'string' => ':attribute 必须是字符串.', + 'timezone' => ':attribute 必须是有效时区.', + 'unique' => ':attribute 已被占用.', + 'uploaded' => ':attribute 上传失败.', + 'url' => ':attribute 格式无效.', + + /* + |-------------------------------------------------------------------------- + | Custom Validation Language Lines + |-------------------------------------------------------------------------- + | + | Here you may specify custom validation messages for attributes using the + | convention "attribute.rule" to name the lines. This makes it quick to + | specify a specific custom language line for a given attribute rule. + | + */ + + 'custom' => [ + 'attribute-name' => [ + 'rule-name' => '自定义信息', + ], + ], + + /* + |-------------------------------------------------------------------------- + | Custom Validation Attributes + |-------------------------------------------------------------------------- + | + | The following language lines are used to swap attribute place-holders + | with something more reader friendly such as E-Mail Address instead + | of "email". This simply helps us make messages a little cleaner. + | + */ + + 'attributes' => [], + +];