Section courante

A propos

Section administrative du site

Introduction

Le format de fichier «LOCALE.NLS», abréviation de l'anglais Locale National Language Support, soit support de langage régionale, est utilisé par les systèmes d'exploitation Windows afin d'entreposer les informations régionales sur les langages humaines régionales. Ainsi, les applications peuvent afficher correctements les données à travers le monde en respectant les conventions. Il est généralement situé dans le dossier «C:\WINDOWS\system32\».

Structure

Dans les faits, le déplacement (offset) à partir du début de l'enregistrement ont changés trois fois en fonction des systèmes Windows 95, systèmes Windows 98 et de la famille de système d'exploitation Windows NT. Voici l'entête du format du fichier «LOCALE.NLS» en fonction des différents systèmes d'exploitation Windows (95 = Windows 95, 98 = Windows 98, NT4 = Windows NT4, 2000, XP, Vista, 7,...) situé au début complètement du fichier :

Offset 95 Offset 98 Offset NT4 Taille Description Valeur standard
00h 00h 00h 4 octets (double mots) Nombre d'entrées régionales  
04h 04h 04h 4 octets (double mot) Format de révision Windows 95: 8
Windows 98: 12
Windows NT4, 2000, XP, Vista, 7: 12
08h 08h 08h 4 octets (double mot) Donnée du calendrier?  
0Ch 0Ch 0Ch (n*2) double mots Paires d'identificateur régionale et de position (Offset) régionale dans les mots  

Voici la structure des données régionales (Locale data):

Offset 95 Offset 98 Offset NT4 Taille Description Valeur standard
00h 00h 00h Windows 95: 68 mots
Windows 98: 73 mots
Windows NT4, 2000, XP, Vista, 7: 69 mots
Tables des déplacements (Offset) relatif à la longueur de la variable de chaine de caractères  
    8Ah 1 mot Inconnu 04E4h
58h 92h 8Ch Windows 95: 88 mots
Windows 98: 102 mots
Windows NT4: 110 mots
Bloc d'une longueur fixe de chaine de caractères (fixed-length strings)  

Voici la structure des longueurs fixes de chaines de caractères (Fixed-length strings):

Offset 95 Offset 98 Offset NT4 Taille Champs/Description Valeur standard
00h 00h 00h 5 mots LOCALE_ILANGUAGE Les valeurs standards ne correspondent pas à des données régionales spécifique. Toutefois, les données suivantes sont celle par défaut en anglais.
0Ah 0Ah 0Ah 6 mots LOCALE_ICOUNTRY
16h 16h 16h 5 mots LOCALE_IDEFAULTLANGUAGE
20h 20h 20h 6 mots LOCALE_IDEFAULTCOUNTRY
2Ch 2Ch 2Ch 6 mots LOCALE_IDEFAULTANSICODEPAGE 1252
38h 38h 38h 6 mots LOCALE_IDEFAULTCODEPAGE (OEM) 437 ou 850
  44h 44h 6 mots LOCALE_IDEFAULTMACCODEPAGE 10000
  50h   6 mots LOCALE_IDEFAULTEBCDICCODEPAGE 037
44h 5Ch 50h 2 mots LOCALE_IMEASURE 0=Métrique, 1=Américain
  60h   2 mots LOCALE_IPAPERSIZE 0=lettre, 1=A4, 2=légale, 3=A3
48h 64h 54h 3 mots LOCALE_IDIGITS 2
4Eh 6Ah 5Ah 2 mots LOCALE_ILZERO 1
52h 6Eh 5Eh 2 mots LOCALE_INEGNUMBER 1
56h 72h 62h 3 mots LOCALE_ICURRDIGITS 2
5Ch 78h 68h 3 mots LOCALE_IINTLCURRDIGITS 2
62h 7Eh 6Eh 2 mots LOCALE_ICURRENCY 2
66h 82h 72h 2 mots
NT4: 3 mots?
LOCALE_INEGCURR 2
6Ch 88h 78h 2 mots LOCALE_IPOSSIGNPOSN 4
70h 8Ch 7Ch 2 mots LOCALE_IPOSSYMPRECEDES 1
74h 90h 80h 2 mots LOCALE_IPOSSEPBYSPACE 1
78h 94h 84h 2 mots LOCALE_INEGSIGNPOSN 4
7Ch 98h 88h 2 mots LOCALE_INEGSYMPRECEDES 1
80h 9Ch 8Ch 2 mots LOCALE_INEGSEPBYSPACE 0
84h A0h x90h 2 mots LOCALE_ITIME 1
88h A4h 94h 2 mots LOCALE_ITLZERO 1
8Ch A8h 98h 2 mots LOCALE_ITIMEMARKPOSN 0
90h ACh 9Ch 2 mots LOCALE_IDATE 2
94h B0h A0h 2 mots LOCALE_ICENTURY 0
98h B4h A4h 2 mots LOCALE_IDAYLZERO 1
9Ch B8h A8h 2 mots LOCALE_IMONLZERO 1
A0h BCh ACh 2 mots LOCALE_ILDATE 0
A4h C0h B0h 2 mots LOCALE_ICALENDARTYPE / Ce champ permet d'indiquer le type de calendrier 1
A8h C4h B4h 2 mots LOCALE_IFIRSTDAYOFWEEK / Ce champ permet d'indiquer le premier jour de l'année 0
ACh C8h B8h 2 mots LOCALE_IFIRSTWEEKOFYEAR / Ce champ permet d'indiquer la première semaine de l'année 2
    BCh 16 mots LOCALE_FONTSIGNATURE / Ce champ permet d'indiquer le signature de police de caractères régionales.  

