You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

63 lines
1.8 KiB

import 'package:get/get.dart';
import 'package:voitrans/data/models/goods.dart';
/// 商品名称本地化
/// 优先根据商品ID映射到本地化名称;若无映射,则回退到后端提供的名称
String localizedGoodsName(DBGoods item) {
final id = (item.id ?? '').trim();
switch (id) {
case 'ai_001':
return 'ai_001_name'.tr;
case 'ai_002':
return 'ai_002_name'.tr;
case 'ai_003':
return 'ai_003_name'.tr;
case 'meet_001':
return 'meet_001_name'.tr;
case 'meet_002':
return 'meet_002_name'.tr;
case 'meet_003':
return 'meet_003_name'.tr;
case 'trade_001':
return 'trade_001_name'.tr;
case 'trade_002':
return 'trade_002_name'.tr;
case 'trade_003':
return 'trade_003_name'.tr;
// 可在此补充其他商品ID的映射,如:translate_001、meet_001 等
default:
final name = (item.name ?? '').trim();
return name.isNotEmpty ? name : 'unknown'.tr;
}
}
/// 商品描述本地化
/// 优先根据商品ID映射到本地化描述;若无映射,则回退到后端提供的描述
String localizedGoodsDesc(DBGoods item) {
final id = (item.id ?? '').trim();
switch (id) {
case 'ai_001':
return 'ai_001_desc'.tr;
case 'ai_002':
return 'ai_002_desc'.tr;
case 'ai_003':
return 'ai_003_desc'.tr;
case 'meet_001':
return 'meet_001_desc'.tr;
case 'meet_002':
return 'meet_002_desc'.tr;
case 'meet_003':
return 'meet_003_desc'.tr;
case 'trade_001':
return 'trade_001_desc'.tr;
case 'trade_002':
return 'trade_002_desc'.tr;
case 'trade_003':
return 'trade_003_desc'.tr;
default:
final desc = (item.desc ?? '').trim();
return desc.isNotEmpty ? desc : '';
}
}