The [Intl] section of the WIN.INI file contains the current country settings for Windows. The user can modify these settings through Control Panel. An application has access to the current country settings through the GetProfileInt and GetProfileString functions and can modify them through the WriteProfileString function. An application should read the required country settings at startup and should monitor the WM_WININICHANGE message to update its country settings in case the country settings in WIN.INI have changed.
Following are the country settings stored in WIN.INI:
iCountry
Country code. This value is based on the telephone country code. The only exception is Canada, which has 2 instead of 1 (1 is used by the United States). This setting controls country-dependent features not supported by Windows.
sCountry
String defining the selected country name.
sLanguage
National language code selected by the user. The International dialog box in Control Panel changes the language of the installed language-dependent module. Following are some of the language codes that Windows currently supports:
Code | Language |
DAN | Danish |
DEU | German |
ENG | U.K. English |
ENU | U.S. English |
ESN | Modern Spanish |
ESP | Castilian Spanish |
FIN | Finnish |
FRA | French |
FRC | Canadian French |
ISL | Icelandic |
ITA | Italian |
NLD | Dutch |
NOR | Norwegian |
PTG | Portuguese |
SVE | Swedish |
sList
List separator. This character separates elements in a list. The list separator must be different from the decimal separator to avoid conflicts with lists of numbers.
iMeasure
Measurement system selected by the user, where 0 equals metric and 1 equals English. This setting controls measurement-dependent features of an application.
iTime
Time format. This setting defines the time format: 12 hours or 24 hours, where 0 equals the 12-hour clock and 1 equals the 24-hour clock.
sTime
Time separator. This character is displayed between hours and minutes and between minutes and seconds.
s1159
Trailing string (A.M., for example) used in some countries for times between 00:00 and 11:59.
s2359
Trailing string (P.M., for example) for times between 12:00 and 23:59 when in 12-hour clock format or trailing string (GMT, for example) for any time when in 24-hour clock format.
iTLZero
Value specifying whether the hours displayed should have a leading zero, where 0 equals no leading zero (9:15, for example) and 1 equals a leading zero (09:15, for example).
iDate
Date format. Kept for compatibility with Windows 2.x. The values for this setting are: 0 equals Month-Day-Year, 1 equals Day-Month-Year, and 2 equals Year-Month-Day. The sShortDate setting should be used instead.
sDate
Date separator. Kept for compatibility with Windows 2.x. The sShortDate setting should be used instead.
sShortDate
Date picture of the short date format. The sShortDate setting accepts only the values m, mm, d, dd, yy and yyyy. For information about these values and the format of date pictures, see the sLongDate setting.
sLongDate
Date picture of the long date format, which is similar to the sShortDate setting, except it can also contain strings. Following are formats for different month (m), day (d), and year (y) values:
Value | Format |
m | 112 |
mm | 0112 |
mmm | Jan-Dec |
mmmm | January-December |
d | 131 |
dd | 0131 |
ddd | Mon-Sun |
dddd | Monday-Sunday |
yy | 0099 |
yyyy | 19002040 |
Following are examples of different date pictures:
Date picture | Example |
d mmmm, yyyy | 9 January, 1989 |
dddd, mmmm d, yyyy | Friday, February 7, 1992 |
m/d/yy | 3/18/89 |
dd-mm-yyyy | 18-03-1989 |
d of mmmm, yyyy | 9 of January, 1992 |
sCurrency
Currency symbol of a given country. Use of this setting requires care. If the currency symbol is changed through Control Panel, do not make global replacements of currency amounts in your application. Once the user has entered an amount using a particular currency, that currency should stay the same. This setting also requires special attention when files are shared among users or applications.
iCurrency
Currency format. The values for this setting are as follows:
Value | Meaning |
0 | Currency symbol prefix with no separation ($1, for example) |
1 | Currency symbol suffix with no separation (1$, for example) |
2 | Currency symbol prefix with one character separation ($ 1, for example) |
3 | Currency symbol suffix with one character separation (1 $, for example) |
iCurrDigits
Number of digits used for the fractional part of a currency amount.
iNegCurr
Negative currency format. The values for this setting are:
Value | Negative format |
0 | ($1) |
1 | $1 |
2 | $1 |
3 | $1 |
4 | (1$) |
5 | 1$ |
6 | 1$ |
7 | 1$ |
8 | 1 $ |
9 | $ 1 |
10 | $ 1 |
Note:
The dollar symbol represents any currency symbol defined by the sCurrency setting.
sThousand
Symbol used to separate thousands in numbers with more than three digits.
sDecimal
Character used to separate the integer part from the fractional part of a number.
iDigits
Value defining the number of decimal digits that should be used in a number.
iLzero
Value specifying whether a decimal value less than 1.0 (and greater than 1.0) should contain a leading zero, as follows:
Value | Meaning |
0 | Do not use a leading zero (.7, for example). |
1 | Use a leading zero (0.7, for example). |