Voici la structure des longueurs variables de chaines de caractères (Variable-length strings):

Offset 95 Offset 98 Offset NT4 Taille Champs/Description Valeur standard
00h 00h 00h   LOCALE_SENGLANGUAGE Les valeurs standards ne correspondent pas à des données locales spécifique. Toutefois, les données suivantes sont celle par défaut en anglais. Toutefois, les données suivantes sont celle par défaut en anglais.
02h 02h 02h   LOCALE_SABBREVLANGNAME
  04h 04h   LOCALE_SISO639LANGNAME
04h 06h 06h   LOCALE_SNATIVELANGNAME
06h 08h 08h   LOCALE_SENGCOUNTRY
08h 0Ah 0Ah   LOCALE_SABBREVCTRYNAME
  0Ch 0Ch   LOCALE_SISO3166CTRYNAME
0Ah 0Eh 0Eh   LOCALE_SNATIVECTRYNAME
0Ch 10h 10h   LOCALE_SLIST ;
0Eh 12h 12h   LOCALE_SDECIMAL / Ce champ permet d'indiquer le séparateur de décimales dans un nombre. .
10h 14h 14h   LOCALE_STHOUSAND / Ce champ permet d'indiquer le séparateur de millier dans un nombre. ,
12h 16h 16h   LOCALE_SGROUPING 3;0
14h 18h 18h   LOCALE_SNATIVEDIGITS 0123456789
16h 1Ah 1Ah   LOCALE_SCURRENCY  
18h 1Ch 1Ch   LOCALE_SINTLSYMBOL  
  1Eh     LOCALE_SENGCURRNAME  
  20h     LOCALE_SNATIVECURRNAME  
1Ah 22h 1Eh   LOCALE_SMONDECIMALSEP .
1Ch 24h 20h   LOCALE_STHOUSAND ,
1Eh 26h 22h   LOCALE_SMONGROUPING 3;0
20h 28h 24h   LOCALE_SPOSITIVESIGN  
22h 2Ah 26h   LOCALE_SNEGATIVESIGN -
24h 2Ch 28h   LOCALE_STIMEFORMAT HH:mm:ss<NUL>H:mm:ss<NUL>'kl 'HH.mm.ss<NUL>HH.mm.ss
26h 2Eh 2Ah   LOCALE_STIME :
28h 30h 2Ch   LOCALE_S1159 AM
2Ah 32h 2Eh   LOCALE_S2359 PM
2Ch 34h 30h   LOCALE_SSHORTDATE dd.MM.yy<NUL>yyyy-MM-dd<NUL>d.M.yy
2Eh 36h 32h   LOCALE_SDATE .
  38h     LOCALE_SYEARMONTH MMMM yyyy
30h 3Ah 34h   LOCALE_SLONGDATE d. MMMM yyyy<NUL>dd. MMMM yyyy
32h 3Ch 36h   Information de calendrier :  
      1 mot Type de calendrier 1
      1 mot Taille d'une entrée de calendrier 5
        CAL_ICALINTVALUE? 1
        CAL_SCALNAME? Calendrier grégorien
