diff --git a/readme.md b/readme.md index 1cf4b6e7..5eda51fc 100644 --- a/readme.md +++ b/readme.md @@ -1,5 +1,6 @@ # ProxyPanel [![Crowdin](https://badges.crowdin.net/proxypanel/localized.svg)](https://crowdin.com/project/proxypanel) +We are looking for translators who help us to translate this prjoect with other languages :) [简体中文](https://proxypanel.gitbook.io/wiki/) diff --git a/resources/lang/en/admin.php b/resources/lang/en/admin.php index 6f9b2c32..d87f17f9 100644 --- a/resources/lang/en/admin.php +++ b/resources/lang/en/admin.php @@ -7,13 +7,13 @@ return [ 'paid_users' => 'Paying Users', 'active_days_users' => 'Active Users Within :days Days', 'inactive_days_users' => 'Inactive Users Over :days Days', - 'online_users' => 'Currently Online Users', + 'online_users' => 'Current Online Users', 'expiring_users' => 'Near Due Date', - 'overuse_users' => 'Overusing Users (Traffic consumed ≥ 90%)', + 'overuse_users' => 'Overuse (used ≥ 90% traffic)', 'abnormal_users' => 'Abnormal Traffic (last 1 hour)', 'nodes' => 'Nodes', 'maintaining_nodes' => 'Nodes Under Maintenance', - 'traffic_consumed' => 'Traffic Consumed', + 'traffic_consumed' => 'Total Traffic Consumed', 'traffic_days_consumed' => 'Traffic Consumed Within :days Days', 'orders' => 'Orders', 'online_orders' => 'Online Orders', @@ -38,9 +38,9 @@ return [ 'attribute' => 'Users', 'list' => 'User Management', 'oauth' => 'OAuth', - 'group' => 'User Group', + 'group' => 'User Groups', 'credit_log' => 'Balance History', - 'subscribe' => 'Subscription', + 'subscribe' => 'Subscription Requests', ], 'rbac' => [ 'attribute' => 'RBAC', @@ -136,25 +136,25 @@ return [ 'update_help' => 'Successfully updated, do you want to return?', 'proxies_config' => ':username connection configuration information', 'group' => [ - 'title' => 'User Group Control(same node can be assigned to more than one group, One user can only belong to one group; For visible / available nodes: filter by level first, then group)', + 'title' => 'User Group Control(same node can be assigned to more than one group, One user can only belong to one group; For visible/available nodes: filter by level first, then group)', 'name' => 'Group Name', - 'counts' => 'out of :num groups', + 'counts' => 'Total :num groups', ], ], - 'zero_unlimited_hint' => 'Unset / 0, as unlimited', + 'zero_unlimited_hint' => 'Unset/0, as unlimited', 'node' => [ - 'traffic_monitor' => 'Data Statistics', + 'traffic_monitor' => 'Usage Statistics', 'refresh_geo' => 'Refresh Geography', 'ping' => 'Detect Delay', 'connection_test' => 'Connectivity Test', - 'counts' => 'out of :num circuits', + 'counts' => 'Total :num nodes', 'reload_all' => 'Reload All Backend', 'refresh_geo_all' => 'Refresh All Nodes\' Geographies', 'reload_confirm' => 'Do you want to reload the node?', 'info' => [ 'hint' => 'Note: Nodes page\'s ID is used in ShadowsocksR Python backend as node_id in usermysql.json, in V2Ray backend as nodeId.', 'basic' => 'Basic Information', - 'ddns_hint' => 'Dynamic IP nodes requireto configure DDNS, for this type of node, Connectivity Test will test by domain name', + 'ddns_hint' => 'Dynamic IP nodes need to be configured with DDNS. 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', @@ -169,7 +169,7 @@ return [ '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 loaded, otherwise it will cause an exception', + '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' => [ @@ -183,7 +183,7 @@ return [ 'v2_method_hint' => 'Do not use none when using WebSocket', 'v2_net_hint' => 'Enable TLS when using WebSocket Transfer Protocol', 'v2_cover' => [ - 'none' => 'none', + 'none' => 'None', 'http' => 'HTTP Transport', 'srtp' => 'Video call data (SRTP)', 'utp' => 'BT download data (uTP)', @@ -191,111 +191,111 @@ return [ 'dtls' => 'DTLS1.2 packets', 'wireguard' => 'WireGuard packets', ], - 'v2_host_hint' => 'Use WebSocket transfer protocol only for single commas separated from multiple camouflage types', - 'v2_tls_provider_hint' => 'Different backend configurations are different:', - 'single_hint' => 'Recommended 80 or 443. The server needs to configure
strict mode:user\'s port cannot be connected, only via the following specified port(how to configure)', + '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
strict mode: user\'s port cannot be connected, only via the following specified port. (How to configure?)', ], 'proxy_info' => '*Compatibility SS', - 'proxy_info_hint' => 'If compatible, please add_compatible to server configuration protocol and confuse', + 'proxy_info_hint' => 'If compatible, please add_compatible to server configuration protocol and obfuscation', 'reload' => 'Reload Backend', 'auth' => [ - 'title' => 'Node authorization listWEBAPI', + 'title' => 'Node Authorizations WEBAPI', 'deploy' => [ - 'title' => 'Deployment :type_label backend', - 'attribute' => 'Deployment Backend', - 'command' => 'Operations command', - 'update' => 'Update:', - 'uninstall' => 'Uninstall:', - 'start' => 'Launch:', - 'stop' => 'Stop:', - 'status' => 'Status:', - 'recent_logs' => 'Recent Log:', - 'real_time_logs' => 'Live Log:', - 'restart' => 'Restart:', - 'same' => 'Id.', - 'trojan_hint' => 'Please input nodes\' domain, then resolve IP to this the domain', + '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\'sdomain name and resolve IP to this the domain', ], - 'reset_auth' => 'Reset key', - 'counts' => 'of :num Licenses', - 'generating_all' => 'Are you sure you want to generate authorization for all nodes?', + 'reset_auth' => 'Reset Key', + 'counts' => 'Total :num Authorizations', + 'generating_all' => 'Do you want to generate authorization for all nodes?', ], 'cert' => [ - 'title' => 'Domain certificate list(disguised domain name of V2Ray nodes)', - 'counts' => 'out of :num domain name certificates', + 'title' => 'Domain Certificates Spoofing Domain for V2Ray Nodes', + 'counts' => 'Total :num 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' => 'Prompt', + 'hint' => 'Hint', 'oauth' => [ - 'title' => 'User OAuth Authorization', - 'counts' => 'out of :num licenses', + 'title' => 'User OAuth', + 'counts' => 'Total :num open authorizations', ], - 'select_all' => 'Full selection', - 'clear' => 'Empty', - 'unselected_hint' => 'To assign rules, search here', - 'selected_hint' => 'The rules have been assigned, you can search here', + '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' => 'Hint: If no statistics are available, please check if the scheduled task is correct.', + 'hint' => 'Hint: If no statistics are available, please check is the scheduled task running correctly.', ], 'tools' => [ 'analysis' => [ - 'title' => 'SSR log analysisfor single nodes only', - 'req_url' => 'Recently requested address', - 'not_enough' => 'No more than 15,000 accesses and cannot analyze data', + 'title' => 'SSR Log Analysis For single node only', + 'req_url' => 'Recent Requests Address', + 'not_enough' => 'Less than 15,000 records, unable to analyze data', ], 'convert' => [ - 'title' => 'Format transformation Shadowsocks turn ShadowsocksR', - 'content_placeholder' => 'Please fill in the configuration information to convert', + 'title' => 'Format Conversion Shadowsocks to ShadowsocksR', + 'content_placeholder' => 'Please fill in the configuration information to be converted', ], 'decompile' => [ - 'title' => 'Reparseconfig transformation', - 'attribute' => 'Invert parsing', - 'content_placeholder' => 'Please fill in the ShadowsocksR link to parse', + 'title' => 'Decompile Configuration Information', + 'attribute' => 'Decompile', + 'content_placeholder' => 'Please fill in the ShadowsocksR link that you want to decompile, one link per line', ], ], 'ticket' => [ - 'title' => 'Ticket list', - 'counts' => 'out of :num', - 'send_to' => 'Please fill in the target user information!', + 'title' => 'Tickets', + 'counts' => 'Total :num tickets', + 'send_to' => 'Please fill in the target user information', 'user_info' => 'User Information', - 'inviter_info' => 'Invitation Information', - 'close_confirm' => 'Are you sure you want to close the ticket?', - 'error' => 'Unknown error! Please see the running log', + 'inviter_info' => 'Inviter Information', + 'close_confirm' => 'Sure to close this ticket?', + 'error' => 'Unknown error! Please check the logs', ], 'logs' => [ - 'subscribe' => 'Subscription List', - 'counts' => 'of :num records', + 'subscribe' => 'Subscriptions', + 'counts' => 'Total :num records', 'rule' => [ - 'clear_all' => 'Clear records', + 'clear_all' => 'Clear all records', 'title' => 'Trigger record', 'name' => 'Trigger Rule', 'reason' => 'Trigger reason', 'created_at' => 'Trigger Time', - 'tag' => '✅ access non-rule allowed', - 'clear_confirm' => 'Are you sure you want to clear all records?', + 'tag' => '✅ Access to non-permitted content', + 'clear_confirm' => 'Sure to clear all records?', ], 'order' => [ - 'title' => 'Order List', - 'is_expired' => 'Expiry', - 'is_coupon' => 'Use coupons', + 'title' => 'Orders', + 'is_expired' => 'Whether expired', + 'is_coupon' => 'Whether a coupon is used', ], 'user_traffic' => [ - 'title' => 'Data usage', + 'title' => 'Data Usage Records', 'choose_node' => 'Select Node', ], - 'user_data_modify_title' => 'Traffic Changes', - 'callback' => 'Callback log (online payment)', - 'notification' => 'Mail delivery record', - 'ip_monitor' => 'Live data for 2 minutes of online IP monitoring', + 'user_data_modify_title' => 'User Data Change Records', + 'callback' => 'Callback Logs For Online Payment', + 'notification' => 'Email Delivery Records', + 'ip_monitor' => 'Online IP monitoring Real-time data within 2 minutes', 'user_ip' => [ - 'title' => 'User online IP list last 10 minutes', - 'connect' => 'Connect IP', + 'title' => 'User Online IP List Last 10 minutes', + 'connect' => 'IP of connection', ], 'ban' => [ 'title' => 'Users Ban Records', @@ -304,34 +304,34 @@ return [ 'ban_time' => 'Banned Time', 'last_connect_at' => 'Last connection time', ], - 'credit_title' => 'Changes in balances', + 'credit_title' => 'Balance Change Records', ], - 'start_time' => 'Start range', - 'end_time' => 'End range', + 'start_time' => 'Start', + 'end_time' => 'End', 'goods' => [ - 'title' => 'Product List', + 'title' => 'Products', 'type' => [ - 'top_up' => 'Pay', + 'top_up' => 'Top-Up', 'package' => 'Data Pack', - 'plan' => 'Pack', + 'plan' => 'Plan', ], 'info' => [ - 'type_hint' => 'The package is related to the period of validity of the account, the traffic pack is only available and does not affect the validity period', - 'period_hint' => 'Package traffic reset every N day', - 'limit_num_hint' => 'This product can be purchased per user for 0 times', - 'available_date_hint' => 'Automatically deduct traffic from total traffic when due', - 'desc_placeholder' => 'Simple description of products', - 'list_placeholder' => 'Add custom list of products', - 'list_hint' => 'Please start with<li> each line of content</li>', + '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<li> and end with </li>', ], 'status' => [ 'yes' => 'Active', 'no' => 'Inactive', ], - 'sell_and_used' => 'Use / Sale', - 'counts' => 'out of :num products', + 'sell_and_used' => 'In Use/Sales', + 'counts' => 'Total :num products', ], - 'sort_asc' => 'Sort value higher', + 'sort_asc' => 'The larger the sort value, the higher the priority', 'yes' => 'Yes', 'no' => 'No', 'rule' => [ @@ -341,434 +341,432 @@ return [ 'ip' => 'IP', 'protocol' => 'Protocol', ], - 'counts' => 'out of :num audit rules', - 'title' => 'Rule List', + 'counts' => 'Total :num audit rules', + 'title' => 'Rules', 'group' => [ 'type' => [ - 'off' => 'Snack', - 'on' => 'Release', + 'off' => 'Block', + 'on' => 'Allow', ], - 'title' => 'Rule Group', - 'counts' => 'out of :num groups', + 'title' => 'Audit Group', + 'counts' => 'Total :num audit groups', ], ], 'role' => [ - 'name_hint' => 'Unique identifier, eg::Administrator', - 'description_hint' => 'dashboard.eg::admin', - 'title' => 'List of permissions', - 'permissions_all' => 'All permissions', - 'counts' => 'out of :num permissions role', + 'name_hint' => 'Unique identification name, ex: Administrator', + 'description_hint' => 'Displays name, ex: Administrator', + 'title' => 'Permission Roles', + 'permissions_all' => 'All Permissions', + 'counts' => 'Total :num permission roles', ], 'report' => [ 'monthly_accounting' => 'Monthly Income', 'annually_accounting' => 'Annual Income', 'historic_accounting' => 'Historical Income', - 'current_month' => ' This month ', - 'last_month' => ' Last Month', - 'current_year' => ' Current year ', - 'last_year' => ' Last year ', - 'hourly_traffic' => 'Traffic per hour', - 'daily_traffic' => 'Daily traffic', - 'today' => ' Japan ', + '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 Actions List', - 'description_hint' => 'Fill in description, example:[System Edit A]', - 'name_hint' => 'Fill in the route name, example:admin.permission.create,update', - 'counts' => 'out of :num permission behavior', + '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 :num permissions', ], 'marketing' => [ 'email' => [ - 'title' => 'Mailing List', - 'group_send' => 'Mass Mail', - 'counts' => 'out of :num messages', + 'title' => 'Marketing Emails', + 'group_send' => 'Send Group Email', + 'counts' => 'Total :num emails', ], - 'send_status' => 'Send Status', - 'send_time' => 'Sent Time', - 'error_message' => 'Error message', + 'send_status' => 'Delivery Status', + 'send_time' => 'Sending time', + 'error_message' => 'Error Messages', 'push' => [ - 'title' => 'Push Message List', - 'send' => 'Push Message', - 'counts' => 'out of :num push messages', + 'title' => 'Marketing Push Messages', + 'send' => 'Push Marketing Message', + 'counts' => 'Total :num push messages', ], ], 'creating' => 'Adding...', 'article' => [ 'type' => [ - 'knowledge' => 'Articles', - 'announcement' => 'Announcements', + 'knowledge' => 'Article', + 'announcement' => 'Announcement', ], - 'category_hint' => 'The same category will be grouped under the same folder', - 'logo_hint' => 'Recommended size:100x75', - 'title' => 'Article List', - 'counts' => 'out of :num articles', + 'category_hint' => 'Same category will be grouped under the same folder', + 'logo_hint' => 'Recommended size: 100x75', + 'title' => 'Articles', + 'counts' => 'Total :num articles', ], 'coupon' => [ - 'title' => 'Card List', - 'name_hint' => 'Will be used for frontend display', - 'sn_hint' => 'The coupon is provided to users using the coupon. Leave empty to be 8 bit random code', + '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 voucher', - 'charge' => 'Voucher', + 'voucher' => 'Reduction Coupon', + 'discount' => 'Discount Coupon', + 'charge' => 'Recharge Coupon', ], - 'type_hint' => 'Redemption: deduct the amount of the product; Discount: discount the percentage of the product; Recharge: add the amount to the user balance', - 'value' => '{1} :havy_minus_sign: :num|{2} :num disc{3} ➕ :num', - 'value_hint' => 'Range 1% ~99% ', - 'priority_hint' => 'With the coupon code, the eligible high weight code will be used preferentially. Up to 255', - 'minimum_hint' => 'This coupon can only be used when the amount of payment exceeds :num;', - 'used_hint' => 'This voucher can be used by eligible users :num times;', - 'levels_hint' => 'This voucher will only be used if the user level is in the selected rank.', - 'groups_hint' => 'Group of selected users to use this voucher', - 'users_placeholder' => 'Enter user ID to go back to car', - 'user_whitelist_hint' => 'This coupon is available to all users involved and leave this condition empty for no use', - 'users_blacklist_hint' => 'This coupon is not available for all users. Empty is not used', - 'services_placeholder' => 'Enter product ID, go back to car', - 'services_whitelist_hint' => 'The product is available to use the voucher, leave empty for this condition', - 'services_blacklist_hint' => 'The coupon is not available for the product. Leave empty for this condition', + '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 :num', + 'used_hint' => 'Eligible users may use this coupon no more than :num 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' => 'Initial appointment of any vouchers', - 'first_order' => 'First ticket', - 'created_days' => 'Creator', + 'first_discount' => 'First time using any coupon', + 'first_order' => 'First Order', + 'created_days' => 'Create Account', ], - 'created_days_hint' => 'and :day days', - 'limit_hint' => 'The conditions for this item are and related, please use your own mix', - 'info_title' => 'Card Info', - 'counts' => 'out of :num coupons', + 'created_days_hint' => ':day days of account creation', + 'limit_hint' => 'The rules of this restriction are and relation, please use them properly', + 'info_title' => 'Coupon Information', + 'counts' => 'Total :num coupons', 'discount' => 'Discount', - 'export_title' => 'Card Export', + 'export_title' => 'Coupon Export', 'single_use' => 'One-time', ], 'times' => 'Times', - 'massive_export' => 'Bulk Export', - 'system_generate' => 'System generation', + 'massive_export' => 'Batch Export', + 'system_generate' => 'System Generated', 'aff' => [ 'rebate_title' => 'Referral Rebate History', - 'counts' => 'out of :num applications', - 'title' => 'List of cash out applications', - 'apply_counts' => 'out of :num applications', - 'referral' => 'Promotion of return', - 'commission_title' => 'Cash out request details', - 'commission_counts' => 'This application involves :num', + 'counts' => 'Total :num applications', + 'title' => 'Withdrawal Requests', + 'apply_counts' => 'Total :num requests', + 'referral' => 'Promotional Rebates', + 'commission_title' => 'Withdrawal Request Details', + 'commission_counts' => 'This application involves :num orders', ], 'setting' => [ 'common' => [ 'title' => 'General Configuration', 'set_default' => 'Set as default', - 'connect_nodes' => 'Linked Nodes', + 'connect_nodes' => 'Number of associated nodes', ], 'email' => [ - 'title' => 'Email filter list (used to block registration email suffixes)', + 'title' => 'Email Suffix Filters used to limit the emails used for registration', 'tail' => 'Email Suffix', - 'rule' => 'Rules', + 'rule' => 'Restriction Type', 'black' => 'Blacklist', 'white' => 'Whitelist', 'tail_placeholder' => 'Please fill in the email suffix', ], 'system' => [ - 'title' => 'System Configuration', - 'web' => 'Website General', - 'account' => 'Account Settings', - 'node' => 'Node Settings', + 'title' => 'System Settings', + 'web' => 'Website', + 'account' => 'Account', + 'node' => 'Node', 'extend' => 'Advanced', - 'check_in' => 'Signing in', - 'promotion' => 'Extension system', - 'notify' => 'Notification System', - 'auto_job' => 'Auto Task', - 'other' => 'LOGO|Support | Statistics', - 'payment' => 'Payment system', + 'check_in' => 'Check-in', + 'promotion' => 'Promotion', + 'notify' => 'Notification', + 'auto_job' => 'Automation', + 'other' => 'LOGO|Customer Service|Statistics', + 'payment' => 'Payment Gateway', 'menu' => 'Menu', ], - 'no_permission' => 'You do not have permission to modify parameters!', + 'no_permission' => 'You have no permission to change the setting!', ], 'system' => [ - 'account_expire_notification' => 'Account Expired Notifications', - 'active_times' => 'Number of active accounts', - 'admin_invite_days' => 'Admin - Invitation Code Expiration', - 'aff_salt' => 'Invite Link User Information Characterization', - 'alipay_qrcode' => 'PayPal QR', - 'AppStore_id' => 'Apple Account', - 'AppStore_password' => 'Apple Password', - 'auto_release_port' => 'Port recovery mechanisms', - 'bark_key' => 'Bark Device Number', + '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' => 'Code Payment ID', - 'codepay_key' => 'Communication Key', - 'codepay_url' => 'Request URL', - 'data_anomaly_notification' => 'Data exception notification', - 'data_exhaust_notification' => 'Data Expiration Notification', - 'ddns_key' => 'DNS Server Key', - 'ddns_mode' => 'DDNS mode', - 'ddns_secret' => 'DNS Server Secret', - 'default_days' => 'Initial expiration', - 'default_traffic' => 'Initial traffic', - 'detection_check_times' => 'Block detection alerts', - 'dingTalk_access_token' => 'Pin Custom Robot Access Token', - 'dingTalk_secret' => 'Studded custom robot key', - 'epay_key' => 'Merchant Key', - 'epay_mch_id' => 'Merchant ID', - 'epay_url' => 'Interface Address', - 'expire_days' => 'Expired warning threshold', - 'f2fpay_app_id' => 'Application ID', - 'f2fpay_private_key' => 'Apply private key', - 'f2fpay_public_key' => 'PayPal Public Key', - 'forbid_mode' => 'Ban Access', - 'invite_num' => 'Number of invitations to generate', - 'is_activate_account' => 'Activate Account', - 'is_AliPay' => 'PayPal Payment', - 'is_ban_status' => 'Expire auto-ban', - 'is_captcha' => 'Verification Code Mode', - 'is_checkin' => 'User gets addition traffic for signing in', - 'is_clear_log' => 'Auto-clear log', - 'is_custom_subscribe' => 'Premium Subscription', - 'is_email_filtering' => 'Email filtering mechanism', - 'is_forbid_robot' => 'Block robots', - 'is_free_code' => 'Free invitation code', - 'is_invite_register' => 'Invite to Register', - 'is_otherPay' => 'Special Payment', - 'is_QQPay' => 'QQ Wallet', - 'is_rand_port' => 'Random Port', - 'is_register' => 'User Registration', - 'is_subscribe_ban' => 'Subscription exception auto-ban', - 'is_traffic_ban' => 'Exception auto-seal number', - 'is_WeChatPay' => 'WeChat Pay', - 'iYuu_token' => 'IYUU Token', - 'maintenance_content' => 'Maintain Description', - 'maintenance_mode' => 'Maintenance mode', + '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' => 'Various Subscriptions', + '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 block alarm', - 'node_daily_notification' => 'Node Usage Report', - 'node_offline_notification' => 'Node Offline Reminder', - 'oauth_path' => 'Third Party Login Platform', - 'offline_check_times' => 'Number of reminders offline', - 'password_reset_notification' => 'Reset Password', - 'paybeaver_app_id' => 'App ID', - 'paybeaver_app_secret' => 'App Secret', - 'payjs_key' => 'Communication Key', - 'payjs_mch_id' => 'Merchant Number', - 'payment_confirm_notification' => 'Manual Payment Confirmation Notification', - 'payment_received_notification' => 'Payment successful', - 'paypal_app_id' => 'Application ID', - 'paypal_certificate' => 'Certificates', - 'paypal_password' => 'API Password', - 'paypal_secret' => 'Signature', - 'paypal_username' => 'API Username', - 'pushDeer_key' => 'PushDeer Key', - 'pushplus_token' => 'PushPlus Token', + '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' => '[PayPal] App ID', + 'paypal_certificate' => '[PayPal] Certificate', + 'paypal_password' => '[PayPal] Password', + 'paypal_secret' => '[PayPal] Secret', + 'paypal_username' => '[PayPal] Username', + 'pushDeer_key' => '[PushDeer] Key', + 'pushplus_token' => '[PushPlus] Token', 'rand_subscribe' => 'Random Subscription', - 'redirect_url' => 'Redirect Address', - 'referral_money' => 'Cash out Limit', - 'referral_percent' => 'Return Ratio', - 'referral_status' => 'Promotion features', - 'referral_traffic' => 'Traffic for signing up', - 'referral_type' => 'Return Mode', - 'register_ip_limit' => 'Registration limit with IP', - 'reset_password_times' => 'Reset Password Count', - 'reset_traffic' => 'Data reset automatically', - 'server_chan_key' => 'ServerChan SCKEY', - 'standard_currency' => 'Current currency', + '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' => 'Node Subscription URL', - 'subscribe_max' => 'Number of available nodes', + '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 Jam Token', - 'theadpay_key' => 'Merchant Key', - 'theadpay_mchid' => 'Merchant ID', - 'theadpay_url' => 'Interface Address', - 'ticket_closed_notification' => 'Ticket close notification', - 'ticket_created_notification' => 'New Ticket Notification', - 'ticket_replied_notification' => 'Ticket Reply Notification', - 'traffic_ban_time' => 'Envelope duration', - 'traffic_ban_value' => 'Data abnormal threshold', - 'traffic_limit_time' => 'Time interval', - 'traffic_warning_percent' => 'Traffic warning threshold', - 'trojan_license' => 'Trojan Authorization', - 'username_type' => 'Account Type', - 'user_invite_days' => 'User-Invitation Code Expiration', - 'v2ray_license' => 'V2Ray Authorize', + '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' => 'Admin Email', + 'webmaster_email' => 'Administrator Email', 'website_analytics' => 'Statistics Code', - 'website_callback_url' => 'General Payment Callback Address', - 'website_customer_service' => 'Support Code', - 'website_home_logo' => 'Homepage logo', - 'website_logo' => 'Logo', + 'website_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 address', + 'website_url' => 'Site Domain Address', 'web_api_url' => 'Authorization/Backend Access Domain', - 'wechat_aid' => 'Microcredit Enterprise Application ID', - 'wechat_cid' => 'Microcredit Company ID', - 'wechat_encodingAESKey' => 'Microcredit Enterprise Application EncodingAESKey', - 'wechat_qrcode' => 'Min QR Code', - 'wechat_secret' => 'Microcredit Enterprise Application Key', - 'wechat_token' => 'Microcredit Application TOKEN', + '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 about to expire', - 'active_times' => 'Number of accounts that can be activated by email within 24 hours', - 'admin_invite_days' => 'Expiration of administrator-generated invitation code', - 'aff_salt' => 'When left blank, the invite link will show the user ID; enter any English/number to encrypt the user link ID', - 'AppStore_id' => 'Apple account used in iOS settings tutorials', - 'AppStore_password' => 'Apple password used in iOS settings tutorials', - 'auto_release_port' => 'Banned/Expired '.config('tasks.release_port').'Auto-release of account port after days', - 'bark_key' => 'Push messages to iOS device. Requires an app called Bark to be installed on iOS device, a long string of URLs from the site. Enable Bark. Make sure to fill in this value', + '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 '.config('tasks.release_port').' 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 Setup Guide to set up', - 'data_anomaly_notification' => 'User hourly traffic exceeding abnormal threshold notification to admin', - 'data_exhaust_notification' => 'Notify users that traffic will be exhausted', + '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 Setup Guide to set up", - 'ddns_mode' => 'Automatically update content to DNS Provider when adding/editing/deleting node\'s domain name, ipv4, ipv6', - 'default_days' => 'Default account validity period when user is registered, 0 is due that day', - 'default_traffic' => 'Default traffic available when registering users', - 'detection_check_times' => 'Automatically disconnect nodes after N and no limit for 0/empty and no more than 12', - 'dingTalk_access_token' => 'Read theDingTalk manualto see the set up steps', - 'dingTalk_secret' => 'Optional! Enabling robot[加签]is required!', - 'expire_days' => '[Account Expiry Notice] Start Thresholder, Daily Notifications', + '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 DingTalk Handbook 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' => 'Application key generated when generated', - 'f2fpay_public_key' => 'Note that the public key is not applied!', - 'forbid_mode' => 'Block the corresponding area by IP, non-block access', - 'invite_num' => 'Number of invitations that users can generate', - 'is_activate_account' => 'When enabled, users need email to activate their account', + '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, a verification code will be required for login/registration', - 'is_checkin' => 'When logging in, traffic will be randomly obtained according to traffic range', - 'is_clear_log' => 'Auto-clear unused logs when enabled (recommended)', + 'is_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 register with emails other than any blacklist; whitelist: Users can only choose to register using whitelisted email suffixes', - 'is_forbid_robot' => '404 errors if you are robot, creep, and proxy access to the website', + 'is_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' => 'Generates a random port when registering a user', + 'is_rand_port' => 'Randomly get ports when users register/add users', 'is_register' => 'Cannot register if disabled', - 'is_subscribe_ban' => 'Automatically block user subscription requests beyond the set threshold when enabled', - 'is_traffic_ban' => 'Auto-envelope number after 1 hour traffic above the abnormal threshold (disable proxy only)', - 'iYuu_token' => 'Before enabling IYUU, Please M=make sure to fill in token that (apply from IYUU)', - 'maintenance_content' => 'Custom maintenance information', + '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 (apply from IYUU)', + 'maintenance_content' => 'Customized maintenance announcement content', 'maintenance_mode' => "When enabled, user access will redirect to maintenance page| For Admin access using :url", - 'maintenance_time' => 'Used to maintain interface countdown', - 'min_port' => 'Port range:1000 - 65535', - 'node_blocked_notification' => 'Hourly check if the node is blocked and alerts the administrator', + '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' => 'Detect node offline every 10 minutes and remind administrator', - 'oauth_path' => 'Please add settings in .ENV to open the platform here', - 'offline_check_times' => 'Don\'t remind again within 24 hours', - 'password_reset_notification' => 'When enabled users can reset their password', + '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' => 'Merchant Center -> Developer -> App ID', 'paybeaver_app_secret' => 'Merchant Center -> Developer -> App Secret', - 'payjs_mch_id' => 'Get information oninterface', - 'payment_confirm_notification' => 'User notifies the administrator of the order after manual payment', - 'payment_received_notification' => 'Notify user order status after payment of order', - 'pushDeer_key' => 'Enable PushDeer, make sure to enter this value (to apply for Push Key)', - 'pushplus_token' => 'Enable PushPlus, make sure to enter this value (to apply Token)', + 'payjs_mch_id' => 'Get configs from Member page', + '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 Push Key', + 'pushplus_token' => 'Before enabling PushPlus, make sure to fill Token', 'rand_subscribe' => 'When enabled, the system returns the node list randomly, otherwise, it will be available based on Node list order', - 'redirect_url' => 'Access request was blocked and redirected to the address when triggering the audit rule', - 'referral_money' => 'How many dollars to apply for cashout', - 'referral_percent' => 'Percentage of shares per consumer promoter per account registered by promotion link', - 'referral_status' => 'User is not visible after shutdown but does not affect normal invitation return', - 'referral_traffic' => 'Send traffic by extension link, invitation code registration', - 'referral_type' => 'Old data will remain unchanged after switching mode and new returns will be calculated in new mode', - 'register_ip_limit' => 'Number of registrations allowed with IP within 24 hours, no limit for 0/empty', - 'reset_password_times' => 'Number of times you can reset your password by email within 24 hours', - 'reset_traffic' => 'Users will automatically reset available traffic according to their purchase date', - 'server_chan_key' => 'Enable ServerChan, please enter this value (to apply SCKEY)', - 'standard_currency' => 'Default currency for the money section of the site', + '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 SCKEY', + 'standard_currency' => 'For displaying product title in payment gateways', 'subject_name' => 'Display product title for payment channel', - 'subscribe_ban_times' => 'Subscription link request limit within 24 hours', - 'subscribe_domain' => '(recommended) To prevent DNS poisoning of DNS domains from being subscribed properly by http:// or https://"', - 'subscribe_max' => 'Get several nodes on client subscription, return all nodes on 0/empty', - 'telegram_token' => 'Find @Bother to apply for robots to get TOKEN', - 'tg_chat_token' => 'Enable TG jamma. Make sure to enter this value (to apply token)', - 'ticket_closed_notification' => 'Notify user about ticket shutdown', - 'ticket_created_notification' => 'New ticket notification manager/user depending on who created the new ticket', - 'ticket_replied_notification' => 'Ticket reply notification each other', - 'traffic_ban_time' => 'Trigger traffic abnormalities cause users to be banned for long periods of time and automatically unblock when they expire', - 'traffic_ban_value' => 'This value exceeds in 1 hour, triggering auto-seal', - 'traffic_limit_time' => 'Interval of signing in again', - 'traffic_warning_percent' => '[Notification Duration of traffic threshold] to notify users daily', - 'username_type' => 'Specify the type of site user account, default to email', - 'user_invite_days' => 'Expiration of user self-generated invitations', - 'v2ray_tls_provider' => 'Use backend autoissue/load TLS certificate (node\'s settings value is higher than here)', - 'webmaster_email' => 'An administrator email will be provided for contact information when an error is prompted', - 'website_analytics' => 'Stats JS', - 'website_callback_url' => 'Prevent payment from being backsliding due to a DNS poisoning of a website domain, with http://', - 'website_customer_service' => 'Support JS', - 'website_name' => 'Show On Mail', - 'website_security_code' => 'You must add a security code to thesecurity entrywhen not empty', - 'website_url' => 'Generate password reset and pay online', - 'web_api_url' => 'Example:https://demo.proxypanel.cf', - 'wechat_aid' => 'Create an app inapp management- AgentId', - 'wechat_cid' => 'Get the enterprise ID inmy enterprise', - 'wechat_encodingAESKey' => 'App Management -> Application -> Set API Receive -> EncodingAESKey', - 'wechat_secret' => 'App Secretariats (may need to download company micromessages to view)', - 'wechat_token' => 'App Management -> Application -> Set API Receive -> TOKEN, URL Settings::url', + '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 @BotFather to apply for robot\'s TOKEN', + 'tg_chat_token' => 'Before enabling TG Chat, please fill in applied Token', + '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' => 'The duration of the user\'s ban due to traffic abnormalities is triggered and 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 Secure Portal to access the website', + 'website_url' => 'Main domain that this panel will be using for everything links related as default', + 'web_api_url' => 'Example: https://demo.proxypanel.cf', + 'wechat_aid' => 'Create an app in app management page, get AgentId', + 'wechat_cid' => 'Get the CID inMy Enterprise page', + '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' => 'Defaulting :url', - 'server_chan_key' => 'Enter ServerChan\'s SCKEY->Click again to update', - 'pushDeer_key' => 'Fill Push Key -> Click on Update', - 'iYuu_token' => 'Fill IYUU Token -> Fly in Love', - 'bark_key' => 'Enter the device number in Bark -> Click to Update', - 'telegram_token' => 'Enter Telegram Token -> Click Update', - 'pushplus_token' => 'Please go to ServerChan application', - 'dingTalk_access_token' => 'Customize access_token in robot WebHook', - 'dingTalk_secret' => 'Customize the key that will appear after robot is signed', - 'wechat_aid' => 'Applied AgentId', - 'wechat_cid' => 'Enter the MicroMessage Business ID -> Click to Update', - 'wechat_secret' => 'App Secret', - 'tg_chat_token' => 'Please go to Telegram application', + '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 Settings', + 'attribute' => 'Payment Gateway', 'channel' => [ - 'alipay' => 'PayPal F2F', - 'codepay' => 'Code Payment', - 'epay' => 'Pay easily', + 'alipay' => 'Alipay F2F', + 'codepay' => 'CodePay', + 'epay' => 'ePay', 'payjs' => 'PayJs', 'paypal' => 'PayPal', 'stripe' => 'Stripe', - 'paybeaver' => 'Beaver Payment', - 'theadpay' => 'Horizontal payments', - 'manual' => 'Manual payment', + 'paybeaver' => 'PayBeaver', + 'theadpay' => 'THeadPay', + 'manual' => 'Manual Pay', ], 'hint' => [ - 'alipay' => 'This feature requiresant gold for open platformto apply for permissions and apps', - 'codepay' => 'Apply Codepay Account', - 'payjs' => 'Please apply toPayJs', - 'paypal' => 'Sign in with merchant accountAPI credentials application pageagree and get settings information', - 'paybeaver' => 'Apply PayBeaver Account', - 'theadpay' => 'Please pay THeadPayfor your account at', - 'manual' => 'Display will be automatically enabled after setting', + 'alipay' => 'This feature requires going to Ant Financial Services Open Platform to apply for permission and application', + 'codepay' => 'Please go to CodePay. Apply for an account, download and set up its software', + 'payjs' => 'Please go to PayJs to apply an account', + 'paypal' => 'Login to the API credentials application page with your merchant account, agree and get setup information', + 'paybeaver' => 'Please go to PayBeaver to apply an account', + 'theadpay' => 'Please go to THeadPay to request an account', + 'manual' => 'After the gateway is set and selected, it will be displayed on the user-end', ], ], 'notification' => [ 'channel' => [ - 'telegram' => 'TG telex', - 'wechat' => 'Microcredit Enterprise', - 'dingtalk' => 'Pin', + 'telegram' => 'Telegram', + 'wechat' => 'Enterprise WeChat', + 'dingtalk' => 'DingTalk', 'email' => 'Email', 'bark' => 'Bark', 'serverchan' => 'ServerChan', 'pushdeer' => 'PushDeer', 'pushplus' => 'PushPlus', - 'iyuu' => 'Love Fly', - 'tg_chat' => 'TG sauce', - 'site' => 'Inside Notifications', + 'iyuu' => 'IYUU', + 'tg_chat' => 'TG Chat', + 'site' => 'Site Popup', ], ], 'forbid' => [ - 'mainland' => 'Block Continent', - 'china' => 'Block China', - 'oversea' => 'Blocking Outcomers', + 'mainland' => 'Forbid Chinese Mainland Access', + 'china' => 'Forbid China Access', + 'oversea' => 'Forbid Oversea Access', ], 'username' => [ 'email' => 'Email', @@ -776,29 +774,29 @@ return [ 'any' => 'Any Username', ], 'active_account' => [ - 'before' => 'Activate before registration', + 'before' => 'Pre-registration activation', 'after' => 'Activate after registration', ], 'ddns' => [ 'namesilo' => 'Namesilo', - 'aliyun' => 'Aliyun (International&domestic)', + 'aliyun' => 'AliCloud/Aliyun', 'dnspod' => 'DNSPod', 'cloudflare' => 'CloudFlare', ], 'captcha' => [ - 'standard' => 'Normal Code', - 'geetest' => 'Positive aspects', + 'standard' => 'Standard', + 'geetest' => 'Geetest', 'recaptcha' => 'Google ReCaptcha', 'hcaptcha' => 'hCaptcha', ], 'referral' => [ - 'once' => 'First acquisition return', - 'loop' => 'Loop Return', + 'once' => 'First Purchase Rebate', + 'loop' => 'Always Rebate', ], ], - 'set_to' => 'The :attribute', + 'set_to' => 'Set to :attribute', 'minute' => ' minutes', - 'query' => 'Question', + 'query' => 'Query', 'optional' => 'Optional', 'require' => 'Required', ]; diff --git a/resources/lang/en/auth.php b/resources/lang/en/auth.php index 24692596..02eac009 100644 --- a/resources/lang/en/auth.php +++ b/resources/lang/en/auth.php @@ -1,32 +1,33 @@ 'I have read and agree to obey', + 'accept_term' => 'I have read and accepted', 'active' => [ - 'attribute' => 'Activation', + 'attribute' => 'Active', 'error' => [ - 'activated' => 'The account has been activated, no need to activate again', - 'disable' => 'The account activation subsystem has been disabled, you can login directly!', - 'throttle' => 'Anti-bots Shield Active! Please do not send multiple activate from at short amount of times! If you have any questions, please contact :email', + 'activated' => 'Your account has been activated, no need to re-activate', + 'disable' => 'Account activation has been disabled, you can sign in directly!', + 'throttle' => 'You have triggered the activation request restriction, please do not operate too frequent! If you have any questions, please contact: email', ], - 'sent' => 'Activation link has been sent to your email, please check the mailbox (the email may be in the Trash)', - 'promotion' => ['0' => 'Account has not been activated,Please', '1' => 'before login!'], + 'sent' => 'Activation Email has sent to your mailbox, please check your mailbox (Email may be in the Trash)', + 'promotion' => ['0' => 'Account has not been activated, Please', '1' => 'before sign in!'], ], 'aup' => 'Acceptable Use Policy', 'captcha' => [ 'attribute' => 'Captcha', - 'error' => ['failed' => 'Verification failed, please try again', 'timeout' => 'The code is invalid! Please refresh and try again'], + 'error' => ['failed' => 'Captcha verification failed, please try again', 'timeout' => 'Invalid verification code! It maybe expired, please refresh and try again.'], 'required' => 'Please complete the Captcha operation!', 'sent' => 'Email has been sent! Please check your mailbox! (Email may be in the Trash)', ], 'email' => [ - 'error' => ['banned' => 'Your email service provider was banned by our platform. Please use another valid email', 'invalid' => 'Your email service provider is not in our supporting list. Please use another email'], + 'error' => ['banned' => 'Your email service provider was banned by our platform. Please use another valid email', 'invalid' => 'Your email service provider is not in our supported list. Please use another email +'], ], 'error' => [ 'account_baned' => 'Your account has been banned!', 'login_error' => 'Login error, please try again later!', 'login_failed' => 'Login failed, please check whether the email or password is entered correctly!', - 'not_found_user' => 'Did not find your account base on your account email, Please find a other way to login', + 'not_found_user' => 'No associated account found, please use other ways to login', 'repeat_request' => 'Please refresh the page and try again', 'url_timeout' => 'The link has expired, please try again', ], @@ -34,21 +35,21 @@ return [ 'attribute' => 'Invitation code', 'error' => ['unavailable' => 'Invitation code is invalid!'], 'get' => 'Click to get the invitation code', - 'not_required' => 'No invitation code is required, you can register directly!', + 'not_required' => 'No invitation code is required, you can sign up directly!', ], 'login' => 'Sign in', 'logout' => 'Logout', - 'maintenance' => 'Maintain', - 'maintenance_tip' => 'Website under maintenance', + 'maintenance' => 'Maintenance', + 'maintenance_tip' => 'Maintenance in progress', 'oauth' => [ - 'bind_success' => 'Binding success', + 'bind_success' => 'Binding successfully', 'bind_failed' => 'Binding failed', - 'login_failed' => 'Sign in failed!', - 'register' => 'Quick registration', - 'registered' => 'Already registered, please login directly', + 'login_failed' => 'Third-party login failed!', + 'register' => 'Quick Registration', + 'registered' => 'Already registered, please sign in directly', 'register_failed' => 'Registration failed', - 'rebind_success' => 'Rebinding success', - 'unbind_success' => 'Unbinding success', + 'rebind_success' => 'Re-binding successfully', + 'unbind_success' => 'Unbinding successfully', 'unbind_failed' => 'Unbinding failed', ], 'optional' => 'Optional', @@ -59,21 +60,21 @@ return [ 'reset' => [ 'attribute' => 'Reset Password', 'error' => [ - 'disabled' => 'The password reset subsystem has been disabled, you can contact :email for help', + 'disabled' => 'We have disabled the password reset function, please contact :email for help', 'failed' => 'Password reset failed', - 'throttle' => 'Password can only be reset :time times within 24 hours, Please Do not operate too frequently', - 'same' => 'The new password cannot be the same as the old password, please re-enter', - 'wrong' => 'The password is incorrect, please re-enter', + 'throttle' => 'You can only reset your password :time times within 24 hours, please do not operate frequently.', + 'same' => 'New password cannot be the same as old password, please re-enter', + 'wrong' => 'Password incorrect, please try again', 'demo' => 'You can not change administrator password under Demo environment', ], - 'sent' => 'Reset link has been sent to your email, please check the mailbox (the email may be in the Trash)', - 'success' => 'The password has been reset successfully, please go to login', + 'sent' => 'Reset link has sent to your mailbox, please check the email (Email may be in the Trash)', + 'success' => 'New password set successfully, you can sign in now', ], ], 'register' => [ 'attribute' => 'Sign up', 'code' => 'Registration Code', - 'error' => ['disable' => 'Sorry, The registration function has been disabled', 'throttle' => 'Anti-bots shield is active! Please do not send multiple register from at short amount of times!'], + 'error' => ['disable' => 'Sorry, we have temporarily stopped accepting new users', 'throttle' => 'Anti-bots is active! Please do not send register forms too frequently!'], 'promotion' => 'Still no account? Please go to ', 'failed' => 'Registration failed, please try later', 'success' => 'Registration successfully', diff --git a/resources/lang/en/common.php b/resources/lang/en/common.php index de045bf8..f2f5837d 100644 --- a/resources/lang/en/common.php +++ b/resources/lang/en/common.php @@ -6,7 +6,7 @@ return [ 'created_at' => 'Created At', 'expired_at' => 'Expiration Date', 'updated_at' => 'Updated At', - 'latest_at' => 'Latest At', + 'latest_at' => 'Latest Activity', 'back' => 'Back', 'cancel' => 'Cancel', 'close' => 'Close', @@ -16,7 +16,7 @@ return [ 'open' => 'Open', 'send' => 'Send', 'view' => 'View', - 'reset' => 'Rest', + 'reset' => 'Reset', 'copy' => [ 'attribute' => 'Copy', 'success' => 'Copy successfully', @@ -76,9 +76,9 @@ return [ 'unlimited' => 'Unlimited', 'payment' => [ 'credit' => 'Balance', - 'wechat' => 'Wechat', + 'wechat' => 'WeChat', 'alipay' => 'Alipay', - 'crypto' => 'Cryptocurrency', + 'crypto' => 'Crypto', 'manual' => 'Manual Payment', 'status' => [ 'wait' => 'Awaiting payment', @@ -88,7 +88,7 @@ return [ ], 'order' => [ 'status' => [ - 'cancel' => 'Cancel', + 'cancel' => 'Canceled', 'complete' => 'Completed', 'prepaid' => 'Prepaid', 'ongoing' => 'Using', @@ -99,8 +99,8 @@ return [ 'advance' => 'Advance', 'action' => 'Action', 'search' => 'Search', - 'edit' => 'Part', - 'delete' => 'Deletions', + 'edit' => 'Edit', + 'delete' => 'Delete', 'status' => [ 'attribute' => 'Status', 'inactive' => 'Inactive', @@ -108,7 +108,7 @@ return [ 'banned' => 'Banned', 'normal' => 'Normal', 'enabled' => 'Active', - 'expire' => 'Expiration', + 'expire' => 'Expired', 'limited' => 'Limitations', 'run_out' => 'Out of traffic', 'unused' => 'Unused', @@ -121,21 +121,21 @@ return [ 'pending' => 'Pending', 'unknown' => 'Announcements', 'available' => 'Active', - 'reject' => 'Rise Back', + 'reject' => 'Reject', 'rejected' => 'Rejected', 'review' => 'Pending approval', 'reviewed' => 'Approve pending payment', 'paid' => 'Waited', 'payment_pending' => 'To be paid', 'pass' => 'Passed', - 'send_to_credit' => 'Buy to Balance', + 'send_to_credit' => 'Credit to Balance', 'waiting_tobe_send' => 'Waiting for delivery', ], - 'stay_unchanged' => 'Leave empty for the same', - 'random_generate' => 'Leave empty to randomly generate', + 'stay_unchanged' => 'Leave blank for no change', + 'random_generate' => 'Leave blank to randomly generate', 'request_failed' => 'Request error, please try again', 'convert' => 'Convert', - 'import' => 'Inputs', + 'import' => 'Import', 'or' => 'or', 'more' => 'More', 'to' => 'To', diff --git a/resources/lang/en/errors.php b/resources/lang/en/errors.php index becc5d74..780aab4c 100644 --- a/resources/lang/en/errors.php +++ b/resources/lang/en/errors.php @@ -12,7 +12,7 @@ return [ 'missing_page' => 'Page Not Found', 'refresh' => 'Refresh', 'refresh_page' => 'Please Refresh Page, Then Try Again', - 'report' => 'Error comes back with log: ', + 'report' => 'Error comes back with log:', 'safe_enter' => 'Secure Entrance', 'safe_code' => 'Please enter the security code', 'system' => 'System Error', @@ -20,16 +20,16 @@ return [ 'unauthorized' => 'Unauthorized Access', 'unsafe_enter' => 'Non-Secure Entrance', 'visit' => 'Please visit', - 'whoops' => 'Whoops!', - 'get_ip' => 'Get IP information abnormal', + 'whoops' => 'Whoops!', + 'get_ip' => 'Get IP information exception', 'subscribe' => [ - 'unknown' => 'Unknown subscribe url! Please get a new one!', + 'unknown' => 'Unknown subscribe URL! Please get a new one!', 'sub_baned' => 'Subscribe banned! Visit the web for detail', - 'user' => 'Wrong Url, Account not exist!', + 'user' => 'Wrong URL, Account not exist!', 'user_disable' => 'Account Banned!', 'baned_until' => 'Account has been banned until :time, Please wait to unlock!', - 'out' => 'OUT OF DATA!Please consider to purchase new data or reset it!', - 'expired' => 'Account Expired!Please renew your purchase!', + 'out' => 'OUT OF DATA! Please consider to purchase new data or reset it!', + 'expired' => 'Account Expired! Please renew your purchase!', 'question' => 'Account Error?! Visit web for detail', 'none' => 'No nodes Available', ], diff --git a/resources/lang/en/model.php b/resources/lang/en/model.php index ce19bdf0..7741970d 100644 --- a/resources/lang/en/model.php +++ b/resources/lang/en/model.php @@ -58,7 +58,7 @@ return [ 'user_group' => [ 'attribute' => 'User Group', 'name' => 'Group Name', - 'nodes' => 'Select Node', + 'nodes' => 'Select Nodes', ], 'node' => [ 'attribute' => 'Node', @@ -94,8 +94,8 @@ return [ 'single_passwd' => '[Only] Password', 'v2_alter_id' => 'Alter ID', 'v2_net' => 'Transport', - 'v2_cover' => 'Camouflage type', - 'v2_host' => 'Camouflage domain', + 'v2_cover' => 'Spoofing type', + 'v2_host' => 'Spoofing domain', 'v2_path' => 'Path | Key', 'v2_sni' => 'SNI', 'v2_tls' => 'TLS', @@ -162,7 +162,7 @@ return [ ], 'permission' => [ 'attribute' => 'Permission Behavior', - 'description' => 'Description of behavior', + 'description' => 'Description', 'name' => 'Route Name', ], 'article' => [ @@ -182,9 +182,9 @@ return [ 'type' => 'Type', 'value' => 'Amount of preference', 'priority' => 'Priority', - 'usable_times' => 'Usage Count', + 'usable_times' => 'Useable times', 'minimum' => 'Discount condition', - 'used' => 'Personal Usage limit', + 'used' => 'Number of individual useable times', 'levels' => 'Ranking limit', 'groups' => 'Group Limit', 'users_whitelist' => 'Licensed User', @@ -233,6 +233,6 @@ return [ 'before' => 'Balance before operation', 'after' => 'Balance after operation', 'amount' => 'Amount of change', - 'created_at' => 'Occurrence time', + 'created_at' => 'Operation Date/Time', ], ]; diff --git a/resources/lang/en/notification.php b/resources/lang/en/notification.php index a02ec39e..0b6346b3 100644 --- a/resources/lang/en/notification.php +++ b/resources/lang/en/notification.php @@ -4,27 +4,27 @@ return [ 'attribute' => 'NOTIFICATIONS', 'new' => ':num new message|:num new messages', 'empty' => 'No new message', - 'payment_received' => 'Order has paid, Amount: :amount! Click me to view the detail', + 'payment_received' => 'Order has paid, Amount: :amount! Click me to view detail', 'account_expired' => 'Account Going to Expire', 'account_expired_content' => 'Your account will be expired after [:days] days. For your server experience, please renew your account ahead of time.', - 'account_expired_blade' => 'Account will be expired after【:days】days, Please renew', - 'active_email' => 'Please complete this action in 30 minutes', - 'close_ticket' => 'Ticket #【:id】 - :title Closed', + 'account_expired_blade' => 'Account will be expired in [:day] days, Please renew it in time', + 'active_email' => 'Please complete the operation within 30 minutes', + 'close_ticket' => 'Ticket #:id - :title Closed', 'view_web' => 'View Our Website', 'view_ticket' => 'View The Ticket', 'new_ticket' => 'New Ticket Opened: :title', 'reply_ticket' => 'New Ticket Replied: :title', - 'ticket_content' => 'Ticket Content: ', + 'ticket_content' => 'Ticket Content:', 'node_block' => 'Node Blocked Warning', 'node_offline' => 'Node maybe offline!', 'node_offline_content' => 'Following Nodes abnormal: return heartbeats\' information are abnormal, Please pay attention.', 'block_report' => 'Blocked Report: ', 'traffic_warning' => 'Data Traffic Waring: ', - 'traffic_remain' => 'Data Traffic Consumption: :percent%', - 'traffic_tips' => 'Please pay attention on the service reset day. You may also cloud consider reset your data before the reset day.', + 'traffic_remain' => 'Data used: :percent%, please stay tuned!', + 'traffic_tips' => 'Please pay attention on the service reset day. You may also consider reset your data before the reset day.', 'verification_account' => 'Account Verification', 'verification' => 'Your verification code: ', - 'verification_limit' => 'Please complete this action in :minutes minutes', + 'verification_limit' => 'Please complete the operation within :minutes minutes', 'data_anomaly' => 'User Data Traffic Abnormal Warning', 'data_anomaly_content' => 'User :id: Recent Hourly Data Usage [Upload: :upload | Download: :download | Total: :total]', 'node' => [ diff --git a/resources/lang/en/user.php b/resources/lang/en/user.php index 689500cb..66075383 100644 --- a/resources/lang/en/user.php +++ b/resources/lang/en/user.php @@ -24,8 +24,8 @@ return [ 'attendance' => [ 'attribute' => 'Attendance', 'disable' => 'Attendance System is disabled', - 'done' => 'You have already signed in, Come back tomorrow!', - 'success' => 'You got :data traffic', + 'done' => 'Already checked in, come back tomorrow!', + 'success' => 'You got :data data', 'failed' => 'System ❌ Error', ], 'traffic_logs' => 'Data Records', @@ -44,14 +44,14 @@ return [ 'isp' => 'ISP', 'address' => 'Address', ], - 'purchase_promotion' => 'Purchase Now !', + 'purchase_promotion' => 'Purchase Now!', 'menu' => [ 'helps' => 'Help', 'home' => 'Home', 'invites' => 'Invite', 'invoices' => 'Invoice', 'nodes' => 'Node', - 'referrals' => 'Affiliates', + 'referrals' => 'Promotion', 'shop' => 'Shop', 'profile' => 'Settings', 'tickets' => 'Ticket', @@ -71,8 +71,8 @@ return [ 'recharge' => 'Gift Card', 'discount' => 'Discount', 'error' => [ - 'unknown' => 'unKnown Coupon', - 'used' => 'This Coupon has been used.', + 'unknown' => 'Unknown Coupon', + 'used' => 'Coupon has been used', 'expired' => 'Expired', 'run_out' => 'Run Out of Usage', 'inactive' => 'Coupon Inactive yet', @@ -88,7 +88,7 @@ return [ 'invite' => [ 'attribute' => 'Invitation code', 'counts' => 'Total :num invitation codes', - 'tips' => 'Can generate :num invitation codes, valid within :days', + 'tips' => 'Can generate :num invitation codes, valid within :days', 'logs' => 'Invitation Record', 'promotion' => 'Register and activate with your invitation code, Both sides will get :traffic traffic as rewards; when invitees purchase services, you will get :referral_percent% of their spend amount as commission.', 'generate_failed' => 'Failed to generate', @@ -96,7 +96,7 @@ return [ 'reset_data' => [ '' => 'Reset Data', 'required' => 'Required', - 'cost_tips' => 'This following action will cost :amount!', + 'cost_tips' => 'This following action will cost :amount!', 'lack' => 'Insufficient balance. Please recharge!', 'logs' => 'User purchase reset data', 'success' => 'Reset Successfully', @@ -109,7 +109,7 @@ return [ 'success' => 'Application success', 'msg' => [ 'account' => 'Account has expired, please purchase to active service first', - 'applied' => 'There is an application exist, please wait for the previous application to be processed', + 'applied' => 'Application already exists, please wait for the previous application to be processed', 'unfulfilled' => 'A minimal amount to created application is :amount', 'wait' => 'Please wait for the administrator to review', 'error' => 'Rebate order creation failed, please try later or notify the administrator', @@ -124,10 +124,10 @@ return [ 'input_coupon' => 'Please enter the gift code', 'recharge' => 'Pay', 'recharge_credit' => 'Add Funds', - 'recharging' => 'Paying ...', + 'recharging' => 'Paying...', 'withdraw_commission' => 'Withdraw Commission', 'withdraw_at' => 'Withdraw Date', - 'withdraw_logs' => 'Withdrawals records', + 'withdraw_logs' => 'Withdrawal records', 'withdraw' => 'Withdraw', 'scan_qrcode' => 'Please scan the QR code', 'shop' => [ @@ -145,7 +145,7 @@ return [ 'subtotal' => 'Subtotal', 'total' => 'Total', 'conflict' => 'Service Conflict', - 'conflict_tips' => '

Current order will be set as Prepaid order

  1. Prepaid order will be active after current service expired!
  2. Your also can active the order manually
', + 'conflict_tips' => '

Current order will be set as Prepaid order.

  1. Prepaid order will be activated after current service expired!
  2. Your also can activate the order manually
', 'call4help' => 'Please create a ticket to ask customer service', ], 'service' => [ @@ -159,14 +159,14 @@ return [ 'redirect_stripe' => 'Redirect to Stripe', 'qrcode_tips' => 'Please using :software to scan QrCode', 'close_tips' => 'Please complete payment in :minutes minutes, otherwise it will be auto-closed by system', - 'mobile_tips' => 'Mobile User:Press QrCode image for a short amount of time -> Save Images -> Open payment software -> Scan it', + 'mobile_tips' => 'Mobile User: Press QrCode image for a short amount of time -> Save Images -> Open payment software -> Scan it', ], 'invoice' => [ 'attribute' => 'Order', 'detail' => 'Order Detail', 'amount' => 'Amount', 'active_prepaid_question' => 'Are you sure to active prepaid order?', - 'active_prepaid_tips' => 'After active:
Current order will be set to expired!
Expired dates will be recalculated!', + 'active_prepaid_tips' => 'After active:
Current order will be set to Expired!
Expired dates will be recalculated!', ], 'node' => [ 'info' => 'Configuration information', @@ -177,7 +177,7 @@ return [ 'subscribe' => [ 'baned' => 'Your subscription function is disabled, please contact the administrator to restore', 'link' => 'Subscription Link', - 'tips' => 'Warning:Subscribe Link is for personal used only, Please do not show to anyone else. Otherwise, they may using your service without your permission', + 'tips' => 'Warning: Subscribe Link is for personal used only, Please do not show to anyone else. Otherwise, they may use your service without your permission', 'exchange_warning' => 'Exchange Link:\n1. Old Link will be disabled\n2. Proxy connection password will be reset', 'custom' => 'Custom Subscribe', 'ss_only' => 'Subscribe SS Only', @@ -195,14 +195,14 @@ return [ 'failed_closed' => 'Error: Ticket has been closed', 'reply_placeholder' => 'Say something', 'reply' => 'Reply', - 'close_msg' => 'Ticket ID :id has been closed by user', - 'title_placeholder' => 'Please describe your questions in few key words', + 'close_msg' => 'Ticket #:id has been closed by user', + 'title_placeholder' => 'Please describe your questions in short term', 'content_placeholder' => 'Please describe in detail the problems you have encountered or where we need our help so that we can help you quickly', 'new' => 'Create Ticket', 'working_hour' => 'Customer Service', 'online_hour' => 'Working Hours', 'service_tips' => 'We have different channels to contact, please choose ONE of them!
Duplicate requests cause further service delays', - 'error' => 'Error!Please contact Customer Service', + 'error' => 'Error! Please contact Customer Service', ], 'traffic_logs' => [ '24hours' => 'Today\'s usage', diff --git a/resources/lang/en/validation.php b/resources/lang/en/validation.php index 515fb3ca..ad861606 100644 --- a/resources/lang/en/validation.php +++ b/resources/lang/en/validation.php @@ -132,6 +132,6 @@ return [ 'description' => 'Description', 'excerpt' => 'Excerpt', 'date' => 'Date', - 'time' => 'Time', + 'time' => 'Date/Time', ], ]; diff --git a/resources/lang/ko/user.php b/resources/lang/ko/user.php index 7fe6026e..953d0e83 100644 --- a/resources/lang/ko/user.php +++ b/resources/lang/ko/user.php @@ -88,7 +88,7 @@ return [ 'invite' => [ 'attribute' => '초대 코드', 'counts' => '共 :num 个邀请码', - 'tips' => '< strong >: num < / strong > 초대장 코드를 생성할 수 있습니다.: days일 동안 유효합니다.', + 'tips' => ': num 초대장 코드를 생성할 수 있습니다.: days일 동안 유효합니다.', 'logs' => '초대 기록', 'promotion' => '당신의 초대 코드를 통해 등록하고 활성화하면, 양쪽 모두 :traffic 데이터 사용 인센티브를 받게 됩니다. 그들이 소비할 때, 당신은 그들의 소비 금액 :referral_percent%을 보상으로 받습니다.', 'generate_failed' => '생성 실패: 초대코드 생성 불가', diff --git a/resources/views/admin/logs/userCreditHistory.blade.php b/resources/views/admin/logs/userCreditHistory.blade.php index a94dc48b..f2b898ec 100644 --- a/resources/views/admin/logs/userCreditHistory.blade.php +++ b/resources/views/admin/logs/userCreditHistory.blade.php @@ -6,7 +6,7 @@
-

{{ trans('admin.menu.tools.import') }}

+

{{ trans('admin.logs.credit_title') }}

diff --git a/resources/views/admin/tools/import.blade.php b/resources/views/admin/tools/import.blade.php index 94f8560d..7dc9ee1a 100644 --- a/resources/views/admin/tools/import.blade.php +++ b/resources/views/admin/tools/import.blade.php @@ -6,7 +6,7 @@
-

{{ trans('admin.tools.import_title') }}

+

{{ trans('admin.menu.tools.import') }}

@if (Session::has('successMsg'))