私は文化不変の形式(ISO 8601)で表すことができる日付があるとしましょう。ブラウザで日付をローカライズしますか?
2009年7月6日午後3時54分、パリのUTC時間、午後5時54分、パリの現地時間で夏時間を観察します。
2009-07-06T15:54:12.000 + 02:00
OK ...のローカライズ版にその文字列を変換するには、ブラウザを教えてくれますマークアップのいずれかの隠された宝石がありますそれ?
最も近い解決策は、JavascriptのDate.prototype.toLocaleString()を使用しています。それは確かに良い仕事ですが、多くの日付に反復するのが遅く、Javascriptに依存しています。
ブラウザーが認識して正しいローカライズされた文字列を自動的にレンダリングするHTML、CSS、XSLT、または他のセマンティックマークアップはありますか?
編集:
私は現在、ローカライズされた文字列をHTML要素のテキストを置き換えて使用しています方法:以降で
:JavaScriptを使用して
<span class="date">2009/07/06 15:54:12 GMT</span>
(jQueryを使って):
var dates = $("span.date", context);
// use for loop instead of .each() for speed
for(var i=0,len=dates.length; i < len; i++) {
// parse the date
var d = new Date(dates.eq(i).text());
// set the text to the localized string
dates.eq(i).text(d.toLocaleString());
}
実用的な観点からは、Javascriptを実行するときにテキストを新しい値に「点滅」させ、私はそれが気に入らない。
原則的に、なぜ私たちはこれを行う必要があるのでしょうか?ブラウザは、通貨、日付、数字などの標準的なものをローカライズできる必要があります。
フォローアップの質問
は: - クライアントの設定に応じて、標準的なデータ項目を取り、それをフォーマットなぜブラウザは、/ウェブは、このような単純な機能を持っていませんか?
私はまっすぐアップマークアップ言語を使用してこれを行うためにとにかくあることは知らない。私はかなりあなたがいくつかのスクリプトを使用するつもりだと確信しています。 – Peter