| Contents: | Main | Chapter | See Also: | Getting Started Manual | Advanced User Manual | |||
Certain types of data (e.g., dates and numbers) should be formatted differently for display depending on the language of the end user. The VA FileMan LANGUAGE (#.85) file is designed to help solve this problem for users of interactive VA FileMan. The LANGUAGE (#.85) file stores M code used to perform language-specific conversions on such data. A system variable identifies to VA FileMan the language currently in use. The LANGUAGE (#.85) file can store 2, 3, and 4-character abbreviations for the language.
At this time, VA FileMan distributes in the LANGUAGE (#.85) file only in the English equivalent of language-specific data conversions specified in Table 119.
22.2VA FileMan includes over 500 entries in the LANGUAGE (#.85) file. Included in the definitions of these languages are two- and three-letter codes, "linguistic categories", and other information not actually used by VA FileMan code itself. The LANGUAGE (#.85) file is referenced by canned text in the DIALOG (#.84) file. Any DIALOG may have a TRANSLATION for any LANGUAGE.
A system variable, DUZ("LANG"), identifies to VA FileMan the language currently in use. This system variable is set equal to a number that corresponds to the ID NUMBER of an entry in the LANGUAGE (#.85) file. It tells VA FileMan where to find the appropriate data conversion code from the LANGUAGE (#.85) file at the time the code needs to be executed (e.g., when printing a date).
NOTE: For users running Kernel 8.0 or later, this variable is set automatically during signon.
Developers can enter or create their own entries in the LANGUAGE (#.85) file. The Database Administrator assigns an ID NUMBER for each unique language entry in the LANGUAGE (#.85) file. If developers do not follow these guidelines, their language entry may be overwritten when VA FileMan is installed.
Table 119 lists the LANGUAGE (#.85) file entries that have been assigned and are distributed with VA FileMan:
Table 119: LANGUAGE (#.85) File—Language Entries
| Entry # | Value |
|---|---|
| 1 | English |
| 2 | German |
| 3 | Spanish |
| 4 | French |
| 5 | Finnish |
| 6 | Italian |
| 10 | Arabic |
| 11 | Russian |
When installing VA FileMan via a KIDS build, the LANGUAGE (#.85) file is updated to include entries for all ISO 639-2:1998 (as revised 11/21/2012) languages.
Developers can enter or edit entries in the LANGUAGE (#.85) file using VA FileMan's Enter or Edit File Entries [DIEDIT] option. The only required fields are:
If M code is not found within the current language for a specific conversion, VA FileMan defaults to use the English equivalent.
The other fields that can be entered for any LANGUAGE (#.85) file entry are described in Table 120. At the time the code in any of these fields is executed, the data to be converted is in the local variable Y. The M code in the field should put the transformed output back into Y, without altering any other local variables.
NOTE: More detail can be found in the field description for each field. Looking at the English equivalent in entry number 1 can also be helpful.
Table 120: LANGUAGE (#.85) File—Other Fields
| Field | Description |
|---|---|
| ORDINAL NUMBER FORMAT | Changes 1 to 1ST, 2 to 2ND, etc. |
| CARDINAL NUMBER FORMAT | Changes 1234567 to 1,234,567. |
| UPPERCASE CONVERSION | Converts text to uppercase. |
| LOWERCASE CONVERSION | Converts text to lowercase. |
| DATE/TIME FORMAT | Converts date in internal VA FileMan format to:
MMM,DD,YYYY@HH:MM:SS |
| DATE/TIME FORMAT (FMTE) | Does other date conversions from date in internal VA FileMan format. This call has an additional input flag that indicates the conversion to be done (see Table 121). |
Table 121 lists the Date/Time flags:
Table 121: LANGUAGE (#.85) File—Date/Time Flags
| Flag | Format | Description |
|---|---|---|
| 1 | MMM DD, YYYY@HH:MM:SS | Space before year. |
| 2 | MM/DD/YY@HH:MM:SS | No leading Zeroes on month, day. |
| 3 | DD/MM/YY@HH:MM:SS | No leading Zeroes on month, day. |
| 4 | YY/MM/DD@HH:MM:SS | — |
| 5 | MMM DD,YYYY@HH:MM:SS | No space before year. |
| 6 | MM-DD-YYYY @ HH:MM:SS | Special spacing for time. |
| 7 | MM-DD-YYYY@HH:MM:SS | — |
| S | — | Always return seconds. |
| U | — | Return uppercase month (use only with 1 or 5). |
| P | — | Return time with am, pm. |
| D | — | Return only date without time. |
Reviewed/Updated: May 2026