开源表单设计器FcDesigner配置多语言教程

开源低代码表单设计器FcDesigner中提供了强大的多语言支持功能,允许开发者在表单中实现一键式语言切换。在现代业务应用中,多语言支持是一项基本需求,尤其在国际化产品中。

源码地址: Github | Gitee | 文档 | 在线演示

设计器中配置多语言数据

通过 config.localOptions 配置项,开发者可以定义所需的多语言选项。默认情况下,设计器提供简体中文和英文支持。以下是默认配置示例:

js 复制代码
{
    config: {
        localeOptions: [
            { value: 'zh-cn', label: '简体中文' },
            { value: 'en', label: 'English' },
        ],
    }
}

自定义多语言选项

如果需要添加其他语言,例如繁体中文,可以通过修改 localeOptions 来实现:

js 复制代码
{
    config: {
        localeOptions: [
            {value: 'zh-cn', label: '简体中文'},
            {value: 'zh-tw', label: '繁體中文'},
        ],
    }
}

预定义多语言数据

通过表单配置options.language可以管理多语言数据

vue 复制代码
<template>
    <fc-designer ref="designer"></fc-designer>
</template>
<script>
    const designer = ref(null);
    onMounted(() => {
        designer.value.setOption({
            //其他表单配置
            //...
            language: {
                "zh-cn": {
                    "Az87OmQS": "商品名称",
                    "BAVvUidu": "商品价格",
                    "CkD1fG2H": "商品描述",
                    "DgH2iJ3K": "库存数量",
                    "EhI3jK4L": "发货方式",
                    "FiJ4kL5M": "配送时间",
                    "GjK5lM6N": "用户评价",
                },
                "en": {
                    "Az87OmQS": "Goods name",
                    "BAVvUidu": "Goods price",
                    "CkD1fG2H": "Product description",
                    "DgH2iJ3K": "Stock quantity",
                    "EhI3jK4L": "Shipping method",
                    "FiJ4kL5M": "Delivery time",
                    "GjK5lM6N": "User reviews",
                    "HkL6mN7O": "Add to cart",
                }
            }
        });
    });
</script>

使用多语言

基础用法

在组件的字段名称、提示信息和验证消息中,可以直接使用多语言变量。例如:{{$t.DgH2iJ3K}}

通过上述配置,用户在不同语言之间切换时,表单内显示的文本会自动更新为相应语言。

组件配置中使用多语言

在组件配置中使用多语言时,需要通过绑定变量的方式进行。例如:

函数中使用多语言

若需要在函数或事件中获取特定的多语言文本,可使用 api.t('DgH2iJ3K') 方法获取对应内容。例如:

js 复制代码
handleEvent($inject) {
    const message = $inject.api.t('submitSuccessMessage');
    console.log(message);
}

获取当前语言

在某些场景下,您可能需要在接口中使用当前正在使用的语言。可以通过 {{$locale}} 变量获取当前语言代码,例如:

在事件中获取

js 复制代码
handleEvent($inject) {
    const locale = $inject.api.getData('$locale');
    console.log(locale);
}

验证规则中获取组件标签名称

在验证提示中,自动将 {title} 替换为标签名称,以提供更具上下文的提示信息。

text 复制代码
请输入{title}

通过这些功能,开发者可以方便地集成多语言支持,使得表单在不同语言环境下都能具有良好的用户体验。

相关推荐
阿瑞IT3 分钟前
2026年 AI Agent 生产化落地全景:四大高频故障根因分析与工程解法
前端
木木剑光9 分钟前
我开源了一个 React 组件库,沉淀了多个高频组件和实用 Hooks
前端·javascript·react.js
kyriewen13 分钟前
DeepSeek API 高峰时段涨价 2 倍,便宜大碗的时代要结束了?
前端·ai编程·deepseek
Moment40 分钟前
牛逼,NextJs 从 16.3 开始全面拥抱 Agent Native 🥰🥰🥰
前端·后端·面试
沸点小助手1 小时前
6月沸点活动获奖名单公示|本周互动话题上新🎊
前端·后端
Csvn1 小时前
React 19 `use()` 来了:以后数据加载可以不用 useEffect?
前端·react.js
没落英雄1 小时前
从零开始搭建一个 AI Agent —— LangChain + TypeScript 实战手记
前端·人工智能·架构
远航_1 小时前
git submodule
前端·后端·github
摸着石头过河的石头1 小时前
从 Webpack 到 RSBuild:前端构建工具的进化之路
前端
疯狂的魔鬼1 小时前
告别 boolean 地狱:一个文件上传组件的状态机实践
前端·设计