在基于标记的CSP页面开发过程中,可以配置某些标记,以便它们用消息字典条目替换文本。
为此,在标记内部提供本地化属性language、domain或textid。
以下标签支持这些属性:
在大多数情况下,这些标记只在运行时工作,当为 然而,在有限的情况下,这些标记在编译时和运行时具有不同的用途。 要进行本地化 重要提示:此主题仅适用于 在运行时,当 例如,以下语法将被fr(法语)语言、样例域和菜单消息 如果任何属性被省略或为空(值 大多数开发人员有意不提供任何语言属性,以便在运行时,语言默认为适合地区。 可以在 使用 如果消息文本包含参数( 在基于标记的 当 重要提示:本主题仅适用于 只有 如果 在上面的示例中,Caché不生成消息 当 (当类型为“SUBMIT”、“BUTTON”或“RESET”时)language、domain和textid提供的值指示要从消息字典检索哪条消息时。
它们可以在编译时自动为消息字典生成条目,然后在运行时检索和显示这些条目。
以下部分将解释这是如何工作的:CSP应用程序的简单演示,在运行Caché时输入以下URL: http://localhost:57772/csp/samples/language.csp运行时的本地化标记
CSP标记, , 和。
CSP页面显示时,标记将自身及其内容替换为消息字典中的文本。
文本的选择由标记提供的语言、域和textid属性值指定。ID指定的消息替换。
标签内提供的文本(在本例中是菜单)被忽略:<csp:text textid="menu" language="fr" domain="sample">Menu</csp:text>
""),language, domain和textid的默认值是可用的:language,则%response。
使用语言。domain,则%response。
域使用。Textid是必需的默认的语言
如果没有提供,language默认为%response的值。
语言,该语言自动从浏览器设置获取其运行时值。SAMPLES名称空间中的本地化示例的源代码中看到这种约定的示例。
如下所示:Start Studio.SAMPLES名称空间。Workspace窗口中,单击Namespace选项卡。CSP文件。/csp/samples/language.csp。默认域
CSP页面类的DOMAIN参数的值初始化%Response.Domain属性。还可以使用标记的DOMAIN属性设置%Response.DOMAIN的值,如下所示:<csp:class domain="myDomainName">
消息参数
%1,%2,%3,%4),下面的标记属性允许指定相应的替换文本:arg1, arg2, arg3, arg4。
可以提供文字值或使用变量。
例如:按钮文字
CSP文件中,按钮上显示的文本通常使用或标记的值属性指定。标记使用本地化属性(语言、域或textid)时,value属性将被忽略。
按钮上显示的文本是来自消息字典的文本。
如果想本地化标记上的文本,请使用标记的language、domain或textid属性。编译时的本地化标记
CSP标记, , 。
textid属性可以有空值""。
如果是这样,在编译基于标记的CSP文件时,将在消息字典中自动生成一条新消息。
生成的消息的文本由CSP标记的内容组成。
Caché通过计算文本的32位CRC(循环冗余校验)生成消息ID。标记允许实际上省略所需的textid属性。
其他的本地化标记要求您至少提供一个空值“”。标签缺少textid属性,系统将自动生成一条新的消息和消息ID值。
在中省略textid的情况下,标记内的文本可以在开头包含一个可选的@textID@字符串。
textID是希望分配给消息的消息ID。
例如:<csp:text>@simpleMenu@Menu</csp:text>
ID。
它生成一条文本为Menu的消息,并为其提供消息ID simpleMenu。CSP标记用于在编译时生成消息字典条目时,它仍然作为引用在运行时检索该条目。
不外传秘诀| docker 快速搭建常用的服务环境
JDK1.8新特性(部分)【Lambda表达式、函数式接口】--学习JavaEE的day41
【2022】Nginx使用相应模块做出访问限制
谷粒学院——day01【项目介绍和MyBatisPlus】
一文了解 Go 接口
ctf_BUUCTF_web(1)
xorm数据库操作之Join、Union
架构师日常(三)
从ObjectPool到CAS指令