[izpack-devel] Patch 5/6 patch against the current trunk
Klaus Bartz
bartzkau at gmx.net
Wed Jan 10 22:29:11 CET 2007
Hi Ari,
thank you for your comment. Are you a Finn?
Our common language file for Finn is a little bit out of date
(3.5 years, half of entries are missing). Do you can revise it?
It is $IZ_HOME/bin/langpack/installer/fin.xml. There is
testLangpacks.ksh in the same directory. With a kornshell you can
dump out the missing entries.
Cheers
Klaus
Am 10.01.2007, 21:44 Uhr, schrieb Ari Voutilainen <ari.voutilainen at iki.fi>:
> Hi all,
>
> I think taking language from OS is the best guess to offer
> readable texts to user. But this should be offered via language
> selection dialog. So situation is this:
>
> langFromOS=yes && lang pack found => You have to make your
> installation with that language.
>
> What about if I go to Germany and let's assume I can understand
> only Finnish. My friend have German as regional settings and
> langFromOS is yes and lang pack is found so installer gives me
> German and I would say something... well, at least I wouldn't
> thank developers. This is only one example where this feature
> isn't very good. We cannot be 100 % sure the _user_ wants to use
> that language which is set in a operating system.
>
> If someone wants to offer only one language in the installation I
> think he/she should edit install XML file so that there will be
> only one language and that is used regardless of the regional
> settings. If there is multiple languages let's have a selection
> dialog with the language which is in the system (or english if
> not matched). So I vote for the original behaviour.
>
> Regards,
> Ari
>
> Markus Schlegel wrote:
>> Hi Julien
>>
>> I've also made a patch against the current trunk for the
>> "langFromOS"-Feature.
>>
>> I can not understand why this feature is a problem for the izpack team,
>> since it does not change current behavior. I can understand when the
>> commandline switch (in my original post) was a problem for you. But I
>> changed the implementation to use gui-modifiers. Also I have added the
>> Documentation for it.
>>
>> Please concern, that the Language Selection Dialog is the only part of
>> your installer (except for the uninstaller) that can not be replaced by
>> an other component and that cannot be omitted (if you want to support
>> multiple installer languages).
>>
>> Mabe there is someone on the users-list that would vote for this
>> feature?
>>
>>
>> Regards
>> Markus
>>
>>
>>
>> -----Original Message-----
>> From: izpack-devel-bounces at lists.berlios.de
>> [mailto:izpack-devel-bounces at lists.berlios.de] On Behalf Of Julien Ponge
>> Sent: Tuesday, January 09, 2007 8:40 AM
>> To: izpack-devel at lists.berlios.de
>> Subject: Re: [izpack-devel] Next release will be 3.10.0
>>
>> Hi Markus,
>>
>> ...
>>
>> About 5/6: I will have a look again to make my mind, but I am mildly in
>> favour of this patch since there is no consensus about it.
>>
>> ...
>>
>>
>> ------------------------------------------------------------------------
>>
>> Index:
>> C:/deron/tools_/IzPack_TRUNK/src/lib/com/izforge/izpack/installer/GUIInstaller.java
>> ===================================================================
>> ---
>> C:/deron/tools_/IzPack_TRUNK/src/lib/com/izforge/izpack/installer/GUIInstaller.java (revision
>> 1698)
>> +++ C:/deron/tools_/IzPack_TRUNK/src/lib/com/izforge/izpack/installer/GUIInstaller.java (working
>> copy)
>> @@ -1,5 +1,5 @@
>> /*
>> - * $Id:$
>> + * $Id$
>> * IzPack - Copyright 2001-2006 Julien Ponge, All Rights Reserved.
>> *
>> * http://www.izforge.com/izpack/
>> @@ -205,35 +205,57 @@
>> List availableLangPacks = getAvailableLangPacks();
>> int npacks = availableLangPacks.size();
>> if (npacks == 0) throw new Exception("no language pack
>> available");
>> - String selectedPack;
>> + String selectedPack = null;
>> +
>> + //if modifier langFromOS is set to "yes", we may not display a
>> dialog and take instead the language from the OS
>> + //The Langugedialog is displayed anyway, if the installer does
>> not contain the language that the system runs with.
>> + if (useLanguageFromOS()){
>> + Locale l = Locale.getDefault();
>> + String osCode = l.getISO3Language().toLowerCase();
>> + if (availableLangPacks.contains(osCode)){
>> + selectedPack = osCode;
>> + }else{
>> + //now let's try the countrycode for backward
>> compatibility. Think we should take langcode instead...
>> + osCode = l.getISO3Country().toLowerCase();
>> + if (availableLangPacks.contains(osCode)){
>> + selectedPack = osCode;
>> + }else{
>> + //noop, let the user choose the language...
>> + }
>> + }
>> + }
>> +
>> + if (selectedPack==null){
>> + // Dummy Frame
>> + JFrame frame = new JFrame();
>> + frame.setIconImage(new
>> ImageIcon(this.getClass().getResource("/img/JFrameIcon.png"))
>> + .getImage());
>>
>> - // Dummy Frame
>> - JFrame frame = new JFrame();
>> - frame.setIconImage(new
>> ImageIcon(this.getClass().getResource("/img/JFrameIcon.png"))
>> - .getImage());
>> + Dimension frameSize = frame.getSize();
>> + Dimension screenSize =
>> Toolkit.getDefaultToolkit().getScreenSize();
>> + frame.setLocation((screenSize.width - frameSize.width) / 2,
>> + (screenSize.height - frameSize.height) / 2 - 10);
>>
>> - Dimension frameSize = frame.getSize();
>> - Dimension screenSize =
>> Toolkit.getDefaultToolkit().getScreenSize();
>> - frame.setLocation((screenSize.width - frameSize.width) / 2,
>> - (screenSize.height - frameSize.height) / 2 - 10);
>> + // We get the langpack name
>> + if (npacks != 1)
>> + {
>> + LanguageDialog picker = new LanguageDialog(frame,
>> availableLangPacks.toArray());
>> +
>> picker.setSelection(Locale.getDefault().getISO3Country().toLowerCase());
>> + picker.setModal(true);
>> + picker.toFront();
>> + //frame.setVisible(true);
>> + frame.setVisible(false);
>> + picker.setVisible(true);
>>
>> - // We get the langpack name
>> - if (npacks != 1)
>> - {
>> - LanguageDialog picker = new LanguageDialog(frame,
>> availableLangPacks.toArray());
>> -
>> picker.setSelection(Locale.getDefault().getISO3Country().toLowerCase());
>> - picker.setModal(true);
>> - picker.toFront();
>> - //frame.setVisible(true);
>> - frame.setVisible(false);
>> - picker.setVisible(true);
>> -
>> - selectedPack = (String) picker.getSelection();
>> - if (selectedPack == null) throw new
>> Exception("installation canceled");
>> + selectedPack = (String) picker.getSelection();
>> + if (selectedPack == null) throw new
>> Exception("installation canceled");
>> + }
>> + else
>> + {
>> + selectedPack = (String) availableLangPacks.get(0);
>> + }
>> }
>> - else
>> - selectedPack = (String) availableLangPacks.get(0);
>> -
>> +
>> // We add an xml data information
>> this.installdata.xmlData.setAttribute("langpack",
>> selectedPack);
>>
>> @@ -440,6 +462,20 @@
>> return (true);
>> }
>>
>> + /**
>> + * Returns whether the Language Selection Dialog should be
>> displayed even if the Installer contains a language matching the
>> System's language.
>> + *
>> + * @return true if the gui-modifier "langFromOS" was set to "yes",
>> false otherwise
>> + */
>> + protected boolean useLanguageFromOS()
>> + {
>> + if (installdata.guiPrefs.modifier.containsKey("langFromOS")
>> + && "yes".equalsIgnoreCase((String)
>> installdata.guiPrefs.modifier.get("langFromOS")))
>> + return (true);
>> + else
>> + return (false);
>> + }
>> +
>> /**
>> * Returns the type in which the language should be displayed in
>> the language selction dialog.
>> * Possible are "iso3", "native" and "usingDefault".
>>
>>
>> ------------------------------------------------------------------------
>>
>> Index: C:/deron/tools_/IzPack_TRUNK/src/doc-ng/XHTML/node5.html
>> ===================================================================
>> --- C:/deron/tools_/IzPack_TRUNK/src/doc-ng/XHTML/node5.html (revision
>> 1698)
>> +++ C:/deron/tools_/IzPack_TRUNK/src/doc-ng/XHTML/node5.html (working
>> copy)
>> @@ -273,6 +273,16 @@
>> language will be used if possible, else the notation of the
>> default locale. Using "default"
>> will be presented the language in the notation of the default
>> locale of the VM.
>> </li>
>> +
>> + <li>
>> + <tt>langFromOS</tt>:<br />
>> + possible are "yes" or "no". Default (when ommitted) is "no".
>> If it is set to "yes",
>> + the installer first checks if the system runs with a language
>> supported by the installer
>> + and ommits the Lanugage Selection Dialog if so. If the System
>> runs with a Language not
>> + supported by the installer, the Language Selection Dialog is
>> displayed neverthless. <br />
>> + Example: If you have an Installer supporting German and
>> English with "langFromOS=yes",
>> + the dialog will show up on french systems but not on german or
>> english ones.
>> + </li>
>> </ul>
>>
>> <h2><a id="modifyingPanels" name="modifyingPanels">Modifying
>> IzPack Panels</a></h2>
>>
>>
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> izpack-devel mailing list
>> izpack-devel at lists.berlios.de
>> https://lists.berlios.de/mailman/listinfo/izpack-devel
>
> _______________________________________________
> izpack-devel mailing list
> izpack-devel at lists.berlios.de
> https://lists.berlios.de/mailman/listinfo/izpack-devel
>
> __________ NOD32 1.1392 (20060202) Information __________
>
> Diese E-Mail wurde vom NOD32 Antivirus System geprüft
> http://www.nod32.com
>
>
--
Erstellt mit Operas revolutionärem E-Mail-Modul: http://www.opera.com/mail/
More information about the izpack-devel
mailing list