--- a/net/minecraft/client/resources/Language.java
+++ b/net/minecraft/client/resources/Language.java
@@ -15,6 +15,12 @@
       this.field_135037_b = p_i1303_2_;
       this.field_135038_c = p_i1303_3_;
       this.field_135036_d = p_i1303_4_;
+      String[] splitLangCode = field_135039_a.split("_", 2);
+      if (splitLangCode.length == 1) { // Vanilla has some languages without underscores
+         this.javaLocale = new java.util.Locale(field_135039_a);
+      } else {
+         this.javaLocale = new java.util.Locale(splitLangCode[0], splitLangCode[1]);
+      }
    }
 
    public String getCode() {
@@ -52,4 +58,8 @@
    public int compareTo(Language p_compareTo_1_) {
       return this.field_135039_a.compareTo(p_compareTo_1_.field_135039_a);
    }
+
+   // Forge: add access to Locale so modders can create correct string and number formatters
+   private final java.util.Locale javaLocale;
+   public java.util.Locale getJavaLocale() { return javaLocale; }
 }
