jjzjj

Localization

全部标签

c++ - Windows:从语言环境字符串获取 LCID?

我有表示语言环境的字符串数据,例如“fr”或“en”。我需要将其转换为适当的LCID值,例如0x80c或0x409。是否有函数或宏可以这样做?我在Windows7上使用C++。 最佳答案 那些是LCID值,不确定LID是什么意思。您可以从GetLocaleInfoEx()中获取它们,在Vista及更高版本中可用。您需要传递一个区域名称,如“en-US”,这是确定语言区域所必需的。例如:#include"stdafx.h"#include#includeint_tmain(intargc,_TCHAR*argv[]){LCIDlcid

c++ - Visual C++ 库 DLL 是否已本地化?

在Windows上部署我们的c++应用程序时,我们包括VisualC++运行时库,即使用像Microsoft_VC90_CRT_x86.msm这样的合并模块。当以其他语言(西类牙语、葡萄牙语、德语等)为目标时,我们是否需要这些库的本地化版本,或者它们是通用的?如果您可以提供“直接来自源代码”的链接,那将是非常有帮助的。也欢迎任何实践经验。 最佳答案 MFC有本地化的DLL和一个合并模块来安装合适的:http://msdn.microsoft.com/en-us/library/ms235264.aspx主要的VisualC++运行时

c# - 有没有一种方法可以使用 Expression Blend 在设计时查看屏幕在另一种语言中的外观?

我有一个WPF应用程序,我已将WPF控件中的所有字符串提取到一个.resx文件中。我还为每种支持的语言(.es.resx、.ja.resx等)提供了.resx文件。是否有一种简单/直接的方法可以在设计时查看其他语言的输出结果。如果不必运行应用程序、查看哪些控件需要调整、做笔记、停止应用程序、进行更改和重复,将节省大量时间。我更愿意在设计时使用Blend直接进行更改。有什么想法吗? 最佳答案 这里有几个链接可以帮助您:WPFRuntimeLocalization-Design-TimeSolutionforUserControlsWP

c# - 为什么 ReSharper 提示这种 ResourceLoader.GetString 的使用?

我有一个Windows8应用程序,我按照描述进行了本地化intheMSDN.我的资源文件使用默认名称(“Resources.resw”)和位置(“Strings\en-US”等)。当我通过ResourceLoader访问资源时,ReSharper会报错。示例:privatereadonlyResourceLoader_resourceLoader=newResourceLoader();privatevoidDoSomething(){strings=_resourceLoader.GetString("TestEntry");}ReSharper提示我正在创建一个不明确的引用,因为在

c# - 如何向用户报告标准异常?

考虑一个C#GUI应用程序,它使用FileStream读取用户通过“打开文件”对话框选择的文件。如果读取失败并返回oneoftheexceptions,以用户友好的方式向用户报告故障的正确方法是什么?我应该为每个异常创建自己的消息,还是有办法获得一个本地化的、用户友好的消息,我可以逐字呈现给用户?编辑我在问.NET本身是否能够为我提供一个我可以呈现的描述性字符串(并且与其他.NET程序一致)。我知道我可以自己卷起来,但如果有标准替代品,我想避免这种情况。 最佳答案 您可以有一组可本地化的用户异常,其中一个是FileUploadErr

c# - WPF 应用程序中的 MVVM 符合本地化

如何使用MVVM模式本地化WPF应用程序?我真的很想以“正确”的方式去做。我目前的方法是使用.resx资源文件来本地化我的应用程序。我将它们包含在我的xaml代码中xmlns:localization="clr-namespace:ClientLibTestTool.ViewLanguages"并像这样访问它们:我的问题:有更好的方法吗?如何测试不同的语言(使用不同的语言设置加载应用程序)?是否可以在运行时更改语言?答案:问题一:问题2:(谢谢stijn)publicMainWindow(){//DebugSettingslocalization.Culture=CultureInfo

c# - 如何将 DateTime 转换为具有本地化小数秒的字符串?

我有一个DateTime对象,我想将小时、分钟、秒和小数秒输出为针对当前区域性本地化的字符串。这有两个问题。第一个问题是没有标准的DateTime格式可以显示小数秒。我基本上想知道如何获得longtime日期时间格式,但带有小数秒。我当然可以获取DateTimeFormatInfo.LongTimePattern并将“.fff”附加到它,然后将其传递给DateTime.ToString(),但是某些特定于文化的格式,特别是美国,以AM/PM结尾。所以事情没那么简单。第二个问题是DateTime.ToString()似乎没有本地化数字小数点分隔符。如果我决定只强制每种文化使用硬编码的自定

c# - 如何在没有布局问题的情况下在运行时更改语言

我有一个winforms应用程序,用户必须能够在运行时更改语言。为了通用化开关并避免硬编码控制名称,我尝试了以下扩展:internalstaticvoidSetLanguage(thisFormform,CultureInfolang){ComponentResourceManagerresources=newComponentResourceManager(form.GetType());ApplyResourceToControl(resources,form,lang);resources.ApplyResources(form,"$this",lang);}privatesta

c# - 为什么这会出现在我的 C# 字符串 : £ 中

我在c#中有一个字符串初始化如下:stringstrVal="£2000";但是每当我写出这个字符串时,都会写出以下内容:2000英镑它不会用美元来做这件事。我用来写出值的代码示例:System.IO.File.AppendAllText(HttpContext.Current.Server.MapPath("/logging.txt"),strVal);我猜这与本地化有关,但如果C#字符串只是unicode,那么这应该就可以了吗?澄清:更多信息,JonSkeet的回答是正确的,但是我在对字符串进行URLEncode时也遇到了问题。有什么办法可以避免这种情况吗?所以URL编码的字符串看

c# - 如何在 Winforms 中制作多语言应用程序?

我有一个应用程序,我需要在该应用程序中使用两种语言。例如:英语阿拉伯语但我不知道我该怎么做。任何人都可以帮助我吗?我需要一些C#WindowsForms中的示例。 最佳答案 使用表单的Localizable和Language属性Form类有Localizable和Language属性。如果将Localizable属性设置为true,则可以将控件添加到默认语言的表单并设置默认语言的属性。然后您可以选择其他语言并更改这些语言的属性。这样,值或可本地化的属性将针对不同的文化存储在单独的资源文件中。注意:如果属性用[Localizable(