Моя проблема в том, что приложение не использует правильный язык после установки. Это не тот случай, когда приложение запускается из Visual Studio. Я создал пример приложения со следующей структурой.
PublishTestApp
--Properties
----Resources.de-DE.resx
----Resources.en-US.resx
----Resources.resx
--App.xaml
--AssemblyInfo.cs
--MainWindows.xaml
WapProjTemplate1 (Application set to PublishTestApp)
--Package.appxmanifest
--priconfig.default.xml
--priconfig.packaging.xml
Main:
namespace PublishTestApp
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("de-DE");
Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("de-DE");
InitializeComponent();
}
}
}
Основной вид:
<Window x:Class="PublishTestApp.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:prop="clr-namespace:PublishTestApp.Properties"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800">
<StackPanel HorizontalAlignment="Center">
<TextBlock Text="{x:Static prop:Resources.Language}"></TextBlock>
</StackPanel>
</Window>
В ресурсах установлено только одно значение в каждый файл:
- Язык = нейтральный (Resources.resx)
- Язык = en-US (Resources.en-US.resx)
- Язык = де- DE (Resources.de-DE.resx
Package.appxmanifest - для языков по умолчанию установлено значение de-DE
priconfig.default. xml -
<?xml version="1.0" encoding="utf-8" ?>
<default>
<qualifier name="Language" value="de-DE" />
</default>
priconfig.packaging. xml -
<?xml version="1.0" encoding="utf-8" ?>
<packaging>
<autoResourcePackage qualifier="Scale" />
<autoResourcePackage qualifier="DXFeatureLevel" />
</packaging>
Даже несмотря на то, что я установил культуру de-DE, после установки я получаю значение "нейтрального" из Resources.resx, в то время как я ожидаю чтобы получить значение из Resources.de-DE.resx из "de-DE". Есть ли у вас какие-либо предложения, что я делаю неправильно? :)