> DOS programs with source code? They include a free software
> license (as > in freedom)? You have your translator for
> French and Turkish. I  can do the l10n if you do the i18n
> part :-)
 
Well, thanks for volunteering, but what I actually have in mind may be far more 
than you're willing to commit to.  Let me give you an example using one of my 
simpler programs called PRTSCR.
 
What the program does is intercepts the Interrupt (05) that happens when you 
press the PrintScreen key on the keyboard.  Normally, this sends a copy of the 
screen to the LPT1 port on the computer (which normally has a printer attached 
to it).  What PRTSCR does is intercept that so a copy of the screen is sent to 
a file or other device instead of LPT1.  It will even allow you to "disable" 
PrintScreens altogether by sending the screen contents to the NUL device.  It 
can also provide some simple "filters" to the screen contents before they get 
sent anywhere to "compress" things to some degree.
 
Anyway, the basic "status" screen for PRTSCR looks like this (BTW, I obtained 
these screen outputs using PRTSCR):
 
*****
 
S:\\>prtscr S:\\prtscr.txt
PRTSCR 2.02, (C) 1995-2012, Bret E. Johnson.
Sends DOS PrintScreen's to a File or Device instead of directly to a Printer.
 
PrintScreen's now add a copy of the screen to the end of the following File:
  S:\\prtscr.txt

FILTERS:
  Send FormFeed after each Screen  :   No
  Replace ASCII 0/255's with Spaces:  Yes
  Replace Control Chars with Spaces:  Yes
  Delete Spaces at End-of-Line     :  Yes
  Skip Plain (blank) Lines         :   No
  Lines to Skip at Top of Screen   :    0
  Lines to Skip at Bottom of Screen:    0

BOUND CPU OpCode Patch: Enabled

Resident PRTSCR has been updated with new information.
 
*****
 
I think that would be relatively easy to translate.

The help screen for PRTSCR looks like this:
 
*****

S:\\>prtscr /?
PRTSCR 2.02, (C) 1995-2012, Bret E. Johnson.
Sends DOS PrintScreen's to a File or Device instead of directly to a Printer.

SYNTAX: PRTSCR [Options]

  /?      =  Show this HELP screen
  /A      =  Show all ALIASES for these command line Options
  /ErrLvl =  Show all ErrorLevels (DOS Return Codes)
  /Q:Y|N  =  Be QUIET about program details (Default = NO)

  /Low:Y|N   =  Force installation into LOWER memory (Default = NO)
  /DPMS:Y|N  =  Install in XMS using DPMS, if possible (Default = YES)
  /EMS:Y|N   =  Install in EMS (Expanded Memory), if possible (Default = YES)
  /Bound:Y|N =  Enable BOUND CPU OpCode Bug Patch (Default = YES)
  /U         =  UNINSTALL from memory

  FileName =  File/Device to send the PrintScreens to (default = SCREEN.000)

  /F:Y|N =  Send FORMFEED after each screen (Default = NO)
  /Z:Y|N =  Replace ASCII ZERO/255 characters with Spaces (Default = YES)
  /C:Y|N =  Replace printer CONTROL characters with Spaces (Default = NO)
  /L:Y|N =  Delete Spaces at end-of-LINE (Default = NO)
  /P:Y|N =  Skip PLAIN (empty) lines (Default = NO)
  /T:#   =  Skip # lines at TOP of screen (0-1000, Default = 0)
  /B:#   =  Skip # lines at BOTTOM of screen (0-1000, Default = 0)

  /D =  DISABLE (PrintScreen works like it did before)
  /E =  ENABLE (Send PrintScreens to a file/device) (default)

  /S =  Show STATUS of Last PrintScreen performed
 
*****

While it should be relatively easy to write this output in another language, 
the options themselves are mnemonic to make it easier to remember them (which 
is why I have some words capitalized in the descriptions).  If this were to be 
converted to another language, the ASCII codes for the options should probably 
change also (for example, the /F option for FormFeed should maybe change to 
something other than F in Turkish -- I really have no idea).  This in brings up 
"coordination" issues since you can't duplicate letters in the options.  None 
of this is impossible to overcome, but it gets confusing and messy in a hurry 
and makes things very difficult to maintain and test.
*****

In addition, in PRTSCR (and most of my other programs) I have long-form aliases 
for the command line options.  The following is a partial output from PRTSCR 
which shows the aliases for the various options.  The very first one in the 
list shows the aliases for the /? (Help) option which are H, Hlp, and Help.  
So, for example, instead of typing "PRTSCR /?" you can type "PRTSCR /Help" and 
get the same output.  As you can see from the list, the aliases are not always 
complete words and use abbreviations and sometimes combine abbreviations and 
whole words together.  I do this to make it easier on the user so they don't 
necessarily need to remember all the shorthand (single letter) codes for 
things.   Also note that some of the options don't have a single-letter option 
for them (e.g., the LowMemory option).  That's because I already use the /L 
option for one of the filters.  The other logical choice for a single letter 
would be /C (ConventionalMemory), but /C is also already used for one of the 
Filters.  As a result, some of the options don't have single-letter options. 
Anyway, converting this to another language would bring up all kinds of issues 
related to aliases (including coming up with "good" Aliases) and single-letter 
options and such.  That's and involved and complicated process that involves 
much more than simple translation.  It's certainly possible, but not exactly 
trivial.
 
 
*****

S:\\>prtscr /a
PRTSCR 2.02, (C) 1995-2012, Bret E. Johnson.
Sends DOS PrintScreen's to a File or Device instead of directly to a Printer.

                   ALIASES FOR COMMAND-LINE OPTIONS
===========================================================
? H Hlp Help

A Alias Aliases CmdLineAlias CmdLineAliases CommandLineAlias CommandLineAliases
   OptionAlias OptionAliases

