私は、私たちがサポートしている言語ごとに1セットのテキストファイルを持つUWPアプリケーションを持っています。私は、システムが設定されている言語に基づいて、1つのテキストファイルの内容を読みたいと思います。UWPアプリケーションの別の言語で異なるテキストファイルを読み込む最良の方法は何ですか?
fr-fr\MyTextFile.txt
en-us\MyTextFile.txt
の場合:たとえば、私は私のパッケージに、以下の2つのファイルを持っているでしょう、テキストファイルがMyTextFile.txtと呼ばれ、私はサポート2つの言語は英語とフランス語であると言うことができますシステムがフランス語に設定されている場合は、フランス語のテキストファイルを読み込んで読み込み、その内容を表示します。私の現在のソリューションは、私の開発マシンでのみ動作しています。別のマシンにアプリケーションをデプロイすると、OSが英語であれば動作します。 OSをフランス語に設定してアプリをインストールしても、テキストファイルはロードされません。
:1)私は、\ファイル[言語] \ MyTextFile.txt 2)私は、ファイルをロードする小道具ファイルを持っているが、それはこのことを含んでいる[appnameの]の下の私のテキストファイルストアを持っている:これは私がやっているものです
<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);
をおそらく、異なる言語でのこのテキストファイルをロードするためのより良い方法はありますか?それはあなただけ、手動で言語を指定する必要はありませんおかげ
ジョージ
はい、これは素晴らしい仕事でした - ありがとう!だからシンプル – user6115111