Dynamics365对自定义字段,按钮,web资源设定 多国语言 字段翻译
前提条件
你需要在你的CRM里安装你需要的语言包
启用你的安装语言可能需要一段时间,需耐心等待。
对窗体上的自定义字段进行多语言设定
- 自定义窗体上的自定义字段(姓名)在中文环境下是这样的。
- 找到该解决方案
- 导出翻译
- 解压缩下载的ZIP文件
- 打开里面的XML文件
- 在前提条件里启用的语言:日语的code为1041,找到xml的这一列
- 修改姓名对应的日语后保存
- 把这两个文件重新打包成zip,注意不要在文件夹外面打包,会导入出错。
- 导入刚才打包的zip文件
- 切换登录用户的语言设置
- 标签文字变为日语
对自定义按钮进行多语言设定
- 自定义按钮在定义的时候官方插件建议创建一个独立的解决方案专门用来设定自定义按钮。这里选择已经创建好的解决方案。
- 同样的导出翻译编辑xml文件
- 导入翻译后,设定用户语言为日语,显示应用程序。
对Web资源,js提示消息进行多国语言设定
- 当自定义按钮按下时,弹出一个dialog窗体,窗体的标题,消息,按钮的文字进行多国语言设定。
- 创建一个中文的resx文件,注意,定义文件名的时候需要规避已经存在的实体名字,比如定义一个自定义实体的名字,则后面不起作用,找不到这个资源文件。
- 再创建一个日文的resx文件,名称id必须要和中文的保持一致。
- 再创建一个js文件,当自定义按钮按下时,调用js的方法。
// 打开百度按钮后提示框消息
function openBaidu() {
// 确认MSG
var openMsg = Xrm.Utility.getResourceString("ss_lang", "ss_baidu");
// 标题
var openTitle = Xrm.Utility.getResourceString("ss_lang", "ss_title");
// 按钮
var openButton = Xrm.Utility.getResourceString("ss_lang", "ss_button");
// dialogMSG
var openDialog = Xrm.Utility.getResourceString("ss_lang", "ss_dialog");
var alertStrings = { confirmButtonLabel: openButton, text: openMsg, title: openTitle };
var alertOptions = { height: 120, width: 260 };
Xrm.Navigation.openAlertDialog(alertStrings, alertOptions).then(
function success(result) {
console.log(openDialog);
},
function (error) {
console.log(error.message);
}
);
}
-
再把选择的三个文件同步到解决方案下。可以使用CRM创建,也可以使用VS的插件进行上传发布。
-
上传发布后就可以在解决方案的web资源中看到这三个文件。
-
选择js文件,设置js文件的依赖项,把两个resx文件作为依赖项加进来。
-
使用Ribbon Workbench设定打开百度按钮的设定,绑定js文件和调用方法后发布。
-
将登录用户的语言设置成日文,点击打开百度按钮,就可以弹出日语的对话框。