【问题标题】:How to get LCID String form LCID in JavaSscript?如何在 JavaScript 中从 LCID 获取 LCID 字符串?
【发布时间】:2014-06-18 09:51:58
【问题描述】:

我正在为 CRM 2011 和 2013 开发,我想获得用户的语言。我可以执行的唯一命令是 Xrm.Page.context.getUserLcid(),它给出了语言 id,比如美国英语的 1033。 但是,我想要 LCID 字符串,例如“en-US”。 有没有办法在 JavaScript 中得到这个?也许是 CRM 中的默认功能? 还有没有办法获取安装在 CRM 中的所有语言?

【问题讨论】:

    标签: javascript dynamics-crm crm microsoft-dynamics


    【解决方案1】:

    我创建了一个 JavaScript 库来处理您的要求(从十进制 lcid 值返回文化名称)

    映射来自此页面:National Language Support (NLS) API Reference (Windows 7)

    实际上,在库内部有一个 JSON 对象,其中包含值和两种获取它们的方法。

    您可以在我的博客上找到更多信息:

    LCID JavaScript Helper Library

    【讨论】:

    • 太好了!谢谢:D
    【解决方案2】:

    要获取已安装语言的列表 - 重新检查 this article 关于语言代码的转换-我相信您需要编写转换函数,例如:

    function GetLocale(languagecode){
    if (languagecode == 1033){
    return "en-US";
    }
    else if (languagecode == 1064){
    return "ua-UA";
    }
    else {
    return "not found!";
    }
    }
    

    【讨论】:

    • 所以我必须手动添加它们?有没有现成的功能?这太糟糕了..
    • 我从来没有遇到过我需要它的情况,所以我不确定。但如果我没记错的话 - 没有这样的功能。你必须开发它。
    • 好的,谢谢!是否有从 CRM 获取格式语言(例如价格)的功能?
    • 我的意思是价格的格式:无论是逗号 ($3,00) 还是点 ($3.00),时间:下午 3:45 或 15.45 等等
    • 我相信你需要获取运行用户的用户设置实体。
    【解决方案3】:

    您可以从变量USER_LANGUAGE_TWO_LETTER_NAME 中获取语言,至少在 CRM2016 中,也可能在旧版本中。

    在 WebResource 中,您需要确保首先到达顶部窗口,例如:

        var root = window.parent;
        while (root.frameElement !== null) {
          root = root.parent;
        }
        var lang = root.USER_LANGUAGE_TWO_LETTER_NAME
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多