I saw Wilhelm's earlier comment and started thinking about some of its 
implications:  i) NLS support: Is there anybody who can tell me if all DOS 
commands support [J(a)|Nein] or [O(ui)|N(on)] etc. instead of [Y(es)|N(o)]? If 
not, they should do it. As a translator you never know what to do.  Supporting 
multiple languages brings up all kinds of technical issues.  E.g., there are at 
least three different ways to approach this: compile all the languages into one 
executable file (makes for a very large file and also requires recompilation if 
a new language is added), compile different executables for each language 
(creates lots of different executable files where each needs a separate name), 
or have a "base" executable with separate "adjunct" files for each language 
(probably the most efficient option in terms of total size).
 A major issue is that interactive items (like Yes/No or Abort/Retry/Fail) 
require two-way interaction.  That is, in addition to displaying different 
things on the screen for the different languages, you also have different input 
keys that can respond to the different options (e.g., Y/N for English and J/N 
for German).  That gets really ugly to program and from a design perspective it 
becomes an issue as to where the store the input key data.  That is, 
particularly if you have a common "base" program with separate language files, 
where does the data for the correct input keys (which vary by language) get 
stored -- in the base program or in the language file?  Does the base program 
really even need to know what language is being supported or can the base 
program be totally independent of language and ALL the language data (both 
input and output information) is contained in the language files?
  This gets further complicated if you support languages that aren't based on a 
Latin alphabet (Cyrillic, Arabic, CJK, Greek, and Hebrew come to mind 
immediately) where the Code Page comes into play as well (and the ASCII codes 
for the input key data can vary depending on the current Code Page).
  I'm really wondering if anybody has really thought this all the way through 
and has some sort of flexible structure figured out.  I've considered adding 
language support to some of my programs (if I could get someone to do the 
translations), but just designing a support structure to handle all the 
possibilities is pretty daunting.
  I realize this doesn't have a direct relationship to FreeDOS 1.3, but it got 
me to thinking about the complications of language support in general.
_______________________________________________
Freedos-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freedos-devel

Reply via email to