我目前正在开发一个 Windows Phone 应用程序,该应用程序从用户那里获取一些信息并根据用户输入返回一些其他信息。
如果特定设备的区域设置设置为美国,则该应用程序运行良好。如果设备的区域设置设置为希腊语或德语,则会出现一些问题。例如,美国小数点字符“.” 被视为“,”,反之亦然。结果,所有的计算都是错误的。
我想要做的是将应用程序国际化,以便无论区域设置如何,它的工作方式都完全相同。这可能吗?
我目前正在开发一个 Windows Phone 应用程序,该应用程序从用户那里获取一些信息并根据用户输入返回一些其他信息。
如果特定设备的区域设置设置为美国,则该应用程序运行良好。如果设备的区域设置设置为希腊语或德语,则会出现一些问题。例如,美国小数点字符“.” 被视为“,”,反之亦然。结果,所有的计算都是错误的。
我想要做的是将应用程序国际化,以便无论区域设置如何,它的工作方式都完全相同。这可能吗?
如果您希望您的应用程序始终以一种指定格式显示数字和日期,您可以强制应用程序始终以一种指定的文化运行,就像这样。
您只需将应用程序的当前线程设置为一种指定的文化(添加到 App.cs 文件中)!
public App()
{
// Standard Silverlight initialization
InitializeComponent();
// Phone-specific initialization
InitializePhoneApplication();
// Set the current thread to US!
Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US");