mirror of
https://github.com/ProxyPanel/ProxyPanel.git
synced 2026-04-13 16:03:04 +00:00
801 lines
44 KiB
PHP
801 lines
44 KiB
PHP
<?php
|
||
|
||
return [
|
||
'dashboard' => [
|
||
'users' => 'All Users',
|
||
'available_users' => 'Active Users',
|
||
'paid_users' => 'Paying Users',
|
||
'active_days_users' => 'Active Users Within :days Days',
|
||
'inactive_days_users' => 'Inactive Users Over :days Days',
|
||
'online_users' => 'Current Online Users',
|
||
'expiring_users' => 'Near Due Date',
|
||
'overuse_users' => 'Overuse (used ≥ 90% traffic)',
|
||
'abnormal_users' => 'Abnormal Traffic (last 1 hour)',
|
||
'nodes' => 'Nodes',
|
||
'maintaining_nodes' => 'Nodes Under Maintenance',
|
||
'traffic_consumed' => 'Total Traffic Consumed',
|
||
'traffic_days_consumed' => 'Traffic Consumed Within :days Days',
|
||
'orders' => 'Orders',
|
||
'online_orders' => 'Online Orders',
|
||
'succeed_orders' => 'Successful Orders',
|
||
'credit' => 'Total Balance',
|
||
'withdrawing_commissions' => 'Pending Commissions Withdrawal',
|
||
'withdrawn_commissions' => 'Withdrawn Commissions',
|
||
],
|
||
'action' => [
|
||
'edit_item' => 'Edit :attribute',
|
||
'add_item' => 'Add :attribute',
|
||
],
|
||
'confirm' => [
|
||
'delete' => [0 => 'Do you want to delete :attribute [', 1 => '] ?'],
|
||
'continues' => 'Do you want to continue?',
|
||
'export' => 'Do you want to export all?',
|
||
],
|
||
'user_dashboard' => 'User Dashboard',
|
||
'menu' => [
|
||
'dashboard' => 'Dashboard',
|
||
'user' => [
|
||
'attribute' => 'Users',
|
||
'list' => 'User Management',
|
||
'oauth' => 'OAuth',
|
||
'group' => 'User Groups',
|
||
'credit_log' => 'Balance History',
|
||
'subscribe' => 'Subscription Requests',
|
||
],
|
||
'rbac' => [
|
||
'attribute' => 'RBAC',
|
||
'permission' => 'Permissions',
|
||
'role' => 'Roles',
|
||
],
|
||
'customer_service' => [
|
||
'attribute' => 'Helpdesk',
|
||
'ticket' => 'Support Tickets',
|
||
'article' => 'Article Management',
|
||
'push' => 'Push Notifications',
|
||
'mail' => 'Mass Mailing',
|
||
],
|
||
'node' => [
|
||
'attribute' => 'Nodes',
|
||
'list' => 'Node Management',
|
||
'auth' => 'API Authorization',
|
||
'cert' => 'Certificate',
|
||
],
|
||
'rule' => [
|
||
'attribute' => 'Audit',
|
||
'list' => 'Rule Management',
|
||
'group' => 'Rule Group',
|
||
'trigger' => 'Trigger Logs',
|
||
],
|
||
'shop' => [
|
||
'attribute' => 'Shop',
|
||
'goods' => 'Product Management',
|
||
'coupon' => 'Coupon Management',
|
||
'order' => 'Orders',
|
||
],
|
||
'promotion' => [
|
||
'attribute' => 'Promotions',
|
||
'invite' => 'Referral Management',
|
||
'withdraw' => 'Commission Withdrawals',
|
||
'rebate_flow' => 'Rebate History',
|
||
],
|
||
'analysis' => [
|
||
'attribute' => 'Report',
|
||
'accounting' => 'Accounting',
|
||
'user_flow' => 'User Flow',
|
||
],
|
||
'log' => [
|
||
'attribute' => 'Logs',
|
||
'traffic' => 'Data Usage',
|
||
'traffic_flow' => 'Data Flow',
|
||
'service_ban' => 'Ban Records',
|
||
'online_logs' => 'Online Logs',
|
||
'online_monitor' => 'Online Monitoring',
|
||
'notify' => 'Notification Logs',
|
||
'payment_callback' => 'Payment Callback',
|
||
'system' => 'System Report',
|
||
],
|
||
'tools' => [
|
||
'attribute' => 'Toolbox',
|
||
'decompile' => 'Decompile',
|
||
'convert' => 'Convert',
|
||
'import' => 'Import',
|
||
'analysis' => 'Log Analysis',
|
||
],
|
||
'setting' => [
|
||
'attribute' => 'Settings',
|
||
'email_suffix' => 'Email Suffix Management',
|
||
'universal' => 'General Settings',
|
||
'system' => 'System Settings',
|
||
],
|
||
],
|
||
'user' => [
|
||
'massive' => [
|
||
'text' => 'Number of Users to Generate',
|
||
'button' => 'Bulk Generation',
|
||
'failed' => 'Bulk generation failed',
|
||
'succeed' => 'Bulk accounts generated successfully',
|
||
'note' => 'Bulk users generated in background',
|
||
],
|
||
'proxy_info' => 'Configuration information',
|
||
'traffic_monitor' => 'Data Statistics',
|
||
'online_monitor' => 'Online Monitoring',
|
||
'reset_traffic' => 'Reset Data',
|
||
'user_view' => 'Switch to User Profile',
|
||
'connection_test' => 'Network test',
|
||
'counts' => 'Total of <code>:num</code> accounts',
|
||
'reset_confirm' => [0 => 'Do you want to reset [', 1 => ']\'s data?'],
|
||
'info' => [
|
||
'account' => 'Account Information',
|
||
'proxy' => 'Proxy Information',
|
||
'switch' => 'Switch Identity',
|
||
'reset_date_hint' => 'Next data reset date',
|
||
'expired_date_hint' => 'Leave empty for one year by default',
|
||
'uuid_hint' => 'UUID for V2Ray',
|
||
'recharge_placeholder' => 'Filling in a negative value will deduct the balance',
|
||
],
|
||
'update_help' => 'Successfully updated, do you want to return?',
|
||
'proxies_config' => ':username connection configuration information',
|
||
'group' => [
|
||
'title' => 'User Group Control<small>(same node can be assigned to more than one group, One user can only belong to one group; For visible/available nodes: filter by level first, then group)</small>',
|
||
'name' => 'Group Name',
|
||
'counts' => 'Total of <code>:num</code> groups',
|
||
],
|
||
],
|
||
'zero_unlimited_hint' => 'Empty or 0 for unlimited',
|
||
'node' => [
|
||
'traffic_monitor' => 'Usage Statistics',
|
||
'refresh_geo' => 'Refresh Geography',
|
||
'ping' => 'Detect Delay',
|
||
'connection_test' => 'Connectivity Test',
|
||
'counts' => 'Total of <code>:num</code> nodes',
|
||
'reload_all' => 'Reload All Backend',
|
||
'refresh_geo_all' => 'Refresh All Nodes\' Geographies',
|
||
'reload_confirm' => 'Do you want to reload the node?',
|
||
'info' => [
|
||
'hint' => '<strong>Note: </strong> Nodes page\'s <code>ID</code> is used in ShadowsocksR Python backend as <code>node_id</code> in usermysql.json, in V2Ray backend as <code>nodeId</code>.',
|
||
'basic' => 'Basic Information',
|
||
'ddns_hint' => 'Dynamic IP nodes need to be configured with <a href="https://github.com/NewFuture/DDNS" target="_blank">DDNS</a>. For this type of node, the node connectivity test will use server domain to test',
|
||
'domain_placeholder' => 'Server domain address',
|
||
'domain_hint' => 'Enable DDNS in System Settings. Domain will be automatically create/bound to IP address! No longer need to go to the DNS registrant page to modify IP information.',
|
||
'extend' => 'Extended Information',
|
||
'display' => [
|
||
'invisible' => 'Completely invisible',
|
||
'node' => 'Show only on :trans page',
|
||
'sub' => 'Show by Subscription only',
|
||
'all' => 'Visible for all',
|
||
'hint' => 'Whether users can subscribe/see this node',
|
||
],
|
||
'ipv4_hint' => 'Multi-IP uses \',\' partition; ex: 1.1.1.1, 8.8.8.8',
|
||
'ipv6_hint' => 'Multi-IP uses \',\' partition; ex: 1.1.1.1, 8.8.8.8',
|
||
'ipv4_placeholder' => 'Server IPv4 Address',
|
||
'ipv6_placeholder' => 'Server IPv6 address',
|
||
'push_port_hint' => 'Required and server firewall needs to be set up correctly, otherwise it will cause an exception',
|
||
'data_rate_hint' => 'Ex: set to 0.1, 10M will be count as 100M and 500M count as 100M',
|
||
'level_hint' => 'Level: 0 = No ratings, all visible',
|
||
'detection' => [
|
||
'tcp' => 'TCP only',
|
||
'icmp' => 'ICMP only',
|
||
'all' => 'Detect All',
|
||
'hint' => 'Nodes will be tested every 30-60 minutes',
|
||
],
|
||
'obfs_param_hint' => 'While obfs is not [plain], fill in parameters to traffic masquerading; While obfs is [http_simple], suggest set port to 80; While obfs is [tls], suggest set port to 443;',
|
||
'additional_ports_hint' => 'If enabled, please configure server<span class="red-700"><a href="javascript:showTnc();">additional_ports</a></span>information',
|
||
'v2_method_hint' => 'Do not use none when using WebSocket',
|
||
'v2_net_hint' => 'Enable TLS when using WebSocket Transfer Protocol',
|
||
'v2_cover' => [
|
||
'none' => 'None',
|
||
'http' => 'HTTP Transport',
|
||
'srtp' => 'Video call data (SRTP)',
|
||
'utp' => 'BT download data (uTP)',
|
||
'wechat' => 'WeChat video call',
|
||
'dtls' => 'DTLS1.2 packets',
|
||
'wireguard' => 'WireGuard packets',
|
||
],
|
||
'v2_host_hint' => 'Multiple domains are separated by \',\' when the spoofing type is HTTP transfer protocol, and only one domain is allowed when using the WebSocket transfer protocol.',
|
||
'v2_tls_provider_hint' => 'Different backend configurations are different:',
|
||
'single_hint' => 'Recommended 80 or 443. Backend needs to configure <br> strict mode: user\'s port cannot be connected, only via the following specified port. (<a href="javascript:showPortsOnlyConfig();">How to configure?</a>)',
|
||
],
|
||
'proxy_info' => '*Compatibility SS',
|
||
'proxy_info_hint' => 'If compatible, please add<span class="red-700">_compatible</span> to server configuration protocol and obfuscation',
|
||
'reload' => 'Reload Backend',
|
||
'auth' => [
|
||
'title' => 'Node Authorizations <small>WEBAPI</small>',
|
||
'deploy' => [
|
||
'title' => 'Deploy :type_label backend',
|
||
'attribute' => 'Backend Deployment',
|
||
'command' => 'Operation commands',
|
||
'update' => 'Update: ',
|
||
'uninstall' => 'Uninstall: ',
|
||
'start' => 'Launch: ',
|
||
'stop' => 'Stop: ',
|
||
'status' => 'Status: ',
|
||
'recent_logs' => 'Recent Log: ',
|
||
'real_time_logs' => 'Real-time Log: ',
|
||
'restart' => 'Restart: ',
|
||
'same' => 'Same as above',
|
||
'trojan_hint' => 'Please fill in the node\'s<a href=":url" target="_blank">domain name</a> and resolve IP to this the domain',
|
||
],
|
||
'reset_auth' => 'Reset Key',
|
||
'counts' => 'Total of <code>:num</code> authorizations',
|
||
'generating_all' => 'Do you want to generate authorization for all nodes?',
|
||
],
|
||
'cert' => [
|
||
'title' => 'Domain Certificates <small>Spoofing Domain for V2Ray Nodes</small>',
|
||
'counts' => 'Total of <code>:num</code> domain certificates',
|
||
'key_placeholder' => 'The KEY value of the domain certificate. Allowed to be empty, VNET-V2Ray backend support auto-signing certificate',
|
||
'pem_placeholder' => 'The PEM value of the domain certificate. Allowed to be empty, VNET-V2Ray backend support auto-signing certificate',
|
||
],
|
||
],
|
||
'hint' => 'Hint',
|
||
'oauth' => [
|
||
'title' => 'User OAuth',
|
||
'counts' => 'Total of <code>:num</code> open authorizations',
|
||
],
|
||
'select_all' => 'Select All',
|
||
'clear' => 'Clear',
|
||
'unselected_hint' => 'To be assigned, searchable here',
|
||
'selected_hint' => 'Assigned, searchable here',
|
||
'clone' => 'Clone',
|
||
'monitor' => [
|
||
'daily_chart' => 'Daily traffic chart',
|
||
'monthly_chart' => 'Monthly traffic chart',
|
||
'node' => 'Node traffic',
|
||
'user' => 'User traffic',
|
||
'hint' => '<strong>Hint: </strong> If no statistics are available, please check is the scheduled task running correctly.',
|
||
],
|
||
'tools' => [
|
||
'analysis' => [
|
||
'title' => 'SSR Log Analysis <small>For single node only</small>',
|
||
'req_url' => 'Recent Requests Address',
|
||
'not_enough' => 'Less than 15,000 records, unable to analyze data',
|
||
],
|
||
'convert' => [
|
||
'title' => 'Format Conversion <small>Shadowsocks to ShadowsocksR</small>',
|
||
'content_placeholder' => 'Please fill in the configuration information to be converted',
|
||
],
|
||
'decompile' => [
|
||
'title' => 'Decompile <small>Configuration Information</small>',
|
||
'attribute' => 'Decompile',
|
||
'content_placeholder' => 'Please fill in the ShadowsocksR link that you want to decompile, one link per line',
|
||
],
|
||
],
|
||
'ticket' => [
|
||
'title' => 'Tickets',
|
||
'counts' => 'Total of <code>:num</code> tickets',
|
||
'send_to' => 'Please fill in the target user information',
|
||
'user_info' => 'User Information',
|
||
'inviter_info' => 'Inviter Information',
|
||
'close_confirm' => 'Sure to close this ticket?',
|
||
'error' => 'Unknown error! Please check the logs',
|
||
],
|
||
'logs' => [
|
||
'subscribe' => 'Subscriptions',
|
||
'counts' => 'Total of <code>:num</code> records',
|
||
'rule' => [
|
||
'clear_all' => 'Clear all records',
|
||
'title' => 'Trigger record',
|
||
'name' => 'Trigger Rule',
|
||
'reason' => 'Trigger reason',
|
||
'created_at' => 'Trigger Time',
|
||
'tag' => '✅ Access to non-permitted content',
|
||
'clear_confirm' => 'Sure to clear all records?',
|
||
],
|
||
'order' => [
|
||
'title' => 'Orders',
|
||
'is_expired' => 'Whether expired',
|
||
'is_coupon' => 'Whether a coupon is used',
|
||
],
|
||
'user_traffic' => [
|
||
'title' => 'Data Usage Records',
|
||
'choose_node' => 'Select Node',
|
||
],
|
||
'user_data_modify_title' => 'User Data Change Records',
|
||
'callback' => 'Callback Logs <small>For Online Payment</small>',
|
||
'notification' => 'Email Delivery Records',
|
||
'ip_monitor' => 'Online IP monitoring <small>Real-time data within 2 minutes</small>',
|
||
'user_ip' => [
|
||
'title' => 'User Online IP List <small>Last 10 minutes</small>',
|
||
'connect' => 'IP of connection',
|
||
],
|
||
'ban' => [
|
||
'title' => 'Users Ban Records',
|
||
'time' => 'Duration',
|
||
'reason' => 'Reason',
|
||
'ban_time' => 'Banned Time',
|
||
'last_connect_at' => 'Last connection time',
|
||
],
|
||
'credit_title' => 'Balance Change Records',
|
||
],
|
||
'start_time' => 'Start',
|
||
'end_time' => 'End',
|
||
'goods' => [
|
||
'title' => 'Products',
|
||
'type' => [
|
||
'top_up' => 'Top-Up',
|
||
'package' => 'Data Pack',
|
||
'plan' => 'Plan',
|
||
],
|
||
'info' => [
|
||
'type_hint' => 'Plan is related to the account expiration date, Data Pack only affect the available data that user has, does not affect the expiration date',
|
||
'period_hint' => 'Plan\'s data reset in every N days',
|
||
'limit_num_hint' => 'Number of times each user can purchase this product; 0 means no restriction on purchase',
|
||
'available_date_hint' => 'Automatically deduct data from total data when due',
|
||
'desc_placeholder' => 'Brief description of the product',
|
||
'list_placeholder' => 'Add custom lists to product',
|
||
'list_hint' => 'Please start each line with A and end with B<code><li></code> and end with <code></li></code>',
|
||
],
|
||
'status' => [
|
||
'yes' => 'Active',
|
||
'no' => 'Inactive',
|
||
],
|
||
'sell_and_used' => 'In Use/Sales',
|
||
'counts' => 'Total of <code>:num</code> products',
|
||
],
|
||
'sort_asc' => 'The larger the sort value, the higher the priority',
|
||
'yes' => 'Yes',
|
||
'no' => 'No',
|
||
'rule' => [
|
||
'type' => [
|
||
'reg' => 'Regular expression',
|
||
'domain' => 'Domain Name',
|
||
'ip' => 'IP',
|
||
'protocol' => 'Protocol',
|
||
],
|
||
'counts' => 'Total of <code>:num</code> audit rules',
|
||
'title' => 'Rules',
|
||
'group' => [
|
||
'type' => [
|
||
'off' => 'Block',
|
||
'on' => 'Allow',
|
||
],
|
||
'title' => 'Audit Group',
|
||
'counts' => 'Total of <code>:num</code> audit groups',
|
||
],
|
||
],
|
||
'role' => [
|
||
'name_hint' => 'Unique identification name, ex: Administrator',
|
||
'description_hint' => 'Displays name, ex: Administrator',
|
||
'title' => 'Permission Roles',
|
||
'permissions_all' => 'All Permissions',
|
||
'counts' => 'Total of <code>:num</code> permission roles',
|
||
],
|
||
'report' => [
|
||
'monthly_accounting' => 'Monthly Income',
|
||
'annually_accounting' => 'Annual Income',
|
||
'historic_accounting' => 'Historical Income',
|
||
'current_month' => 'Current month',
|
||
'last_month' => 'Last Month',
|
||
'current_year' => 'Current year',
|
||
'last_year' => 'Last year',
|
||
'hourly_traffic' => 'Hourly data traffic',
|
||
'daily_traffic' => 'Daily data traffic',
|
||
'today' => 'Today',
|
||
],
|
||
'permission' => [
|
||
'title' => 'Permissions',
|
||
'description_hint' => 'Description of permission, ex: [X system] Edit A',
|
||
'name_hint' => 'Fill in the route, ex: admin.permission.create,update',
|
||
'counts' => 'Total of <code>:num</code> permissions',
|
||
],
|
||
'marketing' => [
|
||
'email' => [
|
||
'title' => 'Marketing Emails',
|
||
'group_send' => 'Send Group Email',
|
||
'counts' => 'Total of <code>:num</code> emails',
|
||
],
|
||
'send_status' => 'Delivery Status',
|
||
'send_time' => 'Sending time',
|
||
'error_message' => 'Error Messages',
|
||
'push' => [
|
||
'title' => 'Marketing Push Messages',
|
||
'send' => 'Push Marketing Message',
|
||
'counts' => 'Total of <code>:num</code> push messages',
|
||
],
|
||
],
|
||
'creating' => 'Adding...',
|
||
'article' => [
|
||
'type' => [
|
||
'knowledge' => 'Article',
|
||
'announcement' => 'Announcement',
|
||
],
|
||
'category_hint' => 'Same category will be grouped under the same folder',
|
||
'logo_hint' => 'Recommended size: 100x75',
|
||
'title' => 'Articles',
|
||
'counts' => 'Total of <code>:num</code> articles',
|
||
],
|
||
'coupon' => [
|
||
'title' => 'Coupons',
|
||
'name_hint' => 'For user-end display',
|
||
'sn_hint' => 'The code to use the coupon, leave it blank will generate 8-digit random code by default',
|
||
'type' => [
|
||
'voucher' => 'Voucher',
|
||
'discount' => 'Discount Coupon',
|
||
'charge' => 'Recharge Coupon',
|
||
],
|
||
'type_hint' => 'Reduction: deduct the amount of the product; Discount: discount the percentage of the product; Recharge: add the amount to the user balance',
|
||
'value' => '{1} ➖ :num|{2} :num% discount |{3} ➕ :num',
|
||
'value_hint' => 'Range 1% ~ 99%',
|
||
'priority_hint' => 'While Coupons have the same [Coupon Code], Eligible and highest priority coupon will be used first. The maximum is 255',
|
||
'minimum_hint' => 'Coupon can only be used when the payment amount exceeds <strong>:num</strong>',
|
||
'used_hint' => 'Eligible users may use this coupon no more than <strong>:num</strong> times',
|
||
'levels_hint' => 'Coupon can only be used if the user is within the selected levels',
|
||
'groups_hint' => 'Coupon can only be used by selected user groups',
|
||
'users_placeholder' => 'Enter the user ID, then press enter',
|
||
'user_whitelist_hint' => 'Involved users are allowed to use this coupon, leave blank for not using this condition',
|
||
'users_blacklist_hint' => 'Involved users are not allowed to use this coupon, leave blank for not using this condition',
|
||
'services_placeholder' => 'Enter the product ID, then press enter',
|
||
'services_whitelist_hint' => 'Coupon can only be used for products in this list, leave blank for not using this condition',
|
||
'services_blacklist_hint' => 'Coupon cannot be used for products in this list, leave blank for not using this condition',
|
||
'newbie' => [
|
||
'first_discount' => 'First time using any coupon',
|
||
'first_order' => 'First Order',
|
||
'created_days' => 'Create Account',
|
||
],
|
||
'created_days_hint' => '<code>:day</code> days of account creation',
|
||
'limit_hint' => 'The rules of this restriction are <strong>and</strong> relation, please use them properly',
|
||
'info_title' => 'Coupon Information',
|
||
'counts' => 'Total of <code>:num</code> coupons',
|
||
'discount' => 'Discount',
|
||
'export_title' => 'Coupon Export',
|
||
'single_use' => 'One-time',
|
||
],
|
||
'times' => 'Times',
|
||
'massive_export' => 'Batch Export',
|
||
'system_generate' => 'System Generated',
|
||
'aff' => [
|
||
'rebate_title' => 'Referral Rebate History',
|
||
'counts' => 'Total of <code>:num</code> applications',
|
||
'title' => 'Withdrawal Requests',
|
||
'apply_counts' => 'Total of <code>:num</code> requests',
|
||
'referral' => 'Promotional Rebates',
|
||
'commission_title' => 'Withdrawal Request Details',
|
||
'commission_counts' => 'This application involves <code>:num</code> orders',
|
||
],
|
||
'setting' => [
|
||
'common' => [
|
||
'title' => 'General Configuration',
|
||
'set_default' => 'Set as default',
|
||
'connect_nodes' => 'Number of associated nodes',
|
||
],
|
||
'email' => [
|
||
'title' => 'Email Suffix Filters <small> used to limit the emails used for registration</small>',
|
||
'tail' => 'Email Suffix',
|
||
'rule' => 'Restriction Type',
|
||
'black' => 'Blacklist',
|
||
'white' => 'Whitelist',
|
||
'tail_placeholder' => 'Please fill in the email suffix',
|
||
],
|
||
'system' => [
|
||
'title' => 'System Settings',
|
||
'web' => 'Website',
|
||
'account' => 'Account',
|
||
'node' => 'Node',
|
||
'extend' => 'Advanced',
|
||
'check_in' => 'Check-in',
|
||
'promotion' => 'Promotion',
|
||
'notify' => 'Notification',
|
||
'auto_job' => 'Automation',
|
||
'other' => 'LOGO|Customer Service|Statistics',
|
||
'payment' => 'Payment Gateway',
|
||
'menu' => 'Menu',
|
||
],
|
||
'no_permission' => 'You have no permission to change the setting!',
|
||
],
|
||
'system' => [
|
||
'account_expire_notification' => 'Account Expiration Notification',
|
||
'active_times' => 'Number of activation of account',
|
||
'admin_invite_days' => '[Admin] Expiration days of invitation code',
|
||
'aff_salt' => '[Invitation URL] Encrypt User Information',
|
||
'alipay_qrcode' => 'Alipay QrCode',
|
||
'AppStore_id' => '[Apple] Account',
|
||
'AppStore_password' => '[Apple] Password',
|
||
'auto_release_port' => 'Port Recycle',
|
||
'bark_key' => '[Bark] Device Token',
|
||
'captcha_key' => 'Captcha Key',
|
||
'captcha_secret' => 'Captcha Secret/ID',
|
||
'codepay_id' => '[CodePay] ID',
|
||
'codepay_key' => '[CodePay] Key',
|
||
'codepay_url' => '[CodePay] URL',
|
||
'data_anomaly_notification' => 'Data Abnormal Notification',
|
||
'data_exhaust_notification' => 'Data Exhaustion Notification',
|
||
'ddns_key' => '[DNS Provider] Key',
|
||
'ddns_mode' => 'DNS Provider',
|
||
'ddns_secret' => '[DNS Provider] Secret',
|
||
'default_days' => 'Account Initial Time',
|
||
'default_traffic' => 'Initial Data Traffic',
|
||
'detection_check_times' => 'Node Network Detection Alert',
|
||
'dingTalk_access_token' => '[DingTalk Robot] Access Token',
|
||
'dingTalk_secret' => '[DingTalk Robot] Secret',
|
||
'epay_key' => '[ePay] Key',
|
||
'epay_mch_id' => '[ePay] Merchant ID',
|
||
'epay_url' => '[ePay] URL',
|
||
'expire_days' => 'Expiration Warning Threshold',
|
||
'f2fpay_app_id' => '[Alipay] APP ID',
|
||
'f2fpay_private_key' => '[Alipay] Private Key',
|
||
'f2fpay_public_key' => '[Alipay] Public Key',
|
||
'forbid_mode' => 'Access Prohibited',
|
||
'invite_num' => 'Number of invitations can be generated',
|
||
'is_activate_account' => 'Account Activation',
|
||
'is_AliPay' => 'Alipay Gateway',
|
||
'is_ban_status' => 'Expiration Ban',
|
||
'is_captcha' => 'Captcha',
|
||
'is_checkin' => 'Check-in Reward',
|
||
'is_clear_log' => 'Clean Logs',
|
||
'is_custom_subscribe' => 'Advanced Subscription',
|
||
'is_email_filtering' => 'Email Filtering',
|
||
'is_forbid_robot' => 'Forbid Bots Access',
|
||
'is_free_code' => 'Free Invitation Code',
|
||
'is_invite_register' => 'Invitation to Register',
|
||
'is_otherPay' => 'Special Gateway',
|
||
'is_QQPay' => 'QQ Wallet Gateway',
|
||
'is_rand_port' => 'Random Ports',
|
||
'is_register' => 'Registration',
|
||
'is_subscribe_ban' => 'Subscription Abnormal Ban',
|
||
'is_traffic_ban' => 'Abnormal Data Use Ban',
|
||
'is_WeChatPay' => 'WeChat Pay Gateway',
|
||
'iYuu_token' => '[IYUU] Token',
|
||
'maintenance_content' => 'Maintenance Announcement',
|
||
'maintenance_mode' => 'Maintenance Mode',
|
||
'maintenance_time' => 'Maintenance End Time',
|
||
'min_port' => 'Port Range',
|
||
'min_rand_traffic' => 'Data Range',
|
||
'node_blocked_notification' => 'Node Blocked Alert',
|
||
'node_daily_notification' => 'Node Data Usage Daily Report',
|
||
'node_offline_notification' => 'Node Offline Notification',
|
||
'oauth_path' => 'OAuth Platforms',
|
||
'offline_check_times' => 'Number of Offline Notification',
|
||
'password_reset_notification' => 'Reset Password Notification',
|
||
'paybeaver_app_id' => '[PayBeaver] App ID',
|
||
'paybeaver_app_secret' => '[PayBeaver] App Secret',
|
||
'payjs_key' => '[PayJs] Key',
|
||
'payjs_mch_id' => '[PayJs] Merchant ID',
|
||
'payment_confirm_notification' => 'Manual Pay Payment Confirmation',
|
||
'payment_received_notification' => 'Successful Payment Notification',
|
||
'paypal_app_id' => 'App ID',
|
||
'paypal_client_id' => 'Client ID',
|
||
'paypal_client_secret' => 'Client Secret Key',
|
||
'pushDeer_key' => '[PushDeer] Key',
|
||
'pushplus_token' => '[PushPlus] Token',
|
||
'rand_subscribe' => 'Random Subscription',
|
||
'redirect_url' => 'Redirect URL',
|
||
'referral_money' => 'Minimum Withdrawal Limit',
|
||
'referral_percent' => 'Rebate Rate',
|
||
'referral_status' => 'Promotion',
|
||
'referral_traffic' => 'Registration Bonus Data Traffic',
|
||
'referral_type' => 'Rebate Mode',
|
||
'register_ip_limit' => 'Same IP Registration Restriction',
|
||
'reset_password_times' => 'Password Reset Limitation',
|
||
'reset_traffic' => 'Data Traffic Reset',
|
||
'server_chan_key' => '[ServerChan] SCKEY',
|
||
'standard_currency' => 'Primary Currency',
|
||
'stripe_public_key' => 'Public Key',
|
||
'stripe_secret_key' => 'Secret Key',
|
||
'stripe_signing_secret' => 'WebHook Signing secret',
|
||
'subject_name' => 'Custom Product Name',
|
||
'subscribe_ban_times' => 'Subscription Request Threshold',
|
||
'subscribe_domain' => 'Service Subscription URL',
|
||
'subscribe_max' => 'Maximum number of subscription nodes',
|
||
'telegram_token' => 'Telegram Token',
|
||
'tg_chat_token' => 'TG Chat Token',
|
||
'theadpay_key' => '[THeadpay] Key',
|
||
'theadpay_mchid' => '[THeadpay] Merchant ID',
|
||
'theadpay_url' => '[THeadpay] URL',
|
||
'ticket_closed_notification' => 'Ticket Closure Notification',
|
||
'ticket_created_notification' => 'Ticket Creation Notification',
|
||
'ticket_replied_notification' => 'Ticket Response Notification',
|
||
'traffic_ban_time' => 'Ban Time',
|
||
'traffic_ban_value' => 'Data Abnormal Threshold',
|
||
'traffic_limit_time' => 'Time Interval',
|
||
'traffic_warning_percent' => 'Low Data Traffic Threshold',
|
||
'trojan_license' => 'Trojan Backend License',
|
||
'username_type' => 'Username Type',
|
||
'user_invite_days' => '[User] Expiration days of invitation code',
|
||
'v2ray_license' => 'V2Ray Backend License',
|
||
'v2ray_tls_provider' => 'V2Ray TLS Configuration',
|
||
'webmaster_email' => 'Administrator Email',
|
||
'website_analytics' => 'Statistics Code',
|
||
'website_callback_url' => 'Payment Callback Domain',
|
||
'website_customer_service' => 'Customer Service Code',
|
||
'website_home_logo' => 'Homepage Logo',
|
||
'website_logo' => 'Site Logo',
|
||
'website_name' => 'Site Name',
|
||
'website_security_code' => 'Site Security Code',
|
||
'website_url' => 'Site Domain Address',
|
||
'web_api_url' => 'Authorization/Backend Access Domain',
|
||
'wechat_aid' => 'Enterprise WeChat AID',
|
||
'wechat_cid' => 'Enterprise WeChat CID',
|
||
'wechat_encodingAESKey' => 'Enterprise WeChat Encoding AESKey',
|
||
'wechat_qrcode' => 'WeChat QrCode',
|
||
'wechat_secret' => 'Enterprise WeChat Secret',
|
||
'wechat_token' => 'Enterprise WeChat Token',
|
||
'hint' => [
|
||
'account_expire_notification' => 'Notify users that their accounts are about to expire',
|
||
'active_times' => 'The number of times a user can activate an account via email within 1 day',
|
||
'admin_invite_days' => 'Expiration date of the invitation code generated by the administrator',
|
||
'aff_salt' => 'If left blank, the invitation link will use user ID; Filling in any letters/numbers as key to encrypt user ID',
|
||
'AppStore_id' => 'Apple account that can be used in the articles',
|
||
'AppStore_password' => 'Apple password that can be used in the articles',
|
||
'auto_release_port' => 'Ports for accounts that have been banned/expired for <code>'.config('tasks.release_port').'</code> days will be released',
|
||
'bark_key' => 'Push messages to iOS devices. You need to install Bark on your iPhone first, then take the long string after [api.day.app]. Be sure to fill in this value before enable Bark',
|
||
'captcha_key' => 'Browse <a href="https://proxypanel.gitbook.io/wiki/captcha" target="_blank">Setup Guide</a> to set up',
|
||
'data_anomaly_notification' => 'User hourly traffic exceeding data abnormal threshold notifies admin',
|
||
'data_exhaust_notification' => 'Notify users that their data is about to run out',
|
||
'ddns_key' => "Browse <a href='https://proxypanel.gitbook.io/wiki/ddns' target='_blank'>Setup Guide</a> to set up",
|
||
'ddns_mode' => 'Sync nodes\' domain and IP setting to DNS Provider',
|
||
'default_days' => 'Default expiration date for new registered accounts. 0 means same day expiration',
|
||
'default_traffic' => 'Default available data traffic for new registered accounts',
|
||
'detection_check_times' => 'Automatically offline node after N reminders. 0/empty mean do not offline node, Max 12',
|
||
'dingTalk_access_token' => 'Browse <a href=https://open.dingtalk.com/document/group/custom-robot-access#title-jfe-yo9-jl2 target=_blank>DingTalk Handbook</a> to see the set-up steps',
|
||
'dingTalk_secret' => 'Optional, unless DingTalk bot\'s [加签] function is selected!',
|
||
'expire_days' => '[Account Expiry Notice] Starting Threshold, notify users daily',
|
||
'f2fpay_app_id' => 'Alipay\'s APPID',
|
||
'f2fpay_private_key' => 'App Private key generated by the official secret key software',
|
||
'f2fpay_public_key' => 'Note that it is not the APP public key!',
|
||
'forbid_mode' => 'Blocking the corresponding area based on IP, non-blocked areas can be accessed normally',
|
||
'invite_num' => 'Number of invitation codes a user can generate by default',
|
||
'is_activate_account' => 'Once enabled, users need to activate their accounts via email',
|
||
'is_ban_status' => '(Caution!) Blocking the entire account will reset all data on the account and prevent users from logging in. Deactivate this to disable the user agent only.',
|
||
'is_captcha' => 'If enabled, Captcha will be required for login/registration action',
|
||
'is_checkin' => 'Random traffic will be awarded according to the traffic range when user check-in',
|
||
'is_clear_log' => '(Recommended) Automatically clean useless/outdated logs when enabled',
|
||
'is_custom_subscribe' => 'When enabled, the top of the subscription list will show the account expiration date, the amount of traffic left (only some clients are supported)',
|
||
'is_email_filtering' => 'Blacklist: users can use any email outside the blacklist to register; Whitelist: users can only use supported email in the white list to register',
|
||
'is_forbid_robot' => 'Bots, Crawlers, or Proxies access, Panel will throw a 404 error',
|
||
'is_free_code' => 'Free invitation code will not be visible if disabled',
|
||
'is_rand_port' => 'Randomly get ports when users register/add users',
|
||
'is_register' => 'Cannot register if disabled',
|
||
'is_subscribe_ban' => 'When enabled, subscription link will be blocked when user requests via subscription link exceed the set threshold',
|
||
'is_traffic_ban' => 'If the user\'s data usage exceeds the data abnormal threshold within 1 hour, Use\'s service will be disabled for fixed amount of time',
|
||
'iYuu_token' => 'Before enabling IYUU, Please make sure to fill in token that (<a href=https://iyuu.cn target=_blank>apply from IYUU</a>)',
|
||
'maintenance_content' => 'Customized maintenance announcement content',
|
||
'maintenance_mode' => "When enabled, user access will redirect to maintenance page| For Admin access using <a href='javascript:(0)'>:url</a>",
|
||
'maintenance_time' => 'For maintenance interface countdown',
|
||
'min_port' => 'Port range: 1000 ~ 65535',
|
||
'node_blocked_notification' => 'Detects node network connectivity hourly and alerts administrators when there is a situation',
|
||
'node_daily_notification' => 'Report traffic consumption data per node',
|
||
'node_offline_notification' => 'Detects nodes offline every 10 minutes and alerts administrator when any of them is offline',
|
||
'oauth_path' => 'Please add settings in .ENV, before using any of platforms',
|
||
'offline_check_times' => 'Stop alerts after N alerts within 24 hours',
|
||
'password_reset_notification' => 'Users can reset their passwords, if enabled',
|
||
'paybeaver_app_id' => '<a href="https://merchant.paybeaver.com/" target="_blank">Merchant Center</a> -> Developer -> App ID',
|
||
'paybeaver_app_secret' => '<a href="https://merchant.paybeaver.com/" target="_blank">Merchant Center</a> -> Developer -> App Secret',
|
||
'payjs_mch_id' => 'Get configs from <a href="https://payjs.cn/dashboard/member" target="_blank">Member page</a>',
|
||
'payment_confirm_notification' => 'Users notify administrators to process orders that using Manual Pay',
|
||
'payment_received_notification' => 'Prompt the user with the latest status of the order',
|
||
'pushDeer_key' => 'Before enabling PushDeer, make sure to fill <a href=https://www.pushdeer.com/official.html target=_blank>Push Key</a>',
|
||
'pushplus_token' => 'Before enabling PushPlus, make sure to fill <a href=https://www.pushplus.plus/push1.html target=_blank>Token</a>',
|
||
'rand_subscribe' => 'When enabled, the system returns the node list randomly, otherwise, it will be available based on Node list order',
|
||
'redirect_url' => 'When an audit rule is triggered, blocked access requests are redirected to this address',
|
||
'referral_money' => 'The minimum amount that can be requested for withdrawal',
|
||
'referral_percent' => 'According to the account registered by the promotion link, the percentage of share that the inviter can get from each order',
|
||
'referral_status' => 'Not visible to users after closing, but does not affect the normal invitation rebate function',
|
||
'referral_traffic' => 'Free data traffic after registration with promotion link/invitation code',
|
||
'referral_type' => 'After switching modes the old data remains unchanged and the new rebate is calculated according to the new mode',
|
||
'register_ip_limit' => 'The number of registration requests allowed to be requested from the same IP within 24 hours. No limit for 0/empty',
|
||
'reset_password_times' => 'The number of times users can reset their passwords via email within 24 hours',
|
||
'reset_traffic' => 'Users reset their available data traffic according to the reset cycle of their purchased plan',
|
||
'server_chan_key' => 'Before enabling ServerChan, please fill in <a href=https://sc.ftqq.com target=_blank>SCKEY</a>',
|
||
'standard_currency' => 'For displaying product title in payment gateways',
|
||
'subject_name' => 'Display product title for payment channel',
|
||
'subscribe_ban_times' => 'Limit of subscription requests a user can send within 24 hours',
|
||
'subscribe_domain' => '(recommended) Prevent Main Domain abnormality, resulting in failure to subscribe properly start with [http:// or https://]',
|
||
'subscribe_max' => 'The number of nodes when the client subscribes, and return all nodes when 0/left blank',
|
||
'telegram_token' => 'Find <a href=https://t.me/BotFather target=_blank>@BotFather</a> to apply for robot\'s TOKEN',
|
||
'tg_chat_token' => 'Before enabling TG Chat, please fill in <a href=https://t.me/realtgchat_bot target=_blank> applied Token</a>',
|
||
'ticket_closed_notification' => 'Notify user when ticket closed',
|
||
'ticket_created_notification' => 'Notification of newly created ticket to management/user, depending on whom created',
|
||
'ticket_replied_notification' => 'Ticket response notification to the other party',
|
||
'traffic_ban_time' => 'Any user/subscription anomaly blocking time, automatically unblocked upon expiry',
|
||
'traffic_ban_value' => 'If the value is exceeded within 1 hour, the ban will be triggered',
|
||
'traffic_limit_time' => 'Check-in Interval',
|
||
'traffic_warning_percent' => '[Traffic Exhaustion Notification] Start threshold, notify users daily',
|
||
'username_type' => 'Standardize the type of site allowed username type, Default is Email',
|
||
'user_invite_days' => 'Expiration date of user-generated invitations',
|
||
'v2ray_tls_provider' => 'For back-end auto-issue/loading of TLS certificates (Node\'s setting have higher priority than here)',
|
||
'webmaster_email' => 'Some error messages will provide the administrator\'s email as the contact information',
|
||
'website_analytics' => 'Statistics JavaScript',
|
||
'website_callback_url' => 'Prevent payment callback from being backsliding due to a DNS poisoning of main domain, start with http:// or https://',
|
||
'website_customer_service' => 'Customer Service JavaScript',
|
||
'website_name' => 'Show on email and etc.',
|
||
'website_security_code' => 'When not empty, must be accessed via <a href=":url" target="_blank">Secure Portal</a> to access the website',
|
||
'website_url' => 'Main domain that this panel will be using for everything links related as default',
|
||
'web_api_url' => 'For example: '.config('app.url'),
|
||
'wechat_aid' => 'Create an app in <a href=https://work.weixin.qq.com/wework_admin/frame#apps arget=_blank>app management page</a>, get AgentId',
|
||
'wechat_cid' => 'Get the CID in<a href=https://work.weixin.qq.com/wework_admin/frame#profile target=_blank>My Enterprise page</a>',
|
||
'wechat_encodingAESKey' => 'App Management ⇒ Application ⇒ Set API ⇒ EncodingAESKey',
|
||
'wechat_secret' => 'App Secret (may need to download enterprise WeChat to be able view it)',
|
||
'wechat_token' => 'App Management -> Application -> Set API -> TOKEN, URL set to :url',
|
||
],
|
||
'placeholder' => [
|
||
'default_url' => 'Default as :url',
|
||
'server_chan_key' => 'Fill in ServerChan\'s SCKEY, then press Update',
|
||
'pushDeer_key' => 'Fill in Push Key, then press Update',
|
||
'iYuu_token' => 'Fill in IYUU Token, then press Update',
|
||
'bark_key' => 'Fill in Bark key, then press Update',
|
||
'telegram_token' => 'Fill in Telegram Token, then press Update',
|
||
'pushplus_token' => 'Please apply at ServerChan',
|
||
'dingTalk_access_token' => 'Customize bot\'s access_token in WebHook',
|
||
'dingTalk_secret' => 'Customize key that will appear after robot is signed',
|
||
'wechat_aid' => 'WeChat AID',
|
||
'wechat_cid' => 'Fill in the WeChat CID, then press Update',
|
||
'wechat_secret' => 'WeChat Secret',
|
||
'tg_chat_token' => 'Please apply at Telegram',
|
||
'codepay_url' => 'https://codepay.fatq.com/create_order/?',
|
||
],
|
||
'payment' => [
|
||
'attribute' => 'Payment Gateway',
|
||
'channel' => [
|
||
'alipay' => 'Alipay F2F',
|
||
'codepay' => 'CodePay',
|
||
'epay' => 'ePay',
|
||
'payjs' => 'PayJs',
|
||
'paypal' => 'PayPal',
|
||
'stripe' => 'Stripe',
|
||
'paybeaver' => 'PayBeaver',
|
||
'theadpay' => 'THeadPay',
|
||
'manual' => 'Manual Pay',
|
||
],
|
||
'hint' => [
|
||
'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',
|
||
'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',
|
||
'payjs' => 'Please go to <a href="https://payjs.cn/ref/zgxjnb" target="_blank">PayJs</a> to apply an account',
|
||
'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',
|
||
'paybeaver' => 'Please go to <a href="https://merchant.paybeaver.com/?aff_code=iK4GNuX8" target="_blank"> PayBeaver</a> to apply an account',
|
||
'theadpay' => 'Please go to <a href="https://theadpay.com/" target="_blank">THeadPay</a> to request an account',
|
||
'manual' => 'After the gateway is set and selected, it will be displayed on the user-end',
|
||
],
|
||
],
|
||
'notification' => [
|
||
'channel' => [
|
||
'telegram' => 'Telegram',
|
||
'wechat' => 'Enterprise WeChat',
|
||
'dingtalk' => 'DingTalk',
|
||
'email' => 'Email',
|
||
'bark' => 'Bark',
|
||
'serverchan' => 'ServerChan',
|
||
'pushdeer' => 'PushDeer',
|
||
'pushplus' => 'PushPlus',
|
||
'iyuu' => 'IYUU',
|
||
'tg_chat' => 'TG Chat',
|
||
'site' => 'Site Popup',
|
||
],
|
||
'send_test' => 'Send Test Message',
|
||
],
|
||
'forbid' => [
|
||
'mainland' => 'Forbid Chinese Mainland Access',
|
||
'china' => 'Forbid China Access',
|
||
'oversea' => 'Forbid Oversea Access',
|
||
],
|
||
'username' => [
|
||
'email' => 'Email',
|
||
'mobile' => 'Phone number',
|
||
'any' => 'Any Username',
|
||
],
|
||
'active_account' => [
|
||
'before' => 'Pre-registration activation',
|
||
'after' => 'Activate after registration',
|
||
],
|
||
'ddns' => [
|
||
'namesilo' => 'Namesilo',
|
||
'aliyun' => 'AliCloud/Aliyun',
|
||
'dnspod' => 'DNSPod',
|
||
'cloudflare' => 'CloudFlare',
|
||
],
|
||
'captcha' => [
|
||
'standard' => 'Standard',
|
||
'geetest' => 'Geetest',
|
||
'recaptcha' => 'Google ReCaptcha',
|
||
'hcaptcha' => 'hCaptcha',
|
||
],
|
||
'referral' => [
|
||
'once' => 'First Purchase Rebate',
|
||
'loop' => 'Always Rebate',
|
||
],
|
||
],
|
||
'set_to' => 'Set as :attribute',
|
||
'minute' => ' minutes',
|
||
'query' => 'Query',
|
||
'optional' => 'Optional',
|
||
'require' => 'Required',
|
||
];
|