当前位置: 首页 > news >正文

SAP UI5 walkthrough step8 Translatable Texts

在这个章节,我们会将一些文本常量独立出一个资源文件

这样的话,可以方便这些文本常量被翻译成任意的语言

这种国际化的操作,我们一般命名为i18n

新建一个文件i18n.properties

webapp/i18n/i18n.properties (New)

showHelloButtonText=Say Hello
helloMsg=Hello {0}

接着我们将这些常量,绑定到Controller.js

controller/App.controller.js

sap.ui.define(["sap/ui/core/mvc/Controller","sap/m/MessageToast","sap/ui/model/json/JSONModel","sap/ui/model/resource/ResourceModel"
], (Controller, MessageToast, JSONModel, ResourceModel) => {"use strict";return Controller.extend("ui5.walkthrough.controller.App", {onInit() {// set data model on viewconst oData = {recipient : {name : "World"}};const oModel = new JSONModel(oData);this.getView().setModel(oModel);// set i18n model on viewconst i18nModel = new ResourceModel({bundleName: "ui5.walkthrough.i18n.i18n"});this.getView().setModel(i18nModel, "i18n");},onShowHello() {// read msg from i18n modelconst oBundle = this.getView().getModel("i18n").getResourceBundle();const sRecipient = this.getView().getModel().getProperty("/recipient/name");const sMsg = oBundle.getText("helloMsg", [sRecipient]);// show messageMessageToast.show(sMsg);}});
});

另外将view.xml中的常量文本替代

webapp/view/App.view.xml

<mvc:ViewcontrollerName="ui5.walkthrough.controller.App"xmlns="sap.m"xmlns:mvc="sap.ui.core.mvc"><Buttontext="{i18n>showHelloButtonText}"press=".onShowHello"/><Inputvalue="{/recipient/name}"description="Hello {/recipient/name}"valueLiveUpdate="true"width="60%"/>
</mvc:View>

Conventions

  • The resource model for internationalization is called the i18n model.

  • The default filename is i18n.properties.

  • Resource bundle keys are written in (lower) camelCase.

  • Resource bundle values can contain parameters like {0}{1}{2}, …

  • Never concatenate strings that are translated, always use placeholders.

  • Use Unicode escape sequences for special characters.

相关文章:

SAP UI5 walkthrough step8 Translatable Texts

在这个章节&#xff0c;我们会将一些文本常量独立出一个资源文件 这样的话&#xff0c;可以方便这些文本常量被翻译成任意的语言 这种国际化的操作&#xff0c;我们一般命名为i18n 新建一个文件i18n.properties webapp/i18n/i18n.properties (New) showHelloButtonTextSay …...

RocketMQ-源码架构二

梳理一些比较完整&#xff0c;比较复杂的业务线 消息持久化设计 RocketMQ的持久化文件结构 消息持久化也就是将内存中的消息写入到本地磁盘的过程。而磁盘IO操作通常是一个很耗性能&#xff0c;很慢的操作&#xff0c;所以&#xff0c;对消息持久化机制的设计&#xff0c;是…...

Unity_ET框架项目-斗地主_启动运行流程

unity_ET框架项目-斗地主_启动运行流程 项目源码地址&#xff1a; Viagi/LandlordsCore: ET斗地主Demohttps://github.com/Viagi/LandlordsCore下载项目到本地。 启动运行步骤&#xff1a; 下载目录如下&#xff1a; 1. VS&#xff08;我用是2022版VisualStudio&#xff09…...

自动化测试框架 —— pytest框架入门篇

今天就给大家说一说pytest框架。 今天这篇文章呢&#xff0c;会从以下几个方面来介绍&#xff1a; 01、pytest框架介绍 pytest 是 python 的第三方单元测试框架&#xff0c;比自带 unittest 更简洁和高效&#xff0c;支持非常丰富的插件&#xff0c;同时兼容 unittest 框架。…...

String类详解

String类详解 大家好&#xff0c;我是免费搭建查券返利机器人赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01; 解密String类&#xff1a;探秘Java中的字符串魔法 在Java的世界里&#xff0c;String类犹如一位魔法…...

Linux高级管理--安装MySQL数据库系统

MySQL服务基础 MySQL.是一个真正的多线程、多用户的SQL数据库服务&#xff0c;凭借其高性能、高可靠和易于使 用的特性&#xff0c;成为服务器领域中最受欢迎的开源数据库系统。在2008年以前&#xff0c;MySOL项目由MySQL AB公司进行开发&#xff0c;发布和支持&#xff0c;之后…...

团建策划信息展示服务预约小程序效果如何

团建是中大型企业商家每年举办的员工活动&#xff0c;其形式多样化、具备全部参与的娱乐性。但在实际策划流程及内容时&#xff0c;部分公司便会难以入手&#xff0c;术业有专攻&#xff0c;这个时候团建策划公司便会发挥效果。 如拓展训练、露营、运动会、体育竞技等往往更具…...

一个Redis实例最多能存放多少keys

程序员的公众号&#xff1a;源1024&#xff0c;获取更多资料&#xff0c;无加密无套路&#xff01; 最近整理了一份大厂面试资料《史上最全大厂面试题》&#xff0c;Springboot、微服务、算法、数据结构、Zookeeper、Mybatis、Dubbo、linux、Kafka、Elasticsearch、数据库等等 …...

K8S(四)—pod详解

目录 pod介绍Pod的概念&#xff1a;Pod的特性&#xff1a;Pod的配置&#xff1a;Pod的控制&#xff1a;示例 YAML 文件&#xff1a; pod启动流程问题 两种方式启动镜像的升级和回滚更新 Deployment&#xff1a;回滚检查 Deployment 历史版本回滚到之前的修订版本缩放 Deploymen…...

shiro Filter加载和执行 源码解析

一、背景 在使用若依框架&#xff08;前后端不分离包含shiro安全框架&#xff09;时&#xff0c;发现作者添加了验证码、登录帐号控制等自定义过滤器&#xff0c;于是对自定的过滤器加载和执行流程产生疑问。下面以验证码过滤器为例&#xff0c;对源码解析。注意类之间的继承关…...

IDEA上传jar包到Maven

mvn install:install-file //固定格式&#xff0c;maven的语法 -Dfilealibaba-sdk-1.0.0.jar //这里填写包的路径&#xff0c;因为我们是在当前目录所以只需要输入包名即可 -DgroupIdcom.qiehua.csdn //这里填写包的groupId&#xff0c;之后作为pom.xml中引用的gr…...

JavaScript——基本语法

1.定义变量&#xff1a; 变量类型 变量名 变量值 var关键字声明变量 es6版本以上 var 可写可不写 <script>// 定义变量&#xff1a;变量类型 变量名 变量值 var关键字声明变量 es6版本以上 var 可写可不写var num 2;</script>2.条件控制 <script>var …...

一款最近很火的开源低代码平台

低代码平台近年来获得大量融资的原因是多方面的。首先&#xff0c;低代码平台代表了软件开发领域的一个重要趋势&#xff0c;即通过简化编程过程来降低技术门槛&#xff0c;使非专业开发者也能构建应用程序。这为那些希望加速数字化转型的企业提供了新的可能性&#xff0c;因此…...

vue之代理配置devServer(vue.config.js)片段

关于vue.config.js的部分配置解析&#xff1a;首先看下面一段配置 devServer: { open: process.platform darwin,//true or false &#xff08;true则启动项目自动打开系统自带浏览器&#xff09; host: 0.0.0.0, // 配置devServer服务监听的地址 比如&#xff1a;想让局域网…...

CTD测试流程

连接 连接17Plus&#xff0c;用usb转232线&#xff0c;db9公针2、3分别接Data I/O的2、3。DB9的5接Data I/O的1。尼龙塞子打开状态。不用闭合。 软件连接 打开SeaTermAF V2&#xff0c;注意打开前先把串口插上&#xff0c;否则软件读不到串口。如果读不到&#xff0c;就在插…...

面试经典150题(15-19)

leetcode 150道题 计划花两个月时候刷完&#xff0c;今天&#xff08;第七天&#xff09;完成了5道(15-19)150&#xff1a; 今天这些都是我之前做过的&#xff0c;还有就是今天的全都是模拟过程。。所以做的还算快。 15&#xff08;13. 罗马数字转整数&#xff09; 题目描述&a…...

Linux下的网络服务

一般来说&#xff0c;各种操作系统在网络方面的性能比较是这样的顺序BSD>Linux>Win NT>Win 9X, 由此说来&#xff0c;Linux的网络功能仅次于UNIX&#xff0c;而强于Win NT和其它的视窗系列产品&#xff0c;对于Win2000我还不能评价太多&#xff0c;因为不是很熟。 Lin…...

制造业对于IT软硬件监控和摄像头故障监控的需求

制造业对于生产线的自动化和智能化需求较高&#xff0c;IT监控运维管理软件在制造业的应用也日益普及。监控易为制造业提供了一系列定制化的解决方案&#xff0c;助力企业实现生产线的智能化和高效化。 随着制造业的数字化转型和智能化升级&#xff0c;IT运维管理软件的需求也在…...

idea一些报错

java: 非法字符: \ufeff 使用IDEA修改文件编码 在IDEA右下角&#xff0c;将编码改为GBK&#xff0c;再转为UTF-8&#xff0c;重新启动项目。具体步骤如下&#xff1a; 在IDEA右下角找到UTF-8字样的编码格式设计项&#xff0c;点击选择第一项GBK&#xff0c;然后Convert&#xf…...

【Java系列】详解多线程(二)——Thread类及常见方法(上篇)

个人主页&#xff1a;兜里有颗棉花糖 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 兜里有颗棉花糖 原创 收录于专栏【Java系列专栏】【JaveEE学习专栏】 本专栏旨在分享学习Java的一点学习心得&#xff0c;欢迎大家在评论区交流讨论&#x1f48c; 目录 一…...

Web架构师工具箱:从工程化实践到现代化Web开发全流程

1. 项目概述&#xff1a;一个Web架构师的工具箱最近在GitHub上看到一个挺有意思的项目&#xff0c;叫choppawave-beep/web-architect。光看这个名字&#xff0c;你可能会有点摸不着头脑&#xff0c;choppawave-beep像是个用户名&#xff0c;而web-architect则直白地指向“Web架…...

基于RT-Thread与N32G457的工业UART网关设计与实现

1. 项目概述与核心价值最近在做一个工业数据采集的项目&#xff0c;现场有十几台不同品牌、不同协议的串口设备&#xff0c;PLC、仪表、传感器什么都有&#xff0c;它们的数据都需要汇总到一台中心服务器上。最头疼的是&#xff0c;这些设备分布在车间各处&#xff0c;拉线成本…...

告别依赖地狱:在Ubuntu 22.04 LTS上一步到位搞定ns-3.39所有可选库(保姆级命令清单)

告别依赖地狱&#xff1a;在Ubuntu 22.04 LTS上一步到位搞定ns-3.39所有可选库&#xff08;保姆级命令清单&#xff09; 当你第一次尝试运行ns-3的MPI分布式仿真时&#xff0c;是否遇到过mpi.h not found的报错&#xff1f;或是想在NetAnim中可视化网络拓扑&#xff0c;却因为…...

Node js 后端服务如何优雅集成 Taotoken 提供的多模型能力

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 Node.js 后端服务如何优雅集成 Taotoken 提供的多模型能力 应用场景类&#xff0c;描述一个 Node.js 后端服务需要动态选择不同大模…...

代码性能优化实战:基于OpenAI Codex的Python转C++专业工具深度解析

代码性能优化实战&#xff1a;基于OpenAI Codex的Python转C专业工具深度解析 【免费下载链接】codex_py2cpp Converts python code into c by using OpenAI CODEX. 项目地址: https://gitcode.com/gh_mirrors/co/codex_py2cpp 在当今高性能计算需求日益增长的背景下&…...

Arduino激光绊线制作:从光电传感器到智能触发系统

1. 项目概述&#xff1a;从创意到实现的激光绊线几年前&#xff0c;我在一个创客工作坊里&#xff0c;看到有人用一个简单的激光笔和光敏电阻&#xff0c;就做出了一个能触发警报的“隐形防线”。当时就觉得这玩意儿太酷了&#xff0c;原理简单&#xff0c;但应用场景多得数不过…...

告别‘数据孤岛’的幻想:深入拆解联邦学习Non-IID问题的根源与EMD度量

告别“数据孤岛”的幻想&#xff1a;联邦学习Non-IID问题的本质与实战应对 当企业兴奋地部署联邦学习系统时&#xff0c;常会遭遇这样的尴尬&#xff1a;模型在各方本地数据上表现优异&#xff0c;聚合后却性能骤降。这背后隐藏着一个被低估的真相——数据天然独立同分布&#…...

如何在Windows平台上快速构建专业级词法语法分析器:WinFlexBison终极指南

如何在Windows平台上快速构建专业级词法语法分析器&#xff1a;WinFlexBison终极指南 【免费下载链接】winflexbison Main winflexbision repository 项目地址: https://gitcode.com/gh_mirrors/wi/winflexbison WinFlexBison是Windows平台上最专业的词法分析和语法解析…...

无线门铃、车库遥控与物联网:聊聊OOK(2ASK)调制那些老技术的新应用

无线门铃、车库遥控与物联网&#xff1a;聊聊OOK&#xff08;2ASK&#xff09;调制那些老技术的新应用 在智能家居和物联网设备大行其道的今天&#xff0c;一种诞生于上世纪中期的通信技术——OOK&#xff08;On-Off Keying&#xff09;调制&#xff0c;依然活跃在无线门铃、车…...

Unity问题记录

一个物体在Scene窗口看不见&#xff0c;Game窗口能看见。选中它时&#xff0c;打开Gizmos也看不见身上碰撞体的线框。也无法被射线检测到。换成其他Mesh&#xff1a;Open Asset In Context正常显示&#xff1a;把它Revert回预制体&#xff0c;还是不显示。Ctrl D复制一个&#…...