Skip to content

错误信息国际化

IBest-ORM 支持错误信息的多语言显示,目前支持中文和英文。

设置语言

ts
import { setErrorLocale, getErrorLocale } from '@ibestservices/ibest-orm';

// 设置为英文
setErrorLocale('en');

// 设置为中文(默认)
setErrorLocale('zh');

// 获取当前语言设置
const locale = getErrorLocale();
console.log('当前语言:', locale);

支持的语言

语言代码语言
zh中文(默认)
en英文

错误信息对照

错误码中文英文
INIT_FAILEDORM 初始化失败ORM initialization failed
CONTEXT_NOT_FOUND未找到应用上下文Application context not found
DATABASE_NOT_FOUND数据库连接未建立Database connection not established
TABLE_NOT_SET未设置数据表Table not set
INVALID_QUERY无效的查询条件Invalid query condition
QUERY_FAILED查询执行失败Query execution failed
TYPE_MISMATCH字段类型不匹配Field type mismatch
REQUIRED_FIELD_MISSING必填字段缺失Required field missing
PRIMARY_KEY_MISSING主键值缺失Primary key value missing
VALIDATION_FAILED数据验证失败Data validation failed
MIGRATION_FAILED数据库迁移失败Database migration failed
TABLE_NOT_EXISTS数据表不存在Table does not exist
COLUMN_NOT_EXISTS字段不存在Column does not exist
RELATION_NOT_FOUND关联关系未找到Relation not found
FOREIGN_KEY_MISSING外键值缺失Foreign key value missing
CASCADE_FAILED级联操作失败Cascade operation failed
TRANSACTION_FAILED事务执行失败Transaction failed
ROLLBACK_FAILED事务回滚失败Transaction rollback failed
SOFT_DELETE_NOT_CONFIGURED软删除未配置Soft delete not configured

使用示例

ts
import { setErrorLocale, ORMError, ErrorCode } from '@ibestservices/ibest-orm';

// 中文模式
setErrorLocale('zh');

try {
  // 某些操作...
} catch (e) {
  if (e instanceof ORMError) {
    console.log(e.message);  // 输出: "数据验证失败"
  }
}

// 英文模式
setErrorLocale('en');

try {
  // 某些操作...
} catch (e) {
  if (e instanceof ORMError) {
    console.log(e.message);  // 输出: "Data validation failed"
  }
}

最佳实践

  1. 应用初始化时设置:在应用启动时根据用户语言偏好设置错误语言
ts
import { initORM, setErrorLocale } from '@ibestservices/ibest-orm';

// 根据系统语言设置
const systemLang = getSystemLanguage();  // 假设的获取系统语言函数
setErrorLocale(systemLang === 'en' ? 'en' : 'zh');

// 初始化 ORM
initORM({ adapter, logLevel: 'debug' });
  1. 日志记录:开发调试时可以使用中文,生产环境日志可以使用英文便于国际化团队协作