【发布时间】:2017-03-06 14:13:19
【问题描述】:
我有一个未进行语言本地化的美国英语 WPF 应用程序,但英语流利的用户希望它在设置为德语区域设置的 PC 上运行。所以用英语显示所有内容不是问题,但是当我的应用程序从 XML 文件读取时,他们会看到解析失败。 XML 文件由开发人员手动创建,作为插件架构的一部分,包含格式为 1.23E+05 的数字。我使用 StreamReader 和 XmlSerializer.Deserialize() 读取它们。序列化类中的大多数字段都被声明为字符串,我稍后将它们解析为双精度。有没有办法支持这种使用模式?是否有只影响来自应用程序外部的输入的解决方案(希望最大限度地减少所需的更改)?我认为我要求的是在不完全支持本地化的情况下支持不同的语言环境,如果这有意义的话。我可以接受影响数字/日期显示格式的语言环境,如果这种情况自动发生的话。我最关心的是不要崩溃:)谢谢。
【问题讨论】:
-
当您的应用在德国电脑上运行时,您仍然希望使用英文数字/日期/等。格式?这是你的目标吗?
-
@Mighty Badaboom:更新了帖子以表明它们的显示方式没有偏好。
-
xml 文件中有什么?通常,如果它是设置或一些内部数据(与例如用户生成的报告相反),那么它们必须保存在中性文化中以避免此类情况。您如何序列化/创建 xml,然后反序列化/加载/使用它?
XmlSerializer是 culture independent(也就是使用中性文化)。 -
@Sinatr:更新了帖子以更多地描述 XML 文件。
-
您没有展示如何读取 xml 文件。 其他开发人员似乎已经在使用中立文化,所以这是你的错误^^。
标签: c# wpf localization locale