Explorar o código

🤖 Touching up Chinese translation files with Claude2

BrettonYe %!s(int64=2) %!d(string=hai) anos
pai
achega
f97d56568c

+ 1 - 0
config/version.php

@@ -3,4 +3,5 @@
 return [
     'name' => 'ProxyPanel',
     'number' => '3.0.a',
+    'ads' => env('ADS', null),
 ];

+ 28 - 15
readme.md

@@ -6,20 +6,6 @@ We are looking for translators who help us to translate this prjoect with other
 
 Support but not limited to: Shadowsocks,ShadowsocksR,ShadowsocksRR,V2Ray,Trojan,VNET
 
-## Nice VPS
-- [Kdatacenter](https://www.kdatacenter.com/myportal/?affid=470)
-    - 韩国SK线路,19刀(优惠后16.91刀)  1TB流量/月 性价比不错
-    - 使用优惠码:`31F6PFTY4I5T` 可得 89%折扣 | Use `31F6PFTY4I5T` get 11% off
-- [快车道Kuaichedao](https://kuaichedao.co/aff.php?aff=3)
-    - 节日有活动,能拿到优惠码;
-    - HKT 家宽不保证SLA,但混到骨折码,那是真实惠;
-    - 也有不少CMI BGP 的产品,可以上。
-- [V.PS](https://vps.hosting/?affid=1138)
-    - 背靠强者XTOM
-    - 适合大量入搞负载均衡的小VPS
-    - 东京 延迟还不错,带宽过得去,就是流量少了点
-    - 推荐 月付, IP被墙更换要8欧元
-
 ## Project
 - [Demo](https://proxypanel.ddo.jp) will always on dev/latest code, rather than the stable version. For showcase purposes.
     - Account: [email protected]
@@ -62,6 +48,33 @@ This project is base on Laravel 10 Framework This means anything Laravel 10 is r
   - SQL Server 2017+ [Version Policy](https://docs.microsoft.com/en-us/lifecycle/products/?products=sql-server)
 - Redis
 
+## ADS
+- 【EtoPay】国际支付,安全稳定
+    - 开户门槛:无
+    - 业务范围:机场、idc、发卡
+    - 结算周期:D+2
+    - 结算方式:USDT
+    - 结算门槛:100cny
+    - 结算手续费:1%
+    - 通道费率:
+        - 💰 WechatPay(微信支付)7%
+        - 💰 Alipay(支付宝支付)7%
+    - 开户联系: [@etopay888](https://t.me/etopay888)
+
+## Nice VPS
+- [Kdatacenter](https://www.kdatacenter.com/myportal/?affid=470)
+    - 韩国SK线路,19刀(优惠后16.91刀)  1TB流量/月 性价比不错
+    - 使用优惠码:`31F6PFTY4I5T` 可得 89%折扣 | Use `31F6PFTY4I5T` get 11% off
+- [快车道Kuaichedao](https://kuaichedao.co/aff.php?aff=3)
+    - 节日有活动,能拿到优惠码;
+    - HKT 家宽不保证SLA,但混到骨折码,那是真实惠;
+    - 也有不少CMI BGP 的产品,可以上。
+- [V.PS](https://vps.hosting/?affid=1138)
+    - 背靠强者XTOM
+    - 适合大量入搞负载均衡的小VPS
+    - 东京 延迟还不错,带宽过得去,就是流量少了点
+    - 推荐 月付, IP被墙更换要8欧元
+
 ## Thanks
 - [@shadowsocks](https://github.com/shadowsocks)
 - [@V2Ray](https://www.v2ray.com)
@@ -75,4 +88,4 @@ ProxyPanel is an open-sourced software licensed under the GPL-3.0 license.
 ## Funding
 Buy me a Coffee ☕?
 - PayPal [paypal.me/brettonye](https://www.paypal.com/paypalme/brettonye)
-- USDT-TRC20 TFMxq91oPCnoxDXBiEgRzab5N6GFnAbTT5
+- USDT-TRC20 TFMxq91oPCnoxDXBiEgRzab5N6GFnAbTT5

+ 31 - 32
resources/lang/zh_CN.json

@@ -1,22 +1,22 @@
 {
-    "(and :count more error)": "(有 :count 个错误)",
-    "(and :count more errors)": "(以及另外 :count 个错误)",
+    "(and :count more error)": "(有 :count 个错误)",
+    "(and :count more errors)": "(另有 :count 个错误)",
     "All rights reserved.": "版权所有。",
     "Forbidden": "访问被拒绝",
     "Go to page :page": "前往第 :page 页",
     "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」按钮时遇到问题,请复制下方链接到浏览器中访问:",
-    "Invalid JSON was returned from the route.": "从路由返回无效的 JSON。",
+    "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」按钮时遇到问题,请复制下方链接至浏览器打开:",
+    "Invalid JSON was returned from the route.": "从路由返回无效的JSON数据。",
     "Login": "登录",
     "Logout": "登出",
     "Not Found": "页面不存在",
     "of": "于",
-    "Page Expired": "页面会话已超时",
+    "Page Expired": "页面会话已过期",
     "Pagination Navigation": "分页导航",
-    "Payment Required": "需要付",
-    "Please click the button below to verify your email address.": "请点击下面按钮验证您的 E-mail:",
+    "Payment Required": "需要付",
+    "Please click the button below to verify your email address.": "请点击下方按钮来验证您的邮箱:",
     "Regards": "致敬",
     "Register": "注册",
     "Reset Password": "重置密码",
@@ -25,34 +25,33 @@
     "Server Error": "服务器错误",
     "Service Unavailable": "服务不可用",
     "Showing": "显示中",
-    "The given data was invalid.": "给定的数据无效。",
+    "The given data was invalid.": "提交的数据无效。",
     "The response is not a streamed response.": "该响应不是流式响应。",
     "The response is not a view.": "响应不是视图。",
-    "This password reset link will expire in :count minutes.": "这个重设密码链接将会在 :count 分钟后失效。",
+    "This password reset link will expire in :count minutes.": "这个重置密码链接将在 :count 分钟后过期。",
     "to": "至",
     "Toggle navigation": "切换导航",
     "Too Many Requests": "请求次数过多。",
     "Unauthorized": "未授权",
-    "Verify Email Address": "验证 E-mail",
+    "Verify Email Address": "验证邮箱",
     "Whoops!": "哎呀!",
-    "You are receiving this email because we received a password reset request for your account.": "您收到此电子邮件是因为我们收到了您帐户的密码重设请求。",
-
-    "----「:job」Completed, Used :time seconds ----": "----「:job」完成, 耗时 :time 秒----",
-    "[Auto Task] Blocked service: Abnormal traffic within 1 hour": "[自动任务]封禁服务: 1小时内流量异常",
-    "[Auto Task] Blocked service: Run out of traffic": "[自动任务]封禁服务: 流量耗尽",
-    "[Auto Task] Blocked Subscription: Subscription with abnormal requests within 24 hours": "[自动任务]封禁订阅: 订阅24小时内请求异常",
-    "[Daily Task] Account Expiration: Block Login & Clear Account": "[每日任务]账号过期: 禁止登录, 清空账户",
-    "[Daily Task] Account Expiration: Stop Service": "[每日任务]账号过期: 停止服务",
-    "[Daily Task] Reset Account Traffic, Next Reset Date: :date": "[每日任务]重置账号流量, 下次重置日: :date",
-    "[Service Timer] Service Expiration": "[定时任务]服务到期",
-    "Daily Data Usage Report": "线路每日流量报告",
+    "You are receiving this email because we received a password reset request for your account.": "您收到此邮件是因为我们收到您账号的重置密码请求。",
+    "----「:job」Completed, Used :time seconds ----": "----「:job」完成,用时 :time 秒----",
+    "[Auto Task] Blocked service: Abnormal traffic within 1 hour": "[自动任务] 封禁服务:1小时内流量异常",
+    "[Auto Task] Blocked service: Run out of traffic": "[自动任务] 封禁服务:流量耗尽",
+    "[Auto Task] Blocked Subscription: Subscription with abnormal requests within 24 hours": "[自动任务] 封禁订阅:24小时内请求异常",
+    "[Daily Task] Account Expiration: Block Login & Clear Account": "[每日任务] 账号过期:禁止登录,清空账户",
+    "[Daily Task] Account Expiration: Stop Service": "[每日任务] 账号过期:停止服务",
+    "[Daily Task] Reset Account Traffic, Next Reset Date: :date": "[每日任务] 重置账号流量,下次重置日::date",
+    "[Service Timer] Service Expiration": "[定时任务] 服务过期",
+    "Daily Data Usage Report": "每日流量报告",
     "Invoice Detail": "订单明细",
-    "Payment for #:sn has been received! Total amount: :amount.": "您成功支付了订单#:sn, 总金额为 :amount.",
-    "Payment Received": "账单付成功",
-    "Subscription link receive abnormal access and banned by the system": "订阅链接访问异常系统自动封禁",
-    "Thank you for signing up! Before you start, you need to verify your email by clicking on the link we have just sent to your email! If you haven't received an email, we would be happy to send another one.": "感谢您的注册! 在开始之前,您需要通过点击我们刚刚发送至您邮箱中的链接来验证您的电子邮件! 如果您没有收到电子邮件,我们很乐意再发送一封给您。",
-    "Verify Your Email Address": "验证您的邮件地址",
-    "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!": "您必须拥有有效套餐才可以查看该区域的内容!",
-    "Your subscription has been disabled by the administrator, please contact the administrator to restore it": "订阅功能被禁用,请联系管理员恢复"
-}
+    "Payment for #:sn has been received! Total amount: :amount.": "您已支付订单 #:sn,总金额::amount。",
+    "Payment Received": "账单付成功",
+    "Subscription link receive abnormal access and banned by the system": "订阅链接访问异常,系统自动封禁",
+    "Thank you for signing up! Before you start, you need to verify your email by clicking on the link we have just sent to your email! If you haven't received an email, we would be happy to send another one.": "感谢您的注册!在开始之前,您需要通过点击我们发送至您邮箱的链接来验证邮箱!如果没有收到邮件,我们很乐意再次发送。",
+    "Verify Your Email Address": "验证您的邮",
+    "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!": "您必须拥有有效订阅才可以查看本区域内容!",
+    "Your subscription has been disabled by the administrator, please contact the administrator to restore it": "您的订阅被管理员禁用,请联系管理员恢复"
+}

+ 29 - 28
resources/lang/zh_CN/admin.php

@@ -1,18 +1,20 @@
 <?php
 
+declare(strict_types=1);
+
 return [
     'dashboard' => [
-        'users' => '总用户',
-        'available_users' => '有效用户',
-        'paid_users' => '付费用户',
+        'users' => '总用户',
+        'available_users' => '有效用户',
+        'paid_users' => '付费用户',
         'active_days_users' => ':days 日内活跃用户',
         'inactive_days_users' => ':days 日以上不活跃用户',
-        'online_users' => '当前在线',
-        'expiring_users' => '临近到期',
+        'online_users' => '当前在线用户',
+        'expiring_users' => '即将过期用户',
         'overuse_users' => '流量大户(超过90%的用户)',
-        'abnormal_users' => '1小时内流量异常',
-        'nodes' => '节点',
-        'maintaining_nodes' => '维护中节点',
+        'abnormal_users' => '1小时内流量异常用户',
+        'nodes' => '节点',
+        'maintaining_nodes' => '维护中节点',
         'current_month_traffic_consumed' => '本月消耗流量',
         'days_traffic_consumed' => ':days 天消耗流量',
         'orders' => '总订单数',
@@ -38,7 +40,7 @@ return [
             'attribute' => '用户系统',
             'list' => '用户管理',
             'oauth' => '用户授权',
-            'group' => '用分组',
+            'group' => '用分组',
             'credit_log' => '余额变动',
             'subscribe' => '订阅管理',
         ],
@@ -55,9 +57,9 @@ return [
             'mail' => '邮件群发',
         ],
         'node' => [
-            'attribute' => '线路系统',
-            'list' => '线路管理',
-            'auth' => '线路授权',
+            'attribute' => '节点系统',
+            'list' => '节点管理',
+            'auth' => '节点授权',
             'cert' => '证书列表',
         ],
         'rule' => [
@@ -111,7 +113,6 @@ return [
     'user' => [
         'massive' => [
             'text' => '用户生成数量',
-            'button' => '批量生成',
             'failed' => '批量生成账号失败',
             'succeed' => '批量生成账号成功',
             'note' => '后台批量生成用户',
@@ -156,19 +157,19 @@ return [
             'basic' => '基础信息',
             'ddns_hint' => '动态IP节点需要<a href="https://github.com/NewFuture/DDNS" target="_blank">配置DDNS</a>,对此类型节点,节点阻断功能会通过域名进行检测',
             'domain_placeholder' => '服务器域名地址,填则优先取域名地址',
-            'domain_hint' => '系统设置中开启【DDNS模式】,域名将会自动与下方IP内容进行绑定操作!无需再前往域名注册商页面修改IP信息了哟',
+            'domain_hint' => '系统设置中开启【DDNS模式】,域名将自动绑定下方IP!无需再前往域名注册商页面修改IP信息了哟',
             'extend' => '扩展信息',
             'display' => [
                 'invisible' => '完全不可见',
                 'node' => '只显示于【:trans】页面',
                 'sub' => '只显示于【订 阅】',
                 'all' => '完全可见',
-                'hint' => '用户是否可订阅/看本节点',
+                '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地址,填写则用户可见,域名无效',
+            'ipv6_placeholder' => '服务器IPv6地址,填写则用户可见',
             'push_port_hint' => '必填且防火墙需放行,否则将导致消息推送异常',
             'data_rate_hint' => '举例:0.1用100M结算10M,5用100M结算500M',
             'level_hint' => '等级:0-无等级,全部可见',
@@ -192,8 +193,8 @@ return [
                 'wireguard' => 'WireGuard数据包',
             ],
             'v2_host_hint' => '伪装类型为http时多个伪装域名逗号隔开,使用WebSocket传输协议时只允许单个',
-            'v2_tls_provider_hint' => '不同后端配置不同:',
-            'single_hint' => '推荐80或443,服务端需配置 <br> 严格模式:用户的端口无法连接,只能通过以下指定的端口进行连接(<a href="javascript:showPortsOnlyConfig();">如何配置</a>)',
+            'v2_tls_provider_hint' => '后端配置不同:',
+            'single_hint' => '推荐80或443端口,服务端需配置 <br> 严格模式:用户的端口无法连接,只能通过以下指定的端口进行连接(<a href="javascript:showPortsOnlyConfig();">如何配置</a>)',
         ],
         'proxy_info' => '*兼容 SS',
         'proxy_info_hint' => '如果兼容请在服务端配置协议和混淆时加上<span class="red-700">_compatible</span>',
@@ -514,7 +515,7 @@ return [
         'f2fpay_private_key' => '应用私钥',
         'f2fpay_public_key' => '支付宝公钥',
         'forbid_mode' => '禁止访问模式',
-        'invite_num' => '可生成邀请码数',
+        'invite_num' => '默认可邀请名额',
         'is_activate_account' => '激活账号',
         'is_AliPay' => '支付宝支付',
         'is_ban_status' => '过期自动封禁',
@@ -530,8 +531,8 @@ return [
         'is_QQPay' => 'QQ钱包',
         'is_rand_port' => '随机端口',
         'is_register' => '用户注册',
-        'is_subscribe_ban' => '订阅异常自动封禁',
-        'is_traffic_ban' => '异常自动封号',
+        'is_subscribe_ban' => '异常订阅请求自动封禁',
+        'is_traffic_ban' => '异常流量使用自动封号',
         'is_WeChatPay' => '微信支付',
         'iYuu_token' => 'IYUU令牌',
         'maintenance_content' => '维护介绍内容',
@@ -539,7 +540,7 @@ return [
         'maintenance_time' => '维护结束时间',
         'min_port' => '端口范围',
         'min_rand_traffic' => '流量范围',
-        'node_blocked_notification' => '节点阻断提醒',
+        'node_blocked_notification' => '节点阻断提醒通知',
         'node_daily_notification' => '节点使用报告',
         'node_offline_notification' => '节点离线提醒',
         'oauth_path' => '第三方登录平台',
@@ -588,14 +589,14 @@ return [
         'traffic_limit_time' => '时间间隔',
         'traffic_warning_percent' => '流量警告阈值',
         'trojan_license' => 'Trojan授权',
-        'username_type' => '账号类型',
+        'username_type' => '用户名类型',
         'user_invite_days' => '用户-邀请码有效期',
         'v2ray_license' => 'V2Ray授权',
         'v2ray_tls_provider' => 'V2Ray TLS配置',
         'webmaster_email' => '管理员邮箱',
-        'website_analytics' => '统计代码',
+        'website_analytics' => '网站统计代码',
         'website_callback_url' => '通用支付回调地址',
-        'website_customer_service' => '客服代码',
+        'website_customer_service' => '网站客服代码',
         'website_home_logo' => '首页LOGO',
         'website_logo' => '站内LOGO',
         'website_name' => '网站名称',
@@ -631,8 +632,8 @@ return [
             'f2fpay_app_id' => '即:APPID',
             'f2fpay_private_key' => '生成秘钥软件生成时,产生的应用秘钥',
             'f2fpay_public_key' => '注意不是应用公钥!',
-            'forbid_mode' => '依据IP对对应地区进行阻拦,非阻拦地区可正常访问',
-            'invite_num' => '用户可以生成的邀请码数',
+            'forbid_mode' => '根据IP阻拦指定地区,非阻拦地区可正常访问',
+            'invite_num' => '用户默认拥有可以邀请的名额',
             'is_activate_account' => '启用后用户需要通过邮件来激活账号',
             'is_ban_status' => '(慎重)封禁整个账号会重置账号的所有数据且会导致用户无法登录,不开启状态下只封禁用户代理',
             'is_captcha' => '启用后 登录/注册 需要进行验证码认证',
@@ -671,7 +672,7 @@ return [
             'referral_status' => '关闭后用户不可见,但是不影响其正常邀请返利',
             'referral_traffic' => '根据推广链接、邀请码注册则赠送相应的流量',
             'referral_type' => '切换模式后旧数据不变,新的返利按新的模式计算',
-            'register_ip_limit' => '同IP在24小时内允许注册数量,为0/留空不限制',
+            'register_ip_limit' => '24小时内同IP允许注册数量,为0/留空不限制',
             'reset_password_times' => '24小时内可以通过邮件重置密码次数',
             'reset_traffic' => '用户会按其购买套餐的日期自动重置可用流量',
             'server_chan_key' => '启用ServerChan,请务必填入本值(<a href=https://sc.ftqq.com target=_blank>申请 SCKEY</a>)',

+ 8 - 8
resources/lang/zh_CN/auth.php

@@ -9,7 +9,7 @@ return [
         'error' => [
             'activated' => '账号已激活,无需再次激活',
             'disable' => '本站关闭了账号激活子系统,您可以直接去登录!',
-            'throttle' => '您已触发本站激活请求限制机制,请勿频繁操作!如有问题,请联系:email',
+            'throttle' => '您已触发本站激活请求限制,请勿频繁操作!如有问题,请联系:email',
         ],
         'promotion' => '账号尚未激活,请先「:action」!',
         'sent' => '激活链接已发送至您的邮箱,请稍作等待或查看垃圾箱',
@@ -36,7 +36,7 @@ return [
         'login_failed' => '登录失败,请检查邮箱或密码是否输入正确!',
         'not_found_user' => '未找到关联账号,请使用其他方式登录',
         'repeat_request' => '请勿重复请求,请刷新后重试',
-        'url_timeout' => '链接已失效, 请重新操作',
+        'url_timeout' => '链接已失效请重新操作',
     ],
     'failed' => '用户名或密码错误。',
     'invite' => [
@@ -45,10 +45,10 @@ return [
             'unavailable' => '邀请码不可用,请重试',
         ],
         'get' => '点击获取邀请码',
-        'not_required' => '无需邀请码,可直接注册!',
+        'not_required' => '无需邀请码可直接注册!',
     ],
-    'login' => '登 录',
-    'logout' => '登 出',
+    'login' => '登录',
+    'logout' => '登出',
     'maintenance' => '维护',
     'maintenance_tip' => '网站维护中',
     'oauth' => [
@@ -72,7 +72,7 @@ return [
             'attribute' => '重置密码',
             'error' => [
                 'demo' => '演示环境禁止修改管理员密码',
-                'disabled' => '本站关闭了密码重置子系统,有事请联系 :email ',
+                'disabled' => '本站关闭了密码重置子系统,有事请联系 :email',
                 'failed' => '重设密码失败',
                 'same' => '新密码不可与旧密码一样,请重新输入',
                 'throttle' => '24小时内只能重设密码 :time 次,请勿频繁操作',
@@ -83,7 +83,7 @@ return [
         ],
     ],
     'register' => [
-        'attribute' => '注 册',
+        'attribute' => '注册',
         'code' => '注册验证码',
         'error' => [
             'disable' => '抱歉,本站关闭了注册通道',
@@ -94,7 +94,7 @@ return [
         'success' => '注册成功',
     ],
     'remember_me' => '记住我',
-    'request' => '获 取',
+    'request' => '获取',
     'throttle' => '您尝试的登录次数过多,请 :seconds 秒后再试。',
     'tos' => '用户条款',
 ];

+ 40 - 38
resources/lang/zh_CN/common.php

@@ -1,5 +1,7 @@
 <?php
 
+declare(strict_types=1);
+
 return [
     'hour' => '{1} 时|{2} 点',
     'account' => '账号',
@@ -8,52 +10,52 @@ return [
     'expired_at' => '到期时间',
     'updated_at' => '更新时间',
     'latest_at' => '最近时间',
-    'back' => '返 回',
+    'back' => '返回',
     'back_to' => '返回至:page',
-    'cancel' => '取 消',
-    'close' => '关 闭',
+    'cancel' => '取消',
+    'close' => '关闭',
     'close_item' => '关闭:attribute',
-    'confirm' => '确 认',
-    'continues' => '继 续',
-    'open' => '打 开',
-    'send' => '发 送',
-    'view' => '查 看',
-    'reset' => '重 置',
+    'confirm' => '确认',
+    'continues' => '继续',
+    'open' => '打开',
+    'send' => '发送',
+    'view' => '查看',
+    'reset' => '重置',
     'copy' => [
-        'attribute' => '复 制',
+        'attribute' => '复制',
         'success' => '复制成功',
         'failed' => '复制失败,请手动复制',
     ],
-    'add' => '添 加',
+    'add' => '添加',
     'free' => '免费',
     'replace' => '更换',
-    'submit' => '提 交',
+    'submit' => '提交',
     'submit_item' => '提交:attribute',
-    'generate' => '生 成',
+    'generate' => '生成',
     'generate_item' => '生成:attribute',
     'to_safari' => [0 => '点击右上角', 1 => ',选择在', 2 => 'Safari 中打开', 3 => '就可以正常访问本站了哟!'],
-    'update_browser' => [0 => '您正在使用', 1 => '过时', 2 => '浏览器。 请', 3 => '升级您的浏览器', 4 => '来获得最佳的浏览体验'],
-    'apply' => '应 用',
+    'update_browser' => [0 => '您正在使用', 1 => '过时', 2 => '浏览器。请', 3 => '升级您的浏览器', 4 => '来获得最佳的浏览体验'],
+    'apply' => '应用',
     'avatar' => '头像',
     'customize' => '自定义',
     'all' => '全部',
     'default' => '默认',
-    'download' => '下 载',
-    'goto' => '前 往',
-    'warning' => '警 告',
+    'download' => '下载',
+    'goto' => '前往',
+    'warning' => '警告',
     'success' => '成功',
     'success_item' => ':attribute成功',
     'failed' => '失败',
     'failed_item' => ':attribute失败',
-    'update' => '更 新',
+    'update' => '更新',
     'update_action' => '更新:action',
     'none' => '无',
     'new' => '新',
     'sorry' => '抱歉',
-    'applied' => ':attribute生效',
+    'applied' => ':attribute生效',
     'active_item' => '激活:attribute',
     'error' => '错误',
-    'toggle' => '切 换',
+    'toggle' => '切换',
     'toggle_action' => '切换:action',
     'request_url' => '请求地址',
     'function' => [
@@ -92,8 +94,8 @@ return [
     ],
     'order' => [
         'status' => [
-            'cancel' => '取 消',
-            'complete' => '完 成',
+            'cancel' => '取消',
+            'complete' => '完成',
             'prepaid' => '预支付',
             'ongoing' => '使用中',
             'review' => '待确认',
@@ -102,44 +104,44 @@ return [
     'recommend' => '推荐',
     'advance' => '进阶',
     'action' => '操作',
-    'search' => '搜 索',
-    'edit' => '编 辑',
-    'delete' => '删 除',
+    'search' => '搜索',
+    'edit' => '编辑',
+    'delete' => '删除',
     'status' => [
         'attribute' => '状态',
         'inactive' => '未激活',
-        'disabled' => '停 用',
-        'banned' => '禁 用',
-        'normal' => '正 常',
-        'enabled' => '启 用',
-        'expire' => '过 期',
-        'limited' => '限 制',
+        'disabled' => '停用',
+        'banned' => '禁用',
+        'normal' => '正常',
+        'enabled' => '启用',
+        'expire' => '过期',
+        'limited' => '限制',
         'run_out' => '流量耗尽',
         'unused' => '未使用',
         'used' => '已使用',
-        'closed' => '关 闭',
+        'closed' => '关闭',
         'applying' => '申请中',
         'withdrawn' => '已提现',
         'unwithdrawn' => '未提现',
         'reply' => '已回复',
         'pending' => '待处理',
-        'unknown' => '未 知',
+        'unknown' => '未知',
         'available' => '生效中',
-        'reject' => '否',
+        'reject' => '否',
         'rejected' => '已驳回',
         'review' => '待审核',
         'reviewed' => '审核通过待打款',
         'paid' => '已打款',
         'payment_pending' => '待打款',
-        'pass' => '通 过',
+        'pass' => '通过',
         'send_to_credit' => '打款至余额',
         'waiting_tobe_send' => '等待投递',
     ],
     'stay_unchanged' => '留空为不变',
     'random_generate' => '留空则随机生成',
     'request_failed' => '请求错误,请重试',
-    'convert' => '转 换',
-    'import' => '导 入',
+    'convert' => '转换',
+    'import' => '导入',
     'or' => '或',
     'more' => '更多',
     'to' => '至',

+ 9 - 7
resources/lang/zh_CN/errors.php

@@ -1,14 +1,16 @@
 <?php
 
+declare(strict_types=1);
+
 return [
     'forbidden' => [
-        'access' => '检测到未知IP或使用代理访问,禁止访问',
+        'access' => '检测到未知IP或代理访问,禁止访问',
         'bots' => '检测到机器人访问,禁止访问',
-        'china' => '检测到中国IP或使用代理访问,禁止访问',
+        'china' => '检测到中国IP或代理访问,禁止访问',
         'oversea' => '检测到海外IP或代理访问,禁止访问',
     ],
     'log' => '日志',
-    'refresh' => '刷 新',
+    'refresh' => '刷新',
     'refresh_page' => '请刷新页面后,再访问',
     'report' => '错❌误携带了报告:',
     'safe_enter' => '安全入口访问',
@@ -19,13 +21,13 @@ return [
     'whoops' => '哎呦!',
     'get_ip' => '获取IP信息异常',
     'subscribe' => [
-        'unknown' => '使用链接错误!请重新获取!',
+        'unknown' => '使用错误链接,请重新获取!',
         'sub_baned' => '链接已被封禁,请前往官网查询原因',
         'user' => '错误链接,账号不存在!请重新获取链接',
-        'user_disable' => '账号被禁用!',
+        'user_disable' => '账号被禁用',
         'baned_until' => '账号封禁至:time,请解封后再更新!',
-        'out' => '流量耗尽请重新购买或重置流量!',
-        'expired' => '账号过期请续费!',
+        'out' => '流量耗尽请重新购买或重置流量!',
+        'expired' => '账号过期请续费!',
         'question' => '账号存在问题,请前往官网查询!',
         'none' => '无可用节点',
     ],

+ 82 - 80
resources/lang/zh_CN/model.php

@@ -1,5 +1,7 @@
 <?php
 
+declare(strict_types=1);
+
 return [
     'user' => [
         'id' => '用户ID',
@@ -8,39 +10,39 @@ return [
         'username' => '用户名',
         'password' => '密码',
         'credit' => '余额',
-        'invite_num' => '可用邀请',
-        'reset_date' => '重置日',
+        'invite_num' => '可用邀请名额',
+        'reset_date' => '流量重置日',
         'port' => '端口',
-        'traffic_used' => '流量使用',
-        'service' => '代理',
-        'group' => '组',
+        'traffic_used' => '已用流量',
+        'service' => '代理服务',
+        'group' => '用户组',
         'account_status' => '账号状态',
         'proxy_status' => '代理状态',
-        'expired_date' => '过期',
-        'role' => '角色权限',
+        'expired_date' => '过期时间',
+        'role' => '用户角色',
         'wechat' => '微信',
         'qq' => 'QQ',
         'remark' => '备注',
         'uuid' => 'VMess UUID',
-        'proxy_passwd' => '密码',
+        'proxy_passwd' => '代理密码',
         'proxy_method' => '加密方式',
         'usable_traffic' => '可用流量',
-        'proxy_protocol' => '协议',
-        'proxy_obfs' => '混淆',
-        'speed_limit' => '用户限速',
+        'proxy_protocol' => '代理协议',
+        'proxy_obfs' => '混淆方式',
+        'speed_limit' => '速度限制',
         'inviter' => '邀请人',
         'created_date' => '注册时间',
     ],
     'common' => [
-        'extend' => '扩展',
+        'extend' => '扩展信息',
         'sort' => '排序',
         'description' => '描述',
         'type' => '类型',
         'level' => '等级',
     ],
     'country' => [
-        'code' => 'ISO国家代码',
-        'icon' => '图 标',
+        'code' => '国家/地区代码',
+        'icon' => '国旗',
         'name' => '国家/地区名称',
     ],
     'subscribe' => [
@@ -48,80 +50,80 @@ return [
         'req_times' => '请求次数',
         'updated_at' => '最后请求时间',
         'ban_time' => '封禁时间',
-        'ban_desc' => '封禁理由',
+        'ban_desc' => '封禁原因',
         'req_ip' => '请求IP',
-        'req_header' => '访问',
+        'req_header' => '请求头',
     ],
     'oauth' => [
         'type' => '渠道',
-        'identifier' => '唯一标识',
+        'identifier' => '标识',
     ],
     'user_group' => [
-        'attribute' => '用戶分组',
-        'name' => '分组名称',
-        'nodes' => '选择节点',
+        'attribute' => '用组',
+        'name' => '名称',
+        'nodes' => '节点',
     ],
     'node' => [
         'attribute' => '节点',
-        'id' => '节点ID',
+        'id' => '节点 ID',
         'name' => '名称',
         'domain' => '域名',
-        'static' => '存活',
-        'online_user' => '在线',
+        'static' => '存活状态',
+        'online_user' => '在线人数',
         'data_consume' => '产生流量',
-        'data_rate' => '流量比例',
+        'data_rate' => '流量计算系数',
         'ddns' => 'DDNS',
-        'ipv4' => 'IPv4地址',
-        'ipv6' => 'IPv6地址',
-        'push_port' => '消息推送端口',
-        'rule_group' => '审计分组',
-        'traffic_limit' => '节点限速',
-        'client_limit' => '设备限制',
+        'ipv4' => 'IPv4 地址',
+        'ipv6' => 'IPv6 地址',
+        'push_port' => '推送端口',
+        'rule_group' => '规则组',
+        'traffic_limit' => '限速',
+        'client_limit' => '设备限制',
         'label' => '标签',
         'country' => '国家/地区',
         'udp' => 'UDP',
-        'display' => '显示  订阅',
-        'detection' => '节点阻断检测',
+        'display' => '显示与订阅',
+        'detection' => '阻断检测',
         'method' => '加密方式',
         'protocol' => '协议',
         'protocol_param' => '协议参数',
         'obfs' => '混淆',
         'obfs_param' => '混淆参数',
         'single' => '单端口',
-        'transfer' => '中',
+        'transfer' => '中',
         'service_port' => '服务端口',
-        'single_passwd' => '[单] 密码',
-        'v2_alter_id' => '额外ID',
+        'single_passwd' => '单端口密码',
+        'v2_alter_id' => '额外 ID',
         'v2_net' => '传输方式',
         'v2_cover' => '伪装类型',
         'v2_host' => '伪装域名',
-        'v2_path' => '路径 | 密钥',
+        'v2_path' => '路径密钥',
         'v2_sni' => 'SNI',
-        'v2_tls' => '连接TLS',
-        'v2_tls_provider' => 'TLS配置',
+        'v2_tls' => 'TLS连接',
+        'v2_tls_provider' => 'TLS 配置',
         'relay_port' => '中转端口',
     ],
     'node_auth' => [
         'attribute' => '节点授权',
         'key' => '通信密钥<small>节点用</small>',
-        'secret' => '反向通信密钥',
+        'secret' => '反向密钥',
     ],
     'node_cert' => [
-        'attribute' => '域名证书',
+        'attribute' => '证书',
         'domain' => '域名',
-        'key' => 'KEY',
-        'pem' => 'PEM',
+        'key' => '密钥',
+        'pem' => '证书',
         'issuer' => '签发机构',
-        'signed_date' => '签发日期',
-        'expired_date' => '到期时间',
+        'signed_date' => '颁发时间',
+        'expired_date' => '终止时间',
     ],
     'order' => [
         'attribute' => '订单',
         'id' => '订单号',
         'original_price' => '原价',
-        'price' => '实',
+        'price' => '实',
         'pay_way' => '支付方式',
-        'status' => '订单状态',
+        'status' => '状态',
     ],
     'goods' => [
         'attribute' => '商品',
@@ -130,26 +132,26 @@ return [
         'category' => '分类',
         'renew' => '流量重置价格',
         'user_limit' => '用户限速',
-        'period' => '重置周期',
-        'traffic' => '流量额度',
-        'invite_num' => '赠送邀请码数量',
+        'period' => '周期',
+        'traffic' => '流量',
+        'invite_num' => '赠送邀请码名额',
         'limit_num' => '限购数量',
         'available_date' => '有效期',
         'hot' => '热销',
         'color' => '颜色',
         'logo' => '商品图片',
-        'info' => '自定义列表',
+        'info' => '自定义信息',
     ],
     'rule' => [
         'attribute' => '规则',
         'name' => '描述',
-        'pattern' => '值',
+        'pattern' => '匹配值',
     ],
     'rule_group' => [
-        'attribute' => '规则组',
-        'name' => '分组名称',
-        'type' => '审计模式',
-        'rules' => '选择规则',
+        'attribute' => '规则组',
+        'name' => '名称',
+        'type' => '模式',
+        'rules' => '规则',
     ],
     'role' => [
         'attribute' => '角色',
@@ -157,24 +159,24 @@ return [
         'permissions' => '权限',
     ],
     'permission' => [
-        'attribute' => '权限行为',
-        'description' => '行为描述',
+        'attribute' => '权限',
+        'description' => '描述',
         'name' => '路由名称',
     ],
     'article' => [
         'attribute' => '文章',
-        'category' => '类',
+        'category' => '类',
         'language' => '语言',
-        'logo' => '头图',
-        'created_at' => '发布日期',
-        'updated_at' => '最后更新',
+        'logo' => '封面',
+        'created_at' => '发布时间',
+        'updated_at' => '更新时间',
     ],
     'coupon' => [
         'attribute' => '卡券',
-        'name' => '卡券名称',
-        'sn' => '使用券码',
-        'logo' => '卡券图片',
-        'value' => '优惠额度',
+        'name' => '名称',
+        'sn' => '卡号',
+        'logo' => '图片',
+        'value' => '面值',
         'priority' => '权重',
         'usable_times' => '使用次数',
         'minimum' => '满减条件',
@@ -183,31 +185,31 @@ return [
         'groups' => '分组限定',
         'users_whitelist' => '专属用户',
         'users_blacklist' => '禁用用户',
-        'services_whitelist' => '许商品',
+        'services_whitelist' => '许商品',
         'services_blacklist' => '禁用商品',
-        'newbie' => '新人专',
+        'newbie' => '新人专',
         'num' => '数量',
     ],
     'aff' => [
         'invitee' => '消费者',
         'amount' => '消费金额',
-        'commission' => '返利金额',
+        'commission' => '返利',
         'updated_at' => '处理时间',
         'created_at' => '下单时间',
     ],
     'referral' => [
         'created_at' => '申请时间',
         'user' => '申请账号',
-        'amount' => '申请提现金额',
-        'id' => '申请单ID',
+        'amount' => '申请金额',
+        'id' => '申请单',
     ],
     'notification' => [
-        'address' => '收地址',
+        'address' => '收地址',
         'created_at' => '投递时间',
-        'status' => '投递状态',
+        'status' => '状态',
     ],
     'ip' => [
-        'network_type' => '通讯类型',
+        'network_type' => '类型',
         'info' => '归属地',
     ],
     'user_traffic' => [
@@ -217,14 +219,14 @@ return [
         'log_time' => '记录时间',
     ],
     'user_data_modify' => [
-        'before' => '变前流量',
-        'after' => '变后流量',
-        'created_at' => '发生时间',
+        'before' => '变前流量',
+        'after' => '变后流量',
+        'created_at' => '变更时间',
     ],
     'user_credit' => [
-        'before' => '操作前余额',
-        'after' => '操作后金额',
-        'amount' => '发生金额',
-        'created_at' => '发生时间',
+        'before' => '变更前余额',
+        'after' => '变更后余额',
+        'amount' => '变更金额',
+        'created_at' => '变更时间',
     ],
 ];

+ 25 - 23
resources/lang/zh_CN/notification.php

@@ -1,35 +1,37 @@
 <?php
 
+declare(strict_types=1);
+
 return [
     'attribute' => '通知',
-    'new' => ':num条新消息',
-    'empty' => '目前未收到新消息',
-    'payment_received' => '订单支付成功,金额::amount,查看详情',
+    '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',
+    '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_block' => '节点阻断警告通知',
     'node_offline' => '节点离线警告',
-    'node_offline_content' => '以下节点存在异常:心跳异常,可能离线:',
-    'block_report' => '阻断日志:',
-    'traffic_warning' => '流量提醒',
-    'traffic_remain' => '流量已使用::percent%,请保持关注。',
-    'traffic_tips' => '请注意套餐流量重置日,合理分配流量使用或在流量耗尽后,付费重置套餐流量',
-    'verification_account' => '账号验证',
-    'verification' => '您的验证码:',
-    'verification_limit' => '请在:minutes分钟内完成验证操作',
+    '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]',
+    'data_anomaly_content' => '用户:id,最近1小时流量(上传:upload,下载:download,总计:total)',
     'node' => [
-        'upload' => '上传',
-        'download' => '下载',
-        'total' => '总',
+        'upload' => '上传流量',
+        'download' => '下载流量',
+        'total' => '总流量',
     ],
 ];

+ 11 - 9
resources/lang/zh_CN/user.php

@@ -1,5 +1,7 @@
 <?php
 
+declare(strict_types=1);
+
 return [
     'account' => [
         'credit' => '账户余额',
@@ -11,13 +13,13 @@ return [
         'time' => '套餐时长',
         'last_login' => '最近登录',
         'reset' => '{0} 还有 <code id="restTime">:days</code> 重置流量|[1,*] 还有 :days 天重置流量',
-        'connect_password' => '连接密码',
+        'connect_password' => '代理连接密码',
         'reason' => [
             'normal' => '账号一切正常',
             'expired' => '您的账号套餐已过期',
-            'overused' => '本时段使用流量超过 <code>:data</code> GB触发系统限制<br/> <code id="banedTime">:min</code> 后解除限制',
-            'traffic_exhausted' => '您的账号[流量]消耗殆尽',
-            'unknown' => '未知原因,请尝试[刷新]你的浏览器!多次无果后再请开工单联系管理',
+            'overused' => '本时段使用流量超过 <code>:data</code> GB触发限制<br/> <code id="banedTime">:min</code> 后解除',
+            'traffic_exhausted' => '您的[流量]消耗殆尽',
+            'unknown' => '未知原因,请尝试[刷新]浏览器!如问题持续请联系客服',
         ],
     ],
     'home' => [
@@ -83,8 +85,8 @@ return [
     'error_response' => '出现了错误,请稍后再试。',
     'invite' => [
         'attribute' => '邀请码',
-        'counts' => '共 <code>:num</code> 个邀请码',
-        'tips' => '可生成<strong> :num </strong>枚邀请码,:days 日内有效',
+        'counts' => '共计 <code>:num</code> 枚邀请码',
+        'tips' => '剩余 <strong>:num</strong> 枚可用邀请名额,邀请码创建后:days 日内有效',
         'logs' => '邀请记录',
         'promotion' => '通过您的邀请码注册并激活,你们双方都将获得<mark>:traffic</mark>流量奖励;当他们消费时,您将获得他们消费金额的<mark>:referral_percent%</mark>作为奖励。',
         'generate_failed' => '生成失败:已无邀请码生成名额',
@@ -99,7 +101,7 @@ return [
     ],
     'referral' => [
         'link' => '推广链接',
-        'total' => '合计返利 :amount( :total 次),满 :money 可以申请提现。',
+        'total' => '合计返利 :amount(:total 次),满 :money 可以申请提现。',
         'logs' => '佣金记录',
         'failed' => '申请失败',
         'success' => '申请成功',
@@ -176,7 +178,7 @@ return [
         'exchange_warning' => '更换订阅地址将导致:\n1.旧地址立即失效\n2.连接密码被更改',
         'custom' => '自定义订阅',
         'ss_only' => '只订阅SS',
-        'ssr_only' => '只订阅SSR (包含SS)',
+        'ssr_only' => '只订阅SSR(包含SS)',
         'v2ray_only' => '只订阅V2Ray',
         'trojan_only' => '只订阅Trojan',
         'error' => '更换订阅地址异常',
@@ -219,7 +221,7 @@ return [
     ],
     'manual' => [
         'red_packet' => '支付宝领红包',
-        'hint' => '扫码支付后, 请继续点击👇【下一步】,直到👇【提 交】才算正式支付完成!!',
+        'hint' => '扫码支付后请继续点击👇【下一步】,直到👇【提 交】才算正式支付完成!!',
         'step_1' => '须知',
         'step_1_title' => '如何正确人工支付',
         'step_2' => '支付',

+ 3 - 3
resources/views/admin/node/auth.blade.php

@@ -34,9 +34,9 @@
                         <tr>
                             <td> {{$auth->node_id}} </td>
                             <td> {{$auth->node->type_label}} </td>
-                            <td> {{Str::limit($auth->node->name, 20) ?? ''}} </td>
-                            <td> {{$auth->node->server ?? ''}} </td>
-                            <td> {{$auth->node->ip ?? ''}} </td>
+                            <td> {{Str::limit($auth->node->name, 20)}} </td>
+                            <td> {{$auth->node->server}} </td>
+                            <td> {{$auth->node->ip}} </td>
                             <td><span class="badge badge-lg badge-info"> {{$auth->key}} </span></td>
                             <td><span class="badge badge-lg badge-info"> {{$auth->secret}} </span></td>
                             <td>

+ 1 - 1
resources/views/admin/user/index.blade.php

@@ -22,7 +22,7 @@
                     <div class="panel-actions">
                         @can('admin.user.batch')
                             <button class="btn btn-outline-default" onclick="batchAddUsers()">
-                                <i class="icon wb-plus" aria-hidden="true"></i> {{ trans('admin.user.massive.button') }}
+                                <i class="icon wb-plus" aria-hidden="true"></i> {{ trans('common.generate') }}
                             </button>
                         @endcan
                         @can('admin.user.create')

+ 44 - 0
resources/views/auth/layouts.blade.php

@@ -4,6 +4,43 @@
     <link href="/assets/global/fonts/font-awesome/css/all.min.css" rel="stylesheet">
     <link href="/assets/css/login-v3.min.css" rel="stylesheet">
     @yield('css')
+    <style>
+        @media (max-width: 768px) {
+            #ad img {
+                width: 40vw;
+            }
+        }
+
+        @media (min-width: 768px) {
+            #ad img {
+                width: 30vw;
+            }
+        }
+
+        @media (min-width: 1200px) {
+            #ad img {
+                width: 20vw;
+            }
+        }
+
+        #ad {
+            position: fixed;
+            z-index: 9999;
+            left: 0;
+            bottom: 0;
+            background-color:rgba(255,255,255,0.80);
+        }
+
+        #ad img {
+            max-width: 300px;
+        }
+
+        #ad > button {
+            position: absolute;
+            right: 0;
+            top: 0;
+        }
+    </style>
 @endsection
 @section('body_class', 'page-login-v3 layout-full position-relative')
 @section('layout_content')
@@ -25,6 +62,13 @@
             </div>
         </div>
     @endif
+
+    @if (config('version.ads'))
+        <div id="ad" class="px-25 py-10">
+            <button class="btn btn-pure btn-outline-default icon wb-close" type="button" onclick="document.getElementById('ad').style.display = 'none'"></button>
+            {!! config('version.ads') !!}
+        </div>
+    @endif
     <div class="page vertical-align text-center cover-up" data-animsition-in="fade-in" data-animsition-out="fade-out">
         <div class="page-content vertical-align-middle">
             <div class="animation-slide-top animation-duration-1">

+ 1 - 1
resources/views/user/layouts.blade.php

@@ -205,7 +205,7 @@
             <div class="panel-body text-right">
                 <h5>{{trans('user.current_role')}}:{{Auth::getUser()->username}}</h5>
                 <button type="button" class="btn btn-danger btn-block mt-20" id="return_to_admin">
-                    {{trans('common.back').trans('user.menu.admin_dashboard')}}
+                    {{ trans('common.back_to', ['page' => trans('user.menu.admin_dashboard')]) }}
                 </button>
             </div>
         </div>