Release 10.1A: OpenEdge Development:
Translation Manager

> ## Preface

> This Preface contains the following sections:

> - Purpose

> - Audience

> - Organization

> - Using this manual

> - Typographical conventions

> - Examples of syntax descriptions

> - OpenEdge messages

> ### Purpose

> This book describes how to use the OpenEdge™ Translation Manager tool to manage the process of translating a 4GL application. It describes how the Translation Manager helps you through each step of the translation process, from the moment you receive the untranslated source code to the moment the completely translated application is running and ready to ship as a multi-lingual product.

> ### Audience

> This book is written for the translation project manager. The project manager is the person in a company who manages the entire process of translating 4GL applications into multiple languages. The project manager’s responsibilities include budgeting the translation process, hiring the translators, assembling the translation kits, monitoring the progress of the translators, answering questions regarding the application, reviewing translations, working with developers to create translatable applications, and building the final run-time code.

> ### Organization

> Chapter 1 "Preparing Your Application for Translation"

> Describes techniques that you can share with software developers to make your company’s applications easier to translate.

> Chapter 2 "Overview"

> Provides an overview of the Translation Management System and the tasks involved in using the Translation Manager and Visual Translator tools.

> Chapter 3 "Getting Started"

> Describes how to organize a directory structure, set your PROPATH, start the Translation Manager tool, and connect to application databases.

> Chapter 4 "Managing Projects"

> Details how to create, open, and close a project database, select the current project, and select the source procedures you want to translate.

> Chapter 5 "Preparing Data for Translation"

> Explains how to prepare the data (text phrases and resource procedures) the translators will use to translate user-interface procedures.

> Chapter 6 "Adding Glossaries"

> Describes how to create, import, and export the lexical glossaries translators will use.

> Chapter 7 "Preparing a Kit"

> Describes how to build a language kit for the translator. It also describes how to send the language kit to the translators.

> Chapter 8 "Incorporating a Translated Kit into the Project"

> Details how to consolidate the translations and glossary entries from a translated language kit database into the project database.

> Chapter 9 "Updating a Project"

> Shows how to edit translations and glossary entries and scan for changed source files.

> Chapter 10 "Tutorial"

> Guides you through the steps of a sample translation project.

> Chapter 11 "Troubleshooting"

> Provides answers to some common questions and describes solutions to common problems.

> Appendix A, "Translation Manager Interface Reference"

> Provides reference information for the Translation Manager’s tab folders, menu bar, and tool bar.

> ### Using this manual

> This book is a guide to the Translation Manager tool. Although you can use it as a reference, it is structured so that each chapter builds on the previous chapters. Therefore, you will learn the most if you start at Chapter 1 and read through until the end.

> ### Typographical conventions

> This manual uses the following typographical conventions:

> Convention | Description
> --- | ---
> Bold | Bold typeface indicates commands or characters the user types, or the names of user interface elements.
> Italic | Italic typeface indicates the title of a document, provides emphasis, or signifies new terms.
> SMALL, BOLD CAPITAL LETTERS | Small, bold capital letters indicate OpenEdge™ key functions and generic keyboard keys; for example, GET and CTRL.
> KEY1-KEY2 | A hyphen between key names indicates a simultaneous key sequence: you press and hold down the first key while pressing the second key. For example, CTRL-X.
> KEY1 KEY2 | A space between key names indicates a sequential key sequence: you press and release the first key, then press another key. For example, ESCAPE H.
> Syntax:
>     Fixed width
> | A fixed-width font is used in syntax statements, code examples, and for system output and filenames.
> `Fixed-width italics` | Fixed-width italics indicate variables in syntax statements.
> `Fixed-width bold` | Fixed-width bold indicates variables with special emphasis.
>     UPPERCASE
>     fixed width
> | Uppercase words are Progress® 4GL language keywords. Although these always are shown in uppercase, you can type them in either uppercase or lowercase in a procedure.
> Period (.) or colon (:) | All statements except `DO`, `FOR`, `FUNCTION`, `PROCEDURE`, and `REPEAT` end with a period. `DO`, `FOR`, `FUNCTION`, `PROCEDURE`, and `REPEAT` statements can end with either a period or a colon.
> [ ] | Large brackets indicate the items within them are optional.
> [ ] | Small brackets are part of the Progress 4GL language.
> { } | Large braces indicate the items within them are required. They are used to simplify complex syntax diagrams.
> { } | Small braces are part of the Progress 4GL language. For example, a called external procedure must use braces when referencing arguments passed by a calling procedure.
> | | A vertical bar indicates a choice.
> ... | Ellipses indicate repetition: you can choose one or more of the preceding items.

