/**
 * Bản dịch Tiếng Việt
 */
window.LOCALE_DATA = window.LOCALE_DATA || {};
window.LOCALE_DATA['vi-VN'] = {
    // ===== Chung =====
    'app.title': 'Wukong AI Tạo hình ảnh',
    'app.config': 'Cấu hình',
    'app.theme.toggle': 'Chuyển chủ đề',
    'app.language.toggle': 'Chuyển ngôn ngữ',
    'app.close': 'Đóng',
    'app.cancel': 'Hủy',
    'app.confirm': 'Xác nhận',
    'app.save': 'Lưu',
    'app.delete': 'Xóa',
    'app.edit': 'Chỉnh sửa',
    'app.add': 'Thêm',
    'app.browse': 'Duyệt...',
    'app.loading': 'Đang tải...',
    'app.uploading': 'Đang tải lên...',
    'app.processing': 'Đang xử lý...',
    'app.success': 'Thành công',
    'app.error': 'Lỗi',
    'app.warning': 'Cảnh báo',
    
    // ===== Tab =====
    'tab.banana': 'Banana',
    'tab.comfyui': 'ComfyUI',
    'tab.rh': 'RH',

    'rh.title': 'Không gian RH',
    'rh.subtitle': 'Phân tích, chạy, xem trước và đưa workflow RunningHub trở lại Photoshop.',
    'rh.docs.open': 'Tài liệu',
    'rh.docs.opened': 'Đã mở tài liệu RunningHub',
    'rh.account.kicker': 'Tài khoản',
    'rh.account.title': 'Thông tin xác thực và trạng thái RunningHub',
    'rh.account.apiKey': 'API Key',
    'rh.account.toggle': 'Hiện',
    'rh.account.toggleHide': 'Ẩn',
    'rh.account.balance': 'Số dư',
    'rh.account.coins': 'RH Coins',
    'rh.account.status': 'Trạng thái',
    'rh.account.refresh': 'Làm mới tài khoản',
    'rh.account.save': 'Lưu Key',
    'rh.account.clear': 'Xóa',
    'rh.account.saved': 'Đã lưu API key',
    'rh.account.cleared': 'Đã xóa API key',
    'rh.account.missing': 'Vui lòng nhập API key trước',
    'rh.account.loading': 'Đang tải...',
    'rh.account.ok': 'Đã kết nối',
    'rh.account.failed': 'Thất bại',
    'rh.account.loaded': 'Đã làm mới trạng thái tài khoản',
    'rh.app.kicker': 'Ứng dụng',
    'rh.app.title': 'Phân tích và quản lý workflow',
    'rh.app.source': 'Workflow ID / URL',
    'rh.app.sourcePlaceholder': 'https://www.runninghub.cn/#/workflow/...',
    'rh.app.name': 'Tên cục bộ',
    'rh.app.namePlaceholder': 'Ví dụ: Workflow RH chỉnh sửa thời trang',
    'rh.app.parse': 'Phân tích workflow',
    'rh.app.save': 'Lưu ứng dụng',
    'rh.app.delete': 'Xóa',
    'rh.app.savedList': 'Ứng dụng đã lưu',
    'rh.app.savedPlaceholder': 'Chọn ứng dụng đã lưu',
    'rh.app.metaEmpty': 'Chưa tải ứng dụng. Nhập workflow ID / URL rồi bấm Phân tích workflow.',
    'rh.app.metaPrefix': 'Ứng dụng hiện tại',
    'rh.app.metaInputs': 'Tham số',
    'rh.app.sourceMissing': 'Vui lòng nhập workflow ID hoặc URL',
    'rh.app.parsing': 'Đang phân tích workflow',
    'rh.app.parsed': 'Phân tích workflow thành công',
    'rh.app.noCurrent': 'Vui lòng phân tích hoặc chọn workflow trước',
    'rh.app.savedDone': 'Đã lưu ứng dụng',
    'rh.app.deleted': 'Đã xóa ứng dụng',
    'rh.app.selected': 'Đã chuyển ứng dụng',
    'rh.inputs.kicker': 'Đầu vào',
    'rh.inputs.title': 'Tham số động',
    'rh.inputs.empty': 'Các tham số động sẽ hiển thị ở đây sau khi phân tích.',
    'rh.inputs.summary': '{count} tham số, {images} đầu vào ảnh, {required} bắt buộc.',
    'rh.inputs.imageEmpty': 'Chưa lấy ảnh',
    'rh.inputs.captureQuick': 'Lớp nhanh',
    'rh.inputs.captureLayer': 'Canvas lớp',
    'rh.inputs.captureCanvas': 'Toàn bộ canvas',
    'rh.inputs.clearImage': 'Xóa',
    'rh.inputs.capturing': 'Đang lấy ảnh',
    'rh.inputs.captureFailed': 'Không lấy được dữ liệu ảnh',
    'rh.inputs.captureDone': 'Đã lấy ảnh',
    'rh.run.kicker': 'Chạy',
    'rh.run.title': 'Thực thi tác vụ và cài đặt nâng cao',
    'rh.run.submit': 'Chạy workflow',
    'rh.run.cancel': 'Hủy tác vụ',
    'rh.run.reset': 'Đặt lại giao diện',
    'rh.run.running': 'Đang gửi và theo dõi tác vụ...',
    'rh.run.start': 'Bắt đầu chạy',
    'rh.run.done': 'Tác vụ hoàn tất',
    'rh.run.completedTask': 'Tác vụ đã hoàn tất',
    'rh.run.failed': 'Tác vụ thất bại',
    'rh.run.cancelled': 'Tác vụ đã hủy',
    'rh.run.noTask': 'Không có tác vụ đang chạy để hủy',
    'rh.run.resetDone': 'Đã đặt lại giao diện, vẫn giữ ứng dụng và cài đặt hiện tại.',
    'rh.results.kicker': 'Kết quả',
    'rh.results.title': 'Kết quả và đưa lại vào Photoshop',
    'rh.results.import': 'Nhập vào Photoshop',
    'rh.results.download': 'Tải kết quả hiện tại',
    'rh.results.downloadAll': 'Tải tất cả',
    'rh.results.empty': 'Đang chờ kết quả từ RunningHub.',
    'rh.results.current': 'Kết quả hiện tại',
    'rh.results.preview': 'Xem trước',
    'rh.results.noCurrent': 'Không có kết quả để nhập hoặc tải',
    'rh.results.onlyImageImport': 'Hiện chỉ hỗ trợ nhập kết quả ảnh vào Photoshop',
    'rh.results.imported': 'Đã nhập kết quả vào Photoshop',
    'rh.results.downloadOpened': 'Đã mở liên kết tải kết quả',
    'rh.results.downloadAllOpened': 'Đã mở tất cả liên kết kết quả',
    'rh.results.noOutputs': 'Chưa có kết quả',
    'rh.tasks.kicker': 'Tác vụ',
    'rh.tasks.title': 'Lịch sử tác vụ',
    'rh.tasks.refresh': 'Làm mới',
    'rh.tasks.clear': 'Xóa',
    'rh.tasks.empty': 'Chưa có lịch sử tác vụ.',
    'rh.tasks.load': 'Nạp',
    'rh.tasks.loaded': 'Đã nạp tác vụ',
    'rh.tasks.cleared': 'Đã xóa lịch sử tác vụ',
    'rh.log.kicker': 'Nhật ký',
    'rh.log.title': 'Nhật ký chạy',
    'rh.log.clear': 'Xóa nhật ký',
    'rh.log.ready': 'Mô-đun RH đã sẵn sàng.',
    'rh.settings.pollInterval': 'Khoảng polling (giây)',
    'rh.settings.timeout': 'Thời gian chờ (giây)',
    'rh.settings.targetBytes': 'Mục tiêu tải lên (MB)',
    'rh.settings.hardLimit': 'Giới hạn cứng (MB)',
    'rh.settings.concurrency': 'Đồng thời',
    'rh.settings.autoCompress': 'Tự động nén ảnh tải lên',
    
    // ===== Chủ đề =====
    'theme.light': 'S',
    'theme.dark': 'T',
    'theme.toggle_to_light': 'Chuyển sang chủ đề sáng',
    'theme.toggle_to_dark': 'Chuyển sang chủ đề tối',
    
    // ===== Ngôn ngữ =====
    'language.label': 'Ngôn ngữ',
    'language.zh_cn': '简体中文',
    'language.zh_tw': '繁體中文',
    'language.en_us': 'English',
    'language.vi_vn': 'Tiếng Việt',
    
    // ===== Kết nối ComfyUI =====
    'comfy.server.placeholder': 'Địa chỉ máy chủ ComfyUI (http://127.0.0.1:8188)',
    'comfy.server.connect': 'Kết nối',
    'comfy.server.disconnect': 'Ngắt kết nối',
    'comfy.server.connected': 'Đã kết nối',
    'comfy.server.disconnected': 'Chưa kết nối',
    'comfy.server.connecting': 'Đang kết nối...',
    'comfy.server.error': 'Kết nối thất bại',
    
    // ===== Cài đặt ComfyUI =====
    'comfy.settings.auto_expand': 'Tự động mở rộng canvas',
    'comfy.settings.limit_size': 'Giới hạn kích thước tải lên (2048)',
    
    // ===== Trạng thái hệ thống ComfyUI =====
    'comfy.stats.queue': 'Hàng đợi',
    'comfy.stats.cpu': 'CPU',
    'comfy.stats.ram': 'RAM',
    'comfy.stats.gpu': 'GPU',
    'comfy.stats.vram': 'VRAM',
    'comfy.stats.temp': 'Nhiệt độ',
    
    // ===== Quy trình ComfyUI =====
    'comfy.workflow.title': 'Quy trình',
    'comfy.workflow.add': 'Thêm quy trình',
    'comfy.workflow.manage': 'Quản lý quy trình',
    'comfy.workflow.name': 'Tên nút',
    'comfy.workflow.file': 'Tệp quy trình',
    'comfy.workflow.name_placeholder': 'Ví dụ: Văn bản sang hình ảnh',
    'comfy.workflow.file_placeholder': 'Nhấp duyệt để chọn tệp JSON...',
    'comfy.workflow.delete_confirm': 'Bạn có chắc muốn xóa quy trình "{name}"?',
    'comfy.workflow.reselect': 'Chọn lại',
    
    // ===== Tham số ComfyUI =====
    'comfy.params.title': 'Điều chỉnh tham số',
    'comfy.params.count': '{count} tham số',
    'comfy.params.no_params': 'Vui lòng kết nối máy chủ và chọn quy trình trước',
    'comfy.params.image_input': 'Đầu vào hình ảnh',
    'comfy.params.mask_input': 'Đầu vào mặt nạ',
    'comfy.params.click_to_get': 'Nhấp nút để lấy hình ảnh',
    'comfy.params.not_uploaded': 'Chưa tải lên',
    'comfy.params.not_uploaded_mask': 'Chưa tải lên mặt nạ',
    
    // ===== Thao tác hình ảnh ComfyUI =====
    'comfy.image.grab_quick': 'Lớp nhanh',
    'comfy.image.grab_layer': 'Lớp hiện tại',
    'comfy.image.grab_canvas': 'Toàn bộ canvas',
    'comfy.image.grab_selection': 'Vùng chọn',
    'comfy.image.remove': '×',
    
    // ===== Thao tác mặt nạ ComfyUI =====
    'comfy.mask.selection': 'Mặt nạ vùng chọn',
    'comfy.mask.layer': 'Mặt nạ lớp',
    
    // ===== Thực thi ComfyUI =====
    'comfy.execute.run': 'Chạy quy trình',
    'comfy.execute.stop': 'Dừng',
    'comfy.execute.running': 'Đang chạy...',
    'comfy.execute.idle': 'Chờ...',
    'comfy.execute.progress': 'Tiến độ',
    'comfy.execute.save_internal': 'Giải phóng bộ nhớ',
    'comfy.execute.stop_all': 'Dừng tất cả',
    
    // ===== Thông báo lỗi =====
    'error.server_not_connected': 'Vui lòng kết nối máy chủ ComfyUI trước',
    'error.no_workflow': 'Vui lòng chọn quy trình trước',
    'error.upload_failed': 'Tải lên thất bại',
    'error.execute_failed': 'Thực thi thất bại',
    'error.network_error': 'Lỗi mạng',
    'error.invalid_workflow': 'Tệp quy trình không hợp lệ',
    'error.file_too_large': 'Tệp quá lớn',
    'error.unsupported_format': 'Định dạng tệp không được hỗ trợ',
    'error.no_selection': 'Không có vùng chọn',
    'error.no_active_layer': 'Không có lớp hoạt động',
    // ===== Thông báo lỗi (Tạo ảnh) =====
    'error.quota_exceeded': 'Số dư không đủ, không thể tạo ảnh!\n\nVui lòng vào "Cấu hình" để nạp tiền và thử lại.',
    'error.network_failed': 'Kết nối mạng thất bại!\n\n{msg}',
    'error.timeout': 'Yêu cầu API hết thời gian!\n\n{msg}',
    'error.generation_failed': 'Tạo thất bại: {msg}',
    'error.quota_short': '🚫 Số dư không đủ ({time})\n\nVui lòng vào "Cấu hình" để nạp tiền.',
    'error.network_short': '🚫 Lỗi mạng ({time})\n\nKết nối mạng thất bại, vui lòng kiểm tra mạng.',
    'error.timeout_short': '⏰ Hết thời gian ({time})\n\nYêu cầu hết thời gian, vui lòng kiểm tra mạng.',
    'error.generation_failed_short': '❌ Tạo thất bại ({time})\n\n{msg}',
    'banana.result.completed': 'Hoàn tất tạo ảnh, thời gian: {seconds} giây',
    'banana.result.referenceCount': 'Đã dùng {count} ảnh tham khảo',
    'banana.result.selectionMode': '🎯 Chế độ vùng chọn: ảnh đã được đặt trực tiếp vào vùng chọn',
    'banana.result.uploadTiming': 'Thời gian tải ảnh tham khảo: {seconds} giây ({successCount}/{requestedCount} ảnh)',
    'banana.result.uploadTimingNone': 'Thời gian tải ảnh tham khảo: 0.00 giây (không dùng ảnh tham khảo)',
    'banana.result.downloadTiming': 'Thời gian tải ảnh kết quả: {seconds} giây ({count} ảnh)',
    'banana.result.seed.random': '[Hạt giống: Ngẫu nhiên]',
    'banana.result.seed.fixed': '[Hạt giống: {seed}]',
    'banana.result.successCount': 'Tạo thành công {count} ảnh',
    'banana.result.batchLine': '[Lô {index}] {text}',
    'banana.result.taskUuid': 'UUID tác vụ: {uuid}',
    'banana.result.taskUuidWithCount': 'UUID tác vụ: {uuid}, tạo {count} ảnh',
    'banana.result.failedLine': '❌ {msg}',
    'banana.result.generationFailed': 'Tạo ảnh thất bại',
    'banana.result.downloadAll': '📥 Tải tất cả',
    'banana.result.sendAllToPS': '📤 Gửi tất cả vào PS',
    'banana.result.createNewDocument': '📄 Tạo tài liệu mới',
    'success.connected': 'Kết nối thành công',
    'success.uploaded': 'Tải lên thành công',
    'success.executed': 'Thực thi thành công',
    'success.saved': 'Lưu thành công',
    'success.deleted': 'Xóa thành công',
    
    // ===== Thông báo nhật ký =====
    'log.connecting': 'Đang kết nối tới {url}...',
    'log.connected': 'Đã kết nối máy chủ ComfyUI',
    'log.disconnected': 'Đã ngắt kết nối',
    'log.uploading_image': 'Đang tải lên hình ảnh...',
    'log.uploading_mask': 'Đang tải lên mặt nạ...',
    'log.executing_workflow': 'Đang thực thi quy trình...',
    'log.workflow_completed': 'Quy trình hoàn thành',
    'log.node_executing': 'Đang thực thi nút: {node}',
    
    // ===== API Cấu Hình =====
    'apiConfig.title': 'Cấu Hình API',
    'apiConfig.close': 'Đóng',
    'apiConfig.logout': 'Đăng Xuất',
    'apiConfig.balance.label': 'Số Dư Tài Khoản',
    'apiConfig.balance.unit': '元',
    'apiConfig.recharge': 'Nạp Tiền',
    'apiConfig.vietnamRecharge': 'Nạp bằng VNPAY',
    'apiConfig.vietnamRecharge.opened': 'Đã mở trang nạp bằng VNPAY',
    'apiConfig.vietnamRecharge.failed': 'Không thể mở trang nạp bằng VNPAY',
    'apiConfig.paymentHistory': 'Lịch Sử Nạp',
    'apiConfig.announcements': 'Thông Báo',
    'apiConfig.login': 'Đăng Nhập / Đăng Ký',
    'apiConfig.apiKey.placeholder': 'API Token *',
    'apiConfig.show': 'Hiện',
    'apiConfig.save': 'Lưu',
    'apiConfig.taskMode': 'Chế Độ Quản Lý Tác Vụ',
    'apiConfig.balanceMode': 'Dùng Số Dư (Cần Đăng Nhập)',
    'apiConfig.customerService': 'Zalo CSKH',
    'apiConfig.copyWechat': 'Sao Chép',
    'announcement.center.title': 'Trung Tâm Thông Báo',
    'announcement.center.refresh': 'Làm Mới',
    'announcement.center.empty': 'Chưa có thông báo',
    'announcement.center.markRead': 'Đánh Dấu Đã Đọc',
    'announcement.center.badge.forcePopup': 'Bắt Buộc',
    'announcement.center.badge.unread': 'Chưa Đọc',
    'announcement.center.level.info': 'Thông Tin',
    'announcement.center.level.warning': 'Cảnh Báo',
    'announcement.center.level.critical': 'Quan Trọng',
    'paymentHistory.title': 'Lịch Sử Nạp Tiền',
    'paymentHistory.refresh': 'Làm Mới',
    'paymentHistory.empty': 'Chưa có lịch sử nạp tiền',
    'paymentHistory.loadMore': 'Tải Thêm',
    'paymentHistory.status.pending': 'Chờ Thanh Toán',
    'paymentHistory.status.paid': 'Đã Thanh Toán',
    'paymentHistory.status.closed': 'Đã Đóng',
    'paymentHistory.status.failed': 'Thanh Toán Thất Bại',
    'apiConfig.quotaUsed': 'Đã dùng: --',
    'apiConfig.quotaTotal': 'Tổng: --',
    'userRole.admin': 'Quản Trị',
    'userRole.user': 'Người Dùng',

    // ===== Trang Quản Lý Tác Vụ =====
    'taskManager.panel.title': 'Quản Lý Tác Vụ',
    'taskManager.panel.empty': 'Chưa có lịch sử tạo',
    'taskManager.panel.clear': 'Xóa',
    'taskManager.panel.clear.title': 'Xóa lịch sử',
    'taskManager.panel.btn': 'Tác Vụ',
    'taskManager.panel.query': 'Truy vấn',
    'taskManager.panel.query.loading': 'Đang truy vấn...',
    'taskManager.panel.query.title': 'Truy vấn tác vụ máy chủ (24 giờ qua)',
    'taskManager.panel.importCurrent': 'Nhập vào canvas hiện tại',
    'taskManager.panel.importNewCanvas': 'Tạo canvas mới để nhập',
    'taskManager.panel.importedCurrent': 'Ảnh đã nhập vào canvas hiện tại',
    'taskManager.panel.importedNewCanvas': 'Ảnh đã nhập vào canvas mới',

    'main.accountBar.title': 'Tổng Quan Tài Khoản',
    'main.accountBar.balance': 'Số Dư',
    'main.accountBar.refresh': 'Làm Mới Số Dư',

    // ===== Trang Banana =====
    'banana.image_upload': 'Nguồn hình ảnh & Xem trước',
    'banana.mode.normal': 'Bình thường',
    'banana.mode.selection': 'Mặt nạ',
    'banana.layout.full': 'Toàn bộ canvas',
    'banana.layout.image': 'Canvas lớp',
    'banana.layout.fast': 'Lớp nhanh',
    'banana.image.title': 'Nguồn hình ảnh & Xem trước',
    'banana.image.slot': 'Hình ảnh {n}',
    'banana.image.click_to_get': 'Nhấp nút để lấy hình ảnh',
    'banana.image.not_uploaded': 'Chưa tải lên',
    'banana.prompt.placeholder': 'Mô tả prompt của bạn *',
    'banana.prompt.presetLockedPlaceholder': 'Đã chọn mẫu sẵn — không cần nhập prompt thủ công',
    'banana.batch.label': 'Số lượng tạo',
    'banana.aiPromptOptimize.title': 'Tối ưu Prompt bằng AI',
    'banana.aiPromptOptimize.hint': 'Bật để dùng Gemini mở rộng mô tả ngắn thành prompt có cấu trúc cho Banana Pro',
    'banana.aiPromptOptimize.optimizing': 'Đang tối ưu prompt…',
    'banana.aiPromptOptimize.done': '✨ Đã tối ưu prompt',
    'banana.aiPromptOptimize.fail': '⚠️ Tối ưu AI thất bại, dùng prompt gốc',
    'banana.aiPromptOptimize.modeLabel': 'Chế độ tối ưu',
    'banana.aiPromptOptimize.mode.universal': 'Tối ưu chung',
    'banana.aiPromptOptimize.mode.photography': 'Tối ưu nhiếp ảnh',
    'banana.aiPromptOptimize.mode.scene': 'Tạo cảnh',
    'banana.aiPromptOptimize.mode.blend': 'Phối nhiều ảnh',
    'banana.aiPromptOptimize.mode.edit': 'Chỉnh sửa chính xác',
    'banana.aiPromptOptimize.mode.design': 'Thiết kế bố cục',
    'banana.manualStretch.title': '⤢ Co vừa Canvas',
    'banana.settings.title': 'Cài đặt tạo',
    'banana.settings.auto_expand': 'Tự động mở rộng canvas',
    'banana.settings.limit_size': 'Giới hạn kích thước tải lên (2048)',
    'banana.settings.creativity': 'Sáng tạo',
    'banana.settings.align_reference': 'Căn chỉnh hình ảnh tham khảo',
    'banana.settings.auto_stretch': 'Tự động kéo giãn vào canvas',
    'banana.settings.createNewDoc': 'Tự động tạo canvas mới và đặt ảnh trả về',
    'banana.settings.seed': 'Hạt giống ngẫu nhiên',
    'banana.settings.seed_placeholder': 'Hạt giống (-1 ngẫu nhiên)',
    'banana.preset.placeholder': 'Chọn mẫu sẵn...',
    'banana.generate': 'Bắt đầu tạo',
    'banana.generate_selection': 'Tạo trong vùng chọn',
    'banana.generate_hint': 'Tạo hình ảnh và thêm vào tài liệu hiện tại',
    'banana.generate_selection_hint': 'Đã phát hiện vùng chọn, sẽ tạo trực tiếp trong vùng chọn',
    'banana.generating': 'Đang tạo...',
    'banana.loading.wait': 'Đang tạo hình ảnh, vui lòng chờ...',
    'banana.loading.cancel': 'Hủy tạo ảnh',
    'banana.loading.interrupting': 'Đang ngắt...',
    'banana.loading.cancelling': 'Đang hủy...',
    'banana.loading.cancelRequested': 'Đã yêu cầu hủy, đang chờ tác vụ hiện tại kết thúc...',
    'banana.progress.running': 'Đang tạo {progress}%',
    'banana.progress.completed': 'Hoàn thành ✓',
    'banana.progress.failed': 'Thất bại {progress}%',
    'banana.stop': 'Dừng',
    'banana.save_internal': 'Giải phóng bộ nhớ',
    'banana.stop_all': 'Dừng tất cả',
    'banana.quickFunctions.title': 'Mẫu Có Sẵn',
    'banana.quickFunctions.expand': 'Mở rộng ▼',
    'banana.quickFunctions.collapse': 'Thu gọn ▲',
    'banana.quickFunctions.needPrompt': 'Nhập prompt hoặc chọn một chức năng nhanh',
    // Categories
    'banana.quickFunctions.cat.ai': 'AI Chụp Ảnh',
    'banana.quickFunctions.cat.portrait': 'Chân Dung',
    'banana.quickFunctions.cat.retouch': 'Retouching',
    'banana.quickFunctions.cat.wedding': 'Cưới Hỏi',
    'banana.quickFunctions.cat.hotel': 'Khách Sạn',
    // Presets
    'banana.quickFunctions.preset.qf-family-2': 'Ảnh Gia Đình',
    'banana.quickFunctions.preset.qf-couple-travel': 'Du Lịch Cùng Nhau',
    'banana.quickFunctions.preset.qf-couple-cinematic': 'Bố Cục Đôi',
    'banana.quickFunctions.preset.qf-newyear-koi': 'Phong Cách Cá Koi',
    'banana.quickFunctions.preset.qf-newyear-classicindoor': 'Cổ Điển Trong Nhà',
    'banana.quickFunctions.preset.qf-movie-moon': 'Váy Trắng',
    'banana.quickFunctions.preset.qf-movie-ferry': 'Không Khí Cảm Xúc',
    'banana.quickFunctions.preset.qf-movie-japanese': 'Phong Cách Nhật',
    'banana.quickFunctions.preset.qf-movie-subway': 'Phong Cách Tàu Điện',
    'banana.quickFunctions.preset.qf-movie-blue': 'Phim Xanh',
    'banana.quickFunctions.preset.qf-movie-fresh': 'Phong Cách Tươi Mát',
    'banana.quickFunctions.preset.qf-movie-ferry2': 'Phong Cách Phà',
    'banana.quickFunctions.preset.qf-movie-road': 'Đường Phim',
    'banana.quickFunctions.preset.qf-movie-lake': 'Phong Cách Hồ',
    'banana.quickFunctions.preset.qf-movie-snow': 'Phong Cách Tuyết',
    'banana.quickFunctions.preset.qf-portrait-goldfish': 'Chân Dung Cá Koi',
    'banana.quickFunctions.preset.qf-portrait-splash': 'Phong Cách Chân Dung',
    'banana.quickFunctions.preset.qf-retouch-rapeseed': ' cánh đồng hoa',
    'banana.quickFunctions.preset.qf-retouch-composite': 'Ghép Hình',
    'banana.quickFunctions.preset.qf-retouch-sunny': 'Phong Cách Nắng',
    'banana.quickFunctions.preset.qf-retouch-colorgrade': 'Chỉnh Màu',
    'banana.quickFunctions.preset.qf-retouch-liquify': 'Làm Biến Dạng',
    'banana.quickFunctions.preset.qf-retouch-shimmer': 'L\u1ea5p L\u00e1nh G\u1ee3n S\u00f3ng',
    'banana.quickFunctions.preset.qf-retouch-oldphoto': 'Ph\u1ee5c H\u1ed3i \u1ea2nh C\u0169',
    'banana.quickFunctions.preset.qf-retouch-liquifyslim': 'L\u00e0m Thon D\u00e1ng',
    'banana.quickFunctions.preset.qf-retouch-colorgrade2': 'Ch\u1ec9nh M\u00e0u 2',
    'banana.quickFunctions.preset.qf-retouch-skirtrepair': 'S\u1eeda V\u00e1y',
    'banana.quickFunctions.preset.qf-retouch-blend': 'H\u00f2a Tr\u1ed9n \u1ea2nh',
    'banana.quickFunctions.preset.qf-retouch-grassrepair': 'S\u1eeda B\u00e3i C\u1ecf',
    'banana.quickFunctions.preset.qf-wedding-rainbowsmoke': 'Kh\u00f3i B\u1ea3y M\u00e0u',
    'banana.quickFunctions.preset.qf-wedding-topdown-redcarpet': 'Thay Th\u1ea3m \u0110\u1ecf G\u00f3c Ch\u1ee5p T\u1eeb Tr\u00ean',
    'banana.quickFunctions.preset.qf-wedding-colorsmoke': 'Khói Màu',
    'banana.quickFunctions.preset.qf-wedding-redcarpet': 'Thảm Đỏ',
    'banana.quickFunctions.preset.qf-wedding-confetti': 'Giấy Màu',
    'banana.quickFunctions.preset.qf-wedding-lighting': 'Ánh Sáng',
    'banana.quickFunctions.preset.qf-wedding-carpet': 'Sửa Thảm Đỏ',
    'banana.quickFunctions.preset.qf-wedding-mvp1': 'Cưới MVP',
    'banana.quickFunctions.preset.qf-wedding-mvp2': 'Cưới MVP',
    'banana.quickFunctions.preset.qf-hotel-night': 'Chỉnh Sửa Đêm',
    'banana.quickFunctions.preset.qf-hotel-day': 'Chỉnh Sửa Ngày',
    'banana.quickFunctions.preset.qf-hotel-bed-all': 'Chỉnh Ga Giường',

    // ===== Trang SD WebUI =====
    'sd.title': 'SD WebUI',
    'sd.prompt.placeholder': 'Prompt (tùy chọn)',
    'sd.model': 'Mô hình',
    'sd.model.loading': 'Đang tải...',
    'sd.sampler': 'Bộ lấy mẫu',
    'sd.cfg': 'CFG',
    'sd.denoising': 'Cường độ khử nhiễu',
    'sd.size': 'Kích thước',
    'sd.lock': 'Khóa',
    'sd.color_space': 'Không gian màu',
    'sd.restore_faces': 'Khôi phục khuôn mặt',
    'sd.inpainting': 'Tô vẽ',
    'sd.inpainting.enable': 'Bật',
    'sd.fill': 'Điền',
    'sd.fill.original': 'Gốc',
    'sd.fill.noise': 'Nhiễu',
    'sd.fill.fill': 'Điền',
    'sd.fill.blank': 'Trống',
    'sd.generate': 'Bắt đầu tạo',
    'sd.stop': 'Dừng',
    'sd.preview': 'Xem trước trực tiếp',
    'sd.preview.generating': 'Đang tạo bản xem trước...',
    'sd.get_size': 'Lấy kích thước vùng chọn',

    // Khu vực trạng thái SD WebUI
    'sd.server': 'Máy chủ SD WebUI',
    'sd.queue': 'Hàng đợi',
    'sd.idle': 'Chờ...',
    'sd.model.info': 'Mô hình',

    // Kết nối SD WebUI
    'sd.server.placeholder': 'Địa chỉ máy chủ SD (http://127.0.0.1:7860)',
    'sd.connect': 'Kết nối',
    'sd.disconnect': 'Ngắt kết nối',

    // ===== Trang Thương Mại Điện Tử =====
    'ec.modal.title': 'Tạo Chi Tiết TMĐT Một Click',
    'ec.modal.titleInterior': 'Phiên Bản Nội Thất',
    'ec.interior.badge': 'Noi That',
    'ec.interior.section.referenceScene': 'Anh Tham Khao Khong Gian',
    'ec.interior.label.imageCount': 'So Anh Tao',
    'ec.interior.label.prompt': 'Yeu Cau Bo Sung',
    'ec.interior.placeholder.prompt': 'Bo sung phong cach, goc may, chat lieu trong tam, khong khi noi that...',
    'ec.interior.label.sceneType': 'Loai Canh',
    'ec.interior.label.daylight': 'Anh Sang Tu Nhien',
    'ec.interior.label.peopleMode': 'Nhan Vat',
    'ec.interior.label.shootTime': 'Thoi Gian Chup',
    'ec.interior.label.cityView': 'Ngoai Canh Thanh Pho',
    'ec.interior.label.weatherMode': 'Hieu Ung Anh Sang',
    'ec.interior.label.cameraModel': 'May Anh',
    'ec.interior.label.aperture': 'Khau Do',
    'ec.interior.label.materialPreset': 'Chat Lieu',
    'ec.interior.step.setup': 'Thiet Lap Canh',
    'ec.interior.step.material': 'Anh Sang Va Vat Lieu',
    'ec.interior.step.generate': 'Render',
    'ec.interior.step.completed': 'Hoan Tat',
    'ec.interior.option.sceneType.indoor': 'Trong Nha',
    'ec.interior.option.sceneType.outdoor': 'Ngoai Troi',
    'ec.interior.option.daylight.enabled': 'Bat',
    'ec.interior.option.daylight.disabled': 'Tat',
    'ec.interior.option.peopleMode.natural_people': 'Them Nguoi That',
    'ec.interior.option.peopleMode.no_people': 'Khong Co Nguoi',
    'ec.interior.option.shootTime.noon': 'Buoi Trua',
    'ec.interior.option.shootTime.morning': 'Buoi Sang',
    'ec.interior.option.shootTime.afternoon': 'Buoi Chieu',
    'ec.interior.option.shootTime.dusk': 'Hoang Hon',
    'ec.interior.option.shootTime.night': 'Ban Dem',
    'ec.interior.option.cityView.nanjing': 'Nam Kinh',
    'ec.interior.option.cityView.shanghai': 'Thuong Hai',
    'ec.interior.option.cityView.beijing': 'Bac Kinh',
    'ec.interior.option.cityView.shenzhen': 'Tham Quyen',
    'ec.interior.option.cityView.none': 'Khong Nhan Manh Dia Danh',
    'ec.interior.option.weatherMode.sunny': 'Troi Nang',
    'ec.interior.option.weatherMode.cloudy': 'Am U',
    'ec.interior.option.weatherMode.rainy': 'Mua',
    'ec.interior.option.weatherMode.snowy': 'Tuyet',
    'ec.interior.option.cameraModel.canon_r5': 'Canon EOS R5',
    'ec.interior.option.cameraModel.sony_a7r5': 'Sony A7R5',
    'ec.interior.option.cameraModel.nikon_z8': 'Nikon Z8',
    'ec.interior.option.materialPreset.pbr_realistic': 'Vat Lieu PBR Chan Thuc',
    'ec.interior.option.materialPreset.architectural_magazine': 'Chat Cam Tap Chi Kien Truc',
    'ec.interior.option.materialPreset.cinematic_realistic': 'Chan Thuc Dien Anh',
    'ec.button.openEcommerce': 'Tạo Chi Tiết TMĐT',
    'ec.button.openInteriorDesign': 'Phiên Bản Nội Thất',
    'ec.button.backMain': 'Quay lại',
    'ec.section.referenceImage': 'Ảnh Tham Khảo',
    'ec.hint.referenceImage': 'Hỗ trợ 3 ảnh tham khảo. Đầu tiên nhấp để chọn khung xem trước, sau đó nhấp nút bên trên để lấy ảnh từ Photoshop.',
    'ec.button.grabQuick': 'Lớp Nhanh',
    'ec.button.grabLayer': 'Vùng Lớp',
    'ec.button.grabCanvas': 'Toàn Bộ',
    'ec.label.canvasRatio': 'Tỷ Lệ Vùng',
    'ec.label.imageCount': 'Số Lượng Ảnh',
    'ec.label.outputLanguage': 'Ngôn Ngữ Đầu Ra',
    'ec.label.targetPlatform': 'Nền Tảng Mục Tiêu',
    'ec.label.designTheme': 'Chủ Đề Thiết Kế',
    'ec.label.palette': 'Tông Màu',
    'ec.label.imageModel': 'Mô Hình Ảnh',
    'ec.label.resolution': 'Độ Phân Giải',
    'ec.label.brandColor': 'Màu Thương Hiệu',
    'ec.placeholder.brandColor': 'VD: #FF6B6B',
    'ec.label.productPrompt': 'Mô Tả / Điểm Bán Hàng',
    'ec.placeholder.productPrompt': 'Vui lòng nhập tên sản phẩm, điểm bán hàng, thông số, người dùng mục tiêu, v.v...',
    'ec.step.productRecognition': 'Nhận Diện Sản Phẩm',
    'ec.step.designPlanning': 'Lập Kế Hoạch Thiết Kế',
    'ec.step.generating': 'Đang Tạo Ảnh',
    'ec.step.completed': 'Hoàn Thành',
    'ec.button.generate': 'Bắt Đầu Tạo',
    'common.close': 'Đóng',
    'language.switch': 'Đổi Ngôn Ngữ',

    // ===== Chế Độ Lưới =====
    'ec.grid.mode': 'Chế Độ Lưới',
    'ec.grid.type': 'Loại Lưới',
    'ec.grid.hint': 'Tạo một ảnh trang chi tiết lưới với nhiều ô',
    'ec.option.grid.3': '3 Ô (3 ảnh)',
    'ec.option.grid.4': '4 Ô (2×2)',
    'ec.option.grid.6': '6 Ô (2×3)',
    'ec.option.grid.8': '8 Ô (2×4)',
    'ec.option.grid.9': '9 Ô (3×3)',
    'ec.option.grid.12': '12 Ô (3×4)',
    'ec.option.grid.free': 'Tự Động',

    // ===== Chế Độ Sao Chép =====
    'ec.clone.mode': 'Chế Độ Sao Chép',
    'ec.section.referenceImage_clone': 'Ảnh Sản Phẩm (Chế Độ Sao Chép)',
    'ec.hint.referenceImage_clone': '3 vị trí cho ảnh sản phẩm. Chọn vị trí ảnh tham khảo sao chép bên dưới, sau đó nhấp nút để lấy trang chi tiết.',
    'ec.clone.remove': 'Xóa',
    
    // ===== Trang Thương Mại Điện Tử - Tùy Chọn Dropdown =====
    'ec.option.ratio.1_1': '1:1 Vuông',
    'ec.option.ratio.3_4': '3:4 Dọc',
    'ec.option.ratio.4_3': '4:3 Ngang',
    'ec.option.ratio.9_16': '9:16 Di Động',
    'ec.option.ratio.16_9': '16:9 Màn Hình Rộng',
    'ec.option.ratio.21_9': '21:9 Siêu Rộng',
    'ec.option.ratio.4_5': '4:5 Dọc Mạng Xã Hội',
    'ec.option.ratio.2_3': '2:3 Dọc',
    'ec.option.count.unit': 'Ảnh',
    'ec.option.platform.amazon': 'Amazon',
    'ec.option.platform.taobao': 'Taobao/Tmall',
    'ec.option.platform.jd': 'JD.com',
    'ec.option.platform.xiaohongshu': 'Xiaohongshu',
    'ec.option.platform.tiktok': 'TikTok Shop',
    'ec.option.platform.shopify': 'Shopify',
    'ec.option.platform.shein': 'SHEIN',
    'ec.option.platform.temu': 'Temu',
    'ec.option.theme.follow_recommendation': 'Đề Xuất Thông Minh',
    'ec.option.theme.minimalist': 'Tối Giản Hiện Đại',
    'ec.option.theme.premium': 'Cao Cấp Sang Trọng',
    'ec.option.theme.youthful': 'Năng Động Trẻ Trung',
    'ec.option.theme.nature': 'Tự Nhiên Tươi Mát',
    'ec.option.theme.tech': 'Kết Cấu Công Nghệ',
    'ec.option.palette.follow_recommendation': 'Đề Xuất Thông Minh',
    'ec.option.palette.warm': 'Tông Ấm',
    'ec.option.palette.cool': 'Tông Lạnh',
    'ec.option.palette.high_contrast': 'Độ Tương Phản Cao',
    'ec.option.palette.soft': 'Mềm Mại Thanh Lịch',
    'ec.option.palette.vibrant': 'Sống Động Rực Rỡ',
    'ec.option.model.bananapro': 'Banana Pro (Đề Xuất)',
    'ec.option.model.banana2': 'Banana 2',
    'ec.option.model.banana1': 'gpt-image2',
    'ec.option.size.1K': '1K (1024)',
    'ec.option.size.2K': '2K (2048)',
    'ec.option.size.4K': '4K (4096)',
    'ec.option.outLang.none': 'Không (Chỉ sản phẩm)',
    'ec.option.outLang.zh-CN': 'Tiếng Trung (Giản thể)',
    'ec.option.outLang.zh-TW': 'Tiếng Trung (Phồn thể)',
    'ec.option.outLang.en-US': 'English (US)',
    'ec.option.outLang.en-GB': 'English (UK)',
    'ec.option.outLang.ja-JP': 'Tiếng Nhật',
    'ec.option.outLang.ko-KR': 'Tiếng Hàn',
    'ec.option.outLang.fr-FR': 'Tiếng Pháp',
    'ec.option.outLang.de-DE': 'Tiếng Đức',
    'ec.option.outLang.es-ES': 'Tiếng Tây Ban Nha',
    'ec.option.outLang.pt-BR': 'Tiếng Bồ Đào Nha',
    'ec.option.outLang.ar-SA': 'Tiếng Ả Rập',
    'ec.option.outLang.ru-RU': 'Tiếng Nga',
    'ec.option.outLang.th-TH': 'Tiếng Thái',
    'ec.option.outLang.vi-VN': 'Tiếng Việt',
    'ec.option.outLang.id-ID': 'Tiếng Indonesia',

    // ===== Tỷ Lệ Khung Hình =====
    'aspectRatio.original': 'Tỷ Lệ Gốc',
    'aspectRatio.1:1': '1:1 Vuông (1024x1024)',
    'aspectRatio.2:3': '2:3 Dọc (832x1248)',
    'aspectRatio.3:2': '3:2 Ngang (1248x832)',
    'aspectRatio.3:4': '3:4 Dọc (864x1184)',
    'aspectRatio.4:3': '4:3 Ngang (1184x864)',
    'aspectRatio.4:5': '4:5 Dọc (896x1152)',
    'aspectRatio.5:4': '5:4 Ngang (1152x896)',
    'aspectRatio.9:16': '9:16 Di Động (768x1344)',
    'aspectRatio.16:9': '16:9 Màn Hình Rộng (1344x768)',
    'aspectRatio.21:9': '21:9 Siêu Rộng (1536x672)',

    // ===== Tỷ Lệ Banana =====
    'bananaAspectRatio.auto': 'Tự Động',
    'bananaAspectRatio.1:1': '1:1 Vuông',
    'bananaAspectRatio.2:3': '2:3 Dọc',
    'bananaAspectRatio.3:2': '3:2 Ngang',
    'bananaAspectRatio.3:4': '3:4 Dọc',
    'bananaAspectRatio.4:3': '4:3 Ngang',
    'bananaAspectRatio.4:5': '4:5 Dọc',
    'bananaAspectRatio.5:4': '5:4 Ngang',
    'bananaAspectRatio.9:16': '9:16 Di Động',
    'bananaAspectRatio.16:9': '16:9 Màn Hình Rộng',
    'bananaAspectRatio.21:9': '21:9 Siêu Rộng',

    // ===== Đăng Nhập / Đăng Ký =====
    'login.title': 'Đăng Nhập',
    'login.username': 'Tên đăng nhập',
    'login.username.placeholder': 'Nhập tên đăng nhập',
    'login.password': 'Mật khẩu',
    'login.password.placeholder': 'Nhập mật khẩu',
    'login.savedAccounts': 'Tài Khoản Đã Lưu',
    'login.savedAccounts.placeholder': 'Chọn tài khoản đã lưu',
    'login.rememberPassword': 'Ghi Nhớ Mật Khẩu',
    'login.submit': 'Đăng Nhập',
    'login.noAccount': 'Chưa có tài khoản?',
    'login.registerNow': 'Đăng ký ngay',
    'login.close': 'Đóng',

    'register.title': 'Đăng Ký',
    'register.username': 'Tên đăng nhập (tối thiểu 3 ký tự)',
    'register.username.placeholder': 'Nhập tên đăng nhập',
    'register.email': 'Email (tùy chọn)',
    'register.email.placeholder': 'Nhập địa chỉ email (tùy chọn)',
    'register.password': 'Mật khẩu (tối thiểu 6 ký tự)',
    'register.password.placeholder': 'Nhập mật khẩu',
    'register.confirmPassword': 'Xác nhận mật khẩu',
    'register.confirmPassword.placeholder': 'Nhập lại mật khẩu',
    'register.invitationCode': 'Mã mời (tùy chọn)',
    'register.invitationCode.placeholder': 'Nhập mã mời (tùy chọn)',
    'register.submit': 'Đăng Ký',
    'register.hasAccount': 'Đã có tài khoản?',
    'register.loginNow': 'Đăng nhập ngay',

    // ===== Plugin Update =====
    'pluginUpdate.label': 'Cập Nhật Plugin',
    'pluginUpdate.check': 'Kiểm Tra',
    'pluginUpdate.title': 'Chọn Phiên Bản Cần Cập Nhật',
    'pluginUpdate.close': '×',
    'pluginUpdate.latest': 'Mới nhất',
    'pluginUpdate.current': 'Hiện tại',
    'pluginUpdate.older': 'Cũ',
    'pluginUpdate.updateTo': 'Cập nhật lên phiên bản này',
    'pluginUpdate.updateToLatest': 'Cập nhật lên mới nhất',
    'pluginUpdate.currentVersion': 'Phiên bản hiện tại',
    'pluginUpdate.noDesc': 'Không có mô tả',
    'pluginUpdate.status.connecting': 'Đang kiểm tra cập nhật...',
    'pluginUpdate.status.serverFail': 'Không thể kết nối máy chủ',
    'pluginUpdate.status.fetchFail': 'Không thể lấy danh sách phiên bản',
    'pluginUpdate.status.noVersions': 'Không có phiên bản khả dụng',
    'pluginUpdate.status.downloading': 'Đang tải phiên bản {version}...',
    'pluginUpdate.status.fetchingStructure': 'Đang lấy cấu trúc plugin...',
    'pluginUpdate.status.downloadingFiles': 'Đang tải tệp plugin...',
    'pluginUpdate.status.downloadingFolder': 'Đang tải thư mục',
    'pluginUpdate.status.downloadingFile': 'Đang tải tệp',
    'pluginUpdate.status.downloading2': 'Đang tải',
    'pluginUpdate.status.installing': 'Tải xong, đang cài đặt phiên bản mới...',
    'pluginUpdate.status.success': 'Cập nhật thành công! Đã cập nhật {count} tệp, phiên bản mới: {version}, vui lòng khởi động lại PS',
    'pluginUpdate.status.successNoChange': 'Cập nhật thành công! Phiên bản mới: {version}, vui lòng khởi động lại PS',
    'pluginUpdate.status.structureFail': 'Không thể lấy cấu trúc plugin',
    'pluginUpdate.status.downloadFail': 'Không thể tải tệp plugin',
    'pluginUpdate.status.installFail': 'Cài đặt thất bại',
    'pluginUpdate.status.checkFail': 'Kiểm tra cập nhật thất bại',
    'pluginUpdate.status.latestOk': 'Đã là phiên bản mới nhất'
};