34h 3Eh 38h   LOCALE_SDAYNAME1 / Le premier jour de la semaine, soit Lundi Monday
36h 40h 3Ah   LOCALE_SDAYNAME2 / Le deuxième jour de la semaine, soit Mardi Tuesday
38h 42h 3Ch   LOCALE_SDAYNAME3 / Le troisième jour de la semaine, soit Mercredi Wednesday
3Ah 44h 3Eh   LOCALE_SDAYNAME4 / Le quatrième jour de la semaine, soit Jeudi Thursday
3Ch 46h 40h   LOCALE_SDAYNAME5 / Le cinquième jour de la semaine, soit Vendredi Friday
3Eh 48h 42h   LOCALE_SDAYNAME6 / Le sixième jour de la semaine, soit Samedi Saturday
40h 4Ah 44h   LOCALE_SDAYNAME7 / Le septième jour de la semaine, soit Dimanche Sunday
42h 4Ch 46h   LOCALE_SABBREVDAYNAME1 / Abréviation de 3 lettres du premier jour de la semaine, soit «Lun» pour Lundi Mon
44h 4Eh 48h   LOCALE_SABBREVDAYNAME2 / Abréviation de 3 lettres du deuxième jour de la semaine, soit «Mar» pour Mardi Tue
46h 50h 4Ah   LOCALE_SABBREVDAYNAME3 / Abréviation de 3 lettres du troisième jour de la semaine, soit «Mer» pour Mercredi Wed
48h 52h 4Ch   LOCALE_SABBREVDAYNAME4 / Abréviation de 3 lettres du quatrième jour de la semaine, soit «Jeu» pour Jeudi Thu
4Ah 54h 4Eh   LOCALE_SABBREVDAYNAME5 / Abréviation de 3 lettres du cinquième jour de la semaine, soit «Ven» pour Vendredi Fri
4Ch 56h 50h   LOCALE_SABBREVDAYNAME6 / Abréviation de 3 lettres du sixième jour de la semaine, soit «Sam» pour Samedi Sat
4Eh 58h 52h   LOCALE_SABBREVDAYNAME7 / Abréviation de 3 lettres du septième jour de la semaine, soit «Dim» pour Dimanche Sun
50h 5Ah 54h   LOCALE_SMONTHNAME1 / Le premier mois de l'année, soit Janvier January
52h 5Ch 56h   LOCALE_SMONTHNAME2 / Le deuxième mois de l'année, soit Février February
54h 5Eh 58h   LOCALE_SMONTHNAME3 / Le troisième mois de l'année, soit Mars March
56h 60h 5Ah   LOCALE_SMONTHNAME4 / Le quatrième mois de l'année, soit Avril April
58h 62h 5Ch   LOCALE_SMONTHNAME5 / Le cinquième mois de l'année, soit Mai May
5Ah 64h 5Eh   LOCALE_SMONTHNAME6 / Le sixième mois de l'année, soit Juin June
5Ch 66h 60h   LOCALE_SMONTHNAME7 / Le septième mois de l'année, soit Juillet July
5Eh 68h 62h   LOCALE_SMONTHNAME8 / Le huitième mois de l'année, soit Août August
60h 6Ah 64h   LOCALE_SMONTHNAME9 / Le neuvième mois de l'année, soit Septembre September
62h 6Ch 66h   LOCALE_SMONTHNAME10 / Le dixième mois de l'année, soit Octobre October
64h 6Eh 68h   LOCALE_SMONTHNAME11 / Le onzième mois de l'année, soit Novembre November
66h 70h 6Ah   LOCALE_SMONTHNAME12 / Le douzième mois de l'année, soit Décembre December
68h 72h 6Ch   LOCALE_SMONTHNAME13 / Le treizième mois de l'année  
6Ah 74h 6Eh   LOCALE_SABBREVMONTHNAME1 / L'abréviation du premier mois de l'année, soit «Jan» pour Janvier Jan
6Ch 76h 70h   LOCALE_SABBREVMONTHNAME2 / L'abréviation du deuxième mois de l'année, soit «Fév» pour Février Feb
6Eh 78h 72h   LOCALE_SABBREVMONTHNAME3 / L'abréviation du troisième mois de l'année, soit «Mar» pour Mars Mar
70h 7Ah 74h   LOCALE_SABBREVMONTHNAME4 / L'abréviation du quatrième mois de l'année, soit «Avr» pour Avril Apr
72h 7Ch 76h   LOCALE_SABBREVMONTHNAME5 / L'abréviation du cinquième mois de l'année, soit «Mai» pour Mai May
74h 7Eh 78h   LOCALE_SABBREVMONTHNAME6 / L'abréviation du sixième mois de l'année, soit «Jui» pour Juin Jun
76h 80h 7Ah   LOCALE_SABBREVMONTHNAME7 / L'abréviation du septième mois de l'année, soit «Jui» pour Juillet Jul
78h 82h 7Ch   LOCALE_SABBREVMONTHNAME8 / L'abréviation du huitième mois de l'année, soit «Aoû» pour Août Aug
7Ah 84h 7Eh   LOCALE_SABBREVMONTHNAME9 / L'abréviation du neuvième mois de l'année, soit «Sep» pour Septembre Sep
7Ch 86h 80h   LOCALE_SABBREVMONTHNAME10 / L'abréviation du dixième mois de l'année, soit «Oct» pour Octobre Oct
7Eh 88h 82h   LOCALE_SABBREVMONTHNAME11 / L'abréviation du onzième mois de l'année, soit «Nov» pour Novembre Nov
80h 8Ah 84h   LOCALE_SABBREVMONTHNAME12 / L'abréviation du douzième mois de l'année, soit «Déc» pour Décembre Dec
82h 8Ch 86h   LOCALE_SABBREVMONTHNAME13 / L'abréviation du treizième mois de l'année  
84h 8Eh   16 mots
(+ terminaison nulle
= 17 mots)
LOCALE_FONTSIGNATURE / Signature de la police de caractères régionales  

Voir également

Système d'exploitation - Windows - Introduction
Index des extensions de fichier - Format d'icône pour Windows (.ICO)
Langage de programmation - C pour Windows - Structure de données de Windows - «BITMAPINFOHEADER»
Index des extensions de fichier - Format de fichier compressé pour Windows (.CAB)
Articles - Les géants de l'informatique - Microsoft

Dernière mise à jour : Mardi, le 16 août 2014