yunhucai 2024-07-16 13:20 采纳率: 0%
浏览 1

json schema数据库中多选内容实现多语言

schema.json数据库中,


```javascript
// 文档教程: https://uniapp.dcloud.net.cn/uniCloud/schema
{
    "bsonType": "object",
    "required": ["area", "start_time", "end_time", "assistant"],
    "permission": {
        "read": true,
        "create": true,
        "update": "auth.uid == doc.organizer_id",
        "delete": false
    },
    "properties": {
        "_id": {
            "description": "ID,系统自动生成"
        },
        "area": {
            "bsonType": "string",
            "title": "区域",
            "description": "区域",
            "label": "区域",
            "enum": ["Tesla B2B", "Tesla B2C", "Porsche", "SCANIA", "JLR", "Tesla Bonded"]
        },
        "start_time": {
            "bsonType": "timestamp",
            "title": "开始时间",
            "description": "开始时间"
        },
        "end_time": {
            "bsonType": "timestamp",
            "title": "结束时间",
            "description": "结束时间"
        },
        "organizer_id": {
            "bsonType": "string",
            "title": "ID",
            "description": "ID",
            "foreignKey": "uni-id-users._id"
        },
        "organizer": {
            "bsonType": "string",
            "title": "发起人",
            "label": "发起人",
            "description": "发起人"
            
        },
        "assistant": {
            "bsonType": "string",
            "title": "辅导员",
            "label": "辅导员",
            "description": "辅导员"
        },
        "participants_one": {
            "bsonType": "string",
            "title": "参与者1",
            "description": "参与者1",
            "label": "参与者1"

        },
        "participants_two": {
            "bsonType": "string",
            "title": "参与者2",
            "description": "参与者2",
            "label": "参与者2"

        },
        "participants_three": {
            "bsonType": "string",
            "title": "参与者3",
            "description": "参与者3",
            "label": "参与者3"

        },
        "participants_four": {
            "bsonType": "string",
            "title": "参与者4",
            "description": "参与者4",
            "label": "参与者4"

        },
        "participants_five": {
            "bsonType": "string",
            "title": "参与者5",
            "description": "参与者5",
            "label": "参与者5"

        },
        "participants_six": {
            "bsonType": "string",
            "title": "参与者6",
            "description": "参与者6",
            "label": "参与者6"

        },
        "participants_seven": {
            "bsonType": "string",
            "title": "参与者7",
            "description": "参与者7",
            "label": "参与者7"

        },
        "participants_eight": {
            "bsonType": "string",
            "title": "参与者8",
            "description": "参与者8",
            "label": "参与者8"

        },
        "participants_nine": {
            "bsonType": "string",
            "title": "参与者9",
            "description": "参与者9",
            "label": "参与者9"

        },
        "participants_ten": {
            "bsonType": "string",
            "title": "参与者10",
            "description": "参与者10",
            "label": "参与者10"

        },
        "participants_eleven": {
            "bsonType": "string",
            "title": "参与者11",
            "description": "参与者11",
            "label": "参与者11"

        },
        "participants_twelve": {
            "bsonType": "string",
            "title": "参与者12",
            "description": "参与者12",
            "label": "参与者12"

        },
        "problem": {
            "bsonType": "string",
            "title": "问题描述",
            "description": "问题描述",
            "label": "问题描述"
        },
        "problem_tools": {
            "bsonType": "array",
            "title": "工具",
            "description": "工具",
            "label": "工具",
            "enum": ["开放式问题", "SMART原则", "检查表", "5个为什么", "头脑风暴", "鱼骨图", "图表分析", "必选/可选", "时间/项目计划", "帕累托图", "网页式报表",
                "SIPOC模型", "QFD法", "思维导图", "行动计划方案", "累积和法", "六西格玛"
            ]
        },
        "expect": {
            "bsonType": "string",
            "title": "期望描述",
            "description": "期望描述",
            "label": "期望描述"
        },
        "expect_tools": {
            "bsonType": "array",
            "title": "工具",
            "description": "工具",
            "label": "工具",
            "enum": ["开放式问题", "SMART原则", "检查表", "5个为什么", "头脑风暴", "鱼骨图", "图表分析", "必选/可选", "时间/项目计划", "帕累托图", "网页式报表",
                "SIPOC模型", "QFD法", "思维导图", "行动计划方案", "累积和法", "六西格玛"
            ]
        },

        "reason": {
            "bsonType": "string",
            "title": "原因描述",
            "description": "原因描述",
            "label": "原因描述"
        },
        "reason_tools": {
            "bsonType": "array",
            "title": "工具",
            "description": "工具",
            "label": "工具",
            "enum": ["开放式问题", "SMART原则", "检查表", "5个为什么", "头脑风暴", "鱼骨图", "图表分析", "必选/可选", "时间/项目计划", "帕累托图", "网页式报表",
                "SIPOC模型", "QFD法", "思维导图", "行动计划方案", "累积和法", "六西格玛"
            ]
        },
        "option": {
            "bsonType": "string",
            "title": "选项描述",
            "description": "选项描述",
            "label": "选项描述"
        },
        "option_tools": {
            "bsonType": "array",
            "title": "工具",
            "description": "工具",
            "label": "工具",
            "enum": ["开放式问题", "SMART原则", "检查表", "5个为什么", "头脑风暴", "鱼骨图", "图表分析", "必选/可选", "时间/项目计划", "帕累托图", "网页式报表",
                "SIPOC模型", "QFD法", "思维导图", "行动计划方案", "累积和法", "六西格玛"
            ]
        },
        "solution": {
            "bsonType": "string",
            "title": "方案描述",
            "description": "方案描述",
            "label": "方案描述",
            "trim": "both"
        },
        "solution_tools": {
            "bsonType": "array",
            "title": "工具",
            "description": "工具",
            "label": "工具",
            "enum": ["开放式问题", "SMART原则", "检查表", "5个为什么", "头脑风暴", "鱼骨图", "图表分析", "必选/可选", "时间/项目计划", "帕累托图", "网页式报表",
                "SIPOC模型", "QFD法", "思维导图", "行动计划方案", "累积和法", "六西格玛"
            ]
        },
        "action": {
            "bsonType": "string",
            "title": "行动描述",
            "description": "行动描述",
            "label": "行动描述",
            "trim": "both"
        },
        "action_tools": {
            "bsonType": "array",
            "title": "工具",
            "description": "工具",
            "label": "工具",
            "enum": ["开放式问题", "SMART原则", "检查表", "5个为什么", "头脑风暴", "鱼骨图", "图表分析", "必选/可选", "时间/项目计划", "帕累托图", "网页式报表",
                "SIPOC模型", "QFD法", "思维导图", "行动计划方案", "累积和法", "六西格玛"
            ]
        },
        "result": {
            "bsonType": "string",
            "title": "结果描述",
            "description": "结果描述",
            "label": "结果描述",
            "trim": "both"
        },
        "result_tools": {
            "bsonType": "array",
            "title": "工具",
            "description": "工具",
            "label": "工具",
            "enum": ["开放式问题", "SMART原则", "检查表", "5个为什么", "头脑风暴", "鱼骨图", "图表分析", "必选/可选", "时间/项目计划", "帕累托图", "网页式报表",
                "SIPOC模型", "QFD法", "思维导图", "行动计划方案", "累积和法", "六西格玛"
            ]
        },
        "appendix": {
            "bsonType": "file",
            "title": "附件",
            "description": "附件",
            "label": "附件",
            "trim": "both"
        },
        "income": {
            "bsonType": "string",
            "title": "收益类型",
            "description": "收益类型",
            "foreignKey": "income_list._id",
            "enum": {
                "collection": "income_list",
                "field": "_id as value,income as text"
            }
        },
        "revenue_frequency": {
            "bsonType": "string",
            "title": "收益频次",
            "description": "收益频次",
            "label": "收益频次",
            "enum": ["一次性", "每天", "每周", "每月", "每年"]
        },
        "revenue_amount": {
            "bsonType": "string",
            "title": "收益金额",
            "description": "请填写RMB",
            "label": "收益金额",
            "trim": "right"
        }
    }
}
这个数据库生成的新增页面中,工具的多选框在切换语言后会显示英文,我已经配置好了en.json和zh.json,但是提交到清单页面的时候,显示的都是中文,应该怎么修改

```

  • 写回答

