> On Mar 3, 2025, at 12:51 PM, Bret Johnson via Freedos-devel > <freedos-devel@lists.sourceforge.net> wrote: > > I am trying to add international language support to at least some of the > programs I am updating. So far, I have had some interaction with Thraex > regarding French and Turkish translations for some of the programs, and am > very grateful for what he has provided thus far. > > I am still trying to develop a good infrastructure in the programs to handle > multiple languages, though -- one where I wouldn't necessarily need to be > very involved in the process of adding new languages to a program. KITTEN > really isn't that useful for me for multiple reasons, one major reason being > that, at least as far as I can tell, it is only for C and not ASM. It also > isn't very "flexible" in the types of text it can handle (e.g., it can't > directly handle multiple-line strings. doesn't have flexible formatting for > input parameters like numbers, doesn't really allow for manipulating things > like indentation and spacing/text alignment, only handles output rather than > input, etc.). > > Anyway, in trying to set up the environment in my programs, I have run into > something of a dilemma. The LANG environment variable seems to be the > "controller" of what LANGuage the user wants/prefers to see messages in. > AFAIK, the LANG environment variable really wasn't used back when MS was > "managing" DOS and is something relatively new that I think was "invented" by > FreeDOS (though I'm not 100% sure about any of that). I've never seen any > documentation, formal or otherwise, on exactly how the LANG environment > variable should be used. > > My assumption is that what is contained int eh LANG environment variable > should be a two-letter code, and an extension to this assumption is that the > two-letter code should correspond to the "official" two-letter language codes > as defined in ISO 639. I really, really doubt that DOS will support all of > those (nearly 200) languages, but will support several of them to at least > some degree.
It is not always just 2 letters. For example, Portuguese is PT and Brazilian Portuguese is PTBR. > > That brings me to the dilemma. In addition to the language, DOS also has > three other related items: Keyboard Layouts, Countries, and Code Pages. > While all of these items are highly inter-related they are also distinct and > separate. The main question I have is in the two letter codes for LANGuage > and their relationship to the two-letter codes for countries and keyboard > layouts (code pages don't have two-letter codes). > > As an example, for America the two-letter country code and "standard" > keyboard layout codes are US, but I'm aware of at least four other "standard" > keyboard layouts that are sometimes used in America, (Dvorak, Left-handed > Dvorak, Right-handed Dvorak, and Colemak), and there are also at least three > other countries that use the English language (Great Britain, Australia, and > New Zealand). I also know that even though all these countries use English, > there are dialectical differences so that something written for an American > audience wouldn't necessarily be understood correctly by an Australian > audience, and vice versa. > > Anyway, my basic question is: should it be allowed to "intermix" the two > letter codes? For example, if I live in the US and want my program > interactions to be in English, is the LANG environment variable required to > be EN or can it also be US (or UK or AU or NZ or ...)? That is, can the LANG > environment variable correspond to a country code where the "common" language > is the one you want to use? I know what I think the answer _should_ be (at > least if we don't want to fundamentally change how DOS handles languages and > code pages and etc.), but would like to see what others think. > > Bret > > > _______________________________________________ > Freedos-devel mailing list > Freedos-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/freedos-devel _______________________________________________ Freedos-devel mailing list Freedos-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-devel