Merged l10n branch to trunk
[debian/openrocket] / src / net / sf / openrocket / startup / Application.java
index 020d714e57abb13c7f48c5554d320520e72b637f..bb8b20f771c452493804f23888207acc372cf4b6 100644 (file)
@@ -1,7 +1,9 @@
 package net.sf.openrocket.startup;
 
 import net.sf.openrocket.database.ThrustCurveMotorSetDatabase;
+import net.sf.openrocket.l10n.ClassBasedTranslator;
 import net.sf.openrocket.l10n.DebugTranslator;
+import net.sf.openrocket.l10n.ExceptionSuppressingTranslator;
 import net.sf.openrocket.l10n.Translator;
 import net.sf.openrocket.logging.LogHelper;
 import net.sf.openrocket.logging.LogLevel;
@@ -18,7 +20,7 @@ public final class Application {
        private static LogHelper logger;
        private static LogLevelBufferLogger logBuffer;
        
-       private static Translator translator = new DebugTranslator();
+       private static Translator baseTranslator = new DebugTranslator(null);
        
        private static ThrustCurveMotorSetDatabase motorSetDatabase;
        
@@ -87,15 +89,18 @@ public final class Application {
         * @return      a translator.
         */
        public static Translator getTranslator() {
-               return translator;
+               Translator t = baseTranslator;
+               t = new ClassBasedTranslator(t, 1);
+               t = new ExceptionSuppressingTranslator(t);
+               return t;
        }
        
        /**
         * Set the translator used in obtaining translated strings.
         * @param translator    the translator to set.
         */
-       public static void setTranslator(Translator translator) {
-               Application.translator = translator;
+       public static void setBaseTranslator(Translator translator) {
+               Application.baseTranslator = translator;
        }