sheets
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -159,83 +159,93 @@ function guessColumnKey(row: ExcelRow, patterns: RegExp[]): string | null {
|
||||
}
|
||||
|
||||
function technicalFullLabel(args: { key: string; excelKey: string; locale: 'en' | 'de' }): string {
|
||||
const key = args.key;
|
||||
if (args.locale === 'de') {
|
||||
switch (key) {
|
||||
case 'cond_mat': return 'Leitermaterial';
|
||||
case 'cond_class': return 'Leiterklasse';
|
||||
case 'core_ins': return 'Aderisolation';
|
||||
case 'field_ctrl': return 'Feldsteuerung';
|
||||
case 'screen': return 'Schirm';
|
||||
case 'long_water': return 'Längswasserdichtigkeit';
|
||||
case 'trans_water': return 'Querwasserdichtigkeit';
|
||||
case 'sheath_mat': return 'Mantelmaterial';
|
||||
case 'sheath_color': return 'Mantelfarbe';
|
||||
case 'flame_ret': return 'Flammwidrigkeit';
|
||||
case 'uv_res': return 'UV-beständig';
|
||||
case 'max_cond_temp': return 'Max. zulässige Leitertemperatur';
|
||||
case 'out_temp_fixed': return 'Zul. Kabelaußentemperatur, fest verlegt';
|
||||
case 'out_temp_motion': return 'Zul. Kabelaußentemperatur, in Bewegung';
|
||||
case 'max_sc_temp_val': return 'Maximale Kurzschlußtemperatur';
|
||||
case 'min_bend_fixed': return 'Min. Biegeradius, fest verlegt';
|
||||
case 'min_lay_temp_val': return 'Mindesttemperatur Verlegung';
|
||||
case 'meter_mark': return 'Metermarkierung';
|
||||
case 'partial_dis': return 'Teilentladung';
|
||||
case 'cap': return 'Kapazität';
|
||||
case 'X': return 'Reaktanz';
|
||||
case 'test_volt': return 'Prüfspannung';
|
||||
case 'rated_volt': return 'Nennspannung';
|
||||
case 'temp_range': return 'Temperaturbereich';
|
||||
case 'Wm': return 'Manteldicke';
|
||||
case 'Wi': return 'Isolationsdicke';
|
||||
case 'RI': return 'DC-Leiterwiderstand (20 °C)';
|
||||
case 'Ø': return 'Außen-Ø';
|
||||
case 'Rbv': return 'Biegeradius';
|
||||
case 'cpr': return 'CPR-Klasse';
|
||||
case 'flame': return 'Flammhemmend';
|
||||
case 'G': return 'Gewicht';
|
||||
case 'Fzv': return 'Zugkraft';
|
||||
}
|
||||
} else {
|
||||
switch (key) {
|
||||
case 'cond_mat': return 'Conductor material';
|
||||
case 'cond_class': return 'Conductor class';
|
||||
case 'core_ins': return 'Core insulation';
|
||||
case 'field_ctrl': return 'Field control';
|
||||
case 'screen': return 'Screen';
|
||||
case 'long_water': return 'Longitudinal water tightness';
|
||||
case 'trans_water': return 'Transverse water tightness';
|
||||
case 'sheath_mat': return 'Sheath material';
|
||||
case 'sheath_color': return 'Sheath color';
|
||||
case 'flame_ret': return 'Flame retardancy';
|
||||
case 'uv_res': return 'UV resistant';
|
||||
case 'max_cond_temp': return 'Max. permissible conductor temperature';
|
||||
case 'out_temp_fixed': return 'Permissible cable outer temperature, fixed';
|
||||
case 'out_temp_motion': return 'Permissible cable outer temperature, in motion';
|
||||
case 'max_sc_temp_val': return 'Maximum short-circuit temperature';
|
||||
case 'min_bend_fixed': return 'Min. bending radius, fixed';
|
||||
case 'min_lay_temp_val': return 'Minimum laying temperature';
|
||||
case 'meter_mark': return 'Meter marking';
|
||||
case 'partial_dis': return 'Partial discharge';
|
||||
case 'cap': return 'Capacitance';
|
||||
case 'X': return 'Reactance';
|
||||
case 'test_volt': return 'Test voltage';
|
||||
case 'rated_volt': return 'Rated voltage';
|
||||
case 'temp_range': return 'Operating temperature range';
|
||||
case 'Wm': return 'Sheath thickness';
|
||||
case 'Wi': return 'Insulation thickness';
|
||||
case 'RI': return 'DC resistance (20 °C)';
|
||||
case 'Ø': return 'Outer diameter';
|
||||
case 'Rbv': return 'Bending radius';
|
||||
case 'cpr': return 'CPR class';
|
||||
case 'flame': return 'Flame retardant';
|
||||
case 'G': return 'Weight';
|
||||
case 'Fzv': return 'Pulling force';
|
||||
}
|
||||
}
|
||||
|
||||
// Fallback for unmapped keys (should be rare if columnMapping is comprehensive)
|
||||
const raw = normalizeValue(args.excelKey);
|
||||
if (!raw) return '';
|
||||
|
||||
|
||||
if (args.locale === 'de') {
|
||||
return raw
|
||||
.replace(/\(approx\.?\)/gi, '(ca.)')
|
||||
.replace(/\bconductor material\b/gi, 'Leitermaterial')
|
||||
.replace(/\bconductor class\b/gi, 'Leiterklasse')
|
||||
.replace(/\bcore insulation\b/gi, 'Aderisolation')
|
||||
.replace(/\binsulation\b/gi, 'Aderisolation')
|
||||
.replace(/\bfield control\b/gi, 'Feldsteuerung')
|
||||
.replace(/\bscreen\b/gi, 'Schirm')
|
||||
.replace(/\blongitudinal water tightness\b/gi, 'Längswasserdichtigkeit')
|
||||
.replace(/\btransverse water tightness\b/gi, 'Querwasserdichtigkeit')
|
||||
.replace(/\bsheath material\b/gi, 'Mantelmaterial')
|
||||
.replace(/\bsheath color\b/gi, 'Mantelfarbe')
|
||||
.replace(/\bflame retardancy\b/gi, 'Flammwidrigkeit')
|
||||
.replace(/\buv resistant\b/gi, 'UV-bestandig')
|
||||
.replace(/\bmax\.? permissible conductor temperature\b/gi, 'Max. zulässige Leitertemperatur')
|
||||
.replace(/\bpermissible cable outer temperature, fixed\b/gi, 'Zul. Kabelaußentemperatur, fest verlegt')
|
||||
.replace(/\bpermissible cable outer temperature, in motion\b/gi, 'Zul. Kabelaußentemperatur, in Bewegung')
|
||||
.replace(/\bmaximum short-circuit temperature\b/gi, 'Maximale Kurzschlußtemperatur')
|
||||
.replace(/\bmin\.? bending radius, fixed\b/gi, 'Min. Biegeradius, fest verlegt')
|
||||
.replace(/\bminimum laying temperature\b/gi, 'Mindesttemperatur Verlegung')
|
||||
.replace(/\bmeter marking\b/gi, 'Metermarkierung')
|
||||
.replace(/\bpartial discharge\b/gi, 'Teilentladung')
|
||||
.replace(/\bcapacitance\b/gi, 'Kapazität')
|
||||
.replace(/\binductance\b/gi, 'Induktivität')
|
||||
.replace(/\breactance\b/gi, 'Reaktanz')
|
||||
.replace(/\btest voltage\b/gi, 'Prüfspannung')
|
||||
.replace(/\brated voltage\b/gi, 'Nennspannung')
|
||||
.replace(/\boperating temperature range\b/gi, 'Temperaturbereich')
|
||||
.replace(/\bminimum sheath thickness\b/gi, 'Manteldicke (min.)')
|
||||
.replace(/\bsheath thickness\b/gi, 'Manteldicke')
|
||||
.replace(/\bnominal insulation thickness\b/gi, 'Isolationsdicke (nom.)')
|
||||
.replace(/\binsulation thickness\b/gi, 'Isolationsdicke')
|
||||
.replace(/\bdc resistance at 20\s*°?c\b/gi, 'DC-Leiterwiderstand (20 °C)')
|
||||
.replace(/\bouter diameter(?: of cable)?\b/gi, 'Außen-Ø')
|
||||
.replace(/\bbending radius\b/gi, 'Biegeradius')
|
||||
.replace(/\bpackaging\b/gi, 'Verpackung')
|
||||
.replace(/\bce\s*-?conformity\b/gi, 'CE-Konformität');
|
||||
}
|
||||
|
||||
return raw
|
||||
.replace(/\bconductor material\b/gi, 'Conductor material')
|
||||
.replace(/\bconductor class\b/gi, 'Conductor class')
|
||||
.replace(/\bcore insulation\b/gi, 'Core insulation')
|
||||
.replace(/\binsulation\b/gi, 'Core insulation')
|
||||
.replace(/\bfield control\b/gi, 'Field control')
|
||||
.replace(/\bscreen\b/gi, 'Screen')
|
||||
.replace(/\blongitudinal water tightness\b/gi, 'Longitudinal water tightness')
|
||||
.replace(/\btransverse water tightness\b/gi, 'Transverse water tightness')
|
||||
.replace(/\bsheath material\b/gi, 'Sheath material')
|
||||
.replace(/\bsheath color\b/gi, 'Sheath color')
|
||||
.replace(/\bflame retardancy\b/gi, 'Flame retardancy')
|
||||
.replace(/\buv resistant\b/gi, 'UV resistant')
|
||||
.replace(/\bmax\.? permissible conductor temperature\b/gi, 'Max. permissible conductor temperature')
|
||||
.replace(/\bpermissible cable outer temperature, fixed\b/gi, 'Permissible cable outer temperature, fixed')
|
||||
.replace(/\bpermissible cable outer temperature, in motion\b/gi, 'Permissible cable outer temperature, in motion')
|
||||
.replace(/\bmaximum short-circuit temperature\b/gi, 'Maximum short-circuit temperature')
|
||||
.replace(/\bmin\.? bending radius, fixed\b/gi, 'Min. bending radius, fixed')
|
||||
.replace(/\bminimum laying temperature\b/gi, 'Minimum laying temperature')
|
||||
.replace(/\bmeter marking\b/gi, 'Meter marking')
|
||||
.replace(/\bpartial discharge\b/gi, 'Partial discharge')
|
||||
.replace(/\bcapacitance\b/gi, 'Capacitance')
|
||||
.replace(/\binductance\b/gi, 'Inductance')
|
||||
.replace(/\breactance\b/gi, 'Reactance')
|
||||
.replace(/\btest voltage\b/gi, 'Test voltage')
|
||||
.replace(/\brated voltage\b/gi, 'Rated voltage')
|
||||
.replace(/\boperating temperature range\b/gi, 'Operating temperature range')
|
||||
.replace(/\bminimum sheath thickness\b/gi, 'Sheath thickness (min.)')
|
||||
.replace(/\bsheath thickness\b/gi, 'Sheath thickness')
|
||||
.replace(/\bnominal insulation thickness\b/gi, 'Insulation thickness (nom.)')
|
||||
.replace(/\binsulation thickness\b/gi, 'Insulation thickness')
|
||||
.replace(/\bdc resistance at 20\s*°?c\b/gi, 'DC resistance (20 °C)')
|
||||
.replace(/\bouter diameter(?: of cable)?\b/gi, 'Outer diameter')
|
||||
.replace(/\bbending radius\b/gi, 'Bending radius')
|
||||
.replace(/\bpackaging\b/gi, 'Packaging')
|
||||
.replace(/\bce\s*-?conformity\b/gi, 'CE conformity');
|
||||
}
|
||||
@@ -253,7 +263,26 @@ function technicalValueTranslation(args: { label: string; value: string; locale:
|
||||
if (/^stranded$/i.test(v)) return 'mehrdrähtig';
|
||||
if (/^(\d+)xD$/i.test(v)) return v.replace(/^(\d+)xD$/i, '$1 facher Durchmesser');
|
||||
if (/^XLPE/i.test(v)) return v.replace(/^XLPE/i, 'VPE');
|
||||
return v;
|
||||
if (/^yes, with swelling tape$/i.test(v)) return 'ja, mit Quellvliess';
|
||||
if (/^yes, Al-tape$/i.test(v)) return 'ja, Al-Band';
|
||||
if (/^Polyethylene/i.test(v)) return v.replace(/^Polyethylene/i, 'Polyethylen');
|
||||
if (/^Class 2 stranded$/i.test(v)) return 'Klasse 2 mehrdrähtig';
|
||||
if (/^VPE DIX8$/i.test(v)) return 'VPE DIX8';
|
||||
if (/^inner and outer semiconducting layer made of semiconducting plastic - 3-fold extruded$/i.test(v)) return 'innere und äußere Leitschicht aus halbleitendem Kunststoff - 3-fach-extrudiert';
|
||||
if (/^copper wires \+ transverse conductive helix$/i.test(v)) return 'Kupferdrähte + Querleitwendel';
|
||||
if (/^Polyethylene DMP2$/i.test(v)) return 'Polyethylen DMP2';
|
||||
if (/^15 times diameter$/i.test(v)) return '15 facher Durchmesser';
|
||||
|
||||
// Fallback for partial matches or common terms
|
||||
return v
|
||||
.replace(/\bcopper\b/gi, 'Kupfer')
|
||||
.replace(/\baluminum\b/gi, 'Aluminium')
|
||||
.replace(/\bblack\b/gi, 'schwarz')
|
||||
.replace(/\bstranded\b/gi, 'mehrdrähtig')
|
||||
.replace(/\byes\b/gi, 'ja')
|
||||
.replace(/\bno\b/gi, 'nein')
|
||||
.replace(/\bPolyethylene\b/gi, 'Polyethylen')
|
||||
.replace(/\bXLPE\b/gi, 'VPE');
|
||||
}
|
||||
|
||||
if (/^ja$/i.test(v)) return 'yes';
|
||||
@@ -264,7 +293,25 @@ function technicalValueTranslation(args: { label: string; value: string; locale:
|
||||
if (/^mehrdrähtig$/i.test(v)) return 'stranded';
|
||||
if (/^(\d+)xD$/i.test(v)) return v.replace(/^(\d+)xD$/i, '$1 times diameter');
|
||||
if (/^VPE/i.test(v)) return v.replace(/^VPE/i, 'XLPE');
|
||||
return v;
|
||||
if (/^ja, mit Quellvliess$/i.test(v)) return 'yes, with swelling tape';
|
||||
if (/^ja, Al-Band$/i.test(v)) return 'yes, Al-tape';
|
||||
if (/^Polyethylen/i.test(v)) return v.replace(/^Polyethylen/i, 'Polyethylene');
|
||||
if (/^Klasse 2 mehrdrähtig$/i.test(v)) return 'Class 2 stranded';
|
||||
if (/^innere und äußere Leitschicht aus halbleitendem Kunststoff - 3-fach-extrudiert$/i.test(v)) return 'inner and outer semiconducting layer made of semiconducting plastic - 3-fold extruded';
|
||||
if (/^Kupferdrähte \+ Querleitwendel$/i.test(v)) return 'copper wires + transverse conductive helix';
|
||||
if (/^Polyethylen DMP2$/i.test(v)) return 'Polyethylene DMP2';
|
||||
if (/^15 facher Durchmesser$/i.test(v)) return '15 times diameter';
|
||||
|
||||
// Fallback for partial matches or common terms
|
||||
return v
|
||||
.replace(/\bkupfer\b/gi, 'Copper')
|
||||
.replace(/\baluminium\b/gi, 'Aluminum')
|
||||
.replace(/\bschwarz\b/gi, 'black')
|
||||
.replace(/\bmehrdrähtig\b/gi, 'stranded')
|
||||
.replace(/\bja\b/gi, 'yes')
|
||||
.replace(/\bnein\b/gi, 'no')
|
||||
.replace(/\bPolyethylen\b/gi, 'Polyethylene')
|
||||
.replace(/\bVPE\b/gi, 'XLPE');
|
||||
}
|
||||
|
||||
function metaFullLabel(args: { key: string; excelKey: string; locale: 'en' | 'de' }): string {
|
||||
@@ -701,7 +748,7 @@ function buildExcelModel(args: { product: ProductData; locale: 'en' | 'de' }): B
|
||||
'Mantelmaterial',
|
||||
'Mantelfarbe',
|
||||
'Flammwidrigkeit',
|
||||
'UV-bestandig',
|
||||
'UV-beständig',
|
||||
'Max. zulässige Leitertemperatur',
|
||||
'Zul. Kabelaußentemperatur, fest verlegt',
|
||||
'Zul. Kabelaußentemperatur, in Bewegung',
|
||||
|
||||
Reference in New Issue
Block a user