=encoding euc-jp =head1 NAME Win32::OLE::NLS - OLE 各国語サポート =head1 SYNOPSIS ありません =head1 DESCRIPTION このモジュールは F の各国語サポート機能へのアクセスを提供します。 =head2 Functions =over 8 =item CompareString(LCID,FLAGS,STR1,STR2) LCIDロケールで STR1 と STR2 を比較します。 FLAGS は 2 つの文字列を比較する際に、使用されるあるいは無視される文字の特徴を示します。 NORM_IGNORECASE 大文字と小文字を区別しない NORM_IGNOREKANATYPE ひらがなとカタカナを区別しない NORM_IGNORENONSPACE 場所を取らない文字を区別しない NORM_IGNORESYMBOLS 記号を無視する NORM_IGNOREWIDTH 全角半角を区別しない 可能な戻り値は以下の通り: 0 関数が失敗 *1 STR1 は STR2よりも小さい 2 STR1 は STR2と同じ 3 STR1 は STR2よりも大きい C演算子と比較できる値を取得するために、戻り値から2を引くことができることに注意。 =item LCMapString(LCID,FLAGS,STR) LCMapString はLCIDに依存した変換でSTRを変換します。 Flags には以下のオプションの組み合わせが入ります: LCMAP_LOWERCASE 小文字化 LCMAP_UPPERCASE 大文字化 LCMAP_HALFWIDTH 半角化 LCMAP_FULLWIDTH 全角化 LCMAP_HIRAGANA ひらなが化 LCMAP_KATAKANA カタカナ化 LCMAP_SORTKEY 正規化されたワイド文字のソートキーを作成する 以下の正規化オプションはCに組み合わせることができます: NORM_IGNORECASE 大文字と小文字を区別しない NORM_IGNOREKANATYPE ひらがなとカタカナを区別しない NORM_IGNORENONSPACE 場所を取らない文字を区別しない NORM_IGNORESYMBOLS 記号を無視する NORM_IGNOREWIDTH 全角半角を区別しない 戻り値は変換された文字列です。 =item GetLocaleInfo(LCID,LCTYPE) ロケール設定lCTYPEをLCIDで指定されたロケールから取り出します。 常にロケール・データベースに問い合わせるためには LOCALE_NOUSEROVERRIDE | LCTYPEを使ってください。 そうでなければ値を取り出す際に、Windowsコントロール・パネルを通じてユーザによるwin.iniの変更が、システム・デフォルト・ロケールよりも優先されます。 適切なLCTYPE値のリストについては下記のドキュメントをご覧ください。 戻り値は要求されたロケール設定の内容です。 =item GetStringType(LCID,TYPE,STR) ロケールLCIDからSTRにある各文字についての型情報を取り出します。 要求されるTYPEは以下の3つのレベルのいずれかにすることができます: CT_CTYPE1 ANSI C と POSIX 型情報 CT_CTYPE2 テキスト・ライアウト型情報 CT_CTYPE3 テキスト処理型情報 戻り値は、下記の対応テーブルからの適応できるタイプビットのORによる値のリストです。: @ct = GetStringType(LOCALE_SYSTEM_DEFAULT, CT_CTYPE1, "String"); ANSI C と POSIX 文字型情報: C1_UPPER 大文字 C1_LOWER 小文字 C1_DIGIT 数字 C1_SPACE 空白文字 C1_PUNCT 句読点 C1_CNTRL 制御文字 C1_BLANK ブランク文字 C1_XDIGIT 16進数字 C1_ALPHA なんらかの文字 テキスト・レイアウト型情報: C2_LEFTTORIGHT 左から右 C2_RIGHTTOLEFT 右から左 C2_EUROPENUMBER ヨーロッパ数字 C2_EUROPESEPARATOR ヨーロッパ数字 区切り C2_EUROPETERMINATOR ヨーロッパ数字 終端 C2_ARABICNUMBER アラブ数字 C2_COMMONSEPARATOR 共通数字区切り C2_BLOCKSEPARATOR ブロック区切り C2_SEGMENTSEPARATOR セグメント区切り C2_WHITESPACE 空白 C2_OTHERNEUTRAL その他の中立文字 C2_NOTAPPLICABLE 暗黙の方向無し (例えば制御コード) テキスト処理型情報: C3_NONSPACING 非空白符 C3_DIACRITIC 読み分け発音符 C3_VOWELMARK 母音非空白符 C3_SYMBOL 記号 C3_KATAKANA カタカナ文字 C3_HIRAGANA ひらがな文字 C3_HALFWIDTH 半角文字 C3_FULLWIDTH 全角文字 C3_IDEOGRAPH 表意文字 C3_ALPHA すべての文字 C3_NOTAPPLICABLE 不適当 =item GetSystemDefaultLangID() システム・デフォルト言語IDを返します。 =item GetSystemDefaultLCID() システム・デフォルト・ロケールIDを返します。 =item GetUserDefaultLangID() ユーザ・デフォルト言語IDを返します。 =item GetUserDefaultLCID() ユーザ・デフォルト言語IDを返します。 =item SendSettingChange() すべてのトップ・レベル・ウィンドウにWM_SETTINGCHANGE メッセージを送ります。 =item SetLocaleInfo(LCID, LCTYPE, LCDATA) ロケール設定LCIDのユーザ上書き部分での要素を変更します。 システム・デフォルト・データベースは変更しません。 以下のLCTYPEが変更可能です: LOCALE_ICALENDARTYPE LOCALE_SDATE LOCALE_ICURRDIGITS LOCALE_SDECIMAL LOCALE_ICURRENCY LOCALE_SGROUPING LOCALE_IDIGITS LOCALE_SLIST LOCALE_IFIRSTDAYOFWEEK LOCALE_SLONGDATE LOCALE_IFIRSTWEEKOFYEAR LOCALE_SMONDECIMALSEP LOCALE_ILZERO LOCALE_SMONGROUPING LOCALE_IMEASURE LOCALE_SMONTHOUSANDSEP LOCALE_INEGCURR LOCALE_SNEGATIVESIGN LOCALE_INEGNUMBER LOCALE_SPOSITIVESIGN LOCALE_IPAPERSIZE LOCALE_SSHORTDATE LOCALE_ITIME LOCALE_STHOUSAND LOCALE_S1159 LOCALE_STIME LOCALE_S2359 LOCALE_STIMEFORMAT LOCALE_SCURRENCY LOCALE_SYEARMONTH サブシステムはロケール情報をキャッシュしているようなので、後のWin32::OLE::Variantオブジェクトの書式設定のために、これらの変更を有効にするためにはSendSettingChange()を呼び出さなければなりません。 =item MAKELANGID(LANG,SUBLANG) プライマリ言語とサブ言語から言語IDを作成します。 =item PRIMARYLANGID(LANGID) 言語IDからプライマリ言語を取り出します。 =item SUBLANGID(LANGID) 言語IDからサブ言語を取り出します。 =item MAKELCID(LANGID) 言語IDからロケールIDを作成します。 =item LANGIDFROMLCID(LCID) ロケールIDから言語IDを取り出します。 =back =head2 Locale Types =over 8 =item LOCALE_ILANGUAGE 言語ID (16進数)。 =item LOCALE_SLANGUAGE ローカライズされた言語名。 =item LOCALE_SENGLANGUAGE 言語のISO標準 639 英語名。 =item LOCALE_SABBREVLANGNAME 言語名の3文字の省略形。 最初の 2 文字は ISO 標準 639 の 2 文字の言語簡略名を使用します。 3番目の文字はサブ言語タイプを示します。 =item LOCALE_SNATIVELANGNAME 言語のネィティブな名前。 =item LOCALE_ICOUNTRY 国際電話コードをベースとした国コード。 =item LOCALE_SCOUNTRY 国のローカライズされた名前。 =item LOCALE_SENGCOUNTRY 国の英語名。 =item LOCALE_SABBREVCTRYNAME 国のISO 標準 3166 省略名。 =item LOCALE_SNATIVECTRYNAME 国のネィティブな名前。 =item LOCALE_IDEFAULTLANGUAGE このロケールで話されている主要な言語のための言語ID。 =item LOCALE_IDEFAULTCOUNTRY このロケールでの主要な国のための国コード。 =item LOCALE_IDEFAULTANSICODEPAGE このロケールに関連付けられたANSIコードページ。 書式: 4 Unicode 数字 プラス Unicode null 終端子。 XXX This should be translated by GetLocaleInfo. XXX =item LOCALE_IDEFAULTCODEPAGE 国に関連付けれられたOEMコードページ。 =item LOCALE_SLIST リスト要素を区切るために使われる文字(よくカンマが使われる)。 =item LOCALE_IMEASURE デフォルトの計測方式: 0 メートル法式(S.I.) 1 アメリカ 式 =item LOCALE_SDECIMAL 小数点のための文字(よくピリオドが使われる)。 =item LOCALE_STHOUSAND 数値の左側の数字のグループの間を区切るために使われる文字(桁区切り文字)。 =item LOCALE_SGROUPING 数字の左側の数字のグループの大きさ(区切る桁数)。 各グループのために明確な大きさが必要とされます。 大きさはセミコロンで区切られます。 もし最後の値が0であれば、前の値が繰り返されます。 1000単位でグループにするには、3;0を指定してください。 =item LOCALE_IDIGITS 小数点以下の桁数。 =item LOCALE_ILZERO 10進数のフィールドで前に0をつけるかどうか。 0を設定すると0はつきません; 1は0をつけます。 =item LOCALE_SNATIVEDIGITS ASCII の 0-9 と等価なネィティブな10文字。 =item LOCALE_INEGNUMBER 負の数値のモード。 0 (1.1) 1 -1.1 2 -1.1 3 1.1 4 1.1 =item LOCALE_SCURRENCY ローカルな通貨記号として使われる文字列。 =item LOCALE_SINTLSYMBOL ISO 4217 Codes for the Representation of Currency and Fundsで指定された国際通貨記号 3 文字、その後にこの文字列と数量を区切る文字がつく。 =item LOCALE_SMONDECIMALSEP 通貨での小数を区切るために使われる文字。 =item LOCALE_SMONTHOUSANDSEP 通貨での数字の桁を区切るために使われる文字。 =item LOCALE_SMONGROUPING 通貨での数字の桁を区切る桁数。 各グループのために明確な大きさが必要とされます。 大きさはセミコロンで区切られます。 もし最後の値が0であれば、前の値が繰り返されます。 1000単位でグループにするには、3;0を指定してください。 =item LOCALE_ICURRDIGITS ローカルな通貨フォーマットのための小数点以下の桁数。 =item LOCALE_IINTLCURRDIGITS 国際通貨フォーマットのための小数点以下の桁数。 =item LOCALE_ICURRENCY 正の通貨モード。 0 前につける、区切り無し 1 後ろにつける、区切り無し 2 前につける, 1文字の区切り 3 後ろにつける、1文字の区切り =item LOCALE_INEGCURR 負の通貨モード。 0 ($1.1) 1 -$1.1 2 $-1.1 3 $1.1- 4 $(1.1$) 5 -1.1$ 6 1.1-$ 7 1.1$- 8 -1.1 $ ($ の前に空白) 9 -$ 1.1 ($ の後に空白) 10 1.1 $- ($ の前に空白) =item LOCALE_ICALENDARTYPE 現在使われているカレンダーの種類。 1 グレゴリオ歴 (アメリカでのような) 2 グレゴリオ歴 (常に英語の文字列) 3 元号: (日本) 4 元号: 中華民国 5 檀紀 (朝鮮) =item LOCALE_IOPTIONALCALENDAR このLCIDで利用できる追加のカレンダーの種類。 ヌルで区切ってオプションのカレンダがすべて入ったリストにすることができます。 何もなければ値は0、あるいはLOCALE_ICALENDARTYPE文字列のいずれか。 XXX ヌル区切りのリストはGetLocaleInfoで変換されるべき XXX。 =item LOCALE_SDATE 日付区切りに使われる文字。 =item LOCALE_STIME 時刻区切りに使われる文字。 =item LOCALE_STIMEFORMAT 時刻書式設定文字列。 =item LOCALE_SSHORTDATE このロケールでの短い日付時刻書式設定文字列。 =item LOCALE_SLONGDATE このロケールでの長い日付時刻書式設定文字列。 =item LOCALE_IDATE 短い日付書式の順序指定子。 0 月 - 日 - 年 1 日 - 月 - 年 2 年 - 月 - 日 =item LOCALE_ILDATE 長い日付書式の順序指定子。 LOCALE_IDATE設定のための適切な値のいずれにもすることができます。 =item LOCALE_ITIME 時刻書式設定指定子。 0 AM/PM 12時間形式 1 24時間 形式 =item LOCALE_ITIMEMARKPOSN 時刻マーカー文字列(AM|PM)が時刻文字列の前につくか後につくか。 0 後(9:15 AM) 1 前(AM 9:15) =item LOCALE_ICENTURY 完全な 4 桁の年を使うかどうか。 0 2桁。 1 年全体。 =item LOCALE_ITLZERO 時刻フィールドで0が前につくかどうか。 0 前に0をつけない。 1 時間の前に0をつける。 =item LOCALE_IDAYLZERO 日のフィールドで0をつけるかどうか。 値はLOCALE_ITLZEROと同じ。 =item LOCALE_IMONLZERO 月のフィールドで0をつけるかどうか。 値はLOCALE_ITLZEROと同じ。 =item LOCALE_S1159 午前を表すための文字列。 =item LOCALE_S2359 午後を表すための文字列。 =item LOCALE_IFIRSTWEEKOFYEAR その年のどの週を最初と考えるかを指定する。 0 1/1が含まれる週をその年の最初の週とする。 1 1/1の後の1週間をその年の最初の週とする。 2 少なくとも4日ある最初の週をその年の最初の週とする。 =item LOCALE_IFIRSTDAYOFWEEK 週の最初の日と考えられる日を指定します。 値"0"はSDAYNAME1、値"6"はSDAYNAME7を意味します。 =item LOCALE_SDAYNAME1 .. LOCALE_SDAYNAME7 月曜日から日曜日のための長い名前。 =item LOCALE_SABBREVDAYNAME1 .. LOCALE_SABBREVDAYNAME7 月曜日から日曜日のための省略名。 =item LOCALE_SMONTHNAME1 .. LOCALE_SMONTHNAME12 1月から12月のための長い名前。 =item LOCALE_SMONTHNAME13 もしあれば13番目の月のメイティブな名前。 =item LOCALE_SABBREVMONTHNAME1 .. LOCALE_SABBREVMONTHNAME12 1月から12月のための省略名。 =item LOCALE_SABBREVMONTHNAME13 もしあれば13番目の月のネィティブな省略名。 =item LOCALE_SPOSITIVESIGN 正の記号のための文字列。 =item LOCALE_SNEGATIVESIGN 負の記号のための文字列。 =item LOCALE_IPOSSIGNPOSN 正の値のための書式インデックス。 0 通貨記号も含めた全体を括弧で囲む。 1 符号文字列を全体と通貨記号の前につける。 2 符号文字列を全体と通貨記号の後につける。 3 符号文字列を通貨記号の前につける。 4 符号文字列を通貨記号の後につける。 =item LOCALE_INEGSIGNPOSN 負の値のための書式インデックス。 値はLOCALE_IPOSSIGNPOSNと同じ。 =item LOCALE_IPOSSYMPRECEDES もし通貨記号が前につくのであれば 1。 それが正の数値の後に続くのであれば 0。 =item LOCALE_IPOSSEPBYSPACE 通貨記号が正の数値から空白によって区切られるのであれば1。 そうでなければ0。 =item LOCALE_INEGSYMPRECEDES もし通貨記号が前につくのであれば 1。 それが負の数値の後に続くのであれば0。 =item LOCALE_INEGSEPBYSPACE 通貨記号が負の数値から空白によって区切られるのであれば1。 そうでなければ0。 =back =head1 AUTHORS/COPYRIGHT このモジュールは Win32::OLE ディストリビューションの一部です。 =cut