Mendix是如何支持多语言的?

chatgpt/2023/9/27 16:13:20

前言

国际化的支持能力,至关重要。这类功能的缺失,将会在市场竞争、用户体验、合作关系以法律法规方面遇到重大挑战,这些都是可能对其成功产生致命影响的问题。

比如在某些国家和地区,政府可能会对不支持本地语言和货币的软件系统进行限制或禁止,从而导致法律风险;又比如如果无法适应各种语言和货币,软件可能无法满足全球市场的需求,从而失去潜在的客户,减少市场份额……

Mendix的设计使其可以轻松地向具有不同语言要求的用户呈现相同的信息。为了支持这一点,呈现给最终用户的所有文本都可以翻译成不同的语言。

业务场景假设如下

有一家跨国企业,正在实施一个企业核心系统并计划在多个国家进行部署。在此背景下,核心系统迫切需要支持多语言功能,原因如下:

  • 提高用户体验和工作效率:支持多语言功能可以帮助各国的员工更好地理解和使用系统,提高工作效率,减少因语言障碍造成的沟通问题及误解。
  • 符合地方法律和规定:在部分国家和地区,根据当地法律和政策要求,软件系统必须支持当地语言,否则可能导致法律风险。
  • 促进跨国一体化协作:由于这家企业在多个国家运营,多语言功能将促进各国办事处之间的沟通协作,并确保全球范围内的业务信息和流程得以顺利运作。
  • 提升企业形象和竞争力:作为跨国企业,支持多语言功能不仅使企业更好地符合国际化要求,还展示了其对全球市场及员工需求的重视,从而提升企业形象和市场竞争力。
  • 平滑业务拓展:企业在全球范围内的业务拓展过程中,可能会进入不同语言环境。支持多语言功能有助于业务快速适应新环境,为未来的拓展奠定基础。

如何使用Mendix的multiple language功能

  1. 先让我们看看数据结构

显示给最终用户的语言由Language对象确定,该对象通过关联User_Language与当前最终用户的User对象相关联。

如果关联的语言不是应用程序中设置的语言之一,则最终用户将看到默认语言的页面。

如果最终用户没有与语言相关联,例如他们是匿名用户,则使用的语言取决于用户的浏览器或操作系统设置。如果应用程序中不存在请求的语言,则将使用应用程序的默认语言。请求的语言如下:

  • 对于 Web 应用程序 - 根据浏览器的首选语言顺序匹配应用程序中设置的语言的第一种语言
  • 对于移动应用程序——操作系统语言

Picture1.png

语言初级设定在哪里配置

Mendix旨在供多种语言的用户使用。应用程序设置语言选项卡允许您选择应用程序支持的语言。

2.png

您可以通过两种方式访问此选项卡:

  1. 选择菜单选项语言 > 语言设置...
  2. 从App Explorer打开App{Name} > Settings对话框,然后选择Language选项卡。

设置默认语言

必须有默认的应用程序语言。从下拉列表中选择默认语言。这将包含已添加到您的应用程序的所有语言。建议您在开始开发应用程序时执行此操作。

设置默认语言有两个功能:

  • 如果最终用户未与 Language 实体关联,或者如果最终用户的语言未在应用程序中启用,它将设置将显示给最终用户的语言
  • 它设置在最终用户语言中没有可翻译文本的翻译时将使用的语言,即使应用程序启用了该语言

初始默认语言是English, United States 。

添加语言

您可以从支持的语言列表中添加任意数量的语言,方法是单击添加,选择所需的语言,然后单击确定

3.png

高级语言设置

您可以在应用程序中设置每种语言以进行其他设置。

4.png

  • 检查完整性

如果您选中检查完整性框,您将在错误窗格中收到该语言词典中没有条目的每个文本的警告(或错误)消息。

如果这是默认语言,则检查完整性框将被选中,您将无法取消选中它。

  • 自定义日期和时间格式

您可以为以下内容设置自定义格式:

  • 日期格式
  • 时间格式
  • 日期和时间格式

在相关框中键入格式字符串,您将在下面看到如何格式化日期的示例。

单击编辑...打开一个对话框,该对话框将提供格式字符串的完整参考:

5.png

如何进行批量替换

批量替换适用于当前选定的语言,并允许您将任何现有文本替换为新文本。

您可能希望这样做的原因有很多:

  • 相同的文本应该出现在应用程序的不同位置,但是输入不一致,例如有时使用大写字母,有时不使用 - 如果您在应用程序中重复使用现有文本,这将改善用户体验
  • 如果一段文本的所有匹配项都相同,您只需输入一次翻译 - 这样可以节省时间并提高一致性
  • 如果您发现通用标签或文本的措辞更好,您可以使用一个命令一次性更改它们

6.png

使用批量替换

批量替换适用于当前选择的语言,因此首先您应该选择要使用的语言。有关详细信息,请参阅语言菜单中的使用当前选择的语言部分。

  • 文档/模块

您可以选择一个或多个要用于批量翻译的模块。例如,您可能希望忽略默认语言的导入模块和系统模块中的文本,或者专注于将系统消息翻译成您选择的语言。

单击选择...”并选中您要处理的模块。

7.png

默认是在应用程序中的所有模块上工作。

  • 源文本包含

要搜索相似的短语,请键入要搜索的内容。

8.png

默认情况下,将显示所选模块中的所有可翻译文本。

每个找到的文本都将显示在文本列中。 #列显示它在所选模块中出现的次数。

如果您选择了一行,您可以查看显示出现部分以查看包含文本的对象及其出现的文档。双击或单击显示出现将打开文档并选择对象,以便您可以轻松查看上下文.

提示:将对话框移到一侧以便更好地查看文档。

  • 替换为

Replace with ,键入要使用的新文本而不是现有文本。单击替换以确认替换。

9.png

相同的替换和原始文本将合并到一个条目中。

10.png

导出和导入文本

如果要在Studio Pro之外翻译语言,可以将可翻译文本导出为 Microsoft Excel ( .xlsx ) 格式,进行更改,然后从更新的 Excel 文件中导入更改。

如果您正在处理多个应用程序并且已经获得文本,例如您想要重用的系统模块,这将特别有用。

  • 导出到 Excel

单击导出到 Excel...将当前显示的文本项导出到 Microsoft Excel ( .xlsx ) 格式文件。

该文件将采用如下所示的格式:

11.png

1 过滤器:指示导出文件中包含的模块。

2 – 表示语言。第一列表示当前文本,第二列表示替换为文本。

3 行以上– 显示当前文本

您可以在 B 列中进行更改,如果文件被导入,这些更改将被处理。

  • 从 Excel 导入

单击 Excel 导入...以导入正确构建的 Microsoft Excel ( .xlsx ) 格式文件。

这将执行以下操作:

  • 所选模块被设置为文件中Filter:行中的模块
  • B 列中为空的任何文本都将被忽略
  • A 列中与所选模块中的可翻译文本不匹配的任何文本都将被忽略
  • B 列中未被忽略的任何文本都将输入到替换为列中

仅当您单击替换时才会进行变化。

批量替换和批量翻译的 Excel 文件格式类似。如果您尝试使用错误的语言导入批量翻译文件或批量替换文件,您将收到警告,但如果您忽略警告,您仍然可以导入它。

更多细节,请参考:

Translating Your App Content | Mendix Documentation

关于Mendix公司

Mendix公司,a Siemens business,正在迅速成为企业数字化转型的推动者。其业内领先的低代码平台和全方位的生态系统整合最先进的技术,帮助企业创造出提高互动性、简化操作和克服IT瓶颈的解决方案。Mendix公司是权威行业分析师眼中的领导者和远见者,也是一个云原生、开放、可扩展、敏捷和饱经考验的平台。从人工智能和增强现实,到智能自动化和原生移动,Mendix公司已成为数字化先行企业的骨干。Mendix公司企业低代码平台已被全球4000多家领先的公司采用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.exyb.cn/news/show-5313307.html

如若内容造成侵权/违法违规/事实不符,请联系郑州代理记账网进行投诉反馈,一经查实,立即删除!

相关文章

《ChatGPT原理最佳解释,从根上理解ChatGPT》

【热点】 2022年11月30日,OpenAI发布ChatGPT(全名:Chat Generative Pre-trained Transformer), 即聊天机器人程序 ,开启AIGC的研究热潮。 ChatGPT是人工智能技术驱动的自然语言处理工具,它能够…

Jetson Nano之ROS入门 -- YOLO目标检测与定位

文章目录 前言一、yolo板端部署推理二、目标深度测距三、目标方位解算与导航点设定1、相机成像原理2、Python实现目标定位 总结 前言 Darknet_ros是一个基于ROS(机器人操作系统)的开源深度学习框架,它使用YOLO算法进行目标检测和识别。YOLO算…

URL存储解锁数据管理的新思路,重新定义数据传输与共享(@vue/repl)

Thinking系列,旨在利用10分钟的时间传达一种可落地的编程思想。 近日,在了解 vue/repl 相关内容,其通过 URL 进行数据存储,感觉思路惊奇,打开了新方式。 首先,通过 URL 存储最大的便利是:无需服…

奇富科技联合哈银消金获《亚洲银行家》中国最佳信贷项目奖

7月28日,全球金融领域最具含金量的奖项之一《亚洲银行家》颁布2023年度奖项,奇富科技荣获“中国最佳信贷项目”殊荣。值得关注的是,该奖项由奇富科技与哈银消金联合获得,双方联合获奖,是主办方对奇富科技全面赋能金融机…

C++推理

YOLOv5 OpenCV DNN C导出的 ONNX 模型示例的推理: https://github.com/Hexmagic/ONNX-yolov5/blob/master/src/test.cpphttps://github.com/doleron/yolov5-opencv-cpp-python YOLOv5 OpenVINO C推理示例: GitHub - dacquaviva/yolov5-openvino-cpp-p…

性能测试必备监控技能linux篇

前言 如果性能测试的目标服务器是linux系统,在如何使用linux自带的命令来实现性能测试过程的监控分析呢? 对于日常性能测试来讲,在linux下或是类Unix系统,我们必须掌握以下常用的指标查看命令。 ps pstree top free vmstat …

学习笔记——压力测试案例,监控平台

测试案例 # 最简单的部署方式直接单机启动 nohup java -jar lesson-one-0.0.1-SNAPSHOT.jar > ./server.log 2>&1 &然后配置执行计划: 新建一个执行计划 配置请求路径 配置断言配置响应持续时间断言 然后配置一些查看结果的统计报表或者图形 然后我…

代码随想录算法训练营day55 392.判断子序列 115.不同的子序列

题目链接392.判断子序列 class Solution {public boolean isSubsequence(String s, String t) {int length1 s.length();int length2 t.length();int[][] dp new int[length11][length21];for(int i 1; i < length1; i){for(int j 1; j <length2; j){if(s.charAt(i…
推荐文章