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

Reinier Olislagers reinierolislagers at gmail.com
Mon Aug 13 09:36:07 CEST 2012


On 12-8-2012 22:51, Martin wrote:
> 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.  **
Don't agree, but I'm not a core dev.
A lot of users have expressed their wish for default English. If an
installer (or the setup program below) offers the choice of changing
this, I would be fine with this. Finally, Lazarus itself offers the
choice of changing language, but yes... that may be too hidden if you
don't speak English.
However the patch is not strictly necessary - see my suggestion below.

> 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.
That would be my choice, with the default being English. This means we
don't need to have some mapping between the installer's idea of
languages and the user choice, etc.
Also, who knows, a user may want to have a different language (e.g.
Japanese on a English system) for testing or whatever other reason. We
allow this choice in Lazarus itself, so allowing it here would be
consistent.

> 
> Both, options have the issue of being displayed in case of an upgrade,
> in which case they should not.
Depends on the installer, I'd think.

> -------------------------------------------------
> 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)
Very good point, yes.

> - Can have an icon/start-menu entry. This allows easy resetting of the
> language, if a user got it wrong.
Presumably by some call like
lazarus --setup --showlanguagetab
(--showlanguagetab to select and show a language tab next to the
existing tabs)
?
> 
> My opinion:
> The way to go.
I like that solution, too.

However, we can also do both.
1) Use an installer language choice screen that calls
2) a separate program that uses the Lazarus IDE code (similar to how
lazbuild does this) with an argument to set language
lazset --primary-config-path=c:\example --set="lang=en"
which creates or updates primary config settings with, in this case,
English language.

This lazset program can then also be used in people's existing svn
update batch files, fpcup, etc, so the main functionality would not be
platform/installer dependent.

If an installer doesn't suport calling lazset or if there is no
installer (e.g. svn install), the system can fall back to not setting
any options, thereby showing setup with language choice as per Martin's
idea.


> 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)
Yes, that seems prudent.




More information about the Lazarus mailing list