refactor: system settings UI for consistent, compact layouts

Redesign the system settings interface to align with the rest of the console experience by using fixed header actions, removing redundant subtitles, respecting global content width, and standardizing responsive form layouts.

Introduce reusable settings layout primitives for forms, switch rows, grouped controls, nested control sections, title status indicators, and page action portals. Replace duplicated card-style switch markup with explicit compact components, improve nested switch readability, and reduce visual noise across authentication, billing, content, integrations, maintenance, models, and request-limit settings.

Also complete missing i18n translations, remove obsolete subtitle translation keys, refine i18n sync reporting, fix sidebar truncation for long labels, and verify the frontend with type checking and lint diagnostics.
This commit is contained in:
t0ng7u
2026-05-25 00:34:26 +08:00
parent 92a0959448
commit b08febaa3c
97 changed files with 2420 additions and 3032 deletions
+82 -93
View File
@@ -120,7 +120,7 @@
"Account ID *": "ID tài khoản *",
"Account Info": "Thông tin tài khoản",
"Account used when authenticating with the SMTP server": "Tài khoản được sử dụng khi xác thực với máy chủ SMTP",
"acknowledge the related legal risks": "acknowledge the related legal risks",
"acknowledge the related legal risks": "thừa nhận các rủi ro pháp lý liên quan",
"Across all groups": "Trên mọi nhóm",
"Action confirmation": "Xác nhận hành động",
"Actions": "Hành động",
@@ -247,7 +247,7 @@
"Alipay": "Alipay",
"All": "All",
"All categories": "Tất cả danh mục",
"All conditions must match before this tier is used.": "All conditions must match before this tier is used.",
"All conditions must match before this tier is used.": "Tất cả điều kiện phải khớp trước khi tầng này được sử dụng.",
"All edits are overwrite operations. Leave fields empty to keep current values unchanged.": "Tất cả các chỉnh sửa đều là thao tác ghi đè. Để trống các trường để giữ nguyên giá trị hiện tại.",
"All files exceed the maximum size.": "Tất cả các tệp vượt quá kích thước tối đa.",
"All Groups": "Tất cả các nhóm",
@@ -449,7 +449,6 @@
"Automatically replaces upstream callback URLs with the server address.": "Tự động thay thế URL callback upstream bằng địa chỉ máy chủ.",
"Automatically selects the best available group with circuit breaker mechanism": "Tự động chọn nhóm tốt nhất hiện có với cơ chế ngắt mạch",
"Automatically sync model list when upstream changes are detected": "Tự động đồng bộ danh sách mô hình khi phát hiện thay đổi từ nguồn",
"Automatically test channels and notify users when limits are hit": "Tự động kiểm tra các kênh và thông báo cho người dùng khi đạt đến giới hạn",
"Availability (last 24h)": "Khả dụng (24 giờ qua)",
"Available": "Khả dụng",
"Available disk space": "Dung lượng đĩa khả dụng",
@@ -494,7 +493,7 @@
"Bark Push URL": "URL đẩy Bark",
"Base address provided by your Epay service": "Địa chỉ cơ sở được cung cấp bởi dịch vụ Epay của bạn",
"Base amount. Actual deduction = base amount × system group rate.": "Số tiền cơ sở. Số tiền trừ thực tế = số tiền cơ sở × tỷ lệ nhóm hệ thống.",
"Base input and output token prices for this tier.": "Base input and output token prices for this tier.",
"Base input and output token prices for this tier.": "Giá token đầu vào và đầu ra cơ bản cho tầng này.",
"Base input price only": "Chỉ có giá đầu vào cơ bản",
"Base Limits": "Giới hạn cơ bản",
"Base multipliers applied when users select specific groups.": "Hệ số nhân cơ bản được áp dụng khi người dùng chọn các nhóm cụ thể.",
@@ -531,6 +530,7 @@
"Billing Process": "Quá trình tính phí",
"Billing Source": "Nguồn thanh toán",
"Bind": "Buộc",
"Bind a Pancake store + product": "Liên kết cửa hàng + sản phẩm Pancake",
"Bind an email address to your account.": "Liên kết địa chỉ email với tài khoản của bạn.",
"Bind Email": "Liên kết Email",
"Bind Telegram Account": "Liên kết tài khoản Telegram",
@@ -557,9 +557,9 @@
"Bound": "Ràng buộc",
"Bound Channels": "Các kênh ràng buộc",
"Bound Only": "Chỉ đã liên kết",
"Bound product:": "Sản phẩm đã liên kết:",
"Bound store:": "Cửa hàng đã liên kết:",
"Bring channels back online after successful checks": "Khôi phục các kênh trực tuyến sau khi kiểm tra thành công",
"Broadcast a global banner to users. Markdown is supported.": "Phát một biểu ngữ toàn cầu đến người dùng. Hỗ trợ Markdown.",
"Broadcast short system notices on the dashboard": "Phát các thông báo hệ thống ngắn trên bảng điều khiển",
"Browse and compare": "Duyệt và so sánh",
"Browse available models and pricing": "Duyệt mô hình khả dụng và giá",
"Browse rankings by category": "Duyệt bảng xếp hạng theo danh mục",
@@ -586,7 +586,7 @@
"Cache Directory Info": "Thông tin thư mục bộ nhớ đệm",
"Cache Entries": "Mục bộ nhớ đệm",
"Cache mode": "Chế độ bộ đệm",
"Cache pricing": "Cache pricing",
"Cache pricing": "Giá bộ nhớ đệm",
"Cache ratio": "Tỷ lệ bộ nhớ đệm",
"Cache Read": "Đọc bộ nhớ đệm",
"Cache read price": "Giá đọc cache",
@@ -797,9 +797,9 @@
"Completion price": "Giá hoàn thành",
"Completion price ($/1M tokens)": "Giá hoàn thành ($/1M tokens)",
"Completion ratio": "Tỷ lệ hoàn thành",
"Compliance confirmation required": "Compliance confirmation required",
"Compliance confirmed": "Compliance confirmed",
"Compliance confirmed successfully": "Compliance confirmed successfully",
"Compliance confirmation required": "Cần xác nhận tuân thủ",
"Compliance confirmed": "Đã xác nhận tuân thủ",
"Compliance confirmed successfully": "Xác nhận tuân thủ thành công",
"Concatenate channel system prompt with user's prompt": "Nối lời nhắc hệ thống kênh với lời nhắc của người dùng",
"Condition Path": "Đường dẫn điều kiện",
"Condition Settings": "Cài đặt điều kiện",
@@ -825,49 +825,27 @@
"Configure API documentation links for the dashboard": "Cấu hình các liên kết tài liệu API cho bảng điều khiển",
"Configure at:": "Cấu hình tại:",
"Configure available payment methods. Provide a JSON array.": "Cấu hình các phương thức thanh toán khả dụng. Cung cấp một mảng JSON.",
"Configure basic system information and branding": "Cấu hình thông tin hệ thống cơ bản và nhận diện thương hiệu",
"Configure channel affinity (sticky routing) rules": "Cấu hình quy tắc ưu tiên kênh (định tuyến dính)",
"Configure Creem products. Provide a JSON array.": "Cấu hình sản phẩm Creem. Cung cấp một mảng JSON.",
"Configure currency conversion and quota display options": "Cấu hình quy đổi tiền tệ và tùy chọn hiển thị hạn mức",
"Configure custom OAuth providers for user authentication": "Cấu hình nhà cung cấp OAuth tùy chỉnh cho xác thực người dùng",
"Configure daily check-in rewards for users": "Cấu hình phần thưởng điểm danh hàng ngày cho người dùng",
"Configure discount rates based on recharge amounts": "Cấu hình tỷ lệ chiết khấu dựa trên số tiền nạp",
"Configure experimental data export for the dashboard": "Cấu hình xuất dữ liệu thử nghiệm cho bảng điều khiển",
"Configure Gemini safety behavior, version overrides, and thinking adapter": "Cấu hình hành vi an toàn Gemini, ghi đè phiên bản và bộ điều hợp tư duy",
"Configure group ratios and group-specific pricing rules": "Cấu hình tỷ lệ nhóm và quy tắc định giá riêng theo nhóm",
"Configure in your Creem dashboard": "Cấu hình trong bảng điều khiển Creem của bạn",
"Configure io.net API key for model deployments": "Cấu hình khóa API io.net cho triển khai mô hình",
"Configure keyword filtering for prompts and responses.": "Định cấu hình lọc từ khóa để xem lời nhắc và câu trả lời.",
"Configure model deployment provider settings": "Cấu hình nhà cung cấp triển khai mô hình",
"Configure model pricing ratios and tool prices": "Cấu hình tỷ lệ định giá mô hình và giá công cụ",
"Configure model, caching, and group ratios used for billing": "Cấu hình mô hình, bộ nhớ đệm và tỷ lệ nhóm được sử dụng để tính phí.",
"Configure monitoring status page groups for the dashboard": "Cấu hình các nhóm trang trạng thái giám sát cho bảng điều khiển",
"Configure outgoing email server for notifications": "Cấu hình máy chủ email gửi đi cho thông báo",
"Configure Passkey (WebAuthn) login settings": "Cấu hình cài đặt đăng nhập Passkey (WebAuthn)",
"Configure password-based login and registration": "Cấu hình đăng nhập và đăng ký dựa trên mật khẩu",
"Configure per-model ratio for image inputs or outputs.": "Cấu hình tỷ lệ theo mô hình cho đầu vào hoặc đầu ra hình ảnh.",
"Configure per-tool unit prices ($/1K calls). Per-request models do not incur additional tool fees.": "Cấu hình giá theo từng công cụ ($/1K lần gọi). Mô hình tính phí theo request không phát sinh thêm phí công cụ.",
"Configure predefined chat links surfaced to end users.": "Cấu hình các liên kết trò chuyện được xác định trước hiển thị cho người dùng cuối.",
"Configure pricing model and display options": "Cấu hình mô hình giá và tùy chọn hiển thị",
"Configure pricing ratios for a specific model.": "Cấu hình tỷ lệ định giá cho một mô hình cụ thể.",
"Configure rate limiting rules for a specific user group.": "Cấu hình quy tắc giới hạn tốc độ cho một nhóm người dùng cụ thể.",
"Configure recharge pricing and payment gateway integrations": "Cấu hình giá nạp tiền và tích hợp cổng thanh toán",
"Configure system-wide behavior and defaults": "Cấu hình hành vi và mặc định toàn hệ thống",
"Configure the ratio for this group.": "Cấu hình tỷ lệ cho nhóm này.",
"Configure third-party authentication providers": "Cấu hình nhà cung cấp xác thực bên thứ ba",
"Configure upstream providers and routing.": "Cấu hình nhà cung cấp upstream và định tuyến.",
"Configure upstream worker or proxy service for outbound requests": "Cấu hình worker thượng nguồn hoặc dịch vụ proxy cho các yêu cầu đi",
"Configure user quota allocation and rewards": "Cấu hình phân bổ hạn ngạch người dùng và phần thưởng",
"Configure Waffo Pancake hosted checkout integration for USD-priced top-ups": "Cấu hình tích hợp thanh toán Waffo Pancake (hosted checkout) cho nạp tiền theo USD",
"Configure Waffo payment aggregation platform integration": "Cấu hình tích hợp nền tảng tổng hợp thanh toán Waffo",
"Configure xAI Grok model settings": "Cấu hình mô hình xAI Grok",
"Configure xAI Grok model specific settings": "Cấu hình cài đặt riêng cho mô hình xAI Grok",
"Configure your account behavior preferences": "Cấu hình tùy chọn hành vi tài khoản của bạn",
"Configure your account preferences and integrations": "Cấu hình các tùy chọn và tích hợp tài khoản của bạn",
"Configured routes and latency checks": "Tuyến đã cấu hình và kiểm tra độ trễ",
"Confirm": "Xác nhận",
"Confirm Action": "Xác nhận hành động",
"Confirm and enable": "Confirm and enable",
"Confirm and enable": "Xác nhận và bật",
"Confirm Batch Update": "Xác nhận Cập nhật Hàng loạt",
"Confirm Billing Conflicts": "Xác nhận xung đột thanh toán",
"Confirm Changes": "Xác nhận thay đổi",
@@ -875,8 +853,8 @@
"Confirm cleanup of inactive disk cache?": "Xác nhận dọn dẹp bộ nhớ đệm đĩa không hoạt động?",
"Confirm clearing all channel affinity cache": "Xác nhận xóa toàn bộ bộ nhớ đệm ưu tiên kênh",
"Confirm clearing cache for this rule": "Xác nhận xóa bộ nhớ đệm của quy tắc này",
"Confirm compliance": "Confirm compliance",
"Confirm compliance terms": "Confirm compliance terms",
"Confirm compliance": "Xác nhận tuân thủ",
"Confirm compliance terms": "Xác nhận điều khoản tuân thủ",
"Confirm Creem Purchase": "Xác nhận mua Creem",
"Confirm delete": "Xác nhận xóa",
"Confirm disable": "Xác nhận vô hiệu hóa",
@@ -891,11 +869,11 @@
"auth.resetPasswordConfirm.description": "Xác nhận yêu cầu đặt lại để tạo mật khẩu mới.",
"Confirm Selection": "Xác nhận lựa chọn",
"Confirm settings and finish setup": "Xác nhận cài đặt và hoàn tất thiết lập",
"confirm that I bear legal responsibility arising from deployment": "confirm that I bear legal responsibility arising from deployment",
"confirm that I bear legal responsibility arising from deployment": "xác nhận rằng tôi chịu trách nhiệm pháp lý phát sinh từ việc triển khai",
"Confirm Unbind": "Xác nhận hủy liên kết",
"Confirm your identity before removing this Passkey from your account.": "Hãy xác minh danh tính trước khi gỡ Passkey khỏi tài khoản.",
"Confirm your identity with Two-factor Authentication before registering a Passkey.": "Hãy xác minh danh tính bằng Xác thực hai yếu tố trước khi đăng ký Passkey.",
"Confirmed at {{time}} by user #{{userId}}": "Confirmed at {{time}} by user #{{userId}}",
"Confirmed at {{time}} by user #{{userId}}": "Được xác nhận lúc {{time}} bởi người dùng #{{userId}}",
"Conflict": "Xung đột",
"Connect": "Kết nối",
"Connect through OpenAI, Claude, Gemini, and other compatible API routes": "Kết nối qua OpenAI, Claude, Gemini và các tuyến API tương thích khác",
@@ -929,11 +907,7 @@
"Continue with Telegram": "Tiếp tục với Telegram",
"Continue with WeChat": "Tiếp tục với WeChat",
"Contract review, compliance, summarisation": "Rà soát hợp đồng, tuân thủ, tóm tắt",
"Control log retention and clean historical data.": "Kiểm soát việc lưu giữ nhật ký và làm sạch dữ liệu lịch sử.",
"Control passthrough behavior and connection keep-alive settings": "Kiểm soát hành vi truyền qua và cài đặt duy trì kết nối",
"Control request frequency to prevent abuse and manage system load.": "Kiểm soát tần suất yêu cầu để ngăn chặn lạm dụng và quản lý tải hệ thống.",
"Control which models are exposed and which groups may use them.": "Kiểm soát mô hình được hiển thị và nhóm nào có thể sử dụng chúng.",
"Control which sidebar areas and modules are available to all users.": "Kiểm soát những khu vực thanh bên và mô-đun nào khả dụng cho tất cả người dùng.",
"Controls how much the model thinks before answering": "Điều chỉnh mức suy luận trước khi trả lời",
"Controls whether user verification (biometrics/PIN) is required during Passkey flows.": "Kiểm soát xem liệu có yêu cầu xác minh người dùng (sinh trắc học/mã PIN) trong các luồng Passkey hay không.",
"Conversion rate from USD to your custom currency": "Tỷ giá chuyển đổi từ USD sang đơn vị tiền tệ tùy chỉnh của bạn",
@@ -981,7 +955,7 @@
"Core concepts": "Khái niệm chính",
"Core Configuration": "Cấu hình chính",
"Core Features": "Tính năng cốt lõi",
"Core pricing": "Core pricing",
"Core pricing": "Giá cốt lõi",
"Cost": "Chi phí",
"Cost in USD per request, regardless of tokens used.": "Chi phí bằng USD cho mỗi yêu cầu, bất kể số lượng token được sử dụng.",
"Cost Tracking": "Theo dõi chi phí",
@@ -1023,9 +997,13 @@
"Create, revoke, and audit API tokens.": "Tạo, thu hồi và kiểm toán token API.",
"Created": "Đã tạo",
"Created At": "Ngày tạo",
"Creating...": "Đang tạo...",
"Creation failed": "Tạo thất bại",
"Credential generated": "Đã tạo thông tin xác thực",
"Credential refreshed": "Đã làm mới thông tin xác thực",
"Credentials": "Thông tin xác thực",
"Credentials verification failed": "Xác minh thông tin xác thực thất bại",
"Credentials verification failed — double-check Merchant ID and API private key.": "Xác minh thông tin xác thực thất bại — hãy kiểm tra lại Merchant ID và khóa riêng API.",
"Credit remaining": "Tín dụng còn lại",
"Creem API key (leave blank unless updating)": "Khóa API Creem (để trống trừ khi cập nhật)",
"Creem Gateway": "Cổng Creem",
@@ -1034,7 +1012,6 @@
"Creem products must be a JSON array": "Sản phẩm Creem phải là mảng JSON",
"Cross-group": "Liên nhóm",
"Cross-group retry": "Thử lại liên nhóm",
"Curate quick links to your different Domains": "Sắp xếp các liên kết nhanh đến các Miền khác nhau của bạn",
"Currency": "Tiền tệ",
"Currency & Display": "Tiền tệ & hiển thị",
"Current Balance": "Số Dư Hiện Tại",
@@ -1322,7 +1299,7 @@
"Each line represents one keyword. Leave blank to disable the list but keep the switch states.": "Mỗi dòng đại diện cho một từ khóa. Để trống để tắt danh sách nhưng vẫn giữ trạng thái công tắc.",
"Each tier supports 0~2 conditions (over len, p, c); the last tier is the catch-all without conditions. Use len (full input length, including cache hits) for tier conditions to avoid mis-routing when cache hits reduce p.": "Mỗi bậc hỗ trợ 0~2 điều kiện (đối với len, p, c); bậc cuối là bậc dự phòng không cần điều kiện. Hãy dùng len (độ dài đầu vào đầy đủ, bao gồm cả cache hits) cho điều kiện bậc để tránh định tuyến sai khi cache hits làm giảm p.",
"Each tier supports up to 2 conditions; the last tier is the catch-all without conditions. Use full input length for tier conditions to avoid mis-routing when cache hits reduce billable input tokens.": "Mỗi tầng hỗ trợ tối đa 2 điều kiện; tầng cuối cùng là tầng dự phòng không có điều kiện. Hãy dùng độ dài đầu vào đầy đủ cho điều kiện tầng để tránh chọn sai tầng khi cache hit làm giảm token đầu vào tính phí.",
"Each tier supports up to 2 conditions. The last tier without conditions is the fallback.": "Each tier supports up to 2 conditions. The last tier without conditions is the fallback.",
"Each tier supports up to 2 conditions. The last tier without conditions is the fallback.": "Mỗi tầng hỗ trợ tối đa 2 điều kiện. Tầng cuối cùng không có điều kiện là tầng dự phòng.",
"Earn rewards when your referrals add funds. Transfer accumulated rewards to your balance anytime.": "Nhận phần thưởng khi người bạn giới thiệu nạp tiền",
"Edit": "Chỉnh sửa",
"Edit {{title}}": "Chỉnh sửa {{title}}",
@@ -1388,7 +1365,6 @@
"Enable OIDC": "Bật OIDC",
"Enable or disable this channel": "Bật hoặc tắt kênh này",
"Enable or disable this model": "Bật hoặc tắt mô hình này",
"Enable or disable top navigation modules globally.": "Bật hoặc tắt các mô-đun điều hướng trên cùng toàn cục.",
"Enable Passkey": "Bật khóa truy cập",
"Enable Performance Monitoring": "Bật giám sát hiệu suất",
"Enable rate limiting": "Bật giới hạn tốc độ",
@@ -1542,7 +1518,6 @@
"Expired at": "Hết hạn lúc",
"Expired time cannot be earlier than current time": "Thời gian hết hạn không thể sớm hơn thời gian hiện tại",
"Expires": "Hết hạn",
"Expose grouped Uptime Kuma status pages directly on the dashboard": "Hiển thị các trang trạng thái Uptime Kuma đã nhóm trực tiếp trên bảng điều khiển",
"Expose ratio API": "Cung cấp API tỷ lệ",
"Exposes the pricing/models catalog in the top navigation.": "Hiển thị danh mục giá/mô hình trên thanh điều hướng đầu trang.",
"Expression": "Biểu thức",
@@ -1575,7 +1550,7 @@
"Failed to clean logs": "Không thể dọn sạch nhật ký",
"Failed to complete order": "Không thể hoàn thành đơn hàng",
"Failed to complete Passkey login": "Không thể hoàn tất đăng nhập Passkey",
"Failed to confirm compliance": "Failed to confirm compliance",
"Failed to confirm compliance": "Không thể xác nhận tuân thủ",
"Failed to contact GitHub releases API": "Không thể kết nối API GitHub Releases",
"Failed to copy": "Sao chép thất bại",
"Failed to copy channel": "Không thể sao chép kênh",
@@ -1688,7 +1663,7 @@
"Failed to update user": "Không thể cập nhật người dùng",
"Failure keywords": "Từ khóa thất bại",
"Fair": "Công bằng",
"Fallback tier": "Fallback tier",
"Fallback tier": "Tầng dự phòng",
"FAQ": "FAQ",
"FAQ added. Click \"Save Settings\" to apply.": "Đã thêm FAQ. Nhấp \"Lưu cài đặt\" để áp dụng.",
"FAQ deleted. Click \"Save Settings\" to apply.": "Đã xóa FAQ. Nhấp \"Lưu cài đặt\" để áp dụng.",
@@ -1717,6 +1692,8 @@
"Fill Codex CLI / Claude CLI Templates": "Điền mẫu Codex CLI / Claude CLI",
"Fill example (all channels)": "Điền ví dụ (tất cả kênh)",
"Fill example (specific channels)": "Điền ví dụ (kênh cụ thể)",
"Fill in both Merchant ID and API Private Key before creating.": "Nhập cả Merchant ID và khóa riêng API trước khi tạo.",
"Fill in the credentials above to begin.": "Nhập thông tin xác thực ở trên để bắt đầu.",
"Fill in the following info to create a new subscription plan": "Điền thông tin sau để tạo gói đăng ký mới",
"Fill Related Models": "Điền Mô hình Liên quan",
"Fill Template": "Điền Mẫu",
@@ -1751,7 +1728,6 @@
"Final cost = base × multiplier when conditions match": "Chi phí cuối = cơ sở × hệ số khi thỏa điều kiện",
"Final price multiplier (0.95 = 5% discount": "Hệ số nhân giá cuối cùng (0.95 = giảm giá 5%)",
"Finance": "Tài chính",
"Fine-tune Midjourney integration and guardrails.": "Tinh chỉnh tích hợp Midjourney và các cơ chế bảo vệ.",
"Finish Time": "Thời gian hoàn thành",
"First API request": "Yêu cầu API đầu tiên",
"First/Last Frame to Video": "Khung đầu/cuối sang video",
@@ -1988,8 +1964,8 @@
"Human-readable name shown to users during Passkey prompts.": "Tên dễ đọc hiển thị cho người dùng trong quá trình nhắc nhở Passkey.",
"I confirm enabling high-risk retry": "Tôi xác nhận bật thử lại rủi ro cao",
"I have read and agree to the": "Tôi đã đọc và đồng ý với",
"I have read and understood the above compliance reminder": "I have read and understood the above compliance reminder",
"I have read and understood the above compliance reminder, acknowledge the related legal risks, and confirm that I bear legal responsibility arising from deployment, operation, and charging behavior.": "I have read and understood the above compliance reminder, acknowledge the related legal risks, and confirm that I bear legal responsibility arising from deployment, operation, and charging behavior.",
"I have read and understood the above compliance reminder": "Tôi đã đọc và hiểu nhắc nhở tuân thủ ở trên",
"I have read and understood the above compliance reminder, acknowledge the related legal risks, and confirm that I bear legal responsibility arising from deployment, operation, and charging behavior.": "Tôi đã đọc và hiểu nhắc nhở tuân thủ ở trên, thừa nhận các rủi ro pháp lý liên quan và xác nhận rằng tôi chịu trách nhiệm pháp lý phát sinh từ việc triển khai, vận hành và thu phí.",
"I understand that disabling 2FA will remove all protection and backup codes": "Tôi hiểu rằng việc vô",
"Icon": "Biểu tượng",
"Icon file must be 100 KB or smaller": "Tệp biểu tượng phải có kích thước 100 KB hoặc nhỏ hơn",
@@ -2001,7 +1977,7 @@
"If default auto group is enabled, newly created tokens start with auto instead of an empty group.": "Nếu bật nhóm auto mặc định, token mới sẽ bắt đầu với auto thay vì nhóm trống.",
"If the affinity channel fails and retry succeeds on another channel, update affinity to the successful channel.": "Nếu kênh ưu tiên thất bại và thử lại thành công trên kênh khác, cập nhật ưu tiên sang kênh thành công.",
"If this keeps happening, please report it on GitHub Issues.": "Nếu sự cố tiếp tục xảy ra, vui lòng báo cáo trên GitHub Issues.",
"If you provide generative AI services to the public in mainland China, you will fulfill legal obligations including filing, security assessment, content safety, complaint handling, generated content labeling, log retention, and personal information protection.": "If you provide generative AI services to the public in mainland China, you will fulfill legal obligations including filing, security assessment, content safety, complaint handling, generated content labeling, log retention, and personal information protection.",
"If you provide generative AI services to the public in mainland China, you will fulfill legal obligations including filing, security assessment, content safety, complaint handling, generated content labeling, log retention, and personal information protection.": "Nếu bạn cung cấp dịch vụ AI tạo sinh cho công chúng tại Trung Quốc đại lục, bạn sẽ thực hiện các nghĩa vụ pháp lý bao gồm đăng ký, đánh giá an toàn, an toàn nội dung, xử lý khiếu nại, gắn nhãn nội dung được tạo, lưu giữ nhật ký và bảo vệ thông tin cá nhân.",
"Ignored upstream models": "Mô hình upstream bị bỏ qua",
"Image": "Hình ảnh",
"Image Generation": "Tạo hình ảnh",
@@ -2228,30 +2204,21 @@
"Low balance": "Số dư thấp",
"Lowest median first-token latency": "Độ trễ trung vị token đầu tiên thấp nhất",
"m": "m",
"Maintain a list of common questions for the dashboard help panel": "Duy trì danh sách các câu hỏi thường gặp cho bảng trợ giúp của bảng điều khiển",
"Maintenance": "Bảo trì",
"Make it easier for teammates to pick the right group.": "Giúp đồng đội dễ dàng chọn đúng nhóm hơn.",
"Manage": "Quản lý",
"Manage account bindings for this user": "Quản lý liên kết tài khoản cho người dùng này",
"Manage API channels and provider configurations": "Quản lý các kênh API và cấu hình nhà cung cấp",
"Manage Bindings": "Quản lý liên kết",
"Manage catalog visibility and pricing.": "Quản lý hiển thị danh mục và giá cả.",
"Manage custom OAuth providers for user authentication": "Quản lý nhà cung cấp OAuth tùy chỉnh để xác thực người dùng",
"Manage Keys": "Quản lý Khóa",
"Manage local models for:": "Quản lý mô hình cục bộ cho:",
"Manage model deployments": "Quản lý triển khai mô hình",
"Manage model metadata and configuration": "Quản lý siêu dữ liệu và cấu hình mô hình",
"Manage multi-key status and configuration for this channel": "Quản lý trạng thái và cấu hình đa khóa cho kênh này",
"Manage Ollama Models": "Quản lý mô hình Ollama",
"Manage redemption codes for quota top-up": "Quản lý mã quy đổi để nạp thêm hạn mức",
"Manage server log files. Log files accumulate over time; regular cleanup is recommended to free disk space.": "Quản lý tệp nhật ký máy chủ. Tệp nhật ký tích lũy theo thời gian; nên dọn dẹp định kỳ để giải phóng dung lượng đĩa.",
"Manage subscription plan creation, pricing and status": "Quản lý tạo, định giá và trạng thái gói đăng ký",
"Manage subscription plans and pricing.": "Quản lý gói đăng ký và giá cả.",
"Manage Subscriptions": "Quản lý đăng ký",
"Manage users and their permissions": "Quản lý người dùng và quyền của họ",
"Manage Vendors": "Quản lý Nhà cung cấp",
"Manage your API keys for accessing the service": "Quản lý các khóa API của bạn để truy cập dịch vụ",
"Manage your balance and payment methods": "Quản lý số dư và phương thức thanh toán của bạn",
"Manage your security settings and account access": "Quản lý cài đặt bảo mật và quyền truy cập tài khoản của bạn",
"Manual Disabled": "Vô hiệu hóa thủ công",
"Map fields from the user info response to local user attributes. Supports nested paths (e.g. ocs.data.id).": "Ánh xạ các trường từ phản hồi thông tin người dùng sang thuộc tính người dùng cục bộ. Hỗ trợ đường dẫn lồng nhau (ví dụ: ocs.data.id).",
@@ -2295,7 +2262,7 @@
"Maximum tokens per response": "Số token tối đa mỗi phản hồi",
"maxRequests ≥ 0, maxSuccess ≥ 1, both ≤ 2,147,483,647": "maxRequests ≥ 0, maxSuccess ≥ 1, cả hai đều ≤ 2,147,483,647",
"May be used for training by upstream provider": "Có thể được nhà cung cấp dùng để huấn luyện",
"Media pricing": "Media pricing",
"Media pricing": "Giá phương tiện",
"Median time-to-first-token (TTFT) sampled hourly per group": "Độ trễ token đầu tiên trung vị (TTFT) lấy mẫu mỗi giờ theo nhóm",
"Medical Q&A, mental health support": "Hỏi đáp y tế, hỗ trợ sức khỏe tinh thần",
"Memory Hits": "Lượt truy cập bộ nhớ",
@@ -2323,6 +2290,8 @@
"Minimum Trust Level": "Mức độ tin cậy tối thiểu",
"Minimum:": "Tối thiểu:",
"Minor blips in the last 30 days": "Vài gián đoạn nhỏ trong 30 ngày qua",
"Mint a fresh pair below — or pick an existing one further down. Click Save when ready.": "Tạo một cặp mới bên dưới, hoặc chọn một cặp hiện có ở phía dưới. Nhấn Lưu khi đã sẵn sàng.",
"Creates a Pancake product in the saved store using this plans title and price. Requires Waffo Pancake to be fully configured in Payment settings first.": "Tạo một sản phẩm Pancake trong cửa hàng đã lưu bằng tiêu đề và giá của gói này. Trước tiên cần cấu hình đầy đủ Waffo Pancake trong cài đặt Thanh toán.",
"Minute": "Phút",
"minutes": "phút",
"Missing code": "Thiếu mã",
@@ -2617,8 +2586,9 @@
"No Retry": "Không thử lại",
"No rules yet": "Chưa có quy tắc",
"No rules yet. Add a group below to get started.": "Chưa có quy tắc nào. Thêm một nhóm bên dưới để bắt đầu.",
"No separate media pricing configured.": "No separate media pricing configured.",
"No separate media pricing configured.": "Chưa cấu hình giá phương tiện riêng.",
"No status code mappings configured.": "Chưa cấu hình ánh xạ mã trạng thái.",
"No stores on this merchant yet. Set a return URL and click Create to mint your first pair.": "Merchant này chưa có cửa hàng. Đặt URL trả về và nhấn Tạo để tạo cặp đầu tiên.",
"No subscription plans yet": "Chưa có gói đăng ký nào",
"No subscription records": "Không có bản ghi đăng ký",
"No Sync": "Không đồng bộ",
@@ -2640,7 +2610,7 @@
"No X Found": "Không tìm thấy X",
"Node Name": "Tên nút",
"Non-stream": "Không phát trực tuyến",
"Non-zero invitation rewards require compliance confirmation in Payment Gateway settings.": "Non-zero invitation rewards require compliance confirmation in Payment Gateway settings.",
"Non-zero invitation rewards require compliance confirmation in Payment Gateway settings.": "Phần thưởng mời khác 0 yêu cầu xác nhận tuân thủ trong cài đặt Cổng thanh toán.",
"None": "Không có",
"noreply@example.com": "noreply@example.com",
"Normalized:": "Chuẩn hóa:",
@@ -2739,7 +2709,7 @@
"OpenRouter": "OpenRouter",
"opens in an external client. Trigger it from the sidebar or API key actions to launch the configured application.": "mở trong một ứng dụng bên ngoài. Kích hoạt nó từ thanh bên hoặc các hành động khóa API để khởi chạy ứng dụng đã cấu hình.",
"Operation": "Thao tác",
"operation and charging behavior": "operation and charging behavior",
"operation and charging behavior": "hành vi vận hành và thu phí",
"Operation failed": "Thao tác thất bại",
"Operation successful": "Thao tác thành công",
"Operation Type": "Loại thao tác",
@@ -2762,6 +2732,7 @@
"Opus Model": "Mô hình Opus",
"Or continue with": "Hoặc tiếp tục với",
"Or enter this key manually:": "Hoặc nhập khóa này thủ công:",
"or pick existing": "hoặc chọn cặp hiện có",
"Order completed successfully": "Đơn hàng đã hoàn thành thành công",
"Order History": "Lịch sử đơn hàng",
"Order Payment Method": "Phương thức thanh toán đơn hàng",
@@ -2780,7 +2751,6 @@
"Overnight range": "Khoảng qua nửa đêm",
"override": "ghi đè",
"Override": "Ghi đè",
"Override Anthropic headers, defaults, and thinking adapter behavior": "Ghi đè tiêu đề, cài đặt mặc định và hành vi bộ điều hợp tư duy của Anthropic",
"Override auto-discovered endpoint": "Ghi đè điểm cuối tự động phát hiện",
"Override request headers": "Ghi đè tiêu đề yêu cầu",
"Override request headers (JSON format)": "Ghi đè tiêu đề yêu cầu (định dạng JSON)",
@@ -2796,6 +2766,7 @@
"Page {{current}} of {{total}}": "Trang {{current}} / {{total}}",
"PaLM": "PaLM",
"Pan": "Pan",
"Pancake": "Pancake",
"Param Override": "Ghi đè tham số",
"Parameter": "Tham số",
"Parameter configuration error": "Lỗi cấu hình tham số",
@@ -2859,6 +2830,7 @@
"Pay": "Pay",
"Pay-as-you-go with real-time usage monitoring": "Thanh toán theo mức sử dụng với theo dõi mức sử dụng theo thời gian thực",
"Payment": "Thanh toán",
"Payment aggregator mode — onboard with your own registered company (offshore entity). Built for Enterprise.": "Chế độ tổng hợp thanh toán — đăng ký bằng công ty đã đăng ký của bạn (pháp nhân offshore). Dành cho doanh nghiệp.",
"Payment Channel": "Kênh thanh toán",
"Payment Gateway": "Cổng thanh toán",
"Payment initiated": "Đã khởi tạo thanh toán",
@@ -2872,7 +2844,8 @@
"Payment page opened": "Đã mở trang thanh toán",
"Payment request failed": "Yêu cầu thanh toán thất bại",
"Payment return URL": "URL trả về thanh toán",
"Payment, redemption codes, subscription plans, and invitation rewards are locked until the root administrator confirms the compliance terms.": "Payment, redemption codes, subscription plans, and invitation rewards are locked until the root administrator confirms the compliance terms.",
"Payment return URL is empty. Create the product without a SuccessURL redirect?": "URL trả về thanh toán đang trống. Tạo sản phẩm mà không có chuyển hướng SuccessURL?",
"Payment, redemption codes, subscription plans, and invitation rewards are locked until the root administrator confirms the compliance terms.": "Thanh toán, mã đổi thưởng, gói đăng ký và phần thưởng mời sẽ bị khóa cho đến khi quản trị viên root xác nhận điều khoản tuân thủ.",
"Peak": "Đỉnh",
"Peak throughput": "Thông lượng đỉnh",
"Penalises repetition of frequent tokens": "Phạt việc lặp các token phổ biến",
@@ -2915,11 +2888,14 @@
"Personal use": "Sử dụng cá nhân",
"Personal use mode": "Chế độ sử dụng cá nhân",
"Pick a date": "Chọn ngày",
"Pick or create both a store and a product before saving.": "Hãy chọn hoặc tạo cả cửa hàng và sản phẩm trước khi lưu.",
"Ping Interval (seconds)": "Thời gian Ping (giây)",
"Plan": "Gói",
"Plan Name": "Tên gói",
"Plan price must be greater than zero": "Giá gói phải lớn hơn 0",
"Plan Subtitle": "Phụ đề gói",
"Plan Title": "Tiêu đề gói",
"Plan title is required": "Tiêu đề gói là bắt buộc",
"Planned maintenance on Friday at 22:00 UTC...": "Bảo trì theo kế hoạch vào thứ Sáu lúc 22:00 UTC...",
"Platform": "Nền tảng",
"Playground": "Sân chơi",
@@ -2968,7 +2944,7 @@
"Please set Ollama API Base URL first": "Vui lòng đặt URL cơ sở API Ollama trước",
"Please sign in to view {{module}}.": "Vui lòng đăng nhập để xem {{module}}.",
"Please try again later.": "Vui lòng thử lại sau.",
"Please type the following text to confirm:": "Please type the following text to confirm:",
"Please type the following text to confirm:": "Vui lòng nhập văn bản sau để xác nhận:",
"Please upload key file(s)": "Vui lòng tải lên (các) tệp khóa",
"Please wait a moment before trying again.": "Vui lòng chờ một lát rồi thử lại.",
"Please wait a moment, human check is initializing...": "Vui lòng đợi một chút, kiểm tra con người đang khởi tạo...",
@@ -3020,7 +2996,6 @@
"Press Enter or comma to add tags": "Nhấn Enter hoặc dấu phẩy để thêm thẻ",
"Press Enter to use \"{{value}}\"": "Nhấn Enter để dùng \"{{value}}\"",
"Prevent server-side request forgery attacks": "Ngăn chặn các cuộc tấn công giả mạo yêu cầu phía máy chủ",
"Prevent server-side request forgery attacks by controlling outbound requests.": "Ngăn chặn các cuộc tấn công giả mạo yêu cầu phía máy chủ bằng cách kiểm soát các yêu cầu gửi đi.",
"Preview": "Xem trước",
"Previous": "Trước",
"Previous branch": "Nhánh trước",
@@ -3083,7 +3058,6 @@
"Prompt Details": "Chi tiết lời nhắc",
"Prompt price ($/1M tokens)": "Giá prompt ($/1 triệu token)",
"Proprietary": "Độc quyền",
"Protect login and registration with Cloudflare Turnstile": "Bảo vệ đăng nhập và đăng ký bằng Cloudflare Turnstile",
"Provide a JSON object where each key maps to an endpoint definition.": "Cung cấp một đối tượng JSON nơi mỗi khóa ánh xạ đến một định nghĩa điểm cuối.",
"Provide a valid URL starting with http:// or https://": "Cung cấp URL hợp lệ bắt đầu bằng http:// hoặc https://",
"Provide Markdown, HTML, or an external URL for the privacy policy": "Cung cấp Markdown, HTML, hoặc một URL bên ngoài cho chính sách quyền riêng tư",
@@ -3197,7 +3171,7 @@
"Redemption code updated successfully": "Mã đổi thưởng đã cập nhật thành công",
"Redemption code(s) created successfully": "Mã đổi thưởng đã tạo thành công",
"Redemption Codes": "Mã đổi thưởng",
"Redemption codes are disabled until the administrator confirms compliance terms.": "Redemption codes are disabled until the administrator confirms compliance terms.",
"Redemption codes are disabled until the administrator confirms compliance terms.": "Mã đổi thưởng bị tắt cho đến khi quản trị viên xác nhận điều khoản tuân thủ.",
"redemption codes.": "Mã đổi thưởng",
"Redemption failed": "Đổi thưởng thất bại",
"Redemption successful! Added: {{quota}}": "Đổi mã thành công! Đã thêm: {{quota}}",
@@ -3209,7 +3183,7 @@
"Reference Video": "Video tham chiếu",
"Referral link:": "Liên kết giới thiệu:",
"Referral Program": "Chương trình Giới thiệu",
"Referral reward transfer is disabled until the administrator confirms compliance terms.": "Referral reward transfer is disabled until the administrator confirms compliance terms.",
"Referral reward transfer is disabled until the administrator confirms compliance terms.": "Chuyển phần thưởng giới thiệu bị tắt cho đến khi quản trị viên xác nhận điều khoản tuân thủ.",
"Refine models by provider, group, type, and tags.": "Tinh chỉnh mô hình theo nhà cung cấp, nhóm, loại và thẻ.",
"Refresh": "Làm mới",
"Refresh Cache": "Làm mới bộ nhớ đệm",
@@ -3225,6 +3199,7 @@
"Regex": "Biểu thức chính quy",
"Regex Pattern": "Mẫu biểu thức chính quy",
"Regex Replace": "Thay thế regex",
"Register each URL into the matching Test Mode / Production Mode webhook slot in the Pancake dashboard. Separate endpoints prevent test traffic from accidentally crediting production accounts.": "Đăng ký từng URL vào ô webhook Test Mode / Production Mode tương ứng trong bảng điều khiển Pancake. Endpoint riêng biệt giúp tránh việc lưu lượng thử nghiệm vô tình cộng tiền vào tài khoản sản xuất.",
"Register Passkey": "Đăng ký Passkey",
"Registration Enabled": "Đăng ký đã bật",
"Registry (optional)": "Registry (tùy chọn)",
@@ -3368,7 +3343,6 @@
"Reveal key": "Display key",
"Revenue": "Doanh thu",
"Review & initialize": "Xem lại và khởi tạo",
"Review current version and fetch release notes.": "Xem xét phiên bản hiện tại và lấy ghi chú phát hành.",
"Review model rates before scaling traffic": "Xem giá mô hình trước khi mở rộng lưu lượng",
"Review your payment details": "Xem lại chi tiết thanh toán của bạn",
"Review your purchase details before proceeding.": "Xem lại chi tiết mua hàng trước khi tiếp tục.",
@@ -3504,8 +3478,10 @@
"Select a group type": "Chọn loại nhóm",
"Select a model to edit pricing": "Chọn mô hình để chỉnh sửa giá",
"Select a preset...": "Chọn cấu hình sẵn...",
"Select a product": "Chọn sản phẩm",
"Select a role": "Chọn vai trò",
"Select a rule to edit.": "Chọn một quy tắc để chỉnh sửa.",
"Select a store": "Chọn cửa hàng",
"Select a timestamp before clearing logs.": "Chọn một dấu thời gian trước khi xóa nhật ký.",
"Select a usage mode to continue": "Chọn chế độ sử dụng để tiếp tục",
"Select a verification method first": "Vui lòng chọn phương thức xác thực trước",
@@ -3580,7 +3556,7 @@
"Sending...": "Đang gửi...",
"Sensitive Words": "Từ ngữ nhạy cảm",
"Sent the API key to FluentRead.": "Đã gửi khóa API đến FluentRead.",
"Separate image/audio prices are enabled.": "Separate image/audio prices are enabled.",
"Separate image/audio prices are enabled.": "Giá riêng cho hình ảnh/âm thanh đã được bật.",
"Serve multiple users or teams with billing and quota control.": "Phục vụ nhiều người dùng hoặc nhóm với quản lý thanh toán và hạn mức.",
"Server Address": "Địa chỉ máy chủ",
"Server IP": "IP máy chủ",
@@ -3604,7 +3580,7 @@
"Set quota amount and limits": "Thiết lập hạn mức và giới hạn",
"Set Request Header": "Đặt header yêu cầu",
"Set runtime request header: override entire value, or manipulate comma-separated tokens": "Đặt header yêu cầu runtime: ghi đè toàn bộ giá trị hoặc thao tác token phân cách bằng dấu phẩy",
"Set separate prices for cache reads and writes.": "Set separate prices for cache reads and writes.",
"Set separate prices for cache reads and writes.": "Đặt giá riêng cho đọc và ghi bộ nhớ đệm.",
"Set Tag": "Gán Thẻ",
"Set tag for selected channels": "Đặt thẻ cho các kênh đã chọn",
"Set the language used across the interface": "Đặt ngôn ngữ sử dụng trong giao diện",
@@ -3700,6 +3676,7 @@
"Standard price": "Giá tiêu chuẩn",
"Start": "Bắt đầu",
"Start a conversation to see messages here": "Bắt đầu một cuộc trò chuyện để xem tin nhắn tại đây",
"Start collecting payments globally without registering a company. Built for indie developers, OPC sole proprietorships, and startups. Waffo Pancake acts as your Merchant of Record, taking on the compliance burden of global payment collection — consumption tax, invoicing, subscription management, refunds, and chargebacks. Solo developers can launch fast and stay focused on product instead of compliance. Onboard in minutes — one prompt to a full integration.": "Bắt đầu thu thanh toán toàn cầu mà không cần đăng ký công ty. Dành cho lập trình viên độc lập, chủ sở hữu OPC và startup. Waffo Pancake đóng vai trò Merchant of Record, chịu trách nhiệm tuân thủ cho việc thu thanh toán toàn cầu — thuế tiêu dùng, hóa đơn, quản lý đăng ký, hoàn tiền và tranh chấp thanh toán. Lập trình viên cá nhân có thể ra mắt nhanh và tập trung vào sản phẩm thay vì tuân thủ. Onboard trong vài phút — từ một prompt đến tích hợp hoàn chỉnh.",
"Start for free with generous limits. No credit card required.": "Bắt đầu miễn phí với giới hạn hào phóng. Không cần thẻ tín dụng.",
"Start Time": "Thời gian bắt đầu",
"Static page describing the platform.": "Trang tĩnh mô tả nền tảng.",
@@ -3720,6 +3697,8 @@
"Step": "Bước",
"Stop": "Dừng lại",
"Stop Retry": "Dừng thử lại",
"Store": "Store",
"Store + product created": "Đã tạo cửa hàng + sản phẩm",
"Store ID": "Mã cửa hàng",
"Store ID is required": "Bắt buộc nhập Store ID",
"Stored value is not echoed back for security": "Vì bảo mật, giá trị đã lưu không được hiển thị lại",
@@ -3753,8 +3732,9 @@
"Subscription First": "Ưu tiên đăng ký",
"Subscription Management": "Quản lý đăng ký",
"Subscription Only": "Chỉ đăng ký",
"Subscription plan creation and changes are locked until the administrator confirms compliance terms in Payment Gateway settings.": "Subscription plan creation and changes are locked until the administrator confirms compliance terms in Payment Gateway settings.",
"Subscription plan creation and changes are locked until the administrator confirms compliance terms in Payment Gateway settings.": "Việc tạo và thay đổi gói đăng ký bị khóa cho đến khi quản trị viên xác nhận điều khoản tuân thủ trong cài đặt Cổng thanh toán.",
"Subscription Plans": "Gói đăng ký",
"Subscription plans do NOT use the bound Product — each plan has its own dedicated Pancake product, set in the Subscriptions admin (or auto-minted via the \"+ Create\" button there).": "Gói đăng ký KHÔNG dùng Sản phẩm đã liên kết — mỗi gói có một sản phẩm Pancake riêng, được đặt trong quản trị Đăng ký (hoặc tự động tạo bằng nút \"+ Create\" tại đó).",
"Subtract": "Trừ",
"Success": "Thành công",
"Success rate": "Tỷ lệ thành công",
@@ -3879,8 +3859,11 @@
"The administrator has not configured a user agreement yet.": "Quản trị viên chưa cấu hình thỏa thuận người dùng.",
"The administrator has not configured any about content yet. You can set it in the settings page, supporting HTML or URL.": "Quản trị viên chưa cấu hình bất kỳ nội dung giới thiệu nào. Bạn có thể thiết lập nó trong trang cài đặt, hỗ trợ HTML hoặc URL.",
"The binding will complete automatically after authorization": "Việc liên kết sẽ hoàn tất tự động sau khi ủy quyền",
"The bound Product powers wallet top-ups: when a user enters any amount, new-api runs the checkout against this single Pancake product and overrides the price per session — no need to pre-create $1 / $5 / $10 SKUs.": "Sản phẩm đã liên kết dùng cho nạp ví: khi người dùng nhập bất kỳ số tiền nào, new-api chạy thanh toán trên một sản phẩm Pancake duy nhất này và ghi đè giá theo từng phiên — không cần tạo trước SKU $1 / $5 / $10.",
"The bound Store is the parent container for every Pancake product new-api creates from this admin — both the wallet top-up product and any subscription-plan products. One store is enough; pin a different one only if you genuinely run separate Pancake catalogs.": "Cửa hàng đã liên kết là vùng chứa cha cho mọi sản phẩm Pancake mà new-api tạo từ trang quản trị này — bao gồm sản phẩm nạp ví và mọi sản phẩm gói đăng ký. Một cửa hàng là đủ; chỉ ghim cửa hàng khác nếu bạn thực sự vận hành các catalog Pancake riêng.",
"The effective domain for Passkey registration. Must match the current domain or be its parent domain.": "Mi",
"The entered text does not match the required text.": "The entered text does not match the required text.",
"The entered text does not match the required text.": "Văn bản đã nhập không khớp với văn bản yêu cầu.",
"The environment (test vs production) is decided by the key you paste here — use the Test key while integrating, then swap to the Production key when going live.": "Môi trường (test hay production) được quyết định bởi khóa bạn dán tại đây — dùng khóa Test khi tích hợp, sau đó đổi sang khóa Production khi chạy chính thức.",
"The exact model identifier as used in API requests.": "Mã định danh mô hình chính xác như được sử dụng trong các yêu cầu API.",
"The following models have billing type conflicts (fixed price vs ratio billing). Confirm to proceed with the changes.": "Các mô hình sau có xung đột loại thanh toán (giá cố định so với thanh toán theo tỷ lệ). Xác nhận để tiếp tục với các thay đổi.",
"The following models in the model redirect have not been added to the \"Models\" list and may fail during invocation due to missing available models:": "Các mô hình sau trong chuyển hướng mô hình chưa được thêm vào danh sách \"Mô hình\" và có thể gọi thất bại do thiếu các mô hình có sẵn:",
@@ -3912,7 +3895,7 @@
"This action will permanently remove 2FA protection from your account.": "Hành động này sẽ vĩnh viễn gỡ bỏ tính năng bảo vệ",
"This channel is not an Ollama channel.": "Kênh này không phải là kênh Ollama.",
"This channel type does not support fetching models": "Loại kênh này không hỗ trợ lấy mô hình",
"This confirmation unlocks payment, redemption code, subscription plan, and invitation reward features. Please read the statements carefully.": "This confirmation unlocks payment, redemption code, subscription plan, and invitation reward features. Please read the statements carefully.",
"This confirmation unlocks payment, redemption code, subscription plan, and invitation reward features. Please read the statements carefully.": "Xác nhận này mở khóa các tính năng thanh toán, mã đổi thưởng, gói đăng ký và phần thưởng mời. Vui lòng đọc kỹ các tuyên bố.",
"This controls model request rate limiting. Web/API route throttling is configured by environment variables and may still return 429.": "Thiết lập này kiểm soát giới hạn tốc độ yêu cầu mô hình. Giới hạn tuyến Web/API được cấu hình bằng biến môi trường và vẫn có thể trả về 429.",
"This data may be unreliable, use with caution": "Dữ liệu này có thể không đáng tin cậy, sử dụng thận trọng",
"This device does not support Passkey": "Thiết bị này không hỗ trợ Passkey",
@@ -3931,7 +3914,7 @@
"This project must be used in compliance with the": "Dự án này phải được sử dụng tuân thủ theo",
"This record was written by a pre-upgrade instance and lacks audit info. Upgrade the instance to record server IP, callback IP, payment method and system version.": "Bản ghi này do bản cũ tạo và thiếu thông tin audit. Nâng cấp bản cài để lưu IP máy chủ, IP callback, hình thức thanh toán và phiên bản hệ thống.",
"This site currently has {{count}} models enabled": "Trang này hiện đã bật {{count}} mô hình",
"This tier catches any request that did not match earlier tiers.": "This tier catches any request that did not match earlier tiers.",
"This tier catches any request that did not match earlier tiers.": "Tầng này bắt mọi yêu cầu không khớp với các tầng trước.",
"this token group": "nhóm token này",
"this user group": "nhóm người dùng này",
"This user has no bindings": "Người dùng này không có liên kết nào",
@@ -3954,7 +3937,7 @@
"Throughput short": "TPS",
"Throughput trend": "Xu hướng thông lượng",
"Tier": "Bậc",
"Tier conditions": "Tier conditions",
"Tier conditions": "Điều kiện tầng",
"Tier name": "Tên bậc",
"Tiered": "Nhiều bậc",
"Tiered (billing expression)": "Nhiều bậc (công thức tính phí)",
@@ -4002,7 +3985,7 @@
"Token price for cache reads.": "Giá token cho lượt đọc cache.",
"Token price for creating cache entries.": "Giá token cho việc tạo mục cache.",
"Token price for image input.": "Giá token cho đầu vào hình ảnh.",
"Token prices": "Token prices",
"Token prices": "Giá token",
"Token regenerated and copied to clipboard": "Token đã được tạo lại và sao chép vào bộ nhớ tạm",
"Token share by model author across the last 24 hours": "Tỷ lệ token theo nhà phát triển trong 24 giờ qua",
"Token share by model author across the past few weeks": "Tỷ lệ token theo nhà phát triển trong vài tuần qua",
@@ -4114,7 +4097,7 @@
"Type (common)": "Loại (phổ biến)",
"Type *": "Nhập *",
"Type a command or search...": "Nhập lệnh hoặc tìm kiếm...",
"Type the confirmation text here": "Type the confirmation text here",
"Type the confirmation text here": "Nhập văn bản xác nhận tại đây",
"Type-Specific Settings": "Cài đặt theo loại",
"Type:": "Loại:",
"UI granularity only — data is still aggregated hourly": "Chỉ là độ chi tiết UI — dữ liệu vẫn được tổng hợp theo giờ",
@@ -4239,6 +4222,7 @@
"used": "đã sử dụng, cũ",
"Used": "Đã sử dụng",
"Used / Remaining": "Đã dùng / Còn lại",
"Used as SuccessURL on the new product. You'll be prompted to confirm if left blank.": "Được dùng làm SuccessURL trên sản phẩm mới. Bạn sẽ được yêu cầu xác nhận nếu để trống.",
"Used for load balancing. Higher weight = more requests": "Được sử dụng để cân bằng tải. Trọng số càng cao = càng nhiều yêu cầu",
"Used in URLs and API routes": "Sử dụng trong URL và các tuyến API",
"Used Quota": "Hạn mức đã sử dụng",
@@ -4313,6 +4297,7 @@
"Verify routing with Playground or your client": "Xác minh định tuyến bằng Playground hoặc client của bạn",
"Verify Setup": "Xác minh thiết lập",
"Verify your database connection": "Xác minh kết nối cơ sở dữ liệu của bạn",
"Verifying credentials and pulling stores from your Pancake account...": "Đang xác minh thông tin xác thực và lấy cửa hàng từ tài khoản Pancake của bạn...",
"Version Overrides": "Ghi đè phiên bản",
"Vertex AI": "Vertex AI",
"Vertex AI does not support functionResponse.id. Enable this to remove the field automatically.": "Vertex AI không hỗ trợ functionResponse.id. Bật để tự động loại bỏ trường này.",
@@ -4323,16 +4308,11 @@
"Vidu": "Vidu",
"View": "Xem",
"View all currently available models": "Xem tất cả mô hình hiện có",
"View and manage your API usage logs": "Xem và quản lý nhật ký sử dụng API của bạn",
"View and manage your drawing logs": "Xem và quản lý nhật ký vẽ của bạn",
"View and manage your task logs": "Xem và quản lý nhật ký tác vụ của bạn",
"View dashboard overview and statistics": "Xem tổng quan và thống kê bảng điều khiển",
"View detailed information about this user including balance, usage statistics, and invitation details.": "Xem thông tin chi tiết về người dùng này bao gồm số dư, thống kê sử dụng và chi tiết lời mời.",
"View details": "Xem chi tiết",
"View document": "Xem tài liệu",
"View logs": "Xem nhật ký",
"View mode": "Chế độ xem",
"View model call count analytics and charts": "Xem phân tích và biểu đồ số lượt gọi mô hình",
"View model statistics and charts": "Xem thống kê và biểu đồ mô hình",
"View Pricing": "View price",
"View the complete details for this": "Xem chi tiết đầy đủ của",
@@ -4340,7 +4320,6 @@
"View the complete error message and details": "Xem toàn bộ thông báo lỗi và chi tiết",
"View the complete prompt and its English translation": "Xem toàn bộ lời nhắc và bản dịch tiếng Anh",
"View the generated image": "Xem ảnh đã tạo",
"View user consumption statistics and charts": "Xem thống kê và biểu đồ tiêu thụ",
"View your topup transaction records and payment history": "Xem lịch sử giao dịch nạp tiền và lịch sử thanh toán của bạn",
"Violation Code": "Mã vi phạm",
"Violation deduction amount": "Số tiền trừ vi phạm",
@@ -4362,7 +4341,14 @@
"Visual Parameter Override": "Ghi đè tham số trực quan",
"VolcEngine": "VolcEngine",
"vs. previous": "so với kỳ trước",
"Waffo Aggregator Gateway": "Cổng tổng hợp Waffo",
"Waffo Pancake Dashboard": "Waffo Pancake Dashboard",
"Waffo Pancake MoR": "Waffo Pancake MoR",
"Waffo Pancake Payment Gateway": "Cổng thanh toán Waffo Pancake",
"Waffo Pancake product created": "Đã tạo sản phẩm Waffo Pancake",
"Waffo Pancake product creation failed": "Tạo sản phẩm Waffo Pancake thất bại",
"Waffo Pancake save failed": "Lưu Waffo Pancake thất bại",
"Waffo Pancake settings saved": "Đã lưu cài đặt Waffo Pancake",
"Waffo Payment": "Thanh toán Waffo",
"Waffo Payment Gateway": "Cổng thanh toán Waffo",
"Waffo Public Key (Production)": "Waffo Public Key (Sản xuất)",
@@ -4393,6 +4379,8 @@
"Webhook Secret": "Bí mật Webhook",
"Webhook signing secret (leave blank unless updating)": "Mã bí mật ký webhook (để trống trừ khi cập nhật)",
"Webhook URL": "URL Webhook",
"Webhook URL (Production):": "Webhook URL (Production):",
"Webhook URL (Test):": "Webhook URL (Test):",
"Webhook URL:": "URL Webhook:",
"Website is under maintenance!": "Website đang bảo trì!",
"WeChat": "WeChat",
@@ -4432,6 +4420,7 @@
"Whitelist (Only allow listed domains)": "Danh sách trắng (Chỉ cho phép các tên miền được liệt kê)",
"Whitelist (Only allow listed IPs)": "Danh sách trắng (Chỉ cho phép các IP đã liệt kê)",
"whsec_xxx": "whsec_xxx",
"Why only one store + product?": "Tại sao chỉ một cửa hàng + sản phẩm?",
"Window:": "Cửa sổ:",
"Wire encoding for the embedding vectors": "Định dạng truyền cho vector embedding",
"with conflicts": "với các xung đột",
@@ -4454,16 +4443,16 @@
"You can close this tab once the binding completes or a success message appears in the original window.": "Bạn có thể đóng tab này sau khi quá trình liên kết hoàn tất hoặc thông báo thành công xuất hiện trong cửa sổ gốc.",
"You can manually add them in \"Custom Model Names\", click \"Fill\" and then submit, or use the operations below to handle automatically.": "Bạn có thể thêm chúng theo cách thủ công trong \"Tên mô hình tùy chỉnh\", nhấp vào \"Điền\" rồi gửi, hoặc sử dụng các thao tác bên dưới để xử lý tự động.",
"You can only check in once per day": "Bạn chỉ có thể điểm danh một lần mỗi ngày",
"You commit not to use this system to implement, assist with, or indirectly implement acts that violate applicable laws and regulations, regulatory requirements, platform rules, public interests, or the lawful rights and interests of third parties.": "You commit not to use this system to implement, assist with, or indirectly implement acts that violate applicable laws and regulations, regulatory requirements, platform rules, public interests, or the lawful rights and interests of third parties.",
"You commit to using upstream APIs, accounts, keys, quotas, and service capabilities only within the scope of lawful authorization obtained from upstream service providers, model service providers, or relevant rights holders, and will not conduct unauthorized resale, trafficking, distribution, or other non-compliant commercialization.": "You commit to using upstream APIs, accounts, keys, quotas, and service capabilities only within the scope of lawful authorization obtained from upstream service providers, model service providers, or relevant rights holders, and will not conduct unauthorized resale, trafficking, distribution, or other non-compliant commercialization.",
"You commit not to use this system to implement, assist with, or indirectly implement acts that violate applicable laws and regulations, regulatory requirements, platform rules, public interests, or the lawful rights and interests of third parties.": "Bạn cam kết không sử dụng hệ thống này để thực hiện, hỗ trợ hoặc gián tiếp thực hiện các hành vi vi phạm luật và quy định hiện hành, yêu cầu quản lý, quy tắc nền tảng, lợi ích công cộng hoặc quyền và lợi ích hợp pháp của bên thứ ba.",
"You commit to using upstream APIs, accounts, keys, quotas, and service capabilities only within the scope of lawful authorization obtained from upstream service providers, model service providers, or relevant rights holders, and will not conduct unauthorized resale, trafficking, distribution, or other non-compliant commercialization.": "Bạn cam kết chỉ sử dụng API upstream, tài khoản, khóa, hạn mức và năng lực dịch vụ trong phạm vi ủy quyền hợp pháp nhận được từ nhà cung cấp dịch vụ upstream, nhà cung cấp mô hình hoặc chủ thể quyền liên quan, và sẽ không thực hiện bán lại, giao dịch, phân phối trái phép hoặc thương mại hóa không tuân thủ khác.",
"You don't have necessary permission": "Bạn không có quyền cần thiết",
"You have legally obtained authorization for the connected model APIs, accounts, keys, and quotas.": "You have legally obtained authorization for the connected model APIs, accounts, keys, and quotas.",
"You have legally obtained authorization for the connected model APIs, accounts, keys, and quotas.": "Bạn đã nhận được ủy quyền hợp pháp cho API mô hình, tài khoản, khóa và hạn mức được kết nối.",
"You have unsaved changes": "Bạn có thay đổi chưa được lưu",
"You have unsaved changes. Are you sure you want to leave?": "Bạn có thay đổi chưa được lưu. Bạn có chắc chắn muốn rời đi không?",
"You Pay": "Bạn thanh toán",
"You save": "Bạn tiết kiệm",
"You understand and independently bear legal responsibility arising from deployment, operation, and charging behavior.": "You understand and independently bear legal responsibility arising from deployment, operation, and charging behavior.",
"You understand this compliance reminder is only for risk notice and does not constitute legal advice, a compliance review conclusion, or a guarantee of the legality of your use of this system; you should consult professional legal or compliance advisors based on your actual business scenario.": "You understand this compliance reminder is only for risk notice and does not constitute legal advice, a compliance review conclusion, or a guarantee of the legality of your use of this system; you should consult professional legal or compliance advisors based on your actual business scenario.",
"You understand and independently bear legal responsibility arising from deployment, operation, and charging behavior.": "Bạn hiểu và tự chịu trách nhiệm pháp lý phát sinh từ việc triển khai, vận hành và thu phí.",
"You understand this compliance reminder is only for risk notice and does not constitute legal advice, a compliance review conclusion, or a guarantee of the legality of your use of this system; you should consult professional legal or compliance advisors based on your actual business scenario.": "Bạn hiểu rằng nhắc nhở tuân thủ này chỉ là thông báo rủi ro, không cấu thành tư vấn pháp lý, kết luận rà soát tuân thủ hoặc bảo đảm tính hợp pháp của việc sử dụng hệ thống; bạn nên tham khảo cố vấn pháp lý hoặc tuân thủ chuyên nghiệp dựa trên tình huống kinh doanh thực tế.",
"You will be redirected to Telegram to complete the binding process.": "Bạn sẽ được chuyển hướng đến Telegram để hoàn tất quá trình liên kết.",
"You'll be redirected automatically. You can return to the previous page if nothing happens after a few seconds.": "Bạn sẽ được chuyển hướng tự động. Bạn có thể quay lại trang trước nếu không có gì xảy ra sau vài giây.",
"your AI integration?": "tích hợp AI của bạn?",