📄 nls.pm
字号:
# The documentation is at the __END__
package Win32::OLE::NLS;
require Win32::OLE; # Make sure the XS bootstrap has been called
use strict;
use vars qw(@EXPORT @EXPORT_OK %EXPORT_TAGS @ISA);
use Exporter;
@ISA = qw(Exporter);
@EXPORT = qw(
CompareString
LCMapString
GetLocaleInfo
GetStringType
GetSystemDefaultLangID
GetSystemDefaultLCID
GetUserDefaultLangID
GetUserDefaultLCID
MAKELANGID
PRIMARYLANGID
SUBLANGID
LANG_SYSTEM_DEFAULT
LANG_USER_DEFAULT
MAKELCID
LANGIDFROMLCID
LOCALE_SYSTEM_DEFAULT
LOCALE_USER_DEFAULT
);
%EXPORT_TAGS =
(
CT => [qw(CT_CTYPE1 CT_CTYPE2 CT_CTYPE3)],
C1 => [qw(C1_UPPER C1_LOWER C1_DIGIT C1_SPACE C1_PUNCT
C1_CNTRL C1_BLANK C1_XDIGIT C1_ALPHA)],
C2 => [qw(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 => [qw(C3_NONSPACING C3_DIACRITIC C3_VOWELMARK C3_SYMBOL C3_KATAKANA
C3_HIRAGANA C3_HALFWIDTH C3_FULLWIDTH C3_IDEOGRAPH C3_KASHIDA
C3_ALPHA C3_NOTAPPLICABLE)],
NORM => [qw(NORM_IGNORECASE NORM_IGNORENONSPACE NORM_IGNORESYMBOLS
NORM_IGNOREWIDTH NORM_IGNOREKANATYPE NORM_IGNOREKASHIDA)],
LCMAP => [qw(LCMAP_LOWERCASE LCMAP_UPPERCASE LCMAP_SORTKEY LCMAP_HALFWIDTH
LCMAP_FULLWIDTH LCMAP_HIRAGANA LCMAP_KATAKANA)],
LANG => [qw(LANG_NEUTRAL LANG_ALBANIAN LANG_ARABIC LANG_BAHASA
LANG_BULGARIAN LANG_CATALAN LANG_CHINESE LANG_CZECH LANG_DANISH
LANG_DUTCH LANG_ENGLISH LANG_FINNISH LANG_FRENCH LANG_GERMAN
LANG_GREEK LANG_HEBREW LANG_HUNGARIAN LANG_ICELANDIC
LANG_ITALIAN LANG_JAPANESE LANG_KOREAN LANG_NORWEGIAN
LANG_POLISH LANG_PORTUGUESE LANG_RHAETO_ROMAN LANG_ROMANIAN
LANG_RUSSIAN LANG_SERBO_CROATIAN LANG_SLOVAK LANG_SPANISH
LANG_SWEDISH LANG_THAI LANG_TURKISH LANG_URDU)],
SUBLANG => [qw(SUBLANG_NEUTRAL SUBLANG_DEFAULT SUBLANG_SYS_DEFAULT
SUBLANG_CHINESE_SIMPLIFIED SUBLANG_CHINESE_TRADITIONAL
SUBLANG_DUTCH SUBLANG_DUTCH_BELGIAN SUBLANG_ENGLISH_US
SUBLANG_ENGLISH_UK SUBLANG_ENGLISH_AUS SUBLANG_ENGLISH_CAN
SUBLANG_ENGLISH_NZ SUBLANG_ENGLISH_EIRE SUBLANG_FRENCH
SUBLANG_FRENCH_BELGIAN SUBLANG_FRENCH_CANADIAN
SUBLANG_FRENCH_SWISS SUBLANG_GERMAN SUBLANG_GERMAN_SWISS
SUBLANG_GERMAN_AUSTRIAN SUBLANG_ITALIAN SUBLANG_ITALIAN_SWISS
SUBLANG_NORWEGIAN_BOKMAL SUBLANG_NORWEGIAN_NYNORSK
SUBLANG_PORTUGUESE SUBLANG_PORTUGUESE_BRAZILIAN
SUBLANG_SERBO_CROATIAN_CYRILLIC SUBLANG_SERBO_CROATIAN_LATIN
SUBLANG_SPANISH SUBLANG_SPANISH_MEXICAN
SUBLANG_SPANISH_MODERN)],
CTRY => [qw(CTRY_DEFAULT CTRY_AUSTRALIA CTRY_AUSTRIA CTRY_BELGIUM
CTRY_BRAZIL CTRY_CANADA CTRY_DENMARK CTRY_FINLAND CTRY_FRANCE
CTRY_GERMANY CTRY_ICELAND CTRY_IRELAND CTRY_ITALY CTRY_JAPAN
CTRY_MEXICO CTRY_NETHERLANDS CTRY_NEW_ZEALAND CTRY_NORWAY
CTRY_PORTUGAL CTRY_PRCHINA CTRY_SOUTH_KOREA CTRY_SPAIN
CTRY_SWEDEN CTRY_SWITZERLAND CTRY_TAIWAN CTRY_UNITED_KINGDOM
CTRY_UNITED_STATES)],
LOCALE => [qw(LOCALE_NOUSEROVERRIDE LOCALE_ILANGUAGE LOCALE_SLANGUAGE
LOCALE_SENGLANGUAGE LOCALE_SABBREVLANGNAME
LOCALE_SNATIVELANGNAME LOCALE_ICOUNTRY LOCALE_SCOUNTRY
LOCALE_SENGCOUNTRY LOCALE_SABBREVCTRYNAME LOCALE_SNATIVECTRYNAME
LOCALE_IDEFAULTLANGUAGE LOCALE_IDEFAULTCOUNTRY
LOCALE_IDEFAULTCODEPAGE LOCALE_IDEFAULTANSICODEPAGE LOCALE_SLIST
LOCALE_IMEASURE LOCALE_SDECIMAL LOCALE_STHOUSAND
LOCALE_SGROUPING LOCALE_IDIGITS LOCALE_ILZERO LOCALE_INEGNUMBER
LOCALE_SNATIVEDIGITS LOCALE_SCURRENCY LOCALE_SINTLSYMBOL
LOCALE_SMONDECIMALSEP LOCALE_SMONTHOUSANDSEP LOCALE_SMONGROUPING
LOCALE_ICURRDIGITS LOCALE_IINTLCURRDIGITS LOCALE_ICURRENCY
LOCALE_INEGCURR LOCALE_SDATE LOCALE_STIME LOCALE_SSHORTDATE
LOCALE_SLONGDATE LOCALE_STIMEFORMAT LOCALE_IDATE LOCALE_ILDATE
LOCALE_ITIME LOCALE_ITIMEMARKPOSN LOCALE_ICENTURY LOCALE_ITLZERO
LOCALE_IDAYLZERO LOCALE_IMONLZERO LOCALE_S1159 LOCALE_S2359
LOCALE_ICALENDARTYPE LOCALE_IOPTIONALCALENDAR
LOCALE_IFIRSTDAYOFWEEK LOCALE_IFIRSTWEEKOFYEAR LOCALE_SDAYNAME1
LOCALE_SDAYNAME2 LOCALE_SDAYNAME3 LOCALE_SDAYNAME4
LOCALE_SDAYNAME5 LOCALE_SDAYNAME6 LOCALE_SDAYNAME7
LOCALE_SABBREVDAYNAME1 LOCALE_SABBREVDAYNAME2
LOCALE_SABBREVDAYNAME3 LOCALE_SABBREVDAYNAME4
LOCALE_SABBREVDAYNAME5 LOCALE_SABBREVDAYNAME6
LOCALE_SABBREVDAYNAME7 LOCALE_SMONTHNAME1 LOCALE_SMONTHNAME2
LOCALE_SMONTHNAME3 LOCALE_SMONTHNAME4 LOCALE_SMONTHNAME5
LOCALE_SMONTHNAME6 LOCALE_SMONTHNAME7 LOCALE_SMONTHNAME8
LOCALE_SMONTHNAME9 LOCALE_SMONTHNAME10 LOCALE_SMONTHNAME11
LOCALE_SMONTHNAME12 LOCALE_SMONTHNAME13 LOCALE_SABBREVMONTHNAME1
LOCALE_SABBREVMONTHNAME2 LOCALE_SABBREVMONTHNAME3
LOCALE_SABBREVMONTHNAME4 LOCALE_SABBREVMONTHNAME5
LOCALE_SABBREVMONTHNAME6 LOCALE_SABBREVMONTHNAME7
LOCALE_SABBREVMONTHNAME8 LOCALE_SABBREVMONTHNAME9
LOCALE_SABBREVMONTHNAME10 LOCALE_SABBREVMONTHNAME11
LOCALE_SABBREVMONTHNAME12 LOCALE_SABBREVMONTHNAME13
LOCALE_SPOSITIVESIGN LOCALE_SNEGATIVESIGN LOCALE_IPOSSIGNPOSN
LOCALE_INEGSIGNPOSN LOCALE_IPOSSYMPRECEDES LOCALE_IPOSSEPBYSPACE
LOCALE_INEGSYMPRECEDES LOCALE_INEGSEPBYSPACE)]
);
foreach my $tag (keys %EXPORT_TAGS) {
push @EXPORT_OK, @{$EXPORT_TAGS{$tag}};
}
# Character Type Flags
sub CT_CTYPE1 { 0x0001; }
sub CT_CTYPE2 { 0x0002; }
sub CT_CTYPE3 { 0x0004; }
# Character Type 1 Bits
sub C1_UPPER { 0x0001; }
sub C1_LOWER { 0x0002; }
sub C1_DIGIT { 0x0004; }
sub C1_SPACE { 0x0008; }
sub C1_PUNCT { 0x0010; }
sub C1_CNTRL { 0x0020; }
sub C1_BLANK { 0x0040; }
sub C1_XDIGIT { 0x0080; }
sub C1_ALPHA { 0x0100; }
# Character Type 2 Bits
sub C2_LEFTTORIGHT { 0x1; }
sub C2_RIGHTTOLEFT { 0x2; }
sub C2_EUROPENUMBER { 0x3; }
sub C2_EUROPESEPARATOR { 0x4; }
sub C2_EUROPETERMINATOR { 0x5; }
sub C2_ARABICNUMBER { 0x6; }
sub C2_COMMONSEPARATOR { 0x7; }
sub C2_BLOCKSEPARATOR { 0x8; }
sub C2_SEGMENTSEPARATOR { 0x9; }
sub C2_WHITESPACE { 0xA; }
sub C2_OTHERNEUTRAL { 0xB; }
sub C2_NOTAPPLICABLE { 0x0; }
# Character Type 3 Bits
sub C3_NONSPACING { 0x0001; }
sub C3_DIACRITIC { 0x0002; }
sub C3_VOWELMARK { 0x0004; }
sub C3_SYMBOL { 0x0008; }
sub C3_KATAKANA { 0x0010; }
sub C3_HIRAGANA { 0x0020; }
sub C3_HALFWIDTH { 0x0040; }
sub C3_FULLWIDTH { 0x0080; }
sub C3_IDEOGRAPH { 0x0100; }
sub C3_KASHIDA { 0x0200; }
sub C3_ALPHA { 0x8000; }
sub C3_NOTAPPLICABLE { 0x0; }
# String Flags
sub NORM_IGNORECASE { 0x0001; }
sub NORM_IGNORENONSPACE { 0x0002; }
sub NORM_IGNORESYMBOLS { 0x0004; }
sub NORM_IGNOREWIDTH { 0x0008; }
sub NORM_IGNOREKANATYPE { 0x0040; }
sub NORM_IGNOREKASHIDA { 0x40000;}
# Locale Dependent Mapping Flags
sub LCMAP_LOWERCASE { 0x0100; }
sub LCMAP_UPPERCASE { 0x0200; }
sub LCMAP_SORTKEY { 0x0400; }
sub LCMAP_HALFWIDTH { 0x0800; }
sub LCMAP_FULLWIDTH { 0x1000; }
sub LCMAP_HIRAGANA { 0x2000; }
sub LCMAP_KATAKANA { 0x4000; }
# Primary Language Identifier
sub LANG_NEUTRAL { 0x00; }
sub LANG_ALBANIAN { 0x1c; }
sub LANG_ARABIC { 0x01; }
sub LANG_BAHASA { 0x21; }
sub LANG_BULGARIAN { 0x02; }
sub LANG_CATALAN { 0x03; }
sub LANG_CHINESE { 0x04; }
sub LANG_CZECH { 0x05; }
sub LANG_DANISH { 0x06; }
sub LANG_DUTCH { 0x13; }
sub LANG_ENGLISH { 0x09; }
sub LANG_FINNISH { 0x0b; }
sub LANG_FRENCH { 0x0c; }
sub LANG_GERMAN { 0x07; }
sub LANG_GREEK { 0x08; }
sub LANG_HEBREW { 0x0d; }
sub LANG_HUNGARIAN { 0x0e; }
sub LANG_ICELANDIC { 0x0f; }
sub LANG_ITALIAN { 0x10; }
sub LANG_JAPANESE { 0x11; }
sub LANG_KOREAN { 0x12; }
sub LANG_NORWEGIAN { 0x14; }
sub LANG_POLISH { 0x15; }
sub LANG_PORTUGUESE { 0x16; }
sub LANG_RHAETO_ROMAN { 0x17; }
sub LANG_ROMANIAN { 0x18; }
sub LANG_RUSSIAN { 0x19; }
sub LANG_SERBO_CROATIAN { 0x1a; }
sub LANG_SLOVAK { 0x1b; }
sub LANG_SPANISH { 0x0a; }
sub LANG_SWEDISH { 0x1d; }
sub LANG_THAI { 0x1e; }
sub LANG_TURKISH { 0x1f; }
sub LANG_URDU { 0x20; }
# Sublanguage Identifier
sub SUBLANG_NEUTRAL { 0x00; }
sub SUBLANG_DEFAULT { 0x01; }
sub SUBLANG_SYS_DEFAULT { 0x02; }
sub SUBLANG_CHINESE_SIMPLIFIED { 0x02; }
sub SUBLANG_CHINESE_TRADITIONAL { 0x01; }
sub SUBLANG_DUTCH { 0x01; }
sub SUBLANG_DUTCH_BELGIAN { 0x02; }
sub SUBLANG_ENGLISH_US { 0x01; }
sub SUBLANG_ENGLISH_UK { 0x02; }
sub SUBLANG_ENGLISH_AUS { 0x03; }
sub SUBLANG_ENGLISH_CAN { 0x04; }
sub SUBLANG_ENGLISH_NZ { 0x05; }
sub SUBLANG_ENGLISH_EIRE { 0x06; }
sub SUBLANG_FRENCH { 0x01; }
sub SUBLANG_FRENCH_BELGIAN { 0x02; }
sub SUBLANG_FRENCH_CANADIAN { 0x03; }
sub SUBLANG_FRENCH_SWISS { 0x04; }
sub SUBLANG_GERMAN { 0x01; }
sub SUBLANG_GERMAN_SWISS { 0x02; }
sub SUBLANG_GERMAN_AUSTRIAN { 0x03; }
sub SUBLANG_ITALIAN { 0x01; }
sub SUBLANG_ITALIAN_SWISS { 0x02; }
sub SUBLANG_NORWEGIAN_BOKMAL { 0x01; }
sub SUBLANG_NORWEGIAN_NYNORSK { 0x02; }
sub SUBLANG_PORTUGUESE { 0x02; }
sub SUBLANG_PORTUGUESE_BRAZILIAN { 0x01; }
sub SUBLANG_SERBO_CROATIAN_CYRILLIC { 0x02; }
sub SUBLANG_SERBO_CROATIAN_LATIN { 0x01; }
sub SUBLANG_SPANISH { 0x01; }
sub SUBLANG_SPANISH_MEXICAN { 0x02; }
sub SUBLANG_SPANISH_MODERN { 0x03; }
# Country codes
sub CTRY_DEFAULT { 0; }
sub CTRY_AUSTRALIA { 61; }
sub CTRY_AUSTRIA { 43; }
sub CTRY_BELGIUM { 32; }
sub CTRY_BRAZIL { 55; }
sub CTRY_CANADA { 2; }
sub CTRY_DENMARK { 45; }
sub CTRY_FINLAND { 358; }
sub CTRY_FRANCE { 33; }
sub CTRY_GERMANY { 49; }
sub CTRY_ICELAND { 354; }
sub CTRY_IRELAND { 353; }
sub CTRY_ITALY { 39; }
sub CTRY_JAPAN { 81; }
sub CTRY_MEXICO { 52; }
sub CTRY_NETHERLANDS { 31; }
sub CTRY_NEW_ZEALAND { 64; }
sub CTRY_NORWAY { 47; }
sub CTRY_PORTUGAL { 351; }
sub CTRY_PRCHINA { 86; }
sub CTRY_SOUTH_KOREA { 82; }
sub CTRY_SPAIN { 34; }
sub CTRY_SWEDEN { 46; }
sub CTRY_SWITZERLAND { 41; }
sub CTRY_TAIWAN { 886; }
sub CTRY_UNITED_KINGDOM { 44; }
sub CTRY_UNITED_STATES { 1; }
# Locale Types
sub LOCALE_NOUSEROVERRIDE { 0x80000000; }
sub LOCALE_ILANGUAGE { 0x0001; }
sub LOCALE_SLANGUAGE { 0x0002; }
sub LOCALE_SENGLANGUAGE { 0x1001; }
sub LOCALE_SABBREVLANGNAME { 0x0003; }
sub LOCALE_SNATIVELANGNAME { 0x0004; }
sub LOCALE_ICOUNTRY { 0x0005; }
sub LOCALE_SCOUNTRY { 0x0006; }
sub LOCALE_SENGCOUNTRY { 0x1002; }
sub LOCALE_SABBREVCTRYNAME { 0x0007; }
sub LOCALE_SNATIVECTRYNAME { 0x0008; }
sub LOCALE_IDEFAULTLANGUAGE { 0x0009; }
sub LOCALE_IDEFAULTCOUNTRY { 0x000A; }
sub LOCALE_IDEFAULTCODEPAGE { 0x000B; }
sub LOCALE_IDEFAULTANSICODEPAGE { 0x1004; }
sub LOCALE_SLIST { 0x000C; }
sub LOCALE_IMEASURE { 0x000D; }
sub LOCALE_SDECIMAL { 0x000E; }
sub LOCALE_STHOUSAND { 0x000F; }
sub LOCALE_SGROUPING { 0x0010; }
sub LOCALE_IDIGITS { 0x0011; }
sub LOCALE_ILZERO { 0x0012; }
sub LOCALE_INEGNUMBER { 0x1010; }
sub LOCALE_SNATIVEDIGITS { 0x0013; }
sub LOCALE_SCURRENCY { 0x0014; }
sub LOCALE_SINTLSYMBOL { 0x0015; }
sub LOCALE_SMONDECIMALSEP { 0x0016; }
sub LOCALE_SMONTHOUSANDSEP { 0x0017; }
sub LOCALE_SMONGROUPING { 0x0018; }
sub LOCALE_ICURRDIGITS { 0x0019; }
sub LOCALE_IINTLCURRDIGITS { 0x001A; }
sub LOCALE_ICURRENCY { 0x001B; }
sub LOCALE_INEGCURR { 0x001C; }
sub LOCALE_SDATE { 0x001D; }
sub LOCALE_STIME { 0x001E; }
sub LOCALE_SSHORTDATE { 0x001F; }
sub LOCALE_SLONGDATE { 0x0020; }
sub LOCALE_STIMEFORMAT { 0x1003; }
sub LOCALE_IDATE { 0x0021; }
sub LOCALE_ILDATE { 0x0022; }
sub LOCALE_ITIME { 0x0023; }
sub LOCALE_ITIMEMARKPOSN { 0x1005; }
sub LOCALE_ICENTURY { 0x0024; }
sub LOCALE_ITLZERO { 0x0025; }
sub LOCALE_IDAYLZERO { 0x0026; }
sub LOCALE_IMONLZERO { 0x0027; }
sub LOCALE_S1159 { 0x0028; }
sub LOCALE_S2359 { 0x0029; }
sub LOCALE_ICALENDARTYPE { 0x1009; }
sub LOCALE_IOPTIONALCALENDAR { 0x100B; }
sub LOCALE_IFIRSTDAYOFWEEK { 0x100C; }
sub LOCALE_IFIRSTWEEKOFYEAR { 0x100D; }
sub LOCALE_SDAYNAME1 { 0x002A; }
sub LOCALE_SDAYNAME2 { 0x002B; }
sub LOCALE_SDAYNAME3 { 0x002C; }
sub LOCALE_SDAYNAME4 { 0x002D; }
sub LOCALE_SDAYNAME5 { 0x002E; }
sub LOCALE_SDAYNAME6 { 0x002F; }
sub LOCALE_SDAYNAME7 { 0x0030; }
sub LOCALE_SABBREVDAYNAME1 { 0x0031; }
sub LOCALE_SABBREVDAYNAME2 { 0x0032; }
sub LOCALE_SABBREVDAYNAME3 { 0x0033; }
sub LOCALE_SABBREVDAYNAME4 { 0x0034; }
sub LOCALE_SABBREVDAYNAME5 { 0x0035; }
sub LOCALE_SABBREVDAYNAME6 { 0x0036; }
sub LOCALE_SABBREVDAYNAME7 { 0x0037; }
sub LOCALE_SMONTHNAME1 { 0x0038; }
sub LOCALE_SMONTHNAME2 { 0x0039; }
sub LOCALE_SMONTHNAME3 { 0x003A; }
sub LOCALE_SMONTHNAME4 { 0x003B; }
sub LOCALE_SMONTHNAME5 { 0x003C; }
sub LOCALE_SMONTHNAME6 { 0x003D; }
sub LOCALE_SMONTHNAME7 { 0x003E; }
sub LOCALE_SMONTHNAME8 { 0x003F; }
sub LOCALE_SMONTHNAME9 { 0x0040; }
sub LOCALE_SMONTHNAME10 { 0x0041; }
sub LOCALE_SMONTHNAME11 { 0x0042; }
sub LOCALE_SMONTHNAME12 { 0x0043; }
sub LOCALE_SMONTHNAME13 { 0x100E; }
sub LOCALE_SABBREVMONTHNAME1 { 0x0044; }
sub LOCALE_SABBREVMONTHNAME2 { 0x0045; }
sub LOCALE_SABBREVMONTHNAME3 { 0x0046; }
sub LOCALE_SABBREVMONTHNAME4 { 0x0047; }
sub LOCALE_SABBREVMONTHNAME5 { 0x0048; }
sub LOCALE_SABBREVMONTHNAME6 { 0x0049; }
sub LOCALE_SABBREVMONTHNAME7 { 0x004A; }
sub LOCALE_SABBREVMONTHNAME8 { 0x004B; }
sub LOCALE_SABBREVMONTHNAME9 { 0x004C; }
sub LOCALE_SABBREVMONTHNAME10 { 0x004D; }
sub LOCALE_SABBREVMONTHNAME11 { 0x004E; }
sub LOCALE_SABBREVMONTHNAME12 { 0x004F; }
sub LOCALE_SABBREVMONTHNAME13 { 0x100F; }
sub LOCALE_SPOSITIVESIGN { 0x0050; }
sub LOCALE_SNEGATIVESIGN { 0x0051; }
sub LOCALE_IPOSSIGNPOSN { 0x0052; }
sub LOCALE_INEGSIGNPOSN { 0x0053; }
sub LOCALE_IPOSSYMPRECEDES { 0x0054; }
sub LOCALE_IPOSSEPBYSPACE { 0x0055; }
sub LOCALE_INEGSYMPRECEDES { 0x0056; }
sub LOCALE_INEGSEPBYSPACE { 0x0057; }
# Language Identifier Functions
sub MAKELANGID { my ($p,$s) = @_; (($s & 0xffff) << 10) | ($p & 0xffff); }
sub PRIMARYLANGID { my $lgid = shift; $lgid & 0x3ff; }
sub SUBLANGID { my $lgid = shift; ($lgid >> 10) & 0x3f; }
sub LANG_SYSTEM_DEFAULT { MAKELANGID(LANG_NEUTRAL, SUBLANG_SYS_DEFAULT); }
sub LANG_USER_DEFAULT { MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT); }
# Locale Identifier Functions
sub MAKELCID { my $lgid = shift; $lgid & 0xffff; }
sub LANGIDFROMLCID { my $lcid = shift; $lcid & 0xffff; }
sub LOCALE_SYSTEM_DEFAULT { MAKELCID(LANG_SYSTEM_DEFAULT); }
sub LOCALE_USER_DEFAULT { MAKELCID(LANG_USER_DEFAULT); }
1;
__END__
=head1 NAME
Win32::OLE::NLS - OLE National Language Support
=head1 SYNOPSIS
missing
=head1 DESCRIPTION
This module provides access to the national language support features
in the OLENLS.DLL.
=head2 Functions
=over 8
=item CompareString(LCID,FLAGS,STR1,STR2)
Compare STR1 and STR2 in the LCID locale. FLAGS indicate the character
traits to be used or ignored when comparing the two strings.
NORM_IGNORECASE Ignore case
NORM_IGNOREKANATYPE Ignore hiragana/katakana character differences
NORM_IGNORENONSPACE Ignore accents, diacritics, and vowel marks
NORM_IGNORESYMBOLS Ignore symbols
NORM_IGNOREWIDTH Ignore character width
Possible return values are:
0 Function failed
1 STR1 is less than STR2
2 STR1 is equal to STR2
3 STR1 is greater than STR2
Note that you can subtract 2 from the return code to get values
comparable to the C<cmp> operator.
=item LCMapString(LCID,FLAGS,STR)
LCMapString translates STR using LCID dependent translation.
Flags contains a combination of the following options:
LCMAP_LOWERCASE Lowercase
LCMAP_UPPERCASE Uppercase
LCMAP_HALFWIDTH Narrow characters
LCMAP_FULLWIDTH Wide characters
LCMAP_HIRAGANA Hiragana
LCMAP_KATAKANA Katakana
LCMAP_SORTKEY Character sort key
The following normalization options can be combined with C<LCMAP_SORTKEY>:
NORM_IGNORECASE Ignore case
NORM_IGNOREKANATYPE Ignore hiragana/katakana character differences
NORM_IGNORENONSPACE Ignore accents, diacritics, and vowel marks
NORM_IGNORESYMBOLS Ignore symbols
NORM_IGNOREWIDTH Ignore character width
The return value is the translated string.
=item GetLocaleInfo(LCID,LCTYPE)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -