home *** CD-ROM | disk | FTP | other *** search
-
- -=( Structures of my language file version 1.00 )=-
- (c) LiveSystems 1991, 1992
-
-
- Introduction
- ════════════
-
- This document describes the way RAdoor's multilanguage extentions does what
- it does. It also describes the structure of the language datafile.
-
-
-
- The general structure of the language file is:
- ══════════════════════════════════════════════
-
- ┌──────────────────────────────┐
- │ Special record │
- ├──────────────────────────────┤
- │ Index entries 1 .. │
- / Special.entries /
- │ │
- ├──────────────────────────────┤
- │ │
- / The language data /
- │ │
- └──────────────────────────────┘
-
-
- Record definitions:
-
- SpecialRecord = Record
- FileId : Array[1..32] Of Char;
- VersionNr : Word;
- ProgName : String[8];
- LanguageID: String[3]; { ENG/NL }
- YesDef : Char; { Y }
- NoDef : Char; { N }
- StopDef : Char; { S }
- YesNorm : Char; { y }
- NoNorm : Char; { n }
- StopNorm : Char; { s }
- BrackRgt : Char; { [ }
- BrackLft : Char; { ] }
- ENTER : String[10]; { ENTER }
- Colors : Array[0..9] Of Byte; { Colortable }
- Entries : Word;
- End;
-
- IndexEntryRec = Record
- Nr : Word;
- Start : Word;
- Len : Byte;
- End;
-
- Meanings:
- ═════════
-
- Special record
- ──────────────
- FileId : Contains "LiveSystems language file v1.00^Z"
- VersionNr : Contains the languagefile version nr. = $0100
- ProgName : The name of the datafile's owning program
- LanguageID : the 3 CHAR language ID. f.e. ENG (english) HOL (Hollands)
-
- YesDef : Yes default char (uppercase)
- NoDef : No default char
- StopDef : Stop default char
-
- YesNorm : Yes Normal char (Lowercase)
- NoNorm : No Normal char
- StopNorm : Stop normal char
-
- BrackRgt : The Right bracket to use
- BrackLft : The left bracket to use
- ENTER : the ENTER text (max. 10 chars long)
- Colors : The defined colors (Max 10)
-
- Entries : The number of entries in the file.
-
-
- Index:
- ──────
- Nr : String number
- Start : Start of string in language data part
- Len : Length of string in language data part
-
-
-
- How RADoor handles all this:
- ════════════════════════════
-
- When a door written with the multilanguage options of RAdoor has detected
- the language ID to use, it first reads the SpecialRecord of the language
- definition file. Then it reads the index into an array (Dynamical allocated)
- and the language data into a chunk of memory (unformated, just a bunch of
- chars)
-
- When a ]xxx code is seen, the language unit searches for the sentencenr.
- When found, it uses a move to get the desired string. If not found the
- *PROGRAMMER ERROR* string is returned..
-
-