問題タブ [setlocale]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - PHPの別の言語での今日ではない日/月の名前
英語以外の言語で php で日の名前を取得しようとしています。ロケール設定をsetlocale(LC_ALL, 'nl_NL');
(これは true を返します) に変更しましたが、日付はまだ英語で表示されます。その後、それを機能させるために使用する必要があることがわかりましたがstrftime()
、それは設定された言語で現在の時刻を返すだけであり、定義済みの日数をループしようとしているため、出力は次のようになります
フライダーグ 8 月 30 日
Zaterdag 8 月 31 日
ゾンダグ 9月1日
等
現在のタイムスタンプから日数を減算/加算することも、私がやりたいことのオプションではありません。
python - 別のロケールで日付オブジェクトを strftime するにはどうすればよいですか?
Python に日付オブジェクトがあり、%a (平日) および %b (月) コードを使用して、レガシー システムの C ロケールでタイム スタンプを生成する必要があります。ただし、他の部分はユーザーの現在のロケールを尊重する必要があるため、アプリケーションのロケールを変更したくありません。特定のロケールで strftime() を呼び出す方法はありますか?
php - ウェブサイトの週/月名をローカライズするための setLocale(LC_TIME) の使用
次の 5 つの言語をサポートするサイトがあります。
- 英語
- フランス語
- ドイツ人
- イタリアの
- スペイン語
ユーザーは必要に応じて言語を交換できます。次のようなテキストで平日の月日を表示するページがあります。
1月12日月曜日
これに対する私のコードは次のとおりです。
localhost では、言語を切り替えると、週と月が切り替わり、正常に動作します。ただし、サーバー上では、常に英語で表示されます。_SESSION['lang'] は正常に動作し、変更されるため、ロケールが fr_FR である必要があるときにフランス語が表示されない理由がわかりません。
サーバーにロケールがインストールされていないことが原因でしょうか? または、これらの文字列をローカライズするより良い方法はありますか?
編集:私はまた、次のように setlocale 呼び出しに「.utf8」を追加しようとしました:
しかし、それも機能しませんでした(ローカルホストでもサーバーでも機能しませんでした)
php - ロケールが存在する場合でも PHP setlocale が機能しない
解決済みの問題 (下記参照)
サーバー上でロケールを生成し、それらが存在することを確認しました (私のロケール - 以下に提供)。
まったく機能しません。
サンプル:
結果:
locale -a (fr ロケールを表示):
お手伝いありがとう!
c++ - Boost で使用するさまざまな Unicode スクリプトの POSIX ロケール
Unicode std::string 出力に Boost Ofstream を使用しています。すべての言語 (6.3 までのすべての Unicode バージョン) をサポートするために、適切なロケール (ブースト)/エンコーディングを使用することにこだわっています。このコードは、VS2010 と GCC 4.8 の両方でコンパイルすることを目的としています。
さまざまなコンパイラからのさまざまな Unicode バージョン、エンコーディング、ロケール サポートを理解しようとしています。
php - setlocale php 関数は、ロケールがプラットフォームで利用可能であっても false を返します
私はクラウド プラットフォームで作業しており、サーバーは Apache です。
サイト インスタンスの 1 つで、php スクリプト setlocale(LC_ALL, "en_GB.utf8"); 常に false を返します。
このロケール「en_GB.utf8」は、locale -a を実行すると、プラットフォームで使用できることがわかります。また、 setlocale(LC_ALL, 0); にも気づきました。"C" を返します。
ここで、PHP/Apache は基盤となるプラットフォームのロケールを認識していないようです。誰かが私に何が間違っているのか教えてもらえますか?