Tag: 本地化

如何在.Net中更改整个流程(不仅仅是当前线程)的CurrentCulture?

我有一种情况需要将我的进程’locale设置为en-US。 我知道如何为当前线程执行此操作: System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.CreateSpecificCulture(“en-US”); 但我的应用程序使用BackgroundWorkers进行一些处理,并且这些工作线程的区域设置似乎不受上述对其产生主线程的更改的影响。 那么如何在我的应用程序中为所有线程设置区域设置而不在每个线程中手动设置?

如何在Windows Phone上更改C#中的本地化?

我有2种语言的资源文件,我的应用程序已经读取其中一种语言的值。 我希望能够在C#中更改我的应用程序的语言(使用其他资源文件),而不是在“设置”中更改整个手机的语言。 这可能吗? 如果是这样,怎么样?

如何让“Everyone”的IdentityReference在本地化系统上创建MutexAccessRule?

我想使用此问题或此问题中的代码来创建系统范围的互斥锁。 这在大多数系统上都可以正常工作,但在德语XP安装中,我收到“无法翻译某些或所有身份引用”的错误。 问题是“Everyone”组在这个系统上被称为“Alle”。 那么如何在所有独立于OS语言的系统上获得正确的IdentityReference来为“Everone”或“Users”创建MutexAccessRule?

在WPF / XAML中显示本地时区的时间

我的应用程序在几个不同的设备上同步数据。 因此,它将所有日期存储在UTC时区中,以考虑可能设置为不同时区的不同设备。 麻烦的是,当我读回日期并显示它们时,它们似乎是不正确的(大多数用户都在英国夏令时,所以他们落后一小时)。 我是否需要手动覆盖UI线程的set CurrentCulture属性? 我知道我必须在Silverlight中这样做。

您如何本地化数据库驱动的网站

我一直在玩.NET内置的本地化function,他们似乎都依赖于将数据放入resx文件中。 但大多数系统不能依赖于此,因为它们是数据库驱动的。 那么你如何解决这个问题呢? 是否有内置的.NET方式,或者您是否在SQL中创建转换表并手动完成所有操作? 如果您必须在大多数网站上执行此操作,是否有任何理由甚至使用resx本地化方式? 这方面的一个例子是我在我的网站上有一个FAQ列表,我将这个列表保存在数据库中,这样我就可以轻松添加/删除更多,但是通过将它放在数据库中,我没有办法将这些信息翻译成多种语言。

Aspnet核心十进制绑定不适用于非英语文化

我有一个运行非英语配置(西class牙语)的aspnet核心应用程序: public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory) { …… app.UseRequestLocalization(new RequestLocalizationOptions { DefaultRequestCulture = new RequestCulture(new CultureInfo(“es-AR”)) ,SupportedCultures = new List { new CultureInfo(“es-AR”) } ,SupportedUICultures = new List { new CultureInfo(“es”) } }); ……… } 在英语中,十进制数的小数部分用点分隔,但在西class牙语中使用逗号: 10256.35英语 10256,35西class牙语 我在控制器中有这个动作: [HttpPost] public decimal Test(decimal val) { return val; } 如果我使用邮递员并向该行动发送一个类似于{val:15.30}的json,则该动作中的val将返回0(由于文化而绑定不起作用)。 如果我发送这样的json {val:15,30}然后在我回忆的动作中15.30我遇到的问题是,我需要动作接受带逗号的小数,因为这是来自输入类型文本的格式应用程序的表单。 但我还需要接受带有来自json格式请求的点的十进制。 […]

如何在WPF应用程序中全局设置文化?

我想根据用户首选项将WPF应用程序的文化设置为特定的文档。 我可以通过Thread.CurrentThread.Current(UI)Culture为当前线程执行此操作,但有没有办法为应用程序全局执行此操作(因此默认情况下它会影响所有线程)?

如何修复小数分隔符有问题的应用程序

这篇文章是关于C#和.Net的,但有些信息对其他技术很有价值。 因为我记得,因为解析十进制数字的风格不同,我一直遇到崩溃的应用程序或游戏问题。 它经常发生,从CAD应用程序,库到网页。 我不确定这是无知还是缺乏知识,但它真的很烦人。 有什么问题? 这是一篇关于它的维基文章,但它很简短: 这是一张地图,显示世界各地使用的小数点分隔符(十进制标记)。 小数标记: 期间 – 蓝色 逗号 – 绿色 非西方阿拉伯数字 – 红色 未知 – 灰色 大多数欧洲,南美洲写1 000 000,00或1000000,00有时1.000.000,00与“帝国”相反(标记为蓝色)写入1,000,000.00 让我来谈谈我上个月遇到的所有问题。 网页上的数字难以阅读:让我们看一下观看次数最多的YTvideo 。 它向我展示了390159851.超过一百万的数字很难读,数量级是多少? 是39毫升还是390? 适用于Windows Phone 7的 Mirosoft XNA示例 :有一个非常简洁的类可解析XML文件以生成XNA动画 /// /// Loads animation setting from xml file. /// private void LoadAnimiationFromXML() { XDocument doc = XDocument.Load(“Content/Textures/AnimationsDefinition.xml”); XName name = XName.Get(“Definition”); […]

如何在C#中获取unicode字符的十进制值?

如何在C#中获取unicode字符的数值? 例如,如果给出泰米尔字符அ ( U + 0B85 ),则输出应为2949 (即0x0B85 ) 也可以看看 C ++: 如何在c ++中获取unicode字符的十进制值 Java: 我如何获得Unicode字符的代码? 多个代码点字符 某些字符需要多个代码点。 在这个例子中,UTF-16,每个代码单元仍然在Basic Multilingual Plane中: (即U+0072 U+0327 U+030C ) (即U+0072 U+0338 U+0327 U+0316 U+0317 U+0300 U+0301 U+0302 U+0308 U+0360 ) 更重要的是,一个“字符”可能需要超过1个UTF-16代码单元,它可能需要2个以上的UTF-16代码单元,它可能需要3个以上的UTF-16代码单元。 更重要的是,一个“字符”可能需要几十个unicode代码点。 在C#中的UTF-16中,意味着超过1个char 。 一个角色可能需要17个char 。 我的问题是将char转换为UTF-16编码值。 即使整个17个字符串只代表一个“字符”,我仍然想知道如何将每个UTF-16单位转换为数字值。 例如 String s = “அ”; int i = Unicode(s[0]); 其中Unicode返回输出表达式的第一个字符的Unicode标准定义的整数值。

如何显示特定于文化的原生数字而不是阿拉伯数字?

我想将数值转换为字符串,显示特定于文化的数字。 例如,阿富汗使用的Dari语言(文化名称“prs-AF”)使用东方阿拉伯数字而不是大多数西方文化中使用的阿拉伯数字 ( 0,1,2,3,4,5,6,7,8,9 )。 在检查Framework内置的CultureInfo类时,它会列出正确的本机数字(从LinqPad的输出中截取): CultureInfo.CreateSpecificCulture(“prs-AF”).NumberFormat.NativeDigits 但是,当尝试将数字转换为字符串以在该文化中显示时,我没有获得原始数字: var number = 123.5; var culture = CultureInfo.CreateSpecificCulture(“prs-AF”); Thread.CurrentThread.CurrentUICulture = culture; Thread.CurrentThread.CurrentCulture = culture; var text = number.ToString(culture); Console.WriteLine(text); 谁能告诉我如何显示原生数字?