admin.php 40 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813
  1. <?php
  2. declare(strict_types=1);
  3. return [
  4. 'dashboard' => [
  5. 'users' => 'Total Users',
  6. 'available_users' => 'Active Users',
  7. 'paid_users' => 'Paying Users',
  8. 'active_days_users' => 'Active Users in the Last :days Days',
  9. 'inactive_days_users' => 'Inactive Users over :days Days',
  10. 'online_users' => 'Online Now',
  11. 'expiring_users' => 'Expiring Soon',
  12. 'overuse_users' => 'Data Overuse [≥90%] Users',
  13. 'abnormal_users' => 'Abnormal Traffic in the Last Hour',
  14. 'nodes' => 'Nodes',
  15. 'maintaining_nodes' => 'Nodes in Maintenance Mode',
  16. 'current_month_traffic_consumed' => 'Traffic Used This Month',
  17. 'days_traffic_consumed' => 'Traffic Used in the Last :days Days',
  18. 'orders' => 'Total Orders',
  19. 'online_orders' => 'Online Payment Orders',
  20. 'succeed_orders' => 'Paid Orders',
  21. 'credit' => 'Total Credit',
  22. 'withdrawing_commissions' => 'Pending Commissions',
  23. 'withdrawn_commissions' => 'Withdrawn Commissions',
  24. ],
  25. 'action' => [
  26. 'edit_item' => 'Edit :attribute',
  27. 'add_item' => 'Add :attribute',
  28. ],
  29. 'confirm' => [
  30. 'delete' => [0 => 'Do you want to delete :attributes', 1 => ']?'],
  31. 'continues' => 'Do you want to continue this action?',
  32. 'export' => 'Do you want to export all?',
  33. ],
  34. 'user_dashboard' => 'User Dashboard',
  35. 'menu' => [
  36. 'dashboard' => 'Dashboard',
  37. 'user' => [
  38. 'attribute' => 'Users',
  39. 'list' => 'User Management',
  40. 'oauth' => 'OAuth',
  41. 'group' => 'User Groups',
  42. 'credit_log' => 'Credit History',
  43. 'subscribe' => 'Subscriptions',
  44. ],
  45. 'rbac' => [
  46. 'attribute' => 'RBAC',
  47. 'permission' => 'Permissions',
  48. 'role' => 'Roles',
  49. ],
  50. 'customer_service' => [
  51. 'attribute' => 'Helpdesk',
  52. 'ticket' => 'Support Tickets',
  53. 'article' => 'Knowledge Base',
  54. 'marketing' => 'Message Broadcasting',
  55. ],
  56. 'node' => [
  57. 'attribute' => 'Nodes',
  58. 'list' => 'Node Management',
  59. 'auth' => 'API Authorization',
  60. 'cert' => 'Certificates',
  61. ],
  62. 'rule' => [
  63. 'attribute' => 'Audit Rules',
  64. 'list' => 'Rules',
  65. 'group' => 'Rule Groups',
  66. 'trigger' => 'Trigger Records',
  67. ],
  68. 'shop' => [
  69. 'attribute' => 'Shop',
  70. 'goods' => 'Products',
  71. 'coupon' => 'Coupons',
  72. 'order' => 'Orders',
  73. ],
  74. 'promotion' => [
  75. 'attribute' => 'Promote',
  76. 'invite' => 'Referrals',
  77. 'withdraw' => 'Withdraws',
  78. 'rebate_flow' => 'Rebate History',
  79. ],
  80. 'analysis' => [
  81. 'attribute' => 'Analytics',
  82. 'accounting' => 'Accounting',
  83. 'user_flow' => 'User Traffic Analysis',
  84. 'node_flow' => 'Node Traffic Analysis',
  85. 'site_flow' => 'Site Traffic Analysis',
  86. ],
  87. 'log' => [
  88. 'attribute' => 'Logs',
  89. 'traffic' => 'Data Usage',
  90. 'traffic_flow' => 'Data Flow',
  91. 'service_ban' => 'Ban Records',
  92. 'online_logs' => 'Online Logs',
  93. 'online_monitor' => 'Online Monitoring',
  94. 'notify' => 'Notifications',
  95. 'payment_callback' => 'Payment Callback',
  96. 'system' => 'System Logs',
  97. ],
  98. 'tools' => [
  99. 'attribute' => 'Toolkit',
  100. 'decompile' => 'Decompile',
  101. 'convert' => 'Convert',
  102. 'import' => 'Import',
  103. 'analysis' => 'Log Analysis',
  104. ],
  105. 'setting' => [
  106. 'attribute' => 'Settings',
  107. 'email_suffix' => 'Email Filters',
  108. 'universal' => 'General',
  109. 'system' => 'System',
  110. ],
  111. ],
  112. 'user' => [
  113. 'massive' => [
  114. 'text' => 'Batch Generate Account Quantity',
  115. 'failed' => 'User Generation Failed',
  116. 'succeed' => 'User Generated Successfully',
  117. 'note' => 'Batch generate user accounts in background',
  118. ],
  119. 'proxy_info' => 'Config Info',
  120. 'traffic_monitor' => 'Traffic Stats',
  121. 'online_monitor' => 'Online Monitoring',
  122. 'reset_traffic' => 'Reset Data',
  123. 'user_view' => 'Switch to User View',
  124. 'connection_test' => 'Connection Test',
  125. 'counts' => 'Total <code>:num</code> Accounts',
  126. 'reset_confirm' => [0 => 'Do you want to reset [', 1 => ']\'s traffic?'],
  127. 'info' => [
  128. 'account' => 'Account Info',
  129. 'proxy' => 'Proxy Info',
  130. 'switch' => 'Switch Identity',
  131. 'reset_date_hint' => 'Next data reset date',
  132. 'expired_date_hint' => 'Leave blank for a default validity of one year',
  133. 'uuid_hint' => 'UUID for V2Ray',
  134. 'recharge_placeholder' => 'If negative, deducts balance',
  135. ],
  136. 'update_help' => 'Update successful, go back?',
  137. 'proxies_config' => 'Connection Info for :username',
  138. 'group' => [
  139. 'title' => 'User Group Control<small> (A node can be in multiple groups, but the user can only belong to one group; for nodes visible/available to users, group has more priority than level)</small>',
  140. 'name' => 'Group Name',
  141. 'counts' => 'Total <code>:num</code> Groups',
  142. ],
  143. ],
  144. 'zero_unlimited_hint' => '0 or empty for unlimited',
  145. 'node' => [
  146. 'traffic_monitor' => 'Traffic Stats',
  147. 'refresh_geo' => 'Refresh Geography',
  148. 'connection_test' => 'Connectivity Test',
  149. 'counts' => 'Total <code> :num </code> Nodes',
  150. 'reload_all' => 'Reload All Backends',
  151. 'refresh_geo_all' => 'Refresh Geo Data',
  152. 'reload_confirm' => 'Do you want to reload the server backend?',
  153. 'info' => [
  154. 'hint' => '<strong>Note:</strong> The auto-generated <code>ID</code> is the <code>node_id</code> for ShadowsocksR backend and <code>nodeId</code> for V2Ray backend',
  155. 'basic' => 'Basic Information',
  156. 'ddns_hint' => 'Dynamic IP nodes require <a href="https://github.com/NewFuture/DDNS" target="_blank">DDNS configuration</a>. For this type of node, Connectivity Test will be conducted through domain names.',
  157. 'domain_placeholder' => 'Server domain, will use first if filled',
  158. 'domain_hint' => 'After enabling the DDNS in system settings, the domain name and the IPs will automatically update! You no longer need to edit this information at the domain registrar website.',
  159. 'extend' => 'Extended Info',
  160. 'display' => [
  161. 'invisible' => 'Invisible',
  162. 'node' => 'Visible only in Node Page',
  163. 'sub' => 'Visible only in Subscriptions',
  164. 'all' => 'Fully Visible',
  165. 'hint' => 'Whether visible in subscription/node list',
  166. ],
  167. 'ipv4_hint' => 'Multiple IPs should be separated by commas in English, for example: 1.1.1.1,8.8.8.8',
  168. 'ipv6_hint' => 'Multiple ips should be separated by commas in English, for example: 1.1.1.1,8.8.8.8',
  169. 'ipv4_placeholder' => 'Server IPv4 Address',
  170. 'ipv6_placeholder' => 'Server IPv6 Address',
  171. 'push_port_hint' => 'Required. Make sure this port is opened in the server firewall, otherwise message push will be abnormal.',
  172. 'data_rate_hint' => 'E. g. 0.1 means 100M will be count as 10M; 5 means 100M will be count as 500M',
  173. 'level_hint' => 'Level: 0 - No level restriction, all visible.',
  174. 'detection' => [
  175. 'tcp' => 'Only TCP',
  176. 'icmp' => 'Only ICMP',
  177. 'all' => 'Both',
  178. 'hint' => 'Random check every 30-60 mins',
  179. ],
  180. 'obfs_param_hint' => 'Fill in parameters for traffic masquerading if obfs is not [plain]; &#13;&#10;Suggest port 80 if obfs is [http_simple]; &#13;&#10;Suggest port 443 if obfs is [tls];',
  181. 'additional_ports_hint' => 'If enabled, please configure server <span class="red-700"><a href="javascript:showTnc();">additional_ports</a></span>',
  182. 'v2_method_hint' => 'WebSocket transmission protocol should not use \'none\' encryption method.',
  183. 'v2_net_hint' => 'Please enable TLS for WebSocket',
  184. 'v2_cover' => [
  185. 'none' => 'None',
  186. 'http' => 'HTTP',
  187. 'srtp' => 'SRTP',
  188. 'utp' => 'uTP',
  189. 'wechat' => 'WeChat Video',
  190. 'dtls' => 'DTLS 1.2',
  191. 'wireguard' => 'WireGuard',
  192. ],
  193. 'v2_host_hint' => 'When using HTTP camouflage, multiple domains should be separated by commas, while WebSocket only allows a single domain.',
  194. 'v2_tls_provider_hint' => 'Different backends have different configs:',
  195. 'single_hint' => 'Recommended port 80/443. Backend needs <br> strict mode config: only connect via specified ports. (<a href="javascript:showPortsOnlyConfig();">How to configure</a>)',
  196. ],
  197. 'proxy_info' => '*Compatible with the Shadowsocks',
  198. 'proxy_info_hint' => 'For compatibility, please add <span class="red-700">_compatible</span> to protocol and obfuscation in server config',
  199. 'reload' => 'Reload Backend',
  200. 'auth' => [
  201. 'title' => 'API Authorizations <small>WEBAPI</small>',
  202. 'deploy' => [
  203. 'title' => 'Deploy :type_label Backend',
  204. 'attribute' => 'Backend Deployment',
  205. 'command' => 'Instructions',
  206. 'update' => 'Update',
  207. 'uninstall' => 'Uninstall',
  208. 'start' => 'Start',
  209. 'stop' => 'Stop',
  210. 'status' => 'Status',
  211. 'recent_logs' => 'Recent Logs',
  212. 'real_time_logs' => 'Real-time Logs',
  213. 'restart' => 'Restart',
  214. 'same' => 'Same Above',
  215. 'trojan_hint' => 'Please fill in </a>the node name<a href=":url" target="_blank">and parse to the corresponding IP',
  216. ],
  217. 'reset_auth' => 'Reset Authorization Key',
  218. 'counts' => 'Total <code>:num</code> Licenses',
  219. 'generating_all' => 'Confirm to generate authorization keys for all nodes?',
  220. ],
  221. 'cert' => [
  222. 'title' => 'Domain Certs <small>(For V2Ray node spoofing)</small>',
  223. 'counts' => 'Total <code>:num</code> Domain Certificates',
  224. 'key_placeholder' => 'The KEY value of the certificate can be left empty. VNET-V2Ray backend supports auto-issue',
  225. 'pem_placeholder' => 'VNET-V2Ray backend supports auto-issuer',
  226. ],
  227. ],
  228. 'hint' => 'Hint',
  229. 'oauth' => [
  230. 'title' => 'OAuth',
  231. 'counts' => 'Total <code>:num</code> Authorization Records',
  232. ],
  233. 'select_all' => 'Select All',
  234. 'clear' => 'Clear',
  235. 'unselected_hint' => 'Rules to be allocated can be searched here',
  236. 'selected_hint' => 'The allocated rules can be searched here',
  237. 'clone' => 'Clone',
  238. 'monitor' => [
  239. 'daily_chart' => 'Daily Traffic Usage',
  240. 'monthly_chart' => 'Monthly Traffic Usage',
  241. 'node' => 'Node Traffic',
  242. 'user' => 'User Traffic',
  243. 'hint' => '<strong>Hint:</strong> Check scheduled tasks if no data',
  244. ],
  245. 'tools' => [
  246. 'analysis' => [
  247. 'title' => 'SSR Log Analysis <small>For single node</small>',
  248. 'req_url' => 'Recent Request URL Records',
  249. 'not_enough' => 'Less than 15,000 records, unable to analyze',
  250. ],
  251. 'convert' => [
  252. 'title' => 'Format Conversion <small>SS to SSR</small>',
  253. 'content_placeholder' => 'Please fill in the configuration information that needs to be converted.',
  254. ],
  255. 'decompile' => [
  256. 'title' => 'Decompile <small>Config Info</small>',
  257. 'attribute' => 'Reverse Parsing Configuration Link',
  258. 'content_placeholder' => 'Please fill in the ShadowsocksR links that need to be reverse-parsed, separated by line breaks.',
  259. ],
  260. ],
  261. 'ticket' => [
  262. 'title' => 'Tickets',
  263. 'counts' => 'Total <code>:num</code> Tickets',
  264. 'send_to' => 'Please fill in target user details',
  265. 'user_info' => 'User Info',
  266. 'inviter_info' => 'Inviter Info',
  267. 'close_confirm' => 'Do you want to close this ticket?',
  268. 'error' => 'Unknown error! Please check logs',
  269. ],
  270. 'logs' => [
  271. 'subscribe' => 'Subscriptions',
  272. 'counts' => 'Total <code>:num</code> Records',
  273. 'rule' => [
  274. 'clear_all' => 'Clear all records',
  275. 'title' => 'Rule Trigger Records',
  276. 'name' => 'Triggered Rule Name',
  277. 'reason' => 'Trigger Reason',
  278. 'created_at' => 'Trigger Time',
  279. 'tag' => '✅ Accessing Unauthorized Content',
  280. 'clear_confirm' => 'Do you want to clear all trigger records?',
  281. ],
  282. 'order' => [
  283. 'title' => 'Orders',
  284. 'is_expired' => 'Expired',
  285. 'is_coupon' => 'Used Coupon',
  286. ],
  287. 'user_traffic' => [
  288. 'title' => 'Data Usage Records',
  289. 'choose_node' => 'Select Node',
  290. ],
  291. 'user_data_modify_title' => 'Data Change Records',
  292. 'callback' => 'Callback Logs <small>(Payment)</small>',
  293. 'notification' => 'Email Logs',
  294. 'ip_monitor' => 'Online IPs <small>Real-time 2 mins</small>',
  295. 'user_ip' => [
  296. 'title' => 'Online IPs <small>Last 10 mins</small>',
  297. 'connect' => 'Connected IP',
  298. ],
  299. 'ban' => [
  300. 'title' => 'User Bans',
  301. 'time' => 'Duration',
  302. 'reason' => 'Reason',
  303. 'ban_time' => 'Banned On',
  304. 'last_connect_at' => 'Last Login Time',
  305. ],
  306. 'credit_title' => 'Balance Change Logs',
  307. ],
  308. 'start_time' => 'Start',
  309. 'end_time' => 'End',
  310. 'goods' => [
  311. 'title' => 'Products',
  312. 'type' => [
  313. 'top_up' => 'Top Up',
  314. 'package' => 'Data Package',
  315. 'plan' => 'Subscription Plan',
  316. ],
  317. 'info' => [
  318. 'type_hint' => 'Plan affects account expiration, Package only deducts data, does not affect expiration',
  319. 'period_hint' => 'Data allowance resets every N days for plans',
  320. 'limit_num_hint' => 'Max number of purchases per user, 0 for unlimited',
  321. 'available_date_hint' => 'Auto deduct data from total when due',
  322. 'desc_placeholder' => 'Brief description',
  323. 'list_placeholder' => 'Add custom content',
  324. 'list_hint' => 'Start each line with <code><li></code> and end with <code></li></code>',
  325. ],
  326. 'status' => [
  327. 'yes' => 'On Sale',
  328. 'no' => 'Off Sale',
  329. ],
  330. 'sell_and_used' => 'Used / Sold',
  331. 'counts' => 'Total <code>:num</code> Items',
  332. ],
  333. 'sort_asc' => 'Larger sort value has higher priority',
  334. 'yes' => 'Yes',
  335. 'no' => 'No',
  336. 'rule' => [
  337. 'type' => [
  338. 'reg' => 'Regex',
  339. 'domain' => 'Domain',
  340. 'ip' => 'IP',
  341. 'protocol' => 'Protocol',
  342. ],
  343. 'counts' => 'Total <code>:num</code> Rules',
  344. 'title' => 'Rules',
  345. 'group' => [
  346. 'type' => [
  347. 'off' => 'Block',
  348. 'on' => 'Allow',
  349. ],
  350. 'title' => 'Rule Groups',
  351. 'counts' => 'Total <code>:num</code> Groups',
  352. ],
  353. ],
  354. 'role' => [
  355. 'name_hint' => 'Unique identifier, e.g. admin',
  356. 'description_hint' => 'Display name, e.g. Administrator',
  357. 'title' => 'Roles',
  358. 'permissions_all' => 'All Permissions',
  359. 'counts' => 'Total <code>:num</code> Roles',
  360. ],
  361. 'report' => [
  362. 'daily_accounting' => 'Daily Transactions',
  363. 'monthly_accounting' => 'Monthly Transactions',
  364. 'annually_accounting' => 'Annual Transactions',
  365. 'daily_site_flow' => 'Daily Traffic Consumption',
  366. 'monthly_site_flow' => 'Monthly Traffic Consumption',
  367. 'annually_site_flow' => 'Annual Traffic Consumption',
  368. 'current_month' => 'This Month',
  369. 'last_month' => 'Last Month',
  370. 'current_year' => 'This Year',
  371. 'last_year' => 'Last Year',
  372. 'hourly_traffic' => 'Hourly Traffic',
  373. 'daily_traffic' => 'Daily Traffic',
  374. 'daily_distribution' => 'Daily distribution',
  375. 'today' => 'Today',
  376. 'avg_traffic_30d' => 'Avg Daily Traffic Over 30 Days',
  377. 'sum_traffic_30d' => '30-Day Traffic Ratio',
  378. 'select_hourly_date' => 'Select Hourly Date',
  379. ],
  380. 'permission' => [
  381. 'title' => 'Permissions',
  382. 'description_hint' => 'Description, e.g. [X system] Edit A',
  383. 'name_hint' => 'Route name, e.g. admin.user.update',
  384. 'counts' => 'Total <code>:num</code> Permissions',
  385. ],
  386. 'marketing' => [
  387. 'push_send' => 'Send Notification',
  388. 'email_send' => 'Send Email',
  389. 'email' => [
  390. 'targeted_users_count' => 'Targeted Users Count',
  391. 'loading_statistics' => 'Loading Statistics...',
  392. 'filters' => 'Filters',
  393. 'expired_date' => 'Expired Date',
  394. 'will_expire_date' => 'Will Expire Date',
  395. 'traffic_usage_over' => 'Traffic Usage Over N%',
  396. 'recently_active' => 'Recently Active',
  397. 'paid_servicing' => 'Paid Servicing',
  398. 'previously_paid' => 'Used to Pay',
  399. 'ever_paid' => 'Ever Paid',
  400. 'never_paid' => 'Never Paid',
  401. 'recent_traffic_abnormal' => 'Traffic Abnormal in Last Hour',
  402. ],
  403. 'counts' => 'Total <code>:num</code> Emails',
  404. 'send_status' => 'Send Status',
  405. 'send_time' => 'Sent On',
  406. 'error_message' => 'Error Messages',
  407. 'processed' => 'Request Processed',
  408. 'targeted_users_not_found' => 'Targeted Users Not Found',
  409. 'unknown_sending_type' => 'Unknown Sending Type',
  410. ],
  411. 'creating' => 'Adding...',
  412. 'article' => [
  413. 'type' => [
  414. 'knowledge' => 'Article',
  415. 'announcement' => 'Announcement',
  416. ],
  417. 'category_hint' => 'Same category will be grouped together',
  418. 'logo_placeholder' => 'Or enter logo URL',
  419. 'title' => 'Articles',
  420. 'counts' => 'Total <code>:num</code> Articles',
  421. ],
  422. 'coupon' => [
  423. 'title' => 'Coupons',
  424. 'name_hint' => 'For display',
  425. 'sn_hint' => 'Leave blank for 8-digit random code',
  426. 'type' => [
  427. 'voucher' => 'Voucher',
  428. 'discount' => 'Discount',
  429. 'charge' => 'Recharge',
  430. ],
  431. 'type_hint' => 'Reduction: deduct amount; Discount: percentage off; Recharge: add amount to balance',
  432. 'value' => '{1} ➖ :num|{2} :num% off|{3} ➕ :num',
  433. 'value_hint' => 'Range is 1% to 99%',
  434. 'priority_hint' => 'Highest eligible priority coupon used first. Max 255',
  435. 'minimum_hint' => 'Only usable when payment exceeds <strong>:num</strong>',
  436. 'used_hint' => 'Each user can use this <strong>:num</strong> times max',
  437. 'levels_hint' => 'Only usable for selected user levels',
  438. 'groups_hint' => 'Only usable for selected user groups',
  439. 'users_placeholder' => 'Enter user ID, press Enter',
  440. 'user_whitelist_hint' => 'Whitelisted users can use, leave blank if unused',
  441. 'users_blacklist_hint' => 'Blacklisted users cannot use, leave blank if unused',
  442. 'services_placeholder' => 'Enter product ID, press Enter',
  443. 'services_whitelist_hint' => 'Only usable for whitelisted products, leave blank if unused',
  444. 'services_blacklist_hint' => 'Not usable for blacklisted products, leave blank if unused',
  445. 'newbie' => [
  446. 'first_discount' => 'First-time Discount',
  447. 'first_order' => 'First Order',
  448. 'created_days' => 'Account Age',
  449. ],
  450. 'created_days_hint' => '<code>:day</code> days after registration',
  451. 'limit_hint' => 'Rules have <strong>AND</strong> relation, use properly',
  452. 'info_title' => 'Info',
  453. 'counts' => 'Total <code>:num</code> Coupons',
  454. 'discount' => 'Discount',
  455. 'export_title' => 'Export',
  456. 'single_use' => 'One-time Use',
  457. ],
  458. 'times' => 'Times',
  459. 'massive_export' => 'Batch Export',
  460. 'system_generate' => 'System Generated',
  461. 'aff' => [
  462. 'rebate_title' => 'Rebate History',
  463. 'counts' => 'Total <code>:num</code> Records',
  464. 'title' => 'Withdraw Requests',
  465. 'apply_counts' => 'Total <code>:num</code> Withdrawal Requests',
  466. 'referral' => 'Referral Rebates',
  467. 'commission_title' => 'Request Details',
  468. 'commission_counts' => 'This application involves a total of <code>:num</code> orders',
  469. ],
  470. 'setting' => [
  471. 'common' => [
  472. 'title' => 'General Config',
  473. 'set_default' => 'Set as Default',
  474. 'connect_nodes' => '# of Nodes',
  475. ],
  476. 'email' => [
  477. 'title' => 'Email Filters <small>(for registration)</small>',
  478. 'tail' => 'Email Suffix',
  479. 'rule' => 'Restriction Type',
  480. 'black' => 'Blacklist',
  481. 'white' => 'Whitelist',
  482. 'tail_placeholder' => 'Enter email suffix',
  483. ],
  484. 'system' => [
  485. 'title' => 'System Settings',
  486. 'web' => 'General',
  487. 'account' => 'Account',
  488. 'node' => 'Node',
  489. 'extend' => 'Advanced',
  490. 'check_in' => 'Check-in',
  491. 'promotion' => 'Affiliate',
  492. 'notify' => 'Notification',
  493. 'auto_job' => 'Automation',
  494. 'other' => 'Logo|CS|Analytics',
  495. 'payment' => 'Payment',
  496. 'menu' => 'Menu',
  497. ],
  498. 'no_permission' => 'No permission to change settings!',
  499. ],
  500. 'system' => [
  501. 'account_expire_notification' => 'Account Expiration Notice',
  502. 'active_times' => 'Max Account Activations',
  503. 'admin_invite_days' => '[Admin] Invitation Expiration',
  504. 'aff_salt' => '[Referral URL] Encrypt User ID',
  505. 'alipay_qrcode' => 'Alipay QR Code',
  506. 'AppStore_id' => '[Apple] Account',
  507. 'AppStore_password' => '[Apple] Password',
  508. 'auto_release_port' => 'Port Recycle',
  509. 'bark_key' => '[Bark] Device Key',
  510. 'captcha_key' => 'Captcha Key',
  511. 'captcha_secret' => 'Captcha Secret/ID',
  512. 'codepay_id' => '[CodePay] ID',
  513. 'codepay_key' => '[CodePay] Key',
  514. 'codepay_url' => '[CodePay] URL',
  515. 'data_anomaly_notification' => 'Data Anomaly Notice',
  516. 'data_exhaust_notification' => 'Data Exhaustion Notice',
  517. 'ddns_key' => '[DNS] Key',
  518. 'ddns_mode' => 'DNS Sync',
  519. 'ddns_secret' => '[DNS] Secret',
  520. 'default_days' => 'Default Account Time',
  521. 'default_traffic' => 'Default Initial Data',
  522. 'detection_check_times' => 'Node Block Alerts',
  523. 'dingTalk_access_token' => '[DingTalk] Access Token',
  524. 'dingTalk_secret' => '[DingTalk] Secret',
  525. 'epay_key' => '[ePay] Key',
  526. 'epay_mch_id' => '[ePay] Merchant ID',
  527. 'epay_url' => '[ePay] URL',
  528. 'expire_days' => 'Expiration Warning',
  529. 'f2fpay_app_id' => '[Alipay] APP ID',
  530. 'f2fpay_private_key' => '[Alipay] Private Key',
  531. 'f2fpay_public_key' => '[Alipay] Public Key',
  532. 'forbid_mode' => 'Access Restriction',
  533. 'invite_num' => 'Default Invitations',
  534. 'is_activate_account' => 'Account Activation',
  535. 'is_AliPay' => 'Alipay',
  536. 'is_ban_status' => 'Expiration Ban',
  537. 'is_captcha' => 'Captcha',
  538. 'is_checkin' => 'Check-in Reward',
  539. 'is_clear_log' => 'Clean Logs',
  540. 'is_custom_subscribe' => 'Advanced Subscription',
  541. 'is_email_filtering' => 'Email Filtering for User Registration',
  542. 'is_forbid_robot' => 'Forbid Bots',
  543. 'is_free_code' => 'Free Invitation Codes',
  544. 'is_invite_register' => 'Invitation to Register',
  545. 'is_otherPay' => 'Custom Payment',
  546. 'is_QQPay' => 'QQ Pay',
  547. 'is_rand_port' => 'Random Port',
  548. 'is_register' => 'Registration',
  549. 'is_subscribe_ban' => 'Subscription Ban',
  550. 'is_traffic_ban' => 'Data Abuse Ban',
  551. 'is_WeChatPay' => 'WeChat Pay',
  552. 'iYuu_token' => '[IYUU] Token',
  553. 'maintenance_content' => 'Maintenance Notice',
  554. 'maintenance_mode' => 'Maintenance Mode',
  555. 'maintenance_time' => 'Maintenance End',
  556. 'min_port' => 'Port Range',
  557. 'min_rand_traffic' => 'Data Range',
  558. 'node_blocked_notification' => 'Node Blocked Notice',
  559. 'node_daily_notification' => 'Daily Node Report',
  560. 'node_offline_notification' => 'Node Offline Notice',
  561. 'oauth_path' => 'OAuth Platforms',
  562. 'offline_check_times' => 'Offline Notifications',
  563. 'password_reset_notification' => 'Reset Password Notice',
  564. 'paybeaver_app_id' => '[PayBeaver] App ID',
  565. 'paybeaver_app_secret' => '[PayBeaver] App Secret',
  566. 'payjs_key' => '[PayJs] Key',
  567. 'payjs_mch_id' => '[PayJs] Merchant ID',
  568. 'payment_confirm_notification' => 'Manual Payment Confirmation',
  569. 'payment_received_notification' => 'Payment Success Notice',
  570. 'paypal_app_id' => 'App ID',
  571. 'paypal_client_id' => 'Client ID',
  572. 'paypal_client_secret' => 'Client Secret',
  573. 'pushDeer_key' => '[PushDeer] Key',
  574. 'pushplus_token' => '[PushPlus] Token',
  575. 'rand_subscribe' => 'Random Subscription',
  576. 'redirect_url' => 'Redirect URL',
  577. 'referral_money' => 'Min Withdrawal Limit',
  578. 'referral_percent' => 'Rebate Percentage',
  579. 'referral_status' => 'Affiliate',
  580. 'referral_traffic' => 'Registration Bonus',
  581. 'referral_type' => 'Rebate Type',
  582. 'register_ip_limit' => 'Registration IP Limit',
  583. 'reset_password_times' => 'Reset Limit',
  584. 'reset_traffic' => 'Auto Reset Data',
  585. 'server_chan_key' => '[ServerChan] SCKEY',
  586. 'standard_currency' => 'Primary Currency',
  587. 'stripe_public_key' => 'Public Key',
  588. 'stripe_secret_key' => 'Secret Key',
  589. 'stripe_signing_secret' => 'Webhook Secret',
  590. 'subject_name' => 'Custom Product Name',
  591. 'subscribe_ban_times' => 'Subscription Limit',
  592. 'subscribe_domain' => 'Subscription URL',
  593. 'subscribe_max' => 'Max Subscription Nodes',
  594. 'telegram_token' => 'Telegram Token',
  595. 'tg_chat_token' => 'TG Chat Token',
  596. 'theadpay_key' => '[THeadPay] Key',
  597. 'theadpay_mchid' => '[THeadPay] Merchant ID',
  598. 'theadpay_url' => '[THeadPay] URL',
  599. 'ticket_closed_notification' => 'Ticket Closed Notice',
  600. 'ticket_created_notification' => 'Ticket Creation Notice',
  601. 'ticket_replied_notification' => 'Ticket Reply Notice',
  602. 'traffic_ban_time' => 'Ban Duration',
  603. 'traffic_ban_value' => 'Data Abuse Threshold',
  604. 'traffic_limit_time' => 'Check-in Interval',
  605. 'traffic_warning_percent' => 'Data Usage Warning',
  606. 'trojan_license' => 'Trojan License',
  607. 'username_type' => 'Account Username Type',
  608. 'user_invite_days' => '[User] Invitation Expiry',
  609. 'v2ray_license' => 'V2Ray License',
  610. 'v2ray_tls_provider' => 'V2Ray TLS Config',
  611. 'webmaster_email' => 'Admin Email',
  612. 'website_analytics' => 'Analytics Code',
  613. 'website_callback_url' => 'Payment Callback Domain',
  614. 'website_customer_service' => 'CS Code',
  615. 'website_home_logo' => 'Homepage Logo',
  616. 'website_logo' => 'Inner Page Logo',
  617. 'website_name' => 'Site Name',
  618. 'website_security_code' => 'Security Code',
  619. 'website_url' => 'Site Domain',
  620. 'web_api_url' => 'API Domain',
  621. 'wechat_aid' => 'WeChat AID',
  622. 'wechat_cid' => 'WeChat CID',
  623. 'wechat_encodingAESKey' => 'WeChat Encoding Key',
  624. 'wechat_qrcode' => 'WeChat QR Code',
  625. 'wechat_secret' => 'WeChat Secret',
  626. 'wechat_token' => 'WeChat Token',
  627. 'hint' => [
  628. 'account_expire_notification' => 'Notify expiration',
  629. 'active_times' => 'Via email in 24 hours',
  630. 'admin_invite_days' => 'Admin invitation expiration',
  631. 'aff_salt' => 'Encryption salt for referral URL',
  632. 'AppStore_id' => 'Used in articles',
  633. 'AppStore_password' => 'Used in articles',
  634. 'auto_release_port' => 'Auto release port after being banned/expired for <code>'.config('tasks.release_port').'</code> days',
  635. 'bark_key' => 'Device key for iOS push',
  636. 'captcha_key' => 'Browse <a href="https://proxypanel.gitbook.io/wiki/captcha" target="_blank">setup guide</a>',
  637. 'data_anomaly_notification' => 'Notify admin when hourly data exceeds threshold',
  638. 'data_exhaust_notification' => 'Notify when data is running out',
  639. 'ddns_key' => 'Browse<a href="https://proxypanel.gitbook.io/wiki/ddns" target="_blank">Setup Guide</a>to set up',
  640. 'ddns_mode' => 'Sync domain & IP changes to DNS provider',
  641. 'default_days' => 'Default expiration for new accounts, 0 means expire today',
  642. 'default_traffic' => 'Default data for new accounts',
  643. 'detection_check_times' => 'Auto offline node after N alerts, 0 for unlimited, max 12',
  644. 'dingTalk_access_token' => 'Custom bot <a href=https://open.dingtalk.com/document/group/custom-robot-access#title-jfe-yo9-jl2 target=_blank>access token</a>',
  645. 'dingTalk_secret' => 'Custom bot secret when enabled sign',
  646. 'expire_days' => 'Start account expiration notice',
  647. 'f2fpay_app_id' => 'Alipay APPID',
  648. 'f2fpay_private_key' => 'Alipay private key from secret key tool',
  649. 'f2fpay_public_key' => 'Not the APP public key!',
  650. 'forbid_mode' => 'Block access from specified regions',
  651. 'invite_num' => 'Default number of invitations per user',
  652. 'is_activate_account' => 'Require activation via email',
  653. 'is_ban_status' => '(Caution) Ban account will reset all user data',
  654. 'is_captcha' => 'Require captcha to login/register if enabled',
  655. 'is_checkin' => 'Random reward when check-in',
  656. 'is_clear_log' => '(Recommended) Auto clean useless/outdated logs when enabled',
  657. 'is_custom_subscribe' => 'Show expiration & data left on subscription list when enabled',
  658. 'is_email_filtering' => 'Blacklist: Users can register with email suffixes not in the blacklist; Whitelist: Users must register with email suffixes in the whitelist',
  659. 'is_forbid_robot' => 'Return 404 error if accessed by bots/proxies',
  660. 'is_free_code' => 'Hide free invite codes if disabled',
  661. 'is_rand_port' => 'Random port when add/register user',
  662. 'is_register' => 'Disable registration if unchecked',
  663. 'is_subscribe_ban' => 'Auto ban if subscription requests exceed threshold',
  664. 'is_traffic_ban' => 'Auto disable service if data exceeds threshold in 1 hour',
  665. 'iYuu_token' => 'Fill <a href=https://iyuu.cn target=_blank>IYUU token</a> before enabling',
  666. 'maintenance_content' => 'Custom maintenance announcement',
  667. 'maintenance_mode' => "Redirect normal users to maintenance page if enabled| Admin can login via <a href='javascript:(0)'>:url</a>",
  668. 'maintenance_time' => 'For maintenance page countdown',
  669. 'min_port' => 'Port range 1000 - 65535',
  670. 'node_blocked_notification' => 'Detect node block hourly, notify admins',
  671. 'node_daily_notification' => 'Daily node usage report',
  672. 'node_offline_notification' => 'Detect offline every 10 mins, notify if any node is offline',
  673. 'oauth_path' => 'Please enable platforms in .ENV first',
  674. 'offline_check_times' => 'Stop notification after N alerts in 24 hours',
  675. 'password_reset_notification' => 'Allow password reset via email if enabled',
  676. 'paybeaver_app_id' => '<a href="https://merchant.paybeaver.com/" target="_blank">Merchant Center</a> -> Developer -> App ID',
  677. 'paybeaver_app_secret' => '<a href="https://merchant.paybeaver.com/" target="_blank">Merchant Center</a> -> Developer -> App Secret',
  678. 'payjs_mch_id' => 'Get from <a href="https://payjs.cn/dashboard/member" target="_blank">member page</a>',
  679. 'payment_confirm_notification' => 'Notify admin to process manual payment orders',
  680. 'payment_received_notification' => 'Notify user when payment received',
  681. 'pushDeer_key' => 'Fill <a href=https://www.pushdeer.com/official.html target=_blank>PushDeer Push Key</a> before enabling',
  682. 'pushplus_token' => 'Fill <a href=https://www.pushplus.plus/push1.html target=_blank>PushPlus Token</a> before enabling',
  683. 'rand_subscribe' => 'Random order if enabled, otherwise by node list order',
  684. 'redirect_url' => 'Redirect blocked requests to this URL when rules triggered',
  685. 'referral_money' => 'The minimum amount that can be withdrawn',
  686. 'referral_percent' => 'The percentage of order amount the referrer gets',
  687. 'referral_status' => 'Close referral system without affecting existing data',
  688. 'referral_traffic' => 'Give free data traffic when registered via referral',
  689. 'referral_type' => 'New rebates calculated by new mode after switching',
  690. 'register_ip_limit' => 'Number of registrations allowed per IP in 24 hours, 0 for unlimited',
  691. 'reset_password_times' => 'Number of password resets allowed via email in 24 hours',
  692. 'reset_traffic' => 'Automatically reset data based on user plan cycle',
  693. 'server_chan_key' => 'Fill in <a href="https://sct.ftqq.com/r/2626" target="_blank">ServerChan SCKEY</a> before enabling',
  694. 'standard_currency' => 'Primary currency used in panel',
  695. 'subject_name' => 'Custom product name in payment gateways',
  696. 'subscribe_ban_times' => 'Maximum subscription requests allowed per user in 24 hours',
  697. 'subscribe_domain' => 'Start with http:// or https:// to avoid DNS poisoning failure',
  698. 'subscribe_max' => 'Max number of nodes returned in subscription list, 0 for all',
  699. 'telegram_token' => 'Get robot <a href=https://t.me/BotFather target=_blank>TOKEN</a> from @BotFather',
  700. 'tg_chat_token' => 'Fill <a href=https://t.me/realtgchat_bot target=_blank>TG Chat token</a> before enabling',
  701. 'ticket_closed_notification' => 'Notify user when ticket is closed',
  702. 'ticket_created_notification' => 'Notify manager/user depending on creator',
  703. 'ticket_replied_notification' => 'Notify the other party when ticket replied',
  704. 'traffic_ban_time' => 'Duration of auto ban for exceptions',
  705. 'traffic_ban_value' => 'Trigger auto account ban if exceeds this value in 1 hour',
  706. 'traffic_limit_time' => 'Time interval between check-ins',
  707. 'traffic_warning_percent' => 'Send traffic exhaustion notice when daily usage reaches this percentage',
  708. 'username_type' => 'Default username type for users',
  709. 'user_invite_days' => 'Expiration of user-generated invitation codes',
  710. 'v2ray_tls_provider' => 'Node settings override this TLS config',
  711. 'webmaster_email' => 'Contact email shown in some error messages',
  712. 'website_analytics' => 'Analytics JavaScript code',
  713. 'website_callback_url' => 'Prevent payment callback failure due to DNS poisoning',
  714. 'website_customer_service' => 'Customer service JavaScript code',
  715. 'website_name' => 'Website name in emails',
  716. 'website_security_code' => 'Require security code to access site if set',
  717. 'website_url' => 'Main domain used for links',
  718. 'web_api_url' => 'E.g. '.config('app.url'),
  719. 'wechat_aid' => '<a href="https://work.weixin.qq.com/wework_admin/frame#apps" target="_blank">App Management</a> -> AgentId',
  720. 'wechat_cid' => 'Get from <a href="https://work.weixin.qq.com/wework_admin/frame#profile" target="_blank">Enterprise Info</a>',
  721. 'wechat_encodingAESKey' => 'App Management -> App Settings -> EncodingAESKey',
  722. 'wechat_secret' => 'App secret (need enterprise WeChat to view)',
  723. 'wechat_token' => 'App Settings -> TOKEN, callback URL: :url',
  724. ],
  725. 'placeholder' => [
  726. 'default_url' => 'Default as :url',
  727. 'server_chan_key' => 'Fill ServerChan SCKEY then click Update',
  728. 'pushDeer_key' => 'Fill PushDeer Push Key then click Update',
  729. 'iYuu_token' => 'Fill IYUU token then click Update',
  730. 'bark_key' => 'Fill Bark device key then click Update',
  731. 'telegram_token' => 'Fill Telegram token then click Update',
  732. 'pushplus_token' => 'Please apply at ServerChan',
  733. 'dingTalk_access_token' => 'Custom bot access token',
  734. 'dingTalk_secret' => 'Custom bot secret after signing',
  735. 'wechat_aid' => 'WeChat Enterprise App AID',
  736. 'wechat_cid' => 'Fill WeChat CID then click Update',
  737. 'wechat_secret' => 'WeChat Enterprise App secret',
  738. 'tg_chat_token' => 'Please apply at Telegram',
  739. 'codepay_url' => 'https://codepay.fatq.com/create_order/?',
  740. ],
  741. 'payment' => [
  742. 'attribute' => 'Payment Gateway',
  743. 'channel' => [
  744. 'alipay' => 'Alipay F2F',
  745. 'codepay' => 'CodePay',
  746. 'epay' => 'ePay',
  747. 'payjs' => 'PayJs',
  748. 'paypal' => 'PayPal',
  749. 'stripe' => 'Stripe',
  750. 'paybeaver' => 'PayBeaver',
  751. 'theadpay' => 'THeadPay',
  752. 'manual' => 'Manual Pay',
  753. ],
  754. 'hint' => [
  755. 'alipay' => 'This feature requires going to <a href="https://open.alipay.com/platform/appManage.htm?#/create/" target="_blank">Ant Financial Services Open Platform</a> to apply for permission and application',
  756. 'codepay' => 'Please go to <a href="https://codepay.fateqq.com/i/377289" target="_blank">CodePay</a>. Apply for an account, download and set up its software',
  757. 'payjs' => 'Please go to <a href="https://payjs.cn/ref/zgxjnb" target="_blank">PayJs</a> to apply an account',
  758. 'paypal' => 'Login to the <a href="https://www.paypal.com/businessprofile/mytools/apiaccess/firstparty" target="_blank">API credentials application page</a> with your merchant account, agree and get setup information',
  759. 'paybeaver' => 'Please go to <a href="https://merchant.paybeaver.com/?aff_code=iK4GNuX8" target="_blank"> PayBeaver</a> to apply an account',
  760. 'theadpay' => 'Please go to <a href="https://theadpay.com/" target="_blank">THeadPay</a> to request an account',
  761. 'manual' => 'After the gateway is set and selected, it will be displayed on the user-end',
  762. ],
  763. ],
  764. 'notification' => [
  765. 'channel' => [
  766. 'telegram' => 'Telegram',
  767. 'wechat' => 'Enterprise WeChat',
  768. 'dingtalk' => 'DingTalk',
  769. 'email' => 'Email',
  770. 'bark' => 'Bark',
  771. 'serverchan' => 'ServerChan',
  772. 'pushdeer' => 'PushDeer',
  773. 'pushplus' => 'PushPlus',
  774. 'iyuu' => 'IYUU',
  775. 'tg_chat' => 'TG Chat',
  776. 'site' => 'Site Popup',
  777. ],
  778. 'send_test' => 'Send Test Message',
  779. ],
  780. 'forbid' => [
  781. 'mainland' => 'Forbid Chinese Mainland Access',
  782. 'china' => 'Forbid China Access',
  783. 'oversea' => 'Forbid Oversea Access',
  784. ],
  785. 'username' => [
  786. 'email' => 'Email',
  787. 'mobile' => 'Phone number',
  788. 'any' => 'Any Username',
  789. ],
  790. 'active_account' => [
  791. 'before' => 'Pre-registration activation',
  792. 'after' => 'Activate after registration',
  793. ],
  794. 'captcha' => [
  795. 'standard' => 'Standard',
  796. 'geetest' => 'Geetest',
  797. 'recaptcha' => 'Google ReCaptcha',
  798. 'hcaptcha' => 'hCaptcha',
  799. 'turnstile' => 'Turnstile',
  800. ],
  801. 'referral' => [
  802. 'once' => 'First Purchase Rebate',
  803. 'loop' => 'Always Rebate',
  804. ],
  805. ],
  806. 'set_to' => 'Set as :attribute',
  807. 'minute' => 'minutes',
  808. 'query' => 'Query',
  809. 'optional' => 'Optional',
  810. 'require' => 'Required',
  811. ];