gpt4 book ai didi

c# - 将 .NET 区域设置转换为 jQuery 区域设置 - 当本地资源中不存在国家变体(例如 "-US"或 "-MX")时

转载 作者:行者123 更新时间:2023-11-30 18:26:31 24 4
gpt4 key购买 nike

我注意到 jQuery 有一个用于 Spanish 的语言环境,即 es。当您将浏览器更改为 spanish locale 时,可以是 es, es-US, es-MX, etc,因为只有一个 jQuery 西类牙文文件,它只会加载如果区域设置为 es,则为文件。有没有一种方法可以将 .NET 使用 CultureInfo 对象返回给您的区域设置转换为 jQuery 期望的区域设置?

这是一个可以更好地解释我的情况的场景。如果我将浏览器语言更改为 esCultureInfo.CurrentCulture 返回 es-ES,但是,jQuery 不包含区域设置 es -ES,它只有es,但在某些情况下它确实有类似en-USen-GB的东西,那么最好的方法是什么。我应该只重命名语言环境文件还是进行某种转换?

最佳答案

住在比利时,我们对法语、荷兰语、英语以及这些文化的组合有类似的问题。

对于我的日期选择器设置,我想出了使用 html 标记作为文化占位符的想法,从 CultureInfo.CurrentCulture 或服务器端提供。

<html lang="nl-BE" />

然后在 JavaScript 中,我首先检测当前文化并根据列表和默认文化查看它是否有效。因此,我拆分了语言,看看该语言是否适用于我可用的文化。如果不是,我使用默认的。

// var cfg.options -> $.extend to this.settings
options: {
...
defaultCulture: 'en-GB',
validCultures: ['en-GB', 'fr', 'fr-BE', 'nl-BE', 'nl'],
...
},

getCulture: function () {
var settings = this.settings,
cache = settings.cache,
dynamicProp = settings.dynamicProp,
options = settings.options,
culture = $(cache.currentCulture).prop(dynamicProp.culture), // $('html').prop('lang')
language;

if ($.inArray(culture, options.validCultures) === -1) {
language = culture.split('-')[0];
culture = $.inArray(language, options.validCultures) === -1 ? options.defaultCulture : language;
}

return culture;
},

在我的执行技巧之后,客户要求更改 fr-BE 的日期,我最终在 jQuery UI 中创建了一个自定义文化文件:s这是最简单的解决方案。

我相信这完全取决于您的文化必须如何设置。如果 jQuery UI 提供的数据/翻译足以满足要求,我不会创建自定义文化。

关于c# - 将 .NET 区域设置转换为 jQuery 区域设置 - 当本地资源中不存在国家变体(例如 "-US"或 "-MX")时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28486990/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com