What VPME Multilingual Adds to a VPME Project

When you click OK on the New Project dialog, Visual ProMatrix gets to work creating your VPME Multilingual application. Here’s what VPME adds to a VPME Multilingual application.

Languages

VPME creates an application’s Languages table (SVPMLanguages.dbf) in the application project’s \DATA directory from SVPMLanguages.dbf, the New Project Languages table in VPME’s \NEW PROJECT directory. A Language record from the New Project Languages table is included for each language you select for your application.

The Languages table stores information about the languages in which an application can run. Each Language record defines how a language should be handled in an application. For example, a Language record stores the date and currency formats that you select for a language as well as which elements of an application should be translated.

You can view and maintain an application’s Languages by selecting either of the following forms:

·       Language Builder: Select the Language Builder on the VPME Tools menu (see Language Builder), or

·       Language Manager: Select the Language Manager on an application’s Admin menu (see Language Manager).

The Language Builder and Language Manager are basically the same form, but there is an important difference in their functionality.

·       String Collection: The Language Builder has special functionality that finds and inserts the strings you add to an application into the application’s Strings table.

·       Translations Creation: The Language Manager has special functionality that helps you create Message and String Translations.

Message Translations

VPME creates an application’s starter Message Translations table (SVPMMessageTranslations.dbf) in the project’s \Data directory from SVPMMessageTranslations.dbf, the New Project Message Translations table in VPME’s \NEW PROJECT directory. Message translations from the New Project Message Translations table are included for each language you select.

The Message Translations table stores translations of the messages that you create with the VPME Message Builder. The messages that you create with the Message Builder are stored in an application’s Messages table (SVPMMessages.dbf).

When an application needs to display a translation for a message in the Messages table, it finds the translation in the Message Translations table using:

·       the Message ID to link from the message record to its translation records, and

·       the Language ID to link to the translation record for the language needed.

When you add messages to an application’s Messages table, you must also add translations of your messages to the Message Translations table for the languages you have included in the application.

You can view and maintain an application’s Message Translations on the application’s Message Translations form (see Message Translations). You can reach the Message Translations form in the three different ways described below. The way you reach the Message Translations form determines the “view” you have of the Message Translation records.

·       Message Translations Form (View All Message Translations): Select Message Translations on an application’s Admin menu to view all message translations in Message ID order. This view groups the translations for each message together. You can use the Toolbar Order control to change the view to see the message translations grouped by language if you wish.

·       Message Manager (View Current Message’s Translations): Select Message Manager on an application’s Admin menu and then click the Translations button on the Message Manager form. The Message Translations form is displayed with a Related Forms parent-child relationship between the Message Manager form (parent) and the Message Translations form (child). That means that the message translations displayed on the Message Translations form are filtered to the translations that belong to the current message displayed on the Message Manager form. While the Message Translations form is active, you can, of course, use the Toolbar Parent Mode control to change the current (parent) Message Manager form record, which will then display the message translations for the new message record that you select.

Tip – Current Message View: Use this view when you want to access all Message Translations for a particular message.

·       Language Manager (View Current Language’s Message Translations): Select Language Manager on an application’s Admin menu, and then click the Message Translations button on the Language Manager form. The Message Translations form is displayed with a Related Forms parent-child relationship between the Language Manager form (parent) and the Message Translations form (child). That means that the message translations displayed on the Message Translations form are filtered to the translations that belong to the current language displayed on the Language Manager form. While the Message Translations form is active, you can, of course, use the Toolbar Parent Mode control to change the current (parent) Language Manager form record, which will then display the message translations for the new language that you select.

Tip – Current Language View: Use this view when you want to access all Message Translations for a particular language.

 

Strings

VPME creates an application’s starter Strings table (SVPMStrings.dbf) in the application project’s \DATA directory from SVPMStrings.dbf, the New Project Strings table in VPME’s \NEW PROJECT directory.

Tip – Strings: An application’s “strings” are the interface language text used in property values (for example, captions), menu prompts and report labels.

The purpose of an application’s Strings table is similar to the purpose of its Messages table with respect to VPME Multilingual. The Strings table contains the Master Language strings used in an application just like the Messages table contains the Master Language messages.

Tip – Use ID: If you have duplicate strings in an application that need to be translated differently, you can use the Use ID field in the Strings and Strings Translations tables to differentiate between the strings. SeeHow to Create Alternative Translations for the Same String.

When you add strings to an application, you must add the strings to the Strings table, and you must also add translations of your strings to the String Translations table. Fortunately for you, VPME provides tools that will automatically insert your application strings into the Strings table (see How to Create String Records).

You can view and maintain an application’s Strings by selecting either of the following forms:

·       String Builder: Select String Builder on the VPME Tools menu, or

·       String Manager: Select String Manager on an application’s Admin menu.

The String Builder and String Manager are basically the same form with two difference in their functionality:

·       The String Manager lets you access the String Translations form; the String Builder does not.

·       The String Manager automatically creates a String Translations record for each language in your application when you save a new String record; the String Builder does not.

See String Builder or String Manager – Manual Entry.

String Translations

VPME creates an application’s starter String Translations table (SVPMStringTranslations.dbf) in the application project’s \DATA directory from SVPMStringTranslations.dbf, the New Project Strings Translations table in VPME’s \NEW PROJECT directory. String translations from the New Project String Translations table are included for each language you select.

The String Translations table stores translations of the strings collected in an application’s Strings table (SVPMStrings.dbf).

When an application needs to display a translation for a string, it finds the translation in the String Translations table using:

·       the first 50 characters of the string to link to the String Translations records with the same 50 characters in their String ID field,

·       the Use ID associated with the string to link to the String Translations records with the same value in their Use ID field (see How to Create Alternative Translations for the Same String) , and

·       the Language ID to link to the translation record for the language needed.

When you add strings to an application’s Strings table, you must also add translations of your strings to the String Translations table for the languages you have included in the application.

You can view and maintain an application’s String Translations on the application’s String Translations form (see Entering String Translations). You can reach the String Translations form in the three different ways described below. The way you reach the String Translations form determines the “view” you have of the String Translation records.

·       String Translations (View All String Translations): Select String Translations on an application’s Admin menu to view all string translations in String ID order. This view groups the translations for each string together. You can use the Toolbar Order control to change the view to see the string translations grouped by language if you wish.

·       String Manager (View Current String’s Translations): Select String Manager on an application’s Admin menu and then click the Translations button on the String Manager form. The String Translations form is displayed with a Related Forms parent-child relationship between the String Manager form (parent) and the String Translations form (child). That means that the string translations displayed on the String Translations form are filtered to the translations that belong to the current string displayed on the String Manager form. While the String Translations form is active, you can, of course, use the Toolbar Parent Mode control to change the current (parent) String Manager form record, which will then display the string translations for the new string record that you select.

Tip – Current String View: Use this view when you want to access all String Translations for a particular string.

·       Language Manager (View Current Language’s String Translations): Select Language Manager on an application’s Admin menu, and then click the String Translations button on the Language Manager form. The String Translations form is displayed with a Related Forms parent-child relationship between the Language Manager form (parent) and the String Translations form (child). That means that the string translations displayed on the String Translations form are filtered to the translations that belong to the current language displayed on the Language Manager form. While the String Translations form is active, you can, of course, use the Toolbar Parent Mode control to change the current (parent) Language Manager form record, which will then display the string translations for the new language that you select.

Tip – Current Language View: Use this view when you want to access all String Translations for a particular language.

 

More:

Multilingual object