--- ../src-base/minecraft/net/minecraft/util/StringTranslate.java
+++ ../src-work/minecraft/net/minecraft/util/StringTranslate.java
@@ -18,16 +18,35 @@
 {
     private static final Pattern field_111053_a = Pattern.compile("%(\\d+\\$)?[\\d\\.]*[df]");
     private static final Splitter field_135065_b = Splitter.on('=').limit(2);
+    private final Map field_74816_c;
     private static StringTranslate field_74817_a = new StringTranslate();
-    private final Map field_74816_c = Maps.newHashMap();
     private long field_150511_e;
     private static final String __OBFID = "CL_00001212";
 
     public StringTranslate()
     {
+        InputStream inputstream = StringTranslate.class.getResourceAsStream("/assets/minecraft/lang/en_US.lang");
+        field_74816_c = Maps.newHashMap();
+        inject(this, inputstream);
+    }
+
+    public static void inject(InputStream inputstream)
+    {
+        inject(field_74817_a, inputstream);
+    }
+
+    private static void inject(StringTranslate inst, InputStream inputstream)
+    {
+        java.util.HashMap<String, String> map = parseLangFile(inputstream);
+        inst.field_74816_c.putAll(map);
+        inst.field_150511_e = System.currentTimeMillis();
+    }
+
+    public static java.util.HashMap<String,String> parseLangFile(InputStream inputstream)
+    {
+        java.util.HashMap<String,String> table = Maps.newHashMap();
         try
         {
-            InputStream inputstream = StringTranslate.class.getResourceAsStream("/assets/minecraft/lang/en_US.lang");
             Iterator iterator = IOUtils.readLines(inputstream, Charsets.UTF_8).iterator();
 
             while (iterator.hasNext())
@@ -42,17 +61,17 @@
                     {
                         String s1 = astring[0];
                         String s2 = field_111053_a.matcher(astring[1]).replaceAll("%$1s");
-                        this.field_74816_c.put(s1, s2);
+                        table.put(s1, s2);
                     }
                 }
             }
 
-            this.field_150511_e = System.currentTimeMillis();
         }
-        catch (IOException ioexception)
+        catch (Exception ioexception)
         {
             ;
         }
+        return table;
     }
 
     static StringTranslate func_74808_a()
