- PR -

OSの言語情報を取得したい。

1
投稿者投稿内容
まつとうや
常連さん
会議室デビュー日: 2004/09/04
投稿数: 42
投稿日時: 2005-06-28 16:09
こんにちわ、宜しくお願いします。

プログラムが稼動しているOSの言語が何かを取得して、
処理を分けたいのですが、
OSの言語情報は、どのように取得できるのでしょうか。
System.Environment.OSVersion
このあたりのメソッドやプロパティを調べてみましたが、
イマイチ分かりませんでした。
宜しくお願いします。
Hongliang
ぬし
会議室デビュー日: 2004/12/25
投稿数: 576
投稿日時: 2005-06-28 16:41
.NETでは言語だけでなく、言語・地域をベースとした文化を、CultureInfoクラスで扱います。
//.NETに限らずWindowsそのものがそんな感じなのかな。
現在のCultureInfoを取得するには、以下のプロパティがあります。
  • System.Threading.Thread.CurrentCulture
  • System.Globalization.CultureInfo.CurrentCulture または System.Windows.Forms.Application.CurrentCulture

前者はインスタンスプロパティ、後者は静的プロパティです。
これが何を意味するかというと、スレッド毎に"現在のカルチャ"を設定可能だと言うことです。
//可能と言うだけで、もちろん設定しなければデフォルトのままですが。
後者が取得するのは飽くまでこのメソッドを呼んだスレッドに設定されているカルチャである点に注意が必要です。

[ メッセージ編集済み 編集者: Hongliang 編集日時 2005-06-28 16:46 ]
ぽんちゃん
会議室デビュー日: 2005/02/21
投稿数: 4
投稿日時: 2005-06-28 16:43
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpref/html/frlrfSystemGlobalizationCultureInfoClassTopic.asp

などでは?
117
ベテラン
会議室デビュー日: 2005/05/09
投稿数: 94
お住まい・勤務地: 大阪府
投稿日時: 2005-06-28 17:12
#Hongliangさんとぽんちゃんの仰る通りの方法で解決されてるとは思いますが一応

杞憂とは思いますが
http://forums.belution.com/ja/vc/000/309/99s.shtml
↑の質問のような、「日本語版Windowsなら設定関係なく"日本版"の結果を得たい」という用件でしょうか?
[追記]
杞憂だったようなのでこのレスは忘れてください。的外れですいませんでした
_________________
Future Is What We Are!

[ メッセージ編集済み 編集者: 117 編集日時 2005-06-28 20:15 ]
まつとうや
常連さん
会議室デビュー日: 2004/09/04
投稿数: 42
投稿日時: 2005-06-28 20:01
分かりやすく丁寧なご回答本当にありがとうございました。
現在、OSの言語に応じて、自動的に表示文言を変更する
アプリを開発しようとしていまして大変参考になりました。
todo
ぬし
会議室デビュー日: 2003/07/23
投稿数: 682
投稿日時: 2005-06-29 10:25
引用:

現在、OSの言語に応じて、自動的に表示文言を変更する
アプリを開発しようとしていまして



VS.NETが多言語対応の面倒を見てくれます。

Windowsフォームを多言語対応にするには?
http://www.atmarkit.co.jp/fdotnet/dotnettips/314winmultilang/winmultilang.html
1

スキルアップ/キャリアアップ(JOB@IT)