报错返回语言适配
This commit is contained in:
@@ -30,7 +30,7 @@ public class InternalOnlyAspect {
|
||||
public Object validateInternalCall(ProceedingJoinPoint joinPoint) throws Throwable {
|
||||
ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
|
||||
if (attributes == null) {
|
||||
throw new BusinessException("禁止外部直接访问此接口");
|
||||
throw new BusinessException("forbidden.external.access");
|
||||
}
|
||||
|
||||
HttpServletRequest request = attributes.getRequest();
|
||||
@@ -38,7 +38,7 @@ public class InternalOnlyAspect {
|
||||
if (!CommonConstants.INTERNAL_CALL_VALUE.equals(internalCall)) {
|
||||
log.warn("Unauthorized external access attempt to internal-only endpoint: {}",
|
||||
((MethodSignature) joinPoint.getSignature()).getMethod().getName());
|
||||
throw new BusinessException("禁止外部直接访问此接口");
|
||||
throw new BusinessException("forbidden.external.access");
|
||||
}
|
||||
|
||||
return joinPoint.proceed();
|
||||
|
||||
@@ -1,9 +1,17 @@
|
||||
package com.aida.seller.common.exception;
|
||||
|
||||
import com.aida.seller.common.context.UserContext;
|
||||
import com.aida.seller.model.vo.AuthPrincipalVo;
|
||||
import com.aida.seller.common.result.ResultEnum;
|
||||
import lombok.Data;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.PropertyResourceBundle;
|
||||
import java.util.ResourceBundle;
|
||||
|
||||
/**
|
||||
* @author: dwjian
|
||||
* @description: 业务异常
|
||||
@@ -12,31 +20,64 @@ import lombok.extern.slf4j.Slf4j;
|
||||
@Slf4j
|
||||
public class BusinessException extends RuntimeException {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private Integer code;
|
||||
private String msg;
|
||||
|
||||
public BusinessException(ResultEnum resultEnum) {
|
||||
this.code = resultEnum.getCode();
|
||||
this.msg = resultEnum.getMsg();
|
||||
this.msg = getMessageFromResource(resultEnum.getMsg(), getUserLocale());
|
||||
}
|
||||
|
||||
public BusinessException(String msg) {
|
||||
this.code = ResultEnum.FAIL.getCode();
|
||||
this.msg = msg;
|
||||
this.msg = getMessageFromResource(msg, getUserLocale());
|
||||
}
|
||||
|
||||
public BusinessException(String msg, Integer code) {
|
||||
this.code = code;
|
||||
this.msg = msg;
|
||||
this.msg = getMessageFromResource(msg, getUserLocale());
|
||||
}
|
||||
|
||||
public BusinessException(Throwable cause) {
|
||||
this.code = ResultEnum.FAIL.getCode();
|
||||
this.msg = cause.getMessage();
|
||||
this.msg = getMessageFromResource(cause.getMessage(), getUserLocale());
|
||||
}
|
||||
|
||||
public BusinessException(ResultEnum resultEnum, String customMsg) {
|
||||
this.code = resultEnum.getCode();
|
||||
this.msg = customMsg;
|
||||
this.msg = getMessageFromResource(customMsg, getUserLocale());
|
||||
}
|
||||
|
||||
private static String getUserLocale() {
|
||||
try {
|
||||
AuthPrincipalVo userInfo = UserContext.getUserHolder();
|
||||
if (userInfo == null) return "en";
|
||||
String lang = userInfo.getLanguage();
|
||||
if (lang == null) return "en";
|
||||
if ("CHINESE_SIMPLIFIED".equalsIgnoreCase(lang)) return "zh";
|
||||
if ("ENGLISH".equalsIgnoreCase(lang)) return "en";
|
||||
return "en";
|
||||
} catch (Exception e) {
|
||||
return "en";
|
||||
}
|
||||
}
|
||||
|
||||
public static String getMessageFromResource(String msg, String locale) {
|
||||
if (msg == null) return null;
|
||||
try (InputStream is = BusinessException.class.getClassLoader()
|
||||
.getResourceAsStream("messages_" + locale + ".properties")) {
|
||||
if (is != null) {
|
||||
ResourceBundle bundle = new PropertyResourceBundle(
|
||||
new InputStreamReader(is, StandardCharsets.UTF_8));
|
||||
if (bundle.containsKey(msg)) {
|
||||
return bundle.getString(msg);
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.warn("Failed to load messages_{}.properties: {}", locale, e.getMessage());
|
||||
}
|
||||
return msg;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -71,7 +71,7 @@ public class DesignerServiceImpl extends ServiceImpl<DesignerMapper, DesignerEnt
|
||||
);
|
||||
|
||||
if (existDesigner != null) {
|
||||
throw new BusinessException("该用户已提交过申请或已入驻");
|
||||
throw new BusinessException("designer.already.applied");
|
||||
}
|
||||
|
||||
DesignerEntity entity = new DesignerEntity();
|
||||
@@ -147,11 +147,11 @@ public class DesignerServiceImpl extends ServiceImpl<DesignerMapper, DesignerEnt
|
||||
.last("LIMIT 1")
|
||||
);
|
||||
if (entity == null) {
|
||||
throw new BusinessException("申请记录不存在");
|
||||
throw new BusinessException("designer.application.not.found");
|
||||
}
|
||||
|
||||
if (!DesignerApplyStatusEnum.PENDING.getCode().equals(entity.getApplyStatus())) {
|
||||
throw new BusinessException("当前状态不支持审核操作");
|
||||
throw new BusinessException("current.status.not.support.review");
|
||||
}
|
||||
|
||||
entity.setApplyStatus(dto.getAuditStatus());
|
||||
@@ -184,7 +184,7 @@ public class DesignerServiceImpl extends ServiceImpl<DesignerMapper, DesignerEnt
|
||||
.last("LIMIT 1")
|
||||
);
|
||||
if (entity == null) {
|
||||
throw new BusinessException("设计师记录不存在");
|
||||
throw new BusinessException("designer.record.not.found");
|
||||
}
|
||||
|
||||
if (dto.getShopName() != null) {
|
||||
@@ -227,7 +227,7 @@ public class DesignerServiceImpl extends ServiceImpl<DesignerMapper, DesignerEnt
|
||||
.last("LIMIT 1")
|
||||
);
|
||||
if (entity == null) {
|
||||
throw new BusinessException("设计师记录不存在");
|
||||
throw new BusinessException("designer.record.not.found");
|
||||
}
|
||||
|
||||
DesignerDTO dto = new DesignerDTO();
|
||||
@@ -252,7 +252,7 @@ public class DesignerServiceImpl extends ServiceImpl<DesignerMapper, DesignerEnt
|
||||
.last("LIMIT 1")
|
||||
);
|
||||
if (designer == null) {
|
||||
throw new BusinessException("设计师记录不存在");
|
||||
throw new BusinessException("designer.record.not.found");
|
||||
}
|
||||
|
||||
Long sellerId = designer.getId();
|
||||
@@ -385,7 +385,7 @@ public class DesignerServiceImpl extends ServiceImpl<DesignerMapper, DesignerEnt
|
||||
.last("LIMIT 1")
|
||||
);
|
||||
if (entity == null) {
|
||||
throw new BusinessException("设计师不存在");
|
||||
throw new BusinessException("designer.not.found");
|
||||
}
|
||||
DesignerShopVO vo = new DesignerShopVO();
|
||||
vo.setShopName(entity.getShopName());
|
||||
|
||||
@@ -45,7 +45,7 @@ public class FileUploadController {
|
||||
Long userId = UserContext.getUserId();
|
||||
|
||||
if (file.isEmpty()) {
|
||||
throw new BusinessException("文件不能为空");
|
||||
throw new BusinessException("file.cannot.be.empty");
|
||||
}
|
||||
// 验证文件类型
|
||||
String contentType = file.getContentType();
|
||||
@@ -58,12 +58,12 @@ public class FileUploadController {
|
||||
}
|
||||
}
|
||||
if (!validType) {
|
||||
throw new BusinessException("不支持的文件类型: " + contentType);
|
||||
throw new BusinessException("file.type.unsupported");
|
||||
}
|
||||
}
|
||||
// 验证文件大小
|
||||
if (file.getSize() > maxFileSize * 1024 * 1024) {
|
||||
throw new BusinessException("文件大小超出限制: " + maxFileSize + " MB");
|
||||
throw new BusinessException("file.size.exceed.limit");
|
||||
}
|
||||
try {
|
||||
// 计算文件MD5(可选,用于文件完整性校验)
|
||||
@@ -78,7 +78,7 @@ public class FileUploadController {
|
||||
return Response.success(minioUtil.processMinioResource(filePath, CommonConstants.MINIO_PATH_TIMEOUT));
|
||||
} catch (IOException e) {
|
||||
log.error("文件上传失败: {}", e.getMessage(), e);
|
||||
throw new BusinessException("文件上传失败");
|
||||
throw new BusinessException("file.upload.fail");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -65,7 +65,7 @@ public class ListingServiceImpl extends ServiceImpl<ListingMapper, ListingEntity
|
||||
|
||||
|
||||
if (dto.getDesignFor() != null && DesignForEnum.of(dto.getDesignFor()) == null) {
|
||||
throw new BusinessException("designFor 只能为 male/female");
|
||||
throw new BusinessException("design.for.only.male.or.female");
|
||||
}
|
||||
|
||||
if (entity.getViewCount() == null) {
|
||||
@@ -85,7 +85,7 @@ public class ListingServiceImpl extends ServiceImpl<ListingMapper, ListingEntity
|
||||
.eq(ListingEntity::getSellerId, sellerId)
|
||||
.eq(ListingEntity::getDeleted, 0));
|
||||
if (existing == null) {
|
||||
throw new BusinessException("商品不存在");
|
||||
throw new BusinessException("product.not.found");
|
||||
}
|
||||
entity.setCreateTime(existing.getCreateTime());
|
||||
this.updateById(entity);
|
||||
@@ -139,7 +139,7 @@ public class ListingServiceImpl extends ServiceImpl<ListingMapper, ListingEntity
|
||||
.eq(ListingEntity::getId, id)
|
||||
.eq(ListingEntity::getDeleted, 0));
|
||||
if (entity == null) {
|
||||
throw new BusinessException("商品不存在");
|
||||
throw new BusinessException("product.not.found");
|
||||
}
|
||||
|
||||
ListingSaveDTO dto = new ListingSaveDTO();
|
||||
@@ -194,7 +194,7 @@ public class ListingServiceImpl extends ServiceImpl<ListingMapper, ListingEntity
|
||||
.eq(ListingEntity::getSellerId, sellerId)
|
||||
.eq(ListingEntity::getDeleted, 0));
|
||||
if (existing == null) {
|
||||
throw new BusinessException("商品不存在");
|
||||
throw new BusinessException("product.not.found");
|
||||
}
|
||||
ListingEntity update = new ListingEntity();
|
||||
update.setId(id);
|
||||
@@ -252,7 +252,7 @@ public class ListingServiceImpl extends ServiceImpl<ListingMapper, ListingEntity
|
||||
|
||||
for (String category : requiredCategories) {
|
||||
if (!presentCategories.contains(category)) {
|
||||
throw new BusinessException("category [" + category + "] is required");
|
||||
throw new BusinessException("category.required");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -260,7 +260,7 @@ public class ListingServiceImpl extends ServiceImpl<ListingMapper, ListingEntity
|
||||
String category = img.getCategory();
|
||||
if (requiredCategories.contains(category)) {
|
||||
if (!StringUtils.hasText(img.getImageUrl())) {
|
||||
throw new BusinessException(category + " category imageUrl cannot be null or empty");
|
||||
throw new BusinessException("category.imageUrl.cannot.be.empty");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -337,26 +337,26 @@ public class ListingServiceImpl extends ServiceImpl<ListingMapper, ListingEntity
|
||||
*/
|
||||
private void validateListingFields(ListingSaveDTO dto) {
|
||||
if (!StringUtils.hasText(dto.getTitle())) {
|
||||
throw new BusinessException("商品标题不能为空");
|
||||
throw new BusinessException("product.title.cannot.be.empty");
|
||||
}
|
||||
if (!StringUtils.hasText(dto.getDescription())) {
|
||||
throw new BusinessException("商品描述不能为空");
|
||||
throw new BusinessException("product.description.cannot.be.empty");
|
||||
}
|
||||
if (dto.getPrice() == null) {
|
||||
throw new BusinessException("商品价格不能为空");
|
||||
throw new BusinessException("product.price.cannot.be.empty");
|
||||
}
|
||||
if (!StringUtils.hasText(dto.getDesignFor())) {
|
||||
throw new BusinessException("适用性别不能为空");
|
||||
throw new BusinessException("product.gender.cannot.be.empty");
|
||||
}
|
||||
if (DesignForEnum.of(dto.getDesignFor()) == null) {
|
||||
throw new BusinessException("适用性别只能为 male/female");
|
||||
throw new BusinessException("product.gender.must.be.male.or.female");
|
||||
}
|
||||
if (CollectionUtils.isEmpty(dto.getProductCategory())) {
|
||||
throw new BusinessException("商品分类不能为空");
|
||||
throw new BusinessException("product.category.cannot.be.empty");
|
||||
}
|
||||
for (String category : dto.getProductCategory()) {
|
||||
if (ProductCategoryEnum.of(category) == null) {
|
||||
throw new BusinessException("商品分类只能为 outwear/trousers/blouse/dress/skirt/others/tops/bottoms");
|
||||
throw new BusinessException("product.category.must.be.valid");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -368,7 +368,7 @@ public class ListingServiceImpl extends ServiceImpl<ListingMapper, ListingEntity
|
||||
queryWrapper.eq(ListingEntity::getSellerId, sellerId);
|
||||
DesignForEnum designForEnum = DesignForEnum.of(designFor);
|
||||
if (designForEnum == null) {
|
||||
throw new BusinessException("designFor 只能为 female/male/all");
|
||||
throw new BusinessException("design.for.only.female.male.or.all");
|
||||
}
|
||||
if (designForEnum != DesignForEnum.ALL) {
|
||||
queryWrapper.eq(ListingEntity::getDesignFor, designForEnum.getCode());
|
||||
|
||||
@@ -215,7 +215,7 @@ public class ListingMallServiceImpl extends ServiceImpl<ListingMallMapper, Listi
|
||||
.eq(ListingEntity::getStatus, 1)
|
||||
.eq(ListingEntity::getDeleted, 0));
|
||||
if (entity == null) {
|
||||
throw new BusinessException("商品不存在");
|
||||
throw new BusinessException("product.not.found");
|
||||
}
|
||||
|
||||
this.baseMapper.incrementViewCount(id);
|
||||
@@ -336,7 +336,7 @@ public class ListingMallServiceImpl extends ServiceImpl<ListingMallMapper, Listi
|
||||
.selectByListingIdAndBuyerIdWithOrderStatus(id, buyerId);
|
||||
|
||||
if (snapshots.isEmpty()) {
|
||||
throw new BusinessException("该商品尚未被购买,无法查看");
|
||||
throw new BusinessException("product.not.purchased.yet");
|
||||
}
|
||||
|
||||
return snapshots.stream()
|
||||
|
||||
@@ -216,13 +216,13 @@ public class OrderServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfoEnti
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public CreateOrderResultVO createOrder(CreateOrderDTO dto) {
|
||||
if (CollectionUtils.isEmpty(dto.getListingIds())) {
|
||||
throw new BusinessException("商品ID列表不能为空");
|
||||
throw new BusinessException("product.id.list.cannot.be.empty");
|
||||
}
|
||||
if (dto.getBuyerId() == null) {
|
||||
throw new BusinessException("买家ID不能为空");
|
||||
throw new BusinessException("buyer.id.cannot.be.empty");
|
||||
}
|
||||
if (!StringUtils.hasText(dto.getBuyerUsername())) {
|
||||
throw new BusinessException("买家账号不能为空");
|
||||
throw new BusinessException("buyer.account.cannot.be.empty");
|
||||
}
|
||||
|
||||
List<Long> purchasedListingIds = getPurchasedListingIds(dto.getListingIds(), dto.getBuyerId());
|
||||
@@ -230,13 +230,13 @@ public class OrderServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfoEnti
|
||||
.filter(id -> !purchasedListingIds.contains(id))
|
||||
.collect(Collectors.toList());
|
||||
if (CollectionUtils.isEmpty(unpurchasedListingIds)) {
|
||||
throw new BusinessException("所有商品均已购买,无需重复下单");
|
||||
throw new BusinessException("all.products.already.purchased");
|
||||
}
|
||||
dto.setListingIds(unpurchasedListingIds);
|
||||
|
||||
List<ListingEntity> listings = listingMapper.selectBatchIds(dto.getListingIds());
|
||||
if (CollectionUtils.isEmpty(listings)) {
|
||||
throw new BusinessException("未找到对应的商品");
|
||||
throw new BusinessException("product.not.found");
|
||||
}
|
||||
|
||||
Map<Long, List<ListingEntity>> listingsBySeller = listings.stream()
|
||||
@@ -334,13 +334,13 @@ public class OrderServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfoEnti
|
||||
public void updateOrderStatus(UpdateOrderStatusDTO dto) {
|
||||
log.info(dto.toString());
|
||||
if (dto == null) {
|
||||
throw new BusinessException("订单信息为空");
|
||||
throw new BusinessException("order.info.cannot.be.empty");
|
||||
}
|
||||
if (dto.getStatus() == null) {
|
||||
throw new BusinessException("订单状态不能为空");
|
||||
throw new BusinessException("order.status.cannot.be.empty");
|
||||
}
|
||||
if (dto.getPaymentId() == null && (dto.getOrderIds() == null || dto.getOrderIds().isEmpty())) {
|
||||
throw new BusinessException("订单ID列表不能为空");
|
||||
throw new BusinessException("order.id.list.cannot.be.empty");
|
||||
}
|
||||
|
||||
boolean updated;
|
||||
@@ -355,7 +355,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfoEnti
|
||||
updated = this.update(updateWrapper);
|
||||
|
||||
if (!updated) {
|
||||
throw new BusinessException("订单不存在或无权修改");
|
||||
throw new BusinessException("order.not.found.or.no.permission");
|
||||
} else {
|
||||
log.info("[Order] PaymentId:{} / OrderId:{}, 更新订单状态", dto.getPaymentId(), dto.getOrderIds());
|
||||
|
||||
@@ -390,7 +390,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfoEnti
|
||||
@Override
|
||||
public IPage<AssetsItemVO> getAssetsPage(AssetsDTO dto) {
|
||||
if (dto.getBuyerId() == null) {
|
||||
throw new BusinessException("买家ID不能为空");
|
||||
throw new BusinessException("buyer.id.cannot.be.empty");
|
||||
}
|
||||
long page = dto.getPage();
|
||||
long size = dto.getSize();
|
||||
@@ -425,7 +425,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfoEnti
|
||||
@Override
|
||||
public void updatePaymentIdByIds(List<Long> orderIds, Long paymentId) {
|
||||
if (CollectionUtils.isEmpty(orderIds)) {
|
||||
throw new BusinessException("订单ID列表不能为空");
|
||||
throw new BusinessException("order.id.list.cannot.be.empty");
|
||||
}
|
||||
LambdaUpdateWrapper<OrderInfoEntity> updateWrapper = new LambdaUpdateWrapper<>();
|
||||
updateWrapper.in(OrderInfoEntity::getId, orderIds)
|
||||
|
||||
323
src/main/resources/messages_en.properties
Normal file
323
src/main/resources/messages_en.properties
Normal file
@@ -0,0 +1,323 @@
|
||||
# 不易报异常
|
||||
system.error=System error.
|
||||
unknown.authentication.operation.type=Unknown authentication operation type.
|
||||
failed.to.send.mail=Failed to send mail.
|
||||
unknown.login.type=Unknown login type.
|
||||
error.login.type=Error login type.
|
||||
get.moodBoards.data.is.mismatch=Get moodBoards data is mismatch.
|
||||
get.printBoards.data.is.mismatch=Get printBoards data is mismatch.
|
||||
get.sketchBoards.data.is.mismatch=Get sketchBoards data is mismatch.
|
||||
modelPoint.not.found=ModelPoint not found.
|
||||
collection.not.found=Collection not found.
|
||||
design.not.found=Design not found.
|
||||
designItem.not.found=DesignItem not found.
|
||||
userLikeGroup.not.found=UserLikeGroup not found.
|
||||
old.elements.not.found=Old elements not found.
|
||||
new.designItemDetails.not.found=New designItemDetails not found.
|
||||
save.workspace.failed=Save workspace failed.
|
||||
save.design.failed=Save design failed.
|
||||
update.workspace.failed=Update workspace failed.
|
||||
enumeration.class.not.found=Enumeration class not found.
|
||||
history.detail.not.found=History detail not found.
|
||||
designItemDetails.not.found=DesignItemDetails not found.
|
||||
designPythonOutfit.not.found=DesignPythonOutfit not found.
|
||||
unknown.parameter.level1Type=Unknown parameter level1Type.
|
||||
collectionElement.not.found=collectionElement not found.
|
||||
select1.file.does.not.exist=Select1 file does not exist.
|
||||
select2.file.does.not.exist=Select2 file does not exist.
|
||||
save.collectionElement.failed=Save collectionElement failed.
|
||||
collectionElements.not.found=CollectionElements not found.
|
||||
batch.save.libraryList.failed=Batch save libraryList failed.
|
||||
panTones.not.found=tcx value not found.
|
||||
save.designItem.failed=Save designItem failed.
|
||||
unknown.type=Unknown type.
|
||||
unknown.operateType=Unknown operateType.
|
||||
unknown.level1TypeEnum=Unknown level1TypeEnum.
|
||||
the.id.value.is.out.of.range=The id value is out of range.
|
||||
library.not.found=Library not found.
|
||||
wrong.clothes.type=Wrong clothes type.
|
||||
sysFile.not.found=SysFile not found.
|
||||
libraryList.not.found=LibraryList not found.
|
||||
groupDetails.not.found=GroupDetails not found.
|
||||
history.not.found=History not found.
|
||||
unknown.parameter.level2Type=Unknown parameter level2Type.
|
||||
MARKETING_SKETCH.type.have.been.removed=MARKETING_SKETCH type have been removed.
|
||||
unknown.modelType=Unknown modelType.
|
||||
save.library.failed=Save library failed.
|
||||
get.file.failed=Get file failed.
|
||||
the.path.is.error=The path is error.
|
||||
batch.save.colorElements.failed=Batch save colorElements failed.
|
||||
initSysFile.ioException=InitSysFile ioException.
|
||||
save.sysFile.failed=Save sysFile failed.
|
||||
save.pythonTAllInfo.failed=Save pythonTAllInfo failed.
|
||||
save.collection.failed=Save collection failed.
|
||||
save.designItemDetail.failed=Save designItemDetail failed.
|
||||
save.classification.failed=Save classification failed.
|
||||
update.classification.failed=Update classification failed.
|
||||
please.input.the.prompt=Please input the prompt.
|
||||
please.choose.an.image=Please choose an image.
|
||||
please.input.the.caption.and.choose.an.image=Please input the caption and choose an image.
|
||||
please.input.the.caption.or.choose.an.image=Please input the caption or choose an image.
|
||||
duplicate.likes.are.not.allowed=Duplicate likes are not allowed.
|
||||
layer.information.not.found=Layer information not found.
|
||||
singleOverall.cannot.be.empty=singleOverall cannot be empty.
|
||||
colorBoards.cannot.be.empty=colorBoards cannot be empty.
|
||||
systemScale.cannot.be.empty=systemScale cannot be empty.
|
||||
modelType.cannot.be.empty=modelType cannot be empty.
|
||||
modelSex.cannot.be.empty=modelSex cannot be empty.
|
||||
templateId.cannot.be.empty=templateId cannot be empty.
|
||||
processId.cannot.be.empty=processId cannot be empty.
|
||||
timeZone.cannot.be.empty=TimeZone cannot be empty.
|
||||
userId.cannot.be.empty=userId cannot be empty.
|
||||
email.cannot.be.empty=email cannot be empty.
|
||||
operationType.cannot.be.empty=operationType cannot be empty.
|
||||
password.cannot.be.empty=Password cannot be empty.
|
||||
emailVerifyCode.cannot.be.empty=emailVerifyCode cannot be empty.
|
||||
loginType.cannot.be.empty=loginType cannot be empty.
|
||||
userName.cannot.be.empty=userName cannot be empty.
|
||||
sketchBoards.designType.cannot.be.empty=sketchBoards designType cannot be empty.
|
||||
moodBoards.designType.cannot.be.empty=moodBoards designType cannot be empty.
|
||||
printBoards.designType.cannot.be.empty=printBoards designType cannot be empty.
|
||||
unknown.parameter.singleOverall=unknown parameter singleOverall.
|
||||
unknown.parameter.switchCategory=unknown parameter switchCategory.
|
||||
collectionId.cannot.be.empty=collectionId cannot be empty.
|
||||
designPythonOutfitId.cannot.be.empty=designPythonOutfitId cannot be empty.
|
||||
designItemId.cannot.be.empty=designItemId cannot be empty.
|
||||
designId.cannot.be.empty=designId cannot be empty.
|
||||
groupDetailId.cannot.be.empty=groupDetailId cannot be empty.
|
||||
validStartTime.cannot.be.empty=validStartTime cannot be empty.
|
||||
validEndTime.cannot.be.empty=validEndTime cannot be empty.
|
||||
user_id.cannot.be.empty=user_id cannot be empty.
|
||||
session_id.cannot.be.empty=session_id cannot be empty.
|
||||
rgbValue.cannot.be.empty=rgbValue cannot be empty.
|
||||
file.cannot.be.empty=file cannot be empty.
|
||||
file.type.unsupported=Unsupported file type.
|
||||
file.size.exceed.limit=File size exceeds the limit.
|
||||
select1Id.cannot.be.empty=select1Id cannot be empty.
|
||||
select2Id.cannot.be.empty=select2Id cannot be empty.
|
||||
isPin.cannot.be.empty=isPin cannot be empty.
|
||||
designType.cannot.be.empty=designType cannot be empty.
|
||||
priority.cannot.be.empty=priority cannot be empty.
|
||||
clothes.cannot.be.empty=clothes cannot be empty.
|
||||
isPreview.cannot.be.empty=isPreview cannot be empty.
|
||||
h.cannot.be.empty=h cannot be empty.
|
||||
s.cannot.be.empty=s cannot be empty.
|
||||
v.cannot.be.empty=v cannot be empty.
|
||||
userGroupId.cannot.be.empty=userGroupId cannot be empty.
|
||||
userGroupName.cannot.be.empty=userGroupName cannot be empty.
|
||||
libraryId.cannot.be.empty=libraryId cannot be empty.
|
||||
shoulderLeft.cannot.be.empty=shoulderLeft cannot be empty.
|
||||
shoulderRight.cannot.be.empty=shoulderRight cannot be empty.
|
||||
waistbandLeft.cannot.be.empty=waistbandLeft cannot be empty.
|
||||
waistbandRight.cannot.be.empty=waistbandRight cannot be empty.
|
||||
handLeft.cannot.be.empty=handLeft cannot be empty.
|
||||
handRight.cannot.be.empty=handRight cannot be empty.
|
||||
id.cannot.be.empty=id cannot be empty.
|
||||
url.cannot.be.empty=url cannot be empty.
|
||||
type.cannot.be.empty=type cannot be empty.
|
||||
color.cannot.be.empty=color cannot be empty.
|
||||
generateDetailId.cannot.be.empty=generateDetailId cannot be empty.
|
||||
level1Type.cannot.be.empty=level1Type cannot be empty.
|
||||
regionNum.cannot.be.empty=regionNum cannot be empty.
|
||||
phone.cannot.be.empty=phone cannot be empty.
|
||||
printId.cannot.be.empty=printId cannot be empty.
|
||||
path.cannot.be.empty=path cannot be empty.
|
||||
classificationName.cannot.be.empty=classificationName cannot be empty.
|
||||
level2Type.cannot.be.empty=level2Type cannot be empty.
|
||||
generateItem.does.not.exist=generateItem does not exist.
|
||||
level1Type.does.not.match=level1Type does not match.
|
||||
the.image.does.not.exist.please.reselect=the image does not exist, please reselect.
|
||||
design.item.does.not.exist=design item does not exist.
|
||||
layers.does.not.exists=layers does not exists.
|
||||
unknown.generate.type=unknown generate type.
|
||||
the.workspace.lastIndex.not.found=The workspace lastIndex not found.
|
||||
gender.cannot.be.empty=gender cannot be empty.
|
||||
image.synthesis.failed=image synthesis failed.
|
||||
priority.cannot.be.repeated=priority cannot be repeated.
|
||||
model.not.found=model not found.
|
||||
libraryIdList.cannot.be.empty=libraryIdList cannot be empty.
|
||||
the.value.range.of.seed=The value range of seed is 0-99999
|
||||
image.modify.failed=Image modification failed, please try again later.
|
||||
slogan.style.cannot.be.empty=Slogan style text cannot be empty.
|
||||
slogan.image.cannot.be.empty=Slogan image cannot be empty.
|
||||
questionnaire.filled.out=You have filled out the current questionnaire.
|
||||
user.has.no.account=The current user has no account.
|
||||
you.cannot.follow.yourself=You cannot follow yourself.
|
||||
you.have.already.followed.this.user=You have already followed this user.
|
||||
subscription.success=Subscription Success.
|
||||
unsubscribe.success=Unsubscribe Success.
|
||||
you.have.not.followed.the.current.user=You have not followed the current user.
|
||||
remaining.modifications=Remaining modifications are 0.
|
||||
you.have.participated.in.the.event=You have participated in the event.
|
||||
only.original.works.can.participate.in.the.event=Sorry, only original works can participate in the event.
|
||||
remaining.credits.insufficient=Your remaining credits are insufficient for this generation. Please recharge.
|
||||
you.haven't.subscribed.to.any.products.yet=You haven't subscribed to any products yet.
|
||||
generate.result.below.standard=The quality of the generated images currently falls below standard. Please consider adjusting your prompt and trying again.
|
||||
partial.design.failed=Partial design failed. Please try again later.
|
||||
email.count.limit=Rate limit reached. Retry in 1 hour.
|
||||
model.path.cannot.be.empty=Model path cannot be empty.
|
||||
this.promotion.code.has.expired=This promotion code has expired.
|
||||
this.promotion.code.is.invalid=This promotion code is invalid.
|
||||
one.time.limit.per.customer=This code has already been redeemed. Promo codes are limited to one-time use per customer.
|
||||
element.already.exists=This element already exists in the public library.
|
||||
have.no.permission=Sorry, you don't have permission.
|
||||
permit.bulk.creation=The system permits bulk account creation exclusively when no sub-accounts exist.
|
||||
school.account.login=School account detected. Please log in through the Academic portal.
|
||||
enterprise.account.login=Enterprise account detected. Please log in through the Enterprise portal.
|
||||
white.bg.add.fail=Failed to apply white background to the transparent image.
|
||||
message.confirm.fail=Message confirmation failed. Switching to manual confirmation.
|
||||
unknown.designPictureType=unknown designPictureType.
|
||||
base64.data.empty=Invalid parameter: Image base64 data is empty.
|
||||
edited.account.information.cannot.be.blank=The edited account information cannot be blank!
|
||||
oldEmail.cannot.be.empty=oldEmail cannot be empty!
|
||||
oldUserName.cannot.be.empty=oldUserName cannot be empty!
|
||||
oldUserName.does.not.exist=oldUserName does not exist!
|
||||
oldAccount.does.not.exist=oldAccount does not exist!
|
||||
the.Google.has.been.bound=Cannot link: Google account already in use.
|
||||
Unable.to.obtain.WeChat.account.information=Unable to obtain WeChat account information. Binding failed.
|
||||
title.has.been.used=The title of the published work has been used.
|
||||
source.image.does.not.exist=The source image does not exist.
|
||||
email.has.been.registered=The email has already been registered.
|
||||
unknown.subscription.type=Unknown subscription type.
|
||||
unknown.product.type=Unknown product type.
|
||||
unknown.Promotion.Code=Unknown Promotion Code.
|
||||
file.upload.fail=File upload failed.
|
||||
project.id.cannot.be.empty=Project id cannot be empty.
|
||||
failed.to.obtain.system.sketch.recommendation=Failed to obtain system sketch recommendation.
|
||||
pose.transformation.error=Pose transformation failed.
|
||||
order.creation.failed=Order creation failed.
|
||||
order.deduction.failed=Order deduction failed.
|
||||
order.query.failed=Order query failed.
|
||||
do.not.have.the.permission.to.delete.this.comment=You do not have the permission to delete this comment.
|
||||
unknow.affiliate=Unknown affiliate id.
|
||||
unknown.operationType=Unknown operationType.
|
||||
unknown.mode=unknown mode
|
||||
unknown.subscription.plan=unknown subscription plan
|
||||
unknown.subscription.status=Unknown subscription status.
|
||||
subscription.has.expired=Switch failed. The subscription has expired.
|
||||
unknown.administrator.user=Operation failed. Unknown administrator user.
|
||||
no.permission.manage.subscription=Switch failed. You do not have permission to manage this subscription.
|
||||
unknown.organization=Unknown organization.
|
||||
valid.subscription.period=The plan is still within its valid period. Please delete it after it expires.
|
||||
users.currently.using.this.plan=There are users currently using this plan, so it cannot be deleted.
|
||||
deletion.failed.please.try.again.later=Deletion failed. Please try again later.
|
||||
subscription.plan.has.been.deleted=This subscription plan has been deleted.
|
||||
subscription.plan.does.not.exist=The subscription plan does not exist.
|
||||
ID.cannot.be.empty.and.must.be.greater.than.0=ID cannot be empty and must be greater than 0.
|
||||
invalid.time.format=Invalid time format. Please use the yyyy-MM-dd HH:mm:ss format.
|
||||
the.start.time.cannot.be.later.than.the.end.time=The start time cannot be later than the end time.
|
||||
page.size.limit=The number of items per page must be between 1 and 100.
|
||||
page.num.limit=The page number must be greater than 0.
|
||||
end.time.must.be.later.than.the.start.time=The subscription end time must be later than the start time.
|
||||
please.specify.the.organizationId=Please specify the organizationId.
|
||||
switch.failed.sub-account.not.under.your.active.subscription=Switch failed. Sub-account not under your active subscription.
|
||||
Sub-accounts.cannot.be.admins=Sub-accounts in a subscription cannot be designated as admins.
|
||||
only.subscription.plans.with.a.PENDING.status.can.have.their.start.time.modified=Only subscription plans with a PENDING status can have their start time modified.
|
||||
end.time.cannot.be.earlier.than.or.equal.to.start.time=End time cannot be earlier than or equal to start time.
|
||||
end.time.cannot.be.earlier.than.or.equal.to.the.current.time=End time cannot be earlier than or equal to the current time.
|
||||
the.subscription.end.date.can.be.extended.only.not.reduced=The subscription end date can be extended only, not reduced.
|
||||
total.sub-account.quota.cannot.be.lower.than.existing.sub-accounts=Total sub-account quota cannot be lower than existing sub-accounts.
|
||||
the.credit.limit.set.cannot.be.lower.than.the.amount.of.credits.already.used=The credit limit set cannot be lower than the amount of credits already used.
|
||||
administrator.user.is.already.bound.to.different.organization=This administrator user is already bound to a subscription plan of a different organization.
|
||||
required.partialDesign='partialDesign' (base64 or path) is required when updating an individual outfit.
|
||||
account.not.found=Account not found.
|
||||
verification.code.expired=Verification code has expired. Please request a new code to proceed.
|
||||
verification.code.error=Verification code entered is incorrect. Please check and try again.
|
||||
unknown.message=Unknown message.
|
||||
forbidden.external.access=Forbidden: external access is not allowed for this endpoint.
|
||||
failed.to.send.mail=Failed to send email.
|
||||
remote.service.error=Remote service business error.
|
||||
designer.already.applied=This user has already submitted an application or is already入驻.
|
||||
designer.application.not.found=Application record not found.
|
||||
current.status.not.support.review=Current status does not support review operation.
|
||||
designer.record.not.found=Designer record not found.
|
||||
designer.not.found=Designer not found.
|
||||
product.id.list.cannot.be.empty=Product ID list cannot be empty.
|
||||
buyer.id.cannot.be.empty=Buyer ID cannot be empty.
|
||||
buyer.account.cannot.be.empty=Buyer account cannot be empty.
|
||||
all.products.already.purchased=All products have already been purchased, no need to place a duplicate order.
|
||||
product.not.found=Product not found.
|
||||
order.info.cannot.be.empty=Order information cannot be empty.
|
||||
order.status.cannot.be.empty=Order status cannot be empty.
|
||||
order.id.list.cannot.be.empty=Order ID list cannot be empty.
|
||||
order.not.found.or.no.permission=Order not found or no permission to modify.
|
||||
design.for.only.male.or.female=designFor can only be male/female.
|
||||
product.title.cannot.be.empty=Product title cannot be empty.
|
||||
product.description.cannot.be.empty=Product description cannot be empty.
|
||||
product.price.cannot.be.empty=Product price cannot be empty.
|
||||
product.gender.cannot.be.empty=Product gender cannot be empty.
|
||||
product.gender.must.be.male.or.female=Product gender can only be male/female.
|
||||
product.category.cannot.be.empty=Product category cannot be empty.
|
||||
product.category.must.be.valid=Product category can only be outwear/trousers/blouse/dress/skirt/others/tops/bottoms.
|
||||
design.for.only.female.male.or.all=designFor can only be female/male/all.
|
||||
product.not.purchased.yet=This product has not been purchased yet and cannot be viewed.
|
||||
category.required=category [] is required.
|
||||
category.imageUrl.cannot.be.empty= category imageUrl cannot be null or empty.
|
||||
|
||||
# 可能会报异常
|
||||
userName.does.not.exist=Username or password is incorrect. Please check your entry and try again.
|
||||
password.error=Username or password is incorrect. Please check your entry and try again.
|
||||
email.error=Email is incorrect, please enter the correct bound email.
|
||||
email.does.not.exist=Email address does not exist in our records. Please check and try again.
|
||||
the.verification.code.has.expired=Verification code has expired. Please request a new code to proceed.
|
||||
verification.code.error=Verification code entered is incorrect. Please check and try again.
|
||||
the.number.of.PIN.top.or.bottom.or.outerwear.sketchBoard.cannot.be.more.than.8=You cannot have more than 8 PIN tops, bottoms, or outerwear in the sketchBoard. Please adjust accordingly.
|
||||
hsv.value.cannot.exceed.the.maximum.of.8=hsv value cannot exceed the maximum of 8.
|
||||
the.workspaceName.already.exists=A workspace with this name already exists. Please enter a different name.
|
||||
unable.to.delete.the.workspace.you.are.currently.using=The workspace you are currently using cannot be deleted. Please select another workspace before trying to delete.
|
||||
classificationName.already.exists=The label name you've entered already exists. Please enter a different label name to avoid duplication.
|
||||
account.expired=Your subscription has expired, and your account has been reset to a visitor account. Please log in again from the [Individual] entry. If you have any questions, please contact us at info@code-create.com.hk
|
||||
relate.to.any.subscription=Your administrator account is not currently linked to any subscription. If you have any questions, please contact us at info@code-create.com.hk
|
||||
|
||||
# Warnings
|
||||
the.classification.you.deleted.has.associated.library=The label you are attempting to delete is associated with existing data. Are you sure you wish to proceed with deletion?
|
||||
the.model.has.been.referenced.by.the.workspace=This model is currently in use by a workspace. Deleting it might affect the workspace. Confirm deletion only if you are sure.
|
||||
balance.insufficient.for.trial=Want to continue using it immediately? Please consider upgrading to our subscription plan to get more quota.
|
||||
balance.insufficient.for.paying=You have reached your usage limit for this month.
|
||||
|
||||
# Errors
|
||||
system.busy=System is currently busy. Please wait a moment and try again.
|
||||
user.expired=Your user session has expired. Please contact an administrator to renew your usage rights.
|
||||
attributeRetrieval.interface.exception=We encountered an error retrieving attribute data. (Please try again later. If this issue persists, please contact us at help@aida.com.hk.)
|
||||
design.interface.exception=We encountered an error with the design interface. (Please try again later. If this issue persists, please contact us at help@aida.com.hk.)
|
||||
processMannequins.interface.exception=We encountered an error uploading mannequins. (Please try again later. If this issue persists, please contact us at help@aida.com.hk.)
|
||||
processSketchBoards.interface.exception=We encountered an error uploading sketchBoard. (Please try again later. If this issue persists, please contact us at help@aida.com.hk.)
|
||||
designProcess.interface.exception=There's been an issue loading the progress bar. (Please try again later. If this issue persists, please contact us at help@aida.com.hk.)
|
||||
generate.interface.exception=We are currently experiencing a high volume of generating requests. (Please try again later. If the problem continues, reach out to us at help@aida.com.hk for support.)
|
||||
generate.interface.error=We encountered an error with the generate interface. (Please try again later. If this issue persists, please contact us at help@aida.com.hk.)
|
||||
chat-bot.interface.exception=We encountered an error with the chat robot interface.(Please try again later. If this issue persists, please contact us at help@aida.com.hk.)
|
||||
compose-layer.interface.exception=We encountered issues while flattening the layers.(Please try again later. If this issue persists, please contact us at help@aida.com.hk.)
|
||||
cloth-classification.interface.exception=We encountered some issues while obtaining clothing categories.(Please try again later. If this issue persists, please contact us at help@aida.com.hk.)
|
||||
sr.interface.error=We encountered an error with the super resolution. (Please try again later. If this issue persists, please contact us at help@aida.com.hk.)
|
||||
|
||||
# 多语言返回
|
||||
OVERALL=Overall
|
||||
TOPS=Tops
|
||||
BOTTOMS=Bottoms
|
||||
OUTWEAR=Outwear
|
||||
OTHERS=Others
|
||||
BLOUSE=Blouse
|
||||
DRESS=Dress
|
||||
TROUSERS=Trousers
|
||||
SKIRT=Skirt
|
||||
FEMALE=Women's Fashion
|
||||
MALE=Men's Fashion
|
||||
SLOGAN=Slogan
|
||||
LOGO=Logo
|
||||
PATTERN=Pattern
|
||||
EMBROIDERY=Embroidery
|
||||
BEADING=Beading
|
||||
PEARL=Pearl
|
||||
RIVET=Rivet
|
||||
BUTTON=Button
|
||||
BELT=Belt
|
||||
CORSAGE=Corsage
|
||||
ZIPPER=Zipper
|
||||
POCKET=Pocket
|
||||
THICK=Thick Lines
|
||||
MEDIUM=Medium Lines
|
||||
THIN=Thin lines
|
||||
GENERATE=Generate Sketch
|
||||
EXTRACT=Extract Sketch
|
||||
CHILD=Child
|
||||
ADULT=Adult
|
||||
320
src/main/resources/messages_zh.properties
Normal file
320
src/main/resources/messages_zh.properties
Normal file
@@ -0,0 +1,320 @@
|
||||
# 不易报异常
|
||||
system.error=系统错误。
|
||||
unknown.authentication.operation.type=未知的身份验证操作类型。
|
||||
failed.to.send.mail=邮件发送失败。
|
||||
unknown.login.type=未知的登录类型。
|
||||
error.login.type=错误的登录类型。
|
||||
get.moodBoards.data.is.mismatch=获取心情板数据不匹配。
|
||||
get.printBoards.data.is.mismatch=获取印花板数据不匹配。
|
||||
get.sketchBoards.data.is.mismatch=获取草图板数据不匹配。
|
||||
modelPoint.not.found=未找到ModelPoint。
|
||||
collection.not.found=未找到Collection。
|
||||
design.not.found=未找到Design。
|
||||
designItem.not.found=未找到DesignItem。
|
||||
userLikeGroup.not.found=未找到UserLikeGroup。
|
||||
old.elements.not.found=未找到旧元素。
|
||||
new.designItemDetails.not.found=未找到新的DesignItemDetails。
|
||||
save.workspace.failed=保存工作区失败。
|
||||
save.design.failed=保存设计失败。
|
||||
update.workspace.failed=更新工作区失败。
|
||||
enumeration.class.not.found=未找到枚举类。
|
||||
history.detail.not.found=未找到历史详情。
|
||||
designItemDetails.not.found=未找到DesignItemDetails。
|
||||
designPythonOutfit.not.found=未找到DesignPythonOutfit。
|
||||
unknown.parameter.level1Type=未知的参数level1Type。
|
||||
collectionElement.not.found=未找到collectionElement。
|
||||
select1.file.does.not.exist=选择的文件不存在。
|
||||
select2.file.does.not.exist=选择的文件不存在。
|
||||
save.collectionElement.failed=保存collectionElement失败。
|
||||
collectionElements.not.found=未找到CollectionElements。
|
||||
batch.save.libraryList.failed=批量保存libraryList失败。
|
||||
panTones.not.found=未找到tcx value。
|
||||
save.designItem.failed=保存DesignItem失败。
|
||||
unknown.type=未知类型。
|
||||
unknown.operateType=未知操作类型。
|
||||
unknown.level1TypeEnum=未知的level1TypeEnum。
|
||||
the.id.value.is.out.of.range=ID值超出范围。
|
||||
library.not.found=未找到Library。
|
||||
wrong.clothes.type=错误的服装类型。
|
||||
sysFile.not.found=未找到SysFile。
|
||||
libraryList.not.found=未找到LibraryList。
|
||||
groupDetails.not.found=未找到GroupDetails。
|
||||
history.not.found=未找到History。
|
||||
unknown.parameter.level2Type=未知的参数level2Type。
|
||||
MARKETING_SKETCH.type.have.been.removed=MARKETING_SKETCH类型已移除。
|
||||
unknown.modelType=未知的modelType。
|
||||
save.library.failed=保存Library失败。
|
||||
get.file.failed=获取文件失败。
|
||||
the.path.is.error=路径错误。
|
||||
batch.save.colorElements.failed=批量保存colorElements失败。
|
||||
initSysFile.ioException=初始化SysFile时发生IOException。
|
||||
save.sysFile.failed=保存SysFile失败。
|
||||
save.pythonTAllInfo.failed=保存PythonTAllInfo失败。
|
||||
save.collection.failed=保存Collection失败。
|
||||
save.designItemDetail.failed=保存DesignItemDetail失败。
|
||||
save.classification.failed=保存Classification失败。
|
||||
update.classification.failed=更新Classification失败。
|
||||
please.input.the.prompt=请输入标题。
|
||||
please.choose.an.image=请选择图片。
|
||||
please.input.the.caption.and.choose.an.image=请输入标题并选择图片。
|
||||
please.input.the.caption.or.choose.an.image=请输入标题或选择图片。
|
||||
duplicate.likes.are.not.allowed=不允许重复点赞。
|
||||
layer.information.not.found=未找到图层信息。
|
||||
singleOverall.cannot.be.empty=singleOverall不能为空。
|
||||
colorBoards.cannot.be.empty=colorBoards不能为空。
|
||||
systemScale.cannot.be.empty=systemScale不能为空。
|
||||
modelType.cannot.be.empty=modelType不能为空。
|
||||
modelSex.cannot.be.empty=modelSex不能为空。
|
||||
templateId.cannot.be.empty=templateId不能为空。
|
||||
processId.cannot.be.empty=processId不能为空。
|
||||
timeZone.cannot.be.empty=TimeZone不能为空。
|
||||
userId.cannot.be.empty=userId不能为空。
|
||||
email.cannot.be.empty=email不能为空。
|
||||
operationType.cannot.be.empty=operationType不能为空。
|
||||
password.cannot.be.empty=密码不能为空。
|
||||
emailVerifyCode.cannot.be.empty=emailVerifyCode不能为空。
|
||||
loginType.cannot.be.empty=loginType不能为空。
|
||||
userName.cannot.be.empty=用户名不能为空。
|
||||
sketchBoards.designType.cannot.be.empty=sketchBoards designType不能为空。
|
||||
moodBoards.designType.cannot.be.empty=moodBoards designType不能为空。
|
||||
printBoards.designType.cannot.be.empty=printBoards designType不能为空。
|
||||
unknown.parameter.singleOverall=未知参数singleOverall。
|
||||
unknown.parameter.switchCategory=未知参数switchCategory。
|
||||
collectionId.cannot.be.empty=collectionId不能为空。
|
||||
designPythonOutfitId.cannot.be.empty=designPythonOutfitId不能为空。
|
||||
designItemId.cannot.be.empty=designItemId不能为空。
|
||||
designId.cannot.be.empty=designId不能为空。
|
||||
groupDetailId.cannot.be.empty=groupDetailId不能为空。
|
||||
validStartTime.cannot.be.empty=validStartTime不能为空。
|
||||
validEndTime.cannot.be.empty=validEndTime不能为空。
|
||||
user_id.cannot.be.empty=user_id不能为空。
|
||||
session_id.cannot.be.empty=session_id不能为空。
|
||||
rgbValue.cannot.be.empty=rgbValue不能为空。
|
||||
file.cannot.be.empty=文件不能为空。
|
||||
file.type.unsupported=不支持的文件类型。
|
||||
file.size.exceed.limit=文件大小超出限制。
|
||||
select1Id.cannot.be.empty=select1Id不能为空。
|
||||
select2Id.cannot.be.empty=select2Id不能为空。
|
||||
isPin.cannot.be.empty=isPin不能为空。
|
||||
designType.cannot.be.empty=designType不能为空。
|
||||
priority.cannot.be.empty=priority不能为空。
|
||||
clothes.cannot.be.empty=clothes不能为空。
|
||||
isPreview.cannot.be.empty=isPreview不能为空。
|
||||
h.cannot.be.empty=h不能为空。
|
||||
s.cannot.be.empty=s不能为空。
|
||||
v.cannot.be.empty=v不能为空。
|
||||
userGroupId.cannot.be.empty=userGroupId不能为空。
|
||||
userGroupName.cannot.be.empty=userGroupName不能为空。
|
||||
libraryId.cannot.be.empty=libraryId不能为空。
|
||||
shoulderLeft.cannot.be.empty=shoulderLeft不能为空。
|
||||
shoulderRight.cannot.be.empty=shoulderRight不能为空。
|
||||
waistbandLeft.cannot.be.empty=waistbandLeft不能为空。
|
||||
waistbandRight.cannot.be.empty=waistbandRight不能为空。
|
||||
handLeft.cannot.be.empty=handLeft不能为空。
|
||||
handRight.cannot.be.empty=handRight不能为空。
|
||||
id.cannot.be.empty=id不能为空。
|
||||
url.cannot.be.empty=url不能为空。
|
||||
type.cannot.be.empty=type不能为空。
|
||||
color.cannot.be.empty=颜色不能为空。
|
||||
generateDetailId.cannot.be.empty=generateDetailId不能为空。
|
||||
level1Type.cannot.be.empty=level1Type不能为空。
|
||||
regionNum.cannot.be.empty=regionNum不能为空。
|
||||
phone.cannot.be.empty=手机号不能为空。
|
||||
printId.cannot.be.empty=printId不能为空。
|
||||
path.cannot.be.empty=路径不能为空。
|
||||
classificationName.cannot.be.empty=标签名不能为空。
|
||||
level2Type.cannot.be.empty=level2Type不能为空。
|
||||
generateItem.does.not.exist=generateItem不存在。
|
||||
level1Type.does.not.match=level1Type不匹配。
|
||||
the.image.does.not.exist.please.reselect=图片不存在,请重新选择。
|
||||
design.item.does.not.exist=设计项目不存在。
|
||||
layers.does.not.exists=图层不存在。
|
||||
unknown.generate.type=未知的生成类型。
|
||||
the.workspace.lastIndex.not.found=未找到工作区的lastIndex。
|
||||
gender.cannot.be.empty=性别不能为空。
|
||||
image.synthesis.failed=图像合成失败。
|
||||
priority.cannot.be.repeated=优先级不能重复。
|
||||
image.modify.failed=图片修改失败,请稍后重试。
|
||||
slogan.style.cannot.be.empty=标语风格文本不能为空。
|
||||
slogan.image.cannot.be.empty=标语图片不能为空。
|
||||
questionnaire.filled.out=您已填写过当前问卷。
|
||||
user.has.no.account=当前用户没有账号。
|
||||
you.cannot.follow.yourself=您不能关注您自己。
|
||||
you.have.already.followed.this.user=您已经关注当前用户。
|
||||
subscription.success=订阅成功。
|
||||
unsubscribe.success=取消订阅成功。
|
||||
you.have.not.followed.the.current.user=您还未关注当前用户。
|
||||
remaining.modifications=剩余修改次数为0。
|
||||
you.have.participated.in.the.event=您已经参与活动。
|
||||
only.original.works.can.participate.in.the.event=抱歉,只有原创作品能参与活动。
|
||||
remaining.credits.insufficient=您的剩余积分不够本次生成消耗,请充值。
|
||||
you.haven't.subscribed.to.any.products.yet=您还未订阅任何产品。
|
||||
generate.result.below.standard=当前生成的图像质量低于标准。请考虑调整您的提示词并再次尝试。
|
||||
partial.design.failed=局部设计失败,请稍后重试。
|
||||
email.count.limit=您的账号触发邮件发送频率限制,请一小时后重试。
|
||||
model.path.cannot.be.empty=模特路径不能为空。
|
||||
this.promotion.code.has.expired=该促销码已过期。
|
||||
this.promotion.code.is.invalid=该促销码无效。
|
||||
one.time.limit.per.customer=该码已兑换,每个促销码每位用户仅限使用一次。
|
||||
element.already.exists=元素已存在于公共库中。
|
||||
have.no.permission=您没有权限。
|
||||
permit.bulk.creation=系统仅当不存在任何子账号时,才允许批量创建账号。
|
||||
school.account.login=检测到学校账号,请从教育版入口登录。
|
||||
enterprise.account.login=检测到企业账号,请从企业版入口登录。
|
||||
white.bg.add.fail=透明图添加白色背景失败。
|
||||
message.confirm.fail=消息确认失败,转为手动确认消息。
|
||||
unknown.designPictureType=未知图片类型。
|
||||
base64.data.empty=参数错误:图片base64数据为空。
|
||||
edited.account.information.cannot.be.blank=请提供修改后的用户信息!
|
||||
oldEmail.cannot.be.empty=旧邮箱不能为空!
|
||||
oldUserName.cannot.be.empty=旧用户名不能为空!
|
||||
oldUserName.does.not.exist=旧用户名不存在!
|
||||
oldAccount.does.not.exist=旧账号不存在!
|
||||
the.Google.has.been.bound=无法绑定:该 Google 账号已被使用。
|
||||
Unable.to.obtain.WeChat.account.information=无法获取微信账号信息,绑定失败。
|
||||
title.has.been.used=标题已被使用。
|
||||
source.image.does.not.exist=源图片不存在。
|
||||
email.has.been.registered=邮箱已被使用。
|
||||
unknown.subscription.type=未知订阅类型。
|
||||
unknown.product.type=未知商品类型。
|
||||
unknown.Promotion.Code=未知推广码。
|
||||
file.upload.fail=文件上传失败。
|
||||
project.id.cannot.be.empty=项目id不能为空。
|
||||
failed.to.obtain.system.sketch.recommendation=系统草图推荐获取失败。
|
||||
pose.transformation.error=图片转视频失败。
|
||||
order.creation.failed=订单创建失败。
|
||||
order.deduction.failed=订单金额扣除失败。
|
||||
order.query.failed=订单查询失败。
|
||||
do.not.have.the.permission.to.delete.this.comment=您没有权限删除此评论。
|
||||
unknow.affiliate=未知推广者id。
|
||||
unknown.operationType=未知操作类型。
|
||||
unknown.mode=未知模式。
|
||||
unknown.subscription.plan=未知订阅计划。
|
||||
unknown.subscription.status=未知订阅状态。
|
||||
subscription.has.expired=切换失败,订阅已过期。
|
||||
unknown.administrator.user=操作失败,未知管理员用户。
|
||||
no.permission.manage.subscription=切换失败,您没有权限管理该订阅。
|
||||
unknown.organization=未知组织。
|
||||
valid.subscription.period=计划仍在有效期内,请到期后再删除。
|
||||
users.currently.using.this.plan=存在用户正在使用此计划,无法删除。
|
||||
deletion.failed.please.try.again.later=删除失败,请稍后重试。
|
||||
subscription.plan.has.been.deleted=该订阅计划已被删除。
|
||||
subscription.plan.does.not.exist=订阅计划不存在。
|
||||
ID.cannot.be.empty.and.must.be.greater.than.0=ID不能为空且必须大于0。
|
||||
invalid.time.format=时间格式错误,请使用yyyy-MM-dd HH:mm:ss格式。
|
||||
the.start.time.cannot.be.later.than.the.end.time=开始时间不能晚于结束时间。
|
||||
page.size.limit=每页数量必须在1-100之间。
|
||||
page.num.limit=页码必须大于0。
|
||||
end.time.must.be.later.than.the.start.time=订阅结束时间必须晚于开始时间。
|
||||
please.specify.the.organizationId=请指定organizationId。
|
||||
switch.failed.sub-account.not.under.your.active.subscription=切换失败,该子账号不属于您当前管理的订阅计划。
|
||||
Sub-accounts.cannot.be.admins=在订阅中的子账号不能被指定为管理员。
|
||||
only.subscription.plans.with.a.PENDING.status.can.have.their.start.time.modified=只有PENDING状态的订阅计划可以修改订阅开始时间。
|
||||
end.time.cannot.be.earlier.than.or.equal.to.start.time=订阅结束时间不能早于或等于开始时间。
|
||||
end.time.cannot.be.earlier.than.or.equal.to.the.current.time=订阅结束时间不能早于或等于当前时间。
|
||||
the.subscription.end.date.can.be.extended.only.not.reduced=订阅的到期时间不能缩短,只能延长。
|
||||
total.sub-account.quota.cannot.be.lower.than.existing.sub-accounts=设置的子账号总数量不能低于现存已添加的子账号数量。
|
||||
the.credit.limit.set.cannot.be.lower.than.the.amount.of.credits.already.used=设置的积分上限不能低于已使用的积分量。
|
||||
administrator.user.is.already.bound.to.different.organization=该管理员用户已与其他组织的订阅计划绑定。
|
||||
required.partialDesign=修改单套搭配必须提供'partialDesign'(base64 或 path)。
|
||||
account.not.found=账号不存在。
|
||||
verification.code.expired=验证码已过期,请请求新的验证码继续。
|
||||
verification.code.error=输入的验证码不正确,请检查并重试。
|
||||
unknown.message=未知消息。
|
||||
forbidden.external.access=禁止外部直接访问此接口。
|
||||
failed.to.send.mail=邮件发送失败。
|
||||
remote.service.error=远程服务业务错误。
|
||||
designer.already.applied=该用户已提交过申请或已入驻。
|
||||
designer.application.not.found=申请记录不存在。
|
||||
current.status.not.support.review=当前状态不支持审核操作。
|
||||
designer.record.not.found=设计师记录不存在。
|
||||
designer.not.found=设计师不存在。
|
||||
product.id.list.cannot.be.empty=商品ID列表不能为空。
|
||||
buyer.id.cannot.be.empty=买家ID不能为空。
|
||||
buyer.account.cannot.be.empty=买家账号不能为空。
|
||||
all.products.already.purchased=所有商品均已购买,无需重复下单。
|
||||
product.not.found=未找到对应的商品。
|
||||
order.info.cannot.be.empty=订单信息为空。
|
||||
order.status.cannot.be.empty=订单状态不能为空。
|
||||
order.id.list.cannot.be.empty=订单ID列表不能为空。
|
||||
order.not.found.or.no.permission=订单不存在或无权修改。
|
||||
design.for.only.male.or.female=designFor 只能为 male/female。
|
||||
product.title.cannot.be.empty=商品标题不能为空。
|
||||
product.description.cannot.be.empty=商品描述不能为空。
|
||||
product.price.cannot.be.empty=商品价格不能为空。
|
||||
product.gender.cannot.be.empty=适用性别不能为空。
|
||||
product.gender.must.be.male.or.female=适用性别只能为 male/female。
|
||||
product.category.cannot.be.empty=商品分类不能为空。
|
||||
product.category.must.be.valid=商品分类只能为 outwear/trousers/blouse/dress/skirt/others/tops/bottoms。
|
||||
design.for.only.female.male.or.all=designFor 只能为 female/male/all。
|
||||
product.not.purchased.yet=该商品尚未被购买,无法查看。
|
||||
category.required=category [] is required。
|
||||
category.imageUrl.cannot.be.empty=category imageUrl cannot be null or empty。
|
||||
|
||||
# 可能会报异常
|
||||
userName.does.not.exist=用户名或密码不正确,请检查您的输入并重试。
|
||||
password.error=用户名或密码不正确,请检查您的输入并重试。
|
||||
email.error=电子邮件不正确,请输入正确的绑定电子邮件。
|
||||
email.does.not.exist=电子邮件地址在我们的记录中不存在,请检查并重试。
|
||||
the.verification.code.has.expired=验证码已过期,请请求新的验证码继续。
|
||||
verification.code.error=输入的验证码不正确,请检查并重试。
|
||||
the.number.of.PIN.top.or.bottom.or.outerwear.sketchBoard.cannot.be.more.than.8=在草图板中,PIN上装、下装或外套的数量不能超过8件,请进行相应调整。
|
||||
hsv.value.cannot.exceed.the.maximum.of.8=hsv值不能超过8的最大值。
|
||||
the.workspaceName.already.exists=具有此名称的工作区已存在,请输入不同的名称。
|
||||
unable.to.delete.the.workspace.you.are.currently.using=无法删除当前正在使用的工作区,在尝试删除之前,请选择另一个工作区。
|
||||
classificationName.already.exists=您输入的标签名已存在,请输入不同的标签名以避免重复。
|
||||
account.expired=您的订阅已过期,账号已被重置为访客身份,请从【个人账号】入口重新登录,如有疑问,请联系 info@code-create.com.hk。
|
||||
relate.to.any.subscription=您的管理员账号暂未关联任何订阅,如有疑问,请联系我们 info@code-create.com.hk。
|
||||
|
||||
# Warnings
|
||||
the.classification.you.deleted.has.associated.library=您正在尝试删除的标签与现有数据相关联,您确定要继续删除吗?
|
||||
the.model.has.been.referenced.by.the.workspace=此模型当前正在工作区中使用,删除它可能会影响工作区,仅在确信后再确认删除。
|
||||
balance.insufficient.for.trial=想要立即继续使用?请考虑升级到我们的订阅计划,以获得更多额度。
|
||||
balance.insufficient.for.paying=您已达到本月的使用额度限制。
|
||||
|
||||
# Errors
|
||||
system.busy=系统当前繁忙,请稍候再试。
|
||||
user.expired=您的用户会话已过期,请联系管理员更新您的使用权限。
|
||||
attributeRetrieval.interface.exception=检索属性数据时发生错误。(请稍后再试。如果问题持续,请联系我们的help@aida.com.hk)
|
||||
design.interface.exception=设计接口出现错误。(请稍后再试。如果问题持续,请联系我们的help@aida.com.hk)
|
||||
processMannequins.interface.exception=上传模特时出现错误。(请稍后再试。如果问题持续,请联系我们的help@aida.com.hk)
|
||||
processSketchBoards.interface.exception=上传草图板时出现错误。(请稍后再试。如果问题持续,请联系我们的help@aida.com.hk)
|
||||
designProcess.interface.exception=加载进度条时出现问题。(请稍后再试。如果问题持续,请联系我们的help@aida.com.hk)
|
||||
generate.interface.exception=我们当前正经历大量生成请求。(请稍后再试。如果问题继续,请联系我们的help@aida.com.hk寻求支持。)
|
||||
generate.interface.error=生成接口出现错误。(请稍后再试。如果问题持续,请联系我们的help@aida.com.hk)
|
||||
chat-bot.interface.exception=聊天机器人接口出现错误。(请稍后再试。如果问题持续,请联系我们的help@aida.com.hk)
|
||||
compose-layer.interface.exception=图层合并时出现问题。(请稍后再试。如果问题持续,请联系我们的help@aida.com.hk)
|
||||
cloth-classification.interface.exception=获取服装类别时出现问题。(请稍后再试。如果问题持续,请联系我们的help@aida.com.hk)
|
||||
sr.interface.error=超分接口出现错误。(请稍后再试。如果问题持续,请联系我们的help@aida.com.hk)
|
||||
|
||||
# 多语言返回
|
||||
OVERALL=整体
|
||||
TOPS=上装
|
||||
BOTTOMS=下装
|
||||
OUTWEAR=外套
|
||||
OTHERS=其他
|
||||
BLOUSE=上衣
|
||||
DRESS=连衣裙
|
||||
TROUSERS=裤子
|
||||
SKIRT=短裙
|
||||
FEMALE=女装
|
||||
MALE=男装
|
||||
SLOGAN=标语
|
||||
LOGO=标志
|
||||
PATTERN=图案
|
||||
EMBROIDERY=刺绣
|
||||
BEADING=钉珠
|
||||
PEARL=珍珠
|
||||
RIVET=铆钉
|
||||
BUTTON=纽扣
|
||||
BELT=腰带
|
||||
CORSAGE=胸花
|
||||
ZIPPER=拉链
|
||||
POCKET=口袋
|
||||
THICK=粗线条
|
||||
MEDIUM=中线条
|
||||
THIN=细线条
|
||||
GENERATE=生成线稿
|
||||
EXTRACT=提取线稿
|
||||
CHILD=儿童
|
||||
ADULT=成人
|
||||
Reference in New Issue
Block a user