B Bottom BottomLine BottomLines BottomRow BottomRows Btm BtmLine BtmLines
   BtmRow BtmRows DeleteBottom DeleteBottomLine DeleteBottomLines
   DeleteBottomRow DeleteBottomRows DeleteBtm DeleteBtmLine DeleteBtmLines
   DeleteBtmRow DeleteBtmRows DeleteLast DeleteLastLine DeleteLastLines
   DeleteLastRow DeleteLastRows EraseBottom EraseBottomLine EraseBottomLines
   EraseBottomRow EraseBottomRows EraseBtm EraseBtmLine EraseBtmLines
   EraseBtmRow EraseBtmRows EraseLast EraseLastLine EraseLastLines EraseLastRow
   EraseLastRows IgnoreBottom IgnoreBottomLine IgnoreBottomLines IgnoreBottomRow
   IgnoreBottomRows IgnoreBtm IgnoreBtmLine IgnoreBtmLines IgnoreBtmRow
   IgnoreBtmRows IgnoreLast IgnoreLastLine IgnoreLastLines IgnoreLastRow
   IgnoreLastRows Last LastLine LastLines LastRow LastRows NoBottom NoBottomLine
   NoBottomLines NoBottomRow NoBottomRows NoBtm NoBtmLine NoBtmLines NoBtmRow
   NoBtmRows NoLast NoLastLine NoLastLines NoLastRow NoLastRows RemoveBottom
   RemoveBottomLine RemoveBottomLines RemoveBottomRow RemoveBottomRows RemoveBtm
   RemoveBtmLine RemoveBtmLines RemoveBtmRow RemoveBtmRows RemoveLast
   RemoveLastLine RemoveLastLines RemoveLastRow RemoveLastRows SkipBottom
   SkipBottomLine SkipBottomLines SkipBottomRow SkipBottomRows SkipBtm
   SkipBtmLine SkipBtmLines SkipBtmRow SkipBtmRows SkipLast SkipLastLine
   SkipLastLines SkipLastRow SkipLastRows

C ChangeControl ChangeControlChars ChangeControlCharacters
   ChangeControlCharsToSpaces ChangeControlCharactersToSpaces Control
   ControlChars ControlCharacters ConvertControl ConvertControlChars
   ConvertControlCharacters ConvertControlCharsToSpaces
   ConvertControlCharactersToSpaces FixControl FixControlChars
   FixControlCharacters ReplaceControl ReplaceControlChars
   ReplaceControlCharacters ReplaceControlCharsWithSpace
   ReplaceControlCharsWithSpaces ReplaceControlCharactersWithSpace
   ReplaceControlCharactersWithSpaces

D Disable Off

E Enable On  ...


U Out Remove Uninstall
 
Z ChangeZero ChangeZeroToSpace ChangeZeroToSpaces ChangeZeroes
   ChangeZeroesToSpace ChangeZeroesToSpaces ChangeZeros ChangeZerosToSpace
   ChangeZerosToSpaces ConvertZero ConvertZeroToSpace ConvertZeroToSpaces
   ConvertZeroes ConvertZeroesToSpace ConvertZeroesToSpaces ConvertZeros
   ConvertZerosToSpace ConvertZerosToSpaces FixZero FixZeroes FixZeros
   ReplaceZero ReplaceZeroWithSpace ReplaceZeroWithSpaces ReplaceZeroes
   ReplaceZeroesWithSpace ReplaceZeroesWithSpaces ReplaceZeros
   ReplaceZerosWithSpace ReplaceZerosWithSpaces Zero Zeroes Zeros

_ Bound BoundFix BoundOpCode BoundOpCodeFix BoundOpCodePatch BoundPatch

_ DOSProtectedMode DOSProtectedModeServices DPMS ProtectedMode
   ProtectedModeServices UseDOSProtectedModeServices UseDPMS UseProtectedMode
   UseProtectedModeServices

_ EMS Expanded ExpandedMem ExpandedMemory UseEMS UseExpanded UseExpandedMem
   UseExpandedMemory

_ ErLevel ErLevels ErLevelTable ErLevelTbl ErLvl ErLvls ErLvlTable ErLvlTbl
  ErrLevel ErrLevels ErrLevelTable ErrLevelTbl ErrLvl ErrLvls ErrLvlTable
   ErrLvlTbl ErrorLevel ErrorLevels ErrorLevelTable ErrorLevelTbl ErrorLvl
   ErrorLvls ErrorLvlTable ErrorLvlTbl

_ Low LowerMem LowerMemory LowMem LowMemory NoUMB NoUp NoUpper NoUpperBlk
   NoUpperBlock NoUpperMem NoUpperMemBlk NoUpperMemBlock NoUpperMemory
   NoUpperMemoryBlk NoUpperMemoryBlock UseLow UseLowerMem UseLowerMemory
   UseLowMem UseLowMemory


       ALIASES FOR YES & NO
==========================
N 0 Disable Disabled F False No Off

Y 1 Enable Enabled On T True Yes

*****

THe last major item is documentation, which in my case is PRTSCR.DOC.  This is 
currently a 60+ page document which would need to be completely translated to 
all the other languages.  BTW, I currently write the documentation using 
WordPerfect for DOS and have it "print" to a text file, though it doesn't 
necessarily need to stay that way.
 
Anyway, volunteering to "properly" translate even a simple program like PRTSCR 
is far from trivial and would probably require some back-and-forth interaction 
instead of operating independently.
 
Are you willing to make that level of commitment, and to do it for a lot of 
different programs (including some that are MUCH more complicated than PRTSCR)? 
And, is it really worth the effort (considering this is an archaic thing like 
DOS)?
_______________________________________________
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel

Reply via email to