Skip to content

国际化配置

HaierUI Plus 提供了完整的国际化支持,您可以根据需要配置不同的语言。

配置语言

全局配置

在应用初始化时,您可以通过 app.use() 方法配置全局语言:

typescript
import { createApp } from 'vue'
import App from './App.vue'
import HaierUI from 'haierui-plus'

const app = createApp(App)
app.use(HaierUI, {
  locale: 'en' // 或 'zh'
})

支持的语言

  • zh - 中文(默认)
  • en - 英文

自定义翻译

您可以提供自定义的翻译内容来覆盖默认翻译:

typescript
import { createApp } from 'vue'
import App from './App.vue'
import HaierUI from 'haierui-plus'

const app = createApp(App)
app.use(HaierUI, {
  locale: 'zh',
  messages: {
    zh: {
      common: {
        confirm: '确认',
        cancel: '取消'
      }
    }
  }
})

动态切换语言

您可以使用 setLocale 方法动态切换语言:

typescript
import { setLocale } from 'haierui-plus'

// 切换到英文
setLocale('en')

// 切换到中文
setLocale('zh')

在组件中使用

vue
<template>
  <div>
    <button @click="switchLanguage">切换语言</button>
  </div>
</template>

<script setup>
import { setLocale } from 'haierui-plus'

const switchLanguage = () => {
  const currentLocale = localStorage.getItem('locale') || 'zh'
  const newLocale = currentLocale === 'zh' ? 'en' : 'zh'
  setLocale(newLocale)
  localStorage.setItem('locale', newLocale)
}
</script>

扩展语言

您可以使用 addMessages 方法添加新的语言支持:

typescript
import { addMessages } from 'haierui-plus'

addMessages({
  ja: {
    common: {
      confirm: '確認',
      cancel: 'キャンセル'
    }
  }
})

// 然后设置为日语
setLocale('ja')

支持的组件

以下组件已支持国际化:

  • HCommonTable
  • HFileUpload
  • HFileBatchUpload
  • HFilePreview
  • HSearchBar
  • HFilterCondition
  • HNdialog
  • HDateTime
  • HModuleTitle
  • tableHeaderFilter

国际化键值

通用键值

键值中文英文
common.selectAll全选Select All
common.cancel取消Cancel
common.confirm确定Confirm
common.search查询Search
common.add添加Add
common.delete删除Delete
common.upload上传Upload
common.download下载Download
common.preview预览Preview
common.edit编辑Edit
common.save保存Save
common.close关闭Close
common.loading加载中...Loading...
common.noData暂无数据No Data
common.operation操作Operation
common.copy复制Copy
common.copySuccess复制成功Copied successfully
common.expand展开Expand
common.collapse收起Collapse

上传组件

键值中文英文
upload.uploadFile上传文件Upload File
upload.uploadRules上传规则Upload Rules
upload.uploadError上传失败Upload Failed
upload.fileTooLarge文件最大不超过{size}MFile size must not exceed {size}M
upload.fileFormatError文件仅支持上传{formats}格式File format only supports
upload.fileNameError文件名称不支持表情包和%File name does not support emojis and %
upload.pleaseUploadFile请上传文件Please upload a file

搜索组件

键值中文英文
search.normalFilter普通筛选Normal Filter
search.advancedFilter高级筛选Advanced Filter

筛选组件

键值中文英文
filter.filterCondition筛选条件Filter Condition
filter.addFilterCondition添加筛选条件Add Filter Condition
filter.operators.eq等于(=)Equal(=)
filter.operators.neq不等于(<>)Not Equal(<>)
filter.operators.gt大于(>)Greater Than(>)
filter.operators.lt小于(<)Less Than(<)
filter.operators.gte大于等于(>=)Greater Than or Equal(>=)
filter.operators.lte小于等于(<=)Less Than or Equal(<=)
filter.operators.in多选(in)In
filter.operators.notin排除(not in)Not In
filter.operators.like模糊匹配(like)Like
filter.operators.notlike模糊匹配排除(not like)Not Like

时间组件

键值中文英文
dateTime.timeSelection时间选择Time Selection
dateTime.selectFromCalendar日历中选择Select from Calendar
dateTime.wholePointTime整点时间Whole Point Time
dateTime.wholePointTimeTip整点时间将为您所选时间进行抹零取整The whole point time will round down your selected time
dateTime.wholePoint整点Whole
dateTime.recent最近Recent
dateTime.dayDay(s)
dateTime.hour小时Hour(s)
dateTime.minute分钟Minute(s)
dateTime.secondSecond(s)
dateTime.history历史记录History
dateTime._1min1分钟1 min
dateTime._5min5分钟5 min
dateTime._15min15分钟15 min
dateTime._30min30分钟30 min
dateTime._1h1小时1 hour
dateTime._4h4小时4 hours
dateTime._1d1天1 day
dateTime.today今天Today
dateTime.yesterday昨天Yesterday
dateTime.beforeYesterday前天Day Before Yesterday
dateTime._1w1周1 week
dateTime.thisWeek本周This Week
dateTime.lastWeek上周Last Week
dateTime._30d30天30 days
dateTime.thisMonth本月This Month
dateTime.lastMonth上月Last Month
dateTime.thisQuarter本季度This Quarter
dateTime.thisYear本年度This Year
dateTime.custom自定义Custom
dateTime.timeFormatError格式不正确,应为:YYYY-MM-DD HH:mm:ss ~ YYYY-MM-DD HH:mm:ssInvalid format. Should be: YYYY-MM-DD HH:mm:ss ~ YYYY-MM-DD HH:mm:ss
dateTime.invalidDate包含无效的日期时间Contains invalid date time
dateTime.startTimeBeforeEndTime开始时间必须早于结束时间Start time must be earlier than end time
dateTime.timeFormatCorrect时间段格式正确Time range format is correct

注意事项

  1. 组件内的文本默认使用中文,如果未提供翻译键值,会显示原始文本
  2. 建议在应用启动时统一配置语言,避免组件渲染后切换语言导致的不一致
  3. 自定义翻译会与默认翻译合并,相同键值的翻译会被覆盖
  4. 支持的语言类型为 'zh''en',其他语言需要通过 addMessages 添加