___
Hello All !
• Currently, the interface-languages are provided by XnView in two ways :
1. Embedded in the EXE for English, that's the default whether not any DLL exists in the «Language» sub-dir,
2. As DLLs in the aforesaid sub-dir, for all other languages.
• Even if that DLL-system remains beloved by a handful of authors, it's quite out of date, and not handy at all to translate, update, modify. These inconveniences are multiplied by several dozen languages, so I think that another handier / simpler system might be studied and applied, sooner or later { I would much prefer sooner }.
• Hence, from that I experienced with many programs for a long while, I think that text files are the best way to get good localizations.
How to switch to such a system for XnView ?
• In the outlines, I would propose a process like :
- As a first step, we could have a standalone English DLL; it could be patched / fixed up by some competent English native speakers; currently, there is none English DLL, this puts the English-speaking users at a disadvantage, so they are rightly requesting improvements daily or almost in the forum…
- Improving the built-in English stuff should allow to place any language strings in the actual embedded dialogues, since they would remain the only when suppressing the DLLs. Each DLL contains all dialogues actually, that increases a lot the global size of the distributed programme.
- That needs to set a more convenient internal font first; currently, Pierre is still using the MS Sans Serif, in which 29 characters are missing, that complicates the translations, especially in French and some other languages. Indeed, an option to choose a font for the dialogues could be a must, like this exists elsewhere…
- I guess that the Polish / French and also German strings are among the longest. So, Pierre et alter could use the longest as a template to fix all rooms for the controls, also with regard to the work of the English-speaking users in the temporary English DLL. - English templates might be made for the future language-files translations, it's indispensable, I think.
- The menus might be moved in (three?) ANSI TXT plain text files; usually, such files have the *.MNU extension.
- I guess that we need one file per menu-type, I mean for each main view mode : View and Browser, plus the local menus (right-click contextual menus).
- If needed, a fourth one for some small menus here and there which are not in the previous main categories. I think to a real “Favourite...” menu, for instance...
- English menu-templates must be made for the translators, of course. - All other strings might be moved in a *.LNG file, also built as an ANSI TXT file.
- Indeed, some languages request UNICODE or UTF8, but it is not a big deal to support both formats when needed.
- Of course, each string must have an ID-number in decimal ! This is the simplest and best way to get handy files, easy to create and to update. For this too, an English template is needed for the translators. For example :Code: Select all
0="" 1="OK" 2="Cancel" 3="Help" 4="......"
- Finally, in addition, a file containing the whole internal commands for the menus (and for future additional buttons) might be provided as plain text, i.e. «xnview.inc» like :
- Such a file allows to change the menus if needed, or to create customized ones, that is impossible currently
Code: Select all
Command-name#1=1; short description... Command-name#2=2; ditto... Command-name#3=3; ditto... and so on...
- Also, all the INI variable entries might be set and described (for short) in another text-file, any name is convenient : «xnv_ini.txt» or so…Some entries could be planned for special cases, when the program doesn't add any appropriate entry. This exists for example in Total Commander, especially for advanced users, but not only…
Kind regards,
Claude
Clo