問題タブ [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# - C# で DataTable.Compute を使用してカンマ区切りの式を評価する
で区切られた数値を含む式があります。, or .
つまり、式の数値は になります2,3 or 2.3
。値が上記のいずれかの形式で格納されているデータベースから式を生成するための値を取得します。Calculate
実行時にユーザーが値を入力するページに追加のテキスト ボックスがあります。
値が の形式2.3
の場合、値は によって計算されDataTable.Compute
、結果はコンマ区切り形式になります。DataTable.Compute
文字列を評価するにはどうすればよいですか?
追加しましたが、それでも機能しません。私は得るSyntaxErrorException
編集
,
式の を に置き換えると.
、問題を解決できます。しかし、結果がコンマ区切り形式で表示される場合、同じ形式での入力を受け入れないのはなぜですか?
c# - CultureInfo 1031 で IndexOf を使用した ArgumentOutOfRangeException
CultureInfo 1031 (ドイツ語) を実行しています。
IndexOf は、'straße' または 'strasse' を定義済みの 'strasse' と一致させ、位置として 18 を返します。
Remove も Replace も、カルチャを設定するためのオーバーロードはありません。
入力文字列が「strasse」で「straße」が機能する場合、Remove を使用して 6 文字を削除すると、1 文字が残ります。入力文字列が「straße」で、7 文字を削除すると、ArgumentOutOfRangeException が発生します。
見つかった文字列を安全に削除する方法はありますか? IndexOf の最後のインデックスを提供するメソッドはありますか? 私は IndexOf に近づきましたが、それは予想どおり内部のネイティブ コードです。
c# - 並列ブロックでスレッド カルチャを正しく継承する方法は?
ASP MVC Web サイトで自動グローバリゼーションを使用しています。並列ブロックに到達するまでは正常に機能します。
並列ブロックに文化を継承させる最善の方法は何ですか? このソリューションとは別に:
c# - IE11 言語の変更が Windows 10 の日付形式に有効でないのはなぜですか?
簡単な質問ですが、私の mvc アプリケーションでは、現在のカルチャ スレッドがブラウザー設定で設定された言語に従っていないことに気付きました。
私はIE11とWindows 10(最後にリリースされたビルド)を使用しています。
スレッド カルチャが IT に設定されているため、日付形式が英語 (米国) d/MM/yyyy に設定されていても、mvc ASP ネット アプリケーションは常にデータをヨーロッパ形式で表示します。
Windows 7 のような以前の Windows バージョンではこの動作に遭遇しなかったため、奇妙です。
Windows設定で有効になっているジオローカライゼーションに関連している可能性がありますか? または任意のコルタナ設定?? Windows 10は現在「スマート」であり、接続する場所に応じて、ブラウザーの言語設定を無視して、スレッドの言語を自動的に設定すると思いました...
注意: 私の PC は会社のドメインで登録されています。ローカリゼーションを無効にすると、日付がブラウザで設定された言語と一致していることがわかりますが、それがどのように機能するのか、またはこの設定に完全に関連しているかどうかを正確に理解できません。
ご提案いただきありがとうございます。
よろしく。
binding - NInject の使用時にカルチャに基づいて接続文字列を切り替える
現在のカルチャに基づいて、Ninject バインディングを使用して DbContext の接続文字列を切り替えることができるかどうか、誰にでもアドバイスできますか? 私の現在の(動作していない)タラは以下の通りです。
これは、Ninject - サブドメインに基づいて接続文字列を動的に指定するGetCultureBasedConnectionString()
例に基づいていますが、アプリケーションの起動時を除いて、リクエストごとにメソッドを呼び出すことはありません...
ここで読んだので、NInjects Rebind() メソッドを使用するのは良くありません。
この SO スレッドも、私を正しい方向に導きませんでした。
asp.net - ASP.NET MVC 5 ローカリゼーション リソースがフリーズし、CurrentThread.CurrentCulture を変更しても言語が変更されない
IIS 8 の Web サイトで実行されている ASP.NET MVC 5 WEB アプリケーションがあり、DB から読み取ってセッション変数に保存するユーザー設定によって実行時にプログラムで言語を変更する必要があり、この値は実行時に変更される可能性があります。ドロップダウン付き。
問題は、CurrentCulture が変更されているにもかかわらず、言語リソースが変更されないことがあり、さらに悪いことに、アプリケーション レベルでフリーズして、他のすべてのユーザー セッションもその言語にフリーズし、すべてのアプリケーション セッションで同じ言語のみが表示されることです。好みに関係なくスタックするか、実行時に言語を変更しようとしても、正常に動作しているときに CurrentThread.CurrentCulture が強制的に変更されます。
ビューで非表示のテキストを使用して、CurrentThread.CurrentCulture が何であったかを追跡し、期待どおりに変化しているため、問題は別の場所にあるはずです。
これは、CurrentCulture の検査に使用するカミソリ ブロックです。
また、実行時に言語または resx がアプリケーション レベルでフリーズ/スタックしている場合、値は実際には正しく選択されていますが、ビューに表示されている言語と一致せず、たとえば変更を加えるまで正常に動作しません。 web.config またはアプリケーションを再起動すると、しばらくは正常に動作しますが、あまり長くは続きません。
問題は、これがすべてのユーザー セッションのアプリケーション レベルで発生し、アプリケーションが正常に動作しているときに CurrentCulture が実際に期待どおりに変化し、再起動するたびにこれが発生しないことです。現在のすべてのセッション、さらには新しいセッションの言語。
カミソリ ビュー、アクション フィルター、およびベース コントローラーにもカルチャ ロジックの変更を配置しようとしましたが、問題は解決しませんでした。以前は、すべてのコントローラーが継承したベース コントローラーと、変更する Global.asax.cs のロジックがありました。そして文化を決定します。
私の現在のアプローチは、ベースコントローラーを削除し、Global.asax.cs Application_AcquireRequestState (私も Application_BeginRequest を使用してみましたが、どういうわけかライフサイクルが早すぎます) とアクションフィルターの両方で使用することでした。
これは Global.asax.cs にあります
そして、このような私のアクションフィルター
そして、それを FilterConfig に追加しました
ユーザーがカルチャを変更したときに ClearCachedData を使用しようとさえしました。
これはキャッシングまたはプールのリサイクルに関連している可能性があると思いますが、次に何を試すべきかわかりません。
web.config でグローバリゼーション タグを使用していません。
CurrentThread.CurrentCulture のビューでトレースされた値は常に正しいですが、問題はリソースの使用によるフリーズです。
リソースは、それらを別の専用の標準フォルダーに配置し、PublicResXFileCodeGenerator を使用してそれらを公開してコンパイルし、コントローラー、ビューなどにアクセスできるようにするという慣行と一致しています。
リソース フォルダー
誰かが私に別の選択肢を提供してくれませんか?
javascript - JavaScript:カルチャ設定から日付形式を取得する
JavaScript を使用して、定義したカルチャ設定から日付形式を取得したいと考えています。My Culture は、Web.config ファイルで次のように定義されています。
定義された文化を取得しています
そして私はそれを私のクライアントに渡しています。クライアント側では、momemt.js ライブラリを使用して、json の日付を実際の日付形式に解析しています。
必要な日付形式で日付を取得していますが、"16/07/2016"
この形式も取得して、dd/MM/yyyy
このカルチャ日付形式をhtmlで使用できるようにしたい(日付ピッカー用)。
クライアント側でカルチャ情報を使用してこの日付形式を取得する方法を教えてください。
c# - 1 つのカルチャに対して複数の resx ファイル
複数のカルチャ タイプをサポートする必要がある ac# アプリケーションがあります。言語ごとに作成された resx ファイルがあり、カルチャ タイプを変更すると、使用している resx ファイルが変更されます。よく働く。現在、私が使用したラベルが気に入らないクライアントがいます。彼らは en-US カルチャに属しており、en-US の resx を変更せず、ほとんどのクライアントと同じようにしたいと思いますが、この特定のクライアントのリソース ファイルを変更する方法はありますかまだ en-US の一部ですか? たとえば、「en-US2」resx ファイルなどを作成して、それを指すことはできますか? または、同じ言語に対して複数の異なる resx ファイルを持つより良い方法はありますか?