Fixed i18n issues with numbers
diff --git a/src/ProtocolBuffers.Test/GeneratedMessageTest.cs b/src/ProtocolBuffers.Test/GeneratedMessageTest.cs
index 610078f..ecf07b6 100644
--- a/src/ProtocolBuffers.Test/GeneratedMessageTest.cs
+++ b/src/ProtocolBuffers.Test/GeneratedMessageTest.cs
@@ -228,8 +228,10 @@
 
     [Test]
     public void ReflectionDefaults() {
-      reflectionTester.AssertClearViaReflection(TestAllTypes.DefaultInstance);
-      reflectionTester.AssertClearViaReflection(TestAllTypes.CreateBuilder().Build());
+      TestUtil.TestInMultipleCultures(() => {
+        reflectionTester.AssertClearViaReflection(TestAllTypes.DefaultInstance);
+        reflectionTester.AssertClearViaReflection(TestAllTypes.CreateBuilder().Build());
+      });
     }
     // =================================================================
     // Extensions.
@@ -296,8 +298,10 @@
 
     [Test]
     public void ExtensionReflectionDefaults() {
-      extensionsReflectionTester.AssertClearViaReflection(TestAllExtensions.DefaultInstance);
-      extensionsReflectionTester.AssertClearViaReflection(TestAllExtensions.CreateBuilder().Build());
+      TestUtil.TestInMultipleCultures(() => {
+        extensionsReflectionTester.AssertClearViaReflection(TestAllExtensions.DefaultInstance);
+        extensionsReflectionTester.AssertClearViaReflection(TestAllExtensions.CreateBuilder().Build());
+      });
     }    
     
     [Test]
diff --git a/src/ProtocolBuffers.Test/TestUtil.cs b/src/ProtocolBuffers.Test/TestUtil.cs
index 3e89dd7..8475639 100644
--- a/src/ProtocolBuffers.Test/TestUtil.cs
+++ b/src/ProtocolBuffers.Test/TestUtil.cs
@@ -31,10 +31,12 @@
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 using System;
 using System.Collections.Generic;
+using System.Globalization;
 using System.IO;
 using System.Text;
 using Google.ProtocolBuffers.TestProtos;
 using NUnit.Framework;
+using System.Threading;
 
 namespace Google.ProtocolBuffers {
   internal static class TestUtil {
@@ -1577,6 +1579,20 @@
       }
       return goldenPackedFieldsMessage;
     }
+
+    private static readonly string[] TestCultures = { "en-US", "en-GB", "fr-FR", "de-DE" };
+
+    public static void TestInMultipleCultures(Action test) {
+      CultureInfo originalCulture = Thread.CurrentThread.CurrentCulture;
+      foreach (string culture in TestCultures) {
+        try {
+          Thread.CurrentThread.CurrentCulture = new CultureInfo(culture);
+          test();
+        } finally {
+          Thread.CurrentThread.CurrentCulture = originalCulture;
+        }
+      }
+    }
     
     /// <summary>
     /// Helper to construct a byte array from a bunch of bytes.
diff --git a/src/ProtocolBuffers.Test/TextFormatTest.cs b/src/ProtocolBuffers.Test/TextFormatTest.cs
index a8e0de4..d0664a0 100644
--- a/src/ProtocolBuffers.Test/TextFormatTest.cs
+++ b/src/ProtocolBuffers.Test/TextFormatTest.cs
@@ -34,6 +34,8 @@
 using System.Text;
 using Google.ProtocolBuffers.TestProtos;
 using NUnit.Framework;
+using System.Globalization;
+using System.Threading;
 
 namespace Google.ProtocolBuffers {
   [TestFixture]
@@ -82,8 +84,10 @@
     /// </summary>
     [Test]
     public void PrintMessage() {
-      string text = TextFormat.PrintToString(TestUtil.GetAllSet());
-      Assert.AreEqual(AllFieldsSetText.Replace("\r\n", "\n"), text.Replace("\r\n", "\n"));
+      TestUtil.TestInMultipleCultures(() => {
+        string text = TextFormat.PrintToString(TestUtil.GetAllSet());
+        Assert.AreEqual(AllFieldsSetText.Replace("\r\n", "\n"), text.Replace("\r\n", "\n"));
+      });
     }
 
     /// <summary>
@@ -213,9 +217,11 @@
 
     [Test]
     public void Parse() {
-      TestAllTypes.Builder builder = TestAllTypes.CreateBuilder();
-      TextFormat.Merge(AllFieldsSetText, builder);
-      TestUtil.AssertAllFieldsSet(builder.Build());
+      TestUtil.TestInMultipleCultures(() => {
+        TestAllTypes.Builder builder = TestAllTypes.CreateBuilder();
+        TextFormat.Merge(AllFieldsSetText, builder);
+        TestUtil.AssertAllFieldsSet(builder.Build());
+      });
     }
 
     [Test]