Windows phone 7 WP7本地化不起作用
我正在尝试对我的应用程序进行简单的本地化,使其支持英语(默认)和丹麦语。 我遵循了MS教程,并查看了一些示例,但由于某种原因,当我选择丹麦语作为模拟器语言时,模拟器没有显示丹麦语版本 以下是我所做的: 添加了支持的区域性:dk-dk 将程序集信息更改为默认使用“英语” 已将资源添加到app.xaml:Windows phone 7 WP7本地化不起作用,windows-phone-7,localization,Windows Phone 7,Localization,我正在尝试对我的应用程序进行简单的本地化,使其支持英语(默认)和丹麦语。 我遵循了MS教程,并查看了一些示例,但由于某种原因,当我选择丹麦语作为模拟器语言时,模拟器没有显示丹麦语版本 以下是我所做的: 添加了支持的区域性:dk-dk 将程序集信息更改为默认使用“英语” 已将资源添加到app.xaml: <Application.Resources> <local:LocalizedStrings xmlns:local="clr-namespace:LåneRe
<Application.Resources>
<local:LocalizedStrings xmlns:local="clr-namespace:LåneRegnskab" x:Key="LocalizedStrings" />
</Application.Resources>
本地化字符串类:
public class LocalizedStrings
{
public LocalizedStrings()
{
}
private static AppResources localizedResources = new AppResources();
public AppResources LocalizedResources { get { return localizedResources; } }
}
这一切都适用于英语字符串,但当我使用丹麦语模式时,它们不会改变。我错过了什么(您的代码没有明显错误。请尝试在
App.xaml.cs
中使用InitializePhoneApplication
方法中的以下代码强制执行区域性
private void InitializePhoneApplication()
{
Thread.CurrentThread.CurrentCulture = new CultureInfo("da-DK");
Thread.CurrentThread.CurrentUICulture = Thread.CurrentThread.CurrentCulture;
更新
还要确保ProjectName.csproj文件中的
SupportedCultures
设置为支持两种语言,如下所示:en;da DK
代码没有明显错误。请在App.xaml.cs
中使用InitializePhone应用程序
方法中的以下代码强制使用区域性
private void InitializePhoneApplication()
{
Thread.CurrentThread.CurrentCulture = new CultureInfo("da-DK");
Thread.CurrentThread.CurrentUICulture = Thread.CurrentThread.CurrentCulture;
更新
还要确保ProjectName.csproj文件中的
SupportedCultures
设置为支持两种语言,如下所示:en;da DK
您必须更改csproj文件,如下面的示例所示
您必须更改csproj文件,如下面的示例所示
多亏了克劳斯,我解决了我的问题(我似乎犯了所有的错误),但以下是所有对我有用的设置。 我支持英语和西班牙语,并更改模拟器的区域以使其正常工作 在.csproj
en;es;
多亏了克劳斯,我解决了我的问题(我似乎犯了所有的错误),但以下是所有适合我的设置。
我支持英语和西班牙语,并更改模拟器的区域以使其正常工作
在.csproj
en;es;
我也遇到了同样的问题,我刚刚找到了解决方案。在csproj文件中,节点是默认定义的,但我没有注意到,我在第一行创建了另一个
因此,如果你删除这个(或在这里设置你的文化),它可能会起作用
<SilverlightApplication>true</SilverlightApplication>
<SupportedCultures>
</SupportedCultures>
<XapOutputs>true</XapOutputs>
true
真的
我也遇到了同样的问题,我刚刚找到了解决方案。在csproj文件中,节点是默认定义的,但我没有注意到,我在第一行创建了另一个
因此,如果你删除这个(或在这里设置你的文化),它可能会起作用
<SilverlightApplication>true</SilverlightApplication>
<SupportedCultures>
</SupportedCultures>
<XapOutputs>true</XapOutputs>
true
真的
发布LocalizedStrings类的代码。LocalizedStrings类发布:)您使用的是仿真器还是实际设备?我注意到并非所有设备都可以切换到所有语言。*emulator(模拟是其他东西)发布LocalizedStrings类的代码。LocalizedStrings类发布:)您使用的是模拟器还是实际设备?我注意到并非所有设备都可以切换到所有语言。*emulator(模拟是其他东西)验证输出文件夹中是否存在da DK
文件夹。嗯,在我的bin->debug and bin->release中有一个DK DK文件夹是的。这里面有一个广告dll:“Microsoft.Advertising.Mobile.resources”。还有其他所有语言的文件夹,都以该文件作为唯一的内容。它意味着包含一个.appresources.dll
文件。因此,这表明您的资源文件没有正确编译。这也解释了为什么强制区域性无效。请验证资源文件的编译设置是否如下所示:它仍然没有正确编译AppResources.da DK.resx
。默认(英语)资源已正确编译。验证AppResources.da DK.Designer.cs
是否为空(它不应该包含任何代码)验证输出文件夹中是否存在da DK
文件夹。嗯,在我的bin->debug and bin->release中有一个DK DK文件夹是。这里面有一个广告dll:“Microsoft.Advertising.Mobile.resources”。还有其他所有语言的文件夹,都以该文件作为唯一的内容。它意味着包含一个.appresources.dll
文件。因此,这表明您的资源文件没有正确编译。这也解释了为什么强制区域性无效。请验证资源文件的编译设置是否如下所示:它仍然没有正确编译AppResources.da DK.resx
。默认(英语)资源已正确编译。验证AppResources.da DK.Designer.cs
是否为空(它不应该包含任何代码)