admin.php 38 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802
  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 Last :days Days',
  9. 'inactive_days_users' => 'Inactive Users for 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 Past Hour',
  14. 'nodes' => 'Nodes',
  15. 'maintaining_nodes' => 'Maintenance Mode Nodes',
  16. 'current_month_traffic_consumed' => 'Traffic Used This Month',
  17. 'days_traffic_consumed' => 'Traffic Used in Past :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 => 'Confirm Delete :attribute [', 1 => ']?'],
  31. 'continues' => 'Confirm to continue?',
  32. 'export' => 'Confirm 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. 'push' => 'Push Notifications',
  55. 'mail' => 'Email',
  56. ],
  57. 'node' => [
  58. 'attribute' => 'Nodes',
  59. 'list' => 'Node Management',
  60. 'auth' => 'API Authorization',
  61. 'cert' => 'Certificates',
  62. ],
  63. 'rule' => [
  64. 'attribute' => 'Audit Rules',
  65. 'list' => 'Rules',
  66. 'group' => 'Rule Groups',
  67. 'trigger' => 'Trigger Records',
  68. ],
  69. 'shop' => [
  70. 'attribute' => 'Shop',
  71. 'goods' => 'Products',
  72. 'coupon' => 'Coupons',
  73. 'order' => 'Orders',
  74. ],
  75. 'promotion' => [
  76. 'attribute' => 'Affiliates',
  77. 'invite' => 'Referrals',
  78. 'withdraw' => 'Withdraws',
  79. 'rebate_flow' => 'Rebate History',
  80. ],
  81. 'analysis' => [
  82. 'attribute' => 'Analytics',
  83. 'accounting' => 'Accounting',
  84. 'user_flow' => 'User Flow',
  85. ],
  86. 'log' => [
  87. 'attribute' => 'Logs',
  88. 'traffic' => 'Data Usage',
  89. 'traffic_flow' => 'Data Flow',
  90. 'service_ban' => 'Ban Records',
  91. 'online_logs' => 'Online Logs',
  92. 'online_monitor' => 'Online Monitoring',
  93. 'notify' => 'Notifications',
  94. 'payment_callback' => 'Payment Callback',
  95. 'system' => 'System Logs',
  96. ],
  97. 'tools' => [
  98. 'attribute' => 'Tools',
  99. 'decompile' => 'Decompile',
  100. 'convert' => 'Convert',
  101. 'import' => 'Import',
  102. 'analysis' => 'Log Analysis',
  103. ],
  104. 'setting' => [
  105. 'attribute' => 'Settings',
  106. 'email_suffix' => 'Email Filters',
  107. 'universal' => 'General',
  108. 'system' => 'System',
  109. ],
  110. ],
  111. 'user' => [
  112. 'massive' => [
  113. 'text' => '# of Users to Generate',
  114. 'failed' => 'User Generation Failed',
  115. 'succeed' => 'User Generated Successfully',
  116. 'note' => 'Backend bulk user generate',
  117. ],
  118. 'proxy_info' => 'Config Info',
  119. 'traffic_monitor' => 'Traffic Stats',
  120. 'online_monitor' => 'Online Monitor',
  121. 'reset_traffic' => 'Reset Data',
  122. 'user_view' => 'Switch to User View',
  123. 'connection_test' => 'Connection Test',
  124. 'counts' => '<code>:num</code> accounts total',
  125. 'reset_confirm' => [0 => 'Confirm Reset [', 1 => ']\'s data?'],
  126. 'info' => [
  127. 'account' => 'Account Info',
  128. 'proxy' => 'Proxy Info',
  129. 'switch' => 'Switch Identity',
  130. 'reset_date_hint' => 'Next data reset date',
  131. 'expired_date_hint' => 'Leave empty for 1 year by default',
  132. 'uuid_hint' => 'UUID for V2Ray',
  133. 'recharge_placeholder' => 'Input negative to deduct balance',
  134. ],
  135. 'update_help' => 'Update successful, go back?',
  136. 'proxies_config' => '[:username] Config Info',
  137. 'group' => [
  138. 'title' => 'User Groups <small>(Nodes can be in multiple groups, user only in one)</small>',
  139. 'name' => 'Group Name',
  140. 'counts' => '<code>:num</code> groups total',
  141. ],
  142. ],
  143. 'zero_unlimited_hint' => '0 or empty for unlimited',
  144. 'node' => [
  145. 'traffic_monitor' => 'Traffic Stats',
  146. 'refresh_geo' => 'Refresh Geo Data',
  147. 'ping' => 'Latency Test',
  148. 'connection_test' => 'Connection Test',
  149. 'counts' => '<code>:num</code> nodes total',
  150. 'reload_all' => 'Reload All Backends',
  151. 'refresh_geo_all' => 'Refresh Geo Data',
  152. 'reload_confirm' => 'Confirm Reload Node?',
  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 Info',
  156. 'ddns_hint' => 'Dynamic IP nodes need <a href="https://github.com/NewFuture/DDNS" target="_blank">DDNS</a>. Connection test will use domain name',
  157. 'domain_placeholder' => 'Server domain, will use first if filled',
  158. 'domain_hint' => 'With DDNS enabled, domain will auto bind IP! No longer need to modify DNS record manually.',
  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 separated by "," ; e.g. 1.1.1.1, 8.8.8.8',
  168. 'ipv6_hint' => 'Multiple IPs separated by "," ; e.g. 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, open in firewall to avoid push failure',
  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 ratings, all nodes visible',
  174. 'detection' => [
  175. 'tcp' => 'TCP only',
  176. 'icmp' => 'ICMP only',
  177. 'all' => 'Detect All',
  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' => 'Do not use none with WebSocket',
  183. 'v2_net_hint' => 'Enable TLS with 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' => 'For HTTP, separate multiple domains with ",". Only one allowed for WebSocket.',
  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' => '*Compatibility with SS',
  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 node <a href=":url" target="_blank">domain</a> and resolve domain DNS to node IP',
  216. ],
  217. 'reset_auth' => 'Reset Key',
  218. 'counts' => '<code>:num</code> authorizations total',
  219. 'generating_all' => 'Generate authorization for all nodes?',
  220. ],
  221. 'cert' => [
  222. 'title' => 'Domain Certs <small>(For V2Ray node spoofing)</small>',
  223. 'counts' => '<code>:num</code> certs total',
  224. 'key_placeholder' => 'Domain cert KEY. Allow empty, VNET-V2Ray supports auto certs',
  225. 'pem_placeholder' => 'Domain cert PEM. Allow empty, VNET-V2Ray supports auto certs',
  226. ],
  227. ],
  228. 'hint' => 'Hint',
  229. 'oauth' => [
  230. 'title' => 'User OAuth',
  231. 'counts' => '<code>:num</code> authorizations total',
  232. ],
  233. 'select_all' => 'Select All',
  234. 'clear' => 'Clear',
  235. 'unselected_hint' => 'To Assign, Search Here',
  236. 'selected_hint' => 'Assigned, Search Here',
  237. 'clone' => 'Clone',
  238. 'monitor' => [
  239. 'daily_chart' => 'Daily Traffic',
  240. 'monthly_chart' => 'Monthly Traffic',
  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 URLs',
  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 config to convert',
  254. ],
  255. 'decompile' => [
  256. 'title' => 'Decompile <small>Config Info</small>',
  257. 'attribute' => 'Decompile',
  258. 'content_placeholder' => 'Please fill in the SSR links to decompile, one per line',
  259. ],
  260. ],
  261. 'ticket' => [
  262. 'title' => 'Tickets',
  263. 'counts' => '<code>:num</code> tickets total',
  264. 'send_to' => 'Please fill in target user details',
  265. 'user_info' => 'User Info',
  266. 'inviter_info' => 'Inviter Info',
  267. 'close_confirm' => 'Confirm Close Ticket?',
  268. 'error' => 'Unknown error! Please check logs',
  269. ],
  270. 'logs' => [
  271. 'subscribe' => 'Subscriptions',
  272. 'counts' => '<code>:num</code> records total',
  273. 'rule' => [
  274. 'clear_all' => 'Clear All Records',
  275. 'title' => 'Trigger Records',
  276. 'name' => 'Trigger Rule',
  277. 'reason' => 'Trigger Reason',
  278. 'created_at' => 'Trigger Time',
  279. 'tag' => '✅ Non-permitted access',
  280. 'clear_confirm' => 'Confirm Clear All 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 Records',
  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' => '<code>:num</code> goods total',
  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' => '<code>:num</code> rules total',
  344. 'title' => 'Rules',
  345. 'group' => [
  346. 'type' => [
  347. 'off' => 'Block',
  348. 'on' => 'Allow',
  349. ],
  350. 'title' => 'Rule Groups',
  351. 'counts' => '<code>:num</code> groups total',
  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' => '<code>:num</code> roles total',
  360. ],
  361. 'report' => [
  362. 'monthly_accounting' => 'Monthly Accounting',
  363. 'annually_accounting' => 'Annual Accounting',
  364. 'historic_accounting' => 'Historic Accounting',
  365. 'current_month' => 'This Month',
  366. 'last_month' => 'Last Month',
  367. 'current_year' => 'This Year',
  368. 'last_year' => 'Last Year',
  369. 'hourly_traffic' => 'Hourly Traffic',
  370. 'daily_traffic' => 'Daily Traffic',
  371. 'today' => 'Today',
  372. ],
  373. 'permission' => [
  374. 'title' => 'Permissions',
  375. 'description_hint' => 'Description, e.g. [X system] Edit A',
  376. 'name_hint' => 'Route name, e.g. admin.user.update',
  377. 'counts' => '<code>:num</code> permissions total',
  378. ],
  379. 'marketing' => [
  380. 'email' => [
  381. 'title' => 'Email Marketing',
  382. 'group_send' => 'Send Email',
  383. 'counts' => '<code>:num</code> emails total',
  384. ],
  385. 'send_status' => 'Send Status',
  386. 'send_time' => 'Sent On',
  387. 'error_message' => 'Error Messages',
  388. 'push' => [
  389. 'title' => 'Push Notifications',
  390. 'send' => 'Send Notification',
  391. 'counts' => '<code>:num</code> messages total',
  392. ],
  393. ],
  394. 'creating' => 'Adding...',
  395. 'article' => [
  396. 'type' => [
  397. 'knowledge' => 'Article',
  398. 'announcement' => 'Announcement',
  399. ],
  400. 'category_hint' => 'Same category will be grouped together',
  401. 'logo_hint' => 'Recommended size: 100x75',
  402. 'title' => 'Articles',
  403. 'counts' => '<code>:num</code> articles total',
  404. ],
  405. 'coupon' => [
  406. 'title' => 'Coupons',
  407. 'name_hint' => 'For display',
  408. 'sn_hint' => 'Leave blank for 8-digit random code',
  409. 'type' => [
  410. 'voucher' => 'Voucher',
  411. 'discount' => 'Discount',
  412. 'charge' => 'Recharge',
  413. ],
  414. 'type_hint' => 'Reduction: deduct amount; Discount: percentage off; Recharge: add amount to balance',
  415. 'value' => '{1} ➖ :num|{2} :num% off|{3} ➕ :num',
  416. 'value_hint' => 'Range 1% ~ 99%',
  417. 'priority_hint' => 'Highest eligible priority coupon used first. Max 255',
  418. 'minimum_hint' => 'Only usable when payment exceeds <strong>:num</strong>',
  419. 'used_hint' => 'Each user can use this <strong>:num</strong> times max',
  420. 'levels_hint' => 'Only usable for selected user levels',
  421. 'groups_hint' => 'Only usable for selected user groups',
  422. 'users_placeholder' => 'Enter user ID, press Enter',
  423. 'user_whitelist_hint' => 'Whitelisted users can use, leave blank if unused',
  424. 'users_blacklist_hint' => 'Blacklisted users cannot use, leave blank if unused',
  425. 'services_placeholder' => 'Enter product ID, press Enter',
  426. 'services_whitelist_hint' => 'Only usable for whitelisted products, leave blank if unused',
  427. 'services_blacklist_hint' => 'Not usable for blacklisted products, leave blank if unused',
  428. 'newbie' => [
  429. 'first_discount' => 'First-time Discount',
  430. 'first_order' => 'First Order',
  431. 'created_days' => 'Account Age',
  432. ],
  433. 'created_days_hint' => '<code>:day</code> days after registration',
  434. 'limit_hint' => 'Rules have <strong>AND</strong> relation, use properly',
  435. 'info_title' => 'Info',
  436. 'counts' => '<code>:num</code> coupons total',
  437. 'discount' => 'Discount',
  438. 'export_title' => 'Export',
  439. 'single_use' => 'One-time Use',
  440. ],
  441. 'times' => 'Times',
  442. 'massive_export' => 'Batch Export',
  443. 'system_generate' => 'System Generated',
  444. 'aff' => [
  445. 'rebate_title' => 'Rebate History',
  446. 'counts' => '<code>:num</code> rebates total',
  447. 'title' => 'Withdraw Requests',
  448. 'apply_counts' => '<code>:num</code> requests total',
  449. 'referral' => 'Referral Rebates',
  450. 'commission_title' => 'Request Details',
  451. 'commission_counts' => 'Involves <code>:num</code> orders',
  452. ],
  453. 'setting' => [
  454. 'common' => [
  455. 'title' => 'General Config',
  456. 'set_default' => 'Set as Default',
  457. 'connect_nodes' => '# of Nodes',
  458. ],
  459. 'email' => [
  460. 'title' => 'Email Filters <small>(for registration)</small>',
  461. 'tail' => 'Email Suffix',
  462. 'rule' => 'Restriction Type',
  463. 'black' => 'Blacklist',
  464. 'white' => 'Whitelist',
  465. 'tail_placeholder' => 'Enter email suffix',
  466. ],
  467. 'system' => [
  468. 'title' => 'System Settings',
  469. 'web' => 'General',
  470. 'account' => 'Account',
  471. 'node' => 'Node',
  472. 'extend' => 'Advanced',
  473. 'check_in' => 'Check-in',
  474. 'promotion' => 'Affiliate',
  475. 'notify' => 'Notification',
  476. 'auto_job' => 'Automation',
  477. 'other' => 'Logo|CS|Analytics',
  478. 'payment' => 'Payment',
  479. 'menu' => 'Menu',
  480. ],
  481. 'no_permission' => 'No permission to change settings!',
  482. ],
  483. 'system' => [
  484. 'account_expire_notification' => 'Account Expiration Notice',
  485. 'active_times' => 'Max Account Activations',
  486. 'admin_invite_days' => '[Admin] Invitation Expiration',
  487. 'aff_salt' => '[Referral URL] Encrypt User ID',
  488. 'alipay_qrcode' => 'Alipay QR Code',
  489. 'AppStore_id' => '[Apple] Account',
  490. 'AppStore_password' => '[Apple] Password',
  491. 'auto_release_port' => 'Port Recycle',
  492. 'bark_key' => '[Bark] Device Key',
  493. 'captcha_key' => 'Captcha Key',
  494. 'captcha_secret' => 'Captcha Secret/ID',
  495. 'codepay_id' => '[CodePay] ID',
  496. 'codepay_key' => '[CodePay] Key',
  497. 'codepay_url' => '[CodePay] URL',
  498. 'data_anomaly_notification' => 'Data Anomaly Notice',
  499. 'data_exhaust_notification' => 'Data Exhaustion Notice',
  500. 'ddns_key' => '[DNS] Key',
  501. 'ddns_mode' => 'DNS Sync',
  502. 'ddns_secret' => '[DNS] Secret',
  503. 'default_days' => 'Default Account Time',
  504. 'default_traffic' => 'Default Initial Data',
  505. 'detection_check_times' => 'Node Block Alerts',
  506. 'dingTalk_access_token' => '[DingTalk] Access Token',
  507. 'dingTalk_secret' => '[DingTalk] Secret',
  508. 'epay_key' => '[ePay] Key',
  509. 'epay_mch_id' => '[ePay] Merchant ID',
  510. 'epay_url' => '[ePay] URL',
  511. 'expire_days' => 'Expiration Warning',
  512. 'f2fpay_app_id' => '[Alipay] APP ID',
  513. 'f2fpay_private_key' => '[Alipay] Private Key',
  514. 'f2fpay_public_key' => '[Alipay] Public Key',
  515. 'forbid_mode' => 'Access Restriction',
  516. 'invite_num' => 'Default Invitations',
  517. 'is_activate_account' => 'Account Activation',
  518. 'is_AliPay' => 'Alipay',
  519. 'is_ban_status' => 'Expiration Ban',
  520. 'is_captcha' => 'Captcha',
  521. 'is_checkin' => 'Check-in Reward',
  522. 'is_clear_log' => 'Clean Logs',
  523. 'is_custom_subscribe' => 'Advanced Subscription',
  524. 'is_email_filtering' => 'Email Filtering',
  525. 'is_forbid_robot' => 'Forbid Bots',
  526. 'is_free_code' => 'Free Invitation Codes',
  527. 'is_invite_register' => 'Invitation to Register',
  528. 'is_otherPay' => 'Custom Payment',
  529. 'is_QQPay' => 'QQ Pay',
  530. 'is_rand_port' => 'Random Port',
  531. 'is_register' => 'Registration',
  532. 'is_subscribe_ban' => 'Subscription Ban',
  533. 'is_traffic_ban' => 'Data Abuse Ban',
  534. 'is_WeChatPay' => 'WeChat Pay',
  535. 'iYuu_token' => '[IYUU] Token',
  536. 'maintenance_content' => 'Maintenance Notice',
  537. 'maintenance_mode' => 'Maintenance Mode',
  538. 'maintenance_time' => 'Maintenance End',
  539. 'min_port' => 'Port Range',
  540. 'min_rand_traffic' => 'Data Range',
  541. 'node_blocked_notification' => 'Node Blocked Notice',
  542. 'node_daily_notification' => 'Daily Node Report',
  543. 'node_offline_notification' => 'Node Offline Notice',
  544. 'oauth_path' => 'OAuth Platforms',
  545. 'offline_check_times' => 'Offline Notifications',
  546. 'password_reset_notification' => 'Reset Password Notice',
  547. 'paybeaver_app_id' => '[PayBeaver] App ID',
  548. 'paybeaver_app_secret' => '[PayBeaver] App Secret',
  549. 'payjs_key' => '[PayJs] Key',
  550. 'payjs_mch_id' => '[PayJs] Merchant ID',
  551. 'payment_confirm_notification' => 'Manual Payment Confirmation',
  552. 'payment_received_notification' => 'Payment Success Notice',
  553. 'paypal_app_id' => 'App ID',
  554. 'paypal_client_id' => 'Client ID',
  555. 'paypal_client_secret' => 'Client Secret',
  556. 'pushDeer_key' => '[PushDeer] Key',
  557. 'pushplus_token' => '[PushPlus] Token',
  558. 'rand_subscribe' => 'Random Subscription',
  559. 'redirect_url' => 'Redirect URL',
  560. 'referral_money' => 'Min Withdrawal Limit',
  561. 'referral_percent' => 'Rebate Percentage',
  562. 'referral_status' => 'Affiliate',
  563. 'referral_traffic' => 'Registration Bonus',
  564. 'referral_type' => 'Rebate Type',
  565. 'register_ip_limit' => 'Registration IP Limit',
  566. 'reset_password_times' => 'Reset Limit',
  567. 'reset_traffic' => 'Auto Reset Data',
  568. 'server_chan_key' => '[ServerChan] SCKEY',
  569. 'standard_currency' => 'Primary Currency',
  570. 'stripe_public_key' => 'Public Key',
  571. 'stripe_secret_key' => 'Secret Key',
  572. 'stripe_signing_secret' => 'Webhook Secret',
  573. 'subject_name' => 'Custom Product Name',
  574. 'subscribe_ban_times' => 'Subscription Limit',
  575. 'subscribe_domain' => 'Subscription URL',
  576. 'subscribe_max' => 'Max Subscription Nodes',
  577. 'telegram_token' => 'Telegram Token',
  578. 'tg_chat_token' => 'TG Chat Token',
  579. 'theadpay_key' => '[THeadPay] Key',
  580. 'theadpay_mchid' => '[THeadPay] Merchant ID',
  581. 'theadpay_url' => '[THeadPay] URL',
  582. 'ticket_closed_notification' => 'Ticket Closed Notice',
  583. 'ticket_created_notification' => 'Ticket Creation Notice',
  584. 'ticket_replied_notification' => 'Ticket Reply Notice',
  585. 'traffic_ban_time' => 'Ban Duration',
  586. 'traffic_ban_value' => 'Data Abuse Threshold',
  587. 'traffic_limit_time' => 'Check-in Interval',
  588. 'traffic_warning_percent' => 'Data Usage Warning',
  589. 'trojan_license' => 'Trojan License',
  590. 'username_type' => 'Account Username Type',
  591. 'user_invite_days' => '[User] Invitation Expiry',
  592. 'v2ray_license' => 'V2Ray License',
  593. 'v2ray_tls_provider' => 'V2Ray TLS Config',
  594. 'webmaster_email' => 'Admin Email',
  595. 'website_analytics' => 'Analytics Code',
  596. 'website_callback_url' => 'Payment Callback Domain',
  597. 'website_customer_service' => 'CS Code',
  598. 'website_home_logo' => 'Homepage Logo',
  599. 'website_logo' => 'Inner Page Logo',
  600. 'website_name' => 'Site Name',
  601. 'website_security_code' => 'Security Code',
  602. 'website_url' => 'Site Domain',
  603. 'web_api_url' => 'API Domain',
  604. 'wechat_aid' => 'WeChat AID',
  605. 'wechat_cid' => 'WeChat CID',
  606. 'wechat_encodingAESKey' => 'WeChat Encoding Key',
  607. 'wechat_qrcode' => 'WeChat QR Code',
  608. 'wechat_secret' => 'WeChat Secret',
  609. 'wechat_token' => 'WeChat Token',
  610. 'hint' => [
  611. 'account_expire_notification' => 'Notify expiration',
  612. 'active_times' => 'Via email in 24 hours',
  613. 'admin_invite_days' => 'Admin invitation expiration',
  614. 'aff_salt' => 'Encryption salt for referral URL',
  615. 'AppStore_id' => 'Used in articles',
  616. 'AppStore_password' => 'Used in articles',
  617. 'auto_release_port' => 'Auto release port after being banned/expired for <code>'.config('tasks.release_port').'</code> days',
  618. 'bark_key' => 'Device key for iOS push',
  619. 'captcha_key' => 'Browse <a href="https://proxypanel.gitbook.io/wiki/captcha" target="_blank">setup guide</a>',
  620. 'data_anomaly_notification' => 'Notify admin when hourly data exceeds threshold',
  621. 'data_exhaust_notification' => 'Notify when data is running out',
  622. 'ddns_key' => "Browse <a href='https://proxypanel.gitbook.io/wiki/ddns' target='_blank'>setup guide</a>",
  623. 'ddns_mode' => 'Sync domain & IP changes to DNS provider',
  624. 'default_days' => 'Default expiration for new accounts, 0 means expire today',
  625. 'default_traffic' => 'Default data for new accounts',
  626. 'detection_check_times' => 'Auto offline node after N alerts, 0 for unlimited, max 12',
  627. '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>',
  628. 'dingTalk_secret' => 'Custom bot secret when enabled sign',
  629. 'expire_days' => 'Start account expiration notice',
  630. 'f2fpay_app_id' => 'Alipay APPID',
  631. 'f2fpay_private_key' => 'Alipay private key from secret key tool',
  632. 'f2fpay_public_key' => 'Not the APP public key!',
  633. 'forbid_mode' => 'Block access from specified regions',
  634. 'invite_num' => 'Default invitations per user',
  635. 'is_activate_account' => 'Require activation via email',
  636. 'is_ban_status' => '(Caution) Ban account will reset all user data',
  637. 'is_captcha' => 'Require captcha to login/register if enabled',
  638. 'is_checkin' => 'Random reward when check-in',
  639. 'is_clear_log' => '(Recommended) Auto clean useless/outdated logs when enabled',
  640. 'is_custom_subscribe' => 'Show expiration & data left on subscription list when enabled',
  641. 'is_email_filtering' => 'Blacklist: any other emails; Whitelist: only allowed emails',
  642. 'is_forbid_robot' => 'Return 404 error if accessed by bots/proxies',
  643. 'is_free_code' => 'Hide free invite codes if disabled',
  644. 'is_rand_port' => 'Random port when add/register user',
  645. 'is_register' => 'Disable registration if unchecked',
  646. 'is_subscribe_ban' => 'Auto ban if subscription requests exceed threshold',
  647. 'is_traffic_ban' => 'Auto disable service if data exceeds threshold in 1 hour',
  648. 'iYuu_token' => 'Fill <a href=https://iyuu.cn target=_blank>IYUU token</a> before enabling',
  649. 'maintenance_content' => 'Custom maintenance announcement',
  650. 'maintenance_mode' => "Redirect normal users to maintenance page if enabled| Admin can login via <a href='javascript:(0)'>:url</a>",
  651. 'maintenance_time' => 'For maintenance page countdown',
  652. 'min_port' => 'Port range 1000 - 65535',
  653. 'node_blocked_notification' => 'Detect node block hourly, notify admins',
  654. 'node_daily_notification' => 'Daily node usage report',
  655. 'node_offline_notification' => 'Detect offline every 10 mins, notify if any node is offline',
  656. 'oauth_path' => 'Please enable platforms in .ENV first',
  657. 'offline_check_times' => 'Stop notification after N alerts in 24 hours',
  658. 'password_reset_notification' => 'Allow password reset via email if enabled',
  659. 'paybeaver_app_id' => '<a href="https://merchant.paybeaver.com/" target="_blank">Merchant Center</a> -> Developer -> App ID',
  660. 'paybeaver_app_secret' => '<a href="https://merchant.paybeaver.com/" target="_blank">Merchant Center</a> -> Developer -> App Secret',
  661. 'payjs_mch_id' => 'Get from <a href="https://payjs.cn/dashboard/member" target="_blank">member page</a>',
  662. 'payment_confirm_notification' => 'Notify admin to process manual payment orders',
  663. 'payment_received_notification' => 'Notify user when payment received',
  664. 'pushDeer_key' => 'Fill <a href=https://www.pushdeer.com/official.html target=_blank>PushDeer Push Key</a> before enabling',
  665. 'pushplus_token' => 'Fill <a href=https://www.pushplus.plus/push1.html target=_blank>PushPlus Token</a> before enabling',
  666. 'rand_subscribe' => 'Random order if enabled, otherwise by node list order',
  667. 'redirect_url' => 'Redirect blocked requests to this URL when rules triggered',
  668. 'referral_money' => 'The minimum amount that can be withdrawn',
  669. 'referral_percent' => 'The percentage of order amount the referrer gets',
  670. 'referral_status' => 'Close referral system without affecting existing data',
  671. 'referral_traffic' => 'Give free data traffic when registered via referral',
  672. 'referral_type' => 'New rebates calculated by new mode after switching',
  673. 'register_ip_limit' => 'Number of registrations allowed per IP in 24 hours, 0 for unlimited',
  674. 'reset_password_times' => 'Number of password resets allowed via email in 24 hours',
  675. 'reset_traffic' => 'Automatically reset data based on user plan cycle',
  676. 'server_chan_key' => 'Fill in <a href=https://sc.ftqq.com target=_blank>ServerChan SCKEY</a> before enabling',
  677. 'standard_currency' => 'Primary currency used in panel',
  678. 'subject_name' => 'Custom product name in payment gateways',
  679. 'subscribe_ban_times' => 'Maximum subscription requests allowed per user in 24 hours',
  680. 'subscribe_domain' => 'Start with http:// or https:// to avoid DNS poisoning failure',
  681. 'subscribe_max' => 'Max number of nodes returned in subscription list, 0 for all',
  682. 'telegram_token' => 'Get robot <a href=https://t.me/BotFather target=_blank>TOKEN</a> from @BotFather',
  683. 'tg_chat_token' => 'Fill <a href=https://t.me/realtgchat_bot target=_blank>TG Chat token</a> before enabling',
  684. 'ticket_closed_notification' => 'Notify user when ticket is closed',
  685. 'ticket_created_notification' => 'Notify manager/user depending on creator',
  686. 'ticket_replied_notification' => 'Notify the other party when ticket replied',
  687. 'traffic_ban_time' => 'Duration of auto ban for exceptions',
  688. 'traffic_ban_value' => 'Trigger auto account ban if exceeds this value in 1 hour',
  689. 'traffic_limit_time' => 'Time interval between check-ins',
  690. 'traffic_warning_percent' => 'Send traffic exhaustion notice when daily usage reaches this percentage',
  691. 'username_type' => 'Default username type for users',
  692. 'user_invite_days' => 'Expiration of user-generated invitation codes',
  693. 'v2ray_tls_provider' => 'Node settings override this TLS config',
  694. 'webmaster_email' => 'Contact email shown in some error messages',
  695. 'website_analytics' => 'Analytics JavaScript code',
  696. 'website_callback_url' => 'Prevent payment callback failure due to DNS poisoning',
  697. 'website_customer_service' => 'Customer service JavaScript code',
  698. 'website_name' => 'Website name in emails',
  699. 'website_security_code' => 'Require security code to access site if set',
  700. 'website_url' => 'Main domain used for links',
  701. 'web_api_url' => 'E.g. '.config('app.url'),
  702. 'wechat_aid' => '<a href="https://work.weixin.qq.com/wework_admin/frame#apps" target="_blank">App Management</a> -> AgentId',
  703. 'wechat_cid' => 'Get from <a href="https://work.weixin.qq.com/wework_admin/frame#profile" target="_blank">Enterprise Info</a>',
  704. 'wechat_encodingAESKey' => 'App Management -> App Settings -> EncodingAESKey',
  705. 'wechat_secret' => 'App secret (need enterprise WeChat to view)',
  706. 'wechat_token' => 'App Settings -> TOKEN, callback URL: :url',
  707. ],
  708. 'placeholder' => [
  709. 'default_url' => 'Default as :url',
  710. 'server_chan_key' => 'Fill ServerChan SCKEY then click Update',
  711. 'pushDeer_key' => 'Fill PushDeer Push Key then click Update',
  712. 'iYuu_token' => 'Fill IYUU token then click Update',
  713. 'bark_key' => 'Fill Bark device key then click Update',
  714. 'telegram_token' => 'Fill Telegram token then click Update',
  715. 'pushplus_token' => 'Please apply at ServerChan',
  716. 'dingTalk_access_token' => 'Custom bot access token',
  717. 'dingTalk_secret' => 'Custom bot secret after signing',
  718. 'wechat_aid' => 'WeChat Enterprise App AID',
  719. 'wechat_cid' => 'Fill WeChat CID then click Update',
  720. 'wechat_secret' => 'WeChat Enterprise App secret',
  721. 'tg_chat_token' => 'Please apply at Telegram',
  722. 'codepay_url' => 'https://codepay.fatq.com/create_order/?',
  723. ],
  724. 'payment' => [
  725. 'attribute' => 'Payment Gateway',
  726. 'channel' => [
  727. 'alipay' => 'Alipay F2F',
  728. 'codepay' => 'CodePay',
  729. 'epay' => 'ePay',
  730. 'payjs' => 'PayJs',
  731. 'paypal' => 'PayPal',
  732. 'stripe' => 'Stripe',
  733. 'paybeaver' => 'PayBeaver',
  734. 'theadpay' => 'THeadPay',
  735. 'manual' => 'Manual Pay',
  736. ],
  737. 'hint' => [
  738. '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',
  739. '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',
  740. 'payjs' => 'Please go to <a href="https://payjs.cn/ref/zgxjnb" target="_blank">PayJs</a> to apply an account',
  741. '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',
  742. 'paybeaver' => 'Please go to <a href="https://merchant.paybeaver.com/?aff_code=iK4GNuX8" target="_blank"> PayBeaver</a> to apply an account',
  743. 'theadpay' => 'Please go to <a href="https://theadpay.com/" target="_blank">THeadPay</a> to request an account',
  744. 'manual' => 'After the gateway is set and selected, it will be displayed on the user-end',
  745. ],
  746. ],
  747. 'notification' => [
  748. 'channel' => [
  749. 'telegram' => 'Telegram',
  750. 'wechat' => 'Enterprise WeChat',
  751. 'dingtalk' => 'DingTalk',
  752. 'email' => 'Email',
  753. 'bark' => 'Bark',
  754. 'serverchan' => 'ServerChan',
  755. 'pushdeer' => 'PushDeer',
  756. 'pushplus' => 'PushPlus',
  757. 'iyuu' => 'IYUU',
  758. 'tg_chat' => 'TG Chat',
  759. 'site' => 'Site Popup',
  760. ],
  761. 'send_test' => 'Send Test Message',
  762. ],
  763. 'forbid' => [
  764. 'mainland' => 'Forbid Chinese Mainland Access',
  765. 'china' => 'Forbid China Access',
  766. 'oversea' => 'Forbid Oversea Access',
  767. ],
  768. 'username' => [
  769. 'email' => 'Email',
  770. 'mobile' => 'Phone number',
  771. 'any' => 'Any Username',
  772. ],
  773. 'active_account' => [
  774. 'before' => 'Pre-registration activation',
  775. 'after' => 'Activate after registration',
  776. ],
  777. 'ddns' => [
  778. 'namesilo' => 'Namesilo',
  779. 'aliyun' => 'AliCloud/Aliyun',
  780. 'dnspod' => 'DNSPod',
  781. 'cloudflare' => 'CloudFlare',
  782. ],
  783. 'captcha' => [
  784. 'standard' => 'Standard',
  785. 'geetest' => 'Geetest',
  786. 'recaptcha' => 'Google ReCaptcha',
  787. 'hcaptcha' => 'hCaptcha',
  788. 'turnstile' => 'Turnstile',
  789. ],
  790. 'referral' => [
  791. 'once' => 'First Purchase Rebate',
  792. 'loop' => 'Always Rebate',
  793. ],
  794. ],
  795. 'set_to' => 'Set as :attribute',
  796. 'minute' => 'minutes',
  797. 'query' => 'Query',
  798. 'optional' => 'Optional',
  799. 'require' => 'Required',
  800. ];