BoTran contains some "Environmental Switches " to do its magic.

 

They are called

 

_ENV:EntryToText                     ! BoTran method Flag

_ENV:ReposEntryPrompt        ! BoTran method Flag

_ENV:ReverseListFormat        ! BoTran method Flag

_ENV:KeyboardLayout (not implemented at this time)

_ENV:CLASYSTEMCHARSET

_ENV:CLACOLSEQ

_ENV:CLADIGRAPH

_ENV:CLACASE

 

These are used by BoTran to setup the local environment in the language changes.

They use the default window settings when left blank, and your settings if you add them.

 

The BoTran Global template offers Locale support for the ABC Chain and Legacy Chain

 

  Global5

 

Look for the values in quotes to change in your BTL translation File when selecting the following Locale choices:

 

Translate AM,PM values

LOCALE('CLAAMPM',BTMan.BTStr('AM,PM'))

 

Translate Long Month values

LOCALE('CLAMONTH',BTMan.BTStr('January,February,March,April,May,June,July,August,September,October,November,December'))

 

Translate Short Month values

LOCALE('CLAMON',BTMan.BTStr('Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec'))

 

Translate MSG Button values

LOCALE('CLABUTTON',BTMan.BTStr('OK,&Yes,&No,&Abort,&Retry,&Ignore,Cancel,&Help'))

 

Translate ErrorCode() values

LOCALE('CLAMSG2',Self.BTStr('File Not Found'))
LOCALE('CLAMSG3',Self.BTStr('Path Not Found'))
LOCALE('CLAMSG4',Self.BTStr('Too Many Open Files'))
LOCALE('CLAMSG5',Self.BTStr('Access Denied'))
LOCALE('CLAMSG7',Self.BTStr('Memory Corrupted'))
LOCALE('CLAMSG8',Self.BTStr('Insufficient Memory'))
LOCALE('CLAMSG15',Self.BTStr('Invalid Drive'))
LOCALE('CLAMSG30',Self.BTStr('Entry Not Found'))
LOCALE('CLAMSG32',Self.BTStr('File Is Already Locked'))
LOCALE('CLAMSG33',Self.BTStr('Record Not Available'))
LOCALE('CLAMSG35',Self.BTStr('Record Not Found'))
LOCALE('CLAMSG36',Self.BTStr('Invalid Data File'))
LOCALE('CLAMSG37',Self.BTStr('File Not Open'))
LOCALE('CLAMSG38',Self.BTStr('Invalid Key File'))
LOCALE('CLAMSG40',Self.BTStr('Creates Duplicate Key'))
LOCALE('CLAMSG43',Self.BTStr('Record Is Already Held'))
LOCALE('CLAMSG45',Self.BTStr('Invalid Filename'))
LOCALE('CLAMSG46',Self.BTStr('Key Files must be Rebuilt'))
LOCALE('CLAMSG47',Self.BTStr('Invalid File Declaration'))
LOCALE('CLAMSG48',Self.BTStr('Unable to log transaction'))
LOCALE('CLAMSG52',Self.BTStr('File Already Open'))
LOCALE('CLAMSG54',Self.BTStr('No Create Attribute'))
LOCALE('CLAMSG55',Self.BTStr('File Must Be Shared'))
LOCALE('CLAMSG56',Self.BTStr('Logout Already Active'))
LOCALE('CLAMSG57',Self.BTStr('Invalid Memo File'))
LOCALE('CLAMSG63',Self.BTStr('Exclusive Access Required'))
LOCALE('CLAMSG64',Self.BTStr('Sharing Violation'))
LOCALE('CLAMSG65',Self.BTStr('Unable to rollback transaction'))
LOCALE('CLAMSG73',Self.BTStr('Memo File is Missing'))
LOCALE('CLAMSG75',Self.BTStr('Invalid Field Type Descriptor'))
LOCALE('CLAMSG76',Self.BTStr('Invalid Index String'))
LOCALE('CLAMSG77',Self.BTStr('Unable To Access Index'))
LOCALE('CLAMSG78',Self.BTStr('Invalid Number Of Parameters'))
LOCALE('CLAMSG79',Self.BTStr('Unsupported Data Type in File'))
LOCALE('CLAMSG80',Self.BTStr('Function not supported'))
LOCALE('CLAMSG88',Self.BTStr('Invalid Key Length'))
LOCALE('CLAMSG89',Self.BTStr('Record Changed By Another Station'))
LOCALE('CLAMSG90',Self.BTStr('File System Error'))
LOCALE('CLAMSG91',Self.BTStr('No Logout Active'))
LOCALE('CLAMSG92',Self.BTStr('BUILD in Progress'))
LOCALE('CLAMSG93',Self.BTStr('BUILD Cancelled'))
LOCALE('CLAMSG94',Self.BTStr('Record limit exceeded'))
LOCALE('CLAMSG97',Self.BTStr('Stream Error'))
LOCALE('CLAMSG100',Self.BTStr('Trigger Error'))