1

两个问题,希望有相似的答案。

  1. 我将在我的解决方案中发布一个 JavaScript 包,其中将显示错误消息。问题是我将针对德语、英语和法语。可能还有第四种语言待定。解决这个问题的最好方法是什么?

  2. 标签名称绝对应该本地化。CRM 2011 中是否有内置方法?像资源表或类似的东西?

我目前针对 (1) 的解决方案是使用字符串保留一个额外的 Web 资源,并为每种语言分发不同的文件。我可以重建它并一次分发所有语言,并且只使用一个参数,如果我创建一个设置实体,可能可以从 GUI 设置。有点麻烦。

我目前对(2)的解决方案涉及大量的祈祷和某种神圣的行为。:)

4

1 回答 1

5
  1. 要从 Javascript 动态确定当前的 CRM 用户语言,您可以使用window.USER_LANGUAGE_CODE(此变量存在于所有 CRM 页面上) - 例如它1033对于英语将是相等的。比基于该信息,您可以从文件中选择所需的字符串资源。同样在表单上下文中,有两个预定义函数,它们返回当前组织语言代码和当前用户语言代码:Xrm.Page.context.getOrgLcid()Xrm.Page.context.getUserLcid().

  2. 如果您正在谈论自定义实体和字段,您可以通过您的解决方案轻松地为它们添加本地化显示名称。您需要customizations.xml从解压缩的解决方案中编辑文件。对于其中的每个属性,您都会找到包含显示名称的 XML:

      <displaynames>
        <displayname description="Created By" languagecode="1033" />
      </displaynames> 
    

您可以在那里为您需要的每种语言添加新的显示名称。

PS 如果有人对 Dynamics CRM 2011 解决方案的多语言支持的不同方面感兴趣,我强烈建议您查看此页面这里这里也是非常有用的阅读材料。

于 2012-12-28T11:43:52.150 回答