Author: jerome
Date: 2009-02-27 12:18:56 +0100 (Fri, 27 Feb 2009)
New Revision: 3773

Added:
   
software_suite_v2/libraries/java/tuxdroid-i18n-lib/trunk/tuxdroid-i18n-lib/src/com/tuxdroid/I18N/error/I18NTranslationTypeException.java
   
software_suite_v2/libraries/java/tuxdroid-i18n-lib/trunk/tuxdroid-i18n-lib/src/resourcesTest/languages_en_US.properties
   
software_suite_v2/libraries/java/tuxdroid-i18n-lib/trunk/tuxdroid-i18n-lib/src/resourcesTest/languages_fr_FR.properties
   
software_suite_v2/libraries/java/tuxdroid-i18n-lib/trunk/tuxdroid-i18n-lib/src/resourcesTest/languages_nl_NL.properties
Modified:
   software_suite_v2/libraries/java/tuxdroid-i18n-lib/trunk/tuxdroid-i18n-lib/
   
software_suite_v2/libraries/java/tuxdroid-i18n-lib/trunk/tuxdroid-i18n-lib/src/I18NTests.java
   
software_suite_v2/libraries/java/tuxdroid-i18n-lib/trunk/tuxdroid-i18n-lib/src/com/tuxdroid/I18N/I18N.java
Log:
* Added properties support.


Property changes on: 
software_suite_v2/libraries/java/tuxdroid-i18n-lib/trunk/tuxdroid-i18n-lib
___________________________________________________________________
Name: svn:ignore
   + bin


Modified: 
software_suite_v2/libraries/java/tuxdroid-i18n-lib/trunk/tuxdroid-i18n-lib/src/I18NTests.java
===================================================================
--- 
software_suite_v2/libraries/java/tuxdroid-i18n-lib/trunk/tuxdroid-i18n-lib/src/I18NTests.java
       2009-02-27 10:15:16 UTC (rev 3772)
+++ 
software_suite_v2/libraries/java/tuxdroid-i18n-lib/trunk/tuxdroid-i18n-lib/src/I18NTests.java
       2009-02-27 11:18:56 UTC (rev 3773)
@@ -20,8 +20,11 @@
  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  */
 
+import java.util.Locale;
+
 import com.tuxdroid.I18N.I18N;
 import com.tuxdroid.I18N.error.I18NFileNotFoundException;
