[izpack-devel] Finnish language (was: Patch 5/6 patch against the current trunk)

Ari Voutilainen ari.voutilainen at iki.fi
Wed Jan 10 22:43:23 CET 2007


Hi Klaus,

 > thank you for your comment. Are you a Finn?

Yes I am.

 > 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?

I have noticed that and I have updated it twice! At the first 
time (a year ago) it wasn't succesfull (see: [Bug #9844] 
Localized texts are taken from old lang file (fin.xml)). The 
second time is "now": I have sent patch ([Patch #1789] Update for 
Finnish language pack (2)) and if I understood correct it is in 
cvs now ([izpack-changes] r1686) (but see: [Bug #9844]).

Regards,
Ari


> 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