Dynamics 365(online) V9.0 new features for developers(三:Web 资源本地化)
2018-01-27 21:30
609 查看
本篇是9.0版本针对开发者新变化系列的第三篇,介绍9.0版本新加的web资源的本地化支持,这个其实也是9.0 new features之一,但为何不放在new features系列里而放在new features for developers系列里,因为本篇要讲的内容和上一篇的web资源的依懒性有关,所以索性就放在了new features for developers系列了。
CRM一直是支持多语言的,但它的多语言也只是针对系统的自有功能和字段标签等,针对客制化的脚本或者html中的内容是无法做到多语言支持的,举个最简单的例子,销售订单上的一个提交按钮,提交后会有个提交成功的提示,拿中英文双语来说,目前的做法是判断登录用户的语言是2052还是1033,然后决定是提示显示"提交成功"还是"Submit Success",那如果语言一多就是灾难了。
那9.0版本新增的web资源类型"字符串resx"就能很好的解决这个问题,具体如何解决的呢,咱一起来看下。
首先我们需要新建一个resx的文件,打开visual studio,add一个new item,搜索resource file
点击右下方的add之后会打开像下图这样的一个键值对的框,我属于本示例中用到的Title和对应的中文Value"展示Resx示例",以及另外个英文的Value"ShowResxDemo",注意这里一种语言是一个文件(本示例是两个文件对应2052中文1033英文),当然一种语言你也可以搞多个文件。
建完文件后我们回到CRM的web resource,新建一个类型是"字符串RESX"的文件,并上传我们刚才在visual studio中新建的resx文件,注意web资源的命名格式,名称点语言id点resx,查看下面两张图,名称要保持一致,因为后面讲代码调用的时候会用到。
前期准备工作做完了,下面准开始使用了,打开我们的js文件,添加依赖项(这块不理解,请移步上一篇),这块查看的是resx的web资源,别再默认的javascript的web资源里找,找到后添加上
我们在语言代码那列就能清晰的看到对应的语言
然后再看下代码,注意下前面我说过的名称,此处传的名称值是new_resxdemo,和我上面对应下
function GetResourceString(webResourceName, key) {
return Xrm.Utility.getResourceString(webResourceName, key);
}
function TestFax(executionContext)
{
var Title= GetResourceString("new_resxdemo", "Title");
alert(Title);
}
最后看下效果,当用户语言是中文时提示中文,当用户语言是英文时切换英文(其他语言同理),只要一个GetResourceString方法就搞定了,不再需要以前的根据登录用户语言id来判断了。
CRM一直是支持多语言的,但它的多语言也只是针对系统的自有功能和字段标签等,针对客制化的脚本或者html中的内容是无法做到多语言支持的,举个最简单的例子,销售订单上的一个提交按钮,提交后会有个提交成功的提示,拿中英文双语来说,目前的做法是判断登录用户的语言是2052还是1033,然后决定是提示显示"提交成功"还是"Submit Success",那如果语言一多就是灾难了。
那9.0版本新增的web资源类型"字符串resx"就能很好的解决这个问题,具体如何解决的呢,咱一起来看下。
首先我们需要新建一个resx的文件,打开visual studio,add一个new item,搜索resource file
点击右下方的add之后会打开像下图这样的一个键值对的框,我属于本示例中用到的Title和对应的中文Value"展示Resx示例",以及另外个英文的Value"ShowResxDemo",注意这里一种语言是一个文件(本示例是两个文件对应2052中文1033英文),当然一种语言你也可以搞多个文件。
建完文件后我们回到CRM的web resource,新建一个类型是"字符串RESX"的文件,并上传我们刚才在visual studio中新建的resx文件,注意web资源的命名格式,名称点语言id点resx,查看下面两张图,名称要保持一致,因为后面讲代码调用的时候会用到。
前期准备工作做完了,下面准开始使用了,打开我们的js文件,添加依赖项(这块不理解,请移步上一篇),这块查看的是resx的web资源,别再默认的javascript的web资源里找,找到后添加上
我们在语言代码那列就能清晰的看到对应的语言
然后再看下代码,注意下前面我说过的名称,此处传的名称值是new_resxdemo,和我上面对应下
function GetResourceString(webResourceName, key) {
return Xrm.Utility.getResourceString(webResourceName, key);
}
function TestFax(executionContext)
{
var Title= GetResourceString("new_resxdemo", "Title");
alert(Title);
}
最后看下效果,当用户语言是中文时提示中文,当用户语言是英文时切换英文(其他语言同理),只要一个GetResourceString方法就搞定了,不再需要以前的根据登录用户语言id来判断了。
相关文章推荐
- Dynamics 365(online) V9.0 new features for developers(二:JavaScript Web 资源依赖性)
- Dynamics 365(online) V9.0 new features for developers(一:客户端 API 增强功能)
- Dynamics 365(online) V9.0 new features for developers(四:自动编号)
- Dynamics 365(online) V9.0 new features(六:移动端支持 iFrame 和 Web 资源)
- Dynamics 365Online 查询Web Api的请求WebUri
- Dynamics 365Online 查询Web Api的请求WebUri
- Dynamics 365(online) V9.0 new features(七:高级查找中相关实体的不包含查询支持)
- Dynamics 365Online 查询Web Api的请求WebUri
- Dynamics 365(online) V9.0 new features(三:新增两个系统主题)
- Dynamics 365(online) V9.0 new features(四:多选选项集)
- Dynamics 365(online) V9.0 new features(五:sitemap)
- MSSQL SERVER 2008 New Features for Developers
- Dynamics 365(online) V9.0 new features(八:虚拟实体)
- Oracle Database 11g: New Features for DBAs and Developers
- The Ultimate List Of Online Color Tools For Web Developers
- Dynamics 365(online) V9.0 new features(一:表单窗体里的自定义sub-grid表头颜色)
- Dynamics 365(online) V9.0 new features(二:允许在窗体字段标签和值中进行文本换行)
- Monthly update for Dynamics 365 for Operation
- GIS for Web Developers: Adding 'Where' to Your Web Applications [ILLUSTRATED]
- arcengine帮助http://help.arcgis.com/en/sdk/10.0/arcobjects_net/conceptualhelp/index.html#/what_s_new_for_developers_at_10_/0001000002zp000000/