Saltar al contenido principal

Language Settings 2.0

In the initial 1.0 version of LanguageSettings.exe, there were two tabs. The first was dedicated to translating phrases in the core client across all projects. The second tab was dedicated to the population and translation of phrases from configuration saved within the database.

Version 2.0 consolidates these into one interface:

There are three basics steps:

  1. Sync In the phrases to be translated (maybe from an updated client install, or maybe from a new/different database, or updated configuration)
  2. Perform the translation work (including adding/deleting any languages). All the work can be performed from the grid directly on the screen. Each phrase can be flagged as Translated, Untranslatable, and Verified.
  3. Press 'Sync Out' when all translation work is complete (or just when you want to port your work to the client for testing). This is a lengthy operation, taking maybe 30 minutes. But it is thorough - all language files are re-created for all projects and within the database. This ensures consistent translation between all projects and configurations.

Sync In Options

  • Load Configuration Items to Language Dictionary: this is the most common sync and typically will be the only one customers will need (until they update the client). This one menu option automatically loops through all configurations (reports, layouts, custom captions, etc.) and populates the language dictionary.
  • Add to Configuration Items - Miscellaneous: this is a rare option, only needed if you want to manually add a one-off phrase (this option was previously available with the database tab, so retained here).
  • Resync Configuration Items In Language Dictionary: this operation is automatically performed after the 'Load Configuration Items to Language Dictionary' menu item. But the customer might want to run this operation manually if they know they are on a workstation pointing to a different database (and that database already has configuration items for translation saved to the database). They merely need to update the 'consolidated' database with this listing.
  • Resync Client Version Items In Language Dictionary: this operation is only needed when the client version has changed, and the customer wants to update the dictionary with new phrases from the new functionality.
  • Resync Client Version & Configuration Items: performs both operations together.
  • Resync ALL - Includes Load Config., Resync of Config & Client: perform a full config. Load (top menu item) and both Resyncs. This is the most thorough operation. Note that these operations are always ONLY additive, so there is no risk of losing data - so there is no harm in running the full sync (it just might take a little longer).
  • Delete All Config. Items from Dictionary (All Languages)****: this operation ONLY applies to the 'Config. Only' items. This can be used to clean out phrases that got into the customer dictionary while connected to a different/older database. They then could run a fresh configuration sync to get a clean slate.

Editing Options

These options are also available with a right mouse click in the translation grid.

  • Auto-translate ALL Untranslated records with Google: items already flagged as Translated are unaffected
  • Auto-translate selected record(s) with Google: only affects the selected records
  • Revert selected record(s) to Native Value
  • Set selected record(s) to Translated (Checked)
  • Set selected record(s) to Untranslatable (Checked)
  • Set selected record(s) to Verified (Checked)
  • Set selected record(s) to not Translated (Unchecked)
  • Set selected record(s) to not Untranslatable (Unchecked)
  • Set selected record(s) to not Verified (Unchecked)
  • Delete Selected Config. Item (All Languages): only applies to 'Config. Only' records affect all languages

Note that keyboard shortcuts exist for most of these common actions above.

Only certain fields are editable in the translation grid. All others are auto-populated and read-only:

  • Translated Value
  • Translated (checkbox)
  • Untranslatable (checkbox)
  • Verified (checkbox)

All of the editable fields have batch-change options available, as noted above.

Note that there are a few additional read-only fields in the translation grid that can be helpful:

  • Last Modified By: automatically updated by the user name that made the last edit
  • Last Modified Date: automatically updated with the date and time of the last edit
  • Only In Config. (checkbox): automatically set if this phrase only comes from the configuration. Note that if a phrase is duplicated in the configuration and the core client, this checkbox will be off.
  • Length: the length of the Native phrase in characters
  • Length Diff: the difference in length of the translated phrase compared to the native phrase. If a translated phrase is shorter than the native phrase, a negative value will be shown. Note that this difference is not a percentage but a count of characters. This is because the amount of available space for the label within the client is often fixed (field layouts have variable lengths for field captions, however). With a fixed caption, only 5-10 extra characters can often be used before the text is cut off. Use this option to sort and locate these possible issues quickly. Note: if the phrase is a full sentence, it is likely only shown in a popup confirmation dialog - any length will be fine in these cases.

To help highlight any potential length issues, there is a conditional formatting setup for the 'Length Diff' column. Any value > five characters begins to shade yellow. At > 10 characters, the value is shown in yellow:

