Skip to content

BizI18nInput 多语言输入 ​

一个字段多语言录入(国际化系统高频痛点):页签切换语言逐个填写(或 layout="vertical" 语言块堆叠),主语言必填校验、缺译警示点(主语言已填而该语言为空)、字符上限与字数统计、只读回显;translate-request 钩子注入机器翻译实现后,非主语言页签出现「译」按钮一键填充。值结构为 { 'zh-CN': '...', en: '...' },直接对齐后端多语言字段。

适用于:商品名 / 公告 / 文章标题 / 推送文案多语言维护,出海 SaaS 基础信息录入。

基础用法 ​

页签切换语言录入,值结构实时预览(v-model 为 语言码 → 文本 的完整对象)。

多行文本与字数 ​

44 / 200
type="textarea" + maxlength(自动带字数统计),公告 / 简介类长文本多语言。

主语言必填校验 ​

expose validate():主语言为空拦截提交(组件底部红字),缺译语言统计返回由业务决定放行与否。

缺译标记 ​

「简体中文」「English」已填,「日本語」为空 → 页签名旁出现黄色警示点;切到该页签补译后即消失。主语言页签带「主」徽标。

主语言已填、其他语言为空时页签出黄色警示点;主语言页签带「主」徽标。

一键翻译 ​

translate-request 注入翻译实现(组件零接口):非主语言页签出「译」按钮,以主语言文本为源填充,translated 事件回传。

堆叠布局 ​

推送标题(窄屏表单)
🇨🇳 简体中文 主
🇬🇧 English
🇯🇵 日本語
layout="vertical" 语言块纵排——窄屏 / 移动端 / 需同屏总览全部语言。

只读回显 ​

商品多语言名称
多语言名称
disabled 详情页展示已录入内容(页签仍可切换查看各语言)。

商品多语言表单 ​

SKU
商品名称
商品简介
27 / 300
el-form 集成:名称(必填)+ 简介(选填 textarea)双字段多语言,提交生成 payload 预览。

Props ​

属性类型默认值说明
v-modelBizI18nValue{}多语言值:{ 语言码: 文本 }
localesBizI18nLocale[][]语言列表({ code, label, flag? },至少 1 项)
primarystring首语言主语言码(必填校验基准 / 翻译源)
type'input' | 'textarea''input'控件类型
placeholderstring按语言占位文案(主语言「必填」、其他「选填(语言名)」)
rowsnumber3textarea 行数
requiredbooleantrue主语言必填(validate 依据)
maxlengthnumber—每语言字符上限(自动开字数统计)
show-word-limitboolean有 maxlength 时 true字数统计开关
mark-missingbooleantrue缺译警示点开关
layout'tabs' | 'vertical''tabs'页签 / 堆叠布局
disabledbooleanfalse只读回显
translate-request(text, from, to) => Promise<string>—机器翻译钩子(注入后非主语言出「译」按钮)

Events ​

事件名参数说明
update:model-value(value: BizI18nValue)任一语言输入即整体更新
change(locale, text)某语言输入完成(控件 change 提交后)
translated(locale, text)一键翻译填充完成

Expose ​

名称类型说明
validate() => BizI18nValidateResult主语言必填校验(错误展示在组件底部);返回 { valid, primaryEmpty, missingLocales }
clearValidate() => void清除校验错误展示
getValue(locale) => string单语言取值
getValues() => BizI18nValue整体值快照
setActive(locale) => void切换到某语言页签