2010-01-15 88 views
1

希望能爲某人快速回答,但我的google-fu已經拋棄了我。Javascript等效於vbscript setlocale

在vbscript中,我可以使用「setlocale」來設置腳本運行的語言環境。我需要一個javascript版本。

例如,假設我的用戶使用的瀏覽器使用法語設置,但我希望數字和日期是英文,並且可以像使用英文一樣使用。然後在VBScript中我可以做

setlocale 2057 

設置爲英語語言環境

,然後當我完成了數字/日期的工作,我可以設置回法國

setlocale 1036 

有一個JavaScript等效?我怎樣才能在javascript中完成此操作?

回答

2

不,沒有辦法在JavaScript中選擇區域設置。

但是,在美國英語語言環境中做東西通常不是問題,因爲JavaScript就是這樣做的。如果您使用parseInt,toString等處理Number s,您將始終處理.的小數點,並且不會有千位分隔符。 Date默認格式也使用英語星期幾和月份名稱以及忽略您的語言環境默認設置的瀏覽器特定日期格式。

你必須用你的方式來獲取任何特定於JavaScript的語言環境,例如toLocaleString。結果通常很差並且在瀏覽器中不一致。如果你想在你的web應用程序中進行可靠的本地化,你必須自己做。

+0

感謝您的回答。我問這個問題沒有先測試問題 - 現在我已經和它符合你所說的 - 所以我不必擔心它是完美的!謝謝 – DannykPowell 2010-01-16 11:20:42

1

據我所知,JavaScript不提供類似的區域設置功能。你有一些特定任務的區域感知功能。例如,您可以使用localeCompare()對字符串進行排序,您可以用toLocaleUpperCase()將其大寫,並且可以使用toLocaleString()打印日期。而且您不指定區域設置,它們可以與解釋器認爲合適的任何語言設置一起工作。當然,這一切都取決於這些功能在所有目標瀏覽器中都可用。

您可以在ECMAScript站點下載official specs,並查看Mozilla implementation(IE實現可能位於MSDN站點的某處)。

+0

感謝您的回答。我決定選擇另一個答案作爲正確的答案,因爲它是更明確的 - 但如果我可以選擇正確的答案,我會 - 對不起 – DannykPowell 2010-01-16 11:23:37