! EVE$INTERNATIONALIZATION.TPU 31-DEC-1992 11:14 Page 1 module eve$internationalization ident 'V03-003' ! COPYRIGHT © 1987,1992 BY ! DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASSACHUSETTS ! ALL RIGHTS RESERVED ! ! THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED ! ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE ! INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER ! COPIES THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY ! OTHER PERSON. NO TITLE TO AND OWNERSHIP OF THE SOFTWARE IS HEREBY ! TRANSFERRED. ! ! THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE ! AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT ! CORPORATION. ! ! DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS ! SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL. ! !++ ! FACILITY: ! DECTPU - Text Processing Utility ! EVE - Extensible Versatile Editor ! ! ABSTRACT: ! This is the EVE interface source program that translators modify ! to create local language versions of EVE. It is written as a ! TPU language source file, but effort has been made to make it an ! easy file to modifiy by people who are not familiar with VAXTPU ! programming. ! ! Note that the exclaimation mark as the first character in a ! line indicates that the rest of the line contains remarks or ! comments intended for the translator. These remarks will not be ! processed by VAXTPU and may contain whatever information the ! translator finds useful: documentation, notes, and other information ! may be stored as comments. ! ! ENVIRONMENT: ! OpenVMS VAX, OpenVMS AXP, RISC/ULTRIX ! !-- ! EVE$INTERNATIONALIZATION.TPU Page 2 !++ ! Table of Contents ! ! EVE$INTERNATIONALIZATION.TPU ! 31-DEC-1992 11:14 ! ! Procedure name Page Description ! -------------- ---- ------------ ! ! eve$internationalization_modul* 3 Declare English ! eve$internationalization_decla* 4 Create EVE synonyms + roots !-- ! EVE$INTERNATIONALIZATION.TPU Page 3 ! Module initialization code procedure eve$internationalization_module_pre_init ! Declare English ! This is the logic which is executed each time EVE is invoked. It ! declares the language to be used for the duration of the EVE session. ! The language in quotes should match the language (or one of the languages) ! which you declare below. eve$$use_language ('English'); endprocedure ! eve$internationalization_module_pre_init ! EVE$INTERNATIONALIZATION.TPU Page 4 procedure eve$internationalization_declare_synonym ! Create EVE synonyms + roots ! Synonym creation should be done according to the instructions in EVE$BUILD. ! Synonyms can be created interactively, but interactive synonym declarations ! can not be easily put into a section file. Create an interactive synonym, ! for example, NÄSTA BILD for the NEXT SCREEN command, by entering the command: ! tpu eve$$x_synonym_array {"next_screen"} := ! eve$$x_synonym_array {"next_screen"} + "nästa_bild" ! ! NOTE: THIS INTERACTIVE INTERFACE IS NOT SUPPORTED FOR CUSTOMERS. eve$build_synonym ("previous_screen"); eve$build_synonym ("next_screen"); eve$build_synonym ("move_right"); eve$build_synonym ("move_down"); eve$build_synonym ("remember"); eve$build_synonym ("move_up"); eve$build_synonym ("return"); eve$build_synonym ("help"); eve$build_synonym ("exit"); eve$build_synonym ("do"); endprocedure; ! eve$internationalization_declare_synonym endmodule ! EVE$INTERNATIONALIZATION.TPU Page 5 ! ! EVE$BUILD time executable code ! ! This is the beginning of the declarations which translators should modify ! or add to to produce a local language version of EVE. ! LANGUAGE DEFINITION eve$$define_key_language ('English'); ! Call eve$$define_key_language before you declare a set of key engravings for a ! local language. This routine does the book keeping needed to make EVE ! aware of the language you intend to declare. ! The following calls to eve$$define_key_translation define the names which ! EVE will use to describe keys on the user's keyboard as well as the names ! which EVE will accept from the user as valid names for those keys. The ! arguments are defined as follows: ! A language id - The language this is being defined for. This should match ! one of the identifiers specified in eve$define_key_language above. ! The TPU keyname for a key. - The TPU key name for the key which you want ! to translate. These key names follow a specific syntax. The easiest ! way to specify these keys if you aren't familiar with TPU programming ! is by taking a copy of a series of key definitions and modifying them. ! That way you just use the key names in your copied statements without ! having to type them out yourself. ! synonym #1 - The primary translation, to be used by EVE when describing ! the key. This should be the most commonly accepted name in the local ! language for the TPU keyname which you specified above. This first ! synonym is special because EVE will use it when it displays the ! definition of this key. ! synonym #2,3,4,5 and 6 - A series of secondary translations, all of ! which EVE will accept as valid key names. You don't have to specify ! these synonyms if there is only one common term for the key in the ! local language. If you do want to specify additional synonyms, you ! need not specify all five parameters; just include the ones you need. ! KEY DEFINITIONS: ! You can use the definitions for North American versions of EVE which ! appear below as examples of how to define key translations. eve$$define_key_translation ('English', key_name("'"), 'SINGLE_QUOTE', 'QUOTE'); eve$$define_key_translation ('English', key_name('"'), 'DOUBLE_QUOTE'); eve$$define_key_translation ('English', key_name(" "), 'SPACE'); eve$$define_key_translation ('English', E1, 'FIND'); eve$$define_key_translation ('English', E2, 'INSERT_HERE'); eve$$define_key_translation ('English', E3, 'REMOVE'); eve$$define_key_translation ('English', E4, 'SELECT'); eve$$define_key_translation ('English', E5, 'PREV_SCREEN', 'PREVIOUS_SCREEN'); eve$$define_key_translation ('English', E6, 'NEXT_SCREEN'); eve$$define_key_translation ('English', F15, 'HELP'); eve$$define_key_translation ('English', F16, 'DO'); eve$$define_key_translation ('English', CTRL_H_KEY, 'CTRL/H', 'BS'); eve$$define_key_translation ('English', CTRL_I_KEY, 'TAB'); eve$$define_key_translation ('English', CTRL_J_KEY, 'CTRL/J', 'LF'); eve$$define_key_translation ('English', RET_KEY, 'RETURN'); eve$$define_key_translation ('English', DEL_KEY, 'DELETE'); ! The following calls to eve$$define_key_modifiers define the names which ! EVE will use to describe the modifier keys on the user's keyboard as well ! as what EVE will accept from the user as valid names for those keys. The ! arguments are defined as follows: ! A language id - The language this is being defined for. This should match ! one of the identifiers specified in eve$define_key_language above. ! The TPU name for a modifier - The TPU name for the modifier which you want ! to translate. These names follow a specific syntax. The easiest ! way to specify these modifiers if you aren't familiar with TPU ! programming is by taking a copy of a series of modifier definitions ! and translating them. (just as you may have done for the keys) ! That way you just use the modifier names in your copied statements ! without having to type them out yourself. ! synonym #1 - The primary translation, to be used by EVE when describing ! the modifier. This should be the most commonly accepted name in ! the local language for the modifier key which you specified above. ! This first synonym is special because EVE will use it when it displays ! key definitions which include this modifier. ! synonym #2,3,4,5 and 6 - A series of secondary translations, all of ! which EVE will accept as valid modifiers. You don't have to specify ! these synonyms if there is only one common term for the modifier in the ! local language. If you do want to specify additional synonyms, you ! need not specify all five parameters; just include the ones you need. eve$$define_key_modifiers ('English', SHIFT_KEY, 'GOLD'); eve$$define_key_modifiers ('English', FUNCTION, 'FUNCTION'); eve$$define_key_modifiers ('English', KEYPAD, 'KEYPAD'); eve$$define_key_modifiers ('English', SHIFT_MODIFIED, 'SHIFT', 'SHIFTED'); eve$$define_key_modifiers ('English', CTRL_MODIFIED, 'CTRL', 'CONTROL'); eve$$define_key_modifiers ('English', HELP_MODIFIED, 'HELP'); eve$$define_key_modifiers ('English', ALT_MODIFIED, 'ALT', 'COMPOSE_CHARACTER'); ! End of code