某些方法(如string.Format()或.Parse())需要IFormatProvider.你是如何提供的?
在封闭环境应用程序中(您知道永远不需要本地化),您是否只是跳过它并在没有IFormatProvider的情况下调用方法?
在可能已本地化的应用程序中,您是否考虑了每个方法调用的正确值,并将其设置在那里?这可能是'CultureInfo.CurrentCulture'或'CultureInfo.CurrentUiCulture'.
或者您是否使用"MyUiCultureInfo"和"MyCultureInfo"等全局变量来通过更改其值来切换本地化?您如何以及在何处存储这些变量?
我开发库或框架时有什么需要考虑的 - 在这种情况下如何处理本地化?
我总是将CurrentThread.Current(Ui)Culture设置为我们(ASP.NET)应用程序中的正确值.这通常在每个请求开始时根据用户的首选项或存储在配置文件中的默认值(如果用户尚未定义首选项)完成.
设置当前线程的这些属性后,您可以停止考虑它 - 数字,日期等将被正确格式化/解析,即使没有为这些方法提供IFormatProvider.否则,您必须确保在任何地方传递正确的IFormatProvider.
我是一个库的情况,我认为它应该只依赖于这些东西的应用程序,不应该担心这些事情.
| 归档时间: |
|
| 查看次数: |
5768 次 |
| 最近记录: |