[Lazarus] language setup / http://bugs.freepascal.org/view.php?id=22574

Martin lazarus at mfriebe.de
Sun Aug 12 22:51:52 CEST 2012


Please read: http://bugs.freepascal.org/view.php?id=22574

Then join the discussion here if you wish to add anything. (Thanks to 
Reinier Olislagers for proposing a patch, though it may be a bit early)

-------------------------------------------------
There are currently 2 approaches:

1) Installer
2) Lazarus setup dialog

-------------------------------------------------
1) Installer

- Contra: Only works on certain platform
- Contra: Must be implemented for each platform (more work/maintenance)
- Contra: can not differentiate between new install, and upgrade 
(upgrade must not interfere with existing settings)
    upgrade will have an existing config, but this may be at a none 
default location, if the user uses a --primary-config-path=
- Pro: Every user will be prompted once. (Can be archived with "setup" too)

The pro only applies, if it is not hard-coded.
Reinier's patch does set it always to English. No choice.

My opinion:
Using the installer is an (undesirable) second choice
** A hard-coded always English is *not* acceptable.  **
It should either be a checkbox:
   - English or Automatic (confusing since Auto can be English)
   - English or Installer language (limited because installer has 
limited options)
Or it should be a dropdown, with all languages.

Both, options have the issue of being displayed in case of an upgrade, 
in which case they should not.

-------------------------------------------------
2) Lazarus setup dialog

- Can use existing code
- Works on all platforms
- Can (if decided) be always shown, if there is no pre-existing config 
(new install)
- Can have an icon/start-menu entry. This allows easy resetting of the 
language, if a user got it wrong.

My opinion:
The way to go.

------------
Also in my opinion: It is too late to push this for 1.0. There is a risk 
of adding bugs (including bugs in the installer)




More information about the Lazarus mailing list