-1
是否可以使用多语言工具包从代码中实现不同语言到UWP应用程序&而不是通过从设置中设置所需的语言,而是从语言的下拉列表中应用程序从使用多语言的代码实现不同语言到UWP应用程序
是否可以使用多语言工具包从代码中实现不同语言到UWP应用程序&而不是通过从设置中设置所需的语言,而是从语言的下拉列表中应用程序从使用多语言的代码实现不同语言到UWP应用程序
实际上您并不需要多语言应用程序工具包来修改应用程序的语言。默认情况下,应用程序将根据机器上的设置进行自我配置,但您可以通过设置CurrentCulture和/或CurrentUICulture来覆盖该设置。
假设您有一个包含“英语”,“西班牙语”和“法语”的Combobox ...并且您希望的行为是将您的语言切换为用户选择的任何值。所有你需要做的就是连接SelectionChanged事件。下面的代码可能看起来像:
private void ChangeLanguage(object sender, SelectionChangedEventArgs e)
{
var newlySelected = e.AddedItems[0] as ComboBoxItem;
string newLanguage = newlySelected.Content.ToString();
switch (newLanguage)
{
case "English":
{
CultureInfo.CurrentCulture = new CultureInfo("en");
CultureInfo.CurrentUICulture = new CultureInfo("en");
break;
}
case "Spanish":
{
CultureInfo.CurrentCulture = new CultureInfo("es");
CultureInfo.CurrentUICulture = new CultureInfo("es");
break;
}
case "French":
{
CultureInfo.CurrentCulture = new CultureInfo("fr");
CultureInfo.CurrentUICulture = new CultureInfo("fr");
break;
}
default:
{
throw new NotImplementedException("Unidentified Language");
}
}
}
当然,我会鼓励你做所有适当的错误检查(确保投地ComboBoxItem工作,等...)。
另外,如果您想要修改ResourceLoader用于填充UI的资源,则需要设置CurrentCulture,以便在适当的语言环境中显示Dates和Times等内容并使用CurrentUICulture。
希望这应该让你启动并运行!
- 丹特