ブラウザがLC_TIMEを尊重しないのはなぜですか?

ブラウザがLC_TIMEを尊重しないのはなぜですか?

システム言語としてen_USを使用し、日付形式でpl_PLを使用しています。システム全体でうまく機能し、date正しい形式の日付を提供します。また、GUI言語設定でポーランド語を時間形式で表示します。

しかし、すべてのブラウザ(Chrome、Chromium、Firefox)にはUS形式があります!たとえば、日付入力、JSの日付など...

console.log(new Date().toLocaleString())
// shows      9/26/2021, 3:29:46 PM
// should be  26.09.2021, 15:29:46 

地域設定:

LANG=en_US.UTF-8
LANGUAGE=en_US
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC=pl_PL.UTF-8
LC_TIME=pl_PL.UTF-8
LC_COLLATE="en_US.UTF-8"
LC_MONETARY=pl_PL.UTF-8
LC_MESSAGES="en_US.UTF-8"
LC_PAPER=pl_PL.UTF-8
LC_NAME=pl_PL.UTF-8
LC_ADDRESS=pl_PL.UTF-8
LC_TELEPHONE=pl_PL.UTF-8
LC_MEASUREMENT=pl_PL.UTF-8
LC_IDENTIFICATION=pl_PL.UTF-8
LC_ALL=

この使い方を再現するには:https://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_tolocalestring、またはindex.html次の名前のファイルを生成します。

<!DOCTYPE html>
<html>
  <head>
<meta charset="UTF-8">  
  </head>
  <body>
    Hi!
    <script>
     console.log(new Date().toLocaleString())
    </script>
  </body>

</html>

次に、LC_ALL試したい値とブラウザの組み合わせを使用してこのファイルを開きます。

LC_ALL=el_GR.utf8 firefox index.html

その後、JavaScriptコンソール(通常を押して使用可能F12)を見ると、日付形式がLC設定を上書きすることがわかります。

私はまた、Windowsコンピュータで言語にenを、日付に対してplを持っているのにうまくいきます。 Linuxはなぜこれを行うことができないのですか?

私はこの問題を1年間取り上げてきました。 Googleで見つけたのは同様の問題を抱えていますが、解決策がない人やシステムの日付形式に問題がある人でした。

システム: Linux Mint 20 Xfce

ベストアンサー1

おすすめ記事