+import com.tuxdroid.I18N.error.I18NTranslationTypeException;
 
 public class I18NTests {
 
@@ -31,43 +34,124 @@
         */
        public static void main(String[] args)
        {
+               //Tests with po files located on the system.
+               I18NTests.I18NPoFilesTests();
+               //Test with po files as resources.
+               I18NTests.I18NPoResourcesTests();
+               //Test with properties files.
+               I18NTests.I18NPropertiesTests();
+       }
+       
+       
+       /**
+        * Main tests for located in system po files.
+        */
+       public static void I18NPoFilesTests()
+       {
                I18N i18n = null;
                
-               if((args.length > 0) && 
(args[0].toString().equalsIgnoreCase("--files")))
+               //Test with external po files.
+               try 
                {
-                       //Test with external files.
-                       try 
-                       {
-                               i18n = new 
I18N("D:/devel/svn-tuxisalive/software_suite_v2/software/gadgets/tuxdroid-gadget-weather/trunk/tuxdroid-gadget-weather/resources",
 "nl");
-                       } 
-                       catch (I18NFileNotFoundException e) 
-                       {
-                               ;
-                       }
-                       if(i18n != null)
-                       {
-                               System.out.println(i18n.getString("Current 
weather at {0} is \"unknown\" with a temperature of {1} degrees {2}; Humidity 
level is {3} percent."));
-                       }
+                       i18n = new 
I18N("D:/devel/svn-tuxisalive/software_suite_v2/software/gadgets/tuxdroid-gadget-weather/trunk/tuxdroid-gadget-weather/resources",
 "en");
+               } 
+               catch (I18NFileNotFoundException e) 
+               {
+                       System.out.println(e.getLocalizedMessage());
+               } 
+               catch (I18NTranslationTypeException e) 
+               {
+                       System.out.println(e.getLocalizedMessage());
                }
-               else
+               if(i18n != null)
                {
-                       //Test with internal resources ( compressed into the 
jar file ).
+                       System.out.println(i18n.getString("Current weather at 
{0} is \"unknown\" with a temperature of {1} degrees {2}; Humidity level is {3} 
percent."));
+               }
+               
+               I18NTests.reload(i18n, "Weather Gadget", I18N.PO);
+       }
+       
+       
+       /**
+        * Main tests for located into jar resources po files.
+        */
+       public static void I18NPoResourcesTests()
+       {
+               I18N i18n = null;
+               //Test with internal po resources ( compressed into the jar 
file ).
+               try 
+               {
                        i18n = new I18N("/resourcesTest", "fr", 
I18NTests.class);
                        System.out.println(i18n.getString("Current weather at 
{0} is \"unknown\" with a temperature of {1} degrees {2}; Humidity level is {3} 
percent."));
+               } 
+               catch (I18NTranslationTypeException e) 
+               {
+                       System.out.println(e.getLocalizedMessage());
+               } 
+               catch (I18NFileNotFoundException e) 
+               {
+                       System.out.println(e.getLocalizedMessage());
                }
                
+               I18NTests.reload(i18n, "Weather Gadget", I18N.PO);
+       }
+       
+       
+       /**
+        * Main tests for properties files bundle.
+        */
+       public static void I18NPropertiesTests()
+       {
+               I18N i18n = null;
+               //Sets the bunle base name.
                try 
                {
+                       i18n = new I18N("/resourcesTest", new Locale("nl", 
"NL"), "languages");
+                       System.out.println(i18n.getString("welcomeMessage"));
+               } 
+               catch (I18NFileNotFoundException e) 
+               {
+                       System.out.println(e.getLocalizedMessage());
+               }
+                       
+               
+               //Test with internal properties resources.
+               
+               /**
+                * Functions calls.
+                */
+               I18NTests.reload(i18n, "welcomeMessage", I18N.PROPERTIES);
+       }
+       
+       
+       /**
+        * Reload given i18n and display given string value.
+        */
+       public static void reload(I18N i18n, String key, byte type)
+       {
+               try 
+               {
+                       if(i18n == null)
+                       {
+                               return;
+                       }
                        //Simple reload.
                        i18n.reload();
-                       System.out.println(i18n.getString("Weather Gadget"));
+                       System.out.println(i18n.getString(key));
                        //reload specifying new language.
-                       i18n.reload("nl");
-                       System.out.println(i18n.getString("Weather Gadget"));
+                       if(type == I18N.PROPERTIES)
+                       {
+                               i18n.reloadProperties(new Locale("nl", "NL"));
+                       }
+                       else
+                       {
+                               i18n.reloadPO("nl");
+                       }
+                       System.out.println(i18n.getString(key));
                } 
                catch (I18NFileNotFoundException e) 
                {
-                       ;
+                       System.out.println(e.getLocalizedMessage());
                }
        }
 }

Modified: 
software_suite_v2/libraries/java/tuxdroid-i18n-lib/trunk/tuxdroid-i18n-lib/src/com/tuxdroid/I18N/I18N.java
===================================================================
--- 
software_suite_v2/libraries/java/tuxdroid-i18n-lib/trunk/tuxdroid-i18n-lib/src/com/tuxdroid/I18N/I18N.java
  2009-02-27 10:15:16 UTC (rev 3772)
+++ 
software_suite_v2/libraries/java/tuxdroid-i18n-lib/trunk/tuxdroid-i18n-lib/src/com/tuxdroid/I18N/I18N.java
  2009-02-27 11:18:56 UTC (rev 3773)
@@ -28,26 +28,49 @@
 import java.io.InputStream;
 import java.io.InputStreamReader;
 import java.util.Hashtable;
+import java.util.Locale;
+import java.util.MissingResourceException;
+import java.util.ResourceBundle;
 
 import com.tuxdroid.I18N.error.I18NFileNotFoundException;
+import com.tuxdroid.I18N.error.I18NTranslationTypeException;
 
 public class I18N {
        
-       private File poPath;
-       private String poURL;
+       public static final byte PO = 0;
+       public static final byte PROPERTIES = 1;
+       
+       private File path;
+       private String url;
        private String language;
        private Hashtable<String, String> strings = new Hashtable<String, 
String>(); 
        private boolean isResource = false;
        private Class<?> parent;
+       private byte fileType;
+       private String baseBundle = null;
+       private ResourceBundle bundle;
+       private Locale propertiesLocale;
        
        /**
         * This class create an I18N object based on po files.
         * @param poPath : The path where po files can be found.
         * @throws I18NFileNotFoundException 
+        * @throws I18NTranslationTypeException 
         */
-       public I18N(String poPath, String language) throws 
I18NFileNotFoundException
+       public I18N(String path, String language) throws 
I18NFileNotFoundException, I18NTranslationTypeException
        {
-               this.createObject(poPath, language);
+               this.fileType = I18N.PO;
+               this.path = new File(path);
+               this.language = language;
+               
+               if(this.fileType == I18N.PO)
+               {
+                       this.createPoObject();
+               }
+               else
+               {
+                       throw new I18NTranslationTypeException(this.fileType);
+               }
        }
        
        
@@ -56,31 +79,57 @@
         * as "en.po", "fr.po", "nl.po", ...
         * @param resource : the resource directory where can be found streams.
         * @param language : Target language.
+        * @throws I18NTranslationTypeException 
+        * @throws I18NFileNotFoundException 
         */
-       public I18N(String resource, String language, Class<?> parent)
+       public I18N(String resource, String language, Class<?> parent) throws 
I18NTranslationTypeException, I18NFileNotFoundException
        {
-               this.poURL = resource;
+               this.fileType = I18N.PO;
+               this.url = resource;
                this.isResource = true;
                this.language = language;
                this.parent = parent;
-               this.createObjectAsStream();
+               
+               if(this.fileType == I18N.PO)
+               {
+                       this.createObjectAsStream();
+               }
+               else if(this.fileType != I18N.PROPERTIES)
+               {
+                       throw new I18NTranslationTypeException(this.fileType);
+               }
        }
        
        
+       
        /**
+        * Create an I18N object based on properties files.
+        * @param propertiesResourceDir
+        * @param aLocale : locale.
+        * @throws I18NFileNotFoundException 
+        */
+       public I18N(String propertiesResourceDir, Locale aLocale, String 
baseBundle) throws I18NFileNotFoundException
+       {
+               this.fileType = I18N.PROPERTIES;
+               this.propertiesLocale = aLocale;
+               this.baseBundle = baseBundle;
+               this.url = propertiesResourceDir;
+               this.bundle = this.createSimpleBundle(this.propertiesLocale);
+       }
+       
+       
+       /**
         * Create the language object.
         * @param fileName
         * @param language
         * @throws I18NFileNotFoundException
         */
-       private void createObject(String fileName, String language) throws 
I18NFileNotFoundException
+       private void createPoObject() throws I18NFileNotFoundException
        {
-               this.poPath = new File(fileName);
-               this.language = language;
                //If specified po path doasn't exists, then throw po file not 
found error.
-               if(!this.poPath.exists())
+               if(!this.path.exists())
                {
-                       throw new 
I18NFileNotFoundException(this.poPath.getName());
+                       throw new 
I18NFileNotFoundException(this.path.getName());
                }
                
                //File exists then, parsing po files.
@@ -97,11 +146,11 @@
         */
        private void createObjectAsStream()
        {
-               if((this.poURL != null) &&(this.isResource))
+               if((this.url != null) &&(this.isResource))
                {
                        try
                        {
-                               String newURL = poURL + "/" + this.language + 
".po";    
+                               String newURL = url + "/" + this.language + 
".po";      
                                InputStream ips = 
this.parent.getResourceAsStream(newURL);
                                this.parseInputStream(ips);
                        }
@@ -111,58 +160,9 @@
                        }
                }
        }
-         
        
-       /**
-        * Return asked string.
-        * @param aString : the String to search.
-        * @return : translated string.
-        */
-       public String getString(String aString)
-       {
-               if((this.language != null) &&(this.strings.size() > 0))
-               {
-                       //then getting string value.
-                       if(this.strings.containsKey(aString))
-                       {
-                               return this.strings.get(aString);
-                       }
-               }
-               return aString;
-       }
        
-       
        /**
-        * Reload po files.
-        * @throws I18NFileNotFoundException 
-        */
-       public void reload() throws I18NFileNotFoundException
-       {
-               if(!this.isResource)
-               {
-                       this.parseFiles();
-               }
-               else
-               {
-                       this.createObjectAsStream();
-               }
-       }
-       
-       
-       
-       /**
-        * Reload hashtable language with a new language.
-        * @param newLanguage
-        * @throws I18NFileNotFoundException
-        */
-       public void reload(String newLanguage) throws I18NFileNotFoundException
-       {
-               this.language = newLanguage;
-               this.reload();
-       }
-       
-       
-       /**
         * Parse po files taking the correct po file.
         * @throws I18NFileNotFoundException 
         */
@@ -173,10 +173,10 @@
                
                if(this.language == null)
                {
-                       throw new 
I18NFileNotFoundException(this.poPath.getName());
+                       throw new 
I18NFileNotFoundException(this.path.getName());
                }
                
-               File files[] = this.poPath.listFiles();
+               File files[] = this.path.listFiles();
                for(File file : files)
                {
                        String path = file.getAbsolutePath();
@@ -217,7 +217,7 @@
         * Parse the given input stream.
         * @param ips : input stream.
         */
-       public void parseInputStream(InputStream ips)
+       private void parseInputStream(InputStream ips)
        {
                try
                {
@@ -277,4 +277,134 @@
                        ;
                }
        }
+       
+       
+       /**
+        * Create a simple bundle.
+        * @throws I18NFileNotFoundException 
+        */
+       private ResourceBundle createSimpleBundle(Locale locale) throws 
I18NFileNotFoundException
+       {
+               if(this.baseBundle == null)
+               {
+                       throw new I18NFileNotFoundException("null");
+               }
+               
+               String bundle = "resourcesTest/" + this.baseBundle;
+               try
+               {
+                       return ResourceBundle.getBundle(bundle, locale);
+               }
+               
+               catch(Exception e)
+               {
+                       try
+                       {
+                               return ResourceBundle.getBundle(bundle, new 
Locale("en_US"));
+                       }
+                       catch(MissingResourceException noBundle)
+                       {
+                               return null;
+                       }
+               }
+       }
+         
+       
+       /**
+        * Return asked string.
+        * @param aString : the String to search.
+        * @return : translated string.
+        */
+       public String getString(String aString)
+       {
+               if(this.fileType == I18N.PO)
+               {
+                       if((this.language != null) &&(this.strings.size() > 0))
+                       {
+                               //then getting string value.
+                               if(this.strings.containsKey(aString))
+                               {
+                                       return this.strings.get(aString);
+                               }
+                       }
+                       return aString;
+               }
+               else
+               {
+                       if(this.bundle == null)
+                       {
+                               return aString;
+                       }
+                       else
+                       {
+                               try
+                               {
+                                       aString = 
this.bundle.getString(aString);
+                               }
+                               catch(MissingResourceException noKey)
+                               {
+                                       ;
+                               }
+                       }
+                       
+                       return aString;
+               }
+       }
+       
+       //****************************************************************//
+       //**********************  Users functions  ***********************//
+       
+       /**
+        * Reload translation files files (po files or properties).
+        * @throws I18NFileNotFoundException 
+        */
+       public void reload() throws I18NFileNotFoundException
+       {
+               if(this.fileType == I18N.PO)
+               {
+                       if(!this.isResource)
+                       {
+                               this.parseFiles();
+                       }
+                       else
+                       {
+                               this.createObjectAsStream();
+                       }
+               }
+               
+               else if(this.fileType == I18N.PROPERTIES)
+               {
+                       this.bundle = 
this.createSimpleBundle(this.propertiesLocale); 
+               }
+       }
+       
+       
+       /**
+        * Reload po hashtable language with a new language.
+        * @param newLanguage
+        * @throws I18NFileNotFoundException
+        */
+       public void reloadPO(String newLanguage) throws 
I18NFileNotFoundException
+       {
+               if(this.fileType == I18N.PO)
+               {
+                       this.language = newLanguage;
+                       this.reload();
+               }
+       }
+       
+       
+       /**
+        * Reload properties bundle with a new language.
+        * @param locale
+        * @throws I18NFileNotFoundException
+        */
+       public void reloadProperties(Locale aLocale) throws 
I18NFileNotFoundException
+       {
+               if(this.fileType == I18N.PROPERTIES)
+               {
+                       this.propertiesLocale = aLocale;
+                       this.reload();
+               }
+       }
 }

Added: 
software_suite_v2/libraries/java/tuxdroid-i18n-lib/trunk/tuxdroid-i18n-lib/src/com/tuxdroid/I18N/error/I18NTranslationTypeException.java
===================================================================
--- 
software_suite_v2/libraries/java/tuxdroid-i18n-lib/trunk/tuxdroid-i18n-lib/src/com/tuxdroid/I18N/error/I18NTranslationTypeException.java
                            (rev 0)
+++ 
software_suite_v2/libraries/java/tuxdroid-i18n-lib/trunk/tuxdroid-i18n-lib/src/com/tuxdroid/I18N/error/I18NTranslationTypeException.java
    2009-02-27 11:18:56 UTC (rev 3773)
@@ -0,0 +1,58 @@
+/* This file is part of "TuxDroid I18N library".
+ *    Copyright 2008, kysoh
+ *    Author : Conan Jerome
+ *    eMail  : jerome.conan AT kysoh.com
+ *    Site   : http://www.kysoh.com/
+ *
+ * "TuxDroid I18N library" is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * "TuxDroid I18N" is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with "TuxDroid Control Center"; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package com.tuxdroid.I18N.error;
+
+public class I18NTranslationTypeException extends Exception{
+
+       private static final long serialVersionUID = 1L;
+       public byte type = -1;
+       
+       /**
+        * Create an exception object in case of unknown translation file type.
+        * @param type
+        */
+       public I18NTranslationTypeException(byte type)
+       {
+               this.type = type;
+       }
+       
+       
+       /**
+        * Return the localized messages.
+        * @return
+        */
+       public String getLocalizedMessage()
+       {
+               return "Unknown translation file type: " + this.type;
+       }
+       
+       
+       /**
+        * Return the localized message.
+        * @return
+        */
+       public String getMessage()
+       {
+               return this.getLocalizedMessage();
+       }
+}

Added: 
software_suite_v2/libraries/java/tuxdroid-i18n-lib/trunk/tuxdroid-i18n-lib/src/resourcesTest/languages_en_US.properties
===================================================================
--- 
software_suite_v2/libraries/java/tuxdroid-i18n-lib/trunk/tuxdroid-i18n-lib/src/resourcesTest/languages_en_US.properties
                             (rev 0)
+++ 
software_suite_v2/libraries/java/tuxdroid-i18n-lib/trunk/tuxdroid-i18n-lib/src/resourcesTest/languages_en_US.properties
     2009-02-27 11:18:56 UTC (rev 3773)
@@ -0,0 +1,60 @@
+exit=Exit
+name=Name
+author=Author
+online=Online
+welcomeMessage=Welcome to tux control center
+menuHelpOnlineHelp=Online help
+menuHelpOnlineFaq=Online FAQ
+menuHelpReportBug=Report a bug
+menuHelpAbout=About
+menuViewLanguage=Interface language
+menuViewSpeaker=Voice
+menuViewListView=List view
+menuViewThumbnailView=Thumbnail view
+playlistsTitle=Live with Tux
+libraryTitle=Library
+playlistsOptNotification=My Alerts
+playlistsOptRemote=My Favorites
+panelDescription=Description
+panelSummary=Summary
+panelConfiguration=Configuration
+panelGadgetConfiguration=Gadget configuration
+panelHelp=Help
+panelAttitune=Alert settings
+gdgAttDescriptionHeader=Description
+attDurationHeader=Duration(sec)
+menuIconDirectory=images/en/
+menuHelpPosX=130
+menuFilePosX=-1
+menuToolPosX=82
+menuViewPosX=34
+ipSelection=Connect to a friend
+ipSelectionEnter=Enter the IP address to connect to
+showDebugger=Show debugger
+remoteListHeaderType=Type
+trayShow=Show
+trayHide=Hide
+ccVersion=Control Center V0.2.6
+aboutDevelopper=Developer : Conan J�r�me
+aboutContributors=Contributors :
+pitchMenuCaptionPlus=value + 10
+pitchMenuCaptionMinder=value - 10
+pitchMenuCaption=Pitch
+alertConfTitle=Alert
+alertShedulConfTitle=Behavior
+alertConfMins=minutes
+alertConfEvery=Start every
+alertConfStartAtTime=Start at time
+alertPanelSchedulConfTTS=TTS message
+alertPanelSchedulConStartGdg=Start the gadget
+alertPanelSchedulConTTSMessage=Something happened
+alertDisabled=Disable
+menuToolsAdvancedItem=Advanced
+tableCategory=Category
+attituneVersion=Version
+attituneLanguageCaption=Language
+attitunePlayNoTTS=Required TTS language is not installed!
+unknownHost=Unknown host %s
+unReachable=Unreachable host %s
+badIpFormat=IP adress must match the following format x.x.x.x
+onlineHelpLink=http://www.kysoh.com/documentation?set_language=en

Added: 
software_suite_v2/libraries/java/tuxdroid-i18n-lib/trunk/tuxdroid-i18n-lib/src/resourcesTest/languages_fr_FR.properties
===================================================================
--- 
software_suite_v2/libraries/java/tuxdroid-i18n-lib/trunk/tuxdroid-i18n-lib/src/resourcesTest/languages_fr_FR.properties
                             (rev 0)
+++ 
software_suite_v2/libraries/java/tuxdroid-i18n-lib/trunk/tuxdroid-i18n-lib/src/resourcesTest/languages_fr_FR.properties
     2009-02-27 11:18:56 UTC (rev 3773)
@@ -0,0 +1,60 @@
+exit=Quitter
+name=Nom
+author=Auteur
+online=En ligne
+welcomeMessage=bienvenue dans le centre de contr�le.
+menuHelpOnlineHelp=Aide en ligne
+menuHelpOnlineFaq=FAQ en ligne
+menuHelpReportBug=Reporter un bug
+menuHelpAbout=A propos
+menuViewLanguage=Langue du logiciel
+menuViewSpeaker=Choix du locuteur
+menuViewListView=Voir la vue par liste
+menuViewThumbnailView=Voir la vue par ic�nes
+playlistsTitle=Vivre avec Tux
+libraryTitle=Librairie
+playlistsOptNotification=Mes Alertes
+playlistsOptRemote=Mes Favoris
+panelDescription=Description
+panelSummary=Sommaire
+panelConfiguration=Configuration
+panelGadgetConfiguration=Configuration du gadget
+panelHelp=Aide
+panelAttitune=Configuration de l'alarme
+gdgAttDescriptionHeader=Description
+attDurationHeader=Dur�e(sec)
+menuIconDirectory=images/fr/
+menuHelpPosX=164
+menuFilePosX=4
+menuToolPosX=122
+menuViewPosX=60
+ipSelection=Se connecter � un ami
+ipSelectionEnter=Entrez l'ip � utiliser.
+showDebugger=Debugger
+remoteListHeaderType=Type
+trayShow=Afficher
+trayHide=Masquer
+ccVersion=Centre de contr�le V0.2.6
+aboutDevelopper=D�veloppeur : Conan J�r�me
+aboutContributors=Contribution :
+pitchMenuCaptionPlus=+ 10
+pitchMenuCaptionMinder=- 10
+pitchMenuCaption=Ton
+alertConfTitle=Alerte
+alertShedulConfTitle=Comportement
+alertConfMins=minutes
+alertConfEvery=Toutes les
+alertConfStartAtTime=D�marrer �
+alertPanelSchedulConfTTS=Message TTS 
+alertPanelSchedulConStartGdg=Lancer le gadget
+alertPanelSchedulConTTSMessage=Il y a du nouveau
+alertDisabled=D�sactiv�e
+menuToolsAdvancedItem=Avanc�
+tableCategory=Cat�gorie
+attituneVersion=Version
+attituneLanguageCaption=Language
+attitunePlayNoTTS=Cette langue tts ne semble pas install�e
+unknownHost=H�te inconnu
+unReachable=H�te inaccessible
+badIpFormat=L'IP doit �tre dans le format suivant: x.x.x.x
+onlineHelpLink=http://www.kysoh.com/documentation-3?set_language=fr

Added: 
software_suite_v2/libraries/java/tuxdroid-i18n-lib/trunk/tuxdroid-i18n-lib/src/resourcesTest/languages_nl_NL.properties
===================================================================
--- 
software_suite_v2/libraries/java/tuxdroid-i18n-lib/trunk/tuxdroid-i18n-lib/src/resourcesTest/languages_nl_NL.properties
                             (rev 0)
+++ 
software_suite_v2/libraries/java/tuxdroid-i18n-lib/trunk/tuxdroid-i18n-lib/src/resourcesTest/languages_nl_NL.properties
     2009-02-27 11:18:56 UTC (rev 3773)
@@ -0,0 +1,60 @@
+exit=Sluiten
+name=Naam
+author=Auteur
+online=Online
+welcomeMessage=Welkom bij Tuks Control Center
+menuHelpOnlineHelp=Online help
+menuHelpOnlineFaq=Online FAQ
+menuHelpReportBug=Bugs melden
+menuHelpAbout=Over
+menuViewLanguage=Interface taal
+menuViewSpeaker=Stem
+menuViewListView=Lijst weergave
+menuViewThumbnailView=Thumbnail weergave
+playlistsTitle=Leef met Tux
+libraryTitle=Library
+playlistsOptNotification=Mijn Alarmen
+playlistsOptRemote=Mijn Favorieten 
+panelDescription=Beschrijving
+panelSummary=Samenvatting
+panelConfiguration=Configuratie
+panelGadgetConfiguration=Gadget configuratie
+panelHelp=Help
+panelAttitune=Alarm instellingen
+gdgAttDescriptionHeader=Beschrijving
+attDurationHeader=Lengte(sec)
+menuIconDirectory=images/nl/
+menuHelpPosX=144
+menuFilePosX=6
+menuToolPosX=88
+menuViewPosX=54
+ipSelection=Verbinden met een vriend
+ipSelectionEnter=Voer het IP adres in
+showDebugger=Debugger tonen
+remoteListHeaderType=Type
+trayShow=Tonen
+trayHide=Verbergen
+ccVersion=Control Center V0.2.6
+aboutDevelopper=Developer : Conan J�r�me.
+aboutContributors=Medewerkers :
+pitchMenuCaptionPlus=Huidige toonhoogte + 10
+pitchMenuCaptionMinder=Huidige toonhoogte - 10
+pitchMenuCaption=Toonhoogte
+alertConfTitle=Tijd
+alertShedulConfTitle=Alarm
+alertConfMins=minuten
+alertConfEvery=Start om de
+alertConfStartAtTime=Start om
+alertPanelSchedulConfTTS=TTS bericht
+alertPanelSchedulConStartGdg=Start gadget
+alertPanelSchedulConTTSMessage=Er is iets gebeurd
+alertDisabled=Uitschakelen
+menuToolsAdvancedItem=Geavanceerd
+tableCategory=Categorie
+attituneVersion=Versie
+attituneLanguageCaption=Taal
+attitunePlayNoTTS=Vereiste TTS taal is niet ge�nstalleerd
+unknownHost=Onbekende host
+unReachable=Onbereikbare host
+badIpFormat=IP adres moet in het volgende formaat zijn x.x.x.x
+onlineHelpLink=http://www.kysoh.com/documentatie?set_language=nl


------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
_______________________________________________
Tux-droid-svn mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tux-droid-svn

Reply via email to