diff --git a/App.jsx b/App.jsx index a819796..e0ed4f4 100644 --- a/App.jsx +++ b/App.jsx @@ -305,6 +305,15 @@ const TRANSLATION_DICTIONARY = { '电池电压': { en: 'Battery Voltage', fr: 'Tension de batterie', ru: 'Напряжение батареи', es: 'Voltaje de batería', ar: 'جهد البطارية' }, '电池型号和数量': { en: 'Battery Model & Qty', fr: 'Modèle et quantité de batterie', ru: 'Модель и кол-во батарей', es: 'Modelo y cantidad de batería', ar: 'طراز وعدد البطاريات' }, '充电电流': { en: 'Charge Current', fr: 'Courant de charge', ru: 'Ток зарядки', es: 'Corriente de carga', ar: 'تيار الشحن' }, + '频率范围(电池模式)': { en: 'Frequency Range (Battery Mode)', fr: 'Plage de fréquence (mode batterie)', ru: 'Диапазон частот (режим батареи)', es: 'Rango de frecuencia (modo batería)', ar: 'نطاق التردد (وضع البطارية)' }, + '充电时间': { en: 'Charge Time', fr: 'Temps de charge', ru: 'Время зарядки', es: 'Tiempo de carga', ar: 'وقت الشحن' }, + 'LCD显示': { en: 'LCD Display', fr: 'Affichage LCD', ru: 'ЖК-дисплей', es: 'Pantalla LCD', ar: 'شاشة LCD' }, + 'LED显示': { en: 'LED Display', fr: 'Affichage LED', ru: 'Светодиодный индикатор', es: 'Indicador LED', ar: 'مؤشر LED' }, + '全面保护': { en: 'Full Protection', fr: 'Protection complète', ru: 'Полная защита', es: 'Protección completa', ar: 'حماية شاملة' }, + '警告提示': { en: 'Alarm', fr: 'Alarme', ru: 'Сигнализация', es: 'Alarma', ar: 'إنذار' }, + '控制管理': { en: 'Interface', fr: 'Interface', ru: 'Интерфейс', es: 'Interfaz', ar: 'الواجهة' }, + '湿度': { en: 'Humidity', fr: 'Humidité', ru: 'Влажность', es: 'Humedad', ar: 'الرطوبة' }, + '噪音': { en: 'Noise Level', fr: 'Niveau sonore', ru: 'Уровень шума', es: 'Nivel de ruido', ar: 'مستوى الضوضاء' }, '电压': { en: 'Voltage', fr: 'Tension', ru: 'Напряжение', es: 'Voltaje', ar: 'الجهد' }, '视载功率': { en: 'Rated Power (VA)', fr: 'Puissance nominale (VA)', ru: 'Номинальная мощность (ВА)', es: 'Potencia nominal (VA)', ar: 'الطاقة الاسمية (فولت أمبير)' }, '功率因数': { en: 'Power Factor', fr: 'Facteur de puissance', ru: 'Коэффициент мощности', es: 'Factor de potencia', ar: 'معامل القدرة' }, @@ -395,6 +404,15 @@ function productExportRows(p, categories) { if (p.batteryVoltage) rows.push({ labelKey: '电池电压', value: p.batteryVoltage }); if (p.batterySpec) rows.push({ labelKey: '电池型号和数量', value: p.batterySpec }); if (p.chargeCurrent) rows.push({ labelKey: '充电电流', value: p.chargeCurrent }); + if (p.frequencyRangeBatteryMode) rows.push({ labelKey: '频率范围(电池模式)', value: p.frequencyRangeBatteryMode }); + if (p.chargeTime) rows.push({ labelKey: '充电时间', value: p.chargeTime }); + if (p.lcdDisplay) rows.push({ labelKey: 'LCD显示', value: p.lcdDisplay }); + if (p.ledDisplay) rows.push({ labelKey: 'LED显示', value: p.ledDisplay }); + if (p.fullProtection) rows.push({ labelKey: '全面保护', value: p.fullProtection }); + if (p.alarmInfo) rows.push({ labelKey: '警告提示', value: p.alarmInfo }); + if (p.interfacePort) rows.push({ labelKey: '控制管理', value: p.interfacePort }); + if (p.humidity) rows.push({ labelKey: '湿度', value: p.humidity }); + if (p.noiseLevel) rows.push({ labelKey: '噪音', value: p.noiseLevel }); if (p.dimensions) rows.push({ labelKey: '尺寸(mm)', value: p.dimensions }); if (p.netWeight) rows.push({ labelKey: '净重(kg)', value: p.netWeight }); } else if (isUpsCategory(cat) && p.type !== '迷你UPS') { @@ -464,6 +482,15 @@ const blankProduct = () => ({ waveform: '', // 波形(电池模式),如 "Simulated Sine Wave" / "Sine Wave" batteryVoltage: '', // 电池电压,如 "12V" / "24V" chargeCurrent: '', // 充电电流,如 "1A" + frequencyRangeBatteryMode: '', // 频率范围(电池模式),如 "50/60Hz±1Hz" + chargeTime: '', // 充电时间,如 "8小时恢复到90%容量" + lcdDisplay: '', // LCD显示内容,如 "AC mode, Battery mode, Load level, Battery level, Input voltage, Output voltage, Overload and low battery" + ledDisplay: '', // LED显示说明,如 "AC mode: Green / Battery mode: Yellow / Fault: Red" + fullProtection: '', // 全面保护,如 "Discharge, Short circuit and overload protection" + alarmInfo: '', // 警告提示(电池模式/低电量/过载/故障这几种蜂鸣提示,合并成一个多行字段) + interfacePort: '', // 控制管理/接口,如 "USB/RS232 port(optional), support windows xp/vista, 7/8/11 and MAC" + humidity: '', // 湿度,如 "0-90% RH@0-40℃(Non-condensing)" + noiseLevel: '', // 噪音,如 "Less than 40dB(1m spacing)" batterySpec: '', // 电池型号和数量,如 "12V4.5AH*1"(迷你UPS/离线式/在线互动式UPS共用) dimensions: '', // 尺寸(mm)(迷你UPS/离线式/在线互动式UPS共用) netWeight: '', // 净重(kg)(迷你UPS/离线式/在线互动式UPS共用) @@ -499,6 +526,15 @@ function powerInfoItems(p, categories) { if (p.batteryVoltage) items.push({ key: 'batteryvoltage', label: '电池电压', value: p.batteryVoltage }); if (p.batterySpec) items.push({ key: 'batteryspec', label: '电池型号和数量', value: p.batterySpec }); if (p.chargeCurrent) items.push({ key: 'chargecurrent', label: '充电电流', value: p.chargeCurrent }); + if (p.frequencyRangeBatteryMode) items.push({ key: 'freqrange', label: '频率范围(电池模式)', value: p.frequencyRangeBatteryMode }); + if (p.chargeTime) items.push({ key: 'chargetime', label: '充电时间', value: p.chargeTime }); + if (p.lcdDisplay) items.push({ key: 'lcddisplay', label: 'LCD显示', value: p.lcdDisplay }); + if (p.ledDisplay) items.push({ key: 'leddisplay', label: 'LED显示', value: p.ledDisplay }); + if (p.fullProtection) items.push({ key: 'fullprotection', label: '全面保护', value: p.fullProtection }); + if (p.alarmInfo) items.push({ key: 'alarminfo', label: '警告提示', value: p.alarmInfo }); + if (p.interfacePort) items.push({ key: 'interfaceport', label: '控制管理', value: p.interfacePort }); + if (p.humidity) items.push({ key: 'humidity', label: '湿度', value: p.humidity }); + if (p.noiseLevel) items.push({ key: 'noiselevel', label: '噪音', value: p.noiseLevel }); if (p.dimensions) items.push({ key: 'dim', label: '尺寸(mm)', value: p.dimensions }); if (p.netWeight) items.push({ key: 'weight', label: '净重(kg)', value: p.netWeight }); return items; @@ -1903,6 +1939,10 @@ function MainApp({ username, onLogout }) { outputVoltage: p.outputVoltage || '', outputVoltageRange: p.outputVoltageRange || '', transferTime: p.transferTime || '', waveform: p.waveform || '', batteryVoltage: p.batteryVoltage || '', chargeCurrent: p.chargeCurrent || '', + frequencyRangeBatteryMode: p.frequencyRangeBatteryMode || '', chargeTime: p.chargeTime || '', + lcdDisplay: p.lcdDisplay || '', ledDisplay: p.ledDisplay || '', fullProtection: p.fullProtection || '', + alarmInfo: p.alarmInfo || '', interfacePort: p.interfacePort || '', + humidity: p.humidity || '', noiseLevel: p.noiseLevel || '', batterySpec: p.batterySpec || '', dimensions: p.dimensions || '', netWeight: p.netWeight || '', notes: p.notes || '', })); setAiImportDrafts(drafts); @@ -1949,6 +1989,10 @@ function MainApp({ username, onLogout }) { outputVoltage: d.outputVoltage || '', outputVoltageRange: d.outputVoltageRange || '', transferTime: d.transferTime || '', waveform: d.waveform || '', batteryVoltage: d.batteryVoltage || '', chargeCurrent: d.chargeCurrent || '', + frequencyRangeBatteryMode: d.frequencyRangeBatteryMode || '', chargeTime: d.chargeTime || '', + lcdDisplay: d.lcdDisplay || '', ledDisplay: d.ledDisplay || '', fullProtection: d.fullProtection || '', + alarmInfo: d.alarmInfo || '', interfacePort: d.interfacePort || '', + humidity: d.humidity || '', noiseLevel: d.noiseLevel || '', batterySpec: d.batterySpec || '', dimensions: d.dimensions || '', netWeight: d.netWeight || '', notes: d.notes || '', }; } @@ -3686,15 +3730,28 @@ function ProductForm({ draft, setDraft, onSave, onCancel, categories, onManage,