问题标签 [uiculture]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
696 浏览

jquery - mvc中的逗号分隔值

我正在尝试获取逗号分隔值..这是我的 UI 代码

我正在尝试在正文中设置全球化,因为我在谷歌搜索中看到了这种格式......我在 web.config 中将我的全球化设置为

但输出不符合预期..请查看图像.. 当我在表格主体中添加 global.currentculture 时的输出

0 投票
0 回答
458 浏览

c# - DropDownlist 不会更改语言 - 不支持 ASP.NET - C# -Culture。参数名称:名称

我正在尝试制作 2 个下拉列表。一个改变主题,另一个改变 UI 文化。改变主题的效果很好,但改变文化存在问题。

第一次运行时,我只能在 InitializeCulture() 函数中设置文化,但在下拉列表中更改选择时,我无法重新设置它。

这是来自我的解决方案:

[我的文件 - 管理页面是有 2 个下拉列表的页面的名称]

这在 Web.config

这是 AdminPage.aspx.cs:

0 投票
2 回答
33 浏览

asp.net - 在 aspx 页面中使用服务器表达式标签获取 uiculture

globalization我可以在标签中定义的 aspx 页面中使用服务器表达式获取页面的 uiculture吗?

0 投票
2 回答
7425 浏览

c# - 如何在 asp.net mvc 中正确检测用户浏览器文化

我看到有与此类似的问题,但我还没有在那里找到我的问题的答案,因此,我决定向我自己提出一个问题。

情况:我想获取用户的浏览器语言,以便我可以设置他的会话文化密钥或将本地化存储在数据库中,如果用户有一个帐户,以便以他的语言向该用户显示我的网站,直到他改变他的语言偏好手动。

我的问题是:理论上一切似乎都很好,但是......

这些是我的浏览器语言偏好 我知道它们是按特定顺序设置的

1

无论我的浏览器显示语言是否设置为保加利亚语,该订单都会准确地发送到服务器,我的偏好仍然是 en-US

2

这是一个示例代码片段,用于显示我的开发工具控制台对我的浏览器显示语言的说明

3

在我的代码中,我不知道浏览器语言是什么,我只能得到用户首选的语言,然后我得到 Languages[0]

4

有没有办法获得这种显示语言。我不能使用 JS 来发送它,因为我的第一个请求总是以英文显示页面,而不是在设置会话时它显示它的本地化。可能有一种解决方法可以检查和设置来自 JS 的特定标头,但我正在考虑一种更勇敢的方法来仅使用 C# 来执行此操作。

我不确定这是正确的方法。我已经覆盖了我的 BaseController 中的 OnActionExecuting 并且我正在根据用户的语言环境设置当前线程的本地化,并且他可能会通过下拉他的首选语言来更改它也覆盖并重置会话语言键。我也知道有一个自动区域设置选项,但我不确定它是否足够好,而且我不知道它是如何工作的,以及用户如何在打开自动全球化时简单地更改他的语言。

现在,我只想获得正确的浏览器显示语言,我需要一些处理本地化的人的帮助。

0 投票
1 回答
1386 浏览

c# - 在标签中设置日期格式的文化

如何正确设置文化以使标签的内容为“seg”(巴西葡萄牙语为星期一)?

为 TextBlock 文本绑定设置 ConverterCulture 会将其更改为 pt-BR,但为标签的内容绑定设置 ConverterCulture 不会。XAML 下面。

0 投票
1 回答
812 浏览

c# - 文化资源经理

问题

我正在尝试在我的程序中实现一个系统来切换语言。我发现我可以使用 CultureInfo 和 ResourceManager 来实现这一点。在遇到资源未找到问题几个小时后,我构建了此代码,最后我在 stackoverflow 上找到并回答,我安排了以下代码:

由于这是一个非常大的程序,有很多页面、窗口和用户控件,我需要从很多不同的文件中访问语言。我在上面发布的代码应该查看我的解决方案的根目录并查找名为 it-IT.resx 的文件。它说当前的文化是它-IT,但它没有写入 HelloString 的值,但它没有给出任何错误,所以这绝对是资源管理器的问题,但我不知道为什么它不会崩溃说它没有找到资源。我确信在 resx 文件中有一个名为 HelloString 的值。

0 投票
1 回答
324 浏览

wpf - wpf 转换器文化!= en-US

嗨,我在这里有一个非常奇怪的效果:

我有一个主窗口,其中的内容充满了包含表单演示的完整可视树。

要显示的第一个表单是父表单,它允许调用子表单。

当我加载子窗体时,父窗体基本上是备份到堆栈中,然后将新内容设置到窗口中。

当我关闭子窗体时,备份的父窗体被设置为窗口内容并且子窗体被删除。

现在解决问题:我将一组对象加载到列表框中。列表框使用文本块来显示对象的属性 (FirstName、LastName、PhoneNumber、MobileNumber、Email),并且在每个文本块之后,Xaml 中包含一个逗号来分隔条目。

但是:如果文本块为空,则不能显示相应的逗号,如下所示:

在此处输入图像描述

我设法使用一个转换器来分析要显示的逗号。

这工作得很好,但是当我显示一个子窗体并关闭它时,显示在逗号可见性方面已损坏:

在此处输入图像描述

我做了两个观察:

  1. 仅当我的 UI Culture 与 en-US 不同(在我的情况下为 de-DE)时,才会发生损坏的显示
  2. 我在转换器代码中放置了一些痕迹,我看到在我使用 de-DE 时打开(和关闭)子窗体后调用了转换器,但在我使用 en-US 时却没有。

有什么想法会导致这种影响吗?我怎样才能绕过它们?

问候

0 投票
1 回答
2182 浏览

.net - 如何真正改变 MSBuild 输出/消息语言?

TL;DR:Visual Studio 2015 的 MSBuild 是否可以使用直接方法在命令行上更改 MSBuild 的消息语言,而不是弄乱系统设置?如何?


我们有一个来自“当时的方式”的问题,基本上是重复的,但恕我直言,答案表明这个问题需要改进。

我需要它来为 VS2015 及更高版本工作,所以我不太关心旧版本。

所以,这里有一些事实:

  • 谷歌搜索不会显示任何 会更改输出消息语言的MSBuild 命令行选项。
  • 在德语系统上从命令行使用 MSBuild 会给我德语错误消息。
  • 在同一系统上使用英语 Visual Studio 调用 MSBuild将使MSBuild.exeMSBuild(从进程资源管理器进程树中确认 的实际)在德语系统上输出英语消息!
    • 这意味着devenv.exe能够驱动MSBuild.exe使用不同的语言。

以机智:

并从devenv

显然,devenv 在这里驱动输出,但实际的 msbuild 消息是相同的,并且 devenv 将调用MSBuild.exe 作为实际的子进程

我已经检查过 Process explorer:调用的 MSBuild.exe 没有任何命令行参数指示正在使用的项目,也没有任何明显的环境变量集。因此,似乎 devenv 正在通过其他方式“告诉”MSBBuild 使用英语作为语言。

旁注 MSBuild 是从 VS 调用的,如下所示:C:\Program Files (x86)\MSBuild\14.0\bin\MSBuild.exe /nologo /nodemode:1 /nodeReuse:true

那么,我怎么MSBuild.exe知道它应该是英文输出呢?我对任何包装器方法或一些 powershell 魔法都很好(尽管这似乎不太可能),但我适合为此依赖机器/用户区域设置。

另外,我发现了一个 MSDN 线程,答案是——8 年前——VS 可以这样做,因为它设置了 UI 文化——但如果 devenv 可以这样做,因为它被调用了 msbuild.exe我可能也可以:我只是不知道怎么做。

0 投票
0 回答
787 浏览

c# - 本地机器和服务器上相同的文化设置产生不同的 AMDesignators

概述

Culture在本地机器和服务器上进行了一致的设置,但它们会产生不同格式的DateTime字符串:

语境

  • 语言:C# 6
  • 平台:.NET 4.6.1
  • 本地操作系统:Windows 10 Pro
  • 服务器操作系统:Windows Server 2012 R2,版本 6.3

背景

我正在编写一个单元测试,无论测试在哪里运行,我都希望其行为完全相同。为此,我创建了一个自定义属性来手动设置CultureInfo测试期间机器的电流。这样,如果我在新西兰本地运行测试,它在美国的 AWS 服务器上运行时的行为仍然相同(在这种情况下,以确保日期字符串的格式一致,其中 New Zealand = dd/mm/yyyy和美国 = mm/dd/yyyy ) 或世界其他任何地方。

到目前为止,自定义属性正确设置了机器的文化设置,并正确格式化了新西兰 ( dd/mm/yyyy ) 和美国 ( mm/dd/yyyy ) 之间的日期和时间,除了我的本地机器在时间,而服务器输出“am”(见下面的代码,这是类的AMDesignator属性DateTimeFormat)。似乎服务器正在从CultureInfo指定之外获取格式设置,为什么会发生这种情况?我错过了什么吗?

注意-CultureSwitcher.SetTo(CultureInfo culture)CurrentCulture和设置CurrentUICulture为提供的指定CultureInfo值。

结果(本地|服务器):

自己试试(结果 = 本地 | 服务器):

0 投票
1 回答
435 浏览

export-to-csv - ConvertTo-CSV -UseCulture 忽略当前线程的文化

问题

在具有文化的 Windows 会话中运行时,是否可以强制 PowerShell 以法语格式导出为 CSV en-GB

更多信息

我希望使用法语文化规则将一些数据导出到 CSV(即 CSV 的分隔符设置为分号,但数字也使用逗号作为小数位,以及其他文化格式差异;因此仅使用-Delimiter参数是不够的)。

我想出了以下代码(基于https://stackoverflow.com/a/7052955/361842

以下代码暗示此方法有效:

然而 PowerShell 对正在发生的事情有自己的想法

这会影响转换为 CSV 的逻辑: