one language | several languages |
Internally hard coded | Code protected only by offering an excerpt of strings to be translated |
External DLL file | Main code fully protected no extra work required. Language strings protected from accidental changes. |
External strings file | Main code fully protected no extra work required |
one language | several languages | |
Internally hard coded | Upkeep must be replicated on every language mb/mbx | One upkeep |
External DLL file | One upkeep | One upkeep |
External strings file | One upkeep | One upkeep |
one language | several languages | |
Internally hard coded | New compilation(s) of corrected code for the concerned executable(s) | New compilation of corrected code of the unique executable |
External DLL file | Corrections (DLL compiler) in the concerned language file(s) | Corrections (DLL compiler) in the language file |
External strings file | Corrections (text editor) in the concerned language file(s) | Corrections (text editor) in the language file |
one language | several languages | |
Internally hard coded | If the author wants to control his code, he must create a new executable for the language. | id... , he must create a new version of the executable including the new language. |
External DLL file | Addition by end user himself. New language file may be offered for general distribution without returning to the author. | Addition by end user himself. If translation is sent to author, he can consolidate the language file for general distribution. |
External strings file | Addition by end user himself. New language file may be offered for general distribution without returning to the author. | Addition by end user himself. If translation is sent to author, he can consolidate the language file for general distribution. |
one language | several languages | |
Internally hard coded | Reference size for executable: code + strings for one language. | Maximum for executable: code + strings for all languages |
External DLL file | Minimum for executable + as many single language DLLs as there are languages. | Near minimum executable (mini + language switching code) + as many single language DLLs as desired. |
External strings file | Minimum for executable + as many single language text files as there are languages. | Near minimum executable (mini + language switching code) + one string external (~ single language file * ALL available languages) |
one language | several languages | |
Internally hard coded | Fastest solution | Near to next fastest, requires selecting language for each string handling |
External DLL file | No change in speed will most probably perceived. | Could be slightly slower because reading a bigger DLL, but no impact is expected |
External strings file | Slower if strings are read as required only | Slowest if strings are read as required only because the added choice of language |
one language | several languages | |
Internally hard coded | close application and change executable | on the fly within the loaded application |
External DLL file | a/ if one external only recognized by application, close application and physically switch external. b/if several external files recognized by application, on the fly within the loaded application | on the fly within the loaded application |
External strings file | a/ if one external only recognized by application, close application and physically switch external. b/if several external files recognized by application, on the fly within the loaded application | on the fly within the loaded application |