Tag: 本地化

找不到具有键“KeyName”的资源对象

我正在使用App_GlobalResources开发一个多语言的ASP.NET网站。 在App_GlobalResources文件夹中,我添加了两个资源文件: Resource.language.en-US.resx和Resource.language.fr-FR.resx 。 我还添加了一个名为About.aspx的Web表单。 在这个页面中我添加了这个范围: <asp:Literal ID="Literal1" runat="server" Text="” /> 在代码背后: public partial class About : BasePage { protected void Page_Load(object sender, EventArgs e) { Session[“lang”] = “en”; } } 最后, BasePage : public class BasePage : System.Web.UI.Page { protected override void InitializeCulture() { if (!string.IsNullOrEmpty(Request[“lang”])) { Session[“lang”] = Request[“lang”]; } string lang = […]

单击按钮本地化应用程序

我在我的项目mainMaster页面中找到了imageButtons: 这是OnClick函数: protected void RU_Click(object sender, ImageClickEventArgs e) { Session[“MyCulture”] = CultureInfo.CreateSpecificCulture(“ru-RU”); Server.Transfer(Request.Url.LocalPath); } protected void USA_Click(object sender, ImageClickEventArgs e) { Session[“MyCulture”] = CultureInfo.CreateSpecificCulture(“en-AU”); Server.Transfer(Request.Url.LocalPath); } 我也有两个.resx文件,但是如何将按钮与按钮联系起来 <asp:Literal ID="Literal1" runat="server" Text="” />

Windows Phone 8:本地化不起作用

我已将我的应用程序从WP7(我没有本地化问题)移动到WP8。 现在,无论手机设置如何,都只显示英语。 我的设置是(摘自http://www.geekchamp.com/articles/localizing-a-windows-phone-app-step-by-step ): 资源文件夹内容 AppResources.en-US.resx [英文] AppResources.pl-PL.resx [波兰语] AppResources.resx [英文] WMAppManifest.xml: 手机设置:

为什么CurrentUICulture.DisplayName说“英语(美国)”而不是“英语(英国)”?

我在英国,我有一个英国购买的Windows 7版本,我可能找到的所有设置都设置为英国(不是美国)。 当我运行以下代码时: Console.WriteLine(Thread.CurrentThread.CurrentUICulture.DisplayName); Console.WriteLine(Thread.CurrentThread.CurrentCulture.DisplayName); 输出是: 英语(美国) 英语(英国) 我无法弄清楚为什么第一个人说美国。 我打算在我的窗口中包含这个(以帮助调试多语言问题),但它让我有点困惑! 有谁知道为什么不说英国?

为什么在具有不同名称的文件中为资源文件生成的类?

我有一个资源文件strings.resx,生成的资源类在strings1.designer.cs中。 为什么会这样? 问题具体是“1”。 该文件中的类名称应为“字符串”。 请注意,我确实尝试删除designer.cs并通过保存resx文件重新生成它,但这并没有改变任何东西。

在C#中获取具有2位数年份的特定文化日期

我正在使用“MM / dd / yy”更新一些将日期格式化为字符串的代码。 我需要它是文化意识,但希望保持两位数的年份,以保持日期短。 以下是我提出的建议,但有更好的方法吗? string dateFormat = culture_Info.DateTimeFormat.ShortDatePattern.Replace(“yyyy”, “yy”);

在localresource文件中的代码后面的字符串的转换

我为每个页面使用VisualStudio(.resx和.fr.resx)创建了本地资源文件。 现在可以翻译.aspx页面中的所有控件文本。 但是我可以在这个loacal资源文件中翻译我的代码中的字符串吗? 如果是,我如何从App_LocalResources映射中的本地.resx文件中读取代码中的值?

将本地化资源.DLL嵌入到C#中的可执行文件中?

我想让我的程序多语言。 我已成功通过Form的Localizable和Language属性使程序多语言化。 它制作了一些.resx文件。 然后我从.resx文件中删除了不需要的文件,例如图像(它们在所有语言中都是相同的)等。 问题是,例如,它还生成一个名为“en”的文件夹,在该文件夹中,另一个生成的文件称为“ProjectName.resources.dll”。 反正有没有将此资源文件嵌入.exe? 将其添加到资源并将“构建操作”设置为“嵌入式资源”也不起作用。 谢谢。

本地化的组名

我想通过为“Everyone”组分配权限来配置Mutex访问规则。 当我创建我的规则时,它看起来像下面这样 new MutexAccessRule(“Everyone”, MutexRights.Modify | MutexRights.Synchronize | MutexRights.TakeOwnership | MutexRights.ReadPermissions, AccessControlType.Allow) 如何获取本地化的“Everyone”组名称,以便在非英语版本的操作系统上运行。 谢谢

C# – 当应用程序使用其他语言时,以英语获取exception消息?

我正在尝试本地化我的程序,但我希望发送给开发人员的错误消息以英文显示。 我无法找到一种方法来实现这一点,因为如果在抛出错误时将UI文化设置为另一种语言,则会抛出该语言。 由于我自己并没有编写这个程序,并且它非常大,我认为创建新的try catch块以尝试在发生错误或可能发生错误时将文化设置回英语是不切实际的。 目前,CurrentCulture和DefaultThreadCurrentCulture在整个应用程序中始终设置为英语,而CurrentUICulture设置为最终用户的语言。 当我解决方法时,我目前有一个函数已经遍历错误列表(使用System.Resources.ResourceSets(我假设是Windows错误,但我还需要一种方法来查找.NET错误,以便我可以迭代)这个字符串替换了其他语言中的匹配错误,并用它们的英语等价物替换它们,以便在应用程序崩溃时构建一个大的错误消息发送给开发人员。真的,我没有太多的翻译,因为大部分的message是服务器堆栈跟踪并显示抛出exception的位置。最大的问题是转换内部exception消息,有时是主exception消息,因为有时抛出的错误不会出现在ResourceSet中,有时会使用格式化项目,如'{0 }”。 这是我到目前为止翻译剩余错误的代码。 我仍在努力添加正则表达式模式来翻译使用“{0}”之类的错误,所以如果有人对此提出建议或更好的方法,我会很感激建议。 public static string TranslateExceptionMessageTest(string exmsg, Exception e, CultureInfo currentui) { CultureInfo test = Thread.CurrentThread.CurrentUICulture; string matchingstr = “”; string newstr = exmsg; string resourcecollection = “”; Assembly a = e.GetType().Assembly; ResourceManager rm = new ResourceManager(a.GetName().Name, a); ResourceSet rsOriginal = rm.GetResourceSet(currentui, true, true); ResourceSet rsTranslated = rm.GetResourceSet(new […]