4条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-07-16 13:20
    关注

    引自免费微信小程序:皆我百晓生

    在解决这个问题时,我们需要理解的是,json schema数据库中的多语言支持通常是通过在数据库内部定义不同语言的标签和描述来实现的。在你的情况下,问题可能出在两个方面:一是你的数据库可能没有正确识别或应用你的语言配置文件(如en.json和zh.json);二是可能在前端代码中,获取数据后没有根据设置的语种来正确显示数据。以下是可能的解决方案:

    1. 检查语言配置文件的正确性

    确保你的en.json和zh.json文件正确配置,并且你的数据库能够正确识别和应用这些文件。你需要检查这些文件的语言标识(如"en"和"zh")是否正确对应了你的数据库设置中的语言代码。同时检查这些文件中的标签和描述是否正确翻译。

    2. 数据库查询和返回数据

    在数据库查询数据时,确保返回的数据包含了语言标识(例如,每条数据都有一个表示语言字段),这样前端就可以根据这个字段来决定显示哪种语言的标签和描述。如果没有这个字段或者字段值不正确,前端可能会错误地显示数据。

    3. 前端代码处理

    在前端代码中,当你从数据库获取数据并展示到页面上时,你需要根据用户的语言设置(例如,用户选择的语种)来显示对应的标签和描述。如果用户选择的是英文,你就需要显示en.json中的标签和描述;如果用户选择的是中文,你就需要显示zh.json中的标签和描述。你需要确保前端代码能正确处理这个逻辑。

    4. 审查你的数据处理流程

    审查你的数据处理流程,确认在数据从数据库取出、处理、存储到前端展示的过程中,语言设置是否被正确处理和传递。任何环节的错误都可能导致最终展示的语言不正确。

    示例代码(伪代码)

    假设你在前端使用JavaScript获取并处理数据:

    // 假设从数据库获取的数据中有一个字段是language,表示数据的语言
    let data = fetchDataFromDatabase(); // 获取数据
    let userLanguage = getUserLanguageSetting(); // 获取用户设置的语言
    let toolLabels = {}; // 用于存储不同语言的工具标签
    // 根据用户设置的语言从对应的json文件中获取标签并存储到toolLabels中
    if (userLanguage === 'en') {
        toolLabels = getLabelsFromEnJson();
    } else if (userLanguage === 'zh') {
        toolLabels = getLabelsFromZhJson();
    }
    // 在展示数据时,根据数据的语言字段显示对应的标签和描述
    for (let item of data) {
        if (item.language === userLanguage) {
            // 显示对应的标签和描述
            displayToolLabel(item, toolLabels);
        }
    }
    

    以上只是一个简单的示例,你需要根据你的实际情况来调整代码。希望这些信息能帮助你解决问题!

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 7月16日

悬赏问题

  • ¥15 有两个非常“自以为是”烦人的问题急期待大家解决!
  • ¥30 STM32 INMP441无法读取数据
  • ¥100 求汇川机器人IRCB300控制器和示教器同版本升级固件文件升级包
  • ¥15 用visualstudio2022创建vue项目后无法启动
  • ¥15 x趋于0时tanx-sinx极限可以拆开算吗
  • ¥15 pyqt信号槽连接写法
  • ¥500 把面具戴到人脸上,请大家贡献智慧,别用大模型回答,大模型的答案没啥用
  • ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。
  • ¥15 各位 帮我看看如何写代码,打出来的图形要和如下图呈现的一样,急
  • ¥30 c#打开word开启修订并实时显示批注