У меня есть приложение UWP, в котором есть набор текстовых файлов, по одному для каждого поддерживаемого нами языка. Я хочу прочитать содержимое одного текстового файла на основе языка, на который установлена система. Например позволяет сказать, что текстовый файл называется MyTextFile.txt и 2 языка Я поддержки являются английский и французский, я бы следующие 2 файла в моем пакете:Каков наилучший способ загрузки другого текстового файла на разных языках для приложения UWP?
fr-fr\MyTextFile.txt
en-us\MyTextFile.txt
Если система настроена на французский язык, я хочу загрузить и прочитать французский текстовый файл и отобразить его содержимое. Мое текущее решение работает только на моей машине dev, когда я развертываю свое приложение на другой машине, оно работает только в том случае, если ОС является английским. Если я устанавливаю ОС на французский язык и устанавливаю свое приложение, он не загружает текстовый файл. Это то, что я делаю:
1) У меня есть магазин текстовых файлов под [имя_приложения] \ Files [язык] \ MyTextFile.txt 2) У меня есть реквизит файл, который загружает файлы, он содержит это:
<PropertyGroup>
<FileDir>$(SolutionDir)App\[appname]\Files\</EulaDir>
</PropertyGroup>
<ItemGroup>
<Content Include="$(FileDir)\en-us\MyTextFile.txt">
<Link>en-us\MyTextFile.txt</Link>
</Content>
<Content Include="$(FileDir)\fr-fr\MyTextFile.txt">
<Link>fr-fr\MyTextFile.txt</Link>
</Content>
</ItemGroup>
</Project>
3) Мой код (который работает на английском языке) загружает файл, как это:
var rc = ResourceManager.Current.MainResourceMap.GetSubtree("Files").GetValue("MyTextFile.txt", ResourceContext.GetForCurrentView());
var lang = rc.Qualifiers.FirstOrDefault(q => q.QualifierName == "Language").QualifierValue;
// Get the file
StorageFile file = await StorageFile.GetFileFromApplicationUriAsync(new Uri("ms-appx:///" + lang + "/" + "MyTextFile.txt"));
// Read the contents of the file
UI.Text = await FileIO.ReadTextAsync(file, UnicodeEncoding.Utf8);
Возможно есть лучший способ для загрузки этого текстового файла на другом языке? Он должен быть текстовый файл, поскольку он содержит юридический текст и не может быть строка в файле RESW
благодаря
Джордж
Да, это сработало отлично - спасибо! Так просто – user6115111