【问题标题】:Why VS2012 doesn't create new language file for me?为什么 VS2012 不为我创建新的语言文件?
【发布时间】:2013-12-15 14:51:29
【问题描述】:

我想要什么:
为我的 Windows Phone 应用添加新的语言支持

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

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

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

为什么以及如何解决?

【问题讨论】:

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


    【解决方案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

    第 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 列。

    【讨论】:

    • 谢谢!我什至检查了 MSDN 解决方案是否支持 WP7,上面写着“WP OS 7.1 和 8”-_-
    • 是的,我也看到了,但肯定是错的,我也在两台机器上试过,它适用于 WP8,但不适用于 WP7。
    猜你喜欢
    • 2021-10-15
    • 2023-04-03
    • 2018-06-05
    • 1970-01-01
    • 1970-01-01
    • 2013-01-09
    • 1970-01-01
    • 1970-01-01
    • 2013-08-12
    相关资源
    最近更新 更多