mirror of
https://github.com/ProxyPanel/ProxyPanel.git
synced 2026-04-05 12:08:58 +00:00
- Update services and controllers for new node support; - Update relate views and language files; - Improve client config generation and node type handling;
742 lines
42 KiB
PHP
742 lines
42 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
return [
|
|
'action' => [
|
|
'add_item' => 'Thêm :attribute',
|
|
'edit_item' => 'Chỉnh sửa :attribute',
|
|
],
|
|
'aff' => [
|
|
'apply_counts' => 'Tổng <code>:num</code> đơn rút hoa hồng',
|
|
'commission_counts' => 'Đơn này liên quan đến <code>:num</code> đơn hàng',
|
|
'commission_title' => 'Chi tiết đơn rút hoa hồng',
|
|
'counts' => 'Tổng <code>:num</code> bản ghi hoa hồng',
|
|
'referral' => 'Hoa hồng giới thiệu',
|
|
],
|
|
'article' => [
|
|
'category_hint' => 'Các bài viết cùng danh mục sẽ tự động được lưu trữ',
|
|
'counts' => 'Tổng <code>:num</code> bài viết',
|
|
'logo_placeholder' => 'Hoặc nhập URL hình ảnh logo',
|
|
'type' => [
|
|
'announcement' => 'Thông báo',
|
|
'knowledge' => 'Cơ sở tri thức',
|
|
],
|
|
],
|
|
'clear' => 'Xóa',
|
|
'clone' => 'Sao chép',
|
|
'confirm' => [
|
|
'continues' => 'Bạn có muốn tiếp tục không?',
|
|
'delete' => 'Xác nhận xóa :attribute【:name】? Hành động này không thể hoàn tác!',
|
|
'export' => 'Xác nhận xuất tất cả dữ liệu?',
|
|
],
|
|
'coupon' => [
|
|
'counts' => 'Tổng <code>:num</code> mã giảm giá',
|
|
'created_days_hint' => 'Đã đăng ký tài khoản trên :days ngày',
|
|
'discount' => 'Giảm giá',
|
|
'export_title' => 'Xuất mã giảm giá hàng loạt',
|
|
'groups_hint' => 'Chỉ có hiệu lực với nhóm người dùng đã chọn',
|
|
'info_title' => 'Chi tiết mã giảm giá',
|
|
'levels_hint' => 'Chỉ có hiệu lực với người dùng cấp độ đã chọn',
|
|
'limit_hint' => 'Các điều kiện có mối quan hệ <strong>VÀ</strong>',
|
|
'minimum_hint' => 'Điều kiện sử dụng: Số tiền đơn hàng từ <code>:num</code> VND trở lên',
|
|
'name_hint' => 'Tên hiển thị phía người dùng',
|
|
'newbie' => [
|
|
'created_days' => 'Số ngày tạo tài khoản',
|
|
'first_discount' => 'Lần đầu sử dụng mã giảm giá',
|
|
'first_order' => 'Giảm giá đơn hàng đầu tiên',
|
|
],
|
|
'priority_hint' => 'Độ ưu tiên (0-255), giá trị càng lớn độ ưu tiên càng cao',
|
|
'services_blacklist_hint' => 'Danh sách sản phẩm loại trừ',
|
|
'services_placeholder' => 'Nhập ID sản phẩm và nhấn Enter để thêm',
|
|
'services_whitelist_hint' => 'Danh sách sản phẩm áp dụng',
|
|
'single_use' => 'Sử dụng một lần',
|
|
'sn_hint' => 'Mã giảm giá (để trống sẽ tự động tạo mã 8 ký tự)',
|
|
'type' => [
|
|
'charge' => 'Phiếu nạp tiền',
|
|
'discount' => 'Phiếu giảm giá',
|
|
'voucher' => 'Phiếu mua hàng',
|
|
],
|
|
'type_hint' => '• Phiếu quà tặng: Giảm số tiền cố định | • Mã giảm giá: Giảm theo tỷ lệ | • Mã nạp tiền: Dùng để nạp số dư',
|
|
'used_hint' => 'Giới hạn sử dụng mỗi người: <strong>:num</strong> lần',
|
|
'user_whitelist_hint' => 'Danh sách trắng người dùng được chỉ định',
|
|
'users_blacklist_hint' => 'Danh sách người dùng loại trừ',
|
|
'users_placeholder' => 'Nhập ID người dùng và nhấn Enter để thêm',
|
|
'value' => '{1} Giảm :num VND|{2} Giảm :num%|{3} Thêm :num VND',
|
|
'value_hint' => 'Phạm vi mã giảm giá: 1%-99%',
|
|
],
|
|
'creating' => 'Đang tạo...',
|
|
'dashboard' => [
|
|
'abnormal_users' => 'Người dùng lưu lượng bất thường (1 giờ)',
|
|
'active_days_users' => 'Người dùng hoạt động :days ngày',
|
|
'available_users' => 'Số người dùng có hiệu lực',
|
|
'credit' => 'Tổng số dư tài khoản',
|
|
'current_month_traffic_consumed' => 'Lưu lượng đã sử dụng tháng này',
|
|
'days_traffic_consumed' => 'Tiêu thụ lưu lượng :days ngày',
|
|
'expiring_users' => 'Người dùng sắp hết hạn',
|
|
'inactive_days_users' => 'Người dùng không hoạt động :days ngày',
|
|
'maintaining_nodes' => 'Nút đang bảo trì',
|
|
'nodes' => 'Tổng số nút',
|
|
'online_orders' => 'Đơn hàng thanh toán trực tuyến',
|
|
'online_users' => 'Hiện tại trực tuyến',
|
|
'orders' => 'Tổng số đơn hàng',
|
|
'overuse_users' => 'Người dùng sử dụng quá 90% lưu lượng',
|
|
'paid_users' => 'Số người dùng trả phí',
|
|
'succeed_orders' => 'Đơn hàng thành công',
|
|
'users' => 'Tổng số người dùng',
|
|
'withdrawing_commissions' => 'Hoa hồng đang chờ xử lý',
|
|
'withdrawn_commissions' => 'Hoa hồng đã rút',
|
|
],
|
|
'filter' => [
|
|
'start_time' => 'Thời gian bắt đầu',
|
|
'end_time' => 'Thời gian kết thúc',
|
|
],
|
|
'goods' => [
|
|
'counts' => 'Tổng <code>:num</code> sản phẩm',
|
|
'info' => [
|
|
'available_date_hint' => 'Khi hết hạn sẽ tự động trừ lưu lượng tương ứng',
|
|
'desc_placeholder' => 'Mô tả sản phẩm (hiển thị cho người dùng)',
|
|
'limit_num_hint' => 'Số lần mỗi người dùng có thể mua sản phẩm này, 0 là không giới hạn',
|
|
'list_hint' => 'Mỗi dòng nhập theo định dạng <li>nội dung</li>',
|
|
'list_placeholder' => 'Thông tin tùy chỉnh (hỗ trợ HTML)',
|
|
'period_hint' => 'Tự động reset lưu lượng mỗi N ngày',
|
|
'type_hint' => 'Gói có thời hạn sử dụng, gói lưu lượng chỉ trừ lưu lượng',
|
|
],
|
|
'sell_and_used' => 'Đã sử dụng/Đã bán',
|
|
'status' => [
|
|
'no' => 'Ngừng bán',
|
|
'yes' => 'Đang bán',
|
|
],
|
|
'type' => [
|
|
'package' => 'Gói lưu lượng',
|
|
'plan' => 'Gói dịch vụ',
|
|
'top_up' => 'Nạp số dư',
|
|
],
|
|
],
|
|
'hint' => 'Gợi ý thao tác',
|
|
'logs' => [
|
|
'ban' => [
|
|
'ban_time' => 'Thời gian bị cấm',
|
|
'last_connect_at' => 'Kết nối cuối cùng',
|
|
'reason' => 'Lý do cấm',
|
|
'time' => 'Thời gian cấm',
|
|
],
|
|
'counts' => 'Tổng <code>:num</code> bản ghi',
|
|
'order' => [
|
|
'is_coupon' => 'Sử dụng mã giảm giá',
|
|
'is_expired' => 'Đã hết hạn',
|
|
'update_conflict' => 'Cập nhật thất bại, xung đột đơn hàng',
|
|
],
|
|
'rule' => [
|
|
'clear_all' => 'Xóa tất cả bản ghi',
|
|
'clear_confirm' => '⚠️ Xác nhận xóa tất cả bản ghi kích hoạt?',
|
|
'created_at' => 'Thời gian kích hoạt',
|
|
'name' => 'Tên quy tắc',
|
|
'reason' => 'Lý do kích hoạt',
|
|
'tag' => '✅ Truy cập nội dung bất hợp pháp',
|
|
],
|
|
'monitor' => [
|
|
'sub_title' => 'Thời gian thực (trong 2 phút)',
|
|
],
|
|
'user_ip' => [
|
|
'connect' => 'IP kết nối',
|
|
'sub_title' => 'Dữ liệu trong 10 phút',
|
|
],
|
|
'user_traffic' => [
|
|
'choose_node' => 'Chọn nút',
|
|
],
|
|
],
|
|
'marketing' => [
|
|
'counts' => 'Tổng <code>:num</code> tin nhắn',
|
|
'email' => [
|
|
'ever_paid' => 'Đã từng có lịch sử thanh toán',
|
|
'expire_start' => 'Ngày bắt đầu hết hạn',
|
|
'expire_end' => 'Ngày kết thúc hết hạn',
|
|
'filters' => 'Điều kiện lọc',
|
|
'loading_statistics' => 'Đang tải thống kê...',
|
|
'never_paid' => 'Chưa có lịch sử thanh toán',
|
|
'paid_servicing' => 'Người dùng đang sử dụng dịch vụ',
|
|
'previously_paid' => 'Đã từng thanh toán nhưng dịch vụ đã dừng',
|
|
'recent_traffic_abnormal' => 'Người dùng lưu lượng bất thường gần đây',
|
|
'recently_active' => 'Hoạt động gần đây',
|
|
'targeted_users_count' => 'Số người dùng mục tiêu',
|
|
'traffic_usage_over' => 'Tỷ lệ sử dụng lưu lượng>N%',
|
|
],
|
|
'email_send' => 'Gửi email hàng loạt',
|
|
'error_message' => 'Thông báo lỗi',
|
|
'processed' => 'Đã tiếp nhận yêu cầu',
|
|
'push_send' => 'Gửi thông báo đẩy',
|
|
'send_status' => 'Trạng thái gửi',
|
|
'send_time' => 'Thời gian gửi',
|
|
'targeted_users_not_found' => 'Không tìm thấy người dùng mục tiêu',
|
|
'unknown_sending_type' => 'Loại gửi không xác định',
|
|
],
|
|
'massive_export' => 'Xuất hàng loạt',
|
|
'menu' => [
|
|
'analysis' => [
|
|
'accounting' => 'Bản ghi tài chính',
|
|
'attribute' => 'Phân tích dữ liệu',
|
|
'node_flow' => 'Lưu lượng nút',
|
|
'site_flow' => 'Lưu lượng hệ thống',
|
|
'user_flow' => 'Lưu lượng người dùng',
|
|
],
|
|
'customer_service' => [
|
|
'article' => 'Quản lý bài viết',
|
|
'attribute' => 'Hỗ trợ khách hàng',
|
|
'marketing' => 'Gửi tin nhắn',
|
|
'ticket' => 'Trung tâm ticket',
|
|
],
|
|
'dashboard' => 'Bảng điều khiển',
|
|
'log' => [
|
|
'attribute' => 'Hệ thống log',
|
|
'notify' => 'Lịch sử thông báo',
|
|
'online_logs' => 'Log trực tuyến',
|
|
'online_monitor' => 'Giám sát trực tuyến',
|
|
'payment_callback' => 'Callback thanh toán',
|
|
'service_ban' => 'Bản ghi cấm',
|
|
'system' => 'Log hệ thống',
|
|
'traffic' => 'Log lưu lượng',
|
|
'traffic_flow' => 'Chi tiết lưu lượng',
|
|
],
|
|
'node' => [
|
|
'attribute' => 'Quản lý nút',
|
|
'auth' => 'Xác thực nút',
|
|
'cert' => 'Quản lý chứng chỉ',
|
|
'list' => 'Danh sách nút',
|
|
],
|
|
'promotion' => [
|
|
'attribute' => 'Khuyến mãi',
|
|
'invite' => 'Quản lý mời',
|
|
'rebate_flow' => 'Lịch sử hoa hồng',
|
|
'withdraw' => 'Quản lý rút tiền',
|
|
],
|
|
'rbac' => [
|
|
'attribute' => 'Quản lý quyền',
|
|
'permission' => 'Cài đặt quyền',
|
|
'role' => 'Quản lý vai trò',
|
|
],
|
|
'rule' => [
|
|
'attribute' => 'Quy tắc kiểm duyệt',
|
|
'group' => 'Nhóm quy tắc',
|
|
'list' => 'Quản lý quy tắc',
|
|
'trigger' => 'Bản ghi kích hoạt',
|
|
],
|
|
'setting' => [
|
|
'attribute' => 'Cài đặt hệ thống',
|
|
'email_suffix' => 'Hậu tố email',
|
|
'system' => 'Tham số hệ thống',
|
|
'universal' => 'Cài đặt chung',
|
|
],
|
|
'shop' => [
|
|
'attribute' => 'Hệ thống cửa hàng',
|
|
'coupon' => 'Quản lý mã giảm giá',
|
|
'goods' => 'Quản lý sản phẩm',
|
|
'order' => 'Quản lý đơn hàng',
|
|
],
|
|
'tools' => [
|
|
'analysis' => 'Phân tích log',
|
|
'attribute' => 'Hộp công cụ',
|
|
'convert' => 'Chuyển đổi định dạng',
|
|
'decompile' => 'Phân tích cấu hình',
|
|
'import' => 'Nhập dữ liệu',
|
|
],
|
|
'user' => [
|
|
'attribute' => 'Quản lý người dùng',
|
|
'credit_log' => 'Log số dư',
|
|
'group' => 'Nhóm người dùng',
|
|
'list' => 'Danh sách người dùng',
|
|
'oauth' => 'Đăng nhập bên thứ ba',
|
|
'subscribe' => 'Quản lý đăng ký',
|
|
],
|
|
],
|
|
'monitor' => [
|
|
'daily_chart' => 'Biểu đồ lưu lượng hàng ngày',
|
|
'hint' => '<strong>Gợi ý:</strong> Nếu không có dữ liệu, hãy kiểm tra trạng thái tác vụ định kỳ',
|
|
'monthly_chart' => 'Biểu đồ lưu lượng hàng tháng',
|
|
'node' => 'Lưu lượng nút',
|
|
'user' => 'Lưu lượng người dùng',
|
|
],
|
|
'no' => 'Không',
|
|
'node' => [
|
|
'auth' => [
|
|
'counts' => 'Tổng <code>:num</code> bản ghi xác thực',
|
|
'deploy' => [
|
|
'attribute' => 'Triển khai backend',
|
|
'command' => 'Thực thi lệnh',
|
|
'real_time_logs' => 'Log thời gian thực',
|
|
'recent_logs' => 'Log gần đây',
|
|
'restart' => 'Khởi động lại dịch vụ',
|
|
'same' => 'Giống cài đặt cấp trên',
|
|
'start' => 'Khởi động dịch vụ',
|
|
'status' => 'Trạng thái chạy',
|
|
'stop' => 'Dừng dịch vụ',
|
|
'title' => 'Triển khai :type_label',
|
|
'trojan_hint' => 'Vui lòng <a href=":url" target="_blank">cài đặt tên miền nút</a> trước',
|
|
'uninstall' => 'Gỡ cài đặt dịch vụ',
|
|
'update' => 'Cập nhật dịch vụ',
|
|
],
|
|
'empty' => 'Không có nút chờ xác thực',
|
|
'generating_all' => 'Tạo khóa cho tất cả nút?',
|
|
'reset_auth' => 'Reset khóa',
|
|
],
|
|
'cert' => [
|
|
'counts' => 'Tổng <code>:num</code> chứng chỉ SSL',
|
|
'key_placeholder' => 'Khóa riêng (VNET-V2Ray hỗ trợ tự động cấp phát)',
|
|
'pem_placeholder' => 'Chứng chỉ (VNET-V2Ray hỗ trợ tự động cấp phát)',
|
|
],
|
|
'counts' => 'Tổng <code>:num</code> nút',
|
|
'info' => [
|
|
'additional_ports_hint' => 'Cần cài đặt <span class="red-700">additional_ports</span> phía máy chủ',
|
|
'basic' => 'Cài đặt cơ bản',
|
|
'data_rate_hint' => 'Ví dụ: 0.1 sẽ tính 100MB lưu lượng thành 10MB',
|
|
'ddns_hint' => 'IP động cần <a href="https://github.com/NewFuture/DDNS" target="_blank">cài đặt dịch vụ DDNS</a>',
|
|
'detection' => [
|
|
'all' => 'Phát hiện tất cả giao thức',
|
|
'hint' => 'Phát hiện ngẫu nhiên mỗi 30-60 phút',
|
|
'icmp' => 'Chỉ ICMP',
|
|
'tcp' => 'Chỉ TCP',
|
|
],
|
|
'display' => [
|
|
'all' => 'Hiển thị đầy đủ',
|
|
'hint' => 'Phạm vi hiển thị người dùng',
|
|
'invisible' => 'Ẩn hoàn toàn',
|
|
'node' => 'Chỉ danh sách nút',
|
|
'sub' => 'Chỉ đăng ký',
|
|
],
|
|
'domain_hint' => 'Tự động bind IP khi bật chế độ DDNS',
|
|
'domain_placeholder' => 'Tên miền (ưu tiên hơn phân giải IP)',
|
|
'extend' => 'Cài đặt nâng cao',
|
|
'hint' => '<strong>Lưu ý:</strong> ID nút được sử dụng trong cài đặt phía máy chủ',
|
|
'ipv4_hint' => 'Nhiều IP cách nhau bằng dấu phẩy',
|
|
'ipv4_placeholder' => 'Địa chỉ IPv4',
|
|
'ipv6_hint' => 'Nhiều IP cách nhau bằng dấu phẩy',
|
|
'ipv6_placeholder' => 'Địa chỉ IPv6',
|
|
'level_hint' => '0=không giới hạn cấp độ',
|
|
'obfs_param_hint' => 'Yêu cầu tham số obfuscation non-plain:<br>• http_simple khuyến nghị port 80<br>• tls khuyến nghị port 443',
|
|
'push_port_hint' => 'Cần mở port firewall',
|
|
'single_hint' => 'Khuyến nghị port 80/443<br><a href="javascript:showPortsOnlyConfig();">Hiển thị cài đặt chế độ nghiêm ngặt</a>',
|
|
'v2_cover' => [
|
|
'dtls' => 'DTLS1.2',
|
|
'http' => 'HTTP stream',
|
|
'none' => 'Không ngụy trang',
|
|
'srtp' => 'Video call (SRTP)',
|
|
'utp' => 'BT download (uTP)',
|
|
'wechat' => 'WeChat video',
|
|
'wireguard' => 'WireGuard',
|
|
],
|
|
'v2_host_hint' => 'HTTP ngụy trang: nhiều tên miền cách nhau bằng dấu phẩy, WebSocket: tên miền đơn',
|
|
'v2_method_hint' => '⚠️ Cấm sử dụng mã hóa none với truyền tải WebSocket',
|
|
'v2_net_hint' => '⚠️ Truyền tải WebSocket cần bật TLS',
|
|
'v2_tls_provider_hint' => 'Giải thích khác biệt backend:',
|
|
'ports' => 'Client sẽ chọn ngẫu nhiên một cổng để kết nối ban đầu và định kỳ chuyển sang cổng khác.<br/> Tham khảo định dạng: <code>1234,5000-6000,7044</code>',
|
|
],
|
|
'create_operations' => 'Thao tác tạo nút',
|
|
'update_operations' => 'Thao tác cập nhật nút',
|
|
'delete_operations' => 'Thao tác xóa nút',
|
|
'operation' => [
|
|
'auth_failed' => 'Tạo ủy quyền nút thất bại',
|
|
'create_auth' => 'Tạo ủy quyền nút',
|
|
'delete_node' => 'Xóa nút',
|
|
'handle_ddns' => 'Xử lý bản ghi DDNS',
|
|
'reload_node' => 'Tải lại nút',
|
|
'save_node_info' => 'Lưu thông tin nút',
|
|
'store_domain_record' => 'Lưu bản ghi DDNS',
|
|
'sync_labels' => 'Đồng bộ nhãn',
|
|
'delete_domain_record' => 'Xóa bản ghi DDNS',
|
|
'unchanged' => 'Không thay đổi',
|
|
'refresh_geo' => 'Cập nhật thông tin vị trí địa lý',
|
|
],
|
|
'proxy_info' => '*Giải thích tương thích giao thức SS',
|
|
'proxy_info_hint' => 'Chế độ tương thích cần thêm <span class="red-700">_compatible</span> vào tên cài đặt backend',
|
|
'refresh_geo' => 'Cập nhật thông tin vị trí địa lý',
|
|
'refresh_geo_all' => 'Cập nhật tất cả thông tin vị trí địa lý',
|
|
'reload' => 'Reload dịch vụ',
|
|
'reload_all' => 'Reload tất cả dịch vụ',
|
|
'connection_test' => 'Kiểm tra khả năng kết nối',
|
|
'connection_test_all' => 'Kiểm tra toàn bộ khả năng kết nối',
|
|
'reload_confirm' => 'Xác nhận reload dịch vụ nút?',
|
|
'traffic_monitor' => 'Thống kê lưu lượng',
|
|
],
|
|
'oauth' => [
|
|
'counts' => 'Tổng <code>:num</code> bản ghi xác thực',
|
|
],
|
|
'optional' => 'Tùy chọn',
|
|
'permission' => [
|
|
'counts' => 'Tổng <code>:num</code> thao tác quyền',
|
|
'description_hint' => 'Ví dụ: 【Module đơn hàng】Quyền xóa',
|
|
'name_hint' => 'Tên route, ví dụ: admin.user.edit',
|
|
],
|
|
'query' => 'Tìm kiếm',
|
|
'report' => [
|
|
'annually_accounting' => 'Giao dịch hàng năm',
|
|
'annually_site_flow' => 'Lưu lượng hàng năm',
|
|
'avg_traffic_30d' => 'Trung bình 30 ngày',
|
|
'current_month' => 'Tháng này',
|
|
'current_year' => 'Năm nay',
|
|
'daily_accounting' => 'Giao dịch hàng ngày',
|
|
'daily_distribution' => 'Phân bố theo giờ',
|
|
'daily_site_flow' => 'Lưu lượng hàng ngày',
|
|
'daily_traffic' => 'Lưu lượng hàng ngày',
|
|
'hourly_traffic' => 'Lưu lượng theo giờ',
|
|
'last_month' => 'Tháng trước',
|
|
'last_year' => 'Năm trước',
|
|
'monthly_accounting' => 'Giao dịch hàng tháng',
|
|
'monthly_site_flow' => 'Lưu lượng hàng tháng',
|
|
'select_hourly_date' => 'Chọn ngày',
|
|
'sum_traffic_30d' => 'Tổng 30 ngày',
|
|
'today' => 'Hôm nay',
|
|
],
|
|
'require' => 'Bắt buộc',
|
|
'role' => [
|
|
'counts' => 'Tổng <code>:num</code> vai trò quyền',
|
|
'description_hint' => 'Tên hiển thị, ví dụ: Nhân viên hỗ trợ khách hàng',
|
|
'modify_admin_error' => '⚠️ Cấm thay đổi quản trị viên cấp cao',
|
|
'name_hint' => 'Định danh duy nhất, ví dụ: SupportAdmin',
|
|
'permissions_all' => 'Tất cả quyền',
|
|
],
|
|
'rule' => [
|
|
'counts' => 'Tổng <code>:num</code> quy tắc kiểm duyệt',
|
|
'group' => [
|
|
'counts' => 'Tổng <code>:num</code> nhóm',
|
|
'type' => [
|
|
'off' => 'Chặn',
|
|
'on' => 'Cho phép',
|
|
],
|
|
],
|
|
'type' => [
|
|
'domain' => 'Quy tắc tên miền',
|
|
'ip' => 'Quy tắc IP',
|
|
'protocol' => 'Quy tắc giao thức',
|
|
'reg' => 'Quy tắc biểu thức chính quy',
|
|
],
|
|
],
|
|
'select_all' => 'Chọn tất cả',
|
|
'selected_hint' => 'Quy tắc đã gán, có thể tìm kiếm',
|
|
'set_to' => 'Đặt thành :attribute',
|
|
'setting' => [
|
|
'common' => [
|
|
'connect_nodes' => 'Số nút liên kết',
|
|
'set_default' => 'Đặt làm mặc định',
|
|
],
|
|
'email' => [
|
|
'black' => 'Danh sách đen',
|
|
'rule' => 'Quy tắc lọc',
|
|
'tail' => 'Hậu tố email',
|
|
'tail_placeholder' => 'Nhập hậu tố email (không có @)',
|
|
'sub_title' => 'Liên động với switch tham số hệ thống, chặn đăng ký email cụ thể',
|
|
'white' => 'Danh sách trắng',
|
|
],
|
|
'no_permission' => '⚠️ Không có quyền thay đổi',
|
|
'system' => [
|
|
'web' => 'Cài đặt website',
|
|
'account' => 'Cài đặt tài khoản',
|
|
'node' => 'Cài đặt nút',
|
|
'security' => 'Xác thực bảo mật',
|
|
'payment' => 'Hệ thống thanh toán',
|
|
'notify' => 'Hệ thống thông báo',
|
|
'auto_job' => 'Tác vụ định kỳ',
|
|
'menu' => 'Menu',
|
|
],
|
|
],
|
|
'sort_asc' => 'Giá trị càng lớn sắp xếp càng trên',
|
|
'system' => [
|
|
'active_account' => [
|
|
'after' => 'Kích hoạt sau khi đăng ký',
|
|
'before' => 'Kích hoạt trước khi đăng ký',
|
|
],
|
|
'captcha' => [
|
|
'geetest' => 'Geetest',
|
|
'hcaptcha' => 'hCaptcha',
|
|
'recaptcha' => 'Google reCaptcha',
|
|
'standard' => 'Mã xác thực tiêu chuẩn',
|
|
'turnstile' => 'Turnstile',
|
|
],
|
|
'tasks' => [
|
|
'clean' => [
|
|
'notification_logs' => 'Log thông báo',
|
|
'node_daily_logs' => 'Lưu lượng hàng ngày nút',
|
|
'node_hourly_logs' => 'Lưu lượng theo giờ nút',
|
|
'node_heartbeats' => 'Tải nút',
|
|
'node_online_logs' => 'Người dùng trực tuyến nút',
|
|
'payments' => 'Dữ liệu thanh toán',
|
|
'rule_logs' => 'Kích hoạt kiểm duyệt',
|
|
'node_online_ips' => 'IP kết nối người dùng',
|
|
'user_baned_logs' => 'Cấm người dùng',
|
|
'user_daily_logs_nodes' => 'Lưu lượng hàng ngày người dùng nút',
|
|
'user_daily_logs_total' => 'Lưu lượng hàng ngày người dùng',
|
|
'user_hourly_logs' => 'Lưu lượng theo giờ người dùng nút',
|
|
'login_logs' => 'Log đăng nhập',
|
|
'subscribe_logs' => 'Log đăng ký',
|
|
'traffic_logs' => 'Chi tiết lưu lượng',
|
|
'unpaid_orders' => 'Đơn hàng chưa thanh toán',
|
|
],
|
|
'close' => [
|
|
'tickets' => 'Ticket',
|
|
'confirmation_orders' => 'Đơn hàng thủ công',
|
|
'orders' => 'Đơn hàng thanh toán',
|
|
'verify' => 'Mã xác thực email',
|
|
],
|
|
],
|
|
'forbid' => [
|
|
'china' => 'Chặn IP Trung Quốc',
|
|
'mainland' => 'Chặn IP Trung Quốc đại lục',
|
|
'oversea' => 'Chặn IP nước ngoài',
|
|
],
|
|
'hint' => [
|
|
'AppStore_id' => 'Apple ID cho hướng dẫn cài đặt iOS',
|
|
'AppStore_password' => 'Mật khẩu Apple cho hướng dẫn cài đặt iOS',
|
|
'account_expire_notification' => 'Tự động thông báo cho người dùng trước khi tài khoản hết hạn',
|
|
'active_times' => 'Giới hạn số lần kích hoạt email trong 24 giờ',
|
|
'admin_invite_days' => 'Thời hạn mã mời do quản trị viên tạo',
|
|
'affiliate_link_salt' => 'Để trống hiển thị ID người dùng; nhập ký tự bất kỳ để mã hóa link người dùng',
|
|
'auto_release_port' => 'Tự động thu hồi port sau <code>N</code> ngày khi tài khoản bị cấm/hết hạn',
|
|
'bark_key' => 'Số thiết bị Bark cho push iOS (cần cài đặt app Bark)',
|
|
'captcha_key' => '<a href="https://proxypanel.gitbook.io/wiki/captcha" target="_blank">Hướng dẫn cài đặt mã xác thực</a>',
|
|
'data_anomaly_notification' => 'Thông báo quản trị viên khi lưu lượng người dùng vượt ngưỡng trong 1 giờ',
|
|
'data_exhaust_notification' => 'Thông báo người dùng khi tiêu thụ lưu lượng vượt ngưỡng',
|
|
'ddns_key' => '<a href="https://proxypanel.gitbook.io/wiki/ddns" target="_blank">Hướng dẫn cài đặt DDNS</a>',
|
|
'ddns_mode' => 'Tự động đồng bộ tên miền/IP nút với nhà cung cấp DNS',
|
|
'default_days' => 'Thời hạn mặc định tài khoản đăng ký mới (0=hết hạn trong ngày)',
|
|
'default_traffic' => 'Lưu lượng ban đầu tài khoản đăng ký mới',
|
|
'detection_check_times' => 'Giới hạn số lần thông báo chặn (0/trống=không giới hạn, ≤12)',
|
|
'dingTalk_access_token' => '<a href="https://open.dingtalk.com/document/group/custom-robot-access#title-jfe-yo9-jl2" target="_blank">Hướng dẫn lấy AccessToken robot DingTalk</a>',
|
|
'dingTalk_secret' => 'Mục bắt buộc khi robot bật【chữ ký】',
|
|
'expire_days' => 'Số ngày cảnh báo trước khi thông báo hết hạn tài khoản',
|
|
'f2fpay_app_id' => 'APPID ứng dụng Alipay',
|
|
'f2fpay_private_key' => 'Khóa riêng ứng dụng Alipay (quản lý nghiêm ngặt)',
|
|
'f2fpay_public_key' => 'Khóa công khai Alipay (không phải khóa công khai ứng dụng)',
|
|
'forbid_mode' => 'Chặn truy cập theo khu vực địa lý IP',
|
|
'iYuu_token' => '<a href="https://iyuu.cn" target="_blank">Đăng ký token IYUU</a>',
|
|
'invite_num' => 'Hạn ngạch mời mặc định người dùng',
|
|
'is_activate_account' => 'Cần kích hoạt email sau khi kích hoạt',
|
|
'is_ban_status' => '⚠️ Cấm toàn bộ tài khoản sẽ reset tất cả dữ liệu',
|
|
'is_captcha' => 'Bật mã xác thực đăng nhập/đăng ký',
|
|
'is_clear_log' => '(Khuyến nghị) Tự động xóa log',
|
|
'is_custom_subscribe' => 'Hiển thị thông tin lưu lượng/hết hạn ở đầu thông tin đăng ký',
|
|
'is_email_filtering' => 'Danh sách đen: cấm hậu tố chỉ định; Danh sách trắng: chỉ cho phép hậu tố chỉ định',
|
|
'is_forbid_robot' => 'Chặn truy cập robot/crawler/proxy',
|
|
'is_free_code' => 'Ẩn mã mời miễn phí sau khi vô hiệu hóa',
|
|
'is_rand_port' => 'Tạo port ngẫu nhiên khi đăng ký/thêm người dùng',
|
|
'is_register' => 'Vô hiệu hóa chức năng đăng ký người dùng',
|
|
'maintenance_content' => 'Nội dung tùy chỉnh trang bảo trì (hỗ trợ HTML)',
|
|
'maintenance_mode' => 'Sau khi bật, truy cập người dùng sẽ chuyển hướng đến trang bảo trì | Quản trị viên đăng nhập bằng <a href="javascript:(0)">:url</a>',
|
|
'maintenance_time' => 'Đếm ngược trang bảo trì',
|
|
'min_port' => 'Phạm vi port: 1000-65535',
|
|
'checkin_reward' => 'Phạm vi lưu lượng ngẫu nhiên có thể nhận được mỗi lần check-in',
|
|
'node_blocked_notification' => 'Phát hiện và thông báo trạng thái chặn nút mỗi giờ',
|
|
'node_daily_notification' => 'Gửi báo cáo tiêu thụ lưu lượng nút hàng ngày',
|
|
'node_offline_notification' => 'Phát hiện trạng thái offline nút mỗi 10 phút',
|
|
'node_renewal_notification' => 'Gửi nhắc nhở gia hạn trước 7/3/1 ngày hết hạn nút',
|
|
'oauth_path' => 'Cài đặt trước trong .ENV rồi bật ở đây',
|
|
'offline_check_times' => 'Số lần thông báo tối đa trong 24 giờ',
|
|
'password_reset_notification' => 'Cho phép người dùng reset mật khẩu',
|
|
'paybeaver_app_id' => '<a href="https://merchant.paybeaver.com/" target="_blank">Trung tâm thương gia</a>→Nhà phát triển→App ID',
|
|
'paybeaver_app_secret' => '<a href="https://merchant.paybeaver.com/" target="_blank">Trung tâm thương gia</a>→Nhà phát triển→App Secret',
|
|
'payjs_mch_id' => '<a href="https://payjs.cn/dashboard/member" target="_blank">Lấy thông tin thương gia</a>',
|
|
'payment_confirm_notification' => 'Thông báo quản trị viên sau khi người dùng gửi thanh toán thủ công',
|
|
'payment_received_notification' => 'Tự động thông báo sau khi người dùng thanh toán thành công',
|
|
'pushDeer_key' => '<a href="https://www.pushdeer.com/official.html" target="_blank">Đăng ký PushDeer Key</a>',
|
|
'pushplus_token' => '<a href="https://www.pushplus.plus/push1.html" target="_blank">Đăng ký PushPlus Token</a>',
|
|
'rand_subscribe' => 'Trả về nút ngẫu nhiên khi đăng ký, ngược lại trả về theo thứ tự ID nút',
|
|
'redirect_url' => 'Chuyển hướng đến địa chỉ này khi kích hoạt quy tắc kiểm duyệt',
|
|
'referral_money' => 'Số tiền tối thiểu có thể rút',
|
|
'referral_percent' => 'Tỷ lệ phân phối tiêu thụ người dùng giới thiệu (0-100%)',
|
|
'referral_status' => 'Ẩn chức năng giới thiệu với người dùng sau khi vô hiệu hóa, hoa hồng hiện tại không bị ảnh hưởng',
|
|
'referral_traffic' => 'Tặng lưu lượng tương ứng khi đăng ký bằng link giới thiệu, mã mời',
|
|
'referral_reward_type' => 'Chuyển đổi chế độ không ảnh hưởng dữ liệu lịch sử',
|
|
'register_ip_limit' => 'Số lần đăng ký cho phép cùng IP trong 24 giờ (0/trống=không giới hạn)',
|
|
'reset_password_times' => 'Số lần reset mật khẩu cho phép trong 24 giờ',
|
|
'reset_traffic' => 'Tự động reset lưu lượng dựa trên ngày mua gói',
|
|
'server_chan_key' => '<a href="https://sct.ftqq.com/r/2626" target="_blank">Đăng ký ServerChan SCKEY</a>',
|
|
'standard_currency' => 'Đơn vị tiền tệ sử dụng mặc định hệ thống',
|
|
'subject_name' => 'Tên sản phẩm hiển thị kênh thanh toán',
|
|
'subscribe_rate_limit' => 'Giới hạn yêu cầu đăng ký trong 24 giờ (0=vô hiệu hóa)',
|
|
'subscribe_domain' => '(Chống ô nhiễm DNS) Tên miền chuyên dụng đăng ký có http(s)://',
|
|
'subscribe_max' => 'Số nút trả về đăng ký một lần (0/trống=trả về tất cả)',
|
|
'telegram_token' => '<a href="https://t.me/BotFather" target="_blank">Đăng ký @BotFather</a>',
|
|
'tg_chat_token' => '<a href="https://t.me/realtgchat_bot" target="_blank">Đăng ký TG醬 Token</a>',
|
|
'ticket_closed_notification' => 'Thông báo người dùng khi đóng ticket',
|
|
'ticket_created_notification' => 'Thông báo người xử lý tương ứng khi có ticket mới',
|
|
'ticket_replied_notification' => 'Tự động thông báo đối phương khi trả lời ticket',
|
|
'ban_duration' => 'Thời gian tự động bỏ cấm người dùng/đăng ký',
|
|
'traffic_abuse_limit' => '⚠️ Tự động cấm proxy khi lưu lượng vượt giá trị này trong 1 giờ',
|
|
'checkin_interval' => 'Khoảng cách tối thiểu giữa 2 lần check-in (0=vô hiệu hóa check-in)',
|
|
'traffic_warning_percent' => 'Tỷ lệ phần trăm ngưỡng thông báo cạn kiệt lưu lượng',
|
|
'user_invite_days' => 'Thời hạn mã mời do người dùng tạo',
|
|
'username_type' => 'Loại định danh tài khoản người dùng, mặc định là email',
|
|
'v2ray_tls_provider' => 'Dùng khi backend tự động cấp phát/load chứng chỉ TLS (giá trị cài đặt nút ưu tiên hơn đây)',
|
|
'web_api_url' => 'Ví dụ: '.config('app.url'),
|
|
'webmaster_email' => 'Email liên hệ hiển thị khi lỗi hệ thống',
|
|
'website_statistics_code' => 'Mã JS thống kê website',
|
|
'payment_callback_url' => '(Chống ô nhiễm DNS) Địa chỉ callback thanh toán có http(s)://',
|
|
'website_customer_service_code' => 'Mã JS dịch vụ khách hàng trực tuyến',
|
|
'website_name' => 'Tên hiển thị trong email/thông báo',
|
|
'website_security_code' => 'Khi không trống cần truy cập bằng <a href=":url" target="_blank">lối vào bảo mật</a>',
|
|
'website_url' => 'URL cơ bản hệ thống (bắt buộc cho reset mật khẩu/callback thanh toán)',
|
|
'wechat_aid' => '<a href="https://work.weixin.qq.com/wework_admin/frame#apps" target="_blank">Quản lý ứng dụng</a>→AgentId',
|
|
'wechat_cid' => '<a href="https://work.weixin.qq.com/wework_admin/frame#profile" target="_blank">Thông tin doanh nghiệp</a>→ID doanh nghiệp',
|
|
'wechat_encodingAESKey' => 'Quản lý ứng dụng→Nhận API→EncodingAESKey',
|
|
'wechat_secret' => 'Secret ứng dụng',
|
|
'wechat_token' => 'Quản lý ứng dụng→Nhận API→TOKEN, cài đặt URL: :url',
|
|
],
|
|
'notification' => [
|
|
'channel' => [
|
|
'bark' => 'Bark',
|
|
'dingtalk' => 'DingTalk',
|
|
'email' => 'Email',
|
|
'iyuu' => 'IYUU',
|
|
'pushdeer' => 'PushDeer',
|
|
'pushplus' => 'PushPlus',
|
|
'serverchan' => 'ServerChan',
|
|
'site' => 'Thông báo trong site',
|
|
'telegram' => 'Telegram',
|
|
'tg_chat' => 'TG醬',
|
|
'wechat' => 'WeChat doanh nghiệp',
|
|
],
|
|
'send_test' => 'Gửi thử nghiệm',
|
|
'test' => [
|
|
'content' => 'Nội dung thông báo thử nghiệm',
|
|
'success' => 'Gửi thông báo thử nghiệm thành công',
|
|
'title' => 'Tiêu đề thông báo thử nghiệm',
|
|
'unknown_channel' => 'Kênh thông báo không xác định',
|
|
],
|
|
],
|
|
'payment' => [
|
|
'attribute' => 'Cài đặt thanh toán',
|
|
'channel' => [
|
|
'f2fpay' => 'Alipay F2F',
|
|
'codepay' => 'CodePay',
|
|
'credit' => 'Thanh toán số dư',
|
|
'epay' => 'ePay',
|
|
'manual' => 'Thanh toán thủ công',
|
|
'paybeaver' => 'PayBeaver',
|
|
'payjs' => 'PayJs',
|
|
'paypal' => 'PayPal',
|
|
'stripe' => 'Stripe',
|
|
'theadpay' => 'THeadPay',
|
|
'cryptomus' => 'Cryptomus',
|
|
'youzan' => 'YouZan',
|
|
'bitpayx' => 'BitPayX',
|
|
],
|
|
'hint' => [
|
|
'f2fpay' => 'Cần đăng ký quyền từ <a href="https://open.alipay.com/platform/appManage.htm?#/create/" target="_blank">Nền tảng mở Ant Financial</a>',
|
|
'codepay' => 'Đăng ký tài khoản tại <a href="https://codepay.fateqq.com/i/377289" target="_blank">CodePay</a> và tải phần mềm',
|
|
'manual' => 'Hiển thị tương ứng sẽ tự động bật sau khi cài đặt',
|
|
'paybeaver' => 'Đăng ký tài khoản tại <a href="https://merchant.paybeaver.com/?aff_code=iK4GNuX8" target="_blank">PayBeaver</a>',
|
|
'payjs' => 'Đăng ký tài khoản tại <a href="https://payjs.cn/ref/zgxjnb" target="_blank">PayJs</a>',
|
|
'paypal' => 'Đăng nhập <a href="https://www.paypal.com/businessprofile/mytools/apiaccess/firstparty" target="_blank">trang đăng ký thông tin xác thực API</a> bằng tài khoản doanh nghiệp để lấy thông tin xác thực',
|
|
'theadpay' => 'Đăng ký tài khoản tại <a href="https://theadpay.com/" target="_blank">THeadPay</a>',
|
|
'cryptomus' => 'Đăng ký tài khoản tại <a href="https://app.cryptomus.com/signup" target="_blank">Cryptomus</a> và lấy API key',
|
|
],
|
|
],
|
|
'placeholder' => [
|
|
'bark_key' => 'Nhập số thiết bị Bark → Nhấn cập nhật',
|
|
'codepay_url' => 'https://codepay.fateqq.com/creat_order/?',
|
|
'default_url' => 'Mặc định: :url',
|
|
'dingTalk_access_token' => 'access_token của WebHook robot',
|
|
'dingTalk_secret' => 'Khóa bí mật chữ ký robot',
|
|
'iYuu_token' => 'Nhập token IYUU → Nhấn cập nhật',
|
|
'pushDeer_key' => 'Nhập Push Key của PushDeer → Nhấn cập nhật',
|
|
'pushplus_token' => 'Vui lòng đăng ký tại PushPlus',
|
|
'server_chan_key' => 'Nhập SCKEY của ServerChan → Nhấn cập nhật',
|
|
'telegram_token' => 'Nhập Token của Telegram → Nhấn cập nhật',
|
|
'tg_chat_token' => 'Vui lòng đăng ký tại Telegram',
|
|
'wechat_aid' => 'AgentId của ứng dụng',
|
|
'wechat_cid' => 'Nhập ID doanh nghiệp WeChat → Nhấn cập nhật',
|
|
'wechat_secret' => 'Secret của ứng dụng',
|
|
],
|
|
'referral' => [
|
|
'loop' => 'Hoa hồng tuần hoàn',
|
|
'once' => 'Hoa hồng mua lần đầu',
|
|
],
|
|
'username' => [
|
|
'any' => 'Bất kỳ',
|
|
'email' => 'Email',
|
|
'mobile' => 'Điện thoại di động',
|
|
],
|
|
'demo_restriction' => '⚠️ Cấm thay đổi trong môi trường demo',
|
|
'params_required' => 'Vui lòng hoàn thành tham số :attribute',
|
|
],
|
|
'system_generate' => 'Hệ thống tạo',
|
|
'ticket' => [
|
|
'close_confirm' => '⚠️ Xác nhận đóng ticket? Thao tác này không thể hoàn tác',
|
|
'counts' => 'Tổng <code>:num</code> ticket',
|
|
'error' => 'Lỗi hệ thống! Vui lòng kiểm tra log',
|
|
'inviter_info' => 'Thông tin người mời',
|
|
'self_send' => 'Không thể tạo ticket cho chính mình!',
|
|
'send_to' => 'Vui lòng nhập thông tin người dùng mục tiêu',
|
|
'user_info' => 'Thông tin người dùng',
|
|
'analysis_title' => 'Phân tích dữ liệu',
|
|
'processed_30days' => 'Tổng số ticket xử lý 30 ngày',
|
|
'first_response_30days' => 'Thời gian phản hồi đầu tiên 30 ngày',
|
|
'avg_processing_time_30days' => 'Thời gian xử lý trung bình 30 ngày',
|
|
'today_new' => 'Ticket mới hôm nay',
|
|
'pending_tickets' => 'Ticket đang chờ',
|
|
'total_tickets' => 'Tổng số ticket',
|
|
],
|
|
'times' => 'lần',
|
|
'tools' => [
|
|
'analysis' => [
|
|
'file_missing' => ':file_name không tồn tại, vui lòng tạo file trước',
|
|
'not_enough' => 'Bản ghi truy cập dưới 15000, không thể phân tích dữ liệu',
|
|
'req_url' => 'Bản ghi URL yêu cầu gần đây',
|
|
'sub_title' => 'Chỉ áp dụng cho máy đơn nút đơn',
|
|
],
|
|
'convert' => [
|
|
'content_placeholder' => 'Vui lòng nhập thông tin cấu hình cần chuyển đổi',
|
|
'file_missing' => 'File không tồn tại, vui lòng kiểm tra quyền thư mục',
|
|
'missing_error' => 'Chuyển đổi thất bại: Thông tin cấu hình thiếu trường【port_password】hoặc trường đó trống',
|
|
'params_unknown' => 'Tham số bất thường',
|
|
'sub_title' => 'Shadowsocks sang ShadowsocksR',
|
|
],
|
|
'decompile' => [
|
|
'attribute' => 'Phân tích cấu hình',
|
|
'content_placeholder' => 'Vui lòng nhập link ShadowsocksR cần phân tích ngược, cách nhau bằng xuống dòng',
|
|
],
|
|
'import' => [
|
|
'file_error' => 'Đã xảy ra lỗi không xác định, vui lòng tải lên lại',
|
|
'file_required' => 'Vui lòng chọn file để tải lên',
|
|
'file_type_error' => 'Chỉ có thể tải lên file :type',
|
|
'format_error' => 'Phân tích định dạng nội dung bất thường, vui lòng tải lên file :type cấu hình phù hợp với quy chuẩn',
|
|
],
|
|
],
|
|
'unselected_hint' => 'Quy tắc chưa gán, có thể tìm kiếm',
|
|
'user' => [
|
|
'admin_deletion' => '⚠️ Không thể xóa tài khoản quản trị viên',
|
|
'bulk_account_quantity' => 'Số lượng tạo',
|
|
'connection_test' => 'Kiểm tra khả năng kết nối',
|
|
'counts' => 'Tổng <code>:num</code> tài khoản',
|
|
'group' => [
|
|
'counts' => 'Tổng <code>:num</code> nhóm',
|
|
'name' => 'Tên nhóm',
|
|
'sub_title' => 'Cùng một nút có thể thuộc nhiều nhóm, nhưng người dùng chỉ thuộc một nhóm; Đối với nút người dùng có thể hiển thị/sử dụng, nhóm ưu tiên hơn cấp độ',
|
|
],
|
|
'info' => [
|
|
'account' => 'Thông tin tài khoản',
|
|
'expired_date_hint' => 'Để trống mặc định 365 ngày',
|
|
'proxy' => 'Cài đặt proxy',
|
|
'recharge_placeholder' => 'Số âm biểu thị trừ tiền',
|
|
'reset_date_hint' => 'Ngày reset lưu lượng tiếp theo',
|
|
'switch' => 'Chuyển đổi danh tính',
|
|
'uuid_hint' => 'ID người dùng V2Ray',
|
|
],
|
|
'online_monitor' => 'Giám sát trực tuyến',
|
|
'proxies_config' => 'Cấu hình proxy【:username】',
|
|
'proxy_info' => 'Thông tin proxy',
|
|
'reset_confirm' => '⚠️ Xác nhận reset lưu lượng【:username】?',
|
|
'reset_traffic' => 'Reset lưu lượng',
|
|
'traffic_monitor' => 'Giám sát lưu lượng',
|
|
'update_help' => 'Cập nhật thành công, có quay lại danh sách không?',
|
|
'user_view' => 'Góc nhìn người dùng',
|
|
],
|
|
'user_dashboard' => 'Trung tâm người dùng',
|
|
'yes' => 'Có',
|
|
'zero_unlimited_hint' => 'Chưa cài đặt/0 có nghĩa là không giới hạn',
|
|
'network_status' => [
|
|
1 => '✔️ Bình thường',
|
|
2 => '🛑 Bị chặn ở nước ngoài',
|
|
3 => '🛑 Bị chặn trong nước',
|
|
4 => '❌ Mất kết nối',
|
|
],
|
|
];
|