import { getCurrentLanguage } from '../i18n'; export const getSubjectTransLanguage = >(data: T): string => { // 获取当前i18n语言 const currentLang = getCurrentLanguage(); console.log('currentLang', currentLang); // 特殊处理中文 if (currentLang === 'zh' && 'subject' in data) { return data.subject as string; } // 获取所有subject_trans开头的字段 const translationFields = Object.keys(data).filter(key => key.startsWith('subject_trans') ); // 查找匹配的字段 const matchedField = translationFields.find(field => { // 从字段名中提取语言代码 const langCode = field.replace('subject_trans_', ''); // 如果没有后缀,则为法语 return langCode === '' ? currentLang === 'fr' : langCode === currentLang; }); // 返回匹配的翻译值,如果没有匹配则返回法语 return (data[matchedField || 'subject_trans'] as string) || ''; }; export const getSkuTransLanguage = >(data: T): string => { // 获取当前i18n语言 const currentLang = getCurrentLanguage(); // 特殊处理中文 if (currentLang === 'zh' && 'value' in data) { return data.value as string; } // 获取所有subject_trans开头的字段 const translationFields = Object.keys(data).filter(key => key.startsWith('value_trans') ); // 查找匹配的字段 const matchedField = translationFields.find(field => { // 从字段名中提取语言代码 const langCode = field.replace('value_trans_', ''); // 如果没有后缀,则为法语 return langCode === '' ? currentLang === 'fr' : langCode === currentLang; }); // 返回匹配的翻译值,如果没有匹配则返回法语 return (data[matchedField || 'value_trans'] as string) || ''; };