LTE: Sorting a Language Table
Use the controls on the Sorting tab of the LTE config window, accessed from the options menu on either the main window or the LTE, to control the sort order of strings in language tables. Click any item (or scroll down) for detailed information.
You may nest-sort a language table alphabetically on up to two keys:
File Name (the name of the source file in which VBLM found the string instance)
Instance Type (form or control property vs. string embedded in code)
Instance Name (as it appears in the table, eg Form1.Label1.Caption)
String Value (the string itself)
Translation (the translation you have input)
If you select No Sort, table order is determined by
a) the alpha-by-type order in which the project files are listed in VB's project window, and
b) the order in which VBLM found the strings in the files.
The LTE Sort Method is set to, either Windows or ANSI and Case Sensitive or not.
If Windows Rules are selected, VBLM sorts using Windows' language/locale-sensitive lstrcmp (case sensitive) or lstrcmpi (case insensitive) API functions. For more information on these functions and the primary and secondary sort values they return, look them up and see the International Applications Overview in the Windows SDK help file.
If ANSI Rules are selected, VBLM sorts by ANSI code using VB's StrComp function, with the case flag set appropriately. This is the default, because it is much faster.
The presort string processing options -- Ignore Leading Spaces, Ignore Leading Punctuation, and Ignore Embedded Punctuation -- are included to compensate for the idiosyncrasies of strings used to define VB properties and/or embedded in VB code.
In particular, embedded strings often have leading spaces for concatenation reasons, and property strings often have leading or embedded ampersands for hot-key reasons. Checking any of these options causes VBLM to remove the ignored item(s) from the temporary copies of the strings used for sorting.
Note: Checking Ignore Embedded Punctuation causes VBLM to reconstruct the temporary copies of strings used for sorting character by character, and slows the already less-than-breathtaking speed of VBLM's current sort algorithms.
Notes
1) The current sort keys are always displayed in the lower right corner of the LTE.
2) VBLM does not store language tables in sorted order; tables are resorted per the current specification when loaded.