Save Main Interface Button: press this button to save current translation changes to the file. This save is done automatically upon form close.

Automatic Correction Actions

When translation work is done in the new consolidated grid, before each post of a translated phrase, we are checking and auto-fixing (if possible) common errors. Keep these actions in mind so they do not surprise:

  1. Any %s parameters in the phrase are noted and counted within the original native phrase and the proposed translation. If the count of these parameters is inconsistent, the native phrase is reset, and the proposed translation is ignored.
  2. The left padding of spaces in the original native phrase is automatically added to the translated phrase if missing or incomplete.
  3. If the original phrase ends in a : character and this has been forgotten/omitted in the translation, then this is automatically added.
  4. If the original phrase is in all uppercase and the translated phrase is not, then the translated phrase is automatically forced to all uppercase.
  5. If the very first character of the native phrase is uppercase, but the first character of the translated phrase is not, then this one character casing is corrected.

Note that all the above auto-corrections also occur during data import to ensure consistency.

Right Side Optional Editing

Sometimes the translated phrase is longer than can be conveniently shown in the grid. In these instances, you can make a right-side section visible to see the full native phrase on the top and edit/save the translated phrase on the bottom. Note that scrolling off the grid record will save the record, also. This right-side section can be collapsed if not needed.

Sync Out

This option is used when you are done with translation work and are ready to port the consolidated changes to all the internal translation files for this workstation and database language files (system-wide). This can be a lengthy operation.

Language Selection - Add / Delete a Language

Use the drop-down on the right of the screen to select the current language for editing. The grid contents are always filtered by this selected language (unless a batch update/sync operation is running temporarily - in this case, the grid will be refiltered to the selected language upon completion).

Press the 'Add' button to add a new language and select the desired language code. To delete, select the delete button and confirm any prompts. Note that a deletion is permanent.

Export / Import Language Files

Use these options to quickly zip all the translation files for backup or easy transport to another workstation. Note that the two new IndySoftConstants.bin and IndySoftTranslations.bin files (used internally for the consolidated translations at this workstation) are included in the language files. If you then went to a second workstation pointing to the same database and performed an import using this zip, then the language setup (including consolidated translation) would be identical.

Filtering Translation Grid

As noted earlier, the selected language always filters the translation grid. The next level of filtering is the two radio buttons:

  • Untranslated / Translatable: this option only filters the grid to show items with the 'Translated' checkbox unchecked and the 'Untranslatable' checkbox unchecked. This is the simplest view to see all remaining translation work.
  • All: this removes the above filter.

In addition to the above filtering, you can use grid-based filtering for more advanced options.

For instance, you could select the filtering for the 'Verified' column and only see items not yet Verified. To remove these ad hoc filters, click the 'x' describing the filter at the bottom of the grid.

Advanced Options

There are a few advanced options available from a gear button on the bottom right of the screen:

  • Enable Config. Language Dictionary Caching (Database-Wide Setting)****: the default for this setting is ON, and this typically has a big speed gain for logins - so be careful with turning this off. But in rare instances, if a customer has many phrases in their configuration, it might be faster (like on main screen logins) if this setting is checked off. This is a database-wide setting.
  • Show Legacy Translation Tabs (IndySoft Support Only): the new consolidated translation interface accomplishes all that was done in prior versions in 2 tabs ('Main Interface & Languages' and 'Custom Config. & Language Dictionary'). In general terms, the 'Sync In' operations are loading phrases from these two legacy/hidden tabs into a consolidated translation interface, then the 'Sync Out' divide the translation work back out. An IndySoft Support person might elect to display these two legacy tabs in an advanced debug situation. In this mode, the consolidated translation interface is shown on a 3rd tab as 'Consolidated Language Translation.'

  • Remove Configuration Items From Language Dictionary: this option is similar to the 'Sync In… Delete All Config. Items From Dictionary - All Languages' menu option; however, only deletes records from the consolidated dictionary, so NOT from the two database tables dedicated to configuration translations. So, this menu option is only necessary for a clean-up support operation where the consolidated dictionary has incorrect/older data (but the database is correct).
  • Resync Configuration Items In Language Dictionary (Force All): this option is similar to the 'Sync In… Resync Configuration Items In Language Dictionary' menu option; however, in this case, the translation items are forced to sync, even if a difference is not previously noted in the listing of distinct phrases. So, a slower but more thorough sync might be required in a support situation.