> ### Examples of syntax descriptions

> In this example, `ACCUM` is a keyword, and `aggregate` and `expression` are variables:

>     ACCUM aggregate expression

> `FOR` is one of the statements that can end with either a period or a colon, as in this example:

>     FOR EACH Customer:
>       DISPLAY Name.
>     END.

> In this example, `STREAM` `stream`, `UNLESS-HIDDEN`, and `NO-ERROR` are optional:

>     DISPLAY [ STREAM stream ] [ UNLESS-HIDDEN ] [ NO-ERROR ]

> In this example, the outer (small) brackets are part of the language, and the inner (large) brackets denote an optional item:

>     INITIAL [ constant [ , constant ] ]

> A called external procedure must use braces when referencing compile-time arguments passed by a calling procedure, as shown in this example:

>     { &argument-name }

> In this example, `EACH`, `FIRST`, and `LAST` are optional, but you can choose only one of them:

>     PRESELECT [ EACH | FIRST | LAST ] record-phrase

> In this example, you must include two expressions, and optionally you can include more. Multiple expressions are separated by commas:

>     MAXIMUM ( expression , expression [ , expression ] ... )

> In this example, you must specify `MESSAGE` and at least one `expression` or `SKIP` [ (`n`) ], and any number of additional `expression` or `SKIP` [ ( `n` ) ] is allowed:

>     MESSAGE { expression | SKIP [ ( n ) ] } ...

> In this example, you must specify {`include-file`, then optionally any number of `argument` or `&argument-name = "argument-value"`, and then terminate with }:

>     { include-file
>         [ argument | &argument-name = "argument-value" ] ... }

> #### Long syntax descriptions split across lines

> Some syntax descriptions are too long to fit on one line. When syntax descriptions are split across multiple lines, groups of optional and groups of required items are kept together in the required order.

> In this example, `WITH` is followed by six optional items:

> Syntax
>     WITH [ ACCUM max-length ] [ expression DOWN ]
>       [ CENTERED ] [ n COLUMNS ] [ SIDE-LABELS ]
>       [ STREAM-IO ]

> #### Complex syntax descriptions with both required and optional elements

> Some syntax descriptions are too complex to distinguish required and optional elements by bracketing only the optional elements. For such syntax, the descriptions include both braces (for required elements) and brackets (for optional elements).

> In this example, `ASSIGN` requires either one or more `field` entries or one `record`. Options available with `field` or `record` are grouped with braces and brackets:

> Syntax
>     ASSIGN {   { [ FRAME frame ]
>                     { field [ = expression ] }
>                     [ WHEN expression ]
>                 } ...
>              |  { record [ EXCEPT field ... ] }
>            }

> ### OpenEdge messages

> OpenEdge displays several types of messages to inform you of routine and unusual occurrences:

> - Execution messages inform you of errors encountered while OpenEdge is running a procedure; for example, if OpenEdge cannot find a record with a specified index field value.

> - Compile messages inform you of errors found while OpenEdge is reading and analyzing a procedure before running it; for example, if a procedure references a table name that is not defined in the database.

> - Startup messages inform you of unusual conditions detected while OpenEdge is getting ready to execute; for example, if you entered an invalid startup parameter.

> After displaying a message, OpenEdge proceeds in one of several ways:

> - Continues execution, subject to the error-processing actions that you specify or that are assumed as part of the procedure. This is the most common action taken after execution messages.

> - Returns to the OpenEdge Procedure Editor, so you can correct an error in a procedure. This is the usual action taken after compiler messages.

> - Halts processing of a procedure and returns immediately to the Procedure Editor. This does not happen often.

> - Terminates the current session.

> OpenEdge messages end with a message number in parentheses. In this example, the message number is `200`:

>     ** Unknown table name table. (200)

> If you encounter an error that terminates OpenEdge, note the message number before restarting.

> #### Obtaining more information about OpenEdge messages

> On Windows platforms, use OpenEdge online help to obtain more information about OpenEdge messages. Many OpenEdge tools include the following Help menu options to provide information about messages:

> - Choose Help Recent Messages to display detailed descriptions of the most recent OpenEdge message and all other messages returned in the current session.

> - Choose Help Messages and then enter the message number to display a description of a specific OpenEdge message.

> - In the Procedure Editor, press the help key (F2 or CTRL-W).

Copyright © 2005 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095