CHARACTER TRANSLATION

If you choose the modify character translation tables operation from the main menu, LifeLines displays the character translation menu:

Which character mapping do you want to edit?
   e Editor to Internal mapping
   m Internal to Editor mapping
   i GEDCOM to Internal mapping
   x Internal to GEDCOM mapping
   d Internal to Display mapping
   r Internal to Report mapping
   q Return to main menu

LifeLines has little built-in knowledge of character codes. If you use 7-bit ASCII characters you will not encounter problems. However, many European and other languages require additional characters, and there are many 8-bit and other schemes for encoding those characters. LifeLines knows about none of them. However, LifeLines provides a number of character translation features you can use to manage character translation.

LifeLines provides facilities for mapping between characters whenever a data record changes form. LifeLines supports four forms:

internal

for records in the database

editor

for records being edited

display

for records being displayed

report

for records written to output file

When converting text from one form to another LifeLines normally does not convert characters codes. You may, however, override this default behavior by creating translation tables that LifeLines will use when converting between forms. There are six translation tables you may define. The following table shows the six tables and describes when they are applied:

internal to editor

when converting from internal, database form to editor form

editor to internal

when converting from editor form back to internal, database form

GEDCOM to internal

when reading GEDCOM input records and writing them to database

internal to GEDCOM

when writing internal database records to external GEDCOM file

internal to display

when displaying a record in a browsing mode display screen

internal to report

when writing internal database records to external report file

After you select a translation table you are placed in the editor to edit the table. Translation tables are made up of lines that look like:

pattern pattern
where a tab separates the patterns. Each pattern is an arbitrary sequence of verbatim ASCII characters and escape sequences. Translation occurs by finding all occurrences that match left patterns and replacing them with the corresponding right patterns.

There are five escape mechanisms used in patterns:

#nnn

nnn is a decimal character value

$hh

hh is a hexadecimal character value

\#

represents the # character

\$

represents the $ character

\\

represents the \ character

The character translation feature is not fully tested, and not all translations are currently implemented.