|
How to get started quickly.
NOTE: All Radio's need to have a "Value" parameter set on them to use in your code, because BoTran2 will translate the text on the Radio control and it will no longer be available for use in your code. Drops, Combo's, and Spins that use "From" text lists must also have a "Value" stored to use in your existing code. The controls also need a "use" variable on them to be translated as in the Spin example below that uses a local variable for storage.
RADIO('Pie'),AT(0,12),USE(?RType:Radio2),VALUE('Pie')
SPIN(@S4),AT(280,0,20,20),USE(SpinVar3,,?SpinVar3),FROM('Mr.|#1|Mrs.|#2|Ms.|#3|Dr.|#4')
LIST,AT(300,0,20,20),USE(?L16),FROM('Apples|#Apples|Peaches|#Peaches|Pumpkin|#Pumpkin|Pie|#Pie')
Check your Redirection file for proper setup.
| 1. | Run the BoTran2 Export Default Text JumpStart Utility on your app to create the Translation file. BoTran2 will create a default %Application.btl file(*.BTL) that holds the default prompts and pictures from your app. If it is a multi-dll app, run the utility on each app to pick up any addition prompts from the other apps. Use the same BTL file for each app in a multi-dll environment. BoTran2 will create the file in the root directory. BoTran2 will also create the default %Application.bts file(*.BTS) in the root directory. This is used if your default Language is not "English" and for Changing some Environment Variables. |
| 2. | Use the included Utility program EdBoTranM.exe to type in your Translations and Manage the translation file. The file is not case sensitive, so File, file, and fiLE are all the same. However &File, File, and File: are not. They each need a separate translation. BoTran2 only translates default strings that have an entry in the "chosen" language, if no entry is present, it will skip that translation and use the default value. EdBoTranM has features to transfer existing translations from other BTL files, or PD string files into your new Language file to save work. (Hint: Use this to create Master file for translations.) |
| 3. | Any prompts missed by the JumpStart utility will be automatically entered into the BTL file the first time the procedure is entered when in a "Language" other than default(1). The JumpStart utility is pretty thorough, and catches most of them. Run it again after making any app changes, as it will add any new strings, and not overwrite existing ones. It will however update any changes made to your BoTran2 TRN files. |
| 5. | Add the BoTran2Global Template and fill in the prompts. This automatically adds all the procedure templates. You can disable the templates with a switch in the Global template, and each procedure can be individually overridden and disabled as needs arise. Use the same template settings in each Global template in a multi-dll environment, but make sure you have the "Data export" checkbox and "This is part of a multi-dll" check boxes set correctly. See ABC and Clarion for the differences in the setup on the Global templates. |
| 6. | Add a Menu item or toolbar button for a procedure using the BoTran2Lang selector control template. It is a control template that drops on a "generic window" and selects the active Language , stores it in the ini file, and dynamically switches the app to the new language. It updates the main Frame menu at the same time you select a new Language. This needs to be on the same thread as the Main Frame to work correctly. (Clarion requirement, not mine<g>) |
| 7. | The BoTran2Ext procedure template Has a switch on it for "disabling in this procedure", a switch that is enabled for a form for late translation of the window caption if you are using "Action Messages", and a switch to use a translated "Preview Window" for reports. These are only effective in "Legacy". ABC has its own calls to the translator class derived from BoTran2. |
| 8. | The BoTran2Special "Code" template is for special case translations. It can translate the entire window, the window caption, one control, or a range of controls. This is used if you change a control conditionally in code, and need to translate it again after you change it. Use this code template if the window has already been translated by BoTran2. The range of controls is for when you dynamically create several controls, or have 3rd Party templates that dynamically create controls, to allow late translation. |
|