lenguaje del sistema

07/09/2007 - 17:58 por Humphry | Informe spam
Hola, estoy desarrollando una aplicación en PERL que se ejecuta sobre
servidores w2003 que pueden estar en varios idiomas (castellano, ingles y
frances sobre todo). Dependiendo del idioma en el que esté instalado el
sistema operativo hay que hacer unas cosas y otras.

¿¿Sabeis como se puede averiguar el idioma de instalación de W2003?? ¿¿Hay
alguna entrada en el registro en la que lo ponga?? ¿¿Alguien sabe alguna
función de PERL para hacerlo??
 

Leer las respuestas

#1 José Antonio Quílez [MS MVP]
07/09/2007 - 19:42 | Informe spam
En Perl, el código que necesitas es el siguiente:

use Win32::OLE('in');
use constant wbemFlagReturnImmediately => 0x10;
use constant wbemFlagForwardOnly => 0x20;

$computer = ".";
$objWMIService = Win32::OLE->GetObject
("winmgmts:\\\\$computer\oot\\CIMV2") or die "WMI connection
failed.";
$colItems = $objWMIService->ExecQuery
("SELECT * FROM Win32_OperatingSystem","WQL",wbemFlagReturnImmediately |
wbemFlagForwardOnly);

foreach my $objItem (in $colItems)
{
print "OS Language: $objItem->{OSLanguage}";
}

A partir de este ejemplo ya puedes usar $objItem->{OSLanguage} como
necesites. En esa variable recibes el código de idioma instalado.
La siguiente tabla te muestra todos los códigos de idioma. Los que te
interesan son el español (internacional): 3082, el español (tradicional):
1034, el inglés (USA): 1033 y el francés (Francia): 1036.


Telugu 1098
Gujarati 1095
Punjabi 1094
Sanskrit 1103
Konkani 1111
Syriac 1114
Kannada 1099
Marathi 1102
Divehi 1125
Armenian 1067
Hindi 1081
Georgian 1079
Tamil 1097
Thai 1054
Japanese 1041
Chinese (PRC) 2052
Chinese (Singapore) 4100
Korean 1042
Chinese (Macau S.A.R.) 5124
Chinese (Hong Kong S.A.R.) 3076
Chinese (Taiwan) 1028
Romanian 1048
Slovenian 1060
Hungarian 1038
Slovak 1051
Polish 1045
Albanian 1052
Serbian (Latin) 2074
Croatian 1050
Czech 1029
Mongolian (Cyrillic) 1104
FYRO Macedonian 1071
Uzbek (Cyrillic) 2115
Ukrainian 1058
Azeri (Cyrillic) 2092
Tatar 1092
Kazakh 1087
Belarusian 1059
Kyrgyz (Cyrillic) 1088
Bulgarian 1026
Serbian (Cyrillic) 3098
Russian 1049
English (Jamaica) 8201
French (Canada) 3084
French (France) 1036
French (Luxembourg) 5132
English (New Zealand) 5129
English (Ireland) 6153
Dutch (Netherlands) 1043
English (Caribbean) 9225
French (Switzerland) 4108
English (Canada) 4105
Galician 1110
English (Belize) 10249
German (Austria) 3079
French (Monaco) 6156
English (Zimbabwe) 12297
Basque 1069
Dutch (Belgium) 2067
French (Belgium) 2060
Finnish 1035
Faroese 1080
German (Germany) 1031
English (Australia) 3081
English (United States) 1033
English (United Kingdom) 2057
Catalan 1027
English (Trinidad) 11273
English (South Africa) 7177
Danish 1030
English (Philippines) 13321
Spanish (Paraguay) 15370
Spanish (Colombia) 9226
Spanish (Costa Rica) 5130
Spanish (Dominican Republic) 7178
Spanish (Ecuador) 12298
Spanish (El Salvador) 17418
Spanish (Guatemala) 4106
Spanish (Honduras) 18442
Spanish (International Sort) 3082
Spanish (Chile) 13322
Spanish (Nicaragua) 19466
Spanish (Mexico) 2058
Spanish (Peru) 10250
Spanish (Puerto Rico) 20490
Spanish (Traditional Sort) 1034
Spanish (Uruguay) 14346
Spanish (Venezuela) 8202
Swahili 1089
Swedish 1053
Swedish (Finland) 2077
German (Liechtenstein) 5127
Afrikaans 1078
Spanish (Panama) 6154
German (Luxembourg) 4103
Spanish (Bolivia) 16394
German (Switzerland) 2055
Icelandic 1039
Indonesian 1057
Italian (Italy) 1040
Italian (Switzerland) 2064
Norwegian (Nynorsk) 2068
Spanish (Argentina) 11274
Portuguese (Brazil) 1046
Norwegian (Bokmal) 1044
Malay (Malaysia) 1086
Malay (Brunei Darussalam) 2110
Portuguese (Portugal) 2070
Greek 1032
Uzbek (Latin) 1091
Azeri (Latin) 1068
Turkish 1055
Hebrew 1037
Arabic (Algeria) 5121
Arabic (Bahrain) 15361
Arabic (Yemen) 9217
Arabic (Egypt) 3073
Arabic (Iraq) 2049
Arabic (Jordan) 11265
Arabic (Kuwait) 13313
Arabic (Lebanon) 12289
Arabic (Libya) 4097
Arabic (Morocco) 6145
Arabic (Oman) 8193
Arabic (Qatar) 16385
Arabic (Saudi Arabia) 1025
Arabic (Syria) 10241
Arabic (U.A.E.) 14337
Farsi 1065
Urdu 1056
Arabic (Tunisia) 7169
Estonian 1061
Latvian 1062
Lithuanian 1063
Vietnamese 1066

Un saludo

"Humphry" escribió en el mensaje de
noticias:
Hola, estoy desarrollando una aplicación en PERL que se ejecuta sobre
servidores w2003 que pueden estar en varios idiomas (castellano, ingles y
frances sobre todo). Dependiendo del idioma en el que esté instalado el
sistema operativo hay que hacer unas cosas y otras.

¿¿Sabeis como se puede averiguar el idioma de instalación de W2003?? ¿¿Hay
alguna entrada en el registro en la que lo ponga?? ¿¿Alguien sabe alguna
función de PERL para hacerlo??

Preguntas similares