两个问题,希望有类似的答案。
我将在我的解决方案中发布一个JavaScript包,其中将显示错误消息。问题是我将瞄准德语,英语和法语。可能也是第四语言TBD。解决这个问题最好的方法是什么?
标签名称应肯定进行本地化。在CRM 2011中是否有内置的方法?像资源表或类似的东西?
我对(1)的当前解决方案是使用字符串保留额外的Web资源,并为每种语言分发不同的文件。我可以重建它并立即分发所有语言,并且只使用一个参数,如果我创建一个设置实体,可以从GUI设置。有点麻烦。
我目前对(2)的解决方案涉及很多祈祷和某种神圣的行为。 :)
答案 0 :(得分:5)
要从Javascript动态确定当前的CRM用户语言,您可以使用window.USER_LANGUAGE_CODE
(此变量存在于所有CRM页面上) - 例如,对于英语,它将等于1033
。根据该信息,您可以从文件中选择所需的字符串资源。
同样在表单上下文中有两个预定义函数,它们返回当前的组织语言代码和当前用户语言代码:Xrm.Page.context.getOrgLcid()
和
Xrm.Page.context.getUserLcid()
。
如果您正在谈论自定义实体和字段,则可以通过解决方案轻松为其添加本地化显示名称。您需要从解压缩的解决方案中编辑customizations.xml
文件。对于每个属性,您将找到包含显示名称的XML:
<displaynames>
<displayname description="Created By" languagecode="1033" />
</displaynames>
您可以为您需要的每种语言添加新的显示名称。
P.S。如果有人对Dynamics CRM 2011解决方案的多语言支持的不同方面感兴趣,我强烈建议您查看此page,同时here和here是非常有用的阅读。