M U L T I ~ L A N G The Multiple Language Look-Up System for the Atari ST Copyright Stuart Coates 1991 Version 2.00 - 1 January 1992 ----------------------------------------------------------------- MULTI~LANG IS SHAREWARE - PD / SHAREWARE LIBRARIES AND DISK MAG PUBLISHERS MUST READ THE NOTE ON REGISTERING LATER IN THIS FILE BEFORE DISTRIBUTING. ----------------------------------------------------------------- Welcome to Multi~Lang, the multiple language look-up system for the Atari ST series. Multi~Lang is a desk accessory that allows you to convert words between several different languages. You may configure Multi~Lang to convert between up to 9 different languages. Multi~Lang uses a disk-based dictionary search to save on valuable memory. Installing Multi~Lang --------------------- To install Multi~Lang, simply copy the files MULTLANG.ACC and MULTLANG.DIC into the root directory on your boot disk, and MULTINST.PRG into the AUTO folder. Now reboot your machine and Multi~Lang will load automatically. The MULTINST.PRG file is optional, but is required if you wish to use CTRL/SHIFT/SHIFT to trigger Multi~Lang. Activating Multi~Lang --------------------- You may activate Multi~Lang in two different ways. You can select it from the DESK menu on the desktop, as you would do with any Desk Accessory, or use the CTRL/SHIFT/SHIFT hotkey combination. If you wish to use the hotkey you must place the MULTINST.PRG program in your AUTO folder. Using Multi~Lang ---------------- Multi~Lang is designed to be very easy and fast to use. When you activate Multi~Lang you are presented with a screen similar to: +--------------------------------------------------------------+ | | | Dictionary Name: C:\MULTLANG.DIC | | | | Enter Search Word/Phrase (UNDO - Exit) | | >> | | | +--------------------------------------------------------------+ At the '>>' prompt simply type the word that you wish to convert and hit return. Multi~Lang will now search the dictionary for the word that you have entered. If Multi~Lang finds the word that you have entered in it's current dictionary it will display the translation in all available languages, and you will get a screen similar to: +--------------------------------------------------------------+ | | | Dictionary Name: C:\MULTLANG.DIC | | | | Enter Search Word/Phrase (UNDO - Exit) | | >> DISKETTE | | | | ----------------------------------------------------- | | Deutch: DISKETTE | | English: DISK | | ----------------------------------------------------- | | | | Press any key to continue... | | | +--------------------------------------------------------------+ If you now hit a key the search will now continue looking for any other matches in the dictionary. If you hit UNDO at this point you will return to the word prompt. You may stop searching at any point by holding down both of the Shift keys. To exit from Multi~Lang hit the UNDO key at the word prompt. Multi~Lang performs partial work searches. This means that if you enter 'DISK' then Multi~Lang would match it to words like 'DISKETTE' and 'HARD DISK'. Updating Multi~Lang ------------------- You may update the Multi~Lang dictionary (normally called MULTLANG.DIC) by using a normal text editor. The text editor must be capable of loading and saving a raw ASCII text file. The format of the Multi~Lang dictionary is as follows: Line1: Number of Languages in the dictionary. Line2: Names of the Languages. Line3: First set of words. Line4: Second set of words. Line5: ...etc... Last Line: Stu! Example dictionary file: 3 English*German*Norwegian* SAVE*SPEICHERN*LAGRE* LOAD*LADEN*LESE INN* Stu! NOTE: All words must be separated by *'s. All words must be in UPPERCASE. The last line of the file must be 'Stu!'. You can place comments on the end of any line as long as it comes after the terminating '*'. You may change the dictionary that Multi~Lang uses by pressing the 'Insert' key when you are prompted for a word. You must enter the full pathname of the dictionary including the drive identifier. eg: C:\MULTLANG.DIC, F:\MULTLANG\WORDS.DIC You may store up to 10 dictionary names in the Multi~Lang configuration file for easy switching. To store the current dictionary name press Shift and any function key. To recall a previously stored dictionary name just hit the function key that you assigned it to. You may view the contents of the dictionary list by hitting the TAB key. Deleting an entry may be done by pressing CONTROL and a function key. The current dictionary configuration can be saved by pressing CONTROL S, and reloaded by pressing CONTROL L. The configuration is written to a file called MULTLANG.CFG on the disk that Multi~Lang was originally loaded from. This file will be automatically loaded every time that Multi~Lang is booted. Trouble Shooting ---------------- PROBLEM: Multi~Lang doesn't stop searching but stops accessing the disk. SOLUTION: Check that your dictionary file is terminated with Stu! PROBLEM: Words exist in your dictionary but are not found by Multi~Lang. SOLUTION: Check that you dictionary is in UPPERCASE. Make sure that you haven't padded your word with spaces. PROBLEM: Multi~Lang crashes when you attempt a search. SOLUTION: Check the format of your dictionary. PROBLEM: Multi~Lang doesn't display all of the languages. SOLUTION: Does the dictionary have the correct number of languages indicated on the first line. PROBLEM: If you still have problems... SOLUTION: Registered users may contact the author for technical support...! Keyboard Controls ----------------- Control/Left Shift/Right Shift................Activate Multi~Lang (Needs MULTINST.PRG) Undo..............................................Exit Multi~Lang Help........................................Perform a screen dump Insert.....................................Change dictionary name Clr Home..................................Flip to original screen Shift Function Key..................Store current dictionary name Function Key.......................Recall a store dictionary name Control Function Key..............Remove a stored dictionary name Tab...................................Show stored dictionary list Esc......................................Clear current input line Control L.................................Load configuration file Control S..............................Save current configuration Up / Down Arrows..............................Shift Character Set European Characters ------------------- You may type European (8 bit ASCII) characters into Multi~Lang by using a special key combination. To enter a special character, you must precede a key press with either the up or down arrow keys. For example if you wish to type the character '' you can press the up arrow followed by the '$' key. Other key combinations are shown below: Ascii Character Up Arrow Down Arrow ----- --------- -------- ---------- 128 SPACE 129 ! 130 " 131 # 132 $ 133 % 134 & 135 ' 136 ( 137 ) 138 * 139 + 140 , 141 - 142 . 143 / 144 0 145 1 146 2 147 3 148 4 149 5 150 6 151 7 152 8 153 9 154 : 155 ; 156 < 157 = 158 > 159 ? 160 @ 161 A 162 B 163 C 164 D 165 E 166 F 167 G 168 H 169 I 170 J 171 K 172 L 173 M 174 N 175 O 176 P 177 Q 178 R 179 S 180 T 181 U 182 V 183 W 184 X 185 Y 186 Z 187 [ 188 \ 189 ] 190 ^ 191 _ 192 SPACE 193 ! 194 " 195 # 196 $ 197 % 198 & 199 ' 200 ( 201 ) 202 * 203 + 204 , 205 - 206 . 207 / 208 0 209 1 210 2 211 3 212 4 213 5 214 6 215 7 216 8 217 9 218 : 219 ; 220 < 221 = 222 > 223 ? 224 @ 225 A 226 B 227 C 228 D 229 E 230 F 231 G 232 H 233 I 234 J 235 K 236 L 237 M 238 N 239 O 240 P 241 Q 242 R 243 S 244 T 245 U 246 V 247 W 248 X 249 Y 250 Z 251 [ 252 \ 253 ] 254 ^ The Dictionary Optimizer ------------------------ If you wish to perform a very quick search for a word you will need to use the dictionary optimizer. OPTIMIZE.TOS is a dictionary optimizer program that re-arranges your dictionary and produces an index file for maximum speed. This operation may take a long time, especially if you only have floppy disks. I therefore recommend that you place the dictionary file in a Ram-Disk for optimum speed. You may only use the optimizer on words that are in the first language in the dictionary (the one that appears first). When OPTIMIZE.TOS is ran, you will be asked to enter the filename of your dictionary and of a temporary file. The drive that will hold the temporary file MUST have enough space to hold a copy of the dictionary. The optimizer will now scan your dictionary several times, and will eventually tell you that the optimization is complete. A file called MULTLANG.INX (if your dictionary is called MULTLANG.DIC), will have been created, this is the index file and must be kept in the same directory as your dictionary. This process may take a while on a large dictionary. WARNING: ALWAYS TAKE A COPY OF YOUR DICTIONARY BEFORE RUNNING THE OPTIMIZER. IF ANYTHING GOES WRONG YOU RISK LOSING YOUR DATA. ** IF YOU EDIT THE DICTIONARY YOU MUST RE-RUN THE OPTIMIZER ** To perform an 'optimized search' using Multi~Lang, prefix your word with a "!". Eg: if you want to perform an 'optimized search' on the word DISKETTE, you would enter !DISKETTE. If the index file is not available a normal search will be performed. An optimized search will scan the dictionary from the section that contains the word that you have entered. For example, if you enter !ZWERG, the search will start from the 'Z' section and continue to the end of the dictionary. Compatibility ------------- Multi~Lang should be compatible with most programs and all versions of the standard ST, it has been tested on the following versions of TOS: 1.0 (1985), 1.2 (1987), 1.4 (Rainbow TOS), 1.6 (STe), 1.62 (STe), 2.05 (Mega STe). Multi~Lang makes no un- documented calls to the operating system to ensure upward compatibility with whatever Atari plan for the future. You may encounter problems if you use an extended screen mode that occupies more than 32K of RAM. Although I have tried to make Multi~Lang compatible with large-screen Moniterm monitors, I cannot guarantee that everything will work. If you own a large screen monitor and would like to run Multi~Lang on it, please contact me and I'll write a custom version. Multi~Lang will not work with programs that update the screen on the Vertical Blank Interrupt. This includes programs like monochrome / colour emulators. Although Multi~Lang has been tested thoroughly on many systems, I cannot guarantee that it will function correctly on all setups. I therefore do not accept responsibility for any loss or damage of data or hardware through the use of this product. If you do encounter problems then please contact me and I'll attempt to produce a fixed version. Known Problems -------------- On TOS 1.0 machines the VT52 cursor will forget where it originally was when you exit Multi~Lang. This is a feature of this TOS version, I am working on a solution. You should be aware that not all programs can be safely interrupted by pressing CTRL/SHIFT/SHIFT and may respond with a system crash - this is the case if a disk access is in progress. If you try to trigger Multi~Lang and nothing happens then Multi~Lang is not available due the current state of your machine - if Multi~Lang was triggered at this point your machine would crash. If you can select Multi~Lang from the menu bar then I recommend that you do so as this is the only 100% safe way. The dictionary that is supplied with Multi~Lang is German- English-German. It may contain errors as it has been compiled from many different sources. If you find any discrepancies then please feel free to correct them, if you make extensive changes then please send a copy to the author, he'll be forever grateful. Distribution Rights ------------------- The rights to distribute Multi~Lang are as follows: Individual Users: Multi~Lang is distributed as Shareware which means that you are free to distribute it, as long as the files remain intact. If you find the program useful, you are expected to register. The registration fee for Multi~Lang is 10 pounds sterling. Registered users will receive a copy of the latest version including a copy of the latest dictionary, and will be entitled to technical support. Fill in the form at the end of this document and send it to the author along with your contribution to register. Bulletin Boards: There are no restrictions for distribution on bulletin boards other than all files must remain intact and not distributed separately. PD/Shareware Libraries: If you run a PD / Shareware library you may NOT distribute Multi~Lang without paying a registration fee of 15 pounds sterling to the author. Doing so would be a breach of copyright, and is a criminal offence. An alternative to the cash registration fee for PD Libraries is to send me a copy of your catalogue and credit for 5-10 disks. For your registration fee (or disks) you will be supplied with all major program updates as they are released. Computer Magazines (published by non PD libraries): The fee for distribution by computer magazines is negotiable and distribution rights may be refused - don't duplicate your disks before contacting the author. Computer Magazines (published by PD libraries): There is no distribution fee on the condition that the author receives a 1 year free subscription to your publication. If this is not acceptable, the conditions are the same as for magazines published by non PD libraries (above). Send all registration fees / enquiries to: Stuart Coates 9 Links Road Kibworth Beauchamp Leicester LE8 0LD England U.K. or CompuServe: 100010,2106 Multi~Lang is written in 100% assembly language using the excellent DevpacST 2 assembler from HiSoft which is highly recommended. Credits for Multi~Lang ---------------------- All Design / Coding.................................Stuart Coates Original Idea / Dictionary......................Stein Arne Jensen (ST User Group - Norway) Extensive Dictionary Maintenance.....................Alec Roberts DevpacST 2.................................................HiSoft The Old School Greenfield Bedford MK45 5DE England U.K. Tel: +44 525 718181 Thanks go to....................................Stein Arne Jensen (ST User Group - Norway) Fraser Blacklaws (Atari User Group - Scotland) Keith Frisby Alec Roberts Julian Zappala John M Charles Chris Thompson Malcolm Burridge (Bath BBS Sysop) The Coca Cola Company (Diet Coke) Pure Inspiration............................................Queen Jimi Hendrix Eric Clapton Beverley Craven (ahh.... if only) Dennis M Ritchie Brian W Kernigham Suggestions ----------- Multi~Lang need not be limited to a language conversion utility, you can build 'dictionaries' with almost any information in them. One possibility would be to build a list of your software collection. Such a dictionary may look like this: 5 Filename*Program Name*Program Type*Disk Box No*Disk No* WORDPLUS.PRG*1ST WORD PLUS V3.20*WP*001*003* FASTCOPY.PRG*FASTCOPY III*DISK COPIER*001*001* GENST2.PRG*DEVPAC2 ASSEMBLER*68000 ASSEMBLER*002*001* Stu! With this dictionary you would be able to quickly locate where a particular program is, and various other details about it. If you don't want a certain field in the dictionary to be searched, then simply put it in lowercase because Multi~Lang only searches for UPPERCASE words. One limitation that does exist is that you should avoid using fields of only 1 character. Obviously this is only a small example, but if you use your imagination, the possibilities for Multi~Lang are endless. Remember: the size of your dictionary is only limited by your storage device, so on a hard disk you could have many megabytes of data, and still search it using a 520 ST...! Revision History ---------------- Multi~Lang is under continuous development and the latest versions are made available to registered users / libraries only. If you are unsure whether you have the latest version then contact me stating your current version enclosing a blank disk and return postage. Users outside the UK can send extra blank disks to cover the postage charge. If you already have the current version I will hold onto your disk, and dispatch it when the next update is available. Version 1.00 - 10/08/91 Version 1.10 - 17/08/91 Version 1.20 - 25/08/91 Version 1.30 - 06/10/91 Version 1.31 - 13/10/91 Version 1.40 - 17/10/91 Version 1.41 - 18/10/91 Version 1.50 - 19/10/91 Version 1.60 - 23/10/91 Version 2.00 - 01/01/92 A Message From The Author: The next version hasn't been planned yet, so if you have any requests or comments then let me know them so that they can be considered. I look forward to hearing your ideas - go on surprise me...! If you use Multi~Lang for something other than translations then let me know - I'm very interested in hearing what my programs are being used for. Already planned for the next release is a utility to translate text files. A prototype has already been written that translates at a speed of in excess of 1000 words per minute, but there is still room for improvement. The future development of this product relies on your support. Registered users will receive all updates that are made before any of the PD libraries, and all the technical support that you could wish for should you have any problems. Support Shareware authors and you will be ensuring the future of great programs that don't cost a fortune. Hope that you enjoy using Multi~Lang. Regards, Stu (1/1/92). ------------------------------------------------------------------- ************************************************************** ** M U L T I - L A N G ** ** USER REGISTRATION FORM ** **----------------------------------------------------------** ** ** ** NAME:_______________________________________________ ** ** ** ** ADDRESS:____________________________________________ ** ** ____________________________________________ ** ** ____________________________________________ ** ** ____________________________________________ ** ** ____________________________________________ ** ** ** ** TELEPHONE:__________________________________________ ** ** ** ** OCCUPATION:_________________________________________ ** ** ** ** MULTI-LANG VERSION:_________________________________ ** ** ** ** OBTAINED FROM:______________________________________ ** ** ______________________________________ ** ** ** ** YOUR SYSTEM SETUP:__________________________________ ** ** __________________________________ ** ** __________________________________ ** ** __________________________________ ** ** ** ** MOST USED PROGRAMS:_________________________________ ** ** _________________________________ ** ** _________________________________ ** ** ** ** COMMENTS:___________________________________________ ** ** ___________________________________________ ** ** ___________________________________________ ** ** ___________________________________________ ** ** ___________________________________________ ** ** ___________________________________________ ** ** ___________________________________________ ** ** ___________________________________________ ** ** ___________________________________________ ** ** ___________________________________________ ** ** ___________________________________________ ** ** ** ** SEND TO: STUART COATES ** ** 9 LINKS ROAD ** ** KIBWORTH BEAUCHAMP ** ** LEICESTER LE8 0LD ** ** ENGLAND U.K. ** ** ** **************************************************************