- assigned_to: nobody --> hfalk
I have some minor enhancements to language support that I would
like to implement.
1. More flexible language support.
After some thinking I would like to enhance the
'vainstall.destination.language' property:
'default' keyword:
If VAInstall supports the language
that is installed on the machine then
use that otherwise it uses english.
'chooseable' keyword alone:
Show a list of all languages
VAInstall supports and let the user selects
between them.
If the user has one of the supported languages
on the machine use that until the user have
selected the same or a new language.
'chooseable' keyword with language keywords:
The packager can restrict the number of choosable languages
because some parts of the installation are not fully
internationalized.
If you write 'choosable,french' you can select between
english and french.
language keyword alone:
We restrict this installation package to be in exactly
one of the supported languages.
2. Support for localized README
The readme.txt is hardcoded in the LICENSE step in the nextStep()
method in the Setup.class.
I would like to change it to support other languages.
The packager examines the 'vainstall.archive.readme' property and
add the file as the default readme. It then look at the
'vainstall.destination.language' property to see if any other
localized readme files should be included.
If you write readme.txt and have 'choosable,french' in the
'vainstall.destination.language' property then you should have a
file called readme_fr_FR.txt which then are added to the archive.
If something goes wrong the installation defaults to readme.txt.
3. Support for localized LICENSE
The same feature should apply to the license file.
4. Remove hardcoded languages in the 'ui'.
I will do this in two steps:
Step 1. Let the 'ui' get language information from 'AbstractInstall'.
Step 2. I'm not sure I like the class 'VAGlobals' from a OO design
viewpoint. But I somehow think that we need to have basic
'configuration' information somewhere. Maybe as a support
class for AbstractInstall or a model class that also could
notify changes in runtime.
I have though again about the way I have implemented localization by
using both a 'country' and a 'language', f.ex. da_DK or fr_FR.
This seems overkill at first but I think it will pay off if VAInstall gets
widely used around the world.