diff --git a/java/src/com/android/inputmethod/latin/personalization/PersonalizationDataChunk.java b/java/src/com/android/inputmethod/latin/personalization/PersonalizationDataChunk.java
index 9d72de8..6f4b097 100644
--- a/java/src/com/android/inputmethod/latin/personalization/PersonalizationDataChunk.java
+++ b/java/src/com/android/inputmethod/latin/personalization/PersonalizationDataChunk.java
@@ -18,20 +18,20 @@
 
 import java.util.Collections;
 import java.util.List;
-import java.util.Locale;
 
 public class PersonalizationDataChunk {
     public final boolean mInputByUser;
     public final List<String> mTokens;
     public final int mTimestampInSeconds;
     public final String mPackageName;
-    public final Locale mlocale = null;
+    public final String mDetectedLanguage;
 
     public PersonalizationDataChunk(boolean inputByUser, final List<String> tokens,
-            final int timestampInSeconds, final String packageName) {
+            final int timestampInSeconds, final String packageName, final String detectedLanguage) {
         mInputByUser = inputByUser;
         mTokens = Collections.unmodifiableList(tokens);
         mTimestampInSeconds = timestampInSeconds;
         mPackageName = packageName;
+        mDetectedLanguage = detectedLanguage;
     }
 }
diff --git a/tests/src/com/android/inputmethod/latin/personalization/PersonalizationDictionaryTests.java b/tests/src/com/android/inputmethod/latin/personalization/PersonalizationDictionaryTests.java
index 0f2f981..b656292 100644
--- a/tests/src/com/android/inputmethod/latin/personalization/PersonalizationDictionaryTests.java
+++ b/tests/src/com/android/inputmethod/latin/personalization/PersonalizationDictionaryTests.java
@@ -78,7 +78,8 @@
                 tokens.add(CodePointUtils.generateWord(random, codePointSet));
             }
             final PersonalizationDataChunk personalizationDataChunk = new PersonalizationDataChunk(
-                    true /* inputByUser */, tokens, timeStampInSeconds, DUMMY_PACKAGE_NAME);
+                    true /* inputByUser */, tokens, timeStampInSeconds, DUMMY_PACKAGE_NAME,
+                    LOCALE_EN_US.getLanguage());
             final CountDownLatch countDownLatch = new CountDownLatch(1);
             final AddMultipleDictionaryEntriesCallback callback =
                     new AddMultipleDictionaryEntriesCallback() {
