 |
Publicité
|
Le format d'affichage d'une date , d'un prix ou même d'un nombre diffère suivant les langues et même parfois suivant les pays. Exemple : pour indiquer le 3 octobre 2001 en français on écrit 03/10/2001, tandis qu'en anglais on écrit 10/03/2001.
Pour définir dans le format d'affichage de ces grandeurs, ASP a prévu l'emploi du "Local ID" lié à l'objet "Session". Ainsi pour fixer dans une page ASP l'affichage des valeurs dans le format français, il suffit d'écrire :
<%
Session.LCID = 1036 'LCID pour le français standard
%>
A chaque langue ou pays correspond une valeur de cet identifiant. Si vous souhaitez définir le format d'affichage suivant les préférences de l'internaute, voici une fonction permettant d'obtenir la bonne valeur en fonction de la langue ou du pays de l'internaute :
<%
Function GetLCID()
Dim VisitorLanguage
Dim MyLCID
Dim PosComma
VisitorLanguage = Request.ServerVariables("HTTP_ACCEPT_LANGUAGE")
PosComma = InStr(1, VisitorLanguage, ",")
If PosComma > 0 Then
VisitorLanguage = Left(VisitorLanguage, PosComma - 1)
End If
Select Case LCase(VisitorLanguage)
Case "af"
MyLCID = 1078 ' Africanaire
Case "sq"
MyLCID = 1052 ' Albanais
Case "ar-sa"
MyLCID = 1025 ' Arabe(Arabie Saoudite)
Case "ar-iq"
MyLCID = 2049 ' Arabe(Iraq)
Case "ar-eg"
MyLCID = 3073 ' Arabe(Egypte)
Case "ar-ly"
MyLCID = 4097 ' Arabe(Libie)
Case "ar-dz"
MyLCID = 5121 ' Arabe(Algerie)
Case "ar-ma"
MyLCID = 6145 ' Arabe(Maroc)
Case "ar-tn"
MyLCID = 7169 ' Arabic(Tunisie)
Case "ar-om"
MyLCID = 8193 ' Arabe(Sultana d'Oman)
Case "ar-ye"
MyLCID = 9217 ' Arabe(Yemen)
Case "ar-sy"
MyLCID = 10241 ' Arabe(Syrie)
Case "ar-jo"
MyLCID = 11265 ' Arabe(Jordanie)
Case "ar-lb"
MyLCID = 12289 ' Arabe(Liban)
Case "ar-kw"
MyLCID = 13313 ' Arabe(Koweit)
Case "ar-ae"
MyLCID = 14337 ' Arabe(Emirats Arabes Unis)
Case "ar-bh"
MyLCID = 15361 ' Arabe(Bahrein)
Case "ar-qa"
MyLCID = 16385 ' Arabe(Qatar)
Case "eu"
MyLCID = 1069 ' Basque
Case "bg"
MyLCID = 1026 ' Bulgare
Case "be"
MyLCID = 1059 ' Belarusse
Case "ca"
MyLCID = 1027 ' Catalan
Case "zh-tw"
MyLCID = 1028 ' Chinois(Taiwan)
Case "zh-cn"
MyLCID = 2052 ' Chinois(République Populaire de Chine)
Case "zh-hk"
MyLCID = 3076 ' Chinois(Hong Kong)
Case "zh-sg"
MyLCID = 4100 ' Chinois(Singapore)
Case "hr"
MyLCID = 1050 ' Croate
Case "cs"
MyLCID = 1029 ' Tchèque
Case "da"
MyLCID = 1030 ' Danois
Case "n"
MyLCID = 1043 ' Flaman(Standard)
Case "nl-be"
MyLCID = 2067 ' Flaman(Belgique)
Case "en"
MyLCID = 9 ' Anglais
Case "en-us"
MyLCID = 1033 ' Anglais(USA)
Case "en-gb"
MyLCID = 2057 ' Anglais(UK)
Case "en-au"
MyLCID = 3081 ' Anglais(Australie)
Case "en-ca"
MyLCID = 4105 ' Anglais(Canada)
Case "en-nz"
MyLCID = 5129 ' Anglais(Nouvelle Zélande)
Case "en-ie"
MyLCID = 6153 ' Anglais(Irelande)
Case "en-za"
MyLCID = 7177 ' Anglais(Afrique du Sud)
Case "en-jm"
MyLCID = 8201 ' Anglais(Jamaique)
Case "en"
MyLCID = 9225 ' Anglais(Caraibe)
Case "en-bz"
MyLCID = 10249 ' Anglais(Belize)
Case "en-tt"
MyLCID = 11273 ' Anglais(Trinidad)
Case "et"
MyLCID = 1061 ' Estonien
Case "fo"
MyLCID = 1080 ' Faeroese
Case "fa"
MyLCID = 1065 ' Farsi
Case "fi"
MyLCID = 1035 ' Finnois
Case "fr"
MyLCID = 1036 ' Français(Standard)
Case "fr-be"
MyLCID = 2060 ' Français(Belgique)
Case "fr-ca"
MyLCID = 3084 ' Français(Canada)
Case "fr-ch"
MyLCID = 4108 ' Français(Suisse)
Case "fr-lu"
MyLCID = 5132 ' Français(Luxembourg)
Case "gd"
MyLCID = 1084 ' Gaëlique(Ecosse)
Case "gd-ie"
MyLCID = 2108 ' Gaëlique(Irlande)
Case "de"
MyLCID = 1031 ' German(Standard)
Case "de-ch"
MyLCID = 2055 ' Allemand(Suisse)
Case "de-at"
MyLCID = 3079 ' Allemand(Autriche)
Case "de-lu"
MyLCID = 4103 ' Allemand(Luxembourg)
Case "de-li"
MyLCID = 5127 ' Allemand(Liechtenstein)
Case "e"
MyLCID = 1032 ' Grecque
Case "he"
MyLCID = 1037 ' Hébreu
Case "hi"
MyLCID = 1081 ' Hindi
Case "hu"
MyLCID = 1038 ' Hongrois
Case "is"
MyLCID = 1039 ' Islandais
Case "in"
MyLCID = 1057 ' Indonésien
Case "it"
MyLCID = 1040 ' Italien(Standard)
Case "it-ch"
MyLCID = 2064 ' Italien(Suisse)
Case "ja"
MyLCID = 1041 ' Japonais
Case "ko"
MyLCID = 1042 ' Koréen
Case "ko"
MyLCID = 2066 ' Koréen(Johab)
Case "lv"
MyLCID = 1062 ' Letton
Case "lt"
MyLCID = 1063 ' Lithuanien
Case "mk"
MyLCID = 1071 ' Macédonien
Case "ms"
MyLCID = 1086 ' Malaysien
Case "mt"
MyLCID = 1082 ' Maltais
Case "no"
MyLCID = 1044 ' Norvégien(Bokmal)
Case "no"
MyLCID = 2068 ' Norvégien(Nynorsk)
Case "p"
MyLCID = 1045 ' Polonais
Case "pt-br"
MyLCID = 1046 ' Portugais(Brésil)
Case "pt"
MyLCID = 2070 ' Portugais(Standard)
Case "rm"
MyLCID = 1047 ' Rhaeto-Romanic
Case "ro"
MyLCID = 1048 ' Roumain
Case "ro-mo"
MyLCID = 2072 ' Roumain(Moldavie)
Case "ru"
MyLCID = 1049 ' Russe
Case "ru-mo"
MyLCID = 2073 ' Russe(Moldavie)
Case "sz"
MyLCID = 1083 ' Sami(Lapon)
Case "sr"
MyLCID = 3098 ' Serbe(Cyrillique)
Case "sr"
MyLCID = 2074 ' Serbe(Latin)
Case "sk"
MyLCID = 1051 ' Slovaque
Case "s"
MyLCID = 1060 ' Slovène
Case "sb"
MyLCID = 1070 ' Sorbian
Case "es"
MyLCID = 1034 ' Espagnol(Espagne - traditionnel)
Case "es-mx"
MyLCID = 2058 ' Espagnol(Mexique)
Case "es"
MyLCID = 3082 ' Espagnol(Espagne - Moderne)
Case "es-gt"
MyLCID = 4106 ' Espagnol(Guatemala)
Case "es-cr"
MyLCID = 5130 ' Espagnol(Costa Rica)
Case "es-pa"
MyLCID = 6154 ' Espagnol(Panama)
Case "es-do"
MyLCID = 7178 ' Espagnol(Republique Dominicaine)
Case "es-ve"
MyLCID = 8202 ' Espagnol(Venezuela)
Case "es-co"
MyLCID = 9226 ' Espagnol(Colombie)
Case "es-pe"
MyLCID = 10250 ' Espagnolnish(Perou)
Case "es-ar"
MyLCID = 11274 ' Espagnol(Argentine)
Case "es-ec"
MyLCID = 12298 ' Espagnol(Equateur)
Case "es-c"
MyLCID = 13322 ' Espagnol(Chili)
Case "es-uy"
MyLCID = 14346 ' Espagnol(Uruguay)
Case "es-py"
MyLCID = 15370 ' Espagnol(Paraguay)
Case "es-bo"
MyLCID = 16394 ' Espagnol(Bolivie)
Case "es-sv"
MyLCID = 17418 ' Espagnol(El Salvador)
Case "es-hn"
MyLCID = 18442 ' Espagnol(Honduras)
Case "es-ni"
MyLCID = 19466 ' Espagnol(Nicaragua)
Case "es-pr"
MyLCID = 20490 ' Espagnol(Porto Rico)
Case "sx"
MyLCID = 1072 ' Sutu
Case "sv"
MyLCID = 1053 ' Suédois
Case "sv-fi"
MyLCID = 2077 ' Suédois(Finlande)
Case "th"
MyLCID = 1054 ' Thaï
Case "ts"
MyLCID = 1073 ' Tsonga
Case "tn"
MyLCID = 1074 ' Tswana
Case "tr"
MyLCID = 1055 ' Turc
Case "uk"
MyLCID = 1058 ' Ukrainien
Case "ur"
MyLCID = 1056 ' Ourdou
Case "ve"
MyLCID = 1075 ' Venda
Case "vi"
MyLCID = 1066 ' Vietnamien
Case "xh"
MyLCID = 1076 ' Xhosa
Case "ji"
MyLCID = 1085 ' Yiddish
Case "zu"
MyLCID = 1077 ' Zoulou
Case Else
MyLCID = 2048 ' défaut
End Select
GetLCID = MyLCID
End Function
%>
Afin d'éviter la déclaration du "Local ID" dans toutes vos page ASP, vous pouvez fixer sa valeur dans la fonction "Session_OnStart" du fichier "global.asa". Voici un exemple :
<!--#include file = "DefineLCID.asa" -->
<SCRIPT LANGUAGE=VBScript RUNAT=Server>
Sub Session_OnStart
Session.LCID = GetLCID()
End Sub
</SCRIPT>
La fonction GetLCID() doit être déclarée dans le fichier "DefineLCID.asa" entre les balises <SCRIPT LANGUAGE=VBScript RUNAT=Server> et </SCRIPT>.
|