Tag: 本地化

如何强制可本地化的WinForms应用程序使用(默认)语言属性

我有4种不同语言的WinForms应用程序。 整个应用程序是用英语编写的,但我从未将本地化设置为en或en-US。 有没有办法用于从代码强制语言属性(默认)。 例如,假设当前线程是葡萄牙语,我关闭所有表单,更改当前线程的CultuInfo以使用(默认)语言并再次重新加载所有表单。 有没有办法做到这一点? 谢谢

是否有应用程序国际化的最佳实践方法?

我们需要将我们的应用程序翻译成其他语言。 这需要将我们的可见控件的.text属性以及应用程序中的其他文字重命名为我们需要翻译的语言。 这是否可以使用.resx文件轻松完成? 我正在考虑创建一个主resx键/值列表,其中键将是控件/变量/常量等的完全限定名称,然后重构我们的应用程序以查看此文件以根据在以下位置找到的cultureinfo获取它们的值运行? 是否有一个标准或更简单的方法来解决这个问题?

如何在设置CurrentUICulture后更新Window窗体UI?

我试图在运行时设置应用程序的CurrentUICulture。 但是,我表单中的菜单项保持不变。 我是否还需要做一些改变CurrentUICulture的事情?

这是暂时改变当前线程文化的好方法吗?

我在一个相当大的ASP .NET Web Forms应用程序上工作,该应用程序目前主要在美国使用。 我们正在将其推广到世界其他地区,这当然意味着我们正在努力本地化应用程序的所有领域。 一般来说,我们的方法是在每个请求开始时设置当前线程的CurrentCulture和CurrentUICulture属性,以支持基于当前用户的语言环境的正确格式化和资源提取。 但是,在某些情况下,我们需要使用除当前用户文化之外的文化来运行某些代码。 例如,“用户A”居住在德国,但适用于与法国其他公司有业务往来的公司。 当“用户A”想要为其中一家法国公司创建发票(PDF)时,我们希望发票生成代码以“fr-FR”文化而非“de-DE”文化运行。 我已经考虑过几种方法可以很容易地做到这一点,我想知道我是否正确地做到了这一点。 我主要关心的是性能和线程安全性。 一种方法涉及一种静态方法,旨在使用提供的文化来运行给定任务。 像这样的东西: public static void RunWithCulture(CultureInfo culture, Action task) { if (culture == null) throw new ArgumentNullException(“culture”); var originalCulture = new { Culture = Thread.CurrentThread.CurrentCulture, UICulture = Thread.CurrentThread.CurrentUICulture }; try { Thread.CurrentThread.CurrentCulture = culture; Thread.CurrentThread.CurrentUICulture = culture; task(); } finally { Thread.CurrentThread.CurrentCulture = originalCulture.Culture; […]

从日本IME获取更多数据

在我的c#表单中,我有一个数据网格视图,我想输入单词或句子的汉字和假名版本,将它们放在不同的列中。 例如: 転寝 | うたたね 寝坊 | ねぼう 我想要实现的是在我提交第一列时自动填充第二列。 我知道有些字典包含汉字读数,但对于句子而言,它变得复杂,并且还有许多汉字有多个阅读。 我所知道的是,IME有两种信息,因为在输入时我首先使用平假名,然后将其转换为汉字,那么有没有办法获得用户的原始输入?

Windows通用/商店应用程序中的类库本地化

我有一个Windows Store应用程序项目和类库项目的解决方案,我想添加本地化支持。 如何将所有资源文件添加到我的类库并在我的应用程序和类库中使用它们?

WPF本地化:带StringFormat的DynamicResource?

我正在使用ResourceDictionary在.NET 4中进行本地化。 有没有人有一个使用字符串格式的值的解决方案? 例如,假设我有一个键为“SomeKey”的值: You ran {0} miles 在TextBlock中使用它: 例如,如何将具有SomeKey值的整数组合为格式字符串?

通过RequestCultureProviders处理路径(URL)中的文化

我想创建一个正确的requestCultureProviders来处理来自AspNetCore WebApp中路由的文化,并使用以下路由模板: http // url.domain / {culture} / {controller} / {action} 示例: http://myWebSite.com/en/Home/Index http://myWebSite.com/fr/Home/Index 我发布了我的第一个脏/草案解决方案。

本土化。 扩展ASP.NET Resx资源提供程序

对于我的网站,我有一个用于本地化的自定义资源提供程序(本地化字符串存储在数据库中)。 它工作正常,但我希望它与默认的Resx资源提供程序一起使用:在resx资源中查找本地化字符串,如果不存在则从数据库中提取它。 但看起来,只要我将IIS全球化设置更改为使用我自己的资源提供程序工厂,就会忽略默认的resx资源提供程序工厂。 我想解决方案是扩展我自己的资源提供程序,但我找不到如何从资源提供程序内部引用resx资源。 谢谢。

使用ExtractToDirectory方法解压缩会扭曲非拉丁符号

我有几个文件夹,一些文件夹的名称中包含非拉丁符号(在我的情况下是俄语)。 此文件夹正在“D:\ test.zip”中发送到zip存档(由Windows资源管理器)。 然后我执行方法 ZipFile.ExtractToDirectory(@”D:\test.zip”, @”D:\result”); 它成功地解压缩了所有内容,但所有非拉丁符号都变成了错误。 例如,我得到了“D:\ result \ЄбЄ¤л\ file.txt”而不是“D:\ result \ каскады\ file.txt” 。 我的系统的默认编码是windows-1251 ,我通过将Encoding.GetEncoding(“windows-1251″)纳入ExtractToDirectory第三个参数并获得相同的结果来validation。 我也试过UTF-8 ,但在路径中有另外的文物( “D:\ result \ ᪠ \ file.txt” )。 尝试使用Unicode返回有关不支持编码的消息。 当我通过执行方法通过代码创建相同的存档时 ZipFile.CreateFromDirectory(@”D:\zipdata”, @”D:\test.zip”); 然后,即使没有指定特定的编码,也可以使用与问题顶部相同的代码行解压缩。 问题是:如何从存档中获取正确的编码以便在ExtractToDirectory方法中应用它,因为在实际任务存档中来自外部源并且我不能依赖于它“通过手”或编程创建的位置? 编辑 有问题 ,非拉丁符号(中文)也会引起问题,但这个事实就像解决问题一样,而这对我的情况来说确实是个问题。