Mendix是如何支持多语言的?

news2024/10/6 0:25:56

前言

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

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

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.coloradmin.cn/o/816644.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

深度学习,神经网络介绍

目录 1.神经网络的整体构架 2.神经网络架构细节 3.正则化与激活函数 4.神经网络过拟合解决方法 1.神经网络的整体构架 ConvNetJS demo: Classify toy 2D data 我们可以看看这个神经网络的网站,可以用来学习。 神经网络的整体构架如下1: 感知器&…

el-table使用xlsx实现导入文件编辑功能

需求:列表根据xlsx文件导入后,和列表进行对比,之后实现编辑功能 1.下载xlsx 我下的是之前的版本,新版不知道兼不兼容,这个包900多k npm install xlsx0.14.5 2.在需要使用表格导入的页面引入 import XLSX from &quo…

从0到1开发go-tcp框架【2-实现Message模块、解决TCP粘包问题、实现多路由机制】

从0到1开发go-tcp框架【2-实现Message模块、解决TCP粘包问题、实现多路由机制】 1 实现\封装Message模块 zinx/ziface/imessage.go package zifacetype IMessage interface {GetMsdId() uint32GetMsgLen() uint32GetMsgData() []byteSetMsgId(uint32)SetData([]byte)SetData…

MySQL数据库 【索引事务】

目录 一、概念 二、索引的优缺点 1、索引的优点 2、索引的缺陷 三、索引的使用 1、查看索引 2、创建索引 3、删除索引 四、索引底层的数据结构 1、B树 2、B树 五、索引事务 1、概念和回滚 2、事务的使用 3、事务的基本特性 4、并发会遇到的问题 &#xff08…

Python程序设计基础:字典与集合(二)

文章目录 一、字典的整体操作1、字典的遍历2、字典的排序3、字典的合并 二、创建与访问集合1、集合的创建2、集合的访问 三、集合的基本操作1、集合的增、删、查2、集合的数学运算 一、字典的整体操作 字典的整体操作是指以字典为操作对象,对字典进行遍历、排序以及…

hdu foreverlasting and fried-chicken

题意: 在一个有n个点和m条边的图中找到形状是上图的子图,输出个数 思路: 仔细观察上图,设第二行的那个点为x,最后一行的点为y,那么可以知道,如果x和y都和相同的所有点中取四个点分别和xy相连…

DUBBO服务多网卡,服务调用失败

如果服务器是多网卡的,比如安装了docker,有一个docker虚拟网卡,一个实体网卡eth0,当我们运行springboot应用后,dubbo注入到zk的地址是 docker虚拟网卡的地址172网段,而不是实际内网地址192网段,…

OpenLayers实战,OpenLayers使用wind-layer插件实现风场动态效果

专栏目录: OpenLayers入门教程汇总目录 前言 本章讲解如何使用OpenLayers的气象风场插件wind-layer实现气象风场动态效果,该插件除了可用于OpenLayers之外,还可用于mapgl、leaflet和cesuim等二维/三维地图引擎,还是很强大的,废话少谈,让我们立刻开始实现吧。 二、依赖和…

如何将论文中的字快速复制出来?图片如何提取文字?

在日常的办公中,我们经常会遇到需要将纸质文件里的文字提取出来,再转换为电子档的情况,如果我们采用手动输入的话,不仅速度太慢,而且还可能因此耽误到后边的工作,是不是已经有小伙伴遇到这种现象&#xff0…

element中tabs组件,click事件点击拿到当前item的所有数据

话不多说,直接上代码: 添加一个:value,然后在用JSON.stringify(item)转一下就可以了,这样就会存在$attrs.value这个里面了。 接着在点击事件里面获取使用el.$attrs.value,注意这里在拿到这个值时,再用JSON…

锌离子荧光探针TSQ,109628-27-5,具有很好的选择性荧光探针

资料编辑|陕西新研博美生物科技有限公司小编MISSwu​ PART1----外观以及性质: 锌离子荧光探针TSQ(CAS号:109628-27-5),锌离子荧光探针TSQ是用于检测锌离子的荧光探针。 TSQ与Zn离子结合后,吸收波长和发射波…

如何创建一个SpringBoot项目

欢迎来到南方有乔木的博客!!! 博主主页:点击点击!戳一戳!! 博主名:南方有乔木 博主简介: 一名在校大学生,正在努力学习Java语言编程。穷且意坚,不坠青云之…

sort排序报错:java.lang.UnsupportedOperationException: null

文章目录 问题原因解决方式 问题 Groovy 调用 .sort{} 排序报错:java.lang.UnsupportedOperationException: null solutionScenario2SolutionProcessList.sort { it.idx } 原因 调用的sort的对象是Collections的内部类对象UnmodifiableRandomAcessList 解决方式 调用 coll…

数据结构:单链表的实现(C语言)

个人主页 : 水月梦镜花 个人专栏 : 《C语言》 《数据结构》 文章目录 前言一、单链表实现思路和图解1.节点的定义(SListNode)2.申请一个节点(BuySListNode)3.单链表打印(SListPrint)4.单链表尾插(SListPushBack)5.单链表的头插(SListPushFront)6.单链表的…

【ChatGPT辅助学Rust | 基础系列 | Hello, Rust】编写并运行第一个Rust程序

文章目录 前言一,创建项目二,两种编译方式1. 使用rustc编译器编译2. 使用Cargo编译 总结 前言 在开始学习任何一门新的编程语言时,都会从编写一个简单的 “Hello, World!” 程序开始。在这一章节中,将会介绍如何在Rust中编写并运…

音频编辑必备技能:怎么将音频转换mp3

丽萨:嘿,听说你最近在研究音频格式转换的方法,有眉目了吗? 凯瑞:没错,我下载了很多高清音乐,发现有些格式的音频文件在我的播放器上打不开,所以想一个转换工具。但是网上软件太多&a…

使用腾讯云 Cloud studio 实现调度百度AI实现文字识别

文章目录 前言导入模块设置百度AI的APP_ID、API_KEY和SECRET_KEY定义路径和文件列表打开文本文件准备写入数据逐个处理图片文件关闭文本文件重复处理其他图片文件完整代码解释说明 运行效果 前言 今天我们也来高大上一下,玩一把人工智能。那就是免费调用百度AI实现图…

站外引流效果差?一文带你搞懂解海外主流社交媒体算法!

在流量成本越来越高的当下,无论是平台卖家还是独立站卖家都在努力拓展流量渠道。站外引流是推动业务增长的关键策略,很多卖家会把重点放在内容营销上,但其实除了做好内容之前,了解社交媒体的算法才能让营销效果最大化。 01.Faceb…

操作系统专栏2进程管理from 小林coding

进程管理 基本概念进程控制进程上下文切换 线程进程和线程的比较进程通信管道消息队列共享内存信号量信号socket 基本概念 进程:一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元.并行和并发:状态: 其中挂起是指没有给程序分配实际…

一百三十八、ClickHouse——使用clickhouse-backup备份ClickHouse库表

一、目标 使用clickhouse-backup在本地全库备份ClickHouse的数据库 二、前提 已经安装好clickhouse-backup 注意:由于之前同事已经按照好clickhouse-backup,所以我就没有安装 如有需要请参考其他人的博客安装一下,下面是我认为比较好的一…