私はWindows Phone 8.0アプリケーション(SilverLight)をローカライズしようとしています。ユーザーが選択したときにデフォルトのAppresources.resx
ファイルを変更したいと思います。ユーザーが設定ページから言語を変更すると、IsolatedStorageSettingsに保存し、保存された言語のAppresources
ファイルをInitializeLanguage()
という方法で、app.xaml.cs
クラスのコンストラクタで呼び出された方法で指定します。どのようにユーザーの言語の選択を保存し、Windowsの電話機8の全体的なアプリケーション言語を変更するには?
私は理論的なプロセスを学んだが、私はさらにアプローチする方法を進めることができない。
私の問題をよりよく理解するためのコードスニペットは以下のとおりです。
private void InitializeLanguage()
{
try
{
RootFrame.Language = XmlLanguage.GetLanguage(AppResources.ResourceLanguage);
FlowDirection flow = (FlowDirection)Enum.Parse(typeof(FlowDirection), AppResources.ResourceFlowDirection);
RootFrame.FlowDirection = flow;
}
catch
{
if (Debugger.IsAttached)
{
Debugger.Break();
}
throw;
}
}
そして、私は当初、ランタイムでTextBox
の言語を変更し、テスト目的のためのテキストボックスの言語を変更する場所の背後に、この設定ページのコード。
protected override void OnNavigatedTo(NavigationEventArgs e)
{
base.OnNavigatedTo(e);
ChangeLanguageCombo.Items.Add(new LanguageComboBox
{
Name = "English",
Code = "en-US"
});
ChangeLanguageCombo.Items.Add(new LanguageComboBox
{
Name = "Bangla",
Code = "bn"
});
}
public static IsolatedStorageSettings ChangedLanguage = IsolatedStorageSettings.ApplicationSettings;
private void ChangeLanguageCombo_OnSelectionChanged(object sender, SelectionChangedEventArgs e)
{
var languageComboBox = ChangeLanguageCombo.SelectedItem as LanguageComboBox;
ApplyChange(new CultureInfo(languageComboBox.Code.ToString()));
//now I want to save the user choice to the `IsolatedStorageSettings ChangedLanguage` and restart the app to take place the changes.
MessageBox.Show("Restart");
//after restart I want to indicate the Appresources file to the new selected one,(in InitializeLang() method) RootFrame.Language = XmlLanguage.GetLanguage(AppResources.ResourceLanguage); in this line
}
}
private void ApplyChange(CultureInfo culInfo)
{
Thread.CurrentThread.CurrentCulture = culInfo;
Thread.CurrentThread.CurrentUICulture = culInfo;
textBlockHello.Text = AppResources.Salutation;
}
質問は私の目的を理解するにはあまりにも不器用である場合、私は、私はこの分野で新しいですし、ヘルプや編集の提案のいずれかの種類が行います、申し訳ありません。 App.xaml.csクラスからLocalStorageSettingsの値を取得するための