From 01e5bc3ea88e469aa9092bd4175e372b263f7792 Mon Sep 17 00:00:00 2001 From: BrettonYe <867057410@qq.com> Date: Tue, 14 Mar 2023 00:18:20 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AE=A1=E7=90=86=E7=AB=AF=20=E5=9B=BD?= =?UTF-8?q?=E9=99=85=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/Admin/CouponController.php | 4 +- .../Controllers/Admin/ToolsController.php | 2 +- app/Http/Controllers/Admin/UserController.php | 6 +- app/Http/Controllers/AdminController.php | 4 +- app/Models/Invite.php | 8 +- app/Models/Order.php | 16 +- app/Models/Payment.php | 6 +- app/Models/ReferralApply.php | 6 +- app/Models/ReferralLog.php | 6 +- app/Models/RuleGroup.php | 4 +- app/Models/Ticket.php | 8 +- config/common.php | 2 + config/version.php | 2 +- public/assets/css/font.css | 56 ++ readme.md | 4 +- resources/lang/en/admin.php | 844 ++++++++++++++++++ resources/lang/en/auth.php | 10 +- resources/lang/en/common.php | 172 ++-- resources/lang/en/model.php | 239 +++++ resources/lang/en/user.php | 112 +-- resources/lang/en/validation.php | 6 +- resources/lang/ko.json | 28 + resources/lang/ko/admin.php | 844 ++++++++++++++++++ resources/lang/ko/auth.php | 84 ++ resources/lang/ko/common.php | 144 +++ resources/lang/ko/errors.php | 36 + resources/lang/ko/model.php | 239 +++++ resources/lang/ko/notification.php | 35 + resources/lang/ko/user.php | 219 +++++ resources/lang/ko/validation.php | 28 +- resources/lang/vi.json | 28 + resources/lang/vi/admin.php | 844 ++++++++++++++++++ resources/lang/vi/auth.php | 84 ++ resources/lang/vi/common.php | 144 +++ resources/lang/vi/errors.php | 36 + resources/lang/vi/model.php | 239 +++++ resources/lang/vi/notification.php | 35 + resources/lang/vi/pagination.php | 6 + resources/lang/vi/passwords.php | 9 + resources/lang/vi/user.php | 219 +++++ resources/lang/vi/validation.php | 137 +++ resources/lang/zh_CN/admin.php | 844 ++++++++++++++++++ resources/lang/zh_CN/common.php | 172 ++-- resources/lang/zh_CN/model.php | 239 +++++ resources/lang/zh_CN/user.php | 106 +-- resources/views/_layout.blade.php | 27 +- resources/views/admin/aff/detail.blade.php | 23 +- resources/views/admin/aff/index.blade.php | 173 ++-- .../invite.blade.php} | 98 +- resources/views/admin/aff/rebate.blade.php | 50 +- resources/views/admin/article/index.blade.php | 52 +- resources/views/admin/article/info.blade.php | 32 +- resources/views/admin/article/show.blade.php | 14 +- resources/views/admin/config/common.blade.php | 236 +++-- .../views/admin/config/emailFilter.blade.php | 114 +-- resources/views/admin/config/system.blade.php | 505 +++++------ resources/views/admin/coupon/create.blade.php | 101 ++- resources/views/admin/coupon/index.blade.php | 78 +- resources/views/admin/coupon/show.blade.php | 79 +- resources/views/admin/index.blade.php | 58 +- resources/views/admin/layouts.blade.php | 116 ++- resources/views/admin/logs/callback.blade.php | 24 +- .../views/admin/logs/notification.blade.php | 34 +- .../admin/logs/onlineIPMonitor.blade.php | 34 +- resources/views/admin/logs/order.blade.php | 75 +- resources/views/admin/logs/traffic.blade.php | 46 +- .../views/admin/logs/userBanHistory.blade.php | 22 +- .../admin/logs/userCreditHistory.blade.php | 24 +- .../views/admin/logs/userMonitor.blade.php | 136 +-- .../views/admin/logs/userOnlineIP.blade.php | 48 +- .../views/admin/logs/userTraffic.blade.php | 24 +- .../views/admin/marketing/emailList.blade.php | 42 +- .../views/admin/marketing/pushList.blade.php | 123 ++- resources/views/admin/node/auth.blade.php | 249 +++--- .../views/admin/node/cert/index.blade.php | 70 +- .../views/admin/node/cert/info.blade.php | 42 +- resources/views/admin/node/index.blade.php | 304 +++---- resources/views/admin/node/info.blade.php | 184 ++-- resources/views/admin/node/monitor.blade.php | 136 +-- .../views/admin/permission/index.blade.php | 67 +- .../views/admin/permission/info.blade.php | 39 +- .../views/admin/report/accounting.blade.php | 264 +++--- .../admin/report/userDataAnalysis.blade.php | 148 +-- resources/views/admin/role/index.blade.php | 60 +- resources/views/admin/role/info.blade.php | 99 +- .../views/admin/rule/group/index.blade.php | 64 +- .../views/admin/rule/group/info.blade.php | 99 +- resources/views/admin/rule/index.blade.php | 235 ++--- resources/views/admin/rule/log.blade.php | 86 +- resources/views/admin/shop/index.blade.php | 118 +-- resources/views/admin/shop/info.blade.php | 258 +++--- .../views/admin/subscribe/index.blade.php | 76 +- resources/views/admin/subscribe/log.blade.php | 81 +- resources/views/admin/ticket/index.blade.php | 149 ++-- resources/views/admin/ticket/reply.blade.php | 67 +- .../views/admin/tools/analysis.blade.php | 98 +- resources/views/admin/tools/convert.blade.php | 105 +-- .../views/admin/tools/decompile.blade.php | 73 +- resources/views/admin/tools/import.blade.php | 4 +- resources/views/admin/user/export.blade.php | 115 +-- .../views/admin/user/group/index.blade.php | 62 +- .../views/admin/user/group/info.blade.php | 89 +- resources/views/admin/user/index.blade.php | 111 +-- resources/views/admin/user/info.blade.php | 465 +++++----- resources/views/admin/user/oauth.blade.php | 10 +- .../views/components/payment/detail.blade.php | 2 +- .../components/system/input-file.blade.php | 6 +- .../components/system/input-limit.blade.php | 8 +- .../components/system/input-test.blade.php | 10 +- .../views/components/system/input.blade.php | 16 +- .../views/components/system/select.blade.php | 8 +- .../views/components/system/switch.blade.php | 16 +- .../components/system/textarea.blade.php | 8 +- .../views/components/ticket/reply.blade.php | 2 +- resources/views/user/buy.blade.php | 2 +- resources/views/user/index.blade.php | 14 +- resources/views/user/invite.blade.php | 74 +- resources/views/user/invoiceDetail.blade.php | 4 +- resources/views/user/invoices.blade.php | 6 +- resources/views/user/referral.blade.php | 10 +- resources/views/user/ticketList.blade.php | 4 +- .../vendor/log-viewer/remark/show.blade.php | 2 +- 122 files changed, 9335 insertions(+), 3588 deletions(-) create mode 100644 public/assets/css/font.css create mode 100644 resources/lang/en/admin.php create mode 100644 resources/lang/en/model.php create mode 100644 resources/lang/ko.json create mode 100644 resources/lang/ko/admin.php create mode 100644 resources/lang/ko/auth.php create mode 100644 resources/lang/ko/common.php create mode 100644 resources/lang/ko/errors.php create mode 100644 resources/lang/ko/model.php create mode 100644 resources/lang/ko/notification.php create mode 100644 resources/lang/ko/user.php create mode 100644 resources/lang/vi.json create mode 100644 resources/lang/vi/admin.php create mode 100644 resources/lang/vi/auth.php create mode 100644 resources/lang/vi/common.php create mode 100644 resources/lang/vi/errors.php create mode 100644 resources/lang/vi/model.php create mode 100644 resources/lang/vi/notification.php create mode 100644 resources/lang/vi/pagination.php create mode 100644 resources/lang/vi/passwords.php create mode 100644 resources/lang/vi/user.php create mode 100644 resources/lang/vi/validation.php create mode 100644 resources/lang/zh_CN/admin.php create mode 100644 resources/lang/zh_CN/model.php rename resources/views/admin/{inviteList.blade.php => aff/invite.blade.php} (63%) diff --git a/app/Http/Controllers/Admin/CouponController.php b/app/Http/Controllers/Admin/CouponController.php index b8ff99e3..024401e2 100644 --- a/app/Http/Controllers/Admin/CouponController.php +++ b/app/Http/Controllers/Admin/CouponController.php @@ -147,7 +147,7 @@ class CouponController extends Controller $sheet->fromArray(['名称', '使用次数', '有效期', '券码', '金额('.array_column(config('common.currency'), 'symbol', 'code')[sysConfig('standard_currency')].')', '权重', '使用限制']); foreach ($voucherList as $k => $vo) { $dateRange = $vo->start_time.' ~ '.$vo->end_time; - $sheet->fromArray([$vo->name, $vo->usable_times ?? '无限制', $dateRange, $vo->sn, $vo->value, $vo->priority, json_encode($vo->limit)], null, 'A'.($k + 2)); + $sheet->fromArray([$vo->name, $vo->usable_times ?? trans('common.unlimited'), $dateRange, $vo->sn, $vo->value, $vo->priority, json_encode($vo->limit)], null, 'A'.($k + 2)); } // 折扣券 @@ -158,7 +158,7 @@ class CouponController extends Controller $sheet->fromArray(['名称', '使用次数', '有效期', '券码', '折扣(折)', '权重', '使用限制']); foreach ($discountCouponList as $k => $vo) { $dateRange = $vo->start_time.' ~ '.$vo->end_time; - $sheet->fromArray([$vo->name, $vo->usable_times ?? '无限制', $dateRange, $vo->sn, $vo->value, $vo->priority, json_encode($vo->limit)], null, 'A'.($k + 2)); + $sheet->fromArray([$vo->name, $vo->usable_times ?? trans('common.unlimited'), $dateRange, $vo->sn, $vo->value, $vo->priority, json_encode($vo->limit)], null, 'A'.($k + 2)); } // 充值券 diff --git a/app/Http/Controllers/Admin/ToolsController.php b/app/Http/Controllers/Admin/ToolsController.php index 864f683e..02f07380 100644 --- a/app/Http/Controllers/Admin/ToolsController.php +++ b/app/Http/Controllers/Admin/ToolsController.php @@ -41,7 +41,7 @@ class ToolsController extends Controller } // 生成转换好的JSON文件 - file_put_contents(public_path('downloads/decompile.json'), $txt); + //file_put_contents(public_path('downloads/decompile.json'), $txt); return Response::json(['status' => 'success', 'data' => $txt, 'message' => '反解析成功']); } diff --git a/app/Http/Controllers/Admin/UserController.php b/app/Http/Controllers/Admin/UserController.php index f315a212..1e39566c 100644 --- a/app/Http/Controllers/Admin/UserController.php +++ b/app/Http/Controllers/Admin/UserController.php @@ -179,12 +179,12 @@ class UserController extends Controller for ($i = 0; $i < (int) request('amount', 1); $i++) { $user = Helpers::addUser(Str::random(8).'@auto.generate', Str::random(), 1024 * GB, 365); // 写入用户流量变动记录 - Helpers::addUserTrafficModifyLog($user->id, null, 0, 1024 * GB, '后台批量生成用户'); + Helpers::addUserTrafficModifyLog($user->id, null, 0, 1024 * GB, trans('admin.user.massive.note')); } - return Response::json(['status' => 'success', 'message' => '批量生成账号成功']); + return Response::json(['status' => 'success', 'message' => trans('admin.user.massive.succeed')]); } catch (Exception $e) { - return Response::json(['status' => 'fail', 'message' => '批量生成账号失败:'.$e->getMessage()]); + return Response::json(['status' => 'fail', 'message' => trans('admin.user.massive.failed').':'.$e->getMessage()]); } } diff --git a/app/Http/Controllers/AdminController.php b/app/Http/Controllers/AdminController.php index 39cf6aba..314c6960 100644 --- a/app/Http/Controllers/AdminController.php +++ b/app/Http/Controllers/AdminController.php @@ -36,7 +36,7 @@ class AdminController extends Controller 'enableUserCount' => User::whereEnable(1)->count(), // 有效用户数 'activeUserCount' => User::where('t', '>=', $past)->count(), // 活跃用户数, 'payingUserCount' => Order::whereStatus(2)->where('goods_id', '<>', null)->whereIsExpire(0)->where('amount', '>', 0)->pluck('user_id')->unique()->count(), // 付费用户数 - 'unActiveUserCount' => User::whereEnable(1)->whereBetween('t', [1, $past])->count(), // 不活跃用户数 + 'inactiveUserCount' => User::whereEnable(1)->whereBetween('t', [1, $past])->count(), // 不活跃用户数 'onlineUserCount' => User::where('t', '>=', strtotime('-10 minutes'))->count(), // 10分钟内在线用户数 'expireWarningUserCount' => User::whereBetween('expired_at', [date('Y-m-d'), date('Y-m-d', strtotime(sysConfig('expire_days').' days'))])->count(), // 临近过期用户数 'largeTrafficUserCount' => User::whereRaw('(u + d)/transfer_enable >= 0.9')->where('status', '<>', -1)->count(), // 流量使用超过90%的用户 @@ -62,7 +62,7 @@ class AdminController extends Controller // 邀请码列表 public function inviteList() { - return view('admin.inviteList', [ + return view('admin.aff.invite', [ 'inviteList' => Invite::with(['invitee:id,username', 'inviter:id,username'])->orderBy('status')->orderByDesc('id')->paginate(15)->appends(request('page')), ]); } diff --git a/app/Models/Invite.php b/app/Models/Invite.php index 944db179..fe19236d 100644 --- a/app/Models/Invite.php +++ b/app/Models/Invite.php @@ -37,16 +37,16 @@ class Invite extends Model { switch ($this->attributes['status']) { case 0: - $status_label = ''.trans('user.status.unused').''; + $status_label = ''.trans('common.status.unused').''; break; case 1: - $status_label = ''.trans('user.status.used').''; + $status_label = ''.trans('common.status.used').''; break; case 2: - $status_label = ''.trans('user.status.expired').''; + $status_label = ''.trans('common.status.expire').''; break; default: - $status_label = ' 未知 '; + $status_label = ' '.trans('common.status.unknown').' '; } return $status_label; diff --git a/app/Models/Order.php b/app/Models/Order.php index f22d86af..1385d986 100644 --- a/app/Models/Order.php +++ b/app/Models/Order.php @@ -114,28 +114,28 @@ class Order extends Model { switch ($this->attributes['status']) { case -1: - $status_label = ''.trans('user.status.closed').''; + $status_label = ''.trans('common.order.status.cancel').''; break; case 0: - $status_label = ''.trans('user.status.waiting_payment').''; + $status_label = ''.trans('common.payment.status.wait').''; break; case 1: - $status_label = ''.trans('user.status.waiting_confirm').''; + $status_label = ''.trans('common.order.status.review').''; break; case 2: if ($this->attributes['goods_id'] === null) { - $status_label = ''.trans('user.status.completed').''; + $status_label = ''.trans('common.order.status.complete').''; } elseif ($this->attributes['is_expire']) { - $status_label = ''.trans('user.status.expired').''; + $status_label = ''.trans('common.status.expire').''; } else { - $status_label = ''.trans('user.status.using').''; + $status_label = ''.trans('common.order.status.ongoing').''; } break; case 3: - $status_label = ''.trans('user.status.prepaid').''; + $status_label = ''.trans('common.order.status.prepaid').''; break; default: - $status_label = trans('user.unknown'); + $status_label = trans('common.status.unknown'); } return $status_label; diff --git a/app/Models/Payment.php b/app/Models/Payment.php index 97e6c390..308ffc6d 100644 --- a/app/Models/Payment.php +++ b/app/Models/Payment.php @@ -65,14 +65,14 @@ class Payment extends Model { switch ($this->attributes['status']) { case -1: - $status_label = '支付失败'; + $status_label = trans('common.payment.status.fail'); break; case 1: - $status_label = '支付成功'; + $status_label = trans('common.payment.status.success'); break; case 0: default: - $status_label = '等待支付'; + $status_label = trans('common.payment.status.wait'); } return $status_label; diff --git a/app/Models/ReferralApply.php b/app/Models/ReferralApply.php index e7019da9..9e421cfc 100644 --- a/app/Models/ReferralApply.php +++ b/app/Models/ReferralApply.php @@ -70,14 +70,14 @@ class ReferralApply extends Model { switch ($this->attributes['status']) { case 1: - $status_label = ''.trans('user.status.pending').''; + $status_label = ''.trans('common.status.pending').''; break; case 2: - $status_label = trans('user.status.withdrawn'); + $status_label = trans('common.status.withdrawn'); break; case 0: default: - $status_label = ''.trans('user.status.applying').''; + $status_label = ''.trans('common.status.applying').''; } return $status_label; diff --git a/app/Models/ReferralLog.php b/app/Models/ReferralLog.php index f0a7db34..9a664def 100644 --- a/app/Models/ReferralLog.php +++ b/app/Models/ReferralLog.php @@ -69,13 +69,13 @@ class ReferralLog extends Model { switch ($this->attributes['status']) { case 1: - $status_label = ''.trans('user.status.applying').''; + $status_label = ''.trans('common.status.applying').''; break; case 2: - $status_label = ''.trans('user.status.withdrawn').''; + $status_label = ''.trans('common.status.withdrawn').''; break; default: - $status_label = ''.trans('user.status.not_withdrawn').''; + $status_label = ''.trans('common.status.unwithdrawn').''; } return $status_label; diff --git a/app/Models/RuleGroup.php b/app/Models/RuleGroup.php index 046ce0d0..36577be6 100644 --- a/app/Models/RuleGroup.php +++ b/app/Models/RuleGroup.php @@ -15,9 +15,9 @@ class RuleGroup extends Model public function getTypeLabelAttribute(): string { if ($this->attributes['type']) { - $type_label = '阻 断'; + $type_label = ''.trans('admin.rule.group.type.off').''; } else { - $type_label = '放 行'; + $type_label = ''.trans('admin.rule.group.type.on').''; } return $type_label; diff --git a/app/Models/Ticket.php b/app/Models/Ticket.php index 7fbd2365..2099eab9 100644 --- a/app/Models/Ticket.php +++ b/app/Models/Ticket.php @@ -46,16 +46,16 @@ class Ticket extends Model { switch ($this->attributes['status']) { case 0: - $status_label = ''.trans('user.status.pending').''; + $status_label = ''.trans('common.status.pending').''; break; case 1: - $status_label = ''.trans('user.status.reply').''; + $status_label = ''.trans('common.status.reply').''; break; case 2: - $status_label = ''.trans('user.status.closed').''; + $status_label = ''.trans('common.status.closed').''; break; default: - $status_label = ''.trans('user.unknown').''; + $status_label = ''.trans('common.status.unknown').''; } return $status_label; diff --git a/config/common.php b/config/common.php index 4d320245..e65d611b 100644 --- a/config/common.php +++ b/config/common.php @@ -76,6 +76,8 @@ return [ 'language' => [ 'zh_CN' => ['简体中文', 'cn'], 'en' => ['English', 'us'], + 'ko' => ['한국어', 'kr'], + 'vi' => ['Tiếng Việt', 'vn'], ], 'currency' => [ diff --git a/config/version.php b/config/version.php index 80fa557c..b114b90a 100644 --- a/config/version.php +++ b/config/version.php @@ -2,5 +2,5 @@ return [ 'name' => 'ProxyPanel', - 'number' => '2.7.d', + 'number' => '2.7.e', ]; diff --git a/public/assets/css/font.css b/public/assets/css/font.css new file mode 100644 index 00000000..8f1cd7cf --- /dev/null +++ b/public/assets/css/font.css @@ -0,0 +1,56 @@ + +/* roboto-300 */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 300; + src: url('//lib.baomitu.com/fonts/roboto/roboto-300.eot'); /* IE9 Compat Modes */ + src: local('Roboto'), local('Roboto-Normal'), + url('//lib.baomitu.com/fonts/roboto/roboto-300.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ + url('//lib.baomitu.com/fonts/roboto/roboto-300.woff2') format('woff2'), /* Super Modern Browsers */ + url('//lib.baomitu.com/fonts/roboto/roboto-300.woff') format('woff'), /* Modern Browsers */ + url('//lib.baomitu.com/fonts/roboto/roboto-300.ttf') format('truetype'), /* Safari, Android, iOS */ + url('//lib.baomitu.com/fonts/roboto/roboto-300.svg#Roboto') format('svg'); /* Legacy iOS */ +} + +/* roboto-regular */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: regular; + src: url('//lib.baomitu.com/fonts/roboto/roboto-regular.eot'); /* IE9 Compat Modes */ + src: local('Roboto'), local('Roboto-Normal'), + url('//lib.baomitu.com/fonts/roboto/roboto-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ + url('//lib.baomitu.com/fonts/roboto/roboto-regular.woff2') format('woff2'), /* Super Modern Browsers */ + url('//lib.baomitu.com/fonts/roboto/roboto-regular.woff') format('woff'), /* Modern Browsers */ + url('//lib.baomitu.com/fonts/roboto/roboto-regular.ttf') format('truetype'), /* Safari, Android, iOS */ + url('//lib.baomitu.com/fonts/roboto/roboto-regular.svg#Roboto') format('svg'); /* Legacy iOS */ +} + +/* roboto-500 */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 500; + src: url('//lib.baomitu.com/fonts/roboto/roboto-500.eot'); /* IE9 Compat Modes */ + src: local('Roboto'), local('Roboto-Normal'), + url('//lib.baomitu.com/fonts/roboto/roboto-500.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ + url('//lib.baomitu.com/fonts/roboto/roboto-500.woff2') format('woff2'), /* Super Modern Browsers */ + url('//lib.baomitu.com/fonts/roboto/roboto-500.woff') format('woff'), /* Modern Browsers */ + url('//lib.baomitu.com/fonts/roboto/roboto-500.ttf') format('truetype'), /* Safari, Android, iOS */ + url('//lib.baomitu.com/fonts/roboto/roboto-500.svg#Roboto') format('svg'); /* Legacy iOS */ +} + +/* roboto-300italic */ +@font-face { + font-family: 'Roboto'; + font-style: italic; + font-weight: 300; + src: url('//lib.baomitu.com/fonts/roboto/roboto-300italic.eot'); /* IE9 Compat Modes */ + src: local('Roboto'), local('Roboto-Italic'), + url('//lib.baomitu.com/fonts/roboto/roboto-300italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ + url('//lib.baomitu.com/fonts/roboto/roboto-300italic.woff2') format('woff2'), /* Super Modern Browsers */ + url('//lib.baomitu.com/fonts/roboto/roboto-300italic.woff') format('woff'), /* Modern Browsers */ + url('//lib.baomitu.com/fonts/roboto/roboto-300italic.ttf') format('truetype'), /* Safari, Android, iOS */ + url('//lib.baomitu.com/fonts/roboto/roboto-300italic.svg#Roboto') format('svg'); /* Legacy iOS */ +} diff --git a/readme.md b/readme.md index 9ff38b8c..1cf4b6e7 100644 --- a/readme.md +++ b/readme.md @@ -1,4 +1,6 @@ -# ProxyPanel +# ProxyPanel +[![Crowdin](https://badges.crowdin.net/proxypanel/localized.svg)](https://crowdin.com/project/proxypanel) + [简体中文](https://proxypanel.gitbook.io/wiki/) Support but not limited to: Shadowsocks,ShadowsocksR,ShadowsocksRR,V2Ray,Trojan,VNET diff --git a/resources/lang/en/admin.php b/resources/lang/en/admin.php new file mode 100644 index 00000000..4611715c --- /dev/null +++ b/resources/lang/en/admin.php @@ -0,0 +1,844 @@ + [ + 'users' => 'Users', + 'available_users' => 'Available Users', + 'paid_users' => 'Paying Users', + 'active_days_users' => 'Active Users Within :days Days', + 'inactive_days_users' => 'Inactive Users Over :days Days', + 'online_users' => 'Current Online Users', + 'expiring_users' => 'Near-Expiring Users', + 'overuse_users' => 'Overusered Users (Traffic consumed ≥ 90%)', + 'abnormal_users' => 'Hourly Traffic Abnormal Users', + 'nodes' => 'Nodes', + 'maintaining_nodes' => 'Nodes Under Maintenance', + 'traffic_consumed' => 'Traffic Consumed', + 'traffic_days_consumed' => 'Traffic Consumed Within :days Days', + 'orders' => 'Orders', + 'online_orders' => 'Online Orders', + 'succeed_orders' => 'Succeed Orders', + 'credit' => 'Credit', + 'withdrawing_commissions' => 'Withdrawing Commissions', + 'withdrawn_commissions' => 'Withdrawn Commissions', + ], + 'action' => [ + 'edit_item' => 'Edit :attribute', + 'add_item' => 'Add :attribute', + ], + 'confirm' => [ + 'delete' => [0 => 'Are you sure you want to delete :attribute_envelope', 1 => '】? '], + 'continues' => 'Are you sure you want to continue? ', + 'export' => 'Are you sure you want to export all? ', + ], + 'user_dashboard' => 'User Dashboard', + 'menu' => [ + 'dashboard' => 'Dashboard', + 'user' => [ + 'attribute' => 'User', + 'list' => 'User Management', + 'oauth' => 'OAuth', + 'group' => 'User Group', + 'credit_log' => 'Credit Log', + 'subscribe' => 'Subscription', + ], + 'rbac' => [ + 'attribute' => 'RBAC', + 'permission' => 'Permissions', + 'role' => 'Roles', + ], + 'customer_service' => [ + 'attribute' => 'Chat & Note', + 'ticket' => 'Ticket Management', + 'article' => 'Article Management', + 'push' => 'Push Notification', + 'mail' => 'Mass Mailing', + ], + 'node' => [ + 'attribute' => 'Node', + 'list' => 'Node Management', + 'auth' => 'Api Authorization', + 'cert' => 'Certificate', + ], + 'rule' => [ + 'attribute' => 'Audit Rule', + 'list' => 'Rule Management', + 'group' => 'Rule Group', + 'trigger' => 'Trigger Log', + ], + 'shop' => [ + 'attribute' => 'Shop', + 'goods' => 'Product Management', + 'coupon' => 'Coupon Management', + 'order' => 'Orders', + ], + 'promotion' => [ + 'attribute' => 'Promotion', + 'invite' => 'Invitation Management', + 'withdraw' => 'Withdrawal Management', + 'rebate_flow' => 'Rebate Flow', + ], + 'analysis' => [ + 'attribute' => 'Report', + 'accounting' => 'Accounting', + 'user_flow' => 'User Flow', + ], + 'log' => [ + 'attribute' => 'Logs', + 'traffic' => 'Traffic Usage', + 'traffic_flow' => 'Traffic Flow', + 'service_ban' => 'Service Ban', + 'online_logs' => 'Online Log', + 'online_monitor' => 'Online Monitoring', + 'notify' => 'Notification Log', + 'payment_callback' => 'Payment Callback', + 'system' => 'System Report', + ], + 'tools' => [ + 'attribute' => 'Toolbox', + 'decompile' => 'Decompile', + 'convert' => 'Convert', + 'import' => 'Import', + 'analysis' => 'Analysis', + ], + 'setting' => [ + 'attribute' => 'Setting', + 'email_suffix' => 'Email Suffix Management', + 'universal' => 'Universal Setting', + 'system' => 'System Setting', + ], + ], + 'user' => [ + 'massive' => [ + 'text' => 'Number of User Generated', + 'button' => 'Bulk Spawn', + 'failed' => 'Bulk generation failed', + 'succeed' => 'Bulk generated account successfully', + 'note' => 'Batch generate users in background', + ], + 'proxy_info' => 'Configuration information', + 'traffic_monitor' => 'Traffic Statistics', + 'online_monitor' => 'Online Patrols', + 'reset_traffic' => 'Reset Data', + 'user_view' => 'User View', + 'connection_test' => 'Web test', + 'counts' => 'out of :num accounts', + 'reset_confirm' => [0 => 'Are you sure you want to reset the package', 1 => '\'s traffic?'], + 'info' => [ + 'account' => 'Account Information', + 'proxy' => 'Proxy Information', + 'switch' => 'Switch Identity', + 'reset_date_hint' => 'Account traffic next reset date', + 'expired_date_hint' => 'Leave empty to be one year by default', + 'uuid_hint' => 'Account ID for V2Ray', + 'recharge_placeholder' => 'Fill in negative values to deduct balance', + ], + 'update_help' => 'Successfully updated, do you want to return?', + 'proxies_config' => ':username connection configuration information', + 'group' => [ + 'title' => 'User Group Control(same node can be assigned to more than one group, One user can only belong to one group; For visible / available nodes: filter by level first, then group)', + 'name' => 'Group Name', + 'counts' => ' out of :num groups', + ], + ], + 'zero_unlimited_hint' => 'Unset /0, as unlimited', + 'node' => [ + 'traffic_monitor' => 'Traffic Statistics', + 'refresh_geo' => 'Refresh geography', + 'ping' => 'Detect delay', + 'connection_test' => 'Connectivity detection', + 'counts' => 'out of :num circuits', + 'reload_all' => 'Reload Backend', + 'refresh_geo_all' => 'Refresh all nodes', + 'reload_confirm' => 'Are you sure you want to reload the node?', + 'info' => [ + 'hint' => 'Note: the automatically generatedIDwhen adding a node is deployedusermysql.jsonthe value ofnode_idand thenodeIdwhen V2Ray backend is deployed;', + 'basic' => 'Basic Information', + 'ddns_hint' => 'Dynamic IP nodes requireto configure DDDNSfor this type of node, nodes block will be detected by domain name', + 'domain_placeholder' => 'Server domain address with priority domain address', + 'domain_hint' => 'Enable DNS mode in System Settings. Domain will be automatically bound to IP content below! No longer need to go to the DNS registrant page to modify IP information.', + 'extend' => 'Extended Information', + 'display' => [ + 'invisible' => 'is completely invisible', + 'node' => 'Show only on \':trans\' page', + 'sub' => 'Show only', + 'all' => 'Fully visible', + 'hint' => 'Whether users can subscriber/see this node', + ], + 'ipv4_hint' => 'Multi-IP uses \',\' partition, example:1.1.1.1, 8.8.8.8', + 'ipv6_hint' => 'Multi-IP uses \',\' partition, example:1.1.1.1, 8.8.8.8', + 'ipv4_placeholder' => 'Server IPv4 Address', + 'ipv6_placeholder' => 'Server IPv6 address, field is visible to user and domain name is invalid', + 'push_port_hint' => 'Required and firewall needs to be loaded, otherwise the message will cause an exception', + 'data_rate_hint' => 'Example:.1 Checkout 10M with 100M and 500M with 100M', + 'level_hint' => 'Level:- No ratings, all visible', + 'detection' => [ + 'tcp' => 'TCP only', + 'icmp' => 'Detect ICMP only', + 'all' => 'Detect All', + 'hint' => 'Random node block detection every 30-60 minutes', + ], + 'obfs_param_hint' => 'While obfs is not [plain], fill in parameters to traffic masquerading; While obfs is [http_simple], suggest set port to 80; While obfs is [tls], suggest set port to 443;', + 'additional_ports_hint' => 'If enabled, please configure serveradditional_portsinformation', + 'v2_method_hint' => 'Do not use none when using WebSocket', + 'v2_net_hint' => 'Enable TLS when using WebSocket Transfer Protocol', + 'v2_cover' => [ + 'none' => 'No cover', + 'http' => 'HTTP data stream', + 'srtp' => 'Video call data (SRTP)', + 'utp' => 'BT download data (uTP)', + 'wechat' => 'Micromessage video call', + 'dtls' => 'DTLS1.2 packets', + 'wireguard' => 'Wire Guard packets', + ], + 'v2_host_hint' => 'Use WebSocket transfer protocol only for single commas separated from multiple camouflage types', + 'v2_tls_provider_hint' => 'Different backend configurations are different:', + 'single_hint' => 'Recommended 80 or 443. The server needs to configure
strict mode:user\'s port cannot be connected, only via the following specified port(how to configure)', + ], + 'proxy_info' => '*Compatibility SS', + 'proxy_info_hint' => 'If compatible, please add_compatible to server configuration protocol and confuse', + 'reload' => 'Reload Backend', + 'auth' => [ + 'title' => 'Node authorization listWEBAPI', + 'deploy' => [ + 'title' => 'Deployment :type_label backend', + 'attribute' => 'Deployment Backend', + 'command' => 'Operations command', + 'update' => 'Update:', + 'uninstall' => 'Uninstall:', + 'start' => 'Launch:', + 'stop' => 'Stop:', + 'status' => 'Status:', + 'recent_logs' => 'Recent Log:', + 'real_time_logs' => 'Live Log:', + 'restart' => 'Restart:', + 'same' => 'Id.', + 'trojan_hint' => 'Please input nodes\' domain, then resolve IP to this the domain', + ], + 'reset_auth' => 'Reset key', + 'counts' => 'of :num Licenses', + 'generating_all' => 'Are you sure you want to generate authorization for all nodes?', + ], + 'cert' => [ + 'title' => 'Domain certificate list(disguised domain name of V2Ray nodes)', + 'counts' => 'out of :num domain name certificates', + 'key_placeholder' => 'The KEY value of the domain certificate. Allowed to be empty, VNET-V2Ray backend support auto-signing certificate', + 'pem_placeholder' => 'The PEM value of the domain certificate. Allowed to be empty, VNET-V2Ray backend support auto-signing certificate', + ], + ], + 'hint' => 'Prompt', + 'oauth' => [ + 'title' => 'User OAuth Authorization', + 'counts' => 'out of :num licenses', + ], + 'select_all' => 'Full selection', + 'clear' => 'Empty', + 'unselected_hint' => 'To assign rules, search here', + 'selected_hint' => 'The rules have been assigned, you can search here', + 'clone' => 'Clone', + 'monitor' => [ + 'daily_chart' => 'Daily traffic chart', + 'monthly_chart' => 'Monthly traffic chart', + 'node' => 'Node traffic', + 'user' => 'User traffic', + 'hint' => 'Hint: If no statistics are available, please check if the scheduled task is correct.', + ], + 'tools' => [ + 'analysis' => [ + 'title' => 'SSR log analysisfor single nodes only', + 'req_url' => 'Recently requested address', + 'not_enough' => 'No more than 15,000 accesses and cannot analyze data', + ], + 'convert' => [ + 'title' => 'Format transformation Shadowsocks turn ShadowsocksR', + 'content_placeholder' => 'Please fill in the configuration information to convert', + ], + 'decompile' => [ + 'title' => 'Reparseconfig transformation', + 'attribute' => 'Invert parsing', + 'content_placeholder' => 'Please fill in the ShadowsocksR link to parse', + ], + ], + 'ticket' => [ + 'title' => 'Ticket list', + 'counts' => 'out of :num', + 'send_to' => 'Please fill in the target user information!', + 'user_info' => 'User Information', + 'inviter_info' => 'Invitation Information', + 'close_confirm' => 'Are you sure you want to close the ticket?', + 'error' => 'Unknown error! Please see the running log', + ], + 'logs' => [ + 'subscribe' => 'Subscription List', + 'counts' => 'of :num records', + 'rule' => [ + 'clear_all' => 'Clear records', + 'title' => 'Trigger record', + 'name' => 'Trigger Rule', + 'reason' => 'Trigger reason', + 'created_at' => 'Trigger Time', + 'tag' => '✅ access non-rule allowed', + 'clear_confirm' => 'Are you sure you want to clear all records?', + ], + 'order' => [ + 'title' => 'Order List', + 'is_expired' => 'Expiry', + 'is_coupon' => 'Use coupons', + ], + 'user_traffic' => [ + 'title' => 'Data usage', + 'choose_node' => 'Select Node', + ], + 'user_data_modify_title' => 'Traffic Changes', + 'callback' => 'Callback log (online payment)', + 'notification' => 'Mail delivery record', + 'ip_monitor' => 'Live data for 2 minutes of online IP monitoring', + 'user_ip' => [ + 'title' => 'User online IP list last 10 minutes', + 'connect' => 'Connect IP', + ], + 'ban' => [ + 'title' => 'User Blocked Records', + 'time' => 'Duration', + 'reason' => 'Rationale', + 'ban_time' => 'Banned Time', + 'last_connect_at' => 'Last connection time', + ], + 'credit_title' => 'Changes in balances', + ], + 'start_time' => 'Start range', + 'end_time' => 'End range', + 'goods' => [ + 'title' => 'Product List', + 'type' => [ + 'top_up' => 'Pay', + 'package' => 'Data Pack', + 'plan' => 'Pack', + ], + 'info' => [ + 'type_hint' => 'The package is related to the period of validity of the account, the traffic pack is only available and does not affect the validity period', + 'period_hint' => 'Package traffic reset every N day', + 'limit_num_hint' => 'This product can be purchased per user for 0 times', + 'available_date_hint' => 'Automatically deduct traffic from total traffic when due', + 'desc_placeholder' => 'Simple description of products', + 'list_placeholder' => 'Add custom list of products', + 'list_hint' => 'Please start with<li> each line of content</li>', + ], + 'status' => [ + 'yes' => 'Listing', + 'no' => 'Next shelf', + ], + 'sell_and_used' => 'Use / Sale', + 'counts' => 'out of :num products', + ], + 'sort_asc' => 'Sort value higher', + 'yes' => 'Yes', + 'no' => 'No', + 'rule' => [ + 'type' => [ + 'reg' => 'Regular expression', + 'domain' => 'Domain Name', + 'ip' => 'IP', + 'protocol' => 'Protocol', + ], + 'counts' => 'out of :num audit rules', + 'title' => 'Rule List', + 'group' => [ + 'type' => [ + 'off' => 'Snack', + 'on' => 'Release', + ], + 'title' => 'Rule Group', + 'counts' => 'out of :num groups', + ], + ], + 'role' => [ + 'name_hint' => 'Unique identifier, eg::Administrator', + 'description_hint' => 'dashboard.eg::admin', + 'title' => 'List of permissions', + 'permissions_all' => 'All permissions', + 'counts' => 'out of :num permissions role', + ], + 'report' => [ + 'monthly_accounting' => 'Monthly Waterbook', + 'annually_accounting' => 'Annual Watershed Book', + 'historic_accounting' => 'Historical Watershed Book', + 'current_month' => ' This month ', + 'last_month' => ' Last Month', + 'current_year' => ' current year ', + 'last_year' => ' Go to year ', + 'hourly_traffic' => 'traffic per hour', + 'daily_traffic' => 'Daily traffic', + 'today' => ' Japan ', + ], + 'permission' => [ + 'title' => 'Permissions Actions List', + 'description_hint' => 'Fill in description, example:[System Edit A]', + 'name_hint' => 'Fill in the route name, example:admin.permission.create,update', + 'counts' => 'out of :num permission behavior', + ], + 'marketing' => [ + 'email' => [ + 'title' => 'Mailing List', + 'group_send' => 'Mass Mail', + 'counts' => 'out of :num messages', + ], + 'send_status' => 'Send Status', + 'send_time' => 'Sent Time', + 'error_message' => 'Error message', + 'push' => [ + 'title' => 'Push Message List', + 'send' => 'Push Message', + 'counts' => 'out of :num push messages', + ], + ], + 'creating' => 'Adding...', + 'article' => [ + 'type' => [ + 'knowledge' => 'Articles', + 'announcement' => 'Announcement', + ], + 'category_hint' => 'The same category will be grouped under the same folder', + 'logo_hint' => 'Recommended size:100x75', + 'title' => 'Article List', + 'counts' => 'out of :num articles', + ], + 'coupon' => [ + 'title' => 'Card List', + 'name_hint' => 'Will be used for frontend display', + 'sn_hint' => 'The coupon is provided to users using the coupon. Leave empty to be 8 bit random code', + 'type' => [ + 'voucher' => 'Voucher', + 'discount' => 'Discount voucher', + 'charge' => 'Voucher', + ], + 'type_hint' => 'Redemption: deduct the amount of the product; Discount: discount the percentage of the product; Recharge: add the amount to the user balance', + 'value' => '{1} :havy_minus_sign: :num|{2} :num disc{3} ➕ :num', + 'value_hint' => 'Range 1% ~99% ', + 'priority_hint' => 'With the coupon code, the eligible high weight code will be used preferentially. Up to 255', + 'minimum_hint' => 'This coupon can only be used when the amount of payment exceeds :num;', + 'used_hint' => 'This voucher can be used by eligible users :num times;', + 'levels_hint' => 'This voucher will only be used if the user level is in the selected rank.', + 'groups_hint' => 'Group of selected users to use this voucher', + 'users_placeholder' => 'Enter user ID to go back to car', + 'user_whitelist_hint' => 'This coupon is available to all users involved and leave this condition empty for no use', + 'users_blacklist_hint' => 'This coupon is not available for all users. Empty is not used', + 'services_placeholder' => 'Enter product ID, go back to car', + 'services_whitelist_hint' => 'The product is available to use the voucher, leave empty for this condition', + 'services_blacklist_hint' => 'The coupon is not available for the product. Leave empty for this condition', + 'newbie' => [ + 'first_discount' => 'Initial appointment of any vouchers', + 'first_order' => 'First ticket', + 'created_days' => 'Creator', + ], + 'created_days_hint' => 'and :day days', + 'limit_hint' => 'The conditions for this item are and related, please use your own mix', + 'info_title' => 'Card Info', + 'counts' => 'out of :num coupons', + 'discount' => 'Discount', + 'export_title' => 'Card Export', + 'single_use' => 'One-time', + ], + 'times' => 'Times', + 'massive_export' => 'Bulk Export', + 'system_generate' => 'System generation', + 'aff' => [ + 'rebate_title' => 'Return flow records', + 'counts' => 'out of :num applications', + 'title' => 'List of cash out applications', + 'apply_counts' => 'out of :num applications', + 'referral' => 'Promotion of return', + 'commission_title' => 'Cash out request details', + 'commission_counts' => 'This application involves :num', + ], + 'setting' => [ + 'common' => [ + 'title' => 'General Configuration', + 'set_default' => 'Set as default', + 'connect_nodes' => 'Linked Nodes', + ], + 'email' => [ + 'title' => 'Email filter list (used to block registration email suffixes)', + 'tail' => 'Email Suffix', + 'rule' => 'Rules', + 'black' => 'Blacklist', + 'white' => 'Whitelist', + 'tail_placeholder' => 'Please fill in the email suffix', + ], + 'system' => [ + 'title' => 'System Configuration', + 'web' => 'Website General', + 'account' => 'Account Settings', + 'node' => 'Node Settings', + 'extend' => 'Expansion', + 'check_in' => 'Sign To System', + 'promotion' => 'Extension system', + 'notify' => 'Notification System', + 'auto_job' => 'Auto Task', + 'other' => 'LOGO|Support | Statistics', + 'payment' => 'Payment system', + 'menu' => 'Menu', + ], + 'no_permission' => 'You do not have permission to modify parameters!', + ], + 'system' => [ + 'account_expire_notification' => 'Account Expired Notifications', + 'active_times' => 'Number of active accounts', + 'admin_invite_days' => 'Admin - Invitation Code Expiration', + 'aff_salt' => 'Invite Link User Information Characterization', + 'alipay_qrcode' => 'PayPal QR', + 'AppStore_id' => 'Apple Account', + 'AppStore_password' => 'Apple Password', + 'auto_release_port' => 'Port recovery mechanisms', + 'bark_key' => 'Bark Device Number', + 'bitpay_secret', + 'captcha_key' => 'Captcha Key', + 'captcha_secret' => 'Captcha Secret/ID', + 'codepay_id' => 'Code Payment ID', + 'codepay_key' => 'Communication Key', + 'codepay_url' => 'Request URL', + 'data_anomaly_notification' => 'Data exception notification', + 'data_exhaust_notification' => 'Data Expiration Notification', + 'ddns_key' => 'DNS Server Key', + 'ddns_mode' => 'DDNS mode', + 'ddns_secret' => 'DNS Server Secret', + 'default_days' => 'Initial expiration', + 'default_traffic' => 'Initial traffic', + 'detection_check_times' => 'Block detection alerts', + 'dingTalk_access_token' => 'Pin Custom Robot Access Token', + 'dingTalk_secret' => 'Studded custom robot key', + 'epay_key' => 'Merchant Key', + 'epay_mch_id' => 'Merchant ID', + 'epay_url' => 'Interface Address', + 'expire_days' => 'Expired warning threshold', + 'f2fpay_app_id' => 'Application ID', + 'f2fpay_private_key' => 'Apply private key', + 'f2fpay_public_key' => 'PayPal Public Key', + 'forbid_mode' => 'Disable access mode', + 'invite_num' => 'Number of invitations to generate', + 'is_activate_account' => 'Activate Account', + 'is_AliPay' => 'PayPal Payment', + 'is_ban_status' => 'Expire auto-ban', + 'is_captcha' => 'Verification Code Mode', + 'is_checkin' => 'Checking to plus traffic', + 'is_clear_log' => 'Auto-clear log', + 'is_custom_subscribe' => 'Premium Subscription', + 'is_email_filtering' => 'Email filtering mechanism', + 'is_forbid_robot' => 'Block robot access', + 'is_free_code' => 'Free invitation code', + 'is_invite_register' => 'Invite to Register', + 'is_otherPay' => 'Special Payment', + 'is_push_bear', + 'is_QQPay' => 'QQ Wallet', + 'is_rand_port' => 'Random Port', + 'is_register' => 'User Registration', + 'is_subscribe_ban' => 'Subscription exception auto-ban', + 'is_traffic_ban' => 'Exception auto-seal number', + 'is_WeChatPay' => 'Micromessage payment', + 'iYuu_token' => 'IYUU Token', + 'maintenance_content' => 'Maintain Description', + 'maintenance_mode' => 'Maintenance mode', + 'maintenance_time' => 'Maintenance End Time', + 'max_port', + 'max_rand_traffic', + 'min_port' => 'Port range', + 'min_rand_traffic' => 'Data range', + 'node_blocked_notification' => 'Node block alarm', + 'node_daily_notification' => 'Node Usage Report', + 'node_offline_notification' => 'Node Offline Reminder', + 'oauth_path' => 'Third Party Login Platform', + 'offline_check_times' => 'Number of reminders offline', + 'password_reset_notification' => 'Reset Password', + 'paybeaver_app_id' => 'App ID', + 'paybeaver_app_secret' => 'App Secret', + 'payjs_key' => 'Communication Key', + 'payjs_mch_id' => 'Merchant Number', + 'payment_confirm_notification' => 'Manual Payment Confirmation Notification', + 'payment_received_notification' => 'Payment successful', + 'paypal_app_id' => 'Application ID', + 'paypal_certificate' => 'Certificates', + 'paypal_password' => 'API Password', + 'paypal_secret' => 'Signature', + 'paypal_username' => 'API Username', + 'pushDeer_key' => 'PushDeer Key', + 'pushplus_token' => 'PushPlus Token', + 'rand_subscribe' => 'Random Subscription', + 'redirect_url' => 'Redirect Address', + 'referral_money' => 'Cash out Limit', + 'referral_percent' => 'Return Ratio', + 'referral_status' => 'Promotion features', + 'referral_traffic' => 'Register traffic', + 'referral_type' => 'Return Mode', + 'register_ip_limit' => 'Registration limit with IP', + 'reset_password_times' => 'Reset Password Count', + 'reset_traffic' => 'Data reset automatically', + 'server_chan_key' => 'ServerChan SCKEY', + 'standard_currency' => 'Current currency', + 'stripe_public_key' => 'Public Key', + 'stripe_secret_key' => 'Secret Key', + 'stripe_signing_secret' => 'WebHook Signing secret', + 'subject_name' => 'Custom Product Name', + 'subscribe_ban_times' => 'Subscription request threshold +', + 'subscribe_domain' => 'Node Subscription Address', + 'subscribe_max' => 'Subscribe to Nodes', + 'telegram_token' => 'Telegram Token', + 'tg_chat_token' => 'TG Jam Token', + 'theadpay_key' => 'Merchant Key', + 'theadpay_mchid' => 'Merchant ID', + 'theadpay_url' => 'Interface Address', + 'ticket_closed_notification' => 'Ticket close notification', + 'ticket_created_notification' => 'New Ticket Notification', + 'ticket_replied_notification' => 'Ticket Reply Notification', + 'traffic_ban_time' => 'Envelope duration', + 'traffic_ban_value' => 'Data abnormal threshold', + 'traffic_limit_time' => 'Time interval', + 'traffic_warning_percent' => 'Traffic warning threshold', + 'trojan_license' => 'Trojan Authorization', + 'username_type' => 'Account Type', + 'user_invite_days' => 'User-Invitation Code Expiration', + 'v2ray_license' => 'V2Ray Authorize', + 'v2ray_tls_provider' => 'V2Ray TLS Configuration', + 'webmaster_email' => 'Admin Email', + 'website_analytics' => 'Statistics Code', + 'website_callback_url' => 'General Payment Callback Address', + 'website_customer_service' => 'Support Code', + 'website_home_logo' => 'Homepage logo', + 'website_logo' => 'Logo', + 'website_name' => 'Site Name', + 'website_security_code' => 'Site Security Code', + 'website_url' => 'Site address', + 'web_api_url' => 'Authorization/Backend Access Domain', + 'wechat_aid' => 'Microcredit Enterprise Application ID', + 'wechat_cid' => 'Microcredit Company ID', + 'wechat_encodingAESKey' => 'Microcredit Enterprise Application EncodingAESKey', + 'wechat_qrcode' => 'Min QR Code', + 'wechat_secret' => 'Microcredit Enterprise Application Key', + 'wechat_token' => 'Microcredit Application TOKEN', + + 'hint' => [ + 'account_expire_notification' => 'Notify users about to expire', + 'active_times' => 'Number of accounts that can be activated by email within 24 hours', + 'admin_invite_days' => 'Expiration of administrator-generated invitation code', + 'aff_salt' => 'When left blank, the invite link will show the user ID; enter any English/number to encrypt the user link ID', + 'alipa_qrcode', + 'AppStore_id' => 'Apple account used in iOS settings tutorials', + 'AppStore_password' => 'Apple password used in iOS settings tutorials', + 'auto_release_port' => 'Banned/Expires '.config('tasks.release_port').'The port of the day account is automatically released', + 'bark_key' => 'Push messages to iOS device. Requires an app called Bark to be installed on iOS device, a long string of URLs from the site. Enable Bark. Make sure to fill in this value', + 'bitpay_secret', + 'captcha_key' => 'BrowseSetup Guideto set up', + 'captcha_secret', + 'codepay_id', + 'codepay_key', + 'codepay_url', + 'data_anomaly_notification' => 'Inner traffic exceeding abnormal threshold notification overtube', + 'data_exhaust_notification' => 'Notify users that traffic will be exhausted', + 'ddns_key' => "BrowseSetup Guideto set up", + 'ddns_mode' => 'Automatically update content to DNS Provider when adding/editing/deleting node\'s domain name, ipv4, ipv6', + 'ddns_secret', + 'default_days' => 'Default account validity period when user is registered, 0 is due that day', + 'default_traffic' => 'Default traffic available when registering users', + 'detection_check_times' => 'Automatically disconnect nodes after N and no limit for 0/empty and no more than 12', + 'dingTalk_access_token' => 'Ready to read thenailing manualto review steps', + 'dingTalk_secret' => 'Optional! Enabling robot[加签]is required!', + 'epa_key', + 'epa_mch_id', + 'epa_url', + 'expire_days' => '[Account Expiry Notice] Start Thresholder, Daily Notifications', + 'f2fpay_app_id' => 'Use:APPID', + 'f2fpay_private_key' => 'Application key generated when generated', + 'f2fpay_public_key' => 'Note that the public key is not applied!', + 'forbid_mode' => 'Block the corresponding area by IP, non-block access', + 'invite_num' => 'Number of invitations that users can generate', + 'is_activate_account' => 'When enabled, users need email to activate their account', + 'is_AliPay', + 'is_ban_status' => '(prudent) Blocking the entire account will reset all data on the account and prevent users from logging in, and disable user agent only on status', + 'is_captcha' => 'Authentication code is required for login/registration after enabled.', + 'is_checkin' => 'When logging in, traffic will be randomly obtained according to traffic range', + 'is_clear_log' => 'Auto-clear unused logs when enabled (recommended)', + 'is_custom_subscribe' => 'When enabled, the top of the subscription information will show the expiration time, the amount of traffic left (only individual clients are supported)', + 'is_email_filtering' => 'Blacklist: Users can register with emails other than any blacklist; whitelist: Users can only choose to register using whitelisted email suffixes', + 'is_forbid_robot' => '404 errors if you are robot, creep, and proxy access to the website', + 'is_free_code' => 'Free invite code is not visible after closing', + 'is_invite_register', + 'is_otherPay', + 'is_push_bear', + 'is_QQPay', + 'is_rand_port' => 'Random port when registering, adding user', + 'is_register' => 'Cannot register after closing', + 'is_subscribe_ban' => 'Automatically block user subscription requests beyond the set threshold when enabled', + 'is_traffic_ban' => 'Auto-envelope number after 1 hour traffic above the abnormal threshold (disable proxy only)', + 'is_WeChatPay', + 'iYuu_token' => 'Enables flying. Make sure to fill in this value (to apply for IYUU tok)', + 'maintenance_content' => 'Custom maintenance information', + 'maintenance_mode' => "When enabled, user access migration to maintenance interface | Admin login using :url", + 'maintenance_time' => 'Used to maintain interface countdown', + 'max_port', + 'max_rand_traffic', + 'min_port' => 'Port range:1000 - 65535', + 'min_rand_traffic', + 'node_blocked_notification' => 'Hourly check if the node is blocked and alerts the administrator', + 'node_daily_notification' => 'Report consumption yesterday by node traffic', + 'node_offline_notification' => 'Detect node offline every 10 minutes and remind administrator', + 'oauth_path' => 'Please add settings in .ENV to open the platform here', + 'offline_check_times' => 'Don\'t remind again within 24 hours', + 'password_reset_notification' => 'When enabled users can reset their password', + 'paybeaver_app_id' => 'Merchant Center -> Developer -> App ID', + 'paybeaver_app_secret' => 'Merchant Center -> Developer -> App Secret', + 'payjs_key', + 'payjs_mch_id' => 'Get information oninterface', + 'payment_confirm_notification' => 'User notifies the administrator of the order after manual payment', + 'payment_received_notification' => 'Notify user order status after payment of order', + 'paypal_app_id', + 'paypal_certificate', + 'paypal_password', + 'paypal_secret', + 'paypal_username', + 'pushDeer_key' => 'Enable PushDeer, make sure to enter this value (to apply for Push Key)', + 'pushplus_token' => 'Enable PushPlus, make sure to enter this value (to apply Token)', + 'rand_subscribe' => 'When enabled, you will return the node information randomly, otherwise you will return it in order of the node', + 'redirect_url' => 'Access request was blocked and redirected to the address when triggering the audit rule', + 'referral_money' => 'How many dollars to apply for cashout', + 'referral_percent' => 'Percentage of shares per consumer promoter per account registered by promotion link', + 'referral_status' => 'User is not visible after shutdown but does not affect normal invitation return', + 'referral_traffic' => 'Send traffic by extension link, invitation code registration', + 'referral_type' => 'Old data will remain unchanged after switching mode and new returns will be calculated in new mode', + 'register_ip_limit' => 'Number of registrations allowed with IP within 24 hours, no limit for 0/empty', + 'reset_password_times' => 'Number of times you can reset your password by email within 24 hours', + 'reset_traffic' => 'Users will automatically reset available traffic according to their purchase date', + 'server_chan_key' => "Enable ServerChan, please enter this value (to apply SCKEY)", + 'standard_currency' => 'Default currency for the money section of the site', + 'stripe_public_key', + 'stripe_secret_key', + 'stripe_signing_secret', + 'subject_name' => 'Display product title for payment channel', + 'subscribe_ban_times' => 'Subscription link request limit within 24 hours', + 'subscribe_domain' => '(recommended) To prevent DNS poisoning of DNS domains from being subscribed properly by http:// or https://"', + 'subscribe_max' => 'Get several nodes on client subscription, return all nodes on 0/empty', + 'telegram_token' => 'Find @Bother to apply for robots to get TOKEN', + 'tg_chat_token' => 'Enable TG jamma. Make sure to enter this value (to apply token)', + 'theadpay_key', + 'theadpay_mchid', + 'theadpay_url', + 'ticket_closed_notification' => 'Notify user about ticket shutdown', + 'ticket_created_notification' => 'New ticket notification manager/user depending on who created the new ticket', + 'ticket_replied_notification' => 'Ticket reply notification each other', + 'traffic_ban_time' => 'Trigger traffic abnormalities cause users to be banned for long periods of time and automatically unblock when they expire', + 'traffic_ban_value' => 'This value exceeds in 1 hour, triggering auto-seal', + 'traffic_limit_time' => 'How long to sign again', + 'traffic_warning_percent' => '[Notification Duration of traffic threshold] to notify users daily', + 'control_license', + 'username_type' => 'Specify the type of site user account, default to email', + 'user_invite_days' => 'Expiration of user self-generated invitations', + 'v2ray_license', + 'v2ray_tls_provider' => 'Use backend autoissue/load TLS certificate (node\'s settings value is higher than here)', + 'webmaster_email' => 'An administrator email will be provided for contact information when an error is prompted', + 'website_analytics' => 'Stats JS', + 'website_callback_url' => 'Prevent payment from being backsliding due to a DNS poisoning of a website domain, with http://', + 'website_customer_service' => 'Support JS', + 'website_home_logo', + 'website_logo', + 'website_name' => 'Show On Mail', + 'website_security_code' => 'You must add a security code to thesecurity entrywhen not empty', + 'website_url' => 'Generate password reset and pay online', + 'web_api_url' => 'Example:https://demo.proxypanel.cf', + 'wechat_aid' => 'Create an app inapp management- AgentId', + 'wechat_cid' => 'Get the enterprise ID inmy enterprise', + 'wechat_encodingAESKey' => 'App Management -> Application -> Set API Receive -> EncodingAESKey', + 'wechat_qrcode', + 'wechat_secret' => 'App Secretariats (may need to download company micromessages to view)', + 'wechat_token' => 'App Management -> Application -> Set API Receive -> TOKEN, URL Settings::url', + ], + 'placeholder' => [ + 'default_url' => 'Defaulting :url', + 'server_chan_key' => 'Enter ServerChan\'s SCKEY->Click again to update', + 'pushDeer_key' => 'Fill Push Key -> Click on Update', + 'iYuu_token' => 'Fill IYUU Token -> Fly in Love', + 'bark_key' => 'Enter the device number in Bark -> Click to Update', + 'telegram_token' => 'Enter Telegram Token -> Click Update', + 'pushplus_token' => 'Please go to ServerChan application', + 'dingTalk_access_token' => 'Customize access_token in robot WebHook', + 'dingTalk_secret' => 'Customize the key that will appear after robot is signed', + 'wechat_aid' => 'Applied AgentId', + 'wechat_cid' => 'Enter the MicroMessage Business ID -> Click to Update', + 'wechat_secret' => 'App Secret', + 'tg_chat_token' => 'Please go to Telegram application', + 'codepay_url' => 'https://codepay.fatq.com/create_order/?', + ], + 'payment' => [ + 'attribute' => 'Payment Settings', + 'channel' => [ + 'alipay' => 'PayPal F2F', + 'codepay' => 'Code Payment', + 'epay' => 'Pay easily', + 'payjs' => 'PayJs', + 'paypal' => 'PayPal', + 'stripe' => 'Stripe', + 'paybeaver' => 'Beaver Payment', + 'theadpay' => 'Horizontal payments', + 'manual' => 'Manual payment', + ], + 'hint' => [ + 'alipay' => 'This feature requiresant gold for open platformto apply for permissions and apps', + 'codepay' => 'Apply Codepay Account', + 'payjs' => 'Please apply toPayJs', + 'paypal' => 'Sign in with merchant accountAPI credentials application pageagree and get settings information', + 'paybeaver' => 'Apply PayBeaver Account', + 'theadpay' => 'Please pay THeadPayfor your account at', + 'manual' => 'Display will be automatically enabled after setting', + ], + ], + 'notification' => [ + 'channel' => [ + 'telegram' => 'TG telex', + 'wechat' => 'Microcredit Enterprise', + 'dingtalk' => 'Pin', + 'email' => 'Email', + 'bark' => 'Bark', + 'serverchan' => 'ServerChan', + 'pushdeer' => 'PushDeer', + 'pushplus' => 'PushPlus', + 'iyuu' => 'Love Fly', + 'tg_chat' => 'TG sauce', + 'site' => 'Inside Notifications', + ], + ], + 'forbid' => [ + 'mainland' => 'Block Continent', + 'china' => 'Block China', + 'oversea' => 'Blocking Outcomers', + ], + 'username' => [ + 'email' => 'Email', + 'mobile' => 'Phone number', + 'any' => 'Any Username', + ], + 'active_account' => [ + 'before' => 'Activate before registration', + 'after' => 'Activate after registration', + ], + 'ddns' => [ + 'namesilo' => 'Namesilo', + 'aliyun' => 'Aliyun (International&domestic)', + 'dnspod' => 'DNSPod', + 'cloudflare' => 'CloudFlare', + ], + 'captcha' => [ + 'standard' => 'Normal Code', + 'geetest' => 'Positive aspects', + 'recaptcha' => 'Google ReCaptcha', + 'hcaptcha' => 'hCaptcha', + ], + 'referral' => [ + 'once' => 'First acquisition return', + 'loop' => 'Loop Return', + ], + ], + 'set_to' => 'The :attribute', + 'minute' => 'minutes', + 'query' => 'Question', + 'optional' => 'Optional', + 'require' => 'Required', +]; \ No newline at end of file diff --git a/resources/lang/en/auth.php b/resources/lang/en/auth.php index ae6ab25d..b2768eb0 100644 --- a/resources/lang/en/auth.php +++ b/resources/lang/en/auth.php @@ -20,10 +20,7 @@ return [ 'sent' => 'Email has been sent! Please check your mailbox! (Email may be in the Trash)', ], 'email' => [ - 'error' => [ - 'banned' => 'Your email service provider was banned by our platform. Please use another valid email', - 'invalid' => 'Your email service provider is not in our supporting list. Please use another email', - ], + 'error' => ['banned' => 'Your email service provider was banned by our platform. Please use another valid email', 'invalid' => 'Your email service provider is not in our supporting list. Please use another email'], ], 'error' => [ 'account_baned' => 'Your account has been banned!', @@ -76,10 +73,7 @@ return [ 'register' => [ 'attribute' => 'Sign up', 'code' => 'Registration Code', - 'error' => [ - 'disable' => 'Sorry, The registration function has been disabled', - 'throttle' => 'Anti-bots shield is active! Please do not send multiple register from at short amount of times!', - ], + 'error' => ['disable' => 'Sorry, The registration function has been disabled', 'throttle' => 'Anti-bots shield is active! Please do not send multiple register from at short amount of times!'], 'promotion' => 'Still no account? Please go to ', 'failed' => 'Registration failed, please try later', 'success' => 'Registration successfully', diff --git a/resources/lang/en/common.php b/resources/lang/en/common.php index e82a6913..0993146b 100644 --- a/resources/lang/en/common.php +++ b/resources/lang/en/common.php @@ -1,61 +1,63 @@ 'Account', - 'available_date' => 'Available Until/Period', - 'created_at' => 'Created At', - 'expired_at' => 'Expired At', - 'updated_at' => 'Updated At', - 'back' => 'Back', - 'cancel' => 'Cancel', - 'close' => 'Close', - 'close_item' => 'Close :attribute', - 'confirm' => 'Confirm', - 'continues' => 'Continues', - 'open' => 'Open', - 'send' => 'Send', - 'view' => 'View', - 'reset' => 'Rest', - 'copy' => [ + 'account' => 'Account', + 'available_date' => 'Available Until/Period', + 'created_at' => 'Created At', + 'expired_at' => 'Expired At', + 'updated_at' => 'Updated At', + 'latest_at' => 'Latest At', + 'back' => 'Back', + 'cancel' => 'Cancel', + 'close' => 'Close', + 'close_item' => 'Close :attribute', + 'confirm' => 'Confirm', + 'continues' => 'Continues', + 'open' => 'Open', + 'send' => 'Send', + 'view' => 'View', + 'reset' => 'Rest', + 'copy' => [ 'attribute' => 'Copy', 'success' => 'Copy successfully', 'failed' => 'Copy failed, please copy manually', ], - 'free' => 'Free', - 'replace' => 'Change', - 'submit' => 'Submit', - 'submit_item' => 'Submit :attribute', - 'generate' => 'Generate', - 'generate_item' => 'Generate :attribute', - 'to_safari' => ['0' => 'Click on the upper right corner', '1' => ', Choose ', '2' => 'Open In Safari', '3' => ' to improve your experience.'], - 'update_browser' => ['0' => 'You are using an ', '1' => 'outdated', '2' => ' browser. Please', '3' => 'upgrade your browser', '4' => ' to improve your experience.'], - 'apply' => 'Apply', - 'avatar' => 'Avatar', - 'customize' => 'Custom', - 'all' => 'All', - 'default' => 'Default', - 'download' => 'Download', - 'goto' => 'Goto', - 'warning' => 'Warning', - 'success' => 'Successfully', - 'failed' => 'Failed', - 'update' => 'Update', - 'update_action' => 'Update :action', - 'none' => 'None', - 'new' => 'New', - 'sorry' => 'Sorry', - 'applied' => ':attribute Applied', - 'active_item' => 'Active :attribute', - 'error' => 'Error', - 'toggle' => 'Toggle', - 'toggle_action' => 'Toggle :action', - 'request_url' => 'Request Url', - 'function' => [ + 'add' => 'Add', + 'free' => 'Free', + 'replace' => 'Change', + 'submit' => 'Submit', + 'submit_item' => 'Submit :attribute', + 'generate' => 'Generate', + 'generate_item' => 'Generate :attribute', + 'to_safari' => [0 => 'Click on the upper right corner', 1 => ', Choose ', 2 => 'Open In Safari', 3 => ' to improve your experience.'], + 'update_browser' => [0 => 'You are using an ', 1 => 'outdated', 2 => ' browser. Please', 3 => 'upgrade your browser', 4 => ' to improve your experience.'], + 'apply' => 'Apply', + 'avatar' => 'Avatar', + 'customize' => 'Custom', + 'all' => 'All', + 'default' => 'Default', + 'download' => 'Download', + 'goto' => 'Goto', + 'warning' => 'Warning', + 'success' => 'Successfully', + 'failed' => 'Failed', + 'update' => 'Update', + 'update_action' => 'Update :action', + 'none' => 'None', + 'new' => 'New', + 'sorry' => 'Sorry', + 'applied' => ':attribute Applied', + 'active_item' => 'Active :attribute', + 'error' => 'Error', + 'toggle' => 'Toggle', + 'toggle_action' => 'Toggle :action', + 'request_url' => 'Request Url', + 'function' => [ 'navigation' => 'Navigation', 'menubar' => 'Menubar', 'fullscreen' => 'Fullscreen', ], - 'days' => [ + 'days' => [ 'sun' => 'Sunday', 'mon' => 'Monday', 'tue' => 'Tuesday', @@ -67,20 +69,76 @@ return [ 'work' => 'Work Day', 'next' => 'Next Day', ], - 'qrcode' => ':attribute QrCode', - 'deleted' => 'Deleted', - 'deleted_item' => ':attribute Deleted', - 'print' => 'Print', - 'unlimited' => 'Unlimited', - 'payment' => [ + 'qrcode' => ':attribute QrCode', + 'deleted' => 'Deleted', + 'deleted_item' => ':attribute Deleted', + 'print' => 'Print', + 'unlimited' => 'Unlimited', + 'payment' => [ 'credit' => 'Credit', 'wechat' => 'Wechat', 'alipay' => 'Alipay', 'crypto' => 'Cryptocurrency', 'manual' => 'Manual Pay', + 'status' => [ + 'wait' => 'Awaiting payment', + 'fail' => 'Payment Failed', + 'success' => 'Payment successful', + ], ], - 'recommend' => 'Recommend', - 'advance' => 'Advance', - 'status' => 'Status', - 'action' => 'Action', + 'order' => [ + 'status' => [ + 'cancel' => 'Cancel', + 'complete' => 'Completed', + 'prepaid' => 'Prepaid', + 'ongoing' => 'Using', + 'review' => 'Waiting for confirm', + ], + ], + 'recommend' => 'Recommend', + 'advance' => 'Advance', + 'action' => 'Action', + 'search' => 'Search', + 'edit' => 'Part', + 'delete' => 'Deletions', + 'status' => [ + 'attribute' => 'Status', + 'inactive' => 'Not activated', + 'disabled' => 'Stop using', + 'banned' => 'Banned', + 'normal' => 'Regular', + 'enabled' => 'Reuse', + 'expire' => 'Expiration', + 'limited' => 'Limitations', + 'run_out' => 'Out of traffic', + 'unused' => 'Unused', + 'used' => 'Used', + 'closed' => 'Closed', + 'applying' => 'Applying', + 'withdrawn' => 'Withdrawn', + 'unwithdrawn' => 'Not withdrawn', + 'reply' => 'Replied', + 'pending' => 'Pending', + 'unknown' => 'Announcements', + 'available' => 'Active', + 'reject' => 'Rise Back', + 'rejected' => 'Rejected', + 'review' => 'Pending approval', + 'reviewed' => 'Approve pending payment', + 'paid' => 'Waited', + 'payment_pending' => 'To be paid', + 'pass' => 'Passed', + 'send_to_credit' => 'Buy to Balance', + 'waiting_tobe_send' => 'Waiting for delivery', + ], + 'stay_unchanged' => 'Leave empty for the same', + 'random_generate' => 'Leave empty to randomly generate', + 'request_failed' => 'Request error, please try again', + 'convert' => 'Convert', + 'import' => 'Inputs', + 'or' => 'or', + 'more' => 'More', + 'to' => 'To', + 'to_be_send' => 'Pending', + 'developing' => 'Developing! Stay tuned', ]; diff --git a/resources/lang/en/model.php b/resources/lang/en/model.php new file mode 100644 index 00000000..f053d261 --- /dev/null +++ b/resources/lang/en/model.php @@ -0,0 +1,239 @@ + [ + 'id' => 'User ID', + 'attribute' => 'User', + 'nickname' => 'Nickname', + 'username' => 'Account', + 'password' => 'Password', + 'credit' => 'Credit', + 'invite_num' => 'Available Invitation Code', + 'reset_date' => 'Reset day', + 'port' => 'Port', + 'traffic_used' => 'Traffic Usage', + 'service' => 'Proxy', + 'group' => 'Group', + 'level' => 'Rank', + 'account_status' => 'Status', + 'proxy_status' => 'Proxy Status', + 'expired_date' => 'Expiration Date', + 'role' => 'Role Permissions', + 'wechat' => 'Wechat', + 'qq' => 'QQ', + 'remark' => 'Remarks', + 'uuid' => 'VMess UUID', + 'proxy_passwd' => 'Password', + 'proxy_method' => 'Encryption Method', + 'usable_traffic' => 'Available traffic', + 'proxy_protocol' => 'Protocol', + 'proxy_obfs' => 'Obsolete', + 'speed_limit' => 'User limit', + 'inviter' => 'invitees', + 'created_date' => 'Registration at', + ], + 'common' => [ + 'extend' => 'Extended', + 'sort' => 'Sort by', + 'description' => 'Description', + ], + 'country' => [ + 'code' => 'ISO country code', + 'icon' => 'Character', + 'name' => 'Country name', + ], + 'subscribe' => [ + 'code' => 'Subscription Code', + 'req_times' => 'Number of requests', + 'updated_at' => 'Last Request Time', + 'ban_time' => 'Banned Time', + 'ban_desc' => 'Ban reason', + 'req_ip' => 'Request IP', + 'req_header' => 'Visits', + ], + 'oauth' => [ + 'type' => 'Channels', + 'identifier' => ' Unique ID', + ], + 'user_group' => [ + 'attribute' => 'User Group', + 'name' => 'Group Name', + 'nodes' => 'Select Node', + ], + 'node' => [ + 'attribute' => 'Node', + 'id' => 'Node ID', + 'type' => 'Type', + 'name' => 'Name', + 'domain' => 'Domain Name', + 'static' => 'Survive', + 'online_user' => 'Online', + 'data_consume' => 'Generate traffic', + 'data_rate' => 'Data Ratio', + 'ddns' => 'DNS', + 'ipv4' => 'IPv4 Address', + 'ipv6' => 'IPv6 Address', + 'push_port' => 'Message Push Port', + 'level' => 'Rank', + 'rule_group' => 'Audit Group', + 'traffic_limit' => 'Node Speed', + 'client_limit' => 'Device Limit', + 'label' => 'Tags', + 'country' => 'Country/region', + 'udp' => 'UDP', + 'display' => 'Display & Subscription', + 'detection' => 'Node block detection', + 'method' => 'Encryption Method', + 'protocol' => 'Protocol', + 'protocol_param' => 'Protocol parameters', + 'obfs' => 'Obsolete', + 'obfs_param' => 'obfuscate parameters', + 'single' => 'Single Port', + 'transfer' => 'Transit', + 'service_port' => 'Service Port', + 'single_passwd' => '[单] Password', + 'v2_alter_id' => 'Extra ID', + 'v2_net' => 'Transfer Method', + 'v2_cover' => 'disguised type', + 'v2_host' => 'camouflage domain', + 'v2_path' => 'Path | Key', + 'v2_sni' => 'SNI', + 'v2_tls' => 'Connect to TLS', + 'v2_tls_provider' => 'TLS Configuration', + 'relay_port' => 'Transit Port', + ], + 'node_auth' => [ + 'attribute' => 'Node Authorization', + 'key' => 'Communication keynode uses', + 'secret' => 'Reverse Communication Key', + ], + 'node_cert' => [ + 'attribute' => 'Domain Certificate', + 'domain' => 'Domain Name', + 'key' => 'KEY', + 'pem' => 'PEM', + 'issuer' => 'Issuing agency', + 'signed_date' => 'Issued on', + 'expired_date' => 'Expired At', + ], + 'order' => [ + 'attribute' => 'Order', + 'id' => 'Order ID', + 'original_price' => 'Original price', + 'price' => 'Real Price', + 'pay_way' => 'payment method', + 'status' => 'Order Status', + ], + 'goods' => [ + 'attribute' => 'Commodities', + 'type' => 'Type', + 'name' => 'Name', + 'price' => 'Sale Price', + 'category' => 'Categories', + 'level' => 'Rank', + 'renew' => 'Data Reset Price', + 'user_limit' => 'User limit', + 'period' => 'Reset period', + 'traffic' => 'Traffic limit', + 'invite_num' => 'Send Invitation Number', + 'limit_num' => 'Limit purchase quantity', + 'available_date' => 'Available Until/Period', + 'hot' => 'Hot', + 'color' => 'Colors', + 'logo' => 'Product Image', + 'info' => 'Custom List', + ], + 'rule' => [ + 'attribute' => 'Rules', + 'type' => 'Type', + 'name' => 'Description', + 'pattern' => 'Value', + ], + 'rule_group' => [ + 'attribute' => 'Rule Group', + 'name' => 'Group Name', + 'type' => 'Audit mode', + 'rules' => 'Select Rule', + ], + 'role' => [ + 'attribute' => 'Roles', + 'name' => 'Name', + 'permissions' => 'Permissions', + ], + 'permission' => [ + 'attribute' => 'Permission Behavior', + 'description' => 'Description of behavior', + 'name' => 'Route Name', + ], + 'article' => [ + 'attribute' => 'Articles', + 'type' => 'Class', + 'category' => 'Categories', + 'language' => 'Languages', + 'logo' => 'Header', + 'created_at' => 'Published Date', + 'updated_at' => 'Last updated', + ], + 'coupon' => [ + 'attribute' => 'Voucher', + 'name' => 'Card Name', + 'sn' => 'Use voucher code', + 'logo' => 'Card Image', + 'type' => 'Type', + 'value' => 'Quote limit', + 'priority' => 'Rights', + 'usable_times' => 'Usage Count', + 'minimum' => 'Discount condition', + 'used' => 'Personal Usage', + 'levels' => 'Ranking limit', + 'groups' => 'Group Limit', + 'users_whitelist' => 'Exclusive User', + 'users_blacklist' => 'Disable User', + 'services_whitelist' => 'License Item', + 'services_blacklist' => 'Disable products', + 'newbie' => 'Newcomer Exclusive', + 'num' => 'Quantity', + ], + 'aff' => [ + 'invitee' => 'Consumer', + 'order_id' => 'Order number', + 'amount' => 'Spend amount', + 'commission' => 'Rebate amount', + 'updated_at' => 'Processing time', + 'created_at' => 'Order Time', + ], + 'referral' => [ + 'created_at' => 'Request Time', + 'user' => 'Request Account', + 'amount' => 'Amount requested to cash out', + 'id' => 'Request ID', + ], + 'notification' => [ + 'type' => 'Type', + 'address' => 'Incoming Address', + 'created_at' => 'Delivery Time', + 'status' => 'Delivery Status', + ], + 'ip' => [ + 'network_type' => 'Newsletter Type', + 'info' => 'Dependencies', + ], + 'user_traffic' => [ + 'upload' => 'Upload traffic', + 'download' => 'Download traffic', + 'total' => 'Total traffic', + 'log_time' => 'Record Time', + ], + 'user_data_modify' => [ + 'before' => 'Pre-change traffic', + 'after' => 'Traffic after change', + 'description' => 'Description', + 'created_at' => 'Time of occurrence', + ], + 'user_credit' => [ + 'before' => 'Balance before operation', + 'after' => 'Amount after operation', + 'amount' => 'Amount occurs', + 'created_at' => 'Time of occurrence', + ], +]; \ No newline at end of file diff --git a/resources/lang/en/user.php b/resources/lang/en/user.php index 7b80f4e4..e8645130 100644 --- a/resources/lang/en/user.php +++ b/resources/lang/en/user.php @@ -20,26 +20,6 @@ return [ 'unknown' => 'UNKNOWN ERROR, Please try to refresh your browser first before contact admin for help', ], ], - 'status' => [ - 'disabled' => 'Disabled', - 'enabled' => 'Normal', - 'expired' => 'Expired', - 'limited' => 'Limited', - 'run_out' => 'Run out of Data', - 'unused' => 'Unused', - 'used' => 'Used', - 'closed' => 'Closed', - 'completed' => 'Completed', - 'waiting_payment' => 'Waiting for payment', - 'using' => 'Using', - 'waiting_confirm' => 'Waiting for confirm', - 'prepaid' => 'Prepaid', - 'applying' => 'Applying', - 'withdrawn' => 'Withdrawn', - 'not_withdrawn' => 'Not withdrawn', - 'reply' => 'Replied', - 'pending' => 'Pending', - ], 'home' => [ 'attendance' => [ 'attribute' => 'Attendance', @@ -107,7 +87,7 @@ return [ 'error_response' => 'Something went wrong, please try again later.', 'invite' => [ 'attribute' => 'Invitation code', - 'total' => 'Total: num invitation codes', + 'counts' => 'Total :num invitation codes', 'tips' => 'Can generate :num invitation codes, valid within :days', 'logs' => 'Invitation Record', 'promotion' => 'Register and activate with your invitation code, Both sides will get :traffic traffic as rewards; when invitees purchase services, you will get :referral_percent% of their spend amount as commission.', @@ -122,14 +102,12 @@ return [ 'success' => 'Reset Successfully', ], 'referral' => [ - 'link' => 'Referral link', - 'total' => 'Total rebate :amount (:total times), you can apply for cash withdrawal when it reaches :money.', - 'amount' => 'Spend amount', - 'commission' => 'Rebate amount', - 'logs' => 'Commission records', - 'failed' => 'Application failed', - 'success' => 'Application success', - 'msg' => [ + 'link' => 'Referral link', + 'total' => 'Total rebate :amount (:total times), you can apply for cash withdrawal when it reaches :money.', + 'logs' => 'Commission records', + 'failed' => 'Application failed', + 'success' => 'Application success', + 'msg' => [ 'account' => 'Account has expired, please purchase to active service first', 'applied' => 'There is an application exist, please wait for the previous application to be processed', 'unfulfilled' => 'A minimal amount to created application is :amount', @@ -139,8 +117,6 @@ return [ ], 'inviter' => 'Inviter', 'invitee' => 'Invitee', - 'consumer' => 'Consumer', - 'unknown' => 'Unknown', 'registered_at' => 'Registration at', 'bought_at' => 'Purchased at', 'payment_method' => 'payment method', @@ -155,21 +131,27 @@ return [ 'withdraw' => 'Withdraw', 'scan_qrcode' => 'Please scan the QR code', 'shop' => [ - 'hot' => 'HOT', - 'limited' => 'LIMIT', - 'change_amount' => 'Amount', - 'buy' => 'Purchase', - 'description' => 'Description', - 'service' => 'Service', - 'pay_credit' => 'Pay By Credit', - 'pay_online' => 'Pay By Online payment', - 'price' => 'Price', - 'quantity' => 'Quantity', - 'subtotal' => 'Subtotal', - 'total' => 'Total', - 'conflict' => 'Service Conflict', - 'conflict_tips' => '

Current order will be set as Prepaid order

  1. Prepaid order will be active after current service expired!
  2. Your also can active the order manually
', - 'call4help' => 'Please create a ticket to ask customer service', + 'hot' => 'HOT', + 'limited' => 'LIMIT', + 'change_amount' => 'Amount', + 'change_amount_help' => 'Please enter a recharge amount', + 'buy' => 'Purchase', + 'description' => 'Description', + 'service' => 'Service', + 'pay_credit' => 'Pay By Credit', + 'pay_online' => 'Pay By Online payment', + 'price' => 'Price', + 'quantity' => 'Quantity', + 'subtotal' => 'Subtotal', + 'total' => 'Total', + 'conflict' => 'Service Conflict', + 'conflict_tips' => '

Current order will be set as Prepaid order

  1. Prepaid order will be active after current service expired!
  2. Your also can active the order manually
', + 'call4help' => 'Please create a ticket to ask customer service', + ], + 'service' => [ + 'node_count' => 'Include :num Nodes', + 'country_count' => 'Covered :num Countries or Areas', + 'unlimited' => 'Unlimited Speed', ], 'payment' => [ 'error' => 'The recharge balance is not compliant', @@ -181,17 +163,11 @@ return [ ], 'invoice' => [ 'attribute' => 'Order', - 'id' => 'Order number', 'detail' => 'Order Detail', 'amount' => 'Amount', 'active_prepaid_question' => 'Are you sure to active prepaid order?', 'active_prepaid_tips' => 'After active:
Current order will be set to expired!
Expired dates will be recalculated!', ], - 'service' => [ - 'node_count' => 'Include :num Nodes', - 'country_count' => 'Covered :num Countries or Areas', - 'unlimited' => 'Unlimited Speed', - ], 'node' => [ 'info' => 'Configuration information', 'setting' => 'Proxy settings', @@ -211,22 +187,22 @@ return [ 'error' => 'Exchange Link Error', ], 'ticket' => [ - 'attribute' => 'Ticket', - 'submit_tips' => 'Submit Ticket?', - 'reply_confirm' => 'Reply Ticket?', - 'close_tips' => 'Are you sure to close this ticket?', - 'close' => 'Close Ticket', - 'failed_closed' => 'Error: Ticket has been closed', - 'reply_placeholder' => 'Say something', - 'reply' => 'Reply', - 'close_msg' => 'Ticket ID :id has been closed by user', - 'placeholder' => 'Please describe your questions in detail', - 'title_placeholder' => 'Please describe your questions in few key words', - 'new' => 'Create Ticket', - 'working_hour' => 'Customer Service', - 'online_hour' => 'Working Hours', - 'service_tips' => 'We have many way to contact, please choose ONE of them!
Duplicate request will cost the service to delay', - 'error' => 'Error!Please contact Customer Service', + 'attribute' => 'Ticket', + 'submit_tips' => 'Submit Ticket?', + 'reply_confirm' => 'Reply Ticket?', + 'close_tips' => 'Are you sure to close this ticket?', + 'close' => 'Close Ticket', + 'failed_closed' => 'Error: Ticket has been closed', + 'reply_placeholder' => 'Say something', + 'reply' => 'Reply', + 'close_msg' => 'Ticket ID :id has been closed by user', + 'title_placeholder' => 'Please describe your questions in few key words', + 'content_placeholder' => 'Please describe in detail the problems you have encountered or where we need our help so that we can help you quickly', + 'new' => 'Create Ticket', + 'working_hour' => 'Customer Service', + 'online_hour' => 'Working Hours', + 'service_tips' => 'We have many way to contact, please choose ONE of them!
Duplicate request will cost the service to delay', + 'error' => 'Error!Please contact Customer Service', ], 'traffic_logs' => [ '24hours' => 'Today Traffic Usage', diff --git a/resources/lang/en/validation.php b/resources/lang/en/validation.php index f0e6810e..81acaa77 100644 --- a/resources/lang/en/validation.php +++ b/resources/lang/en/validation.php @@ -106,12 +106,14 @@ return [ 'uploaded' => 'The :attribute failed to upload.', 'url' => 'The :attribute format is invalid.', 'uuid' => 'The :attribute must be a valid UUID.', - 'custom' => [ + + 'custom' => [ 'attribute-name' => [ 'rule-name' => 'custom-message', ], ], - 'attributes' => [ + + 'attributes' => [ 'name' => 'Name', 'nickname' => 'Nickname', 'username' => 'Username', diff --git a/resources/lang/ko.json b/resources/lang/ko.json new file mode 100644 index 00000000..307bfa9b --- /dev/null +++ b/resources/lang/ko.json @@ -0,0 +1,28 @@ +{ + "All rights reserved.": "버전 소유", + "Hello!": "안녕하세요", + "If you did not create an account, no further action is required.": "회원가입을 하지 않았다면 이 메일을 무시해주세요.", + "If you did not request a password reset, no further action is required.": "암호 재설정을 요청하지 않은 경우 추가 작업이 필요하지 않습니다.", + "If you’re having trouble clicking the \":actionText\" button, copy and paste the URL below\ninto your web browser:": "\":actionText\" 버튼을 클릭하는데 문제가 있는 경우 아래 URL을 복사하여 웹 브라우저에 붙여 넣으세요.", + "If your problem has not been solved, Feel free to open other one.": "문제가 해결되지 않은 경우 다른 해결방안을 살펴보세요", + "Invoice Detail": "주문서 상세 내역", + "Nodes Daily Report": "회선 데이터 보고", + "Payment for #:sn has been received! Total amount: :amount.": "您成功支付了订单#:sn,总金额为 :amount。", + "Payment Received": "주문서 결제 성공", + "Please click the button below to verify your email address.": "아래 버튼을 클릭하여 이메일을 인증하세요", + "Please click the button below to reset your password.": "비밀번호를 초기화하려면 아래 버튼을 누르십시오:", + "Regards": "권장", + "Reset Password Notification": "비밀번호 재설정 알림 ", + "Reset Password": "비밀번호 재설정", + "Send Password Reset Link": "비밀번호 재설정 링크 전송", + "Thanks for signing up! Before getting started, could you verify your email address by clicking on the link we just emailed to you? If you didn't receive the email, we will gladly send you another.": "회원가입 해주셔서 감사합니다! 시작하기 전에 이메일 계정으로 보낸 링크를 클릭해서 이메일을 확인해야 합니다! 만약 이메일을 받지 못했다면, 다시 전송해드리겠습니다.", + "Too Many Attempts.": "너무 많이 시도하였습니다", + "Too Many Requests": "요청이 횟수 많음", + "Verify Email Address": "이메일 인증", + "Verify Your Email Address": "이메일 인증해주세요", + "We won't ask for your password again for a few hours.": "확인이 완료되면 앞으로 몇 시간 동안 비밀번호를 입력하지 않아도 됩니다.", + "You are receiving this email because we received a password reset request for your account.": "계정의 비밀번호 재설정 요청으로 인하여 이 메일을 전송합니다.", + "Your email address is not verified.": "이메일이 인증되지 않았습니다.", + "You have not responded this ticket in :num hours, System has closed your ticket.": ":num시간 이상 동안 문의 답장이 없습니다. 시스템이 자동으로 문의를 닫았습니다.", + "You must have a valid subscription to view the content in this area!": "您必须拥有有效套餐才可以查看该区域的内容!" +} diff --git a/resources/lang/ko/admin.php b/resources/lang/ko/admin.php new file mode 100644 index 00000000..8c244c67 --- /dev/null +++ b/resources/lang/ko/admin.php @@ -0,0 +1,844 @@ + [ + 'users' => '总用户', + 'available_users' => '有效用户', + 'paid_users' => '付费用户', + 'active_days_users' => ':days 日内活跃用户', + 'inactive_days_users' => ':days 日以上不活跃用户', + 'online_users' => '当前在线', + 'expiring_users' => '临近到期', + 'overuse_users' => '流量大户(超过90%的用户)', + 'abnormal_users' => '1小时内流量异常', + 'nodes' => '节点', + 'maintaining_nodes' => '维护中的节点', + 'traffic_consumed' => '记录的消耗流量', + 'traffic_days_consumed' => ':days 日内消耗流量', + 'orders' => '总订单数', + 'online_orders' => '在线支付订单数', + 'succeed_orders' => '支付成功订单数', + 'credit' => '总余额', + 'withdrawing_commissions' => '待提现佣金', + 'withdrawn_commissions' => '已支出佣金', + ], + 'action' => [ + 'edit_item' => '编辑:attribute', + 'add_item' => '添加:attribute', + ], + 'confirm' => [ + 'delete' => [0 => '确定删除:attribute【', 1 => '】? '], + 'continues' => '确定继续操作吗? ', + 'export' => '确定全部导出? ', + ], + 'user_dashboard' => '个人中心', + 'menu' => [ + 'dashboard' => '管理中心', + 'user' => [ + 'attribute' => '用户系统', + 'list' => '用户管理', + 'oauth' => '用户授权', + 'group' => '用戶分组', + 'credit_log' => '余额变动', + 'subscribe' => '订阅管理', + ], + 'rbac' => [ + 'attribute' => '权限系统', + 'permission' => '权限列表', + 'role' => '角色列表', + ], + 'customer_service' => [ + 'attribute' => '客服系统', + 'ticket' => '服务工单', + 'article' => '文章管理', + 'push' => '消息推送', + 'mail' => '邮件群发', + ], + 'node' => [ + 'attribute' => '线路系统', + 'list' => '线路管理', + 'auth' => '线路授权', + 'cert' => '证书列表', + ], + 'rule' => [ + 'attribute' => '审计规则', + 'list' => '规则列表', + 'group' => '规则分组', + 'trigger' => '触发记录', + ], + 'shop' => [ + 'attribute' => '商品系统', + 'goods' => '商品管理', + 'coupon' => '卡券管理', + 'order' => '商品订单', + ], + 'promotion' => [ + 'attribute' => '推广系统', + 'invite' => '邀请管理', + 'withdraw' => '提现管理', + 'rebate_flow' => '返利流水', + ], + 'analysis' => [ + 'attribute' => '分析报告', + 'accounting' => '流水账簿', + 'user_flow' => '用户分析', + ], + 'log' => [ + 'attribute' => '日志系统', + 'traffic' => '流量使用', + 'traffic_flow' => '流量变动', + 'service_ban' => '封禁记录', + 'online_logs' => '在线记录', + 'online_monitor' => '在线监控', + 'notify' => '通知记录', + 'payment_callback' => '支付回调', + 'system' => '系统日志', + ], + 'tools' => [ + 'attribute' => '工具箱', + 'decompile' => '反解析', + 'convert' => '格式转换', + 'import' => '数据导入', + 'analysis' => '日志分析', + ], + 'setting' => [ + 'attribute' => '设置', + 'email_suffix' => '邮箱后缀管理', + 'universal' => '通用配置', + 'system' => '系统设置', + ], + ], + 'user' => [ + 'massive' => [ + 'text' => '用户生成数量', + 'button' => '批量生成', + 'failed' => '批量生成账号失败', + 'succeed' => '批量生成账号成功', + 'note' => '后台批量生成用户', + ], + 'proxy_info' => '설정 정보', + 'traffic_monitor' => '流量统计', + 'online_monitor' => '在线巡查', + 'reset_traffic' => '데이터 재설정', + 'user_view' => '用户视角', + 'connection_test' => '联网测试', + 'counts' => '共 :num 个账号', + 'reset_confirm' => [0 => '确定重置 【', 1 => '】 流量吗?'], + 'info' => [ + 'account' => '账号信息', + 'proxy' => '代理信息', + 'switch' => '切换身份', + 'reset_date_hint' => '账号流量下一个重置日期', + 'expired_date_hint' => '留空默认为一年', + 'uuid_hint' => 'V2Ray的账户ID', + 'recharge_placeholder' => '填入负值则会扣余额', + ], + 'update_help' => '更新成功,是否返回?', + 'proxies_config' => '【:username】连接配置信息', + 'group' => [ + 'title' => '用户分组控制(同一节点可分配至多个分组,一个用户只能属于一个分组;对于用户可见/可用节点:先按分组后按等级)', + 'name' => '分组名称', + 'counts' => ' 共 :num 个分组', + ], + ], + 'zero_unlimited_hint' => '不设置/0,即为无限制', + 'node' => [ + 'traffic_monitor' => '流量统计', + 'refresh_geo' => '刷新地理', + 'ping' => '检测延迟', + 'connection_test' => '连通性检测', + 'counts' => '共 :num 条线路', + 'reload_all' => '重载【全部】后端', + 'refresh_geo_all' => '刷新【全部】节点地理信息', + 'reload_confirm' => '确定重载节点?', + 'info' => [ + 'hint' => '注意: 添加节点后自动生成的ID,即为该节点部署ShadowsocksR Python版后端时usermysql.json中的node_id的值,同时也是部署V2Ray后端时的nodeId的值;', + 'basic' => '基础信息', + 'ddns_hint' => '动态IP节点需要
配置DDNS,对此类型节点,节点阻断功能会通过域名进行检测', + 'domain_placeholder' => '服务器域名地址,填则优先取域名地址', + 'domain_hint' => '系统设置中开启【DDNS模式】,域名将会自动与下方IP内容进行绑定操作!无需再前往域名注册商页面修改IP信息了哟', + 'extend' => '扩展信息', + 'display' => [ + 'invisible' => '完全不可见', + 'node' => '只显示于【:trans】页面', + 'sub' => '只显示于【订 阅】', + 'all' => '完全可见', + 'hint' => '用户是否可以订阅/看到本节点', + ], + 'ipv4_hint' => '多IP使用“, ”分割,例:1.1.1.1, 8.8.8.8', + 'ipv6_hint' => '多IP使用“, ”分割,例:1.1.1.1, 8.8.8.8', + 'ipv4_placeholder' => '服务器IPv4地址', + 'ipv6_placeholder' => '服务器IPv6地址,填写则用户可见,域名无效', + 'push_port_hint' => '必填且防火墙需放行,否则将导致消息推送异常', + 'data_rate_hint' => '举例:0.1用100M结算10M,5用100M结算500M', + 'level_hint' => '等级:0-无等级,全部可见', + 'detection' => [ + 'tcp' => '只检测TCP', + 'icmp' => '只检测ICMP', + 'all' => '检测全部', + 'hint' => '每30~60分钟随机进行节点阻断检测', + ], + 'obfs_param_hint' => '混淆不为 [plain] 时可填入参数进行流量伪装; 混淆为 [http_simple] 时,建议端口为 80; 混淆为 [tls] 时,建议端口为 443;', + 'additional_ports_hint' => '如果启用请配置服务端的additional_ports信息', + 'v2_method_hint' => '使用WebSocket传输协议时不要使用none', + 'v2_net_hint' => '使用WebSocket传输协议时请启用TLS', + 'v2_cover' => [ + 'none' => '无伪装', + 'http' => 'HTTP数据流', + 'srtp' => '视频通话数据 (SRTP)', + 'utp' => 'BT下载数据 (uTP)', + 'wechat' => '微信视频通话', + 'dtls' => 'DTLS1.2数据包', + 'wireguard' => 'WireGuard数据包', + ], + 'v2_host_hint' => '伪装类型为http时多个伪装域名逗号隔开,使用WebSocket传输协议时只允许单个', + 'v2_tls_provider_hint' => '不同后端配置不同:', + 'single_hint' => '推荐80或443,服务端需要配置
严格模式:用户的端口无法连接,只能通过以下指定的端口进行连接(如何配置)', + ], + 'proxy_info' => '*兼容 SS', + 'proxy_info_hint' => '如果兼容请在服务端配置协议和混淆时加上_compatible', + 'reload' => '重载后端', + 'auth' => [ + 'title' => '节点授权列表WEBAPI', + 'deploy' => [ + 'title' => '部署 :type_label 后端', + 'attribute' => '部署后端', + 'command' => '操作命令', + 'update' => '更新:', + 'uninstall' => '卸载:', + 'start' => '启动:', + 'stop' => '停止:', + 'status' => '状态:', + 'recent_logs' => '近期日志:', + 'real_time_logs' => '实时日志:', + 'restart' => '重启:', + 'same' => '同上', + 'trojan_hint' => '请先填写节点域名并将域名解析到节点对应的IP上', + ], + 'reset_auth' => '重置密钥', + 'counts' => '共 :num 条授权', + 'generating_all' => '确定生成所有节点的授权吗?', + ], + 'cert' => [ + 'title' => '域名证书列表(V2Ray节点的伪装域名)', + 'counts' => '共 :num 个域名证书', + 'key_placeholder' => '域名证书的KEY值,允许为空,VNET-V2Ray后端支持自动签证书', + 'pem_placeholder' => '域名证书的PEM值,允许为空,VNET-V2Ray后端支持自动签证书', + ], + ], + 'hint' => '提示', + 'oauth' => [ + 'title' => '用户OAuth授权', + 'counts' => '共 :num 个授权', + ], + 'select_all' => '全 选', + 'clear' => '清 空', + 'unselected_hint' => '待分配规则,此处可搜索', + 'selected_hint' => '已分配规则,此处可搜索', + 'clone' => '克隆', + 'monitor' => [ + 'daily_chart' => '每日流量图', + 'monthly_chart' => '月流量图', + 'node' => '节点流量', + 'user' => '用户流量', + 'hint' => '提示: 如果无统计数据,请检查定时任务是否正常。', + ], + 'tools' => [ + 'analysis' => [ + 'title' => 'SSR日志分析仅适用于单机单节点', + 'req_url' => '近期请求地址', + 'not_enough' => '访问记录不足15000条,无法分析数据', + ], + 'convert' => [ + 'title' => '格式转换 Shadowsocks 转 ShadowsocksR', + 'content_placeholder' => '请填入要转换的配置信息', + ], + 'decompile' => [ + 'title' => '反解析配置转换', + 'attribute' => '反解析', + 'content_placeholder' => '请填入要反解析的ShadowsocksR链接,一行一条', + ], + ], + 'ticket' => [ + 'title' => '工单列表', + 'counts' => '共 :num 个工单', + 'send_to' => '请填入目标用户信息!', + 'user_info' => '用户信息', + 'inviter_info' => '邀请人信息', + 'close_confirm' => '确定关闭工单?', + 'error' => '未知错误!请查看运行日志', + ], + 'logs' => [ + 'subscribe' => '订阅列表', + 'counts' => '共 :num 条记录', + 'rule' => [ + 'clear_all' => '清空记录', + 'title' => '触发记录', + 'name' => '触发规则', + 'reason' => '触发原因', + 'created_at' => '触发时间', + 'tag' => '✅ 访问非规则允许内容', + 'clear_confirm' => '确定清空所有记录吗?', + ], + 'order' => [ + 'title' => '订单列表', + 'is_expired' => '是否过期', + 'is_coupon' => '是否使用优惠券', + ], + 'user_traffic' => [ + 'title' => '流量使用记录', + 'choose_node' => '选择节点', + ], + 'user_data_modify_title' => '流量变动记录', + 'callback' => '回调日志 (在线支付)', + 'notification' => '邮件投递记录', + 'ip_monitor' => '在线IP监控 2分钟内的实时数据', + 'user_ip' => [ + 'title' => '用户在线IP列表 最近10分钟', + 'connect' => '连接IP', + ], + 'ban' => [ + 'title' => '用户封禁记录', + 'time' => '时长', + 'reason' => '理由', + 'ban_time' => '封禁时间', + 'last_connect_at' => '最后连接时间', + ], + 'credit_title' => '余额变动记录', + ], + 'start_time' => '开始区间', + 'end_time' => '结束区间', + 'goods' => [ + 'title' => '商品列表', + 'type' => [ + 'top_up' => '충전', + 'package' => '流量包', + 'plan' => '套餐', + ], + 'info' => [ + 'type_hint' => '套餐与账号有效期有关,流量包只扣可用流量,不影响有效期', + 'period_hint' => '套餐流量会每N天重置', + 'limit_num_hint' => '每个用户可以购买该商品次数,为 0 时代表不限购', + 'available_date_hint' => '到期后会自动从总流量扣减对应的流量', + 'desc_placeholder' => '商品的简单描述', + 'list_placeholder' => '商品的自定义列表添加', + 'list_hint' => '每行内容请以<li> 开头</li> 结尾', + ], + 'status' => [ + 'yes' => '上架', + 'no' => '下架', + ], + 'sell_and_used' => '使用 / 销售', + 'counts' => '共 :num 个商品', + ], + 'sort_asc' => '排序值越大排越前', + 'yes' => '是', + 'no' => '否', + 'rule' => [ + 'type' => [ + 'reg' => '正则表达式', + 'domain' => '域名', + 'ip' => 'IP', + 'protocol' => '协议', + ], + 'counts' => '共 :num 条审计规则', + 'title' => '规则列表', + 'group' => [ + 'type' => [ + 'off' => '阻断', + 'on' => '放行', + ], + 'title' => '规则分组', + 'counts' => '共 :num 个分组', + ], + ], + 'role' => [ + 'name_hint' => '唯一标识名称,例如:Administrator', + 'description_hint' => '面板显示名称,例如:管理员', + 'title' => '权限角色列表', + 'permissions_all' => '全部权限', + 'counts' => '共 :num 个权限角色', + ], + 'report' => [ + 'monthly_accounting' => '月流水账簿', + 'annually_accounting' => '年流水账簿', + 'historic_accounting' => '历史流水账簿', + 'current_month' => ' 本 月 ', + 'last_month' => ' 上 月', + 'current_year' => ' 今 年 ', + 'last_year' => ' 去 年 ', + 'hourly_traffic' => '每时流量', + 'daily_traffic' => '每天流量', + 'today' => ' 本 日 ', + ], + 'permission' => [ + 'title' => '权限行为列表', + 'description_hint' => '填写描述,例:【A系统】编辑A', + 'name_hint' => '填写路由名称,例:admin.permission.create,update', + 'counts' => '共 :num 条权限行为', + ], + 'marketing' => [ + 'email' => [ + 'title' => '邮件群发列表', + 'group_send' => '群发邮件', + 'counts' => '共 :num 条消息', + ], + 'send_status' => '发送状态', + 'send_time' => '发送时间', + 'error_message' => '错误信息', + 'push' => [ + 'title' => '推送消息列表', + 'send' => '推送消息', + 'counts' => '共 :num 条推送消息', + ], + ], + 'creating' => '正在添加...', + 'article' => [ + 'type' => [ + 'knowledge' => '文章', + 'announcement' => '공지', + ], + 'category_hint' => '同一类别将归类与同一文件夹下', + 'logo_hint' => '推荐尺寸:100x75', + 'title' => '文章列表', + 'counts' => '共 :num 篇文章', + ], + 'coupon' => [ + 'title' => '卡券列表', + 'name_hint' => '会用于前端显示', + 'sn_hint' => '提供给用户使用卡券的卡券,留空则默认为8位随机码', + 'type' => [ + 'voucher' => '抵用券', + 'discount' => '折扣券', + 'charge' => '充值券', + ], + 'type_hint' => '抵用:抵扣商品金额,折扣:商品百分比打折,充值:充值用户账号余额', + 'value' => '{1} ➖ :num|{2} :num 折|{3} ➕ :num', + 'value_hint' => '范围为 1% ~ 99% ', + 'priority_hint' => '同【使用券码】下,符合条件的高权重码将会被优先使用。最高为 255', + 'minimum_hint' => '当支付金额超过 :num 值时,才能使用本优惠劵;', + 'used_hint' => '符合条件的用户可以使用本券 :num 次;', + 'levels_hint' => '用户等级在选定等级内,方可使用本券', + 'groups_hint' => '选定的用户分组,方可使用本券', + 'users_placeholder' => '输入用户ID, 再回车', + 'user_whitelist_hint' => '涉及用户均可使用本券,留空为不使用此条件', + 'users_blacklist_hint' => '涉及用户均不可使用本券,空为不使用此条件', + 'services_placeholder' => '输入商品ID, 再回车', + 'services_whitelist_hint' => '涉及商品方可使用本券,留空为不使用此条件', + 'services_blacklist_hint' => '涉及商品不可使用本券,留空为不使用此条件', + 'newbie' => [ + 'first_discount' => '首次用任意券', + 'first_order' => '首单', + 'created_days' => '创号', + ], + 'created_days_hint' => '且 创号 :days 天', + 'limit_hint' => '本项各条件为 并且 关系,请自行搭配使用', + 'info_title' => '卡券信息', + 'counts' => '共 :num 张优惠券', + 'discount' => '할인', + 'export_title' => '卡券导出', + 'single_use' => '一次性', + ], + 'times' => '次', + 'massive_export' => '批量导出', + 'system_generate' => '系统生成', + 'aff' => [ + 'rebate_title' => '返利流水记录', + 'counts' => '共 :num 个申请', + 'title' => '提现申请列表', + 'apply_counts' => '共 :num 个申请', + 'referral' => '推广返利', + 'commission_title' => '提现申请详情', + 'commission_counts' => '本申请共涉及 :num 单', + ], + 'setting' => [ + 'common' => [ + 'title' => '通用配置', + 'set_default' => '设为默认', + 'connect_nodes' => '关联节点数', + ], + 'email' => [ + 'title' => '邮箱过滤列表 (用于屏蔽注册邮箱后缀)', + 'tail' => '邮箱后缀', + 'rule' => '规则', + 'black' => '黑名单', + 'white' => '白名单', + 'tail_placeholder' => '请填入邮箱后缀', + ], + 'system' => [ + 'title' => '系统配置', + 'web' => '网站常规', + 'account' => '账号设置', + 'node' => '节点设置', + 'extend' => '拓展功能', + 'check_in' => '签到系统', + 'promotion' => '推广系统', + 'notify' => '通知系统', + 'auto_job' => '自动任务', + 'other' => 'LOGO|客服|统计', + 'payment' => '支付系统', + 'menu' => '菜单', + ], + 'no_permission' => '您没有权限修改参数!', + ], + 'system' => [ + 'account_expire_notification' => '账号过期通知', + 'active_times' => '激活账号次数', + 'admin_invite_days' => '管理员-邀请码有效期', + 'aff_salt' => '邀请链接 用户信息字符化', + 'alipay_qrcode' => '支付宝二维码', + 'AppStore_id' => '苹果账号', + 'AppStore_password' => '苹果密码', + 'auto_release_port' => '端口回收机制', + 'bark_key' => 'Bark设备号', + 'bitpay_secret', + 'captcha_key' => '验证码 Key', + 'captcha_secret' => '验证码 Secret/ID', + 'codepay_id' => '码支付ID', + 'codepay_key' => '通信密钥', + 'codepay_url' => '请求URL', + 'data_anomaly_notification' => '流量异常通知', + 'data_exhaust_notification' => '流量耗尽通知', + 'ddns_key' => 'DNS服务商Key', + 'ddns_mode' => 'DDNS模式', + 'ddns_secret' => 'DNS服务商Secret', + 'default_days' => '初始有效期', + 'default_traffic' => '初始流量', + 'detection_check_times' => '阻断检测提醒', + 'dingTalk_access_token' => '钉钉自定义机器人 Access Token', + 'dingTalk_secret' => '钉钉自定义机器人 密钥', + 'epay_key' => '商户密钥', + 'epay_mch_id' => '商户ID', + 'epay_url' => '接口对接地址', + 'expire_days' => '过期警告阈值', + 'f2fpay_app_id' => '应用ID', + 'f2fpay_private_key' => '应用私钥', + 'f2fpay_public_key' => '支付宝公钥', + 'forbid_mode' => '禁止访问模式', + 'invite_num' => '可生成邀请码数', + 'is_activate_account' => '激活账号', + 'is_AliPay' => '支付宝支付', + 'is_ban_status' => '过期自动封禁', + 'is_captcha' => '验证码模式', + 'is_checkin' => '签到加流量', + 'is_clear_log' => '自动清除日志', + 'is_custom_subscribe' => '高级订阅', + 'is_email_filtering' => '邮箱过滤机制', + 'is_forbid_robot' => '阻止机器人访问', + 'is_free_code' => '免费邀请码', + 'is_invite_register' => '邀请注册', + 'is_otherPay' => '特殊支付', + 'is_push_bear', + 'is_QQPay' => 'QQ钱包', + 'is_rand_port' => '随机端口', + 'is_register' => '用户注册', + 'is_subscribe_ban' => '订阅异常自动封禁', + 'is_traffic_ban' => '异常自动封号', + 'is_WeChatPay' => '微信支付', + 'iYuu_token' => 'IYUU令牌', + 'maintenance_content' => '维护介绍内容', + 'maintenance_mode' => '维护模式', + 'maintenance_time' => '维护结束时间', + 'max_port', + 'max_rand_traffic', + 'min_port' => '端口范围', + 'min_rand_traffic' => '流量范围', + 'node_blocked_notification' => '节点阻断提醒', + 'node_daily_notification' => '节点使用报告', + 'node_offline_notification' => '节点离线提醒', + 'oauth_path' => '第三方登录平台', + 'offline_check_times' => '离线提醒次数', + 'password_reset_notification' => '비밀번호 재설정', + 'paybeaver_app_id' => 'App ID', + 'paybeaver_app_secret' => 'App Secret', + 'payjs_key' => '通信密钥', + 'payjs_mch_id' => '商户号', + 'payment_confirm_notification' => '人工支付确认通知', + 'payment_received_notification' => '支付成功通知', + 'paypal_app_id' => '应用ID', + 'paypal_certificate' => '证书', + 'paypal_password' => 'API密码', + 'paypal_secret' => '签名', + 'paypal_username' => 'API用户名', + 'pushDeer_key' => 'PushDeer Key', + 'pushplus_token' => 'PushPlus Token', + 'rand_subscribe' => '随机订阅', + 'redirect_url' => '重定向地址', + 'referral_money' => '提现限制', + 'referral_percent' => '返利比例', + 'referral_status' => '推广功能', + 'referral_traffic' => '注册送流量', + 'referral_type' => '返利模式', + 'register_ip_limit' => '同IP注册限制', + 'reset_password_times' => '重置密码次数', + 'reset_traffic' => '流量自动重置', + 'server_chan_key' => 'ServerChan SCKEY', + 'standard_currency' => '本位货币', + 'stripe_public_key' => 'Public Key', + 'stripe_secret_key' => 'Secret Key', + 'stripe_signing_secret' => 'WebHook Signing secret', + 'subject_name' => '自定义商品名称', + 'subscribe_ban_times' => '订阅请求阈值 +', + 'subscribe_domain' => '节点订阅地址', + 'subscribe_max' => '订阅节点数', + 'telegram_token' => 'Telegram Token', + 'tg_chat_token' => 'TG酱Token', + 'theadpay_key' => '商家密钥', + 'theadpay_mchid' => '商家ID', + 'theadpay_url' => '接口地址', + 'ticket_closed_notification' => '工单关闭通知', + 'ticket_created_notification' => '新工单通知', + 'ticket_replied_notification' => '工单回复通知', + 'traffic_ban_time' => '封号时长', + 'traffic_ban_value' => '流量异常阈值', + 'traffic_limit_time' => '时间间隔', + 'traffic_warning_percent' => '流量警告阈值', + 'trojan_license' => 'Trojan授权', + 'username_type' => '账号类型', + 'user_invite_days' => '用户-邀请码有效期', + 'v2ray_license' => 'V2Ray授权', + 'v2ray_tls_provider' => 'V2Ray TLS配置', + 'webmaster_email' => '管理员邮箱', + 'website_analytics' => '统计代码', + 'website_callback_url' => '通用支付回调地址', + 'website_customer_service' => '客服代码', + 'website_home_logo' => '首页LOGO', + 'website_logo' => '站内LOGO', + 'website_name' => '网站名称', + 'website_security_code' => '网站安全码', + 'website_url' => '网站地址', + 'web_api_url' => '授权/后端访问域名', + 'wechat_aid' => '微信企业应用ID', + 'wechat_cid' => '微信企业ID', + 'wechat_encodingAESKey' => '微信企业应用EncodingAESKey', + 'wechat_qrcode' => '微 信二维码', + 'wechat_secret' => '微信企业应用密钥', + 'wechat_token' => '微信企业应用TOKEN', + + 'hint' => [ + 'account_expire_notification' => '通知用户账号即将到期', + 'active_times' => '24小时内可以通过邮件激活账号次数', + 'admin_invite_days' => '管理员生成邀请码的有效期', + 'aff_salt' => '留空时,邀请链接将显示用户ID;填入任意英文/数字 即可对用户链接ID进行加密', + 'alipay_qrcode', + 'AppStore_id' => 'iOS软件设置教程中使用的苹果账号', + 'AppStore_password' => 'iOS软件设置教程中使用的苹果密码', + 'auto_release_port' => '被封禁/过期 '.config('tasks.release_port').' 天的账号端口自动释放', + 'bark_key' => '推送消息到iOS设备,需要在iOS设备里装一个名为Bark的应用,取网址后的一长串字符串,启用Bark,请务必填入本值', + 'bitpay_secret', + 'captcha_key' => '浏览设置指南来设置', + 'captcha_secret', + 'codepay_id', + 'codepay_key', + 'codepay_url', + 'data_anomaly_notification' => '1小时内流量超过异常阈值通知超管', + 'data_exhaust_notification' => '通知用户流量即将耗尽', + 'ddns_key' => "浏览设置指南来设置", + 'ddns_mode' => '添加/编辑/删除节点的【域名、ipv4、ipv6】时,自动更新对应内容至DNS服务商', + 'ddns_secret', + 'default_days' => '用户注册时默认账户有效期,为0即当天到期', + 'default_traffic' => '用户注册时默认可用流量', + 'detection_check_times' => '提醒N次后自动下线节点,为0/留空时不限制,不超过12', + 'dingTalk_access_token' => '可以阅读钉钉手册查阅步骤', + 'dingTalk_secret' => '可选填!开启机器人[加签]就是必填项目!', + 'epay_key', + 'epay_mch_id', + 'epay_url', + 'expire_days' => '【账号过期通知】开始阈值,每日通知用户', + 'f2fpay_app_id' => '即:APPID', + 'f2fpay_private_key' => '生成秘钥软件生成时,产生的应用秘钥', + 'f2fpay_public_key' => '注意不是应用公钥!', + 'forbid_mode' => '依据IP对对应地区进行阻拦,非阻拦地区可正常访问', + 'invite_num' => '用户可以生成的邀请码数', + 'is_activate_account' => '启用后用户需要通过邮件来激活账号', + 'is_AliPay', + 'is_ban_status' => '(慎重)封禁整个账号会重置账号的所有数据且会导致用户无法登录,不开启状态下只封禁用户代理', + 'is_captcha' => '启用后 登录/注册 需要进行验证码认证', + 'is_checkin' => '登录时将根据流量范围随机得到流量', + 'is_clear_log' => '(推荐)启用后自动清除无用日志', + 'is_custom_subscribe' => '启用后,订阅信息顶部将显示过期时间、剩余流量(只支持个别客户端)', + 'is_email_filtering' => '黑名单: 用户可使用任意黑名单外的邮箱注册;白名单:用户只能选择使用白名单中的邮箱后缀注册', + 'is_forbid_robot' => '如果是机器人、爬虫、代理访问网站则会抛出404错误', + 'is_free_code' => '关闭后免费邀请码不可见', + 'is_invite_register', + 'is_otherPay', + 'is_push_bear', + 'is_QQPay', + 'is_rand_port' => '注册、添加用户时随机生成端口', + 'is_register' => '关闭后无法注册', + 'is_subscribe_ban' => '启用后用户订阅链接请求超过设定阈值则自动封禁', + 'is_traffic_ban' => '1小时内流量超过异常阈值则自动封号(仅禁用代理)', + 'is_WeChatPay', + 'iYuu_token' => '启用爱语飞飞,请务必填入本值(申请 IYUU令牌)', + 'maintenance_content' => '自定义维护内容信息', + 'maintenance_mode' => "启用后,用户访问转移至维护界面 | 管理员使用 :url 登录", + 'maintenance_time' => '用于维护界面倒计时', + 'max_port', + 'max_rand_traffic', + 'min_port' => '端口范围:1000 - 65535', + 'min_rand_traffic', + 'node_blocked_notification' => '每小时检测节点是否被阻断并提醒管理员', + 'node_daily_notification' => '报告各节点流量昨日消耗情况', + 'node_offline_notification' => '每10分钟检测节点离线并提醒管理员', + 'oauth_path' => '请在.ENV中添加设置,再在此处开启平台', + 'offline_check_times' => '24小时内提醒n次后不再提醒', + 'password_reset_notification' => '启用后用户可以重置密码', + 'paybeaver_app_id' => '商户中心 -> 开发者 -> App ID', + 'paybeaver_app_secret' => '商户中心 -> 开发者 -> App Secret', + 'payjs_key', + 'payjs_mch_id' => '在本界面获取信息', + 'payment_confirm_notification' => '用户使用人工支付后通知管理员处理订单', + 'payment_received_notification' => '用户支付订单后通知用户订单状态', + 'paypal_app_id', + 'paypal_certificate', + 'paypal_password', + 'paypal_secret', + 'paypal_username', + 'pushDeer_key' => '启用PushDeer,请务必填入本值(申请 Push Key)', + 'pushplus_token' => '启用PushPlus,请务必填入本值(申请 Token)', + 'rand_subscribe' => '启用后,订阅时将随机返回节点信息,否则按节点排序返回', + 'redirect_url' => '触发审计规则时访问请求被阻断并重定向至该地址', + 'referral_money' => '满多少元才可以申请提现', + 'referral_percent' => '根据推广链接注册的账号每笔消费推广人可以分成的比例', + 'referral_status' => '关闭后用户不可见,但是不影响其正常邀请返利', + 'referral_traffic' => '根据推广链接、邀请码注册则赠送相应的流量', + 'referral_type' => '切换模式后旧数据不变,新的返利按新的模式计算', + 'register_ip_limit' => '同IP在24小时内允许注册数量,为0/留空时不限制', + 'reset_password_times' => '24小时内可以通过邮件重置密码次数', + 'reset_traffic' => '用户会按其购买套餐的日期自动重置可用流量', + 'server_chan_key' => "启用ServerChan,请务必填入本值(申请 SCKEY)", + 'standard_currency' => '网站中涉及金钱部分的默认货币', + 'stripe_public_key', + 'stripe_secret_key', + 'stripe_signing_secret', + 'subject_name' => '用于在支付渠道的商品标题显示', + 'subscribe_ban_times' => '24小时内订阅链接请求次数限制', + 'subscribe_domain' => '(推荐)防止面板域名被DNS投毒后无法正常订阅,需带http://或https://"', + 'subscribe_max' => '客户端订阅时取得几个节点,为0/留空时返回全部节点', + 'telegram_token' => '找 @BotFather 申请机器人获取TOKEN', + 'tg_chat_token' => '启用TG酱,请务必填入本值(申请 Token)', + 'theadpay_key', + 'theadpay_mchid', + 'theadpay_url', + 'ticket_closed_notification' => '工单关闭通知用户', + 'ticket_created_notification' => '新工单通知管理/用户,取决于谁创建了新工单', + 'ticket_replied_notification' => '工单回复通知对方', + 'traffic_ban_time' => '触发流量异常导致用户被封禁的时长,到期后自动解封', + 'traffic_ban_value' => '1小时内超过该值,则触发自动封号', + 'traffic_limit_time' => '间隔多久才可以再次签到', + 'traffic_warning_percent' => '【流量耗尽通知】开始阈值,每日通知用户', + 'trojan_license', + 'username_type' => '规范站点用户账号的类型,默认为电子邮箱', + 'user_invite_days' => '用户自行生成邀请的有效期', + 'v2ray_license', + 'v2ray_tls_provider' => '后端自动签发/载入TLS证书时用(节点的设置值优先级高于此处)', + 'webmaster_email' => '错误提示时会提供管理员邮箱作为联系方式', + 'website_analytics' => '统计JS', + 'website_callback_url' => '防止因为网站域名被DNS投毒后导致支付无法正常回调,需带http://或https://', + 'website_customer_service' => '客服JS', + 'website_home_logo', + 'website_logo', + 'website_name' => '发邮件时展示', + 'website_security_code' => '非空时必须通过安全入口加上安全码才可访问', + 'website_url' => '生成重置密码、在线支付必备', + 'web_api_url' => '例:https://demo.proxypanel.cf', + 'wechat_aid' => '在应用管理自建中创建应用 - AgentId', + 'wechat_cid' => '获取我的企业中的企业ID', + 'wechat_encodingAESKey' => '应用管理->应用->设置API接收->EncodingAESKey', + 'wechat_qrcode', + 'wechat_secret' => '应用的Secret(可能需要下载企业微信才能查看)', + 'wechat_token' => '应用管理->应用->设置API接收->TOKEN,URL设置::url', + ], + 'placeholder' => [ + 'default_url' => '默认为 :url', + 'server_chan_key' => '填入ServerChan的SCKEY->再点击更新', + 'pushDeer_key' => '填入PushDeer的Push Key -> 再点击更新', + 'iYuu_token' => '填入爱语飞飞的IYUU令牌 -> 再点击更新', + 'bark_key' => '填入Bark的设备号 -> 再点击更新', + 'telegram_token' => '填入Telegram的 Token -> 再点击更新', + 'pushplus_token' => '请到ServerChan申请', + 'dingTalk_access_token' => '自定义机器人的WebHook中的access_token', + 'dingTalk_secret' => '自定义机器人加签后出现的的密钥', + 'wechat_aid' => '应用的AgentId', + 'wechat_cid' => '填入微信企业ID -> 再点击更新', + 'wechat_secret' => '应用的Secret', + 'tg_chat_token' => '请到Telegram申请', + 'codepay_url' => 'https://codepay.fateqq.com/creat_order/?', + ], + 'payment' => [ + 'attribute' => '支付设置', + 'channel' => [ + 'alipay' => '支付宝F2F', + 'codepay' => '码支付', + 'epay' => '易支付', + 'payjs' => 'PayJs', + 'paypal' => 'PayPal', + 'stripe' => 'Stripe', + 'paybeaver' => '海狸支付', + 'theadpay' => '平头哥支付', + 'manual' => '人工支付', + ], + 'hint' => [ + 'alipay' => '本功能需要蚂蚁金服开放平台申请权限及应用', + 'codepay' => '请到 码支付申请账号,然后下载登录其挂机软件', + 'payjs' => '请到PayJs 申请账号', + 'paypal' => '使用商家账号登录API凭证申请页, 同意并获取设置信息', + 'paybeaver' => '请到海狸支付 PayBeaver申请账号', + 'theadpay' => '请到平头哥支付 THeadPay申请账号', + 'manual' => '设置后会自动开启对应显示', + ], + ], + 'notification' => [ + 'channel' => [ + 'telegram' => 'TG电报', + 'wechat' => '微信企业', + 'dingtalk' => '钉钉', + 'email' => '이메일', + 'bark' => 'Bark', + 'serverchan' => 'ServerChan', + 'pushdeer' => 'PushDeer', + 'pushplus' => 'PushPlus', + 'iyuu' => '爱语飞飞', + 'tg_chat' => 'TG酱', + 'site' => '站内通知', + ], + ], + 'forbid' => [ + 'mainland' => '阻拦大陆', + 'china' => '阻拦中国', + 'oversea' => '阻拦海外', + ], + 'username' => [ + 'email' => '电子邮箱', + 'mobile' => '手机号码', + 'any' => '任意用户名', + ], + 'active_account' => [ + 'before' => '注册前激活', + 'after' => '注册后激活', + ], + 'ddns' => [ + 'namesilo' => 'Namesilo', + 'aliyun' => '阿里云(国际&国内)', + 'dnspod' => 'DNSPod', + 'cloudflare' => 'CloudFlare', + ], + 'captcha' => [ + 'standard' => '普通验证码', + 'geetest' => '极 验', + 'recaptcha' => 'Google reCaptcha', + 'hcaptcha' => 'hCaptcha', + ], + 'referral' => [ + 'once' => '首购返利', + 'loop' => '循环返利', + ], + ], + 'set_to' => '置 :attribute', + 'minute' => '分钟', + 'query' => '查 询', + 'optional' => '옵션', + 'require' => '必须', +]; \ No newline at end of file diff --git a/resources/lang/ko/auth.php b/resources/lang/ko/auth.php new file mode 100644 index 00000000..b28537a1 --- /dev/null +++ b/resources/lang/ko/auth.php @@ -0,0 +1,84 @@ + '약관을 확인하였으며, 이에 동의합니다.', + 'active' => [ + 'attribute' => '활성화', + 'error' => [ + 'activated' => '계정이 이미 활성화 되어있습니다. 다시 활성화할 필요가 없습니다.', + 'disable' => '이 사이트는 계정 활성화 시스템을 사용하지 않습니다. 사이트로 가서 로그인 해주세요!', + 'throttle' => '회원님의 비정상적인 행동이 감지되었습니다. 조작에 주의부탁드립니다! 문제가 있을 경우 이메일로 연락주세요.', + ], + 'sent' => '활성화코드가 이미 회원님의 이메일로 전송되었습니다. 잠시 후에 메일 확인이 안 될 경우, 휴지통이나 스팸차단을 확인해주세요.', + 'promotion' => ['0' => '계정이 비활성화 되었습니다. 클릭해주세요', '1' => '활성화 시스템을 가동합니다!'], + ], + 'aup' => '수용가능한 이용약관', + 'captcha' => [ + 'attribute' => '인증번호', + 'error' => ['failed' => '인증번호 확인 실패, 다시 입력해주세요.', 'timeout' => '인증번호가 올바르지 않습니다! 제한시간이 지났거나 새로고침하여 다시 시도해주세요.'], + 'required' => '인증번호를 정확하게 입력해주세요.', + 'sent' => '인증번호가 메일로 전송되었습니다. 잠시 후에 도착하지 않을 경우 휴지통이나 스팸차단을 확인해주세요', + ], + 'email' => [ + 'error' => ['banned' => '사이트에서 고객님이 사용하시는 이메일을 차단하였습니다. 다른 유효한 이메일을 사용해주세요.', 'invalid' => '지원하지 않는 이메일 형식입니다.'], + ], + 'error' => [ + 'account_baned' => '회원님의 계정은 차단되었습니다!', + 'login_error' => '로그인 오류, 잠시 후 다시 시도해주세요!', + 'login_failed' => '로그인 실패, 이메일계정과 비밀번호를 정확하게 입력해주세요!', + 'not_found_user' => '해당 계정을 찾을 수 없습니다. 다른 방식으로 로그인해주세요.', + 'repeat_request' => '새로 고침 후 다시 시도해 주시기 바랍니다.', + 'url_timeout' => '연결 실패, 다시 시도해주세요.', + ], + 'invite' => [ + 'attribute' => '초대 코드', + 'error' => ['unavailable' => '초대코드 사용불가. 다시 시도해주세요.'], + 'get' => '초대 코드를 받기', + 'not_required' => '초대 코드없이 회원가입을 진행해주세요!', + ], + 'login' => '로그인', + 'logout' => '로그아웃', + 'maintenance' => '보호', + 'maintenance_tip' => '사이트 점검 중', + 'oauth' => [ + 'bind_success' => '연동 성공', + 'bind_failed' => '연동 실패', + 'login_failed' => '중복 접속 실패!', + 'register' => '회원가입 바로가기', + 'registered' => '이미 가입되셨습니다, 로그인 해주세요.', + 'register_failed' => '회원가입 실패', + 'rebind_success' => '재연동 성공', + 'unbind_success' => '연동 해제 성공', + 'unbind_failed' => '연동 해제 실패', + ], + 'optional' => '옵션', + 'password' => [ + 'forget' => '비밀번호를 잊으셨나요?', + 'new' => '새로운 비밀번호를 입력하세요', + 'original' => '이전 비밀번호', + 'reset' => [ + 'attribute' => '비밀번호 재설정', + 'error' => [ + 'disabled' => '현재 비밀번호 재설정이 불가합니다. 다음 이메일로 연락 주세요: email', + 'failed' => '비밀번호 재설정 실패', + 'throttle' => '24시간 이내 비밀번호 재설정 : time 회만 가능, 잦은 시도를 하지 마십시오.', + 'same' => '새 비밀번호는 기존 비밀번호와 같을 수 없습니다, 다시 입력해주세요.', + 'wrong' => '이진 비밀번호 오류, 다시 입력해주세요.', + 'demo' => '관리자 페이지 비밀번호 변경 금지', + ], + 'sent' => '재설정 성공, 모든 이메일을 확인해주세요. (없을 경우 스팸메일 확인)', + 'success' => '새 비밀번호 설정 성공, 로그인 페이지로 가십시오.', + ], + ], + 'register' => [ + 'attribute' => '회원가입', + 'code' => '회원가입 인증번호', + 'error' => ['disable' => '죄송합니다. 현재 회원가입이 불가합니다.', 'throttle' => '防刷机制已激活,请勿频繁注册'], + 'promotion' => '아직 계정이 없으신가요?', + 'failed' => '회원가입 실패, 잠시 후 다시 시도해주세요.', + 'success' => '회원가입 성공', + ], + 'remember_me' => '로그인 상태 유지', + 'request' => '획득', + 'tos' => '이용 약관', +]; diff --git a/resources/lang/ko/common.php b/resources/lang/ko/common.php new file mode 100644 index 00000000..ed22fe41 --- /dev/null +++ b/resources/lang/ko/common.php @@ -0,0 +1,144 @@ + '아이디', + 'available_date' => '유효기간', + 'created_at' => '创建时间', + 'expired_at' => '만료시간', + 'updated_at' => '갱신시간', + 'latest_at' => '最近时间', + 'back' => '뒤로가기', + 'cancel' => '취소', + 'close' => '닫기', + 'close_item' => '닫기:attribute', + 'confirm' => '확인', + 'continues' => '계속', + 'open' => '열기', + 'send' => '전송', + 'view' => '보기', + 'reset' => '재설정', + 'copy' => [ + 'attribute' => '복사', + 'success' => '복사 성공', + 'failed' => '복사 실패, 수동으로 복사해주세요.', + ], + 'add' => '添 加', + 'free' => '무료', + 'replace' => '변경', + 'submit' => '제출', + 'submit_item' => '제출:attribute', + 'generate' => '생성', + 'generate_item' => '생성:attribute', + 'to_safari' => [0 => '이용자약관', 1 => ', 여기서 선택해주세요.', 2 => 'Safari 로 열어주세요.', 3 => '정상적으로 본 사이트에 접속이 가능합니다.'], + 'update_browser' => [0 => '고객님은 현재 사용 중', 1 => '만료', 2 => '의 부라우저.', 3 => '브라우저를 업데이트 해주세요.', 4 => '최고 환경에서의 웹서핑을 느끼기 위해'], + 'apply' => '응용', + 'avatar' => '프로필', + 'customize' => '사용자 정의', + 'all' => '전체', + 'default' => '기본값', + 'download' => '下 载', + 'goto' => '이전', + 'warning' => '경고', + 'success' => '성공', + 'failed' => '실패', + 'update' => '갱신', + 'update_action' => '갱신:action', + 'none' => '없음', + 'new' => '신규', + 'sorry' => '죄송합니다', + 'applied' => ':attribute 발생', + 'active_item' => ':attribute 활성화', + 'error' => '错误', + 'toggle' => '切 换', + 'toggle_action' => '切换:action', + 'request_url' => '请求地址', + 'function' => [ + 'navigation' => '导航', + 'menubar' => '菜单栏', + 'fullscreen' => '全屏', + ], + 'days' => [ + 'sun' => '周日', + 'mon' => '周一', + 'tue' => '周二', + 'wed' => '周三', + 'thu' => '周四', + 'fri' => '周五', + 'sat' => '周六', + 'weekend' => '周末', + 'work' => '工作日', + 'next' => '次日', + ], + 'qrcode' => ':attribute二维码', + 'deleted' => '已删除', + 'deleted_item' => ':attribute已删除', + 'print' => '打印', + 'unlimited' => '无限制', + 'payment' => [ + 'credit' => '余额', + 'wechat' => '微信', + 'alipay' => '支付宝', + 'crypto' => '虚拟货币', + 'manual' => '人工支付', + 'status' => [ + 'wait' => '待支付', + 'fail' => '支付失败', + 'success' => '支付成功', + ], + ], + 'order' => [ + 'status' => [ + 'cancel' => '취소', + 'complete' => '완성', + 'prepaid' => '선불 결제', + 'ongoing' => '사용 중', + 'review' => '확인 대기 중', + ], + ], + 'recommend' => '推荐', + 'advance' => '进阶', + 'action' => '操作', + 'search' => '搜 索', + 'edit' => '编 辑', + 'delete' => '删 除', + 'status' => [ + 'attribute' => '状态', + 'inactive' => '未激活', + 'disabled' => '停 用', + 'banned' => '禁 用', + 'normal' => '正 常', + 'enabled' => '启 用', + 'expire' => '过 期', + 'limited' => '限 制', + 'run_out' => '流量耗尽', + 'unused' => '사용하지 않음', + 'used' => '이미 사용중', + 'closed' => '닫기', + 'applying' => '신청 중', + 'withdrawn' => '인출함', + 'unwithdrawn' => '인출 하지 않음', + 'reply' => '답변됨', + 'pending' => '대기 중', + 'unknown' => '未 知', + 'available' => '生效中', + 'reject' => '驳 回', + 'rejected' => '已驳回', + 'review' => '待审核', + 'reviewed' => '审核通过待打款', + 'paid' => '已打款', + 'payment_pending' => '待打款', + 'pass' => '通 过', + 'send_to_credit' => '打款至余额', + 'waiting_tobe_send' => '等待投递', + ], + 'stay_unchanged' => '留空为不变', + 'random_generate' => '留空则随机生成', + 'request_failed' => '请求错误,请重试', + 'convert' => '转 换', + 'import' => '导 入', + 'or' => '或', + 'more' => '더 보기', + 'to' => '至', + 'to_be_send' => '待发送', + 'developing' => '开发中!敬请期待', +]; diff --git a/resources/lang/ko/errors.php b/resources/lang/ko/errors.php new file mode 100644 index 00000000..d8733e64 --- /dev/null +++ b/resources/lang/ko/errors.php @@ -0,0 +1,36 @@ + [ + 'access' => '알 수 없는 IP 혹은 프록시를 통해 방문하여 접근을 금지합니다.', + 'bots' => '비정상적인 로봇 접근 감지, 접근을 금지합니다.', + 'china' => '중국IP 혹은 프록시 접근 감지, 접근을 금지합니다.', + 'oversea' => '해외 IP 감지, 접근을 금지합니다.', + ], + 'http' => 'HTTP请求类型错误', + 'log' => '로그', + 'missing_page' => '페이지를 찾을 수 없습니다.', + 'refresh' => '새로고침', + 'refresh_page' => '페이즈를 새로고침 후, 다시 방문해주세요.', + 'report' => '错❌误携带了报告:', + 'safe_enter' => '정상적인 접근', + 'safe_code' => '보안코드를 입력해주세요.', + 'system' => '시스템 오류', + 'title' => '⚠️오류발생', + 'unauthorized' => '접근 허가 없음', + 'unsafe_enter' => '비정상적인 접근', + 'visit' => '방문해주세요.', + 'whoops' => '!!!', + 'get_ip' => 'IP 오류정보 불러오기', + 'subscribe' => [ + 'unknown' => '링크 사용 오류! 다시 불러오세요!', + 'sub_baned' => '링크 사용 불가능, 홈페이지를 방문하여 원인을 확인하세요.', + 'user' => '잘못된 링크, 계정이 존재하지 않습니다! 링크를 다시 불러오세요.', + 'user_disable' => '계정이 차단되었습니다!', + 'baned_until' => '계정 차단 시간 :time, 차단 해지 후 다시 갱신하세요!', + 'out' => '데이터 소진! 데이터를 다시 구매 하시거나 초기화 해주세요!', + 'expired' => '계정 만료! 기간을 연장해주세요!', + 'question' => '계정에 문제가 있습니다. 문의 바랍니다.', + 'none' => '사용 가능한 서버가 없습니다.', + ], +]; diff --git a/resources/lang/ko/model.php b/resources/lang/ko/model.php new file mode 100644 index 00000000..be70886e --- /dev/null +++ b/resources/lang/ko/model.php @@ -0,0 +1,239 @@ + [ + 'id' => '用户ID', + 'attribute' => '用户', + 'nickname' => '닉네임', + 'username' => '아이디', + 'password' => '비밀번호', + 'credit' => '余额', + 'invite_num' => '可用邀请码', + 'reset_date' => '重置日', + 'port' => '端口', + 'traffic_used' => '流量使用', + 'service' => '代理', + 'group' => '分组', + 'level' => '等级', + 'account_status' => '계정 상태', + 'proxy_status' => '代理状态', + 'expired_date' => '过期日', + 'role' => '角色权限', + 'wechat' => '微信', + 'qq' => 'QQ', + 'remark' => '备注', + 'uuid' => 'VMess UUID', + 'proxy_passwd' => '비밀번호', + 'proxy_method' => '加密方式', + 'usable_traffic' => '可用流量', + 'proxy_protocol' => '协议', + 'proxy_obfs' => '混淆', + 'speed_limit' => '用户限速', + 'inviter' => '邀请人', + 'created_date' => '회원가입 시간', + ], + 'common' => [ + 'extend' => '扩展', + 'sort' => '排序', + 'description' => '표시', + ], + 'country' => [ + 'code' => 'ISO国家代码', + 'icon' => '图 标', + 'name' => '国家/地区名称', + ], + 'subscribe' => [ + 'code' => '订阅码', + 'req_times' => '请求次数', + 'updated_at' => '最后请求时间', + 'ban_time' => '封禁时间', + 'ban_desc' => '封禁理由', + 'req_ip' => '请求IP', + 'req_header' => '访问', + ], + 'oauth' => [ + 'type' => '渠道', + 'identifier' => ' 唯一标识', + ], + 'user_group' => [ + 'attribute' => '用戶分组', + 'name' => '分组名称', + 'nodes' => '选择节点', + ], + 'node' => [ + 'attribute' => '节点', + 'id' => '节点ID', + 'type' => '类型', + 'name' => '이름', + 'domain' => '域名', + 'static' => '存活', + 'online_user' => '在线', + 'data_consume' => '产生流量', + 'data_rate' => '流量比例', + 'ddns' => 'DDNS', + 'ipv4' => 'IPv4地址', + 'ipv6' => 'IPv6地址', + 'push_port' => '消息推送端口', + 'level' => '等级', + 'rule_group' => '审计分组', + 'traffic_limit' => '节点限速', + 'client_limit' => '设备数限制', + 'label' => '标签', + 'country' => '国家/地区', + 'udp' => 'UDP', + 'display' => '显示 与 订阅', + 'detection' => '节点阻断检测', + 'method' => '加密方式', + 'protocol' => '协议', + 'protocol_param' => '协议参数', + 'obfs' => '混淆', + 'obfs_param' => '混淆参数', + 'single' => '单端口', + 'transfer' => '中 转', + 'service_port' => '服务端口', + 'single_passwd' => '[单] 密码', + 'v2_alter_id' => '额外ID', + 'v2_net' => '传输方式', + 'v2_cover' => '伪装类型', + 'v2_host' => '伪装域名', + 'v2_path' => '路径 | 密钥', + 'v2_sni' => 'SNI', + 'v2_tls' => '连接TLS', + 'v2_tls_provider' => 'TLS配置', + 'relay_port' => '中转端口', + ], + 'node_auth' => [ + 'attribute' => '节点授权', + 'key' => '通信密钥节点用', + 'secret' => '反向通信密钥', + ], + 'node_cert' => [ + 'attribute' => '域名证书', + 'domain' => '域名', + 'key' => 'KEY', + 'pem' => 'PEM', + 'issuer' => '签发机构', + 'signed_date' => '签发日期', + 'expired_date' => '만료시간', + ], + 'order' => [ + 'attribute' => '주문서', + 'id' => '订单ID', + 'original_price' => '原价', + 'price' => '实价', + 'pay_way' => '결제 방식', + 'status' => '订单状态', + ], + 'goods' => [ + 'attribute' => '商品', + 'type' => '类型', + 'name' => '이름', + 'price' => '售价', + 'category' => '分类', + 'level' => '等级', + 'renew' => '流量重置价格', + 'user_limit' => '用户限速', + 'period' => '重置周期', + 'traffic' => '流量额度', + 'invite_num' => '赠送邀请码数量', + 'limit_num' => '限购数量', + 'available_date' => '유효기간', + 'hot' => '热销', + 'color' => '颜色', + 'logo' => '商品图片', + 'info' => '自定义列表', + ], + 'rule' => [ + 'attribute' => '规则', + 'type' => '类型', + 'name' => '표시', + 'pattern' => '值', + ], + 'rule_group' => [ + 'attribute' => '规则分组', + 'name' => '分组名称', + 'type' => '审计模式', + 'rules' => '选择规则', + ], + 'role' => [ + 'attribute' => '角色', + 'name' => '이름', + 'permissions' => '权限', + ], + 'permission' => [ + 'attribute' => '权限行为', + 'description' => '行为描述', + 'name' => '路由名称', + ], + 'article' => [ + 'attribute' => '文章', + 'type' => '类 型', + 'category' => '类 别', + 'language' => '语 言', + 'logo' => '头 图', + 'created_at' => '发布日期', + 'updated_at' => '最后更新', + ], + 'coupon' => [ + 'attribute' => '卡券', + 'name' => '卡券名称', + 'sn' => '使用券码', + 'logo' => '卡券图片', + 'type' => '类型', + 'value' => '优惠额度', + 'priority' => '权 重', + 'usable_times' => '使用次数', + 'minimum' => '满减条件', + 'used' => '个人限用', + 'levels' => '等级限定', + 'groups' => '分组限定', + 'users_whitelist' => '专属用户', + 'users_blacklist' => '禁用用户', + 'services_whitelist' => '许可商品', + 'services_blacklist' => '禁用商品', + 'newbie' => '新人专属', + 'num' => '수량', + ], + 'aff' => [ + 'invitee' => '소비자', + 'order_id' => '주문 번호', + 'amount' => '소비금액', + 'commission' => '반려금액', + 'updated_at' => '处理时间', + 'created_at' => '下单时间', + ], + 'referral' => [ + 'created_at' => '申请时间', + 'user' => '申请账号', + 'amount' => '申请提现金额', + 'id' => '申请单ID', + ], + 'notification' => [ + 'type' => '类型', + 'address' => '收信地址', + 'created_at' => '投递时间', + 'status' => '投递状态', + ], + 'ip' => [ + 'network_type' => '通讯类型', + 'info' => '归属地', + ], + 'user_traffic' => [ + 'upload' => '上传流量', + 'download' => '下载流量', + 'total' => '总流量', + 'log_time' => '记录时间', + ], + 'user_data_modify' => [ + 'before' => '变动前流量', + 'after' => '变动后流量', + 'description' => '표시', + 'created_at' => '发生时间', + ], + 'user_credit' => [ + 'before' => '操作前余额', + 'after' => '操作后金额', + 'amount' => '发生金额', + 'created_at' => '发生时间', + ], +]; \ No newline at end of file diff --git a/resources/lang/ko/notification.php b/resources/lang/ko/notification.php new file mode 100644 index 00000000..53b02260 --- /dev/null +++ b/resources/lang/ko/notification.php @@ -0,0 +1,35 @@ + '공지', + 'new' => ':num 새로운 소식', + 'empty' => '새 소식을 받지 못하였습니다.', + 'payment_received' => '订单支付成功,金额::amount,查看详情', + 'account_expired' => '계정 만료 알림', + 'account_expired_content' => '고객님의 계정은 【:days】 일 후 만료됩니다, 서비스를 계속 정상적으로 이용하시려면, 기간을 연장해주세요.', + 'account_expired_blade' => '계정이 【:days天】 후 만료될 예정이오니, 기간을 연장해주세요.', + 'active_email' => '30분 이내에 설정을 완료해주세요.', + 'close_ticket' => '문의 【:id】:title 닫기', + 'view_web' => '홈페이지 접속', + 'view_ticket' => '문의 보기', + 'new_ticket' => '새 문의 수령 :title', + 'reply_ticket' => '문의 답변 :title', + 'ticket_content' => '문의내용', + 'node_block' => '서버 차단 경고', + 'node_offline' => '서버 오프라인 경고', + 'node_offline_content' => '다음 서버에 문제가 있습니다: 신호 없음, 서버 오프라인 확인:', + 'block_report' => '차단 로그', + 'traffic_warning' => '데이터 알림', + 'traffic_remain' => '데이터 percent% 사용함, 주의하세요.', + 'traffic_tips' => '요금제의 데이터 초기화 날짜에 주의하여 데이터를 적절하게 할당하여 사용하거나, 데이터 소진 후 요금제를 유료로 초기화하여 사용하세요.', + 'verification_account' => '계정 인증', + 'verification' => '인증번호:', + 'verification_limit' => ':minutes 분 안에 인증을 완료해주세요.', + 'data_anomaly' => '데이터 용량 이상! 사용자 알림!', + 'data_anomaly_content' => '사용자:id:최근 1시간 [업로드::upload | 다운로드::download | 합계::total]', + 'node' => [ + 'upload' => '업로드', + 'download' => '다운로드', + 'total' => '종합', + ], +]; \ No newline at end of file diff --git a/resources/lang/ko/user.php b/resources/lang/ko/user.php new file mode 100644 index 00000000..7fe6026e --- /dev/null +++ b/resources/lang/ko/user.php @@ -0,0 +1,219 @@ + [ + 'credit' => '계정 잔고', + 'status' => '계정 상태', + 'level' => '계정 등급', + 'group' => '소속 그룹', + 'speed_limit' => '속도 제한', + 'remain' => '잔여 데이터', + 'time' => '요금제 기간', + 'last_login' => '최근 접속', + 'reset' => '{0} 还有 :days 重置流量|[1,*] 还有 :days 天重置流量', + 'connect_password' => '비밀번호 연결', + 'reason' => [ + 'normal' => '계정이 정상입니다.', + 'expired' => '고객님 요금제 상품이 만료되었습니다.', + 'overused' => '本时段使用流量超过 :data GB触发系统限制
:min 后解除限制', + 'traffic_exhausted' => '고객님의 [데이터] 가 소진되었습니다.', + 'unknown' => '未知原因,请尝试[刷新]你的浏览器!多次无果后再请开工单联系管理', + ], + ], + 'home' => [ + 'attendance' => [ + 'attribute' => '출첵', + 'disable' => '출첵 기능이 활성화되지 않았습니다.', + 'done' => '출첵완료, 내일도 방문해주세요!', + 'success' => '고객님은 :data 용량을 받았습니다.', + 'failed' => '시스템 이상', + ], + 'traffic_logs' => '용량 기록', + 'announcement' => '공지', + 'wechat_push' => '위챗 공지 발송', + 'chat_group' => '단톡방', + 'empty_announcement' => '공지 없음', + ], + 'purchase_to_unlock' => '서비스 구매 후 잠금 해제', + 'purchase_required' => '해당 기능은 유료 구매자에게만 제공됩니다!', + 'more' => '더 보기', + 'attribute' => [ + 'node' => '회선', + 'data' => '용량', + 'ip' => 'IP 주소', + 'isp' => '사업자', + 'address' => '지역', + ], + 'purchase_promotion' => '서둘러 서비스를 구매하세요!', + 'menu' => [ + 'helps' => '도움', + 'home' => '메인페이지', + 'invites' => '초대', + 'invoices' => '주문', + 'nodes' => '회선', + 'referrals' => '홍보', + 'shop' => '서비스', + 'profile' => '설정', + 'tickets' => '문의', + 'admin_dashboard' => '관리', + ], + 'contact' => '연락처 정보', + 'oauth' => [ + 'bind_title' => '소셜 계정 연동', + 'not_bind' => '연동되지않음', + 'bind' => '연동', + 'rebind' => '재연동', + 'unbind' => '연동 해제', + ], + 'coupon' => [ + 'attribute' => '할인쿠폰', + 'voucher' => '상품권', + 'recharge' => '충전권', + 'discount' => '할인', + 'error' => [ + 'unknown' => '유효하지 않은 쿠폰', + 'used' => '이미 사용된 쿠폰', + 'expired' => '쿠폰이 만료됨', + 'run_out' => '쿠폰 소진', + 'inactive' => '쿠폰이 적용되지 않음', + 'wait' => ':time 에 활성화 됩니다. 기다려주세요!', + 'unmet' => '사용 조건 불충족', + 'minimum' => '本券最低使用金额为 :amount', + 'overused' => '本券只能使用 :times 次', + 'users' => '账户不符合促销条件', + 'services' => '商品不符合折扣条件,请查看促销条款', + ], + ], + 'error_response' => '오류가 발생했습니다. 나중에 시도하십시오.', + 'invite' => [ + 'attribute' => '초대 코드', + 'counts' => '共 :num 个邀请码', + 'tips' => '< strong >: num < / strong > 초대장 코드를 생성할 수 있습니다.: days일 동안 유효합니다.', + 'logs' => '초대 기록', + 'promotion' => '당신의 초대 코드를 통해 등록하고 활성화하면, 양쪽 모두 :traffic 데이터 사용 인센티브를 받게 됩니다. 그들이 소비할 때, 당신은 그들의 소비 금액 :referral_percent%을 보상으로 받습니다.', + 'generate_failed' => '생성 실패: 초대코드 생성 불가', + ], + 'reset_data' => [ + '' => '데이터 재설정', + 'required' => '필요', + 'cost_tips' => '本次重置流量将扣除余额 :amount!', + 'lack' => '잔액 부족, 잔액을 충전해주세요', + 'logs' => '사용자 직접 용량을 초기화', + 'success' => '초기화 성공', + ], + 'referral' => [ + 'link' => '홍보 링크', + 'total' => '合计返利 :amount( :total 次),满 :money 可以申请提现。', + 'logs' => '수수료 기록', + 'failed' => '신청 실패', + 'success' => '신청 성공', + 'msg' => [ + 'account' => '계정이 만료됨, 다시 서비스를 구매해주세요.', + 'applied' => '이미 신청이 존재하므로 이전 신청이 완료될 때까지 기다려주세요.', + 'unfulfilled' => '满 :amount 才可以提现,继续努力吧', + 'wait' => '관리자의 승인을 기다려주세요', + 'error' => '반환 실패, 나중에 다시 시도하거나 관리자에게 문의해주세요', + ], + ], + 'inviter' => '초대자', + 'invitee' => '초대 받은 사람', + 'registered_at' => '회원가입 시간', + 'bought_at' => '구매 날짜', + 'payment_method' => '결제 방식', + 'pay' => '결제', + 'input_coupon' => '쿠폰 번호를 입력해주세요', + 'recharge' => '충전', + 'recharge_credit' => '잔액 충전', + 'recharging' => '충전중...', + 'withdraw_commission' => '결산 수수료', + 'withdraw_at' => '결산 날짜', + 'withdraw_logs' => '출금 기록', + 'withdraw' => '출금', + 'scan_qrcode' => '프로그램으로 QR코드를 스캔하세요', + 'shop' => [ + 'hot' => '인기', + 'limited' => '한정판', + 'change_amount' => '금액 충전', + 'change_amount_help' => '请输入充值金额', + 'buy' => '구매', + 'description' => '표시', + 'service' => '서비스', + 'pay_credit' => '잔액 결제', + 'pay_online' => '온라인 결제', + 'price' => '가격', + 'quantity' => '수량', + 'subtotal' => '소계', + 'total' => '합계', + 'conflict' => '패키지 중복 존재', + 'conflict_tips' => '< p> 현재 구매 패키지는 < code> 예약 패키지로 자동 설정됩니다. < p>
    < li> 예약 패키지는 발효 중인 패키지가 종료되면 자동으로 실행됩니다! < li> < li> > 결제 후 패키지를 수동으로 활성화할 수 있습니다! ', + 'call4help' => '관리자에게 문의하세요', + ], + 'service' => [ + 'node_count' => ':num 条优质线路', + 'country_count' => '覆盖 :num 个国家或地区', + 'unlimited' => '속도 제한 없음', + ], + 'payment' => [ + 'error' => '충전 잔액이 올바르지 않습니다', + 'creating' => '주문서 생성 중...', + 'redirect_stripe' => 'Stripe 결제 페이지로 이동', + 'qrcode_tips' => '< strong class="red-600" >: software< > 을 사용하여 QR코드를 스캔하십시오.', + 'close_tips' => '< code>: minutes분 안에 결제를 완료해 주십시오, 그렇지 않으면 주문이 자동으로 취소됩니다.', + 'mobile_tips' => ' 모바일 사용자 : QR코드를 길게 누름 - > 이미지 저장 - > 결제 프로그램 열기 - > 청소 - > 앨범 선택 그리고 결제하기', + ], + 'invoice' => [ + 'attribute' => '주문서', + 'detail' => '소비 기록', + 'amount' => '금액', + 'active_prepaid_question' => '미리 예비 결제를 신청하시겠습니까?', + 'active_prepaid_tips' => '상품이 활성화되면:
    이전 상품은 바로 효력을 잃습니다!
    만료일은 오늘 다시 시작됩니다!', + ], + 'node' => [ + 'info' => '설정 정보', + 'setting' => '프록시 설정', + 'unstable' => '회선 점검중', + 'rate' => ':ratio배 데이터 소비', + ], + 'subscribe' => [ + 'baned' => '구독 기능이 비활성화되었습니다. 관리자에게 연락하세요.', + 'link' => '구독 주소', + 'tips' => '경고: 이 구독 링크는 개인에 한해서만 사용할 수 있습니다. 이 링크를 공유하지 마십시오. 그렇지 않으면 계정에 문제가 생길 수 있습니다.', + 'exchange_warning' => '구독 주소를 변경 시 다음과 같습니다. \n1. 이전 주소는 즉시 비활성화됩니다 \n2. 연결 비밀번호가 변경됩니다.', + 'custom' => '自定义订阅', + 'ss_only' => '只订阅SS', + 'ssr_only' => '只订阅SSR (包含SS)', + 'v2ray_only' => 'V2Ray 만 구독', + 'trojan_only' => 'Trojan 만 구독', + 'error' => '구독 주소 변경 오류', + ], + 'ticket' => [ + 'attribute' => '문의', + 'submit_tips' => '문의를 하시겠습니까?', + 'reply_confirm' => '문의 답변을 하시겠습니까?', + 'close_tips' => '문의를 종료하시겠습니까?', + 'close' => '문의 닫기', + 'failed_closed' => '오류: 문의가 이미 종료되었습니다.', + 'reply_placeholder' => '어떤 도움이 필요한가요?', + 'reply' => '답장', + 'close_msg' => '문의: 사용자 ID:id 가 수동으로 닫음', + 'title_placeholder' => '请简单表示你的问题类型,或者涉及的内容', + 'content_placeholder' => '请详细的描述您遇到的问题,或者需要我们帮助的地方,以便我们快速帮助到您', + 'new' => '새로 문의하기', + 'working_hour' => '영업시간', + 'online_hour' => '접속 시간', + 'service_tips' => '다양한 연락처가 있습니다. 이 중 < code > 의 로 연락하십시오! 잦은 요청 시, 처리 시간이 자동으로 지연됩니다.', + 'error' => '알 수 없는 오류! 관리자에게 문의하세요', + ], + 'traffic_logs' => [ + '24hours' => '오늘 데이터 사용 상황', + '30days' => '이달 데이터 사용 상황', + 'tips' => '알림: 데이터 통계 업데이트가 지연될 수 있습니다. 일별 통계는 다음날 갱신, 시간별 갱신은 몇 시간 뒤 적용됩니다.', + ], + 'client' => '프로그램', + 'tutorials' => '教 程', + 'current_role' => '현재 정보', + 'knowledge' => [ + 'title' => '知 识 库', + 'basic' => '基 础', + ], +]; diff --git a/resources/lang/ko/validation.php b/resources/lang/ko/validation.php index c0e4ec33..a952804e 100644 --- a/resources/lang/ko/validation.php +++ b/resources/lang/ko/validation.php @@ -106,10 +106,32 @@ return [ 'uploaded' => ':attribute을(를) 업로드하지 못했습니다.', 'url' => ':attribute 형식은 올바르지 않습니다.', 'uuid' => ':attribute은(는) 유효한UUID여야합니다.', - 'custom' => [ + + 'custom' => [ 'attribute-name' => [ - 'rule-name' => 'custom-message', + 'rule-name' => '사용자 지정 메세지', ], ], - 'attributes' => [], + + 'attributes' => [ + 'name' => '이름', + 'nickname' => '닉네임', + 'username' => '사용자 이름', + 'email' => '이메일', + 'password' => '비밀번호', + 'password_confirmation' => '비밀번호 확인', + 'phone' => '전화번호', + 'day' => '일 | 일', + 'month' => '월', + 'year' => '년', + 'hour' => '시', + 'minute' => '분', + 'second' => '초', + 'title' => '제목', + 'content' => '내용', + 'description' => '표시', + 'excerpt' => '요약', + 'date' => '날짜', + 'time' => '시간', + ], ]; diff --git a/resources/lang/vi.json b/resources/lang/vi.json new file mode 100644 index 00000000..0b2ddc51 --- /dev/null +++ b/resources/lang/vi.json @@ -0,0 +1,28 @@ +{ + "All rights reserved.": "版本所有。", + "Hello!": "您好:", + "If you did not create an account, no further action is required.": "如果您未注册帐号,请忽略此邮件。", + "If you did not request a password reset, no further action is required.": "如果您未申请重设密码,请忽略此邮件。", + "If you’re having trouble clicking the \":actionText\" button, copy and paste the URL below\ninto your web browser:": "如果您点击「:actionText」按钮时出现问题,请复制下方链接到浏览器中开启:", + "If your problem has not been solved, Feel free to open other one.": "如果您的问题尚未解决,请另开工单解决。", + "Invoice Detail": "订单明细", + "Nodes Daily Report": "线路每日流量报告", + "Payment for #:sn has been received! Total amount: :amount.": "您成功支付了订单#:sn,总金额为 :amount。", + "Payment Received": "账单付款成功", + "Please click the button below to verify your email address.": "请点击下面按钮验证您的 E-mail:", + "Please click the button below to reset your password.": "请点击下面按钮重置您的密码:", + "Regards": "致敬", + "Reset Password Notification": "重设密码通知", + "Reset Password": "重设密码", + "Send Password Reset Link": "发送重设密码链接", + "Thanks for signing up! Before getting started, could you verify your email address by clicking on the link we just emailed to you? If you didn't receive the email, we will gladly send you another.": "感谢您的注册! 在开始之前,您需要通过点击我们刚刚发送至您邮箱中的链接来验证您的电子邮件! 如果您没有收到电子邮件,我们很乐意再发送一封给您。", + "Too Many Attempts.": "尝试次数过多", + "Too Many Requests": "请求次数过多", + "Verify Email Address": "验证 E-mail", + "Verify Your Email Address": "验证 您的E-mail", + "We won't ask for your password again for a few hours.": "确认完成后,接下来几个小时内您不需再输入密码。", + "You are receiving this email because we received a password reset request for your account.": "您收到此电子邮件是因为我们收到了您帐户的密码重设请求。", + "Your email address is not verified.": "您的电子邮件尚未验证通过", + "You have not responded this ticket in :num hours, System has closed your ticket.": "超过:num小时未回复工单,系统已自动关闭了您的工单", + "You must have a valid subscription to view the content in this area!": "您必须拥有有效套餐才可以查看该区域的内容!" +} diff --git a/resources/lang/vi/admin.php b/resources/lang/vi/admin.php new file mode 100644 index 00000000..07c7d357 --- /dev/null +++ b/resources/lang/vi/admin.php @@ -0,0 +1,844 @@ + [ + 'users' => '总用户', + 'available_users' => '有效用户', + 'paid_users' => '付费用户', + 'active_days_users' => ':days 日内活跃用户', + 'inactive_days_users' => ':days 日以上不活跃用户', + 'online_users' => '当前在线', + 'expiring_users' => '临近到期', + 'overuse_users' => '流量大户(超过90%的用户)', + 'abnormal_users' => '1小时内流量异常', + 'nodes' => '节点', + 'maintaining_nodes' => '维护中的节点', + 'traffic_consumed' => '记录的消耗流量', + 'traffic_days_consumed' => ':days 日内消耗流量', + 'orders' => '总订单数', + 'online_orders' => '在线支付订单数', + 'succeed_orders' => '支付成功订单数', + 'credit' => '总余额', + 'withdrawing_commissions' => '待提现佣金', + 'withdrawn_commissions' => '已支出佣金', + ], + 'action' => [ + 'edit_item' => '编辑:attribute', + 'add_item' => '添加:attribute', + ], + 'confirm' => [ + 'delete' => [0 => '确定删除:attribute【', 1 => '】? '], + 'continues' => '确定继续操作吗? ', + 'export' => '确定全部导出? ', + ], + 'user_dashboard' => '个人中心', + 'menu' => [ + 'dashboard' => '管理中心', + 'user' => [ + 'attribute' => '用户系统', + 'list' => '用户管理', + 'oauth' => '用户授权', + 'group' => '用戶分组', + 'credit_log' => '余额变动', + 'subscribe' => '订阅管理', + ], + 'rbac' => [ + 'attribute' => '权限系统', + 'permission' => '权限列表', + 'role' => '角色列表', + ], + 'customer_service' => [ + 'attribute' => '客服系统', + 'ticket' => '服务工单', + 'article' => '文章管理', + 'push' => '消息推送', + 'mail' => '邮件群发', + ], + 'node' => [ + 'attribute' => '线路系统', + 'list' => '线路管理', + 'auth' => '线路授权', + 'cert' => '证书列表', + ], + 'rule' => [ + 'attribute' => '审计规则', + 'list' => '规则列表', + 'group' => '规则分组', + 'trigger' => '触发记录', + ], + 'shop' => [ + 'attribute' => '商品系统', + 'goods' => '商品管理', + 'coupon' => '卡券管理', + 'order' => '商品订单', + ], + 'promotion' => [ + 'attribute' => '推广系统', + 'invite' => '邀请管理', + 'withdraw' => '提现管理', + 'rebate_flow' => '返利流水', + ], + 'analysis' => [ + 'attribute' => '分析报告', + 'accounting' => '流水账簿', + 'user_flow' => '用户分析', + ], + 'log' => [ + 'attribute' => '日志系统', + 'traffic' => '流量使用', + 'traffic_flow' => '流量变动', + 'service_ban' => '封禁记录', + 'online_logs' => '在线记录', + 'online_monitor' => '在线监控', + 'notify' => '通知记录', + 'payment_callback' => '支付回调', + 'system' => '系统日志', + ], + 'tools' => [ + 'attribute' => '工具箱', + 'decompile' => '反解析', + 'convert' => '格式转换', + 'import' => '数据导入', + 'analysis' => '日志分析', + ], + 'setting' => [ + 'attribute' => '设置', + 'email_suffix' => '邮箱后缀管理', + 'universal' => '通用配置', + 'system' => '系统设置', + ], + ], + 'user' => [ + 'massive' => [ + 'text' => '用户生成数量', + 'button' => '批量生成', + 'failed' => '批量生成账号失败', + 'succeed' => '批量生成账号成功', + 'note' => '后台批量生成用户', + ], + 'proxy_info' => '配置信息', + 'traffic_monitor' => '流量统计', + 'online_monitor' => '在线巡查', + 'reset_traffic' => '重置流量', + 'user_view' => '用户视角', + 'connection_test' => '联网测试', + 'counts' => '共 :num 个账号', + 'reset_confirm' => [0 => '确定重置 【', 1 => '】 流量吗?'], + 'info' => [ + 'account' => '账号信息', + 'proxy' => '代理信息', + 'switch' => '切换身份', + 'reset_date_hint' => '账号流量下一个重置日期', + 'expired_date_hint' => '留空默认为一年', + 'uuid_hint' => 'V2Ray的账户ID', + 'recharge_placeholder' => '填入负值则会扣余额', + ], + 'update_help' => '更新成功,是否返回?', + 'proxies_config' => '【:username】连接配置信息', + 'group' => [ + 'title' => '用户分组控制(同一节点可分配至多个分组,一个用户只能属于一个分组;对于用户可见/可用节点:先按分组后按等级)', + 'name' => '分组名称', + 'counts' => ' 共 :num 个分组', + ], + ], + 'zero_unlimited_hint' => '不设置/0,即为无限制', + 'node' => [ + 'traffic_monitor' => '流量统计', + 'refresh_geo' => '刷新地理', + 'ping' => '检测延迟', + 'connection_test' => '连通性检测', + 'counts' => '共 :num 条线路', + 'reload_all' => '重载【全部】后端', + 'refresh_geo_all' => '刷新【全部】节点地理信息', + 'reload_confirm' => '确定重载节点?', + 'info' => [ + 'hint' => '注意: 添加节点后自动生成的ID,即为该节点部署ShadowsocksR Python版后端时usermysql.json中的node_id的值,同时也是部署V2Ray后端时的nodeId的值;', + 'basic' => '基础信息', + 'ddns_hint' => '动态IP节点需要配置DDNS,对此类型节点,节点阻断功能会通过域名进行检测', + 'domain_placeholder' => '服务器域名地址,填则优先取域名地址', + 'domain_hint' => '系统设置中开启【DDNS模式】,域名将会自动与下方IP内容进行绑定操作!无需再前往域名注册商页面修改IP信息了哟', + 'extend' => '扩展信息', + 'display' => [ + 'invisible' => '完全不可见', + 'node' => '只显示于【:trans】页面', + 'sub' => '只显示于【订 阅】', + 'all' => '完全可见', + 'hint' => '用户是否可以订阅/看到本节点', + ], + 'ipv4_hint' => '多IP使用“, ”分割,例:1.1.1.1, 8.8.8.8', + 'ipv6_hint' => '多IP使用“, ”分割,例:1.1.1.1, 8.8.8.8', + 'ipv4_placeholder' => '服务器IPv4地址', + 'ipv6_placeholder' => '服务器IPv6地址,填写则用户可见,域名无效', + 'push_port_hint' => '必填且防火墙需放行,否则将导致消息推送异常', + 'data_rate_hint' => '举例:0.1用100M结算10M,5用100M结算500M', + 'level_hint' => '等级:0-无等级,全部可见', + 'detection' => [ + 'tcp' => '只检测TCP', + 'icmp' => '只检测ICMP', + 'all' => '检测全部', + 'hint' => '每30~60分钟随机进行节点阻断检测', + ], + 'obfs_param_hint' => '混淆不为 [plain] 时可填入参数进行流量伪装; 混淆为 [http_simple] 时,建议端口为 80; 混淆为 [tls] 时,建议端口为 443;', + 'additional_ports_hint' => '如果启用请配置服务端的additional_ports信息', + 'v2_method_hint' => '使用WebSocket传输协议时不要使用none', + 'v2_net_hint' => '使用WebSocket传输协议时请启用TLS', + 'v2_cover' => [ + 'none' => '无伪装', + 'http' => 'HTTP数据流', + 'srtp' => '视频通话数据 (SRTP)', + 'utp' => 'BT下载数据 (uTP)', + 'wechat' => '微信视频通话', + 'dtls' => 'DTLS1.2数据包', + 'wireguard' => 'WireGuard数据包', + ], + 'v2_host_hint' => '伪装类型为http时多个伪装域名逗号隔开,使用WebSocket传输协议时只允许单个', + 'v2_tls_provider_hint' => '不同后端配置不同:', + 'single_hint' => '推荐80或443,服务端需要配置
    严格模式:用户的端口无法连接,只能通过以下指定的端口进行连接(如何配置)', + ], + 'proxy_info' => '*兼容 SS', + 'proxy_info_hint' => '如果兼容请在服务端配置协议和混淆时加上_compatible', + 'reload' => '重载后端', + 'auth' => [ + 'title' => '节点授权列表WEBAPI', + 'deploy' => [ + 'title' => '部署 :type_label 后端', + 'attribute' => '部署后端', + 'command' => '操作命令', + 'update' => '更新:', + 'uninstall' => '卸载:', + 'start' => '启动:', + 'stop' => '停止:', + 'status' => '状态:', + 'recent_logs' => '近期日志:', + 'real_time_logs' => '实时日志:', + 'restart' => '重启:', + 'same' => '同上', + 'trojan_hint' => '请先填写节点域名并将域名解析到节点对应的IP上', + ], + 'reset_auth' => '重置密钥', + 'counts' => '共 :num 条授权', + 'generating_all' => '确定生成所有节点的授权吗?', + ], + 'cert' => [ + 'title' => '域名证书列表(V2Ray节点的伪装域名)', + 'counts' => '共 :num 个域名证书', + 'key_placeholder' => '域名证书的KEY值,允许为空,VNET-V2Ray后端支持自动签证书', + 'pem_placeholder' => '域名证书的PEM值,允许为空,VNET-V2Ray后端支持自动签证书', + ], + ], + 'hint' => '提示', + 'oauth' => [ + 'title' => '用户OAuth授权', + 'counts' => '共 :num 个授权', + ], + 'select_all' => '全 选', + 'clear' => '清 空', + 'unselected_hint' => '待分配规则,此处可搜索', + 'selected_hint' => '已分配规则,此处可搜索', + 'clone' => '克隆', + 'monitor' => [ + 'daily_chart' => '每日流量图', + 'monthly_chart' => '月流量图', + 'node' => '节点流量', + 'user' => '用户流量', + 'hint' => '提示: 如果无统计数据,请检查定时任务是否正常。', + ], + 'tools' => [ + 'analysis' => [ + 'title' => 'SSR日志分析仅适用于单机单节点', + 'req_url' => '近期请求地址', + 'not_enough' => '访问记录不足15000条,无法分析数据', + ], + 'convert' => [ + 'title' => '格式转换 Shadowsocks 转 ShadowsocksR', + 'content_placeholder' => '请填入要转换的配置信息', + ], + 'decompile' => [ + 'title' => '反解析配置转换', + 'attribute' => '反解析', + 'content_placeholder' => '请填入要反解析的ShadowsocksR链接,一行一条', + ], + ], + 'ticket' => [ + 'title' => '工单列表', + 'counts' => '共 :num 个工单', + 'send_to' => '请填入目标用户信息!', + 'user_info' => '用户信息', + 'inviter_info' => '邀请人信息', + 'close_confirm' => '确定关闭工单?', + 'error' => '未知错误!请查看运行日志', + ], + 'logs' => [ + 'subscribe' => '订阅列表', + 'counts' => '共 :num 条记录', + 'rule' => [ + 'clear_all' => '清空记录', + 'title' => '触发记录', + 'name' => '触发规则', + 'reason' => '触发原因', + 'created_at' => '触发时间', + 'tag' => '✅ 访问非规则允许内容', + 'clear_confirm' => '确定清空所有记录吗?', + ], + 'order' => [ + 'title' => '订单列表', + 'is_expired' => '是否过期', + 'is_coupon' => '是否使用优惠券', + ], + 'user_traffic' => [ + 'title' => '流量使用记录', + 'choose_node' => '选择节点', + ], + 'user_data_modify_title' => '流量变动记录', + 'callback' => '回调日志 (在线支付)', + 'notification' => '邮件投递记录', + 'ip_monitor' => '在线IP监控 2分钟内的实时数据', + 'user_ip' => [ + 'title' => '用户在线IP列表 最近10分钟', + 'connect' => '连接IP', + ], + 'ban' => [ + 'title' => '用户封禁记录', + 'time' => '时长', + 'reason' => '理由', + 'ban_time' => '封禁时间', + 'last_connect_at' => '最后连接时间', + ], + 'credit_title' => '余额变动记录', + ], + 'start_time' => '开始区间', + 'end_time' => '结束区间', + 'goods' => [ + 'title' => '商品列表', + 'type' => [ + 'top_up' => '充值', + 'package' => '流量包', + 'plan' => '套餐', + ], + 'info' => [ + 'type_hint' => '套餐与账号有效期有关,流量包只扣可用流量,不影响有效期', + 'period_hint' => '套餐流量会每N天重置', + 'limit_num_hint' => '每个用户可以购买该商品次数,为 0 时代表不限购', + 'available_date_hint' => '到期后会自动从总流量扣减对应的流量', + 'desc_placeholder' => '商品的简单描述', + 'list_placeholder' => '商品的自定义列表添加', + 'list_hint' => '每行内容请以<li> 开头</li> 结尾', + ], + 'status' => [ + 'yes' => '上架', + 'no' => '下架', + ], + 'sell_and_used' => '使用 / 销售', + 'counts' => '共 :num 个商品', + ], + 'sort_asc' => '排序值越大排越前', + 'yes' => '是', + 'no' => '否', + 'rule' => [ + 'type' => [ + 'reg' => '正则表达式', + 'domain' => '域名', + 'ip' => 'IP', + 'protocol' => '协议', + ], + 'counts' => '共 :num 条审计规则', + 'title' => '规则列表', + 'group' => [ + 'type' => [ + 'off' => '阻断', + 'on' => '放行', + ], + 'title' => '规则分组', + 'counts' => '共 :num 个分组', + ], + ], + 'role' => [ + 'name_hint' => '唯一标识名称,例如:Administrator', + 'description_hint' => '面板显示名称,例如:管理员', + 'title' => '权限角色列表', + 'permissions_all' => '全部权限', + 'counts' => '共 :num 个权限角色', + ], + 'report' => [ + 'monthly_accounting' => '月流水账簿', + 'annually_accounting' => '年流水账簿', + 'historic_accounting' => '历史流水账簿', + 'current_month' => ' 本 月 ', + 'last_month' => ' 上 月', + 'current_year' => ' 今 年 ', + 'last_year' => ' 去 年 ', + 'hourly_traffic' => '每时流量', + 'daily_traffic' => '每天流量', + 'today' => ' 本 日 ', + ], + 'permission' => [ + 'title' => '权限行为列表', + 'description_hint' => '填写描述,例:【A系统】编辑A', + 'name_hint' => '填写路由名称,例:admin.permission.create,update', + 'counts' => '共 :num 条权限行为', + ], + 'marketing' => [ + 'email' => [ + 'title' => '邮件群发列表', + 'group_send' => '群发邮件', + 'counts' => '共 :num 条消息', + ], + 'send_status' => '发送状态', + 'send_time' => '发送时间', + 'error_message' => '错误信息', + 'push' => [ + 'title' => '推送消息列表', + 'send' => '推送消息', + 'counts' => '共 :num 条推送消息', + ], + ], + 'creating' => '正在添加...', + 'article' => [ + 'type' => [ + 'knowledge' => '文章', + 'announcement' => '公告', + ], + 'category_hint' => '同一类别将归类与同一文件夹下', + 'logo_hint' => '推荐尺寸:100x75', + 'title' => '文章列表', + 'counts' => '共 :num 篇文章', + ], + 'coupon' => [ + 'title' => '卡券列表', + 'name_hint' => '会用于前端显示', + 'sn_hint' => '提供给用户使用卡券的卡券,留空则默认为8位随机码', + 'type' => [ + 'voucher' => '抵用券', + 'discount' => '折扣券', + 'charge' => '充值券', + ], + 'type_hint' => '抵用:抵扣商品金额,折扣:商品百分比打折,充值:充值用户账号余额', + 'value' => '{1} ➖ :num|{2} :num 折|{3} ➕ :num', + 'value_hint' => '范围为 1% ~ 99% ', + 'priority_hint' => '同【使用券码】下,符合条件的高权重码将会被优先使用。最高为 255', + 'minimum_hint' => '当支付金额超过 :num 值时,才能使用本优惠劵;', + 'used_hint' => '符合条件的用户可以使用本券 :num 次;', + 'levels_hint' => '用户等级在选定等级内,方可使用本券', + 'groups_hint' => '选定的用户分组,方可使用本券', + 'users_placeholder' => '输入用户ID, 再回车', + 'user_whitelist_hint' => '涉及用户均可使用本券,留空为不使用此条件', + 'users_blacklist_hint' => '涉及用户均不可使用本券,空为不使用此条件', + 'services_placeholder' => '输入商品ID, 再回车', + 'services_whitelist_hint' => '涉及商品方可使用本券,留空为不使用此条件', + 'services_blacklist_hint' => '涉及商品不可使用本券,留空为不使用此条件', + 'newbie' => [ + 'first_discount' => '首次用任意券', + 'first_order' => '首单', + 'created_days' => '创号', + ], + 'created_days_hint' => '且 创号 :days 天', + 'limit_hint' => '本项各条件为 并且 关系,请自行搭配使用', + 'info_title' => '卡券信息', + 'counts' => '共 :num 张优惠券', + 'discount' => '优惠', + 'export_title' => '卡券导出', + 'single_use' => '一次性', + ], + 'times' => '次', + 'massive_export' => '批量导出', + 'system_generate' => '系统生成', + 'aff' => [ + 'rebate_title' => '返利流水记录', + 'counts' => '共 :num 个申请', + 'title' => '提现申请列表', + 'apply_counts' => '共 :num 个申请', + 'referral' => '推广返利', + 'commission_title' => '提现申请详情', + 'commission_counts' => '本申请共涉及 :num 单', + ], + 'setting' => [ + 'common' => [ + 'title' => '通用配置', + 'set_default' => '设为默认', + 'connect_nodes' => '关联节点数', + ], + 'email' => [ + 'title' => '邮箱过滤列表 (用于屏蔽注册邮箱后缀)', + 'tail' => '邮箱后缀', + 'rule' => '规则', + 'black' => '黑名单', + 'white' => '白名单', + 'tail_placeholder' => '请填入邮箱后缀', + ], + 'system' => [ + 'title' => '系统配置', + 'web' => '网站常规', + 'account' => '账号设置', + 'node' => '节点设置', + 'extend' => '拓展功能', + 'check_in' => '签到系统', + 'promotion' => '推广系统', + 'notify' => '通知系统', + 'auto_job' => '自动任务', + 'other' => 'LOGO|客服|统计', + 'payment' => '支付系统', + 'menu' => '菜单', + ], + 'no_permission' => '您没有权限修改参数!', + ], + 'system' => [ + 'account_expire_notification' => '账号过期通知', + 'active_times' => '激活账号次数', + 'admin_invite_days' => '管理员-邀请码有效期', + 'aff_salt' => '邀请链接 用户信息字符化', + 'alipay_qrcode' => '支付宝二维码', + 'AppStore_id' => '苹果账号', + 'AppStore_password' => '苹果密码', + 'auto_release_port' => '端口回收机制', + 'bark_key' => 'Bark设备号', + 'bitpay_secret', + 'captcha_key' => '验证码 Key', + 'captcha_secret' => '验证码 Secret/ID', + 'codepay_id' => '码支付ID', + 'codepay_key' => '通信密钥', + 'codepay_url' => '请求URL', + 'data_anomaly_notification' => '流量异常通知', + 'data_exhaust_notification' => '流量耗尽通知', + 'ddns_key' => 'DNS服务商Key', + 'ddns_mode' => 'DDNS模式', + 'ddns_secret' => 'DNS服务商Secret', + 'default_days' => '初始有效期', + 'default_traffic' => '初始流量', + 'detection_check_times' => '阻断检测提醒', + 'dingTalk_access_token' => '钉钉自定义机器人 Access Token', + 'dingTalk_secret' => '钉钉自定义机器人 密钥', + 'epay_key' => '商户密钥', + 'epay_mch_id' => '商户ID', + 'epay_url' => '接口对接地址', + 'expire_days' => '过期警告阈值', + 'f2fpay_app_id' => '应用ID', + 'f2fpay_private_key' => '应用私钥', + 'f2fpay_public_key' => '支付宝公钥', + 'forbid_mode' => '禁止访问模式', + 'invite_num' => '可生成邀请码数', + 'is_activate_account' => '激活账号', + 'is_AliPay' => '支付宝支付', + 'is_ban_status' => '过期自动封禁', + 'is_captcha' => '验证码模式', + 'is_checkin' => '签到加流量', + 'is_clear_log' => '自动清除日志', + 'is_custom_subscribe' => '高级订阅', + 'is_email_filtering' => '邮箱过滤机制', + 'is_forbid_robot' => '阻止机器人访问', + 'is_free_code' => '免费邀请码', + 'is_invite_register' => '邀请注册', + 'is_otherPay' => '特殊支付', + 'is_push_bear', + 'is_QQPay' => 'QQ钱包', + 'is_rand_port' => '随机端口', + 'is_register' => '用户注册', + 'is_subscribe_ban' => '订阅异常自动封禁', + 'is_traffic_ban' => '异常自动封号', + 'is_WeChatPay' => '微信支付', + 'iYuu_token' => 'IYUU令牌', + 'maintenance_content' => '维护介绍内容', + 'maintenance_mode' => '维护模式', + 'maintenance_time' => '维护结束时间', + 'max_port', + 'max_rand_traffic', + 'min_port' => '端口范围', + 'min_rand_traffic' => '流量范围', + 'node_blocked_notification' => '节点阻断提醒', + 'node_daily_notification' => '节点使用报告', + 'node_offline_notification' => '节点离线提醒', + 'oauth_path' => '第三方登录平台', + 'offline_check_times' => '离线提醒次数', + 'password_reset_notification' => '重置密码', + 'paybeaver_app_id' => 'App ID', + 'paybeaver_app_secret' => 'App Secret', + 'payjs_key' => '通信密钥', + 'payjs_mch_id' => '商户号', + 'payment_confirm_notification' => '人工支付确认通知', + 'payment_received_notification' => '支付成功通知', + 'paypal_app_id' => '应用ID', + 'paypal_certificate' => '证书', + 'paypal_password' => 'API密码', + 'paypal_secret' => '签名', + 'paypal_username' => 'API用户名', + 'pushDeer_key' => 'PushDeer Key', + 'pushplus_token' => 'PushPlus Token', + 'rand_subscribe' => '随机订阅', + 'redirect_url' => '重定向地址', + 'referral_money' => '提现限制', + 'referral_percent' => '返利比例', + 'referral_status' => '推广功能', + 'referral_traffic' => '注册送流量', + 'referral_type' => '返利模式', + 'register_ip_limit' => '同IP注册限制', + 'reset_password_times' => '重置密码次数', + 'reset_traffic' => '流量自动重置', + 'server_chan_key' => 'ServerChan SCKEY', + 'standard_currency' => '本位货币', + 'stripe_public_key' => 'Public Key', + 'stripe_secret_key' => 'Secret Key', + 'stripe_signing_secret' => 'WebHook Signing secret', + 'subject_name' => '自定义商品名称', + 'subscribe_ban_times' => '订阅请求阈值 +', + 'subscribe_domain' => '节点订阅地址', + 'subscribe_max' => '订阅节点数', + 'telegram_token' => 'Telegram Token', + 'tg_chat_token' => 'TG酱Token', + 'theadpay_key' => '商家密钥', + 'theadpay_mchid' => '商家ID', + 'theadpay_url' => '接口地址', + 'ticket_closed_notification' => '工单关闭通知', + 'ticket_created_notification' => '新工单通知', + 'ticket_replied_notification' => '工单回复通知', + 'traffic_ban_time' => '封号时长', + 'traffic_ban_value' => '流量异常阈值', + 'traffic_limit_time' => '时间间隔', + 'traffic_warning_percent' => '流量警告阈值', + 'trojan_license' => 'Trojan授权', + 'username_type' => '账号类型', + 'user_invite_days' => '用户-邀请码有效期', + 'v2ray_license' => 'V2Ray授权', + 'v2ray_tls_provider' => 'V2Ray TLS配置', + 'webmaster_email' => '管理员邮箱', + 'website_analytics' => '统计代码', + 'website_callback_url' => '通用支付回调地址', + 'website_customer_service' => '客服代码', + 'website_home_logo' => '首页LOGO', + 'website_logo' => '站内LOGO', + 'website_name' => '网站名称', + 'website_security_code' => '网站安全码', + 'website_url' => '网站地址', + 'web_api_url' => '授权/后端访问域名', + 'wechat_aid' => '微信企业应用ID', + 'wechat_cid' => '微信企业ID', + 'wechat_encodingAESKey' => '微信企业应用EncodingAESKey', + 'wechat_qrcode' => '微 信二维码', + 'wechat_secret' => '微信企业应用密钥', + 'wechat_token' => '微信企业应用TOKEN', + + 'hint' => [ + 'account_expire_notification' => '通知用户账号即将到期', + 'active_times' => '24小时内可以通过邮件激活账号次数', + 'admin_invite_days' => '管理员生成邀请码的有效期', + 'aff_salt' => '留空时,邀请链接将显示用户ID;填入任意英文/数字 即可对用户链接ID进行加密', + 'alipay_qrcode', + 'AppStore_id' => 'iOS软件设置教程中使用的苹果账号', + 'AppStore_password' => 'iOS软件设置教程中使用的苹果密码', + 'auto_release_port' => '被封禁/过期 '.config('tasks.release_port').' 天的账号端口自动释放', + 'bark_key' => '推送消息到iOS设备,需要在iOS设备里装一个名为Bark的应用,取网址后的一长串字符串,启用Bark,请务必填入本值', + 'bitpay_secret', + 'captcha_key' => '浏览设置指南来设置', + 'captcha_secret', + 'codepay_id', + 'codepay_key', + 'codepay_url', + 'data_anomaly_notification' => '1小时内流量超过异常阈值通知超管', + 'data_exhaust_notification' => '通知用户流量即将耗尽', + 'ddns_key' => "浏览设置指南来设置", + 'ddns_mode' => '添加/编辑/删除节点的【域名、ipv4、ipv6】时,自动更新对应内容至DNS服务商', + 'ddns_secret', + 'default_days' => '用户注册时默认账户有效期,为0即当天到期', + 'default_traffic' => '用户注册时默认可用流量', + 'detection_check_times' => '提醒N次后自动下线节点,为0/留空时不限制,不超过12', + 'dingTalk_access_token' => '可以阅读钉钉手册查阅步骤', + 'dingTalk_secret' => '可选填!开启机器人[加签]就是必填项目!', + 'epay_key', + 'epay_mch_id', + 'epay_url', + 'expire_days' => '【账号过期通知】开始阈值,每日通知用户', + 'f2fpay_app_id' => '即:APPID', + 'f2fpay_private_key' => '生成秘钥软件生成时,产生的应用秘钥', + 'f2fpay_public_key' => '注意不是应用公钥!', + 'forbid_mode' => '依据IP对对应地区进行阻拦,非阻拦地区可正常访问', + 'invite_num' => '用户可以生成的邀请码数', + 'is_activate_account' => '启用后用户需要通过邮件来激活账号', + 'is_AliPay', + 'is_ban_status' => '(慎重)封禁整个账号会重置账号的所有数据且会导致用户无法登录,不开启状态下只封禁用户代理', + 'is_captcha' => '启用后 登录/注册 需要进行验证码认证', + 'is_checkin' => '登录时将根据流量范围随机得到流量', + 'is_clear_log' => '(推荐)启用后自动清除无用日志', + 'is_custom_subscribe' => '启用后,订阅信息顶部将显示过期时间、剩余流量(只支持个别客户端)', + 'is_email_filtering' => '黑名单: 用户可使用任意黑名单外的邮箱注册;白名单:用户只能选择使用白名单中的邮箱后缀注册', + 'is_forbid_robot' => '如果是机器人、爬虫、代理访问网站则会抛出404错误', + 'is_free_code' => '关闭后免费邀请码不可见', + 'is_invite_register', + 'is_otherPay', + 'is_push_bear', + 'is_QQPay', + 'is_rand_port' => '注册、添加用户时随机生成端口', + 'is_register' => '关闭后无法注册', + 'is_subscribe_ban' => '启用后用户订阅链接请求超过设定阈值则自动封禁', + 'is_traffic_ban' => '1小时内流量超过异常阈值则自动封号(仅禁用代理)', + 'is_WeChatPay', + 'iYuu_token' => '启用爱语飞飞,请务必填入本值(申请 IYUU令牌)', + 'maintenance_content' => '自定义维护内容信息', + 'maintenance_mode' => "启用后,用户访问转移至维护界面 | 管理员使用 :url 登录", + 'maintenance_time' => '用于维护界面倒计时', + 'max_port', + 'max_rand_traffic', + 'min_port' => '端口范围:1000 - 65535', + 'min_rand_traffic', + 'node_blocked_notification' => '每小时检测节点是否被阻断并提醒管理员', + 'node_daily_notification' => '报告各节点流量昨日消耗情况', + 'node_offline_notification' => '每10分钟检测节点离线并提醒管理员', + 'oauth_path' => '请在.ENV中添加设置,再在此处开启平台', + 'offline_check_times' => '24小时内提醒n次后不再提醒', + 'password_reset_notification' => '启用后用户可以重置密码', + 'paybeaver_app_id' => '商户中心 -> 开发者 -> App ID', + 'paybeaver_app_secret' => '商户中心 -> 开发者 -> App Secret', + 'payjs_key', + 'payjs_mch_id' => '在本界面获取信息', + 'payment_confirm_notification' => '用户使用人工支付后通知管理员处理订单', + 'payment_received_notification' => '用户支付订单后通知用户订单状态', + 'paypal_app_id', + 'paypal_certificate', + 'paypal_password', + 'paypal_secret', + 'paypal_username', + 'pushDeer_key' => '启用PushDeer,请务必填入本值(申请 Push Key)', + 'pushplus_token' => '启用PushPlus,请务必填入本值(申请 Token)', + 'rand_subscribe' => '启用后,订阅时将随机返回节点信息,否则按节点排序返回', + 'redirect_url' => '触发审计规则时访问请求被阻断并重定向至该地址', + 'referral_money' => '满多少元才可以申请提现', + 'referral_percent' => '根据推广链接注册的账号每笔消费推广人可以分成的比例', + 'referral_status' => '关闭后用户不可见,但是不影响其正常邀请返利', + 'referral_traffic' => '根据推广链接、邀请码注册则赠送相应的流量', + 'referral_type' => '切换模式后旧数据不变,新的返利按新的模式计算', + 'register_ip_limit' => '同IP在24小时内允许注册数量,为0/留空时不限制', + 'reset_password_times' => '24小时内可以通过邮件重置密码次数', + 'reset_traffic' => '用户会按其购买套餐的日期自动重置可用流量', + 'server_chan_key' => "启用ServerChan,请务必填入本值(申请 SCKEY)", + 'standard_currency' => '网站中涉及金钱部分的默认货币', + 'stripe_public_key', + 'stripe_secret_key', + 'stripe_signing_secret', + 'subject_name' => '用于在支付渠道的商品标题显示', + 'subscribe_ban_times' => '24小时内订阅链接请求次数限制', + 'subscribe_domain' => '(推荐)防止面板域名被DNS投毒后无法正常订阅,需带http://或https://"', + 'subscribe_max' => '客户端订阅时取得几个节点,为0/留空时返回全部节点', + 'telegram_token' => '找 @BotFather 申请机器人获取TOKEN', + 'tg_chat_token' => '启用TG酱,请务必填入本值(申请 Token)', + 'theadpay_key', + 'theadpay_mchid', + 'theadpay_url', + 'ticket_closed_notification' => '工单关闭通知用户', + 'ticket_created_notification' => '新工单通知管理/用户,取决于谁创建了新工单', + 'ticket_replied_notification' => '工单回复通知对方', + 'traffic_ban_time' => '触发流量异常导致用户被封禁的时长,到期后自动解封', + 'traffic_ban_value' => '1小时内超过该值,则触发自动封号', + 'traffic_limit_time' => '间隔多久才可以再次签到', + 'traffic_warning_percent' => '【流量耗尽通知】开始阈值,每日通知用户', + 'trojan_license', + 'username_type' => '规范站点用户账号的类型,默认为电子邮箱', + 'user_invite_days' => '用户自行生成邀请的有效期', + 'v2ray_license', + 'v2ray_tls_provider' => '后端自动签发/载入TLS证书时用(节点的设置值优先级高于此处)', + 'webmaster_email' => '错误提示时会提供管理员邮箱作为联系方式', + 'website_analytics' => '统计JS', + 'website_callback_url' => '防止因为网站域名被DNS投毒后导致支付无法正常回调,需带http://或https://', + 'website_customer_service' => '客服JS', + 'website_home_logo', + 'website_logo', + 'website_name' => '发邮件时展示', + 'website_security_code' => '非空时必须通过安全入口加上安全码才可访问', + 'website_url' => '生成重置密码、在线支付必备', + 'web_api_url' => '例:https://demo.proxypanel.cf', + 'wechat_aid' => '在应用管理自建中创建应用 - AgentId', + 'wechat_cid' => '获取我的企业中的企业ID', + 'wechat_encodingAESKey' => '应用管理->应用->设置API接收->EncodingAESKey', + 'wechat_qrcode', + 'wechat_secret' => '应用的Secret(可能需要下载企业微信才能查看)', + 'wechat_token' => '应用管理->应用->设置API接收->TOKEN,URL设置::url', + ], + 'placeholder' => [ + 'default_url' => '默认为 :url', + 'server_chan_key' => '填入ServerChan的SCKEY->再点击更新', + 'pushDeer_key' => '填入PushDeer的Push Key -> 再点击更新', + 'iYuu_token' => '填入爱语飞飞的IYUU令牌 -> 再点击更新', + 'bark_key' => '填入Bark的设备号 -> 再点击更新', + 'telegram_token' => '填入Telegram的 Token -> 再点击更新', + 'pushplus_token' => '请到ServerChan申请', + 'dingTalk_access_token' => '自定义机器人的WebHook中的access_token', + 'dingTalk_secret' => '自定义机器人加签后出现的的密钥', + 'wechat_aid' => '应用的AgentId', + 'wechat_cid' => '填入微信企业ID -> 再点击更新', + 'wechat_secret' => '应用的Secret', + 'tg_chat_token' => '请到Telegram申请', + 'codepay_url' => 'https://codepay.fateqq.com/creat_order/?', + ], + 'payment' => [ + 'attribute' => '支付设置', + 'channel' => [ + 'alipay' => '支付宝F2F', + 'codepay' => '码支付', + 'epay' => '易支付', + 'payjs' => 'PayJs', + 'paypal' => 'PayPal', + 'stripe' => 'Stripe', + 'paybeaver' => '海狸支付', + 'theadpay' => '平头哥支付', + 'manual' => '人工支付', + ], + 'hint' => [ + 'alipay' => '本功能需要蚂蚁金服开放平台申请权限及应用', + 'codepay' => '请到 码支付申请账号,然后下载登录其挂机软件', + 'payjs' => '请到PayJs 申请账号', + 'paypal' => '使用商家账号登录API凭证申请页, 同意并获取设置信息', + 'paybeaver' => '请到海狸支付 PayBeaver申请账号', + 'theadpay' => '请到平头哥支付 THeadPay申请账号', + 'manual' => '设置后会自动开启对应显示', + ], + ], + 'notification' => [ + 'channel' => [ + 'telegram' => 'TG电报', + 'wechat' => '微信企业', + 'dingtalk' => '钉钉', + 'email' => '邮箱', + 'bark' => 'Bark', + 'serverchan' => 'ServerChan', + 'pushdeer' => 'PushDeer', + 'pushplus' => 'PushPlus', + 'iyuu' => '爱语飞飞', + 'tg_chat' => 'TG酱', + 'site' => '站内通知', + ], + ], + 'forbid' => [ + 'mainland' => '阻拦大陆', + 'china' => '阻拦中国', + 'oversea' => '阻拦海外', + ], + 'username' => [ + 'email' => '电子邮箱', + 'mobile' => '手机号码', + 'any' => '任意用户名', + ], + 'active_account' => [ + 'before' => '注册前激活', + 'after' => '注册后激活', + ], + 'ddns' => [ + 'namesilo' => 'Namesilo', + 'aliyun' => '阿里云(国际&国内)', + 'dnspod' => 'DNSPod', + 'cloudflare' => 'CloudFlare', + ], + 'captcha' => [ + 'standard' => '普通验证码', + 'geetest' => '极 验', + 'recaptcha' => 'Google reCaptcha', + 'hcaptcha' => 'hCaptcha', + ], + 'referral' => [ + 'once' => '首购返利', + 'loop' => '循环返利', + ], + ], + 'set_to' => '置 :attribute', + 'minute' => '分钟', + 'query' => '查 询', + 'optional' => '可选', + 'require' => '必须', +]; \ No newline at end of file diff --git a/resources/lang/vi/auth.php b/resources/lang/vi/auth.php new file mode 100644 index 00000000..790b3d37 --- /dev/null +++ b/resources/lang/vi/auth.php @@ -0,0 +1,84 @@ + '我已阅读并同意遵守', + 'active' => [ + 'attribute' => '激活', + 'error' => [ + 'activated' => '账号已激活,无需再次激活', + 'disable' => '本站关闭了账号激活子系统,您可以直接去登录!', + 'throttle' => '您已触发本站激活请求限制机制,请勿频繁操作!如有问题,请联系:email', + ], + 'sent' => '激活链接已发送至您的邮箱,请稍作等待或查看垃圾箱', + 'promotion' => ['0' => '账号尚未激活,请点击', '1' => '启动激活程序!'], + ], + 'aup' => '可接受使用条款', + 'captcha' => [ + 'attribute' => '验证码', + 'error' => ['failed' => '验证码验证失败,请重新输入', 'timeout' => '验证码不合法!可能已过期,请刷新后重试'], + 'required' => '请正确完成验证码操作', + 'sent' => '验证码已发送至您的邮箱,请稍作等待或查看垃圾箱', + ], + 'email' => [ + 'error' => ['banned' => '本站屏蔽了您使用的邮箱服务商,请使用其他有效邮箱', 'invalid' => '使用邮箱不在本站支持邮箱列表内'], + ], + 'error' => [ + 'account_baned' => '您的账号已被禁止登录!', + 'login_error' => '登录错误,请稍后重试!', + 'login_failed' => '登录失败,请检查邮箱或密码是否输入正确!', + 'not_found_user' => '未找到关联账号,请使用其他方式登录', + 'repeat_request' => '请勿重复请求,请刷新后重试', + 'url_timeout' => '链接已失效, 请重新操作', + ], + 'invite' => [ + 'attribute' => '邀请码', + 'error' => ['unavailable' => '邀请码不可用,请重试'], + 'get' => '点击获取邀请码', + 'not_required' => '无需邀请码,可直接注册!', + ], + 'login' => '登 录', + 'logout' => '登 出', + 'maintenance' => '维护', + 'maintenance_tip' => '网站维护中', + 'oauth' => [ + 'bind_success' => '绑定成功', + 'bind_failed' => '绑定失败', + 'login_failed' => '第三方登录失败!', + 'register' => '快速注册', + 'registered' => '已注册,请直接登录', + 'register_failed' => '注册失败', + 'rebind_success' => '重新绑定成功', + 'unbind_success' => '解绑成功', + 'unbind_failed' => '解绑失败', + ], + 'optional' => '可选', + 'password' => [ + 'forget' => '忘记密码?', + 'new' => '输入新密码', + 'original' => '原密码', + 'reset' => [ + 'attribute' => '重置密码', + 'error' => [ + 'disabled' => '本站关闭了密码重置子系统,有事请联系 :email ', + 'failed' => '重设密码失败', + 'throttle' => '24小时内只能重设密码 :time 次,请勿频繁操作', + 'same' => '新密码不可与旧密码一样,请重新输入', + 'wrong' => '旧密码错误,请重新输入', + 'demo' => '演示环境禁止修改管理员密码', + ], + 'sent' => '重置成功,请查看所用邮箱(邮件可能在垃圾箱中)', + 'success' => '新密码设置成功,请前往登录页面', + ], + ], + 'register' => [ + 'attribute' => '注 册', + 'code' => '注册验证码', + 'error' => ['disable' => '抱歉,本站关闭了注册通道', 'throttle' => '防刷机制已激活,请勿频繁注册'], + 'promotion' => '还没有账号?请去', + 'failed' => '注册失败,请稍后尝试', + 'success' => '注册成功', + ], + 'remember_me' => '记住我', + 'request' => '获 取', + 'tos' => '用户条款', +]; diff --git a/resources/lang/vi/common.php b/resources/lang/vi/common.php new file mode 100644 index 00000000..3a12aa59 --- /dev/null +++ b/resources/lang/vi/common.php @@ -0,0 +1,144 @@ + '账号', + 'available_date' => '有效期', + 'created_at' => '创建时间', + 'expired_at' => '到期时间', + 'updated_at' => '更新时间', + 'latest_at' => '最近时间', + 'back' => '返 回', + 'cancel' => '取 消', + 'close' => '关 闭', + 'close_item' => '关闭:attribute', + 'confirm' => '确 认', + 'continues' => '继 续', + 'open' => '打 开', + 'send' => '发 送', + 'view' => '查 看', + 'reset' => '重 置', + 'copy' => [ + 'attribute' => '复 制', + 'success' => '复制成功', + 'failed' => '复制失败,请手动复制', + ], + 'add' => '添 加', + 'free' => '免费', + 'replace' => '更换', + 'submit' => '提 交', + 'submit_item' => '提交:attribute', + 'generate' => '生 成', + 'generate_item' => '生成:attribute', + 'to_safari' => [0 => '点击右上角', 1 => ',选择在', 2 => 'Safari 中打开', 3 => '就可以正常访问本站了哟!'], + 'update_browser' => [0 => '您正在使用', 1 => '过时', 2 => ' 的浏览器。 请', 3 => '升级您的浏览器', 4 => '来获得最佳的浏览体验'], + 'apply' => '应 用', + 'avatar' => '头像', + 'customize' => '自定义', + 'all' => '全部', + 'default' => '默认', + 'download' => '下 载', + 'goto' => '前 往', + 'warning' => '警 告', + 'success' => '成功', + 'failed' => '失败', + 'update' => '更 新', + 'update_action' => '更新:action', + 'none' => '无', + 'new' => '新', + 'sorry' => '抱歉', + 'applied' => ':attribute生效', + 'active_item' => '激活:attribute', + 'error' => '错误', + 'toggle' => '切 换', + 'toggle_action' => '切换:action', + 'request_url' => '请求地址', + 'function' => [ + 'navigation' => '导航', + 'menubar' => '菜单栏', + 'fullscreen' => '全屏', + ], + 'days' => [ + 'sun' => '周日', + 'mon' => '周一', + 'tue' => '周二', + 'wed' => '周三', + 'thu' => '周四', + 'fri' => '周五', + 'sat' => '周六', + 'weekend' => '周末', + 'work' => '工作日', + 'next' => '次日', + ], + 'qrcode' => ':attribute二维码', + 'deleted' => '已删除', + 'deleted_item' => ':attribute已删除', + 'print' => '打印', + 'unlimited' => '无限制', + 'payment' => [ + 'credit' => '余额', + 'wechat' => '微信', + 'alipay' => '支付宝', + 'crypto' => '虚拟货币', + 'manual' => '人工支付', + 'status' => [ + 'wait' => '待支付', + 'fail' => '支付失败', + 'success' => '支付成功', + ], + ], + 'order' => [ + 'status' => [ + 'cancel' => '取 消', + 'complete' => '完 成', + 'prepaid' => '预支付', + 'ongoing' => '使用中', + 'review' => '待确认', + ], + ], + 'recommend' => '推荐', + 'advance' => '进阶', + 'action' => '操作', + 'search' => '搜 索', + 'edit' => '编 辑', + 'delete' => '删 除', + 'status' => [ + 'attribute' => '状态', + 'inactive' => '未激活', + 'disabled' => '停 用', + 'banned' => '禁 用', + 'normal' => '正 常', + 'enabled' => '启 用', + 'expire' => '过 期', + 'limited' => '限 制', + 'run_out' => '流量耗尽', + 'unused' => '未使用', + 'used' => '已使用', + 'closed' => '关 闭', + 'applying' => '申请中', + 'withdrawn' => '已提现', + 'unwithdrawn' => '未提现', + 'reply' => '已回复', + 'pending' => '待处理', + 'unknown' => '未 知', + 'available' => '生效中', + 'reject' => '驳 回', + 'rejected' => '已驳回', + 'review' => '待审核', + 'reviewed' => '审核通过待打款', + 'paid' => '已打款', + 'payment_pending' => '待打款', + 'pass' => '通 过', + 'send_to_credit' => '打款至余额', + 'waiting_tobe_send' => '等待投递', + ], + 'stay_unchanged' => '留空为不变', + 'random_generate' => '留空则随机生成', + 'request_failed' => '请求错误,请重试', + 'convert' => '转 换', + 'import' => '导 入', + 'or' => '或', + 'more' => '更多', + 'to' => '至', + 'to_be_send' => '待发送', + 'developing' => '开发中!敬请期待', +]; diff --git a/resources/lang/vi/errors.php b/resources/lang/vi/errors.php new file mode 100644 index 00000000..99464ed0 --- /dev/null +++ b/resources/lang/vi/errors.php @@ -0,0 +1,36 @@ + [ + 'access' => '检测到未知IP或使用代理访问,禁止访问', + 'bots' => '检测到机器人访问,禁止访问', + 'china' => '检测到中国IP或使用代理访问,禁止访问', + 'oversea' => '检测到海外IP或代理访问,禁止访问', + ], + 'http' => 'HTTP请求类型错误', + 'log' => '日志', + 'missing_page' => '找不到网页', + 'refresh' => '刷 新', + 'refresh_page' => '请刷新页面后,再访问', + 'report' => '错❌误携带了报告:', + 'safe_enter' => '安全入口访问', + 'safe_code' => '请输入安全码', + 'system' => '系统错误', + 'title' => '⚠️错误触发', + 'unauthorized' => '未授权访问', + 'unsafe_enter' => '非安全入口访问', + 'visit' => '请访问', + 'whoops' => '哎呦!', + 'get_ip' => '获取IP信息异常', + 'subscribe' => [ + 'unknown' => '使用链接错误!请重新获取!', + 'sub_baned' => '链接已被封禁,请前往官网查询原因', + 'user' => '错误链接,账号不存在!请重新获取链接', + 'user_disable' => '账号被禁用!', + 'baned_until' => '账号封禁至:time,请解封后再更新!', + 'out' => '流量耗尽!请重新购买或重置流量!', + 'expired' => '账号过期!请续费!', + 'question' => '账号存在问题,请前往官网查询!', + 'none' => '无可用节点', + ], +]; diff --git a/resources/lang/vi/model.php b/resources/lang/vi/model.php new file mode 100644 index 00000000..36ecc4fd --- /dev/null +++ b/resources/lang/vi/model.php @@ -0,0 +1,239 @@ + [ + 'id' => '用户ID', + 'attribute' => '用户', + 'nickname' => '昵称', + 'username' => '账号', + 'password' => '密码', + 'credit' => '余额', + 'invite_num' => '可用邀请码', + 'reset_date' => '重置日', + 'port' => '端口', + 'traffic_used' => '流量使用', + 'service' => '代理', + 'group' => '分组', + 'level' => '等级', + 'account_status' => '账号状态', + 'proxy_status' => '代理状态', + 'expired_date' => '过期日', + 'role' => '角色权限', + 'wechat' => '微信', + 'qq' => 'QQ', + 'remark' => '备注', + 'uuid' => 'VMess UUID', + 'proxy_passwd' => '密码', + 'proxy_method' => '加密方式', + 'usable_traffic' => '可用流量', + 'proxy_protocol' => '协议', + 'proxy_obfs' => '混淆', + 'speed_limit' => '用户限速', + 'inviter' => '邀请人', + 'created_date' => '注册时间', + ], + 'common' => [ + 'extend' => '扩展', + 'sort' => '排序', + 'description' => '描述', + ], + 'country' => [ + 'code' => 'ISO国家代码', + 'icon' => '图 标', + 'name' => '国家/地区名称', + ], + 'subscribe' => [ + 'code' => '订阅码', + 'req_times' => '请求次数', + 'updated_at' => '最后请求时间', + 'ban_time' => '封禁时间', + 'ban_desc' => '封禁理由', + 'req_ip' => '请求IP', + 'req_header' => '访问', + ], + 'oauth' => [ + 'type' => '渠道', + 'identifier' => ' 唯一标识', + ], + 'user_group' => [ + 'attribute' => '用戶分组', + 'name' => '分组名称', + 'nodes' => '选择节点', + ], + 'node' => [ + 'attribute' => '节点', + 'id' => '节点ID', + 'type' => '类型', + 'name' => '名称', + 'domain' => '域名', + 'static' => '存活', + 'online_user' => '在线', + 'data_consume' => '产生流量', + 'data_rate' => '流量比例', + 'ddns' => 'DDNS', + 'ipv4' => 'IPv4地址', + 'ipv6' => 'IPv6地址', + 'push_port' => '消息推送端口', + 'level' => '等级', + 'rule_group' => '审计分组', + 'traffic_limit' => '节点限速', + 'client_limit' => '设备数限制', + 'label' => '标签', + 'country' => '国家/地区', + 'udp' => 'UDP', + 'display' => '显示 与 订阅', + 'detection' => '节点阻断检测', + 'method' => '加密方式', + 'protocol' => '协议', + 'protocol_param' => '协议参数', + 'obfs' => '混淆', + 'obfs_param' => '混淆参数', + 'single' => '单端口', + 'transfer' => '中 转', + 'service_port' => '服务端口', + 'single_passwd' => '[单] 密码', + 'v2_alter_id' => '额外ID', + 'v2_net' => '传输方式', + 'v2_cover' => '伪装类型', + 'v2_host' => '伪装域名', + 'v2_path' => '路径 | 密钥', + 'v2_sni' => 'SNI', + 'v2_tls' => '连接TLS', + 'v2_tls_provider' => 'TLS配置', + 'relay_port' => '中转端口', + ], + 'node_auth' => [ + 'attribute' => '节点授权', + 'key' => '通信密钥节点用', + 'secret' => '反向通信密钥', + ], + 'node_cert' => [ + 'attribute' => '域名证书', + 'domain' => '域名', + 'key' => 'KEY', + 'pem' => 'PEM', + 'issuer' => '签发机构', + 'signed_date' => '签发日期', + 'expired_date' => '到期时间', + ], + 'order' => [ + 'attribute' => '订单', + 'id' => '订单ID', + 'original_price' => '原价', + 'price' => '实价', + 'pay_way' => '支付方式', + 'status' => '订单状态', + ], + 'goods' => [ + 'attribute' => '商品', + 'type' => '类型', + 'name' => '名称', + 'price' => '售价', + 'category' => '分类', + 'level' => '等级', + 'renew' => '流量重置价格', + 'user_limit' => '用户限速', + 'period' => '重置周期', + 'traffic' => '流量额度', + 'invite_num' => '赠送邀请码数量', + 'limit_num' => '限购数量', + 'available_date' => '有效期', + 'hot' => '热销', + 'color' => '颜色', + 'logo' => '商品图片', + 'info' => '自定义列表', + ], + 'rule' => [ + 'attribute' => '规则', + 'type' => '类型', + 'name' => '描述', + 'pattern' => '值', + ], + 'rule_group' => [ + 'attribute' => '规则分组', + 'name' => '分组名称', + 'type' => '审计模式', + 'rules' => '选择规则', + ], + 'role' => [ + 'attribute' => '角色', + 'name' => '名称', + 'permissions' => '权限', + ], + 'permission' => [ + 'attribute' => '权限行为', + 'description' => '行为描述', + 'name' => '路由名称', + ], + 'article' => [ + 'attribute' => '文章', + 'type' => '类 型', + 'category' => '类 别', + 'language' => '语 言', + 'logo' => '头 图', + 'created_at' => '发布日期', + 'updated_at' => '最后更新', + ], + 'coupon' => [ + 'attribute' => '卡券', + 'name' => '卡券名称', + 'sn' => '使用券码', + 'logo' => '卡券图片', + 'type' => '类型', + 'value' => '优惠额度', + 'priority' => '权 重', + 'usable_times' => '使用次数', + 'minimum' => '满减条件', + 'used' => '个人限用', + 'levels' => '等级限定', + 'groups' => '分组限定', + 'users_whitelist' => '专属用户', + 'users_blacklist' => '禁用用户', + 'services_whitelist' => '许可商品', + 'services_blacklist' => '禁用商品', + 'newbie' => '新人专属', + 'num' => '数量', + ], + 'aff' => [ + 'invitee' => '消费者', + 'order_id' => '订单号', + 'amount' => '消费金额', + 'commission' => '返利金额', + 'updated_at' => '处理时间', + 'created_at' => '下单时间', + ], + 'referral' => [ + 'created_at' => '申请时间', + 'user' => '申请账号', + 'amount' => '申请提现金额', + 'id' => '申请单ID', + ], + 'notification' => [ + 'type' => '类型', + 'address' => '收信地址', + 'created_at' => '投递时间', + 'status' => '投递状态', + ], + 'ip' => [ + 'network_type' => '通讯类型', + 'info' => '归属地', + ], + 'user_traffic' => [ + 'upload' => '上传流量', + 'download' => '下载流量', + 'total' => '总流量', + 'log_time' => '记录时间', + ], + 'user_data_modify' => [ + 'before' => '变动前流量', + 'after' => '变动后流量', + 'description' => '描述', + 'created_at' => '发生时间', + ], + 'user_credit' => [ + 'before' => '操作前余额', + 'after' => '操作后金额', + 'amount' => '发生金额', + 'created_at' => '发生时间', + ], +]; \ No newline at end of file diff --git a/resources/lang/vi/notification.php b/resources/lang/vi/notification.php new file mode 100644 index 00000000..d1dbbad2 --- /dev/null +++ b/resources/lang/vi/notification.php @@ -0,0 +1,35 @@ + '通知', + 'new' => ':num条新消息', + 'empty' => '目前未收到新消息', + 'payment_received' => '订单支付成功,金额::amount,查看详情', + 'account_expired' => '账号过期提醒', + 'account_expired_content' => '您的账号将在【:days】天后过期,为了确保您可以继续正常使用我们的服务,请及时续费。', + 'account_expired_blade' => '账号将于【:days天】后过期,请及时续费', + 'active_email' => '请在30分钟内完成操作', + 'close_ticket' => '工单【:id】:title关闭', + 'view_web' => '访问官网', + 'view_ticket' => '访问工单', + 'new_ticket' => '收到新工单::title', + 'reply_ticket' => '工单回复::title', + 'ticket_content' => '工单内容:', + 'node_block' => '节点阻断警告', + 'node_offline' => '节点离线警告', + 'node_offline_content' => '以下节点存在异常:心跳异常,可能离线了:', + 'block_report' => '阻断日志:', + 'traffic_warning' => '流量提醒', + 'traffic_remain' => '流量已使用::percent%,请保持关注。', + 'traffic_tips' => '请注意套餐流量重置日,合理分配流量使用或在流量耗尽后,付费重置套餐流量', + 'verification_account' => '账号验证', + 'verification' => '您的验证码:', + 'verification_limit' => '请在:minutes分钟内完成验证操作', + 'data_anomaly' => '流量异常用户提醒', + 'data_anomaly_content' => '用户:id:最近1小时 [上行流量::upload | 下行流量::download | 共计::total]', + 'node' => [ + 'upload' => '上传', + 'download' => '下载', + 'total' => '总计', + ], +]; \ No newline at end of file diff --git a/resources/lang/vi/pagination.php b/resources/lang/vi/pagination.php new file mode 100644 index 00000000..813f6af3 --- /dev/null +++ b/resources/lang/vi/pagination.php @@ -0,0 +1,6 @@ + '« 上一页', + 'next' => '下一页 »', +]; diff --git a/resources/lang/vi/passwords.php b/resources/lang/vi/passwords.php new file mode 100644 index 00000000..a72ab7ed --- /dev/null +++ b/resources/lang/vi/passwords.php @@ -0,0 +1,9 @@ + '密码重置成功!', + 'sent' => '密码重置邮件已发送!', + 'throttled' => '请稍候再试。', + 'token' => '密码重置令牌无效。', + 'user' => '找不到该邮箱对应的用户。', +]; diff --git a/resources/lang/vi/user.php b/resources/lang/vi/user.php new file mode 100644 index 00000000..b8caf7a7 --- /dev/null +++ b/resources/lang/vi/user.php @@ -0,0 +1,219 @@ + [ + 'credit' => '账户余额', + 'status' => '账号状态', + 'level' => '账号等级', + 'group' => '所属分组', + 'speed_limit' => '限速', + 'remain' => '剩余流量', + 'time' => '套餐时长', + 'last_login' => '最近登录', + 'reset' => '{0} 还有 :days 重置流量|[1,*] 还有 :days 天重置流量', + 'connect_password' => '连接密码', + 'reason' => [ + 'normal' => '账号一切正常', + 'expired' => '您的账号套餐已过期', + 'overused' => '本时段使用流量超过 :data GB触发系统限制
    :min 后解除限制', + 'traffic_exhausted' => '您的账号[流量]消耗殆尽', + 'unknown' => '未知原因,请尝试[刷新]你的浏览器!多次无果后再请开工单联系管理', + ], + ], + 'home' => [ + 'attendance' => [ + 'attribute' => '签 到', + 'disable' => '系统未开启签到功能', + 'done' => '已经签到过了,明天再来吧!', + 'success' => '您获得了 :data 流量', + 'failed' => '系统❌异常', + ], + 'traffic_logs' => '流量记录', + 'announcement' => '公告', + 'wechat_push' => '微信公告推送', + 'chat_group' => '聊天群', + 'empty_announcement' => '暂无公告', + ], + 'purchase_to_unlock' => '购买服务后解锁', + 'purchase_required' => '本功能对非付费用户禁用!请', + 'more' => '更多', + 'attribute' => [ + 'node' => '线路', + 'data' => '流量', + 'ip' => 'IP地址', + 'isp' => '运营商', + 'address' => '地区', + ], + 'purchase_promotion' => '快 来 购 买 服 务 吧!', + 'menu' => [ + 'helps' => '帮 助', + 'home' => '主 页', + 'invites' => '邀 请', + 'invoices' => '账 单', + 'nodes' => '线 路', + 'referrals' => '推 广', + 'shop' => '服 务', + 'profile' => '设 置', + 'tickets' => '工 单', + 'admin_dashboard' => '管 理', + ], + 'contact' => '联系方式', + 'oauth' => [ + 'bind_title' => '绑定社交账号', + 'not_bind' => '尚未绑定', + 'bind' => '绑 定', + 'rebind' => '重新绑定', + 'unbind' => '解 绑', + ], + 'coupon' => [ + 'attribute' => '优惠券', + 'voucher' => '代金券', + 'recharge' => '充值券码', + 'discount' => '优惠', + 'error' => [ + 'unknown' => '无效优惠券', + 'used' => '优惠券已被使用', + 'expired' => '优惠券已过期', + 'run_out' => '优惠券耗尽', + 'inactive' => '优惠券尚未生效', + 'wait' => '活动将于:time生效,请耐心等待!', + 'unmet' => '使用条件未满足', + 'minimum' => '本券最低使用金额为 :amount', + 'overused' => '本券只能使用 :times 次', + 'users' => '账户不符合促销条件', + 'services' => '商品不符合折扣条件,请查看促销条款', + ], + ], + 'error_response' => '出现了错误,请稍后再试。', + 'invite' => [ + 'attribute' => '邀请码', + 'counts' => '共 :num 个邀请码', + 'tips' => '可生成 :num 枚邀请码,:days 日内有效', + 'logs' => '邀请记录', + 'promotion' => '通过您的邀请码注册并激活,你们双方都将获得:traffic流量奖励;当他们消费时,您将获得他们消费金额的:referral_percent%作为奖励。', + 'generate_failed' => '生成失败:已无邀请码生成名额', + ], + 'reset_data' => [ + '' => '重置流量', + 'required' => '需要', + 'cost_tips' => '本次重置流量将扣除余额 :amount!', + 'lack' => '余额不足,请充值余额', + 'logs' => '用户自行重置流量', + 'success' => '重置成功', + ], + 'referral' => [ + 'link' => '推广链接', + 'total' => '合计返利 :amount( :total 次),满 :money 可以申请提现。', + 'logs' => '佣金记录', + 'failed' => '申请失败', + 'success' => '申请成功', + 'msg' => [ + 'account' => '账号已过期,请先购买服务吧', + 'applied' => '已存在申请,请等待之前的申请处理完', + 'unfulfilled' => '满 :amount 才可以提现,继续努力吧', + 'wait' => '请等待管理员审核', + 'error' => '返利单建立失败,请稍后尝试或通知管理员', + ], + ], + 'inviter' => '邀请者', + 'invitee' => '受邀者', + 'registered_at' => '注册时间', + 'bought_at' => '购买日期', + 'payment_method' => '支付方式', + 'pay' => '支付', + 'input_coupon' => '请输入充值券码', + 'recharge' => '充值', + 'recharge_credit' => '余额充值', + 'recharging' => '充值中...', + 'withdraw_commission' => '结算佣金', + 'withdraw_at' => '结算日期', + 'withdraw_logs' => '提现记录', + 'withdraw' => '提 现', + 'scan_qrcode' => '请使用客户端扫描二维码', + 'shop' => [ + 'hot' => '热 销', + 'limited' => '限 购', + 'change_amount' => '充值金额', + 'change_amount_help' => '请输入充值金额', + 'buy' => '购买', + 'description' => '描述', + 'service' => '服务', + 'pay_credit' => '余额支付', + 'pay_online' => '在线支付', + 'price' => '价格', + 'quantity' => '数量', + 'subtotal' => '小计', + 'total' => '合计', + 'conflict' => '套餐存在冲突', + 'conflict_tips' => '

    当前购买套餐将自动设置为 预支付套餐

    1. 预支付套餐会在生效中的套餐失效后自动开通!
    2. 您可以在支付后手动激活套餐!
    ', + 'call4help' => '请开工单通知客服', + ], + 'service' => [ + 'node_count' => ':num 条优质线路', + 'country_count' => '覆盖 :num 个国家或地区', + 'unlimited' => '不限速', + ], + 'payment' => [ + 'error' => '充值余额不合规', + 'creating' => '创建支付单中...', + 'redirect_stripe' => '转跳至Stripe支付界面', + 'qrcode_tips' => '请使用:software扫描二维码', + 'close_tips' => '请在:minutes分钟内完成支付,否则订单将会自动关闭', + 'mobile_tips' => '手机用户:长按二维码 -> 保存图片 ->打开支付软件 -> 扫一扫 -> 选择相册 进行付款', + ], + 'invoice' => [ + 'attribute' => '订单', + 'detail' => '消费记录', + 'amount' => '金额', + 'active_prepaid_question' => '是否提前激活预支付套餐?', + 'active_prepaid_tips' => '套餐激活后:
    先前套餐将直接失效!
    过期日期将由本日重新开始计算!', + ], + 'node' => [ + 'info' => '配置信息', + 'setting' => '代理设置', + 'unstable' => '线路波动/维护中', + 'rate' => ':ratio倍流量消耗', + ], + 'subscribe' => [ + 'baned' => '您的订阅功能被禁用,请联系管理员恢复', + 'link' => '订阅链接', + 'tips' => '警告:该订阅链接仅限个人使用,请勿传播该链接,否则会导致您的账号流量使用情况异常触发自动封号机制。', + 'exchange_warning' => '更换订阅地址将导致:\n1.旧地址立即失效\n2.连接密码被更改', + 'custom' => '自定义订阅', + 'ss_only' => '只订阅SS', + 'ssr_only' => '只订阅SSR (包含SS)', + 'v2ray_only' => '只订阅V2Ray', + 'trojan_only' => '只订阅Trojan', + 'error' => '更换订阅地址异常', + ], + 'ticket' => [ + 'attribute' => '工单', + 'submit_tips' => '确定提交工单?', + 'reply_confirm' => '确定回复工单?', + 'close_tips' => '您确定要关闭该工单吗?', + 'close' => '关闭工单', + 'failed_closed' => '错误:该工单已关闭', + 'reply_placeholder' => '说些什么呢?', + 'reply' => '回复', + 'close_msg' => '工单:ID:id用户已手动关闭', + 'title_placeholder' => '请简单表示你的问题类型,或者涉及的内容', + 'content_placeholder' => '请详细的描述您遇到的问题,或者需要我们帮助的地方,以便我们快速帮助到您', + 'new' => '创建新的工单', + 'working_hour' => '客服工作时间', + 'online_hour' => '在线时间', + 'service_tips' => '本站有多种联系方式,请使用其中一种联系客服!
    重复请求,将会自动延迟处理时间', + 'error' => '未知错误!请通知客服', + ], + 'traffic_logs' => [ + '24hours' => '今日流量使用情况', + '30days' => '本月流量使用情况', + 'tips' => '提示:流量统计更新会有延迟。按天统计于次日更新,按小时统计于次小时更新。', + ], + 'client' => '客户端', + 'tutorials' => '教 程', + 'current_role' => '当前身份', + 'knowledge' => [ + 'title' => '知 识 库', + 'basic' => '基 础', + ], +]; diff --git a/resources/lang/vi/validation.php b/resources/lang/vi/validation.php new file mode 100644 index 00000000..7a759839 --- /dev/null +++ b/resources/lang/vi/validation.php @@ -0,0 +1,137 @@ + '您必须接受 :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 KB 之间。', + 'string' => ':attribute 必须介于 :min - :max 个字符之间。', + 'array' => ':attribute 必须只有 :min - :max 个单元。', + ], + 'boolean' => ':attribute 必须为布尔值。', + 'confirmed' => ':attribute 两次输入不一致。', + 'date' => ':attribute 不是一个有效的日期。', + 'date_equals' => ':attribute 必须要等于 :date。', + 'date_format' => ':attribute 的格式必须为 :format。', + 'different' => ':attribute 和 :other 必须不同。', + 'digits' => ':attribute 必须是 :digits 位数字。', + 'digits_between' => ':attribute 必须是介于 :min 和 :max 位的数字。', + 'dimensions' => ':attribute 图片尺寸不正确。', + 'distinct' => ':attribute 已经存在。', + 'email' => ':attribute 不是一个合法的邮箱。', + 'ends_with' => ':attribute 必须以 :values 为结尾。', + '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 不能大于 :max KB。', + 'string' => ':attribute 不能大于 :max 个字符。', + 'array' => ':attribute 最多只有 :max 个单元。', + ], + 'mimes' => ':attribute 必须是一个 :values 类型的文件。', + 'mimetypes' => ':attribute 必须是一个 :values 类型的文件。', + 'min' => [ + 'numeric' => ':attribute 必须大于等于 :min。', + 'file' => ':attribute 大小不能小于 :min KB。', + 'string' => ':attribute 至少为 :min 个字符。', + 'array' => ':attribute 至少有 :min 个单元。', + ], + 'multiple_of' => 'The :attribute must be a multiple of :value', + 'not_in' => '已选的属性 :attribute 非法。', + 'not_regex' => ':attribute 的格式错误。', + 'numeric' => ':attribute 必须是一个数字。', + 'password' => '密码错误', + 'present' => ':attribute 必须存在。', + 'regex' => ':attribute 格式不正确。', + 'required' => ':attribute 不能为空。', + 'required_if' => '当 :other 为 :value 时 :attribute 不能为空。', + 'required_unless' => '当 :other 不为 :values 时 :attribute 不能为空。', + '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 大小必须为 :size KB。', + 'string' => ':attribute 必须是 :size 个字符。', + 'array' => ':attribute 必须为 :size 个单元。', + ], + 'starts_with' => ':attribute 必须以 :values 为开头。', + 'string' => ':attribute 必须是一个字符串。', + 'timezone' => ':attribute 必须是一个合法的时区值。', + 'unique' => ':attribute 已经存在。', + 'uploaded' => ':attribute 上传失败。', + 'url' => ':attribute 格式不正确。', + 'uuid' => ':attribute 必须是有效的 UUID。', + + 'custom' => [ + 'attribute-name' => [ + 'rule-name' => 'custom-message', + ], + ], + + 'attributes' => [ + 'name' => '名称', + 'nickname' => '昵称', + 'username' => '用户名', + 'email' => '邮箱', + 'password' => '密码', + 'password_confirmation' => '确认密码', + 'phone' => '电话', + 'day' => '{1} 天|{2} 日', + 'month' => '月', + 'year' => '年', + 'hour' => '{1} 时|{2} 点', + 'minute' => '分', + 'second' => '秒', + 'title' => '标题', + 'content' => '内容', + 'description' => '描述', + 'excerpt' => '摘要', + 'date' => '日期', + 'time' => '时间', + ], +]; diff --git a/resources/lang/zh_CN/admin.php b/resources/lang/zh_CN/admin.php new file mode 100644 index 00000000..07c7d357 --- /dev/null +++ b/resources/lang/zh_CN/admin.php @@ -0,0 +1,844 @@ + [ + 'users' => '总用户', + 'available_users' => '有效用户', + 'paid_users' => '付费用户', + 'active_days_users' => ':days 日内活跃用户', + 'inactive_days_users' => ':days 日以上不活跃用户', + 'online_users' => '当前在线', + 'expiring_users' => '临近到期', + 'overuse_users' => '流量大户(超过90%的用户)', + 'abnormal_users' => '1小时内流量异常', + 'nodes' => '节点', + 'maintaining_nodes' => '维护中的节点', + 'traffic_consumed' => '记录的消耗流量', + 'traffic_days_consumed' => ':days 日内消耗流量', + 'orders' => '总订单数', + 'online_orders' => '在线支付订单数', + 'succeed_orders' => '支付成功订单数', + 'credit' => '总余额', + 'withdrawing_commissions' => '待提现佣金', + 'withdrawn_commissions' => '已支出佣金', + ], + 'action' => [ + 'edit_item' => '编辑:attribute', + 'add_item' => '添加:attribute', + ], + 'confirm' => [ + 'delete' => [0 => '确定删除:attribute【', 1 => '】? '], + 'continues' => '确定继续操作吗? ', + 'export' => '确定全部导出? ', + ], + 'user_dashboard' => '个人中心', + 'menu' => [ + 'dashboard' => '管理中心', + 'user' => [ + 'attribute' => '用户系统', + 'list' => '用户管理', + 'oauth' => '用户授权', + 'group' => '用戶分组', + 'credit_log' => '余额变动', + 'subscribe' => '订阅管理', + ], + 'rbac' => [ + 'attribute' => '权限系统', + 'permission' => '权限列表', + 'role' => '角色列表', + ], + 'customer_service' => [ + 'attribute' => '客服系统', + 'ticket' => '服务工单', + 'article' => '文章管理', + 'push' => '消息推送', + 'mail' => '邮件群发', + ], + 'node' => [ + 'attribute' => '线路系统', + 'list' => '线路管理', + 'auth' => '线路授权', + 'cert' => '证书列表', + ], + 'rule' => [ + 'attribute' => '审计规则', + 'list' => '规则列表', + 'group' => '规则分组', + 'trigger' => '触发记录', + ], + 'shop' => [ + 'attribute' => '商品系统', + 'goods' => '商品管理', + 'coupon' => '卡券管理', + 'order' => '商品订单', + ], + 'promotion' => [ + 'attribute' => '推广系统', + 'invite' => '邀请管理', + 'withdraw' => '提现管理', + 'rebate_flow' => '返利流水', + ], + 'analysis' => [ + 'attribute' => '分析报告', + 'accounting' => '流水账簿', + 'user_flow' => '用户分析', + ], + 'log' => [ + 'attribute' => '日志系统', + 'traffic' => '流量使用', + 'traffic_flow' => '流量变动', + 'service_ban' => '封禁记录', + 'online_logs' => '在线记录', + 'online_monitor' => '在线监控', + 'notify' => '通知记录', + 'payment_callback' => '支付回调', + 'system' => '系统日志', + ], + 'tools' => [ + 'attribute' => '工具箱', + 'decompile' => '反解析', + 'convert' => '格式转换', + 'import' => '数据导入', + 'analysis' => '日志分析', + ], + 'setting' => [ + 'attribute' => '设置', + 'email_suffix' => '邮箱后缀管理', + 'universal' => '通用配置', + 'system' => '系统设置', + ], + ], + 'user' => [ + 'massive' => [ + 'text' => '用户生成数量', + 'button' => '批量生成', + 'failed' => '批量生成账号失败', + 'succeed' => '批量生成账号成功', + 'note' => '后台批量生成用户', + ], + 'proxy_info' => '配置信息', + 'traffic_monitor' => '流量统计', + 'online_monitor' => '在线巡查', + 'reset_traffic' => '重置流量', + 'user_view' => '用户视角', + 'connection_test' => '联网测试', + 'counts' => '共 :num 个账号', + 'reset_confirm' => [0 => '确定重置 【', 1 => '】 流量吗?'], + 'info' => [ + 'account' => '账号信息', + 'proxy' => '代理信息', + 'switch' => '切换身份', + 'reset_date_hint' => '账号流量下一个重置日期', + 'expired_date_hint' => '留空默认为一年', + 'uuid_hint' => 'V2Ray的账户ID', + 'recharge_placeholder' => '填入负值则会扣余额', + ], + 'update_help' => '更新成功,是否返回?', + 'proxies_config' => '【:username】连接配置信息', + 'group' => [ + 'title' => '用户分组控制(同一节点可分配至多个分组,一个用户只能属于一个分组;对于用户可见/可用节点:先按分组后按等级)', + 'name' => '分组名称', + 'counts' => ' 共 :num 个分组', + ], + ], + 'zero_unlimited_hint' => '不设置/0,即为无限制', + 'node' => [ + 'traffic_monitor' => '流量统计', + 'refresh_geo' => '刷新地理', + 'ping' => '检测延迟', + 'connection_test' => '连通性检测', + 'counts' => '共 :num 条线路', + 'reload_all' => '重载【全部】后端', + 'refresh_geo_all' => '刷新【全部】节点地理信息', + 'reload_confirm' => '确定重载节点?', + 'info' => [ + 'hint' => '注意: 添加节点后自动生成的ID,即为该节点部署ShadowsocksR Python版后端时usermysql.json中的node_id的值,同时也是部署V2Ray后端时的nodeId的值;', + 'basic' => '基础信息', + 'ddns_hint' => '动态IP节点需要配置DDNS,对此类型节点,节点阻断功能会通过域名进行检测', + 'domain_placeholder' => '服务器域名地址,填则优先取域名地址', + 'domain_hint' => '系统设置中开启【DDNS模式】,域名将会自动与下方IP内容进行绑定操作!无需再前往域名注册商页面修改IP信息了哟', + 'extend' => '扩展信息', + 'display' => [ + 'invisible' => '完全不可见', + 'node' => '只显示于【:trans】页面', + 'sub' => '只显示于【订 阅】', + 'all' => '完全可见', + 'hint' => '用户是否可以订阅/看到本节点', + ], + 'ipv4_hint' => '多IP使用“, ”分割,例:1.1.1.1, 8.8.8.8', + 'ipv6_hint' => '多IP使用“, ”分割,例:1.1.1.1, 8.8.8.8', + 'ipv4_placeholder' => '服务器IPv4地址', + 'ipv6_placeholder' => '服务器IPv6地址,填写则用户可见,域名无效', + 'push_port_hint' => '必填且防火墙需放行,否则将导致消息推送异常', + 'data_rate_hint' => '举例:0.1用100M结算10M,5用100M结算500M', + 'level_hint' => '等级:0-无等级,全部可见', + 'detection' => [ + 'tcp' => '只检测TCP', + 'icmp' => '只检测ICMP', + 'all' => '检测全部', + 'hint' => '每30~60分钟随机进行节点阻断检测', + ], + 'obfs_param_hint' => '混淆不为 [plain] 时可填入参数进行流量伪装; 混淆为 [http_simple] 时,建议端口为 80; 混淆为 [tls] 时,建议端口为 443;', + 'additional_ports_hint' => '如果启用请配置服务端的additional_ports信息', + 'v2_method_hint' => '使用WebSocket传输协议时不要使用none', + 'v2_net_hint' => '使用WebSocket传输协议时请启用TLS', + 'v2_cover' => [ + 'none' => '无伪装', + 'http' => 'HTTP数据流', + 'srtp' => '视频通话数据 (SRTP)', + 'utp' => 'BT下载数据 (uTP)', + 'wechat' => '微信视频通话', + 'dtls' => 'DTLS1.2数据包', + 'wireguard' => 'WireGuard数据包', + ], + 'v2_host_hint' => '伪装类型为http时多个伪装域名逗号隔开,使用WebSocket传输协议时只允许单个', + 'v2_tls_provider_hint' => '不同后端配置不同:', + 'single_hint' => '推荐80或443,服务端需要配置
    严格模式:用户的端口无法连接,只能通过以下指定的端口进行连接(如何配置)', + ], + 'proxy_info' => '*兼容 SS', + 'proxy_info_hint' => '如果兼容请在服务端配置协议和混淆时加上_compatible', + 'reload' => '重载后端', + 'auth' => [ + 'title' => '节点授权列表WEBAPI', + 'deploy' => [ + 'title' => '部署 :type_label 后端', + 'attribute' => '部署后端', + 'command' => '操作命令', + 'update' => '更新:', + 'uninstall' => '卸载:', + 'start' => '启动:', + 'stop' => '停止:', + 'status' => '状态:', + 'recent_logs' => '近期日志:', + 'real_time_logs' => '实时日志:', + 'restart' => '重启:', + 'same' => '同上', + 'trojan_hint' => '请先填写节点域名并将域名解析到节点对应的IP上', + ], + 'reset_auth' => '重置密钥', + 'counts' => '共 :num 条授权', + 'generating_all' => '确定生成所有节点的授权吗?', + ], + 'cert' => [ + 'title' => '域名证书列表(V2Ray节点的伪装域名)', + 'counts' => '共 :num 个域名证书', + 'key_placeholder' => '域名证书的KEY值,允许为空,VNET-V2Ray后端支持自动签证书', + 'pem_placeholder' => '域名证书的PEM值,允许为空,VNET-V2Ray后端支持自动签证书', + ], + ], + 'hint' => '提示', + 'oauth' => [ + 'title' => '用户OAuth授权', + 'counts' => '共 :num 个授权', + ], + 'select_all' => '全 选', + 'clear' => '清 空', + 'unselected_hint' => '待分配规则,此处可搜索', + 'selected_hint' => '已分配规则,此处可搜索', + 'clone' => '克隆', + 'monitor' => [ + 'daily_chart' => '每日流量图', + 'monthly_chart' => '月流量图', + 'node' => '节点流量', + 'user' => '用户流量', + 'hint' => '提示: 如果无统计数据,请检查定时任务是否正常。', + ], + 'tools' => [ + 'analysis' => [ + 'title' => 'SSR日志分析仅适用于单机单节点', + 'req_url' => '近期请求地址', + 'not_enough' => '访问记录不足15000条,无法分析数据', + ], + 'convert' => [ + 'title' => '格式转换 Shadowsocks 转 ShadowsocksR', + 'content_placeholder' => '请填入要转换的配置信息', + ], + 'decompile' => [ + 'title' => '反解析配置转换', + 'attribute' => '反解析', + 'content_placeholder' => '请填入要反解析的ShadowsocksR链接,一行一条', + ], + ], + 'ticket' => [ + 'title' => '工单列表', + 'counts' => '共 :num 个工单', + 'send_to' => '请填入目标用户信息!', + 'user_info' => '用户信息', + 'inviter_info' => '邀请人信息', + 'close_confirm' => '确定关闭工单?', + 'error' => '未知错误!请查看运行日志', + ], + 'logs' => [ + 'subscribe' => '订阅列表', + 'counts' => '共 :num 条记录', + 'rule' => [ + 'clear_all' => '清空记录', + 'title' => '触发记录', + 'name' => '触发规则', + 'reason' => '触发原因', + 'created_at' => '触发时间', + 'tag' => '✅ 访问非规则允许内容', + 'clear_confirm' => '确定清空所有记录吗?', + ], + 'order' => [ + 'title' => '订单列表', + 'is_expired' => '是否过期', + 'is_coupon' => '是否使用优惠券', + ], + 'user_traffic' => [ + 'title' => '流量使用记录', + 'choose_node' => '选择节点', + ], + 'user_data_modify_title' => '流量变动记录', + 'callback' => '回调日志 (在线支付)', + 'notification' => '邮件投递记录', + 'ip_monitor' => '在线IP监控 2分钟内的实时数据', + 'user_ip' => [ + 'title' => '用户在线IP列表 最近10分钟', + 'connect' => '连接IP', + ], + 'ban' => [ + 'title' => '用户封禁记录', + 'time' => '时长', + 'reason' => '理由', + 'ban_time' => '封禁时间', + 'last_connect_at' => '最后连接时间', + ], + 'credit_title' => '余额变动记录', + ], + 'start_time' => '开始区间', + 'end_time' => '结束区间', + 'goods' => [ + 'title' => '商品列表', + 'type' => [ + 'top_up' => '充值', + 'package' => '流量包', + 'plan' => '套餐', + ], + 'info' => [ + 'type_hint' => '套餐与账号有效期有关,流量包只扣可用流量,不影响有效期', + 'period_hint' => '套餐流量会每N天重置', + 'limit_num_hint' => '每个用户可以购买该商品次数,为 0 时代表不限购', + 'available_date_hint' => '到期后会自动从总流量扣减对应的流量', + 'desc_placeholder' => '商品的简单描述', + 'list_placeholder' => '商品的自定义列表添加', + 'list_hint' => '每行内容请以<li> 开头</li> 结尾', + ], + 'status' => [ + 'yes' => '上架', + 'no' => '下架', + ], + 'sell_and_used' => '使用 / 销售', + 'counts' => '共 :num 个商品', + ], + 'sort_asc' => '排序值越大排越前', + 'yes' => '是', + 'no' => '否', + 'rule' => [ + 'type' => [ + 'reg' => '正则表达式', + 'domain' => '域名', + 'ip' => 'IP', + 'protocol' => '协议', + ], + 'counts' => '共 :num 条审计规则', + 'title' => '规则列表', + 'group' => [ + 'type' => [ + 'off' => '阻断', + 'on' => '放行', + ], + 'title' => '规则分组', + 'counts' => '共 :num 个分组', + ], + ], + 'role' => [ + 'name_hint' => '唯一标识名称,例如:Administrator', + 'description_hint' => '面板显示名称,例如:管理员', + 'title' => '权限角色列表', + 'permissions_all' => '全部权限', + 'counts' => '共 :num 个权限角色', + ], + 'report' => [ + 'monthly_accounting' => '月流水账簿', + 'annually_accounting' => '年流水账簿', + 'historic_accounting' => '历史流水账簿', + 'current_month' => ' 本 月 ', + 'last_month' => ' 上 月', + 'current_year' => ' 今 年 ', + 'last_year' => ' 去 年 ', + 'hourly_traffic' => '每时流量', + 'daily_traffic' => '每天流量', + 'today' => ' 本 日 ', + ], + 'permission' => [ + 'title' => '权限行为列表', + 'description_hint' => '填写描述,例:【A系统】编辑A', + 'name_hint' => '填写路由名称,例:admin.permission.create,update', + 'counts' => '共 :num 条权限行为', + ], + 'marketing' => [ + 'email' => [ + 'title' => '邮件群发列表', + 'group_send' => '群发邮件', + 'counts' => '共 :num 条消息', + ], + 'send_status' => '发送状态', + 'send_time' => '发送时间', + 'error_message' => '错误信息', + 'push' => [ + 'title' => '推送消息列表', + 'send' => '推送消息', + 'counts' => '共 :num 条推送消息', + ], + ], + 'creating' => '正在添加...', + 'article' => [ + 'type' => [ + 'knowledge' => '文章', + 'announcement' => '公告', + ], + 'category_hint' => '同一类别将归类与同一文件夹下', + 'logo_hint' => '推荐尺寸:100x75', + 'title' => '文章列表', + 'counts' => '共 :num 篇文章', + ], + 'coupon' => [ + 'title' => '卡券列表', + 'name_hint' => '会用于前端显示', + 'sn_hint' => '提供给用户使用卡券的卡券,留空则默认为8位随机码', + 'type' => [ + 'voucher' => '抵用券', + 'discount' => '折扣券', + 'charge' => '充值券', + ], + 'type_hint' => '抵用:抵扣商品金额,折扣:商品百分比打折,充值:充值用户账号余额', + 'value' => '{1} ➖ :num|{2} :num 折|{3} ➕ :num', + 'value_hint' => '范围为 1% ~ 99% ', + 'priority_hint' => '同【使用券码】下,符合条件的高权重码将会被优先使用。最高为 255', + 'minimum_hint' => '当支付金额超过 :num 值时,才能使用本优惠劵;', + 'used_hint' => '符合条件的用户可以使用本券 :num 次;', + 'levels_hint' => '用户等级在选定等级内,方可使用本券', + 'groups_hint' => '选定的用户分组,方可使用本券', + 'users_placeholder' => '输入用户ID, 再回车', + 'user_whitelist_hint' => '涉及用户均可使用本券,留空为不使用此条件', + 'users_blacklist_hint' => '涉及用户均不可使用本券,空为不使用此条件', + 'services_placeholder' => '输入商品ID, 再回车', + 'services_whitelist_hint' => '涉及商品方可使用本券,留空为不使用此条件', + 'services_blacklist_hint' => '涉及商品不可使用本券,留空为不使用此条件', + 'newbie' => [ + 'first_discount' => '首次用任意券', + 'first_order' => '首单', + 'created_days' => '创号', + ], + 'created_days_hint' => '且 创号 :days 天', + 'limit_hint' => '本项各条件为 并且 关系,请自行搭配使用', + 'info_title' => '卡券信息', + 'counts' => '共 :num 张优惠券', + 'discount' => '优惠', + 'export_title' => '卡券导出', + 'single_use' => '一次性', + ], + 'times' => '次', + 'massive_export' => '批量导出', + 'system_generate' => '系统生成', + 'aff' => [ + 'rebate_title' => '返利流水记录', + 'counts' => '共 :num 个申请', + 'title' => '提现申请列表', + 'apply_counts' => '共 :num 个申请', + 'referral' => '推广返利', + 'commission_title' => '提现申请详情', + 'commission_counts' => '本申请共涉及 :num 单', + ], + 'setting' => [ + 'common' => [ + 'title' => '通用配置', + 'set_default' => '设为默认', + 'connect_nodes' => '关联节点数', + ], + 'email' => [ + 'title' => '邮箱过滤列表 (用于屏蔽注册邮箱后缀)', + 'tail' => '邮箱后缀', + 'rule' => '规则', + 'black' => '黑名单', + 'white' => '白名单', + 'tail_placeholder' => '请填入邮箱后缀', + ], + 'system' => [ + 'title' => '系统配置', + 'web' => '网站常规', + 'account' => '账号设置', + 'node' => '节点设置', + 'extend' => '拓展功能', + 'check_in' => '签到系统', + 'promotion' => '推广系统', + 'notify' => '通知系统', + 'auto_job' => '自动任务', + 'other' => 'LOGO|客服|统计', + 'payment' => '支付系统', + 'menu' => '菜单', + ], + 'no_permission' => '您没有权限修改参数!', + ], + 'system' => [ + 'account_expire_notification' => '账号过期通知', + 'active_times' => '激活账号次数', + 'admin_invite_days' => '管理员-邀请码有效期', + 'aff_salt' => '邀请链接 用户信息字符化', + 'alipay_qrcode' => '支付宝二维码', + 'AppStore_id' => '苹果账号', + 'AppStore_password' => '苹果密码', + 'auto_release_port' => '端口回收机制', + 'bark_key' => 'Bark设备号', + 'bitpay_secret', + 'captcha_key' => '验证码 Key', + 'captcha_secret' => '验证码 Secret/ID', + 'codepay_id' => '码支付ID', + 'codepay_key' => '通信密钥', + 'codepay_url' => '请求URL', + 'data_anomaly_notification' => '流量异常通知', + 'data_exhaust_notification' => '流量耗尽通知', + 'ddns_key' => 'DNS服务商Key', + 'ddns_mode' => 'DDNS模式', + 'ddns_secret' => 'DNS服务商Secret', + 'default_days' => '初始有效期', + 'default_traffic' => '初始流量', + 'detection_check_times' => '阻断检测提醒', + 'dingTalk_access_token' => '钉钉自定义机器人 Access Token', + 'dingTalk_secret' => '钉钉自定义机器人 密钥', + 'epay_key' => '商户密钥', + 'epay_mch_id' => '商户ID', + 'epay_url' => '接口对接地址', + 'expire_days' => '过期警告阈值', + 'f2fpay_app_id' => '应用ID', + 'f2fpay_private_key' => '应用私钥', + 'f2fpay_public_key' => '支付宝公钥', + 'forbid_mode' => '禁止访问模式', + 'invite_num' => '可生成邀请码数', + 'is_activate_account' => '激活账号', + 'is_AliPay' => '支付宝支付', + 'is_ban_status' => '过期自动封禁', + 'is_captcha' => '验证码模式', + 'is_checkin' => '签到加流量', + 'is_clear_log' => '自动清除日志', + 'is_custom_subscribe' => '高级订阅', + 'is_email_filtering' => '邮箱过滤机制', + 'is_forbid_robot' => '阻止机器人访问', + 'is_free_code' => '免费邀请码', + 'is_invite_register' => '邀请注册', + 'is_otherPay' => '特殊支付', + 'is_push_bear', + 'is_QQPay' => 'QQ钱包', + 'is_rand_port' => '随机端口', + 'is_register' => '用户注册', + 'is_subscribe_ban' => '订阅异常自动封禁', + 'is_traffic_ban' => '异常自动封号', + 'is_WeChatPay' => '微信支付', + 'iYuu_token' => 'IYUU令牌', + 'maintenance_content' => '维护介绍内容', + 'maintenance_mode' => '维护模式', + 'maintenance_time' => '维护结束时间', + 'max_port', + 'max_rand_traffic', + 'min_port' => '端口范围', + 'min_rand_traffic' => '流量范围', + 'node_blocked_notification' => '节点阻断提醒', + 'node_daily_notification' => '节点使用报告', + 'node_offline_notification' => '节点离线提醒', + 'oauth_path' => '第三方登录平台', + 'offline_check_times' => '离线提醒次数', + 'password_reset_notification' => '重置密码', + 'paybeaver_app_id' => 'App ID', + 'paybeaver_app_secret' => 'App Secret', + 'payjs_key' => '通信密钥', + 'payjs_mch_id' => '商户号', + 'payment_confirm_notification' => '人工支付确认通知', + 'payment_received_notification' => '支付成功通知', + 'paypal_app_id' => '应用ID', + 'paypal_certificate' => '证书', + 'paypal_password' => 'API密码', + 'paypal_secret' => '签名', + 'paypal_username' => 'API用户名', + 'pushDeer_key' => 'PushDeer Key', + 'pushplus_token' => 'PushPlus Token', + 'rand_subscribe' => '随机订阅', + 'redirect_url' => '重定向地址', + 'referral_money' => '提现限制', + 'referral_percent' => '返利比例', + 'referral_status' => '推广功能', + 'referral_traffic' => '注册送流量', + 'referral_type' => '返利模式', + 'register_ip_limit' => '同IP注册限制', + 'reset_password_times' => '重置密码次数', + 'reset_traffic' => '流量自动重置', + 'server_chan_key' => 'ServerChan SCKEY', + 'standard_currency' => '本位货币', + 'stripe_public_key' => 'Public Key', + 'stripe_secret_key' => 'Secret Key', + 'stripe_signing_secret' => 'WebHook Signing secret', + 'subject_name' => '自定义商品名称', + 'subscribe_ban_times' => '订阅请求阈值 +', + 'subscribe_domain' => '节点订阅地址', + 'subscribe_max' => '订阅节点数', + 'telegram_token' => 'Telegram Token', + 'tg_chat_token' => 'TG酱Token', + 'theadpay_key' => '商家密钥', + 'theadpay_mchid' => '商家ID', + 'theadpay_url' => '接口地址', + 'ticket_closed_notification' => '工单关闭通知', + 'ticket_created_notification' => '新工单通知', + 'ticket_replied_notification' => '工单回复通知', + 'traffic_ban_time' => '封号时长', + 'traffic_ban_value' => '流量异常阈值', + 'traffic_limit_time' => '时间间隔', + 'traffic_warning_percent' => '流量警告阈值', + 'trojan_license' => 'Trojan授权', + 'username_type' => '账号类型', + 'user_invite_days' => '用户-邀请码有效期', + 'v2ray_license' => 'V2Ray授权', + 'v2ray_tls_provider' => 'V2Ray TLS配置', + 'webmaster_email' => '管理员邮箱', + 'website_analytics' => '统计代码', + 'website_callback_url' => '通用支付回调地址', + 'website_customer_service' => '客服代码', + 'website_home_logo' => '首页LOGO', + 'website_logo' => '站内LOGO', + 'website_name' => '网站名称', + 'website_security_code' => '网站安全码', + 'website_url' => '网站地址', + 'web_api_url' => '授权/后端访问域名', + 'wechat_aid' => '微信企业应用ID', + 'wechat_cid' => '微信企业ID', + 'wechat_encodingAESKey' => '微信企业应用EncodingAESKey', + 'wechat_qrcode' => '微 信二维码', + 'wechat_secret' => '微信企业应用密钥', + 'wechat_token' => '微信企业应用TOKEN', + + 'hint' => [ + 'account_expire_notification' => '通知用户账号即将到期', + 'active_times' => '24小时内可以通过邮件激活账号次数', + 'admin_invite_days' => '管理员生成邀请码的有效期', + 'aff_salt' => '留空时,邀请链接将显示用户ID;填入任意英文/数字 即可对用户链接ID进行加密', + 'alipay_qrcode', + 'AppStore_id' => 'iOS软件设置教程中使用的苹果账号', + 'AppStore_password' => 'iOS软件设置教程中使用的苹果密码', + 'auto_release_port' => '被封禁/过期 '.config('tasks.release_port').' 天的账号端口自动释放', + 'bark_key' => '推送消息到iOS设备,需要在iOS设备里装一个名为Bark的应用,取网址后的一长串字符串,启用Bark,请务必填入本值', + 'bitpay_secret', + 'captcha_key' => '浏览设置指南来设置', + 'captcha_secret', + 'codepay_id', + 'codepay_key', + 'codepay_url', + 'data_anomaly_notification' => '1小时内流量超过异常阈值通知超管', + 'data_exhaust_notification' => '通知用户流量即将耗尽', + 'ddns_key' => "浏览设置指南来设置", + 'ddns_mode' => '添加/编辑/删除节点的【域名、ipv4、ipv6】时,自动更新对应内容至DNS服务商', + 'ddns_secret', + 'default_days' => '用户注册时默认账户有效期,为0即当天到期', + 'default_traffic' => '用户注册时默认可用流量', + 'detection_check_times' => '提醒N次后自动下线节点,为0/留空时不限制,不超过12', + 'dingTalk_access_token' => '可以阅读钉钉手册查阅步骤', + 'dingTalk_secret' => '可选填!开启机器人[加签]就是必填项目!', + 'epay_key', + 'epay_mch_id', + 'epay_url', + 'expire_days' => '【账号过期通知】开始阈值,每日通知用户', + 'f2fpay_app_id' => '即:APPID', + 'f2fpay_private_key' => '生成秘钥软件生成时,产生的应用秘钥', + 'f2fpay_public_key' => '注意不是应用公钥!', + 'forbid_mode' => '依据IP对对应地区进行阻拦,非阻拦地区可正常访问', + 'invite_num' => '用户可以生成的邀请码数', + 'is_activate_account' => '启用后用户需要通过邮件来激活账号', + 'is_AliPay', + 'is_ban_status' => '(慎重)封禁整个账号会重置账号的所有数据且会导致用户无法登录,不开启状态下只封禁用户代理', + 'is_captcha' => '启用后 登录/注册 需要进行验证码认证', + 'is_checkin' => '登录时将根据流量范围随机得到流量', + 'is_clear_log' => '(推荐)启用后自动清除无用日志', + 'is_custom_subscribe' => '启用后,订阅信息顶部将显示过期时间、剩余流量(只支持个别客户端)', + 'is_email_filtering' => '黑名单: 用户可使用任意黑名单外的邮箱注册;白名单:用户只能选择使用白名单中的邮箱后缀注册', + 'is_forbid_robot' => '如果是机器人、爬虫、代理访问网站则会抛出404错误', + 'is_free_code' => '关闭后免费邀请码不可见', + 'is_invite_register', + 'is_otherPay', + 'is_push_bear', + 'is_QQPay', + 'is_rand_port' => '注册、添加用户时随机生成端口', + 'is_register' => '关闭后无法注册', + 'is_subscribe_ban' => '启用后用户订阅链接请求超过设定阈值则自动封禁', + 'is_traffic_ban' => '1小时内流量超过异常阈值则自动封号(仅禁用代理)', + 'is_WeChatPay', + 'iYuu_token' => '启用爱语飞飞,请务必填入本值(申请 IYUU令牌)', + 'maintenance_content' => '自定义维护内容信息', + 'maintenance_mode' => "启用后,用户访问转移至维护界面 | 管理员使用 :url 登录", + 'maintenance_time' => '用于维护界面倒计时', + 'max_port', + 'max_rand_traffic', + 'min_port' => '端口范围:1000 - 65535', + 'min_rand_traffic', + 'node_blocked_notification' => '每小时检测节点是否被阻断并提醒管理员', + 'node_daily_notification' => '报告各节点流量昨日消耗情况', + 'node_offline_notification' => '每10分钟检测节点离线并提醒管理员', + 'oauth_path' => '请在.ENV中添加设置,再在此处开启平台', + 'offline_check_times' => '24小时内提醒n次后不再提醒', + 'password_reset_notification' => '启用后用户可以重置密码', + 'paybeaver_app_id' => '商户中心 -> 开发者 -> App ID', + 'paybeaver_app_secret' => '商户中心 -> 开发者 -> App Secret', + 'payjs_key', + 'payjs_mch_id' => '在本界面获取信息', + 'payment_confirm_notification' => '用户使用人工支付后通知管理员处理订单', + 'payment_received_notification' => '用户支付订单后通知用户订单状态', + 'paypal_app_id', + 'paypal_certificate', + 'paypal_password', + 'paypal_secret', + 'paypal_username', + 'pushDeer_key' => '启用PushDeer,请务必填入本值(申请 Push Key)', + 'pushplus_token' => '启用PushPlus,请务必填入本值(申请 Token)', + 'rand_subscribe' => '启用后,订阅时将随机返回节点信息,否则按节点排序返回', + 'redirect_url' => '触发审计规则时访问请求被阻断并重定向至该地址', + 'referral_money' => '满多少元才可以申请提现', + 'referral_percent' => '根据推广链接注册的账号每笔消费推广人可以分成的比例', + 'referral_status' => '关闭后用户不可见,但是不影响其正常邀请返利', + 'referral_traffic' => '根据推广链接、邀请码注册则赠送相应的流量', + 'referral_type' => '切换模式后旧数据不变,新的返利按新的模式计算', + 'register_ip_limit' => '同IP在24小时内允许注册数量,为0/留空时不限制', + 'reset_password_times' => '24小时内可以通过邮件重置密码次数', + 'reset_traffic' => '用户会按其购买套餐的日期自动重置可用流量', + 'server_chan_key' => "启用ServerChan,请务必填入本值(申请 SCKEY)", + 'standard_currency' => '网站中涉及金钱部分的默认货币', + 'stripe_public_key', + 'stripe_secret_key', + 'stripe_signing_secret', + 'subject_name' => '用于在支付渠道的商品标题显示', + 'subscribe_ban_times' => '24小时内订阅链接请求次数限制', + 'subscribe_domain' => '(推荐)防止面板域名被DNS投毒后无法正常订阅,需带http://或https://"', + 'subscribe_max' => '客户端订阅时取得几个节点,为0/留空时返回全部节点', + 'telegram_token' => '找 @BotFather 申请机器人获取TOKEN', + 'tg_chat_token' => '启用TG酱,请务必填入本值(申请 Token)', + 'theadpay_key', + 'theadpay_mchid', + 'theadpay_url', + 'ticket_closed_notification' => '工单关闭通知用户', + 'ticket_created_notification' => '新工单通知管理/用户,取决于谁创建了新工单', + 'ticket_replied_notification' => '工单回复通知对方', + 'traffic_ban_time' => '触发流量异常导致用户被封禁的时长,到期后自动解封', + 'traffic_ban_value' => '1小时内超过该值,则触发自动封号', + 'traffic_limit_time' => '间隔多久才可以再次签到', + 'traffic_warning_percent' => '【流量耗尽通知】开始阈值,每日通知用户', + 'trojan_license', + 'username_type' => '规范站点用户账号的类型,默认为电子邮箱', + 'user_invite_days' => '用户自行生成邀请的有效期', + 'v2ray_license', + 'v2ray_tls_provider' => '后端自动签发/载入TLS证书时用(节点的设置值优先级高于此处)', + 'webmaster_email' => '错误提示时会提供管理员邮箱作为联系方式', + 'website_analytics' => '统计JS', + 'website_callback_url' => '防止因为网站域名被DNS投毒后导致支付无法正常回调,需带http://或https://', + 'website_customer_service' => '客服JS', + 'website_home_logo', + 'website_logo', + 'website_name' => '发邮件时展示', + 'website_security_code' => '非空时必须通过安全入口加上安全码才可访问', + 'website_url' => '生成重置密码、在线支付必备', + 'web_api_url' => '例:https://demo.proxypanel.cf', + 'wechat_aid' => '在应用管理自建中创建应用 - AgentId', + 'wechat_cid' => '获取我的企业中的企业ID', + 'wechat_encodingAESKey' => '应用管理->应用->设置API接收->EncodingAESKey', + 'wechat_qrcode', + 'wechat_secret' => '应用的Secret(可能需要下载企业微信才能查看)', + 'wechat_token' => '应用管理->应用->设置API接收->TOKEN,URL设置::url', + ], + 'placeholder' => [ + 'default_url' => '默认为 :url', + 'server_chan_key' => '填入ServerChan的SCKEY->再点击更新', + 'pushDeer_key' => '填入PushDeer的Push Key -> 再点击更新', + 'iYuu_token' => '填入爱语飞飞的IYUU令牌 -> 再点击更新', + 'bark_key' => '填入Bark的设备号 -> 再点击更新', + 'telegram_token' => '填入Telegram的 Token -> 再点击更新', + 'pushplus_token' => '请到ServerChan申请', + 'dingTalk_access_token' => '自定义机器人的WebHook中的access_token', + 'dingTalk_secret' => '自定义机器人加签后出现的的密钥', + 'wechat_aid' => '应用的AgentId', + 'wechat_cid' => '填入微信企业ID -> 再点击更新', + 'wechat_secret' => '应用的Secret', + 'tg_chat_token' => '请到Telegram申请', + 'codepay_url' => 'https://codepay.fateqq.com/creat_order/?', + ], + 'payment' => [ + 'attribute' => '支付设置', + 'channel' => [ + 'alipay' => '支付宝F2F', + 'codepay' => '码支付', + 'epay' => '易支付', + 'payjs' => 'PayJs', + 'paypal' => 'PayPal', + 'stripe' => 'Stripe', + 'paybeaver' => '海狸支付', + 'theadpay' => '平头哥支付', + 'manual' => '人工支付', + ], + 'hint' => [ + 'alipay' => '本功能需要蚂蚁金服开放平台申请权限及应用', + 'codepay' => '请到 码支付申请账号,然后下载登录其挂机软件', + 'payjs' => '请到PayJs 申请账号', + 'paypal' => '使用商家账号登录API凭证申请页, 同意并获取设置信息', + 'paybeaver' => '请到海狸支付 PayBeaver申请账号', + 'theadpay' => '请到平头哥支付 THeadPay申请账号', + 'manual' => '设置后会自动开启对应显示', + ], + ], + 'notification' => [ + 'channel' => [ + 'telegram' => 'TG电报', + 'wechat' => '微信企业', + 'dingtalk' => '钉钉', + 'email' => '邮箱', + 'bark' => 'Bark', + 'serverchan' => 'ServerChan', + 'pushdeer' => 'PushDeer', + 'pushplus' => 'PushPlus', + 'iyuu' => '爱语飞飞', + 'tg_chat' => 'TG酱', + 'site' => '站内通知', + ], + ], + 'forbid' => [ + 'mainland' => '阻拦大陆', + 'china' => '阻拦中国', + 'oversea' => '阻拦海外', + ], + 'username' => [ + 'email' => '电子邮箱', + 'mobile' => '手机号码', + 'any' => '任意用户名', + ], + 'active_account' => [ + 'before' => '注册前激活', + 'after' => '注册后激活', + ], + 'ddns' => [ + 'namesilo' => 'Namesilo', + 'aliyun' => '阿里云(国际&国内)', + 'dnspod' => 'DNSPod', + 'cloudflare' => 'CloudFlare', + ], + 'captcha' => [ + 'standard' => '普通验证码', + 'geetest' => '极 验', + 'recaptcha' => 'Google reCaptcha', + 'hcaptcha' => 'hCaptcha', + ], + 'referral' => [ + 'once' => '首购返利', + 'loop' => '循环返利', + ], + ], + 'set_to' => '置 :attribute', + 'minute' => '分钟', + 'query' => '查 询', + 'optional' => '可选', + 'require' => '必须', +]; \ No newline at end of file diff --git a/resources/lang/zh_CN/common.php b/resources/lang/zh_CN/common.php index 67cf6e09..3a12aa59 100644 --- a/resources/lang/zh_CN/common.php +++ b/resources/lang/zh_CN/common.php @@ -1,61 +1,63 @@ '账号', - 'available_date' => '有效期', - 'created_at' => '生成时间', - 'expired_at' => '到期时间', - 'updated_at' => '更新时间', - 'back' => '返 回', - 'cancel' => '取 消', - 'close' => '关 闭', - 'close_item' => '关闭:attribute', - 'confirm' => '确 认', - 'continues' => '继 续', - 'open' => '打 开', - 'send' => '发 送', - 'view' => '查 看', - 'reset' => '重 置', - 'copy' => [ + 'account' => '账号', + 'available_date' => '有效期', + 'created_at' => '创建时间', + 'expired_at' => '到期时间', + 'updated_at' => '更新时间', + 'latest_at' => '最近时间', + 'back' => '返 回', + 'cancel' => '取 消', + 'close' => '关 闭', + 'close_item' => '关闭:attribute', + 'confirm' => '确 认', + 'continues' => '继 续', + 'open' => '打 开', + 'send' => '发 送', + 'view' => '查 看', + 'reset' => '重 置', + 'copy' => [ 'attribute' => '复 制', 'success' => '复制成功', 'failed' => '复制失败,请手动复制', ], - 'free' => '免费', - 'replace' => '更换', - 'submit' => '提 交', - 'submit_item' => '提交:attribute', - 'generate' => '生 成', - 'generate_item' => '生成:attribute', - 'to_safari' => ['0' => '点击右上角', '1' => ',选择在', '2' => 'Safari 中打开', '3' => '就可以正常访问本站了哟!'], - 'update_browser' => ['0' => '您正在使用', '1' => '过时', '2' => ' 的浏览器。 请', '3' => '升级您的浏览器', '4' => '来获得最佳的浏览体验'], - 'apply' => '应 用', - 'avatar' => '头像', - 'customize' => '自定义', - 'all' => '全部', - 'default' => '默认', - 'download' => '下载', - 'goto' => '前 往', - 'warning' => '警 告', - 'success' => '成功', - 'failed' => '失败', - 'update' => '更 新', - 'update_action' => '更新:action', - 'none' => '无', - 'new' => '新', - 'sorry' => '抱歉', - 'applied' => ':attribute生效', - 'active_item' => '激活:attribute', - 'error' => '错误', - 'toggle' => '切 换', - 'toggle_action' => '切换:action', - 'request_url' => '请求地址', - 'function' => [ + 'add' => '添 加', + 'free' => '免费', + 'replace' => '更换', + 'submit' => '提 交', + 'submit_item' => '提交:attribute', + 'generate' => '生 成', + 'generate_item' => '生成:attribute', + 'to_safari' => [0 => '点击右上角', 1 => ',选择在', 2 => 'Safari 中打开', 3 => '就可以正常访问本站了哟!'], + 'update_browser' => [0 => '您正在使用', 1 => '过时', 2 => ' 的浏览器。 请', 3 => '升级您的浏览器', 4 => '来获得最佳的浏览体验'], + 'apply' => '应 用', + 'avatar' => '头像', + 'customize' => '自定义', + 'all' => '全部', + 'default' => '默认', + 'download' => '下 载', + 'goto' => '前 往', + 'warning' => '警 告', + 'success' => '成功', + 'failed' => '失败', + 'update' => '更 新', + 'update_action' => '更新:action', + 'none' => '无', + 'new' => '新', + 'sorry' => '抱歉', + 'applied' => ':attribute生效', + 'active_item' => '激活:attribute', + 'error' => '错误', + 'toggle' => '切 换', + 'toggle_action' => '切换:action', + 'request_url' => '请求地址', + 'function' => [ 'navigation' => '导航', 'menubar' => '菜单栏', 'fullscreen' => '全屏', ], - 'days' => [ + 'days' => [ 'sun' => '周日', 'mon' => '周一', 'tue' => '周二', @@ -67,20 +69,76 @@ return [ 'work' => '工作日', 'next' => '次日', ], - 'qrcode' => ':attribute二维码', - 'deleted' => '已删除', - 'deleted_item' => ':attribute已删除', - 'print' => '打印', - 'unlimited' => '无限制', - 'payment' => [ + 'qrcode' => ':attribute二维码', + 'deleted' => '已删除', + 'deleted_item' => ':attribute已删除', + 'print' => '打印', + 'unlimited' => '无限制', + 'payment' => [ 'credit' => '余额', 'wechat' => '微信', 'alipay' => '支付宝', 'crypto' => '虚拟货币', 'manual' => '人工支付', + 'status' => [ + 'wait' => '待支付', + 'fail' => '支付失败', + 'success' => '支付成功', + ], ], - 'recommend' => '推荐', - 'advance' => '进阶', - 'status' => '状态', - 'action' => '操作', + 'order' => [ + 'status' => [ + 'cancel' => '取 消', + 'complete' => '完 成', + 'prepaid' => '预支付', + 'ongoing' => '使用中', + 'review' => '待确认', + ], + ], + 'recommend' => '推荐', + 'advance' => '进阶', + 'action' => '操作', + 'search' => '搜 索', + 'edit' => '编 辑', + 'delete' => '删 除', + 'status' => [ + 'attribute' => '状态', + 'inactive' => '未激活', + 'disabled' => '停 用', + 'banned' => '禁 用', + 'normal' => '正 常', + 'enabled' => '启 用', + 'expire' => '过 期', + 'limited' => '限 制', + 'run_out' => '流量耗尽', + 'unused' => '未使用', + 'used' => '已使用', + 'closed' => '关 闭', + 'applying' => '申请中', + 'withdrawn' => '已提现', + 'unwithdrawn' => '未提现', + 'reply' => '已回复', + 'pending' => '待处理', + 'unknown' => '未 知', + 'available' => '生效中', + 'reject' => '驳 回', + 'rejected' => '已驳回', + 'review' => '待审核', + 'reviewed' => '审核通过待打款', + 'paid' => '已打款', + 'payment_pending' => '待打款', + 'pass' => '通 过', + 'send_to_credit' => '打款至余额', + 'waiting_tobe_send' => '等待投递', + ], + 'stay_unchanged' => '留空为不变', + 'random_generate' => '留空则随机生成', + 'request_failed' => '请求错误,请重试', + 'convert' => '转 换', + 'import' => '导 入', + 'or' => '或', + 'more' => '更多', + 'to' => '至', + 'to_be_send' => '待发送', + 'developing' => '开发中!敬请期待', ]; diff --git a/resources/lang/zh_CN/model.php b/resources/lang/zh_CN/model.php new file mode 100644 index 00000000..36ecc4fd --- /dev/null +++ b/resources/lang/zh_CN/model.php @@ -0,0 +1,239 @@ + [ + 'id' => '用户ID', + 'attribute' => '用户', + 'nickname' => '昵称', + 'username' => '账号', + 'password' => '密码', + 'credit' => '余额', + 'invite_num' => '可用邀请码', + 'reset_date' => '重置日', + 'port' => '端口', + 'traffic_used' => '流量使用', + 'service' => '代理', + 'group' => '分组', + 'level' => '等级', + 'account_status' => '账号状态', + 'proxy_status' => '代理状态', + 'expired_date' => '过期日', + 'role' => '角色权限', + 'wechat' => '微信', + 'qq' => 'QQ', + 'remark' => '备注', + 'uuid' => 'VMess UUID', + 'proxy_passwd' => '密码', + 'proxy_method' => '加密方式', + 'usable_traffic' => '可用流量', + 'proxy_protocol' => '协议', + 'proxy_obfs' => '混淆', + 'speed_limit' => '用户限速', + 'inviter' => '邀请人', + 'created_date' => '注册时间', + ], + 'common' => [ + 'extend' => '扩展', + 'sort' => '排序', + 'description' => '描述', + ], + 'country' => [ + 'code' => 'ISO国家代码', + 'icon' => '图 标', + 'name' => '国家/地区名称', + ], + 'subscribe' => [ + 'code' => '订阅码', + 'req_times' => '请求次数', + 'updated_at' => '最后请求时间', + 'ban_time' => '封禁时间', + 'ban_desc' => '封禁理由', + 'req_ip' => '请求IP', + 'req_header' => '访问', + ], + 'oauth' => [ + 'type' => '渠道', + 'identifier' => ' 唯一标识', + ], + 'user_group' => [ + 'attribute' => '用戶分组', + 'name' => '分组名称', + 'nodes' => '选择节点', + ], + 'node' => [ + 'attribute' => '节点', + 'id' => '节点ID', + 'type' => '类型', + 'name' => '名称', + 'domain' => '域名', + 'static' => '存活', + 'online_user' => '在线', + 'data_consume' => '产生流量', + 'data_rate' => '流量比例', + 'ddns' => 'DDNS', + 'ipv4' => 'IPv4地址', + 'ipv6' => 'IPv6地址', + 'push_port' => '消息推送端口', + 'level' => '等级', + 'rule_group' => '审计分组', + 'traffic_limit' => '节点限速', + 'client_limit' => '设备数限制', + 'label' => '标签', + 'country' => '国家/地区', + 'udp' => 'UDP', + 'display' => '显示 与 订阅', + 'detection' => '节点阻断检测', + 'method' => '加密方式', + 'protocol' => '协议', + 'protocol_param' => '协议参数', + 'obfs' => '混淆', + 'obfs_param' => '混淆参数', + 'single' => '单端口', + 'transfer' => '中 转', + 'service_port' => '服务端口', + 'single_passwd' => '[单] 密码', + 'v2_alter_id' => '额外ID', + 'v2_net' => '传输方式', + 'v2_cover' => '伪装类型', + 'v2_host' => '伪装域名', + 'v2_path' => '路径 | 密钥', + 'v2_sni' => 'SNI', + 'v2_tls' => '连接TLS', + 'v2_tls_provider' => 'TLS配置', + 'relay_port' => '中转端口', + ], + 'node_auth' => [ + 'attribute' => '节点授权', + 'key' => '通信密钥节点用', + 'secret' => '反向通信密钥', + ], + 'node_cert' => [ + 'attribute' => '域名证书', + 'domain' => '域名', + 'key' => 'KEY', + 'pem' => 'PEM', + 'issuer' => '签发机构', + 'signed_date' => '签发日期', + 'expired_date' => '到期时间', + ], + 'order' => [ + 'attribute' => '订单', + 'id' => '订单ID', + 'original_price' => '原价', + 'price' => '实价', + 'pay_way' => '支付方式', + 'status' => '订单状态', + ], + 'goods' => [ + 'attribute' => '商品', + 'type' => '类型', + 'name' => '名称', + 'price' => '售价', + 'category' => '分类', + 'level' => '等级', + 'renew' => '流量重置价格', + 'user_limit' => '用户限速', + 'period' => '重置周期', + 'traffic' => '流量额度', + 'invite_num' => '赠送邀请码数量', + 'limit_num' => '限购数量', + 'available_date' => '有效期', + 'hot' => '热销', + 'color' => '颜色', + 'logo' => '商品图片', + 'info' => '自定义列表', + ], + 'rule' => [ + 'attribute' => '规则', + 'type' => '类型', + 'name' => '描述', + 'pattern' => '值', + ], + 'rule_group' => [ + 'attribute' => '规则分组', + 'name' => '分组名称', + 'type' => '审计模式', + 'rules' => '选择规则', + ], + 'role' => [ + 'attribute' => '角色', + 'name' => '名称', + 'permissions' => '权限', + ], + 'permission' => [ + 'attribute' => '权限行为', + 'description' => '行为描述', + 'name' => '路由名称', + ], + 'article' => [ + 'attribute' => '文章', + 'type' => '类 型', + 'category' => '类 别', + 'language' => '语 言', + 'logo' => '头 图', + 'created_at' => '发布日期', + 'updated_at' => '最后更新', + ], + 'coupon' => [ + 'attribute' => '卡券', + 'name' => '卡券名称', + 'sn' => '使用券码', + 'logo' => '卡券图片', + 'type' => '类型', + 'value' => '优惠额度', + 'priority' => '权 重', + 'usable_times' => '使用次数', + 'minimum' => '满减条件', + 'used' => '个人限用', + 'levels' => '等级限定', + 'groups' => '分组限定', + 'users_whitelist' => '专属用户', + 'users_blacklist' => '禁用用户', + 'services_whitelist' => '许可商品', + 'services_blacklist' => '禁用商品', + 'newbie' => '新人专属', + 'num' => '数量', + ], + 'aff' => [ + 'invitee' => '消费者', + 'order_id' => '订单号', + 'amount' => '消费金额', + 'commission' => '返利金额', + 'updated_at' => '处理时间', + 'created_at' => '下单时间', + ], + 'referral' => [ + 'created_at' => '申请时间', + 'user' => '申请账号', + 'amount' => '申请提现金额', + 'id' => '申请单ID', + ], + 'notification' => [ + 'type' => '类型', + 'address' => '收信地址', + 'created_at' => '投递时间', + 'status' => '投递状态', + ], + 'ip' => [ + 'network_type' => '通讯类型', + 'info' => '归属地', + ], + 'user_traffic' => [ + 'upload' => '上传流量', + 'download' => '下载流量', + 'total' => '总流量', + 'log_time' => '记录时间', + ], + 'user_data_modify' => [ + 'before' => '变动前流量', + 'after' => '变动后流量', + 'description' => '描述', + 'created_at' => '发生时间', + ], + 'user_credit' => [ + 'before' => '操作前余额', + 'after' => '操作后金额', + 'amount' => '发生金额', + 'created_at' => '发生时间', + ], +]; \ No newline at end of file diff --git a/resources/lang/zh_CN/user.php b/resources/lang/zh_CN/user.php index 53cbdbb4..b8caf7a7 100644 --- a/resources/lang/zh_CN/user.php +++ b/resources/lang/zh_CN/user.php @@ -20,26 +20,6 @@ return [ 'unknown' => '未知原因,请尝试[刷新]你的浏览器!多次无果后再请开工单联系管理', ], ], - 'status' => [ - 'disabled' => '停用', - 'enabled' => '正常', - 'expired' => '已过期', - 'limited' => '限制', - 'run_out' => '流量耗尽', - 'unused' => '未使用', - 'used' => '已使用', - 'closed' => '关 闭', - 'completed' => '完 成', - 'waiting_payment' => '待付款', - 'using' => '使用中', - 'waiting_confirm' => '待确认', - 'prepaid' => '预支付', - 'applying' => '申请中', - 'withdrawn' => '已提现', - 'not_withdrawn' => '未提现', - 'reply' => '已回复', - 'pending' => '待处理', - ], 'home' => [ 'attendance' => [ 'attribute' => '签 到', @@ -100,14 +80,14 @@ return [ 'unmet' => '使用条件未满足', 'minimum' => '本券最低使用金额为 :amount', 'overused' => '本券只能使用 :times 次', - 'users' => '帐户不符合促销条件', + 'users' => '账户不符合促销条件', 'services' => '商品不符合折扣条件,请查看促销条款', ], ], 'error_response' => '出现了错误,请稍后再试。', 'invite' => [ 'attribute' => '邀请码', - 'total' => '共 :num 个邀请码', + 'counts' => '共 :num 个邀请码', 'tips' => '可生成 :num 枚邀请码,:days 日内有效', 'logs' => '邀请记录', 'promotion' => '通过您的邀请码注册并激活,你们双方都将获得:traffic流量奖励;当他们消费时,您将获得他们消费金额的:referral_percent%作为奖励。', @@ -122,14 +102,12 @@ return [ 'success' => '重置成功', ], 'referral' => [ - 'link' => '推广链接', - 'total' => '合计返利 :amount( :total 次),满 :money 可以申请提现。', - 'amount' => '消费金额', - 'commission' => '返利金额', - 'logs' => '佣金记录', - 'failed' => '申请失败', - 'success' => '申请成功', - 'msg' => [ + 'link' => '推广链接', + 'total' => '合计返利 :amount( :total 次),满 :money 可以申请提现。', + 'logs' => '佣金记录', + 'failed' => '申请失败', + 'success' => '申请成功', + 'msg' => [ 'account' => '账号已过期,请先购买服务吧', 'applied' => '已存在申请,请等待之前的申请处理完', 'unfulfilled' => '满 :amount 才可以提现,继续努力吧', @@ -139,8 +117,6 @@ return [ ], 'inviter' => '邀请者', 'invitee' => '受邀者', - 'consumer' => '消费者', - 'unknown' => '未知', 'registered_at' => '注册时间', 'bought_at' => '购买日期', 'payment_method' => '支付方式', @@ -155,21 +131,22 @@ return [ 'withdraw' => '提 现', 'scan_qrcode' => '请使用客户端扫描二维码', 'shop' => [ - 'hot' => '热 销', - 'limited' => '限 购', - 'change_amount' => '充值金额', - 'buy' => '购买', - 'description' => '描述', - 'service' => '服务', - 'pay_credit' => '余额支付', - 'pay_online' => '在线支付', - 'price' => '价格', - 'quantity' => '数量', - 'subtotal' => '小计', - 'total' => '合计', - 'conflict' => '套餐存在冲突', - 'conflict_tips' => '

    当前购买套餐将自动设置为 预支付套餐

    1. 预支付套餐会在生效中的套餐失效后自动开通!
    2. 您可以在支付后手动激活套餐!
    ', - 'call4help' => '请开工单通知客服', + 'hot' => '热 销', + 'limited' => '限 购', + 'change_amount' => '充值金额', + 'change_amount_help' => '请输入充值金额', + 'buy' => '购买', + 'description' => '描述', + 'service' => '服务', + 'pay_credit' => '余额支付', + 'pay_online' => '在线支付', + 'price' => '价格', + 'quantity' => '数量', + 'subtotal' => '小计', + 'total' => '合计', + 'conflict' => '套餐存在冲突', + 'conflict_tips' => '

    当前购买套餐将自动设置为 预支付套餐

    1. 预支付套餐会在生效中的套餐失效后自动开通!
    2. 您可以在支付后手动激活套餐!
    ', + 'call4help' => '请开工单通知客服', ], 'service' => [ 'node_count' => ':num 条优质线路', @@ -186,7 +163,6 @@ return [ ], 'invoice' => [ 'attribute' => '订单', - 'id' => '订单号', 'detail' => '消费记录', 'amount' => '金额', 'active_prepaid_question' => '是否提前激活预支付套餐?', @@ -211,22 +187,22 @@ return [ 'error' => '更换订阅地址异常', ], 'ticket' => [ - 'attribute' => '工单', - 'submit_tips' => '确定提交工单?', - 'reply_confirm' => '确定回复工单?', - 'close_tips' => '您确定要关闭该工单吗?', - 'close' => '关闭工单', - 'failed_closed' => '错误:该工单已关闭', - 'reply_placeholder' => '说些什么呢?', - 'reply' => '回复', - 'close_msg' => '工单:ID:id用户已手动关闭', - 'placeholder' => '请详细的描述您遇到的问题,或者需要我们帮助的地方', - 'title_placeholder' => '请详细的描述您遇到的问题,或者需要我们帮助的地方', - 'new' => '创建新的工单', - 'working_hour' => '客服工作时间', - 'online_hour' => '在线时间', - 'service_tips' => '本站有多种联系方式,请使用其中一种联系客服!
    重复请求,将会自动延迟处理时间', - 'error' => '未知错误!请通知客服', + 'attribute' => '工单', + 'submit_tips' => '确定提交工单?', + 'reply_confirm' => '确定回复工单?', + 'close_tips' => '您确定要关闭该工单吗?', + 'close' => '关闭工单', + 'failed_closed' => '错误:该工单已关闭', + 'reply_placeholder' => '说些什么呢?', + 'reply' => '回复', + 'close_msg' => '工单:ID:id用户已手动关闭', + 'title_placeholder' => '请简单表示你的问题类型,或者涉及的内容', + 'content_placeholder' => '请详细的描述您遇到的问题,或者需要我们帮助的地方,以便我们快速帮助到您', + 'new' => '创建新的工单', + 'working_hour' => '客服工作时间', + 'online_hour' => '在线时间', + 'service_tips' => '本站有多种联系方式,请使用其中一种联系客服!
    重复请求,将会自动延迟处理时间', + 'error' => '未知错误!请通知客服', ], 'traffic_logs' => [ '24hours' => '今日流量使用情况', @@ -234,7 +210,7 @@ return [ 'tips' => '提示:流量统计更新会有延迟。按天统计于次日更新,按小时统计于次小时更新。', ], 'client' => '客户端', - 'tutorials' => '教程', + 'tutorials' => '教 程', 'current_role' => '当前身份', 'knowledge' => [ 'title' => '知 识 库', diff --git a/resources/views/_layout.blade.php b/resources/views/_layout.blade.php index 23d69a23..bd28fe4b 100644 --- a/resources/views/_layout.blade.php +++ b/resources/views/_layout.blade.php @@ -19,14 +19,13 @@ - + @yield('layout_css') - + - + @if (config('theme.skin')) @@ -69,20 +68,20 @@ @yield('layout_javascript') diff --git a/resources/views/admin/aff/detail.blade.php b/resources/views/admin/aff/detail.blade.php index 109a5eaf..69ea5929 100644 --- a/resources/views/admin/aff/detail.blade.php +++ b/resources/views/admin/aff/detail.blade.php @@ -6,14 +6,14 @@
    -

    提现申请详情

    +

    {{ trans('admin.aff.commission_title') }}

    @if($referral->status === -1) - 已驳回 + {{ trans('common.status.rejected') }} @elseif($referral->status === 2) - 已打款 + {{ trans('common.status.paid') }} @endif - 返 回 + {{ trans('common.back') }}
    @@ -22,16 +22,17 @@ - 申请单ID:{{$referral->id}} | 申请人:{{$referral->user->username}} | 申请提现金额:{{$referral->amount_tag}} | 申请时间:{{$referral->created_at}} + {{ trans('model.referral.id') }}: {{$referral->id}} | {{ trans('model.referral.user') }}: {{$referral->user->username}} | + {{ trans('model.referral.amount') }}: {{$referral->amount_tag}} | {{ trans('model.referral.created_at') }}: {{$referral->created_at}} # - 关联人 - 关联订单 - 订单金额 - 佣金 - 下单时间 + {{ trans('model.aff.invitee') }} + {{ trans('model.aff.order_id') }} + {{ trans('model.aff.amount') }} + {{ trans('model.aff.commission') }} + {{ trans('model.aff.created_at') }} @@ -61,7 +62,7 @@