問題タブ [currentculture]
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.
c# - フロートを解析する最良の方法は?
CSharp で float を解析する最良の方法は何ですか? TryParseについては知っていますが、特に疑問に思っているのは、ドット、コンマなどです。
ウェブサイトに問題があります。私の開発サーバーでは、「,」は小数用で、「.」は「.」です。セパレーター用。ただし、prod サーバーでは逆です。どうすればこれを最もよく捉えることができますか?
c# - C# doubles は、ピリオドの代わりにコンマを表示します
私はこのスレッドの男とほとんど同じ問題を抱えています:
コンマの代わりにピリオドを持つ Float を変換しますか?
だから私の
私は得るy == "234,4"
;
さらに悪いことに...Double.Parse("234.4")
例外がスローされます。
コンマの代わりにピリオドを使用するように求められる前に、私は多くのコードを書いたので、グローバル レベルで CultureInfo を変更する何らかの方法が必要です。
私ができるプロジェクトの設定はありますか?
私はもう試した:
彼らは一種の仕事です。それらはアプリケーションの大部分で機能しますが、私の TabControl のタブにあるすべてのコントロールは、私のコンピューターの Localized CultureInfo を引き続き使用したいと考えています。
これを解決する方法についてのアイデアはありますか?
winforms - WinForms コントロールの CurrentCulture をオーバーライドする
WinForms で特定のコントロールのCurrentCulture
とをオーバーライドすることは可能ですか? CurrentUICulture
この 1 つの特定のコントロールが異なるカルチャを使用するようにするには?
c# - スレッドプール スレッドのカルチャを変更すると、スレッドがプールに戻されるときに影響がありますか?
スレッド プール スレッドのを設定したCurrentCulture
場合、スレッドが実行を終了してスレッド プールに戻されるとどうなりますか? デフォルトにリセットされますかCurrentCulture
(それが何を意味するにせよ)、それとも私が設定した文化を保持しますか?
フレームワークがこれを防ぐためにスレッドをデフォルトの状態にリセットすることを望んでいますが、この効果に関するドキュメントが見つかりません。私が見つけた最も近いものは、ThreadPoolの MSDN ドキュメントからのものです。
スレッド プールがスレッドを再利用する場合、スレッド ローカル ストレージまたは ThreadStaticAttribute 属性でマークされたフィールドのデータは消去されません。したがって、あるメソッドによってスレッド ローカル ストレージに配置されたデータは、同じスレッド プール スレッドによって実行される他のメソッドに公開される可能性があります。
これは、スレッドが返されたときにスレッドがリセットされていないことを示しているようです。
これをテストするためにいくつかのサンプル コードを試しましたが、文化がリセットされたように見えますが、ThreadPool のスレッドの小さなサブセットしか使用していないと思うため、この動作を正しくテストしているとは確信できません。そのため、既にカルチャが設定されているスレッドをテストしているとは確信できません。
asp.net - 言語カルチャ スレッドをヘルパー クラスにフィードする方法
asp.net MVC 2 を使用して、Matt Hawley のローカライゼーション ヘルパーを Web アプリケーションで動作させようとしましたが、Language 文字列変数に null をフィードして行き詰まりました。なぜ私がこれをしているのか理解できません。
}
私は何が間違っているのでしょうか?
asp.net - InitializeCultureを使用したASP.NET設定カルチャ
.com、.de、.itの3つのドメインを持つWebサイトがあります
各ドメインは、デフォルトでその国の現地の言語/文化に設定する必要があります。ベースページを作成し、InitializeCultureを追加しました
これで結構です。ユーザーがドメイン言語を上書きできるように、ホームページに3つの言語選択ボタンも必要なため、この問題が発生します。
したがって、私のDefault.asp.vbには、このような3つのボタンイベントがあります...
ただし、もちろん、InititalizeCultureは、行われたボタンの選択をオーバーライドします。InitialCultureがボタンクリックが発生したかどうかを確認し、発生した場合はルーチンをスキップする方法はありますか?
何かアドバイスをいただければ幸いです。
c# - "8" の int.Parse が失敗します。int.Parse には常に CultureInfo.InvariantCulture が必要ですか?
私たちは、1 台を除くすべての既知のコンピューターで正常に動作する確立されたソフトウェアを開発しています。問題は、「8」で始まる文字列を解析することです。文字列の先頭にある「8」は予約文字のようです。
問題はint.Parse("8", CultureInfo.InvariantCulture)を使用して解決されます。ただし、問題の原因がわかると便利です。
質問:インバリアント カルチャを指定しないと、この "8" の動作になるのはなぜですか?
追加情報:
上記の結果を達成するための小さなプログラムをクライアントに送信しました。
アップデート
Microsoft Connect データベースのバグであるこのリンクに出くわしました。
同様の症状で問題があるようですが、本当の根本原因はありません。誰かがこれについて詳しく説明できれば、私は感謝します!
winforms - WinFormアプリでユーザーの言語設定を尊重/継承するにはどうすればよいですか?
私は過去にグローバリゼーション設定を使用しましたが、この質問のトピックである.NET環境内では使用していません。私が見ているのは、確かに私がまだ学んでいない知識によるものなので、以下の照明をいただければ幸いです。
セットアップ:私のデフォルトの言語設定は英語です(特にen-us)。開発システム(WinXP)に第2言語(デンマーク語)を追加し、言語バーを開いて、どちらかを自由に選択できるようにしました。
言語バーでデンマーク語を選択してからメモ帳を開くと、言語バーで言語が英語に戻っていることがわかりました。言語設定がアプリケーションごとであることを理解しているので、メモ帳がデフォルトを英語に戻したようです。(Windows、つまりメモ帳が世界中で使用されているので、奇妙だと思いました。)メモ帳を閉じると、言語バーの設定がデンマーク語に戻りました。次に、開いているカスタムWinFormアプリケーション(言語が設定されていないことがわかっています)を起動しました。また、開いたときに英語からデンマーク語に戻り、終了するとデンマーク語に戻りました。
質問#1A:起動時にWinFormアプリケーションを取得して、言語バーの現在の設定を継承するにはどうすればよいですか?私の実験では、各アプリケーションはシステムのデフォルトで起動し、アプリの実行後にユーザーが手動で変更する必要があることが示されているようです。これは、複数の言語で作業したい人にとっては大きな不便のようです。
質問#1B:実際、多言語シナリオで言語を手動で設定する必要がある場合、アプリの起動を別の言語でテストできるように、デフォルトのシステム言語(デンマーク語など)を変更するにはどうすればよいですか?
この次の実験のために、アプリケーションに現在の言語の表示を追加しました。具体的にはMouseEnter
、ツールチップをに設定するラベルにハンドラーを設定したCultureInfo.CurrentCulture.Name
ので、マウスオーバーするたびに現在の言語設定が表示されるはずだと思いました。アプリを起動する前に言語を設定しても機能しなかったため、アプリを起動してから言語をデンマーク語に設定しました。(TextBoxに入力するなど)いくつかのことがこのデンマーク語の設定を尊重していることがわかりました。しかし、インストルメントされたラベルにマウスを合わせると、まだen-usが表示されました。
質問#2A:CultureInfo.CurrentCulture.Name
アプリの他の部分が変更を認識しているように見えるのに、言語バーからの変更が反映されないのはなぜですか?(試しCultureInfo.CurrentUICulture.Name
てみると同じ結果が得られました。)
質問#2B:言語設定が変更されたときにアプリ内で認識できるように、言語バーの変更時に発生するイベントはありますか?
2010.05.13更新
マイクロソフトからエリックによって提供された短いが甘い情報(以下の彼の答えを参照)は、私の4つの質問(#2A)の1つだけに直接対処しましたが、それは私がさらに掘り下げて残りを理解するために必要な推進力を提供しました。これにも戸惑うかもしれない他の人の利益のために、ここに私が発見したものがあります:
回答#1A:アプリケーションは、言語バーで指定した言語ではなく、デフォルトの入力言語の設定を継承します。アプリケーションが実行されると、言語バーの変更はアプリによってすぐに通知されます。
回答#1B:デフォルトの入力言語の設定は、[地域と言語のオプション]コントロールパネル>>[言語]タブ>>[詳細]>>[設定]タブ>>デフォルトの入力言語で行います。
回答#2A:エリックが回答した現在の文化は、言語バーに反映されている現在の入力言語とは異なります。テキストボックスへの入力は、現在の入力言語によってのみ影響を受けます。
回答#2B:入力言語または現在のカルチャ変更通知のいずれにも事前定義されたイベントはありません。ここで注意すべき重要な事実は、入力言語の変更はすぐに自動的に認識されますが、現在の文化の変更は認識されないということです。現在のカルチャの変更を有効にするには、アプリケーションを再起動する必要があります。ただし、変更に気づき、自分で対応できる場合を除きます。そのために、変更に気付くためのフックを提供するMSDNの記事(CultureInfoクラスの多くの面)を見つけました。
c# - CurrentCultureを設定してもタイムゾーンが変更されないのはなぜですか?
私が調査したところ、スレッドのタイムゾーンを変更することはできません。だから私の質問はなぜあなたはできないのですか?
アプリケーションのカルチャを特定の国に切り替えると、これも切り替わると思います。これは、IMOの予想される動作のようです。
編集
改訂した後、デフォルトで1:1にマッピングされるべきではない理由がわかります。ただし、スレッドごとにタイムゾーンを変更できると便利な機能だと思います。