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