>有没有人对日期的国际化有任何好的"架构"? 像在英语中 星期一, 中文: 星期一, 荷兰语: maandag, 日语: 月曜日
所以我的第一个想法是创建某种类,以 59 种不同的语言存储周一到周日的字符串。显然这根本不可扩展,想象一下现在我需要显示"12:34 A.M,星期一,1st Jan 2000"然后我需要另一个翻译A.M,P.M,月份(长形式和短形式),序数等,等等。
工作量太大,有什么解决办法?
Paul Irish 说
日期.js被放弃,主页上的版本有问题。
和
Moment.js 是超级好的,应该是您进行日期解析、操纵和格式化的首选。
所以我想你们寻找带有 i18n 的可靠日期 javascript 库的人应该使用 moment.js
您建议的方法不可扩展。Microsoft方法涉及 350 种文化;有人建议有160种全球交易货币等。维护一个处理这一系列可能性的类是一场潜在的噩梦。
@Aron表明你的问题是Javascript中国际化的重复。回答该问题的链接之一提出了一种可扩展且可维护的前进方向。我通常不会提倡Microsoft的方法,但在这种情况下,他们似乎确实对架构有正确的想法。将特定于区域设置的材料分离到可合并到应用程序中的类中。仅通过基于区域性(或区域设置)的键引用特定于区域设置的材料。不要试图自己维护特定文化的材料——除非你不得不这样做,否则你真的不想去那里。
Datejs 应该能够做你想做的事情:
http://code.google.com/p/datejs/
Datejs 入门
它是一个JavaScript日期库,支持大约157种不同的日期区域性/语言。
他们采取了为每种文化设置单独的.js文件的方法。参见:datejs source - trunk/src/globalization
在服务器端处理得更好。 例如,ASP.NET 支持将日期转换为至少 30 或 40 种不同语言的字符串。我不知道其他服务器语言。
我建议你看看jQuery框架,它可以解决你的问题,而不必重新发明轮子:http://jqueryui.com/demos/datepicker/#localization
注意:jquery-ui 是一个附加框架,其中包含大量的 UI 组件。
希望这有帮助