为什么VS2012不为我创建新的语言文件?

时间:2013-12-15 14:51:30

标签: c# windows-phone-7 visual-studio-2012 localization windows-phone

我想要的是什么:
为我的Windows phone app添加新语言支持

我所指的是什么:
MSDN:http://msdn.microsoft.com/en-us/library/windowsphone/develop/ff637520(v=vs.105).aspx
该文件说:

  

Visual Studio为每个受支持的人创建了一个新的资源文件   语言是中性资源文件的副本   (AppResources.resx)并将其重命名为包含区域设置代码   反映了新资源文件的文化。

发生了什么事?
在项目属性窗口中添加新语言后,我保存并构建解决方案。 什么都没发生.....

为什么以及如何解决?

1 个答案:

答案 0 :(得分:1)

不幸的是,自动生成AppResources.resx文件似乎只适用于Windows Phone 8应用程序。对于Windows Phone 7应用程序,您必须手动完成所有操作。这是在Windows Phone 7中本地化您的应用程序的方法:

第1步: 在项目属性中选择“支持的文化”中的语言(与WP8相同)

第2步: 右键单击解决方案资源管理器中的项目 - >添加 - >新项目......

第3步: 选择类型Resources File并将其命名为AppResources.resx

第4步: 打开AppResources.resx文件,将Access Modifier更改为Public

enter image description here

第5步: 对于您要使用的每种其他语言,重复步骤2,3和4,为文件命名AppResources.<culture>.resx,例如AppResources.sv.resx为瑞典语。

第6步: 使用以下代码创建名为“LocalizedStrings.cs”的类:

public class LocalizedStrings
{
    private static AppResources _localizedResources = new AppResources();

    public AppResources AppResources
    {
        get { return _localizedResources; }
    }
}

第7步: 打开App.xaml,将以下内容添加到<Appllication.Resources>

<Application.Resources>
    <local:LocalizedStrings x:Key="LocalizedStrings" />
</Application.Resources>

第8步: 您现在可以通过以下方式使用翻译:

<TextBlock Text="{Binding AppResources.Title, Source={StaticResource LocalizedStrings}}" />

其中Title是AppResources.resx文件中的Name列。

enter image description here