多言語 Web アプリを構築しています。クライアントは、HK のサイトが英語で表示されることを要求しています。残念ながら、「en-HK」は asp.net では有効なカルチャではないため、「zh-hk」を使用して回避しようとしました。ただし、これにより、日時文字列 (dd-MMM-yyyy の形式) が中国語で表示されました。
言語を英語で表示するが、Hk にローカライズする方法はありますか?
多言語 Web アプリを構築しています。クライアントは、HK のサイトが英語で表示されることを要求しています。残念ながら、「en-HK」は asp.net では有効なカルチャではないため、「zh-hk」を使用して回避しようとしました。ただし、これにより、日時文字列 (dd-MMM-yyyy の形式) が中国語で表示されました。
言語を英語で表示するが、Hk にローカライズする方法はありますか?
CurrentUICulture
ローカライズされたリソースの選択を制御します。英語の文化に設定します(例:「en」または「en-GB」)。
CurrentCulture
日と月の名前を含む、数値と日付の形式などを制御します。「en-GB」に設定するか、「en-GB」に基づくカスタムカルチャに設定しますが、必要に応じて変更を加えます(たとえば、投稿で日付区切り文字として「-」が必要であることが示されています:dd-MMM-yyyy )。
どちらもタイムゾーンなどには影響しないので、単に「en-GB」を使用するだけで問題になる理由はよくわかりません。
私は香港についてあまり知りませんが、最近の歴史を考えると、そこで使用されている英語の慣習は、おそらく米国英語ではなく英国英語に基づいています. 香港で使用されている短い日付形式 (ここのウィキペディアに記載されています) は、確かにこの主張を裏付けているようです: 日/月/年です (月/日/年である米国スタイルとは異なり、英国スタイル)。
en-HK のカスタム カルチャ (Windows 7 以降でサポート) はいつでも作成できます。これはCultureAndRegionInfoBuilderクラスを使用して行われ、上記の私のコメントが正しければ、en-GB カルチャに基づいて en-HK CultureInfo を作成できます。これにより、必要に応じて CultureInfo の要素の一部をカスタマイズできます (さらに重要なのは、香港の違いを知っている場合)。カスタム カルチャを en-GB に基づいて作成すると、日付形式で月の名前が英語で表示されます。しかし、カスタム カルチャを作成するのは、おそらくやり過ぎです。
もっと簡単に言えば、en-GB カルチャ名を使用できます。あなたのアプリは、香港に当てはまらない en-GB 文化の難解なものを使用していない可能性があります。
注:混乱がある場合、日付の書式設定Thread.CurrentUICulture
は何の効果もありません。これは、何に設定されているかに完全に依存しThread.CurrentCulture
ます (また、「en」などのニュートラル カルチャが OK である CurrentUICulture とは異なり、特定のカルチャでなければなりません)。 .