Merge branch 'lineage-17.1' of https://github.com/LineageOS/android_packages_apps_Messaging into int/10/fp2

The LineageOS branch contains many fixes, incl. basics such as
displaying notifications and UI improvements that make life better.

Issue: FP2A10-165
Change-Id: I2bceef39e8f359323c62614eeaafb070509c30c7
diff --git a/Android.mk b/Android.mk
index b21b98f..bd4063c 100644
--- a/Android.mk
+++ b/Android.mk
@@ -66,10 +66,25 @@
 
 LOCAL_PACKAGE_NAME := messaging
 
-LOCAL_CERTIFICATE := platform
-
 LOCAL_SDK_VERSION := current
 
+LOCAL_PRODUCT_MODULE := true
+
+LOCAL_MODULE_PATH := $(TARGET_OUT_PRODUCT_APPS)
+
+LOCAL_COMPATIBILITY_SUITE := general-tests
+
+LOCAL_REQUIRED_MODULES += com.android.messaging_whitelist.xml
+
 include $(BUILD_PACKAGE)
 
+include $(CLEAR_VARS)
+LOCAL_MODULE := com.android.messaging_whitelist.xml
+LOCAL_MODULE_CLASS := ETC
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE_PATH := $(TARGET_OUT_PRODUCT_ETC)/sysconfig
+LOCAL_PRODUCT_MODULE := true
+LOCAL_SRC_FILES := $(LOCAL_MODULE)
+include $(BUILD_PREBUILT)
+
 include $(call all-makefiles-under, $(LOCAL_PATH))
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 58a1817..db5d9b2 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -18,7 +18,7 @@
     package="com.android.messaging"
     android:installLocation="internalOnly">
 
-    <uses-sdk android:minSdkVersion="19" android:targetSdkVersion="28" />
+    <uses-sdk android:minSdkVersion="19" android:targetSdkVersion="29" />
 
     <!-- Application holds CPU wakelock while working in background -->
     <uses-permission android:name="android.permission.WAKE_LOCK" />
@@ -58,8 +58,10 @@
     <application
         android:name="com.android.messaging.BugleApplication"
         android:allowBackup="false"
-        android:icon="@drawable/ic_launcher"
+        android:appCategory="social"
+        android:icon="@mipmap/ic_launcher"
         android:label="@string/app_name"
+        android:requestLegacyExternalStorage="true"
         android:theme="@style/BugleTheme"
         android:supportsRtl="true">
 
@@ -69,7 +71,7 @@
             android:configChanges="orientation|screenSize|keyboardHidden"
             android:screenOrientation="user"
             android:label="@string/app_name"
-            android:theme="@style/BugleTheme.ConversationListActivity">
+            android:theme="@style/LaunchTheme">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <category android:name="android.intent.category.LAUNCHER" />
@@ -98,12 +100,6 @@
                 <category android:name="android.intent.category.BROWSABLE" />
                 <data android:scheme="sms" />
                 <data android:scheme="smsto" />
-            </intent-filter>
-            <intent-filter>
-                <action android:name="android.intent.action.VIEW" />
-                <action android:name="android.intent.action.SENDTO" />
-                <category android:name="android.intent.category.DEFAULT" />
-                <category android:name="android.intent.category.BROWSABLE" />
                 <data android:scheme="mms" />
                 <data android:scheme="mmsto" />
             </intent-filter>
@@ -210,20 +206,16 @@
             <intent-filter
                 android:label="@string/share_intent_label">
                 <action android:name="android.intent.action.SEND" />
+                <action android:name="android.intent.action.SEND_MULTIPLE" />
                 <category android:name="android.intent.category.DEFAULT" />
                 <data android:mimeType="text/plain" />
                 <data android:mimeType="text/x-vCard" />
                 <data android:mimeType="text/x-vcard" />
                 <data android:mimeType="image/*" />
                 <data android:mimeType="audio/*" />
+                <data android:mimeType="video/*" />
                 <data android:mimeType="application/ogg" />
             </intent-filter>
-            <intent-filter
-                    android:label="@string/share_intent_label">
-                <action android:name="android.intent.action.SEND_MULTIPLE" />
-                <category android:name="android.intent.category.DEFAULT" />
-                <data android:mimeType="image/*" />
-            </intent-filter>
         </activity>
 
         <!-- People & Options -->
@@ -417,6 +409,8 @@
                 <category android:name="android.intent.category.DEFAULT" />
                 <data android:scheme="sms" />
                 <data android:scheme="smsto" />
+                <data android:scheme="mms" />
+                <data android:scheme="mmsto" />
             </intent-filter>
         </service>
 
@@ -430,7 +424,7 @@
         </activity>
 
         <activity android:name=".ui.SmsStorageLowWarningActivity"
-                  android:theme="@style/Invisible"
+                  android:theme="@style/Translucent"
                   android:configChanges="orientation|screenSize|keyboardHidden" />
 
         <activity android:name=".ui.appsettings.ApnSettingsActivity"
@@ -488,9 +482,6 @@
             <intent-filter>
                 <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
             </intent-filter>
-            <intent-filter>
-                <action android:name="com.android.Bugle.intent.action.ACTION_NOTIFY_CONVERSATIONS_CHANGED" />
-            </intent-filter>
             <meta-data android:name="android.appwidget.provider"
                        android:resource="@xml/widget_conversation_list" />
         </receiver>
@@ -501,9 +492,6 @@
             <intent-filter>
                 <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
             </intent-filter>
-            <intent-filter>
-                <action android:name="com.android.Bugle.intent.action.ACTION_NOTIFY_MESSAGES_CHANGED" />
-            </intent-filter>
             <meta-data android:name="android.appwidget.provider"
                        android:resource="@xml/widget_conversation" />
         </receiver>
diff --git a/CleanSpec.mk b/CleanSpec.mk
new file mode 100644
index 0000000..79e4ced
--- /dev/null
+++ b/CleanSpec.mk
@@ -0,0 +1,43 @@
+# Copyright (C) 2017 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+# If you don't need to do a full clean build but would like to touch
+# a file or delete some intermediate files, add a clean step to the end
+# of the list.  These steps will only be run once, if they haven't been
+# run before.
+#
+# E.g.:
+#     $(call add-clean-step, touch -c external/sqlite/sqlite3.h)
+#     $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/STATIC_LIBRARIES/libz_intermediates)
+#
+# Always use "touch -c" and "rm -f" or "rm -rf" to gracefully deal with
+# files that are missing or have been moved.
+#
+# Use $(PRODUCT_OUT) to get to the "out/target/product/blah/" directory.
+# Use $(OUT_DIR) to refer to the "out" directory.
+#
+# If you need to re-do something that's already mentioned, just copy
+# the command and add it to the bottom of the list.  E.g., if a change
+# that you made last week required touching a file and a change you
+# made today requires touching the same file, just copy the old
+# touch step and add it to the end of the list.
+#
+# ************************************************
+# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST
+# ************************************************
+
+$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/app/messaging)
+$(call add-clean-step, rm -f $(PRODUCT_OUT)/system/lib/libgiftranscode.so)
+$(call add-clean-step, rm -f $(PRODUCT_OUT)/system/lib64/libgiftranscode.so)
diff --git a/TEST_MAPPING b/TEST_MAPPING
deleted file mode 100644
index 55688d5..0000000
--- a/TEST_MAPPING
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "presubmit": [
-    {
-      "name": "messagingtests"
-    }
-  ]
-}
diff --git a/com.android.messaging_whitelist.xml b/com.android.messaging_whitelist.xml
new file mode 100644
index 0000000..6bc77a8
--- /dev/null
+++ b/com.android.messaging_whitelist.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+     Copyright (C) 2019-2020 The LineageOS Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<config>
+    <allow-in-power-save package="com.android.messaging" />
+</config>
diff --git a/jni/Android.mk b/jni/Android.mk
index cb9a69c..6b349a8 100644
--- a/jni/Android.mk
+++ b/jni/Android.mk
@@ -32,4 +32,6 @@
 LOCAL_SDK_VERSION := 19
 LOCAL_NDK_STL_VARIANT := c++_static # LLVM libc++
 
+LOCAL_PRODUCT_MODULE := true
+
 include $(BUILD_SHARED_LIBRARY)
diff --git a/proguard-release.flags b/proguard-release.flags
index 36b6720..67ae150 100644
--- a/proguard-release.flags
+++ b/proguard-release.flags
@@ -12,6 +12,8 @@
 #  See the License for the specific language governing permissions and
 #  limitations under the License.
 
+-keep class com.android.messaging.ui.contact.* { *; }
+
 -assumenosideeffects public class com.android.messaging.util.Trace {
     public void beginSection(...);
     public void endSection(...);
diff --git a/proguard-test.flags b/proguard-test.flags
index 46e569f..353970a 100755
--- a/proguard-test.flags
+++ b/proguard-test.flags
@@ -35,6 +35,8 @@
   !private *;
 }
 
+-keep class com.android.messaging.ui.contact.* { *; }
+
 # Keep the classes needed by emma
 -keep class com.vladium.** { *; }
 
diff --git a/proguard.flags b/proguard.flags
index 44f6ccd..cb04900 100644
--- a/proguard.flags
+++ b/proguard.flags
@@ -21,6 +21,7 @@
 -keepclassmembers class * {
   @com.google.common.annotations.VisibleForTesting *;
 }
+-keep class com.android.messaging.ui.contact.* { *; }
 
 # Keep methods that have the @VisibleForAnimation annotation
 -keep @interface com.android.messaging.annotation.VisibleForAnimation
diff --git a/res/drawable-hdpi/ic_launcher.png b/res/drawable-hdpi/ic_launcher.png
deleted file mode 100644
index 5e4e62f..0000000
--- a/res/drawable-hdpi/ic_launcher.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_music.png b/res/drawable-hdpi/ic_music.png
new file mode 100644
index 0000000..033b402
--- /dev/null
+++ b/res/drawable-hdpi/ic_music.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_notifications_off_dark.png b/res/drawable-hdpi/ic_notifications_off_dark.png
deleted file mode 100644
index 9bcdc62..0000000
--- a/res/drawable-hdpi/ic_notifications_off_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_notifications_off_light.png b/res/drawable-hdpi/ic_notifications_off_light.png
deleted file mode 100644
index 433b6a9..0000000
--- a/res/drawable-hdpi/ic_notifications_off_light.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_notifications_off_small_light.png b/res/drawable-hdpi/ic_notifications_off_small_light.png
deleted file mode 100644
index fbd0ad5..0000000
--- a/res/drawable-hdpi/ic_notifications_off_small_light.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_notifications_on_dark.png b/res/drawable-hdpi/ic_notifications_on_dark.png
deleted file mode 100644
index 21e48a5..0000000
--- a/res/drawable-hdpi/ic_notifications_on_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_notifications_on_light.png b/res/drawable-hdpi/ic_notifications_on_light.png
deleted file mode 100644
index 6b39fec..0000000
--- a/res/drawable-hdpi/ic_notifications_on_light.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_photo_library_light.png b/res/drawable-hdpi/ic_photo_library_light.png
index 1f71a62..55b956a 100644
--- a/res/drawable-hdpi/ic_photo_library_light.png
+++ b/res/drawable-hdpi/ic_photo_library_light.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_launcher.png b/res/drawable-mdpi/ic_launcher.png
deleted file mode 100644
index ef6a3c5..0000000
--- a/res/drawable-mdpi/ic_launcher.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_music.png b/res/drawable-mdpi/ic_music.png
new file mode 100644
index 0000000..106f912
--- /dev/null
+++ b/res/drawable-mdpi/ic_music.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_notifications_off_dark.png b/res/drawable-mdpi/ic_notifications_off_dark.png
deleted file mode 100644
index 4a5a7e9..0000000
--- a/res/drawable-mdpi/ic_notifications_off_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_notifications_off_light.png b/res/drawable-mdpi/ic_notifications_off_light.png
deleted file mode 100644
index 33e0b4a..0000000
--- a/res/drawable-mdpi/ic_notifications_off_light.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_notifications_off_small_light.png b/res/drawable-mdpi/ic_notifications_off_small_light.png
deleted file mode 100644
index 4bd9563..0000000
--- a/res/drawable-mdpi/ic_notifications_off_small_light.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_notifications_on_dark.png b/res/drawable-mdpi/ic_notifications_on_dark.png
deleted file mode 100644
index 77a2a7d..0000000
--- a/res/drawable-mdpi/ic_notifications_on_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_notifications_on_light.png b/res/drawable-mdpi/ic_notifications_on_light.png
deleted file mode 100644
index eae03a5..0000000
--- a/res/drawable-mdpi/ic_notifications_on_light.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_photo_library_light.png b/res/drawable-mdpi/ic_photo_library_light.png
index 322d486..26c58f3 100644
--- a/res/drawable-mdpi/ic_photo_library_light.png
+++ b/res/drawable-mdpi/ic_photo_library_light.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_launcher.png b/res/drawable-xhdpi/ic_launcher.png
deleted file mode 100644
index ad1acb4..0000000
--- a/res/drawable-xhdpi/ic_launcher.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_music.png b/res/drawable-xhdpi/ic_music.png
new file mode 100644
index 0000000..1de4c3b
--- /dev/null
+++ b/res/drawable-xhdpi/ic_music.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_notifications_off_dark.png b/res/drawable-xhdpi/ic_notifications_off_dark.png
deleted file mode 100644
index 4f3b924..0000000
--- a/res/drawable-xhdpi/ic_notifications_off_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_notifications_off_light.png b/res/drawable-xhdpi/ic_notifications_off_light.png
deleted file mode 100644
index 16ae132..0000000
--- a/res/drawable-xhdpi/ic_notifications_off_light.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_notifications_off_small_light.png b/res/drawable-xhdpi/ic_notifications_off_small_light.png
deleted file mode 100644
index e54fc52..0000000
--- a/res/drawable-xhdpi/ic_notifications_off_small_light.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_notifications_on_dark.png b/res/drawable-xhdpi/ic_notifications_on_dark.png
deleted file mode 100644
index 40f2909..0000000
--- a/res/drawable-xhdpi/ic_notifications_on_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_notifications_on_light.png b/res/drawable-xhdpi/ic_notifications_on_light.png
deleted file mode 100644
index 3c44f93..0000000
--- a/res/drawable-xhdpi/ic_notifications_on_light.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_photo_library_light.png b/res/drawable-xhdpi/ic_photo_library_light.png
index 1f5a69c..627ff48 100644
--- a/res/drawable-xhdpi/ic_photo_library_light.png
+++ b/res/drawable-xhdpi/ic_photo_library_light.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_launcher.png b/res/drawable-xxhdpi/ic_launcher.png
deleted file mode 100644
index de56e98..0000000
--- a/res/drawable-xxhdpi/ic_launcher.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_music.png b/res/drawable-xxhdpi/ic_music.png
new file mode 100644
index 0000000..f8016cc
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_music.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_notifications_off_dark.png b/res/drawable-xxhdpi/ic_notifications_off_dark.png
deleted file mode 100644
index 27d3754..0000000
--- a/res/drawable-xxhdpi/ic_notifications_off_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_notifications_off_light.png b/res/drawable-xxhdpi/ic_notifications_off_light.png
deleted file mode 100644
index a2aedec..0000000
--- a/res/drawable-xxhdpi/ic_notifications_off_light.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_notifications_off_small_light.png b/res/drawable-xxhdpi/ic_notifications_off_small_light.png
deleted file mode 100644
index 2a90e07..0000000
--- a/res/drawable-xxhdpi/ic_notifications_off_small_light.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_notifications_on_dark.png b/res/drawable-xxhdpi/ic_notifications_on_dark.png
deleted file mode 100644
index e64da6b..0000000
--- a/res/drawable-xxhdpi/ic_notifications_on_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_notifications_on_light.png b/res/drawable-xxhdpi/ic_notifications_on_light.png
deleted file mode 100644
index f8f7d15..0000000
--- a/res/drawable-xxhdpi/ic_notifications_on_light.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_photo_library_light.png b/res/drawable-xxhdpi/ic_photo_library_light.png
index f61bb58..cd72bdf 100644
--- a/res/drawable-xxhdpi/ic_photo_library_light.png
+++ b/res/drawable-xxhdpi/ic_photo_library_light.png
Binary files differ
diff --git a/res/drawable-xxxhdpi/ic_launcher.png b/res/drawable-xxxhdpi/ic_launcher.png
deleted file mode 100644
index 9ac88b4..0000000
--- a/res/drawable-xxxhdpi/ic_launcher.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxxhdpi/ic_music.png b/res/drawable-xxxhdpi/ic_music.png
new file mode 100644
index 0000000..11d67ae
--- /dev/null
+++ b/res/drawable-xxxhdpi/ic_music.png
Binary files differ
diff --git a/res/drawable-xxxhdpi/ic_notifications_off_dark.png b/res/drawable-xxxhdpi/ic_notifications_off_dark.png
deleted file mode 100644
index 10ac318..0000000
--- a/res/drawable-xxxhdpi/ic_notifications_off_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxxhdpi/ic_notifications_off_light.png b/res/drawable-xxxhdpi/ic_notifications_off_light.png
deleted file mode 100644
index 8eb5782..0000000
--- a/res/drawable-xxxhdpi/ic_notifications_off_light.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxxhdpi/ic_notifications_off_small_light.png b/res/drawable-xxxhdpi/ic_notifications_off_small_light.png
deleted file mode 100644
index 3756943..0000000
--- a/res/drawable-xxxhdpi/ic_notifications_off_small_light.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxxhdpi/ic_notifications_on_dark.png b/res/drawable-xxxhdpi/ic_notifications_on_dark.png
deleted file mode 100644
index 3896212..0000000
--- a/res/drawable-xxxhdpi/ic_notifications_on_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxxhdpi/ic_notifications_on_light.png b/res/drawable-xxxhdpi/ic_notifications_on_light.png
deleted file mode 100644
index 47794fd..0000000
--- a/res/drawable-xxxhdpi/ic_notifications_on_light.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxxhdpi/ic_photo_library_light.png b/res/drawable-xxxhdpi/ic_photo_library_light.png
index 8627f42..9fe62f4 100644
--- a/res/drawable-xxxhdpi/ic_photo_library_light.png
+++ b/res/drawable-xxxhdpi/ic_photo_library_light.png
Binary files differ
diff --git a/res/drawable/ic_wear_read.xml b/res/drawable/ic_wear_read.xml
new file mode 100644
index 0000000..9d017e6
--- /dev/null
+++ b/res/drawable/ic_wear_read.xml
@@ -0,0 +1,9 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportWidth="24"
+    android:viewportHeight="24">
+    <path
+        android:fillColor="#ffffff"
+        android:pathData="M0.41,13.41L6,19L7.41,17.58L1.83,12M22.24,5.58L11.66,16.17L7.5,12L6.07,13.41L11.66,19L23.66,7M18,7L16.59,5.58L10.24,11.93L11.66,13.34L18,7Z" />
+</vector>
diff --git a/res/layout/apn_preference_layout.xml b/res/layout/apn_preference_layout.xml
index 25a0323..12693d4 100644
--- a/res/layout/apn_preference_layout.xml
+++ b/res/layout/apn_preference_layout.xml
@@ -38,7 +38,7 @@
         android:background="?android:attr/selectableItemBackground">
 
         <TextView
-            android:id="@+android:id/title"
+            android:id="@android:id/title"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:focusable="true"
@@ -46,7 +46,7 @@
             android:textAppearance="?android:attr/textAppearanceListItem" />
 
         <TextView
-            android:id="@+android:id/summary"
+            android:id="@android:id/summary"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_below="@android:id/title"
diff --git a/res/layout/attachment_chooser_vcard.xml b/res/layout/attachment_chooser_vcard.xml
index fb20f84..e6f1072 100644
--- a/res/layout/attachment_chooser_vcard.xml
+++ b/res/layout/attachment_chooser_vcard.xml
@@ -15,8 +15,8 @@
     limitations under the License.
 -->
 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="wrap_content"
-    android:layout_height="wrap_content"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
     android:background="@color/attachment_chooser_vcard_background">
 
     <com.android.messaging.ui.PersonItemView
diff --git a/res/layout/compose_message_view.xml b/res/layout/compose_message_view.xml
index fd60e2a..8bb8249 100644
--- a/res/layout/compose_message_view.xml
+++ b/res/layout/compose_message_view.xml
@@ -88,8 +88,8 @@
             android:layout_height="wrap_content"
             android:orientation="horizontal">
 
-            <!-- Contains compose message bubble and character counter for SMS which should be left
-            aligned -->
+            <!-- Contains compose message bubble and character counter for SMS or attachments size
+                 for MMS which should be left aligned -->
             <LinearLayout
                 android:layout_width="0dp"
                 android:layout_weight="1"
@@ -128,8 +128,8 @@
                 </LinearLayout>
 
                 <TextView
-                    android:id="@+id/char_counter"
-                    style="@style/ComposeMessageViewTextCounterStyle"
+                    android:id="@+id/message_body_size"
+                    style="@style/ComposeMessageViewMessageBodySizeStyle"
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:singleLine="true"
diff --git a/res/layout/conversation_list_item_view.xml b/res/layout/conversation_list_item_view.xml
index 636616b..c89e470 100644
--- a/res/layout/conversation_list_item_view.xml
+++ b/res/layout/conversation_list_item_view.xml
@@ -37,7 +37,6 @@
             android:layout_height="wrap_content"
             android:gravity="center_vertical|left"
             android:visibility="gone"
-            android:src="@drawable/ic_archive_small_dark"
             android:importantForAccessibility="no"
             android:contentDescription="@null"/>
         <FrameLayout
@@ -50,7 +49,6 @@
             android:layout_height="wrap_content"
             android:layout_gravity="center_vertical|right"
             android:visibility="gone"
-            android:src="@drawable/ic_archive_small_dark"
             android:importantForAccessibility="no"
             android:contentDescription="@null"/>
     </LinearLayout>
@@ -123,17 +121,6 @@
                             android:layout_height="wrap_content"
                             android:layout_weight="1"
                             android:background="@android:color/transparent">
-                        <ImageView
-                            android:id="@+id/conversation_notification_bell"
-                            style="@style/ConversationListNotificationBellPaddingStyle"
-                            android:layout_width="wrap_content"
-                            android:layout_height="wrap_content"
-                            android:src="@drawable/ic_notifications_off_small_light"
-                            android:visibility="gone"
-                            android:importantForAccessibility="no"
-                            android:contentDescription="@null"
-                            android:layout_gravity="center_vertical"
-                            android:background="@android:color/transparent" />
                         <TextView
                             android:id="@+id/conversation_name"
                             style="@style/ConversationListItemViewConversationNameStyle"
diff --git a/res/layout/conversation_message_view.xml b/res/layout/conversation_message_view.xml
index daad600..25d3840 100644
--- a/res/layout/conversation_message_view.xml
+++ b/res/layout/conversation_message_view.xml
@@ -72,7 +72,8 @@
             android:id="@+id/message_text_and_info"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:orientation="vertical">
+            android:orientation="vertical"
+            android:forceDarkAllowed="false">
 
             <LinearLayout
                 android:id="@+id/message_title_layout"
diff --git a/res/layout/gallery_grid_item_view.xml b/res/layout/gallery_grid_item_view.xml
index 8b7ee58..f8f3920 100644
--- a/res/layout/gallery_grid_item_view.xml
+++ b/res/layout/gallery_grid_item_view.xml
@@ -21,15 +21,71 @@
     android:background="@color/gallery_image_default_background"
     android:clickable="true">
 
+    <!-- Thumbnail for image and video contents. -->
     <com.android.messaging.ui.AsyncImageView
-        android:id="@+id/image"
+        android:id="@+id/thumbnail"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:scaleType="centerCrop" />
 
+    <!-- Additional info such as icon, name and etc. -->
+    <RelativeLayout
+        android:id="@+id/additional_info"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:layout_gravity="center"
+        android:orientation="vertical"
+        android:visibility="gone" >
+
+        <FrameLayout
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:layout_above="@id/file_info" >
+            <ImageView
+                android:id="@+id/icon"
+                android:layout_width="@dimen/gallery_icon_size"
+                android:layout_height="@dimen/gallery_icon_size"
+                android:layout_gravity="center"
+                android:scaleType="fitCenter"
+                android:background="@color/background_item_transparent"
+                android:visibility="gone" />
+        </FrameLayout>
+
+        <!-- File info for audio contents only -->
+        <LinearLayout
+            android:id="@+id/file_info"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_alignParentBottom="true"
+            android:layout_marginBottom="4dp"
+            android:paddingLeft="4dp"
+            android:paddingRight="4dp"
+            android:orientation="vertical"
+            android:visibility="gone" >
+
+            <TextView
+                android:id="@+id/file_name"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:singleLine="true"
+                android:ellipsize="end"
+                android:textAppearance="@android:style/TextAppearance.Material.Subhead" />
+
+            <TextView
+                android:id="@+id/file_type"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:singleLine="true"
+                android:ellipsize="end"
+                android:gravity="right"
+                android:textAppearance="@android:style/TextAppearance.Material.Caption" />
+        </LinearLayout>
+    </RelativeLayout>
+
     <View
         android:layout_width="match_parent"
         android:layout_height="match_parent"
+        android:focusableInTouchMode="true"
         android:background="@drawable/gallery_image_background_selector" />
 
     <CheckBox
@@ -43,4 +99,5 @@
         android:paddingTop="4dp"
         android:visibility="gone"
         android:contentDescription="@string/gallery_checkbox_content_description" />
+
 </com.android.messaging.ui.mediapicker.GalleryGridItemView>
diff --git a/res/layout/mediapicker_contact_chooser.xml b/res/layout/mediapicker_contact_chooser.xml
new file mode 100644
index 0000000..dcace4f
--- /dev/null
+++ b/res/layout/mediapicker_contact_chooser.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2020 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<FrameLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:background="@android:color/white"
+    android:importantForAccessibility="no" >
+
+    <FrameLayout
+        android:id="@+id/mediapicker_enabled"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent" >
+
+        <TextView
+            style="@style/ContactPickerHintText"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_gravity="top|center"
+            android:layout_marginTop="16dp"
+            android:text="@string/contact_picker_hint_text"
+            android:importantForAccessibility="no" />
+
+        <ImageView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_gravity="center"
+            android:scaleType="center"
+            android:src="@drawable/ic_person_light_large"
+            android:tint="@color/primary_color"
+            android:importantForAccessibility="no"
+            android:contentDescription="@null" />
+    </FrameLayout>
+
+    <!-- This view will hide all other views if the required permission is not granted -->
+    <TextView
+        android:id="@+id/missing_permission_view"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:text="@string/enable_permission_procedure"
+        android:contentDescription="@string/enable_permission_procedure_description"
+        android:background="@android:color/white"
+        android:gravity="center"
+        android:visibility="gone" />
+
+</FrameLayout>
diff --git a/res/layout/mediapicker_image_chooser.xml b/res/layout/mediapicker_gallery_chooser.xml
similarity index 100%
rename from res/layout/mediapicker_image_chooser.xml
rename to res/layout/mediapicker_gallery_chooser.xml
diff --git a/res/layout/people_options_item_view.xml b/res/layout/people_options_item_view.xml
index 8821eec..8895037 100644
--- a/res/layout/people_options_item_view.xml
+++ b/res/layout/people_options_item_view.xml
@@ -40,25 +40,5 @@
             android:ellipsize="end"
             style="@style/ParticipantListItem"
             android:layout_gravity="center_vertical" />
-
-        <TextView
-            android:id="@+id/subtitle"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:singleLine="true"
-            android:maxLines="1"
-            android:ellipsize="end"
-            style="@style/ParticipantListItemDetail"
-            android:layout_gravity="center_vertical" />
-
     </LinearLayout>
-
-    <androidx.appcompat.widget.SwitchCompat
-        android:id="@+id/switch_button"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:focusable="false"
-        android:clickable="false"
-        android:visibility="gone" />
-
 </com.android.messaging.ui.conversationsettings.PeopleOptionsItemView>
diff --git a/res/layout/widget_conversation.xml b/res/layout/widget_conversation.xml
index a9cda98..9037a6f 100644
--- a/res/layout/widget_conversation.xml
+++ b/res/layout/widget_conversation.xml
@@ -39,7 +39,7 @@
             android:freezesText="true" />
         <ImageView
             android:id="@+id/launcher_icon"
-            android:src="@drawable/ic_launcher"
+            android:src="@mipmap/ic_launcher"
             android:layout_height="wrap_content"
             android:layout_width="0dip"
             android:layout_weight = "1"
@@ -104,7 +104,7 @@
         android:background="@drawable/widget_hr"
         android:importantForAccessibility="no"
         android:contentDescription="@null"
-        android:layout_marginTop="-24dp"
+        android:layout_marginTop="-2dp"
         android:layout_alignParentBottom="true"
         />
 </RelativeLayout>
diff --git a/res/layout/widget_conversation_list_item.xml b/res/layout/widget_conversation_list_item.xml
index e0115a2..c1a140a 100644
--- a/res/layout/widget_conversation_list_item.xml
+++ b/res/layout/widget_conversation_list_item.xml
@@ -67,18 +67,6 @@
                 android:layout_alignParentTop="true"
                 android:gravity="center_vertical"
                 android:background="@android:color/transparent">
-                <ImageView
-                    android:id="@+id/conversation_notification_bell"
-                    style="@style/ConversationListNotificationBellPaddingStyle"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:src="@drawable/ic_notifications_off_small_light"
-                    android:visibility="gone"
-                    android:importantForAccessibility="no"
-                    android:contentDescription="@null"
-                    android:layout_gravity="center_vertical"
-                    android:background="@android:color/transparent" />
-
                 <TextView android:id="@+id/from"
                     style="@style/WidgetConversationListItemFrom"
                     android:layout_width="0dp"
diff --git a/res/layout/widget_message_item_incoming.xml b/res/layout/widget_message_item_incoming.xml
index 3a1bc00..786385b 100644
--- a/res/layout/widget_message_item_incoming.xml
+++ b/res/layout/widget_message_item_incoming.xml
@@ -111,7 +111,7 @@
                 android:layout_height="wrap_content"
                 android:layout_gravity="center"
                 android:visibility="gone"
-                android:src="@drawable/ic_preview_play"
+                android:src="@drawable/ic_video_play_light"
                 android:importantForAccessibility="no"
                 android:contentDescription="@null"/>
         </FrameLayout>
diff --git a/res/layout/widget_message_item_outgoing.xml b/res/layout/widget_message_item_outgoing.xml
index 472b5a2..c3d734e 100644
--- a/res/layout/widget_message_item_outgoing.xml
+++ b/res/layout/widget_message_item_outgoing.xml
@@ -111,7 +111,7 @@
                 android:layout_height="wrap_content"
                 android:layout_gravity="center"
                 android:visibility="gone"
-                android:src="@drawable/ic_preview_play"
+                android:src="@drawable/ic_video_play_light"
                 android:importantForAccessibility="no"
                 android:contentDescription="@null"/>
         </FrameLayout>
diff --git a/res/menu/conversation_list_fragment_select_menu.xml b/res/menu/conversation_list_fragment_select_menu.xml
index 8704691..9247923 100644
--- a/res/menu/conversation_list_fragment_select_menu.xml
+++ b/res/menu/conversation_list_fragment_select_menu.xml
@@ -37,18 +37,6 @@
         android:title="@string/action_delete"
         appcompat:showAsAction="collapseActionView|always"/>
     <item
-        android:id="@+id/action_notification_off"
-        android:icon="@drawable/ic_notifications_off_dark"
-        android:orderInCategory="70"
-        android:title="@string/action_notification_off"
-        appcompat:showAsAction="collapseActionView|always"/>
-    <item
-        android:id="@+id/action_notification_on"
-        android:icon="@drawable/ic_notifications_on_dark"
-        android:orderInCategory="80"
-        android:title="@string/action_notification_on"
-        appcompat:showAsAction="collapseActionView|always"/>
-    <item
         android:id="@+id/action_add_contact"
         android:icon="@drawable/ic_person_add_dark"
         android:orderInCategory="90"
diff --git a/res/mipmap-anydpi/ic_launcher.xml b/res/mipmap-anydpi/ic_launcher.xml
new file mode 100644
index 0000000..d8649ba
--- /dev/null
+++ b/res/mipmap-anydpi/ic_launcher.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2018 The LineageOS Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
+    <background android:drawable="@mipmap/ic_background"/>
+    <foreground android:drawable="@mipmap/ic_foreground"/>
+</adaptive-icon>
+
diff --git a/res/mipmap-hdpi/ic_background.png b/res/mipmap-hdpi/ic_background.png
new file mode 100644
index 0000000..b4a472c
--- /dev/null
+++ b/res/mipmap-hdpi/ic_background.png
Binary files differ
diff --git a/res/mipmap-hdpi/ic_foreground.png b/res/mipmap-hdpi/ic_foreground.png
new file mode 100644
index 0000000..d956bf2
--- /dev/null
+++ b/res/mipmap-hdpi/ic_foreground.png
Binary files differ
diff --git a/res/mipmap-mdpi/ic_background.png b/res/mipmap-mdpi/ic_background.png
new file mode 100644
index 0000000..e105313
--- /dev/null
+++ b/res/mipmap-mdpi/ic_background.png
Binary files differ
diff --git a/res/mipmap-mdpi/ic_foreground.png b/res/mipmap-mdpi/ic_foreground.png
new file mode 100644
index 0000000..df4dc02
--- /dev/null
+++ b/res/mipmap-mdpi/ic_foreground.png
Binary files differ
diff --git a/res/mipmap-xhdpi/ic_background.png b/res/mipmap-xhdpi/ic_background.png
new file mode 100644
index 0000000..169e91c
--- /dev/null
+++ b/res/mipmap-xhdpi/ic_background.png
Binary files differ
diff --git a/res/mipmap-xhdpi/ic_foreground.png b/res/mipmap-xhdpi/ic_foreground.png
new file mode 100644
index 0000000..b5a98c5
--- /dev/null
+++ b/res/mipmap-xhdpi/ic_foreground.png
Binary files differ
diff --git a/res/mipmap-xxhdpi/ic_background.png b/res/mipmap-xxhdpi/ic_background.png
new file mode 100644
index 0000000..68187be
--- /dev/null
+++ b/res/mipmap-xxhdpi/ic_background.png
Binary files differ
diff --git a/res/mipmap-xxhdpi/ic_foreground.png b/res/mipmap-xxhdpi/ic_foreground.png
new file mode 100644
index 0000000..1a1ca17
--- /dev/null
+++ b/res/mipmap-xxhdpi/ic_foreground.png
Binary files differ
diff --git a/res/mipmap-xxxhdpi/ic_background.png b/res/mipmap-xxxhdpi/ic_background.png
new file mode 100644
index 0000000..4479b32
--- /dev/null
+++ b/res/mipmap-xxxhdpi/ic_background.png
Binary files differ
diff --git a/res/mipmap-xxxhdpi/ic_foreground.png b/res/mipmap-xxxhdpi/ic_foreground.png
new file mode 100644
index 0000000..e896c28
--- /dev/null
+++ b/res/mipmap-xxxhdpi/ic_foreground.png
Binary files differ
diff --git a/res/values-af/cm_strings.xml b/res/values-af/cm_strings.xml
new file mode 100644
index 0000000..e237149
--- /dev/null
+++ b/res/values-af/cm_strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="swipe_to_delete_conversation_pref_title">Sleep om uit te vee</string>
+    <string name="swipe_to_delete_conversation_pref_summary">Vee na regs om gesprek uit te vee</string>
+    <string name="show_emoticons_pref_title">Emosieikone toegang</string>
+    <string name="show_emoticons_pref_summary">Wys emosieikone sleutel op die sleutelbord</string>
+</resources>
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index ebe9d4d..9dbfc6e 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -202,19 +202,19 @@
     <string name="audio_attachment_content_description" msgid="499334244765270108">"Oudio-aanhegsel"</string>
     <string name="audio_play_content_description" msgid="4932509227281251607">"Speel oudio-aanhegsel"</string>
     <string name="audio_pause_content_description" msgid="7578169887065513701">"Wag"</string>
-    <string name="incoming_message_announcement" msgid="6369259405539452011">"Boodskap vanaf <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Mislukte boodskap van <xliff:g id="SENDER">%s</xliff:g> af: <xliff:g id="MESSAGE">%s</xliff:g>. Tyd: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Boodskap van <xliff:g id="SENDER">%s</xliff:g> af: <xliff:g id="MESSAGE">%s</xliff:g>. Tyd: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Ongestuurde boodskap aan <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Tyd: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Stuur tans boodskap aan <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Tyd: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Kon nie boodskap aan <xliff:g id="CONTACT">%s</xliff:g> stuur nie: <xliff:g id="MESSAGE">%s</xliff:g>. Tyd: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Boodskap aan <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Tyd: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Mislukte boodskap van <xliff:g id="SENDER">%s</xliff:g> af: <xliff:g id="MESSAGE">%s</xliff:g>. Tyd: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>"</string>
-    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Boodskap van <xliff:g id="SENDER">%s</xliff:g> af: <xliff:g id="MESSAGE">%s</xliff:g>. Tyd: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>"</string>
-    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Ongestuurde boodskap aan <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Tyd: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Stuur tans boodskap aan <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Tyd: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Kon nie boodskap aan <xliff:g id="GROUP">%s</xliff:g> stuur nie: <xliff:g id="MESSAGE">%s</xliff:g>. Tyd: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Boodskap aan <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Tyd: <xliff:g id="TIME">%s</xliff:g>"</string>
+    <string name="incoming_message_announcement" msgid="6369259405539452011">"Boodskap vanaf <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Mislukte boodskap van <xliff:g id="SENDER">%1$s</xliff:g> af: <xliff:g id="MESSAGE">%2$s</xliff:g>. Tyd: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Boodskap van <xliff:g id="SENDER">%1$s</xliff:g> af: <xliff:g id="MESSAGE">%2$s</xliff:g>. Tyd: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Ongestuurde boodskap aan <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Tyd: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Stuur tans boodskap aan <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Tyd: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Kon nie boodskap aan <xliff:g id="CONTACT">%1$s</xliff:g> stuur nie: <xliff:g id="MESSAGE">%2$s</xliff:g>. Tyd: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Boodskap aan <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Tyd: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Mislukte boodskap van <xliff:g id="SENDER">%1$s</xliff:g> af: <xliff:g id="MESSAGE">%2$s</xliff:g>. Tyd: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>"</string>
+    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Boodskap van <xliff:g id="SENDER">%1$s</xliff:g> af: <xliff:g id="MESSAGE">%2$s</xliff:g>. Tyd: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>"</string>
+    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Ongestuurde boodskap aan <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Tyd: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Stuur tans boodskap aan <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Tyd: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Kon nie boodskap aan <xliff:g id="GROUP">%1$s</xliff:g> stuur nie: <xliff:g id="MESSAGE">%2$s</xliff:g>. Tyd: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Boodskap aan <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Tyd: <xliff:g id="TIME">%3$s</xliff:g>"</string>
     <string name="failed_message_content_description" msgid="7047161648867054936">"Kon nie boodskap stuur nie. Raak om weer te probeer."</string>
     <string name="group_conversation_description" msgid="2339270924401184182">"Gesprek met <xliff:g id="PARTICIPANTS">%s</xliff:g>"</string>
     <string name="delete_subject_content_description" msgid="8910749398836396698">"Vee onderwerp uit"</string>
@@ -258,7 +258,7 @@
     <string name="mms_messaging_category_pref_title" msgid="4816815152658525660">"MMS"</string>
     <string name="advanced_category_pref_title" msgid="6411454224069259687">"Gevorderd"</string>
     <string name="debug_category_pref_title" msgid="8765138968242505061">"Ontfout"</string>
-    <string name="notifications_enabled_pref_title" msgid="4127288731844373795">"Kennisgewings"</string>
+    <string name="notifications_pref_title" msgid="4127288731844373795">"Kennisgewings"</string>
     <string name="notification_sound_pref_title" msgid="3685506528957337849">"Klank"</string>
     <string name="silent_ringtone" msgid="8073534180322059814">"Stil"</string>
     <string name="notification_vibrate_pref_title" msgid="6668564570045187390">"Vibreer"</string>
@@ -359,7 +359,7 @@
     <string name="add_contact_confirmation" msgid="1479380805406328264">"Voeg kontak by"</string>
     <string name="compose_message_view_subject_hint_text" msgid="6076616675845705660">"Onderwerp"</string>
     <string name="conversation_message_view_subject_text" msgid="5634274498769555505">"Onderwerp: "</string>
-    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%s</xliff:g><xliff:g id="MESSAGETEXT">%s</xliff:g>"</string>
+    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%1$s</xliff:g><xliff:g id="MESSAGETEXT">%2$s</xliff:g>"</string>
     <string name="loading_vcard" msgid="3961520941271265083">"Laai tans kontakkaart"</string>
     <string name="failed_loading_vcard" msgid="7711070643740368402">"Kon nie kontakkaart laai nie"</string>
     <string name="vcard_tap_hint" msgid="4940284329175200952">"Bekyk kontakkaart"</string>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index 9707157..981f0b3 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -202,19 +202,19 @@
     <string name="audio_attachment_content_description" msgid="499334244765270108">"የኦዲዮ ዓባሪ"</string>
     <string name="audio_play_content_description" msgid="4932509227281251607">"የኦዲዮ ዓባሪ ያጫውቱ"</string>
     <string name="audio_pause_content_description" msgid="7578169887065513701">"ለአፍታ አቁም"</string>
-    <string name="incoming_message_announcement" msgid="6369259405539452011">"መልእክት ከ <xliff:g id="SENDER">%s</xliff:g>፦ <xliff:g id="MESSAGE">%s</xliff:g>።"</string>
-    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"ያልተሳካ መልዕክት ከ<xliff:g id="SENDER">%s</xliff:g>፦ <xliff:g id="MESSAGE">%s</xliff:g>። ሰዓት፦ <xliff:g id="TIME">%s</xliff:g>።"</string>
-    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"ከ<xliff:g id="SENDER">%s</xliff:g> የመጣ መልዕክት፦ <xliff:g id="MESSAGE">%s</xliff:g>። ሰዓት፦ <xliff:g id="TIME">%s</xliff:g>።"</string>
-    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"ወደ <xliff:g id="CONTACT">%s</xliff:g> የሚሄድ ያልተላከ መልዕክት፦ <xliff:g id="MESSAGE">%s</xliff:g>። ሰዓት፦ <xliff:g id="TIME">%s</xliff:g>።"</string>
-    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"መልዕክት ወደ <xliff:g id="CONTACT">%s</xliff:g> በመላክ ላይ፦ <xliff:g id="MESSAGE">%s</xliff:g>። ሰዓት፦ <xliff:g id="TIME">%s</xliff:g>።"</string>
-    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"ያልተሳካ ወደ <xliff:g id="CONTACT">%s</xliff:g> የሚሄድ መልዕክት፦ <xliff:g id="MESSAGE">%s</xliff:g>። ሰዓት፦ <xliff:g id="TIME">%s</xliff:g>።"</string>
-    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"ወደ <xliff:g id="CONTACT">%s</xliff:g> የሚሄድ መልዕክት፦ <xliff:g id="MESSAGE">%s</xliff:g>። ሰዓት፦ <xliff:g id="TIME">%s</xliff:g>።"</string>
-    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"ያልተሳካ መልዕክት ከ<xliff:g id="SENDER">%s</xliff:g>፦ <xliff:g id="MESSAGE">%s</xliff:g>። ሰዓት፦ <xliff:g id="TIME">%s</xliff:g>። <xliff:g id="GROUPINFO">%s</xliff:g>።"</string>
-    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"መልዕክት ከ<xliff:g id="SENDER">%s</xliff:g>፦ <xliff:g id="MESSAGE">%s</xliff:g>። ሰዓት፦ <xliff:g id="TIME">%s</xliff:g>። <xliff:g id="GROUPINFO">%s</xliff:g>።"</string>
-    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"ወደ <xliff:g id="GROUP">%s</xliff:g> የሚሄድ ያልተላከ መልዕክት፦ <xliff:g id="MESSAGE">%s</xliff:g>። ሰዓት፦ <xliff:g id="TIME">%s</xliff:g>።"</string>
-    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"መልዕክት ወደ <xliff:g id="GROUP">%s</xliff:g> በመላክ ላይ፦ <xliff:g id="MESSAGE">%s</xliff:g>። ሰዓት፦ <xliff:g id="TIME">%s</xliff:g>።"</string>
-    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"ያልተሳካ ወደ <xliff:g id="GROUP">%s</xliff:g> የሚሄድ መልዕክት፦ <xliff:g id="MESSAGE">%s</xliff:g>። ሰዓት፦ <xliff:g id="TIME">%s</xliff:g>።"</string>
-    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"ወደ <xliff:g id="GROUP">%s</xliff:g> የሚሄድ መልዕክት፦ <xliff:g id="MESSAGE">%s</xliff:g>። ሰዓት፦ <xliff:g id="TIME">%s</xliff:g>።"</string>
+    <string name="incoming_message_announcement" msgid="6369259405539452011">"መልእክት ከ <xliff:g id="SENDER">%1$s</xliff:g>፦ <xliff:g id="MESSAGE">%2$s</xliff:g>።"</string>
+    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"ያልተሳካ መልዕክት ከ<xliff:g id="SENDER">%1$s</xliff:g>፦ <xliff:g id="MESSAGE">%2$s</xliff:g>። ሰዓት፦ <xliff:g id="TIME">%3$s</xliff:g>።"</string>
+    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"ከ<xliff:g id="SENDER">%1$s</xliff:g> የመጣ መልዕክት፦ <xliff:g id="MESSAGE">%2$s</xliff:g>። ሰዓት፦ <xliff:g id="TIME">%3$s</xliff:g>።"</string>
+    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"ወደ <xliff:g id="CONTACT">%1$s</xliff:g> የሚሄድ ያልተላከ መልዕክት፦ <xliff:g id="MESSAGE">%2$s</xliff:g>። ሰዓት፦ <xliff:g id="TIME">%3$s</xliff:g>።"</string>
+    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"መልዕክት ወደ <xliff:g id="CONTACT">%1$s</xliff:g> በመላክ ላይ፦ <xliff:g id="MESSAGE">%2$s</xliff:g>። ሰዓት፦ <xliff:g id="TIME">%3$s</xliff:g>።"</string>
+    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"ያልተሳካ ወደ <xliff:g id="CONTACT">%1$s</xliff:g> የሚሄድ መልዕክት፦ <xliff:g id="MESSAGE">%2$s</xliff:g>። ሰዓት፦ <xliff:g id="TIME">%3$s</xliff:g>።"</string>
+    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"ወደ <xliff:g id="CONTACT">%1$s</xliff:g> የሚሄድ መልዕክት፦ <xliff:g id="MESSAGE">%2$s</xliff:g>። ሰዓት፦ <xliff:g id="TIME">%3$s</xliff:g>።"</string>
+    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"ያልተሳካ መልዕክት ከ<xliff:g id="SENDER">%1$s</xliff:g>፦ <xliff:g id="MESSAGE">%2$s</xliff:g>። ሰዓት፦ <xliff:g id="TIME">%3$s</xliff:g>። <xliff:g id="GROUPINFO">%3$s</xliff:g>።"</string>
+    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"መልዕክት ከ<xliff:g id="SENDER">%1$s</xliff:g>፦ <xliff:g id="MESSAGE">%2$s</xliff:g>። ሰዓት፦ <xliff:g id="TIME">%3$s</xliff:g>። <xliff:g id="GROUPINFO">%3$s</xliff:g>።"</string>
+    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"ወደ <xliff:g id="GROUP">%1$s</xliff:g> የሚሄድ ያልተላከ መልዕክት፦ <xliff:g id="MESSAGE">%2$s</xliff:g>። ሰዓት፦ <xliff:g id="TIME">%3$s</xliff:g>።"</string>
+    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"መልዕክት ወደ <xliff:g id="GROUP">%1$s</xliff:g> በመላክ ላይ፦ <xliff:g id="MESSAGE">%2$s</xliff:g>። ሰዓት፦ <xliff:g id="TIME">%3$s</xliff:g>።"</string>
+    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"ያልተሳካ ወደ <xliff:g id="GROUP">%1$s</xliff:g> የሚሄድ መልዕክት፦ <xliff:g id="MESSAGE">%2$s</xliff:g>። ሰዓት፦ <xliff:g id="TIME">%3$s</xliff:g>።"</string>
+    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"ወደ <xliff:g id="GROUP">%1$s</xliff:g> የሚሄድ መልዕክት፦ <xliff:g id="MESSAGE">%2$s</xliff:g>። ሰዓት፦ <xliff:g id="TIME">%3$s</xliff:g>።"</string>
     <string name="failed_message_content_description" msgid="7047161648867054936">"ያልተሳካ መልዕክት። ዳግም ለመሞከር ይንኩ።"</string>
     <string name="group_conversation_description" msgid="2339270924401184182">"ከ<xliff:g id="PARTICIPANTS">%s</xliff:g> ጋር ውይይት"</string>
     <string name="delete_subject_content_description" msgid="8910749398836396698">"ርዕሰ ጉዳይ ሰርዝ"</string>
@@ -258,7 +258,7 @@
     <string name="mms_messaging_category_pref_title" msgid="4816815152658525660">"ኤምኤምኤስ"</string>
     <string name="advanced_category_pref_title" msgid="6411454224069259687">"የላቀ"</string>
     <string name="debug_category_pref_title" msgid="8765138968242505061">"አርም"</string>
-    <string name="notifications_enabled_pref_title" msgid="4127288731844373795">"ማሳወቂያዎች"</string>
+    <string name="notifications_pref_title" msgid="4127288731844373795">"ማሳወቂያዎች"</string>
     <string name="notification_sound_pref_title" msgid="3685506528957337849">"ድምፅ"</string>
     <string name="silent_ringtone" msgid="8073534180322059814">"ፀጥታ"</string>
     <string name="notification_vibrate_pref_title" msgid="6668564570045187390">"ንዘር"</string>
@@ -359,7 +359,7 @@
     <string name="add_contact_confirmation" msgid="1479380805406328264">"እውቅያ ያክሉ"</string>
     <string name="compose_message_view_subject_hint_text" msgid="6076616675845705660">"ርዕሰ ጉዳይ"</string>
     <string name="conversation_message_view_subject_text" msgid="5634274498769555505">"ርዕሰ ጉዳይ፦ "</string>
-    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%s</xliff:g><xliff:g id="MESSAGETEXT">%s</xliff:g>"</string>
+    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%1$s</xliff:g><xliff:g id="MESSAGETEXT">%2$s</xliff:g>"</string>
     <string name="loading_vcard" msgid="3961520941271265083">"የእውቂያ ካርድ በመጫን ላይ"</string>
     <string name="failed_loading_vcard" msgid="7711070643740368402">"የእውቂያ ካርድን መጫን አልተቻለም"</string>
     <string name="vcard_tap_hint" msgid="4940284329175200952">"የእውቂያ ካርድ ይመልከቱ"</string>
diff --git a/res/values-ar/cm_strings.xml b/res/values-ar/cm_strings.xml
new file mode 100644
index 0000000..651c896
--- /dev/null
+++ b/res/values-ar/cm_strings.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="swipe_to_delete_conversation_pref_title">تمرير لإجراء حذف</string>
+    <string name="swipe_to_delete_conversation_pref_summary">تمرير إلى اليمين لحذف محادثة</string>
+    <string name="show_emoticons_pref_title">الوصول إلى التعبيرات</string>
+    <string name="show_emoticons_pref_summary">إظهار مفتاح التعبيرات على لوحة المفاتيح</string>
+    <string name="notification_mark_as_read">تاشير كمقروء</string>
+    <string name="notification_channel_messages_title">الرسائل</string>
+</resources>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index 8a58c4d..77bf636 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -250,19 +250,19 @@
     <string name="audio_attachment_content_description" msgid="499334244765270108">"مرفق صوتي"</string>
     <string name="audio_play_content_description" msgid="4932509227281251607">"تشغيل المرفق الصوتي"</string>
     <string name="audio_pause_content_description" msgid="7578169887065513701">"إيقاف مؤقت"</string>
-    <string name="incoming_message_announcement" msgid="6369259405539452011">"رسالة من <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"رسالة تعذر إرسالها من <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. الوقت: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"رسالة من <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. الوقت: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"رسالة لم يتم إرسالها إلى <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. الوقت: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"جارٍ إرسال رسالة إلى <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. الوقت: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"رسالة تعذر إرسالها إلى <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. الوقت: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"رسالة إلى <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. الوقت: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"رسالة تعذر إرسالها من <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. الوقت: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"رسالة من <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. الوقت: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"رسالة لم يتم إرسالها إلى <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. الوقت: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"جارٍ إرسال رسالة إلى <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. الوقت: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"رسالة تعذر إرسالها إلى <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. الوقت: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"رسالة إلى <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. الوقت: <xliff:g id="TIME">%s</xliff:g>."</string>
+    <string name="incoming_message_announcement" msgid="6369259405539452011">"رسالة من <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"رسالة تعذر إرسالها من <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. الوقت: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"رسالة من <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. الوقت: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"رسالة لم يتم إرسالها إلى <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. الوقت: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"جارٍ إرسال رسالة إلى <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. الوقت: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"رسالة تعذر إرسالها إلى <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. الوقت: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"رسالة إلى <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. الوقت: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"رسالة تعذر إرسالها من <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. الوقت: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"رسالة من <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. الوقت: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"رسالة لم يتم إرسالها إلى <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. الوقت: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"جارٍ إرسال رسالة إلى <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. الوقت: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"رسالة تعذر إرسالها إلى <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. الوقت: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"رسالة إلى <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. الوقت: <xliff:g id="TIME">%3$s</xliff:g>."</string>
     <string name="failed_message_content_description" msgid="7047161648867054936">"رسالة تعذر إرسالها. المس لإعادة المحاولة."</string>
     <string name="group_conversation_description" msgid="2339270924401184182">"محادثة مع <xliff:g id="PARTICIPANTS">%s</xliff:g>"</string>
     <string name="delete_subject_content_description" msgid="8910749398836396698">"حذف الموضوع"</string>
@@ -330,7 +330,7 @@
     <string name="mms_messaging_category_pref_title" msgid="4816815152658525660">"رسالة وسائط متعددة"</string>
     <string name="advanced_category_pref_title" msgid="6411454224069259687">"إعدادات متقدمة"</string>
     <string name="debug_category_pref_title" msgid="8765138968242505061">"تصحيح الأخطاء"</string>
-    <string name="notifications_enabled_pref_title" msgid="4127288731844373795">"الإشعارات"</string>
+    <string name="notifications_pref_title" msgid="4127288731844373795">"الإشعارات"</string>
     <string name="notification_sound_pref_title" msgid="3685506528957337849">"الصوت"</string>
     <string name="silent_ringtone" msgid="8073534180322059814">"صامت"</string>
     <string name="notification_vibrate_pref_title" msgid="6668564570045187390">"اهتزاز"</string>
@@ -455,7 +455,7 @@
     <string name="add_contact_confirmation" msgid="1479380805406328264">"إضافة جهة اتصال"</string>
     <string name="compose_message_view_subject_hint_text" msgid="6076616675845705660">"الموضوع"</string>
     <string name="conversation_message_view_subject_text" msgid="5634274498769555505">"الموضوع: "</string>
-    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%s</xliff:g><xliff:g id="MESSAGETEXT">%s</xliff:g>"</string>
+    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%1$s</xliff:g><xliff:g id="MESSAGETEXT">%2$s</xliff:g>"</string>
     <string name="loading_vcard" msgid="3961520941271265083">"جارٍ تحميل بطاقة جهة الاتصال"</string>
     <string name="failed_loading_vcard" msgid="7711070643740368402">"تعذر تحميل بطاقة جهة الاتصال"</string>
     <string name="vcard_tap_hint" msgid="4940284329175200952">"عرض بطاقة جهة الاتصال"</string>
diff --git a/res/values-as/cm_strings.xml b/res/values-as/cm_strings.xml
new file mode 100644
index 0000000..2708375
--- /dev/null
+++ b/res/values-as/cm_strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="swipe_to_delete_conversation_pref_title">মচি পেলাবলৈ স্ৱাইপ কৰক</string>
+    <string name="swipe_to_delete_conversation_pref_summary">কথোপকথন মচিবলৈ সোঁ ফাললৈ স্ৱাইপ কৰক</string>
+    <string name="show_emoticons_pref_title">ইমটিকনৰ অনুমতি</string>
+    <string name="show_emoticons_pref_summary">ইমটিকনৰ কীটো কীবৰ্ডত দেখাওক</string>
+</resources>
diff --git a/res/values-ast-rES/arrays.xml b/res/values-ast-rES/arrays.xml
new file mode 100644
index 0000000..d70195b
--- /dev/null
+++ b/res/values-ast-rES/arrays.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string-array name="empty_subject_strings">
+        <item>ensin asuntu</item>
+        <item>Ensin asuntu</item>
+    </string-array>
+    <string-array name="notification_reply_choices">
+        <item>Sí</item>
+        <item>Non</item>
+        <item>ACEUTAR</item>
+        <item>Ḥeḥe</item>
+        <item>Gracies</item>
+        <item>Toi acordies</item>
+        <item>Bien</item>
+        <item>Al mio xeitu</item>
+        <item>Val, déxame contestate más sero</item>
+        <item>:)</item>
+        <item>:(</item>
+    </string-array>
+</resources>
diff --git a/res/values-ast-rES/cm_strings.xml b/res/values-ast-rES/cm_strings.xml
new file mode 100644
index 0000000..3645f5c
--- /dev/null
+++ b/res/values-ast-rES/cm_strings.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="swipe_to_delete_conversation_pref_title">Eslizar pa desaniciar</string>
+    <string name="swipe_to_delete_conversation_pref_summary">Esliza a la drecha pa desaniciar una conversación</string>
+    <string name="show_emoticons_pref_title">Accesu a fustaxes</string>
+    <string name="show_emoticons_pref_summary">Amuesa la tecla de fustaxes nel tecláu</string>
+    <string name="notification_mark_as_read">Marcar como lleíu</string>
+    <string name="notification_channel_messages_title">Mensaxes</string>
+</resources>
diff --git a/res/values-ast-rES/strings.xml b/res/values-ast-rES/strings.xml
new file mode 100644
index 0000000..e4b4e5a
--- /dev/null
+++ b/res/values-ast-rES/strings.xml
@@ -0,0 +1,496 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name">Mensaxes</string>
+    <string name="share_intent_label">Mensaxes</string>
+    <string name="share_intent_activity_label">Esbillar la conversación</string>
+    <string name="action_settings">Axustes</string>
+    <string name="sendButtonContentDescription">Unvia\'l mensaxe</string>
+    <string name="attachMediaButtonContentDescription">Amiesta un axuntu</string>
+    <string name="help_and_feedback_activity_label">Ayuda</string>
+    <string name="welcome">Afáyate</string>
+    <string name="skip">Saltar</string>
+    <string name="next_with_arrow">Siguiente &gt;</string>
+    <string name="next">Siguiente</string>
+    <string name="exit">Colar</string>
+    <string name="settings_with_arrow">Axustes &gt;</string>
+    <string name="settings">Axustes</string>
+    <string name="required_permissions_promo">Mensaxes precisa\'l permisu de SMS, Teléfonu y Contautos.</string>
+    <string name="enable_permission_procedure">Pues camudar los permisos n\'Axustes &gt; Aplicaciones &gt; Mensaxería &gt; Permisos.</string>
+    <string name="enable_permission_procedure_description">Pues camudar los permisos n\'Axustes, Aplicaciones, Mensaxería, Permisos.</string>
+    <string name="contact_picker_frequents_tab_title">Frecuentes</string>
+    <string name="contact_picker_all_contacts_tab_title">Tolos contautos</string>
+    <string name="contact_list_send_to_text">Unviar a <xliff:g id="destination">%s</xliff:g></string>
+    <string name="mediapicker_cameraChooserDescription">Capturar imáxenes o videu</string>
+    <string name="mediapicker_galleryChooserDescription">Esbillar imáxenes d\'esti preséu</string>
+    <string name="mediapicker_audioChooserDescription">Grabar audio</string>
+    <string name="mediapicker_gallery_item_selected_content_description">Esbillóse\'l mediu.</string>
+    <string name="mediapicker_gallery_item_unselected_content_description">Nun s\'esbilló\'l mediu.</string>
+    <string name="mediapicker_gallery_title_selection">Esbilláu: <xliff:g id="count">%d</xliff:g></string>
+    <string name="mediapicker_gallery_image_item_description">imaxe <xliff:g id="date">%1$tB %1$te %1$tY %1$tl %1$tM %1$tp</xliff:g></string>
+    <string name="mediapicker_gallery_image_item_description_no_date">imaxe</string>
+    <string name="mediapicker_audio_title">Grabar audio</string>
+    <string name="action_share">Compartir</string>
+    <string name="posted_just_now">"Xusto agora"</string>
+    <string name="posted_now">"Agora"</string>
+    <plurals name="num_minutes_ago">
+        <item quantity="one"><xliff:g id="count">%d</xliff:g> min</item>
+        <item quantity="other"><xliff:g id="count">%d</xliff:g> mins</item>
+    </plurals>
+    <plurals name="num_hours_ago">
+        <item quantity="one"><xliff:g id="count">%d</xliff:g> hora</item>
+        <item quantity="other"><xliff:g id="count">%d</xliff:g> hores</item>
+    </plurals>
+    <plurals name="num_days_ago">
+        <item quantity="one"><xliff:g id="count">%d</xliff:g> día</item>
+        <item quantity="other"><xliff:g id="count">%d</xliff:g> díes</item>
+    </plurals>
+    <plurals name="week_count">
+        <item quantity="one">una selmana</item>
+        <item quantity="other"><xliff:g id="count">%d</xliff:g> selmanes</item>
+    </plurals>
+    <plurals name="month_count">
+        <item quantity="one">un mes</item>
+        <item quantity="other"><xliff:g id="count">%d</xliff:g> meses</item>
+    </plurals>
+    <plurals name="year_count">
+        <item quantity="one">un añu</item>
+        <item quantity="other"><xliff:g id="count">%d</xliff:g> años</item>
+    </plurals>
+    <string name="class_0_message_activity">Mensaxe clas 0</string>
+    <string name="save">Guardar</string>
+    <string name="sms_storage_low_auto_delete_enabled_dialog_text">El preséu tien pocu espaciu d\'almacenamientu. El Centru de Mensaxes va desaniciar automáticamente los mensaxes vieyos pa lliberar espaciu.</string>
+    <string name="sms_storage_low_title">Ta escosando l\'almacenamientu</string>
+    <string name="sms_storage_low_text">Ye dable que\'l Centru de Mensaxes nun unvie nin reciba mensaxes hasta que se llibere más espaciu nel preséu.</string>
+    <string name="sms_storage_low_notification_ticker">Pocu espaciu pa SMS. Seique tengas que desaniciar mensaxes.</string>
+    <string name="enter_phone_number_title">Confirmar númberu de teléfonu</string>
+    <string name="enter_phone_number_text">Esti pasu, que faise namái una vegada, va asegurar que\'l Centru de Mensaxes unvie los mensaxes grupales de mou correutu.</string>
+    <string name="enter_phone_number_hint">Númberu telefónicu</string>
+    <string name="delete_all_media">Desaniciar tolos mensaxes con conteníu multimedia</string>
+    <string name="delete_oldest_messages">Desaniciar mensaxes de más de <xliff:g id="duration">%s</xliff:g></string>
+    <string name="auto_delete_oldest_messages">Desaniciar automáticamente mensaxes de más de <xliff:g id="duration">%s</xliff:g></string>
+    <string name="ignore">Inorar</string>
+    <string name="delete_all_media_confirmation">¿Desaniciar tolos mensaxes multimedia?</string>
+    <string name="delete_oldest_messages_confirmation">¿Desaniciar mensaxes de más de <xliff:g id="duration">%s</xliff:g>?</string>
+    <string name="auto_delete_oldest_messages_confirmation">¿Desaniciar mensaxes de más de <xliff:g id="duration">%s</xliff:g> y activar desaniciu automáticu?</string>
+    <string name="incoming_text_sender_content_description"><xliff:g id="sender">%s</xliff:g> dixo</string>
+    <string name="outgoing_text_sender_content_description">Dixesti</string>
+    <string name="incoming_sender_content_description">Mensaxe de <xliff:g id="sender">%s</xliff:g></string>
+    <string name="outgoing_sender_content_description">Unviesti un mensaxe</string>
+    <string name="message_status_send_failed">Nun s\'unvió. Toca pa tentalo de nueves.</string>
+    <string name="message_status_resend">Reunviar o desaniciar</string>
+    <string name="message_status_send_failed_emergency_number">Por favor, fai una llamada de voz a los servicios d\'emerxencia. Nun pudo unviase\'l mensaxe de testu esta vegada.</string>
+    <string name="message_status_failed">Fallu</string>
+    <string name="message_title_manual_download">Mensaxe MMS nuevu pa baxar</string>
+    <string name="message_title_downloading">Mensaxe nuevu MMS</string>
+    <string name="message_title_download_failed">Nun pudo descargase</string>
+    <string name="message_status_download_failed">Calca pa tentalo de nueves</string>
+    <string name="message_status_download">Calca pa baxar</string>
+    <string name="message_status_download_action">Descargar o desaniciar</string>
+    <string name="message_status_download_error">El mensaxe venció o nun ta disponible</string>
+    <string name="mms_info">tamañu: <xliff:g id="Messagesize">%1$s</xliff:g>; vencimientu: <xliff:g id="Messageexpire">%2$s</xliff:g></string>
+    <string name="invalid_destination">Nun pue unviase porque\'l destinatariu nun ye válidu.</string>
+    <string name="service_not_activated">Nun s\'activó\'l serviciu na rede</string>
+    <string name="service_network_problem">Nun pudo unviase pola mor d\'un problea de rede</string>
+    <string name="service_message_not_found">El mensaxe caducó o nun ta disponible</string>
+    <string name="no_subject">(Nun hai asuntu)</string>
+    <string name="unknown_sender">Remitente desconocíu</string>
+    <string name="delivered_status_content_description">Entregóse</string>
+    <string name="dl_failure_notification">Nun pudo baxase\'l mensaxe <xliff:g id="subject">%1$s</xliff:g> de <xliff:g id="from">%2$s</xliff:g>.</string>
+    <string name="low_memory">Nun pudo completase la operación de la base de datos pola mor de memoria baxa</string>
+    <string name="notification_send_failures_line1_singular">Nun s\'unvió\'l mensaxe</string>
+    <string name="notification_send_failures_line1_plural">Nun s\'unviaron dellos mensaxes en Mensaxería</string>
+    <plurals name="notification_send_failures">
+        <item quantity="one"><xliff:g id="messages">%d</xliff:g> mensaxes nuna conversación</item>
+        <item quantity="other"><xliff:g id="messages">%d</xliff:g> mensaxes en <xliff:g id="conversations">%d</xliff:g> conversaciones</item>
+    </plurals>
+    <string name="notification_download_failures_line1_singular">Nun se baxo\'l mensaxe</string>
+    <string name="notification_download_failures_line1_plural">Nun se baxaron dellos mensaxes en Mensaxería</string>
+    <plurals name="notification_download_failures">
+        <item quantity="one"><xliff:g id="messages">%d</xliff:g> mensaxes nuna conversación</item>
+        <item quantity="other"><xliff:g id="messages">%d</xliff:g> mensaxes en <xliff:g id="conversations">%d</xliff:g> conversaciones</item>
+    </plurals>
+    <string name="notification_emergency_send_failure_line1">Nun s\'unvió\'l mensaxe a <xliff:g id="number">%1$s</xliff:g></string>
+    <string name="notification_emergency_send_failure_line2">        Llama a los servicios d\'emerxencia, por favor. Nesti momentu nun
+        pudo entregase\'l mensaxe a <xliff:g id="number">%1$s</xliff:g>.
+    </string>
+    <plurals name="notification_new_messages">
+        <item quantity="one">Mensaxe nuevu</item>
+        <item quantity="other"><xliff:g id="messages">%d</xliff:g> mensaxes nuevos</item>
+    </plurals>
+    <string name="start_conversation">Aniciar</string>
+    <string name="camera_error_opening">Cámara non disponible</string>
+    <string name="camera_error_unknown">Cámara non disponible</string>
+    <string name="camera_error_video_init_fail">Captura de videu non disponible</string>
+    <string name="camera_error_storage_fail">Nun pue guardase\'l conteníu multimedia</string>
+    <string name="camera_error_failure_taking_picture">Nun puen facese semeyes</string>
+    <string name="back">Atrás</string>
+    <string name="action_menu_show_archived">Archivóse</string>
+    <string name="action_delete">Desaniciar</string>
+    <string name="action_archive">Archivu</string>
+    <string name="action_unarchive">Desaniciar del archivu</string>
+    <string name="action_add_contact">Amestar contautu</string>
+    <string name="action_download">Baxar</string>
+    <string name="action_send">Unviar</string>
+    <string name="action_delete_message">Desaniciar</string>
+    <string name="delete_message_confirmation_dialog_title">¿Desaniciar esti mensaxe?</string>
+    <string name="delete_message_confirmation_dialog_text">Esta operación nun pue desfacese.</string>
+    <string name="delete_message_confirmation_button">Desaniciar</string>
+    <plurals name="delete_conversations_confirmation_dialog_title">
+        <item quantity="one">¿Desaniciar esta conversación?</item>
+        <item quantity="other">¿Desaniciar estes conversaciones?</item>
+    </plurals>
+    <string name="delete_conversation_confirmation_button">Desaniciar</string>
+    <string name="delete_conversation_decline_button">Encaboxar</string>
+    <string name="recipient_hint">Pa</string>
+    <string name="action_multiselect">Esbillar delles imáxenes</string>
+    <string name="action_confirm_multiselect">Confirmar esbilla</string>
+    <string name="attachment_more_items">+<xliff:g id="count">%d</xliff:g></string>
+    <string name="audio_recording_start_failed">Nun pue grabase audiu. Vuelvi tentalo.</string>
+    <string name="audio_recording_replay_failed">Nun pue reproducise audiu. Vuelvi tentalo.</string>
+    <string name="audio_recording_error"> Nun pudo guardase l\'audiu. Volvi tentalo.</string>
+    <string name="audio_picker_hint_text">Tener &amp; primío</string>
+    <string name="enumeration_comma">,\u0020</string>
+    <string name="notification_separator">\u0020\u0020</string>
+    <string name="notification_ticker_separator">:\u0020</string>
+    <string name="notification_space_separator">\u0020\u0020</string>
+    <string name="notification_picture">Imaxe</string>
+    <string name="notification_audio">Clip d\'audiu</string>
+    <string name="notification_video">Videu</string>
+    <string name="notification_vcard">Tarxeta de contautu</string>
+    <string name="notification_download_mms">Descargar</string>
+    <string name="notification_reply_via_sms">Responder per SMS</string>
+    <string name="notification_reply_via_mms">Responder per MMS</string>
+    <string name="notification_reply_prompt">Responder</string>
+    <plurals name="wearable_participant_count">
+        <item quantity="one"><xliff:g id="count">%d</xliff:g> participante</item>
+        <item quantity="other"><xliff:g id="count">%d</xliff:g> participantes</item>
+    </plurals>
+    <string name="unknown_self_participant">Yo</string>
+    <string name="blocked_toast_message">Contautu bloquiáu y archiváu</string>
+    <string name="unblocked_toast_message">Contautu desbloquiáu y ensin archivar</string>
+    <string name="archived_toast_message"><xliff:g id="count">%d</xliff:g> archivaes</string>
+    <string name="unarchived_toast_message"><xliff:g id="count">%d</xliff:g> non archivaes</string>
+    <string name="notification_off_toast_message">Desactiváronse los avisos</string>
+    <string name="notification_on_toast_message">Activáronse los avisos</string>
+    <string name="toast_after_setting_default_sms_app_for_message_send">Too afitao. Calca de nueves Unviar.</string>
+    <string name="toast_after_setting_default_sms_app">La mensaxería afitóse correcho como l\'app de SMS predeterminada.</string>
+    <plurals name="attachment_preview_close_content_description">
+        <item quantity="one">Desaniciar axuntu</item>
+        <item quantity="other">Desaniciar axuntu</item>
+    </plurals>
+    <string name="audio_attachment_content_description">Axuntu d\'audiu</string>
+    <string name="audio_play_content_description">Reproducir axuntu d\'audio</string>
+    <string name="audio_pause_content_description">Pausa</string>
+    <string name="failed_message_content_description">Fallu al unviar el mensaxe. Calca pa retentar.</string>
+    <string name="group_conversation_description">Conversación con <xliff:g id="participants">%s</xliff:g></string>
+    <string name="delete_subject_content_description">Desaniciar asuntu</string>
+    <string name="camera_switch_to_video_mode">Capturar videu</string>
+    <string name="camera_switch_to_still_mode">Capturar una imaxe fixa</string>
+    <string name="camera_take_picture">Facer semeya</string>
+    <string name="camera_start_recording">Entamar a grabar</string>
+    <string name="camera_switch_full_screen">Cambia a la cámara a pantalla completa</string>
+    <string name="camera_switch_camera_facing">Cambiar entre cámara frontal y trasera</string>
+    <string name="camera_stop_recording">Parar la grabación y unviar el videu</string>
+    <string name="camera_cancel_recording">Parar la grabación del videu</string>
+    <string name="photo_view_activity_title">Unviando semeyes</string>
+    <plurals name="photos_saved_to_album">
+        <item quantity="one"><xliff:g id="quantity">%d</xliff:g> semeya guardada en \"<xliff:g id="albumName">%s</xliff:g>\" album</item>
+        <item quantity="other"><xliff:g id="quantity">%d</xliff:g> semeya guardada en \"<xliff:g id="albumName">%s</xliff:g>\" album</item>
+    </plurals>
+    <plurals name="videos_saved_to_album">
+        <item quantity="one"><xliff:g id="quantity">%d</xliff:g> videu guardáu en \"<xliff:g id="albumName">%s</xliff:g>\" album</item>
+        <item quantity="other"><xliff:g id="quantity">%d</xliff:g> videu guardáu en \"<xliff:g id="albumName">%s</xliff:g>\" album</item>
+    </plurals>
+    <plurals name="attachments_saved_to_album">
+        <item quantity="one"><xliff:g id="quantity">%d</xliff:g> axuntu guardáu en \"<xliff:g id="albumName">%s</xliff:g>\" album</item>
+        <item quantity="other"><xliff:g id="quantity">%d</xliff:g> axuntu guardáu en \"<xliff:g id="albumName">%s</xliff:g>\" album</item>
+    </plurals>
+    <plurals name="attachments_saved_to_downloads">
+        <item quantity="one"><xliff:g id="quantity">%d</xliff:g> axuntu guardáu en \"Descargues\"</item>
+        <item quantity="other"><xliff:g id="quantity">%d</xliff:g> axuntu guardáu en \"Descargues\"</item>
+    </plurals>
+    <plurals name="attachments_saved">
+        <item quantity="one"><xliff:g id="quantity">%d</xliff:g> axuntu guardáu</item>
+        <item quantity="other"><xliff:g id="quantity">%d</xliff:g> axuntu guardáu</item>
+    </plurals>
+    <plurals name="attachment_save_error">
+        <item quantity="one">Nun pudo guardase <xliff:g id="quantity">%d</xliff:g> axuntu</item>
+        <item quantity="other">Nun pudieron guardase <xliff:g id="quantity">%d</xliff:g> axuntos</item>
+    </plurals>
+    <string name="attachment_file_description">Guardáu MMS axuntu</string>
+    <string name="settings_activity_title">Axustes</string>
+    <string name="archived_activity_title">Archivada</string>
+    <string name="action_close">Zarrar</string>
+    <string name="mms_messaging_category_pref_title">MMS</string>
+    <string name="advanced_category_pref_title">Avanzao</string>
+    <string name="debug_category_pref_title">Depurar</string>
+    <string name="notifications_pref_title">Avisos</string>
+    <string name="silent_ringtone">Silenciu</string>
+    <string name="blocked_pref_title">Bloquiáu</string>
+    <string name="delivery_reports_pref_title">Informes d\'entrega de SMS</string>
+    <string name="delivery_reports_pref_summary">Solicitar un informe d\'entrega al unviar un SMS</string>
+    <string name="auto_retrieve_mms_pref_title">Recuperación automática</string>
+    <string name="auto_retrieve_mms_pref_summary">Recuperar mensaxes MMS automáticamente</string>
+    <string name="auto_retrieve_mms_when_roaming_pref_title">Recuperación automática en roaming</string>
+    <string name="auto_retrieve_mms_when_roaming_pref_summary">Recuperar MMS automáticamente en roaming</string>
+    <string name="group_mms_pref_title">Mensaxes grupales</string>
+    <string name="group_mms_pref_summary">Usa MMS pa unviar un mesmu mensaxe a dellos destinatarios</string>
+    <string name="sms_disabled_pref_title">App de SMS predeterminada</string>
+    <string name="sms_enabled_pref_title">App de SMS predeterminada</string>
+    <string name="default_sms_app"><xliff:g id="app_name">%s</xliff:g></string>
+    <string name="mms_phone_number_pref_title">El to númberu de teléfonu</string>
+    <string name="unknown_phone_number_pref_display_value">Desconocíu</string>
+    <string name="send_sound_pref_title">Soníos de mensaxe saliente</string>
+    <string name="dump_sms_pref_title">Volcar SMS</string>
+    <string name="dump_sms_pref_summary">Volcar datos ensin procesar de SMS nel ficheru d\'almacenamientu esternu</string>
+    <string name="dump_mms_pref_title">Volcar MMS</string>
+    <string name="dump_mms_pref_summary">Volcar datos ensin procesar de MMS recibíos nun ficheru d\'almacenamientu esternu</string>
+    <string name="wireless_alerts_title">Alertes inalámbriques</string>
+    <string name="message_context_menu_title">Opciones de mensaxe</string>
+    <string name="message_context_menu_copy_text">Copiar el testu</string>
+    <string name="message_context_menu_view_details">Ver detalles</string>
+    <string name="message_context_menu_delete_message">Desaniciar</string>
+    <string name="message_context_menu_forward_message">Reunviar</string>
+    <string name="message_details_title">Detalles del mensaxe</string>
+    <string name="message_type_label">Tipu:\u0020</string>
+    <string name="text_message">Mensaxe de testu</string>
+    <string name="multimedia_message">Mensaxe multimedia</string>
+    <string name="from_label">De:\u0020</string>
+    <string name="to_address_label">Pa:\u0020</string>
+    <string name="sent_label">Unviáu:\u0020</string>
+    <string name="received_label">Recibíu:\u0020</string>
+    <string name="subject_label">Asuntu:\u0020</string>
+    <string name="message_size_label">Tamañu:\u0020</string>
+    <string name="priority_label">Prioridá:\u0020</string>
+    <string name="sim_label">SIM:\u0020</string>
+    <string name="priority_high">Alta</string>
+    <string name="priority_normal">Normal</string>
+    <string name="priority_low">Baxa</string>
+    <string name="sim_slot_identifier">SIM <xliff:g id="sim_slot_number">%s</xliff:g></string>
+    <string name="hidden_sender_address">Direición de remitente tapecida</string>
+    <string name="cant_send_message_while_loading_attachments">Nun pue unviase\'l mensaxe entrín se cargaben los axuntos.</string>
+    <string name="fail_to_load_attachment">Nun pue cargase l\'axuntu. Vuelvi intentalo.</string>
+    <string name="cant_send_message_without_active_subscription">La rede nun ta llista. Vuelvi intentalo.</string>
+    <string name="chips_text_delete_button_content_description">Desaniciar testu</string>
+    <string name="numeric_text_keyboard_toggle_button_content_description">Camudar ente ingresar testu y númberos</string>
+    <string name="add_more_participants_button_content_description">Amestar más participantes</string>
+    <string name="confrim_participants_button_content_description">Confirmar participantes</string>
+    <string name="start_new_conversation">Entamar una conversación nueva</string>
+    <string name="gallery_checkbox_content_description">Escoyer esti elementu</string>
+    <string name="video_thumbnail_view_play_button_content_description">Ver un videu</string>
+    <string name="action_people_and_options">Xente y opciones</string>
+    <string name="action_debug_options">Depurar</string>
+    <string name="people_and_options_activity_title">Xente y opciones</string>
+    <string name="general_settings_title">Xeneral</string>
+    <string name="participant_list_title">Xente nesta conversación</string>
+    <string name="action_call">Facer una llamada</string>
+    <string name="compose_message_view_hint_text">Unviar mensaxe</string>
+    <string name="compose_message_view_hint_text_multi_sim">Manar mensaxe &lt;br/&gt;&lt;small&gt;oddi wrth<xliff:g id="sim_name">%s</xliff:g>&lt;/small&gt;</string>
+    <plurals name="compose_message_view_hint_text_photo">
+        <item quantity="one">Unviar semeya</item>
+        <item quantity="other">Unviar semeyes</item>
+    </plurals>
+    <plurals name="compose_message_view_hint_text_audio">
+        <item quantity="one">Unviar audiu</item>
+        <item quantity="other">Unviar audios</item>
+    </plurals>
+    <plurals name="compose_message_view_hint_text_video">
+        <item quantity="one">Unviar videu</item>
+        <item quantity="other">Unviar vídeos</item>
+    </plurals>
+    <plurals name="compose_message_view_hint_text_vcard">
+        <item quantity="one">Unviar tarxeta de contautu</item>
+        <item quantity="other">Unviar tarxeta de contautu</item>
+    </plurals>
+    <plurals name="compose_message_view_hint_text_attachments">
+        <item quantity="one">Unviar axuntu</item>
+        <item quantity="other">Unviar axuntu</item>
+    </plurals>
+    <plurals name="attachment_changed_accessibility_announcement">
+        <item quantity="one">Un axuntu preparáu pa unviar</item>
+        <item quantity="other">Un axuntu preparáu pa unviar</item>
+    </plurals>
+    <string name="menu_send_feedback">Unviar feedback</string>
+    <string name="menu_view_in_store">Ver na Google Play Store</string>
+    <string name="menu_version_info">Información de versión</string>
+    <string name="subtitle_format_for_version_number">Versión %1$s</string>
+    <string name="menu_license">Llicencies de códigu abiertu</string>
+    <string name="notifications_enabled_conversation_pref_title">Avisos</string>
+    <string name="mms_attachment_limit_reached">Algamóse la llende d\'axuntos</string>
+    <string name="mms_attachment_load_failed">Fallu al cargar l\'axuntu.</string>
+    <string name="add_contact_confirmation_dialog_title">¿Amestar a Contautos?</string>
+    <string name="add_contact_confirmation">Amestar contautu</string>
+    <string name="compose_message_view_subject_hint_text">Asuntu</string>
+    <string name="conversation_message_view_subject_text">Asuntu:\u0020</string>
+    <string name="loading_vcard">Cargando tarxeta de contautu</string>
+    <string name="failed_loading_vcard">Nun pudo cargase la tarxeta\'l contautu</string>
+    <string name="vcard_tap_hint">Ver tarxeta de contautu</string>
+    <plurals name="vcard_multiple_display_name">
+        <item quantity="one"><xliff:g id="count">%d</xliff:g> contautu</item>
+        <item quantity="other"><xliff:g id="count">%d</xliff:g> contautos</item>
+    </plurals>
+    <string name="vcard_detail_activity_title">Tarxetes de contautos</string>
+    <string name="vcard_detail_birthday_label">Aniversariu</string>
+    <string name="vcard_detail_notes_label">Notes</string>
+    <string name="forward_message_activity_title">Reunviar mensaxe</string>
+    <string name="reply_activity_title">Responder</string>
+    <string name="plus_one">+1</string>
+    <string name="plus_n">+%d</string>
+    <string name="sms_disabled">SMS inhabilitaos</string>
+    <string name="requires_default_sms_app_to_send">Pa unviar mensaxes, afita Mensaxes como l\'aplicación SMS por defeutu</string>
+    <string name="requires_default_sms_app">Afitar Mensaxes como l\'aplicación de SMS por defeutu</string>
+    <string name="requires_default_sms_change_button">Camudar</string>
+    <string name="recommend_set_default_sms_app">Pa recibir mensaxes, afita Mensaxes como l\'aplicación SMS por defeutu</string>
+    <string name="no_preferred_sim_selected">Nun hai SIM escoyida como preferida pa unviar mensaxes SMS</string>
+    <string name="requires_sms_permissions_message">Esta aplicación nun tien el permisu\'l dueñu\'l preséu.</string>
+    <string name="requires_sms_permissions_close_button">ACEUTAR</string>
+    <string name="too_many_participants">Milenta participantes nuna conversación</string>
+    <plurals name="add_invalid_contact_error">
+        <item quantity="one">Contautu non válidu</item>
+        <item quantity="other">Contautos non válidos</item>
+    </plurals>
+    <string name="camera_media_failure">Nun pudo cargase la imaxe de la cámara</string>
+    <string name="conversation_list_item_view_sent_from_you_prefix">Tú:\u0020</string>
+    <string name="conversation_list_item_view_sent_from_other_prefix"><xliff:g id="firstNameOfSender">%s</xliff:g>:\u0020</string>
+    <string name="conversation_list_item_view_draft_message">Borrador</string>
+    <string name="conversation_list_empty_text">Namái qu\'anicies una conversación nueva, verásla llistada equí</string>
+    <string name="archived_conversation_list_empty_text">Equí apaecerán les conversaciones archivaes</string>
+    <string name="conversation_list_snippet_picture">Imaxe</string>
+    <string name="conversation_list_snippet_audio_clip">Clip d\'audiu</string>
+    <string name="conversation_list_snippet_video">Videu</string>
+    <string name="conversation_list_snippet_vcard">Tarxeta de contautu</string>
+    <string name="mms_text">MMS</string>
+    <string name="snack_bar_undo">Desfacer</string>
+    <string name="snack_bar_retry">Reintentar</string>
+    <string name="contact_list_empty_text">Pon el nome d\'un contautu o un númberu de teléfonu pa entamar un mensaxe nuevu</string>
+    <string name="action_block">Bloquiar</string>
+    <string name="block_contact_title">Bloquiar <xliff:g id="destination">%s</xliff:g></string>
+    <string name="unblock_contact_title">Desbloquiar <xliff:g id="destination">%s</xliff:g></string>
+    <string name="block_confirmation_title">¿Bloquiar <xliff:g id="destination">%s</xliff:g>?</string>
+    <string name="block_confirmation_message">Siguirás recibiendo mensaxes d\'esti númberu pero yá nun se t\'avisará. Esta conversación archivaráse.</string>
+    <string name="blocked_contacts_title">Contautos bloquiaos</string>
+    <string name="tap_to_unblock_message">DESBLOQUIAR</string>
+    <string name="view_blocked_contacts_title">Contautos bloquiaos</string>
+    <string name="pick_image_from_document_library_content_description">Escueyi una imaxe de la biblioteca de documentos</string>
+    <string name="sending_message">Unviando mensaxe</string>
+    <string name="send_message_success">Unvióse\'l mensaxe</string>
+    <string name="send_message_failure_no_data">El móvil ta apagáu. Revisa la to configuración.</string>
+    <string name="send_message_failure_airplane_mode">Nun puen unviase mensaxes nel mou avión</string>
+    <string name="send_message_failure">Nun pudo unviase\'l mensaxe</string>
+    <string name="download_message_success">Mensaxe baxáu</string>
+    <string name="download_message_failure_no_data">El móvil ta apagáu. Revisa la to configuración.</string>
+    <string name="download_message_failure_airplane_mode">Nun puen baxase mensaxes nel mou avión</string>
+    <string name="download_message_failure">Nun pudo baxase\'l mensaxe</string>
+    <string name="content_description_for_number_zero">Cero</string>
+    <string name="content_description_for_number_one">Uno</string>
+    <string name="content_description_for_number_two">Dos</string>
+    <string name="content_description_for_number_three">Tres</string>
+    <string name="content_description_for_number_four">Cuatro</string>
+    <string name="content_description_for_number_five">Cinco</string>
+    <string name="content_description_for_number_six">Seis</string>
+    <string name="content_description_for_number_seven">Siete</string>
+    <string name="content_description_for_number_eight">Ocho</string>
+    <string name="content_description_for_number_nine">Nueve</string>
+    <string name="carrier_send_error">Nun pue unviase\'l mensaxe con <xliff:g id="carrierName">%1$s</xliff:g>, fallu <xliff:g id="errorCode">%2$d</xliff:g></string>
+    <string name="carrier_send_error_unknown_carrier">Nun se puede mandar el mensaxe con un operador desconocíu, fallu <xliff:g id="errorCode">%1$d</xliff:g></string>
+    <string name="message_fwd">Re: <xliff:g id="subject">%s</xliff:g></string>
+    <string name="mms_failure_outgoing_service">Mensaxe ensin unviar: serviciu ensin activar na rede</string>
+    <string name="mms_failure_outgoing_address">Mensaxe ensin unviar: direición de destín inválida</string>
+    <string name="mms_failure_outgoing_corrupt">Nun s\'unvió\'l mensaxe: mensaxe non válidu</string>
+    <string name="mms_failure_outgoing_content">Nun s\'unvió\'l mensaxe: conteníu non sofitáu</string>
+    <string name="mms_failure_outgoing_unsupported">Nun s\'unvió\'l mensaxe: mensaxe non sofitáu</string>
+    <string name="mms_failure_outgoing_too_large">Nun s\'unvió\'l mensaxe: perllargu</string>
+    <string name="in_conversation_notify_new_message_text">Mensaxe nuevu</string>
+    <string name="in_conversation_notify_new_message_action">Ver</string>
+    <string name="message_image_content_description">Imaxe</string>
+    <string name="activity_not_found_message">Nun pudo alcontrase una aplicación afayadiza</string>
+    <string name="chips_delete_content_description">Desaniciar el destinatariu</string>
+    <string name="share_new_message">Mensaxe nuevu</string>
+    <string name="share_cancel">Encaboxar</string>
+    <string name="apn_edit">Editar puntu d\'accesu</string>
+    <string name="apn_not_set">Nun s\'afitó</string>
+    <string name="apn_name">Nome</string>
+    <string name="apn_apn">APN</string>
+    <string name="apn_mmsc">MMSC</string>
+    <string name="apn_mms_proxy">Proxy MMS</string>
+    <string name="apn_mms_port">Puertu MMS</string>
+    <string name="apn_mcc">MCC</string>
+    <string name="apn_mnc">MNC</string>
+    <string name="apn_type">Triba d\'APN</string>
+    <string name="menu_delete_apn">Desaniciar APN</string>
+    <string name="menu_new_apn">APN nueva</string>
+    <string name="menu_save_apn">Guardar</string>
+    <string name="menu_discard_apn_change">Escartar</string>
+    <string name="error_apn_name_empty">El campu Nome nun pue tar baleru.</string>
+    <string name="error_apn_empty">L\'APN nun pue tar balera.</string>
+    <string name="error_mcc_not3">El campu MMC ha ser de 3 díxitos.</string>
+    <string name="error_mnc_not23">El campu MMC ha ser de 2 ó 3 díxitos.</string>
+    <string name="restore_default_apn">Restaurando la configuración de APN predeterminada.</string>
+    <string name="menu_restore_default_apn">Reafitar valores predeterminaos</string>
+    <string name="restore_default_apn_completed">Reafitóse la configuración predeterminada de APN.</string>
+    <string name="untitled_apn">Ensin títulu</string>
+    <string name="sms_apns_title">Nomes de puntu d\'accesu</string>
+    <string name="apn_settings">APNs</string>
+    <string name="menu_new">APN Nuevu</string>
+    <string name="apn_settings_not_available">Los axustes del nome del puntu d\'accesu nun tán disponibles pa esti usuariu</string>
+    <string name="copy_to_clipboard_dialog_title">¿Copiar al cartafueyu?</string>
+    <string name="copy_to_clipboard">Copiar</string>
+    <string name="incoming_sim_name_text">a <xliff:g id="sim_name">%s</xliff:g></string>
+    <string name="general_settings">Xeneral</string>
+    <string name="advanced_settings">Avanzao</string>
+    <string name="general_settings_activity_title">Axustes xenerales</string>
+    <string name="advanced_settings_activity_title">Axustes avanzaos</string>
+    <string name="sim_specific_settings">SIM «<xliff:g id="sim_name">%s</xliff:g>»</string>
+    <string name="disable_group_mms">Unviar mensaxes SMS individuales a tolos destinatarios. Solo te van retrucar a ti</string>
+    <string name="enable_group_mms">Unviar un solu MMS a tolos destinatarios</string>
+    <string name="sim_settings_unknown_number">Númberu desconocíu</string>
+    <string name="secondary_user_new_message_title">Mensaxe nuevu</string>
+    <string name="secondary_user_new_message_ticker">Mensaxe nuevu.</string>
+    <string name="sim_selector_button_content_description">Seleutor de SIM</string>
+    <string name="sim_selector_button_content_description_with_selection"><xliff:g id="sim">%1$s</xliff:g> esbilláu selector SIM</string>
+    <string name="send_button_long_click_description_no_sim_selector">Editar asuntu</string>
+    <string name="send_button_long_click_description_with_sim_selector">Esbillar SIM o editar asuntu</string>
+    <string name="audio_record_view_content_description">Ten &amp; primío pa grabar audiu</string>
+    <string name="widget_new_conversation_content_description">Entamar una conversación nueva</string>
+    <string name="widget_title_content_description">Mensaxería</string>
+    <string name="widget_conversation_list_name">Llistáu de mensaxes</string>
+    <string name="widget_conversation_name">Mensaxería</string>
+    <string name="widget_new_message_content_description">Mensaxe nuevu</string>
+    <string name="widget_conversation_list_content_description">Llista de conversaciones</string>
+    <string name="loading_conversations">Cargando conversaciones</string>
+    <string name="loading_messages">Cargando mensaxes</string>
+    <string name="view_more_conversations">Ver más conversaciones</string>
+    <string name="view_more_messages">Ver más mensaxes</string>
+    <string name="conversation_deleted">Conversación desaniciada</string>
+    <string name="tap_to_configure">Desanicióse la conversación. Calca p\'amosar una conversación diferente de Mensaxes</string>
+    <string name="update_destination_blocked">Bloquiáu</string>
+    <string name="update_destination_unblocked">Desbloquiáu</string>
+    <string name="db_full">Hai pocu espaciu d\'almacenamientu. Dellos datos pueden perdese.</string>
+    <string name="attachment_chooser_activity_title">Escoyer axuntos</string>
+    <string name="action_confirm_selection">Confirmar esbilla</string>
+    <string name="attachment_chooser_selection"><xliff:g id="count">%d</xliff:g> esbilláu</string>
+    <string name="attachment_limit_reached_dialog_message_when_composing">Desanicia ún o más axuntos y vuelvi tentalo, por favor.</string>
+    <string name="attachment_limit_reached_dialog_message_when_sending">Pues tentar d\'unviar el to mensaxe pero quiciabes nun s\'entregue a nun ser que desanicies ún o más axuntos.</string>
+    <string name="video_attachment_limit_exceeded_when_sending">Namái pues unviar un videu per mensaxe. Desanicia vídeos adicionales y volvi tentalo, por favor.</string>
+    <string name="attachment_load_failed_dialog_message">Mensaxería falló al cargar l\'axuntu.</string>
+    <string name="attachment_limit_reached_send_anyway">Unviar de toes toes</string>
+    <string name="conversation_creation_failure">Nun pudo aniciase la conversación</string>
+    <string name="link_display_format"><xliff:g id="text">%1$s</xliff:g> (<xliff:g id="url">%2$s</xliff:g>)</string>
+    <string name="selected_sim_content_message"><xliff:g id="selected_sim">%s</xliff:g> esbilláu</string>
+    <string name="work_directory_display_name">Contautos del perfil de trabayu</string>
+</resources>
diff --git a/res/values-az/cm_strings.xml b/res/values-az/cm_strings.xml
new file mode 100644
index 0000000..a4b6cff
--- /dev/null
+++ b/res/values-az/cm_strings.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="swipe_to_delete_conversation_pref_title">Silmək üçün sürüşdür</string>
+    <string name="swipe_to_delete_conversation_pref_summary">Yazışmanı silmək üçün sağa sürüşdür</string>
+    <string name="show_emoticons_pref_title">Emoji müraciəti</string>
+    <string name="show_emoticons_pref_summary">Klaviaturada emoji düyməsini göstər</string>
+    <string name="notification_mark_as_read">Oxunmuş kimi işarələ</string>
+    <string name="notification_channel_messages_title">Mesajlar</string>
+</resources>
diff --git a/res/values-az/strings.xml b/res/values-az/strings.xml
index 0bb8ef8..64485ba 100644
--- a/res/values-az/strings.xml
+++ b/res/values-az/strings.xml
@@ -202,19 +202,19 @@
     <string name="audio_attachment_content_description" msgid="499334244765270108">"Audio qoşma"</string>
     <string name="audio_play_content_description" msgid="4932509227281251607">"Audio qoşmanı ifa et"</string>
     <string name="audio_pause_content_description" msgid="7578169887065513701">"Pauza"</string>
-    <string name="incoming_message_announcement" msgid="6369259405539452011">"<xliff:g id="SENDER">%s</xliff:g> adlı göndərəndən mesaj: <xliff:g id="MESSAGE">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"<xliff:g id="SENDER">%s</xliff:g> adlı göndərənin mesajı getmədi: <xliff:g id="MESSAGE">%s</xliff:g>. Vaxt: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"<xliff:g id="SENDER">%s</xliff:g> adlı göndərən tərəfindən mesaj: <xliff:g id="MESSAGE">%s</xliff:g>. Vaxt: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"<xliff:g id="CONTACT">%s</xliff:g> adlı əlaqəyə göndərilməmiş mesaj: <xliff:g id="MESSAGE">%s</xliff:g>. Vaxt: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"<xliff:g id="CONTACT">%s</xliff:g> adlı əlaqəyə mesaj göndərilir: <xliff:g id="MESSAGE">%s</xliff:g>. Vaxt: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"<xliff:g id="CONTACT">%s</xliff:g> adlı əlaqəyə mesaj göndərilmədi: <xliff:g id="MESSAGE">%s</xliff:g>. Vaxt: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"<xliff:g id="CONTACT">%s</xliff:g> adlı əlaqəyə mesaj: <xliff:g id="MESSAGE">%s</xliff:g>. Vaxt: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"<xliff:g id="SENDER">%s</xliff:g> adlı göndərənin mesajı getmədi: <xliff:g id="MESSAGE">%s</xliff:g>. Vaxt: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"<xliff:g id="SENDER">%s</xliff:g> adlı göndərən tərəfindən mesaj: <xliff:g id="MESSAGE">%s</xliff:g>. Vaxt: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"<xliff:g id="GROUP">%s</xliff:g> istifadəçisinə göndərilməmiş mesaj: <xliff:g id="MESSAGE">%s</xliff:g>. Vaxt: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"<xliff:g id="GROUP">%s</xliff:g> istifadəçisinə mesaj göndərilir: <xliff:g id="MESSAGE">%s</xliff:g>. Vaxt: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"<xliff:g id="GROUP">%s</xliff:g> istifadəçisinə mesaj göndərilmədi: <xliff:g id="MESSAGE">%s</xliff:g>. Vaxt: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"<xliff:g id="GROUP">%s</xliff:g> istifadəçisinə mesaj: <xliff:g id="MESSAGE">%s</xliff:g>. Vaxt: <xliff:g id="TIME">%s</xliff:g>."</string>
+    <string name="incoming_message_announcement" msgid="6369259405539452011">"<xliff:g id="SENDER">%1$s</xliff:g> adlı göndərəndən mesaj: <xliff:g id="MESSAGE">%2$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"<xliff:g id="SENDER">%1$s</xliff:g> adlı göndərənin mesajı getmədi: <xliff:g id="MESSAGE">%2$s</xliff:g>. Vaxt: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"<xliff:g id="SENDER">%1$s</xliff:g> adlı göndərən tərəfindən mesaj: <xliff:g id="MESSAGE">%2$s</xliff:g>. Vaxt: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"<xliff:g id="CONTACT">%1$s</xliff:g> adlı əlaqəyə göndərilməmiş mesaj: <xliff:g id="MESSAGE">%2$s</xliff:g>. Vaxt: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"<xliff:g id="CONTACT">%1$s</xliff:g> adlı əlaqəyə mesaj göndərilir: <xliff:g id="MESSAGE">%2$s</xliff:g>. Vaxt: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"<xliff:g id="CONTACT">%1$s</xliff:g> adlı əlaqəyə mesaj göndərilmədi: <xliff:g id="MESSAGE">%2$s</xliff:g>. Vaxt: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"<xliff:g id="CONTACT">%1$s</xliff:g> adlı əlaqəyə mesaj: <xliff:g id="MESSAGE">%2$s</xliff:g>. Vaxt: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"<xliff:g id="SENDER">%1$s</xliff:g> adlı göndərənin mesajı getmədi: <xliff:g id="MESSAGE">%2$s</xliff:g>. Vaxt: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"<xliff:g id="SENDER">%1$s</xliff:g> adlı göndərən tərəfindən mesaj: <xliff:g id="MESSAGE">%2$s</xliff:g>. Vaxt: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"<xliff:g id="GROUP">%1$s</xliff:g> istifadəçisinə göndərilməmiş mesaj: <xliff:g id="MESSAGE">%2$s</xliff:g>. Vaxt: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"<xliff:g id="GROUP">%1$s</xliff:g> istifadəçisinə mesaj göndərilir: <xliff:g id="MESSAGE">%2$s</xliff:g>. Vaxt: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"<xliff:g id="GROUP">%1$s</xliff:g> istifadəçisinə mesaj göndərilmədi: <xliff:g id="MESSAGE">%2$s</xliff:g>. Vaxt: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"<xliff:g id="GROUP">%1$s</xliff:g> istifadəçisinə mesaj: <xliff:g id="MESSAGE">%2$s</xliff:g>. Vaxt: <xliff:g id="TIME">%3$s</xliff:g>."</string>
     <string name="failed_message_content_description" msgid="7047161648867054936">"Mesaj göndərilmədi. Təkrar cəhd etmək üçün toxunun."</string>
     <string name="group_conversation_description" msgid="2339270924401184182">"<xliff:g id="PARTICIPANTS">%s</xliff:g> ilə söhbət"</string>
     <string name="delete_subject_content_description" msgid="8910749398836396698">"Mövzunu silin"</string>
@@ -258,7 +258,7 @@
     <string name="mms_messaging_category_pref_title" msgid="4816815152658525660">"MMS"</string>
     <string name="advanced_category_pref_title" msgid="6411454224069259687">"Qabaqcıl"</string>
     <string name="debug_category_pref_title" msgid="8765138968242505061">"Sazlama"</string>
-    <string name="notifications_enabled_pref_title" msgid="4127288731844373795">"Bildirişlər"</string>
+    <string name="notifications_pref_title" msgid="4127288731844373795">"Bildirişlər"</string>
     <string name="notification_sound_pref_title" msgid="3685506528957337849">"Səs"</string>
     <string name="silent_ringtone" msgid="8073534180322059814">"Səssiz"</string>
     <string name="notification_vibrate_pref_title" msgid="6668564570045187390">"Titrət"</string>
@@ -359,7 +359,7 @@
     <string name="add_contact_confirmation" msgid="1479380805406328264">"Kontakt əlavə edin"</string>
     <string name="compose_message_view_subject_hint_text" msgid="6076616675845705660">"Mövzu"</string>
     <string name="conversation_message_view_subject_text" msgid="5634274498769555505">"Mövzu: "</string>
-    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%s</xliff:g><xliff:g id="MESSAGETEXT">%s</xliff:g>"</string>
+    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%1$s</xliff:g><xliff:g id="MESSAGETEXT">%2$s</xliff:g>"</string>
     <string name="loading_vcard" msgid="3961520941271265083">"Kontakt kartı yüklənir"</string>
     <string name="failed_loading_vcard" msgid="7711070643740368402">"Kontakt kartını yükləmək alınmadı"</string>
     <string name="vcard_tap_hint" msgid="4940284329175200952">"Kontakt kartına baxın"</string>
diff --git a/res/values-be/cm_strings.xml b/res/values-be/cm_strings.xml
new file mode 100644
index 0000000..b560047
--- /dev/null
+++ b/res/values-be/cm_strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="swipe_to_delete_conversation_pref_title">Прагарнi, каб выдалiць</string>
+    <string name="swipe_to_delete_conversation_pref_summary">Прагарнi направа, каб выдалiць размову</string>
+    <string name="show_emoticons_pref_title">Доступ да смайлаў</string>
+    <string name="show_emoticons_pref_summary">Паказаць смайлы на клавіятуры</string>
+</resources>
diff --git a/res/values-bg/cm_strings.xml b/res/values-bg/cm_strings.xml
new file mode 100644
index 0000000..6f746f0
--- /dev/null
+++ b/res/values-bg/cm_strings.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="swipe_to_delete_conversation_pref_title">Бързо изтриване</string>
+    <string name="swipe_to_delete_conversation_pref_summary">Плъзнете от ляво надясно за да изтриете кореспонденцията</string>
+    <string name="show_emoticons_pref_title">Достъп до емотикони</string>
+    <string name="show_emoticons_pref_summary">Показва клавиш с емотикони на клавиатурата</string>
+    <string name="notification_mark_as_read">Маркирай като прочетено</string>
+    <string name="notification_channel_messages_title">Съобщения</string>
+</resources>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index 5251fa8..2fdc6d1 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -202,19 +202,19 @@
     <string name="audio_attachment_content_description" msgid="499334244765270108">"Прикачен аудиофайл"</string>
     <string name="audio_play_content_description" msgid="4932509227281251607">"Пускане на прикачения аудиофайл"</string>
     <string name="audio_pause_content_description" msgid="7578169887065513701">"Пауза"</string>
-    <string name="incoming_message_announcement" msgid="6369259405539452011">"Съобщение от <xliff:g id="SENDER">%s</xliff:g>: „<xliff:g id="MESSAGE">%s</xliff:g>“."</string>
-    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Неуспешно съобщение от <xliff:g id="SENDER">%s</xliff:g>: „<xliff:g id="MESSAGE">%s</xliff:g>“. Час: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Съобщение от <xliff:g id="SENDER">%s</xliff:g>: „<xliff:g id="MESSAGE">%s</xliff:g>“. Час: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Неизпратено съобщение до <xliff:g id="CONTACT">%s</xliff:g>: „<xliff:g id="MESSAGE">%s</xliff:g>“. Час: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Изпраща се съобщение до <xliff:g id="CONTACT">%s</xliff:g>: „<xliff:g id="MESSAGE">%s</xliff:g>“. Час: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Неуспешно съобщение до <xliff:g id="CONTACT">%s</xliff:g>: „<xliff:g id="MESSAGE">%s</xliff:g>“. Час: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Съобщение до <xliff:g id="CONTACT">%s</xliff:g>: „<xliff:g id="MESSAGE">%s</xliff:g>“. Час: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Неуспешно съобщение от <xliff:g id="SENDER">%s</xliff:g>: „<xliff:g id="MESSAGE">%s</xliff:g>“. Час: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Съобщение от <xliff:g id="SENDER">%s</xliff:g>: „<xliff:g id="MESSAGE">%s</xliff:g>“. Час: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Неизпратено съобщение до <xliff:g id="GROUP">%s</xliff:g>: „<xliff:g id="MESSAGE">%s</xliff:g>“. Час: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Изпраща се съобщение до <xliff:g id="GROUP">%s</xliff:g>: „<xliff:g id="MESSAGE">%s</xliff:g>“. Час: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Неуспешно съобщение до <xliff:g id="GROUP">%s</xliff:g>: „<xliff:g id="MESSAGE">%s</xliff:g>“. Час: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Съобщение до <xliff:g id="GROUP">%s</xliff:g>: „<xliff:g id="MESSAGE">%s</xliff:g>“. Час: <xliff:g id="TIME">%s</xliff:g>."</string>
+    <string name="incoming_message_announcement" msgid="6369259405539452011">"Съобщение от <xliff:g id="SENDER">%1$s</xliff:g>: „<xliff:g id="MESSAGE">%2$s</xliff:g>“."</string>
+    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Неуспешно съобщение от <xliff:g id="SENDER">%1$s</xliff:g>: „<xliff:g id="MESSAGE">%2$s</xliff:g>“. Час: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Съобщение от <xliff:g id="SENDER">%1$s</xliff:g>: „<xliff:g id="MESSAGE">%2$s</xliff:g>“. Час: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Неизпратено съобщение до <xliff:g id="CONTACT">%1$s</xliff:g>: „<xliff:g id="MESSAGE">%2$s</xliff:g>“. Час: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Изпраща се съобщение до <xliff:g id="CONTACT">%1$s</xliff:g>: „<xliff:g id="MESSAGE">%2$s</xliff:g>“. Час: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Неуспешно съобщение до <xliff:g id="CONTACT">%1$s</xliff:g>: „<xliff:g id="MESSAGE">%2$s</xliff:g>“. Час: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Съобщение до <xliff:g id="CONTACT">%1$s</xliff:g>: „<xliff:g id="MESSAGE">%2$s</xliff:g>“. Час: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Неуспешно съобщение от <xliff:g id="SENDER">%1$s</xliff:g>: „<xliff:g id="MESSAGE">%2$s</xliff:g>“. Час: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Съобщение от <xliff:g id="SENDER">%1$s</xliff:g>: „<xliff:g id="MESSAGE">%2$s</xliff:g>“. Час: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Неизпратено съобщение до <xliff:g id="GROUP">%1$s</xliff:g>: „<xliff:g id="MESSAGE">%2$s</xliff:g>“. Час: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Изпраща се съобщение до <xliff:g id="GROUP">%1$s</xliff:g>: „<xliff:g id="MESSAGE">%2$s</xliff:g>“. Час: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Неуспешно съобщение до <xliff:g id="GROUP">%1$s</xliff:g>: „<xliff:g id="MESSAGE">%2$s</xliff:g>“. Час: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Съобщение до <xliff:g id="GROUP">%1$s</xliff:g>: „<xliff:g id="MESSAGE">%2$s</xliff:g>“. Час: <xliff:g id="TIME">%3$s</xliff:g>."</string>
     <string name="failed_message_content_description" msgid="7047161648867054936">"Неуспешно съобщение. Докоснете, за да опитате отново."</string>
     <string name="group_conversation_description" msgid="2339270924401184182">"Разговор с/ъс <xliff:g id="PARTICIPANTS">%s</xliff:g>"</string>
     <string name="delete_subject_content_description" msgid="8910749398836396698">"Изтриване на темата"</string>
@@ -258,7 +258,7 @@
     <string name="mms_messaging_category_pref_title" msgid="4816815152658525660">"MMS"</string>
     <string name="advanced_category_pref_title" msgid="6411454224069259687">"Разширени"</string>
     <string name="debug_category_pref_title" msgid="8765138968242505061">"Отстраняване на грешки"</string>
-    <string name="notifications_enabled_pref_title" msgid="4127288731844373795">"Известия"</string>
+    <string name="notifications_pref_title" msgid="4127288731844373795">"Известия"</string>
     <string name="notification_sound_pref_title" msgid="3685506528957337849">"Звук"</string>
     <string name="silent_ringtone" msgid="8073534180322059814">"Тих режим"</string>
     <string name="notification_vibrate_pref_title" msgid="6668564570045187390">"Вибриране"</string>
@@ -359,7 +359,7 @@
     <string name="add_contact_confirmation" msgid="1479380805406328264">"Добавяне на контакт"</string>
     <string name="compose_message_view_subject_hint_text" msgid="6076616675845705660">"Тема"</string>
     <string name="conversation_message_view_subject_text" msgid="5634274498769555505">"Тема: "</string>
-    <string name="notification_subject" msgid="5229975483160300625">"„<xliff:g id="SUBJECT_LABEL">%s</xliff:g>“ – „<xliff:g id="MESSAGETEXT">%s</xliff:g>“"</string>
+    <string name="notification_subject" msgid="5229975483160300625">"„<xliff:g id="SUBJECT_LABEL">%1$s</xliff:g>“ – „<xliff:g id="MESSAGETEXT">%2$s</xliff:g>“"</string>
     <string name="loading_vcard" msgid="3961520941271265083">"Визитната картичка се зарежда"</string>
     <string name="failed_loading_vcard" msgid="7711070643740368402">"Визитната картичка не можа да се зареди"</string>
     <string name="vcard_tap_hint" msgid="4940284329175200952">"Преглед на визитната картичка"</string>
diff --git a/res/values-bn/strings.xml b/res/values-bn/strings.xml
index 8c58185..4ccae20 100644
--- a/res/values-bn/strings.xml
+++ b/res/values-bn/strings.xml
@@ -202,19 +202,19 @@
     <string name="audio_attachment_content_description" msgid="499334244765270108">"অডিও সংযুক্তি"</string>
     <string name="audio_play_content_description" msgid="4932509227281251607">"অডিও সংযুক্তি চালান"</string>
     <string name="audio_pause_content_description" msgid="7578169887065513701">"বিরাম দিন"</string>
-    <string name="incoming_message_announcement" msgid="6369259405539452011">"<xliff:g id="SENDER">%s</xliff:g> এর পাঠানো বার্তা: <xliff:g id="MESSAGE">%s</xliff:g>৷"</string>
-    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"<xliff:g id="SENDER">%s</xliff:g>:-র <xliff:g id="MESSAGE">%s</xliff:g> বার্তা পাঠাতে ব্যর্থ হয়েছে। সময়: <xliff:g id="TIME">%s</xliff:g>।"</string>
-    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"<xliff:g id="SENDER">%s</xliff:g>: এর থেকে <xliff:g id="MESSAGE">%s</xliff:g> বার্তা। সময়: <xliff:g id="TIME">%s</xliff:g>।"</string>
-    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"<xliff:g id="CONTACT">%s</xliff:g>: -কে <xliff:g id="MESSAGE">%s</xliff:g> বার্তা পাঠানো যায় নি। সময়: <xliff:g id="TIME">%s</xliff:g>।"</string>
-    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"<xliff:g id="CONTACT">%s</xliff:g>: -কে <xliff:g id="MESSAGE">%s</xliff:g> বার্তা পাঠাচ্ছে। সময়: <xliff:g id="TIME">%s</xliff:g>।"</string>
-    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"<xliff:g id="CONTACT">%s</xliff:g>: -কে <xliff:g id="MESSAGE">%s</xliff:g> বার্তা পাঠাতে ব্যর্থ হয়েছে। সময়: <xliff:g id="TIME">%s</xliff:g>।"</string>
-    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"<xliff:g id="CONTACT">%s</xliff:g>: -কে <xliff:g id="MESSAGE">%s</xliff:g> বার্তা পাঠান। সময়: <xliff:g id="TIME">%s</xliff:g>।"</string>
-    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"<xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g> বার্তা পাঠাতে ব্যর্থ হয়েছেন। সময়: <xliff:g id="TIME">%s</xliff:g>। <xliff:g id="GROUPINFO">%s</xliff:g>।"</string>
-    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"<xliff:g id="SENDER">%s</xliff:g>: এর থেকে <xliff:g id="MESSAGE">%s</xliff:g> বার্তা। সময়: <xliff:g id="TIME">%s</xliff:g>। <xliff:g id="GROUPINFO">%s</xliff:g>।"</string>
-    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"<xliff:g id="GROUP">%s</xliff:g>: -কে <xliff:g id="MESSAGE">%s</xliff:g> বার্তা পাঠানো যায় নি। সময়: <xliff:g id="TIME">%s</xliff:g>।"</string>
-    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"<xliff:g id="GROUP">%s</xliff:g>:-এ <xliff:g id="MESSAGE">%s</xliff:g> বার্তা পাঠানো হচ্ছে। সময়: <xliff:g id="TIME">%s</xliff:g>।"</string>
-    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"<xliff:g id="GROUP">%s</xliff:g>: -এ <xliff:g id="MESSAGE">%s</xliff:g> বার্তা পাঠাতে ব্যর্থ হয়েছে। সময়: <xliff:g id="TIME">%s</xliff:g>।"</string>
-    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"<xliff:g id="GROUP">%s</xliff:g>: -এ <xliff:g id="MESSAGE">%s</xliff:g> বার্তা পাঠান। সময়: <xliff:g id="TIME">%s</xliff:g>।"</string>
+    <string name="incoming_message_announcement" msgid="6369259405539452011">"<xliff:g id="SENDER">%1$s</xliff:g> এর পাঠানো বার্তা: <xliff:g id="MESSAGE">%2$s</xliff:g>৷"</string>
+    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"<xliff:g id="SENDER">%1$s</xliff:g>:-র <xliff:g id="MESSAGE">%2$s</xliff:g> বার্তা পাঠাতে ব্যর্থ হয়েছে। সময়: <xliff:g id="TIME">%3$s</xliff:g>।"</string>
+    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"<xliff:g id="SENDER">%1$s</xliff:g>: এর থেকে <xliff:g id="MESSAGE">%2$s</xliff:g> বার্তা। সময়: <xliff:g id="TIME">%3$s</xliff:g>।"</string>
+    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"<xliff:g id="CONTACT">%1$s</xliff:g>: -কে <xliff:g id="MESSAGE">%2$s</xliff:g> বার্তা পাঠানো যায় নি। সময়: <xliff:g id="TIME">%3$s</xliff:g>।"</string>
+    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"<xliff:g id="CONTACT">%1$s</xliff:g>: -কে <xliff:g id="MESSAGE">%2$s</xliff:g> বার্তা পাঠাচ্ছে। সময়: <xliff:g id="TIME">%3$s</xliff:g>।"</string>
+    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"<xliff:g id="CONTACT">%1$s</xliff:g>: -কে <xliff:g id="MESSAGE">%2$s</xliff:g> বার্তা পাঠাতে ব্যর্থ হয়েছে। সময়: <xliff:g id="TIME">%3$s</xliff:g>।"</string>
+    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"<xliff:g id="CONTACT">%1$s</xliff:g>: -কে <xliff:g id="MESSAGE">%2$s</xliff:g> বার্তা পাঠান। সময়: <xliff:g id="TIME">%3$s</xliff:g>।"</string>
+    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"<xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g> বার্তা পাঠাতে ব্যর্থ হয়েছেন। সময়: <xliff:g id="TIME">%3$s</xliff:g>। <xliff:g id="GROUPINFO">%3$s</xliff:g>।"</string>
+    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"<xliff:g id="SENDER">%1$s</xliff:g>: এর থেকে <xliff:g id="MESSAGE">%2$s</xliff:g> বার্তা। সময়: <xliff:g id="TIME">%3$s</xliff:g>। <xliff:g id="GROUPINFO">%3$s</xliff:g>।"</string>
+    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"<xliff:g id="GROUP">%1$s</xliff:g>: -কে <xliff:g id="MESSAGE">%2$s</xliff:g> বার্তা পাঠানো যায় নি। সময়: <xliff:g id="TIME">%3$s</xliff:g>।"</string>
+    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"<xliff:g id="GROUP">%1$s</xliff:g>:-এ <xliff:g id="MESSAGE">%2$s</xliff:g> বার্তা পাঠানো হচ্ছে। সময়: <xliff:g id="TIME">%3$s</xliff:g>।"</string>
+    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"<xliff:g id="GROUP">%1$s</xliff:g>: -এ <xliff:g id="MESSAGE">%2$s</xliff:g> বার্তা পাঠাতে ব্যর্থ হয়েছে। সময়: <xliff:g id="TIME">%3$s</xliff:g>।"</string>
+    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"<xliff:g id="GROUP">%1$s</xliff:g>: -এ <xliff:g id="MESSAGE">%2$s</xliff:g> বার্তা পাঠান। সময়: <xliff:g id="TIME">%3$s</xliff:g>।"</string>
     <string name="failed_message_content_description" msgid="7047161648867054936">"বার্তা পাঠাতে ব্যর্থ হয়েছে। পুনরায় চেষ্টা করতে স্পর্শ করুন।"</string>
     <string name="group_conversation_description" msgid="2339270924401184182">"<xliff:g id="PARTICIPANTS">%s</xliff:g> এর সাথে কথোপকথন"</string>
     <string name="delete_subject_content_description" msgid="8910749398836396698">"বিষয় মুছুন"</string>
@@ -258,7 +258,7 @@
     <string name="mms_messaging_category_pref_title" msgid="4816815152658525660">"MMS"</string>
     <string name="advanced_category_pref_title" msgid="6411454224069259687">"উন্নত"</string>
     <string name="debug_category_pref_title" msgid="8765138968242505061">"ডিবাগ"</string>
-    <string name="notifications_enabled_pref_title" msgid="4127288731844373795">"বিজ্ঞপ্তিগুলি"</string>
+    <string name="notifications_pref_title" msgid="4127288731844373795">"বিজ্ঞপ্তিগুলি"</string>
     <string name="notification_sound_pref_title" msgid="3685506528957337849">"আওয়াজ"</string>
     <string name="silent_ringtone" msgid="8073534180322059814">"নীরব"</string>
     <string name="notification_vibrate_pref_title" msgid="6668564570045187390">"কম্পন"</string>
@@ -359,7 +359,7 @@
     <string name="add_contact_confirmation" msgid="1479380805406328264">"পরিচিতি জুড়ুন"</string>
     <string name="compose_message_view_subject_hint_text" msgid="6076616675845705660">"বিষয়"</string>
     <string name="conversation_message_view_subject_text" msgid="5634274498769555505">"বিষয়: "</string>
-    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%s</xliff:g><xliff:g id="MESSAGETEXT">%s</xliff:g>"</string>
+    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%1$s</xliff:g><xliff:g id="MESSAGETEXT">%2$s</xliff:g>"</string>
     <string name="loading_vcard" msgid="3961520941271265083">"পরিচিতি কার্ড লোড হচ্ছে"</string>
     <string name="failed_loading_vcard" msgid="7711070643740368402">"পরিচিতি কার্ড লোড করা যায়নি"</string>
     <string name="vcard_tap_hint" msgid="4940284329175200952">"পরিচিতি কার্ড দেখুন"</string>
diff --git a/res/values-bs/cm_strings.xml b/res/values-bs/cm_strings.xml
new file mode 100644
index 0000000..e2894c1
--- /dev/null
+++ b/res/values-bs/cm_strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="notification_channel_messages_title">Poruke</string>
+</resources>
diff --git a/res/values-ca/cm_strings.xml b/res/values-ca/cm_strings.xml
new file mode 100644
index 0000000..168631f
--- /dev/null
+++ b/res/values-ca/cm_strings.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="swipe_to_delete_conversation_pref_title">Llisca per esborrar</string>
+    <string name="swipe_to_delete_conversation_pref_summary">Llisca cap a la dreta per esborrar una conversa</string>
+    <string name="show_emoticons_pref_title">Accés a les emoticones</string>
+    <string name="show_emoticons_pref_summary">Mostra la tecla de les emoticones al teclat</string>
+    <string name="notification_mark_as_read">Marca com a llegit</string>
+    <string name="notification_channel_messages_title">Missatges</string>
+</resources>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index 8923f0c..e5ebb2c 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -202,19 +202,19 @@
     <string name="audio_attachment_content_description" msgid="499334244765270108">"Àudio adjunt"</string>
     <string name="audio_play_content_description" msgid="4932509227281251607">"Reprodueix l\'àudio adjunt"</string>
     <string name="audio_pause_content_description" msgid="7578169887065513701">"Atura"</string>
-    <string name="incoming_message_announcement" msgid="6369259405539452011">"Missatge de <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Missatge no enviat de <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Hora: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Missatge de <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Hora: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Missatge no enviat a <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Hora: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"S\'està enviant un missatge a <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Hora: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Missatge no enviat a <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Hora: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Missatge a <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Hora: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Missatge no enviat de <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Hora: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Missatge de <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Hora: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Missatge no enviat a <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Hora: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"S\'està enviant un missatge a <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Hora: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Missatge no enviat a <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Hora: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Missatge a <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Hora: <xliff:g id="TIME">%s</xliff:g>."</string>
+    <string name="incoming_message_announcement" msgid="6369259405539452011">"Missatge de <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Missatge no enviat de <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Hora: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Missatge de <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Hora: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Missatge no enviat a <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Hora: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"S\'està enviant un missatge a <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Hora: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Missatge no enviat a <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Hora: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Missatge a <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Hora: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Missatge no enviat de <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Hora: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Missatge de <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Hora: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Missatge no enviat a <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Hora: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"S\'està enviant un missatge a <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Hora: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Missatge no enviat a <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Hora: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Missatge a <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Hora: <xliff:g id="TIME">%3$s</xliff:g>."</string>
     <string name="failed_message_content_description" msgid="7047161648867054936">"Hi ha hagut un problema amb aquest missatge. Toca per tornar-ho a provar."</string>
     <string name="group_conversation_description" msgid="2339270924401184182">"Conversa amb <xliff:g id="PARTICIPANTS">%s</xliff:g>"</string>
     <string name="delete_subject_content_description" msgid="8910749398836396698">"Suprimeix l\'assumpte"</string>
@@ -258,7 +258,7 @@
     <string name="mms_messaging_category_pref_title" msgid="4816815152658525660">"MMS"</string>
     <string name="advanced_category_pref_title" msgid="6411454224069259687">"Avançada"</string>
     <string name="debug_category_pref_title" msgid="8765138968242505061">"Depuració"</string>
-    <string name="notifications_enabled_pref_title" msgid="4127288731844373795">"Notificacions"</string>
+    <string name="notifications_pref_title" msgid="4127288731844373795">"Notificacions"</string>
     <string name="notification_sound_pref_title" msgid="3685506528957337849">"So"</string>
     <string name="silent_ringtone" msgid="8073534180322059814">"Silenci"</string>
     <string name="notification_vibrate_pref_title" msgid="6668564570045187390">"Vibració"</string>
@@ -359,7 +359,7 @@
     <string name="add_contact_confirmation" msgid="1479380805406328264">"Afegeix el contacte"</string>
     <string name="compose_message_view_subject_hint_text" msgid="6076616675845705660">"Assumpte"</string>
     <string name="conversation_message_view_subject_text" msgid="5634274498769555505">"Assumpte: "</string>
-    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%s</xliff:g><xliff:g id="MESSAGETEXT">%s</xliff:g>"</string>
+    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%1$s</xliff:g><xliff:g id="MESSAGETEXT">%2$s</xliff:g>"</string>
     <string name="loading_vcard" msgid="3961520941271265083">"S\'està carregant la targeta de contacte"</string>
     <string name="failed_loading_vcard" msgid="7711070643740368402">"No s\'ha pogut carregar la targeta de contacte"</string>
     <string name="vcard_tap_hint" msgid="4940284329175200952">"Mostra la targeta de contactes"</string>
diff --git a/res/values-cs/cm_strings.xml b/res/values-cs/cm_strings.xml
new file mode 100644
index 0000000..c608c8b
--- /dev/null
+++ b/res/values-cs/cm_strings.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="swipe_to_delete_conversation_pref_title">Odsunutím smazat</string>
+    <string name="swipe_to_delete_conversation_pref_summary">Odsunutím vpravo smazat konverzaci</string>
+    <string name="show_emoticons_pref_title">Zobrazení smajlíků</string>
+    <string name="show_emoticons_pref_summary">Zobrazit na klávesnici klávesu pro zobrazení smajlíků</string>
+    <string name="notification_mark_as_read">Označit jako přečtené</string>
+    <string name="notification_channel_messages_title">Zprávy</string>
+</resources>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index 8b56e47..ff74a71 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -226,19 +226,19 @@
     <string name="audio_attachment_content_description" msgid="499334244765270108">"Zvuková příloha"</string>
     <string name="audio_play_content_description" msgid="4932509227281251607">"Přehrát zvukovou přílohu"</string>
     <string name="audio_pause_content_description" msgid="7578169887065513701">"Pozastavit"</string>
-    <string name="incoming_message_announcement" msgid="6369259405539452011">"Zpráva od uživatele <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>"</string>
-    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Neúspěšná zpráva od uživatele <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Čas: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Zpráva od uživatele <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Čas: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Neodeslaná zpráva pro uživatele <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Čas: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Odesílání zprávy uživateli <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Čas: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Neúspěšná zpráva pro uživatele <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Čas: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Zpráva pro uživatele <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Čas: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Neúspěšná zpráva od uživatele <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Čas: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Zpráva od uživatele <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Čas: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Neodeslaná zpráva pro uživatele <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Čas: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Odesílání zprávy uživateli <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Čas: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Neúspěšná zpráva pro uživatele <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Čas: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Zpráva pro uživatele <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Čas: <xliff:g id="TIME">%s</xliff:g>."</string>
+    <string name="incoming_message_announcement" msgid="6369259405539452011">"Zpráva od uživatele <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>"</string>
+    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Neúspěšná zpráva od uživatele <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Čas: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Zpráva od uživatele <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Čas: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Neodeslaná zpráva pro uživatele <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Čas: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Odesílání zprávy uživateli <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Čas: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Neúspěšná zpráva pro uživatele <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Čas: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Zpráva pro uživatele <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Čas: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Neúspěšná zpráva od uživatele <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Čas: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Zpráva od uživatele <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Čas: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Neodeslaná zpráva pro uživatele <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Čas: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Odesílání zprávy uživateli <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Čas: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Neúspěšná zpráva pro uživatele <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Čas: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Zpráva pro uživatele <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Čas: <xliff:g id="TIME">%3$s</xliff:g>."</string>
     <string name="failed_message_content_description" msgid="7047161648867054936">"Neúspěšná zpráva. Klepnutím pokus opakujte."</string>
     <string name="group_conversation_description" msgid="2339270924401184182">"Konverzace s uživateli <xliff:g id="PARTICIPANTS">%s</xliff:g>"</string>
     <string name="delete_subject_content_description" msgid="8910749398836396698">"Smazat předmět"</string>
@@ -294,7 +294,7 @@
     <string name="mms_messaging_category_pref_title" msgid="4816815152658525660">"MMS"</string>
     <string name="advanced_category_pref_title" msgid="6411454224069259687">"Rozšířená nastavení"</string>
     <string name="debug_category_pref_title" msgid="8765138968242505061">"Ladit"</string>
-    <string name="notifications_enabled_pref_title" msgid="4127288731844373795">"Oznámení"</string>
+    <string name="notifications_pref_title" msgid="4127288731844373795">"Oznámení"</string>
     <string name="notification_sound_pref_title" msgid="3685506528957337849">"Zvuk"</string>
     <string name="silent_ringtone" msgid="8073534180322059814">"Tichý režim"</string>
     <string name="notification_vibrate_pref_title" msgid="6668564570045187390">"Vibrace"</string>
@@ -407,7 +407,7 @@
     <string name="add_contact_confirmation" msgid="1479380805406328264">"Přidat kontakt"</string>
     <string name="compose_message_view_subject_hint_text" msgid="6076616675845705660">"Předmět"</string>
     <string name="conversation_message_view_subject_text" msgid="5634274498769555505">"Předmět: "</string>
-    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%s</xliff:g><xliff:g id="MESSAGETEXT">%s</xliff:g>"</string>
+    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%1$s</xliff:g><xliff:g id="MESSAGETEXT">%2$s</xliff:g>"</string>
     <string name="loading_vcard" msgid="3961520941271265083">"Načítání kontaktní karty"</string>
     <string name="failed_loading_vcard" msgid="7711070643740368402">"Kartu kontaktu nelze načíst."</string>
     <string name="vcard_tap_hint" msgid="4940284329175200952">"Zobrazit kontaktní kartu"</string>
diff --git a/res/values-cy/arrays.xml b/res/values-cy/arrays.xml
new file mode 100644
index 0000000..2312452
--- /dev/null
+++ b/res/values-cy/arrays.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string-array name="empty_subject_strings">
+        <item>dim pwnc</item>
+        <item>dimpwnc</item>
+    </string-array>
+    <string-array name="notification_reply_choices">
+        <item>Ie</item>
+        <item>Na</item>
+        <item>Iawn</item>
+        <item>Haha</item>
+        <item>Diolch</item>
+        <item>Cytuno</item>
+        <item>Da iawn</item>
+        <item>Dw i ar y ffordd</item>
+        <item>Iawn. Ddo\'i nôl atat ti\'n hwyrach.</item>
+        <item>:)</item>
+        <item>:(</item>
+    </string-array>
+</resources>
diff --git a/res/values-cy/cm_strings.xml b/res/values-cy/cm_strings.xml
new file mode 100644
index 0000000..157f1bb
--- /dev/null
+++ b/res/values-cy/cm_strings.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="swipe_to_delete_conversation_pref_title">Llusgo i ddileu</string>
+    <string name="swipe_to_delete_conversation_pref_summary">Llusgo sgwrs i\'r dde yn ei dileu</string>
+    <string name="show_emoticons_pref_title">Mynediad at wenogluniau</string>
+    <string name="show_emoticons_pref_summary">Dangos y fysell gwenogluniau ar y bysellfwrdd</string>
+    <string name="notification_mark_as_read">Nodi fel wedi\'i ddarllen</string>
+    <string name="notification_channel_messages_title">Negeseuon</string>
+</resources>
diff --git a/res/values-cy/strings.xml b/res/values-cy/strings.xml
new file mode 100644
index 0000000..143228e
--- /dev/null
+++ b/res/values-cy/strings.xml
@@ -0,0 +1,621 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name">Negesu</string>
+    <string name="share_intent_label">Negesu</string>
+    <string name="share_intent_activity_label">Dewis sgwrs</string>
+    <string name="action_settings">Gosodiadau</string>
+    <string name="sendButtonContentDescription">Anfon Neges</string>
+    <string name="attachMediaButtonContentDescription">Ychwanegu atodiad</string>
+    <string name="help_and_feedback_activity_label">Cymorth</string>
+    <string name="welcome">Croeso</string>
+    <string name="skip">Neidio</string>
+    <string name="next_with_arrow">Nesaf &gt;</string>
+    <string name="next">Nesaf</string>
+    <string name="exit">Cau</string>
+    <string name="settings_with_arrow">Gosodiadau &gt;</string>
+    <string name="settings">Gosodiadau</string>
+    <string name="required_permissions_promo">Mae ar Negesu angen caniatâd SMS, Ffôn a Cysylltiadau.</string>
+    <string name="enable_permission_procedure">Mae\'n bosib newid caniatâd yn Gosodiadau &gt; Apiau &gt; Negesu &gt; Caniatâd.</string>
+    <string name="enable_permission_procedure_description">Mae\'n bosib newid caniatâd yn Gosodiadau, Apiau, Negesu, Caniatâd.</string>
+    <string name="contact_picker_frequents_tab_title">Cysylltir yn aml</string>
+    <string name="contact_picker_all_contacts_tab_title">Pob cyswllt</string>
+    <string name="contact_list_send_to_text">Anfon at <xliff:g id="destination">%s</xliff:g></string>
+    <string name="mediapicker_cameraChooserDescription">Cipio lluniau neu fideo</string>
+    <string name="mediapicker_galleryChooserDescription">Dewis delweddau o\'r ddyfais hon</string>
+    <string name="mediapicker_audioChooserDescription">Recordio sain</string>
+    <string name="mediapicker_contactChooserDescription">Dewis cyswllt o\'r ddyfais hon</string>
+    <string name="mediapicker_gallery_title">Dewis cyfrwng</string>
+    <string name="mediapicker_gallery_item_selected_content_description">Dewiswyd y cyfrwng.</string>
+    <string name="mediapicker_gallery_item_unselected_content_description">Dad-ddewiswyd y cyfrwng.</string>
+    <string name="mediapicker_gallery_title_selection"><xliff:g id="count">%d</xliff:g> wedi\'u dewis</string>
+    <string name="mediapicker_gallery_image_item_description">delwedd <xliff:g id="date">%1$tB %1$te %1$tY %1$tl %1$tM %1$tp</xliff:g></string>
+    <string name="mediapicker_gallery_image_item_description_no_date">delwedd</string>
+    <string name="mediapicker_audio_title">Recordio sain</string>
+    <string name="mediapicker_contact_title">Dewis cyswllt</string>
+    <string name="contact_picker_hint_text">Clicia i agor rhestr cysylltiadau y ddyfais hon</string>
+    <string name="action_share">Rhannu</string>
+    <string name="posted_just_now">"Jyst nawr"</string>
+    <string name="posted_now">"Nawr"</string>
+    <plurals name="num_minutes_ago">
+        <item quantity="zero"><xliff:g id="count">%d</xliff:g> mun</item>
+        <item quantity="one"><xliff:g id="count">%d</xliff:g> mun</item>
+        <item quantity="two"><xliff:g id="count">%d</xliff:g> fun</item>
+        <item quantity="few"><xliff:g id="count">%d</xliff:g> mun</item>
+        <item quantity="many"><xliff:g id="count">%d</xliff:g> mun</item>
+        <item quantity="other"><xliff:g id="count">%d</xliff:g> mun</item>
+    </plurals>
+    <plurals name="num_hours_ago">
+        <item quantity="zero"><xliff:g id="count">%d</xliff:g> oriau</item>
+        <item quantity="one"><xliff:g id="count">%d</xliff:g> awr</item>
+        <item quantity="two"><xliff:g id="count">%d</xliff:g> awr</item>
+        <item quantity="few"><xliff:g id="count">%d</xliff:g> awr</item>
+        <item quantity="many"><xliff:g id="count">%d</xliff:g> awr</item>
+        <item quantity="other"><xliff:g id="count">%d</xliff:g> awr</item>
+    </plurals>
+    <plurals name="num_days_ago">
+        <item quantity="zero"><xliff:g id="count">%d</xliff:g> diwrnodau</item>
+        <item quantity="one"><xliff:g id="count">%d</xliff:g> diwrnod</item>
+        <item quantity="two"><xliff:g id="count">%d</xliff:g> ddiwrnod</item>
+        <item quantity="few"><xliff:g id="count">%d</xliff:g> diwrnod</item>
+        <item quantity="many"><xliff:g id="count">%d</xliff:g> diwrnod</item>
+        <item quantity="other"><xliff:g id="count">%d</xliff:g> diwrnod</item>
+    </plurals>
+    <plurals name="week_count">
+        <item quantity="zero"><xliff:g id="count">%d</xliff:g> wythnosau</item>
+        <item quantity="one">wythnos</item>
+        <item quantity="two">pythefnos</item>
+        <item quantity="few"><xliff:g id="count">%d</xliff:g> wythnos</item>
+        <item quantity="many"><xliff:g id="count">%d</xliff:g> wythnos</item>
+        <item quantity="other"><xliff:g id="count">%d</xliff:g> wythnos</item>
+    </plurals>
+    <plurals name="month_count">
+        <item quantity="zero"><xliff:g id="count">%d</xliff:g> misoedd</item>
+        <item quantity="one">mis</item>
+        <item quantity="two">deufis</item>
+        <item quantity="few"><xliff:g id="count">%d</xliff:g> mis</item>
+        <item quantity="many"><xliff:g id="count">%d</xliff:g> mis</item>
+        <item quantity="other"><xliff:g id="count">%d</xliff:g> mis</item>
+    </plurals>
+    <plurals name="year_count">
+        <item quantity="zero"><xliff:g id="count">%d</xliff:g> blynyddoedd</item>
+        <item quantity="one">blwyddyn</item>
+        <item quantity="two"><xliff:g id="count">%d</xliff:g> flwyddyn</item>
+        <item quantity="few"><xliff:g id="count">%d</xliff:g> blwyddyn</item>
+        <item quantity="many"><xliff:g id="count">%d</xliff:g> blwyddyn</item>
+        <item quantity="other"><xliff:g id="count">%d</xliff:g> blwyddyn</item>
+    </plurals>
+    <string name="class_0_message_activity">Neges dosbarth 0</string>
+    <string name="save">Cadw</string>
+    <string name="sms_storage_low_auto_delete_enabled_dialog_text">Does dim llawer o le yn weddill ar y ddyfais. Bydd negeseuon hyn yn cael eu dileu yn awtomatig i ryddhau lle.</string>
+    <string name="sms_storage_low_title">Yn rhedeg yn brin o le storio</string>
+    <string name="sms_storage_low_text">Mae\'n bosib na fydd Negesu yn anfon na derbyn negeseuon hyd nes bod mwy o le ar gael ar dy ddyfais.</string>
+    <string name="sms_storage_low_notification_ticker">Nid oes lawer o le i storio SMS. Mae\'n bosib bydd rhaid dileu negeseuon.</string>
+    <string name="enter_phone_number_title">Cadarnha dy rif ffôn</string>
+    <string name="enter_phone_number_text">Bydd y cam un tro yma yn sicrhau bod Negesu yn anfon dy negeseuon grwpiau yn gywir.</string>
+    <string name="enter_phone_number_hint">Rhif ffôn</string>
+    <string name="delete_all_media">Dileu pob neges sydd â chyfrwng</string>
+    <string name="delete_oldest_messages">Dileu negeseuon sy\'n hyn na <xliff:g id="duration">%s</xliff:g></string>
+    <string name="auto_delete_oldest_messages">Awto-dileu negeseuon sy\'n hyn na <xliff:g id="duration">%s</xliff:g></string>
+    <string name="ignore">Anwybyddu</string>
+    <string name="delete_all_media_confirmation">Dileu pob neges gyda chyfrwng?</string>
+    <string name="delete_oldest_messages_confirmation">Dileu negeseuon sy\'n hyn na <xliff:g id="duration">%s</xliff:g>?</string>
+    <string name="auto_delete_oldest_messages_confirmation">Dileu negeseuon yn hyn na <xliff:g id="duration">%s</xliff:g> a rhoi awto-dileu ar waith?</string>
+    <string name="incoming_text_sender_content_description">Dywedodd <xliff:g id="sender">%s</xliff:g></string>
+    <string name="outgoing_text_sender_content_description">Dywedaist</string>
+    <string name="incoming_sender_content_description">Neges oddi wrth <xliff:g id="sender">%s</xliff:g></string>
+    <string name="outgoing_sender_content_description">Anfonaist neges</string>
+    <string name="message_status_sending">Yn anfon…</string>
+    <string name="message_status_send_failed">Heb ei anfon. Tapia i geisio eto.</string>
+    <string name="message_status_send_retrying">Heb ei anfon. Yn ceisio eto…</string>
+    <string name="message_status_resend">Ail-anfon neu ddileu</string>
+    <string name="message_status_send_failed_emergency_number">Gwna alwad llais i\'r gwasanaethau brys. Dyw dy neges destun heb ei anfon ar hyn o bryd.</string>
+    <string name="message_status_failed">Wedi methu</string>
+    <string name="message_title_manual_download">Neges MMS newydd i\'w lawrlwytho</string>
+    <string name="message_title_downloading">Neges MMS newydd</string>
+    <string name="message_title_download_failed">Methwyd â lawrlwytho</string>
+    <string name="message_status_download_failed">Tapia i geisio eto</string>
+    <string name="message_status_download">Tapia i lawrlwytho</string>
+    <string name="message_status_download_action">Lawrlwytho neu ddileu</string>
+    <string name="message_status_downloading">Yn lawrlwytho…</string>
+    <string name="message_status_download_error">Neges wedi dod i ben neu ddim ar gael</string>
+    <string name="mms_info">maint: <xliff:g id="messageSize">%1$s</xliff:g>, dod i ben: <xliff:g id="messageExpire">%2$s</xliff:g></string>
+    <string name="invalid_destination">Methu ag anfon. Derbynnydd annilys.</string>
+    <string name="service_not_activated">Gwasanaeth heb ei actifadu ar y rhwydwaith</string>
+    <string name="service_network_problem">Methwyd ag anfon o achos problem rhwydwaith</string>
+    <string name="service_message_not_found">Neges wedi dod i ben neu ddim ar gael</string>
+    <string name="no_subject">(Dim pwnc)</string>
+    <string name="unknown_sender">Anfonwr anhysbys</string>
+    <string name="delivered_status_content_description">Wedi\'i derbyn</string>
+    <string name="dl_failure_notification">Methwyd â lawrlwytho\'r neges <xliff:g id="subject">%1$s</xliff:g> oddi wrth <xliff:g id="from">%2$s</xliff:g>.</string>
+    <string name="low_memory">Methwyd â chwblhau weithred y gronfa ddata gan nad oed digon o gof</string>
+    <string name="notification_send_failures_line1_singular">Neges heb ei anfon</string>
+    <string name="notification_send_failures_line1_plural">Dyw rhai negeseuon heb eu hanfon yn Negeseua</string>
+    <plurals name="notification_send_failures">
+        <item quantity="zero"><xliff:g id="messages">%d</xliff:g> neges mewn <xliff:g id="conversations">%d</xliff:g> sgwrs</item>
+        <item quantity="one"><xliff:g id="messages">%d</xliff:g> neges mewn un sgwrs</item>
+        <item quantity="two"><xliff:g id="messages">%d</xliff:g> neges mewn <xliff:g id="conversations">%d</xliff:g> sgwrs</item>
+        <item quantity="few"><xliff:g id="messages">%d</xliff:g> neges mewn <xliff:g id="conversations">%d</xliff:g> sgwrs</item>
+        <item quantity="many"><xliff:g id="messages">%d</xliff:g> neges mewn <xliff:g id="conversations">%d</xliff:g> sgwrs</item>
+        <item quantity="other"><xliff:g id="messages">%d</xliff:g> neges mewn <xliff:g id="conversations">%d</xliff:g> sgwrs</item>
+    </plurals>
+    <string name="notification_download_failures_line1_singular">Neges heb ei lawrlwytho</string>
+    <string name="notification_download_failures_line1_plural">Rhai negeseuon heb lawrlwytho yn Negesu</string>
+    <plurals name="notification_download_failures">
+        <item quantity="zero"><xliff:g id="messages">%d</xliff:g> neges mewn <xliff:g id="conversations">%d</xliff:g> sgyrsiau</item>
+        <item quantity="one"><xliff:g id="messages">%d</xliff:g> neges mewn un sgwrs</item>
+        <item quantity="two"><xliff:g id="messages">%d</xliff:g> neges mewn <xliff:g id="conversations">%d</xliff:g> sgwrs</item>
+        <item quantity="few"><xliff:g id="messages">%d</xliff:g> neges mewn <xliff:g id="conversations">%d</xliff:g> sgwrs</item>
+        <item quantity="many"><xliff:g id="messages">%d</xliff:g> neges mewn <xliff:g id="conversations">%d</xliff:g> sgwrs</item>
+        <item quantity="other"><xliff:g id="messages">%d</xliff:g> neges mewn <xliff:g id="conversations">%d</xliff:g> sgwrs</item>
+    </plurals>
+    <string name="notification_emergency_send_failure_line1">Neges at <xliff:g id="number">%1$s</xliff:g> heb ei anfon</string>
+    <string name="notification_emergency_send_failure_line2">Gwna alwad llais i\'r gwasanaethau brys. Dyw dy neges destun at <xliff:g id="number">%1$s</xliff:g> heb ei anfon ar hyn o bryd.    </string>
+    <plurals name="notification_new_messages">
+        <item quantity="zero"><xliff:g id="messages">%d</xliff:g> negeseuon newydd</item>
+        <item quantity="one">Neges newydd</item>
+        <item quantity="two"><xliff:g id="messages">%d</xliff:g> neges newydd</item>
+        <item quantity="few"><xliff:g id="messages">%d</xliff:g> neges newydd</item>
+        <item quantity="many"><xliff:g id="messages">%d</xliff:g> neges newydd</item>
+        <item quantity="other"><xliff:g id="messages">%d</xliff:g> neges newydd</item>
+    </plurals>
+    <string name="start_conversation">Dechrau</string>
+    <string name="camera_error_opening">Camera ddim ar gael</string>
+    <string name="camera_error_unknown">Camera ddim ar gael</string>
+    <string name="camera_error_video_init_fail">Cipio fideo dim ar gael</string>
+    <string name="camera_error_storage_fail">Methu â chadw\'r cyfrwng</string>
+    <string name="camera_error_failure_taking_picture">Methu â chymryd llun</string>
+    <string name="back">Nôl</string>
+    <string name="action_menu_show_archived">Wedi\'u harchifo</string>
+    <string name="action_delete">Dileu</string>
+    <string name="action_archive">Archifo</string>
+    <string name="action_unarchive">Tynnu o\'r archif</string>
+    <string name="action_add_contact">Ychwanegu cyswllt</string>
+    <string name="action_download">Lawrlwytho</string>
+    <string name="action_send">Anfon</string>
+    <string name="action_delete_message">Dileu</string>
+    <string name="delete_message_confirmation_dialog_title">Dileu\'r neges hon?</string>
+    <string name="delete_message_confirmation_dialog_text">Ni fydd yn bosib dadwneud hyn!</string>
+    <string name="delete_message_confirmation_button">Dileu</string>
+    <plurals name="delete_conversations_confirmation_dialog_title">
+        <item quantity="zero">Dileu\'r sgyrsiau hyn?</item>
+        <item quantity="one">Dileu\'r sgwrs hon?</item>
+        <item quantity="two">Dileu\'r sgyrsiau hyn?</item>
+        <item quantity="few">Dileu\'r sgyrsiau hyn?</item>
+        <item quantity="many">Dileu\'r sgyrsiau hyn?</item>
+        <item quantity="other">Dileu\'r sgyrsiau hyn?</item>
+    </plurals>
+    <string name="delete_conversation_confirmation_button">Dileu</string>
+    <string name="delete_conversation_decline_button">Diddymu</string>
+    <string name="recipient_hint">At</string>
+    <string name="action_multiselect">Dewis mwy nag un ddelwedd</string>
+    <string name="action_confirm_multiselect">Cadarnhau\'r dewis</string>
+    <string name="attachment_more_items">+<xliff:g id="count">%d</xliff:g></string>
+    <string name="audio_recording_start_failed">Methu â recordio sain. Ceisia eto.</string>
+    <string name="audio_recording_replay_failed">Methu â chwarae sain. Ceisia eto.</string>
+    <string name="audio_recording_error">Methwyd â chadw sain. Ceisia eto.</string>
+    <string name="audio_picker_hint_text">Tapio a dal</string>
+    <string name="enumeration_comma">,\u0020</string>
+    <string name="notification_separator">\u0020\u0020</string>
+    <string name="notification_ticker_separator">:\u0020</string>
+    <string name="notification_space_separator">\u0020\u0020</string>
+    <string name="notification_picture">Llun</string>
+    <string name="notification_audio">Clip sain</string>
+    <string name="notification_video">Fideo</string>
+    <string name="notification_vcard">Cerdyn cyswllt</string>
+    <string name="notification_download_mms">Lawrlwytho</string>
+    <string name="notification_reply_via_sms">Ateb trwy SMS</string>
+    <string name="notification_reply_via_mms">Ateb trwy MMS</string>
+    <string name="notification_reply_prompt">Ateb</string>
+    <plurals name="wearable_participant_count">
+        <item quantity="zero"><xliff:g id="count">%d</xliff:g> cyfranogwyr</item>
+        <item quantity="one"><xliff:g id="count">%d</xliff:g> cyfranogwr</item>
+        <item quantity="two"><xliff:g id="count">%d</xliff:g> gyfranogwr</item>
+        <item quantity="few"><xliff:g id="count">%d</xliff:g> chyfranogwr</item>
+        <item quantity="many"><xliff:g id="count">%d</xliff:g> chyfranogwr</item>
+        <item quantity="other"><xliff:g id="count">%d</xliff:g> cyfranogwr</item>
+    </plurals>
+    <string name="unknown_self_participant">Fi</string>
+    <string name="blocked_toast_message">Cyswllt wedi\'i rwystro a\'i archifo</string>
+    <string name="unblocked_toast_message">Cyswllt wedi\'i dadrwystro a\'i dynnu o\'r archif</string>
+    <string name="archived_toast_message"><xliff:g id="count">%d</xliff:g> wedi\'u harchifo</string>
+    <string name="unarchived_toast_message"><xliff:g id="count">%d</xliff:g> wedi\'u dad-archifo</string>
+    <string name="notification_off_toast_message">Hysbysiadau i ffwrdd</string>
+    <string name="notification_on_toast_message">Hysbysiadau ymlaen</string>
+    <string name="toast_after_setting_default_sms_app_for_message_send">Yn barod. Tapia Anfon unwaith eto.</string>
+    <string name="toast_after_setting_default_sms_app">Gosodwyd Negesu fel yr ap rhagosodedig ar gyfer SMS.</string>
+    <plurals name="attachment_preview_close_content_description">
+        <item quantity="zero">Gwaredu atodiadau</item>
+        <item quantity="one">Gwaredu atodiad</item>
+        <item quantity="two">Gwaredu atodiadau</item>
+        <item quantity="few">Gwaredu atodiadau</item>
+        <item quantity="many">Gwaredu atodiadau</item>
+        <item quantity="other">Gwaredu atodiadau</item>
+    </plurals>
+    <string name="audio_attachment_content_description">Atodiad sain</string>
+    <string name="audio_play_content_description">Chwarae atodiad sain</string>
+    <string name="audio_pause_content_description">Saib</string>
+    <string name="incoming_message_announcement">Neges oddi wrth <xliff:g id="sender">%1$s</xliff:g>: <xliff:g id="message">%2$s</xliff:g>.</string>
+    <string name="one_on_one_incoming_failed_message_prefix">Neges wedi methu oddi wrth <xliff:g id="sender">%1$s</xliff:g>: <xliff:g id="message">%2$s</xliff:g>. Amser: <xliff:g id="time">%3$s</xliff:g>.</string>
+    <string name="one_on_one_incoming_successful_message_prefix">Neges oddi wrth <xliff:g id="sender">%1$s</xliff:g>: <xliff:g id="message">%2$s</xliff:g>. Amser: <xliff:g id="time">%3$s</xliff:g>.</string>
+    <string name="one_on_one_outgoing_draft_message_prefix">Neges heb ei anfon at <xliff:g id="contact">%1$s</xliff:g>: <xliff:g id="message">%2$s</xliff:g>. Amser: <xliff:g id="time">%3$s</xliff:g>.</string>
+    <string name="one_on_one_outgoing_sending_message_prefix">Yn anfon neges at <xliff:g id="contact">%1$s</xliff:g>: <xliff:g id="message">%2$s</xliff:g>. Amser: <xliff:g id="time">%3$s</xliff:g>.</string>
+    <string name="one_on_one_outgoing_failed_message_prefix">Neges wedi methu at <xliff:g id="contact">%1$s</xliff:g>: <xliff:g id="message">%2$s</xliff:g>. Amser: <xliff:g id="time">%3$s</xliff:g>.</string>
+    <string name="one_on_one_outgoing_successful_message_prefix">Neges at <xliff:g id="contact">%1$s</xliff:g>: <xliff:g id="message">%2$s</xliff:g>. Amser: <xliff:g id="time">%3$s</xliff:g>.</string>
+    <string name="group_incoming_failed_message_prefix">Neges wedi methu oddi wrth <xliff:g id="sender">%1$s</xliff:g>: <xliff:g id="message">%2$s</xliff:g>. Amser: <xliff:g id="time">%3$s</xliff:g>. <xliff:g id="groupInfo">%4$s</xliff:g>.</string>
+    <string name="group_incoming_successful_message_prefix">Neges oddi wrth <xliff:g id="sender">%1$s</xliff:g>: <xliff:g id="message">%2$s</xliff:g>. Amser: <xliff:g id="time">%3$s</xliff:g>. <xliff:g id="groupInfo">%4$s</xliff:g>.</string>
+    <string name="group_outgoing_draft_message_prefix">Neges heb ei anfon at <xliff:g id="group">%1$s</xliff:g>: <xliff:g id="message">%2$s</xliff:g>. Amser: <xliff:g id="time">%3$s</xliff:g>.</string>
+    <string name="group_outgoing_sending_message_prefix">Yn anfon neges at <xliff:g id="group">%1$s</xliff:g>: <xliff:g id="message">%2$s</xliff:g>. Amser: <xliff:g id="time">%3$s</xliff:g>.</string>
+    <string name="group_outgoing_failed_message_prefix">Neges wedi methu at <xliff:g id="group">%1$s</xliff:g>: <xliff:g id="message">%2$s</xliff:g>. Amser: <xliff:g id="time">%3$s</xliff:g>.</string>
+    <string name="group_outgoing_successful_message_prefix">Neges at <xliff:g id="group">%1$s</xliff:g>: <xliff:g id="message">%2$s</xliff:g>. Amser: <xliff:g id="time">%3$s</xliff:g>.</string>
+    <string name="failed_message_content_description">Methodd y neges. Tapia i geisio eto.</string>
+    <string name="group_conversation_description">Sgwrs gyda <xliff:g id="participants">%s</xliff:g></string>
+    <string name="delete_subject_content_description">Dileu\'r pwnc</string>
+    <string name="camera_switch_to_video_mode">Cipio fideo</string>
+    <string name="camera_switch_to_still_mode">Cipio llun llonydd</string>
+    <string name="camera_take_picture">Tynnu llun</string>
+    <string name="camera_start_recording">Dechrau recordio fideo</string>
+    <string name="camera_switch_full_screen">Newid i gamera sgrin lawn</string>
+    <string name="camera_switch_camera_facing">Newid rhwng camerâu cefn a blaen</string>
+    <string name="camera_stop_recording">Stopio recordio ac atodi fideo</string>
+    <string name="camera_cancel_recording">Stopio recordio fideo</string>
+    <string name="photo_view_activity_title">Lluniau Negeseua</string>
+    <plurals name="photos_saved_to_album">
+        <item quantity="zero"><xliff:g id="quantity">%d</xliff:g> lluniau wedi eu cadw i\'r casgliad \"<xliff:g id="albumName">%s</xliff:g>\"</item>
+        <item quantity="one"><xliff:g id="quantity">%d</xliff:g> llun wedi ei gadw i\'r casgliad \"<xliff:g id="albumName">%s</xliff:g>\"</item>
+        <item quantity="two"><xliff:g id="quantity">%d</xliff:g> lun wedi eu cadw i\'r casgliad \"<xliff:g id="albumName">%s</xliff:g>\"</item>
+        <item quantity="few"><xliff:g id="quantity">%d</xliff:g> llun wedi eu cadw i\'r casgliad \"<xliff:g id="albumName">%s</xliff:g>\"</item>
+        <item quantity="many"><xliff:g id="quantity">%d</xliff:g> llun wedi eu cadw i\'r casgliad \"<xliff:g id="albumName">%s</xliff:g>\"</item>
+        <item quantity="other"><xliff:g id="quantity">%d</xliff:g> llun wedi eu cadw i\'r casgliad \"<xliff:g id="albumName">%s</xliff:g>\"</item>
+    </plurals>
+    <plurals name="videos_saved_to_album">
+        <item quantity="zero"><xliff:g id="quantity">%d</xliff:g> fideos wedi eu cadw i\'r casgliad \"<xliff:g id="albumName">%s</xliff:g>\"</item>
+        <item quantity="one"><xliff:g id="quantity">%d</xliff:g> fideo wedi ei gadw i\'r casgliad \"<xliff:g id="albumName">%s</xliff:g>\"</item>
+        <item quantity="two"><xliff:g id="quantity">%d</xliff:g> fideo wedi eu cadw i\'r casgliad \"<xliff:g id="albumName">%s</xliff:g>\"</item>
+        <item quantity="few"><xliff:g id="quantity">%d</xliff:g> fideo wedi eu cadw i\'r casgliad \"<xliff:g id="albumName">%s</xliff:g>\"</item>
+        <item quantity="many"><xliff:g id="quantity">%d</xliff:g> fideo wedi eu cadw i\'r casgliad \"<xliff:g id="albumName">%s</xliff:g>\"</item>
+        <item quantity="other"><xliff:g id="quantity">%d</xliff:g> fideo wedi eu cadw i\'r casgliad \"<xliff:g id="albumName">%s</xliff:g>\"</item>
+    </plurals>
+    <plurals name="attachments_saved_to_album">
+        <item quantity="zero"><xliff:g id="quantity">%d</xliff:g> atodiadau wedi eu cadw i\'r casgliad \"<xliff:g id="albumName">%s</xliff:g>\"</item>
+        <item quantity="one"><xliff:g id="quantity">%d</xliff:g> atodiad wedi ei gadw i\'r casgliad \"<xliff:g id="albumName">%s</xliff:g>\"</item>
+        <item quantity="two"><xliff:g id="quantity">%d</xliff:g> atodiad wedi eu cadw i\'r casgliad \"<xliff:g id="albumName">%s</xliff:g>\"</item>
+        <item quantity="few"><xliff:g id="quantity">%d</xliff:g> atodiad wedi eu cadw i\'r casgliad \"<xliff:g id="albumName">%s</xliff:g>\"</item>
+        <item quantity="many"><xliff:g id="quantity">%d</xliff:g> atodiad wedi eu cadw i\'r casgliad \"<xliff:g id="albumName">%s</xliff:g>\"</item>
+        <item quantity="other"><xliff:g id="quantity">%d</xliff:g> atodiad wedi eu cadw i\'r casgliad \"<xliff:g id="albumName">%s</xliff:g>\"</item>
+    </plurals>
+    <plurals name="attachments_saved_to_downloads">
+        <item quantity="zero"><xliff:g id="quantity">%d</xliff:g> atodiadau wedi eu cadw yn \"Llwythi\"</item>
+        <item quantity="one"><xliff:g id="quantity">%d</xliff:g> atodiad wedi ei gadw yn \"Llwythi\"</item>
+        <item quantity="two"><xliff:g id="quantity">%d</xliff:g> atodiad wedi eu cadw yn \"Llwythi\"</item>
+        <item quantity="few"><xliff:g id="quantity">%d</xliff:g> atodiad wedi eu cadw yn \"Llwythi\"</item>
+        <item quantity="many"><xliff:g id="quantity">%d</xliff:g> atodiad wedi eu cadw yn \"Llwythi\"</item>
+        <item quantity="other"><xliff:g id="quantity">%d</xliff:g> atodiad wedi eu cadw yn \"Llwythi\"</item>
+    </plurals>
+    <plurals name="attachments_saved">
+        <item quantity="zero"><xliff:g id="quantity">%d</xliff:g> atodiadau wedi eu cadw</item>
+        <item quantity="one"><xliff:g id="quantity">%d</xliff:g> atodiad wedi ei gadw</item>
+        <item quantity="two"><xliff:g id="quantity">%d</xliff:g> atodiad wedi eu cadw</item>
+        <item quantity="few"><xliff:g id="quantity">%d</xliff:g> atodiad wedi eu cadw</item>
+        <item quantity="many"><xliff:g id="quantity">%d</xliff:g> atodiad wedi eu cadw</item>
+        <item quantity="other"><xliff:g id="quantity">%d</xliff:g> atodiad wedi eu cadw</item>
+    </plurals>
+    <plurals name="attachment_save_error">
+        <item quantity="zero">Methwyd â chadw <xliff:g id="quantity">%d</xliff:g> atodiadau</item>
+        <item quantity="one">Methwyd â chadw <xliff:g id="quantity">%d</xliff:g> atodiad</item>
+        <item quantity="two">Methwyd â chadw <xliff:g id="quantity">%d</xliff:g> atodiad</item>
+        <item quantity="few">Methwyd â chadw <xliff:g id="quantity">%d</xliff:g> atodiad</item>
+        <item quantity="many">Methwyd â chadw <xliff:g id="quantity">%d</xliff:g> atodiad</item>
+        <item quantity="other">Methwyd â chadw <xliff:g id="quantity">%d</xliff:g> atodiad</item>
+    </plurals>
+    <string name="attachment_file_description">Atodiad MMS wedi\'i gadw</string>
+    <string name="settings_activity_title">Gosodiadau</string>
+    <string name="archived_activity_title">Wedi\'u harchifo</string>
+    <string name="action_close">Cau</string>
+    <string name="mms_messaging_category_pref_title">MMS</string>
+    <string name="advanced_category_pref_title">Uwch</string>
+    <string name="debug_category_pref_title">Dadfygio</string>
+    <string name="notifications_pref_title">Hysbysiadau</string>
+    <string name="silent_ringtone">Distaw</string>
+    <string name="blocked_pref_title">Wedi\'i rhwystro</string>
+    <string name="delivery_reports_pref_title">Adroddiadau danfon SMS</string>
+    <string name="delivery_reports_pref_summary">Gofyn am adroddiad ar gyfer pob neges SMS wyt ti\'n ei anfon i gadarnhau ei bod wedi cyrraedd</string>
+    <string name="auto_retrieve_mms_pref_title">Cyrchu\'n awtomatig</string>
+    <string name="auto_retrieve_mms_pref_summary">Nôl negeseuon MMS yn awtomatig</string>
+    <string name="auto_retrieve_mms_when_roaming_pref_title">Cyrchu\'n awtomatig wrth grwydro</string>
+    <string name="auto_retrieve_mms_when_roaming_pref_summary">Nôl negeseuon MMS yn awtomatig wrth grwydro tramor</string>
+    <string name="group_mms_pref_title">Negeseua grŵp</string>
+    <string name="group_mms_pref_summary">Defnyddia MMS i anfon yr un neges at nifer o bobol.</string>
+    <string name="sms_disabled_pref_title">Ap SMS rhagosodedig</string>
+    <string name="sms_enabled_pref_title">Ap SMS rhagosodedig</string>
+    <string name="default_sms_app"><xliff:g id="app_name">%s</xliff:g></string>
+    <string name="mms_phone_number_pref_title">Dy rif ffôn</string>
+    <string name="unknown_phone_number_pref_display_value">Anhysybys</string>
+    <string name="send_sound_pref_title">Seiniau negeseuon allan</string>
+    <string name="dump_sms_pref_title">Dympio SMS</string>
+    <string name="dump_sms_pref_summary">Dympio data craidd negeseuon SMS a dderbyniwyd mewn i ffeil storfa allanol</string>
+    <string name="dump_mms_pref_title">Dympio MMS</string>
+    <string name="dump_mms_pref_summary">Dympio data craidd negeseuon MMS a dderbyniwyd mewn i ffeil storfa allanol</string>
+    <string name="wireless_alerts_title">Hysbysiadau di-wifr</string>
+    <string name="message_context_menu_title">Dewisiadau neges</string>
+    <string name="message_context_menu_copy_text">Copïo\'r testun</string>
+    <string name="message_context_menu_view_details">Gweld manylion</string>
+    <string name="message_context_menu_delete_message">Dileu</string>
+    <string name="message_context_menu_forward_message">Anfon ymlaen</string>
+    <string name="message_details_title">Manylion y neges</string>
+    <string name="message_type_label">Math:\u0020</string>
+    <string name="text_message">Neges destun</string>
+    <string name="multimedia_message">Neges amlgyfrwng</string>
+    <string name="from_label">Oddi wrth:\u0020</string>
+    <string name="to_address_label">At:\u0020</string>
+    <string name="sent_label">Anfonwyd:\u0020</string>
+    <string name="received_label">Derbyniwyd:\u0020</string>
+    <string name="subject_label">Pwnc:\u0020</string>
+    <string name="message_size_label">Maint:\u0020</string>
+    <string name="priority_label">Blaenoriaeth:\u0020</string>
+    <string name="sim_label">SIM:\u0020</string>
+    <string name="priority_high">Uchel</string>
+    <string name="priority_normal">Arferol</string>
+    <string name="priority_low">Isel</string>
+    <string name="sim_slot_identifier">SIM <xliff:g id="sim_slot_number">%s</xliff:g></string>
+    <string name="hidden_sender_address">Cyfeiriad anfonwr cudd</string>
+    <string name="cant_send_message_while_loading_attachments">Methu ag anfon neges wrth lwytho atodiadau.</string>
+    <string name="fail_to_load_attachment">Methu â llwytho\'r atodiad. Ceisia eto.</string>
+    <string name="cant_send_message_without_active_subscription">Dyw\'r rhwydwaith ddim yn barod. Ceisia eto.</string>
+    <string name="chips_text_delete_button_content_description">Dileu testun</string>
+    <string name="numeric_text_keyboard_toggle_button_content_description">Newid rhwng mewnbynnu testun a rhifau</string>
+    <string name="add_more_participants_button_content_description">Ychwanegu rhagor o gyfranogwyr</string>
+    <string name="confrim_participants_button_content_description">Cadarnhau cyfranogwyr</string>
+    <string name="start_new_conversation">Dechrau sgwrs newydd</string>
+    <string name="gallery_checkbox_content_description">Dewis yr eitem hon</string>
+    <string name="video_thumbnail_view_play_button_content_description">Chwarae fideo</string>
+    <string name="action_people_and_options">Pobol a dewisiadau</string>
+    <string name="action_debug_options">Dadfygio</string>
+    <string name="people_and_options_activity_title">Pobol a dewisiadau</string>
+    <string name="general_settings_title">Cyffredinol</string>
+    <string name="participant_list_title">Pobl yn y sgwrs hon</string>
+    <string name="action_call">Gwneud galwad</string>
+    <string name="compose_message_view_hint_text">Anfon neges</string>
+    <string name="compose_message_view_hint_text_multi_sim">Anfon neges &lt;br/&gt;&lt;small&gt;oddi wrth<xliff:g id="sim_name">%s</xliff:g>&lt;/small&gt;</string>
+    <plurals name="compose_message_view_hint_text_photo">
+        <item quantity="zero">Anfon lluniau</item>
+        <item quantity="one">Anfon llun</item>
+        <item quantity="two">Anfon lluniau</item>
+        <item quantity="few">Anfon lluniau</item>
+        <item quantity="many">Anfon lluniau</item>
+        <item quantity="other">Anfon lluniau</item>
+    </plurals>
+    <plurals name="compose_message_view_hint_text_audio">
+        <item quantity="zero">Anfon sain</item>
+        <item quantity="one">Anfon sain</item>
+        <item quantity="two">Anfon sain</item>
+        <item quantity="few">Anfon sain</item>
+        <item quantity="many">Anfon sain</item>
+        <item quantity="other">Anfon sain</item>
+    </plurals>
+    <plurals name="compose_message_view_hint_text_video">
+        <item quantity="zero">Anfon fideos</item>
+        <item quantity="one">Anfon fideo</item>
+        <item quantity="two">Anfon fideos</item>
+        <item quantity="few">Anfon fideos</item>
+        <item quantity="many">Anfon fideos</item>
+        <item quantity="other">Anfon fideos</item>
+    </plurals>
+    <plurals name="compose_message_view_hint_text_vcard">
+        <item quantity="zero">Anfon cardiau cyswllt</item>
+        <item quantity="one">Anfon cerdyn cyswllt</item>
+        <item quantity="two">Anfon cardiau cyswllt</item>
+        <item quantity="few">Anfon cardiau cyswllt</item>
+        <item quantity="many">Anfon cardiau cyswllt</item>
+        <item quantity="other">Anfon cardiau cyswllt</item>
+    </plurals>
+    <plurals name="compose_message_view_hint_text_attachments">
+        <item quantity="zero">Anfon atodiadau</item>
+        <item quantity="one">Anfon atodiad</item>
+        <item quantity="two">Anfon atodiadau</item>
+        <item quantity="few">Anfon atodiadau</item>
+        <item quantity="many">Anfon atodiadau</item>
+        <item quantity="other">Anfon atodiadau</item>
+    </plurals>
+    <plurals name="attachment_changed_accessibility_announcement">
+        <item quantity="zero"><xliff:g id="attachment_count">%d</xliff:g> atodiadau yn barod i\'w hanfon</item>
+        <item quantity="one">Un atodiad yn barod i\'w anfon</item>
+        <item quantity="two"><xliff:g id="attachment_count">%d</xliff:g> atodiad yn barod i\'w hanfon</item>
+        <item quantity="few"><xliff:g id="attachment_count">%d</xliff:g> atodiad yn barod i\'w hanfon</item>
+        <item quantity="many"><xliff:g id="attachment_count">%d</xliff:g> atodiad yn barod i\'w hanfon</item>
+        <item quantity="other"><xliff:g id="attachment_count">%d</xliff:g> atodiad yn barod i\'w hanfon</item>
+    </plurals>
+    <string name="menu_send_feedback">Anfon adborth</string>
+    <string name="menu_view_in_store">Gweld yn Google Play Store</string>
+    <string name="menu_version_info">Gwybodaeth am y fersiwn</string>
+    <string name="subtitle_format_for_version_number">Fersiwn %1$s</string>
+    <string name="menu_license">Trwyddedau cod agored</string>
+    <string name="notifications_enabled_conversation_pref_title">Hysbysiadau</string>
+    <string name="mms_attachment_limit_reached">Wedi cyrraedd mwyafswm atodiadau</string>
+    <string name="mms_attachment_load_failed">Methwyd â llwytho atodiad.</string>
+    <string name="add_contact_confirmation_dialog_title">Ychwanegu at Gysylltiadau?</string>
+    <string name="add_contact_confirmation">Ychwanegu Cyswllt</string>
+    <string name="compose_message_view_subject_hint_text">Pwnc</string>
+    <string name="conversation_message_view_subject_text">Pwnc:\u0020</string>
+    <string name="notification_subject"><xliff:g id="subject_label">%1$s</xliff:g><xliff:g id="messageText">%2$s</xliff:g></string>
+    <string name="loading_vcard">Yn llwytho cerdyn cyswllt</string>
+    <string name="failed_loading_vcard">Methwyd â llwytho cerdyn cyswllt</string>
+    <string name="vcard_tap_hint">Gweld cerdyn cyswllt</string>
+    <plurals name="vcard_multiple_display_name">
+        <item quantity="zero"><xliff:g id="count">%d</xliff:g> cysylltiadau</item>
+        <item quantity="one"><xliff:g id="count">%d</xliff:g> cyswllt</item>
+        <item quantity="two"><xliff:g id="count">%d</xliff:g> gyswllt</item>
+        <item quantity="few"><xliff:g id="count">%d</xliff:g> chyswllt</item>
+        <item quantity="many"><xliff:g id="count">%d</xliff:g> chyswllt</item>
+        <item quantity="other"><xliff:g id="count">%d</xliff:g> cyswllt</item>
+    </plurals>
+    <string name="vcard_detail_activity_title">Cardiau cysylltiadau</string>
+    <string name="vcard_detail_birthday_label">Pen-blwydd</string>
+    <string name="vcard_detail_notes_label">Nodiadau</string>
+    <string name="forward_message_activity_title">Anfon y neges ymlaen</string>
+    <string name="reply_activity_title">Ateb</string>
+    <string name="plus_one">+1</string>
+    <string name="plus_n">+%d</string>
+    <string name="sms_disabled">SMS wedi\'i analluogi</string>
+    <string name="requires_default_sms_app_to_send">I anfon y neges, gosoda Negesu fel yr ap SMS rhagosodedig.</string>
+    <string name="requires_default_sms_app">Gosod Negesu fel yr ap SMS rhagosodedig</string>
+    <string name="requires_default_sms_change_button">Newid</string>
+    <string name="recommend_set_default_sms_app">I dderbyn negeseuon, gosoda Negesu fel yr ap SMS rhagosodedig</string>
+    <string name="no_preferred_sim_selected">Nid oes SIM wedi\'i ddewis i\'w ffafrio ar gyfer anfon negeseuon SMS.</string>
+    <string name="requires_sms_permissions_message">Nid yw perchennog y ddyfais yn caniatáu\'r ap hwn.</string>
+    <string name="requires_sms_permissions_close_button">Iawn</string>
+    <string name="too_many_participants">Gormod o gyfranogwyr mewn sgwrs</string>
+    <plurals name="add_invalid_contact_error">
+        <item quantity="zero">Cysylltiadau annilys</item>
+        <item quantity="one">Cyswllt annilys</item>
+        <item quantity="two">Cysylltiadau annilys</item>
+        <item quantity="few">Cysylltiadau annilys</item>
+        <item quantity="many">Cysylltiadau annilys</item>
+        <item quantity="other">Cysylltiadau annilys</item>
+    </plurals>
+    <string name="camera_media_failure">Methwyd â llwytho delwedd camera</string>
+    <string name="conversation_list_item_view_sent_from_you_prefix">Ti:\u0020</string>
+    <string name="conversation_list_item_view_sent_from_other_prefix"><xliff:g id="firstNameOfSender">%s</xliff:g>:\u0020</string>
+    <string name="conversation_list_item_view_draft_message">Drafft</string>
+    <string name="conversation_list_empty_text">Pan fyddi\'n dechrau sgwrs newydd, mi fydd yn ymddangos mewn rhestr yma</string>
+    <string name="archived_conversation_list_empty_text">Mae sgyrsiau wedi\'u harchifo yn ymddangos yma</string>
+    <string name="conversation_list_first_sync_text">Yn llwytho sgyrsiau…</string>
+    <string name="conversation_list_snippet_picture">Llun</string>
+    <string name="conversation_list_snippet_audio_clip">Clip sain</string>
+    <string name="conversation_list_snippet_video">Fideo</string>
+    <string name="conversation_list_snippet_vcard">Cerdyn cyswllt</string>
+    <string name="mms_text">MMS</string>
+    <string name="snack_bar_undo">Dadwneud</string>
+    <string name="snack_bar_retry">Ail-geisio</string>
+    <string name="contact_list_empty_text">Rho enw neu rif ffôn cyswllt i ddechrau neges newydd.</string>
+    <string name="action_block">Rhwystro</string>
+    <string name="block_contact_title">Rhwystro <xliff:g id="destination">%s</xliff:g></string>
+    <string name="unblock_contact_title">Dadrwystro <xliff:g id="destination">%s</xliff:g></string>
+    <string name="block_confirmation_title">Rhwystro <xliff:g id="destination">%s</xliff:g>?</string>
+    <string name="block_confirmation_message">Mi fyddi\'n parhau i dderbyn negeseuon oddi wrth y rhif hwn ond ni fyddi di bellach yn cael dy hysbysu. Caiff y sgwrs hon ei harchifo.</string>
+    <string name="blocked_contacts_title">Cysylltiadau a rhwystrwyd</string>
+    <string name="tap_to_unblock_message">DADRWYSTRO</string>
+    <string name="view_blocked_contacts_title">Cysylltiadau a rhwystrwyd</string>
+    <string name="pick_image_from_document_library_content_description">Dewis delwedd o\'r llyfrgell dogfennau</string>
+    <string name="sending_message">Anfon neges</string>
+    <string name="send_message_success">Anfonwyd y neges</string>
+    <string name="send_message_failure_no_data">Rhwydwaith symudol wedi\'i ddiffodd. Gwiria dy osodiadau.</string>
+    <string name="send_message_failure_airplane_mode">Nid yw\'n bosib anfon negeseuon ym Modd Awyren</string>
+    <string name="send_message_failure">Methwyd ag anfon y neges</string>
+    <string name="download_message_success">Neges wedi\'i lawrlwytho</string>
+    <string name="download_message_failure_no_data">Rhwydwaith symudol wedi\'i ddiffodd. Gwiria dy osodiadau.</string>
+    <string name="download_message_failure_airplane_mode">Nid yw\'n bosib lawrlwytho negeseuon ym Modd Awyren</string>
+    <string name="download_message_failure">Methwyd â lawrlwytho\'r neges</string>
+    <string name="content_description_for_number_zero">Sero</string>
+    <string name="content_description_for_number_one">Un</string>
+    <string name="content_description_for_number_two">Dau</string>
+    <string name="content_description_for_number_three">Tri</string>
+    <string name="content_description_for_number_four">Pedwar</string>
+    <string name="content_description_for_number_five">Pump</string>
+    <string name="content_description_for_number_six">Chwech</string>
+    <string name="content_description_for_number_seven">Saith</string>
+    <string name="content_description_for_number_eight">Wyth</string>
+    <string name="content_description_for_number_nine">Naw</string>
+    <string name="carrier_send_error">Methu ag anfon neges gyda <xliff:g id="carrierName">%1$s</xliff:g>. Gwall <xliff:g id="errorCode">%2$d</xliff:g></string>
+    <string name="carrier_send_error_unknown_carrier">Methu ag anfon neges gyda gwasanaeth anhysbys. Gwall <xliff:g id="errorCode">%1$d</xliff:g></string>
+    <string name="message_fwd">Yml: <xliff:g id="subject">%s</xliff:g></string>
+    <string name="mms_failure_outgoing_service">Ni anfonwyd y neges: gwasanaeth heb ei actifadu ar y rhwydwaith</string>
+    <string name="mms_failure_outgoing_address">Neges heb ei anfon: cyfeiriad annilys</string>
+    <string name="mms_failure_outgoing_corrupt">Neges heb ei anfon: neges annilys</string>
+    <string name="mms_failure_outgoing_content">Neges heb ei anfon: cynnwys anghydnaws</string>
+    <string name="mms_failure_outgoing_unsupported">Neges heb ei anfon: neges anghydnaws</string>
+    <string name="mms_failure_outgoing_too_large">Neges heb ei anfon: rhy fawr</string>
+    <string name="in_conversation_notify_new_message_text">Neges newydd</string>
+    <string name="in_conversation_notify_new_message_action">Gweld</string>
+    <string name="message_image_content_description">Delwedd</string>
+    <string name="activity_not_found_message">Methwyd â chanfod ap priodol</string>
+    <string name="chips_delete_content_description">Tynnu\'r cyfranogwr</string>
+    <string name="share_new_message">Neges newydd</string>
+    <string name="share_cancel">Diddymu</string>
+    <string name="apn_edit">Golygu pwynt mynediad</string>
+    <string name="apn_not_set">Heb ei osod</string>
+    <string name="apn_name">Enw</string>
+    <string name="apn_apn">Enw Pwynt Mynediad (APN)</string>
+    <string name="apn_mmsc">MMSC</string>
+    <string name="apn_mms_proxy">Procsi MMS</string>
+    <string name="apn_mms_port">Porth MMS</string>
+    <string name="apn_mcc">MCC</string>
+    <string name="apn_mnc">MNC</string>
+    <string name="apn_type">Math APN</string>
+    <string name="menu_delete_apn">Dileu APN</string>
+    <string name="menu_new_apn">APN newydd</string>
+    <string name="menu_save_apn">Cadw</string>
+    <string name="menu_discard_apn_change">Gwaredu</string>
+    <string name="error_apn_name_empty">Rhaid rhoi rhywbeth yn y maes Enw.</string>
+    <string name="error_apn_empty">Ni all yr APN fod yn wag.</string>
+    <string name="error_mcc_not3">Rhaid i\'r maes MCC fod yn 3 digid.</string>
+    <string name="error_mnc_not23">Rhaid i\'r maes MNC fod yn 2 neu 3 digid.</string>
+    <string name="restore_default_apn">Yn adfer rhagosodiadau APN.</string>
+    <string name="menu_restore_default_apn">Ailosod i\'r rhagosodiad</string>
+    <string name="restore_default_apn_completed">Cwblhawyd ailosod rhagosodiadau APN.</string>
+    <string name="untitled_apn">Heb deitl</string>
+    <string name="sms_apns_title">Enwau Pwyntiau Mynediad (APN)</string>
+    <string name="apn_settings">APNau</string>
+    <string name="menu_new">APN newydd</string>
+    <string name="apn_settings_not_available">Dyw gosodiadau Enwau Pwyntiau Mynediad (APN) ddim ar gael ar gyfer y defnyddiwr hwn.</string>
+    <string name="copy_to_clipboard_dialog_title">Copïo i\'r clipfwrdd?</string>
+    <string name="copy_to_clipboard">Copïo</string>
+    <string name="incoming_sim_name_text">at <xliff:g id="sim_name">%s</xliff:g></string>
+    <string name="general_settings">Cyffredinol</string>
+    <string name="advanced_settings">Uwch</string>
+    <string name="general_settings_activity_title">Gosodiadau cyffredin</string>
+    <string name="advanced_settings_activity_title">Gosodiadau uwch</string>
+    <string name="sim_specific_settings">\"<xliff:g id="sim_name">%s</xliff:g>\" SIM</string>
+    <string name="disable_group_mms">Anfon negeseuon SMS i bawb yn unigol. Bydd unrhyw atebion atat ti yn unig.</string>
+    <string name="enable_group_mms">Anfon yr un MMS i bob derbynnydd</string>
+    <string name="sim_settings_unknown_number">Rhif anhysbys</string>
+    <string name="secondary_user_new_message_title">Neges newydd</string>
+    <string name="secondary_user_new_message_ticker">Neges newydd.</string>
+    <string name="sim_selector_button_content_description">Dewisydd SIM</string>
+    <string name="sim_selector_button_content_description_with_selection">Dewisydd SIM, <xliff:g id="sim">%1$s</xliff:g> wedi\'i dewis</string>
+    <string name="send_button_long_click_description_no_sim_selector">Golygu pwnc</string>
+    <string name="send_button_long_click_description_with_sim_selector">Dewis SIM neu olygu pwnc</string>
+    <string name="audio_record_view_content_description">Tapia a dal i recordio sain</string>
+    <string name="widget_new_conversation_content_description">Dechrau sgwrs newydd</string>
+    <string name="widget_title_content_description">Negeseua</string>
+    <string name="widget_conversation_list_name">Rhestr Negeseuon</string>
+    <string name="widget_conversation_name">Negeseua</string>
+    <string name="widget_new_message_content_description">Neges newydd</string>
+    <string name="widget_conversation_list_content_description">Rhestr sgyrsiau</string>
+    <string name="loading_conversations">Yn llwytho sgyrsiau</string>
+    <string name="loading_messages">Yn llwytho negeseuon</string>
+    <string name="view_more_conversations">Gweld rhagor o sgyrsiau</string>
+    <string name="view_more_messages">Gweld rhagor o negeseuon</string>
+    <string name="conversation_deleted">Dilëwyd y sgwrs</string>
+    <string name="tap_to_configure">Mae\'r sgwrs wedi ei dileu. Tapia i ddangos sgwrs negeseuon arall.</string>
+    <string name="update_destination_blocked">Wedi\'i rhwystro</string>
+    <string name="update_destination_unblocked">Wedi\'i dad-rwystro</string>
+    <string name="db_full">Nid oes lawer o le i storio SMS. Mae\'n bosib caiff rhywfaint o ddata ei golli.</string>
+    <string name="attachment_chooser_activity_title">Dewis atodiadau</string>
+    <string name="action_confirm_selection">Cadarnhau dewis</string>
+    <string name="attachment_chooser_selection"><xliff:g id="count">%d</xliff:g> wedi\'u dewis</string>
+    <string name="attachment_limit_reached_dialog_message_when_composing">Tynna un neu ragor o atodiadau a rhoi cynnig arall arni.</string>
+    <string name="attachment_limit_reached_dialog_message_when_sending">Mae croeso iti geisio anfon dy neges, ond mae\'n bosib na fydd yn cael ei derbyn oni bai dy fod yn tynnu un neu ragor o atodiadau.</string>
+    <string name="video_attachment_limit_exceeded_when_sending">Dyw ond yn bosib anfon un fideo gyda phob neges. Tynna fideos ychwanegol a rhoi cynnig arall arni.</string>
+    <string name="attachment_load_failed_dialog_message">Methodd Negeseua â llwytho\'r atodiad.</string>
+    <string name="attachment_limit_reached_send_anyway">Anfon beth bynnag</string>
+    <string name="conversation_creation_failure">Methwyd â dechrau sgwrs</string>
+    <string name="link_display_format"><xliff:g id="text">%1$s</xliff:g> (<xliff:g id="url">%2$s</xliff:g>)</string>
+    <string name="selected_sim_content_message"><xliff:g id="selected_sim">%s</xliff:g> wedi\'i ddewis</string>
+    <string name="work_directory_display_name">Cysylltiadau Proffil Gwaith</string>
+    <string name="disallow_emergency_call">Ni ellir gwneud alwad i\'r gwasanaethau brys fan hyn.</string>
+</resources>
diff --git a/res/values-da/cm_strings.xml b/res/values-da/cm_strings.xml
new file mode 100644
index 0000000..8f1b0d8
--- /dev/null
+++ b/res/values-da/cm_strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="swipe_to_delete_conversation_pref_title">Stryg for at slette</string>
+    <string name="swipe_to_delete_conversation_pref_summary">Stryg mod højre, for at slette en samtale</string>
+    <string name="show_emoticons_pref_title">Humørikoner-adgang</string>
+    <string name="show_emoticons_pref_summary">Vis humørikoner-tasten på tastaturet</string>
+</resources>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index 340c28f..034fec9 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -202,19 +202,19 @@
     <string name="audio_attachment_content_description" msgid="499334244765270108">"Vedhæftet lydfil"</string>
     <string name="audio_play_content_description" msgid="4932509227281251607">"Afspil vedhæftet lydfil"</string>
     <string name="audio_pause_content_description" msgid="7578169887065513701">"Sæt på pause"</string>
-    <string name="incoming_message_announcement" msgid="6369259405539452011">"Besked fra <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Mislykket besked fra <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Tidspunkt: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Besked fra <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Tidspunkt: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Ikke-afsendt besked til <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Tidspunkt: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Sender besked til <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Tidspunkt: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Mislykket besked til <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Tidspunkt: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Besked til <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Tidspunkt: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Mislykket besked fra <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Tidspunkt: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Besked fra <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Tidspunkt: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Ikke-afsendt besked til <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Tidspunkt: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Sender besked til <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Tidspunkt: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Mislykket besked til <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Tidspunkt: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Besked til <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Tidspunkt: <xliff:g id="TIME">%s</xliff:g>."</string>
+    <string name="incoming_message_announcement" msgid="6369259405539452011">"Besked fra <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Mislykket besked fra <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Tidspunkt: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Besked fra <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Tidspunkt: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Ikke-afsendt besked til <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Tidspunkt: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Sender besked til <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Tidspunkt: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Mislykket besked til <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Tidspunkt: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Besked til <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Tidspunkt: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Mislykket besked fra <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Tidspunkt: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Besked fra <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Tidspunkt: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Ikke-afsendt besked til <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Tidspunkt: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Sender besked til <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Tidspunkt: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Mislykket besked til <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Tidspunkt: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Besked til <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Tidspunkt: <xliff:g id="TIME">%3$s</xliff:g>."</string>
     <string name="failed_message_content_description" msgid="7047161648867054936">"Mislykket besked. Tryk for at prøve igen."</string>
     <string name="group_conversation_description" msgid="2339270924401184182">"Samtale med <xliff:g id="PARTICIPANTS">%s</xliff:g>"</string>
     <string name="delete_subject_content_description" msgid="8910749398836396698">"Slet emne"</string>
@@ -258,7 +258,7 @@
     <string name="mms_messaging_category_pref_title" msgid="4816815152658525660">"Mms"</string>
     <string name="advanced_category_pref_title" msgid="6411454224069259687">"Avanceret"</string>
     <string name="debug_category_pref_title" msgid="8765138968242505061">"Fejlretning"</string>
-    <string name="notifications_enabled_pref_title" msgid="4127288731844373795">"Underretninger"</string>
+    <string name="notifications_pref_title" msgid="4127288731844373795">"Underretninger"</string>
     <string name="notification_sound_pref_title" msgid="3685506528957337849">"Lyd"</string>
     <string name="silent_ringtone" msgid="8073534180322059814">"Lydløs"</string>
     <string name="notification_vibrate_pref_title" msgid="6668564570045187390">"Vibrer"</string>
@@ -359,7 +359,7 @@
     <string name="add_contact_confirmation" msgid="1479380805406328264">"Tilføj kontakt"</string>
     <string name="compose_message_view_subject_hint_text" msgid="6076616675845705660">"Emne"</string>
     <string name="conversation_message_view_subject_text" msgid="5634274498769555505">"Emne: "</string>
-    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%s</xliff:g><xliff:g id="MESSAGETEXT">%s</xliff:g>"</string>
+    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%1$s</xliff:g><xliff:g id="MESSAGETEXT">%2$s</xliff:g>"</string>
     <string name="loading_vcard" msgid="3961520941271265083">"Kontaktkortet indlæses"</string>
     <string name="failed_loading_vcard" msgid="7711070643740368402">"Kontaktkortet kunne ikke indlæses"</string>
     <string name="vcard_tap_hint" msgid="4940284329175200952">"Se visitkortet"</string>
diff --git a/res/values-de/cm_strings.xml b/res/values-de/cm_strings.xml
new file mode 100644
index 0000000..49ffb16
--- /dev/null
+++ b/res/values-de/cm_strings.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="swipe_to_delete_conversation_pref_title">Zum Löschen wischen</string>
+    <string name="swipe_to_delete_conversation_pref_summary">Nach rechts wischen, um eine Konversation zu löschen</string>
+    <string name="show_emoticons_pref_title">Zugriff auf Emoticons</string>
+    <string name="show_emoticons_pref_summary">Emoticons-Taste auf der Tastatur anzeigen</string>
+    <string name="notification_mark_as_read">Als gelesen markieren</string>
+    <string name="notification_channel_messages_title">Nachrichten</string>
+</resources>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index 88b95c3..cc92726 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -202,19 +202,19 @@
     <string name="audio_attachment_content_description" msgid="499334244765270108">"Audioanhang"</string>
     <string name="audio_play_content_description" msgid="4932509227281251607">"Audioanhang wiedergeben"</string>
     <string name="audio_pause_content_description" msgid="7578169887065513701">"Pausieren"</string>
-    <string name="incoming_message_announcement" msgid="6369259405539452011">"Nachricht von <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Fehler bei Nachricht von <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Uhrzeit: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Nachricht von <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Uhrzeit: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Nicht gesendete Nachricht an <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Uhrzeit: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Nachricht wird gesendet an <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Uhrzeit: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Fehler bei Nachricht an <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Uhrzeit: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Nachricht an <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Uhrzeit: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Fehler bei Nachricht von <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Uhrzeit: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Nachricht von <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Uhrzeit: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Nicht gesendete Nachricht an <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Uhrzeit: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Nachricht wird gesendet an <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Uhrzeit: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Fehler bei Nachricht an <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Uhrzeit: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Nachricht an <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Uhrzeit: <xliff:g id="TIME">%s</xliff:g>."</string>
+    <string name="incoming_message_announcement" msgid="6369259405539452011">"Nachricht von <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Fehler bei Nachricht von <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Uhrzeit: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Nachricht von <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Uhrzeit: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Nicht gesendete Nachricht an <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Uhrzeit: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Nachricht wird gesendet an <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Uhrzeit: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Fehler bei Nachricht an <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Uhrzeit: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Nachricht an <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Uhrzeit: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Fehler bei Nachricht von <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Uhrzeit: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Nachricht von <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Uhrzeit: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Nicht gesendete Nachricht an <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Uhrzeit: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Nachricht wird gesendet an <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Uhrzeit: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Fehler bei Nachricht an <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Uhrzeit: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Nachricht an <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Uhrzeit: <xliff:g id="TIME">%3$s</xliff:g>."</string>
     <string name="failed_message_content_description" msgid="7047161648867054936">"Fehler bei Nachricht. Zum Wiederholen tippen."</string>
     <string name="group_conversation_description" msgid="2339270924401184182">"Unterhaltung mit <xliff:g id="PARTICIPANTS">%s</xliff:g>"</string>
     <string name="delete_subject_content_description" msgid="8910749398836396698">"Betreff löschen"</string>
@@ -258,7 +258,7 @@
     <string name="mms_messaging_category_pref_title" msgid="4816815152658525660">"MMS"</string>
     <string name="advanced_category_pref_title" msgid="6411454224069259687">"Erweitert"</string>
     <string name="debug_category_pref_title" msgid="8765138968242505061">"Fehlersuche"</string>
-    <string name="notifications_enabled_pref_title" msgid="4127288731844373795">"Benachrichtigungen"</string>
+    <string name="notifications_pref_title" msgid="4127288731844373795">"Benachrichtigungen"</string>
     <string name="notification_sound_pref_title" msgid="3685506528957337849">"Ton"</string>
     <string name="silent_ringtone" msgid="8073534180322059814">"Lautlos"</string>
     <string name="notification_vibrate_pref_title" msgid="6668564570045187390">"Vibrieren"</string>
@@ -359,7 +359,7 @@
     <string name="add_contact_confirmation" msgid="1479380805406328264">"Kontakt hinzufügen"</string>
     <string name="compose_message_view_subject_hint_text" msgid="6076616675845705660">"Betreff"</string>
     <string name="conversation_message_view_subject_text" msgid="5634274498769555505">"Betreff: "</string>
-    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%s</xliff:g><xliff:g id="MESSAGETEXT">%s</xliff:g>"</string>
+    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%1$s</xliff:g><xliff:g id="MESSAGETEXT">%2$s</xliff:g>"</string>
     <string name="loading_vcard" msgid="3961520941271265083">"Kontaktkarte wird geladen."</string>
     <string name="failed_loading_vcard" msgid="7711070643740368402">"Kontaktkarte kann nicht geladen werden."</string>
     <string name="vcard_tap_hint" msgid="4940284329175200952">"Kontaktkarte ansehen"</string>
diff --git a/res/values-el/cm_strings.xml b/res/values-el/cm_strings.xml
new file mode 100644
index 0000000..8525846
--- /dev/null
+++ b/res/values-el/cm_strings.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="swipe_to_delete_conversation_pref_title">Ολίσθηση για διαγραφή</string>
+    <string name="swipe_to_delete_conversation_pref_summary">Σύρετε προς τα δεξιά για να διαγράψετε μια συζήτηση</string>
+    <string name="show_emoticons_pref_title">Πρόσβαση emoticon</string>
+    <string name="show_emoticons_pref_summary">Εμφάνιση του πλήκτρου emoticon στο πληκτρολόγιο</string>
+    <string name="notification_mark_as_read">Σήμανση ως αναγνωσμένο</string>
+    <string name="notification_channel_messages_title">Μηνύματα</string>
+</resources>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index feade7b..5a8ccb5 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -202,19 +202,19 @@
     <string name="audio_attachment_content_description" msgid="499334244765270108">"Συνημμένο ήχου"</string>
     <string name="audio_play_content_description" msgid="4932509227281251607">"Αναπαραγωγή συνημμένου ήχου"</string>
     <string name="audio_pause_content_description" msgid="7578169887065513701">"Παύση"</string>
-    <string name="incoming_message_announcement" msgid="6369259405539452011">"Μήνυμα από <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Αποτυχία μηνύματος από <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Ώρα: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Μήνυμα από <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Ώρα: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Μη απεσταλμένο μήνυμα προς <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Ώρα: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Αποστολή μηνύματος προς <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Ώρα: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Αποτυχία μηνύματος προς <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Ώρα: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Μήνυμα προς <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Ώρα: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Αποτυχία μηνύματος από <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Ώρα: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>"</string>
-    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Μήνυμα από <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Ώρα: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>"</string>
-    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Μη απεσταλμένο μήνυμα προς <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Ώρα: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Αποστολή μηνύματος σε <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Ώρα: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Αποτυχία μηνύματος προς <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Ώρα: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Μήνυμα προς <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Ώρα: <xliff:g id="TIME">%s</xliff:g>"</string>
+    <string name="incoming_message_announcement" msgid="6369259405539452011">"Μήνυμα από <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Αποτυχία μηνύματος από <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Ώρα: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Μήνυμα από <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Ώρα: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Μη απεσταλμένο μήνυμα προς <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Ώρα: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Αποστολή μηνύματος προς <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Ώρα: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Αποτυχία μηνύματος προς <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Ώρα: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Μήνυμα προς <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Ώρα: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Αποτυχία μηνύματος από <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Ώρα: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>"</string>
+    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Μήνυμα από <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Ώρα: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>"</string>
+    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Μη απεσταλμένο μήνυμα προς <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Ώρα: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Αποστολή μηνύματος σε <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Ώρα: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Αποτυχία μηνύματος προς <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Ώρα: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Μήνυμα προς <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Ώρα: <xliff:g id="TIME">%3$s</xliff:g>"</string>
     <string name="failed_message_content_description" msgid="7047161648867054936">"Αποτυχία μηνύματος. Αγγίξτε για επανάληψη."</string>
     <string name="group_conversation_description" msgid="2339270924401184182">"Συνομιλία με <xliff:g id="PARTICIPANTS">%s</xliff:g>"</string>
     <string name="delete_subject_content_description" msgid="8910749398836396698">"Διαγραφή θέματος"</string>
@@ -258,7 +258,7 @@
     <string name="mms_messaging_category_pref_title" msgid="4816815152658525660">"MMS"</string>
     <string name="advanced_category_pref_title" msgid="6411454224069259687">"Σύνθετες ρυθμίσεις"</string>
     <string name="debug_category_pref_title" msgid="8765138968242505061">"Εντοπισμός σφαλμάτων"</string>
-    <string name="notifications_enabled_pref_title" msgid="4127288731844373795">"Ειδοποιήσεις"</string>
+    <string name="notifications_pref_title" msgid="4127288731844373795">"Ειδοποιήσεις"</string>
     <string name="notification_sound_pref_title" msgid="3685506528957337849">"Ήχος"</string>
     <string name="silent_ringtone" msgid="8073534180322059814">"Σίγαση"</string>
     <string name="notification_vibrate_pref_title" msgid="6668564570045187390">"Δόνηση"</string>
@@ -359,7 +359,7 @@
     <string name="add_contact_confirmation" msgid="1479380805406328264">"Προσθήκη επαφής"</string>
     <string name="compose_message_view_subject_hint_text" msgid="6076616675845705660">"Θέμα"</string>
     <string name="conversation_message_view_subject_text" msgid="5634274498769555505">"Θέμα: "</string>
-    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%s</xliff:g><xliff:g id="MESSAGETEXT">%s</xliff:g>"</string>
+    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%1$s</xliff:g><xliff:g id="MESSAGETEXT">%2$s</xliff:g>"</string>
     <string name="loading_vcard" msgid="3961520941271265083">"Φόρτωση κάρτας επαφής"</string>
     <string name="failed_loading_vcard" msgid="7711070643740368402">"Δεν ήταν δυνατή η φόρτωση της κάρτας επαφής"</string>
     <string name="vcard_tap_hint" msgid="4940284329175200952">"Προβολή κάρτας επαφής"</string>
diff --git a/res/values-en-rAU/cm_strings.xml b/res/values-en-rAU/cm_strings.xml
new file mode 100644
index 0000000..46cd245
--- /dev/null
+++ b/res/values-en-rAU/cm_strings.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="swipe_to_delete_conversation_pref_title">Swipe to delete</string>
+    <string name="swipe_to_delete_conversation_pref_summary">Swipe to the right to delete a conversation</string>
+    <string name="show_emoticons_pref_title">Emoticons access</string>
+    <string name="show_emoticons_pref_summary">Show the emoticons key on the keyboard</string>
+    <string name="notification_mark_as_read">Mark as read</string>
+    <string name="notification_channel_messages_title">Messages</string>
+</resources>
diff --git a/res/values-en-rAU/strings.xml b/res/values-en-rAU/strings.xml
index 11048a5..3b1e3da 100644
--- a/res/values-en-rAU/strings.xml
+++ b/res/values-en-rAU/strings.xml
@@ -202,19 +202,19 @@
     <string name="audio_attachment_content_description" msgid="499334244765270108">"Audio attachment"</string>
     <string name="audio_play_content_description" msgid="4932509227281251607">"Play audio attachment"</string>
     <string name="audio_pause_content_description" msgid="7578169887065513701">"Pause"</string>
-    <string name="incoming_message_announcement" msgid="6369259405539452011">"Message from <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Failed message from <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Time: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Message from <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Time: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Unsent message to <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Time: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Sending message to <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Time: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Failed message to <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Time: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Message to <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Time: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Failed message from <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Time: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Message from <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Time: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Unsent message to <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Time: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Sending message to <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Time: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Failed message to <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Time: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Message to <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Time: <xliff:g id="TIME">%s</xliff:g>."</string>
+    <string name="incoming_message_announcement" msgid="6369259405539452011">"Message from <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Failed message from <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Time: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Message from <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Time: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Unsent message to <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Time: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Sending message to <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Time: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Failed message to <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Time: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Message to <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Time: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Failed message from <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Time: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Message from <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Time: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Unsent message to <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Time: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Sending message to <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Time: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Failed message to <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Time: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Message to <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Time: <xliff:g id="TIME">%3$s</xliff:g>."</string>
     <string name="failed_message_content_description" msgid="7047161648867054936">"Failed message. Touch to retry."</string>
     <string name="group_conversation_description" msgid="2339270924401184182">"Conversation with <xliff:g id="PARTICIPANTS">%s</xliff:g>"</string>
     <string name="delete_subject_content_description" msgid="8910749398836396698">"Delete subject"</string>
@@ -258,7 +258,7 @@
     <string name="mms_messaging_category_pref_title" msgid="4816815152658525660">"MMS"</string>
     <string name="advanced_category_pref_title" msgid="6411454224069259687">"Advanced"</string>
     <string name="debug_category_pref_title" msgid="8765138968242505061">"Debug"</string>
-    <string name="notifications_enabled_pref_title" msgid="4127288731844373795">"Notifications"</string>
+    <string name="notifications_pref_title" msgid="4127288731844373795">"Notifications"</string>
     <string name="notification_sound_pref_title" msgid="3685506528957337849">"Sound"</string>
     <string name="silent_ringtone" msgid="8073534180322059814">"Silent"</string>
     <string name="notification_vibrate_pref_title" msgid="6668564570045187390">"Vibrate"</string>
@@ -359,7 +359,7 @@
     <string name="add_contact_confirmation" msgid="1479380805406328264">"Add Contact"</string>
     <string name="compose_message_view_subject_hint_text" msgid="6076616675845705660">"Subject"</string>
     <string name="conversation_message_view_subject_text" msgid="5634274498769555505">"Subject: "</string>
-    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%s</xliff:g><xliff:g id="MESSAGETEXT">%s</xliff:g>"</string>
+    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%1$s</xliff:g><xliff:g id="MESSAGETEXT">%2$s</xliff:g>"</string>
     <string name="loading_vcard" msgid="3961520941271265083">"Loading contact card"</string>
     <string name="failed_loading_vcard" msgid="7711070643740368402">"Couldn\'t load contact card"</string>
     <string name="vcard_tap_hint" msgid="4940284329175200952">"View contact card"</string>
diff --git a/res/values-en-rCA/cm_strings.xml b/res/values-en-rCA/cm_strings.xml
new file mode 100644
index 0000000..46cd245
--- /dev/null
+++ b/res/values-en-rCA/cm_strings.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="swipe_to_delete_conversation_pref_title">Swipe to delete</string>
+    <string name="swipe_to_delete_conversation_pref_summary">Swipe to the right to delete a conversation</string>
+    <string name="show_emoticons_pref_title">Emoticons access</string>
+    <string name="show_emoticons_pref_summary">Show the emoticons key on the keyboard</string>
+    <string name="notification_mark_as_read">Mark as read</string>
+    <string name="notification_channel_messages_title">Messages</string>
+</resources>
diff --git a/res/values-en-rGB/cm_strings.xml b/res/values-en-rGB/cm_strings.xml
new file mode 100644
index 0000000..46cd245
--- /dev/null
+++ b/res/values-en-rGB/cm_strings.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="swipe_to_delete_conversation_pref_title">Swipe to delete</string>
+    <string name="swipe_to_delete_conversation_pref_summary">Swipe to the right to delete a conversation</string>
+    <string name="show_emoticons_pref_title">Emoticons access</string>
+    <string name="show_emoticons_pref_summary">Show the emoticons key on the keyboard</string>
+    <string name="notification_mark_as_read">Mark as read</string>
+    <string name="notification_channel_messages_title">Messages</string>
+</resources>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index 11048a5..3b1e3da 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -202,19 +202,19 @@
     <string name="audio_attachment_content_description" msgid="499334244765270108">"Audio attachment"</string>
     <string name="audio_play_content_description" msgid="4932509227281251607">"Play audio attachment"</string>
     <string name="audio_pause_content_description" msgid="7578169887065513701">"Pause"</string>
-    <string name="incoming_message_announcement" msgid="6369259405539452011">"Message from <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Failed message from <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Time: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Message from <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Time: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Unsent message to <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Time: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Sending message to <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Time: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Failed message to <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Time: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Message to <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Time: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Failed message from <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Time: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Message from <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Time: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Unsent message to <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Time: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Sending message to <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Time: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Failed message to <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Time: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Message to <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Time: <xliff:g id="TIME">%s</xliff:g>."</string>
+    <string name="incoming_message_announcement" msgid="6369259405539452011">"Message from <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Failed message from <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Time: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Message from <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Time: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Unsent message to <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Time: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Sending message to <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Time: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Failed message to <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Time: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Message to <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Time: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Failed message from <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Time: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Message from <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Time: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Unsent message to <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Time: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Sending message to <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Time: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Failed message to <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Time: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Message to <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Time: <xliff:g id="TIME">%3$s</xliff:g>."</string>
     <string name="failed_message_content_description" msgid="7047161648867054936">"Failed message. Touch to retry."</string>
     <string name="group_conversation_description" msgid="2339270924401184182">"Conversation with <xliff:g id="PARTICIPANTS">%s</xliff:g>"</string>
     <string name="delete_subject_content_description" msgid="8910749398836396698">"Delete subject"</string>
@@ -258,7 +258,7 @@
     <string name="mms_messaging_category_pref_title" msgid="4816815152658525660">"MMS"</string>
     <string name="advanced_category_pref_title" msgid="6411454224069259687">"Advanced"</string>
     <string name="debug_category_pref_title" msgid="8765138968242505061">"Debug"</string>
-    <string name="notifications_enabled_pref_title" msgid="4127288731844373795">"Notifications"</string>
+    <string name="notifications_pref_title" msgid="4127288731844373795">"Notifications"</string>
     <string name="notification_sound_pref_title" msgid="3685506528957337849">"Sound"</string>
     <string name="silent_ringtone" msgid="8073534180322059814">"Silent"</string>
     <string name="notification_vibrate_pref_title" msgid="6668564570045187390">"Vibrate"</string>
@@ -359,7 +359,7 @@
     <string name="add_contact_confirmation" msgid="1479380805406328264">"Add Contact"</string>
     <string name="compose_message_view_subject_hint_text" msgid="6076616675845705660">"Subject"</string>
     <string name="conversation_message_view_subject_text" msgid="5634274498769555505">"Subject: "</string>
-    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%s</xliff:g><xliff:g id="MESSAGETEXT">%s</xliff:g>"</string>
+    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%1$s</xliff:g><xliff:g id="MESSAGETEXT">%2$s</xliff:g>"</string>
     <string name="loading_vcard" msgid="3961520941271265083">"Loading contact card"</string>
     <string name="failed_loading_vcard" msgid="7711070643740368402">"Couldn\'t load contact card"</string>
     <string name="vcard_tap_hint" msgid="4940284329175200952">"View contact card"</string>
diff --git a/res/values-en-rIN/cm_strings.xml b/res/values-en-rIN/cm_strings.xml
new file mode 100644
index 0000000..46cd245
--- /dev/null
+++ b/res/values-en-rIN/cm_strings.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="swipe_to_delete_conversation_pref_title">Swipe to delete</string>
+    <string name="swipe_to_delete_conversation_pref_summary">Swipe to the right to delete a conversation</string>
+    <string name="show_emoticons_pref_title">Emoticons access</string>
+    <string name="show_emoticons_pref_summary">Show the emoticons key on the keyboard</string>
+    <string name="notification_mark_as_read">Mark as read</string>
+    <string name="notification_channel_messages_title">Messages</string>
+</resources>
diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml
index 11048a5..3b1e3da 100644
--- a/res/values-en-rIN/strings.xml
+++ b/res/values-en-rIN/strings.xml
@@ -202,19 +202,19 @@
     <string name="audio_attachment_content_description" msgid="499334244765270108">"Audio attachment"</string>
     <string name="audio_play_content_description" msgid="4932509227281251607">"Play audio attachment"</string>
     <string name="audio_pause_content_description" msgid="7578169887065513701">"Pause"</string>
-    <string name="incoming_message_announcement" msgid="6369259405539452011">"Message from <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Failed message from <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Time: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Message from <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Time: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Unsent message to <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Time: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Sending message to <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Time: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Failed message to <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Time: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Message to <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Time: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Failed message from <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Time: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Message from <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Time: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Unsent message to <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Time: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Sending message to <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Time: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Failed message to <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Time: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Message to <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Time: <xliff:g id="TIME">%s</xliff:g>."</string>
+    <string name="incoming_message_announcement" msgid="6369259405539452011">"Message from <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Failed message from <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Time: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Message from <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Time: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Unsent message to <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Time: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Sending message to <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Time: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Failed message to <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Time: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Message to <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Time: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Failed message from <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Time: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Message from <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Time: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Unsent message to <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Time: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Sending message to <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Time: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Failed message to <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Time: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Message to <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Time: <xliff:g id="TIME">%3$s</xliff:g>."</string>
     <string name="failed_message_content_description" msgid="7047161648867054936">"Failed message. Touch to retry."</string>
     <string name="group_conversation_description" msgid="2339270924401184182">"Conversation with <xliff:g id="PARTICIPANTS">%s</xliff:g>"</string>
     <string name="delete_subject_content_description" msgid="8910749398836396698">"Delete subject"</string>
@@ -258,7 +258,7 @@
     <string name="mms_messaging_category_pref_title" msgid="4816815152658525660">"MMS"</string>
     <string name="advanced_category_pref_title" msgid="6411454224069259687">"Advanced"</string>
     <string name="debug_category_pref_title" msgid="8765138968242505061">"Debug"</string>
-    <string name="notifications_enabled_pref_title" msgid="4127288731844373795">"Notifications"</string>
+    <string name="notifications_pref_title" msgid="4127288731844373795">"Notifications"</string>
     <string name="notification_sound_pref_title" msgid="3685506528957337849">"Sound"</string>
     <string name="silent_ringtone" msgid="8073534180322059814">"Silent"</string>
     <string name="notification_vibrate_pref_title" msgid="6668564570045187390">"Vibrate"</string>
@@ -359,7 +359,7 @@
     <string name="add_contact_confirmation" msgid="1479380805406328264">"Add Contact"</string>
     <string name="compose_message_view_subject_hint_text" msgid="6076616675845705660">"Subject"</string>
     <string name="conversation_message_view_subject_text" msgid="5634274498769555505">"Subject: "</string>
-    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%s</xliff:g><xliff:g id="MESSAGETEXT">%s</xliff:g>"</string>
+    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%1$s</xliff:g><xliff:g id="MESSAGETEXT">%2$s</xliff:g>"</string>
     <string name="loading_vcard" msgid="3961520941271265083">"Loading contact card"</string>
     <string name="failed_loading_vcard" msgid="7711070643740368402">"Couldn\'t load contact card"</string>
     <string name="vcard_tap_hint" msgid="4940284329175200952">"View contact card"</string>
diff --git a/res/values-eo/arrays.xml b/res/values-eo/arrays.xml
new file mode 100644
index 0000000..cc45f64
--- /dev/null
+++ b/res/values-eo/arrays.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string-array name="notification_reply_choices">
+        <item>Jes</item>
+        <item>Ne</item>
+        <item>OK</item>
+        <item>Hehe</item>
+        <item>Dankon</item>
+        <item>I agree</item>
+        <item>Nice</item>
+        <item>On my way</item>
+        <item>OK, let me get back to you later</item>
+        <item>:)</item>
+        <item>:(</item>
+    </string-array>
+</resources>
diff --git a/res/values-eo/strings.xml b/res/values-eo/strings.xml
new file mode 100644
index 0000000..e407651
--- /dev/null
+++ b/res/values-eo/strings.xml
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="action_settings">Agordoj</string>
+    <string name="sendButtonContentDescription">Sendi mesaĝon</string>
+    <string name="settings_with_arrow">Agordoj &gt;</string>
+    <string name="settings">Agordoj</string>
+    <string name="contact_picker_all_contacts_tab_title">Ĉiuj kontaktoj</string>
+    <string name="mediapicker_gallery_image_item_description">bildo <xliff:g id="date">%1$tB %1$te %1$tY %1$tl %1$tM %1$tp</xliff:g></string>
+    <plurals name="num_hours_ago">
+        <item quantity="one"><xliff:g id="count">%d</xliff:g> horo</item>
+        <item quantity="other"><xliff:g id="count">%d</xliff:g> horoj</item>
+    </plurals>
+    <plurals name="num_days_ago">
+        <item quantity="one"><xliff:g id="count">%d</xliff:g> tago</item>
+        <item quantity="other"><xliff:g id="count">%d</xliff:g> tagoj</item>
+    </plurals>
+    <plurals name="week_count">
+        <item quantity="one">semajno</item>
+        <item quantity="other"><xliff:g id="count">%d</xliff:g> semajnoj</item>
+    </plurals>
+    <plurals name="month_count">
+        <item quantity="one">monato</item>
+        <item quantity="other"><xliff:g id="count">%d</xliff:g> monatoj</item>
+    </plurals>
+    <plurals name="year_count">
+        <item quantity="one">jari</item>
+        <item quantity="other"><xliff:g id="count">%d</xliff:g> jaroj</item>
+    </plurals>
+    <plurals name="notification_new_messages">
+        <item quantity="one">Nova mesaĝo</item>
+        <item quantity="other"><xliff:g id="messages">%d</xliff:g> novaj mesaĝoj</item>
+    </plurals>
+    <string name="action_delete">Forigi</string>
+    <string name="action_delete_message">Forigi</string>
+    <string name="delete_message_confirmation_button">Forigi</string>
+    <string name="delete_conversation_confirmation_button">Forigi</string>
+    <string name="delete_conversation_decline_button">Nuligi</string>
+    <string name="enumeration_comma">,\u0020</string>
+    <string name="notification_separator">\u0020\u0020</string>
+    <string name="notification_ticker_separator">:\u0020</string>
+    <string name="notification_space_separator">\u0020\u0020</string>
+    <string name="notification_picture">Bildo</string>
+    <string name="settings_activity_title">Agordoj</string>
+    <string name="notifications_pref_title">Sciigoj</string>
+    <string name="message_context_menu_delete_message">Forigi</string>
+    <string name="chips_text_delete_button_content_description">Forigi tekston</string>
+    <string name="notifications_enabled_conversation_pref_title">Sciigoj</string>
+    <string name="conversation_list_item_view_sent_from_you_prefix">Vi:\u0020</string>
+    <string name="conversation_list_item_view_draft_message">Malneto</string>
+    <string name="conversation_list_snippet_picture">Bildo</string>
+    <string name="in_conversation_notify_new_message_text">Nova mesaĝo</string>
+    <string name="share_new_message">Nova mesaĝo</string>
+    <string name="share_cancel">Nuligi</string>
+    <string name="secondary_user_new_message_title">Nova mesaĝo</string>
+    <string name="secondary_user_new_message_ticker">Nova mesaĝo.</string>
+    <string name="widget_new_message_content_description">Nova mesaĝo</string>
+</resources>
diff --git a/res/values-es-rMX/cm_strings.xml b/res/values-es-rMX/cm_strings.xml
new file mode 100644
index 0000000..022595f
--- /dev/null
+++ b/res/values-es-rMX/cm_strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="swipe_to_delete_conversation_pref_title">Deslizar para eliminar</string>
+    <string name="swipe_to_delete_conversation_pref_summary">Deslize a la derecha para borrar una conversación</string>
+    <string name="show_emoticons_pref_title">Acceso de emoticonos</string>
+    <string name="show_emoticons_pref_summary">Mostrar el botón de emoticonos en el teclado</string>
+    <string name="notification_channel_messages_title">Mensajes</string>
+</resources>
diff --git a/res/values-es-rUS/cm_strings.xml b/res/values-es-rUS/cm_strings.xml
new file mode 100644
index 0000000..b8e961f
--- /dev/null
+++ b/res/values-es-rUS/cm_strings.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="swipe_to_delete_conversation_pref_title">Deslizar para borrar</string>
+    <string name="swipe_to_delete_conversation_pref_summary">Deslice a la derecha para borrar una conversación</string>
+    <string name="show_emoticons_pref_title">Acceso a emoticonos</string>
+    <string name="show_emoticons_pref_summary">Mostrar el botón de emoticonos en el teclado</string>
+    <string name="notification_mark_as_read">Marcar como leído</string>
+    <string name="notification_channel_messages_title">Mensajes</string>
+</resources>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index 1da2400..cfc0565 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -202,19 +202,19 @@
     <string name="audio_attachment_content_description" msgid="499334244765270108">"Archivo adjunto de audio"</string>
     <string name="audio_play_content_description" msgid="4932509227281251607">"Reproducir archivo adjunto de audio"</string>
     <string name="audio_pause_content_description" msgid="7578169887065513701">"Pausa"</string>
-    <string name="incoming_message_announcement" msgid="6369259405539452011">"Mensaje de <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>"</string>
-    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Error del mensaje de <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g> Hora: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Mensaje de <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g> Hora: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Mensaje no enviado a <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g> Hora: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Enviando mensaje a <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g> Hora: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Error de mensaje a <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g> Hora: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Mensaje a <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g> Hora: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Error del mensaje de <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g> Hora: <xliff:g id="TIME">%s</xliff:g> <xliff:g id="GROUPINFO">%s</xliff:g>"</string>
-    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Mensaje de <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g> Hora: <xliff:g id="TIME">%s</xliff:g> <xliff:g id="GROUPINFO">%s</xliff:g>"</string>
-    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Mensaje no enviado a <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g> Hora: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Enviando mensaje a <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g> Hora: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Error del mensaje a <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g> Hora: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Mensaje a <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g> Hora: <xliff:g id="TIME">%s</xliff:g>"</string>
+    <string name="incoming_message_announcement" msgid="6369259405539452011">"Mensaje de <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>"</string>
+    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Error del mensaje de <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g> Hora: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Mensaje de <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g> Hora: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Mensaje no enviado a <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g> Hora: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Enviando mensaje a <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g> Hora: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Error de mensaje a <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g> Hora: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Mensaje a <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g> Hora: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Error del mensaje de <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g> Hora: <xliff:g id="TIME">%3$s</xliff:g> <xliff:g id="GROUPINFO">%3$s</xliff:g>"</string>
+    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Mensaje de <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g> Hora: <xliff:g id="TIME">%3$s</xliff:g> <xliff:g id="GROUPINFO">%3$s</xliff:g>"</string>
+    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Mensaje no enviado a <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g> Hora: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Enviando mensaje a <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g> Hora: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Error del mensaje a <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g> Hora: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Mensaje a <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g> Hora: <xliff:g id="TIME">%3$s</xliff:g>"</string>
     <string name="failed_message_content_description" msgid="7047161648867054936">"Se produjo un error en el mensaje. Toca para volver a intentarlo."</string>
     <string name="group_conversation_description" msgid="2339270924401184182">"Conversación con <xliff:g id="PARTICIPANTS">%s</xliff:g>"</string>
     <string name="delete_subject_content_description" msgid="8910749398836396698">"Eliminar asunto"</string>
@@ -258,7 +258,7 @@
     <string name="mms_messaging_category_pref_title" msgid="4816815152658525660">"MMS"</string>
     <string name="advanced_category_pref_title" msgid="6411454224069259687">"Avanzada"</string>
     <string name="debug_category_pref_title" msgid="8765138968242505061">"Depurar"</string>
-    <string name="notifications_enabled_pref_title" msgid="4127288731844373795">"Notificaciones"</string>
+    <string name="notifications_pref_title" msgid="4127288731844373795">"Notificaciones"</string>
     <string name="notification_sound_pref_title" msgid="3685506528957337849">"Sonido"</string>
     <string name="silent_ringtone" msgid="8073534180322059814">"Silencio"</string>
     <string name="notification_vibrate_pref_title" msgid="6668564570045187390">"Vibrar"</string>
@@ -359,7 +359,7 @@
     <string name="add_contact_confirmation" msgid="1479380805406328264">"Agregar contacto"</string>
     <string name="compose_message_view_subject_hint_text" msgid="6076616675845705660">"Asunto"</string>
     <string name="conversation_message_view_subject_text" msgid="5634274498769555505">"Asunto: "</string>
-    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%s</xliff:g><xliff:g id="MESSAGETEXT">%s</xliff:g>"</string>
+    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%1$s</xliff:g><xliff:g id="MESSAGETEXT">%2$s</xliff:g>"</string>
     <string name="loading_vcard" msgid="3961520941271265083">"Cargando tarjeta de contacto"</string>
     <string name="failed_loading_vcard" msgid="7711070643740368402">"No se pudo cargar la tarjeta de contacto."</string>
     <string name="vcard_tap_hint" msgid="4940284329175200952">"Ver tarjeta de contacto"</string>
diff --git a/res/values-es/cm_strings.xml b/res/values-es/cm_strings.xml
new file mode 100644
index 0000000..12d8e8f
--- /dev/null
+++ b/res/values-es/cm_strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="swipe_to_delete_conversation_pref_title">Deslizar para eliminar</string>
+    <string name="swipe_to_delete_conversation_pref_summary">Deslize a la derecha para borrar una conversación</string>
+    <string name="show_emoticons_pref_title">Acceso de emoticonos</string>
+    <string name="show_emoticons_pref_summary">Mostrar el botón de emoticonos en el teclado</string>
+</resources>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index 78ffe68..10289e0 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -202,19 +202,19 @@
     <string name="audio_attachment_content_description" msgid="499334244765270108">"Archivo de audio adjunto"</string>
     <string name="audio_play_content_description" msgid="4932509227281251607">"Reproducir archivo de audio adjunto"</string>
     <string name="audio_pause_content_description" msgid="7578169887065513701">"Pausar"</string>
-    <string name="incoming_message_announcement" msgid="6369259405539452011">"Mensaje de <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Error del mensaje de <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Hora: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Mensaje de <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Hora: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Mensaje no enviado a <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Hora: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Enviando mensaje a <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Hora: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Error del mensaje para <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Hora: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Mensaje para <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Hora: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Error del mensaje de <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Hora: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Mensaje de <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Hora: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Mensaje no enviado a <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Hora: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Enviando mensaje a <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Hora: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Error del mensaje para <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Hora: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Mensaje para <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Hora: <xliff:g id="TIME">%s</xliff:g>."</string>
+    <string name="incoming_message_announcement" msgid="6369259405539452011">"Mensaje de <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Error del mensaje de <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Hora: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Mensaje de <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Hora: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Mensaje no enviado a <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Hora: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Enviando mensaje a <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Hora: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Error del mensaje para <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Hora: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Mensaje para <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Hora: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Error del mensaje de <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Hora: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Mensaje de <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Hora: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Mensaje no enviado a <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Hora: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Enviando mensaje a <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Hora: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Error del mensaje para <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Hora: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Mensaje para <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Hora: <xliff:g id="TIME">%3$s</xliff:g>."</string>
     <string name="failed_message_content_description" msgid="7047161648867054936">"Error del mensaje. Toca para volver a intentarlo."</string>
     <string name="group_conversation_description" msgid="2339270924401184182">"Conversación con <xliff:g id="PARTICIPANTS">%s</xliff:g>"</string>
     <string name="delete_subject_content_description" msgid="8910749398836396698">"Eliminar asunto"</string>
@@ -258,7 +258,7 @@
     <string name="mms_messaging_category_pref_title" msgid="4816815152658525660">"MMS"</string>
     <string name="advanced_category_pref_title" msgid="6411454224069259687">"Opciones avanzadas"</string>
     <string name="debug_category_pref_title" msgid="8765138968242505061">"Depurar"</string>
-    <string name="notifications_enabled_pref_title" msgid="4127288731844373795">"Notificaciones"</string>
+    <string name="notifications_pref_title" msgid="4127288731844373795">"Notificaciones"</string>
     <string name="notification_sound_pref_title" msgid="3685506528957337849">"Sonido"</string>
     <string name="silent_ringtone" msgid="8073534180322059814">"Silencio"</string>
     <string name="notification_vibrate_pref_title" msgid="6668564570045187390">"Vibrar"</string>
@@ -359,7 +359,7 @@
     <string name="add_contact_confirmation" msgid="1479380805406328264">"Añadir contacto"</string>
     <string name="compose_message_view_subject_hint_text" msgid="6076616675845705660">"Asunto"</string>
     <string name="conversation_message_view_subject_text" msgid="5634274498769555505">"Asunto: "</string>
-    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%s</xliff:g><xliff:g id="MESSAGETEXT">%s</xliff:g>"</string>
+    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%1$s</xliff:g><xliff:g id="MESSAGETEXT">%2$s</xliff:g>"</string>
     <string name="loading_vcard" msgid="3961520941271265083">"Cargando tarjeta de contacto"</string>
     <string name="failed_loading_vcard" msgid="7711070643740368402">"No se ha podido cargar la tarjeta de contacto"</string>
     <string name="vcard_tap_hint" msgid="4940284329175200952">"Ver tarjeta de contacto"</string>
diff --git a/res/values-et/cm_strings.xml b/res/values-et/cm_strings.xml
new file mode 100644
index 0000000..8db1473
--- /dev/null
+++ b/res/values-et/cm_strings.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="notification_mark_as_read">Märgi loetuks</string>
+    <string name="notification_channel_messages_title">Sõnumid</string>
+</resources>
diff --git a/res/values-et/strings.xml b/res/values-et/strings.xml
index 79097fe..f70d8e9 100644
--- a/res/values-et/strings.xml
+++ b/res/values-et/strings.xml
@@ -202,19 +202,19 @@
     <string name="audio_attachment_content_description" msgid="499334244765270108">"Helimanus"</string>
     <string name="audio_play_content_description" msgid="4932509227281251607">"Helimanuste esitamine"</string>
     <string name="audio_pause_content_description" msgid="7578169887065513701">"Peata"</string>
-    <string name="incoming_message_announcement" msgid="6369259405539452011">"Sõnum saatjalt <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Sõnumi saamine kontaktilt <xliff:g id="SENDER">%s</xliff:g> ebaõnnestus: <xliff:g id="MESSAGE">%s</xliff:g>. Aeg: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Sõnum kontaktilt <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Aeg: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Saatmata sõnum kontaktile <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Aeg: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Sõnumi saatmine kontaktile <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Aeg: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Sõnumi saatmine kontaktile <xliff:g id="CONTACT">%s</xliff:g> ebaõnnestus: <xliff:g id="MESSAGE">%s</xliff:g>. Aeg: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Sõnum kontaktile <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Aeg: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Sõnumi saamine kontaktilt <xliff:g id="SENDER">%s</xliff:g> ebaõnnestus: <xliff:g id="MESSAGE">%s</xliff:g>. Aeg: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Sõnum kontaktilt <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Aeg: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Saatmata sõnum kontaktile <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Aeg: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Sõnumi saatmine kontaktile <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Aeg: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Sõnumi saatmine kontaktile <xliff:g id="GROUP">%s</xliff:g> ebaõnnestus: <xliff:g id="MESSAGE">%s</xliff:g>. Aeg: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Sõnum kontaktile <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Aeg: <xliff:g id="TIME">%s</xliff:g>."</string>
+    <string name="incoming_message_announcement" msgid="6369259405539452011">"Sõnum saatjalt <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Sõnumi saamine kontaktilt <xliff:g id="SENDER">%1$s</xliff:g> ebaõnnestus: <xliff:g id="MESSAGE">%2$s</xliff:g>. Aeg: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Sõnum kontaktilt <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Aeg: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Saatmata sõnum kontaktile <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Aeg: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Sõnumi saatmine kontaktile <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Aeg: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Sõnumi saatmine kontaktile <xliff:g id="CONTACT">%1$s</xliff:g> ebaõnnestus: <xliff:g id="MESSAGE">%2$s</xliff:g>. Aeg: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Sõnum kontaktile <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Aeg: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Sõnumi saamine kontaktilt <xliff:g id="SENDER">%1$s</xliff:g> ebaõnnestus: <xliff:g id="MESSAGE">%2$s</xliff:g>. Aeg: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Sõnum kontaktilt <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Aeg: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Saatmata sõnum kontaktile <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Aeg: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Sõnumi saatmine kontaktile <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Aeg: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Sõnumi saatmine kontaktile <xliff:g id="GROUP">%1$s</xliff:g> ebaõnnestus: <xliff:g id="MESSAGE">%2$s</xliff:g>. Aeg: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Sõnum kontaktile <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Aeg: <xliff:g id="TIME">%3$s</xliff:g>."</string>
     <string name="failed_message_content_description" msgid="7047161648867054936">"Sõnumi saatmine ebaõnnestus. Puudutage uuesti proovimiseks."</string>
     <string name="group_conversation_description" msgid="2339270924401184182">"Vestlus osalejatega <xliff:g id="PARTICIPANTS">%s</xliff:g>"</string>
     <string name="delete_subject_content_description" msgid="8910749398836396698">"Teema kustutamine"</string>
@@ -258,7 +258,7 @@
     <string name="mms_messaging_category_pref_title" msgid="4816815152658525660">"MMS"</string>
     <string name="advanced_category_pref_title" msgid="6411454224069259687">"Täpsem"</string>
     <string name="debug_category_pref_title" msgid="8765138968242505061">"Silumine"</string>
-    <string name="notifications_enabled_pref_title" msgid="4127288731844373795">"Märguanded"</string>
+    <string name="notifications_pref_title" msgid="4127288731844373795">"Märguanded"</string>
     <string name="notification_sound_pref_title" msgid="3685506528957337849">"Heli"</string>
     <string name="silent_ringtone" msgid="8073534180322059814">"Hääletu"</string>
     <string name="notification_vibrate_pref_title" msgid="6668564570045187390">"Vibratsioon"</string>
@@ -359,7 +359,7 @@
     <string name="add_contact_confirmation" msgid="1479380805406328264">"Kontaktisiku lisamine"</string>
     <string name="compose_message_view_subject_hint_text" msgid="6076616675845705660">"Teema"</string>
     <string name="conversation_message_view_subject_text" msgid="5634274498769555505">"Teema: "</string>
-    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%s</xliff:g><xliff:g id="MESSAGETEXT">%s</xliff:g>"</string>
+    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%1$s</xliff:g><xliff:g id="MESSAGETEXT">%2$s</xliff:g>"</string>
     <string name="loading_vcard" msgid="3961520941271265083">"Kontakti kaardi laadimine"</string>
     <string name="failed_loading_vcard" msgid="7711070643740368402">"Kontaktkaarti ei õnnestunud laadida"</string>
     <string name="vcard_tap_hint" msgid="4940284329175200952">"Kontakti kaardi kuvamine"</string>
diff --git a/res/values-eu/cm_strings.xml b/res/values-eu/cm_strings.xml
new file mode 100644
index 0000000..9b8c849
--- /dev/null
+++ b/res/values-eu/cm_strings.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="swipe_to_delete_conversation_pref_title">Pasatu hatza ezabatzeko</string>
+    <string name="swipe_to_delete_conversation_pref_summary">Pasatu hatza eskuinera elkarrizketa bat ezabatzeko</string>
+    <string name="show_emoticons_pref_title">Emotikonoen tekla</string>
+    <string name="show_emoticons_pref_summary">Erakutsi emotikonoen tekla teklatuan</string>
+    <string name="notification_mark_as_read">Markatu irakurrita bezala</string>
+    <string name="notification_channel_messages_title">Mezuak</string>
+</resources>
diff --git a/res/values-eu/strings.xml b/res/values-eu/strings.xml
index 24813fe..9b3abdc 100644
--- a/res/values-eu/strings.xml
+++ b/res/values-eu/strings.xml
@@ -202,19 +202,19 @@
     <string name="audio_attachment_content_description" msgid="499334244765270108">"Audio-eranskina"</string>
     <string name="audio_play_content_description" msgid="4932509227281251607">"Erreproduzitu audio-eranskina"</string>
     <string name="audio_pause_content_description" msgid="7578169887065513701">"Pausatu"</string>
-    <string name="incoming_message_announcement" msgid="6369259405539452011">"<xliff:g id="SENDER">%s</xliff:g> erabiltzailearen mezua: <xliff:g id="MESSAGE">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"<xliff:g id="SENDER">%s</xliff:g> igorlearen mezuak huts egin du: <xliff:g id="MESSAGE">%s</xliff:g>. Ordua: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"<xliff:g id="SENDER">%s</xliff:g> igorlearen mezua: <xliff:g id="MESSAGE">%s</xliff:g>. Ordua: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Ez zaio bidali mezua <xliff:g id="CONTACT">%s</xliff:g> erabiltzaileari: <xliff:g id="MESSAGE">%s</xliff:g>. Ordua: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"<xliff:g id="CONTACT">%s</xliff:g> erabiltzaileari mezua bidaltzen: <xliff:g id="MESSAGE">%s</xliff:g>. Ordua: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Ezin izan zaio bidali mezua <xliff:g id="CONTACT">%s</xliff:g> erabiltzaileari: <xliff:g id="MESSAGE">%s</xliff:g>. Ordua: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"<xliff:g id="CONTACT">%s</xliff:g> erabiltzailearentzako mezua: <xliff:g id="MESSAGE">%s</xliff:g>. Ordua: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"<xliff:g id="SENDER">%s</xliff:g> igorlearen mezuak huts egin du: <xliff:g id="MESSAGE">%s</xliff:g>. Ordua: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>"</string>
-    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"<xliff:g id="SENDER">%s</xliff:g> igorlearen mezua: <xliff:g id="MESSAGE">%s</xliff:g>. Ordua: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>"</string>
-    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Ez da bidali mezua <xliff:g id="GROUP">%s</xliff:g> taldera: <xliff:g id="MESSAGE">%s</xliff:g>. Ordua: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"<xliff:g id="GROUP">%s</xliff:g> taldera mezua bidaltzen: <xliff:g id="MESSAGE">%s</xliff:g>. Ordua: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Ezin izan da bidali mezua <xliff:g id="GROUP">%s</xliff:g> taldera: <xliff:g id="MESSAGE">%s</xliff:g>. Ordua: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"<xliff:g id="GROUP">%s</xliff:g> taldearentzako mezua: <xliff:g id="MESSAGE">%s</xliff:g>. Ordua: <xliff:g id="TIME">%s</xliff:g>"</string>
+    <string name="incoming_message_announcement" msgid="6369259405539452011">"<xliff:g id="SENDER">%1$s</xliff:g> erabiltzailearen mezua: <xliff:g id="MESSAGE">%2$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"<xliff:g id="SENDER">%1$s</xliff:g> igorlearen mezuak huts egin du: <xliff:g id="MESSAGE">%2$s</xliff:g>. Ordua: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"<xliff:g id="SENDER">%1$s</xliff:g> igorlearen mezua: <xliff:g id="MESSAGE">%2$s</xliff:g>. Ordua: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Ez zaio bidali mezua <xliff:g id="CONTACT">%1$s</xliff:g> erabiltzaileari: <xliff:g id="MESSAGE">%2$s</xliff:g>. Ordua: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"<xliff:g id="CONTACT">%1$s</xliff:g> erabiltzaileari mezua bidaltzen: <xliff:g id="MESSAGE">%2$s</xliff:g>. Ordua: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Ezin izan zaio bidali mezua <xliff:g id="CONTACT">%1$s</xliff:g> erabiltzaileari: <xliff:g id="MESSAGE">%2$s</xliff:g>. Ordua: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"<xliff:g id="CONTACT">%1$s</xliff:g> erabiltzailearentzako mezua: <xliff:g id="MESSAGE">%2$s</xliff:g>. Ordua: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"<xliff:g id="SENDER">%1$s</xliff:g> igorlearen mezuak huts egin du: <xliff:g id="MESSAGE">%2$s</xliff:g>. Ordua: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>"</string>
+    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"<xliff:g id="SENDER">%1$s</xliff:g> igorlearen mezua: <xliff:g id="MESSAGE">%2$s</xliff:g>. Ordua: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>"</string>
+    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Ez da bidali mezua <xliff:g id="GROUP">%1$s</xliff:g> taldera: <xliff:g id="MESSAGE">%2$s</xliff:g>. Ordua: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"<xliff:g id="GROUP">%1$s</xliff:g> taldera mezua bidaltzen: <xliff:g id="MESSAGE">%2$s</xliff:g>. Ordua: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Ezin izan da bidali mezua <xliff:g id="GROUP">%1$s</xliff:g> taldera: <xliff:g id="MESSAGE">%2$s</xliff:g>. Ordua: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"<xliff:g id="GROUP">%1$s</xliff:g> taldearentzako mezua: <xliff:g id="MESSAGE">%2$s</xliff:g>. Ordua: <xliff:g id="TIME">%3$s</xliff:g>"</string>
     <string name="failed_message_content_description" msgid="7047161648867054936">"Mezuak huts egin du. Ukitu berriro saiatzeko."</string>
     <string name="group_conversation_description" msgid="2339270924401184182">"Elkarrizketa erabiltzaile hauekin (<xliff:g id="PARTICIPANTS">%s</xliff:g>)"</string>
     <string name="delete_subject_content_description" msgid="8910749398836396698">"Ezabatu gaia"</string>
@@ -258,7 +258,7 @@
     <string name="mms_messaging_category_pref_title" msgid="4816815152658525660">"MMS"</string>
     <string name="advanced_category_pref_title" msgid="6411454224069259687">"Ezarpen aurreratuak"</string>
     <string name="debug_category_pref_title" msgid="8765138968242505061">"Araztu"</string>
-    <string name="notifications_enabled_pref_title" msgid="4127288731844373795">"Jakinarazpenak"</string>
+    <string name="notifications_pref_title" msgid="4127288731844373795">"Jakinarazpenak"</string>
     <string name="notification_sound_pref_title" msgid="3685506528957337849">"Soinua"</string>
     <string name="silent_ringtone" msgid="8073534180322059814">"Isilik"</string>
     <string name="notification_vibrate_pref_title" msgid="6668564570045187390">"Egin dar-dar"</string>
@@ -359,7 +359,7 @@
     <string name="add_contact_confirmation" msgid="1479380805406328264">"Gehitu kontaktua"</string>
     <string name="compose_message_view_subject_hint_text" msgid="6076616675845705660">"Gaia"</string>
     <string name="conversation_message_view_subject_text" msgid="5634274498769555505">"Gaia: "</string>
-    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%s</xliff:g><xliff:g id="MESSAGETEXT">%s</xliff:g>"</string>
+    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%1$s</xliff:g><xliff:g id="MESSAGETEXT">%2$s</xliff:g>"</string>
     <string name="loading_vcard" msgid="3961520941271265083">"Kontaktu-txartela kargatzen"</string>
     <string name="failed_loading_vcard" msgid="7711070643740368402">"Ezin izan da kargatu kontaktu-txartela"</string>
     <string name="vcard_tap_hint" msgid="4940284329175200952">"Ikusi kontaktu-txartela"</string>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index 6a78532..79eebe4 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -202,19 +202,19 @@
     <string name="audio_attachment_content_description" msgid="499334244765270108">"پیوست صوتی"</string>
     <string name="audio_play_content_description" msgid="4932509227281251607">"پخش پیوست صوتی"</string>
     <string name="audio_pause_content_description" msgid="7578169887065513701">"توقف موقت"</string>
-    <string name="incoming_message_announcement" msgid="6369259405539452011">"پیام از <xliff:g id="SENDER">%s</xliff:g>: ‏<xliff:g id="MESSAGE">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"پیام ناموفق از <xliff:g id="SENDER">%s</xliff:g>: ‏<xliff:g id="MESSAGE">%s</xliff:g>. زمان: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"پیام از <xliff:g id="SENDER">%s</xliff:g>: ‏<xliff:g id="MESSAGE">%s</xliff:g>. زمان: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"پیام ارسال نشده به <xliff:g id="CONTACT">%s</xliff:g>: ‏<xliff:g id="MESSAGE">%s</xliff:g>. زمان: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"ارسال پیام به <xliff:g id="CONTACT">%s</xliff:g>: ‏<xliff:g id="MESSAGE">%s</xliff:g>. زمان: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"پیام ناموفق به <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. زمان: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"پیام به <xliff:g id="CONTACT">%s</xliff:g>: ‏<xliff:g id="MESSAGE">%s</xliff:g>. زمان: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"پیام ناموفق از <xliff:g id="SENDER">%s</xliff:g>: ‏<xliff:g id="MESSAGE">%s</xliff:g>. زمان: <xliff:g id="TIME">%s</xliff:g>. ‏<xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"پیام از <xliff:g id="SENDER">%s</xliff:g>: ‏<xliff:g id="MESSAGE">%s</xliff:g>. زمان: <xliff:g id="TIME">%s</xliff:g>. ‏<xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"پیام ارسال نشده به <xliff:g id="GROUP">%s</xliff:g>: ‏<xliff:g id="MESSAGE">%s</xliff:g>. زمان: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"ارسال پیام به <xliff:g id="GROUP">%s</xliff:g>: ‏<xliff:g id="MESSAGE">%s</xliff:g>. زمان: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"پیام ناموفق به <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. زمان: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"پیام به <xliff:g id="GROUP">%s</xliff:g>: ‏<xliff:g id="MESSAGE">%s</xliff:g>. زمان: <xliff:g id="TIME">%s</xliff:g>."</string>
+    <string name="incoming_message_announcement" msgid="6369259405539452011">"پیام از <xliff:g id="SENDER">%1$s</xliff:g>: ‏<xliff:g id="MESSAGE">%2$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"پیام ناموفق از <xliff:g id="SENDER">%1$s</xliff:g>: ‏<xliff:g id="MESSAGE">%2$s</xliff:g>. زمان: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"پیام از <xliff:g id="SENDER">%1$s</xliff:g>: ‏<xliff:g id="MESSAGE">%2$s</xliff:g>. زمان: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"پیام ارسال نشده به <xliff:g id="CONTACT">%1$s</xliff:g>: ‏<xliff:g id="MESSAGE">%2$s</xliff:g>. زمان: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"ارسال پیام به <xliff:g id="CONTACT">%1$s</xliff:g>: ‏<xliff:g id="MESSAGE">%2$s</xliff:g>. زمان: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"پیام ناموفق به <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. زمان: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"پیام به <xliff:g id="CONTACT">%1$s</xliff:g>: ‏<xliff:g id="MESSAGE">%2$s</xliff:g>. زمان: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"پیام ناموفق از <xliff:g id="SENDER">%1$s</xliff:g>: ‏<xliff:g id="MESSAGE">%2$s</xliff:g>. زمان: <xliff:g id="TIME">%3$s</xliff:g>. ‏<xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"پیام از <xliff:g id="SENDER">%1$s</xliff:g>: ‏<xliff:g id="MESSAGE">%2$s</xliff:g>. زمان: <xliff:g id="TIME">%3$s</xliff:g>. ‏<xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"پیام ارسال نشده به <xliff:g id="GROUP">%1$s</xliff:g>: ‏<xliff:g id="MESSAGE">%2$s</xliff:g>. زمان: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"ارسال پیام به <xliff:g id="GROUP">%1$s</xliff:g>: ‏<xliff:g id="MESSAGE">%2$s</xliff:g>. زمان: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"پیام ناموفق به <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. زمان: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"پیام به <xliff:g id="GROUP">%1$s</xliff:g>: ‏<xliff:g id="MESSAGE">%2$s</xliff:g>. زمان: <xliff:g id="TIME">%3$s</xliff:g>."</string>
     <string name="failed_message_content_description" msgid="7047161648867054936">"پیام ناموفق. برای امتحان مجدد، لمس کنید."</string>
     <string name="group_conversation_description" msgid="2339270924401184182">"مکالمه با <xliff:g id="PARTICIPANTS">%s</xliff:g>"</string>
     <string name="delete_subject_content_description" msgid="8910749398836396698">"حذف موضوع"</string>
@@ -258,7 +258,7 @@
     <string name="mms_messaging_category_pref_title" msgid="4816815152658525660">"MMS"</string>
     <string name="advanced_category_pref_title" msgid="6411454224069259687">"پیشرفته"</string>
     <string name="debug_category_pref_title" msgid="8765138968242505061">"اشکال‌زدایی"</string>
-    <string name="notifications_enabled_pref_title" msgid="4127288731844373795">"اعلان‌ها"</string>
+    <string name="notifications_pref_title" msgid="4127288731844373795">"اعلان‌ها"</string>
     <string name="notification_sound_pref_title" msgid="3685506528957337849">"صدا"</string>
     <string name="silent_ringtone" msgid="8073534180322059814">"بی‌صدا"</string>
     <string name="notification_vibrate_pref_title" msgid="6668564570045187390">"لرزش"</string>
@@ -359,7 +359,7 @@
     <string name="add_contact_confirmation" msgid="1479380805406328264">"افزودن مخاطب"</string>
     <string name="compose_message_view_subject_hint_text" msgid="6076616675845705660">"موضوع"</string>
     <string name="conversation_message_view_subject_text" msgid="5634274498769555505">"موضوع: "</string>
-    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%s</xliff:g><xliff:g id="MESSAGETEXT">%s</xliff:g>"</string>
+    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%1$s</xliff:g><xliff:g id="MESSAGETEXT">%2$s</xliff:g>"</string>
     <string name="loading_vcard" msgid="3961520941271265083">"در حال بارگیری کارت مخاطب"</string>
     <string name="failed_loading_vcard" msgid="7711070643740368402">"کارت مخاطب بارگیری نشد"</string>
     <string name="vcard_tap_hint" msgid="4940284329175200952">"مشاهده کارت مخاطب"</string>
diff --git a/res/values-fi/cm_strings.xml b/res/values-fi/cm_strings.xml
new file mode 100644
index 0000000..01588d1
--- /dev/null
+++ b/res/values-fi/cm_strings.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="swipe_to_delete_conversation_pref_title">Poista liu\'uttamalla</string>
+    <string name="swipe_to_delete_conversation_pref_summary">Pyyhkäise oikealle poistaaksesi keskustelun</string>
+    <string name="show_emoticons_pref_title">Hymiöiden käyttö</string>
+    <string name="show_emoticons_pref_summary">Näytä hymiönäppäin näppäimistöllä</string>
+    <string name="notification_mark_as_read">Merkitse luetuksi</string>
+    <string name="notification_channel_messages_title">Viestit</string>
+</resources>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index 47ef00f..a2d1dd9 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -202,19 +202,19 @@
     <string name="audio_attachment_content_description" msgid="499334244765270108">"Ääniliite"</string>
     <string name="audio_play_content_description" msgid="4932509227281251607">"Toista ääniliite"</string>
     <string name="audio_pause_content_description" msgid="7578169887065513701">"Tauko"</string>
-    <string name="incoming_message_announcement" msgid="6369259405539452011">"Viesti lähettäjältä <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Epäonnistunut viesti lähettäjältä <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Aika: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Viesti lähettäjältä <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Aika: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Lähettämätön viesti vastaanottajalle <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Aika: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Lähetetään viestiä vastaanottajalle <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Aika: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Epäonnistunut viesti vastaanottajalle <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Aika: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Viesti vastaanottajalle <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Aika: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Epäonnistunut viesti lähettäjältä <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Aika: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Viesti lähettäjältä <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Aika: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Lähettämätön viesti vastaanottajalle <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Aika: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Lähetetään viestiä vastaanottajalle <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Aika: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Epäonnistunut viesti vastaanottajalle <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Aika: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Viesti vastaanottajalle <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Aika: <xliff:g id="TIME">%s</xliff:g>."</string>
+    <string name="incoming_message_announcement" msgid="6369259405539452011">"Viesti lähettäjältä <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Epäonnistunut viesti lähettäjältä <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Aika: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Viesti lähettäjältä <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Aika: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Lähettämätön viesti vastaanottajalle <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Aika: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Lähetetään viestiä vastaanottajalle <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Aika: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Epäonnistunut viesti vastaanottajalle <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Aika: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Viesti vastaanottajalle <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Aika: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Epäonnistunut viesti lähettäjältä <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Aika: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Viesti lähettäjältä <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Aika: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Lähettämätön viesti vastaanottajalle <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Aika: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Lähetetään viestiä vastaanottajalle <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Aika: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Epäonnistunut viesti vastaanottajalle <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Aika: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Viesti vastaanottajalle <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Aika: <xliff:g id="TIME">%3$s</xliff:g>."</string>
     <string name="failed_message_content_description" msgid="7047161648867054936">"Viesti epäonnistui. Yritä uudelleen koskettamalla."</string>
     <string name="group_conversation_description" msgid="2339270924401184182">"Keskustelu henkilöiden <xliff:g id="PARTICIPANTS">%s</xliff:g> kanssa"</string>
     <string name="delete_subject_content_description" msgid="8910749398836396698">"Poista aihe"</string>
@@ -258,7 +258,7 @@
     <string name="mms_messaging_category_pref_title" msgid="4816815152658525660">"Multimediaviesti"</string>
     <string name="advanced_category_pref_title" msgid="6411454224069259687">"Lisäasetukset"</string>
     <string name="debug_category_pref_title" msgid="8765138968242505061">"Vianetsintä"</string>
-    <string name="notifications_enabled_pref_title" msgid="4127288731844373795">"Ilmoitukset"</string>
+    <string name="notifications_pref_title" msgid="4127288731844373795">"Ilmoitukset"</string>
     <string name="notification_sound_pref_title" msgid="3685506528957337849">"Ääni"</string>
     <string name="silent_ringtone" msgid="8073534180322059814">"Äänetön"</string>
     <string name="notification_vibrate_pref_title" msgid="6668564570045187390">"Värinä"</string>
@@ -359,7 +359,7 @@
     <string name="add_contact_confirmation" msgid="1479380805406328264">"Lisää yhteystieto"</string>
     <string name="compose_message_view_subject_hint_text" msgid="6076616675845705660">"Aihe"</string>
     <string name="conversation_message_view_subject_text" msgid="5634274498769555505">"Aihe: "</string>
-    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%s</xliff:g><xliff:g id="MESSAGETEXT">%s</xliff:g>"</string>
+    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%1$s</xliff:g><xliff:g id="MESSAGETEXT">%2$s</xliff:g>"</string>
     <string name="loading_vcard" msgid="3961520941271265083">"Ladataan yhteystietokorttia"</string>
     <string name="failed_loading_vcard" msgid="7711070643740368402">"Yhteystietokorttia ei voitu ladata:"</string>
     <string name="vcard_tap_hint" msgid="4940284329175200952">"Näytä yhteystietokortti"</string>
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
index 239f4af..c481531 100644
--- a/res/values-fr-rCA/strings.xml
+++ b/res/values-fr-rCA/strings.xml
@@ -202,19 +202,19 @@
     <string name="audio_attachment_content_description" msgid="499334244765270108">"Contenu audio joint"</string>
     <string name="audio_play_content_description" msgid="4932509227281251607">"Jouer le contenu audio joint"</string>
     <string name="audio_pause_content_description" msgid="7578169887065513701">"Pause"</string>
-    <string name="incoming_message_announcement" msgid="6369259405539452011">"Message de <xliff:g id="SENDER">%s</xliff:g> : <xliff:g id="MESSAGE">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Échec de la réception du message de <xliff:g id="SENDER">%s</xliff:g> : <xliff:g id="MESSAGE">%s</xliff:g>. Heure : <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Message de <xliff:g id="SENDER">%s</xliff:g> : <xliff:g id="MESSAGE">%s</xliff:g>. Heure : <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Message non envoyé à <xliff:g id="CONTACT">%s</xliff:g> : <xliff:g id="MESSAGE">%s</xliff:g>. Heure : <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Envoi du message à <xliff:g id="CONTACT">%s</xliff:g> : <xliff:g id="MESSAGE">%s</xliff:g>. Heure : <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Échec de l\'envoi du message à <xliff:g id="CONTACT">%s</xliff:g> : <xliff:g id="MESSAGE">%s</xliff:g>. Heure : <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Message à <xliff:g id="CONTACT">%s</xliff:g> : <xliff:g id="MESSAGE">%s</xliff:g>. Heure : <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Échec de la réception du message de <xliff:g id="SENDER">%s</xliff:g> : <xliff:g id="MESSAGE">%s</xliff:g>. Heure : <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Message de <xliff:g id="SENDER">%s</xliff:g> : <xliff:g id="MESSAGE">%s</xliff:g>. Heure : <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Message non envoyé à : <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Heure: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Envoi du message à <xliff:g id="GROUP">%s</xliff:g> : <xliff:g id="MESSAGE">%s</xliff:g>. Heure : <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Échec de l\'envoi du message à <xliff:g id="GROUP">%s</xliff:g> : <xliff:g id="MESSAGE">%s</xliff:g>. Heure : <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Message à <xliff:g id="GROUP">%s</xliff:g> : <xliff:g id="MESSAGE">%s</xliff:g>. Heure : <xliff:g id="TIME">%s</xliff:g>."</string>
+    <string name="incoming_message_announcement" msgid="6369259405539452011">"Message de <xliff:g id="SENDER">%1$s</xliff:g> : <xliff:g id="MESSAGE">%2$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Échec de la réception du message de <xliff:g id="SENDER">%1$s</xliff:g> : <xliff:g id="MESSAGE">%2$s</xliff:g>. Heure : <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Message de <xliff:g id="SENDER">%1$s</xliff:g> : <xliff:g id="MESSAGE">%2$s</xliff:g>. Heure : <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Message non envoyé à <xliff:g id="CONTACT">%1$s</xliff:g> : <xliff:g id="MESSAGE">%2$s</xliff:g>. Heure : <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Envoi du message à <xliff:g id="CONTACT">%1$s</xliff:g> : <xliff:g id="MESSAGE">%2$s</xliff:g>. Heure : <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Échec de l\'envoi du message à <xliff:g id="CONTACT">%1$s</xliff:g> : <xliff:g id="MESSAGE">%2$s</xliff:g>. Heure : <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Message à <xliff:g id="CONTACT">%1$s</xliff:g> : <xliff:g id="MESSAGE">%2$s</xliff:g>. Heure : <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Échec de la réception du message de <xliff:g id="SENDER">%1$s</xliff:g> : <xliff:g id="MESSAGE">%2$s</xliff:g>. Heure : <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Message de <xliff:g id="SENDER">%1$s</xliff:g> : <xliff:g id="MESSAGE">%2$s</xliff:g>. Heure : <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Message non envoyé à : <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Heure: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Envoi du message à <xliff:g id="GROUP">%1$s</xliff:g> : <xliff:g id="MESSAGE">%2$s</xliff:g>. Heure : <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Échec de l\'envoi du message à <xliff:g id="GROUP">%1$s</xliff:g> : <xliff:g id="MESSAGE">%2$s</xliff:g>. Heure : <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Message à <xliff:g id="GROUP">%1$s</xliff:g> : <xliff:g id="MESSAGE">%2$s</xliff:g>. Heure : <xliff:g id="TIME">%3$s</xliff:g>."</string>
     <string name="failed_message_content_description" msgid="7047161648867054936">"Échec du message. Touchez pour réessayer."</string>
     <string name="group_conversation_description" msgid="2339270924401184182">"Conversation avec <xliff:g id="PARTICIPANTS">%s</xliff:g>"</string>
     <string name="delete_subject_content_description" msgid="8910749398836396698">"Supprimer l\'objet"</string>
@@ -258,7 +258,7 @@
     <string name="mms_messaging_category_pref_title" msgid="4816815152658525660">"Message multimédia"</string>
     <string name="advanced_category_pref_title" msgid="6411454224069259687">"Avancés"</string>
     <string name="debug_category_pref_title" msgid="8765138968242505061">"Déboguer"</string>
-    <string name="notifications_enabled_pref_title" msgid="4127288731844373795">"Notifications"</string>
+    <string name="notifications_pref_title" msgid="4127288731844373795">"Notifications"</string>
     <string name="notification_sound_pref_title" msgid="3685506528957337849">"Son"</string>
     <string name="silent_ringtone" msgid="8073534180322059814">"Mode silencieux"</string>
     <string name="notification_vibrate_pref_title" msgid="6668564570045187390">"Vibreur"</string>
@@ -359,7 +359,7 @@
     <string name="add_contact_confirmation" msgid="1479380805406328264">"Ajouter un contact"</string>
     <string name="compose_message_view_subject_hint_text" msgid="6076616675845705660">"Objet"</string>
     <string name="conversation_message_view_subject_text" msgid="5634274498769555505">"Objet : "</string>
-    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%s</xliff:g> <xliff:g id="MESSAGETEXT">%s</xliff:g>"</string>
+    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%1$s</xliff:g> <xliff:g id="MESSAGETEXT">%2$s</xliff:g>"</string>
     <string name="loading_vcard" msgid="3961520941271265083">"Chargement de la fiche de contact"</string>
     <string name="failed_loading_vcard" msgid="7711070643740368402">"Impossible de charger la fiche de contact"</string>
     <string name="vcard_tap_hint" msgid="4940284329175200952">"Afficher la fiche de contact"</string>
diff --git a/res/values-fr/cm_strings.xml b/res/values-fr/cm_strings.xml
new file mode 100644
index 0000000..0cf377b
--- /dev/null
+++ b/res/values-fr/cm_strings.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="swipe_to_delete_conversation_pref_title">Balayer pour supprimer</string>
+    <string name="swipe_to_delete_conversation_pref_summary">Balayer vers la droite pour supprimer une conversation</string>
+    <string name="show_emoticons_pref_title">Accès aux émoticônes</string>
+    <string name="show_emoticons_pref_summary">Afficher la touche émoticônes sur le clavier</string>
+    <string name="notification_mark_as_read">Marquer comme lue</string>
+    <string name="notification_channel_messages_title">Messages</string>
+</resources>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 688c1d5..4ca3cc2 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -202,19 +202,19 @@
     <string name="audio_attachment_content_description" msgid="499334244765270108">"Pièce jointe audio"</string>
     <string name="audio_play_content_description" msgid="4932509227281251607">"Jouer le contenu audio joint"</string>
     <string name="audio_pause_content_description" msgid="7578169887065513701">"Pause"</string>
-    <string name="incoming_message_announcement" msgid="6369259405539452011">"Message de <xliff:g id="SENDER">%s</xliff:g> : <xliff:g id="MESSAGE">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Échec de la réception du message envoyé par <xliff:g id="SENDER">%s</xliff:g> : <xliff:g id="MESSAGE">%s</xliff:g>. Heure : <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Message envoyé par <xliff:g id="SENDER">%s</xliff:g> : <xliff:g id="MESSAGE">%s</xliff:g>. Heure : <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Message non envoyé à <xliff:g id="CONTACT">%s</xliff:g> : <xliff:g id="MESSAGE">%s</xliff:g>. Heure : <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Envoi du message à <xliff:g id="CONTACT">%s</xliff:g> en cours : <xliff:g id="MESSAGE">%s</xliff:g>. Heure : <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Échec de l\'envoi du message à <xliff:g id="CONTACT">%s</xliff:g> : <xliff:g id="MESSAGE">%s</xliff:g>. Heure : <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Message à <xliff:g id="CONTACT">%s</xliff:g> : <xliff:g id="MESSAGE">%s</xliff:g>. Heure : <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Échec de la réception du message envoyé par <xliff:g id="SENDER">%s</xliff:g> : <xliff:g id="MESSAGE">%s</xliff:g>. Heure : <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>"</string>
-    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Message envoyé par <xliff:g id="SENDER">%s</xliff:g> : <xliff:g id="MESSAGE">%s</xliff:g>. Heure : <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>"</string>
-    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Message non envoyé au groupe \"<xliff:g id="GROUP">%s</xliff:g>\" : <xliff:g id="MESSAGE">%s</xliff:g>. Heure : <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Envoi du message au groupe \"<xliff:g id="GROUP">%s</xliff:g>\" en cours : <xliff:g id="MESSAGE">%s</xliff:g>. Heure : <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Échec de l\'envoi du message au groupe \"<xliff:g id="GROUP">%s</xliff:g>\" : <xliff:g id="MESSAGE">%s</xliff:g>. Heure : <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Message au groupe \"<xliff:g id="GROUP">%s</xliff:g>\" : <xliff:g id="MESSAGE">%s</xliff:g>. Heure : <xliff:g id="TIME">%s</xliff:g>"</string>
+    <string name="incoming_message_announcement" msgid="6369259405539452011">"Message de <xliff:g id="SENDER">%1$s</xliff:g> : <xliff:g id="MESSAGE">%2$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Échec de la réception du message envoyé par <xliff:g id="SENDER">%1$s</xliff:g> : <xliff:g id="MESSAGE">%2$s</xliff:g>. Heure : <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Message envoyé par <xliff:g id="SENDER">%1$s</xliff:g> : <xliff:g id="MESSAGE">%2$s</xliff:g>. Heure : <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Message non envoyé à <xliff:g id="CONTACT">%1$s</xliff:g> : <xliff:g id="MESSAGE">%2$s</xliff:g>. Heure : <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Envoi du message à <xliff:g id="CONTACT">%1$s</xliff:g> en cours : <xliff:g id="MESSAGE">%2$s</xliff:g>. Heure : <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Échec de l\'envoi du message à <xliff:g id="CONTACT">%1$s</xliff:g> : <xliff:g id="MESSAGE">%2$s</xliff:g>. Heure : <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Message à <xliff:g id="CONTACT">%1$s</xliff:g> : <xliff:g id="MESSAGE">%2$s</xliff:g>. Heure : <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Échec de la réception du message envoyé par <xliff:g id="SENDER">%1$s</xliff:g> : <xliff:g id="MESSAGE">%2$s</xliff:g>. Heure : <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>"</string>
+    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Message envoyé par <xliff:g id="SENDER">%1$s</xliff:g> : <xliff:g id="MESSAGE">%2$s</xliff:g>. Heure : <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>"</string>
+    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Message non envoyé au groupe \"<xliff:g id="GROUP">%1$s</xliff:g>\" : <xliff:g id="MESSAGE">%2$s</xliff:g>. Heure : <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Envoi du message au groupe \"<xliff:g id="GROUP">%1$s</xliff:g>\" en cours : <xliff:g id="MESSAGE">%2$s</xliff:g>. Heure : <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Échec de l\'envoi du message au groupe \"<xliff:g id="GROUP">%1$s</xliff:g>\" : <xliff:g id="MESSAGE">%2$s</xliff:g>. Heure : <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Message au groupe \"<xliff:g id="GROUP">%1$s</xliff:g>\" : <xliff:g id="MESSAGE">%2$s</xliff:g>. Heure : <xliff:g id="TIME">%3$s</xliff:g>"</string>
     <string name="failed_message_content_description" msgid="7047161648867054936">"Échec du message. Appuyez pour réessayer."</string>
     <string name="group_conversation_description" msgid="2339270924401184182">"Conversation avec <xliff:g id="PARTICIPANTS">%s</xliff:g>"</string>
     <string name="delete_subject_content_description" msgid="8910749398836396698">"Supprimer l\'objet"</string>
@@ -258,7 +258,7 @@
     <string name="mms_messaging_category_pref_title" msgid="4816815152658525660">"MMS"</string>
     <string name="advanced_category_pref_title" msgid="6411454224069259687">"Paramètres avancés"</string>
     <string name="debug_category_pref_title" msgid="8765138968242505061">"Déboguer"</string>
-    <string name="notifications_enabled_pref_title" msgid="4127288731844373795">"Notifications"</string>
+    <string name="notifications_pref_title" msgid="4127288731844373795">"Notifications"</string>
     <string name="notification_sound_pref_title" msgid="3685506528957337849">"Son"</string>
     <string name="silent_ringtone" msgid="8073534180322059814">"Mode silencieux"</string>
     <string name="notification_vibrate_pref_title" msgid="6668564570045187390">"Vibreur"</string>
@@ -359,7 +359,7 @@
     <string name="add_contact_confirmation" msgid="1479380805406328264">"Ajouter un contact"</string>
     <string name="compose_message_view_subject_hint_text" msgid="6076616675845705660">"Objet"</string>
     <string name="conversation_message_view_subject_text" msgid="5634274498769555505">"Objet : "</string>
-    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%s</xliff:g><xliff:g id="MESSAGETEXT">%s</xliff:g>"</string>
+    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%1$s</xliff:g><xliff:g id="MESSAGETEXT">%2$s</xliff:g>"</string>
     <string name="loading_vcard" msgid="3961520941271265083">"Chargement de la fiche de contact en cours…"</string>
     <string name="failed_loading_vcard" msgid="7711070643740368402">"Impossible de charger la fiche de contact."</string>
     <string name="vcard_tap_hint" msgid="4940284329175200952">"Afficher la fiche de contact"</string>
diff --git a/res/values-fy-rNL/cm_strings.xml b/res/values-fy-rNL/cm_strings.xml
new file mode 100644
index 0000000..1ded774
--- /dev/null
+++ b/res/values-fy-rNL/cm_strings.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="swipe_to_delete_conversation_pref_title">Feie om fuort te smiten</string>
+    <string name="swipe_to_delete_conversation_pref_summary">Nei rjochts feie om in petear fuort te smiten</string>
+    <string name="show_emoticons_pref_title">Tagong ta emoticons</string>
+    <string name="show_emoticons_pref_summary">Emoticons-toets op it toetseboerd toane</string>
+    <string name="notification_mark_as_read">As lêzen markearje</string>
+    <string name="notification_channel_messages_title">Berjochten</string>
+</resources>
diff --git a/res/values-gd/arrays.xml b/res/values-gd/arrays.xml
new file mode 100644
index 0000000..286c0b1
--- /dev/null
+++ b/res/values-gd/arrays.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string-array name="empty_subject_strings">
+        <item>gun chuspair</item>
+        <item>no subject</item>
+    </string-array>
+    <string-array name="notification_reply_choices">
+        <item>Tha</item>
+        <item>Chan eil</item>
+        <item>Ceart ma-thà</item>
+        <item>Èibhinn</item>
+        <item>Mòran taing</item>
+        <item>Sin dìreach</item>
+        <item>Snog</item>
+        <item>Air an t-slighe</item>
+        <item>Cluinnidh tu uam a dh’aithghearr</item>
+        <item>:)</item>
+        <item>:(</item>
+    </string-array>
+</resources>
diff --git a/res/values-gd/cm_strings.xml b/res/values-gd/cm_strings.xml
new file mode 100644
index 0000000..cb66400
--- /dev/null
+++ b/res/values-gd/cm_strings.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="swipe_to_delete_conversation_pref_title">Dèan grad-shlaighdeadh airson a sguabadh às</string>
+    <string name="swipe_to_delete_conversation_pref_summary">Dèan grad-shlaighdeadh gun taobh deas airson còmhradh a sguabadh às</string>
+    <string name="show_emoticons_pref_title">Cothrom air samhlaidhean-gnùise</string>
+    <string name="show_emoticons_pref_summary">Seall iuchair nan samhlaidhean-gnùise air a’ mheur-chlàr</string>
+    <string name="notification_mark_as_read">Cuir comharra gun deach a leughadh</string>
+    <string name="notification_channel_messages_title">Teachdaireachdan</string>
+</resources>
diff --git a/res/values-gd/strings.xml b/res/values-gd/strings.xml
new file mode 100644
index 0000000..f019834
--- /dev/null
+++ b/res/values-gd/strings.xml
@@ -0,0 +1,547 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name">Teachdaireachdan</string>
+    <string name="share_intent_label">Teachdaireachdan</string>
+    <string name="share_intent_activity_label">Tagh còmhradh</string>
+    <string name="action_settings">Roghainnean</string>
+    <string name="sendButtonContentDescription">Cuir teachdaireachd</string>
+    <string name="attachMediaButtonContentDescription">Cuir ceanglachan ris</string>
+    <string name="help_and_feedback_activity_label">Cobhair</string>
+    <string name="welcome">Fàilte</string>
+    <string name="skip">Leum thairis air</string>
+    <string name="next_with_arrow">Air adhart &gt;</string>
+    <string name="next">Air adhart</string>
+    <string name="exit">Fàg</string>
+    <string name="settings_with_arrow">Roghainnean &gt;</string>
+    <string name="settings">Roghainnean</string>
+    <string name="required_permissions_promo">Feumaidh na teachdaireachdan cead air SMS, an fhòn ’s an luchd-aithne</string>
+    <string name="enable_permission_procedure">’S urrainn dhut na ceadan atharrachadh ann an Roghainnean &gt; Aplacaidean &gt; Ceadan.</string>
+    <string name="enable_permission_procedure_description">’S urrainn dhut na ceadan atharrachadh ann an Roghainnean, Aplacaidean, Teachdaireachdan, Ceadan.</string>
+    <string name="contact_picker_frequents_tab_title">An fheadhainn thric</string>
+    <string name="contact_picker_all_contacts_tab_title">A h-uile neach-aithne</string>
+    <string name="contact_list_send_to_text">Cuir gu <xliff:g id="destination">%s</xliff:g></string>
+    <string name="mediapicker_cameraChooserDescription">Glac dealbhan no video</string>
+    <string name="mediapicker_audioChooserDescription">Clàraich fuaim</string>
+    <string name="mediapicker_gallery_item_selected_content_description">Thagh thu meadhan.</string>
+    <string name="mediapicker_gallery_item_unselected_content_description">Dì-thagh thu meadhan.</string>
+    <string name="mediapicker_gallery_title_selection"><xliff:g id="count">%d</xliff:g> air a thaghadh</string>
+    <string name="mediapicker_gallery_image_item_description">dealbh <xliff:g id="date">%1$te %1$tB %1$tY %1$tl %1$tM %1$tp</xliff:g></string>
+    <string name="mediapicker_gallery_image_item_description_no_date">dealbh</string>
+    <string name="mediapicker_audio_title">Clàraich fuaim</string>
+    <string name="action_share">Co-roinn</string>
+    <string name="posted_just_now">"An-dràsta fhèin"</string>
+    <string name="posted_now">"An-dràsta"</string>
+    <plurals name="num_minutes_ago">
+        <item quantity="one"><xliff:g id="count">%d</xliff:g> mhion</item>
+        <item quantity="two"><xliff:g id="count">%d</xliff:g> mhion</item>
+        <item quantity="few"><xliff:g id="count">%d</xliff:g> mion</item>
+        <item quantity="other"><xliff:g id="count">%d</xliff:g> mion</item>
+    </plurals>
+    <plurals name="num_hours_ago">
+        <item quantity="one"><xliff:g id="count">%d</xliff:g> uair</item>
+        <item quantity="two"><xliff:g id="count">%d</xliff:g> uair</item>
+        <item quantity="few"><xliff:g id="count">%d</xliff:g> uairean</item>
+        <item quantity="other"><xliff:g id="count">%d</xliff:g> uair</item>
+    </plurals>
+    <plurals name="num_days_ago">
+        <item quantity="one"><xliff:g id="count">%d</xliff:g> latha</item>
+        <item quantity="two"><xliff:g id="count">%d</xliff:g> latha</item>
+        <item quantity="few"><xliff:g id="count">%d</xliff:g> làithean</item>
+        <item quantity="other"><xliff:g id="count">%d</xliff:g> latha</item>
+    </plurals>
+    <plurals name="week_count">
+        <item quantity="one"><xliff:g id="count">%d</xliff:g> seachdain</item>
+        <item quantity="two"><xliff:g id="count">%d</xliff:g> sheachdain</item>
+        <item quantity="few"><xliff:g id="count">%d</xliff:g> seachdainean</item>
+        <item quantity="other"><xliff:g id="count">%d</xliff:g> seachdain</item>
+    </plurals>
+    <plurals name="month_count">
+        <item quantity="one"><xliff:g id="count">%d</xliff:g> mhìos</item>
+        <item quantity="two"><xliff:g id="count">%d</xliff:g> mhìos</item>
+        <item quantity="few"><xliff:g id="count">%d</xliff:g> mìosan</item>
+        <item quantity="other"><xliff:g id="count">%d</xliff:g> mìos</item>
+    </plurals>
+    <plurals name="year_count">
+        <item quantity="one"><xliff:g id="count">%d</xliff:g> bhliadhna</item>
+        <item quantity="two"><xliff:g id="count">%d</xliff:g> bhliadhna</item>
+        <item quantity="few"><xliff:g id="count">%d</xliff:g> bliadhnaichean</item>
+        <item quantity="other"><xliff:g id="count">%d</xliff:g> bliadhna</item>
+    </plurals>
+    <string name="class_0_message_activity">Teachdaireachd clas 0</string>
+    <string name="save">Sàbhail</string>
+    <string name="sms_storage_low_auto_delete_enabled_dialog_text">Tha an t-àite a’ fàs gann air an uidheam. Sguabaidh aplacaid nan teachdaireachdan seann-teachdaireachdan às airson àite a shaoradh.</string>
+    <string name="sms_storage_low_title">Tha an stòras gann</string>
+    <string name="sms_storage_low_text">Dh’fhaoidte nach dèid teachdaireachd a chur no fhaighinn mus bi barrachd àite air an uidheam agad.</string>
+    <string name="sms_storage_low_notification_ticker">Tha stòras nan SMS gann. Dh’fhaoidte gum bi agad ri teachdaireachdan a sguabadh às.</string>
+    <string name="enter_phone_number_title">Dearbh an àireamh fòn agad</string>
+    <string name="enter_phone_number_text">Chan fheum thu seo a dhèanamh ach aon turas agus nì e cinnteach gun dèid na teachdaireachdan buidhinn a lìbhrigeadh dhut mar bu chòir.</string>
+    <string name="enter_phone_number_hint">Àireamh fòn</string>
+    <string name="delete_all_media">Sguab às a h-uile teachdaireachd ris a bheil meadhan</string>
+    <string name="delete_oldest_messages">Sguab às na teachdaireachdan nas sine na <xliff:g id="duration">%s</xliff:g></string>
+    <string name="auto_delete_oldest_messages">Sguab às na teachdaireachdan nas sine na <xliff:g id="duration">%s</xliff:g> gu fèin-obrachail</string>
+    <string name="ignore">Leig seachad</string>
+    <string name="delete_all_media_confirmation">An sguab thu às a h-uile teachdaireachd ris a bheil meadhan?</string>
+    <string name="delete_oldest_messages_confirmation">An sguab thu às na teachdaireachdan nas sine na <xliff:g id="duration">%s</xliff:g>?</string>
+    <string name="auto_delete_oldest_messages_confirmation">An sguab thu às na teachdaireachdan nas sine na <xliff:g id="duration">%s</xliff:g> ’s an dèan sinn seo gu fèin-obrachail o seo a-mach?</string>
+    <string name="incoming_text_sender_content_description">Thuirt <xliff:g id="sender">%s</xliff:g></string>
+    <string name="outgoing_text_sender_content_description">Thuirt thu</string>
+    <string name="incoming_sender_content_description">Teachdaireachd o <xliff:g id="sender">%s</xliff:g></string>
+    <string name="outgoing_sender_content_description">Chuir thu teachdaireachd</string>
+    <string name="message_status_send_failed">Cha deach a chur. Thoir gnogag airson feuchainn ris a-rithist.</string>
+    <string name="message_status_resend">Ath-chuir no sguab às</string>
+    <string name="message_status_send_failed_emergency_number">Dèan gairm gutha dha na seirbheisean-èiginn. Cha b’ urrainn dhuinn an teachdaireachd teacsa agad a lìbhrigeadh aig an àm seo.</string>
+    <string name="message_status_failed">Dh’fhàillig leis</string>
+    <string name="message_title_manual_download">Tha teachdaireachd MMS ùr ri luchdadh a-nuas ann</string>
+    <string name="message_title_downloading">Teachdaireachd MMS ùr</string>
+    <string name="message_title_download_failed">Cha b’ urrainn dhuinn seo a luchdadh a-nuas</string>
+    <string name="message_status_download_failed">Thoir gnogag airson feuchainn ris a-rithist</string>
+    <string name="message_status_download">Thoir gnogag gus a luchdadh a-nuas</string>
+    <string name="message_status_download_action">Luchdaich a-nuas no sguab às</string>
+    <string name="message_status_download_error">Dh’fhalbh an ùine air an teachdaireachd no chan eil i ri làimh</string>
+    <string name="mms_info">meud: <xliff:g id="messageSize">%1$s</xliff:g>, falbhaidh an ùine air: <xliff:g id="messageExpire">%2$s</xliff:g></string>
+    <string name="invalid_destination">Cha ghabh a chur. Chan eil am faightear dligheach.</string>
+    <string name="service_not_activated">Chan eil an t-seirbheis gnìomhach air an lìonra seo</string>
+    <string name="service_network_problem">Cha b’ urrainn dhuinn a chur ri linn duilgheadasan leis an lìonra</string>
+    <string name="service_message_not_found">Dh’fhalbh an ùine air an teachdaireachd no chan eil i ri làimh</string>
+    <string name="no_subject">(Gun chuspair)</string>
+    <string name="unknown_sender">Seòladair nach aithne dhuinn</string>
+    <string name="delivered_status_content_description">Air a libhrigeadh</string>
+    <string name="dl_failure_notification">Cha b’ urrainn dhuinn teachdaireachd <xliff:g id="subject">%1$s</xliff:g> o <xliff:g id="from">%2$s</xliff:g> a luchdadh a-nuas.</string>
+    <string name="low_memory">Cha b’ urrainn dhuinn an gnìomh stòir-dhàta a choileanadh air sgàth gainnead cuimhne</string>
+    <string name="notification_send_failures_line1_singular">Cha deach an teachdaireachd a chur</string>
+    <string name="notification_send_failures_line1_plural">Cha do chuir aplacaid nan teachdaireachdan a h-uile teachdaireachd</string>
+    <plurals name="notification_send_failures">
+        <item quantity="one"><xliff:g id="messages">%d</xliff:g> teachdaireachdan am broinn <xliff:g id="conversations">%d</xliff:g> chòmhradh</item>
+        <item quantity="two"><xliff:g id="messages">%d</xliff:g> teachdaireachdan am broinn <xliff:g id="conversations">%d</xliff:g> chòmhradh</item>
+        <item quantity="few"><xliff:g id="messages">%d</xliff:g> teachdaireachdan am broinn <xliff:g id="conversations">%d</xliff:g> còmhraidhean</item>
+        <item quantity="other"><xliff:g id="messages">%d</xliff:g> teachdaireachdan am broinn <xliff:g id="conversations">%d</xliff:g> còmhradh</item>
+    </plurals>
+    <string name="notification_download_failures_line1_singular">Cha deach an teachdaireachd a luchdadh a-nuas</string>
+    <string name="notification_download_failures_line1_plural">Cha do luchdaich aplacaid nan teachdaireachdan a h-uile teachdaireachd a-nuas</string>
+    <plurals name="notification_download_failures">
+        <item quantity="one"><xliff:g id="messages">%d</xliff:g> teachdaireachdan am broinn <xliff:g id="conversations">%d</xliff:g> chòmhradh</item>
+        <item quantity="two"><xliff:g id="messages">%d</xliff:g> teachdaireachdan am broinn <xliff:g id="conversations">%d</xliff:g> chòmhradh</item>
+        <item quantity="few"><xliff:g id="messages">%d</xliff:g> teachdaireachdan am broinn <xliff:g id="conversations">%d</xliff:g> còmhraidhean</item>
+        <item quantity="other"><xliff:g id="messages">%d</xliff:g> teachdaireachdan am broinn <xliff:g id="conversations">%d</xliff:g> còmhradh</item>
+    </plurals>
+    <string name="notification_emergency_send_failure_line1">Cha deach an teachdaireachd gu <xliff:g id="number">%1$s</xliff:g> a chur</string>
+    <string name="notification_emergency_send_failure_line2">        Dèan gairm gutha dha na seirbheisean-èiginn. Cha b’ urrainn dhuinn an teachdaireachd teacsa agad gu
+        <xliff:g id="number">%1$s</xliff:g> a lìbhrigeadh aig an àm seo.
+    </string>
+    <plurals name="notification_new_messages">
+        <item quantity="one"><xliff:g id="messages">%d</xliff:g> teachdaireachd ùr</item>
+        <item quantity="two"><xliff:g id="messages">%d</xliff:g> teachdaireachd ùr</item>
+        <item quantity="few"><xliff:g id="messages">%d</xliff:g> teachdaireachdan ùra</item>
+        <item quantity="other"><xliff:g id="messages">%d</xliff:g> teachdaireachd ùr</item>
+    </plurals>
+    <string name="start_conversation">Tòisich</string>
+    <string name="camera_error_opening">Chan eil camara ri làimh</string>
+    <string name="camera_error_unknown">Chan eil camara ri làimh</string>
+    <string name="camera_error_video_init_fail">Chan eil glacadh video ri làimh</string>
+    <string name="camera_error_storage_fail">Cha ghabh meadhan a shàbhaladh</string>
+    <string name="camera_error_failure_taking_picture">Cha ghabh dealbh a thogail</string>
+    <string name="back">Air ais</string>
+    <string name="action_menu_show_archived">Air a chur san tasg-lann</string>
+    <string name="action_delete">Sguab às</string>
+    <string name="action_archive">Tasg-lann</string>
+    <string name="action_unarchive">Thoir às an tasg-lann</string>
+    <string name="action_add_contact">Cuir neach-aithne ris</string>
+    <string name="action_download">Luchdaich a-nuas</string>
+    <string name="action_send">Cuir</string>
+    <string name="action_delete_message">Sguab às</string>
+    <string name="delete_message_confirmation_dialog_title">An sguab thu às an teachdaireachd seo?</string>
+    <string name="delete_message_confirmation_dialog_text">Cha ghabh seo a neo-dhèanamh.</string>
+    <string name="delete_message_confirmation_button">Sguab às</string>
+    <plurals name="delete_conversations_confirmation_dialog_title">
+        <item quantity="one">An sguab thu às an còmhradh seo?</item>
+        <item quantity="two">An sguab thu às na còmhraidhean seo?</item>
+        <item quantity="few">An sguab thu às na còmhraidhean seo?</item>
+        <item quantity="other">An sguab thu às na còmhraidhean seo?</item>
+    </plurals>
+    <string name="delete_conversation_confirmation_button">Sguab às</string>
+    <string name="delete_conversation_decline_button">Sguir dheth</string>
+    <string name="recipient_hint">Gu</string>
+    <string name="action_multiselect">Tagh iomadh dealbh</string>
+    <string name="action_confirm_multiselect">Dearbh an taghadh</string>
+    <string name="attachment_more_items">+<xliff:g id="count">%d</xliff:g></string>
+    <string name="audio_recording_start_failed">Cha b’ urrainn dhuinn an fhuaim a chlàradh. Feuch ris a-rithist.</string>
+    <string name="audio_recording_replay_failed">Cha b’ urrainn dhuinn an fhuaim a chluich. Feuch ris a-rithist.</string>
+    <string name="audio_recording_error"> Cha b’ urrainn dhuinn an fhuaim a shàbhaladh. Feuch ris a-rithist.</string>
+    <string name="audio_picker_hint_text">Thoir gnogag ⁊ cùm sìos</string>
+    <string name="enumeration_comma">,\u0020</string>
+    <string name="notification_separator">\u0020\u0020</string>
+    <string name="notification_ticker_separator">:\u0020</string>
+    <string name="notification_space_separator">\u0020\u0020</string>
+    <string name="notification_picture">Dealbh</string>
+    <string name="notification_audio">Bearradh fuaime</string>
+    <string name="notification_video">Video</string>
+    <string name="notification_vcard">Cairt-chonaltraidh</string>
+    <string name="notification_download_mms">Luchdaich a-nuas</string>
+    <string name="notification_reply_via_sms">Freagair le SMS</string>
+    <string name="notification_reply_via_mms">Freagair le MMS</string>
+    <string name="notification_reply_prompt">Freagairt</string>
+    <plurals name="wearable_participant_count">
+        <item quantity="one">&lt;xliff:g id="count"&gt; chom-pàirtiche</item>
+        <item quantity="two">&lt;xliff:g id="count"&gt; chom-pàirtiche</item>
+        <item quantity="few">&lt;xliff:g id="count"&gt; com-pàirtichean</item>
+        <item quantity="other">&lt;xliff:g id="count"&gt; com-pàirtiche</item>
+    </plurals>
+    <string name="unknown_self_participant">Uam</string>
+    <string name="blocked_toast_message">Chaidh an neach-aithne a bhacadh ⁊ a chur san tasg-lann</string>
+    <string name="unblocked_toast_message">Chaidh an neach-aithne a bhacadh ⁊ a thoirt às an tasg-lann</string>
+    <string name="archived_toast_message">Chaidh <xliff:g id="count">%d</xliff:g> a chur san tasg-lann</string>
+    <string name="unarchived_toast_message">Chaidh <xliff:g id="count">%d</xliff:g> a thoirt às an tasg-lann</string>
+    <string name="notification_off_toast_message">Chaidh na brathan a chur dheth</string>
+    <string name="notification_on_toast_message">Chaidh na brathan a chur air</string>
+    <string name="toast_after_setting_default_sms_app_for_message_send">Tha thu ullamh ma-thà. Thoir gnogag air “Cuir” a-rithist.</string>
+    <string name="toast_after_setting_default_sms_app">Chaidh aplacaid nan teachdaireachdan a shuidheachadh mar thè thùsail nan SMS.</string>
+    <plurals name="attachment_preview_close_content_description">
+        <item quantity="one">Tilg air falbh an ceanglachan</item>
+        <item quantity="two">Tilg air falbh na ceanglachain</item>
+        <item quantity="few">Tilg air falbh na ceanglachain</item>
+        <item quantity="other">Tilg air falbh na ceanglachain</item>
+    </plurals>
+    <string name="audio_attachment_content_description">Ceanglachan fuaime</string>
+    <string name="audio_play_content_description">Cluich an ceanglachan fuaime</string>
+    <string name="audio_pause_content_description">Cuir ’na stad</string>
+    <string name="failed_message_content_description">Dh’fhàillig leis an teachdaireachd. Thoir gnogag airson feuchainn ris a-rithist.</string>
+    <string name="group_conversation_description">Còmhradh le <xliff:g id="participants">%s</xliff:g></string>
+    <string name="delete_subject_content_description">Sguab às an cuspair</string>
+    <string name="camera_switch_to_video_mode">Glac video</string>
+    <string name="camera_switch_to_still_mode">Glac dealbh</string>
+    <string name="camera_take_picture">Tog dealbh</string>
+    <string name="camera_start_recording">Tòisich air video a chlàradh</string>
+    <string name="camera_switch_full_screen">Geàrr leum gu camara na làn-sgrìn</string>
+    <string name="camera_switch_camera_facing">Geàrr leum eadar camara a’ bheulaibh ’s a’ chùlaibh</string>
+    <string name="camera_stop_recording">Cuir stad air a’ clàradh ’s ceangal a’ video ris</string>
+    <string name="camera_cancel_recording">Cuir stad air a’ chlàradh a’ video</string>
+    <string name="photo_view_activity_title">Dealbhan theachdaireachdan</string>
+    <plurals name="photos_saved_to_album">
+        <item quantity="one">Chaidh <xliff:g id="quantity">%d</xliff:g> dealbh a shàbhaladh dhan albam “<xliff:g id="albumName">%s</xliff:g>”</item>
+        <item quantity="two">Chaidh <xliff:g id="quantity">%d</xliff:g> dhealbh a shàbhaladh dhan albam “<xliff:g id="albumName">%s</xliff:g>”</item>
+        <item quantity="few">Chaidh <xliff:g id="quantity">%d</xliff:g> dealbhan a shàbhaladh dhan albam “<xliff:g id="albumName">%s</xliff:g>”</item>
+        <item quantity="other">Chaidh <xliff:g id="quantity">%d</xliff:g> dealbh a shàbhaladh dhan albam “<xliff:g id="albumName">%s</xliff:g>”</item>
+    </plurals>
+    <plurals name="videos_saved_to_album">
+        <item quantity="one">Chaidh <xliff:g id="quantity">%d</xliff:g> video a shàbhaladh dhan albam “<xliff:g id="albumName">%s</xliff:g>”</item>
+        <item quantity="two">Chaidh <xliff:g id="quantity">%d</xliff:g> video a shàbhaladh dhan albam “<xliff:g id="albumName">%s</xliff:g>”</item>
+        <item quantity="few">Chaidh <xliff:g id="quantity">%d</xliff:g> videothan a shàbhaladh dhan albam “<xliff:g id="albumName">%s</xliff:g>”</item>
+        <item quantity="other">Chaidh <xliff:g id="quantity">%d</xliff:g> video a shàbhaladh dhan albam “<xliff:g id="albumName">%s</xliff:g>”</item>
+    </plurals>
+    <plurals name="attachments_saved_to_album">
+        <item quantity="one">Chaidh <xliff:g id="quantity">%d</xliff:g> cheanglachan a shàbhaladh dhan albam “<xliff:g id="albumName">%s</xliff:g>”</item>
+        <item quantity="two">Chaidh <xliff:g id="quantity">%d</xliff:g> cheanglachan a shàbhaladh dhan albam “<xliff:g id="albumName">%s</xliff:g>”</item>
+        <item quantity="few">Chaidh <xliff:g id="quantity">%d</xliff:g> ceanglachain a shàbhaladh dhan albam “<xliff:g id="albumName">%s</xliff:g>”</item>
+        <item quantity="other">Chaidh <xliff:g id="quantity">%d</xliff:g> ceanglachan a shàbhaladh dhan albam “<xliff:g id="albumName">%s</xliff:g>”</item>
+    </plurals>
+    <plurals name="attachments_saved_to_downloads">
+        <item quantity="one">Chaidh <xliff:g id="quantity">%d</xliff:g> cheanglachan a shàbhaladh gu “Luchdaidhean a-nuas”</item>
+        <item quantity="two">Chaidh <xliff:g id="quantity">%d</xliff:g> cheanglachan a shàbhaladh gu “Luchdaidhean a-nuas”</item>
+        <item quantity="few">Chaidh <xliff:g id="quantity">%d</xliff:g> ceanglachain a shàbhaladh gu “Luchdaidhean a-nuas”</item>
+        <item quantity="other">Chaidh <xliff:g id="quantity">%d</xliff:g> ceanglachan a shàbhaladh gu “Luchdaidhean a-nuas”</item>
+    </plurals>
+    <plurals name="attachments_saved">
+        <item quantity="one">Chaidh <xliff:g id="quantity">%d</xliff:g> cheanglachan a shàbhaladh</item>
+        <item quantity="two">Chaidh <xliff:g id="quantity">%d</xliff:g> cheanglachan a shàbhaladh</item>
+        <item quantity="few">Chaidh <xliff:g id="quantity">%d</xliff:g> ceanglachain a shàbhaladh</item>
+        <item quantity="other">Chaidh <xliff:g id="quantity">%d</xliff:g> ceanglachan a shàbhaladh</item>
+    </plurals>
+    <plurals name="attachment_save_error">
+        <item quantity="one">Tha <xliff:g id="quantity">%d</xliff:g> cheanglachan nach b’ urrainn dhuinn a shàbhaladh ann</item>
+        <item quantity="two">Tha <xliff:g id="quantity">%d</xliff:g> cheanglachan nach b’ urrainn dhuinn a shàbhaladh ann</item>
+        <item quantity="few">Tha <xliff:g id="quantity">%d</xliff:g> ceanglachain nach b’ urrainn dhuinn a shàbhaladh ann</item>
+        <item quantity="other">Tha <xliff:g id="quantity">%d</xliff:g> ceanglachan nach b’ urrainn dhuinn a shàbhaladh ann</item>
+    </plurals>
+    <string name="attachment_file_description">Ceanglachan MMS air a shàbhaladh</string>
+    <string name="settings_activity_title">Roghainnean</string>
+    <string name="archived_activity_title">Air a chur san tasg-lann</string>
+    <string name="action_close">Dùin</string>
+    <string name="mms_messaging_category_pref_title">MMS</string>
+    <string name="advanced_category_pref_title">Adhartach</string>
+    <string name="debug_category_pref_title">Dì-bhugachadh</string>
+    <string name="notifications_pref_title">Brathan</string>
+    <string name="silent_ringtone">’Na thost</string>
+    <string name="blocked_pref_title">Bacte</string>
+    <string name="delivery_reports_pref_title">Aithisgean lìbhrigidh SMS</string>
+    <string name="delivery_reports_pref_summary">Iarr aithisg lìbhrigidh airson gach SMS a chuireas tu</string>
+    <string name="auto_retrieve_mms_pref_title">Faigh gu fèin-obrachail</string>
+    <string name="auto_retrieve_mms_pref_summary">Faigh teachdaireachdan MMS gu fèin-obrachail</string>
+    <string name="auto_retrieve_mms_when_roaming_pref_title">Faigh gu fèin-obrachail air fàrsan</string>
+    <string name="auto_retrieve_mms_when_roaming_pref_summary">Faigh teachdaireachdan MMS gu fèin-obrachail fhad ’s a bhios tu air fàrsan</string>
+    <string name="group_mms_pref_title">Teachdaireachdan buidhinn</string>
+    <string name="group_mms_pref_summary">Cleachd MMS a chur aon teachdaireachd nuair a bhios iomadh faightear ann</string>
+    <string name="sms_disabled_pref_title">Aplacaid SMS thùsail</string>
+    <string name="sms_enabled_pref_title">Aplacaid SMS thùsail</string>
+    <string name="default_sms_app"><xliff:g id="app_name">%s</xliff:g></string>
+    <string name="mms_phone_number_pref_title">An àireamh fòn agad</string>
+    <string name="unknown_phone_number_pref_display_value">Neo-aithnichte</string>
+    <string name="send_sound_pref_title">Fuaimean nan teachdaireachdan a-mach</string>
+    <string name="dump_sms_pref_title">Dumpaich an SMS</string>
+    <string name="dump_sms_pref_summary">Dèan dump de dàta amh an SMS a fhuair thu gu faidhle stòrais air an taobh a-muigh</string>
+    <string name="dump_mms_pref_title">Dumpaich an MMS</string>
+    <string name="dump_mms_pref_summary">Dèan dump de dàta amh an MMS a fhuair thu gu faidhle stòrais air an taobh a-muigh</string>
+    <string name="wireless_alerts_title">Caismeachdan gun uèir</string>
+    <string name="message_context_menu_title">Roghainnean na teachdaireachd</string>
+    <string name="message_context_menu_copy_text">Dèan lethbhreac dhen teacsa</string>
+    <string name="message_context_menu_view_details">Seall am mion-fhiosrachadh</string>
+    <string name="message_context_menu_delete_message">Sguab às</string>
+    <string name="message_context_menu_forward_message">Sìn air adhart</string>
+    <string name="message_details_title">Mion-fhiosrachadh mun teachdaireachd</string>
+    <string name="message_type_label">Seòrsa:\u0020</string>
+    <string name="text_message">Teachdaireachd teacsa</string>
+    <string name="multimedia_message">Teachdaireachd ioma-mheadhain</string>
+    <string name="from_label">O:\u0020</string>
+    <string name="to_address_label">Gu:\u0020</string>
+    <string name="sent_label">Air a chur:\u0020</string>
+    <string name="received_label">Air fhaighinn:\u0020</string>
+    <string name="subject_label">Cuspair:\u0020</string>
+    <string name="message_size_label">Meud:\u0020</string>
+    <string name="priority_label">Prìomhachas:\u0020</string>
+    <string name="sim_label">SIM:\u0020</string>
+    <string name="priority_high">Àrd</string>
+    <string name="priority_normal">Àbhaisteach</string>
+    <string name="priority_low">Ìosal</string>
+    <string name="sim_slot_identifier">SIM <xliff:g id="sim_slot_number">%s</xliff:g></string>
+    <string name="hidden_sender_address">Seòladh falaichte an t-seòladair</string>
+    <string name="cant_send_message_while_loading_attachments">Chan urrainn dhuinn teachdaireachd a chur fhad ’s a tha ceanglachan ’ga luchdadh.</string>
+    <string name="fail_to_load_attachment">Cha b’ urrainn dhuinn ceanglachan a luchdadh. Feuch ris a-rithist.</string>
+    <string name="cant_send_message_without_active_subscription">Chan eil an lìonra deiseil. Feuch ris a-rithist.</string>
+    <string name="chips_text_delete_button_content_description">Sguab às an teacsa</string>
+    <string name="numeric_text_keyboard_toggle_button_content_description">Geàrr leum eadar cur a-steach teacsa is àireamhan</string>
+    <string name="add_more_participants_button_content_description">Cuir barrachd com-pàirtichean ris</string>
+    <string name="confrim_participants_button_content_description">Dearbh na com-pàirtichean</string>
+    <string name="start_new_conversation">Tòisich air còmhradh ùr</string>
+    <string name="gallery_checkbox_content_description">Tagh an nì seo</string>
+    <string name="video_thumbnail_view_play_button_content_description">Cluich a’ video</string>
+    <string name="action_people_and_options">Daoine ⁊ roghainnean</string>
+    <string name="action_debug_options">Dì-bhugachadh</string>
+    <string name="people_and_options_activity_title">Daoine ⁊ roghainnean</string>
+    <string name="general_settings_title">Coitcheann</string>
+    <string name="participant_list_title">Na daoine sa chòmhradh seo</string>
+    <string name="action_call">Cuir fòn</string>
+    <string name="compose_message_view_hint_text">Cuir teachdaireachd</string>
+    <string name="compose_message_view_hint_text_multi_sim">Cuir an teachdaireachd&lt;br/&gt;&lt;small&gt;le <xliff:g id="sim_name">%s</xliff:g>&lt;/small&gt;</string>
+    <plurals name="compose_message_view_hint_text_photo">
+        <item quantity="one">Cuir dealbh</item>
+        <item quantity="two">Cuir dealbhan</item>
+        <item quantity="few">Cuir dealbhan</item>
+        <item quantity="other">Cuir dealbhan</item>
+    </plurals>
+    <plurals name="compose_message_view_hint_text_audio">
+        <item quantity="one">Cuir fuaim</item>
+        <item quantity="two">Cuir fuaimean</item>
+        <item quantity="few">Cuir fuaimean</item>
+        <item quantity="other">Cuir fuaimean</item>
+    </plurals>
+    <plurals name="compose_message_view_hint_text_video">
+        <item quantity="one">Cuir video</item>
+        <item quantity="two">Cuir videothan</item>
+        <item quantity="few">Cuir videothan</item>
+        <item quantity="other">Cuir videothan</item>
+    </plurals>
+    <plurals name="compose_message_view_hint_text_vcard">
+        <item quantity="one">Cuir cairt-chonaltraidh</item>
+        <item quantity="two">Cuir cairtean-conaltraidh</item>
+        <item quantity="few">Cuir cairtean-conaltraidh</item>
+        <item quantity="other">Cuir cairtean-conaltraidh</item>
+    </plurals>
+    <plurals name="compose_message_view_hint_text_attachments">
+        <item quantity="one">Cuir ceanglachan</item>
+        <item quantity="two">Cuir ceanglachain</item>
+        <item quantity="few">Cuir ceanglachain</item>
+        <item quantity="other">Cuir ceanglachain</item>
+    </plurals>
+    <plurals name="attachment_changed_accessibility_announcement">
+        <item quantity="one">Tha <xliff:g id="attachment_count">%d</xliff:g> cheanglachan deiseil ri chur</item>
+        <item quantity="two">Tha <xliff:g id="attachment_count">%d</xliff:g> cheanglachan deiseil ri chur</item>
+        <item quantity="few">Tha <xliff:g id="attachment_count">%d</xliff:g> ceanglachain deiseil ri chur</item>
+        <item quantity="other">Tha <xliff:g id="attachment_count">%d</xliff:g> ceanglachan deiseil ri chur</item>
+    </plurals>
+    <string name="menu_send_feedback">Cuir do bheachd thugainn</string>
+    <string name="menu_view_in_store">Seall am broinn Google Play Store</string>
+    <string name="menu_version_info">Fiosrachadh mun tionndadh</string>
+    <string name="subtitle_format_for_version_number">Tionndadh %1$s</string>
+    <string name="menu_license">Ceadachasan Open Source</string>
+    <string name="notifications_enabled_conversation_pref_title">Brathan</string>
+    <string name="mms_attachment_limit_reached">Ràinig thu a’ chrìoch nan ceanglachan</string>
+    <string name="mms_attachment_load_failed">Dh’fhàillig le luchdadh a’ cheanglachain.</string>
+    <string name="add_contact_confirmation_dialog_title">A cuir thu seo ris an luchd-aithne?</string>
+    <string name="add_contact_confirmation">Cuir neach-aithne ris</string>
+    <string name="compose_message_view_subject_hint_text">Cuspair</string>
+    <string name="conversation_message_view_subject_text">Cuspair:\u0020</string>
+    <string name="loading_vcard">A’ luchdadh na cairte-conaltraidh</string>
+    <string name="failed_loading_vcard">Cha b’ urrainn dhuinn a’ chairt-chonaltraidh a luchdadh</string>
+    <string name="vcard_tap_hint">Seall a’ chairt-chonaltraidh</string>
+    <plurals name="vcard_multiple_display_name">
+        <item quantity="one"><xliff:g id="count">%d</xliff:g> neach-aithne</item>
+        <item quantity="two"><xliff:g id="count">%d</xliff:g> luchd-aithne</item>
+        <item quantity="few"><xliff:g id="count">%d</xliff:g> luchd-aithne</item>
+        <item quantity="other"><xliff:g id="count">%d</xliff:g> neach-aithne</item>
+    </plurals>
+    <string name="vcard_detail_activity_title">Cairt-chonaltraidh</string>
+    <string name="vcard_detail_birthday_label">Co-là breith</string>
+    <string name="vcard_detail_notes_label">Nòtaichean</string>
+    <string name="forward_message_activity_title">Sìneadh air adhart</string>
+    <string name="reply_activity_title">Freagairt</string>
+    <string name="plus_one">+1</string>
+    <string name="plus_n">+%d</string>
+    <string name="sms_disabled">Tha SMS à comas</string>
+    <string name="requires_default_sms_app_to_send">Airson a chur, suidhich aplacaid nan teachdaireachdan mar thè thùsail nan SMS</string>
+    <string name="requires_default_sms_app">Suidhich aplacaid nan teachdaireachdan mar thè thùsail nan SMS</string>
+    <string name="requires_default_sms_change_button">Atharraich</string>
+    <string name="recommend_set_default_sms_app">Airson teachdaireachdan fhaighinn, suidhich aplacaid nan teachdaireachdan mar thè thùsail nan SMS</string>
+    <string name="no_preferred_sim_selected">Cha do thagh thu an SIM as fheàrr leat airson teachdaireachdan SMS a chur</string>
+    <string name="requires_sms_permissions_message">Cha cheadaich sealbhadair an uidheim an aplacaid seo.</string>
+    <string name="requires_sms_permissions_close_button">Ceart ma-thà</string>
+    <string name="too_many_participants">Tha cus chom-pàirtichean ann an còmhradh</string>
+    <plurals name="add_invalid_contact_error">
+        <item quantity="one">Neach-aithne mì-dhligheach</item>
+        <item quantity="two">Luchd-aithne mì-dhligheach</item>
+        <item quantity="few">Luchd-aithne mì-dhligheach</item>
+        <item quantity="other">Luchd-aithne mì-dhligheach</item>
+    </plurals>
+    <string name="camera_media_failure">Cha b’ urrainn dhuinn dealbh a’ chamara a luchdadh</string>
+    <string name="conversation_list_item_view_sent_from_you_prefix">Thusa:\u0020</string>
+    <string name="conversation_list_item_view_sent_from_other_prefix"><xliff:g id="firstNameOfSender">%s</xliff:g>:\u0020</string>
+    <string name="conversation_list_item_view_draft_message">Dreachd</string>
+    <string name="conversation_list_empty_text">Nuair a thòisicheas tu air còmhradh ùr, chì thu an-seo e</string>
+    <string name="archived_conversation_list_empty_text">Nochdaidhean còmhraidhean na tasg-lainn an-seo</string>
+    <string name="conversation_list_snippet_picture">Dealbh</string>
+    <string name="conversation_list_snippet_audio_clip">Bearradh fuaime</string>
+    <string name="conversation_list_snippet_video">Video</string>
+    <string name="conversation_list_snippet_vcard">Cairt-chonaltraidh</string>
+    <string name="mms_text">MMS</string>
+    <string name="snack_bar_undo">Neo-dhèan</string>
+    <string name="snack_bar_retry">Feuch ris a-rithist</string>
+    <string name="contact_list_empty_text">Cuir a-steach ainm no àireamh fòn neach-aithne airson teachdaireachd ùr a thòiseachadh</string>
+    <string name="action_block">Bac</string>
+    <string name="block_contact_title">Bac <xliff:g id="destination">%s</xliff:g></string>
+    <string name="unblock_contact_title">Dì-bhac <xliff:g id="destination">%s</xliff:g></string>
+    <string name="block_confirmation_title">Am bac thu <xliff:g id="destination">%s</xliff:g>?</string>
+    <string name="block_confirmation_message">Gheibh thu teachdaireachdan on àireamh seo fhathast ach chan fhaigh thu brath mun dèidhinn. Thèid an còmhradh seo a chur san tasg-lann.</string>
+    <string name="blocked_contacts_title">Luchd-aithne a chaidh a bhacadh</string>
+    <string name="tap_to_unblock_message">DÌ-BHAC</string>
+    <string name="view_blocked_contacts_title">Luchd-aithne a chaidh a bhacadh</string>
+    <string name="pick_image_from_document_library_content_description">Tagh dealbh o leabhar-lann nan sgrìobhainnean</string>
+    <string name="sending_message">A’ cur na teachdaireachd</string>
+    <string name="send_message_success">Chaidh an teachdaireachd a chur</string>
+    <string name="send_message_failure_no_data">Chaidh an dàta mobile a chur dheth. Thoir sùil air na roghainnean agad.</string>
+    <string name="send_message_failure_airplane_mode">Chan urrainn dhuinn teachdaireachd a chur fhad ’s a bhios am modh itealain air</string>
+    <string name="send_message_failure">Cha b’ urrainn dhuinn an teachdaireachd a chur</string>
+    <string name="download_message_success">Chaidh an teachdaireachd a luchdadh a-nuas</string>
+    <string name="download_message_failure_no_data">Chaidh an dàta mobile a chur dheth. Thoir sùil air na roghainnean agad.</string>
+    <string name="download_message_failure_airplane_mode">Chan urrainn dhuinn teachdaireachd a luchdadh a-nuas fhad ’s a bhios am modh itealain air</string>
+    <string name="download_message_failure">Cha b’ urrainn dhuinn an teachdaireachd a luchdadh a-nuas</string>
+    <string name="content_description_for_number_zero">A neoini</string>
+    <string name="content_description_for_number_one">A h-aon</string>
+    <string name="content_description_for_number_two">A dhà</string>
+    <string name="content_description_for_number_three">A trì</string>
+    <string name="content_description_for_number_four">A ceithir</string>
+    <string name="content_description_for_number_five">A còig</string>
+    <string name="content_description_for_number_six">A sia</string>
+    <string name="content_description_for_number_seven">A seachd</string>
+    <string name="content_description_for_number_eight">A h-ochd</string>
+    <string name="content_description_for_number_nine">A naoi</string>
+    <string name="carrier_send_error">Cha b’ urrainn dhuinn an teachdaireachd a chur le <xliff:g id="carrierName">%1$s</xliff:g>, mearachd <xliff:g id="errorCode">%2$d</xliff:g></string>
+    <string name="carrier_send_error_unknown_carrier">Cha b’ urrainn dhuinn an teachdaireachd a chur ’s chan eil fhios cò an giùlanair, mearachd <xliff:g id="errorCode">%1$d</xliff:g></string>
+    <string name="message_fwd">Fwd: <xliff:g id="subject">%s</xliff:g></string>
+    <string name="mms_failure_outgoing_service">Cha deach an teachdaireachd a chur: chan eil an t-seirbheis gnìomhach air an lìonra seo</string>
+    <string name="mms_failure_outgoing_address">Cha deach an teachdaireachd a chur: seòladh-uidhe mì-dhligheach</string>
+    <string name="mms_failure_outgoing_corrupt">Cha deach an teachdaireachd a chur: teachdaireachd mhì-dhligheach</string>
+    <string name="mms_failure_outgoing_content">Cha deach an teachdaireachd a chur: susbaint ris nach eil taic</string>
+    <string name="mms_failure_outgoing_unsupported">Cha deach an teachdaireachd a chur: teachdaireachd ris nach eil taic</string>
+    <string name="mms_failure_outgoing_too_large">Cha deach an teachdaireachd a chur: ro mhòr</string>
+    <string name="in_conversation_notify_new_message_text">Teachdaireachd ùr</string>
+    <string name="in_conversation_notify_new_message_action">Seall</string>
+    <string name="message_image_content_description">Dealbh</string>
+    <string name="activity_not_found_message">Cha do lorg sinn aplacaid iomchaidh</string>
+    <string name="chips_delete_content_description">Thoir faightear air falbh</string>
+    <string name="share_new_message">Teachdaireachd ùr</string>
+    <string name="share_cancel">Sguir dheth</string>
+    <string name="apn_edit">Deasaich a’ phuing-inntrigidh</string>
+    <string name="apn_not_set">Cha deach a shuidheachadh</string>
+    <string name="apn_name">Ainm</string>
+    <string name="apn_apn">APN</string>
+    <string name="apn_mmsc">MMSC</string>
+    <string name="apn_mms_proxy">Progsaidh MMS</string>
+    <string name="apn_mms_port">Port MMS</string>
+    <string name="apn_mcc">MCC</string>
+    <string name="apn_mnc">MNC</string>
+    <string name="apn_type">Seòrsa APN</string>
+    <string name="menu_delete_apn">Sguab às APN</string>
+    <string name="menu_new_apn">APN ùr</string>
+    <string name="menu_save_apn">Sàbhail</string>
+    <string name="menu_discard_apn_change">Tilg air falbh</string>
+    <string name="error_apn_name_empty">Chan fhaod raon an ainm a bhith bàn.</string>
+    <string name="error_apn_empty">Chan fhaod APN a bhith bàn.</string>
+    <string name="error_mcc_not3">Feumaidh 3 àireamhan a bhith ann an raon MCC.</string>
+    <string name="error_mnc_not23">Feumaidh 2 no 3 àireamhan a bhith ann an raon MNC.</string>
+    <string name="restore_default_apn">Ag aiseag bun-roghainnean APN.</string>
+    <string name="menu_restore_default_apn">Ath-shuidhich air a’ bhun-roghainn</string>
+    <string name="restore_default_apn_completed">Chaidh bun-roghainnean APN ath-shuidheachadh.</string>
+    <string name="untitled_apn">Gun tiotal</string>
+    <string name="sms_apns_title">Ainmean puing-inntrigidh</string>
+    <string name="apn_settings">APNs</string>
+    <string name="menu_new">APN ùr</string>
+    <string name="apn_settings_not_available">Chan eil roghainnean ainm na puing-inntrigidh ri fhaighinn airson a’ cleachdaiche seo</string>
+    <string name="copy_to_clipboard_dialog_title">An cuir thu lethbhreac dheth air an stòr-bhòrd?</string>
+    <string name="copy_to_clipboard">Dèan lethbhreac</string>
+    <string name="incoming_sim_name_text">gu <xliff:g id="sim_name">%s</xliff:g></string>
+    <string name="general_settings">Coitcheann</string>
+    <string name="advanced_settings">Adhartach</string>
+    <string name="general_settings_activity_title">Roghainnean coitcheann</string>
+    <string name="advanced_settings_activity_title">Roghainnean adhartach</string>
+    <string name="sim_specific_settings">SIM “<xliff:g id="sim_name">%s</xliff:g>”</string>
+    <string name="disable_group_mms">Cuir teachdaireachd SMS fa leth do gach faightear. Chan fhaigh ach thu fhèin freagairt</string>
+    <string name="enable_group_mms">Cuir aon MMS gu na faightearan uile</string>
+    <string name="sim_settings_unknown_number">Àireamh nach aithne dhuinn</string>
+    <string name="secondary_user_new_message_title">Teachdaireachd ùr</string>
+    <string name="secondary_user_new_message_ticker">Teachdaireachd ùr.</string>
+    <string name="sim_selector_button_content_description">Roghnaichear nan SIM</string>
+    <string name="sim_selector_button_content_description_with_selection">Chaidh <xliff:g id="sim">%1$s</xliff:g> a thaghadh, roghnaichear nan SIM</string>
+    <string name="send_button_long_click_description_no_sim_selector">Deasaich an cuspair</string>
+    <string name="send_button_long_click_description_with_sim_selector">Tagh SIM no deasaich an cuspair</string>
+    <string name="audio_record_view_content_description">Thoir gnogag ⁊ cùm sìos airson fuaim a chlàradh</string>
+    <string name="widget_new_conversation_content_description">Tòisich air còmhradh ùr</string>
+    <string name="widget_title_content_description">Teachdaireachdan</string>
+    <string name="widget_conversation_list_name">Liosta nan teachdaireachdan</string>
+    <string name="widget_conversation_name">Teachdaireachdan</string>
+    <string name="widget_new_message_content_description">Teachdaireachd ùr</string>
+    <string name="widget_conversation_list_content_description">Liosta nan còmhraidhean</string>
+    <string name="loading_conversations">A’ luchdadh nan còmhraidhean</string>
+    <string name="loading_messages">A’ luchdadh nan teachdaireachdan</string>
+    <string name="view_more_conversations">Seall barrachd chòmhraidhean</string>
+    <string name="view_more_messages">Seall barrachd theachdaireachdan</string>
+    <string name="conversation_deleted">Chaidh còmhradh a sguabadh às</string>
+    <string name="tap_to_configure">Chaidh an còmhradh a sguabadh às. Thoir gnogag a shealltainn còmhradh eile de theachdaireachdan</string>
+    <string name="update_destination_blocked">Chaidh a bhacadh</string>
+    <string name="update_destination_unblocked">Chaidh a dhì-bhacadh</string>
+    <string name="db_full">Tha an stòras gann. Dh’fhaoidte gun dèid dàta air chall.</string>
+    <string name="attachment_chooser_activity_title">Tagh ceanglachain</string>
+    <string name="action_confirm_selection">Dearbh an taghadh</string>
+    <string name="attachment_chooser_selection"><xliff:g id="count">%d</xliff:g> air a thaghadh</string>
+    <string name="attachment_limit_reached_dialog_message_when_composing">Thoir air falbh ceanglachan no dhà is feuch ris a-rithist.</string>
+    <string name="attachment_limit_reached_dialog_message_when_sending">’S urrainn dhut feuchainn ri cur na teachdaireachd ach dh’fhaoidte nach dèid a cur mus doir thu air falbh ceanglachan no dhà.</string>
+    <string name="video_attachment_limit_exceeded_when_sending">Chan urrainn dhut ach aon video a chur leis gach teachdaireachd. Thoir air falbh na videothan anabarrach is feuch ris a-rithist.</string>
+    <string name="attachment_load_failed_dialog_message">Dh’fhàillig le luchdadh ceanglachain.</string>
+    <string name="attachment_limit_reached_send_anyway">Cuir e co-dhiù</string>
+    <string name="conversation_creation_failure">Cha b’ urrainn dhuinn tòiseachadh air a’ chòmhradh</string>
+    <string name="link_display_format"><xliff:g id="text">%1$s</xliff:g> (<xliff:g id="url">%2$s</xliff:g>)</string>
+    <string name="selected_sim_content_message">Chaidh <xliff:g id="selected_sim">%s</xliff:g> a thaghadh</string>
+    <string name="work_directory_display_name">Luchd-aithne aig pròifil na h-obrach</string>
+</resources>
diff --git a/res/values-gl/cm_strings.xml b/res/values-gl/cm_strings.xml
new file mode 100644
index 0000000..56ba712
--- /dev/null
+++ b/res/values-gl/cm_strings.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="swipe_to_delete_conversation_pref_title">Esvarar para eliminar</string>
+    <string name="swipe_to_delete_conversation_pref_summary">Esvarar cara a dereita para eliminar unha conversa</string>
+    <string name="show_emoticons_pref_title">Acceso ás emoticonas</string>
+    <string name="show_emoticons_pref_summary">Amosar a tecla das emoticonas no teclado</string>
+    <string name="notification_mark_as_read">Marcar como lida</string>
+    <string name="notification_channel_messages_title">Mensaxes</string>
+</resources>
diff --git a/res/values-gl/strings.xml b/res/values-gl/strings.xml
index 91a6311..fa7d9ec 100644
--- a/res/values-gl/strings.xml
+++ b/res/values-gl/strings.xml
@@ -202,19 +202,19 @@
     <string name="audio_attachment_content_description" msgid="499334244765270108">"Anexo de audio"</string>
     <string name="audio_play_content_description" msgid="4932509227281251607">"Reproducir anexo de audio"</string>
     <string name="audio_pause_content_description" msgid="7578169887065513701">"Pausa"</string>
-    <string name="incoming_message_announcement" msgid="6369259405539452011">"Mensaxe de <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Erro ao recibir a mensaxe de <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Hora: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Mensaxe de <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Hora: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Non se enviou a mensaxe a <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Hora: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Enviando mensaxe a <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>E. Hora: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Erro ao enviar a mensaxe a <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Hora: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Mensaxe para <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Hora: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Erro ao recibir a mensaxe de <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Hora: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>"</string>
-    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Mensaxe de <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Hora: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>"</string>
-    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Non se enviou a mensaxe a <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Hora: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Enviando mensaxe a <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>E. Hora: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Erro ao enviar a mensaxe a <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Hora: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Mensaxe para <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Hora: <xliff:g id="TIME">%s</xliff:g>"</string>
+    <string name="incoming_message_announcement" msgid="6369259405539452011">"Mensaxe de <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Erro ao recibir a mensaxe de <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Hora: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Mensaxe de <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Hora: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Non se enviou a mensaxe a <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Hora: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Enviando mensaxe a <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>E. Hora: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Erro ao enviar a mensaxe a <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Hora: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Mensaxe para <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Hora: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Erro ao recibir a mensaxe de <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Hora: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>"</string>
+    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Mensaxe de <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Hora: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>"</string>
+    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Non se enviou a mensaxe a <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Hora: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Enviando mensaxe a <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>E. Hora: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Erro ao enviar a mensaxe a <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Hora: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Mensaxe para <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Hora: <xliff:g id="TIME">%3$s</xliff:g>"</string>
     <string name="failed_message_content_description" msgid="7047161648867054936">"Erro na mensaxe. Toca para tentalo de novo."</string>
     <string name="group_conversation_description" msgid="2339270924401184182">"Conversa con <xliff:g id="PARTICIPANTS">%s</xliff:g>"</string>
     <string name="delete_subject_content_description" msgid="8910749398836396698">"Borrar asunto"</string>
@@ -258,7 +258,7 @@
     <string name="mms_messaging_category_pref_title" msgid="4816815152658525660">"MMS"</string>
     <string name="advanced_category_pref_title" msgid="6411454224069259687">"Avanzado"</string>
     <string name="debug_category_pref_title" msgid="8765138968242505061">"Depuración"</string>
-    <string name="notifications_enabled_pref_title" msgid="4127288731844373795">"Notificacións"</string>
+    <string name="notifications_pref_title" msgid="4127288731844373795">"Notificacións"</string>
     <string name="notification_sound_pref_title" msgid="3685506528957337849">"Son"</string>
     <string name="silent_ringtone" msgid="8073534180322059814">"Silencio"</string>
     <string name="notification_vibrate_pref_title" msgid="6668564570045187390">"Vibrar"</string>
@@ -359,7 +359,7 @@
     <string name="add_contact_confirmation" msgid="1479380805406328264">"Engadir contacto"</string>
     <string name="compose_message_view_subject_hint_text" msgid="6076616675845705660">"Asunto"</string>
     <string name="conversation_message_view_subject_text" msgid="5634274498769555505">"Asunto: "</string>
-    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%s</xliff:g><xliff:g id="MESSAGETEXT">%s</xliff:g>"</string>
+    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%1$s</xliff:g><xliff:g id="MESSAGETEXT">%2$s</xliff:g>"</string>
     <string name="loading_vcard" msgid="3961520941271265083">"Cargando tarxeta de contacto"</string>
     <string name="failed_loading_vcard" msgid="7711070643740368402">"Non se puido cargar a tarxeta de contacto"</string>
     <string name="vcard_tap_hint" msgid="4940284329175200952">"Ver tarxeta de contacto"</string>
diff --git a/res/values-gu/cm_strings.xml b/res/values-gu/cm_strings.xml
new file mode 100644
index 0000000..3833147
--- /dev/null
+++ b/res/values-gu/cm_strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="swipe_to_delete_conversation_pref_title">હટાવા માટે સ્વાઇપ કરો</string>
+    <string name="swipe_to_delete_conversation_pref_summary">વાતચીત કાઢી નાખવા જમણી બાજુ સ્વાઇપ કરો</string>
+    <string name="show_emoticons_pref_title">ઇમોટિકન્સ વપરાશ</string>
+    <string name="show_emoticons_pref_summary">કીબોર્ડ પર લાગણીઓ કી દેખાડો</string>
+</resources>
diff --git a/res/values-gu/strings.xml b/res/values-gu/strings.xml
index 866823c..75f52ce 100644
--- a/res/values-gu/strings.xml
+++ b/res/values-gu/strings.xml
@@ -202,19 +202,19 @@
     <string name="audio_attachment_content_description" msgid="499334244765270108">"ઑડિઓ જોડાણ"</string>
     <string name="audio_play_content_description" msgid="4932509227281251607">"ઑડિઓ જોડાણ ચલાવો"</string>
     <string name="audio_pause_content_description" msgid="7578169887065513701">"થોભો"</string>
-    <string name="incoming_message_announcement" msgid="6369259405539452011">"<xliff:g id="SENDER">%s</xliff:g> તરફથી સંદેશ: <xliff:g id="MESSAGE">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"<xliff:g id="SENDER">%s</xliff:g> તરફથી સંદેશ નિષ્ફળ: <xliff:g id="MESSAGE">%s</xliff:g>. સમય: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"<xliff:g id="SENDER">%s</xliff:g> તરફથી સંદેશ: <xliff:g id="MESSAGE">%s</xliff:g>. સમય: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"<xliff:g id="CONTACT">%s</xliff:g> ને વણમોકલાયેલ સંદેશ: <xliff:g id="MESSAGE">%s</xliff:g>. સમય: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"<xliff:g id="CONTACT">%s</xliff:g> ને સંદેશ મોકલી રહ્યું છે: <xliff:g id="MESSAGE">%s</xliff:g>. સમય: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"<xliff:g id="CONTACT">%s</xliff:g> ને સંદેશ મોકલવું નિષ્ફળ: <xliff:g id="MESSAGE">%s</xliff:g>. સમય: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"<xliff:g id="CONTACT">%s</xliff:g> ને સંદેશ: <xliff:g id="MESSAGE">%s</xliff:g>. સમય: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"<xliff:g id="SENDER">%s</xliff:g> તરફથી સંદેશ નિષ્ફળ: <xliff:g id="MESSAGE">%s</xliff:g>. સમય: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"<xliff:g id="SENDER">%s</xliff:g> તરફથી સંદેશ: <xliff:g id="MESSAGE">%s</xliff:g>. સમય: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"<xliff:g id="GROUP">%s</xliff:g> ને વણમોકલાયેલ સંદેશ: <xliff:g id="MESSAGE">%s</xliff:g>. સમય: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"<xliff:g id="GROUP">%s</xliff:g> ને સંદેશ મોકલી રહ્યું છે: <xliff:g id="MESSAGE">%s</xliff:g>. સમય: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"<xliff:g id="GROUP">%s</xliff:g> ને સંદેશ મોકલવું નિષ્ફળ: <xliff:g id="MESSAGE">%s</xliff:g>. સમય: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"<xliff:g id="GROUP">%s</xliff:g> ને સંદેશ: <xliff:g id="MESSAGE">%s</xliff:g>. સમય: <xliff:g id="TIME">%s</xliff:g>."</string>
+    <string name="incoming_message_announcement" msgid="6369259405539452011">"<xliff:g id="SENDER">%1$s</xliff:g> તરફથી સંદેશ: <xliff:g id="MESSAGE">%2$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"<xliff:g id="SENDER">%1$s</xliff:g> તરફથી સંદેશ નિષ્ફળ: <xliff:g id="MESSAGE">%2$s</xliff:g>. સમય: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"<xliff:g id="SENDER">%1$s</xliff:g> તરફથી સંદેશ: <xliff:g id="MESSAGE">%2$s</xliff:g>. સમય: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"<xliff:g id="CONTACT">%1$s</xliff:g> ને વણમોકલાયેલ સંદેશ: <xliff:g id="MESSAGE">%2$s</xliff:g>. સમય: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"<xliff:g id="CONTACT">%1$s</xliff:g> ને સંદેશ મોકલી રહ્યું છે: <xliff:g id="MESSAGE">%2$s</xliff:g>. સમય: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"<xliff:g id="CONTACT">%1$s</xliff:g> ને સંદેશ મોકલવું નિષ્ફળ: <xliff:g id="MESSAGE">%2$s</xliff:g>. સમય: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"<xliff:g id="CONTACT">%1$s</xliff:g> ને સંદેશ: <xliff:g id="MESSAGE">%2$s</xliff:g>. સમય: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"<xliff:g id="SENDER">%1$s</xliff:g> તરફથી સંદેશ નિષ્ફળ: <xliff:g id="MESSAGE">%2$s</xliff:g>. સમય: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"<xliff:g id="SENDER">%1$s</xliff:g> તરફથી સંદેશ: <xliff:g id="MESSAGE">%2$s</xliff:g>. સમય: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"<xliff:g id="GROUP">%1$s</xliff:g> ને વણમોકલાયેલ સંદેશ: <xliff:g id="MESSAGE">%2$s</xliff:g>. સમય: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"<xliff:g id="GROUP">%1$s</xliff:g> ને સંદેશ મોકલી રહ્યું છે: <xliff:g id="MESSAGE">%2$s</xliff:g>. સમય: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"<xliff:g id="GROUP">%1$s</xliff:g> ને સંદેશ મોકલવું નિષ્ફળ: <xliff:g id="MESSAGE">%2$s</xliff:g>. સમય: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"<xliff:g id="GROUP">%1$s</xliff:g> ને સંદેશ: <xliff:g id="MESSAGE">%2$s</xliff:g>. સમય: <xliff:g id="TIME">%3$s</xliff:g>."</string>
     <string name="failed_message_content_description" msgid="7047161648867054936">"નિષ્ફળ સંદેશ. ફરી પ્રયાસ કરવા ટચ કરો."</string>
     <string name="group_conversation_description" msgid="2339270924401184182">"<xliff:g id="PARTICIPANTS">%s</xliff:g> સાથે વાર્તાલાપ"</string>
     <string name="delete_subject_content_description" msgid="8910749398836396698">"વિષય કાઢી નાખો"</string>
@@ -258,7 +258,7 @@
     <string name="mms_messaging_category_pref_title" msgid="4816815152658525660">"MMS"</string>
     <string name="advanced_category_pref_title" msgid="6411454224069259687">"વિગતવાર"</string>
     <string name="debug_category_pref_title" msgid="8765138968242505061">"ડીબગ"</string>
-    <string name="notifications_enabled_pref_title" msgid="4127288731844373795">"સૂચનાઓ"</string>
+    <string name="notifications_pref_title" msgid="4127288731844373795">"સૂચનાઓ"</string>
     <string name="notification_sound_pref_title" msgid="3685506528957337849">"ધ્વનિ"</string>
     <string name="silent_ringtone" msgid="8073534180322059814">"શાંત"</string>
     <string name="notification_vibrate_pref_title" msgid="6668564570045187390">"વાઇબ્રેટ"</string>
@@ -359,7 +359,7 @@
     <string name="add_contact_confirmation" msgid="1479380805406328264">"સંપર્ક ઉમેરો"</string>
     <string name="compose_message_view_subject_hint_text" msgid="6076616675845705660">"વિષય"</string>
     <string name="conversation_message_view_subject_text" msgid="5634274498769555505">"વિષય: "</string>
-    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%s</xliff:g><xliff:g id="MESSAGETEXT">%s</xliff:g>"</string>
+    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%1$s</xliff:g><xliff:g id="MESSAGETEXT">%2$s</xliff:g>"</string>
     <string name="loading_vcard" msgid="3961520941271265083">"સંપર્ક કાર્ડ લોડ કરી રહ્યું છે"</string>
     <string name="failed_loading_vcard" msgid="7711070643740368402">"સંપર્ક કાર્ડ લોડ કરી શકાયું નથી"</string>
     <string name="vcard_tap_hint" msgid="4940284329175200952">"સંપર્ક કાર્ડ જુઓ"</string>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index c281680..d9f3d0f 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -202,19 +202,19 @@
     <string name="audio_attachment_content_description" msgid="499334244765270108">"ऑडियो अटैचमेंट"</string>
     <string name="audio_play_content_description" msgid="4932509227281251607">"ऑडियो अटैचमेंट चलाएं"</string>
     <string name="audio_pause_content_description" msgid="7578169887065513701">"रोकें"</string>
-    <string name="incoming_message_announcement" msgid="6369259405539452011">"<xliff:g id="SENDER">%s</xliff:g> की ओर से संदेश: <xliff:g id="MESSAGE">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"<xliff:g id="SENDER">%s</xliff:g> का भेजने में विफल रहा संदेश: <xliff:g id="MESSAGE">%s</xliff:g>. समय: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"<xliff:g id="SENDER">%s</xliff:g> का संदेश: <xliff:g id="MESSAGE">%s</xliff:g>. समय: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"<xliff:g id="CONTACT">%s</xliff:g> को नहीं भेजा गया संदेश: <xliff:g id="MESSAGE">%s</xliff:g>. समय: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"<xliff:g id="CONTACT">%s</xliff:g> को संदेश भेजा जा रहा है: <xliff:g id="MESSAGE">%s</xliff:g>. समय: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"<xliff:g id="CONTACT">%s</xliff:g> को भेजने में विफल रहा संदेश: <xliff:g id="MESSAGE">%s</xliff:g>. समय: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"<xliff:g id="CONTACT">%s</xliff:g> के लिए संदेश: <xliff:g id="MESSAGE">%s</xliff:g>. समय: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"<xliff:g id="SENDER">%s</xliff:g> का विफल रहा संदेश: <xliff:g id="MESSAGE">%s</xliff:g>. समय: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"<xliff:g id="SENDER">%s</xliff:g> का संदेश: <xliff:g id="MESSAGE">%s</xliff:g>. समय: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"<xliff:g id="GROUP">%s</xliff:g> को नहीं भेजा गया संदेश: <xliff:g id="MESSAGE">%s</xliff:g>. समय: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"<xliff:g id="GROUP">%s</xliff:g> को संदेश भेजा जा रहा है: <xliff:g id="MESSAGE">%s</xliff:g>. समय: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"<xliff:g id="GROUP">%s</xliff:g> को भेजने में विफल रहा संदेश: <xliff:g id="MESSAGE">%s</xliff:g>. समय: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"<xliff:g id="GROUP">%s</xliff:g> के लिए संदेश: <xliff:g id="MESSAGE">%s</xliff:g>. समय: <xliff:g id="TIME">%s</xliff:g>."</string>
+    <string name="incoming_message_announcement" msgid="6369259405539452011">"<xliff:g id="SENDER">%1$s</xliff:g> की ओर से संदेश: <xliff:g id="MESSAGE">%2$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"<xliff:g id="SENDER">%1$s</xliff:g> का भेजने में विफल रहा संदेश: <xliff:g id="MESSAGE">%2$s</xliff:g>. समय: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"<xliff:g id="SENDER">%1$s</xliff:g> का संदेश: <xliff:g id="MESSAGE">%2$s</xliff:g>. समय: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"<xliff:g id="CONTACT">%1$s</xliff:g> को नहीं भेजा गया संदेश: <xliff:g id="MESSAGE">%2$s</xliff:g>. समय: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"<xliff:g id="CONTACT">%1$s</xliff:g> को संदेश भेजा जा रहा है: <xliff:g id="MESSAGE">%2$s</xliff:g>. समय: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"<xliff:g id="CONTACT">%1$s</xliff:g> को भेजने में विफल रहा संदेश: <xliff:g id="MESSAGE">%2$s</xliff:g>. समय: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"<xliff:g id="CONTACT">%1$s</xliff:g> के लिए संदेश: <xliff:g id="MESSAGE">%2$s</xliff:g>. समय: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"<xliff:g id="SENDER">%1$s</xliff:g> का विफल रहा संदेश: <xliff:g id="MESSAGE">%2$s</xliff:g>. समय: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"<xliff:g id="SENDER">%1$s</xliff:g> का संदेश: <xliff:g id="MESSAGE">%2$s</xliff:g>. समय: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"<xliff:g id="GROUP">%1$s</xliff:g> को नहीं भेजा गया संदेश: <xliff:g id="MESSAGE">%2$s</xliff:g>. समय: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"<xliff:g id="GROUP">%1$s</xliff:g> को संदेश भेजा जा रहा है: <xliff:g id="MESSAGE">%2$s</xliff:g>. समय: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"<xliff:g id="GROUP">%1$s</xliff:g> को भेजने में विफल रहा संदेश: <xliff:g id="MESSAGE">%2$s</xliff:g>. समय: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"<xliff:g id="GROUP">%1$s</xliff:g> के लिए संदेश: <xliff:g id="MESSAGE">%2$s</xliff:g>. समय: <xliff:g id="TIME">%3$s</xliff:g>."</string>
     <string name="failed_message_content_description" msgid="7047161648867054936">"विफल रहा संदेश. पुन: प्रयास करने के लिए स्पर्श करें."</string>
     <string name="group_conversation_description" msgid="2339270924401184182">"<xliff:g id="PARTICIPANTS">%s</xliff:g> के साथ बातचीत"</string>
     <string name="delete_subject_content_description" msgid="8910749398836396698">"विषय हटाएं"</string>
@@ -258,7 +258,7 @@
     <string name="mms_messaging_category_pref_title" msgid="4816815152658525660">"MMS"</string>
     <string name="advanced_category_pref_title" msgid="6411454224069259687">"अतिरिक्त सेटिंग"</string>
     <string name="debug_category_pref_title" msgid="8765138968242505061">"डीबग"</string>
-    <string name="notifications_enabled_pref_title" msgid="4127288731844373795">"नोटिफिकेशन"</string>
+    <string name="notifications_pref_title" msgid="4127288731844373795">"नोटिफिकेशन"</string>
     <string name="notification_sound_pref_title" msgid="3685506528957337849">"ध्वनि"</string>
     <string name="silent_ringtone" msgid="8073534180322059814">"मौन"</string>
     <string name="notification_vibrate_pref_title" msgid="6668564570045187390">"वाइब्रेट"</string>
@@ -359,7 +359,7 @@
     <string name="add_contact_confirmation" msgid="1479380805406328264">"संपर्क जोड़ें"</string>
     <string name="compose_message_view_subject_hint_text" msgid="6076616675845705660">"विषय"</string>
     <string name="conversation_message_view_subject_text" msgid="5634274498769555505">"विषय: "</string>
-    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%s</xliff:g><xliff:g id="MESSAGETEXT">%s</xliff:g>"</string>
+    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%1$s</xliff:g><xliff:g id="MESSAGETEXT">%2$s</xliff:g>"</string>
     <string name="loading_vcard" msgid="3961520941271265083">"संपर्क कार्ड लोड हो रहा है"</string>
     <string name="failed_loading_vcard" msgid="7711070643740368402">"संपर्क कार्ड लोड नहीं किया जा सका"</string>
     <string name="vcard_tap_hint" msgid="4940284329175200952">"संपर्क कार्ड देखें"</string>
diff --git a/res/values-hr/cm_strings.xml b/res/values-hr/cm_strings.xml
new file mode 100644
index 0000000..53b6672
--- /dev/null
+++ b/res/values-hr/cm_strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="swipe_to_delete_conversation_pref_title">Prijeđite prstom da biste izbrisali</string>
+    <string name="swipe_to_delete_conversation_pref_summary">Prstom prijeđite udesno da biste izbrisali razgovor</string>
+    <string name="show_emoticons_pref_title">Pristup emotikonima</string>
+    <string name="show_emoticons_pref_summary">Pokaži tipku emotikona na tipkovnici</string>
+</resources>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index e12b64f..347e060 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -214,19 +214,19 @@
     <string name="audio_attachment_content_description" msgid="499334244765270108">"Audioprivitak"</string>
     <string name="audio_play_content_description" msgid="4932509227281251607">"Reproduciraj audioprivitak"</string>
     <string name="audio_pause_content_description" msgid="7578169887065513701">"Pauziraj"</string>
-    <string name="incoming_message_announcement" msgid="6369259405539452011">"Poruka pošiljatelja <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Poruka pošiljatelja <xliff:g id="SENDER">%s</xliff:g> nije uspjela: <xliff:g id="MESSAGE">%s</xliff:g>. Vrijeme: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Poruka pošiljatelja <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Vrijeme: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Poruka za kontakt <xliff:g id="CONTACT">%s</xliff:g> nije poslana: <xliff:g id="MESSAGE">%s</xliff:g>. Vrijeme: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Slanje poruke kontaktu <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Vrijeme: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Poruka za kontakt <xliff:g id="CONTACT">%s</xliff:g> nije uspjela: <xliff:g id="MESSAGE">%s</xliff:g>. Vrijeme: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Poruka kontaktu <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Vrijeme: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Neuspjela poruka pošiljatelja <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Vrijeme: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>"</string>
-    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Poruka pošiljatelja <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Vrijeme: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>"</string>
-    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Poruka za grupu <xliff:g id="GROUP">%s</xliff:g> nije poslana: <xliff:g id="MESSAGE">%s</xliff:g>. Vrijeme: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Slanje poruke grupi <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Vrijeme: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Poruka za grupu <xliff:g id="GROUP">%s</xliff:g> nije uspjela: <xliff:g id="MESSAGE">%s</xliff:g>. Vrijeme: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Poruka grupi <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Vrijeme: <xliff:g id="TIME">%s</xliff:g>"</string>
+    <string name="incoming_message_announcement" msgid="6369259405539452011">"Poruka pošiljatelja <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Poruka pošiljatelja <xliff:g id="SENDER">%1$s</xliff:g> nije uspjela: <xliff:g id="MESSAGE">%2$s</xliff:g>. Vrijeme: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Poruka pošiljatelja <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Vrijeme: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Poruka za kontakt <xliff:g id="CONTACT">%1$s</xliff:g> nije poslana: <xliff:g id="MESSAGE">%2$s</xliff:g>. Vrijeme: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Slanje poruke kontaktu <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Vrijeme: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Poruka za kontakt <xliff:g id="CONTACT">%1$s</xliff:g> nije uspjela: <xliff:g id="MESSAGE">%2$s</xliff:g>. Vrijeme: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Poruka kontaktu <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Vrijeme: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Neuspjela poruka pošiljatelja <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Vrijeme: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>"</string>
+    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Poruka pošiljatelja <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Vrijeme: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>"</string>
+    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Poruka za grupu <xliff:g id="GROUP">%1$s</xliff:g> nije poslana: <xliff:g id="MESSAGE">%2$s</xliff:g>. Vrijeme: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Slanje poruke grupi <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Vrijeme: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Poruka za grupu <xliff:g id="GROUP">%1$s</xliff:g> nije uspjela: <xliff:g id="MESSAGE">%2$s</xliff:g>. Vrijeme: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Poruka grupi <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Vrijeme: <xliff:g id="TIME">%3$s</xliff:g>"</string>
     <string name="failed_message_content_description" msgid="7047161648867054936">"Poruka nije uspjela. Dodirnite za ponovni pokušaj."</string>
     <string name="group_conversation_description" msgid="2339270924401184182">"Razgovor sa sljedećima: <xliff:g id="PARTICIPANTS">%s</xliff:g>"</string>
     <string name="delete_subject_content_description" msgid="8910749398836396698">"Brisanje predmeta"</string>
@@ -276,7 +276,7 @@
     <string name="mms_messaging_category_pref_title" msgid="4816815152658525660">"MMS"</string>
     <string name="advanced_category_pref_title" msgid="6411454224069259687">"Napredno"</string>
     <string name="debug_category_pref_title" msgid="8765138968242505061">"Otklanjanje pogrešaka"</string>
-    <string name="notifications_enabled_pref_title" msgid="4127288731844373795">"Obavijesti"</string>
+    <string name="notifications_pref_title" msgid="4127288731844373795">"Obavijesti"</string>
     <string name="notification_sound_pref_title" msgid="3685506528957337849">"Zvuk"</string>
     <string name="silent_ringtone" msgid="8073534180322059814">"Bešumno"</string>
     <string name="notification_vibrate_pref_title" msgid="6668564570045187390">"Vibriranje"</string>
@@ -383,7 +383,7 @@
     <string name="add_contact_confirmation" msgid="1479380805406328264">"Dodavanje kontakta"</string>
     <string name="compose_message_view_subject_hint_text" msgid="6076616675845705660">"Predmet"</string>
     <string name="conversation_message_view_subject_text" msgid="5634274498769555505">"Predmet: "</string>
-    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%s</xliff:g><xliff:g id="MESSAGETEXT">%s</xliff:g>"</string>
+    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%1$s</xliff:g><xliff:g id="MESSAGETEXT">%2$s</xliff:g>"</string>
     <string name="loading_vcard" msgid="3961520941271265083">"Učitavanje kartice kontakta"</string>
     <string name="failed_loading_vcard" msgid="7711070643740368402">"Kartica kontakta nije učitana"</string>
     <string name="vcard_tap_hint" msgid="4940284329175200952">"Prikaz kartice kontakta"</string>
diff --git a/res/values-hu/cm_strings.xml b/res/values-hu/cm_strings.xml
new file mode 100644
index 0000000..f63feae
--- /dev/null
+++ b/res/values-hu/cm_strings.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="swipe_to_delete_conversation_pref_title">Törléshez csúsztassa az ujját</string>
+    <string name="swipe_to_delete_conversation_pref_summary">Húzza jobbra a beszélgetés törléséhez</string>
+    <string name="show_emoticons_pref_title">Hangulatjel hozzáférés</string>
+    <string name="show_emoticons_pref_summary">Hangulatjel gomb megjelenítése a billentyűzeten</string>
+    <string name="notification_mark_as_read">Megjelölés olvasottként</string>
+    <string name="notification_channel_messages_title">Üzenetek</string>
+</resources>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index cd254f2..7cdab02 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -202,19 +202,19 @@
     <string name="audio_attachment_content_description" msgid="499334244765270108">"Hangmelléklet"</string>
     <string name="audio_play_content_description" msgid="4932509227281251607">"Hangmelléklet lejátszása"</string>
     <string name="audio_pause_content_description" msgid="7578169887065513701">"Szünet"</string>
-    <string name="incoming_message_announcement" msgid="6369259405539452011">"<xliff:g id="SENDER">%s</xliff:g> üzenete: <xliff:g id="MESSAGE">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Sikertelen üzenet <xliff:g id="SENDER">%s</xliff:g> feladótól: <xliff:g id="MESSAGE">%s</xliff:g>. Idő: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Üzenet <xliff:g id="SENDER">%s</xliff:g> feladótól: <xliff:g id="MESSAGE">%s</xliff:g>. Idő: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Elküldetlen üzenet a(z) <xliff:g id="CONTACT">%s</xliff:g> csoportnak: <xliff:g id="MESSAGE">%s</xliff:g>. Idő: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Üzenet küldése a(z) <xliff:g id="CONTACT">%s</xliff:g> csoportnak: <xliff:g id="MESSAGE">%s</xliff:g>. Idő: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Sikertelen üzenet a(z) <xliff:g id="CONTACT">%s</xliff:g> csoportnak: <xliff:g id="MESSAGE">%s</xliff:g>. Idő: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Üzenet a(z) <xliff:g id="CONTACT">%s</xliff:g> csoportnak: <xliff:g id="MESSAGE">%s</xliff:g>. Idő: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Sikertelen üzenet <xliff:g id="SENDER">%s</xliff:g> feladótól: <xliff:g id="MESSAGE">%s</xliff:g>. Idő: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>"</string>
-    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Üzenet <xliff:g id="SENDER">%s</xliff:g> feladótól: <xliff:g id="MESSAGE">%s</xliff:g>. Idő: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>"</string>
-    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Elküldetlen üzenet a(z) <xliff:g id="GROUP">%s</xliff:g> csoportnak: <xliff:g id="MESSAGE">%s</xliff:g>. Idő: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Üzenet küldése a(z) <xliff:g id="GROUP">%s</xliff:g> csoportnak: <xliff:g id="MESSAGE">%s</xliff:g>. Idő: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Sikertelen üzenet a(z) <xliff:g id="GROUP">%s</xliff:g> csoportnak: <xliff:g id="MESSAGE">%s</xliff:g>. Idő: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Üzenet a(z) <xliff:g id="GROUP">%s</xliff:g> csoportnak: <xliff:g id="MESSAGE">%s</xliff:g>. Idő: <xliff:g id="TIME">%s</xliff:g>."</string>
+    <string name="incoming_message_announcement" msgid="6369259405539452011">"<xliff:g id="SENDER">%1$s</xliff:g> üzenete: <xliff:g id="MESSAGE">%2$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Sikertelen üzenet <xliff:g id="SENDER">%1$s</xliff:g> feladótól: <xliff:g id="MESSAGE">%2$s</xliff:g>. Idő: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Üzenet <xliff:g id="SENDER">%1$s</xliff:g> feladótól: <xliff:g id="MESSAGE">%2$s</xliff:g>. Idő: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Elküldetlen üzenet a(z) <xliff:g id="CONTACT">%1$s</xliff:g> csoportnak: <xliff:g id="MESSAGE">%2$s</xliff:g>. Idő: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Üzenet küldése a(z) <xliff:g id="CONTACT">%1$s</xliff:g> csoportnak: <xliff:g id="MESSAGE">%2$s</xliff:g>. Idő: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Sikertelen üzenet a(z) <xliff:g id="CONTACT">%1$s</xliff:g> csoportnak: <xliff:g id="MESSAGE">%2$s</xliff:g>. Idő: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Üzenet a(z) <xliff:g id="CONTACT">%1$s</xliff:g> csoportnak: <xliff:g id="MESSAGE">%2$s</xliff:g>. Idő: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Sikertelen üzenet <xliff:g id="SENDER">%1$s</xliff:g> feladótól: <xliff:g id="MESSAGE">%2$s</xliff:g>. Idő: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>"</string>
+    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Üzenet <xliff:g id="SENDER">%1$s</xliff:g> feladótól: <xliff:g id="MESSAGE">%2$s</xliff:g>. Idő: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>"</string>
+    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Elküldetlen üzenet a(z) <xliff:g id="GROUP">%1$s</xliff:g> csoportnak: <xliff:g id="MESSAGE">%2$s</xliff:g>. Idő: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Üzenet küldése a(z) <xliff:g id="GROUP">%1$s</xliff:g> csoportnak: <xliff:g id="MESSAGE">%2$s</xliff:g>. Idő: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Sikertelen üzenet a(z) <xliff:g id="GROUP">%1$s</xliff:g> csoportnak: <xliff:g id="MESSAGE">%2$s</xliff:g>. Idő: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Üzenet a(z) <xliff:g id="GROUP">%1$s</xliff:g> csoportnak: <xliff:g id="MESSAGE">%2$s</xliff:g>. Idő: <xliff:g id="TIME">%3$s</xliff:g>."</string>
     <string name="failed_message_content_description" msgid="7047161648867054936">"Sikertelen üzenet. Érintse meg az újrapróbáláshoz."</string>
     <string name="group_conversation_description" msgid="2339270924401184182">"Beszélgetés a következőkkel: <xliff:g id="PARTICIPANTS">%s</xliff:g>"</string>
     <string name="delete_subject_content_description" msgid="8910749398836396698">"Tárgy törlése"</string>
@@ -258,7 +258,7 @@
     <string name="mms_messaging_category_pref_title" msgid="4816815152658525660">"MMS"</string>
     <string name="advanced_category_pref_title" msgid="6411454224069259687">"Speciális"</string>
     <string name="debug_category_pref_title" msgid="8765138968242505061">"Hibakeresés"</string>
-    <string name="notifications_enabled_pref_title" msgid="4127288731844373795">"Értesítések"</string>
+    <string name="notifications_pref_title" msgid="4127288731844373795">"Értesítések"</string>
     <string name="notification_sound_pref_title" msgid="3685506528957337849">"Hang"</string>
     <string name="silent_ringtone" msgid="8073534180322059814">"Néma"</string>
     <string name="notification_vibrate_pref_title" msgid="6668564570045187390">"Rezgés"</string>
@@ -359,7 +359,7 @@
     <string name="add_contact_confirmation" msgid="1479380805406328264">"Névjegy hozzáadása"</string>
     <string name="compose_message_view_subject_hint_text" msgid="6076616675845705660">"Tárgy"</string>
     <string name="conversation_message_view_subject_text" msgid="5634274498769555505">"Tárgy: "</string>
-    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%s</xliff:g><xliff:g id="MESSAGETEXT">%s</xliff:g>"</string>
+    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%1$s</xliff:g><xliff:g id="MESSAGETEXT">%2$s</xliff:g>"</string>
     <string name="loading_vcard" msgid="3961520941271265083">"Névjegykártya betöltése"</string>
     <string name="failed_loading_vcard" msgid="7711070643740368402">"Nem lehetett betölteni a névjegykártyát"</string>
     <string name="vcard_tap_hint" msgid="4940284329175200952">"Névjegykártya megtekintése"</string>
diff --git a/res/values-hy/strings.xml b/res/values-hy/strings.xml
index 4d01fef..0dd5799 100644
--- a/res/values-hy/strings.xml
+++ b/res/values-hy/strings.xml
@@ -202,19 +202,19 @@
     <string name="audio_attachment_content_description" msgid="499334244765270108">"Կցված ձայնային ֆայլ"</string>
     <string name="audio_play_content_description" msgid="4932509227281251607">"Նվագարկել աուդիո կցորդը"</string>
     <string name="audio_pause_content_description" msgid="7578169887065513701">"Դադարեցնել"</string>
-    <string name="incoming_message_announcement" msgid="6369259405539452011">"Հաղորդագրություն <xliff:g id="SENDER">%s</xliff:g>-ից՝ <xliff:g id="MESSAGE">%s</xliff:g>:"</string>
-    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Չառաքված հաղորդագրություն <xliff:g id="SENDER">%s</xliff:g>-ից՝ <xliff:g id="MESSAGE">%s</xliff:g>: Ժամանակ՝ <xliff:g id="TIME">%s</xliff:g>:"</string>
-    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Հաղորդագրություն <xliff:g id="SENDER">%s</xliff:g>-ից՝ <xliff:g id="MESSAGE">%s</xliff:g>: Ժամանակ՝ <xliff:g id="TIME">%s</xliff:g>:"</string>
-    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"<xliff:g id="CONTACT">%s</xliff:g> կոնտակտին չուղարկված հաղորդագրություն՝ <xliff:g id="MESSAGE">%s</xliff:g>: Ժամանակ՝ <xliff:g id="TIME">%s</xliff:g>:"</string>
-    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Հաղորդագրության ուղարկում <xliff:g id="CONTACT">%s</xliff:g> կոնտակտին՝ <xliff:g id="MESSAGE">%s</xliff:g>: Ժամանակ՝ <xliff:g id="TIME">%s</xliff:g>:"</string>
-    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"<xliff:g id="CONTACT">%s</xliff:g> կոնտակտին չառաքված հաղորդագրություն՝ <xliff:g id="MESSAGE">%s</xliff:g>: Ժամանակ՝ <xliff:g id="TIME">%s</xliff:g>:"</string>
-    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"<xliff:g id="CONTACT">%s</xliff:g> կոնտակտին հասցեագրված հաղորդագրություն՝ <xliff:g id="MESSAGE">%s</xliff:g>: Ժամանակ՝ <xliff:g id="TIME">%s</xliff:g>:"</string>
-    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Չառաքված հաղորդագրություն <xliff:g id="SENDER">%s</xliff:g>-ից՝ <xliff:g id="MESSAGE">%s</xliff:g>: Ժամանակ՝ <xliff:g id="TIME">%s</xliff:g>: <xliff:g id="GROUPINFO">%s</xliff:g>:"</string>
-    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Հաղորդագրություն <xliff:g id="SENDER">%s</xliff:g>-ից՝ <xliff:g id="MESSAGE">%s</xliff:g>: Ժամանակ՝ <xliff:g id="TIME">%s</xliff:g>: <xliff:g id="GROUPINFO">%s</xliff:g>:"</string>
-    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"<xliff:g id="GROUP">%s</xliff:g> խմբին չուղարկված հաղորդագրություն՝ <xliff:g id="MESSAGE">%s</xliff:g>: Ժամանակ՝ <xliff:g id="TIME">%s</xliff:g>:"</string>
-    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Հաղորդագրության ուղարկում <xliff:g id="GROUP">%s</xliff:g> խմբին՝ <xliff:g id="MESSAGE">%s</xliff:g>: Ժամանակ՝ <xliff:g id="TIME">%s</xliff:g>:"</string>
-    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"<xliff:g id="GROUP">%s</xliff:g> խմբին չառաքված հաղորդագրություն՝ <xliff:g id="MESSAGE">%s</xliff:g>: Ժամանակ՝ <xliff:g id="TIME">%s</xliff:g>:"</string>
-    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"<xliff:g id="GROUP">%s</xliff:g> խմբին հասցեագրված հաղորդագրություն՝ <xliff:g id="MESSAGE">%s</xliff:g>: Ժամանակ՝ <xliff:g id="TIME">%s</xliff:g>:"</string>
+    <string name="incoming_message_announcement" msgid="6369259405539452011">"Հաղորդագրություն <xliff:g id="SENDER">%1$s</xliff:g>-ից՝ <xliff:g id="MESSAGE">%2$s</xliff:g>:"</string>
+    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Չառաքված հաղորդագրություն <xliff:g id="SENDER">%1$s</xliff:g>-ից՝ <xliff:g id="MESSAGE">%2$s</xliff:g>: Ժամանակ՝ <xliff:g id="TIME">%3$s</xliff:g>:"</string>
+    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Հաղորդագրություն <xliff:g id="SENDER">%1$s</xliff:g>-ից՝ <xliff:g id="MESSAGE">%2$s</xliff:g>: Ժամանակ՝ <xliff:g id="TIME">%3$s</xliff:g>:"</string>
+    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"<xliff:g id="CONTACT">%1$s</xliff:g> կոնտակտին չուղարկված հաղորդագրություն՝ <xliff:g id="MESSAGE">%2$s</xliff:g>: Ժամանակ՝ <xliff:g id="TIME">%3$s</xliff:g>:"</string>
+    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Հաղորդագրության ուղարկում <xliff:g id="CONTACT">%1$s</xliff:g> կոնտակտին՝ <xliff:g id="MESSAGE">%2$s</xliff:g>: Ժամանակ՝ <xliff:g id="TIME">%3$s</xliff:g>:"</string>
+    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"<xliff:g id="CONTACT">%1$s</xliff:g> կոնտակտին չառաքված հաղորդագրություն՝ <xliff:g id="MESSAGE">%2$s</xliff:g>: Ժամանակ՝ <xliff:g id="TIME">%3$s</xliff:g>:"</string>
+    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"<xliff:g id="CONTACT">%1$s</xliff:g> կոնտակտին հասցեագրված հաղորդագրություն՝ <xliff:g id="MESSAGE">%2$s</xliff:g>: Ժամանակ՝ <xliff:g id="TIME">%3$s</xliff:g>:"</string>
+    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Չառաքված հաղորդագրություն <xliff:g id="SENDER">%1$s</xliff:g>-ից՝ <xliff:g id="MESSAGE">%2$s</xliff:g>: Ժամանակ՝ <xliff:g id="TIME">%3$s</xliff:g>: <xliff:g id="GROUPINFO">%3$s</xliff:g>:"</string>
+    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Հաղորդագրություն <xliff:g id="SENDER">%1$s</xliff:g>-ից՝ <xliff:g id="MESSAGE">%2$s</xliff:g>: Ժամանակ՝ <xliff:g id="TIME">%3$s</xliff:g>: <xliff:g id="GROUPINFO">%3$s</xliff:g>:"</string>
+    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"<xliff:g id="GROUP">%1$s</xliff:g> խմբին չուղարկված հաղորդագրություն՝ <xliff:g id="MESSAGE">%2$s</xliff:g>: Ժամանակ՝ <xliff:g id="TIME">%3$s</xliff:g>:"</string>
+    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Հաղորդագրության ուղարկում <xliff:g id="GROUP">%1$s</xliff:g> խմբին՝ <xliff:g id="MESSAGE">%2$s</xliff:g>: Ժամանակ՝ <xliff:g id="TIME">%3$s</xliff:g>:"</string>
+    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"<xliff:g id="GROUP">%1$s</xliff:g> խմբին չառաքված հաղորդագրություն՝ <xliff:g id="MESSAGE">%2$s</xliff:g>: Ժամանակ՝ <xliff:g id="TIME">%3$s</xliff:g>:"</string>
+    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"<xliff:g id="GROUP">%1$s</xliff:g> խմբին հասցեագրված հաղորդագրություն՝ <xliff:g id="MESSAGE">%2$s</xliff:g>: Ժամանակ՝ <xliff:g id="TIME">%3$s</xliff:g>:"</string>
     <string name="failed_message_content_description" msgid="7047161648867054936">"Հաղորդագրությունը չի առաքվել: Հպեք՝ նորից փորձելու համար:"</string>
     <string name="group_conversation_description" msgid="2339270924401184182">"Զրույց <xliff:g id="PARTICIPANTS">%s</xliff:g>-ի հետ"</string>
     <string name="delete_subject_content_description" msgid="8910749398836396698">"Ջնջել վերնագիրը"</string>
@@ -258,7 +258,7 @@
     <string name="mms_messaging_category_pref_title" msgid="4816815152658525660">"MMS"</string>
     <string name="advanced_category_pref_title" msgid="6411454224069259687">"Հավելյալ"</string>
     <string name="debug_category_pref_title" msgid="8765138968242505061">"Կարգաբերում"</string>
-    <string name="notifications_enabled_pref_title" msgid="4127288731844373795">"Ծանուցումներ"</string>
+    <string name="notifications_pref_title" msgid="4127288731844373795">"Ծանուցումներ"</string>
     <string name="notification_sound_pref_title" msgid="3685506528957337849">"Ձայն"</string>
     <string name="silent_ringtone" msgid="8073534180322059814">"Լուռ"</string>
     <string name="notification_vibrate_pref_title" msgid="6668564570045187390">"Թրթռոց"</string>
@@ -359,7 +359,7 @@
     <string name="add_contact_confirmation" msgid="1479380805406328264">"Ավելացնել կոնտակտ"</string>
     <string name="compose_message_view_subject_hint_text" msgid="6076616675845705660">"Թեմա"</string>
     <string name="conversation_message_view_subject_text" msgid="5634274498769555505">"Թեմա՝ "</string>
-    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%s</xliff:g><xliff:g id="MESSAGETEXT">%s</xliff:g>"</string>
+    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%1$s</xliff:g><xliff:g id="MESSAGETEXT">%2$s</xliff:g>"</string>
     <string name="loading_vcard" msgid="3961520941271265083">"Կոնտակտի քարտը բեռնվում է"</string>
     <string name="failed_loading_vcard" msgid="7711070643740368402">"Հնարավոր չէ բեռնել կոնտակտի քարտը"</string>
     <string name="vcard_tap_hint" msgid="4940284329175200952">"Դիտել կոնտակտի քարտը"</string>
diff --git a/res/values-in/cm_strings.xml b/res/values-in/cm_strings.xml
new file mode 100644
index 0000000..4496292
--- /dev/null
+++ b/res/values-in/cm_strings.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="swipe_to_delete_conversation_pref_title">Usap untuk menghapus</string>
+    <string name="swipe_to_delete_conversation_pref_summary">Usap ke kanan untuk menghapus percakapan</string>
+    <string name="show_emoticons_pref_title">Emoticon akses</string>
+    <string name="show_emoticons_pref_summary">Tampilkan tombol emoticon di keyboard</string>
+    <string name="notification_mark_as_read">Tandai telah dibaca</string>
+    <string name="notification_channel_messages_title">Pesan</string>
+</resources>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index 3529301..17d63d0 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -202,19 +202,19 @@
     <string name="audio_attachment_content_description" msgid="499334244765270108">"Lampiran audio"</string>
     <string name="audio_play_content_description" msgid="4932509227281251607">"Putar lampiran audio"</string>
     <string name="audio_pause_content_description" msgid="7578169887065513701">"Jeda"</string>
-    <string name="incoming_message_announcement" msgid="6369259405539452011">"Pesan dari <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Pesan gagal dari <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Waktu: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Pesan dari <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Waktu: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Pesan yang tidak terkirim ke <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Waktu: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Mengirim pesan ke <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Waktu: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Pesan gagal ke <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Waktu: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Pesan ke <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Waktu: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Pesan gagal dari <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Waktu: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Pesan dari <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Waktu: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Pesan yang tidak terkirim ke <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Waktu: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Mengirim pesan ke <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Waktu: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Pesan gagal ke <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Waktu: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Pesan ke <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Waktu: <xliff:g id="TIME">%s</xliff:g>."</string>
+    <string name="incoming_message_announcement" msgid="6369259405539452011">"Pesan dari <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Pesan gagal dari <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Waktu: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Pesan dari <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Waktu: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Pesan yang tidak terkirim ke <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Waktu: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Mengirim pesan ke <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Waktu: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Pesan gagal ke <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Waktu: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Pesan ke <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Waktu: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Pesan gagal dari <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Waktu: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Pesan dari <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Waktu: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Pesan yang tidak terkirim ke <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Waktu: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Mengirim pesan ke <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Waktu: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Pesan gagal ke <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Waktu: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Pesan ke <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Waktu: <xliff:g id="TIME">%3$s</xliff:g>."</string>
     <string name="failed_message_content_description" msgid="7047161648867054936">"Pesan gagal. Sentuh untuk mencoba lagi."</string>
     <string name="group_conversation_description" msgid="2339270924401184182">"Percakapan dengan <xliff:g id="PARTICIPANTS">%s</xliff:g>"</string>
     <string name="delete_subject_content_description" msgid="8910749398836396698">"Hapus subjek"</string>
@@ -258,7 +258,7 @@
     <string name="mms_messaging_category_pref_title" msgid="4816815152658525660">"MMS"</string>
     <string name="advanced_category_pref_title" msgid="6411454224069259687">"Lanjutan"</string>
     <string name="debug_category_pref_title" msgid="8765138968242505061">"Debug"</string>
-    <string name="notifications_enabled_pref_title" msgid="4127288731844373795">"Notifikasi"</string>
+    <string name="notifications_pref_title" msgid="4127288731844373795">"Notifikasi"</string>
     <string name="notification_sound_pref_title" msgid="3685506528957337849">"Suara"</string>
     <string name="silent_ringtone" msgid="8073534180322059814">"Senyap"</string>
     <string name="notification_vibrate_pref_title" msgid="6668564570045187390">"Getar"</string>
@@ -359,7 +359,7 @@
     <string name="add_contact_confirmation" msgid="1479380805406328264">"Tambahkan Kontak"</string>
     <string name="compose_message_view_subject_hint_text" msgid="6076616675845705660">"Subjek"</string>
     <string name="conversation_message_view_subject_text" msgid="5634274498769555505">"Subjek: "</string>
-    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%s</xliff:g><xliff:g id="MESSAGETEXT">%s</xliff:g>"</string>
+    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%1$s</xliff:g><xliff:g id="MESSAGETEXT">%2$s</xliff:g>"</string>
     <string name="loading_vcard" msgid="3961520941271265083">"Memuat kartu kontak"</string>
     <string name="failed_loading_vcard" msgid="7711070643740368402">"Tidak dapat memuat kartu kontak"</string>
     <string name="vcard_tap_hint" msgid="4940284329175200952">"Lihat kartu kontak"</string>
diff --git a/res/values-is/cm_strings.xml b/res/values-is/cm_strings.xml
new file mode 100644
index 0000000..46ea0f9
--- /dev/null
+++ b/res/values-is/cm_strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="notification_channel_messages_title">Skilaboð</string>
+</resources>
diff --git a/res/values-is/strings.xml b/res/values-is/strings.xml
index 4a54e14..4c6adcb 100644
--- a/res/values-is/strings.xml
+++ b/res/values-is/strings.xml
@@ -202,19 +202,19 @@
     <string name="audio_attachment_content_description" msgid="499334244765270108">"Hljóðviðhengi"</string>
     <string name="audio_play_content_description" msgid="4932509227281251607">"Spila hljóðviðhengi"</string>
     <string name="audio_pause_content_description" msgid="7578169887065513701">"Hlé"</string>
-    <string name="incoming_message_announcement" msgid="6369259405539452011">"Skilaboð sem <xliff:g id="SENDER">%s</xliff:g> sendi: <xliff:g id="MESSAGE">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Misheppnuð skilaboð sem <xliff:g id="SENDER">%s</xliff:g> sendi: <xliff:g id="MESSAGE">%s</xliff:g>. Tími: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Skilaboð sem <xliff:g id="SENDER">%s</xliff:g> sendi: <xliff:g id="MESSAGE">%s</xliff:g>. Tími: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Ósend skilaboð til <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Tími: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Sendir skilaboð til <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Tími: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Misheppnuð skilaboð til <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Tími: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Skilaboð til <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Tími: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Misheppnuð skilaboð sem <xliff:g id="SENDER">%s</xliff:g> sendi: <xliff:g id="MESSAGE">%s</xliff:g>. Tími: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Skilaboð sem <xliff:g id="SENDER">%s</xliff:g> sendi: <xliff:g id="MESSAGE">%s</xliff:g>. Tími: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Ósend skilaboð til <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Tími: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Sendir skilaboð til <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Tími: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Misheppnuð skilaboð til <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Tími: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Skilaboð til <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Tími: <xliff:g id="TIME">%s</xliff:g>."</string>
+    <string name="incoming_message_announcement" msgid="6369259405539452011">"Skilaboð sem <xliff:g id="SENDER">%1$s</xliff:g> sendi: <xliff:g id="MESSAGE">%2$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Misheppnuð skilaboð sem <xliff:g id="SENDER">%1$s</xliff:g> sendi: <xliff:g id="MESSAGE">%2$s</xliff:g>. Tími: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Skilaboð sem <xliff:g id="SENDER">%1$s</xliff:g> sendi: <xliff:g id="MESSAGE">%2$s</xliff:g>. Tími: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Ósend skilaboð til <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Tími: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Sendir skilaboð til <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Tími: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Misheppnuð skilaboð til <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Tími: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Skilaboð til <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Tími: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Misheppnuð skilaboð sem <xliff:g id="SENDER">%1$s</xliff:g> sendi: <xliff:g id="MESSAGE">%2$s</xliff:g>. Tími: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Skilaboð sem <xliff:g id="SENDER">%1$s</xliff:g> sendi: <xliff:g id="MESSAGE">%2$s</xliff:g>. Tími: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Ósend skilaboð til <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Tími: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Sendir skilaboð til <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Tími: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Misheppnuð skilaboð til <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Tími: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Skilaboð til <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Tími: <xliff:g id="TIME">%3$s</xliff:g>."</string>
     <string name="failed_message_content_description" msgid="7047161648867054936">"Misheppnuð skilaboð. Snertu til að reyna aftur."</string>
     <string name="group_conversation_description" msgid="2339270924401184182">"Samtal við <xliff:g id="PARTICIPANTS">%s</xliff:g>"</string>
     <string name="delete_subject_content_description" msgid="8910749398836396698">"Eyða efni"</string>
@@ -258,7 +258,7 @@
     <string name="mms_messaging_category_pref_title" msgid="4816815152658525660">"MMS"</string>
     <string name="advanced_category_pref_title" msgid="6411454224069259687">"Ítarlegt"</string>
     <string name="debug_category_pref_title" msgid="8765138968242505061">"Villuleita"</string>
-    <string name="notifications_enabled_pref_title" msgid="4127288731844373795">"Tilkynningar"</string>
+    <string name="notifications_pref_title" msgid="4127288731844373795">"Tilkynningar"</string>
     <string name="notification_sound_pref_title" msgid="3685506528957337849">"Hljóð"</string>
     <string name="silent_ringtone" msgid="8073534180322059814">"Hljóðlaust"</string>
     <string name="notification_vibrate_pref_title" msgid="6668564570045187390">"Titringur"</string>
@@ -359,7 +359,7 @@
     <string name="add_contact_confirmation" msgid="1479380805406328264">"Bæta tengilið við"</string>
     <string name="compose_message_view_subject_hint_text" msgid="6076616675845705660">"Efni"</string>
     <string name="conversation_message_view_subject_text" msgid="5634274498769555505">"Efni: "</string>
-    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%s</xliff:g><xliff:g id="MESSAGETEXT">%s</xliff:g>"</string>
+    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%1$s</xliff:g><xliff:g id="MESSAGETEXT">%2$s</xliff:g>"</string>
     <string name="loading_vcard" msgid="3961520941271265083">"Hleður tengiliðaspjald"</string>
     <string name="failed_loading_vcard" msgid="7711070643740368402">"Ekki var hægt að hlaða tengiliðaspjald"</string>
     <string name="vcard_tap_hint" msgid="4940284329175200952">"Skoða tengiliðaspjald"</string>
diff --git a/res/values-it/cm_strings.xml b/res/values-it/cm_strings.xml
new file mode 100644
index 0000000..2eadeac
--- /dev/null
+++ b/res/values-it/cm_strings.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="swipe_to_delete_conversation_pref_title">Scorri per eliminare</string>
+    <string name="swipe_to_delete_conversation_pref_summary">Scorri verso destra per cancellare una conversazione</string>
+    <string name="show_emoticons_pref_title">Accesso alle emoticon</string>
+    <string name="show_emoticons_pref_summary">Mostra il pulsante delle emoticon sulla tastiera</string>
+    <string name="notification_mark_as_read">Segna come letto</string>
+    <string name="notification_channel_messages_title">Messaggi</string>
+</resources>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index 7261f25..97bc435 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -202,19 +202,19 @@
     <string name="audio_attachment_content_description" msgid="499334244765270108">"Allegato audio"</string>
     <string name="audio_play_content_description" msgid="4932509227281251607">"Riproduci allegato audio"</string>
     <string name="audio_pause_content_description" msgid="7578169887065513701">"Metti in pausa"</string>
-    <string name="incoming_message_announcement" msgid="6369259405539452011">"Messaggio da <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Messaggio di <xliff:g id="SENDER">%s</xliff:g> non recapitato: <xliff:g id="MESSAGE">%s</xliff:g>. Data/ora: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Messaggio di <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Data/ora: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Messaggio per <xliff:g id="CONTACT">%s</xliff:g> non inviato: <xliff:g id="MESSAGE">%s</xliff:g>. Data/ora: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Invio del messaggio a <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Data/ora: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Messaggio per <xliff:g id="CONTACT">%s</xliff:g> non recapitato: <xliff:g id="MESSAGE">%s</xliff:g>. Data/ora: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Messaggio per <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Data/ora: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Messaggio di <xliff:g id="SENDER">%s</xliff:g> non recapitato: <xliff:g id="MESSAGE">%s</xliff:g>. Data/ora: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Messaggio di <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Data/ora: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Messaggio per <xliff:g id="GROUP">%s</xliff:g> non inviato: <xliff:g id="MESSAGE">%s</xliff:g>. Data/ora: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Invio del messaggio a <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Data/ora: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Messaggio per <xliff:g id="GROUP">%s</xliff:g> non recapitato: <xliff:g id="MESSAGE">%s</xliff:g>. Data/ora: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Messaggio per <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Data/ora: <xliff:g id="TIME">%s</xliff:g>."</string>
+    <string name="incoming_message_announcement" msgid="6369259405539452011">"Messaggio da <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Messaggio di <xliff:g id="SENDER">%1$s</xliff:g> non recapitato: <xliff:g id="MESSAGE">%2$s</xliff:g>. Data/ora: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Messaggio di <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Data/ora: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Messaggio per <xliff:g id="CONTACT">%1$s</xliff:g> non inviato: <xliff:g id="MESSAGE">%2$s</xliff:g>. Data/ora: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Invio del messaggio a <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Data/ora: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Messaggio per <xliff:g id="CONTACT">%1$s</xliff:g> non recapitato: <xliff:g id="MESSAGE">%2$s</xliff:g>. Data/ora: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Messaggio per <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Data/ora: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Messaggio di <xliff:g id="SENDER">%1$s</xliff:g> non recapitato: <xliff:g id="MESSAGE">%2$s</xliff:g>. Data/ora: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Messaggio di <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Data/ora: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Messaggio per <xliff:g id="GROUP">%1$s</xliff:g> non inviato: <xliff:g id="MESSAGE">%2$s</xliff:g>. Data/ora: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Invio del messaggio a <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Data/ora: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Messaggio per <xliff:g id="GROUP">%1$s</xliff:g> non recapitato: <xliff:g id="MESSAGE">%2$s</xliff:g>. Data/ora: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Messaggio per <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Data/ora: <xliff:g id="TIME">%3$s</xliff:g>."</string>
     <string name="failed_message_content_description" msgid="7047161648867054936">"Messaggio non recapitato. Tocca per riprovare."</string>
     <string name="group_conversation_description" msgid="2339270924401184182">"Conversazione con <xliff:g id="PARTICIPANTS">%s</xliff:g>"</string>
     <string name="delete_subject_content_description" msgid="8910749398836396698">"Elimina oggetto"</string>
@@ -258,7 +258,7 @@
     <string name="mms_messaging_category_pref_title" msgid="4816815152658525660">"MMS"</string>
     <string name="advanced_category_pref_title" msgid="6411454224069259687">"Avanzate"</string>
     <string name="debug_category_pref_title" msgid="8765138968242505061">"Debug"</string>
-    <string name="notifications_enabled_pref_title" msgid="4127288731844373795">"Notifiche"</string>
+    <string name="notifications_pref_title" msgid="4127288731844373795">"Notifiche"</string>
     <string name="notification_sound_pref_title" msgid="3685506528957337849">"Suono"</string>
     <string name="silent_ringtone" msgid="8073534180322059814">"Silenzioso"</string>
     <string name="notification_vibrate_pref_title" msgid="6668564570045187390">"Vibrazione"</string>
@@ -359,7 +359,7 @@
     <string name="add_contact_confirmation" msgid="1479380805406328264">"Aggiungi contatto"</string>
     <string name="compose_message_view_subject_hint_text" msgid="6076616675845705660">"Oggetto"</string>
     <string name="conversation_message_view_subject_text" msgid="5634274498769555505">"Oggetto: "</string>
-    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%s</xliff:g><xliff:g id="MESSAGETEXT">%s</xliff:g>"</string>
+    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%1$s</xliff:g><xliff:g id="MESSAGETEXT">%2$s</xliff:g>"</string>
     <string name="loading_vcard" msgid="3961520941271265083">"Caricamento scheda contatto in corso"</string>
     <string name="failed_loading_vcard" msgid="7711070643740368402">"Impossibile caricare la scheda del contatto"</string>
     <string name="vcard_tap_hint" msgid="4940284329175200952">"Visualizza scheda contatto"</string>
diff --git a/res/values-iw/cm_strings.xml b/res/values-iw/cm_strings.xml
new file mode 100644
index 0000000..ba345f1
--- /dev/null
+++ b/res/values-iw/cm_strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="swipe_to_delete_conversation_pref_title">החלק כדי למחוק</string>
+    <string name="swipe_to_delete_conversation_pref_summary">החלק ימינה כדי למחוק שיחה</string>
+    <string name="show_emoticons_pref_title">גישה לרגישונים</string>
+    <string name="show_emoticons_pref_summary">הצג את לחצן הרגישונים במקלדת</string>
+    <string name="notification_mark_as_read">סמן כנקרא</string>
+</resources>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index 74e46bf..cc119c2 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -226,19 +226,19 @@
     <string name="audio_attachment_content_description" msgid="499334244765270108">"קובץ אודיו מצורף"</string>
     <string name="audio_play_content_description" msgid="4932509227281251607">"הפעל את קובץ האודיו המצורף"</string>
     <string name="audio_pause_content_description" msgid="7578169887065513701">"השהה"</string>
-    <string name="incoming_message_announcement" msgid="6369259405539452011">"הודעה מאת <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"הודעה מאת <xliff:g id="SENDER">%s</xliff:g> שנכשלה: <xliff:g id="MESSAGE">%s</xliff:g>. שעה: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"הודעה מאת <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. שעה: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"הודעה אל <xliff:g id="CONTACT">%s</xliff:g> שלא נשלחה: <xliff:g id="MESSAGE">%s</xliff:g>. שעה: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"שולח הודעה אל <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. שעה: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"הודעה אל <xliff:g id="CONTACT">%s</xliff:g> שנכשלה: <xliff:g id="MESSAGE">%s</xliff:g>. שעה: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"הודעה אל <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. שעה: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"הודעה שנכשלה מאת <xliff:g id="SENDER">%s</xliff:g>‏: <xliff:g id="MESSAGE">%s</xliff:g>. שעה: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"הודעה מאת <xliff:g id="SENDER">%s</xliff:g>‏: <xliff:g id="MESSAGE">%s</xliff:g>. שעה: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"הודעה אל <xliff:g id="GROUP">%s</xliff:g> שלא נשלחה: <xliff:g id="MESSAGE">%s</xliff:g>. שעה: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"שולח הודעה אל <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. שעה: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"הודעה אל <xliff:g id="GROUP">%s</xliff:g> שנכשלה: <xliff:g id="MESSAGE">%s</xliff:g>. שעה: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"הודעה אל <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. שעה: <xliff:g id="TIME">%s</xliff:g>."</string>
+    <string name="incoming_message_announcement" msgid="6369259405539452011">"הודעה מאת <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"הודעה מאת <xliff:g id="SENDER">%1$s</xliff:g> שנכשלה: <xliff:g id="MESSAGE">%2$s</xliff:g>. שעה: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"הודעה מאת <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. שעה: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"הודעה אל <xliff:g id="CONTACT">%1$s</xliff:g> שלא נשלחה: <xliff:g id="MESSAGE">%2$s</xliff:g>. שעה: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"שולח הודעה אל <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. שעה: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"הודעה אל <xliff:g id="CONTACT">%1$s</xliff:g> שנכשלה: <xliff:g id="MESSAGE">%2$s</xliff:g>. שעה: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"הודעה אל <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. שעה: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"הודעה שנכשלה מאת <xliff:g id="SENDER">%1$s</xliff:g>‏: <xliff:g id="MESSAGE">%2$s</xliff:g>. שעה: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"הודעה מאת <xliff:g id="SENDER">%1$s</xliff:g>‏: <xliff:g id="MESSAGE">%2$s</xliff:g>. שעה: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"הודעה אל <xliff:g id="GROUP">%1$s</xliff:g> שלא נשלחה: <xliff:g id="MESSAGE">%2$s</xliff:g>. שעה: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"שולח הודעה אל <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. שעה: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"הודעה אל <xliff:g id="GROUP">%1$s</xliff:g> שנכשלה: <xliff:g id="MESSAGE">%2$s</xliff:g>. שעה: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"הודעה אל <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. שעה: <xliff:g id="TIME">%3$s</xliff:g>."</string>
     <string name="failed_message_content_description" msgid="7047161648867054936">"ההודעה נכשלה. גע כדי לנסות שוב."</string>
     <string name="group_conversation_description" msgid="2339270924401184182">"שיחה עם <xliff:g id="PARTICIPANTS">%s</xliff:g>"</string>
     <string name="delete_subject_content_description" msgid="8910749398836396698">"מחק נושא"</string>
@@ -294,7 +294,7 @@
     <string name="mms_messaging_category_pref_title" msgid="4816815152658525660">"MMS"</string>
     <string name="advanced_category_pref_title" msgid="6411454224069259687">"מתקדם"</string>
     <string name="debug_category_pref_title" msgid="8765138968242505061">"ניפוי באגים"</string>
-    <string name="notifications_enabled_pref_title" msgid="4127288731844373795">"הודעות"</string>
+    <string name="notifications_pref_title" msgid="4127288731844373795">"הודעות"</string>
     <string name="notification_sound_pref_title" msgid="3685506528957337849">"צליל"</string>
     <string name="silent_ringtone" msgid="8073534180322059814">"מצב שקט"</string>
     <string name="notification_vibrate_pref_title" msgid="6668564570045187390">"רטט"</string>
@@ -407,7 +407,7 @@
     <string name="add_contact_confirmation" msgid="1479380805406328264">"הוסף איש קשר"</string>
     <string name="compose_message_view_subject_hint_text" msgid="6076616675845705660">"נושא"</string>
     <string name="conversation_message_view_subject_text" msgid="5634274498769555505">"נושא: "</string>
-    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%s</xliff:g><xliff:g id="MESSAGETEXT">%s</xliff:g>"</string>
+    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%1$s</xliff:g><xliff:g id="MESSAGETEXT">%2$s</xliff:g>"</string>
     <string name="loading_vcard" msgid="3961520941271265083">"טוען את כרטיס איש הקשר"</string>
     <string name="failed_loading_vcard" msgid="7711070643740368402">"לא ניתן לטעון כרטיס איש קשר"</string>
     <string name="vcard_tap_hint" msgid="4940284329175200952">"הצג את כרטיס איש הקשר"</string>
diff --git a/res/values-ja/cm_strings.xml b/res/values-ja/cm_strings.xml
new file mode 100644
index 0000000..83e4d3f
--- /dev/null
+++ b/res/values-ja/cm_strings.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="swipe_to_delete_conversation_pref_title">スワイプして削除</string>
+    <string name="swipe_to_delete_conversation_pref_summary">右にスワイプしてスレッドを削除する</string>
+    <string name="show_emoticons_pref_title">絵文字アクセス</string>
+    <string name="show_emoticons_pref_summary">キーボードに絵文字キーを表示する</string>
+    <string name="notification_mark_as_read">既読にする</string>
+    <string name="notification_channel_messages_title">メッセージ</string>
+</resources>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index 49df2fc..f5779a4 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -202,19 +202,19 @@
     <string name="audio_attachment_content_description" msgid="499334244765270108">"音声添付ファイル"</string>
     <string name="audio_play_content_description" msgid="4932509227281251607">"音声添付ファイルの再生"</string>
     <string name="audio_pause_content_description" msgid="7578169887065513701">"一時停止"</string>
-    <string name="incoming_message_announcement" msgid="6369259405539452011">"<xliff:g id="SENDER">%s</xliff:g>さんからのメッセージは「<xliff:g id="MESSAGE">%s</xliff:g>」です。"</string>
-    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"<xliff:g id="SENDER">%s</xliff:g>からのメッセージ「<xliff:g id="MESSAGE">%s</xliff:g>」を受信できませんでした(時間: <xliff:g id="TIME">%s</xliff:g>)。"</string>
-    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"<xliff:g id="SENDER">%s</xliff:g>からのメッセージ「<xliff:g id="MESSAGE">%s</xliff:g>」を受信しました(時間: <xliff:g id="TIME">%s</xliff:g>)。"</string>
-    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"<xliff:g id="CONTACT">%s</xliff:g>へのメッセージ「<xliff:g id="MESSAGE">%s</xliff:g>」が送信されていません(時間: <xliff:g id="TIME">%s</xliff:g>)。"</string>
-    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"<xliff:g id="CONTACT">%s</xliff:g>へのメッセージ「<xliff:g id="MESSAGE">%s</xliff:g>」を送信しています(時間: <xliff:g id="TIME">%s</xliff:g>)。"</string>
-    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"<xliff:g id="CONTACT">%s</xliff:g>へのメッセージ「<xliff:g id="MESSAGE">%s</xliff:g>」を送信できませんでした(時間: <xliff:g id="TIME">%s</xliff:g>)。"</string>
-    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"<xliff:g id="CONTACT">%s</xliff:g>へのメッセージ「<xliff:g id="MESSAGE">%s</xliff:g>」を送信しました(時間: <xliff:g id="TIME">%s</xliff:g>)。"</string>
-    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"<xliff:g id="SENDER">%s</xliff:g>からのメッセージ「<xliff:g id="MESSAGE">%s</xliff:g>」を受信できませんでした(時間: <xliff:g id="TIME">%s</xliff:g>、<xliff:g id="GROUPINFO">%s</xliff:g>)。"</string>
-    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"<xliff:g id="SENDER">%s</xliff:g>からのメッセージ「<xliff:g id="MESSAGE">%s</xliff:g>」を受信しました(時間: <xliff:g id="TIME">%s</xliff:g>、<xliff:g id="GROUPINFO">%s</xliff:g>)。"</string>
-    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"<xliff:g id="GROUP">%s</xliff:g>へのメッセージ「<xliff:g id="MESSAGE">%s</xliff:g>」が送信されていません(時間: <xliff:g id="TIME">%s</xliff:g>)。"</string>
-    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"<xliff:g id="GROUP">%s</xliff:g>へのメッセージ「<xliff:g id="MESSAGE">%s</xliff:g>」を送信しています(時間: <xliff:g id="TIME">%s</xliff:g>)。"</string>
-    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"<xliff:g id="GROUP">%s</xliff:g>へのメッセージ「<xliff:g id="MESSAGE">%s</xliff:g>」を送信できませんでした(時間: <xliff:g id="TIME">%s</xliff:g>)。"</string>
-    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"<xliff:g id="GROUP">%s</xliff:g>へのメッセージ「<xliff:g id="MESSAGE">%s</xliff:g>」を送信しました(時間: <xliff:g id="TIME">%s</xliff:g>)。"</string>
+    <string name="incoming_message_announcement" msgid="6369259405539452011">"<xliff:g id="SENDER">%1$s</xliff:g>さんからのメッセージは「<xliff:g id="MESSAGE">%2$s</xliff:g>」です。"</string>
+    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"<xliff:g id="SENDER">%1$s</xliff:g>からのメッセージ「<xliff:g id="MESSAGE">%2$s</xliff:g>」を受信できませんでした(時間: <xliff:g id="TIME">%3$s</xliff:g>)。"</string>
+    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"<xliff:g id="SENDER">%1$s</xliff:g>からのメッセージ「<xliff:g id="MESSAGE">%2$s</xliff:g>」を受信しました(時間: <xliff:g id="TIME">%3$s</xliff:g>)。"</string>
+    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"<xliff:g id="CONTACT">%1$s</xliff:g>へのメッセージ「<xliff:g id="MESSAGE">%2$s</xliff:g>」が送信されていません(時間: <xliff:g id="TIME">%3$s</xliff:g>)。"</string>
+    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"<xliff:g id="CONTACT">%1$s</xliff:g>へのメッセージ「<xliff:g id="MESSAGE">%2$s</xliff:g>」を送信しています(時間: <xliff:g id="TIME">%3$s</xliff:g>)。"</string>
+    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"<xliff:g id="CONTACT">%1$s</xliff:g>へのメッセージ「<xliff:g id="MESSAGE">%2$s</xliff:g>」を送信できませんでした(時間: <xliff:g id="TIME">%3$s</xliff:g>)。"</string>
+    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"<xliff:g id="CONTACT">%1$s</xliff:g>へのメッセージ「<xliff:g id="MESSAGE">%2$s</xliff:g>」を送信しました(時間: <xliff:g id="TIME">%3$s</xliff:g>)。"</string>
+    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"<xliff:g id="SENDER">%1$s</xliff:g>からのメッセージ「<xliff:g id="MESSAGE">%2$s</xliff:g>」を受信できませんでした(時間: <xliff:g id="TIME">%3$s</xliff:g>、<xliff:g id="GROUPINFO">%3$s</xliff:g>)。"</string>
+    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"<xliff:g id="SENDER">%1$s</xliff:g>からのメッセージ「<xliff:g id="MESSAGE">%2$s</xliff:g>」を受信しました(時間: <xliff:g id="TIME">%3$s</xliff:g>、<xliff:g id="GROUPINFO">%3$s</xliff:g>)。"</string>
+    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"<xliff:g id="GROUP">%1$s</xliff:g>へのメッセージ「<xliff:g id="MESSAGE">%2$s</xliff:g>」が送信されていません(時間: <xliff:g id="TIME">%3$s</xliff:g>)。"</string>
+    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"<xliff:g id="GROUP">%1$s</xliff:g>へのメッセージ「<xliff:g id="MESSAGE">%2$s</xliff:g>」を送信しています(時間: <xliff:g id="TIME">%3$s</xliff:g>)。"</string>
+    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"<xliff:g id="GROUP">%1$s</xliff:g>へのメッセージ「<xliff:g id="MESSAGE">%2$s</xliff:g>」を送信できませんでした(時間: <xliff:g id="TIME">%3$s</xliff:g>)。"</string>
+    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"<xliff:g id="GROUP">%1$s</xliff:g>へのメッセージ「<xliff:g id="MESSAGE">%2$s</xliff:g>」を送信しました(時間: <xliff:g id="TIME">%3$s</xliff:g>)。"</string>
     <string name="failed_message_content_description" msgid="7047161648867054936">"失敗したメッセージ。再試行するにはタップしてください。"</string>
     <string name="group_conversation_description" msgid="2339270924401184182">"<xliff:g id="PARTICIPANTS">%s</xliff:g>とのスレッド"</string>
     <string name="delete_subject_content_description" msgid="8910749398836396698">"件名を削除"</string>
@@ -258,7 +258,7 @@
     <string name="mms_messaging_category_pref_title" msgid="4816815152658525660">"MMS"</string>
     <string name="advanced_category_pref_title" msgid="6411454224069259687">"詳細設定"</string>
     <string name="debug_category_pref_title" msgid="8765138968242505061">"デバッグ"</string>
-    <string name="notifications_enabled_pref_title" msgid="4127288731844373795">"通知"</string>
+    <string name="notifications_pref_title" msgid="4127288731844373795">"通知"</string>
     <string name="notification_sound_pref_title" msgid="3685506528957337849">"通知音"</string>
     <string name="silent_ringtone" msgid="8073534180322059814">"マナーモード"</string>
     <string name="notification_vibrate_pref_title" msgid="6668564570045187390">"バイブレーション"</string>
@@ -359,7 +359,7 @@
     <string name="add_contact_confirmation" msgid="1479380805406328264">"連絡先を追加"</string>
     <string name="compose_message_view_subject_hint_text" msgid="6076616675845705660">"件名"</string>
     <string name="conversation_message_view_subject_text" msgid="5634274498769555505">"件名: "</string>
-    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%s</xliff:g><xliff:g id="MESSAGETEXT">%s</xliff:g>"</string>
+    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%1$s</xliff:g><xliff:g id="MESSAGETEXT">%2$s</xliff:g>"</string>
     <string name="loading_vcard" msgid="3961520941271265083">"連絡先カードを読み込んでいます"</string>
     <string name="failed_loading_vcard" msgid="7711070643740368402">"連絡先カードを読み込めませんでした"</string>
     <string name="vcard_tap_hint" msgid="4940284329175200952">"連絡先カードを表示"</string>
diff --git a/res/values-ka/cm_strings.xml b/res/values-ka/cm_strings.xml
new file mode 100644
index 0000000..ba65315
--- /dev/null
+++ b/res/values-ka/cm_strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="notification_channel_messages_title">შეტყობინებები</string>
+</resources>
diff --git a/res/values-ka/strings.xml b/res/values-ka/strings.xml
index 9605c6b..4372144 100644
--- a/res/values-ka/strings.xml
+++ b/res/values-ka/strings.xml
@@ -202,19 +202,19 @@
     <string name="audio_attachment_content_description" msgid="499334244765270108">"აუდიო დანართი"</string>
     <string name="audio_play_content_description" msgid="4932509227281251607">"აუდიო დანართის ჩართვა"</string>
     <string name="audio_pause_content_description" msgid="7578169887065513701">"პაუზა"</string>
-    <string name="incoming_message_announcement" msgid="6369259405539452011">"შეტყობინება <xliff:g id="SENDER">%s</xliff:g>-საგან: <xliff:g id="MESSAGE">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"<xliff:g id="SENDER">%s</xliff:g>-საგან შეტყობინების შეცდომა: <xliff:g id="MESSAGE">%s</xliff:g>. დრო: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"შეტყობინება <xliff:g id="SENDER">%s</xliff:g>-საგან: <xliff:g id="MESSAGE">%s</xliff:g>. დრო: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"<xliff:g id="CONTACT">%s</xliff:g>-სთვის გაუგზავნელი შეტყობინება: <xliff:g id="MESSAGE">%s</xliff:g>. დრო: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"იგზავნება შეტყობინება <xliff:g id="CONTACT">%s</xliff:g>-სთვის: <xliff:g id="MESSAGE">%s</xliff:g>. დრო: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"<xliff:g id="CONTACT">%s</xliff:g>-სთვის შეტყობინების შეცდომა: <xliff:g id="MESSAGE">%s</xliff:g>. დრო: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"შეტყობინება <xliff:g id="CONTACT">%s</xliff:g>-სთვის: <xliff:g id="MESSAGE">%s</xliff:g>. დრო: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"<xliff:g id="SENDER">%s</xliff:g>-საგან შეტყობინების შეცდომა: <xliff:g id="MESSAGE">%s</xliff:g>. დრო: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"შეტყობინება <xliff:g id="SENDER">%s</xliff:g>-საგან: <xliff:g id="MESSAGE">%s</xliff:g>. დრო: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"გაუგზავნელი შეტყობინება <xliff:g id="GROUP">%s</xliff:g>-სთვის: <xliff:g id="MESSAGE">%s</xliff:g>. დრო: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"იგზავნება შეტყობინება <xliff:g id="GROUP">%s</xliff:g>-სთვის: <xliff:g id="MESSAGE">%s</xliff:g>. დრო: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"<xliff:g id="GROUP">%s</xliff:g>-სთვის შეტყობინების შეცდომა: <xliff:g id="MESSAGE">%s</xliff:g>. დრო: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"შეტყობინება <xliff:g id="GROUP">%s</xliff:g>-სთვის: <xliff:g id="MESSAGE">%s</xliff:g>. დრო: <xliff:g id="TIME">%s</xliff:g>."</string>
+    <string name="incoming_message_announcement" msgid="6369259405539452011">"შეტყობინება <xliff:g id="SENDER">%1$s</xliff:g>-საგან: <xliff:g id="MESSAGE">%2$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"<xliff:g id="SENDER">%1$s</xliff:g>-საგან შეტყობინების შეცდომა: <xliff:g id="MESSAGE">%2$s</xliff:g>. დრო: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"შეტყობინება <xliff:g id="SENDER">%1$s</xliff:g>-საგან: <xliff:g id="MESSAGE">%2$s</xliff:g>. დრო: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"<xliff:g id="CONTACT">%1$s</xliff:g>-სთვის გაუგზავნელი შეტყობინება: <xliff:g id="MESSAGE">%2$s</xliff:g>. დრო: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"იგზავნება შეტყობინება <xliff:g id="CONTACT">%1$s</xliff:g>-სთვის: <xliff:g id="MESSAGE">%2$s</xliff:g>. დრო: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"<xliff:g id="CONTACT">%1$s</xliff:g>-სთვის შეტყობინების შეცდომა: <xliff:g id="MESSAGE">%2$s</xliff:g>. დრო: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"შეტყობინება <xliff:g id="CONTACT">%1$s</xliff:g>-სთვის: <xliff:g id="MESSAGE">%2$s</xliff:g>. დრო: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"<xliff:g id="SENDER">%1$s</xliff:g>-საგან შეტყობინების შეცდომა: <xliff:g id="MESSAGE">%2$s</xliff:g>. დრო: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"შეტყობინება <xliff:g id="SENDER">%1$s</xliff:g>-საგან: <xliff:g id="MESSAGE">%2$s</xliff:g>. დრო: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"გაუგზავნელი შეტყობინება <xliff:g id="GROUP">%1$s</xliff:g>-სთვის: <xliff:g id="MESSAGE">%2$s</xliff:g>. დრო: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"იგზავნება შეტყობინება <xliff:g id="GROUP">%1$s</xliff:g>-სთვის: <xliff:g id="MESSAGE">%2$s</xliff:g>. დრო: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"<xliff:g id="GROUP">%1$s</xliff:g>-სთვის შეტყობინების შეცდომა: <xliff:g id="MESSAGE">%2$s</xliff:g>. დრო: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"შეტყობინება <xliff:g id="GROUP">%1$s</xliff:g>-სთვის: <xliff:g id="MESSAGE">%2$s</xliff:g>. დრო: <xliff:g id="TIME">%3$s</xliff:g>."</string>
     <string name="failed_message_content_description" msgid="7047161648867054936">"შეტყობინების შეცდომა. შეეხეთ, რათა ხელახლა სცადოთ."</string>
     <string name="group_conversation_description" msgid="2339270924401184182">"საუბარი <xliff:g id="PARTICIPANTS">%s</xliff:g> -სთან"</string>
     <string name="delete_subject_content_description" msgid="8910749398836396698">"თემის წაშლა"</string>
@@ -258,7 +258,7 @@
     <string name="mms_messaging_category_pref_title" msgid="4816815152658525660">"MMS"</string>
     <string name="advanced_category_pref_title" msgid="6411454224069259687">"გაფართოებული"</string>
     <string name="debug_category_pref_title" msgid="8765138968242505061">"გამართვა"</string>
-    <string name="notifications_enabled_pref_title" msgid="4127288731844373795">"შეტყობინებები"</string>
+    <string name="notifications_pref_title" msgid="4127288731844373795">"შეტყობინებები"</string>
     <string name="notification_sound_pref_title" msgid="3685506528957337849">"ხმა"</string>
     <string name="silent_ringtone" msgid="8073534180322059814">"დადუმებული"</string>
     <string name="notification_vibrate_pref_title" msgid="6668564570045187390">"ვიბრაცია"</string>
@@ -359,7 +359,7 @@
     <string name="add_contact_confirmation" msgid="1479380805406328264">"კონტაქტის დამატება"</string>
     <string name="compose_message_view_subject_hint_text" msgid="6076616675845705660">"თემა"</string>
     <string name="conversation_message_view_subject_text" msgid="5634274498769555505">"თემა: "</string>
-    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%s</xliff:g><xliff:g id="MESSAGETEXT">%s</xliff:g>"</string>
+    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%1$s</xliff:g><xliff:g id="MESSAGETEXT">%2$s</xliff:g>"</string>
     <string name="loading_vcard" msgid="3961520941271265083">"იტვირთება კონტაქტის ბარათი"</string>
     <string name="failed_loading_vcard" msgid="7711070643740368402">"საკონტაქტო ბარათი ვერ იტვირთება"</string>
     <string name="vcard_tap_hint" msgid="4940284329175200952">"კონტაქტის ბარათის ნახვა"</string>
diff --git a/res/values-kk/strings.xml b/res/values-kk/strings.xml
index 5164592..bbf23b3 100644
--- a/res/values-kk/strings.xml
+++ b/res/values-kk/strings.xml
@@ -202,19 +202,19 @@
     <string name="audio_attachment_content_description" msgid="499334244765270108">"Аудио тіркеме"</string>
     <string name="audio_play_content_description" msgid="4932509227281251607">"Аудио тіркемені ойнату"</string>
     <string name="audio_pause_content_description" msgid="7578169887065513701">"Кідірту"</string>
-    <string name="incoming_message_announcement" msgid="6369259405539452011">"<xliff:g id="SENDER">%s</xliff:g> хабары: <xliff:g id="MESSAGE">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"<xliff:g id="SENDER">%s</xliff:g> сәтсіз хабары: <xliff:g id="MESSAGE">%s</xliff:g>. Уақыт: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"<xliff:g id="SENDER">%s</xliff:g> хабары: <xliff:g id="MESSAGE">%s</xliff:g>. Уақыт: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"<xliff:g id="CONTACT">%s</xliff:g> тобына жіберілмеген хабар: <xliff:g id="MESSAGE">%s</xliff:g>. Уақыт: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"<xliff:g id="CONTACT">%s</xliff:g> тобына хабар жіберілуде: <xliff:g id="MESSAGE">%s</xliff:g>. Уақыт: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"<xliff:g id="CONTACT">%s</xliff:g> тобына сәтсіз хабар: <xliff:g id="MESSAGE">%s</xliff:g>. Уақыт: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"<xliff:g id="CONTACT">%s</xliff:g> тобына хабар: <xliff:g id="MESSAGE">%s</xliff:g>. Уақыт: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"<xliff:g id="SENDER">%s</xliff:g> сәтсіз хабары: <xliff:g id="MESSAGE">%s</xliff:g>. Уақыт: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"<xliff:g id="SENDER">%s</xliff:g> хабары: <xliff:g id="MESSAGE">%s</xliff:g>. Уақыт: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"<xliff:g id="GROUP">%s</xliff:g> тобына жіберілмеген хабар: <xliff:g id="MESSAGE">%s</xliff:g>. Уақыт: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"<xliff:g id="GROUP">%s</xliff:g> тобына хабар жіберілуде: <xliff:g id="MESSAGE">%s</xliff:g>. Уақыт: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"<xliff:g id="GROUP">%s</xliff:g> тобына сәтсіз хабар: <xliff:g id="MESSAGE">%s</xliff:g>. Уақыт: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"<xliff:g id="GROUP">%s</xliff:g> тобына хабар: <xliff:g id="MESSAGE">%s</xliff:g>. Уақыт: <xliff:g id="TIME">%s</xliff:g>."</string>
+    <string name="incoming_message_announcement" msgid="6369259405539452011">"<xliff:g id="SENDER">%1$s</xliff:g> хабары: <xliff:g id="MESSAGE">%2$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"<xliff:g id="SENDER">%1$s</xliff:g> сәтсіз хабары: <xliff:g id="MESSAGE">%2$s</xliff:g>. Уақыт: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"<xliff:g id="SENDER">%1$s</xliff:g> хабары: <xliff:g id="MESSAGE">%2$s</xliff:g>. Уақыт: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"<xliff:g id="CONTACT">%1$s</xliff:g> тобына жіберілмеген хабар: <xliff:g id="MESSAGE">%2$s</xliff:g>. Уақыт: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"<xliff:g id="CONTACT">%1$s</xliff:g> тобына хабар жіберілуде: <xliff:g id="MESSAGE">%2$s</xliff:g>. Уақыт: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"<xliff:g id="CONTACT">%1$s</xliff:g> тобына сәтсіз хабар: <xliff:g id="MESSAGE">%2$s</xliff:g>. Уақыт: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"<xliff:g id="CONTACT">%1$s</xliff:g> тобына хабар: <xliff:g id="MESSAGE">%2$s</xliff:g>. Уақыт: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"<xliff:g id="SENDER">%1$s</xliff:g> сәтсіз хабары: <xliff:g id="MESSAGE">%2$s</xliff:g>. Уақыт: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"<xliff:g id="SENDER">%1$s</xliff:g> хабары: <xliff:g id="MESSAGE">%2$s</xliff:g>. Уақыт: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"<xliff:g id="GROUP">%1$s</xliff:g> тобына жіберілмеген хабар: <xliff:g id="MESSAGE">%2$s</xliff:g>. Уақыт: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"<xliff:g id="GROUP">%1$s</xliff:g> тобына хабар жіберілуде: <xliff:g id="MESSAGE">%2$s</xliff:g>. Уақыт: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"<xliff:g id="GROUP">%1$s</xliff:g> тобына сәтсіз хабар: <xliff:g id="MESSAGE">%2$s</xliff:g>. Уақыт: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"<xliff:g id="GROUP">%1$s</xliff:g> тобына хабар: <xliff:g id="MESSAGE">%2$s</xliff:g>. Уақыт: <xliff:g id="TIME">%3$s</xliff:g>."</string>
     <string name="failed_message_content_description" msgid="7047161648867054936">"Сәтсіз хабар. Қайталау үшін түртіңіз."</string>
     <string name="group_conversation_description" msgid="2339270924401184182">"<xliff:g id="PARTICIPANTS">%s</xliff:g> адаммен сөйлесу"</string>
     <string name="delete_subject_content_description" msgid="8910749398836396698">"Тақырыпты жою"</string>
@@ -258,7 +258,7 @@
     <string name="mms_messaging_category_pref_title" msgid="4816815152658525660">"MMS"</string>
     <string name="advanced_category_pref_title" msgid="6411454224069259687">"Кеңейтілген"</string>
     <string name="debug_category_pref_title" msgid="8765138968242505061">"Күйін келтіру"</string>
-    <string name="notifications_enabled_pref_title" msgid="4127288731844373795">"Хабарландырулар"</string>
+    <string name="notifications_pref_title" msgid="4127288731844373795">"Хабарландырулар"</string>
     <string name="notification_sound_pref_title" msgid="3685506528957337849">"Дыбыс"</string>
     <string name="silent_ringtone" msgid="8073534180322059814">"Үнсіз"</string>
     <string name="notification_vibrate_pref_title" msgid="6668564570045187390">"Дірілдеу"</string>
@@ -359,7 +359,7 @@
     <string name="add_contact_confirmation" msgid="1479380805406328264">"Контакт қосу"</string>
     <string name="compose_message_view_subject_hint_text" msgid="6076616675845705660">"Тақырып"</string>
     <string name="conversation_message_view_subject_text" msgid="5634274498769555505">"Тақырып: "</string>
-    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%s</xliff:g><xliff:g id="MESSAGETEXT">%s</xliff:g>"</string>
+    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%1$s</xliff:g><xliff:g id="MESSAGETEXT">%2$s</xliff:g>"</string>
     <string name="loading_vcard" msgid="3961520941271265083">"Контакт карточкасы жүктелуде"</string>
     <string name="failed_loading_vcard" msgid="7711070643740368402">"Контакт картасын жүктеу мүмкін болмады"</string>
     <string name="vcard_tap_hint" msgid="4940284329175200952">"Контакт карточкасын көру"</string>
diff --git a/res/values-km/strings.xml b/res/values-km/strings.xml
index 1806cc7..6e63dd8 100644
--- a/res/values-km/strings.xml
+++ b/res/values-km/strings.xml
@@ -202,19 +202,19 @@
     <string name="audio_attachment_content_description" msgid="499334244765270108">"ឯកសារភ្ជាប់សម្លេង"</string>
     <string name="audio_play_content_description" msgid="4932509227281251607">"ឯកសារភ្ជាប់សម្លេង Play"</string>
     <string name="audio_pause_content_description" msgid="7578169887065513701">"ផ្អាក"</string>
-    <string name="incoming_message_announcement" msgid="6369259405539452011">"សារពី <xliff:g id="SENDER">%s</xliff:g>៖ <xliff:g id="MESSAGE">%s</xliff:g>។"</string>
-    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"សារបរាជ័យពី <xliff:g id="SENDER">%s</xliff:g>៖ <xliff:g id="MESSAGE">%s</xliff:g>។ ម៉ោង៖ <xliff:g id="TIME">%s</xliff:g>។"</string>
-    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"សារពី <xliff:g id="SENDER">%s</xliff:g>៖ <xliff:g id="MESSAGE">%s</xliff:g>។ ម៉ោង៖ <xliff:g id="TIME">%s</xliff:g>។"</string>
-    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"សារមិនបានផ្ញើទៅ <xliff:g id="CONTACT">%s</xliff:g>៖ <xliff:g id="MESSAGE">%s</xliff:g>។ ម៉ោង៖ <xliff:g id="TIME">%s</xliff:g>។"</string>
-    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"កំពុងផ្ញើសារទៅ <xliff:g id="CONTACT">%s</xliff:g>៖ <xliff:g id="MESSAGE">%s</xliff:g>។ ម៉ោង៖ <xliff:g id="TIME">%s</xliff:g>។"</string>
-    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"សារបរាជ័យទៅ <xliff:g id="CONTACT">%s</xliff:g>៖ <xliff:g id="MESSAGE">%s</xliff:g>។ ម៉ោង៖ <xliff:g id="TIME">%s</xliff:g>។"</string>
-    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"សារទៅ <xliff:g id="CONTACT">%s</xliff:g>៖ <xliff:g id="MESSAGE">%s</xliff:g>។ ម៉ោង៖ <xliff:g id="TIME">%s</xliff:g>។"</string>
-    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"សារបរាជ័យពី <xliff:g id="SENDER">%s</xliff:g>៖ <xliff:g id="MESSAGE">%s</xliff:g>។ ម៉ោង៖ <xliff:g id="TIME">%s</xliff:g>។ <xliff:g id="GROUPINFO">%s</xliff:g>។"</string>
-    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"សារពី <xliff:g id="SENDER">%s</xliff:g>៖ <xliff:g id="MESSAGE">%s</xliff:g>។ ម៉ោង៖ <xliff:g id="TIME">%s</xliff:g>។ <xliff:g id="GROUPINFO">%s</xliff:g>។"</string>
-    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"សារមិនបានផ្ញើទៅ <xliff:g id="GROUP">%s</xliff:g>៖ <xliff:g id="MESSAGE">%s</xliff:g>។ ម៉ោង៖ <xliff:g id="TIME">%s</xliff:g>។"</string>
-    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"កំពុងផ្ញើសារទៅ <xliff:g id="GROUP">%s</xliff:g>៖ <xliff:g id="MESSAGE">%s</xliff:g>។ ម៉ោង៖ <xliff:g id="TIME">%s</xliff:g>។"</string>
-    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"សារបរាជ័យទៅ <xliff:g id="GROUP">%s</xliff:g>៖ <xliff:g id="MESSAGE">%s</xliff:g>។ ម៉ោង៖ <xliff:g id="TIME">%s</xliff:g>។"</string>
-    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"សារទៅ <xliff:g id="GROUP">%s</xliff:g>៖ <xliff:g id="MESSAGE">%s</xliff:g>។ ម៉ោង៖ <xliff:g id="TIME">%s</xliff:g>។"</string>
+    <string name="incoming_message_announcement" msgid="6369259405539452011">"សារពី <xliff:g id="SENDER">%1$s</xliff:g>៖ <xliff:g id="MESSAGE">%2$s</xliff:g>។"</string>
+    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"សារបរាជ័យពី <xliff:g id="SENDER">%1$s</xliff:g>៖ <xliff:g id="MESSAGE">%2$s</xliff:g>។ ម៉ោង៖ <xliff:g id="TIME">%3$s</xliff:g>។"</string>
+    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"សារពី <xliff:g id="SENDER">%1$s</xliff:g>៖ <xliff:g id="MESSAGE">%2$s</xliff:g>។ ម៉ោង៖ <xliff:g id="TIME">%3$s</xliff:g>។"</string>
+    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"សារមិនបានផ្ញើទៅ <xliff:g id="CONTACT">%1$s</xliff:g>៖ <xliff:g id="MESSAGE">%2$s</xliff:g>។ ម៉ោង៖ <xliff:g id="TIME">%3$s</xliff:g>។"</string>
+    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"កំពុងផ្ញើសារទៅ <xliff:g id="CONTACT">%1$s</xliff:g>៖ <xliff:g id="MESSAGE">%2$s</xliff:g>។ ម៉ោង៖ <xliff:g id="TIME">%3$s</xliff:g>។"</string>
+    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"សារបរាជ័យទៅ <xliff:g id="CONTACT">%1$s</xliff:g>៖ <xliff:g id="MESSAGE">%2$s</xliff:g>។ ម៉ោង៖ <xliff:g id="TIME">%3$s</xliff:g>។"</string>
+    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"សារទៅ <xliff:g id="CONTACT">%1$s</xliff:g>៖ <xliff:g id="MESSAGE">%2$s</xliff:g>។ ម៉ោង៖ <xliff:g id="TIME">%3$s</xliff:g>។"</string>
+    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"សារបរាជ័យពី <xliff:g id="SENDER">%1$s</xliff:g>៖ <xliff:g id="MESSAGE">%2$s</xliff:g>។ ម៉ោង៖ <xliff:g id="TIME">%3$s</xliff:g>។ <xliff:g id="GROUPINFO">%3$s</xliff:g>។"</string>
+    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"សារពី <xliff:g id="SENDER">%1$s</xliff:g>៖ <xliff:g id="MESSAGE">%2$s</xliff:g>។ ម៉ោង៖ <xliff:g id="TIME">%3$s</xliff:g>។ <xliff:g id="GROUPINFO">%3$s</xliff:g>។"</string>
+    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"សារមិនបានផ្ញើទៅ <xliff:g id="GROUP">%1$s</xliff:g>៖ <xliff:g id="MESSAGE">%2$s</xliff:g>។ ម៉ោង៖ <xliff:g id="TIME">%3$s</xliff:g>។"</string>
+    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"កំពុងផ្ញើសារទៅ <xliff:g id="GROUP">%1$s</xliff:g>៖ <xliff:g id="MESSAGE">%2$s</xliff:g>។ ម៉ោង៖ <xliff:g id="TIME">%3$s</xliff:g>។"</string>
+    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"សារបរាជ័យទៅ <xliff:g id="GROUP">%1$s</xliff:g>៖ <xliff:g id="MESSAGE">%2$s</xliff:g>។ ម៉ោង៖ <xliff:g id="TIME">%3$s</xliff:g>។"</string>
+    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"សារទៅ <xliff:g id="GROUP">%1$s</xliff:g>៖ <xliff:g id="MESSAGE">%2$s</xliff:g>។ ម៉ោង៖ <xliff:g id="TIME">%3$s</xliff:g>។"</string>
     <string name="failed_message_content_description" msgid="7047161648867054936">"សារបរាជ័យ។ ប៉ះដើម្បីព្យាយាមម្តងទៀត។"</string>
     <string name="group_conversation_description" msgid="2339270924401184182">"ការសន្ទនាជាមួយ <xliff:g id="PARTICIPANTS">%s</xliff:g>"</string>
     <string name="delete_subject_content_description" msgid="8910749398836396698">"លុប​ប្រធានបទ"</string>
@@ -258,7 +258,7 @@
     <string name="mms_messaging_category_pref_title" msgid="4816815152658525660">"សារ MMS"</string>
     <string name="advanced_category_pref_title" msgid="6411454224069259687">"កម្រិត​ខ្ពស់"</string>
     <string name="debug_category_pref_title" msgid="8765138968242505061">"កែ​កំហុស"</string>
-    <string name="notifications_enabled_pref_title" msgid="4127288731844373795">"ការ​ជូនដំណឹង"</string>
+    <string name="notifications_pref_title" msgid="4127288731844373795">"ការ​ជូនដំណឹង"</string>
     <string name="notification_sound_pref_title" msgid="3685506528957337849">"សំឡេង"</string>
     <string name="silent_ringtone" msgid="8073534180322059814">"ស្ងាត់"</string>
     <string name="notification_vibrate_pref_title" msgid="6668564570045187390">"ញ័រ"</string>
@@ -359,7 +359,7 @@
     <string name="add_contact_confirmation" msgid="1479380805406328264">"បន្ថែម​ទំនាក់ទំនង"</string>
     <string name="compose_message_view_subject_hint_text" msgid="6076616675845705660">"ប្រធានបទ"</string>
     <string name="conversation_message_view_subject_text" msgid="5634274498769555505">"ប្រធានបទ៖ "</string>
-    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%s</xliff:g><xliff:g id="MESSAGETEXT">%s</xliff:g>"</string>
+    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%1$s</xliff:g><xliff:g id="MESSAGETEXT">%2$s</xliff:g>"</string>
     <string name="loading_vcard" msgid="3961520941271265083">"ផ្ទុក​កាត​ទំនាក់ទំនង"</string>
     <string name="failed_loading_vcard" msgid="7711070643740368402">"មិន​អាច​ផ្ទុក​កាត​ទំនាក់ទំនង"</string>
     <string name="vcard_tap_hint" msgid="4940284329175200952">"មើល​កាត​ទំនាក់ទំនង"</string>
diff --git a/res/values-kn/cm_strings.xml b/res/values-kn/cm_strings.xml
new file mode 100644
index 0000000..58a4638
--- /dev/null
+++ b/res/values-kn/cm_strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="swipe_to_delete_conversation_pref_title">ಅಳಿಸಲು ಸ್ವೈಪ್ ಮಾಡಿ</string>
+    <string name="swipe_to_delete_conversation_pref_summary">ಒಂದು ಸಂವಾದವನ್ನು ಅಳಿಸಲು ಬಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ</string>
+    <string name="show_emoticons_pref_summary">ಕೀಬೋರ್ಡ್ ಮೇಲೆ ಭಾವನೆಗಳ ಪ್ರಮುಖ ತೋರಿಸಿ</string>
+    <string name="notification_mark_as_read">ಓದಿರುವುದಾಗಿ ಗುರುತಿಸು</string>
+    <string name="notification_channel_messages_title">ಸಂದೇಶಗಳು</string>
+</resources>
diff --git a/res/values-kn/strings.xml b/res/values-kn/strings.xml
index eb9539b..2973a61 100644
--- a/res/values-kn/strings.xml
+++ b/res/values-kn/strings.xml
@@ -202,19 +202,19 @@
     <string name="audio_attachment_content_description" msgid="499334244765270108">"ಆಡಿಯೋ ಲಗತ್ತು"</string>
     <string name="audio_play_content_description" msgid="4932509227281251607">"ಆಡಿಯೊ ಲಗತ್ತನ್ನು ಪ್ಲೇ ಮಾಡಿ"</string>
     <string name="audio_pause_content_description" msgid="7578169887065513701">"ವಿರಾಮಗೊಳಿಸು"</string>
-    <string name="incoming_message_announcement" msgid="6369259405539452011">"<xliff:g id="SENDER">%s</xliff:g> ಅವರಿಂದ ಸಂದೇಶ: <xliff:g id="MESSAGE">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"<xliff:g id="SENDER">%s</xliff:g> ಅವರಿಂದ ಸಂದೇಶ ವಿಫಲವಾಗಿದೆ: <xliff:g id="MESSAGE">%s</xliff:g>. ಸಮಯ: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"<xliff:g id="SENDER">%s</xliff:g> ಅವರಿಂದ ಸಂದೇಶ: <xliff:g id="MESSAGE">%s</xliff:g>. ಸಮಯ: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"<xliff:g id="CONTACT">%s</xliff:g> ಗೆ ಕಳುಹಿಸದಿರುವ ಸಂದೇಶ: <xliff:g id="MESSAGE">%s</xliff:g>. ಸಮಯ: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"<xliff:g id="CONTACT">%s</xliff:g> ಗೆ ಸಂದೇಶವನ್ನು ಕಳುಹಿಸಲಾಗುತ್ತಿದೆ: <xliff:g id="MESSAGE">%s</xliff:g>. ಸಮಯ: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"<xliff:g id="CONTACT">%s</xliff:g> ಗೆ ಸಂದೇಶ ವಿಫಲವಾಗಿದೆ : <xliff:g id="MESSAGE">%s</xliff:g>. ಸಮಯ: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"<xliff:g id="CONTACT">%s</xliff:g> ಗೆ ಸಂದೇಶ: <xliff:g id="MESSAGE">%s</xliff:g>. ಸಮಯ: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"<xliff:g id="SENDER">%s</xliff:g> ಅವರಿಂದ ಸಂದೇಶ ವಿಫಲವಾಗಿದೆ: <xliff:g id="MESSAGE">%s</xliff:g>. ಸಮಯ: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"<xliff:g id="SENDER">%s</xliff:g> ಅವರಿಂದ ಸಂದೇಶ: <xliff:g id="MESSAGE">%s</xliff:g>. ಸಮಯ: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"<xliff:g id="GROUP">%s</xliff:g> ಗೆ ಕಳುಹಿಸದಿರುವ ಸಂದೇಶ: <xliff:g id="MESSAGE">%s</xliff:g>. ಸಮಯ: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"<xliff:g id="GROUP">%s</xliff:g> ಗೆ ಸಂದೇಶವನ್ನು ಕಳುಹಿಸಲಾಗುತ್ತಿದೆ: <xliff:g id="MESSAGE">%s</xliff:g>. ಸಮಯ: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"<xliff:g id="GROUP">%s</xliff:g> ಗೆ ಸಂದೇಶ ವಿಫಲವಾಗಿದೆ : <xliff:g id="MESSAGE">%s</xliff:g>. ಸಮಯ: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"<xliff:g id="GROUP">%s</xliff:g> ಗೆ ಸಂದೇಶ: <xliff:g id="MESSAGE">%s</xliff:g>. ಸಮಯ: <xliff:g id="TIME">%s</xliff:g>."</string>
+    <string name="incoming_message_announcement" msgid="6369259405539452011">"<xliff:g id="SENDER">%1$s</xliff:g> ಅವರಿಂದ ಸಂದೇಶ: <xliff:g id="MESSAGE">%2$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"<xliff:g id="SENDER">%1$s</xliff:g> ಅವರಿಂದ ಸಂದೇಶ ವಿಫಲವಾಗಿದೆ: <xliff:g id="MESSAGE">%2$s</xliff:g>. ಸಮಯ: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"<xliff:g id="SENDER">%1$s</xliff:g> ಅವರಿಂದ ಸಂದೇಶ: <xliff:g id="MESSAGE">%2$s</xliff:g>. ಸಮಯ: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"<xliff:g id="CONTACT">%1$s</xliff:g> ಗೆ ಕಳುಹಿಸದಿರುವ ಸಂದೇಶ: <xliff:g id="MESSAGE">%2$s</xliff:g>. ಸಮಯ: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"<xliff:g id="CONTACT">%1$s</xliff:g> ಗೆ ಸಂದೇಶವನ್ನು ಕಳುಹಿಸಲಾಗುತ್ತಿದೆ: <xliff:g id="MESSAGE">%2$s</xliff:g>. ಸಮಯ: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"<xliff:g id="CONTACT">%1$s</xliff:g> ಗೆ ಸಂದೇಶ ವಿಫಲವಾಗಿದೆ : <xliff:g id="MESSAGE">%2$s</xliff:g>. ಸಮಯ: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"<xliff:g id="CONTACT">%1$s</xliff:g> ಗೆ ಸಂದೇಶ: <xliff:g id="MESSAGE">%2$s</xliff:g>. ಸಮಯ: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"<xliff:g id="SENDER">%1$s</xliff:g> ಅವರಿಂದ ಸಂದೇಶ ವಿಫಲವಾಗಿದೆ: <xliff:g id="MESSAGE">%2$s</xliff:g>. ಸಮಯ: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"<xliff:g id="SENDER">%1$s</xliff:g> ಅವರಿಂದ ಸಂದೇಶ: <xliff:g id="MESSAGE">%2$s</xliff:g>. ಸಮಯ: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"<xliff:g id="GROUP">%1$s</xliff:g> ಗೆ ಕಳುಹಿಸದಿರುವ ಸಂದೇಶ: <xliff:g id="MESSAGE">%2$s</xliff:g>. ಸಮಯ: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"<xliff:g id="GROUP">%1$s</xliff:g> ಗೆ ಸಂದೇಶವನ್ನು ಕಳುಹಿಸಲಾಗುತ್ತಿದೆ: <xliff:g id="MESSAGE">%2$s</xliff:g>. ಸಮಯ: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"<xliff:g id="GROUP">%1$s</xliff:g> ಗೆ ಸಂದೇಶ ವಿಫಲವಾಗಿದೆ : <xliff:g id="MESSAGE">%2$s</xliff:g>. ಸಮಯ: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"<xliff:g id="GROUP">%1$s</xliff:g> ಗೆ ಸಂದೇಶ: <xliff:g id="MESSAGE">%2$s</xliff:g>. ಸಮಯ: <xliff:g id="TIME">%3$s</xliff:g>."</string>
     <string name="failed_message_content_description" msgid="7047161648867054936">"ಸಂದೇಶ ವಿಫಲವಾಗಿದೆ. ಮರುಪ್ರಯತ್ನಿಸಲು ಸ್ಪರ್ಶಿಸಿ."</string>
     <string name="group_conversation_description" msgid="2339270924401184182">"<xliff:g id="PARTICIPANTS">%s</xliff:g> ಅವರೊಂದಿಗೆ ಸಂಭಾಷಣೆ"</string>
     <string name="delete_subject_content_description" msgid="8910749398836396698">"ವಿಷಯವನ್ನು ಅಳಿಸಿ"</string>
@@ -258,7 +258,7 @@
     <string name="mms_messaging_category_pref_title" msgid="4816815152658525660">"MMS"</string>
     <string name="advanced_category_pref_title" msgid="6411454224069259687">"ಸುಧಾರಿತ"</string>
     <string name="debug_category_pref_title" msgid="8765138968242505061">"ಡೀಬಗ್ ಮಾಡು"</string>
-    <string name="notifications_enabled_pref_title" msgid="4127288731844373795">"ಅಧಿಸೂಚನೆಗಳು"</string>
+    <string name="notifications_pref_title" msgid="4127288731844373795">"ಅಧಿಸೂಚನೆಗಳು"</string>
     <string name="notification_sound_pref_title" msgid="3685506528957337849">"ಶಬ್ದ"</string>
     <string name="silent_ringtone" msgid="8073534180322059814">"ಶಾಂತ"</string>
     <string name="notification_vibrate_pref_title" msgid="6668564570045187390">"ವೈಬ್ರೇಟ್‌‌"</string>
@@ -359,7 +359,7 @@
     <string name="add_contact_confirmation" msgid="1479380805406328264">"ಸಂಪರ್ಕ ಸೇರಿಸು"</string>
     <string name="compose_message_view_subject_hint_text" msgid="6076616675845705660">"ವಿಷಯ"</string>
     <string name="conversation_message_view_subject_text" msgid="5634274498769555505">"ವಿಷಯ: "</string>
-    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%s</xliff:g><xliff:g id="MESSAGETEXT">%s</xliff:g>"</string>
+    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%1$s</xliff:g><xliff:g id="MESSAGETEXT">%2$s</xliff:g>"</string>
     <string name="loading_vcard" msgid="3961520941271265083">"ಸಂಪರ್ಕ ಕಾರ್ಡ್‌ ಲೋಡ್‌ ಮಾಡಲಾಗುತ್ತಿದೆ"</string>
     <string name="failed_loading_vcard" msgid="7711070643740368402">"ಸಂಪರ್ಕ ಕಾರ್ಡ್ ಲೋಡ್ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ"</string>
     <string name="vcard_tap_hint" msgid="4940284329175200952">"ಸಂಪರ್ಕ ಕಾರ್ಡ್ ವೀಕ್ಷಿಸಿ"</string>
diff --git a/res/values-ko/cm_strings.xml b/res/values-ko/cm_strings.xml
new file mode 100644
index 0000000..1cf5006
--- /dev/null
+++ b/res/values-ko/cm_strings.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="swipe_to_delete_conversation_pref_title">스와이프하여 삭제</string>
+    <string name="swipe_to_delete_conversation_pref_summary">오른쪽으로 스와이프하여 대화 삭제</string>
+    <string name="show_emoticons_pref_title">이모티콘 표시</string>
+    <string name="show_emoticons_pref_summary">키보드에 이모티콘 키를 표시합니다</string>
+    <string name="notification_mark_as_read">읽음으로 표시</string>
+    <string name="notification_channel_messages_title">메시지</string>
+</resources>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index 79949ea..d9edc9d 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -202,19 +202,19 @@
     <string name="audio_attachment_content_description" msgid="499334244765270108">"오디오 첨부파일"</string>
     <string name="audio_play_content_description" msgid="4932509227281251607">"오디오 첨부파일 재생"</string>
     <string name="audio_pause_content_description" msgid="7578169887065513701">"일시중지"</string>
-    <string name="incoming_message_announcement" msgid="6369259405539452011">"<xliff:g id="SENDER">%s</xliff:g>님의 메시지입니다. <xliff:g id="MESSAGE">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"받지 못한 <xliff:g id="SENDER">%s</xliff:g>님의 메시지: <xliff:g id="MESSAGE">%s</xliff:g>. 시간: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"<xliff:g id="SENDER">%s</xliff:g>님의 메시지: <xliff:g id="MESSAGE">%s</xliff:g>. 시간: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"<xliff:g id="CONTACT">%s</xliff:g>님에게 전송되지 않은 메시지: <xliff:g id="MESSAGE">%s</xliff:g>. 시간: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"<xliff:g id="CONTACT">%s</xliff:g>님에게 전송 중인 메시지: <xliff:g id="MESSAGE">%s</xliff:g>. 시간: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"<xliff:g id="CONTACT">%s</xliff:g>님에게 전송하지 못한 메시지: <xliff:g id="MESSAGE">%s</xliff:g>. 시간: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"<xliff:g id="CONTACT">%s</xliff:g>님에게 보내는 메시지: <xliff:g id="MESSAGE">%s</xliff:g>. 시간: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"받지 못한 <xliff:g id="SENDER">%s</xliff:g>님의 메시지: <xliff:g id="MESSAGE">%s</xliff:g>. 시간: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"<xliff:g id="SENDER">%s</xliff:g>님의 메시지: <xliff:g id="MESSAGE">%s</xliff:g>. 시간: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"<xliff:g id="GROUP">%s</xliff:g> 그룹에 전송되지 않은 메시지: <xliff:g id="MESSAGE">%s</xliff:g>. 시간: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"<xliff:g id="GROUP">%s</xliff:g> 그룹에 전송 중인 메시지: <xliff:g id="MESSAGE">%s</xliff:g>. 시간: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"<xliff:g id="GROUP">%s</xliff:g> 그룹에 전송하지 못한 메시지: <xliff:g id="MESSAGE">%s</xliff:g>. 시간: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"<xliff:g id="GROUP">%s</xliff:g> 그룹에 보내는 메시지: <xliff:g id="MESSAGE">%s</xliff:g>. 시간: <xliff:g id="TIME">%s</xliff:g>."</string>
+    <string name="incoming_message_announcement" msgid="6369259405539452011">"<xliff:g id="SENDER">%1$s</xliff:g>님의 메시지입니다. <xliff:g id="MESSAGE">%2$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"받지 못한 <xliff:g id="SENDER">%1$s</xliff:g>님의 메시지: <xliff:g id="MESSAGE">%2$s</xliff:g>. 시간: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"<xliff:g id="SENDER">%1$s</xliff:g>님의 메시지: <xliff:g id="MESSAGE">%2$s</xliff:g>. 시간: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"<xliff:g id="CONTACT">%1$s</xliff:g>님에게 전송되지 않은 메시지: <xliff:g id="MESSAGE">%2$s</xliff:g>. 시간: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"<xliff:g id="CONTACT">%1$s</xliff:g>님에게 전송 중인 메시지: <xliff:g id="MESSAGE">%2$s</xliff:g>. 시간: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"<xliff:g id="CONTACT">%1$s</xliff:g>님에게 전송하지 못한 메시지: <xliff:g id="MESSAGE">%2$s</xliff:g>. 시간: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"<xliff:g id="CONTACT">%1$s</xliff:g>님에게 보내는 메시지: <xliff:g id="MESSAGE">%2$s</xliff:g>. 시간: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"받지 못한 <xliff:g id="SENDER">%1$s</xliff:g>님의 메시지: <xliff:g id="MESSAGE">%2$s</xliff:g>. 시간: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"<xliff:g id="SENDER">%1$s</xliff:g>님의 메시지: <xliff:g id="MESSAGE">%2$s</xliff:g>. 시간: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"<xliff:g id="GROUP">%1$s</xliff:g> 그룹에 전송되지 않은 메시지: <xliff:g id="MESSAGE">%2$s</xliff:g>. 시간: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"<xliff:g id="GROUP">%1$s</xliff:g> 그룹에 전송 중인 메시지: <xliff:g id="MESSAGE">%2$s</xliff:g>. 시간: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"<xliff:g id="GROUP">%1$s</xliff:g> 그룹에 전송하지 못한 메시지: <xliff:g id="MESSAGE">%2$s</xliff:g>. 시간: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"<xliff:g id="GROUP">%1$s</xliff:g> 그룹에 보내는 메시지: <xliff:g id="MESSAGE">%2$s</xliff:g>. 시간: <xliff:g id="TIME">%3$s</xliff:g>."</string>
     <string name="failed_message_content_description" msgid="7047161648867054936">"메시지를 전달하지 못했습니다. 다시 시도하려면 터치하세요."</string>
     <string name="group_conversation_description" msgid="2339270924401184182">"<xliff:g id="PARTICIPANTS">%s</xliff:g>님과 대화"</string>
     <string name="delete_subject_content_description" msgid="8910749398836396698">"제목 삭제"</string>
@@ -258,7 +258,7 @@
     <string name="mms_messaging_category_pref_title" msgid="4816815152658525660">"MMS"</string>
     <string name="advanced_category_pref_title" msgid="6411454224069259687">"고급"</string>
     <string name="debug_category_pref_title" msgid="8765138968242505061">"디버그"</string>
-    <string name="notifications_enabled_pref_title" msgid="4127288731844373795">"알림"</string>
+    <string name="notifications_pref_title" msgid="4127288731844373795">"알림"</string>
     <string name="notification_sound_pref_title" msgid="3685506528957337849">"소리"</string>
     <string name="silent_ringtone" msgid="8073534180322059814">"무음"</string>
     <string name="notification_vibrate_pref_title" msgid="6668564570045187390">"진동"</string>
@@ -359,7 +359,7 @@
     <string name="add_contact_confirmation" msgid="1479380805406328264">"연락처 추가"</string>
     <string name="compose_message_view_subject_hint_text" msgid="6076616675845705660">"제목"</string>
     <string name="conversation_message_view_subject_text" msgid="5634274498769555505">"제목: "</string>
-    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%s</xliff:g><xliff:g id="MESSAGETEXT">%s</xliff:g>"</string>
+    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%1$s</xliff:g><xliff:g id="MESSAGETEXT">%2$s</xliff:g>"</string>
     <string name="loading_vcard" msgid="3961520941271265083">"연락처 카드 로드 중"</string>
     <string name="failed_loading_vcard" msgid="7711070643740368402">"연락처 카드를 로드할 수 없습니다."</string>
     <string name="vcard_tap_hint" msgid="4940284329175200952">"연락처 카드 보기"</string>
diff --git a/res/values-ky/strings.xml b/res/values-ky/strings.xml
index b53ca0c..5430f25 100644
--- a/res/values-ky/strings.xml
+++ b/res/values-ky/strings.xml
@@ -202,19 +202,19 @@
     <string name="audio_attachment_content_description" msgid="499334244765270108">"Аудио тиркеме"</string>
     <string name="audio_play_content_description" msgid="4932509227281251607">"Аудио тиркемени ойнотуу"</string>
     <string name="audio_pause_content_description" msgid="7578169887065513701">"Бир азга токтотуу"</string>
-    <string name="incoming_message_announcement" msgid="6369259405539452011">"<xliff:g id="SENDER">%s</xliff:g> жөнөткөн билдирүү: <xliff:g id="MESSAGE">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"<xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g> билдирүүсү бузулду. Убакыт: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"<xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g> билдирүүсү. Убакыт: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Төмөнкүгө жиберилбеген билдирү <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Убакыт: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Төмөнкүгө билдирүү жөнөтүлүүдө: <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Убакыт: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"<xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g> билдирүүсү бузулду. Убакыт: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"<xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g> билдирүүсү. Убакыт: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"<xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g> билдирүүсү бузулду. Убакыт: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"<xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g> билдирүүсү. Убакыт: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Төмөнкүгө жиберилбеген билдирүү: <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Убакыт: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Төмөнкүгө билдирүү жөнөтүлүүдө: <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Убакыт: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"<xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g> билдирүүсү бузулду. Убакыт: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"<xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g> билдирүүсү. Убакыт: <xliff:g id="TIME">%s</xliff:g>"</string>
+    <string name="incoming_message_announcement" msgid="6369259405539452011">"<xliff:g id="SENDER">%1$s</xliff:g> жөнөткөн билдирүү: <xliff:g id="MESSAGE">%2$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"<xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g> билдирүүсү бузулду. Убакыт: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"<xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g> билдирүүсү. Убакыт: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Төмөнкүгө жиберилбеген билдирү <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Убакыт: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Төмөнкүгө билдирүү жөнөтүлүүдө: <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Убакыт: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"<xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g> билдирүүсү бузулду. Убакыт: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"<xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g> билдирүүсү. Убакыт: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"<xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g> билдирүүсү бузулду. Убакыт: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"<xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g> билдирүүсү. Убакыт: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Төмөнкүгө жиберилбеген билдирүү: <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Убакыт: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Төмөнкүгө билдирүү жөнөтүлүүдө: <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Убакыт: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"<xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g> билдирүүсү бузулду. Убакыт: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"<xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g> билдирүүсү. Убакыт: <xliff:g id="TIME">%3$s</xliff:g>"</string>
     <string name="failed_message_content_description" msgid="7047161648867054936">"Билдирүү жөнөтүлбөй койду. Кайра аракет кылуу үчүн тийип коюңуз."</string>
     <string name="group_conversation_description" msgid="2339270924401184182">"<xliff:g id="PARTICIPANTS">%s</xliff:g> менен сүйлөшүү"</string>
     <string name="delete_subject_content_description" msgid="8910749398836396698">"Темасын жок кылуу"</string>
@@ -258,7 +258,7 @@
     <string name="mms_messaging_category_pref_title" msgid="4816815152658525660">"MMS"</string>
     <string name="advanced_category_pref_title" msgid="6411454224069259687">"Өркүндөтүлгөн"</string>
     <string name="debug_category_pref_title" msgid="8765138968242505061">"Мүчүлүштүктөрдү таап оңдоо"</string>
-    <string name="notifications_enabled_pref_title" msgid="4127288731844373795">"Эскертмелер"</string>
+    <string name="notifications_pref_title" msgid="4127288731844373795">"Эскертмелер"</string>
     <string name="notification_sound_pref_title" msgid="3685506528957337849">"Үн"</string>
     <string name="silent_ringtone" msgid="8073534180322059814">"Үнсүз"</string>
     <string name="notification_vibrate_pref_title" msgid="6668564570045187390">"Дирилдөө"</string>
@@ -359,7 +359,7 @@
     <string name="add_contact_confirmation" msgid="1479380805406328264">"Байланыш кошуу"</string>
     <string name="compose_message_view_subject_hint_text" msgid="6076616675845705660">"Тема"</string>
     <string name="conversation_message_view_subject_text" msgid="5634274498769555505">"Темасы: "</string>
-    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%s</xliff:g><xliff:g id="MESSAGETEXT">%s</xliff:g>"</string>
+    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%1$s</xliff:g><xliff:g id="MESSAGETEXT">%2$s</xliff:g>"</string>
     <string name="loading_vcard" msgid="3961520941271265083">"Байланыш картасы жүктөлүүдө"</string>
     <string name="failed_loading_vcard" msgid="7711070643740368402">"Байланыштын картасы жүктөлгөн жок"</string>
     <string name="vcard_tap_hint" msgid="4940284329175200952">"Байланыш картасын карап көрүү"</string>
diff --git a/res/values-lb/arrays.xml b/res/values-lb/arrays.xml
new file mode 100644
index 0000000..06f860b
--- /dev/null
+++ b/res/values-lb/arrays.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string-array name="empty_subject_strings">
+        <item>kee Sujet</item>
+        <item>nosubject</item>
+    </string-array>
+    <string-array name="notification_reply_choices">
+        <item>Jo</item>
+        <item>Nee</item>
+        <item>OK</item>
+        <item>Hehe</item>
+        <item>Merci</item>
+        <item>Ech sinn averstanen</item>
+        <item>Wonnerbar</item>
+        <item>Sinn ënnerwee</item>
+        <item>OK, ech melle mech</item>
+        <item>:)</item>
+        <item>:(</item>
+    </string-array>
+</resources>
diff --git a/res/values-lb/cm_strings.xml b/res/values-lb/cm_strings.xml
new file mode 100644
index 0000000..29ab98a
--- /dev/null
+++ b/res/values-lb/cm_strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="swipe_to_delete_conversation_pref_title">Wësche fir ze läschen</string>
+    <string name="swipe_to_delete_conversation_pref_summary">No riets Wësche fir eng Konversatioun ze läschen</string>
+    <string name="show_emoticons_pref_title">Zougrëff op Smileyen</string>
+    <string name="show_emoticons_pref_summary">Smiley-Tast op der Tastatur uweisen</string>
+</resources>
diff --git a/res/values-ldrtl/styles.xml b/res/values-ldrtl/styles.xml
index bd270c7..50e6c68 100644
--- a/res/values-ldrtl/styles.xml
+++ b/res/values-ldrtl/styles.xml
@@ -38,7 +38,7 @@
         <item name="android:background">@null</item>
         <item name="android:scrollHorizontally">false</item>
         <item name="android:textCursorDrawable">@null</item>
-        <item name="android:inputType">textShortMessage|textAutoCorrect|textCapSentences|textMultiLine</item>
+        <item name="android:inputType">textAutoCorrect|textCapSentences|textMultiLine</item>
     </style>
 
     <style name="ConversationComposeSubjectText" parent="ConversationComposeSendText">
@@ -74,10 +74,6 @@
         <item name="android:textColor">@color/conversation_list_name</item>
     </style>
 
-    <style name="ConversationListNotificationBellPaddingStyle">
-        <item name="android:paddingEnd">@dimen/conversation_list_notification_bell_padding</item>
-    </style>
-
     <style name="ComposeMessageViewFrameLayoutStyle">
         <item name="android:paddingEnd">@dimen/compose_message_send_button_padding_right</item>
     </style>
@@ -171,9 +167,9 @@
         <item name="android:layout_marginStart">4dp</item>
     </style>
 
-    <style name="ComposeMessageViewTextCounterStyle">
-        <item name="android:textColor">@color/message_text_counter_color</item>
-        <item name="android:textSize">@dimen/message_text_counter_size</item>
+    <style name="ComposeMessageViewMessageBodySizeStyle">
+        <item name="android:textColor">@color/message_body_size_text_color</item>
+        <item name="android:textSize">@dimen/message_body_size_text_size</item>
         <item name="android:fontFamily">sans-serif</item>
         <item name="android:layout_gravity">end|center_vertical</item>
         <item name="android:paddingEnd">@dimen/compose_message_text_box_padding_side</item>
diff --git a/res/values-lo/strings.xml b/res/values-lo/strings.xml
index f433031..f0d2123 100644
--- a/res/values-lo/strings.xml
+++ b/res/values-lo/strings.xml
@@ -202,19 +202,19 @@
     <string name="audio_attachment_content_description" msgid="499334244765270108">"ໄຟ​ລ໌​ຄັດ​ຕິດ​ສຽງ"</string>
     <string name="audio_play_content_description" msgid="4932509227281251607">"ຫຼິ້ນ​ສິ່ງຕິດຄັດທີ່ເປັນ​ສຽງ"</string>
     <string name="audio_pause_content_description" msgid="7578169887065513701">"ຢຸດຊົ່ວຄາວ"</string>
-    <string name="incoming_message_announcement" msgid="6369259405539452011">"ຂໍ້​ຄວາມ​ຈາກ<xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"ຂໍ້​ຄວາມ​ບໍ່​ສຳ​ເລັດ​ຈາກ <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. ເວ​ລາ: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"ຂໍ້​ຄວາມ​ຈາກ <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. ເວ​ລາ: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"ຂໍ້​ຄວາມ​ບໍ່​ໄດ້​ສົ່ງ​ຫາ <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. ເວ​ລາ: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"ຂໍ້​ຄວາມ​ກຳ​ລັງ​ສົ່ງ​ຫາ <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. ເວ​ລາ: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"ຂໍ້​ຄວາມ​ບໍ່​ສຳ​ເລັດ​ຫາ <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. ເວ​ລາ: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"ຂໍ້​ຄວາມ​ຫາ <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. ເວ​ລາ: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"ຂໍ້​ຄວາມ​ບໍ່​ສຳ​ເລັດຈາກ <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. ເວ​ລາ: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"ຂໍ້​ຄວາມ​ຈາກ <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. ເວ​ລາ: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"ຂໍ້​ຄວາມ​ບໍ່​ໄດ້​ສົ່ງ​ຫາ <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. ເວ​ລາ: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"ຂໍ້​ຄວາມກຳ​ລັງ​ສົ່ງ​​ຫາ <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. ເວ​ລາ: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"ຂໍ້​ຄວາມ​ບໍ່​ສຳເລັດ​ຫາ <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Time: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"ຂໍ້​ຄວາມ​ຫາ <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. ເວ​ລາ: <xliff:g id="TIME">%s</xliff:g>."</string>
+    <string name="incoming_message_announcement" msgid="6369259405539452011">"ຂໍ້​ຄວາມ​ຈາກ<xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"ຂໍ້​ຄວາມ​ບໍ່​ສຳ​ເລັດ​ຈາກ <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. ເວ​ລາ: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"ຂໍ້​ຄວາມ​ຈາກ <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. ເວ​ລາ: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"ຂໍ້​ຄວາມ​ບໍ່​ໄດ້​ສົ່ງ​ຫາ <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. ເວ​ລາ: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"ຂໍ້​ຄວາມ​ກຳ​ລັງ​ສົ່ງ​ຫາ <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. ເວ​ລາ: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"ຂໍ້​ຄວາມ​ບໍ່​ສຳ​ເລັດ​ຫາ <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. ເວ​ລາ: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"ຂໍ້​ຄວາມ​ຫາ <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. ເວ​ລາ: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"ຂໍ້​ຄວາມ​ບໍ່​ສຳ​ເລັດຈາກ <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. ເວ​ລາ: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"ຂໍ້​ຄວາມ​ຈາກ <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. ເວ​ລາ: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"ຂໍ້​ຄວາມ​ບໍ່​ໄດ້​ສົ່ງ​ຫາ <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. ເວ​ລາ: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"ຂໍ້​ຄວາມກຳ​ລັງ​ສົ່ງ​​ຫາ <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. ເວ​ລາ: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"ຂໍ້​ຄວາມ​ບໍ່​ສຳເລັດ​ຫາ <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Time: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"ຂໍ້​ຄວາມ​ຫາ <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. ເວ​ລາ: <xliff:g id="TIME">%3$s</xliff:g>."</string>
     <string name="failed_message_content_description" msgid="7047161648867054936">"ຂໍ້​ຄວາມ​ບໍ່​ສຳ​ເລັດ. ສຳ​ຜັດ​ເພື່ອ​ລອງ​ໃໝ່​ອີກ."</string>
     <string name="group_conversation_description" msgid="2339270924401184182">"ການ​ສົນ​ທະ​ນາ​ກັບ <xliff:g id="PARTICIPANTS">%s</xliff:g>"</string>
     <string name="delete_subject_content_description" msgid="8910749398836396698">"​ລຶບ​ຫົວ​ຂໍ້"</string>
@@ -258,7 +258,7 @@
     <string name="mms_messaging_category_pref_title" msgid="4816815152658525660">"MMS"</string>
     <string name="advanced_category_pref_title" msgid="6411454224069259687">"​ຂັ້ນ​ສູງ"</string>
     <string name="debug_category_pref_title" msgid="8765138968242505061">"ດີບັ໊ກ"</string>
-    <string name="notifications_enabled_pref_title" msgid="4127288731844373795">"ການແຈ້ງເຕືອນ"</string>
+    <string name="notifications_pref_title" msgid="4127288731844373795">"ການແຈ້ງເຕືອນ"</string>
     <string name="notification_sound_pref_title" msgid="3685506528957337849">"ສຽງ"</string>
     <string name="silent_ringtone" msgid="8073534180322059814">"ປິດສຽງ"</string>
     <string name="notification_vibrate_pref_title" msgid="6668564570045187390">"ສັ່ນເຕືອນ"</string>
@@ -359,7 +359,7 @@
     <string name="add_contact_confirmation" msgid="1479380805406328264">"ເພີ່ມ​​ໃສ່​ລາ​ຍ​ຊື່​ຜູ່​ຕິດ​ຕໍ່"</string>
     <string name="compose_message_view_subject_hint_text" msgid="6076616675845705660">"ຫົວຂໍ້"</string>
     <string name="conversation_message_view_subject_text" msgid="5634274498769555505">"ຫົວຂໍ້: "</string>
-    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%s</xliff:g><xliff:g id="MESSAGETEXT">%s</xliff:g>"</string>
+    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%1$s</xliff:g><xliff:g id="MESSAGETEXT">%2$s</xliff:g>"</string>
     <string name="loading_vcard" msgid="3961520941271265083">"​ກຳ​ລັງ​ໂຫລດ​ບັດ​ລາຍ​ຊື່​ຜ​ູ່​ຕິດ​ຕໍ່"</string>
     <string name="failed_loading_vcard" msgid="7711070643740368402">"​ບໍ່​ສາ​ມາດ​ໂຫລດ​ບັດ​ລາຍ​ຊື່​ຜູ່​ຕິດ​ຕໍ່ໄດ້"</string>
     <string name="vcard_tap_hint" msgid="4940284329175200952">"​ເບິ່ງ​ບັດ​ລາຍ​ຊື່​ຜູ່​ຕິດ​ຕໍ່"</string>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index 167fe9f..5f548b4 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -226,19 +226,19 @@
     <string name="audio_attachment_content_description" msgid="499334244765270108">"Garso priedas"</string>
     <string name="audio_play_content_description" msgid="4932509227281251607">"Leisti garso priedą"</string>
     <string name="audio_pause_content_description" msgid="7578169887065513701">"Pristabdyti"</string>
-    <string name="incoming_message_announcement" msgid="6369259405539452011">"Pranešimas nuo <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Nepavyko atsiųsti pranešimo nuo <xliff:g id="SENDER">%s</xliff:g>: „<xliff:g id="MESSAGE">%s</xliff:g>“. Laikas: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Pranešimas nuo <xliff:g id="SENDER">%s</xliff:g>: „<xliff:g id="MESSAGE">%s</xliff:g>“. Laikas: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Neišsiųstas pranešimas grupei „<xliff:g id="CONTACT">%s</xliff:g>“: „<xliff:g id="MESSAGE">%s</xliff:g>“. Laikas: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Siunčiamas pranešimas grupei „<xliff:g id="CONTACT">%s</xliff:g>“: „<xliff:g id="MESSAGE">%s</xliff:g>“. Laikas: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Nepavyko išsiųsti pranešimo grupei „<xliff:g id="CONTACT">%s</xliff:g>“: „<xliff:g id="MESSAGE">%s</xliff:g>“. Laikas: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Pranešimas grupei „<xliff:g id="CONTACT">%s</xliff:g>“: „<xliff:g id="MESSAGE">%s</xliff:g>“. Laikas: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Nepavyko atsiųsti pranešimo nuo <xliff:g id="SENDER">%s</xliff:g>: „<xliff:g id="MESSAGE">%s</xliff:g>“. Laikas: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Pranešimas nuo <xliff:g id="SENDER">%s</xliff:g>: „<xliff:g id="MESSAGE">%s</xliff:g>“. Laikas: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Neišsiųstas pranešimas grupei „<xliff:g id="GROUP">%s</xliff:g>“: „<xliff:g id="MESSAGE">%s</xliff:g>“. Laikas: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Siunčiamas pranešimas grupei „<xliff:g id="GROUP">%s</xliff:g>“: „<xliff:g id="MESSAGE">%s</xliff:g>“. Laikas: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Nepavyko išsiųsti pranešimo grupei „<xliff:g id="GROUP">%s</xliff:g>“: „<xliff:g id="MESSAGE">%s</xliff:g>“. Laikas: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Pranešimas grupei „<xliff:g id="GROUP">%s</xliff:g>“: „<xliff:g id="MESSAGE">%s</xliff:g>“. Laikas: <xliff:g id="TIME">%s</xliff:g>."</string>
+    <string name="incoming_message_announcement" msgid="6369259405539452011">"Pranešimas nuo <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Nepavyko atsiųsti pranešimo nuo <xliff:g id="SENDER">%1$s</xliff:g>: „<xliff:g id="MESSAGE">%2$s</xliff:g>“. Laikas: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Pranešimas nuo <xliff:g id="SENDER">%1$s</xliff:g>: „<xliff:g id="MESSAGE">%2$s</xliff:g>“. Laikas: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Neišsiųstas pranešimas grupei „<xliff:g id="CONTACT">%1$s</xliff:g>“: „<xliff:g id="MESSAGE">%2$s</xliff:g>“. Laikas: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Siunčiamas pranešimas grupei „<xliff:g id="CONTACT">%1$s</xliff:g>“: „<xliff:g id="MESSAGE">%2$s</xliff:g>“. Laikas: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Nepavyko išsiųsti pranešimo grupei „<xliff:g id="CONTACT">%1$s</xliff:g>“: „<xliff:g id="MESSAGE">%2$s</xliff:g>“. Laikas: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Pranešimas grupei „<xliff:g id="CONTACT">%1$s</xliff:g>“: „<xliff:g id="MESSAGE">%2$s</xliff:g>“. Laikas: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Nepavyko atsiųsti pranešimo nuo <xliff:g id="SENDER">%1$s</xliff:g>: „<xliff:g id="MESSAGE">%2$s</xliff:g>“. Laikas: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Pranešimas nuo <xliff:g id="SENDER">%1$s</xliff:g>: „<xliff:g id="MESSAGE">%2$s</xliff:g>“. Laikas: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Neišsiųstas pranešimas grupei „<xliff:g id="GROUP">%1$s</xliff:g>“: „<xliff:g id="MESSAGE">%2$s</xliff:g>“. Laikas: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Siunčiamas pranešimas grupei „<xliff:g id="GROUP">%1$s</xliff:g>“: „<xliff:g id="MESSAGE">%2$s</xliff:g>“. Laikas: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Nepavyko išsiųsti pranešimo grupei „<xliff:g id="GROUP">%1$s</xliff:g>“: „<xliff:g id="MESSAGE">%2$s</xliff:g>“. Laikas: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Pranešimas grupei „<xliff:g id="GROUP">%1$s</xliff:g>“: „<xliff:g id="MESSAGE">%2$s</xliff:g>“. Laikas: <xliff:g id="TIME">%3$s</xliff:g>."</string>
     <string name="failed_message_content_description" msgid="7047161648867054936">"Įvyko pranešimo klaida. Palieskite ir bandykite dar kartą."</string>
     <string name="group_conversation_description" msgid="2339270924401184182">"Pokalbis su <xliff:g id="PARTICIPANTS">%s</xliff:g>"</string>
     <string name="delete_subject_content_description" msgid="8910749398836396698">"Pašalinti temą"</string>
@@ -294,7 +294,7 @@
     <string name="mms_messaging_category_pref_title" msgid="4816815152658525660">"MMS"</string>
     <string name="advanced_category_pref_title" msgid="6411454224069259687">"Išplėstiniai"</string>
     <string name="debug_category_pref_title" msgid="8765138968242505061">"Derinti"</string>
-    <string name="notifications_enabled_pref_title" msgid="4127288731844373795">"Pranešimai"</string>
+    <string name="notifications_pref_title" msgid="4127288731844373795">"Pranešimai"</string>
     <string name="notification_sound_pref_title" msgid="3685506528957337849">"Garsas"</string>
     <string name="silent_ringtone" msgid="8073534180322059814">"Tylus"</string>
     <string name="notification_vibrate_pref_title" msgid="6668564570045187390">"Vibravimas"</string>
@@ -407,7 +407,7 @@
     <string name="add_contact_confirmation" msgid="1479380805406328264">"Pridėti kontaktą"</string>
     <string name="compose_message_view_subject_hint_text" msgid="6076616675845705660">"Tema"</string>
     <string name="conversation_message_view_subject_text" msgid="5634274498769555505">"Tema: "</string>
-    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%s</xliff:g><xliff:g id="MESSAGETEXT">%s</xliff:g>"</string>
+    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%1$s</xliff:g><xliff:g id="MESSAGETEXT">%2$s</xliff:g>"</string>
     <string name="loading_vcard" msgid="3961520941271265083">"Įkeliama kontakto kortelė"</string>
     <string name="failed_loading_vcard" msgid="7711070643740368402">"Nepavyko įkelti kontakto kortelės"</string>
     <string name="vcard_tap_hint" msgid="4940284329175200952">"Peržiūrėti kontakto kortelę"</string>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index a3195b3..263d724 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -214,19 +214,19 @@
     <string name="audio_attachment_content_description" msgid="499334244765270108">"Audio pielikums"</string>
     <string name="audio_play_content_description" msgid="4932509227281251607">"Atskaņot audio pielikumu"</string>
     <string name="audio_pause_content_description" msgid="7578169887065513701">"Pārtraukt"</string>
-    <string name="incoming_message_announcement" msgid="6369259405539452011">"Ziņojums no lietotāja <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Neizdevās saņemt ziņojumu no kontaktpersonas <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Laiks: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Ziņojums no kontaktpersonas <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Laiks: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Nenosūtīts ziņojums kontaktpersonai <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Laiks: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Notiek ziņojuma sūtīšana kontaktpersonai <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Laiks: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Neizdevās nosūtīt ziņojumu kontaktpersonai <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Laiks: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Ziņojums kontaktpersonai <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Laiks: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Neizdevās saņemt ziņojumu no kontaktpersonas <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Laiks: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Ziņojums no kontaktpersonas <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Laiks: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Nenosūtīts ziņojums grupai <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Laiks: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Notiek ziņojuma sūtīšana grupai <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Laiks: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Neizdevās nosūtīt ziņojumu grupai <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Laiks: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Ziņojums grupai <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Laiks: <xliff:g id="TIME">%s</xliff:g>."</string>
+    <string name="incoming_message_announcement" msgid="6369259405539452011">"Ziņojums no lietotāja <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Neizdevās saņemt ziņojumu no kontaktpersonas <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Laiks: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Ziņojums no kontaktpersonas <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Laiks: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Nenosūtīts ziņojums kontaktpersonai <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Laiks: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Notiek ziņojuma sūtīšana kontaktpersonai <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Laiks: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Neizdevās nosūtīt ziņojumu kontaktpersonai <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Laiks: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Ziņojums kontaktpersonai <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Laiks: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Neizdevās saņemt ziņojumu no kontaktpersonas <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Laiks: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Ziņojums no kontaktpersonas <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Laiks: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Nenosūtīts ziņojums grupai <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Laiks: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Notiek ziņojuma sūtīšana grupai <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Laiks: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Neizdevās nosūtīt ziņojumu grupai <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Laiks: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Ziņojums grupai <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Laiks: <xliff:g id="TIME">%3$s</xliff:g>."</string>
     <string name="failed_message_content_description" msgid="7047161648867054936">"Radās problēma ar ziņojumu. Pieskarieties, lai mēģinātu vēlreiz."</string>
     <string name="group_conversation_description" msgid="2339270924401184182">"Saruna ar grupu: <xliff:g id="PARTICIPANTS">%s</xliff:g>"</string>
     <string name="delete_subject_content_description" msgid="8910749398836396698">"Dzēst tēmu"</string>
@@ -276,7 +276,7 @@
     <string name="mms_messaging_category_pref_title" msgid="4816815152658525660">"Multiziņa"</string>
     <string name="advanced_category_pref_title" msgid="6411454224069259687">"Papildu"</string>
     <string name="debug_category_pref_title" msgid="8765138968242505061">"Atkļūdot"</string>
-    <string name="notifications_enabled_pref_title" msgid="4127288731844373795">"Paziņojumi"</string>
+    <string name="notifications_pref_title" msgid="4127288731844373795">"Paziņojumi"</string>
     <string name="notification_sound_pref_title" msgid="3685506528957337849">"Signāls"</string>
     <string name="silent_ringtone" msgid="8073534180322059814">"Klusums"</string>
     <string name="notification_vibrate_pref_title" msgid="6668564570045187390">"Vibrozvans"</string>
@@ -383,7 +383,7 @@
     <string name="add_contact_confirmation" msgid="1479380805406328264">"Pievienot kontaktpersonu"</string>
     <string name="compose_message_view_subject_hint_text" msgid="6076616675845705660">"Temats"</string>
     <string name="conversation_message_view_subject_text" msgid="5634274498769555505">"Temats: "</string>
-    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%s</xliff:g><xliff:g id="MESSAGETEXT">%s</xliff:g>"</string>
+    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%1$s</xliff:g><xliff:g id="MESSAGETEXT">%2$s</xliff:g>"</string>
     <string name="loading_vcard" msgid="3961520941271265083">"Notiek kontaktpersonas kartītes ielāde…"</string>
     <string name="failed_loading_vcard" msgid="7711070643740368402">"Nevarēja ielādēt kontaktpersonas kartīti."</string>
     <string name="vcard_tap_hint" msgid="4940284329175200952">"Skatiet kontaktpersonas kartīti"</string>
diff --git a/res/values-mk/strings.xml b/res/values-mk/strings.xml
index 98f871e..c5028c6 100644
--- a/res/values-mk/strings.xml
+++ b/res/values-mk/strings.xml
@@ -202,19 +202,19 @@
     <string name="audio_attachment_content_description" msgid="499334244765270108">"Аудио прилог"</string>
     <string name="audio_play_content_description" msgid="4932509227281251607">"Репродуцирај аудио прилог"</string>
     <string name="audio_pause_content_description" msgid="7578169887065513701">"Пауза"</string>
-    <string name="incoming_message_announcement" msgid="6369259405539452011">"Порака од <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Неуспешна порака од <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Време: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Порака од <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Време: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Неиспратена порака до <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Време: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Се испраќа порака до <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Време: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Неуспешна порака до <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Време: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Порака до <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Време: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Неуспешна порака од <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Време: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Порака од <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Време: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Неиспратена порака до <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Време: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Се испраќа порака до <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Време: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Неуспешна порака до <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Време: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Порака до <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Време: <xliff:g id="TIME">%s</xliff:g>."</string>
+    <string name="incoming_message_announcement" msgid="6369259405539452011">"Порака од <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Неуспешна порака од <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Време: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Порака од <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Време: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Неиспратена порака до <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Време: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Се испраќа порака до <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Време: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Неуспешна порака до <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Време: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Порака до <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Време: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Неуспешна порака од <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Време: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Порака од <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Време: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Неиспратена порака до <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Време: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Се испраќа порака до <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Време: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Неуспешна порака до <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Време: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Порака до <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Време: <xliff:g id="TIME">%3$s</xliff:g>."</string>
     <string name="failed_message_content_description" msgid="7047161648867054936">"Неуспешна порака. Допрете за да се обидете повторно."</string>
     <string name="group_conversation_description" msgid="2339270924401184182">"Разговор со <xliff:g id="PARTICIPANTS">%s</xliff:g>"</string>
     <string name="delete_subject_content_description" msgid="8910749398836396698">"Избриши тема"</string>
@@ -258,7 +258,7 @@
     <string name="mms_messaging_category_pref_title" msgid="4816815152658525660">"ММС"</string>
     <string name="advanced_category_pref_title" msgid="6411454224069259687">"Напредни"</string>
     <string name="debug_category_pref_title" msgid="8765138968242505061">"Отстрани грешка"</string>
-    <string name="notifications_enabled_pref_title" msgid="4127288731844373795">"Известувања"</string>
+    <string name="notifications_pref_title" msgid="4127288731844373795">"Известувања"</string>
     <string name="notification_sound_pref_title" msgid="3685506528957337849">"Звук"</string>
     <string name="silent_ringtone" msgid="8073534180322059814">"На тивко"</string>
     <string name="notification_vibrate_pref_title" msgid="6668564570045187390">"Вибрации"</string>
@@ -359,7 +359,7 @@
     <string name="add_contact_confirmation" msgid="1479380805406328264">"Додај контакт"</string>
     <string name="compose_message_view_subject_hint_text" msgid="6076616675845705660">"Предмет"</string>
     <string name="conversation_message_view_subject_text" msgid="5634274498769555505">"Предмет: "</string>
-    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%s</xliff:g><xliff:g id="MESSAGETEXT">%s</xliff:g>"</string>
+    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%1$s</xliff:g><xliff:g id="MESSAGETEXT">%2$s</xliff:g>"</string>
     <string name="loading_vcard" msgid="3961520941271265083">"Се вчитува картичката за контакт"</string>
     <string name="failed_loading_vcard" msgid="7711070643740368402">"Картичката за контакт не можеше да се вчита"</string>
     <string name="vcard_tap_hint" msgid="4940284329175200952">"Прикажи картичка за контакти"</string>
diff --git a/res/values-ml/cm_strings.xml b/res/values-ml/cm_strings.xml
new file mode 100644
index 0000000..e40b3bd
--- /dev/null
+++ b/res/values-ml/cm_strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="swipe_to_delete_conversation_pref_title">ഇല്ലാതാക്കാൻ സ്വൈപ്പുചെയ്യുക</string>
+    <string name="swipe_to_delete_conversation_pref_summary">ഒരു സംഭാഷണം ഇല്ലാതാക്കാന്‍ വലതുവശത്തെക്ക് സ്വൈപ്ചെയ്യുക</string>
+    <string name="show_emoticons_pref_title">ഇമോട്ടിക്കോൺ ആക്സസ്</string>
+    <string name="show_emoticons_pref_summary">കീബോർഡിലെ ഇമോഷനുകളുടെ കീ കാണിക്കുക</string>
+</resources>
diff --git a/res/values-ml/strings.xml b/res/values-ml/strings.xml
index 554cac3..c7c8365 100644
--- a/res/values-ml/strings.xml
+++ b/res/values-ml/strings.xml
@@ -202,19 +202,19 @@
     <string name="audio_attachment_content_description" msgid="499334244765270108">"ഓഡിയോ അറ്റാച്ചുമെന്റ്"</string>
     <string name="audio_play_content_description" msgid="4932509227281251607">"ഓഡിയോ അറ്റാച്ചുമെന്റ് പ്ലേ ചെയ്യുക"</string>
     <string name="audio_pause_content_description" msgid="7578169887065513701">"താൽക്കാലികമായി നിർത്തുക"</string>
-    <string name="incoming_message_announcement" msgid="6369259405539452011">"<xliff:g id="SENDER">%s</xliff:g> എന്നയാളിൽ നിന്നുള്ള സന്ദേശം : <xliff:g id="MESSAGE">%s</xliff:g> ."</string>
-    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"<xliff:g id="SENDER">%s</xliff:g> എന്നയാളിൽ നിന്നുള്ള സന്ദേശം പരാജയപ്പെട്ടു: <xliff:g id="MESSAGE">%s</xliff:g>. സമയം: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"<xliff:g id="SENDER">%s</xliff:g> എന്നയാളിൽ നിന്നുള്ള സന്ദേശം: <xliff:g id="MESSAGE">%s</xliff:g>. സമയം: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"<xliff:g id="CONTACT">%s</xliff:g> എന്നതിലേക്ക് സന്ദേശം അയച്ചില്ല: <xliff:g id="MESSAGE">%s</xliff:g>. സമയം: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"<xliff:g id="CONTACT">%s</xliff:g> എന്നതിലേക്ക് സന്ദേശം അയയ്‌ക്കുന്നു: <xliff:g id="MESSAGE">%s</xliff:g>. സമയം: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"<xliff:g id="CONTACT">%s</xliff:g> എന്നതിലേക്കുള്ള സന്ദേശം പരാജയപ്പെട്ടു: <xliff:g id="MESSAGE">%s</xliff:g>. സമയം: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"<xliff:g id="CONTACT">%s</xliff:g> എന്നതിലേക്കുള്ള സന്ദേശം: <xliff:g id="MESSAGE">%s</xliff:g>. സമയം: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"<xliff:g id="SENDER">%s</xliff:g> എന്നയാളിൽ നിന്നുള്ള സന്ദേശം പരാജയപ്പെട്ടു: <xliff:g id="MESSAGE">%s</xliff:g>. സമയം: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"<xliff:g id="SENDER">%s</xliff:g> എന്നയാളിൽ നിന്നുള്ള സന്ദേശം: <xliff:g id="MESSAGE">%s</xliff:g>. സമയം: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"<xliff:g id="GROUP">%s</xliff:g> എന്നതിലേക്ക് സന്ദേശം അയച്ചില്ല: <xliff:g id="MESSAGE">%s</xliff:g>. സമയം: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"<xliff:g id="GROUP">%s</xliff:g> എന്നതിലേക്ക് സന്ദേശം അയയ്‌ക്കുന്നു: <xliff:g id="MESSAGE">%s</xliff:g>. സമയം: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"<xliff:g id="GROUP">%s</xliff:g> എന്നതിലേക്കുള്ള സന്ദേശം പരാജയപ്പെട്ടു: <xliff:g id="MESSAGE">%s</xliff:g>. സമയം: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"<xliff:g id="GROUP">%s</xliff:g> എന്നതിലേക്കുള്ള സന്ദേശം: <xliff:g id="MESSAGE">%s</xliff:g>. സമയം: <xliff:g id="TIME">%s</xliff:g>."</string>
+    <string name="incoming_message_announcement" msgid="6369259405539452011">"<xliff:g id="SENDER">%1$s</xliff:g> എന്നയാളിൽ നിന്നുള്ള സന്ദേശം : <xliff:g id="MESSAGE">%2$s</xliff:g> ."</string>
+    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"<xliff:g id="SENDER">%1$s</xliff:g> എന്നയാളിൽ നിന്നുള്ള സന്ദേശം പരാജയപ്പെട്ടു: <xliff:g id="MESSAGE">%2$s</xliff:g>. സമയം: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"<xliff:g id="SENDER">%1$s</xliff:g> എന്നയാളിൽ നിന്നുള്ള സന്ദേശം: <xliff:g id="MESSAGE">%2$s</xliff:g>. സമയം: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"<xliff:g id="CONTACT">%1$s</xliff:g> എന്നതിലേക്ക് സന്ദേശം അയച്ചില്ല: <xliff:g id="MESSAGE">%2$s</xliff:g>. സമയം: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"<xliff:g id="CONTACT">%1$s</xliff:g> എന്നതിലേക്ക് സന്ദേശം അയയ്‌ക്കുന്നു: <xliff:g id="MESSAGE">%2$s</xliff:g>. സമയം: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"<xliff:g id="CONTACT">%1$s</xliff:g> എന്നതിലേക്കുള്ള സന്ദേശം പരാജയപ്പെട്ടു: <xliff:g id="MESSAGE">%2$s</xliff:g>. സമയം: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"<xliff:g id="CONTACT">%1$s</xliff:g> എന്നതിലേക്കുള്ള സന്ദേശം: <xliff:g id="MESSAGE">%2$s</xliff:g>. സമയം: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"<xliff:g id="SENDER">%1$s</xliff:g> എന്നയാളിൽ നിന്നുള്ള സന്ദേശം പരാജയപ്പെട്ടു: <xliff:g id="MESSAGE">%2$s</xliff:g>. സമയം: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"<xliff:g id="SENDER">%1$s</xliff:g> എന്നയാളിൽ നിന്നുള്ള സന്ദേശം: <xliff:g id="MESSAGE">%2$s</xliff:g>. സമയം: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"<xliff:g id="GROUP">%1$s</xliff:g> എന്നതിലേക്ക് സന്ദേശം അയച്ചില്ല: <xliff:g id="MESSAGE">%2$s</xliff:g>. സമയം: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"<xliff:g id="GROUP">%1$s</xliff:g> എന്നതിലേക്ക് സന്ദേശം അയയ്‌ക്കുന്നു: <xliff:g id="MESSAGE">%2$s</xliff:g>. സമയം: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"<xliff:g id="GROUP">%1$s</xliff:g> എന്നതിലേക്കുള്ള സന്ദേശം പരാജയപ്പെട്ടു: <xliff:g id="MESSAGE">%2$s</xliff:g>. സമയം: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"<xliff:g id="GROUP">%1$s</xliff:g> എന്നതിലേക്കുള്ള സന്ദേശം: <xliff:g id="MESSAGE">%2$s</xliff:g>. സമയം: <xliff:g id="TIME">%3$s</xliff:g>."</string>
     <string name="failed_message_content_description" msgid="7047161648867054936">"സന്ദേശം പരാജയപ്പെട്ടു. വീണ്ടും ശ്രമിക്കുന്നതിന് സ്‌പർശിക്കുക."</string>
     <string name="group_conversation_description" msgid="2339270924401184182">"<xliff:g id="PARTICIPANTS">%s</xliff:g> എന്നിവരുമായുള്ള സംഭാഷണം"</string>
     <string name="delete_subject_content_description" msgid="8910749398836396698">"വിഷയം ഇല്ലാതാക്കുക"</string>
@@ -258,7 +258,7 @@
     <string name="mms_messaging_category_pref_title" msgid="4816815152658525660">"MMS"</string>
     <string name="advanced_category_pref_title" msgid="6411454224069259687">"വിപുലം"</string>
     <string name="debug_category_pref_title" msgid="8765138968242505061">"ഡീബഗ്"</string>
-    <string name="notifications_enabled_pref_title" msgid="4127288731844373795">"അറിയിപ്പുകൾ"</string>
+    <string name="notifications_pref_title" msgid="4127288731844373795">"അറിയിപ്പുകൾ"</string>
     <string name="notification_sound_pref_title" msgid="3685506528957337849">"ശബ്‌ദം"</string>
     <string name="silent_ringtone" msgid="8073534180322059814">"നിശബ്‌ദം"</string>
     <string name="notification_vibrate_pref_title" msgid="6668564570045187390">"വൈബ്രേറ്റുചെയ്യുക"</string>
@@ -359,7 +359,7 @@
     <string name="add_contact_confirmation" msgid="1479380805406328264">"കോൺടാക്‌റ്റ് ചേർക്കുക"</string>
     <string name="compose_message_view_subject_hint_text" msgid="6076616675845705660">"വിഷയം"</string>
     <string name="conversation_message_view_subject_text" msgid="5634274498769555505">"വിഷയം: "</string>
-    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%s</xliff:g><xliff:g id="MESSAGETEXT">%s</xliff:g>"</string>
+    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%1$s</xliff:g><xliff:g id="MESSAGETEXT">%2$s</xliff:g>"</string>
     <string name="loading_vcard" msgid="3961520941271265083">"കോൺടാക്‌റ്റ് കാർഡ് ലോഡുചെയ്യുന്നു"</string>
     <string name="failed_loading_vcard" msgid="7711070643740368402">"കോൺടാക്‌റ്റ് കാർഡ് ലോഡുചെയ്യാനായില്ല"</string>
     <string name="vcard_tap_hint" msgid="4940284329175200952">"കോൺടാക്റ്റ് കാർഡ് കാണുക"</string>
diff --git a/res/values-mn/strings.xml b/res/values-mn/strings.xml
index fb9106b..7df8419 100644
--- a/res/values-mn/strings.xml
+++ b/res/values-mn/strings.xml
@@ -202,19 +202,19 @@
     <string name="audio_attachment_content_description" msgid="499334244765270108">"Аудио хавсралт"</string>
     <string name="audio_play_content_description" msgid="4932509227281251607">"Аудио хавсралтыг тоглуулах"</string>
     <string name="audio_pause_content_description" msgid="7578169887065513701">"Түр зогсоох"</string>
-    <string name="incoming_message_announcement" msgid="6369259405539452011">"<xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>-аас ирсэн зурвас."</string>
-    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"<xliff:g id="SENDER">%s</xliff:g>-с илгээсэн амжилтгүй болсон мессеж: <xliff:g id="MESSAGE">%s</xliff:g>. Цаг: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"<xliff:g id="SENDER">%s</xliff:g>-с илгээсэн мессеж: <xliff:g id="MESSAGE">%s</xliff:g>. Цаг: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"<xliff:g id="CONTACT">%s</xliff:g>-д илгээгээгүй байгаа мессеж: <xliff:g id="MESSAGE">%s</xliff:g>. Цаг: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"<xliff:g id="CONTACT">%s</xliff:g>-д мессеж илгээж байна: <xliff:g id="MESSAGE">%s</xliff:g>. Цаг: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"<xliff:g id="CONTACT">%s</xliff:g>-д илгээсэн амжилтгүй болсон мессеж: <xliff:g id="MESSAGE">%s</xliff:g>. Цаг: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"<xliff:g id="CONTACT">%s</xliff:g>-д мессеж илгээх: <xliff:g id="MESSAGE">%s</xliff:g>. Цаг: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"<xliff:g id="SENDER">%s</xliff:g>-с илгээсэн амжилтгүй болсон мессеж: <xliff:g id="MESSAGE">%s</xliff:g>. Цаг: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>"</string>
-    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"<xliff:g id="SENDER">%s</xliff:g>-с илгээсэн мессеж: <xliff:g id="MESSAGE">%s</xliff:g>. Цаг: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"<xliff:g id="GROUP">%s</xliff:g>-т зориулсан илгээгээгүй байгаа мессеж: <xliff:g id="MESSAGE">%s</xliff:g>. Цаг: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"<xliff:g id="GROUP">%s</xliff:g>-т мессеж илгээж байна: <xliff:g id="MESSAGE">%s</xliff:g>. Цаг: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"<xliff:g id="GROUP">%s</xliff:g>-т зориулсан амжилтгүй болсон мессеж: <xliff:g id="MESSAGE">%s</xliff:g>. Цаг: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"<xliff:g id="GROUP">%s</xliff:g>-т илгээх мессеж: <xliff:g id="MESSAGE">%s</xliff:g>. Цаг: <xliff:g id="TIME">%s</xliff:g>."</string>
+    <string name="incoming_message_announcement" msgid="6369259405539452011">"<xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>-аас ирсэн зурвас."</string>
+    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"<xliff:g id="SENDER">%1$s</xliff:g>-с илгээсэн амжилтгүй болсон мессеж: <xliff:g id="MESSAGE">%2$s</xliff:g>. Цаг: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"<xliff:g id="SENDER">%1$s</xliff:g>-с илгээсэн мессеж: <xliff:g id="MESSAGE">%2$s</xliff:g>. Цаг: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"<xliff:g id="CONTACT">%1$s</xliff:g>-д илгээгээгүй байгаа мессеж: <xliff:g id="MESSAGE">%2$s</xliff:g>. Цаг: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"<xliff:g id="CONTACT">%1$s</xliff:g>-д мессеж илгээж байна: <xliff:g id="MESSAGE">%2$s</xliff:g>. Цаг: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"<xliff:g id="CONTACT">%1$s</xliff:g>-д илгээсэн амжилтгүй болсон мессеж: <xliff:g id="MESSAGE">%2$s</xliff:g>. Цаг: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"<xliff:g id="CONTACT">%1$s</xliff:g>-д мессеж илгээх: <xliff:g id="MESSAGE">%2$s</xliff:g>. Цаг: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"<xliff:g id="SENDER">%1$s</xliff:g>-с илгээсэн амжилтгүй болсон мессеж: <xliff:g id="MESSAGE">%2$s</xliff:g>. Цаг: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>"</string>
+    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"<xliff:g id="SENDER">%1$s</xliff:g>-с илгээсэн мессеж: <xliff:g id="MESSAGE">%2$s</xliff:g>. Цаг: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"<xliff:g id="GROUP">%1$s</xliff:g>-т зориулсан илгээгээгүй байгаа мессеж: <xliff:g id="MESSAGE">%2$s</xliff:g>. Цаг: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"<xliff:g id="GROUP">%1$s</xliff:g>-т мессеж илгээж байна: <xliff:g id="MESSAGE">%2$s</xliff:g>. Цаг: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"<xliff:g id="GROUP">%1$s</xliff:g>-т зориулсан амжилтгүй болсон мессеж: <xliff:g id="MESSAGE">%2$s</xliff:g>. Цаг: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"<xliff:g id="GROUP">%1$s</xliff:g>-т илгээх мессеж: <xliff:g id="MESSAGE">%2$s</xliff:g>. Цаг: <xliff:g id="TIME">%3$s</xliff:g>."</string>
     <string name="failed_message_content_description" msgid="7047161648867054936">"Амжилтгүй болсон мессеж. Дахин оролдоно уу."</string>
     <string name="group_conversation_description" msgid="2339270924401184182">"<xliff:g id="PARTICIPANTS">%s</xliff:g> нартай холбоо тогтоох"</string>
     <string name="delete_subject_content_description" msgid="8910749398836396698">"Гарчгийг устгах"</string>
@@ -258,7 +258,7 @@
     <string name="mms_messaging_category_pref_title" msgid="4816815152658525660">"MMS"</string>
     <string name="advanced_category_pref_title" msgid="6411454224069259687">"Дэлгэрэнгүй"</string>
     <string name="debug_category_pref_title" msgid="8765138968242505061">"Дебаг"</string>
-    <string name="notifications_enabled_pref_title" msgid="4127288731844373795">"Мэдэгдэл"</string>
+    <string name="notifications_pref_title" msgid="4127288731844373795">"Мэдэгдэл"</string>
     <string name="notification_sound_pref_title" msgid="3685506528957337849">"Дуу"</string>
     <string name="silent_ringtone" msgid="8073534180322059814">"Чимээгүй"</string>
     <string name="notification_vibrate_pref_title" msgid="6668564570045187390">"Чичиргээ"</string>
@@ -359,7 +359,7 @@
     <string name="add_contact_confirmation" msgid="1479380805406328264">"Харилцагч нэмэх"</string>
     <string name="compose_message_view_subject_hint_text" msgid="6076616675845705660">"Гарчиг"</string>
     <string name="conversation_message_view_subject_text" msgid="5634274498769555505">"Гарчиг: "</string>
-    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%s</xliff:g><xliff:g id="MESSAGETEXT">%s</xliff:g>"</string>
+    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%1$s</xliff:g><xliff:g id="MESSAGETEXT">%2$s</xliff:g>"</string>
     <string name="loading_vcard" msgid="3961520941271265083">"Харилцагчийн картыг ачаалж байна"</string>
     <string name="failed_loading_vcard" msgid="7711070643740368402">"Харилцагчийн картыг дуудаж чадсангүй"</string>
     <string name="vcard_tap_hint" msgid="4940284329175200952">"Харилцагчийн картыг харах"</string>
diff --git a/res/values-mr/cm_strings.xml b/res/values-mr/cm_strings.xml
new file mode 100644
index 0000000..dc8780b
--- /dev/null
+++ b/res/values-mr/cm_strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="swipe_to_delete_conversation_pref_title">हटवण्यासाठी स्वाइप करा</string>
+    <string name="swipe_to_delete_conversation_pref_summary">संभाषण हटवन्यासाठी उजविकडे स्वाइप करा</string>
+    <string name="show_emoticons_pref_title">इमोटीकन्स अॅक्सेस</string>
+    <string name="show_emoticons_pref_summary">किबोर्ड वरील इमोटीकन्स कि दाखवा</string>
+</resources>
diff --git a/res/values-mr/strings.xml b/res/values-mr/strings.xml
index 418199c..e6f3a19 100644
--- a/res/values-mr/strings.xml
+++ b/res/values-mr/strings.xml
@@ -202,19 +202,19 @@
     <string name="audio_attachment_content_description" msgid="499334244765270108">"ऑडिओ संलग्नक"</string>
     <string name="audio_play_content_description" msgid="4932509227281251607">"ऑडिओ संलग्नक प्ले करा"</string>
     <string name="audio_pause_content_description" msgid="7578169887065513701">"विराम द्या"</string>
-    <string name="incoming_message_announcement" msgid="6369259405539452011">"<xliff:g id="SENDER">%s</xliff:g> कडून संदेश: <xliff:g id="MESSAGE">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"<xliff:g id="SENDER">%s</xliff:g> कडील अयशस्‍वी संदेश: <xliff:g id="MESSAGE">%s</xliff:g>. वेळ: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"<xliff:g id="SENDER">%s</xliff:g> कडील संदेश: <xliff:g id="MESSAGE">%s</xliff:g>. वेळ: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"<xliff:g id="CONTACT">%s</xliff:g> ला न पाठविलेला संदेश: <xliff:g id="MESSAGE">%s</xliff:g>. वेळ: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"<xliff:g id="CONTACT">%s</xliff:g> ला संदेश पाठवित आहे: <xliff:g id="MESSAGE">%s</xliff:g>. वेळ: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"<xliff:g id="CONTACT">%s</xliff:g> चा अयशस्‍वी संदेश: <xliff:g id="MESSAGE">%s</xliff:g>. वेळ: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"<xliff:g id="CONTACT">%s</xliff:g> चा संदेश: <xliff:g id="MESSAGE">%s</xliff:g>. वेळ: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"<xliff:g id="SENDER">%s</xliff:g> कडील अयशस्‍वी संदेश: <xliff:g id="MESSAGE">%s</xliff:g>. वेळ: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>"</string>
-    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"<xliff:g id="SENDER">%s</xliff:g> कडील संदेश: <xliff:g id="MESSAGE">%s</xliff:g>. वेळ: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>"</string>
-    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"<xliff:g id="GROUP">%s</xliff:g> ला न पाठविलेला संदेश: <xliff:g id="MESSAGE">%s</xliff:g>. वेळ: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"<xliff:g id="GROUP">%s</xliff:g> ला संदेश पाठवित आहे: <xliff:g id="MESSAGE">%s</xliff:g>. वेळ: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"<xliff:g id="GROUP">%s</xliff:g> चा अयशस्‍वी संदेश: <xliff:g id="MESSAGE">%s</xliff:g>. वेळ: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"<xliff:g id="GROUP">%s</xliff:g> चा संदेश: <xliff:g id="MESSAGE">%s</xliff:g>. वेळ: <xliff:g id="TIME">%s</xliff:g>"</string>
+    <string name="incoming_message_announcement" msgid="6369259405539452011">"<xliff:g id="SENDER">%1$s</xliff:g> कडून संदेश: <xliff:g id="MESSAGE">%2$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"<xliff:g id="SENDER">%1$s</xliff:g> कडील अयशस्‍वी संदेश: <xliff:g id="MESSAGE">%2$s</xliff:g>. वेळ: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"<xliff:g id="SENDER">%1$s</xliff:g> कडील संदेश: <xliff:g id="MESSAGE">%2$s</xliff:g>. वेळ: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"<xliff:g id="CONTACT">%1$s</xliff:g> ला न पाठविलेला संदेश: <xliff:g id="MESSAGE">%2$s</xliff:g>. वेळ: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"<xliff:g id="CONTACT">%1$s</xliff:g> ला संदेश पाठवित आहे: <xliff:g id="MESSAGE">%2$s</xliff:g>. वेळ: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"<xliff:g id="CONTACT">%1$s</xliff:g> चा अयशस्‍वी संदेश: <xliff:g id="MESSAGE">%2$s</xliff:g>. वेळ: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"<xliff:g id="CONTACT">%1$s</xliff:g> चा संदेश: <xliff:g id="MESSAGE">%2$s</xliff:g>. वेळ: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"<xliff:g id="SENDER">%1$s</xliff:g> कडील अयशस्‍वी संदेश: <xliff:g id="MESSAGE">%2$s</xliff:g>. वेळ: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>"</string>
+    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"<xliff:g id="SENDER">%1$s</xliff:g> कडील संदेश: <xliff:g id="MESSAGE">%2$s</xliff:g>. वेळ: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>"</string>
+    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"<xliff:g id="GROUP">%1$s</xliff:g> ला न पाठविलेला संदेश: <xliff:g id="MESSAGE">%2$s</xliff:g>. वेळ: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"<xliff:g id="GROUP">%1$s</xliff:g> ला संदेश पाठवित आहे: <xliff:g id="MESSAGE">%2$s</xliff:g>. वेळ: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"<xliff:g id="GROUP">%1$s</xliff:g> चा अयशस्‍वी संदेश: <xliff:g id="MESSAGE">%2$s</xliff:g>. वेळ: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"<xliff:g id="GROUP">%1$s</xliff:g> चा संदेश: <xliff:g id="MESSAGE">%2$s</xliff:g>. वेळ: <xliff:g id="TIME">%3$s</xliff:g>"</string>
     <string name="failed_message_content_description" msgid="7047161648867054936">"संदेश अयशस्वी. पुन्हा प्रयत्न करण्यासाठी स्पर्श करा."</string>
     <string name="group_conversation_description" msgid="2339270924401184182">"<xliff:g id="PARTICIPANTS">%s</xliff:g> सह संभाषण"</string>
     <string name="delete_subject_content_description" msgid="8910749398836396698">"विषय हटवा"</string>
@@ -258,7 +258,7 @@
     <string name="mms_messaging_category_pref_title" msgid="4816815152658525660">"MMS"</string>
     <string name="advanced_category_pref_title" msgid="6411454224069259687">"प्रगत"</string>
     <string name="debug_category_pref_title" msgid="8765138968242505061">"डीबग करणे"</string>
-    <string name="notifications_enabled_pref_title" msgid="4127288731844373795">"सूचना"</string>
+    <string name="notifications_pref_title" msgid="4127288731844373795">"सूचना"</string>
     <string name="notification_sound_pref_title" msgid="3685506528957337849">"ध्वनी"</string>
     <string name="silent_ringtone" msgid="8073534180322059814">"मूक"</string>
     <string name="notification_vibrate_pref_title" msgid="6668564570045187390">"कंपन"</string>
@@ -359,7 +359,7 @@
     <string name="add_contact_confirmation" msgid="1479380805406328264">"संपर्क जोडा"</string>
     <string name="compose_message_view_subject_hint_text" msgid="6076616675845705660">"विषय"</string>
     <string name="conversation_message_view_subject_text" msgid="5634274498769555505">"विषय: "</string>
-    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%s</xliff:g><xliff:g id="MESSAGETEXT">%s</xliff:g>"</string>
+    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%1$s</xliff:g><xliff:g id="MESSAGETEXT">%2$s</xliff:g>"</string>
     <string name="loading_vcard" msgid="3961520941271265083">"संपर्क कार्ड लोड करीत आहे"</string>
     <string name="failed_loading_vcard" msgid="7711070643740368402">"संपर्क कार्ड लोड करू शकलो नाही"</string>
     <string name="vcard_tap_hint" msgid="4940284329175200952">"संपर्क कार्ड पहा"</string>
diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml
index 80cb5c4..b2a1aff 100644
--- a/res/values-ms/strings.xml
+++ b/res/values-ms/strings.xml
@@ -202,19 +202,19 @@
     <string name="audio_attachment_content_description" msgid="499334244765270108">"Lampiran audio"</string>
     <string name="audio_play_content_description" msgid="4932509227281251607">"Mainkan lampiran audio"</string>
     <string name="audio_pause_content_description" msgid="7578169887065513701">"Jeda"</string>
-    <string name="incoming_message_announcement" msgid="6369259405539452011">"Mesej daripada <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Mesej gagal daripada <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Masa: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Mesej daripada <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Masa: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Mesej tidak dihantar kepada <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Masa: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Menghantar mesej kepada <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Masa: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Mesej gagal kepada <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Masa: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Mesej kepada <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Masa: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Mesej gagal daripada <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Masa: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Mesej daripada <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Masa: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Mesej tidak dihantar kepada <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Masa: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Menghantar mesej kepada <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Masa: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Mesej gagal kepada <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Masa: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Mesej kepada <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Masa: <xliff:g id="TIME">%s</xliff:g>."</string>
+    <string name="incoming_message_announcement" msgid="6369259405539452011">"Mesej daripada <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Mesej gagal daripada <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Masa: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Mesej daripada <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Masa: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Mesej tidak dihantar kepada <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Masa: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Menghantar mesej kepada <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Masa: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Mesej gagal kepada <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Masa: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Mesej kepada <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Masa: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Mesej gagal daripada <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Masa: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Mesej daripada <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Masa: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Mesej tidak dihantar kepada <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Masa: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Menghantar mesej kepada <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Masa: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Mesej gagal kepada <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Masa: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Mesej kepada <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Masa: <xliff:g id="TIME">%3$s</xliff:g>."</string>
     <string name="failed_message_content_description" msgid="7047161648867054936">"Mesej gagal. Sentuh untuk mencuba semula."</string>
     <string name="group_conversation_description" msgid="2339270924401184182">"Perbualan dengan <xliff:g id="PARTICIPANTS">%s</xliff:g>"</string>
     <string name="delete_subject_content_description" msgid="8910749398836396698">"Padam subjek"</string>
@@ -258,7 +258,7 @@
     <string name="mms_messaging_category_pref_title" msgid="4816815152658525660">"MMS"</string>
     <string name="advanced_category_pref_title" msgid="6411454224069259687">"Lanjutan"</string>
     <string name="debug_category_pref_title" msgid="8765138968242505061">"Nyahpepijat"</string>
-    <string name="notifications_enabled_pref_title" msgid="4127288731844373795">"Pemberitahuan"</string>
+    <string name="notifications_pref_title" msgid="4127288731844373795">"Pemberitahuan"</string>
     <string name="notification_sound_pref_title" msgid="3685506528957337849">"Bunyi"</string>
     <string name="silent_ringtone" msgid="8073534180322059814">"Senyap"</string>
     <string name="notification_vibrate_pref_title" msgid="6668564570045187390">"Bergetar"</string>
@@ -359,7 +359,7 @@
     <string name="add_contact_confirmation" msgid="1479380805406328264">"Tambah Kenalan"</string>
     <string name="compose_message_view_subject_hint_text" msgid="6076616675845705660">"Subjek"</string>
     <string name="conversation_message_view_subject_text" msgid="5634274498769555505">"Subjek: "</string>
-    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%s</xliff:g><xliff:g id="MESSAGETEXT">%s</xliff:g>"</string>
+    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%1$s</xliff:g><xliff:g id="MESSAGETEXT">%2$s</xliff:g>"</string>
     <string name="loading_vcard" msgid="3961520941271265083">"Memuatkan kad kenalan"</string>
     <string name="failed_loading_vcard" msgid="7711070643740368402">"Tidak dapat memuatkan kad kenalan"</string>
     <string name="vcard_tap_hint" msgid="4940284329175200952">"Lihat kad kenalan"</string>
diff --git a/res/values-my/strings.xml b/res/values-my/strings.xml
index 35a6586..304ee34 100644
--- a/res/values-my/strings.xml
+++ b/res/values-my/strings.xml
@@ -202,19 +202,19 @@
     <string name="audio_attachment_content_description" msgid="499334244765270108">"အသံ ပူးတွဲဖိုင်"</string>
     <string name="audio_play_content_description" msgid="4932509227281251607">"ပူးတွဲပါအသံကိုဖွင့်ပါ"</string>
     <string name="audio_pause_content_description" msgid="7578169887065513701">"ဆိုင်းငံ့ရန်"</string>
-    <string name="incoming_message_announcement" msgid="6369259405539452011">"<xliff:g id="SENDER">%s</xliff:g> ထံမှ စာတို: <xliff:g id="MESSAGE">%s</xliff:g> ။"</string>
-    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"<xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g> မှ စာတိုပို့ခြင်းမအောင်မြင်ပါ။ အချိန်: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"<xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g> မှ စာတို။ အချိန်: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"<xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g> သို့ စာတိုမပို့ရသေးပါ။ အချိန်: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"<xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g> သို့ စာတိုပို့နေသည်။ အချိန်: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"<xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g> သို့ စာတိုပို့ခြင်းမအောင်မြင်ပါ။ အချိန်: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"<xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g> သို့ စာတို။ အချိန်: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"<xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g> မှ စာပို့ခြင်းမအောင်မြင်ပါ။အချိန်: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>"</string>
-    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"<xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>မှ စာတိုပို့နေသည်။ အချိန်: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>"</string>
-    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"<xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g> သို့ စာတိုမပို့ရသေးပါ။ အချိန်: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"<xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g> သို့ စာတိုပို့ နေသည်။အချိန်: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"<xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g> သို့စာတိုပို့ခြင်းမအောင်မြင်ပါ။ အချိန်: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"<xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g> သို့ စာတိုပို့နေသည်။ အချိန်: <xliff:g id="TIME">%s</xliff:g>"</string>
+    <string name="incoming_message_announcement" msgid="6369259405539452011">"<xliff:g id="SENDER">%1$s</xliff:g> ထံမှ စာတို: <xliff:g id="MESSAGE">%2$s</xliff:g> ။"</string>
+    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"<xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g> မှ စာတိုပို့ခြင်းမအောင်မြင်ပါ။ အချိန်: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"<xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g> မှ စာတို။ အချိန်: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"<xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g> သို့ စာတိုမပို့ရသေးပါ။ အချိန်: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"<xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g> သို့ စာတိုပို့နေသည်။ အချိန်: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"<xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g> သို့ စာတိုပို့ခြင်းမအောင်မြင်ပါ။ အချိန်: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"<xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g> သို့ စာတို။ အချိန်: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"<xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g> မှ စာပို့ခြင်းမအောင်မြင်ပါ။အချိန်: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>"</string>
+    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"<xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>မှ စာတိုပို့နေသည်။ အချိန်: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>"</string>
+    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"<xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g> သို့ စာတိုမပို့ရသေးပါ။ အချိန်: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"<xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g> သို့ စာတိုပို့ နေသည်။အချိန်: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"<xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g> သို့စာတိုပို့ခြင်းမအောင်မြင်ပါ။ အချိန်: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"<xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g> သို့ စာတိုပို့နေသည်။ အချိန်: <xliff:g id="TIME">%3$s</xliff:g>"</string>
     <string name="failed_message_content_description" msgid="7047161648867054936">"စာတိုပို့ခြင်းမအောင်မြင်ပါ။ ပြန်လည်ကြိုးစားရန် ထိပါ။"</string>
     <string name="group_conversation_description" msgid="2339270924401184182">"<xliff:g id="PARTICIPANTS">%s</xliff:g>နှင့် စကားဝိုင်းများ"</string>
     <string name="delete_subject_content_description" msgid="8910749398836396698">"အကြောင်းအရာကို ဖျက်ရန်"</string>
@@ -258,7 +258,7 @@
     <string name="mms_messaging_category_pref_title" msgid="4816815152658525660">"ရုပ်သံစာ"</string>
     <string name="advanced_category_pref_title" msgid="6411454224069259687">"အဆင့်မြင့်"</string>
     <string name="debug_category_pref_title" msgid="8765138968242505061">"ဒီဘာဂ်"</string>
-    <string name="notifications_enabled_pref_title" msgid="4127288731844373795">"အကြောင်းကြားချက်များ"</string>
+    <string name="notifications_pref_title" msgid="4127288731844373795">"အကြောင်းကြားချက်များ"</string>
     <string name="notification_sound_pref_title" msgid="3685506528957337849">"အသံ"</string>
     <string name="silent_ringtone" msgid="8073534180322059814">"အသံတိတ်ရန်"</string>
     <string name="notification_vibrate_pref_title" msgid="6668564570045187390">"တုန်ခါရန်"</string>
@@ -359,7 +359,7 @@
     <string name="add_contact_confirmation" msgid="1479380805406328264">"အဆက်အသွယ် ထည့်ရန်"</string>
     <string name="compose_message_view_subject_hint_text" msgid="6076616675845705660">"ဘာသာရပ်"</string>
     <string name="conversation_message_view_subject_text" msgid="5634274498769555505">"အကြောင်းအရာ: "</string>
-    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%s</xliff:g><xliff:g id="MESSAGETEXT">%s</xliff:g>"</string>
+    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%1$s</xliff:g><xliff:g id="MESSAGETEXT">%2$s</xliff:g>"</string>
     <string name="loading_vcard" msgid="3961520941271265083">"အဆက်အသွယ် ကဒ်ကို တင်ပေးနေ"</string>
     <string name="failed_loading_vcard" msgid="7711070643740368402">"နာမည်ကဒ် မရယူနိုင်ပါ"</string>
     <string name="vcard_tap_hint" msgid="4940284329175200952">"အဆက်အသွယ် ကဒ်ကို ကြည့်ရန်"</string>
diff --git a/res/values-nb/cm_strings.xml b/res/values-nb/cm_strings.xml
new file mode 100644
index 0000000..8270dcc
--- /dev/null
+++ b/res/values-nb/cm_strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="swipe_to_delete_conversation_pref_title">Dra for å slette</string>
+    <string name="swipe_to_delete_conversation_pref_summary">Sveip til høyre for å slette en samtale</string>
+    <string name="show_emoticons_pref_title">Uttrykksikoners tilgang</string>
+    <string name="show_emoticons_pref_summary">Vis uttrykksikoner-tasten på tastaturet</string>
+</resources>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index 7736c84..17d25f9 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -202,19 +202,19 @@
     <string name="audio_attachment_content_description" msgid="499334244765270108">"Lydvedlegg"</string>
     <string name="audio_play_content_description" msgid="4932509227281251607">"Spill av lydvedlegg"</string>
     <string name="audio_pause_content_description" msgid="7578169887065513701">"Sett på pause"</string>
-    <string name="incoming_message_announcement" msgid="6369259405539452011">"Melding fra <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Mislykket melding fra <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Tidspunkt: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Melding fra <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Tidspunkt: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Usendt melding til <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Tidspunkt: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Sender melding til <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Tidspunkt: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Mislykket melding til <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Tidspunkt: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Melding til <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Tidspunkt: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Mislykket melding fra <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Tidspunkt: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Melding fra <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Tidspunkt: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Usendt melding til <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Tidspunkt: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Sender melding til <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Tidspunkt: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Mislykket melding til <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Tidspunkt: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Melding til <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Tidspunkt: <xliff:g id="TIME">%s</xliff:g>."</string>
+    <string name="incoming_message_announcement" msgid="6369259405539452011">"Melding fra <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Mislykket melding fra <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Tidspunkt: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Melding fra <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Tidspunkt: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Usendt melding til <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Tidspunkt: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Sender melding til <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Tidspunkt: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Mislykket melding til <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Tidspunkt: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Melding til <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Tidspunkt: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Mislykket melding fra <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Tidspunkt: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Melding fra <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Tidspunkt: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Usendt melding til <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Tidspunkt: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Sender melding til <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Tidspunkt: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Mislykket melding til <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Tidspunkt: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Melding til <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Tidspunkt: <xliff:g id="TIME">%3$s</xliff:g>."</string>
     <string name="failed_message_content_description" msgid="7047161648867054936">"Meldingen ble ikke sendt. Trykk for å prøve på nytt."</string>
     <string name="group_conversation_description" msgid="2339270924401184182">"Samtale med <xliff:g id="PARTICIPANTS">%s</xliff:g>"</string>
     <string name="delete_subject_content_description" msgid="8910749398836396698">"Slett emnet"</string>
@@ -258,7 +258,7 @@
     <string name="mms_messaging_category_pref_title" msgid="4816815152658525660">"MMS"</string>
     <string name="advanced_category_pref_title" msgid="6411454224069259687">"Avansert"</string>
     <string name="debug_category_pref_title" msgid="8765138968242505061">"Feilsøk"</string>
-    <string name="notifications_enabled_pref_title" msgid="4127288731844373795">"Varsler"</string>
+    <string name="notifications_pref_title" msgid="4127288731844373795">"Varsler"</string>
     <string name="notification_sound_pref_title" msgid="3685506528957337849">"Lyd"</string>
     <string name="silent_ringtone" msgid="8073534180322059814">"Stille"</string>
     <string name="notification_vibrate_pref_title" msgid="6668564570045187390">"Vibrer"</string>
@@ -359,7 +359,7 @@
     <string name="add_contact_confirmation" msgid="1479380805406328264">"Legg til kontakten"</string>
     <string name="compose_message_view_subject_hint_text" msgid="6076616675845705660">"Emne"</string>
     <string name="conversation_message_view_subject_text" msgid="5634274498769555505">"Emne: "</string>
-    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%s</xliff:g><xliff:g id="MESSAGETEXT">%s</xliff:g>"</string>
+    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%1$s</xliff:g><xliff:g id="MESSAGETEXT">%2$s</xliff:g>"</string>
     <string name="loading_vcard" msgid="3961520941271265083">"Laster inn kontaktkortet"</string>
     <string name="failed_loading_vcard" msgid="7711070643740368402">"Kunne ikke laste kontaktkort"</string>
     <string name="vcard_tap_hint" msgid="4940284329175200952">"Se kontaktkortet"</string>
diff --git a/res/values-ne/strings.xml b/res/values-ne/strings.xml
index c9e30e6..58e5d7d 100644
--- a/res/values-ne/strings.xml
+++ b/res/values-ne/strings.xml
@@ -202,19 +202,19 @@
     <string name="audio_attachment_content_description" msgid="499334244765270108">"अडियो संलग्नक"</string>
     <string name="audio_play_content_description" msgid="4932509227281251607">"अडियो संलग्नक प्ले गर्नुहोस्"</string>
     <string name="audio_pause_content_description" msgid="7578169887065513701">"पज गर्नुहोस्"</string>
-    <string name="incoming_message_announcement" msgid="6369259405539452011">"<xliff:g id="SENDER">%s</xliff:g> बाट प्राप्त सन्देश: <xliff:g id="MESSAGE">%s</xliff:g>।"</string>
-    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"<xliff:g id="SENDER">%s</xliff:g> बाट विफल सन्देश: <xliff:g id="MESSAGE">%s</xliff:g>. समय: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"<xliff:g id="SENDER">%s</xliff:g> बाट सन्देश: <xliff:g id="MESSAGE">%s</xliff:g>. समय: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"<xliff:g id="CONTACT">%s</xliff:g> मा नपठाइएको सन्देश: <xliff:g id="MESSAGE">%s</xliff:g>. समय: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"<xliff:g id="CONTACT">%s</xliff:g> मा सन्देश पठाउँदै: <xliff:g id="MESSAGE">%s</xliff:g>. समय: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"<xliff:g id="CONTACT">%s</xliff:g> मा विफल सन्देश: <xliff:g id="MESSAGE">%s</xliff:g>. समय: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"<xliff:g id="CONTACT">%s</xliff:g> मा सन्देश: <xliff:g id="MESSAGE">%s</xliff:g>. समय: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"<xliff:g id="SENDER">%s</xliff:g> बाट विफल सन्देश: <xliff:g id="MESSAGE">%s</xliff:g>. समय: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>"</string>
-    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"<xliff:g id="SENDER">%s</xliff:g> बाट सन्देश: <xliff:g id="MESSAGE">%s</xliff:g>. समय: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>"</string>
-    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"<xliff:g id="GROUP">%s</xliff:g> मा नपठाइएको सन्देश: <xliff:g id="MESSAGE">%s</xliff:g>. समय: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"<xliff:g id="GROUP">%s</xliff:g> मा सन्देश पठाउँदै: <xliff:g id="MESSAGE">%s</xliff:g>. समय: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"<xliff:g id="GROUP">%s</xliff:g> मा विफल सन्देश: <xliff:g id="MESSAGE">%s</xliff:g>. समय: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"<xliff:g id="GROUP">%s</xliff:g> मा सन्देश: <xliff:g id="MESSAGE">%s</xliff:g>. समय: <xliff:g id="TIME">%s</xliff:g>"</string>
+    <string name="incoming_message_announcement" msgid="6369259405539452011">"<xliff:g id="SENDER">%1$s</xliff:g> बाट प्राप्त सन्देश: <xliff:g id="MESSAGE">%2$s</xliff:g>।"</string>
+    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"<xliff:g id="SENDER">%1$s</xliff:g> बाट विफल सन्देश: <xliff:g id="MESSAGE">%2$s</xliff:g>. समय: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"<xliff:g id="SENDER">%1$s</xliff:g> बाट सन्देश: <xliff:g id="MESSAGE">%2$s</xliff:g>. समय: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"<xliff:g id="CONTACT">%1$s</xliff:g> मा नपठाइएको सन्देश: <xliff:g id="MESSAGE">%2$s</xliff:g>. समय: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"<xliff:g id="CONTACT">%1$s</xliff:g> मा सन्देश पठाउँदै: <xliff:g id="MESSAGE">%2$s</xliff:g>. समय: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"<xliff:g id="CONTACT">%1$s</xliff:g> मा विफल सन्देश: <xliff:g id="MESSAGE">%2$s</xliff:g>. समय: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"<xliff:g id="CONTACT">%1$s</xliff:g> मा सन्देश: <xliff:g id="MESSAGE">%2$s</xliff:g>. समय: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"<xliff:g id="SENDER">%1$s</xliff:g> बाट विफल सन्देश: <xliff:g id="MESSAGE">%2$s</xliff:g>. समय: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>"</string>
+    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"<xliff:g id="SENDER">%1$s</xliff:g> बाट सन्देश: <xliff:g id="MESSAGE">%2$s</xliff:g>. समय: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>"</string>
+    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"<xliff:g id="GROUP">%1$s</xliff:g> मा नपठाइएको सन्देश: <xliff:g id="MESSAGE">%2$s</xliff:g>. समय: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"<xliff:g id="GROUP">%1$s</xliff:g> मा सन्देश पठाउँदै: <xliff:g id="MESSAGE">%2$s</xliff:g>. समय: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"<xliff:g id="GROUP">%1$s</xliff:g> मा विफल सन्देश: <xliff:g id="MESSAGE">%2$s</xliff:g>. समय: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"<xliff:g id="GROUP">%1$s</xliff:g> मा सन्देश: <xliff:g id="MESSAGE">%2$s</xliff:g>. समय: <xliff:g id="TIME">%3$s</xliff:g>"</string>
     <string name="failed_message_content_description" msgid="7047161648867054936">"असफल सन्देश। पुन: प्रयास गर्न छुनुहोस्।"</string>
     <string name="group_conversation_description" msgid="2339270924401184182">"<xliff:g id="PARTICIPANTS">%s</xliff:g> सँग कुराकानी"</string>
     <string name="delete_subject_content_description" msgid="8910749398836396698">"विषय मेट्नुहोस्"</string>
@@ -258,7 +258,7 @@
     <string name="mms_messaging_category_pref_title" msgid="4816815152658525660">"MMS"</string>
     <string name="advanced_category_pref_title" msgid="6411454224069259687">"उन्नत"</string>
     <string name="debug_category_pref_title" msgid="8765138968242505061">"डिबग"</string>
-    <string name="notifications_enabled_pref_title" msgid="4127288731844373795">"सूचनाहरू"</string>
+    <string name="notifications_pref_title" msgid="4127288731844373795">"सूचनाहरू"</string>
     <string name="notification_sound_pref_title" msgid="3685506528957337849">"आवाज"</string>
     <string name="silent_ringtone" msgid="8073534180322059814">"मौन"</string>
     <string name="notification_vibrate_pref_title" msgid="6668564570045187390">"कम्पन गर्नुहोस्"</string>
@@ -361,7 +361,7 @@
     <string name="add_contact_confirmation" msgid="1479380805406328264">"सम्पर्क थप्नुहोस्"</string>
     <string name="compose_message_view_subject_hint_text" msgid="6076616675845705660">"विषय"</string>
     <string name="conversation_message_view_subject_text" msgid="5634274498769555505">"विषय: "</string>
-    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%s</xliff:g><xliff:g id="MESSAGETEXT">%s</xliff:g>"</string>
+    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%1$s</xliff:g><xliff:g id="MESSAGETEXT">%2$s</xliff:g>"</string>
     <string name="loading_vcard" msgid="3961520941271265083">"सम्पर्क कार्ड लोड गर्दै"</string>
     <string name="failed_loading_vcard" msgid="7711070643740368402">"सम्पर्क कार्ड लोड गर्न सकिएन"</string>
     <string name="vcard_tap_hint" msgid="4940284329175200952">"सम्पर्क कार्ड हेर्नुहोस्"</string>
diff --git a/res/values-nl/cm_strings.xml b/res/values-nl/cm_strings.xml
new file mode 100644
index 0000000..12a1893
--- /dev/null
+++ b/res/values-nl/cm_strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="swipe_to_delete_conversation_pref_title">Vegen om te verwijderen</string>
+    <string name="swipe_to_delete_conversation_pref_summary">Naar rechts vegen om een gesprek te verwijderen</string>
+    <string name="show_emoticons_pref_title">Toegang tot emoticons</string>
+    <string name="show_emoticons_pref_summary">Emoticons-toets op het toetsenbord weergeven</string>
+    <string name="notification_mark_as_read">Markeren als gelezen</string>
+</resources>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index 4f1a53c..99a2975 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -202,19 +202,19 @@
     <string name="audio_attachment_content_description" msgid="499334244765270108">"Audiobijlage"</string>
     <string name="audio_play_content_description" msgid="4932509227281251607">"Audiobijlage afspelen"</string>
     <string name="audio_pause_content_description" msgid="7578169887065513701">"Onderbreken"</string>
-    <string name="incoming_message_announcement" msgid="6369259405539452011">"Bericht van <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Mislukt bericht van <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Tijd: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Bericht van <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Tijd: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Niet-verzonden bericht aan <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Tijd: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Bericht verzenden naar <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Tijd: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Mislukt bericht aan <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Tijd: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Bericht aan <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Tijd: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Mislukt bericht van <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Tijd: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Bericht van <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Tijd: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Niet-verzonden bericht aan <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Tijd: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Bericht verzenden naar <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Tijd: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Mislukt bericht aan <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Tijd: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Bericht aan <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Tijd: <xliff:g id="TIME">%s</xliff:g>."</string>
+    <string name="incoming_message_announcement" msgid="6369259405539452011">"Bericht van <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Mislukt bericht van <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Tijd: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Bericht van <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Tijd: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Niet-verzonden bericht aan <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Tijd: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Bericht verzenden naar <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Tijd: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Mislukt bericht aan <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Tijd: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Bericht aan <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Tijd: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Mislukt bericht van <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Tijd: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Bericht van <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Tijd: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Niet-verzonden bericht aan <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Tijd: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Bericht verzenden naar <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Tijd: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Mislukt bericht aan <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Tijd: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Bericht aan <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Tijd: <xliff:g id="TIME">%3$s</xliff:g>."</string>
     <string name="failed_message_content_description" msgid="7047161648867054936">"Bericht mislukt. Tik om het opnieuw te proberen."</string>
     <string name="group_conversation_description" msgid="2339270924401184182">"Gesprek met <xliff:g id="PARTICIPANTS">%s</xliff:g>"</string>
     <string name="delete_subject_content_description" msgid="8910749398836396698">"Onderwerp verwijderen"</string>
@@ -258,7 +258,7 @@
     <string name="mms_messaging_category_pref_title" msgid="4816815152658525660">"Mms"</string>
     <string name="advanced_category_pref_title" msgid="6411454224069259687">"Geavanceerd"</string>
     <string name="debug_category_pref_title" msgid="8765138968242505061">"Fouten opsporen"</string>
-    <string name="notifications_enabled_pref_title" msgid="4127288731844373795">"Meldingen"</string>
+    <string name="notifications_pref_title" msgid="4127288731844373795">"Meldingen"</string>
     <string name="notification_sound_pref_title" msgid="3685506528957337849">"Geluid"</string>
     <string name="silent_ringtone" msgid="8073534180322059814">"Stil"</string>
     <string name="notification_vibrate_pref_title" msgid="6668564570045187390">"Trillen"</string>
@@ -359,7 +359,7 @@
     <string name="add_contact_confirmation" msgid="1479380805406328264">"Contact toevoegen"</string>
     <string name="compose_message_view_subject_hint_text" msgid="6076616675845705660">"Onderwerp"</string>
     <string name="conversation_message_view_subject_text" msgid="5634274498769555505">"Onderwerp: "</string>
-    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%s</xliff:g><xliff:g id="MESSAGETEXT">%s</xliff:g>"</string>
+    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%1$s</xliff:g><xliff:g id="MESSAGETEXT">%2$s</xliff:g>"</string>
     <string name="loading_vcard" msgid="3961520941271265083">"Contactkaart laden"</string>
     <string name="failed_loading_vcard" msgid="7711070643740368402">"Kan visitekaartje niet laden"</string>
     <string name="vcard_tap_hint" msgid="4940284329175200952">"Contactkaart weergeven"</string>
diff --git a/res/values-or/cm_strings.xml b/res/values-or/cm_strings.xml
new file mode 100644
index 0000000..ce52536
--- /dev/null
+++ b/res/values-or/cm_strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="swipe_to_delete_conversation_pref_title">ବିଲୋପ କରିବାକୁ ସ୍ଵାଇପ୍ କରନ୍ତୁ</string>
+    <string name="swipe_to_delete_conversation_pref_summary">ବିଲୋପ କରିବା ପାଇଁ ଡାହାଣକୁ ସ୍ଵାଇପ୍ କରନ୍ତୁ</string>
+    <string name="show_emoticons_pref_title">ଇମୋଟିକନ୍‍ ଆକ୍ସେସ୍</string>
+    <string name="show_emoticons_pref_summary">ସୋ ଦ ଇମୋକସନ କି ଅନ ଦି କିବୋର୍ଡ଼</string>
+</resources>
diff --git a/res/values-pa/strings.xml b/res/values-pa/strings.xml
index 3be69e1..a385aa6 100644
--- a/res/values-pa/strings.xml
+++ b/res/values-pa/strings.xml
@@ -202,19 +202,19 @@
     <string name="audio_attachment_content_description" msgid="499334244765270108">"ਔਡੀਓ ਅਟੈਚਮੈਂਟ"</string>
     <string name="audio_play_content_description" msgid="4932509227281251607">"ਔਡੀਓ ਅਟੈਚਮੈਂਟ ਪਲੇ ਕਰੋ"</string>
     <string name="audio_pause_content_description" msgid="7578169887065513701">"ਰੋਕੋ"</string>
-    <string name="incoming_message_announcement" msgid="6369259405539452011">"<xliff:g id="SENDER">%s</xliff:g> ਦਾ ਸੁਨੇਹਾ: <xliff:g id="MESSAGE">%s</xliff:g>।"</string>
-    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"<xliff:g id="SENDER">%s</xliff:g> ਦਾ ਸੁਨੇਹਾ ਅਸਫਲ: <xliff:g id="MESSAGE">%s</xliff:g>। ਸਮਾਂ: <xliff:g id="TIME">%s</xliff:g>।"</string>
-    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"<xliff:g id="SENDER">%s</xliff:g> ਦਾ ਸੁਨੇਹਾ: <xliff:g id="MESSAGE">%s</xliff:g>। ਸਮਾਂ: <xliff:g id="TIME">%s</xliff:g>।"</string>
-    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"<xliff:g id="CONTACT">%s</xliff:g> ਨੂੰ ਨਾ ਭੇਜਿਆ ਗਿਆ ਸੁਨੇਹਾ: <xliff:g id="MESSAGE">%s</xliff:g>। Time: <xliff:g id="TIME">%s</xliff:g>।"</string>
-    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"<xliff:g id="CONTACT">%s</xliff:g> ਨੂੰ ਸੁਨੇਹਾ ਭੇਜ ਰਿਹਾ ਹੈ: <xliff:g id="MESSAGE">%s</xliff:g>। ਸਮਾਂ: <xliff:g id="TIME">%s</xliff:g>।"</string>
-    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"<xliff:g id="CONTACT">%s</xliff:g> ਨੂੰ ਸੁਨੇਹਾ ਭੇਜਣਾ ਅਸਫਲ: <xliff:g id="MESSAGE">%s</xliff:g>। ਸਮਾਂ: <xliff:g id="TIME">%s</xliff:g>।"</string>
-    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"<xliff:g id="CONTACT">%s</xliff:g> ਨੂੰ ਸੁਨੇਹਾ: <xliff:g id="MESSAGE">%s</xliff:g>। ਸਮਾਂ: <xliff:g id="TIME">%s</xliff:g>।"</string>
-    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"<xliff:g id="SENDER">%s</xliff:g> ਦਾ ਸੁਨੇਹਾ ਅਸਫਲ: <xliff:g id="MESSAGE">%s</xliff:g>। ਸਮਾਂ: <xliff:g id="TIME">%s</xliff:g>। <xliff:g id="GROUPINFO">%s</xliff:g>।"</string>
-    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"<xliff:g id="SENDER">%s</xliff:g> ਦਾ ਸੁਨੇਹਾ: <xliff:g id="MESSAGE">%s</xliff:g>. ਸਮਾਂ: <xliff:g id="TIME">%s</xliff:g>। <xliff:g id="GROUPINFO">%s</xliff:g>।"</string>
-    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"<xliff:g id="GROUP">%s</xliff:g> ਨੂੰ ਨਾ ਭੇਜਿਆ ਗਿਆ ਸੁਨੇਹਾ: <xliff:g id="MESSAGE">%s</xliff:g>। ਸਮਾਂ: <xliff:g id="TIME">%s</xliff:g>।"</string>
-    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"<xliff:g id="GROUP">%s</xliff:g> ਨੂੰ ਸੁਨੇਹਾ ਭੇਜ ਰਿਹਾ ਹੈ: <xliff:g id="MESSAGE">%s</xliff:g>। ਸਮਾਂ: <xliff:g id="TIME">%s</xliff:g>।"</string>
-    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"<xliff:g id="GROUP">%s</xliff:g> ਨੂੰ ਸੁਨੇਹਾ ਭੇਜਣਾ ਅਸਫਲ: <xliff:g id="MESSAGE">%s</xliff:g>। ਸਮਾਂ: <xliff:g id="TIME">%s</xliff:g>।"</string>
-    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"<xliff:g id="GROUP">%s</xliff:g> ਨੂੰ ਸੁਨੇਹਾ: <xliff:g id="MESSAGE">%s</xliff:g>। ਸਮਾਂ: <xliff:g id="TIME">%s</xliff:g>।"</string>
+    <string name="incoming_message_announcement" msgid="6369259405539452011">"<xliff:g id="SENDER">%1$s</xliff:g> ਦਾ ਸੁਨੇਹਾ: <xliff:g id="MESSAGE">%2$s</xliff:g>।"</string>
+    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"<xliff:g id="SENDER">%1$s</xliff:g> ਦਾ ਸੁਨੇਹਾ ਅਸਫਲ: <xliff:g id="MESSAGE">%2$s</xliff:g>। ਸਮਾਂ: <xliff:g id="TIME">%3$s</xliff:g>।"</string>
+    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"<xliff:g id="SENDER">%1$s</xliff:g> ਦਾ ਸੁਨੇਹਾ: <xliff:g id="MESSAGE">%2$s</xliff:g>। ਸਮਾਂ: <xliff:g id="TIME">%3$s</xliff:g>।"</string>
+    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"<xliff:g id="CONTACT">%1$s</xliff:g> ਨੂੰ ਨਾ ਭੇਜਿਆ ਗਿਆ ਸੁਨੇਹਾ: <xliff:g id="MESSAGE">%2$s</xliff:g>। Time: <xliff:g id="TIME">%3$s</xliff:g>।"</string>
+    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"<xliff:g id="CONTACT">%1$s</xliff:g> ਨੂੰ ਸੁਨੇਹਾ ਭੇਜ ਰਿਹਾ ਹੈ: <xliff:g id="MESSAGE">%2$s</xliff:g>। ਸਮਾਂ: <xliff:g id="TIME">%3$s</xliff:g>।"</string>
+    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"<xliff:g id="CONTACT">%1$s</xliff:g> ਨੂੰ ਸੁਨੇਹਾ ਭੇਜਣਾ ਅਸਫਲ: <xliff:g id="MESSAGE">%2$s</xliff:g>। ਸਮਾਂ: <xliff:g id="TIME">%3$s</xliff:g>।"</string>
+    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"<xliff:g id="CONTACT">%1$s</xliff:g> ਨੂੰ ਸੁਨੇਹਾ: <xliff:g id="MESSAGE">%2$s</xliff:g>। ਸਮਾਂ: <xliff:g id="TIME">%3$s</xliff:g>।"</string>
+    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"<xliff:g id="SENDER">%1$s</xliff:g> ਦਾ ਸੁਨੇਹਾ ਅਸਫਲ: <xliff:g id="MESSAGE">%2$s</xliff:g>। ਸਮਾਂ: <xliff:g id="TIME">%3$s</xliff:g>। <xliff:g id="GROUPINFO">%3$s</xliff:g>।"</string>
+    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"<xliff:g id="SENDER">%1$s</xliff:g> ਦਾ ਸੁਨੇਹਾ: <xliff:g id="MESSAGE">%2$s</xliff:g>. ਸਮਾਂ: <xliff:g id="TIME">%3$s</xliff:g>। <xliff:g id="GROUPINFO">%3$s</xliff:g>।"</string>
+    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"<xliff:g id="GROUP">%1$s</xliff:g> ਨੂੰ ਨਾ ਭੇਜਿਆ ਗਿਆ ਸੁਨੇਹਾ: <xliff:g id="MESSAGE">%2$s</xliff:g>। ਸਮਾਂ: <xliff:g id="TIME">%3$s</xliff:g>।"</string>
+    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"<xliff:g id="GROUP">%1$s</xliff:g> ਨੂੰ ਸੁਨੇਹਾ ਭੇਜ ਰਿਹਾ ਹੈ: <xliff:g id="MESSAGE">%2$s</xliff:g>। ਸਮਾਂ: <xliff:g id="TIME">%3$s</xliff:g>।"</string>
+    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"<xliff:g id="GROUP">%1$s</xliff:g> ਨੂੰ ਸੁਨੇਹਾ ਭੇਜਣਾ ਅਸਫਲ: <xliff:g id="MESSAGE">%2$s</xliff:g>। ਸਮਾਂ: <xliff:g id="TIME">%3$s</xliff:g>।"</string>
+    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"<xliff:g id="GROUP">%1$s</xliff:g> ਨੂੰ ਸੁਨੇਹਾ: <xliff:g id="MESSAGE">%2$s</xliff:g>। ਸਮਾਂ: <xliff:g id="TIME">%3$s</xliff:g>।"</string>
     <string name="failed_message_content_description" msgid="7047161648867054936">"ਸੁਨੇਹਾ ਅਸਫਲ। ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰਨ ਲਈ ਛੋਹਵੋ।"</string>
     <string name="group_conversation_description" msgid="2339270924401184182">"<xliff:g id="PARTICIPANTS">%s</xliff:g> ਨਾਲ ਗੱਲਬਾਤ ਕਰੋ"</string>
     <string name="delete_subject_content_description" msgid="8910749398836396698">"ਵਿਸ਼ਾ ਹਟਾਓ"</string>
@@ -258,7 +258,7 @@
     <string name="mms_messaging_category_pref_title" msgid="4816815152658525660">"MMS"</string>
     <string name="advanced_category_pref_title" msgid="6411454224069259687">"ਉੱਨਤ"</string>
     <string name="debug_category_pref_title" msgid="8765138968242505061">"ਡੀਬਗ ਕਰੋ"</string>
-    <string name="notifications_enabled_pref_title" msgid="4127288731844373795">"ਸੂਚਨਾਵਾਂ"</string>
+    <string name="notifications_pref_title" msgid="4127288731844373795">"ਸੂਚਨਾਵਾਂ"</string>
     <string name="notification_sound_pref_title" msgid="3685506528957337849">"ਅਵਾਜ਼"</string>
     <string name="silent_ringtone" msgid="8073534180322059814">"ਸਾਈਲੈਂਟ"</string>
     <string name="notification_vibrate_pref_title" msgid="6668564570045187390">"ਵਾਈਬ੍ਰੇਟ"</string>
@@ -359,7 +359,7 @@
     <string name="add_contact_confirmation" msgid="1479380805406328264">"ਸੰਪਰਕ ਜੋੜੋ"</string>
     <string name="compose_message_view_subject_hint_text" msgid="6076616675845705660">"ਵਿਸ਼ਾ"</string>
     <string name="conversation_message_view_subject_text" msgid="5634274498769555505">"ਵਿਸ਼ਾ: "</string>
-    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%s</xliff:g><xliff:g id="MESSAGETEXT">%s</xliff:g>"</string>
+    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%1$s</xliff:g><xliff:g id="MESSAGETEXT">%2$s</xliff:g>"</string>
     <string name="loading_vcard" msgid="3961520941271265083">"ਸੰਪਰਕ ਕਾਰਡ ਲੋਡ ਕਰ ਰਿਹਾ ਹੈ"</string>
     <string name="failed_loading_vcard" msgid="7711070643740368402">"ਸੰਪਰਕ ਕਾਰਡ ਲੋਡ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ।"</string>
     <string name="vcard_tap_hint" msgid="4940284329175200952">"ਸੰਪਰਕ ਕਾਰਡ ਦੇਖੋ"</string>
diff --git a/res/values-pl/cm_strings.xml b/res/values-pl/cm_strings.xml
new file mode 100644
index 0000000..b0f4c91
--- /dev/null
+++ b/res/values-pl/cm_strings.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="swipe_to_delete_conversation_pref_title">Przesuń, aby usunąć</string>
+    <string name="swipe_to_delete_conversation_pref_summary">Przesuń w prawo, aby usunąć konwersację</string>
+    <string name="show_emoticons_pref_title">Dostęp do emotikon</string>
+    <string name="show_emoticons_pref_summary">Pokaż klawisz emotikon na klawiaturze</string>
+    <string name="notification_mark_as_read">Oznacz jako przeczytane</string>
+    <string name="notification_channel_messages_title">Wiadomości</string>
+</resources>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 0ee2511..f79f349 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -226,19 +226,19 @@
     <string name="audio_attachment_content_description" msgid="499334244765270108">"Załącznik audio"</string>
     <string name="audio_play_content_description" msgid="4932509227281251607">"Odtwórz załącznik audio"</string>
     <string name="audio_pause_content_description" msgid="7578169887065513701">"Pauza"</string>
-    <string name="incoming_message_announcement" msgid="6369259405539452011">"Wiadomość od użytkownika <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Nieudane odbieranie wiadomości od: <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Godzina: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Wiadomość od: <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Godzina: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Niewysłana wiadomość do: <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Godzina: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Wysyłanie wiadomości do: <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Godzina: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Nieudane wysyłanie wiadomości do: <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Godzina: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Wiadomość do: <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Godzina: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Nieudane odbieranie wiadomości od: <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Godzina: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Wiadomość od: <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Godzina: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Niewysłana wiadomość do: <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Godzina: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Wysyłanie wiadomości do: <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Godzina: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Nieudane wysyłanie wiadomości do: <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Godzina: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Wiadomość do: <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Godzina: <xliff:g id="TIME">%s</xliff:g>."</string>
+    <string name="incoming_message_announcement" msgid="6369259405539452011">"Wiadomość od użytkownika <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Nieudane odbieranie wiadomości od: <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Godzina: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Wiadomość od: <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Godzina: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Niewysłana wiadomość do: <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Godzina: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Wysyłanie wiadomości do: <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Godzina: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Nieudane wysyłanie wiadomości do: <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Godzina: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Wiadomość do: <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Godzina: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Nieudane odbieranie wiadomości od: <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Godzina: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Wiadomość od: <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Godzina: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Niewysłana wiadomość do: <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Godzina: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Wysyłanie wiadomości do: <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Godzina: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Nieudane wysyłanie wiadomości do: <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Godzina: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Wiadomość do: <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Godzina: <xliff:g id="TIME">%3$s</xliff:g>."</string>
     <string name="failed_message_content_description" msgid="7047161648867054936">"Niedostarczona wiadomość. Kliknij, aby ponowić próbę."</string>
     <string name="group_conversation_description" msgid="2339270924401184182">"Rozmowa z: <xliff:g id="PARTICIPANTS">%s</xliff:g>"</string>
     <string name="delete_subject_content_description" msgid="8910749398836396698">"Usuń temat"</string>
@@ -294,7 +294,7 @@
     <string name="mms_messaging_category_pref_title" msgid="4816815152658525660">"MMS"</string>
     <string name="advanced_category_pref_title" msgid="6411454224069259687">"Zaawansowane"</string>
     <string name="debug_category_pref_title" msgid="8765138968242505061">"Debugowanie"</string>
-    <string name="notifications_enabled_pref_title" msgid="4127288731844373795">"Powiadomienia"</string>
+    <string name="notifications_pref_title" msgid="4127288731844373795">"Powiadomienia"</string>
     <string name="notification_sound_pref_title" msgid="3685506528957337849">"Dźwięk"</string>
     <string name="silent_ringtone" msgid="8073534180322059814">"Cichy"</string>
     <string name="notification_vibrate_pref_title" msgid="6668564570045187390">"Wibracje"</string>
@@ -407,7 +407,7 @@
     <string name="add_contact_confirmation" msgid="1479380805406328264">"Dodaj kontakt"</string>
     <string name="compose_message_view_subject_hint_text" msgid="6076616675845705660">"Temat"</string>
     <string name="conversation_message_view_subject_text" msgid="5634274498769555505">"Temat: "</string>
-    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%s</xliff:g><xliff:g id="MESSAGETEXT">%s</xliff:g>"</string>
+    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%1$s</xliff:g><xliff:g id="MESSAGETEXT">%2$s</xliff:g>"</string>
     <string name="loading_vcard" msgid="3961520941271265083">"Ładowanie wizytówki"</string>
     <string name="failed_loading_vcard" msgid="7711070643740368402">"Nie można załadować wizytówki"</string>
     <string name="vcard_tap_hint" msgid="4940284329175200952">"Wyświetl wizytówkę"</string>
diff --git a/res/values-pt-rBR/cm_strings.xml b/res/values-pt-rBR/cm_strings.xml
new file mode 100644
index 0000000..2dde085
--- /dev/null
+++ b/res/values-pt-rBR/cm_strings.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="swipe_to_delete_conversation_pref_title">Deslize para excluir</string>
+    <string name="swipe_to_delete_conversation_pref_summary">Deslize para a direita para excluir uma mensagem</string>
+    <string name="show_emoticons_pref_title">Acesso a emoticons</string>
+    <string name="show_emoticons_pref_summary">Mostrar o botão de emoticons no teclado</string>
+    <string name="notification_mark_as_read">Marcar como lida</string>
+    <string name="notification_channel_messages_title">Mensagens</string>
+</resources>
diff --git a/res/values-pt-rPT/cm_strings.xml b/res/values-pt-rPT/cm_strings.xml
new file mode 100644
index 0000000..b662d3b
--- /dev/null
+++ b/res/values-pt-rPT/cm_strings.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="swipe_to_delete_conversation_pref_title">Deslize para apagar</string>
+    <string name="swipe_to_delete_conversation_pref_summary">Deslize para a direita para apagar uma conversa</string>
+    <string name="show_emoticons_pref_title">Acesso a emojis</string>
+    <string name="show_emoticons_pref_summary">Mostrar a tecla dos emojis no teclado</string>
+    <string name="notification_mark_as_read">Marcar como lida</string>
+    <string name="notification_channel_messages_title">Mensagens</string>
+</resources>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index e546031..79c4b02 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -202,19 +202,19 @@
     <string name="audio_attachment_content_description" msgid="499334244765270108">"Anexo de áudio"</string>
     <string name="audio_play_content_description" msgid="4932509227281251607">"Reproduzir anexo de áudio"</string>
     <string name="audio_pause_content_description" msgid="7578169887065513701">"Interromper"</string>
-    <string name="incoming_message_announcement" msgid="6369259405539452011">"Mensagem de <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Mensagem falhada de <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Hora: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Mensagem de <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Hora: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Mensagem não enviada para <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Hora: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"A enviar mensagem para <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Hora: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Mensagem falhada para <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Hora: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Mensagem para <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Hora: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Mensagem falhada de <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Hora: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Mensagem de <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Hora: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Mensagem não enviada para <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Hora: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"A enviar mensagem para <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Hora: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Mensagem falhada para <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Hora: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Mensagem para <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Hora: <xliff:g id="TIME">%s</xliff:g>."</string>
+    <string name="incoming_message_announcement" msgid="6369259405539452011">"Mensagem de <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Mensagem falhada de <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Hora: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Mensagem de <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Hora: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Mensagem não enviada para <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Hora: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"A enviar mensagem para <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Hora: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Mensagem falhada para <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Hora: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Mensagem para <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Hora: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Mensagem falhada de <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Hora: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Mensagem de <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Hora: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Mensagem não enviada para <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Hora: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"A enviar mensagem para <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Hora: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Mensagem falhada para <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Hora: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Mensagem para <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Hora: <xliff:g id="TIME">%3$s</xliff:g>."</string>
     <string name="failed_message_content_description" msgid="7047161648867054936">"Mensagem falhada. Toque para tentar novamente."</string>
     <string name="group_conversation_description" msgid="2339270924401184182">"Conversa com <xliff:g id="PARTICIPANTS">%s</xliff:g>"</string>
     <string name="delete_subject_content_description" msgid="8910749398836396698">"Eliminar assunto"</string>
@@ -258,7 +258,7 @@
     <string name="mms_messaging_category_pref_title" msgid="4816815152658525660">"MMS"</string>
     <string name="advanced_category_pref_title" msgid="6411454224069259687">"Avançadas"</string>
     <string name="debug_category_pref_title" msgid="8765138968242505061">"Depurar"</string>
-    <string name="notifications_enabled_pref_title" msgid="4127288731844373795">"Notificações"</string>
+    <string name="notifications_pref_title" msgid="4127288731844373795">"Notificações"</string>
     <string name="notification_sound_pref_title" msgid="3685506528957337849">"Som"</string>
     <string name="silent_ringtone" msgid="8073534180322059814">"Silencioso"</string>
     <string name="notification_vibrate_pref_title" msgid="6668564570045187390">"Vibrar"</string>
@@ -359,7 +359,7 @@
     <string name="add_contact_confirmation" msgid="1479380805406328264">"Adicionar contacto"</string>
     <string name="compose_message_view_subject_hint_text" msgid="6076616675845705660">"Assunto"</string>
     <string name="conversation_message_view_subject_text" msgid="5634274498769555505">"Assunto: "</string>
-    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%s</xliff:g><xliff:g id="MESSAGETEXT">%s</xliff:g>"</string>
+    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%1$s</xliff:g><xliff:g id="MESSAGETEXT">%2$s</xliff:g>"</string>
     <string name="loading_vcard" msgid="3961520941271265083">"A carregar o cartão de contacto"</string>
     <string name="failed_loading_vcard" msgid="7711070643740368402">"Não foi possível carregar o cartão de contacto"</string>
     <string name="vcard_tap_hint" msgid="4940284329175200952">"Ver cartão de contacto"</string>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index c9fdfad..d8fbfe3 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -202,19 +202,19 @@
     <string name="audio_attachment_content_description" msgid="499334244765270108">"Anexo de áudio"</string>
     <string name="audio_play_content_description" msgid="4932509227281251607">"Reproduzir anexo de áudio"</string>
     <string name="audio_pause_content_description" msgid="7578169887065513701">"Pausa"</string>
-    <string name="incoming_message_announcement" msgid="6369259405539452011">"Mensagem de <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Falha na mensagem de <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Hora: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Mensagem de <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Hora: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Mensagem não enviada para <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Hora: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Enviando mensagem para <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Hora: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Falha na mensagem para <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Hora: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Mensagem para <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Hora: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Falha na mensagem de <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Hora: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Mensagem de <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Hora: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Mensagem não enviada para <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Hora: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Enviando mensagem para <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Hora: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Falha na mensagem para <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Hora: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Mensagem para <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Hora: <xliff:g id="TIME">%s</xliff:g>."</string>
+    <string name="incoming_message_announcement" msgid="6369259405539452011">"Mensagem de <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Falha na mensagem de <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Hora: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Mensagem de <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Hora: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Mensagem não enviada para <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Hora: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Enviando mensagem para <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Hora: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Falha na mensagem para <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Hora: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Mensagem para <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Hora: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Falha na mensagem de <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Hora: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Mensagem de <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Hora: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Mensagem não enviada para <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Hora: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Enviando mensagem para <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Hora: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Falha na mensagem para <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Hora: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Mensagem para <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Hora: <xliff:g id="TIME">%3$s</xliff:g>."</string>
     <string name="failed_message_content_description" msgid="7047161648867054936">"Falha na mensagem. Toque para tentar novamente."</string>
     <string name="group_conversation_description" msgid="2339270924401184182">"Conversa com <xliff:g id="PARTICIPANTS">%s</xliff:g>"</string>
     <string name="delete_subject_content_description" msgid="8910749398836396698">"Excluir assunto"</string>
@@ -258,7 +258,7 @@
     <string name="mms_messaging_category_pref_title" msgid="4816815152658525660">"MMS"</string>
     <string name="advanced_category_pref_title" msgid="6411454224069259687">"Avançadas"</string>
     <string name="debug_category_pref_title" msgid="8765138968242505061">"Depurar"</string>
-    <string name="notifications_enabled_pref_title" msgid="4127288731844373795">"Notificações"</string>
+    <string name="notifications_pref_title" msgid="4127288731844373795">"Notificações"</string>
     <string name="notification_sound_pref_title" msgid="3685506528957337849">"Som"</string>
     <string name="silent_ringtone" msgid="8073534180322059814">"Silencioso"</string>
     <string name="notification_vibrate_pref_title" msgid="6668564570045187390">"Vibração"</string>
@@ -359,7 +359,7 @@
     <string name="add_contact_confirmation" msgid="1479380805406328264">"Adicionar contato"</string>
     <string name="compose_message_view_subject_hint_text" msgid="6076616675845705660">"Assunto"</string>
     <string name="conversation_message_view_subject_text" msgid="5634274498769555505">"Assunto: "</string>
-    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%s</xliff:g><xliff:g id="MESSAGETEXT">%s</xliff:g>"</string>
+    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%1$s</xliff:g><xliff:g id="MESSAGETEXT">%2$s</xliff:g>"</string>
     <string name="loading_vcard" msgid="3961520941271265083">"Carregando cartão de visita"</string>
     <string name="failed_loading_vcard" msgid="7711070643740368402">"Falha ao carregar o cartão de visita"</string>
     <string name="vcard_tap_hint" msgid="4940284329175200952">"Ver cartão de visita"</string>
diff --git a/res/values-ro/cm_strings.xml b/res/values-ro/cm_strings.xml
new file mode 100644
index 0000000..18651c3
--- /dev/null
+++ b/res/values-ro/cm_strings.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="swipe_to_delete_conversation_pref_title">Glisare pentru a șterge</string>
+    <string name="swipe_to_delete_conversation_pref_summary">Glisați spre dreapta pentru a şterge o conversație</string>
+    <string name="show_emoticons_pref_title">Acces emoticoane</string>
+    <string name="show_emoticons_pref_summary">Arată emoticoane pe tastatură</string>
+    <string name="notification_mark_as_read">Marchează ca citit</string>
+    <string name="notification_channel_messages_title">Mesaje</string>
+</resources>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index 25b2d8c..89e8120 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -214,19 +214,19 @@
     <string name="audio_attachment_content_description" msgid="499334244765270108">"Atașament audio"</string>
     <string name="audio_play_content_description" msgid="4932509227281251607">"Redați atașamentul audio"</string>
     <string name="audio_pause_content_description" msgid="7578169887065513701">"Pauză"</string>
-    <string name="incoming_message_announcement" msgid="6369259405539452011">"Mesaj de la <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Mesaj neprimit de la <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Ora: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Mesaj de la <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Ora: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Mesaj netrimis către <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Ora: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Se trimite mesajul către <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Ora: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Mesaj netrimis către <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Ora: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Mesaj către <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Ora: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Mesaj neprimit de la <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Ora: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Mesaj de la <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Ora: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Mesaj netrimis către <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Ora: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Se trimite mesajul către <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Ora: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Mesaj netrimis către <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Ora: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Mesaj către <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Ora: <xliff:g id="TIME">%s</xliff:g>."</string>
+    <string name="incoming_message_announcement" msgid="6369259405539452011">"Mesaj de la <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Mesaj neprimit de la <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Ora: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Mesaj de la <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Ora: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Mesaj netrimis către <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Ora: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Se trimite mesajul către <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Ora: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Mesaj netrimis către <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Ora: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Mesaj către <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Ora: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Mesaj neprimit de la <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Ora: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Mesaj de la <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Ora: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Mesaj netrimis către <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Ora: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Se trimite mesajul către <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Ora: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Mesaj netrimis către <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Ora: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Mesaj către <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Ora: <xliff:g id="TIME">%3$s</xliff:g>."</string>
     <string name="failed_message_content_description" msgid="7047161648867054936">"Mesaj nelivrat. Atingeți pentru a reîncerca."</string>
     <string name="group_conversation_description" msgid="2339270924401184182">"Conversație cu <xliff:g id="PARTICIPANTS">%s</xliff:g>"</string>
     <string name="delete_subject_content_description" msgid="8910749398836396698">"Ștergeți subiectul"</string>
@@ -276,7 +276,7 @@
     <string name="mms_messaging_category_pref_title" msgid="4816815152658525660">"MMS"</string>
     <string name="advanced_category_pref_title" msgid="6411454224069259687">"Avansate"</string>
     <string name="debug_category_pref_title" msgid="8765138968242505061">"Remedierea erorilor"</string>
-    <string name="notifications_enabled_pref_title" msgid="4127288731844373795">"Notificări"</string>
+    <string name="notifications_pref_title" msgid="4127288731844373795">"Notificări"</string>
     <string name="notification_sound_pref_title" msgid="3685506528957337849">"Sunet"</string>
     <string name="silent_ringtone" msgid="8073534180322059814">"Silențios"</string>
     <string name="notification_vibrate_pref_title" msgid="6668564570045187390">"Vibrații"</string>
@@ -383,7 +383,7 @@
     <string name="add_contact_confirmation" msgid="1479380805406328264">"Adăugați o persoană"</string>
     <string name="compose_message_view_subject_hint_text" msgid="6076616675845705660">"Subiect"</string>
     <string name="conversation_message_view_subject_text" msgid="5634274498769555505">"Subiect: "</string>
-    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%s</xliff:g><xliff:g id="MESSAGETEXT">%s</xliff:g>"</string>
+    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%1$s</xliff:g><xliff:g id="MESSAGETEXT">%2$s</xliff:g>"</string>
     <string name="loading_vcard" msgid="3961520941271265083">"Se încarcă cartea de vizită"</string>
     <string name="failed_loading_vcard" msgid="7711070643740368402">"Cartea de vizită nu a putut fi încărcată"</string>
     <string name="vcard_tap_hint" msgid="4940284329175200952">"Vedeți cartea de vizită"</string>
diff --git a/res/values-ru/cm_strings.xml b/res/values-ru/cm_strings.xml
new file mode 100644
index 0000000..c86034b
--- /dev/null
+++ b/res/values-ru/cm_strings.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="swipe_to_delete_conversation_pref_title">Свайп для удаления</string>
+    <string name="swipe_to_delete_conversation_pref_summary">Свайп вправо для удаления разговора</string>
+    <string name="show_emoticons_pref_title">Доступ к смайлам</string>
+    <string name="show_emoticons_pref_summary">Показать кнопку смайлов на клавиатуре</string>
+    <string name="notification_mark_as_read">Прочитано</string>
+    <string name="notification_channel_messages_title">Сообщения</string>
+</resources>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index 0683b2b..830e0dc 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -226,19 +226,19 @@
     <string name="audio_attachment_content_description" msgid="499334244765270108">"Аудиофайл"</string>
     <string name="audio_play_content_description" msgid="4932509227281251607">"Воспроизвести прикрепленный аудиофайл"</string>
     <string name="audio_pause_content_description" msgid="7578169887065513701">"Пауза"</string>
-    <string name="incoming_message_announcement" msgid="6369259405539452011">"Сообщение от пользователя <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Не удалось отправить сообщение от пользователя <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Время: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Сообщение от пользователя <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Время: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Неотправленное сообщение для пользователя <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Время: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Отправляется сообщение для пользователя <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Время: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Не удалось отправить сообщение для пользователя <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Время: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Сообщение для пользователя <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Время: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Не удалось отправить сообщение от пользователя <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Время: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Сообщение от пользователя <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Время: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Неотправленное сообщение для группы <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Время: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Отправляется сообщение для группы <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Время: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Не удалось отправить сообщение для группы <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Время: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Сообщение для группы <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Время: <xliff:g id="TIME">%s</xliff:g>."</string>
+    <string name="incoming_message_announcement" msgid="6369259405539452011">"Сообщение от пользователя <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Не удалось отправить сообщение от пользователя <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Время: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Сообщение от пользователя <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Время: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Неотправленное сообщение для пользователя <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Время: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Отправляется сообщение для пользователя <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Время: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Не удалось отправить сообщение для пользователя <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Время: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Сообщение для пользователя <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Время: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Не удалось отправить сообщение от пользователя <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Время: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Сообщение от пользователя <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Время: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Неотправленное сообщение для группы <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Время: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Отправляется сообщение для группы <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Время: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Не удалось отправить сообщение для группы <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Время: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Сообщение для группы <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Время: <xliff:g id="TIME">%3$s</xliff:g>."</string>
     <string name="failed_message_content_description" msgid="7047161648867054936">"Не удалось отправить сообщение. Нажмите, чтобы повторить попытку."</string>
     <string name="group_conversation_description" msgid="2339270924401184182">"Чат с пользователями <xliff:g id="PARTICIPANTS">%s</xliff:g>"</string>
     <string name="delete_subject_content_description" msgid="8910749398836396698">"Удалить тему."</string>
@@ -294,7 +294,7 @@
     <string name="mms_messaging_category_pref_title" msgid="4816815152658525660">"MMS"</string>
     <string name="advanced_category_pref_title" msgid="6411454224069259687">"Дополнительные настройки"</string>
     <string name="debug_category_pref_title" msgid="8765138968242505061">"Выполнить отладку"</string>
-    <string name="notifications_enabled_pref_title" msgid="4127288731844373795">"Уведомления"</string>
+    <string name="notifications_pref_title" msgid="4127288731844373795">"Уведомления"</string>
     <string name="notification_sound_pref_title" msgid="3685506528957337849">"Звуковой сигнал"</string>
     <string name="silent_ringtone" msgid="8073534180322059814">"Без звука"</string>
     <string name="notification_vibrate_pref_title" msgid="6668564570045187390">"Вибросигнал"</string>
@@ -407,7 +407,7 @@
     <string name="add_contact_confirmation" msgid="1479380805406328264">"Добавить"</string>
     <string name="compose_message_view_subject_hint_text" msgid="6076616675845705660">"Тема"</string>
     <string name="conversation_message_view_subject_text" msgid="5634274498769555505">"Тема: "</string>
-    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%s</xliff:g><xliff:g id="MESSAGETEXT">%s</xliff:g>"</string>
+    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%1$s</xliff:g><xliff:g id="MESSAGETEXT">%2$s</xliff:g>"</string>
     <string name="loading_vcard" msgid="3961520941271265083">"Загрузка карточки контакта…"</string>
     <string name="failed_loading_vcard" msgid="7711070643740368402">"Не удалось загрузить карточку контакта"</string>
     <string name="vcard_tap_hint" msgid="4940284329175200952">"Посмотреть карточку контакта"</string>
diff --git a/res/values-sc-rIT/cm_strings.xml b/res/values-sc-rIT/cm_strings.xml
new file mode 100644
index 0000000..0556aed
--- /dev/null
+++ b/res/values-sc-rIT/cm_strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="notification_mark_as_read">Sinna comente lèghidu</string>
+</resources>
diff --git a/res/values-si/strings.xml b/res/values-si/strings.xml
index 11a5943..c19518d 100644
--- a/res/values-si/strings.xml
+++ b/res/values-si/strings.xml
@@ -202,19 +202,19 @@
     <string name="audio_attachment_content_description" msgid="499334244765270108">"ශ්‍රව්‍ය ඇමුණුම"</string>
     <string name="audio_play_content_description" msgid="4932509227281251607">"ශ්‍රව්‍ය ඇමුණුම ධාවනය කරන්න"</string>
     <string name="audio_pause_content_description" msgid="7578169887065513701">"විරාමය"</string>
-    <string name="incoming_message_announcement" msgid="6369259405539452011">"<xliff:g id="SENDER">%s</xliff:g> වෙතින් පණිවිඩය: <xliff:g id="MESSAGE">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"<xliff:g id="SENDER">%s</xliff:g> වෙතින් අසාර්ථක පණිවිඩයක්: <xliff:g id="MESSAGE">%s</xliff:g>. වේලාව: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"<xliff:g id="SENDER">%s</xliff:g> වෙතින් පණිවිඩයක්: <xliff:g id="MESSAGE">%s</xliff:g>. වේලාව: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"<xliff:g id="CONTACT">%s</xliff:g> වෙත නොයැවූ පණිවිඩයක්: <xliff:g id="MESSAGE">%s</xliff:g>. වේලාව: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"<xliff:g id="CONTACT">%s</xliff:g> වෙත පණිවිඩයක් යවමින්: <xliff:g id="MESSAGE">%s</xliff:g>. වේලාව: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"<xliff:g id="CONTACT">%s</xliff:g> වෙත අසාර්ථක පණිවිඩයක්: <xliff:g id="MESSAGE">%s</xliff:g>. වේලාව: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"<xliff:g id="CONTACT">%s</xliff:g> වෙත පණිවිඩයක්: <xliff:g id="MESSAGE">%s</xliff:g>. වේලාව: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"<xliff:g id="SENDER">%s</xliff:g> වෙතින් අසාර්ථක පණිවිඩයක්: <xliff:g id="MESSAGE">%s</xliff:g>. වේලාව: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"<xliff:g id="SENDER">%s</xliff:g> වෙතින් පණිවිඩයක්: <xliff:g id="MESSAGE">%s</xliff:g>. වේලාව: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"<xliff:g id="GROUP">%s</xliff:g> වෙත නොයැවූ පණිවිඩය: <xliff:g id="MESSAGE">%s</xliff:g>. වේලාව: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"<xliff:g id="GROUP">%s</xliff:g> වෙත පණිවිඩයක් යවමින්: <xliff:g id="MESSAGE">%s</xliff:g>. වේලාව: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"<xliff:g id="GROUP">%s</xliff:g> වෙත අසාර්ථක පණිවිඩයක්: <xliff:g id="MESSAGE">%s</xliff:g>. වේලාව: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"<xliff:g id="GROUP">%s</xliff:g> වෙත පණිවිඩයක්: <xliff:g id="MESSAGE">%s</xliff:g>. වේලාව: <xliff:g id="TIME">%s</xliff:g>."</string>
+    <string name="incoming_message_announcement" msgid="6369259405539452011">"<xliff:g id="SENDER">%1$s</xliff:g> වෙතින් පණිවිඩය: <xliff:g id="MESSAGE">%2$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"<xliff:g id="SENDER">%1$s</xliff:g> වෙතින් අසාර්ථක පණිවිඩයක්: <xliff:g id="MESSAGE">%2$s</xliff:g>. වේලාව: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"<xliff:g id="SENDER">%1$s</xliff:g> වෙතින් පණිවිඩයක්: <xliff:g id="MESSAGE">%2$s</xliff:g>. වේලාව: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"<xliff:g id="CONTACT">%1$s</xliff:g> වෙත නොයැවූ පණිවිඩයක්: <xliff:g id="MESSAGE">%2$s</xliff:g>. වේලාව: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"<xliff:g id="CONTACT">%1$s</xliff:g> වෙත පණිවිඩයක් යවමින්: <xliff:g id="MESSAGE">%2$s</xliff:g>. වේලාව: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"<xliff:g id="CONTACT">%1$s</xliff:g> වෙත අසාර්ථක පණිවිඩයක්: <xliff:g id="MESSAGE">%2$s</xliff:g>. වේලාව: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"<xliff:g id="CONTACT">%1$s</xliff:g> වෙත පණිවිඩයක්: <xliff:g id="MESSAGE">%2$s</xliff:g>. වේලාව: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"<xliff:g id="SENDER">%1$s</xliff:g> වෙතින් අසාර්ථක පණිවිඩයක්: <xliff:g id="MESSAGE">%2$s</xliff:g>. වේලාව: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"<xliff:g id="SENDER">%1$s</xliff:g> වෙතින් පණිවිඩයක්: <xliff:g id="MESSAGE">%2$s</xliff:g>. වේලාව: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"<xliff:g id="GROUP">%1$s</xliff:g> වෙත නොයැවූ පණිවිඩය: <xliff:g id="MESSAGE">%2$s</xliff:g>. වේලාව: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"<xliff:g id="GROUP">%1$s</xliff:g> වෙත පණිවිඩයක් යවමින්: <xliff:g id="MESSAGE">%2$s</xliff:g>. වේලාව: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"<xliff:g id="GROUP">%1$s</xliff:g> වෙත අසාර්ථක පණිවිඩයක්: <xliff:g id="MESSAGE">%2$s</xliff:g>. වේලාව: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"<xliff:g id="GROUP">%1$s</xliff:g> වෙත පණිවිඩයක්: <xliff:g id="MESSAGE">%2$s</xliff:g>. වේලාව: <xliff:g id="TIME">%3$s</xliff:g>."</string>
     <string name="failed_message_content_description" msgid="7047161648867054936">"පණිවිඩය අසාර්ථක විය. නැවත උත්සාහ කිරීමට ස්පර්ශ කරන්න."</string>
     <string name="group_conversation_description" msgid="2339270924401184182">"<xliff:g id="PARTICIPANTS">%s</xliff:g> සමඟ සංවාදය"</string>
     <string name="delete_subject_content_description" msgid="8910749398836396698">"කාරණය මකන්න"</string>
@@ -258,7 +258,7 @@
     <string name="mms_messaging_category_pref_title" msgid="4816815152658525660">"MMS"</string>
     <string name="advanced_category_pref_title" msgid="6411454224069259687">"උසස්"</string>
     <string name="debug_category_pref_title" msgid="8765138968242505061">"නිදොස්කරණය"</string>
-    <string name="notifications_enabled_pref_title" msgid="4127288731844373795">"දැනුම්දීම්"</string>
+    <string name="notifications_pref_title" msgid="4127288731844373795">"දැනුම්දීම්"</string>
     <string name="notification_sound_pref_title" msgid="3685506528957337849">"ශබ්දය"</string>
     <string name="silent_ringtone" msgid="8073534180322059814">"නිහඬ"</string>
     <string name="notification_vibrate_pref_title" msgid="6668564570045187390">"කම්පනය වන්න"</string>
@@ -359,7 +359,7 @@
     <string name="add_contact_confirmation" msgid="1479380805406328264">"සම්බන්ධතාවය එකතු කරන්න"</string>
     <string name="compose_message_view_subject_hint_text" msgid="6076616675845705660">"මාතෘකාව"</string>
     <string name="conversation_message_view_subject_text" msgid="5634274498769555505">"මාතෘකාව "</string>
-    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%s</xliff:g><xliff:g id="MESSAGETEXT">%s</xliff:g>"</string>
+    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%1$s</xliff:g><xliff:g id="MESSAGETEXT">%2$s</xliff:g>"</string>
     <string name="loading_vcard" msgid="3961520941271265083">"සම්බන්ධතා කාඩ් පත් පුර්ණ කරමින්"</string>
     <string name="failed_loading_vcard" msgid="7711070643740368402">"සම්බන්ධතා කාඩ්පත පුර්ණය කළ නොහැක"</string>
     <string name="vcard_tap_hint" msgid="4940284329175200952">"සම්බන්ධ්තා කාඩ්පත පෙන්වන්න"</string>
diff --git a/res/values-sk/cm_strings.xml b/res/values-sk/cm_strings.xml
new file mode 100644
index 0000000..6fd262e
--- /dev/null
+++ b/res/values-sk/cm_strings.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="swipe_to_delete_conversation_pref_title">Potiahnutím zmazať</string>
+    <string name="swipe_to_delete_conversation_pref_summary">Potiahnutím vpravo zmazať konverzáciu</string>
+    <string name="show_emoticons_pref_title">Zobrazenie smajlíkov</string>
+    <string name="show_emoticons_pref_summary">Klávesu pre zobrazenie smajlíkov zobrazovať na klávesnici</string>
+    <string name="notification_mark_as_read">Označiť ako prečítané</string>
+    <string name="notification_channel_messages_title">Správy</string>
+</resources>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index 32ec96b..3003d77 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -226,19 +226,19 @@
     <string name="audio_attachment_content_description" msgid="499334244765270108">"Zvuková príloha"</string>
     <string name="audio_play_content_description" msgid="4932509227281251607">"Prehrať zvukovú prílohu"</string>
     <string name="audio_pause_content_description" msgid="7578169887065513701">"Pozastaviť"</string>
-    <string name="incoming_message_announcement" msgid="6369259405539452011">"Správa od používateľa <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>"</string>
-    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Správa od používateľa <xliff:g id="SENDER">%s</xliff:g> bola neúspešná: <xliff:g id="MESSAGE">%s</xliff:g>. Čas: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Správa od používateľa <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Čas: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Správa nebola odoslaná používateľovi <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Čas: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Odosiela sa správa používateľovi <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Čas: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Správa používateľovi <xliff:g id="CONTACT">%s</xliff:g> bola neúspešná: <xliff:g id="MESSAGE">%s</xliff:g>. Čas: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Správa používateľovi <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Čas: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Neúspešná správa od používateľa <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Čas: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Správa od používateľa <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Čas: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Správa nebola odoslaná skupine <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Čas: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Odosiela sa správa skupine <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Čas: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Správa skupine <xliff:g id="GROUP">%s</xliff:g> bola neúspešná: <xliff:g id="MESSAGE">%s</xliff:g>. Čas: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Správa skupine <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Čas: <xliff:g id="TIME">%s</xliff:g>."</string>
+    <string name="incoming_message_announcement" msgid="6369259405539452011">"Správa od používateľa <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>"</string>
+    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Správa od používateľa <xliff:g id="SENDER">%1$s</xliff:g> bola neúspešná: <xliff:g id="MESSAGE">%2$s</xliff:g>. Čas: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Správa od používateľa <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Čas: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Správa nebola odoslaná používateľovi <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Čas: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Odosiela sa správa používateľovi <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Čas: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Správa používateľovi <xliff:g id="CONTACT">%1$s</xliff:g> bola neúspešná: <xliff:g id="MESSAGE">%2$s</xliff:g>. Čas: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Správa používateľovi <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Čas: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Neúspešná správa od používateľa <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Čas: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Správa od používateľa <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Čas: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Správa nebola odoslaná skupine <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Čas: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Odosiela sa správa skupine <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Čas: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Správa skupine <xliff:g id="GROUP">%1$s</xliff:g> bola neúspešná: <xliff:g id="MESSAGE">%2$s</xliff:g>. Čas: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Správa skupine <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Čas: <xliff:g id="TIME">%3$s</xliff:g>."</string>
     <string name="failed_message_content_description" msgid="7047161648867054936">"Neúspešná správa. Skúste to znova klepnutím."</string>
     <string name="group_conversation_description" msgid="2339270924401184182">"Rozhovor s používateľmi <xliff:g id="PARTICIPANTS">%s</xliff:g>"</string>
     <string name="delete_subject_content_description" msgid="8910749398836396698">"Odstrániť predmet"</string>
@@ -294,7 +294,7 @@
     <string name="mms_messaging_category_pref_title" msgid="4816815152658525660">"MMS"</string>
     <string name="advanced_category_pref_title" msgid="6411454224069259687">"Rozšírené"</string>
     <string name="debug_category_pref_title" msgid="8765138968242505061">"Ladiť"</string>
-    <string name="notifications_enabled_pref_title" msgid="4127288731844373795">"Upozornenia"</string>
+    <string name="notifications_pref_title" msgid="4127288731844373795">"Upozornenia"</string>
     <string name="notification_sound_pref_title" msgid="3685506528957337849">"Zvuk"</string>
     <string name="silent_ringtone" msgid="8073534180322059814">"Tichý režim"</string>
     <string name="notification_vibrate_pref_title" msgid="6668564570045187390">"Vibrovanie"</string>
@@ -407,7 +407,7 @@
     <string name="add_contact_confirmation" msgid="1479380805406328264">"Pridať kontakt"</string>
     <string name="compose_message_view_subject_hint_text" msgid="6076616675845705660">"Predmet"</string>
     <string name="conversation_message_view_subject_text" msgid="5634274498769555505">"Predmet: "</string>
-    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%s</xliff:g><xliff:g id="MESSAGETEXT">%s</xliff:g>"</string>
+    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%1$s</xliff:g><xliff:g id="MESSAGETEXT">%2$s</xliff:g>"</string>
     <string name="loading_vcard" msgid="3961520941271265083">"Načítava sa vizitka"</string>
     <string name="failed_loading_vcard" msgid="7711070643740368402">"Nepodarilo sa načítať vizitku"</string>
     <string name="vcard_tap_hint" msgid="4940284329175200952">"Zobraziť vizitku"</string>
diff --git a/res/values-sl/cm_strings.xml b/res/values-sl/cm_strings.xml
new file mode 100644
index 0000000..d77aeb7
--- /dev/null
+++ b/res/values-sl/cm_strings.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="swipe_to_delete_conversation_pref_title">Poteg za brisanje</string>
+    <string name="swipe_to_delete_conversation_pref_summary">Povlecite desno za izbris pogovora</string>
+    <string name="show_emoticons_pref_title">Dostop do izraznih ikon</string>
+    <string name="show_emoticons_pref_summary">Na tipkovnici prikaži tipko za izrazne ikone</string>
+    <string name="notification_mark_as_read">Označi kot prebrano</string>
+    <string name="notification_channel_messages_title">Sporočila</string>
+</resources>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index 2352632..3775a17 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -226,19 +226,19 @@
     <string name="audio_attachment_content_description" msgid="499334244765270108">"Zvočna priloga"</string>
     <string name="audio_play_content_description" msgid="4932509227281251607">"Predvajanje zvočne priloge"</string>
     <string name="audio_pause_content_description" msgid="7578169887065513701">"Začasna zaustavitev"</string>
-    <string name="incoming_message_announcement" msgid="6369259405539452011">"Sporočilo pošiljatelja <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Neuspelo sporočilo osebe <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Čas: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Sporočilo osebe <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Čas: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Neposlano sporočilo osebi <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Čas: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Pošiljanje sporočila osebi <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Čas: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Neuspelo sporočilo osebi <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Čas: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Sporočilo osebi <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Čas: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Neuspelo sporočilo osebe <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Čas: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Sporočilo osebe <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Čas: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Neposlano sporočilo skupini <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Čas: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Pošiljanje sporočila skupini <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Čas: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Neuspelo sporočilo skupini <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Čas: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Sporočilo skupini <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Čas: <xliff:g id="TIME">%s</xliff:g>."</string>
+    <string name="incoming_message_announcement" msgid="6369259405539452011">"Sporočilo pošiljatelja <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Neuspelo sporočilo osebe <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Čas: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Sporočilo osebe <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Čas: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Neposlano sporočilo osebi <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Čas: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Pošiljanje sporočila osebi <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Čas: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Neuspelo sporočilo osebi <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Čas: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Sporočilo osebi <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Čas: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Neuspelo sporočilo osebe <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Čas: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Sporočilo osebe <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Čas: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Neposlano sporočilo skupini <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Čas: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Pošiljanje sporočila skupini <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Čas: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Neuspelo sporočilo skupini <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Čas: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Sporočilo skupini <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Čas: <xliff:g id="TIME">%3$s</xliff:g>."</string>
     <string name="failed_message_content_description" msgid="7047161648867054936">"Neuspelo sporočilo. Dotaknite se za vnovičen poskus."</string>
     <string name="group_conversation_description" msgid="2339270924401184182">"Pogovor z udeleženci <xliff:g id="PARTICIPANTS">%s</xliff:g>"</string>
     <string name="delete_subject_content_description" msgid="8910749398836396698">"Izbris zadeve"</string>
@@ -294,7 +294,7 @@
     <string name="mms_messaging_category_pref_title" msgid="4816815152658525660">"MMS"</string>
     <string name="advanced_category_pref_title" msgid="6411454224069259687">"Dodatno"</string>
     <string name="debug_category_pref_title" msgid="8765138968242505061">"Odpravljanje napak"</string>
-    <string name="notifications_enabled_pref_title" msgid="4127288731844373795">"Obvestila"</string>
+    <string name="notifications_pref_title" msgid="4127288731844373795">"Obvestila"</string>
     <string name="notification_sound_pref_title" msgid="3685506528957337849">"Zvok"</string>
     <string name="silent_ringtone" msgid="8073534180322059814">"Tiho"</string>
     <string name="notification_vibrate_pref_title" msgid="6668564570045187390">"Vibriranje"</string>
@@ -407,7 +407,7 @@
     <string name="add_contact_confirmation" msgid="1479380805406328264">"Dodaj stik"</string>
     <string name="compose_message_view_subject_hint_text" msgid="6076616675845705660">"Zadeva"</string>
     <string name="conversation_message_view_subject_text" msgid="5634274498769555505">"Zadeva: "</string>
-    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%s</xliff:g><xliff:g id="MESSAGETEXT">%s</xliff:g>"</string>
+    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%1$s</xliff:g><xliff:g id="MESSAGETEXT">%2$s</xliff:g>"</string>
     <string name="loading_vcard" msgid="3961520941271265083">"Nalaganje osebne vizitke"</string>
     <string name="failed_loading_vcard" msgid="7711070643740368402">"Vizitke ni bilo mogoče naložiti"</string>
     <string name="vcard_tap_hint" msgid="4940284329175200952">"Ogled osebne vizitke"</string>
diff --git a/res/values-sq/cm_strings.xml b/res/values-sq/cm_strings.xml
new file mode 100644
index 0000000..caa5f40
--- /dev/null
+++ b/res/values-sq/cm_strings.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="swipe_to_delete_conversation_pref_title">Rrëshqit gishtin për të fshirë</string>
+    <string name="swipe_to_delete_conversation_pref_summary">Rrëshqit gishtin djathtas për të fshirë një bisedë</string>
+    <string name="show_emoticons_pref_title">Aksesi i emotikonave</string>
+    <string name="show_emoticons_pref_summary">Trego tastin e emotikonave në tastjerë</string>
+    <string name="notification_mark_as_read">Shëno si të lexuar</string>
+    <string name="notification_channel_messages_title">Mesazhet</string>
+</resources>
diff --git a/res/values-sq/strings.xml b/res/values-sq/strings.xml
index b98ea92..1cf5ccc 100644
--- a/res/values-sq/strings.xml
+++ b/res/values-sq/strings.xml
@@ -202,19 +202,19 @@
     <string name="audio_attachment_content_description" msgid="499334244765270108">"Bashkëngjitja audio"</string>
     <string name="audio_play_content_description" msgid="4932509227281251607">"Luaj bashkëngjitjen në audio"</string>
     <string name="audio_pause_content_description" msgid="7578169887065513701">"Pauzë"</string>
-    <string name="incoming_message_announcement" msgid="6369259405539452011">"Mesazh nga <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Mesazh i dështuar nga <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Ora: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Mesazh nga <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Ora: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Mesazh i padërguar për <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Ora: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Po dërgon mesazh te <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Ora: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Mesazh i dështuar për <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Ora: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Mesazh për <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Ora: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Mesazh i dështuar nga <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>.  Ora: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Mesazh nga <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Ora: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Mesazh i padërguar për <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Ora: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Po dërgon mesazh te <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Ora: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Mesazh i dështuar për <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Ora: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Mesazh për <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Ora: <xliff:g id="TIME">%s</xliff:g>."</string>
+    <string name="incoming_message_announcement" msgid="6369259405539452011">"Mesazh nga <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Mesazh i dështuar nga <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Ora: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Mesazh nga <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Ora: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Mesazh i padërguar për <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Ora: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Po dërgon mesazh te <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Ora: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Mesazh i dështuar për <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Ora: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Mesazh për <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Ora: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Mesazh i dështuar nga <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>.  Ora: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Mesazh nga <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Ora: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Mesazh i padërguar për <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Ora: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Po dërgon mesazh te <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Ora: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Mesazh i dështuar për <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Ora: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Mesazh për <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Ora: <xliff:g id="TIME">%3$s</xliff:g>."</string>
     <string name="failed_message_content_description" msgid="7047161648867054936">"Mesazhi dështoi. Prek për ta provuar sërish."</string>
     <string name="group_conversation_description" msgid="2339270924401184182">"Bisedë me <xliff:g id="PARTICIPANTS">%s</xliff:g>"</string>
     <string name="delete_subject_content_description" msgid="8910749398836396698">"Fshi subjektin"</string>
@@ -258,7 +258,7 @@
     <string name="mms_messaging_category_pref_title" msgid="4816815152658525660">"MMS"</string>
     <string name="advanced_category_pref_title" msgid="6411454224069259687">"Të përparuara"</string>
     <string name="debug_category_pref_title" msgid="8765138968242505061">"Korrigjo"</string>
-    <string name="notifications_enabled_pref_title" msgid="4127288731844373795">"Njoftime"</string>
+    <string name="notifications_pref_title" msgid="4127288731844373795">"Njoftime"</string>
     <string name="notification_sound_pref_title" msgid="3685506528957337849">"Zëri"</string>
     <string name="silent_ringtone" msgid="8073534180322059814">"Hesht"</string>
     <string name="notification_vibrate_pref_title" msgid="6668564570045187390">"Dridh"</string>
@@ -359,7 +359,7 @@
     <string name="add_contact_confirmation" msgid="1479380805406328264">"Shto kontakt"</string>
     <string name="compose_message_view_subject_hint_text" msgid="6076616675845705660">"Subjekti"</string>
     <string name="conversation_message_view_subject_text" msgid="5634274498769555505">"Subjekti: "</string>
-    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%s</xliff:g><xliff:g id="MESSAGETEXT">%s</xliff:g>"</string>
+    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%1$s</xliff:g><xliff:g id="MESSAGETEXT">%2$s</xliff:g>"</string>
     <string name="loading_vcard" msgid="3961520941271265083">"Po ngarkon kartën e kontaktit"</string>
     <string name="failed_loading_vcard" msgid="7711070643740368402">"Nuk arriti të ngarkonte kartën e kontakteve"</string>
     <string name="vcard_tap_hint" msgid="4940284329175200952">"Shiko kartën e kontaktit"</string>
diff --git a/res/values-sr/cm_strings.xml b/res/values-sr/cm_strings.xml
new file mode 100644
index 0000000..68198ee
--- /dev/null
+++ b/res/values-sr/cm_strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="swipe_to_delete_conversation_pref_title">Брисање превлачењем</string>
+    <string name="swipe_to_delete_conversation_pref_summary">Превуците у десно да бисте избрисали конверзацију</string>
+    <string name="show_emoticons_pref_title">Приступ емотиконима</string>
+    <string name="show_emoticons_pref_summary">Прикажите дугме са емотиконима на тастатури</string>
+    <string name="notification_mark_as_read">Означи као прочитано</string>
+</resources>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index 7155cd9..ed60dc4 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -214,19 +214,19 @@
     <string name="audio_attachment_content_description" msgid="499334244765270108">"Аудио прилог"</string>
     <string name="audio_play_content_description" msgid="4932509227281251607">"Пусти аудио прилог"</string>
     <string name="audio_pause_content_description" msgid="7578169887065513701">"Пауза"</string>
-    <string name="incoming_message_announcement" msgid="6369259405539452011">"<xliff:g id="SENDER">%s</xliff:g> вам шаље нову поруку: <xliff:g id="MESSAGE">%s</xliff:g>"</string>
-    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Није примљена порука од корисника <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Време: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Порука од корисника <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Време: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Порука није послата кориснику <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Време: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Шаље се порука кориснику <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Време: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Није успело слање поруке кориснику <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Време: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Порука кориснику <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Време: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Није примљена порука од корисника <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Време: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Порука од корисника <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Време: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Порука која није послата групи <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Време: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Шаље се порука групи <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Време: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Није успело слање поруке групи <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Време: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Порука групи <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Време: <xliff:g id="TIME">%s</xliff:g>."</string>
+    <string name="incoming_message_announcement" msgid="6369259405539452011">"<xliff:g id="SENDER">%1$s</xliff:g> вам шаље нову поруку: <xliff:g id="MESSAGE">%2$s</xliff:g>"</string>
+    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Није примљена порука од корисника <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Време: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Порука од корисника <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Време: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Порука није послата кориснику <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Време: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Шаље се порука кориснику <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Време: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Није успело слање поруке кориснику <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Време: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Порука кориснику <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Време: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Није примљена порука од корисника <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Време: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Порука од корисника <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Време: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Порука која није послата групи <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Време: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Шаље се порука групи <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Време: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Није успело слање поруке групи <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Време: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Порука групи <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Време: <xliff:g id="TIME">%3$s</xliff:g>."</string>
     <string name="failed_message_content_description" msgid="7047161648867054936">"Слање поруке није успело. Додирните да бисте поново покушали."</string>
     <string name="group_conversation_description" msgid="2339270924401184182">"Конверзација са учесницима <xliff:g id="PARTICIPANTS">%s</xliff:g>"</string>
     <string name="delete_subject_content_description" msgid="8910749398836396698">"Брисање наслова"</string>
@@ -276,7 +276,7 @@
     <string name="mms_messaging_category_pref_title" msgid="4816815152658525660">"MMS"</string>
     <string name="advanced_category_pref_title" msgid="6411454224069259687">"Напредно"</string>
     <string name="debug_category_pref_title" msgid="8765138968242505061">"Отклањање грешака"</string>
-    <string name="notifications_enabled_pref_title" msgid="4127288731844373795">"Обавештења"</string>
+    <string name="notifications_pref_title" msgid="4127288731844373795">"Обавештења"</string>
     <string name="notification_sound_pref_title" msgid="3685506528957337849">"Звук"</string>
     <string name="silent_ringtone" msgid="8073534180322059814">"Нечујно"</string>
     <string name="notification_vibrate_pref_title" msgid="6668564570045187390">"Вибрација"</string>
@@ -383,7 +383,7 @@
     <string name="add_contact_confirmation" msgid="1479380805406328264">"Додај контакт"</string>
     <string name="compose_message_view_subject_hint_text" msgid="6076616675845705660">"Наслов"</string>
     <string name="conversation_message_view_subject_text" msgid="5634274498769555505">"Наслов: "</string>
-    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%s</xliff:g><xliff:g id="MESSAGETEXT">%s</xliff:g>"</string>
+    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%1$s</xliff:g><xliff:g id="MESSAGETEXT">%2$s</xliff:g>"</string>
     <string name="loading_vcard" msgid="3961520941271265083">"Учитава се картица контакта"</string>
     <string name="failed_loading_vcard" msgid="7711070643740368402">"Учитавање картице контакта није успело"</string>
     <string name="vcard_tap_hint" msgid="4940284329175200952">"Погледајте картицу контакта"</string>
diff --git a/res/values-sv/cm_strings.xml b/res/values-sv/cm_strings.xml
new file mode 100644
index 0000000..fea90e1
--- /dev/null
+++ b/res/values-sv/cm_strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="swipe_to_delete_conversation_pref_title">Svep för att radera</string>
+    <string name="swipe_to_delete_conversation_pref_summary">Svep till höger för att ta bort en konversation</string>
+    <string name="show_emoticons_pref_title">Tillgång till uttryckssymboler</string>
+    <string name="show_emoticons_pref_summary">Visa knappen för uttryckssymboler på tangentbordet</string>
+</resources>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index 36ad85c..e0ac4b5 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -202,19 +202,19 @@
     <string name="audio_attachment_content_description" msgid="499334244765270108">"Ljudbilaga"</string>
     <string name="audio_play_content_description" msgid="4932509227281251607">"Spela upp ljudbilaga"</string>
     <string name="audio_pause_content_description" msgid="7578169887065513701">"Pausa"</string>
-    <string name="incoming_message_announcement" msgid="6369259405539452011">"Meddelande från <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Meddelande som inte kunde skickas från <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Tidpunkt: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Meddelande från <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Tidpunkt: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Meddelande som inte har skickats till <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Tidpunkt: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Skickar meddelande till <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Tidpunkt: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Meddelande som inte kunde skickas till <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Tidpunkt: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Meddelande till <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Tidpunkt: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Meddelande som inte kunde skickas från <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Tidpunkt: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Meddelande från <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Tidpunkt: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Meddelande som inte har skickats till <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Tidpunkt: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Skickar meddelande till <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Tidpunkt: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Meddelande som inte kunde skickas till <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Tidpunkt: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Meddelande till <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Tidpunkt: <xliff:g id="TIME">%s</xliff:g>."</string>
+    <string name="incoming_message_announcement" msgid="6369259405539452011">"Meddelande från <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Meddelande som inte kunde skickas från <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Tidpunkt: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Meddelande från <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Tidpunkt: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Meddelande som inte har skickats till <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Tidpunkt: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Skickar meddelande till <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Tidpunkt: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Meddelande som inte kunde skickas till <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Tidpunkt: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Meddelande till <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Tidpunkt: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Meddelande som inte kunde skickas från <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Tidpunkt: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Meddelande från <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Tidpunkt: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Meddelande som inte har skickats till <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Tidpunkt: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Skickar meddelande till <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Tidpunkt: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Meddelande som inte kunde skickas till <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Tidpunkt: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Meddelande till <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Tidpunkt: <xliff:g id="TIME">%3$s</xliff:g>."</string>
     <string name="failed_message_content_description" msgid="7047161648867054936">"Det här meddelandet gick inte att skicka. Tryck om du vill försöka igen."</string>
     <string name="group_conversation_description" msgid="2339270924401184182">"Samtal med <xliff:g id="PARTICIPANTS">%s</xliff:g>"</string>
     <string name="delete_subject_content_description" msgid="8910749398836396698">"Radera ämne"</string>
@@ -258,7 +258,7 @@
     <string name="mms_messaging_category_pref_title" msgid="4816815152658525660">"Mms"</string>
     <string name="advanced_category_pref_title" msgid="6411454224069259687">"Avancerat"</string>
     <string name="debug_category_pref_title" msgid="8765138968242505061">"Felsökning"</string>
-    <string name="notifications_enabled_pref_title" msgid="4127288731844373795">"Aviseringar"</string>
+    <string name="notifications_pref_title" msgid="4127288731844373795">"Aviseringar"</string>
     <string name="notification_sound_pref_title" msgid="3685506528957337849">"Ljud"</string>
     <string name="silent_ringtone" msgid="8073534180322059814">"Tyst"</string>
     <string name="notification_vibrate_pref_title" msgid="6668564570045187390">"Vibration"</string>
@@ -359,7 +359,7 @@
     <string name="add_contact_confirmation" msgid="1479380805406328264">"Lägg till kontakt"</string>
     <string name="compose_message_view_subject_hint_text" msgid="6076616675845705660">"Ämne"</string>
     <string name="conversation_message_view_subject_text" msgid="5634274498769555505">"Ämne: "</string>
-    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%s</xliff:g><xliff:g id="MESSAGETEXT">%s</xliff:g>"</string>
+    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%1$s</xliff:g><xliff:g id="MESSAGETEXT">%2$s</xliff:g>"</string>
     <string name="loading_vcard" msgid="3961520941271265083">"Läser in visitkort"</string>
     <string name="failed_loading_vcard" msgid="7711070643740368402">"Det gick inte att läsa in kontaktkortet"</string>
     <string name="vcard_tap_hint" msgid="4940284329175200952">"Visa visitkort"</string>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index b415367..381089a 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -202,19 +202,19 @@
     <string name="audio_attachment_content_description" msgid="499334244765270108">"Kiambatisho cha sauti"</string>
     <string name="audio_play_content_description" msgid="4932509227281251607">"Cheza kiambatisho cha sauti"</string>
     <string name="audio_pause_content_description" msgid="7578169887065513701">"Sitisha"</string>
-    <string name="incoming_message_announcement" msgid="6369259405539452011">"Ujumbe kutoka kwa <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Ujumbe ulioshindikana kutoka kwa <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Saa: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Ujumbe kutoka <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Saa: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Ujumbe ambao haukutumwa kwa <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Saa: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Inatuma ujumbe kwa <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Saa: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Ujumbe ulioshindikana kwa <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Saa: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Ujumbe kwa <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Saa: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Ujumbe ulioshindikana kutoka kwa <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Saa: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Ujumbe kutoka <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Saa: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Ujumbe ambao haukutumwa kwa <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Saa: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Inatuma ujumbe kwa <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Saa: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Ujumbe ulioshindikana kwenda kwa <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Saa: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Ujumbe kwa <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Saa: <xliff:g id="TIME">%s</xliff:g>."</string>
+    <string name="incoming_message_announcement" msgid="6369259405539452011">"Ujumbe kutoka kwa <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Ujumbe ulioshindikana kutoka kwa <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Saa: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Ujumbe kutoka <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Saa: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Ujumbe ambao haukutumwa kwa <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Saa: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Inatuma ujumbe kwa <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Saa: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Ujumbe ulioshindikana kwa <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Saa: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Ujumbe kwa <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Saa: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Ujumbe ulioshindikana kutoka kwa <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Saa: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Ujumbe kutoka <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Saa: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Ujumbe ambao haukutumwa kwa <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Saa: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Inatuma ujumbe kwa <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Saa: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Ujumbe ulioshindikana kwenda kwa <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Saa: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Ujumbe kwa <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Saa: <xliff:g id="TIME">%3$s</xliff:g>."</string>
     <string name="failed_message_content_description" msgid="7047161648867054936">"Ujumbe ulishindikana. Gusa ili ujaribu tena."</string>
     <string name="group_conversation_description" msgid="2339270924401184182">"Mazungumzo na <xliff:g id="PARTICIPANTS">%s</xliff:g>"</string>
     <string name="delete_subject_content_description" msgid="8910749398836396698">"Futa kichwa"</string>
@@ -258,7 +258,7 @@
     <string name="mms_messaging_category_pref_title" msgid="4816815152658525660">"MMS"</string>
     <string name="advanced_category_pref_title" msgid="6411454224069259687">"Mahiri"</string>
     <string name="debug_category_pref_title" msgid="8765138968242505061">"Tatua"</string>
-    <string name="notifications_enabled_pref_title" msgid="4127288731844373795">"Arifa"</string>
+    <string name="notifications_pref_title" msgid="4127288731844373795">"Arifa"</string>
     <string name="notification_sound_pref_title" msgid="3685506528957337849">"Mlio"</string>
     <string name="silent_ringtone" msgid="8073534180322059814">"Kimya"</string>
     <string name="notification_vibrate_pref_title" msgid="6668564570045187390">"Tetema"</string>
@@ -359,7 +359,7 @@
     <string name="add_contact_confirmation" msgid="1479380805406328264">"Ongeza Anwani"</string>
     <string name="compose_message_view_subject_hint_text" msgid="6076616675845705660">"Kichwa"</string>
     <string name="conversation_message_view_subject_text" msgid="5634274498769555505">"Kichwa: "</string>
-    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%s</xliff:g><xliff:g id="MESSAGETEXT">%s</xliff:g>"</string>
+    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%1$s</xliff:g><xliff:g id="MESSAGETEXT">%2$s</xliff:g>"</string>
     <string name="loading_vcard" msgid="3961520941271265083">"Inapakia kadi ya anwani"</string>
     <string name="failed_loading_vcard" msgid="7711070643740368402">"Haikuweza kupakia kadi ya anwani"</string>
     <string name="vcard_tap_hint" msgid="4940284329175200952">"Angalia kadi ya anwani"</string>
diff --git a/res/values-ta/cm_strings.xml b/res/values-ta/cm_strings.xml
new file mode 100644
index 0000000..9d7ad57
--- /dev/null
+++ b/res/values-ta/cm_strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="swipe_to_delete_conversation_pref_title">நீக்குவதற்கு தேய்க்கவும்</string>
+    <string name="swipe_to_delete_conversation_pref_summary">ஒரு உரையாடல் நீக்குவதற்கு வலது பக்கமாக தேய்க்கவும்</string>
+    <string name="show_emoticons_pref_title">எமோடிகான்கள் அணுகல்</string>
+    <string name="show_emoticons_pref_summary">விசைப்பலகையில் உள்ள எமோடிகான் விசையை காண்பிக்கவும்</string>
+</resources>
diff --git a/res/values-ta/strings.xml b/res/values-ta/strings.xml
index e107ffe..1b0bf48 100644
--- a/res/values-ta/strings.xml
+++ b/res/values-ta/strings.xml
@@ -202,19 +202,19 @@
     <string name="audio_attachment_content_description" msgid="499334244765270108">"ஆடியோ இணைப்பு"</string>
     <string name="audio_play_content_description" msgid="4932509227281251607">"ஆடியோ இணைப்பை இயக்கவும்"</string>
     <string name="audio_pause_content_description" msgid="7578169887065513701">"இடைநிறுத்து"</string>
-    <string name="incoming_message_announcement" msgid="6369259405539452011">"செய்தி அனுப்பியவர்: <xliff:g id="SENDER">%s</xliff:g> - <xliff:g id="MESSAGE">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"<xliff:g id="SENDER">%s</xliff:g>க்கு அனுப்பிய செய்தி தோல்வி: <xliff:g id="MESSAGE">%s</xliff:g>. நேரம்: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"<xliff:g id="SENDER">%s</xliff:g> அனுப்பிய செய்தி: <xliff:g id="MESSAGE">%s</xliff:g>. நேரம்: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"<xliff:g id="CONTACT">%s</xliff:g>க்கு அனுப்பப்படாத செய்தி: <xliff:g id="MESSAGE">%s</xliff:g>. நேரம்: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"<xliff:g id="CONTACT">%s</xliff:g>க்குச் செய்தி அனுப்புகிறது: <xliff:g id="MESSAGE">%s</xliff:g>. நேரம்: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"<xliff:g id="CONTACT">%s</xliff:g>க்கு அனுப்பிய செய்தி தோல்வி: <xliff:g id="MESSAGE">%s</xliff:g>. நேரம்: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"<xliff:g id="CONTACT">%s</xliff:g>க்கான செய்தி: <xliff:g id="MESSAGE">%s</xliff:g>. நேரம்: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"<xliff:g id="SENDER">%s</xliff:g>க்கு அனுப்பிய செய்தி தோல்வி: <xliff:g id="MESSAGE">%s</xliff:g>. நேரம்: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"<xliff:g id="SENDER">%s</xliff:g> இடமிருந்து செய்தி: <xliff:g id="MESSAGE">%s</xliff:g>. நேரம்: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"<xliff:g id="GROUP">%s</xliff:g>க்கு அனுப்பப்படாத செய்தி: <xliff:g id="MESSAGE">%s</xliff:g>. நேரம்: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"<xliff:g id="GROUP">%s</xliff:g>க்குச் செய்தி அனுப்புகிறது: <xliff:g id="MESSAGE">%s</xliff:g>. நேரம்: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"<xliff:g id="GROUP">%s</xliff:g>க்கு அனுப்பிய செய்தி தோல்வி: <xliff:g id="MESSAGE">%s</xliff:g>. நேரம்: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"<xliff:g id="GROUP">%s</xliff:g>க்கான செய்தி: <xliff:g id="MESSAGE">%s</xliff:g>. நேரம்: <xliff:g id="TIME">%s</xliff:g>."</string>
+    <string name="incoming_message_announcement" msgid="6369259405539452011">"செய்தி அனுப்பியவர்: <xliff:g id="SENDER">%1$s</xliff:g> - <xliff:g id="MESSAGE">%2$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"<xliff:g id="SENDER">%1$s</xliff:g>க்கு அனுப்பிய செய்தி தோல்வி: <xliff:g id="MESSAGE">%2$s</xliff:g>. நேரம்: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"<xliff:g id="SENDER">%1$s</xliff:g> அனுப்பிய செய்தி: <xliff:g id="MESSAGE">%2$s</xliff:g>. நேரம்: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"<xliff:g id="CONTACT">%1$s</xliff:g>க்கு அனுப்பப்படாத செய்தி: <xliff:g id="MESSAGE">%2$s</xliff:g>. நேரம்: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"<xliff:g id="CONTACT">%1$s</xliff:g>க்குச் செய்தி அனுப்புகிறது: <xliff:g id="MESSAGE">%2$s</xliff:g>. நேரம்: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"<xliff:g id="CONTACT">%1$s</xliff:g>க்கு அனுப்பிய செய்தி தோல்வி: <xliff:g id="MESSAGE">%2$s</xliff:g>. நேரம்: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"<xliff:g id="CONTACT">%1$s</xliff:g>க்கான செய்தி: <xliff:g id="MESSAGE">%2$s</xliff:g>. நேரம்: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"<xliff:g id="SENDER">%1$s</xliff:g>க்கு அனுப்பிய செய்தி தோல்வி: <xliff:g id="MESSAGE">%2$s</xliff:g>. நேரம்: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"<xliff:g id="SENDER">%1$s</xliff:g> இடமிருந்து செய்தி: <xliff:g id="MESSAGE">%2$s</xliff:g>. நேரம்: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"<xliff:g id="GROUP">%1$s</xliff:g>க்கு அனுப்பப்படாத செய்தி: <xliff:g id="MESSAGE">%2$s</xliff:g>. நேரம்: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"<xliff:g id="GROUP">%1$s</xliff:g>க்குச் செய்தி அனுப்புகிறது: <xliff:g id="MESSAGE">%2$s</xliff:g>. நேரம்: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"<xliff:g id="GROUP">%1$s</xliff:g>க்கு அனுப்பிய செய்தி தோல்வி: <xliff:g id="MESSAGE">%2$s</xliff:g>. நேரம்: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"<xliff:g id="GROUP">%1$s</xliff:g>க்கான செய்தி: <xliff:g id="MESSAGE">%2$s</xliff:g>. நேரம்: <xliff:g id="TIME">%3$s</xliff:g>."</string>
     <string name="failed_message_content_description" msgid="7047161648867054936">"செய்தி அனுப்புவதில் தோல்வி. மீண்டும் முயற்சிக்க, தொடவும்."</string>
     <string name="group_conversation_description" msgid="2339270924401184182">"<xliff:g id="PARTICIPANTS">%s</xliff:g> உடனான உரையாடல்"</string>
     <string name="delete_subject_content_description" msgid="8910749398836396698">"தலைப்பை நீக்கு"</string>
@@ -258,7 +258,7 @@
     <string name="mms_messaging_category_pref_title" msgid="4816815152658525660">"MMS"</string>
     <string name="advanced_category_pref_title" msgid="6411454224069259687">"மேம்பட்டவை"</string>
     <string name="debug_category_pref_title" msgid="8765138968242505061">"பிழைத்திருத்து"</string>
-    <string name="notifications_enabled_pref_title" msgid="4127288731844373795">"அறிவிப்புகள்"</string>
+    <string name="notifications_pref_title" msgid="4127288731844373795">"அறிவிப்புகள்"</string>
     <string name="notification_sound_pref_title" msgid="3685506528957337849">"ஒலி"</string>
     <string name="silent_ringtone" msgid="8073534180322059814">"நிசப்தம்"</string>
     <string name="notification_vibrate_pref_title" msgid="6668564570045187390">"அதிர்வு"</string>
@@ -359,7 +359,7 @@
     <string name="add_contact_confirmation" msgid="1479380805406328264">"தொடர்பைச் சேர்"</string>
     <string name="compose_message_view_subject_hint_text" msgid="6076616675845705660">"தலைப்பு"</string>
     <string name="conversation_message_view_subject_text" msgid="5634274498769555505">"தலைப்பு: "</string>
-    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%s</xliff:g><xliff:g id="MESSAGETEXT">%s</xliff:g>"</string>
+    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%1$s</xliff:g><xliff:g id="MESSAGETEXT">%2$s</xliff:g>"</string>
     <string name="loading_vcard" msgid="3961520941271265083">"தொடர்பு கார்டை ஏற்றுகிறது"</string>
     <string name="failed_loading_vcard" msgid="7711070643740368402">"தொடர்பு கார்டை ஏற்ற முடியவில்லை"</string>
     <string name="vcard_tap_hint" msgid="4940284329175200952">"தொடர்பு கார்டைக் காட்டு"</string>
diff --git a/res/values-te/cm_strings.xml b/res/values-te/cm_strings.xml
new file mode 100644
index 0000000..72f5704
--- /dev/null
+++ b/res/values-te/cm_strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="swipe_to_delete_conversation_pref_title">తొలగించడానికి స్వైప్ చెయ్యండి</string>
+    <string name="swipe_to_delete_conversation_pref_summary">ఒక సంభాషణను తొలగించడానికి కుడి ప్రక్కన స్వైప్ చెయ్యండి</string>
+    <string name="show_emoticons_pref_title">ఎమోటికన్స్ యాక్సెస్</string>
+    <string name="show_emoticons_pref_summary">కీబోర్డ్ మీద ఎమోటికన్స్ కీ చూపించు</string>
+</resources>
diff --git a/res/values-te/strings.xml b/res/values-te/strings.xml
index 4a58e0f..9cd231c 100644
--- a/res/values-te/strings.xml
+++ b/res/values-te/strings.xml
@@ -202,19 +202,19 @@
     <string name="audio_attachment_content_description" msgid="499334244765270108">"ఆడియో జోడింపు"</string>
     <string name="audio_play_content_description" msgid="4932509227281251607">"ఆడియో జోడింపుని ప్లే చేయండి"</string>
     <string name="audio_pause_content_description" msgid="7578169887065513701">"పాజ్ చేయి"</string>
-    <string name="incoming_message_announcement" msgid="6369259405539452011">"<xliff:g id="SENDER">%s</xliff:g> నుండి సందేశం: <xliff:g id="MESSAGE">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"<xliff:g id="SENDER">%s</xliff:g> నుండి <xliff:g id="MESSAGE">%s</xliff:g> సందేశం పంపడంలో విఫలమైంది. సమయం: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"<xliff:g id="SENDER">%s</xliff:g> నుండి <xliff:g id="MESSAGE">%s</xliff:g> సందేశం వచ్చింది. సమయం: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"<xliff:g id="CONTACT">%s</xliff:g>కి <xliff:g id="MESSAGE">%s</xliff:g> సందేశం పంపబడలేదు. సమయం: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"<xliff:g id="CONTACT">%s</xliff:g>కి <xliff:g id="MESSAGE">%s</xliff:g> సందేశం పంపబడుతోంది. సమయం: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"<xliff:g id="CONTACT">%s</xliff:g>కి <xliff:g id="MESSAGE">%s</xliff:g> సందేశం పంపడంలో విఫలమైంది. సమయం: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"<xliff:g id="CONTACT">%s</xliff:g>కి <xliff:g id="MESSAGE">%s</xliff:g> సందేశం పంపబడింది. సమయం: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"<xliff:g id="SENDER">%s</xliff:g> నుండి <xliff:g id="MESSAGE">%s</xliff:g> సందేశం పంపడంలో విఫలమైంది. సమయం: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"<xliff:g id="SENDER">%s</xliff:g> నుండి <xliff:g id="MESSAGE">%s</xliff:g> సందేశం వచ్చింది. సమయం: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"<xliff:g id="GROUP">%s</xliff:g>కి <xliff:g id="MESSAGE">%s</xliff:g> సందేశం పంపబడలేదు. సమయం: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"<xliff:g id="GROUP">%s</xliff:g>కి <xliff:g id="MESSAGE">%s</xliff:g> సందేశం పంపబడుతోంది. సమయం: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"<xliff:g id="GROUP">%s</xliff:g>కి <xliff:g id="MESSAGE">%s</xliff:g> సందేశం పంపడంలో విఫలమైంది. సమయం: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"<xliff:g id="GROUP">%s</xliff:g>కి <xliff:g id="MESSAGE">%s</xliff:g> సందేశం పంపబడింది. సమయం: <xliff:g id="TIME">%s</xliff:g>."</string>
+    <string name="incoming_message_announcement" msgid="6369259405539452011">"<xliff:g id="SENDER">%1$s</xliff:g> నుండి సందేశం: <xliff:g id="MESSAGE">%2$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"<xliff:g id="SENDER">%1$s</xliff:g> నుండి <xliff:g id="MESSAGE">%2$s</xliff:g> సందేశం పంపడంలో విఫలమైంది. సమయం: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"<xliff:g id="SENDER">%1$s</xliff:g> నుండి <xliff:g id="MESSAGE">%2$s</xliff:g> సందేశం వచ్చింది. సమయం: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"<xliff:g id="CONTACT">%1$s</xliff:g>కి <xliff:g id="MESSAGE">%2$s</xliff:g> సందేశం పంపబడలేదు. సమయం: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"<xliff:g id="CONTACT">%1$s</xliff:g>కి <xliff:g id="MESSAGE">%2$s</xliff:g> సందేశం పంపబడుతోంది. సమయం: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"<xliff:g id="CONTACT">%1$s</xliff:g>కి <xliff:g id="MESSAGE">%2$s</xliff:g> సందేశం పంపడంలో విఫలమైంది. సమయం: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"<xliff:g id="CONTACT">%1$s</xliff:g>కి <xliff:g id="MESSAGE">%2$s</xliff:g> సందేశం పంపబడింది. సమయం: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"<xliff:g id="SENDER">%1$s</xliff:g> నుండి <xliff:g id="MESSAGE">%2$s</xliff:g> సందేశం పంపడంలో విఫలమైంది. సమయం: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"<xliff:g id="SENDER">%1$s</xliff:g> నుండి <xliff:g id="MESSAGE">%2$s</xliff:g> సందేశం వచ్చింది. సమయం: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"<xliff:g id="GROUP">%1$s</xliff:g>కి <xliff:g id="MESSAGE">%2$s</xliff:g> సందేశం పంపబడలేదు. సమయం: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"<xliff:g id="GROUP">%1$s</xliff:g>కి <xliff:g id="MESSAGE">%2$s</xliff:g> సందేశం పంపబడుతోంది. సమయం: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"<xliff:g id="GROUP">%1$s</xliff:g>కి <xliff:g id="MESSAGE">%2$s</xliff:g> సందేశం పంపడంలో విఫలమైంది. సమయం: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"<xliff:g id="GROUP">%1$s</xliff:g>కి <xliff:g id="MESSAGE">%2$s</xliff:g> సందేశం పంపబడింది. సమయం: <xliff:g id="TIME">%3$s</xliff:g>."</string>
     <string name="failed_message_content_description" msgid="7047161648867054936">"సందేశం పంపడం విఫలమైంది. మళ్లీ ప్రయత్నించడానికి తాకండి."</string>
     <string name="group_conversation_description" msgid="2339270924401184182">"<xliff:g id="PARTICIPANTS">%s</xliff:g>తో సంభాషణ"</string>
     <string name="delete_subject_content_description" msgid="8910749398836396698">"విషయాన్ని తొలగించండి"</string>
@@ -258,7 +258,7 @@
     <string name="mms_messaging_category_pref_title" msgid="4816815152658525660">"MMS"</string>
     <string name="advanced_category_pref_title" msgid="6411454224069259687">"అధునాతనం"</string>
     <string name="debug_category_pref_title" msgid="8765138968242505061">"డీబగ్"</string>
-    <string name="notifications_enabled_pref_title" msgid="4127288731844373795">"నోటిఫికేషన్‌లు"</string>
+    <string name="notifications_pref_title" msgid="4127288731844373795">"నోటిఫికేషన్‌లు"</string>
     <string name="notification_sound_pref_title" msgid="3685506528957337849">"ధ్వని"</string>
     <string name="silent_ringtone" msgid="8073534180322059814">"నిశ్శబ్దం"</string>
     <string name="notification_vibrate_pref_title" msgid="6668564570045187390">"వైబ్రేట్"</string>
@@ -359,7 +359,7 @@
     <string name="add_contact_confirmation" msgid="1479380805406328264">"పరిచయాన్ని జోడించు"</string>
     <string name="compose_message_view_subject_hint_text" msgid="6076616675845705660">"విషయం"</string>
     <string name="conversation_message_view_subject_text" msgid="5634274498769555505">"విషయం: "</string>
-    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%s</xliff:g><xliff:g id="MESSAGETEXT">%s</xliff:g>"</string>
+    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%1$s</xliff:g><xliff:g id="MESSAGETEXT">%2$s</xliff:g>"</string>
     <string name="loading_vcard" msgid="3961520941271265083">"పరిచయ కార్డ్‌ను లోడ్ చేస్తోంది"</string>
     <string name="failed_loading_vcard" msgid="7711070643740368402">"పరిచయ కార్డ్‌ను లోడ్ చేయడం సాధ్యపడలేదు"</string>
     <string name="vcard_tap_hint" msgid="4940284329175200952">"పరిచయ కార్డ్‌ను వీక్షించండి"</string>
diff --git a/res/values-th/cm_strings.xml b/res/values-th/cm_strings.xml
new file mode 100644
index 0000000..b16eb4c
--- /dev/null
+++ b/res/values-th/cm_strings.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="swipe_to_delete_conversation_pref_title">กวาดนิ้วเพื่อลบ</string>
+    <string name="swipe_to_delete_conversation_pref_summary">กวาดนิ้วไปทางขวาเพื่อลบการสนทนา</string>
+    <string name="show_emoticons_pref_title">การเข้าถึงอีโมติคอน</string>
+    <string name="show_emoticons_pref_summary">แสดงแป้นอีโมติคอนบนแป้นพิมพ์</string>
+    <string name="notification_mark_as_read">ทำเครื่องหมายเป็นอ่านแล้ว</string>
+    <string name="notification_channel_messages_title">ข้อความ</string>
+</resources>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index d191be9..ad249c6 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -202,19 +202,19 @@
     <string name="audio_attachment_content_description" msgid="499334244765270108">"ไฟล์แนบเสียง"</string>
     <string name="audio_play_content_description" msgid="4932509227281251607">"เล่นไฟล์เสียงที่แนบอยู่"</string>
     <string name="audio_pause_content_description" msgid="7578169887065513701">"หยุดชั่วคราว"</string>
-    <string name="incoming_message_announcement" msgid="6369259405539452011">"ข้อความจาก <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>"</string>
-    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"ไม่สามารถรับข้อความจาก <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g> เวลา: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"ข้อความจาก <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g> เวลา: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"ข้อความที่ยังไม่ได้ส่งถึง <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g> เวลา: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"กำลังส่งข้อความถึง <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g> เวลา: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"ไม่สามารถส่งข้อความถึง <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g> เวลา: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"ส่งข้อความถึง <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g> เวลา: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"ไม่สามารถรับข้อความจาก <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g> เวลา: <xliff:g id="TIME">%s</xliff:g> <xliff:g id="GROUPINFO">%s</xliff:g>"</string>
-    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"ข้อความจาก <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g> เวลา: <xliff:g id="TIME">%s</xliff:g> <xliff:g id="GROUPINFO">%s</xliff:g>"</string>
-    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"ข้อความที่ยังไม่ได้ส่งถึง <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g> เวลา: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"กำลังส่งข้อความถึง <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g> เวลา: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"ไม่สามารถส่งข้อความถึง <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g> เวลา: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"ส่งข้อความถึง <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g> เวลา: <xliff:g id="TIME">%s</xliff:g>"</string>
+    <string name="incoming_message_announcement" msgid="6369259405539452011">"ข้อความจาก <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>"</string>
+    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"ไม่สามารถรับข้อความจาก <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g> เวลา: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"ข้อความจาก <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g> เวลา: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"ข้อความที่ยังไม่ได้ส่งถึง <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g> เวลา: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"กำลังส่งข้อความถึง <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g> เวลา: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"ไม่สามารถส่งข้อความถึง <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g> เวลา: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"ส่งข้อความถึง <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g> เวลา: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"ไม่สามารถรับข้อความจาก <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g> เวลา: <xliff:g id="TIME">%3$s</xliff:g> <xliff:g id="GROUPINFO">%3$s</xliff:g>"</string>
+    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"ข้อความจาก <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g> เวลา: <xliff:g id="TIME">%3$s</xliff:g> <xliff:g id="GROUPINFO">%3$s</xliff:g>"</string>
+    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"ข้อความที่ยังไม่ได้ส่งถึง <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g> เวลา: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"กำลังส่งข้อความถึง <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g> เวลา: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"ไม่สามารถส่งข้อความถึง <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g> เวลา: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"ส่งข้อความถึง <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g> เวลา: <xliff:g id="TIME">%3$s</xliff:g>"</string>
     <string name="failed_message_content_description" msgid="7047161648867054936">"ข้อความล้มเหลว แตะเพื่อลองใหม่"</string>
     <string name="group_conversation_description" msgid="2339270924401184182">"การสนทนากับ <xliff:g id="PARTICIPANTS">%s</xliff:g>"</string>
     <string name="delete_subject_content_description" msgid="8910749398836396698">"ลบเรื่อง"</string>
@@ -258,7 +258,7 @@
     <string name="mms_messaging_category_pref_title" msgid="4816815152658525660">"MMS"</string>
     <string name="advanced_category_pref_title" msgid="6411454224069259687">"ขั้นสูง"</string>
     <string name="debug_category_pref_title" msgid="8765138968242505061">"แก้ไขข้อบกพร่อง"</string>
-    <string name="notifications_enabled_pref_title" msgid="4127288731844373795">"การแจ้งเตือน"</string>
+    <string name="notifications_pref_title" msgid="4127288731844373795">"การแจ้งเตือน"</string>
     <string name="notification_sound_pref_title" msgid="3685506528957337849">"เสียง"</string>
     <string name="silent_ringtone" msgid="8073534180322059814">"เงียบ"</string>
     <string name="notification_vibrate_pref_title" msgid="6668564570045187390">"สั่น"</string>
@@ -359,7 +359,7 @@
     <string name="add_contact_confirmation" msgid="1479380805406328264">"เพิ่มรายชื่อติดต่อ"</string>
     <string name="compose_message_view_subject_hint_text" msgid="6076616675845705660">"เรื่อง"</string>
     <string name="conversation_message_view_subject_text" msgid="5634274498769555505">"เรื่อง: "</string>
-    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%s</xliff:g><xliff:g id="MESSAGETEXT">%s</xliff:g>"</string>
+    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%1$s</xliff:g><xliff:g id="MESSAGETEXT">%2$s</xliff:g>"</string>
     <string name="loading_vcard" msgid="3961520941271265083">"กำลังโหลดบัตรติดต่อ"</string>
     <string name="failed_loading_vcard" msgid="7711070643740368402">"ไม่สามารถโหลดการ์ดรายชื่อติดต่อได้"</string>
     <string name="vcard_tap_hint" msgid="4940284329175200952">"ดูบัตรติดต่อ"</string>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index dddb04b..2b68458 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -202,19 +202,19 @@
     <string name="audio_attachment_content_description" msgid="499334244765270108">"Attachment na audio"</string>
     <string name="audio_play_content_description" msgid="4932509227281251607">"I-play ang attachment na audio"</string>
     <string name="audio_pause_content_description" msgid="7578169887065513701">"I-pause"</string>
-    <string name="incoming_message_announcement" msgid="6369259405539452011">"Mensahe mula kay <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Hindi naipadalang mensahe mula kay <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Oras: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Mensahe mula kay <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Oras: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Hindi naipadalang mensahe kay <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Oras: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Ipinapadala ang mensahe kay <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Oras: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Hindi naipadalang mensahe kay <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Oras: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Mensahe kay <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Oras: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Hindi naipadalang mensahe mula kay <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Oras: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Mensahe mula kay <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Oras: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Hindi naipadalang mensahe sa <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Oras: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Ipinapadala ang mensahe sa <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Oras: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Hindi naipadalang mensahe sa <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Oras: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Mensahe sa <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Oras: <xliff:g id="TIME">%s</xliff:g>."</string>
+    <string name="incoming_message_announcement" msgid="6369259405539452011">"Mensahe mula kay <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Hindi naipadalang mensahe mula kay <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Oras: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Mensahe mula kay <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Oras: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Hindi naipadalang mensahe kay <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Oras: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Ipinapadala ang mensahe kay <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Oras: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Hindi naipadalang mensahe kay <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Oras: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Mensahe kay <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Oras: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Hindi naipadalang mensahe mula kay <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Oras: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Mensahe mula kay <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Oras: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Hindi naipadalang mensahe sa <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Oras: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Ipinapadala ang mensahe sa <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Oras: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Hindi naipadalang mensahe sa <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Oras: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Mensahe sa <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Oras: <xliff:g id="TIME">%3$s</xliff:g>."</string>
     <string name="failed_message_content_description" msgid="7047161648867054936">"Hindi naipadalang mensahe. Pindutin upang subukang muli."</string>
     <string name="group_conversation_description" msgid="2339270924401184182">"Pag-uusap kasama sina <xliff:g id="PARTICIPANTS">%s</xliff:g>"</string>
     <string name="delete_subject_content_description" msgid="8910749398836396698">"I-delete ang paksa"</string>
@@ -258,7 +258,7 @@
     <string name="mms_messaging_category_pref_title" msgid="4816815152658525660">"MMS"</string>
     <string name="advanced_category_pref_title" msgid="6411454224069259687">"Advanced"</string>
     <string name="debug_category_pref_title" msgid="8765138968242505061">"I-debug"</string>
-    <string name="notifications_enabled_pref_title" msgid="4127288731844373795">"Mga Notification"</string>
+    <string name="notifications_pref_title" msgid="4127288731844373795">"Mga Notification"</string>
     <string name="notification_sound_pref_title" msgid="3685506528957337849">"Tunog"</string>
     <string name="silent_ringtone" msgid="8073534180322059814">"Naka-silent"</string>
     <string name="notification_vibrate_pref_title" msgid="6668564570045187390">"Mag-vibrate"</string>
@@ -359,7 +359,7 @@
     <string name="add_contact_confirmation" msgid="1479380805406328264">"Magdagdag ng Contact"</string>
     <string name="compose_message_view_subject_hint_text" msgid="6076616675845705660">"Subject"</string>
     <string name="conversation_message_view_subject_text" msgid="5634274498769555505">"Subject: "</string>
-    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%s</xliff:g><xliff:g id="MESSAGETEXT">%s</xliff:g>"</string>
+    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%1$s</xliff:g><xliff:g id="MESSAGETEXT">%2$s</xliff:g>"</string>
     <string name="loading_vcard" msgid="3961520941271265083">"Nilo-load ang contact card"</string>
     <string name="failed_loading_vcard" msgid="7711070643740368402">"Hindi mai-load ang contact card"</string>
     <string name="vcard_tap_hint" msgid="4940284329175200952">"Tingnan ang contact card"</string>
diff --git a/res/values-tr/cm_strings.xml b/res/values-tr/cm_strings.xml
new file mode 100644
index 0000000..4dd5acc
--- /dev/null
+++ b/res/values-tr/cm_strings.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="swipe_to_delete_conversation_pref_title">Silmek için kaydırın</string>
+    <string name="swipe_to_delete_conversation_pref_summary">Bir sohbeti silmek için sağa kaydırın</string>
+    <string name="show_emoticons_pref_title">Emoji erişimi</string>
+    <string name="show_emoticons_pref_summary">Klavyede emoji tuşunu göster</string>
+    <string name="notification_mark_as_read">Okundu olarak işaretle</string>
+    <string name="notification_channel_messages_title">Mesajlar</string>
+</resources>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index 6ea1cbe..9b72b5b 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -202,19 +202,19 @@
     <string name="audio_attachment_content_description" msgid="499334244765270108">"Ses dosyası eki"</string>
     <string name="audio_play_content_description" msgid="4932509227281251607">"Ekli ses dosyasını çal"</string>
     <string name="audio_pause_content_description" msgid="7578169887065513701">"Duraklat"</string>
-    <string name="incoming_message_announcement" msgid="6369259405539452011">"<xliff:g id="SENDER">%s</xliff:g> adlı kişiden ileti: <xliff:g id="MESSAGE">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Şu ileti <xliff:g id="SENDER">%s</xliff:g> tarafından gönderilemedi: <xliff:g id="MESSAGE">%s</xliff:g>. Saat: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Şu ileti <xliff:g id="SENDER">%s</xliff:g> tarafından gönderildi: <xliff:g id="MESSAGE">%s</xliff:g>. Saat: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Şu ileti <xliff:g id="CONTACT">%s</xliff:g> adlı kişiye gönderilmedi: <xliff:g id="MESSAGE">%s</xliff:g>. Saat: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Şu ileti <xliff:g id="CONTACT">%s</xliff:g> adlı kişiye gönderiliyor: <xliff:g id="MESSAGE">%s</xliff:g>. Saat: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Şu ileti <xliff:g id="CONTACT">%s</xliff:g> adlı kişiye gönderilemedi: <xliff:g id="MESSAGE">%s</xliff:g>. Saat: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Şu ileti <xliff:g id="CONTACT">%s</xliff:g> adlı kişiye gönderildi: <xliff:g id="MESSAGE">%s</xliff:g>. Saat: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Şu ileti <xliff:g id="SENDER">%s</xliff:g> tarafından gönderilemedi: <xliff:g id="MESSAGE">%s</xliff:g>. Saat: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Şu ileti <xliff:g id="SENDER">%s</xliff:g> tarafından gönderildi: <xliff:g id="MESSAGE">%s</xliff:g>. Saat: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Şu ileti <xliff:g id="GROUP">%s</xliff:g> adlı gruba gönderilmedi: <xliff:g id="MESSAGE">%s</xliff:g>. Saat: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Şu ileti <xliff:g id="GROUP">%s</xliff:g> adlı gruba gönderiliyor: <xliff:g id="MESSAGE">%s</xliff:g>. Saat: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Şu ileti <xliff:g id="GROUP">%s</xliff:g> adlı gruba gönderilemedi: <xliff:g id="MESSAGE">%s</xliff:g>. Saat: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Şu ileti <xliff:g id="GROUP">%s</xliff:g> adlı gruba gönderildi: <xliff:g id="MESSAGE">%s</xliff:g>. Saat: <xliff:g id="TIME">%s</xliff:g>."</string>
+    <string name="incoming_message_announcement" msgid="6369259405539452011">"<xliff:g id="SENDER">%1$s</xliff:g> adlı kişiden ileti: <xliff:g id="MESSAGE">%2$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Şu ileti <xliff:g id="SENDER">%1$s</xliff:g> tarafından gönderilemedi: <xliff:g id="MESSAGE">%2$s</xliff:g>. Saat: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Şu ileti <xliff:g id="SENDER">%1$s</xliff:g> tarafından gönderildi: <xliff:g id="MESSAGE">%2$s</xliff:g>. Saat: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Şu ileti <xliff:g id="CONTACT">%1$s</xliff:g> adlı kişiye gönderilmedi: <xliff:g id="MESSAGE">%2$s</xliff:g>. Saat: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Şu ileti <xliff:g id="CONTACT">%1$s</xliff:g> adlı kişiye gönderiliyor: <xliff:g id="MESSAGE">%2$s</xliff:g>. Saat: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Şu ileti <xliff:g id="CONTACT">%1$s</xliff:g> adlı kişiye gönderilemedi: <xliff:g id="MESSAGE">%2$s</xliff:g>. Saat: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Şu ileti <xliff:g id="CONTACT">%1$s</xliff:g> adlı kişiye gönderildi: <xliff:g id="MESSAGE">%2$s</xliff:g>. Saat: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Şu ileti <xliff:g id="SENDER">%1$s</xliff:g> tarafından gönderilemedi: <xliff:g id="MESSAGE">%2$s</xliff:g>. Saat: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Şu ileti <xliff:g id="SENDER">%1$s</xliff:g> tarafından gönderildi: <xliff:g id="MESSAGE">%2$s</xliff:g>. Saat: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Şu ileti <xliff:g id="GROUP">%1$s</xliff:g> adlı gruba gönderilmedi: <xliff:g id="MESSAGE">%2$s</xliff:g>. Saat: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Şu ileti <xliff:g id="GROUP">%1$s</xliff:g> adlı gruba gönderiliyor: <xliff:g id="MESSAGE">%2$s</xliff:g>. Saat: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Şu ileti <xliff:g id="GROUP">%1$s</xliff:g> adlı gruba gönderilemedi: <xliff:g id="MESSAGE">%2$s</xliff:g>. Saat: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Şu ileti <xliff:g id="GROUP">%1$s</xliff:g> adlı gruba gönderildi: <xliff:g id="MESSAGE">%2$s</xliff:g>. Saat: <xliff:g id="TIME">%3$s</xliff:g>."</string>
     <string name="failed_message_content_description" msgid="7047161648867054936">"İleti başarısız oldu. Yeniden denemek için dokunun."</string>
     <string name="group_conversation_description" msgid="2339270924401184182">"<xliff:g id="PARTICIPANTS">%s</xliff:g> ile ileti dizisi"</string>
     <string name="delete_subject_content_description" msgid="8910749398836396698">"Konuyu sil"</string>
@@ -258,7 +258,7 @@
     <string name="mms_messaging_category_pref_title" msgid="4816815152658525660">"MMS"</string>
     <string name="advanced_category_pref_title" msgid="6411454224069259687">"Gelişmiş"</string>
     <string name="debug_category_pref_title" msgid="8765138968242505061">"Hata Ayıklama"</string>
-    <string name="notifications_enabled_pref_title" msgid="4127288731844373795">"Bildirimler"</string>
+    <string name="notifications_pref_title" msgid="4127288731844373795">"Bildirimler"</string>
     <string name="notification_sound_pref_title" msgid="3685506528957337849">"Ses"</string>
     <string name="silent_ringtone" msgid="8073534180322059814">"Sessiz"</string>
     <string name="notification_vibrate_pref_title" msgid="6668564570045187390">"Titreşim"</string>
@@ -359,7 +359,7 @@
     <string name="add_contact_confirmation" msgid="1479380805406328264">"Kişi Ekle"</string>
     <string name="compose_message_view_subject_hint_text" msgid="6076616675845705660">"Konu"</string>
     <string name="conversation_message_view_subject_text" msgid="5634274498769555505">"Konu: "</string>
-    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%s</xliff:g><xliff:g id="MESSAGETEXT">%s</xliff:g>"</string>
+    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%1$s</xliff:g><xliff:g id="MESSAGETEXT">%2$s</xliff:g>"</string>
     <string name="loading_vcard" msgid="3961520941271265083">"Kişi kartı yükleniyor"</string>
     <string name="failed_loading_vcard" msgid="7711070643740368402">"Kişi kartı yüklenemedi"</string>
     <string name="vcard_tap_hint" msgid="4940284329175200952">"Kişi kartını görüntüle"</string>
diff --git a/res/values-ug/arrays.xml b/res/values-ug/arrays.xml
new file mode 100644
index 0000000..b6a9b34
--- /dev/null
+++ b/res/values-ug/arrays.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string-array name="empty_subject_strings">
+        <item>تېما يوق</item>
+        <item>تېمىسىز</item>
+    </string-array>
+    <string-array name="notification_reply_choices">
+        <item>ھەئە</item>
+        <item>ياق</item>
+        <item>جەزىملەش</item>
+        <item>ھا ھا</item>
+        <item>رەھمەت</item>
+        <item>قوشۇلىمەن</item>
+        <item>ياخشى</item>
+        <item>يولدا</item>
+        <item>ماقۇل، مەن سەل تۇرۇپ سىزگە قايتۇراي</item>
+        <item>:)</item>
+        <item>:(</item>
+    </string-array>
+</resources>
diff --git a/res/values-ug/cm_strings.xml b/res/values-ug/cm_strings.xml
new file mode 100644
index 0000000..0c74c6d
--- /dev/null
+++ b/res/values-ug/cm_strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="swipe_to_delete_conversation_pref_title">سۈرۈلسە ئۆچۈرىدۇ</string>
+    <string name="swipe_to_delete_conversation_pref_summary">دىئالوگنى ئۆچۈرۈش ئۈچۈن ئوڭغا سىيرىڭ</string>
+    <string name="show_emoticons_pref_title">ئىپادە بەلگىسىنى كۆرسىتىش</string>
+    <string name="show_emoticons_pref_summary">كونۇپكا تاختىسىدا ئىپادە بەلگىسىنى كۆرسىتىش</string>
+</resources>
diff --git a/res/values-ug/strings.xml b/res/values-ug/strings.xml
new file mode 100644
index 0000000..a41f9fd
--- /dev/null
+++ b/res/values-ug/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name">ئۇچۇر</string>
+    <string name="share_intent_label">ئۇچۇر</string>
+    <string name="share_intent_activity_label">دىئالوگ تاللاش</string>
+    <string name="action_settings">تەڭشەكلەر</string>
+    <string name="sendButtonContentDescription">ئۇچۇر يوللاڭ</string>
+    <string name="attachMediaButtonContentDescription">قىستۇرما قوشۇش</string>
+    <string name="help_and_feedback_activity_label">ياردەم</string>
+</resources>
diff --git a/res/values-uk/cm_strings.xml b/res/values-uk/cm_strings.xml
new file mode 100644
index 0000000..5fefa80
--- /dev/null
+++ b/res/values-uk/cm_strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="swipe_to_delete_conversation_pref_title">Проведіть для видалення</string>
+    <string name="swipe_to_delete_conversation_pref_summary">Проведіть вправо для видалення бесіди</string>
+    <string name="show_emoticons_pref_title">Доступ до емограм</string>
+    <string name="show_emoticons_pref_summary">Показувати кнопку емограм на клавіатурі</string>
+</resources>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index 1c44548..99c5986 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -226,19 +226,19 @@
     <string name="audio_attachment_content_description" msgid="499334244765270108">"Вкладений аудіофайл"</string>
     <string name="audio_play_content_description" msgid="4932509227281251607">"Відтворити аудіовкладення"</string>
     <string name="audio_pause_content_description" msgid="7578169887065513701">"Пауза"</string>
-    <string name="incoming_message_announcement" msgid="6369259405539452011">"Повідомлення від користувача <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Не вдалося надіслати повідомлення від користувача <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Час: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Повідомлення від користувача <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Час: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Ненадіслане повідомлення групі <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Час: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Надсилається повідомлення групі <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Час: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Не вдалося надіслати повідомлення групі <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Час: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Повідомлення групі <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Час: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Не вдалося надіслати повідомлення від користувача <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Час: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Повідомлення від користувача <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Час: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Ненадіслане повідомлення групі <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Час: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Надсилається повідомлення групі <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Час: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Не вдалося надіслати повідомлення групі <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Час: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Повідомлення групі <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Час: <xliff:g id="TIME">%s</xliff:g>."</string>
+    <string name="incoming_message_announcement" msgid="6369259405539452011">"Повідомлення від користувача <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Не вдалося надіслати повідомлення від користувача <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Час: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Повідомлення від користувача <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Час: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Ненадіслане повідомлення групі <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Час: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Надсилається повідомлення групі <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Час: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Не вдалося надіслати повідомлення групі <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Час: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Повідомлення групі <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Час: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Не вдалося надіслати повідомлення від користувача <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Час: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Повідомлення від користувача <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Час: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Ненадіслане повідомлення групі <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Час: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Надсилається повідомлення групі <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Час: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Не вдалося надіслати повідомлення групі <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Час: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Повідомлення групі <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Час: <xliff:g id="TIME">%3$s</xliff:g>."</string>
     <string name="failed_message_content_description" msgid="7047161648867054936">"Не вдалося надіслати повідомлення. Торкніться, щоб повторити спробу."</string>
     <string name="group_conversation_description" msgid="2339270924401184182">"Учасники бесіди: <xliff:g id="PARTICIPANTS">%s</xliff:g>"</string>
     <string name="delete_subject_content_description" msgid="8910749398836396698">"Видалити тему"</string>
@@ -294,7 +294,7 @@
     <string name="mms_messaging_category_pref_title" msgid="4816815152658525660">"MMS"</string>
     <string name="advanced_category_pref_title" msgid="6411454224069259687">"Додатково"</string>
     <string name="debug_category_pref_title" msgid="8765138968242505061">"Налагодження"</string>
-    <string name="notifications_enabled_pref_title" msgid="4127288731844373795">"Сповіщення"</string>
+    <string name="notifications_pref_title" msgid="4127288731844373795">"Сповіщення"</string>
     <string name="notification_sound_pref_title" msgid="3685506528957337849">"Сигнал"</string>
     <string name="silent_ringtone" msgid="8073534180322059814">"Без звуку"</string>
     <string name="notification_vibrate_pref_title" msgid="6668564570045187390">"Вібросигнал"</string>
@@ -407,7 +407,7 @@
     <string name="add_contact_confirmation" msgid="1479380805406328264">"Додати контакт"</string>
     <string name="compose_message_view_subject_hint_text" msgid="6076616675845705660">"Тема"</string>
     <string name="conversation_message_view_subject_text" msgid="5634274498769555505">"Тема: "</string>
-    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%s</xliff:g>. <xliff:g id="MESSAGETEXT">%s</xliff:g>"</string>
+    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%1$s</xliff:g>. <xliff:g id="MESSAGETEXT">%2$s</xliff:g>"</string>
     <string name="loading_vcard" msgid="3961520941271265083">"Завантаження картки контакта"</string>
     <string name="failed_loading_vcard" msgid="7711070643740368402">"Не вдалося завантажити картку контакта"</string>
     <string name="vcard_tap_hint" msgid="4940284329175200952">"Переглянути картку контакта"</string>
diff --git a/res/values-ur/strings.xml b/res/values-ur/strings.xml
index 1ed22e1..65b75a2 100644
--- a/res/values-ur/strings.xml
+++ b/res/values-ur/strings.xml
@@ -202,19 +202,19 @@
     <string name="audio_attachment_content_description" msgid="499334244765270108">"آڈیو منسلکہ"</string>
     <string name="audio_play_content_description" msgid="4932509227281251607">"آڈیو منسلکہ چلائیں"</string>
     <string name="audio_pause_content_description" msgid="7578169887065513701">"موقوف کریں"</string>
-    <string name="incoming_message_announcement" msgid="6369259405539452011">"پیغام منجانب <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>۔"</string>
-    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"ناکام پیغام منجانب <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>۔ وقت: <xliff:g id="TIME">%s</xliff:g>۔"</string>
-    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"پیغام منجانب <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>۔ وقت: <xliff:g id="TIME">%s</xliff:g>۔"</string>
-    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"غیر ارسال کردہ پیغام بنام <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>۔ وقت: <xliff:g id="TIME">%s</xliff:g>۔"</string>
-    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"پیغام بھیجا جا رہا ہے بنام <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>۔ وقت: <xliff:g id="TIME">%s</xliff:g>۔"</string>
-    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"ناکام پیغام بنام <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>۔ وقت: <xliff:g id="TIME">%s</xliff:g>۔"</string>
-    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"پیغام بنام <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>۔ وقت: <xliff:g id="TIME">%s</xliff:g>۔"</string>
-    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"ناکام پیغام منجانب <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>۔ وقت: <xliff:g id="TIME">%s</xliff:g>۔ <xliff:g id="GROUPINFO">%s</xliff:g>۔"</string>
-    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"پیغام منجانب <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>۔ وقت: <xliff:g id="TIME">%s</xliff:g>۔ <xliff:g id="GROUPINFO">%s</xliff:g>۔"</string>
-    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"غیر ارسال کردہ پیغام بنام <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>۔ وقت: <xliff:g id="TIME">%s</xliff:g>۔"</string>
-    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"پیغام بھیجا جا رہا ہے بنام <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>۔ وقت: <xliff:g id="TIME">%s</xliff:g>۔"</string>
-    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"ناکام پیغام بنام <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>۔ وقت: <xliff:g id="TIME">%s</xliff:g>۔"</string>
-    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"پیغام بنام <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>۔ وقت: <xliff:g id="TIME">%s</xliff:g>۔"</string>
+    <string name="incoming_message_announcement" msgid="6369259405539452011">"پیغام منجانب <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>۔"</string>
+    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"ناکام پیغام منجانب <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>۔ وقت: <xliff:g id="TIME">%3$s</xliff:g>۔"</string>
+    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"پیغام منجانب <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>۔ وقت: <xliff:g id="TIME">%3$s</xliff:g>۔"</string>
+    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"غیر ارسال کردہ پیغام بنام <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>۔ وقت: <xliff:g id="TIME">%3$s</xliff:g>۔"</string>
+    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"پیغام بھیجا جا رہا ہے بنام <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>۔ وقت: <xliff:g id="TIME">%3$s</xliff:g>۔"</string>
+    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"ناکام پیغام بنام <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>۔ وقت: <xliff:g id="TIME">%3$s</xliff:g>۔"</string>
+    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"پیغام بنام <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>۔ وقت: <xliff:g id="TIME">%3$s</xliff:g>۔"</string>
+    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"ناکام پیغام منجانب <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>۔ وقت: <xliff:g id="TIME">%3$s</xliff:g>۔ <xliff:g id="GROUPINFO">%3$s</xliff:g>۔"</string>
+    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"پیغام منجانب <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>۔ وقت: <xliff:g id="TIME">%3$s</xliff:g>۔ <xliff:g id="GROUPINFO">%3$s</xliff:g>۔"</string>
+    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"غیر ارسال کردہ پیغام بنام <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>۔ وقت: <xliff:g id="TIME">%3$s</xliff:g>۔"</string>
+    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"پیغام بھیجا جا رہا ہے بنام <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>۔ وقت: <xliff:g id="TIME">%3$s</xliff:g>۔"</string>
+    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"ناکام پیغام بنام <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>۔ وقت: <xliff:g id="TIME">%3$s</xliff:g>۔"</string>
+    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"پیغام بنام <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>۔ وقت: <xliff:g id="TIME">%3$s</xliff:g>۔"</string>
     <string name="failed_message_content_description" msgid="7047161648867054936">"ناکام پیغام۔ دوبارہ کوشش کرنے کیلئے ٹچ کریں۔"</string>
     <string name="group_conversation_description" msgid="2339270924401184182">"<xliff:g id="PARTICIPANTS">%s</xliff:g> کے ساتھ گفتگو"</string>
     <string name="delete_subject_content_description" msgid="8910749398836396698">"موضوع حذف کریں"</string>
@@ -258,7 +258,7 @@
     <string name="mms_messaging_category_pref_title" msgid="4816815152658525660">"MMS"</string>
     <string name="advanced_category_pref_title" msgid="6411454224069259687">"جدید ترین"</string>
     <string name="debug_category_pref_title" msgid="8765138968242505061">"ڈیبگ کریں"</string>
-    <string name="notifications_enabled_pref_title" msgid="4127288731844373795">"اطلاعات"</string>
+    <string name="notifications_pref_title" msgid="4127288731844373795">"اطلاعات"</string>
     <string name="notification_sound_pref_title" msgid="3685506528957337849">"آواز"</string>
     <string name="silent_ringtone" msgid="8073534180322059814">"خاموش"</string>
     <string name="notification_vibrate_pref_title" msgid="6668564570045187390">"وائبریٹ"</string>
@@ -359,7 +359,7 @@
     <string name="add_contact_confirmation" msgid="1479380805406328264">"رابطہ شامل کریں"</string>
     <string name="compose_message_view_subject_hint_text" msgid="6076616675845705660">"موضوع"</string>
     <string name="conversation_message_view_subject_text" msgid="5634274498769555505">"موضوع: "</string>
-    <string name="notification_subject" msgid="5229975483160300625">"‎<xliff:g id="SUBJECT_LABEL">%s</xliff:g><xliff:g id="MESSAGETEXT">%s</xliff:g>‎"</string>
+    <string name="notification_subject" msgid="5229975483160300625">"‎<xliff:g id="SUBJECT_LABEL">%1$s</xliff:g><xliff:g id="MESSAGETEXT">%2$s</xliff:g>‎"</string>
     <string name="loading_vcard" msgid="3961520941271265083">"رابطہ کارڈ لوڈ کر رہا ہے"</string>
     <string name="failed_loading_vcard" msgid="7711070643740368402">"رابطہ کارڈ کو لوڈ نہیں کیا جا سکا"</string>
     <string name="vcard_tap_hint" msgid="4940284329175200952">"رابطہ کارڈ دیکھیں"</string>
diff --git a/res/values-uz/strings.xml b/res/values-uz/strings.xml
index 2437398..a26896c 100644
--- a/res/values-uz/strings.xml
+++ b/res/values-uz/strings.xml
@@ -202,19 +202,19 @@
     <string name="audio_attachment_content_description" msgid="499334244765270108">"Ovozli biriktirma"</string>
     <string name="audio_play_content_description" msgid="4932509227281251607">"Audio biriktirmani ijro qilish"</string>
     <string name="audio_pause_content_description" msgid="7578169887065513701">"To‘xtatib turish"</string>
-    <string name="incoming_message_announcement" msgid="6369259405539452011">"<xliff:g id="SENDER">%s</xliff:g> yuborgan xabar: <xliff:g id="MESSAGE">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"<xliff:g id="SENDER">%s</xliff:g> yuborgan muvaffaqiyatsiz xabar: <xliff:g id="MESSAGE">%s</xliff:g>. Vaqt: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"<xliff:g id="SENDER">%s</xliff:g> yuborgan xabar: <xliff:g id="MESSAGE">%s</xliff:g>. Vaqt: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"<xliff:g id="CONTACT">%s</xliff:g>ga yuborilmay qolgan xabar: <xliff:g id="MESSAGE">%s</xliff:g>. Vaqt: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"<xliff:g id="CONTACT">%s</xliff:g>ga xabar yuborilmoqda: <xliff:g id="MESSAGE">%s</xliff:g>. Vaqt: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"<xliff:g id="CONTACT">%s</xliff:g>ga yuborilgan muvaffaqiyatsiz xabar: <xliff:g id="MESSAGE">%s</xliff:g>. Vaqt: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"<xliff:g id="CONTACT">%s</xliff:g>ga xabar: <xliff:g id="MESSAGE">%s</xliff:g>. Vaqt: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"<xliff:g id="SENDER">%s</xliff:g> yuborgan muvaffaqiyatsiz xabar: <xliff:g id="MESSAGE">%s</xliff:g>. Vaqt: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>"</string>
-    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"<xliff:g id="SENDER">%s</xliff:g> yuborgan xabar: <xliff:g id="MESSAGE">%s</xliff:g>. Vaqt: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>"</string>
-    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"<xliff:g id="GROUP">%s</xliff:g> guruhiga yuborilmay qolgan xabar: <xliff:g id="MESSAGE">%s</xliff:g>. Vaqt: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"<xliff:g id="GROUP">%s</xliff:g> guruhiga xabar yuborilmoqda: <xliff:g id="MESSAGE">%s</xliff:g>. Vaqt: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"<xliff:g id="GROUP">%s</xliff:g> guruhiga yuborilgan muvaffaqiyatsiz xabar: <xliff:g id="MESSAGE">%s</xliff:g>. Vaqt: <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"<xliff:g id="GROUP">%s</xliff:g> guruhiga xabar: <xliff:g id="MESSAGE">%s</xliff:g>. Vaqt: <xliff:g id="TIME">%s</xliff:g>"</string>
+    <string name="incoming_message_announcement" msgid="6369259405539452011">"<xliff:g id="SENDER">%1$s</xliff:g> yuborgan xabar: <xliff:g id="MESSAGE">%2$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"<xliff:g id="SENDER">%1$s</xliff:g> yuborgan muvaffaqiyatsiz xabar: <xliff:g id="MESSAGE">%2$s</xliff:g>. Vaqt: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"<xliff:g id="SENDER">%1$s</xliff:g> yuborgan xabar: <xliff:g id="MESSAGE">%2$s</xliff:g>. Vaqt: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"<xliff:g id="CONTACT">%1$s</xliff:g>ga yuborilmay qolgan xabar: <xliff:g id="MESSAGE">%2$s</xliff:g>. Vaqt: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"<xliff:g id="CONTACT">%1$s</xliff:g>ga xabar yuborilmoqda: <xliff:g id="MESSAGE">%2$s</xliff:g>. Vaqt: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"<xliff:g id="CONTACT">%1$s</xliff:g>ga yuborilgan muvaffaqiyatsiz xabar: <xliff:g id="MESSAGE">%2$s</xliff:g>. Vaqt: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"<xliff:g id="CONTACT">%1$s</xliff:g>ga xabar: <xliff:g id="MESSAGE">%2$s</xliff:g>. Vaqt: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"<xliff:g id="SENDER">%1$s</xliff:g> yuborgan muvaffaqiyatsiz xabar: <xliff:g id="MESSAGE">%2$s</xliff:g>. Vaqt: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>"</string>
+    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"<xliff:g id="SENDER">%1$s</xliff:g> yuborgan xabar: <xliff:g id="MESSAGE">%2$s</xliff:g>. Vaqt: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>"</string>
+    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"<xliff:g id="GROUP">%1$s</xliff:g> guruhiga yuborilmay qolgan xabar: <xliff:g id="MESSAGE">%2$s</xliff:g>. Vaqt: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"<xliff:g id="GROUP">%1$s</xliff:g> guruhiga xabar yuborilmoqda: <xliff:g id="MESSAGE">%2$s</xliff:g>. Vaqt: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"<xliff:g id="GROUP">%1$s</xliff:g> guruhiga yuborilgan muvaffaqiyatsiz xabar: <xliff:g id="MESSAGE">%2$s</xliff:g>. Vaqt: <xliff:g id="TIME">%3$s</xliff:g>"</string>
+    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"<xliff:g id="GROUP">%1$s</xliff:g> guruhiga xabar: <xliff:g id="MESSAGE">%2$s</xliff:g>. Vaqt: <xliff:g id="TIME">%3$s</xliff:g>"</string>
     <string name="failed_message_content_description" msgid="7047161648867054936">"Muvaffaqiyatsiz xabar. Qayta urinish uchun bosing."</string>
     <string name="group_conversation_description" msgid="2339270924401184182">"<xliff:g id="PARTICIPANTS">%s</xliff:g> bilan suhbat"</string>
     <string name="delete_subject_content_description" msgid="8910749398836396698">"Mavzuni o‘chirish"</string>
@@ -258,7 +258,7 @@
     <string name="mms_messaging_category_pref_title" msgid="4816815152658525660">"MMS"</string>
     <string name="advanced_category_pref_title" msgid="6411454224069259687">"Qo‘shimcha"</string>
     <string name="debug_category_pref_title" msgid="8765138968242505061">"Tuzatish"</string>
-    <string name="notifications_enabled_pref_title" msgid="4127288731844373795">"Bildirishnomalar"</string>
+    <string name="notifications_pref_title" msgid="4127288731844373795">"Bildirishnomalar"</string>
     <string name="notification_sound_pref_title" msgid="3685506528957337849">"Ovoz"</string>
     <string name="silent_ringtone" msgid="8073534180322059814">"Ovozsiz"</string>
     <string name="notification_vibrate_pref_title" msgid="6668564570045187390">"Tebranish"</string>
@@ -359,7 +359,7 @@
     <string name="add_contact_confirmation" msgid="1479380805406328264">"Kontakt qo‘shish"</string>
     <string name="compose_message_view_subject_hint_text" msgid="6076616675845705660">"Mavzu"</string>
     <string name="conversation_message_view_subject_text" msgid="5634274498769555505">"Mavzu: "</string>
-    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%s</xliff:g><xliff:g id="MESSAGETEXT">%s</xliff:g>"</string>
+    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%1$s</xliff:g><xliff:g id="MESSAGETEXT">%2$s</xliff:g>"</string>
     <string name="loading_vcard" msgid="3961520941271265083">"Kontaktlar kartasi yuklanmoqda"</string>
     <string name="failed_loading_vcard" msgid="7711070643740368402">"Kontaktlar kartasini yuklab bo‘lmadi"</string>
     <string name="vcard_tap_hint" msgid="4940284329175200952">"Kontaktlar kartasini ko‘rish"</string>
diff --git a/res/values-v27/styles.xml b/res/values-v27/styles.xml
new file mode 100644
index 0000000..22e94ed
--- /dev/null
+++ b/res/values-v27/styles.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2018 The LineageOS Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources>
+    <style name="BugleBaseTheme" parent="Theme.AppCompat.Light.DarkActionBar">
+        <item name="android:forceDarkAllowed">true</item>
+        <item name="android:navigationBarColor">@color/navigation_bar_bg</item>
+        <item name="android:navigationBarDividerColor">@color/navigation_bar_divider</item>
+        <item name="android:windowLightNavigationBar">true</item>
+    </style>
+</resources>
diff --git a/res/values-vi/cm_strings.xml b/res/values-vi/cm_strings.xml
new file mode 100644
index 0000000..d80db0e
--- /dev/null
+++ b/res/values-vi/cm_strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="swipe_to_delete_conversation_pref_title">Vuốt để xóa</string>
+    <string name="swipe_to_delete_conversation_pref_summary">Vuốt sang phải để xóa một cuộc trò chuyện</string>
+    <string name="show_emoticons_pref_title">Truy cập vào biểu tượng cảm xúc</string>
+    <string name="show_emoticons_pref_summary">Hiển thị phím biểu tượng cảm xúc trên bàn phím</string>
+    <string name="notification_mark_as_read">Đánh dấu là đã đọc</string>
+</resources>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index ac23771..e9542da 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -202,19 +202,19 @@
     <string name="audio_attachment_content_description" msgid="499334244765270108">"Tệp âm thanh đính kèm"</string>
     <string name="audio_play_content_description" msgid="4932509227281251607">"Phát tệp âm thanh đính kèm"</string>
     <string name="audio_pause_content_description" msgid="7578169887065513701">"Tạm dừng"</string>
-    <string name="incoming_message_announcement" msgid="6369259405539452011">"Tin nhắn từ <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Không gửi được tin nhắn từ  <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Thời gian: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Tin nhắn từ <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Thời gian: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Chưa gửi được tin nhắn tới  <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Thời gian: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Đang gửi tin nhắn tới <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Thời gian: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Không gửi được tin nhắn tới  <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Thời gian: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Tin nhắn tới  <xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Thời gian: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Không gửi được tin nhắn từ <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Thời gian: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Tin nhắn từ <xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Thời gian: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Chưa gửi được tin nhắn tới <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Thời gian: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Đang gửi tin nhắn tới <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Thời gian: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Không gửi được tin nhắn tới  <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Thời gian: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Tin nhắn tới <xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Thời gian: <xliff:g id="TIME">%s</xliff:g>."</string>
+    <string name="incoming_message_announcement" msgid="6369259405539452011">"Tin nhắn từ <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Không gửi được tin nhắn từ  <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Thời gian: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Tin nhắn từ <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Thời gian: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Chưa gửi được tin nhắn tới  <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Thời gian: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Đang gửi tin nhắn tới <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Thời gian: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Không gửi được tin nhắn tới  <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Thời gian: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Tin nhắn tới  <xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Thời gian: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Không gửi được tin nhắn từ <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Thời gian: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Tin nhắn từ <xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Thời gian: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Chưa gửi được tin nhắn tới <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Thời gian: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Đang gửi tin nhắn tới <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Thời gian: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Không gửi được tin nhắn tới  <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Thời gian: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Tin nhắn tới <xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Thời gian: <xliff:g id="TIME">%3$s</xliff:g>."</string>
     <string name="failed_message_content_description" msgid="7047161648867054936">"Không gửi được tin nhắn. Hãy chạm để thử lại."</string>
     <string name="group_conversation_description" msgid="2339270924401184182">"Cuộc trò chuyện với <xliff:g id="PARTICIPANTS">%s</xliff:g>"</string>
     <string name="delete_subject_content_description" msgid="8910749398836396698">"Xóa chủ đề"</string>
@@ -258,7 +258,7 @@
     <string name="mms_messaging_category_pref_title" msgid="4816815152658525660">"MMS"</string>
     <string name="advanced_category_pref_title" msgid="6411454224069259687">"Nâng cao"</string>
     <string name="debug_category_pref_title" msgid="8765138968242505061">"Gỡ lỗi"</string>
-    <string name="notifications_enabled_pref_title" msgid="4127288731844373795">"Thông báo"</string>
+    <string name="notifications_pref_title" msgid="4127288731844373795">"Thông báo"</string>
     <string name="notification_sound_pref_title" msgid="3685506528957337849">"Âm thanh"</string>
     <string name="silent_ringtone" msgid="8073534180322059814">"Im lặng"</string>
     <string name="notification_vibrate_pref_title" msgid="6668564570045187390">"Rung"</string>
@@ -359,7 +359,7 @@
     <string name="add_contact_confirmation" msgid="1479380805406328264">"Thêm liên hệ"</string>
     <string name="compose_message_view_subject_hint_text" msgid="6076616675845705660">"Chủ đề"</string>
     <string name="conversation_message_view_subject_text" msgid="5634274498769555505">"Chủ đề: "</string>
-    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%s</xliff:g><xliff:g id="MESSAGETEXT">%s</xliff:g>"</string>
+    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%1$s</xliff:g><xliff:g id="MESSAGETEXT">%2$s</xliff:g>"</string>
     <string name="loading_vcard" msgid="3961520941271265083">"Đang tải thẻ liên hệ"</string>
     <string name="failed_loading_vcard" msgid="7711070643740368402">"Không thể tải danh thiếp"</string>
     <string name="vcard_tap_hint" msgid="4940284329175200952">"Xem thẻ liên hệ"</string>
diff --git a/res/values-zh-rCN/cm_strings.xml b/res/values-zh-rCN/cm_strings.xml
new file mode 100644
index 0000000..f1ffeab
--- /dev/null
+++ b/res/values-zh-rCN/cm_strings.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="swipe_to_delete_conversation_pref_title">滑动删除邮件</string>
+    <string name="swipe_to_delete_conversation_pref_summary">向右滑动以删除会话</string>
+    <string name="show_emoticons_pref_title">访问表情符号</string>
+    <string name="show_emoticons_pref_summary">在键盘上显示表情符号键</string>
+    <string name="notification_mark_as_read">标记为已读</string>
+    <string name="notification_channel_messages_title">短信</string>
+</resources>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index 1a128fc..82a8750 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -202,19 +202,19 @@
     <string name="audio_attachment_content_description" msgid="499334244765270108">"语音附件"</string>
     <string name="audio_play_content_description" msgid="4932509227281251607">"播放语音附件"</string>
     <string name="audio_pause_content_description" msgid="7578169887065513701">"暂停"</string>
-    <string name="incoming_message_announcement" msgid="6369259405539452011">"<xliff:g id="SENDER">%s</xliff:g>发来了消息:<xliff:g id="MESSAGE">%s</xliff:g>。"</string>
-    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"<xliff:g id="SENDER">%s</xliff:g>未能成功发送的信息,内容为:<xliff:g id="MESSAGE">%s</xliff:g>。时间为:<xliff:g id="TIME">%s</xliff:g>。"</string>
-    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"<xliff:g id="SENDER">%s</xliff:g>发来的信息,内容为:<xliff:g id="MESSAGE">%s</xliff:g>。时间为:<xliff:g id="TIME">%s</xliff:g>。"</string>
-    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"要发送给<xliff:g id="CONTACT">%s</xliff:g>的草稿信息,内容为:<xliff:g id="MESSAGE">%s</xliff:g>。时间为:<xliff:g id="TIME">%s</xliff:g>。"</string>
-    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"正在向<xliff:g id="CONTACT">%s</xliff:g>发送的信息,内容为:<xliff:g id="MESSAGE">%s</xliff:g>。时间为:<xliff:g id="TIME">%s</xliff:g>。"</string>
-    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"未能成功发送给<xliff:g id="CONTACT">%s</xliff:g>的信息,内容为:<xliff:g id="MESSAGE">%s</xliff:g>。时间为:<xliff:g id="TIME">%s</xliff:g>。"</string>
-    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"发送给<xliff:g id="CONTACT">%s</xliff:g>的信息,内容为:<xliff:g id="MESSAGE">%s</xliff:g>。时间为:<xliff:g id="TIME">%s</xliff:g>。"</string>
-    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"<xliff:g id="SENDER">%s</xliff:g>未能成功发送的信息,内容为:<xliff:g id="MESSAGE">%s</xliff:g>。时间为:<xliff:g id="TIME">%s</xliff:g>。<xliff:g id="GROUPINFO">%s</xliff:g>。"</string>
-    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"<xliff:g id="SENDER">%s</xliff:g>发来的信息,内容为:<xliff:g id="MESSAGE">%s</xliff:g>。时间为:<xliff:g id="TIME">%s</xliff:g>。<xliff:g id="GROUPINFO">%s</xliff:g>。"</string>
-    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"要发送给<xliff:g id="GROUP">%s</xliff:g>的草稿信息,内容为:<xliff:g id="MESSAGE">%s</xliff:g>。时间为:<xliff:g id="TIME">%s</xliff:g>。"</string>
-    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"正在向<xliff:g id="GROUP">%s</xliff:g>发送的信息,内容为:<xliff:g id="MESSAGE">%s</xliff:g>。时间为:<xliff:g id="TIME">%s</xliff:g>。"</string>
-    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"未能成功发送给<xliff:g id="GROUP">%s</xliff:g>的信息,内容为:<xliff:g id="MESSAGE">%s</xliff:g>。时间为:<xliff:g id="TIME">%s</xliff:g>。"</string>
-    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"发送给<xliff:g id="GROUP">%s</xliff:g>的信息,内容为:<xliff:g id="MESSAGE">%s</xliff:g>。时间为:<xliff:g id="TIME">%s</xliff:g>。"</string>
+    <string name="incoming_message_announcement" msgid="6369259405539452011">"<xliff:g id="SENDER">%1$s</xliff:g>发来了消息:<xliff:g id="MESSAGE">%2$s</xliff:g>。"</string>
+    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"<xliff:g id="SENDER">%1$s</xliff:g>未能成功发送的信息,内容为:<xliff:g id="MESSAGE">%2$s</xliff:g>。时间为:<xliff:g id="TIME">%3$s</xliff:g>。"</string>
+    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"<xliff:g id="SENDER">%1$s</xliff:g>发来的信息,内容为:<xliff:g id="MESSAGE">%2$s</xliff:g>。时间为:<xliff:g id="TIME">%3$s</xliff:g>。"</string>
+    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"要发送给<xliff:g id="CONTACT">%1$s</xliff:g>的草稿信息,内容为:<xliff:g id="MESSAGE">%2$s</xliff:g>。时间为:<xliff:g id="TIME">%3$s</xliff:g>。"</string>
+    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"正在向<xliff:g id="CONTACT">%1$s</xliff:g>发送的信息,内容为:<xliff:g id="MESSAGE">%2$s</xliff:g>。时间为:<xliff:g id="TIME">%3$s</xliff:g>。"</string>
+    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"未能成功发送给<xliff:g id="CONTACT">%1$s</xliff:g>的信息,内容为:<xliff:g id="MESSAGE">%2$s</xliff:g>。时间为:<xliff:g id="TIME">%3$s</xliff:g>。"</string>
+    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"发送给<xliff:g id="CONTACT">%1$s</xliff:g>的信息,内容为:<xliff:g id="MESSAGE">%2$s</xliff:g>。时间为:<xliff:g id="TIME">%3$s</xliff:g>。"</string>
+    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"<xliff:g id="SENDER">%1$s</xliff:g>未能成功发送的信息,内容为:<xliff:g id="MESSAGE">%2$s</xliff:g>。时间为:<xliff:g id="TIME">%3$s</xliff:g>。<xliff:g id="GROUPINFO">%3$s</xliff:g>。"</string>
+    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"<xliff:g id="SENDER">%1$s</xliff:g>发来的信息,内容为:<xliff:g id="MESSAGE">%2$s</xliff:g>。时间为:<xliff:g id="TIME">%3$s</xliff:g>。<xliff:g id="GROUPINFO">%3$s</xliff:g>。"</string>
+    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"要发送给<xliff:g id="GROUP">%1$s</xliff:g>的草稿信息,内容为:<xliff:g id="MESSAGE">%2$s</xliff:g>。时间为:<xliff:g id="TIME">%3$s</xliff:g>。"</string>
+    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"正在向<xliff:g id="GROUP">%1$s</xliff:g>发送的信息,内容为:<xliff:g id="MESSAGE">%2$s</xliff:g>。时间为:<xliff:g id="TIME">%3$s</xliff:g>。"</string>
+    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"未能成功发送给<xliff:g id="GROUP">%1$s</xliff:g>的信息,内容为:<xliff:g id="MESSAGE">%2$s</xliff:g>。时间为:<xliff:g id="TIME">%3$s</xliff:g>。"</string>
+    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"发送给<xliff:g id="GROUP">%1$s</xliff:g>的信息,内容为:<xliff:g id="MESSAGE">%2$s</xliff:g>。时间为:<xliff:g id="TIME">%3$s</xliff:g>。"</string>
     <string name="failed_message_content_description" msgid="7047161648867054936">"信息发送失败。触摸即可重试。"</string>
     <string name="group_conversation_description" msgid="2339270924401184182">"与<xliff:g id="PARTICIPANTS">%s</xliff:g>的对话"</string>
     <string name="delete_subject_content_description" msgid="8910749398836396698">"删除主题"</string>
@@ -258,7 +258,7 @@
     <string name="mms_messaging_category_pref_title" msgid="4816815152658525660">"彩信"</string>
     <string name="advanced_category_pref_title" msgid="6411454224069259687">"高级"</string>
     <string name="debug_category_pref_title" msgid="8765138968242505061">"调试"</string>
-    <string name="notifications_enabled_pref_title" msgid="4127288731844373795">"通知"</string>
+    <string name="notifications_pref_title" msgid="4127288731844373795">"通知"</string>
     <string name="notification_sound_pref_title" msgid="3685506528957337849">"提示音"</string>
     <string name="silent_ringtone" msgid="8073534180322059814">"静音"</string>
     <string name="notification_vibrate_pref_title" msgid="6668564570045187390">"振动"</string>
@@ -359,7 +359,7 @@
     <string name="add_contact_confirmation" msgid="1479380805406328264">"添加到通讯录"</string>
     <string name="compose_message_view_subject_hint_text" msgid="6076616675845705660">"主题"</string>
     <string name="conversation_message_view_subject_text" msgid="5634274498769555505">"主题: "</string>
-    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%s</xliff:g><xliff:g id="MESSAGETEXT">%s</xliff:g>"</string>
+    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%1$s</xliff:g><xliff:g id="MESSAGETEXT">%2$s</xliff:g>"</string>
     <string name="loading_vcard" msgid="3961520941271265083">"正在加载名片"</string>
     <string name="failed_loading_vcard" msgid="7711070643740368402">"无法加载名片"</string>
     <string name="vcard_tap_hint" msgid="4940284329175200952">"查看名片"</string>
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
index a93ba92..496960e 100644
--- a/res/values-zh-rHK/strings.xml
+++ b/res/values-zh-rHK/strings.xml
@@ -202,19 +202,19 @@
     <string name="audio_attachment_content_description" msgid="499334244765270108">"音效檔案附件"</string>
     <string name="audio_play_content_description" msgid="4932509227281251607">"播放音效檔案附件"</string>
     <string name="audio_pause_content_description" msgid="7578169887065513701">"暫停"</string>
-    <string name="incoming_message_announcement" msgid="6369259405539452011">"來自<xliff:g id="SENDER">%s</xliff:g>的訊息:<xliff:g id="MESSAGE">%s</xliff:g>。"</string>
-    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"<xliff:g id="SENDER">%s</xliff:g>未能成功傳送的訊息:<xliff:g id="MESSAGE">%s</xliff:g>。時間:<xliff:g id="TIME">%s</xliff:g>。"</string>
-    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"<xliff:g id="SENDER">%s</xliff:g>傳送的訊息:<xliff:g id="MESSAGE">%s</xliff:g>。時間:<xliff:g id="TIME">%s</xliff:g>。"</string>
-    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"尚未傳送給<xliff:g id="CONTACT">%s</xliff:g>的訊息:<xliff:g id="MESSAGE">%s</xliff:g>。時間:<xliff:g id="TIME">%s</xliff:g>。"</string>
-    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"正在傳送給<xliff:g id="CONTACT">%s</xliff:g>的訊息:<xliff:g id="MESSAGE">%s</xliff:g>。時間:<xliff:g id="TIME">%s</xliff:g>。"</string>
-    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"未能成功傳送給<xliff:g id="CONTACT">%s</xliff:g>的訊息:<xliff:g id="MESSAGE">%s</xliff:g>。時間:<xliff:g id="TIME">%s</xliff:g>。"</string>
-    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"傳送給<xliff:g id="CONTACT">%s</xliff:g>的訊息:<xliff:g id="MESSAGE">%s</xliff:g>。時間:<xliff:g id="TIME">%s</xliff:g>。"</string>
-    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"<xliff:g id="SENDER">%s</xliff:g>未能成功傳送的訊息:<xliff:g id="MESSAGE">%s</xliff:g>。時間:<xliff:g id="TIME">%s</xliff:g>。<xliff:g id="GROUPINFO">%s</xliff:g>。"</string>
-    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"<xliff:g id="SENDER">%s</xliff:g>傳送的訊息:<xliff:g id="MESSAGE">%s</xliff:g>。時間:<xliff:g id="TIME">%s</xliff:g>。<xliff:g id="GROUPINFO">%s</xliff:g>。"</string>
-    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"尚未傳送給<xliff:g id="GROUP">%s</xliff:g>的訊息:<xliff:g id="MESSAGE">%s</xliff:g>。時間:<xliff:g id="TIME">%s</xliff:g>。"</string>
-    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"正在傳送給<xliff:g id="GROUP">%s</xliff:g>的訊息:<xliff:g id="MESSAGE">%s</xliff:g>。時間:<xliff:g id="TIME">%s</xliff:g>。"</string>
-    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"未能成功傳送給<xliff:g id="GROUP">%s</xliff:g>的訊息:<xliff:g id="MESSAGE">%s</xliff:g>。時間:<xliff:g id="TIME">%s</xliff:g>。"</string>
-    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"傳送給<xliff:g id="GROUP">%s</xliff:g>的訊息:<xliff:g id="MESSAGE">%s</xliff:g>。時間:<xliff:g id="TIME">%s</xliff:g>。"</string>
+    <string name="incoming_message_announcement" msgid="6369259405539452011">"來自<xliff:g id="SENDER">%1$s</xliff:g>的訊息:<xliff:g id="MESSAGE">%2$s</xliff:g>。"</string>
+    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"<xliff:g id="SENDER">%1$s</xliff:g>未能成功傳送的訊息:<xliff:g id="MESSAGE">%2$s</xliff:g>。時間:<xliff:g id="TIME">%3$s</xliff:g>。"</string>
+    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"<xliff:g id="SENDER">%1$s</xliff:g>傳送的訊息:<xliff:g id="MESSAGE">%2$s</xliff:g>。時間:<xliff:g id="TIME">%3$s</xliff:g>。"</string>
+    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"尚未傳送給<xliff:g id="CONTACT">%1$s</xliff:g>的訊息:<xliff:g id="MESSAGE">%2$s</xliff:g>。時間:<xliff:g id="TIME">%3$s</xliff:g>。"</string>
+    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"正在傳送給<xliff:g id="CONTACT">%1$s</xliff:g>的訊息:<xliff:g id="MESSAGE">%2$s</xliff:g>。時間:<xliff:g id="TIME">%3$s</xliff:g>。"</string>
+    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"未能成功傳送給<xliff:g id="CONTACT">%1$s</xliff:g>的訊息:<xliff:g id="MESSAGE">%2$s</xliff:g>。時間:<xliff:g id="TIME">%3$s</xliff:g>。"</string>
+    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"傳送給<xliff:g id="CONTACT">%1$s</xliff:g>的訊息:<xliff:g id="MESSAGE">%2$s</xliff:g>。時間:<xliff:g id="TIME">%3$s</xliff:g>。"</string>
+    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"<xliff:g id="SENDER">%1$s</xliff:g>未能成功傳送的訊息:<xliff:g id="MESSAGE">%2$s</xliff:g>。時間:<xliff:g id="TIME">%3$s</xliff:g>。<xliff:g id="GROUPINFO">%3$s</xliff:g>。"</string>
+    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"<xliff:g id="SENDER">%1$s</xliff:g>傳送的訊息:<xliff:g id="MESSAGE">%2$s</xliff:g>。時間:<xliff:g id="TIME">%3$s</xliff:g>。<xliff:g id="GROUPINFO">%3$s</xliff:g>。"</string>
+    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"尚未傳送給<xliff:g id="GROUP">%1$s</xliff:g>的訊息:<xliff:g id="MESSAGE">%2$s</xliff:g>。時間:<xliff:g id="TIME">%3$s</xliff:g>。"</string>
+    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"正在傳送給<xliff:g id="GROUP">%1$s</xliff:g>的訊息:<xliff:g id="MESSAGE">%2$s</xliff:g>。時間:<xliff:g id="TIME">%3$s</xliff:g>。"</string>
+    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"未能成功傳送給<xliff:g id="GROUP">%1$s</xliff:g>的訊息:<xliff:g id="MESSAGE">%2$s</xliff:g>。時間:<xliff:g id="TIME">%3$s</xliff:g>。"</string>
+    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"傳送給<xliff:g id="GROUP">%1$s</xliff:g>的訊息:<xliff:g id="MESSAGE">%2$s</xliff:g>。時間:<xliff:g id="TIME">%3$s</xliff:g>。"</string>
     <string name="failed_message_content_description" msgid="7047161648867054936">"未能成功傳送的訊息。輕觸即可重試。"</string>
     <string name="group_conversation_description" msgid="2339270924401184182">"與<xliff:g id="PARTICIPANTS">%s</xliff:g>的對話"</string>
     <string name="delete_subject_content_description" msgid="8910749398836396698">"刪除主旨"</string>
@@ -258,7 +258,7 @@
     <string name="mms_messaging_category_pref_title" msgid="4816815152658525660">"MMS"</string>
     <string name="advanced_category_pref_title" msgid="6411454224069259687">"進階"</string>
     <string name="debug_category_pref_title" msgid="8765138968242505061">"除錯"</string>
-    <string name="notifications_enabled_pref_title" msgid="4127288731844373795">"通知"</string>
+    <string name="notifications_pref_title" msgid="4127288731844373795">"通知"</string>
     <string name="notification_sound_pref_title" msgid="3685506528957337849">"音效"</string>
     <string name="silent_ringtone" msgid="8073534180322059814">"靜音"</string>
     <string name="notification_vibrate_pref_title" msgid="6668564570045187390">"震動"</string>
@@ -359,7 +359,7 @@
     <string name="add_contact_confirmation" msgid="1479380805406328264">"新增聯絡人"</string>
     <string name="compose_message_view_subject_hint_text" msgid="6076616675845705660">"主旨"</string>
     <string name="conversation_message_view_subject_text" msgid="5634274498769555505">"主旨: "</string>
-    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%s</xliff:g>:<xliff:g id="MESSAGETEXT">%s</xliff:g>"</string>
+    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%1$s</xliff:g>:<xliff:g id="MESSAGETEXT">%2$s</xliff:g>"</string>
     <string name="loading_vcard" msgid="3961520941271265083">"正在載入聯絡人卡片"</string>
     <string name="failed_loading_vcard" msgid="7711070643740368402">"無法載入聯絡人資訊卡"</string>
     <string name="vcard_tap_hint" msgid="4940284329175200952">"查看聯絡人卡片"</string>
diff --git a/res/values-zh-rTW/cm_strings.xml b/res/values-zh-rTW/cm_strings.xml
new file mode 100644
index 0000000..3eb3b63
--- /dev/null
+++ b/res/values-zh-rTW/cm_strings.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="swipe_to_delete_conversation_pref_title">滑動刪除</string>
+    <string name="swipe_to_delete_conversation_pref_summary">向右滑動即可刪除對話</string>
+    <string name="show_emoticons_pref_title">表情符號使用</string>
+    <string name="show_emoticons_pref_summary">在鍵盤上顯示表情符號按鍵</string>
+    <string name="notification_mark_as_read">標記為已讀</string>
+    <string name="notification_channel_messages_title">訊息</string>
+</resources>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index 957d943..5553d3b 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -202,19 +202,19 @@
     <string name="audio_attachment_content_description" msgid="499334244765270108">"音訊附件"</string>
     <string name="audio_play_content_description" msgid="4932509227281251607">"播放音訊附件"</string>
     <string name="audio_pause_content_description" msgid="7578169887065513701">"暫停"</string>
-    <string name="incoming_message_announcement" msgid="6369259405539452011">"收到<xliff:g id="SENDER">%s</xliff:g>傳送的訊息,內容如下:<xliff:g id="MESSAGE">%s</xliff:g>。"</string>
-    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"<xliff:g id="SENDER">%s</xliff:g>嘗試傳送訊息但未成功:<xliff:g id="MESSAGE">%s</xliff:g>。時間:<xliff:g id="TIME">%s</xliff:g>。"</string>
-    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"<xliff:g id="SENDER">%s</xliff:g>傳送了訊息:<xliff:g id="MESSAGE">%s</xliff:g>。時間:<xliff:g id="TIME">%s</xliff:g>。"</string>
-    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"給<xliff:g id="CONTACT">%s</xliff:g>的訊息尚未送出:<xliff:g id="MESSAGE">%s</xliff:g>。時間:<xliff:g id="TIME">%s</xliff:g>。"</string>
-    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"正在傳送訊息給<xliff:g id="CONTACT">%s</xliff:g>:<xliff:g id="MESSAGE">%s</xliff:g>。時間:<xliff:g id="TIME">%s</xliff:g>。"</string>
-    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"無法傳送訊息給<xliff:g id="CONTACT">%s</xliff:g>:<xliff:g id="MESSAGE">%s</xliff:g>。時間:<xliff:g id="TIME">%s</xliff:g>。"</string>
-    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"已傳送訊息給<xliff:g id="CONTACT">%s</xliff:g>:<xliff:g id="MESSAGE">%s</xliff:g>。時間:<xliff:g id="TIME">%s</xliff:g>。"</string>
-    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"<xliff:g id="SENDER">%s</xliff:g>嘗試傳送訊息但未成功:<xliff:g id="MESSAGE">%s</xliff:g>。時間:<xliff:g id="TIME">%s</xliff:g>。<xliff:g id="GROUPINFO">%s</xliff:g>。"</string>
-    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"<xliff:g id="SENDER">%s</xliff:g>傳送了訊息:<xliff:g id="MESSAGE">%s</xliff:g>。時間:<xliff:g id="TIME">%s</xliff:g>。<xliff:g id="GROUPINFO">%s</xliff:g>。"</string>
-    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"給<xliff:g id="GROUP">%s</xliff:g>的訊息尚未送出:<xliff:g id="MESSAGE">%s</xliff:g>。時間:<xliff:g id="TIME">%s</xliff:g>。"</string>
-    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"正在傳送訊息給<xliff:g id="GROUP">%s</xliff:g>:<xliff:g id="MESSAGE">%s</xliff:g>。時間:<xliff:g id="TIME">%s</xliff:g>。"</string>
-    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"無法傳送訊息給<xliff:g id="GROUP">%s</xliff:g>:<xliff:g id="MESSAGE">%s</xliff:g>。時間:<xliff:g id="TIME">%s</xliff:g>。"</string>
-    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"已傳送訊息給<xliff:g id="GROUP">%s</xliff:g>:<xliff:g id="MESSAGE">%s</xliff:g>。時間:<xliff:g id="TIME">%s</xliff:g>。"</string>
+    <string name="incoming_message_announcement" msgid="6369259405539452011">"收到<xliff:g id="SENDER">%1$s</xliff:g>傳送的訊息,內容如下:<xliff:g id="MESSAGE">%2$s</xliff:g>。"</string>
+    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"<xliff:g id="SENDER">%1$s</xliff:g>嘗試傳送訊息但未成功:<xliff:g id="MESSAGE">%2$s</xliff:g>。時間:<xliff:g id="TIME">%3$s</xliff:g>。"</string>
+    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"<xliff:g id="SENDER">%1$s</xliff:g>傳送了訊息:<xliff:g id="MESSAGE">%2$s</xliff:g>。時間:<xliff:g id="TIME">%3$s</xliff:g>。"</string>
+    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"給<xliff:g id="CONTACT">%1$s</xliff:g>的訊息尚未送出:<xliff:g id="MESSAGE">%2$s</xliff:g>。時間:<xliff:g id="TIME">%3$s</xliff:g>。"</string>
+    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"正在傳送訊息給<xliff:g id="CONTACT">%1$s</xliff:g>:<xliff:g id="MESSAGE">%2$s</xliff:g>。時間:<xliff:g id="TIME">%3$s</xliff:g>。"</string>
+    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"無法傳送訊息給<xliff:g id="CONTACT">%1$s</xliff:g>:<xliff:g id="MESSAGE">%2$s</xliff:g>。時間:<xliff:g id="TIME">%3$s</xliff:g>。"</string>
+    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"已傳送訊息給<xliff:g id="CONTACT">%1$s</xliff:g>:<xliff:g id="MESSAGE">%2$s</xliff:g>。時間:<xliff:g id="TIME">%3$s</xliff:g>。"</string>
+    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"<xliff:g id="SENDER">%1$s</xliff:g>嘗試傳送訊息但未成功:<xliff:g id="MESSAGE">%2$s</xliff:g>。時間:<xliff:g id="TIME">%3$s</xliff:g>。<xliff:g id="GROUPINFO">%3$s</xliff:g>。"</string>
+    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"<xliff:g id="SENDER">%1$s</xliff:g>傳送了訊息:<xliff:g id="MESSAGE">%2$s</xliff:g>。時間:<xliff:g id="TIME">%3$s</xliff:g>。<xliff:g id="GROUPINFO">%3$s</xliff:g>。"</string>
+    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"給<xliff:g id="GROUP">%1$s</xliff:g>的訊息尚未送出:<xliff:g id="MESSAGE">%2$s</xliff:g>。時間:<xliff:g id="TIME">%3$s</xliff:g>。"</string>
+    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"正在傳送訊息給<xliff:g id="GROUP">%1$s</xliff:g>:<xliff:g id="MESSAGE">%2$s</xliff:g>。時間:<xliff:g id="TIME">%3$s</xliff:g>。"</string>
+    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"無法傳送訊息給<xliff:g id="GROUP">%1$s</xliff:g>:<xliff:g id="MESSAGE">%2$s</xliff:g>。時間:<xliff:g id="TIME">%3$s</xliff:g>。"</string>
+    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"已傳送訊息給<xliff:g id="GROUP">%1$s</xliff:g>:<xliff:g id="MESSAGE">%2$s</xliff:g>。時間:<xliff:g id="TIME">%3$s</xliff:g>。"</string>
     <string name="failed_message_content_description" msgid="7047161648867054936">"訊息傳送失敗,輕觸即可重試。"</string>
     <string name="group_conversation_description" msgid="2339270924401184182">"與<xliff:g id="PARTICIPANTS">%s</xliff:g>的對話"</string>
     <string name="delete_subject_content_description" msgid="8910749398836396698">"刪除主旨"</string>
@@ -258,7 +258,7 @@
     <string name="mms_messaging_category_pref_title" msgid="4816815152658525660">"多媒體訊息"</string>
     <string name="advanced_category_pref_title" msgid="6411454224069259687">"進階"</string>
     <string name="debug_category_pref_title" msgid="8765138968242505061">"偵錯"</string>
-    <string name="notifications_enabled_pref_title" msgid="4127288731844373795">"通知"</string>
+    <string name="notifications_pref_title" msgid="4127288731844373795">"通知"</string>
     <string name="notification_sound_pref_title" msgid="3685506528957337849">"音效"</string>
     <string name="silent_ringtone" msgid="8073534180322059814">"靜音"</string>
     <string name="notification_vibrate_pref_title" msgid="6668564570045187390">"震動"</string>
@@ -359,7 +359,7 @@
     <string name="add_contact_confirmation" msgid="1479380805406328264">"新增聯絡人"</string>
     <string name="compose_message_view_subject_hint_text" msgid="6076616675845705660">"主旨"</string>
     <string name="conversation_message_view_subject_text" msgid="5634274498769555505">"主旨: "</string>
-    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%s</xliff:g>:<xliff:g id="MESSAGETEXT">%s</xliff:g>"</string>
+    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%1$s</xliff:g>:<xliff:g id="MESSAGETEXT">%2$s</xliff:g>"</string>
     <string name="loading_vcard" msgid="3961520941271265083">"正在載入聯絡人卡片"</string>
     <string name="failed_loading_vcard" msgid="7711070643740368402">"無法載入聯絡人卡片"</string>
     <string name="vcard_tap_hint" msgid="4940284329175200952">"查看聯絡人卡片"</string>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index 02e21dd..16a7843 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -202,19 +202,19 @@
     <string name="audio_attachment_content_description" msgid="499334244765270108">"Ukunamathiselwa komsindo"</string>
     <string name="audio_play_content_description" msgid="4932509227281251607">"Dala okunamathiselwe komsindo"</string>
     <string name="audio_pause_content_description" msgid="7578169887065513701">"Misa isikhashana"</string>
-    <string name="incoming_message_announcement" msgid="6369259405539452011">"Umlayezo kusukela ku-<xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Umlayezo ohlulekile ophuma ku-<xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Isikhathi: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Umlayezo ophuma ku-<xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Isikhathi: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Umlayezo ongathunyelwe ku-<xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Isikhathi: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Ithumela umlayezo ku-<xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Isikhathi: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Umlayezo ohlulekile oya ku-<xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Isikhathi: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Umlayezo oya ku-<xliff:g id="CONTACT">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Isikhathi: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Umlayezo ohlulekile kusukela ku-<xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Isikhathi: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Umlayezo ophuma ku-<xliff:g id="SENDER">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Isikhathi: <xliff:g id="TIME">%s</xliff:g>. <xliff:g id="GROUPINFO">%s</xliff:g>."</string>
-    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Umlayezo ongathunyelwe ku-<xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Isikhathi: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Ithumela umlayezo ku-<xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Isikhathi: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Umlayezo ohlulekile oya ku-<xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Isikhathi: <xliff:g id="TIME">%s</xliff:g>."</string>
-    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Umlayezo oya ku-<xliff:g id="GROUP">%s</xliff:g>: <xliff:g id="MESSAGE">%s</xliff:g>. Isikhathi: <xliff:g id="TIME">%s</xliff:g>."</string>
+    <string name="incoming_message_announcement" msgid="6369259405539452011">"Umlayezo kusukela ku-<xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_failed_message_prefix" msgid="6985644411445605747">"Umlayezo ohlulekile ophuma ku-<xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Isikhathi: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_incoming_successful_message_prefix" msgid="6190814597935995703">"Umlayezo ophuma ku-<xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Isikhathi: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_draft_message_prefix" msgid="8721053088385740646">"Umlayezo ongathunyelwe ku-<xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Isikhathi: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_sending_message_prefix" msgid="3929653530203574220">"Ithumela umlayezo ku-<xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Isikhathi: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_failed_message_prefix" msgid="7194065651879454314">"Umlayezo ohlulekile oya ku-<xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Isikhathi: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="one_on_one_outgoing_successful_message_prefix" msgid="7128492863867327814">"Umlayezo oya ku-<xliff:g id="CONTACT">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Isikhathi: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_incoming_failed_message_prefix" msgid="7085805237707481779">"Umlayezo ohlulekile kusukela ku-<xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Isikhathi: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_incoming_successful_message_prefix" msgid="7248506967059447054">"Umlayezo ophuma ku-<xliff:g id="SENDER">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Isikhathi: <xliff:g id="TIME">%3$s</xliff:g>. <xliff:g id="GROUPINFO">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_draft_message_prefix" msgid="1655013812805454648">"Umlayezo ongathunyelwe ku-<xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Isikhathi: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_sending_message_prefix" msgid="7636874745414695556">"Ithumela umlayezo ku-<xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Isikhathi: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_failed_message_prefix" msgid="5059983340377901592">"Umlayezo ohlulekile oya ku-<xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Isikhathi: <xliff:g id="TIME">%3$s</xliff:g>."</string>
+    <string name="group_outgoing_successful_message_prefix" msgid="1593702642852987920">"Umlayezo oya ku-<xliff:g id="GROUP">%1$s</xliff:g>: <xliff:g id="MESSAGE">%2$s</xliff:g>. Isikhathi: <xliff:g id="TIME">%3$s</xliff:g>."</string>
     <string name="failed_message_content_description" msgid="7047161648867054936">"Umlayezo ohlulekile. Thinta ukuze uphinde uzame."</string>
     <string name="group_conversation_description" msgid="2339270924401184182">"Ingxoxo no-<xliff:g id="PARTICIPANTS">%s</xliff:g>"</string>
     <string name="delete_subject_content_description" msgid="8910749398836396698">"Sula isihloko"</string>
@@ -258,7 +258,7 @@
     <string name="mms_messaging_category_pref_title" msgid="4816815152658525660">"I-MMS"</string>
     <string name="advanced_category_pref_title" msgid="6411454224069259687">"Okuthuthukisiwe"</string>
     <string name="debug_category_pref_title" msgid="8765138968242505061">"Lungisa iphutha"</string>
-    <string name="notifications_enabled_pref_title" msgid="4127288731844373795">"Izaziso"</string>
+    <string name="notifications_pref_title" msgid="4127288731844373795">"Izaziso"</string>
     <string name="notification_sound_pref_title" msgid="3685506528957337849">"Umsindo"</string>
     <string name="silent_ringtone" msgid="8073534180322059814">"Thulile"</string>
     <string name="notification_vibrate_pref_title" msgid="6668564570045187390">"Dlidlizela"</string>
@@ -359,7 +359,7 @@
     <string name="add_contact_confirmation" msgid="1479380805406328264">"Engeza oxhumana naye"</string>
     <string name="compose_message_view_subject_hint_text" msgid="6076616675845705660">"Isihloko"</string>
     <string name="conversation_message_view_subject_text" msgid="5634274498769555505">"Isihloko: "</string>
-    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%s</xliff:g><xliff:g id="MESSAGETEXT">%s</xliff:g>"</string>
+    <string name="notification_subject" msgid="5229975483160300625">"<xliff:g id="SUBJECT_LABEL">%1$s</xliff:g><xliff:g id="MESSAGETEXT">%2$s</xliff:g>"</string>
     <string name="loading_vcard" msgid="3961520941271265083">"Ilayisha ikhadi loxhumana naye"</string>
     <string name="failed_loading_vcard" msgid="7711070643740368402">"Ayikwazi ukulayisha ikhadi loxhumana naye"</string>
     <string name="vcard_tap_hint" msgid="4940284329175200952">"Buka ikhadi lokuxhumana"</string>
diff --git a/res/values/cm_strings.xml b/res/values/cm_strings.xml
new file mode 100644
index 0000000..858f093
--- /dev/null
+++ b/res/values/cm_strings.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- Swipe to delete conversation -->
+    <string name="swipe_to_delete_conversation_pref_title">Swipe to delete</string>
+    <string name="swipe_to_delete_conversation_pref_summary">Swipe to the right to delete a conversation</string>
+
+    <!-- Show emoticons -->
+    <string name="show_emoticons_pref_title">Emoticons access</string>
+    <string name="show_emoticons_pref_summary">Show the emoticons key on the keyboard</string>
+
+    <!-- Mark message as read -->
+    <string name="notification_mark_as_read">Mark as read</string>
+
+    <!-- Notification channel -->
+    <string name="notification_channel_messages_title">Messages</string>
+</resources>
diff --git a/res/values/colors.xml b/res/values/colors.xml
index f33e105..b8119bc 100644
--- a/res/values/colors.xml
+++ b/res/values/colors.xml
@@ -62,13 +62,13 @@
     <color name="message_text_color_outgoing">#ff323232</color>
     <color name="conversation_background">#eeeeee</color>
     <color name="conversation_edge_effect">#9d9d9d</color>
-    <color name="compose_message_send_color">@color/primary_color</color>
+    <color name="compose_message_send_color">@color/lineage_accent</color>
     <color name="compose_message_send_color_pressed">#999999</color>
     <color name="message_bubble_color_outgoing">#ffffffff</color>
     <color name="message_error_bubble_color_incoming">#e2e2e2</color>
     <color name="message_audio_button_color_incoming">#ffffffff</color>
-    <color name="message_bubble_color_selected">#8BC34A</color>
-    <color name="message_image_selected_tint">#80689F38</color>
+    <color name="message_bubble_color_selected">@color/lineage_accent</color>
+    <color name="message_image_selected_tint">#80FF9800</color>
     <color name="generic_video_icon">#ff808080</color>
 
     <!-- Base color used for color filtering. -->
@@ -87,7 +87,7 @@
     <color name="compose_contact_divider">#44000000</color>
     <color name="contact_picker_tab_pressed">#ddffffff</color>
     <color name="contact_picker_tab_underline">@android:color/white</color>
-    <color name="contact_list_alphabet_header">@color/primary_color</color>
+    <color name="contact_list_alphabet_header">@color/lineage_accent</color>
     <color name="contact_picker_background">#ffffff</color>
     <color name="chips_dropdown_background_activated">#4285f4</color>
     <color name="chips_dropdown_background_pressed">#ededed</color>
@@ -102,6 +102,23 @@
     <color name="gallery_image_pressed">#6733b5e5</color>
     <color name="attachment_preview_more_items_text_background">#44000000</color>
 
+    <array name="letter_tile_colors">
+        <item>#DB4437</item>
+        <item>#E91E63</item>
+        <item>#9C27B0</item>
+        <item>#673AB7</item>
+        <item>#3F51B5</item>
+        <item>#4285F4</item>
+        <item>#039BE5</item>
+        <item>#0097A7</item>
+        <item>#009688</item>
+        <item>#0F9D58</item>
+        <item>#689F38</item>
+        <item>#EF6C00</item>
+        <item>#FF5722</item>
+        <item>#757575</item>
+    </array>
+
     <color name="letter_tile_font_color">#ffffff</color>
 
     <color name="audio_picker_level_primary_color">#29000000</color>
@@ -109,7 +126,9 @@
     <color name="audio_picker_hint_text_color">#40000000</color>
     <color name="audio_picker_timer_text_color">#323232</color>
     <color name="audio_attachment_timer_text_color">#323232</color>
-    <color name="audio_progress_bar_color">@color/primary_color</color>
+    <color name="audio_progress_bar_color">@color/lineage_accent</color>
+
+    <color name="contact_picker_hint_text_color">#40000000</color>
 
     <color name="notification_sender_text">#9A9A9A</color>
     <color name="notification_secondary_text">#FFFFFF</color>
@@ -120,19 +139,18 @@
     <color name="notification_subject_color">#99aaaaaa</color>
 
     <color name="participant_list_text_primary">#4d4d4d</color>
-    <color name="participant_list_text_secondary">#6d6d6d</color>
     <color name="people_and_options_header_text">#6d6d6d</color>
     <color name="people_and_options_list_divider">#cccccc</color>
 
-    <color name="fab_color">@color/primary_color</color>
+    <color name="fab_color">@color/lineage_accent</color>
     <color name="fab_pressed_color">#3ea4dc</color>
     <color name="fab_ripple">#40ffffff</color>
 
-    <color name="message_text_counter_color">#555555</color>
-    <color name="mms_indicator_color">#8BC34A</color>
+    <color name="message_body_size_text_color">#555555</color>
+    <color name="mms_indicator_color">#681faf</color>
     <color name="list_empty_text">#6d6d6d</color>
     <color name="low_storage_action_item_color">#ff000000</color>
-    <color name="unblock_item_text_color">@color/primary_color</color>
+    <color name="unblock_item_text_color">@color/lineage_accent</color>
     <color name="open_conversation_animation_background_shadow">#40000000</color>
     <color name="compose_notification_bar_background">@color/primary_color</color>
 
diff --git a/res/values/config.xml b/res/values/config.xml
index 954f5ed..c3038fe 100644
--- a/res/values/config.xml
+++ b/res/values/config.xml
@@ -18,4 +18,7 @@
 <resources>
     <!-- The packaged version of APNs and MMS configurations -->
     <integer name="apnsAndMmsConfigsVersion">0</integer>
+
+    <!-- Use individual colors for contacts -->
+    <bool name="contact_colors">true</bool>
 </resources>
diff --git a/res/values/constants.xml b/res/values/constants.xml
index 8985fd1..cd77e0e 100644
--- a/res/values/constants.xml
+++ b/res/values/constants.xml
@@ -21,8 +21,7 @@
     <string name="notifications_category_pref_key" translatable="false">notifications_category</string>
     <string name="mms_messaging_category_pref_key" translatable="false">mms_messaging_category</string>
     <string name="advanced_category_pref_key" translatable="false">advanced_category</string>
-    <string name="notifications_enabled_pref_key" translatable="false">notifications_enabled</string>
-    <bool name="notifications_enabled_pref_default" translatable="false">true</bool>
+    <string name="notifications_pref_key" translatable="false">notifications_enabled</string>
     <string name="notification_sound_pref_key" translatable="false">notification_sound</string>
     <string name="notification_vibration_pref_key" translatable="false">notification_vibration</string>
     <bool name="notification_vibration_pref_default" translatable="false">true</bool>
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index 5ff0eb7..734afe8 100644
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -34,7 +34,6 @@
     <dimen name="conversation_list_contact_icon_size">56dp</dimen>
     <dimen name="conversation_message_contact_icon_size">42dp</dimen>
     <dimen name="conversation_message_photo_min_size">96dp</dimen>
-    <dimen name="conversation_list_notification_bell_padding">4dp</dimen>
     <dimen name="conversation_list_empty_text_bottom_margin">30dp</dimen>
     <dimen name="blocked_participant_list_item_view_padding">16dp</dimen>
 
@@ -85,6 +84,7 @@
     <!-- Flings faster than this length / sec will go from fullscreen straight to closed -->
     <dimen name="mediapicker_big_fling_threshold">1000dp</dimen>
     <dimen name="gallery_image_cell_size">110dp</dimen>
+    <dimen name="gallery_icon_size">40dp</dimen>
     <dimen name="single_attachment_min_dimen">50dp</dimen>
     <dimen name="single_attachment_max_height">150dp</dimen>
     <dimen name="multiple_attachment_preview_height">130dp</dimen>
@@ -99,13 +99,15 @@
     <dimen name="audio_picker_text_size">16sp</dimen>
     <dimen name="audio_attachment_text_size">14sp</dimen>
     <dimen name="audio_progress_bar_height">6dp</dimen>
+
+    <dimen name="contact_picker_text_size">16sp</dimen>
+
     <!-- Videos in the message list view should at least be this big in the smallest dimension -->
     <dimen name="video_message_min_size">320dp</dimen>
     <dimen name="attachment_rounded_corner_radius">3dp</dimen>
     <dimen name="progress_indicator_default_stroke_width">2dp</dimen>
     <dimen name="progress_indicator_default_radius">12dp</dimen>
     <dimen name="participant_list_text_size">18sp</dimen>
-    <dimen name="participant_list_detail_text_size">14sp</dimen>
     <dimen name="people_and_options_header_text_size">16sp</dimen>
     <dimen name="image_attachment_fallback_width">240dp</dimen>
     <dimen name="image_attachment_fallback_height">240dp</dimen>
@@ -116,7 +118,7 @@
     <dimen name="fab_elevation_pressed">6dp</dimen>
     <dimen name="fab_bottom_margin">12dp</dimen>
     <dimen name="fab_left_right_margin">14dp</dimen>
-    <dimen name="message_text_counter_size">12sp</dimen>
+    <dimen name="message_body_size_text_size">12sp</dimen>
 
     <dimen name="vcard_detail_group_indicator_width">40dp</dimen>
     <dimen name="mms_indicator_size">12sp</dimen>
diff --git a/res/values/lineage_colors.xml b/res/values/lineage_colors.xml
new file mode 100644
index 0000000..787d5e5
--- /dev/null
+++ b/res/values/lineage_colors.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2016 The CyanogenMod Project
+    Copyright (C) 2018 The LineageOS Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources>
+    <color name="lineage_accent">#FF9800</color>
+    <color name="button_text">#000000</color>
+
+    <color name="navigation_bar_bg">@android:color/white</color>
+    <color name="navigation_bar_divider">#1f000000</color>
+</resources>
diff --git a/res/values/lineage_constants.xml b/res/values/lineage_constants.xml
new file mode 100644
index 0000000..cf2793b
--- /dev/null
+++ b/res/values/lineage_constants.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2016 The CyanogenMod Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<resources>
+    <!-- Preference keys for user-visible settings -->
+    <!-- Application-wide settings -->
+    <string name="swipe_right_deletes_conversation_key" translatable="false">swipe_right_deletes_conversation</string>
+
+    <!-- This should really go into a config xml, but whoever wrote this app is an idiot, so follow their pattern -->
+    <bool name="swipe_right_deletes_conversation_default" translatable="false">false</bool>
+
+    <!-- Preference keys for user-visible settings -->
+    <!-- Application-wide settings -->
+    <bool name="show_emoticons_pref_default" translatable="false">true</bool>
+</resources>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 012d87f..86db324 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -53,7 +53,8 @@
     <string name="mediapicker_cameraChooserDescription">Capture pictures or video</string>
     <string name="mediapicker_galleryChooserDescription">Choose images from this device</string>
     <string name="mediapicker_audioChooserDescription">Record audio</string>
-    <string name="mediapicker_gallery_title">Choose photo</string>
+    <string name="mediapicker_contactChooserDescription">Choose a contact from this device</string>
+    <string name="mediapicker_gallery_title">Choose media</string>
     <string name="mediapicker_gallery_item_selected_content_description">The media is selected.</string>
     <string name="mediapicker_gallery_item_unselected_content_description">The media is unselected.</string>
     <string name="mediapicker_gallery_title_selection"><xliff:g id="count">%d</xliff:g> selected</string>
@@ -61,6 +62,9 @@
     <string name="mediapicker_gallery_image_item_description">image <xliff:g id="date">%1$tB %1$te %1$tY %1$tl %1$tM %1$tp</xliff:g></string>
     <string name="mediapicker_gallery_image_item_description_no_date">image</string>
     <string name="mediapicker_audio_title">Record audio</string>
+    <string name="mediapicker_contact_title">Choose a contact</string>
+    <!-- Hint text on the contact picker -->
+    <string name="contact_picker_hint_text">Click to open contacts list on this device</string>
 
     <string name="action_share">Share</string>
 
@@ -253,10 +257,6 @@
     <string name="action_archive">Archive</string>
     <!-- Action menu title for unarchiving selected conversations in conversation list -->
     <string name="action_unarchive">Unarchive</string>
-    <!-- Action menu title for turning off notification for the selected conversations in conversation list -->
-    <string name="action_notification_off">Turn off notifications</string>
-    <!-- Action menu title for turning on notification for the selected conversations in conversation list -->
-    <string name="action_notification_on">Turn on notifications</string>
     <!-- Action menu title for adding the contacts for the selected conversations in conversation list -->
     <string name="action_add_contact">Add contact</string>
     <!-- Action menu title for downloading failed message selected in conversation -->
@@ -362,21 +362,21 @@
     <string name="audio_pause_content_description">Pause</string>
 
     <!-- Accessibility announcement for an incoming message -->
-    <string name="incoming_message_announcement">Message from <xliff:g id="sender">%s</xliff:g>: <xliff:g id="message">%s</xliff:g>.</string>
+    <string name="incoming_message_announcement">Message from <xliff:g id="sender">%1$s</xliff:g>: <xliff:g id="message">%2$s</xliff:g>.</string>
     <!-- Accessibility description for conversation list for 1:1 conversations -->
-    <string name="one_on_one_incoming_failed_message_prefix">Failed message from <xliff:g id="sender">%s</xliff:g>: <xliff:g id="message">%s</xliff:g>. Time: <xliff:g id="time">%s</xliff:g>.</string>
-    <string name="one_on_one_incoming_successful_message_prefix">Message from <xliff:g id="sender">%s</xliff:g>: <xliff:g id="message">%s</xliff:g>. Time: <xliff:g id="time">%s</xliff:g>.</string>
-    <string name="one_on_one_outgoing_draft_message_prefix">Unsent message to <xliff:g id="contact">%s</xliff:g>: <xliff:g id="message">%s</xliff:g>. Time: <xliff:g id="time">%s</xliff:g>.</string>
-    <string name="one_on_one_outgoing_sending_message_prefix">Sending message to <xliff:g id="contact">%s</xliff:g>: <xliff:g id="message">%s</xliff:g>. Time: <xliff:g id="time">%s</xliff:g>.</string>
-    <string name="one_on_one_outgoing_failed_message_prefix">Failed message to <xliff:g id="contact">%s</xliff:g>: <xliff:g id="message">%s</xliff:g>. Time: <xliff:g id="time">%s</xliff:g>.</string>
-    <string name="one_on_one_outgoing_successful_message_prefix">Message to <xliff:g id="contact">%s</xliff:g>: <xliff:g id="message">%s</xliff:g>. Time: <xliff:g id="time">%s</xliff:g>.</string>
+    <string name="one_on_one_incoming_failed_message_prefix">Failed message from <xliff:g id="sender">%1$s</xliff:g>: <xliff:g id="message">%2$s</xliff:g>. Time: <xliff:g id="time">%3$s</xliff:g>.</string>
+    <string name="one_on_one_incoming_successful_message_prefix">Message from <xliff:g id="sender">%1$s</xliff:g>: <xliff:g id="message">%2$s</xliff:g>. Time: <xliff:g id="time">%3$s</xliff:g>.</string>
+    <string name="one_on_one_outgoing_draft_message_prefix">Unsent message to <xliff:g id="contact">%1$s</xliff:g>: <xliff:g id="message">%2$s</xliff:g>. Time: <xliff:g id="time">%3$s</xliff:g>.</string>
+    <string name="one_on_one_outgoing_sending_message_prefix">Sending message to <xliff:g id="contact">%1$s</xliff:g>: <xliff:g id="message">%2$s</xliff:g>. Time: <xliff:g id="time">%3$s</xliff:g>.</string>
+    <string name="one_on_one_outgoing_failed_message_prefix">Failed message to <xliff:g id="contact">%1$s</xliff:g>: <xliff:g id="message">%2$s</xliff:g>. Time: <xliff:g id="time">%3$s</xliff:g>.</string>
+    <string name="one_on_one_outgoing_successful_message_prefix">Message to <xliff:g id="contact">%1$s</xliff:g>: <xliff:g id="message">%2$s</xliff:g>. Time: <xliff:g id="time">%3$s</xliff:g>.</string>
     <!-- Accessibility description for conversation list for group conversations -->
-    <string name="group_incoming_failed_message_prefix">Failed message from <xliff:g id="sender">%s</xliff:g>: <xliff:g id="message">%s</xliff:g>. Time: <xliff:g id="time">%s</xliff:g>. <xliff:g id="groupInfo">%s</xliff:g>.</string>
-    <string name="group_incoming_successful_message_prefix">Message from <xliff:g id="sender">%s</xliff:g>: <xliff:g id="message">%s</xliff:g>. Time: <xliff:g id="time">%s</xliff:g>. <xliff:g id="groupInfo">%s</xliff:g>.</string>
-    <string name="group_outgoing_draft_message_prefix">Unsent message to <xliff:g id="group">%s</xliff:g>: <xliff:g id="message">%s</xliff:g>. Time: <xliff:g id="time">%s</xliff:g>.</string>
-    <string name="group_outgoing_sending_message_prefix">Sending message to <xliff:g id="group">%s</xliff:g>: <xliff:g id="message">%s</xliff:g>. Time: <xliff:g id="time">%s</xliff:g>.</string>
-    <string name="group_outgoing_failed_message_prefix">Failed message to <xliff:g id="group">%s</xliff:g>: <xliff:g id="message">%s</xliff:g>. Time: <xliff:g id="time">%s</xliff:g>.</string>
-    <string name="group_outgoing_successful_message_prefix">Message to <xliff:g id="group">%s</xliff:g>: <xliff:g id="message">%s</xliff:g>. Time: <xliff:g id="time">%s</xliff:g>.</string>
+    <string name="group_incoming_failed_message_prefix">Failed message from <xliff:g id="sender">%1$s</xliff:g>: <xliff:g id="message">%2$s</xliff:g>. Time: <xliff:g id="time">%3$s</xliff:g>. <xliff:g id="groupInfo">%4$s</xliff:g>.</string>
+    <string name="group_incoming_successful_message_prefix">Message from <xliff:g id="sender">%1$s</xliff:g>: <xliff:g id="message">%2$s</xliff:g>. Time: <xliff:g id="time">%3$s</xliff:g>. <xliff:g id="groupInfo">%4$s</xliff:g>.</string>
+    <string name="group_outgoing_draft_message_prefix">Unsent message to <xliff:g id="group">%1$s</xliff:g>: <xliff:g id="message">%2$s</xliff:g>. Time: <xliff:g id="time">%3$s</xliff:g>.</string>
+    <string name="group_outgoing_sending_message_prefix">Sending message to <xliff:g id="group">%1$s</xliff:g>: <xliff:g id="message">%2$s</xliff:g>. Time: <xliff:g id="time">%3$s</xliff:g>.</string>
+    <string name="group_outgoing_failed_message_prefix">Failed message to <xliff:g id="group">%1$s</xliff:g>: <xliff:g id="message">%2$s</xliff:g>. Time: <xliff:g id="time">%3$s</xliff:g>.</string>
+    <string name="group_outgoing_successful_message_prefix">Message to <xliff:g id="group">%1$s</xliff:g>: <xliff:g id="message">%2$s</xliff:g>. Time: <xliff:g id="time">%3$s</xliff:g>.</string>
     <!-- Accessibility description for conversation list for failed messages -->
     <string name="failed_message_content_description">Failed message. Tap to retry.</string>
 
@@ -436,13 +436,9 @@
     <!-- Preference category: Debug -->
     <string name="debug_category_pref_title">Debug</string>
     <!-- Title for the preference for whether or to notify the user of new messages -->
-    <string name="notifications_enabled_pref_title">Notifications</string>
+    <string name="notifications_pref_title">Notifications</string>
     <!-- Title for the notification sound preference -->
-    <string name="notification_sound_pref_title">Sound</string>
-    <!-- What to display in the settings screen for Ringtone when the user chooses "silent" [CHAR LIMIT=100]-->
     <string name="silent_ringtone">Silent</string>
-    <!-- Title for the preference for whether or not to vibrate with notifications -->
-    <string name="notification_vibrate_pref_title">Vibrate</string>
     <string name="blocked_pref_title">Blocked</string>
     <!-- Title for the preference for whether or not to request/show delivery reports for SMS -->
     <string name="delivery_reports_pref_title">SMS delivery reports</string>
@@ -610,7 +606,7 @@
     <!-- The text shown as a label before the message subject input box -->
     <string name="conversation_message_view_subject_text">Subject:\u0020</string>
     <!-- When there's a subject in an mms, the subject + message are shown in a notification -->
-    <string name="notification_subject"><xliff:g id="subject_label">%s</xliff:g><xliff:g id="messageText">%s</xliff:g></string>
+    <string name="notification_subject"><xliff:g id="subject_label">%1$s</xliff:g><xliff:g id="messageText">%2$s</xliff:g></string>
 
     <!-- Text shown on contact VCard when it's being loaded -->
     <string name="loading_vcard">Loading contact card</string>
@@ -975,4 +971,7 @@
     <string name="selected_sim_content_message"><xliff:g id="selected_sim">%s</xliff:g> selected</string>
 
     <string name="work_directory_display_name">Work Profile contacts</string>
+
+    <!-- When making a call to emergency numbers, show this toast -->
+    <string name="disallow_emergency_call">Can\'t make a voice call to emergency services here.</string>
 </resources>
diff --git a/res/values/styles.xml b/res/values/styles.xml
index 582c755..c355558 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -34,12 +34,17 @@
          <item name="android:dropDownListViewStyle">@style/DropDownListViewStyle</item>
          <item name="colorPrimary">@color/action_bar_background_color</item>
          <item name="colorPrimaryDark">@color/action_bar_background_color_dark</item>
-         <item name="colorAccent">@color/action_bar_background_color</item>
+         <item name="colorAccent">@color/lineage_accent</item>
          <item name="android:textColorHighlight">@color/text_highlight_color</item>
          <item name="actionBarStyle">@style/BugleActionBar</item>
          <item name="apnPreferenceStyle">@style/ApnPreference</item>
     </style>
 
+    <style name="LaunchTheme" parent="Theme.AppCompat.DayNight.DarkActionBar">
+         <item name="colorPrimary">@color/action_bar_background_color</item>
+         <item name="colorPrimaryDark">@color/action_bar_background_color_dark</item>
+    </style>
+
     <style name="BugleTheme.ConversationActivity"
         parent="@style/BugleTheme.ConversationActivityBase">
     </style>
@@ -47,6 +52,7 @@
     <style name="BugleTheme.ConversationActivityBase" parent="BugleTheme">
         <item name="android:windowBackground">@color/conversation_background</item>
         <item name="windowActionBarOverlay">true</item>
+        <item name="colorAccent">@color/lineage_accent</item>
         <item name="android:fastScrollPreviewBackgroundLeft">@drawable/contacts_fastscroll_label_left</item>
         <item name="android:fastScrollPreviewBackgroundRight">@drawable/contacts_fastscroll_label_right</item>
     </style>
@@ -76,6 +82,15 @@
         <item name="android:windowNoDisplay">true</item>
     </style>
 
+    <style name="Translucent" parent="BugleBaseTheme">
+        <item name="android:windowBackground">@android:color/transparent</item>
+        <item name="android:windowContentOverlay">@null</item>
+        <item name="android:windowIsTranslucent">true</item>
+        <item name="android:windowNoTitle">true</item>
+        <item name="android:windowAnimationStyle">@null</item>
+        <item name="android:windowDisablePreview">true</item>
+    </style>
+
     <style name="BugleActionBar" parent="@style/Widget.AppCompat.Light.ActionBar.Solid">
         <item name="height">@dimen/action_bar_height</item>
         <item name="displayOptions">showTitle</item>
@@ -133,7 +148,8 @@
         <item name="android:background">@null</item>
         <item name="android:scrollHorizontally">false</item>
         <item name="android:textCursorDrawable">@null</item>
-        <item name="android:inputType">textShortMessage|textAutoCorrect|textCapSentences|textMultiLine</item>
+        <item name="android:inputType">textAutoCorrect|textCapSentences|textMultiLine</item>
+        <item name="android:colorAccent">@color/lineage_accent</item>
     </style>
 
     <style name="ConversationComposeSubjectText" parent="ConversationComposeSendText">
@@ -208,6 +224,11 @@
         <item name="android:paddingLeft">16dp</item>
     </style>
 
+    <style name="ContactPickerHintText">
+        <item name="android:textSize">@dimen/contact_picker_text_size</item>
+        <item name="android:textColor">@color/contact_picker_hint_text_color</item>
+    </style>
+
     <style name="VcardAttachmentSingleStyle">
         <item name="android:paddingRight">@dimen/message_text_left_right_padding</item>
         <item name="android:paddingLeft">@dimen/message_text_left_right_padding</item>
@@ -275,10 +296,6 @@
         <item name="android:textColor">@color/conversation_list_name</item>
     </style>
 
-    <style name="ConversationListNotificationBellPaddingStyle">
-        <item name="android:paddingRight">@dimen/conversation_list_notification_bell_padding</item>
-    </style>
-
     <style name="ComposeMessageViewFrameLayoutStyle">
         <item name="android:paddingRight">@dimen/compose_message_send_button_padding_right</item>
     </style>
@@ -331,12 +348,6 @@
         <item name="android:paddingRight">@dimen/copy_contact_dialog_right_padding</item>
     </style>
 
-    <style name="ParticipantListItemDetail">
-        <item name="android:textSize">@dimen/participant_list_detail_text_size</item>
-        <item name="android:textColor">@color/participant_list_text_secondary</item>
-        <item name="android:background">@null</item>
-    </style>
-
     <style name="PeopleListItemViewStyle">
         <item name="android:paddingLeft">16dp</item>
     </style>
@@ -352,13 +363,13 @@
         <item name="android:background">@null</item>
     </style>
 
-    <style name="DropDownListViewStyle">
+    <style name="DropDownListViewStyle" parent="Widget.AppCompat.ListView.DropDown">
       <item name="android:dividerHeight">0dp</item>
     </style>
 
-    <style name="ComposeMessageViewTextCounterStyle">
-        <item name="android:textColor">@color/message_text_counter_color</item>
-        <item name="android:textSize">@dimen/message_text_counter_size</item>
+    <style name="ComposeMessageViewMessageBodySizeStyle">
+        <item name="android:textColor">@color/message_body_size_text_color</item>
+        <item name="android:textSize">@dimen/message_body_size_text_size</item>
         <item name="android:fontFamily">sans-serif</item>
         <item name="android:layout_gravity">right|center_vertical</item>
         <item name="android:paddingRight">@dimen/compose_message_text_box_padding_side</item>
diff --git a/res/xml-v21/preferences_application.xml b/res/xml-v21/preferences_application.xml
index 5d8ee4c..3b2d453 100644
--- a/res/xml-v21/preferences_application.xml
+++ b/res/xml-v21/preferences_application.xml
@@ -42,29 +42,24 @@
         android:defaultValue="@bool/send_sound_pref_default"
         android:persistent="true" />
 
-    <SwitchPreference
-        android:key="@string/notifications_enabled_pref_key"
-        android:title="@string/notifications_enabled_pref_title"
-        android:defaultValue="@bool/notifications_enabled_pref_default"
-        android:persistent="true"
-        android:disableDependentsState="false" />
-
-    <RingtonePreference
-        android:key="@string/notification_sound_pref_key"
-        android:title="@string/notification_sound_pref_title"
-        android:ringtoneType="notification"
-        android:showSilent="true"
-        android:showDefault="true"
-        android:persistent="true"
-        android:defaultValue=""
-        android:dependency="@string/notifications_enabled_pref_key" />
+    <Preference
+        android:key="@string/notifications_pref_key"
+        android:title="@string/notifications_pref_title"
+        android:persistent="true" />
 
     <SwitchPreference
-        android:key="@string/notification_vibration_pref_key"
-        android:title="@string/notification_vibrate_pref_title"
-        android:defaultValue="@bool/notification_vibration_pref_default"
+        android:key="pref_show_emoticons"
+        android:title="@string/show_emoticons_pref_title"
         android:persistent="true"
-        android:dependency="@string/notifications_enabled_pref_key" />
+        android:defaultValue="@bool/show_emoticons_pref_default"
+        android:summary="@string/show_emoticons_pref_summary" />
+
+    <SwitchPreference
+        android:key="@string/swipe_right_deletes_conversation_key"
+        android:title="@string/swipe_to_delete_conversation_pref_title"
+        android:summary="@string/swipe_to_delete_conversation_pref_summary"
+        android:defaultValue="false"
+        android:persistent="true" />
 
     <PreferenceScreen
             android:key="@string/advanced_pref_key"
diff --git a/res/xml-v23/preferences_application.xml b/res/xml-v23/preferences_application.xml
index 8fbadc4..3f6ab72 100644
--- a/res/xml-v23/preferences_application.xml
+++ b/res/xml-v23/preferences_application.xml
@@ -43,29 +43,24 @@
         android:defaultValue="@bool/send_sound_pref_default"
         android:persistent="true" />
 
-    <SwitchPreference
-        android:key="@string/notifications_enabled_pref_key"
-        android:title="@string/notifications_enabled_pref_title"
-        android:defaultValue="@bool/notifications_enabled_pref_default"
-        android:persistent="true"
-        android:disableDependentsState="false" />
-
-    <RingtonePreference
-        android:key="@string/notification_sound_pref_key"
-        android:title="@string/notification_sound_pref_title"
-        android:ringtoneType="notification"
-        android:showSilent="true"
-        android:showDefault="true"
-        android:persistent="true"
-        android:defaultValue=""
-        android:dependency="@string/notifications_enabled_pref_key" />
+    <Preference
+        android:key="@string/notifications_pref_key"
+        android:title="@string/notifications_pref_title"
+        android:persistent="true" />
 
     <SwitchPreference
-        android:key="@string/notification_vibration_pref_key"
-        android:title="@string/notification_vibrate_pref_title"
-        android:defaultValue="@bool/notification_vibration_pref_default"
+        android:key="pref_show_emoticons"
+        android:title="@string/show_emoticons_pref_title"
         android:persistent="true"
-        android:dependency="@string/notifications_enabled_pref_key" />
+        android:defaultValue="@bool/show_emoticons_pref_default"
+        android:summary="@string/show_emoticons_pref_summary" />
+
+    <SwitchPreference
+        android:key="@string/swipe_right_deletes_conversation_key"
+        android:title="@string/swipe_to_delete_conversation_pref_title"
+        android:summary="@string/swipe_to_delete_conversation_pref_summary"
+        android:defaultValue="false"
+        android:persistent="true" />
 
     <PreferenceScreen
             android:key="@string/advanced_pref_key"
diff --git a/res/xml/preferences_application.xml b/res/xml/preferences_application.xml
index 7a18d09..2c3d6cb 100644
--- a/res/xml/preferences_application.xml
+++ b/res/xml/preferences_application.xml
@@ -42,29 +42,24 @@
         android:defaultValue="@bool/send_sound_pref_default"
         android:persistent="true" />
 
-    <CheckBoxPreference
-        android:key="@string/notifications_enabled_pref_key"
-        android:title="@string/notifications_enabled_pref_title"
-        android:defaultValue="@bool/notifications_enabled_pref_default"
-        android:persistent="true"
-        android:disableDependentsState="false" />
-
-    <RingtonePreference
-        android:key="@string/notification_sound_pref_key"
-        android:title="@string/notification_sound_pref_title"
-        android:ringtoneType="notification"
-        android:showSilent="true"
-        android:showDefault="true"
-        android:persistent="true"
-        android:defaultValue=""
-        android:dependency="@string/notifications_enabled_pref_key" />
+    <Preference
+        android:key="@string/notifications_pref_key"
+        android:title="@string/notifications_pref_title"
+        android:persistent="true" />
 
     <CheckBoxPreference
-        android:key="@string/notification_vibration_pref_key"
-        android:title="@string/notification_vibrate_pref_title"
-        android:defaultValue="@bool/notification_vibration_pref_default"
+        android:key="pref_show_emoticons"
+        android:title="@string/show_emoticons_pref_title"
         android:persistent="true"
-        android:dependency="@string/notifications_enabled_pref_key" />
+        android:defaultValue="@bool/show_emoticons_pref_default"
+        android:summary="@string/show_emoticons_pref_summary" />
+
+    <SwitchPreference
+        android:key="@string/swipe_right_deletes_conversation_key"
+        android:title="@string/swipe_to_delete_conversation_pref_title"
+        android:summary="@string/swipe_to_delete_conversation_pref_summary"
+        android:defaultValue="false"
+        android:persistent="true" />
 
     <PreferenceScreen
             android:key="@string/advanced_pref_key"
diff --git a/src/android/support/v7/mms/CarrierConfigValuesLoader.java b/src/android/support/v7/mms/CarrierConfigValuesLoader.java
index 150d92d..1cb5226 100644
--- a/src/android/support/v7/mms/CarrierConfigValuesLoader.java
+++ b/src/android/support/v7/mms/CarrierConfigValuesLoader.java
@@ -174,7 +174,7 @@
     /**
      * String value: name for the user agent profile HTTP header
      */
-    public static final String CONFIG_UA_PROF_TAG_NAME = "mUaProfTagName";
+    public static final String CONFIG_UA_PROF_TAG_NAME = "uaProfTagName";
     public static final String CONFIG_UA_PROF_TAG_NAME_DEFAULT = "x-wap-profile";
     /**
      * String value: additional HTTP headers for MMS HTTP requests.
@@ -195,4 +195,14 @@
      */
     public static final String CONFIG_NAI_SUFFIX = "naiSuffix";
     public static final String CONFIG_NAI_SUFFIX_DEFAULT = null;
+    /**
+     * String value: Url for user agent profile
+     */
+    public static final String CONFIG_UA_PROF_URL = "uaProfUrl";
+    public static final String CONFIG_UA_PROF_URL_DEFAULT = null;
+    /**
+     * String value: user agent
+     */
+    public static final String CONFIG_USER_AGENT = "userAgent";
+    public static final String CONFIG_USER_AGENT_DEFAULT = null;
 }
diff --git a/src/android/support/v7/mms/MmsManager.java b/src/android/support/v7/mms/MmsManager.java
index 4a72a32..642a141 100644
--- a/src/android/support/v7/mms/MmsManager.java
+++ b/src/android/support/v7/mms/MmsManager.java
@@ -135,13 +135,13 @@
      */
     public static void sendMultimediaMessage(int subId, Context context, Uri contentUri,
             String locationUrl, PendingIntent sentIntent) {
-        if (Utils.hasMmsApi() && !sForceLegacyMms) {
+        if (shouldUseLegacyMms()) {
+            MmsService.startRequest(context, new SendRequest(locationUrl, contentUri, sentIntent));
+        } else {
             subId = Utils.getEffectiveSubscriptionId(subId);
             final SmsManager smsManager = Utils.getSmsManager(subId);
             smsManager.sendMultimediaMessage(context, contentUri, locationUrl,
                     getConfigOverrides(subId), sentIntent);
-        } else {
-            MmsService.startRequest(context, new SendRequest(locationUrl, contentUri, sentIntent));
         }
     }
 
@@ -157,18 +157,27 @@
      */
     public static void downloadMultimediaMessage(int subId, Context context, String locationUrl,
             Uri contentUri, PendingIntent downloadedIntent) {
-        if (Utils.hasMmsApi() && !sForceLegacyMms) {
+        if (shouldUseLegacyMms()) {
+            MmsService.startRequest(context,
+                    new DownloadRequest(locationUrl, contentUri, downloadedIntent));
+        } else {
             subId = Utils.getEffectiveSubscriptionId(subId);
             final SmsManager smsManager = Utils.getSmsManager(subId);
             smsManager.downloadMultimediaMessage(context, locationUrl, contentUri,
                     getConfigOverrides(subId), downloadedIntent);
-        } else {
-            MmsService.startRequest(context,
-                    new DownloadRequest(locationUrl, contentUri, downloadedIntent));
         }
     }
 
     /**
+     * Checks if we should use legacy APIs for MMS.
+     *
+     * @return true if forced to use legacy APIs or platform doesn't supports MMS APIs.
+     */
+    public static boolean shouldUseLegacyMms() {
+        return sForceLegacyMms || !Utils.hasMmsApi();
+    }
+
+    /**
      * Get carrier configuration values overrides when platform MMS API is called.
      * We only need to compute this if customized carrier config values loader or
      * user agent info loader are set
diff --git a/src/com/android/messaging/datamodel/BugleDatabaseOperations.java b/src/com/android/messaging/datamodel/BugleDatabaseOperations.java
index 281a8dd..4471b34 100644
--- a/src/com/android/messaging/datamodel/BugleDatabaseOperations.java
+++ b/src/com/android/messaging/datamodel/BugleDatabaseOperations.java
@@ -171,8 +171,7 @@
         final ArrayList<ParticipantData> participants =
                 getConversationParticipantsFromRecipients(recipients, refSubId);
 
-        return getOrCreateConversation(db, threadId, senderBlocked, participants, false, false,
-                null);
+        return getOrCreateConversation(db, threadId, senderBlocked, participants);
     }
 
     /**
@@ -190,7 +189,7 @@
         Assert.isNotMainThread();
         final ArrayList<ParticipantData> recipients = new ArrayList<>(1);
         recipients.add(recipient);
-        return getOrCreateConversation(db, threadId, senderBlocked, recipients, false, false, null);
+        return getOrCreateConversation(db, threadId, senderBlocked, recipients);
     }
 
     /**
@@ -200,15 +199,11 @@
      * @param threadId The message's thread
      * @param archived Flag whether the conversation should be created archived
      * @param participants list of conversation participants
-     * @param noNotification If notification should be disabled
-     * @param noVibrate If vibrate on notification should be disabled
-     * @param soundUri If there is custom sound URI
      * @return a conversation id
      */
     @DoesNotRunOnMainThread
     public static String getOrCreateConversation(final DatabaseWrapper db, final long threadId,
-            final boolean archived, final ArrayList<ParticipantData> participants,
-            boolean noNotification, boolean noVibrate, String soundUri) {
+            final boolean archived, final ArrayList<ParticipantData> participants) {
         Assert.isNotMainThread();
 
         // Check to see if this conversation is already in out local db cache
@@ -231,8 +226,7 @@
                         BugleDatabaseOperations.getOrCreateParticipantInTransaction(db, self);
                 // Create a new conversation
                 conversationId = BugleDatabaseOperations.createConversationInTransaction(
-                        db, threadId, conversationName, selfId, participants, archived,
-                        noNotification, noVibrate, soundUri);
+                        db, threadId, conversationName, selfId, participants, archived);
                 db.setTransactionSuccessful();
             } finally {
                 db.endTransaction();
@@ -357,15 +351,11 @@
      * @param threadId      The message's thread
      * @param selfId        The selfId to make default for this conversation
      * @param archived      Flag whether the conversation should be created archived
-     * @param noNotification If notification should be disabled
-     * @param noVibrate     If vibrate on notification should be disabled
-     * @param soundUri      The customized sound
      * @return The existing conversation id or new conversation id
      */
     static String createConversationInTransaction(final DatabaseWrapper dbWrapper,
             final long threadId, final String conversationName, final String selfId,
-            final List<ParticipantData> participants, final boolean archived,
-            boolean noNotification, boolean noVibrate, String soundUri) {
+            final List<ParticipantData> participants, final boolean archived) {
         // We want conversation and participant creation to be atomic
         Assert.isTrue(dbWrapper.getDatabase().inTransaction());
         boolean hasEmailAddress = false;
@@ -389,15 +379,6 @@
         if (archived) {
             values.put(ConversationColumns.ARCHIVE_STATUS, 1);
         }
-        if (noNotification) {
-            values.put(ConversationColumns.NOTIFICATION_ENABLED, 0);
-        }
-        if (noVibrate) {
-            values.put(ConversationColumns.NOTIFICATION_VIBRATION, 0);
-        }
-        if (!TextUtils.isEmpty(soundUri)) {
-            values.put(ConversationColumns.NOTIFICATION_SOUND_URI, soundUri);
-        }
 
         fillParticipantData(values, participants);
 
@@ -965,7 +946,7 @@
         return participant;
     }
 
-    static int getSelfSubscriptionId(final DatabaseWrapper dbWrapper,
+    public static int getSelfSubscriptionId(final DatabaseWrapper dbWrapper,
             final String selfParticipantId) {
         final ParticipantData selfParticipant = BugleDatabaseOperations.getExistingParticipant(
                 dbWrapper, selfParticipantId);
diff --git a/src/com/android/messaging/datamodel/BugleNotifications.java b/src/com/android/messaging/datamodel/BugleNotifications.java
index 3faee85..029b3fa 100644
--- a/src/com/android/messaging/datamodel/BugleNotifications.java
+++ b/src/com/android/messaging/datamodel/BugleNotifications.java
@@ -17,6 +17,8 @@
 package com.android.messaging.datamodel;
 
 import android.app.Notification;
+import android.app.NotificationChannel;
+import android.app.NotificationManager;
 import android.app.PendingIntent;
 import android.content.Context;
 import android.content.Intent;
@@ -74,10 +76,10 @@
 import com.android.messaging.util.ImageUtils;
 import com.android.messaging.util.LogUtil;
 import com.android.messaging.util.NotificationPlayer;
+import com.android.messaging.util.NotificationsUtil;
 import com.android.messaging.util.OsUtil;
 import com.android.messaging.util.PendingIntentConstants;
 import com.android.messaging.util.PhoneUtils;
-import com.android.messaging.util.RingtoneUtil;
 import com.android.messaging.util.ThreadUtil;
 import com.android.messaging.util.UriUtil;
 
@@ -173,24 +175,24 @@
         }
     Assert.isNotMainThread();
         checkInitialized();
-
-        if (!shouldNotify()) {
-            if (LogUtil.isLoggable(TAG, LogUtil.VERBOSE)) {
-                LogUtil.v(TAG, "Notifications disabled");
-            }
-            cancel(PendingIntentConstants.SMS_NOTIFICATION_ID);
-            return;
-        } else {
-            if ((coverage & UPDATE_MESSAGES) != 0) {
-                createMessageNotification(silent, conversationId);
-            }
+        if ((coverage & UPDATE_MESSAGES) != 0) {
+            createMessageNotification(silent, conversationId);
         }
+
         if ((coverage & UPDATE_ERRORS) != 0) {
             MessageNotificationState.checkFailedMessages();
         }
     }
 
     /**
+     * Play a sound to notify arrival of a class 0 message
+     *
+     */
+    public static void playClassZeroNotification() {
+        playObservableConversationNotificationSound(null);
+    }
+
+    /**
      * Cancel all notifications of a certain type.
      *
      * @param type Message or error notifications from Constants.
@@ -289,56 +291,6 @@
     }
 
     /**
-     * Returns {@code true} if incoming notifications should display a
-     * notification, {@code false} otherwise.
-     *
-     * @return true if the notification should occur
-     */
-    private static boolean shouldNotify() {
-        // If we're not the default sms app, don't put up any notifications.
-        if (!PhoneUtils.getDefault().isDefaultSmsApp()) {
-            return false;
-        }
-
-        // Now check prefs (i.e. settings) to see if the user turned off notifications.
-        final BuglePrefs prefs = BuglePrefs.getApplicationPrefs();
-        final Context context = Factory.get().getApplicationContext();
-        final String prefKey = context.getString(R.string.notifications_enabled_pref_key);
-        final boolean defaultValue = context.getResources().getBoolean(
-                R.bool.notifications_enabled_pref_default);
-        return prefs.getBoolean(prefKey, defaultValue);
-    }
-
-    /**
-     * Returns {@code true} if incoming notifications for the given {@link NotificationState}
-     * should vibrate the device, {@code false} otherwise.
-     *
-     * @return true if vibration should be used
-     */
-    public static boolean shouldVibrate(final NotificationState state) {
-        // The notification should vibrate if the global setting is turned on AND
-        // the per-conversation setting is turned on (default).
-        if (!state.getNotificationVibrate()) {
-            return false;
-        } else {
-            final BuglePrefs prefs = BuglePrefs.getApplicationPrefs();
-            final Context context = Factory.get().getApplicationContext();
-            final String prefKey = context.getString(R.string.notification_vibration_pref_key);
-            final boolean defaultValue = context.getResources().getBoolean(
-                    R.bool.notification_vibration_pref_default);
-            return prefs.getBoolean(prefKey, defaultValue);
-        }
-    }
-
-    private static Uri getNotificationRingtoneUriForConversationId(final String conversationId) {
-        final DatabaseWrapper db = DataModel.get().getDatabase();
-        final ConversationListItemData convData =
-                ConversationListItemData.getExistingConversation(db, conversationId);
-        return RingtoneUtil.getNotificationRingtoneUri(
-                convData != null ? convData.getNotificationSoundUri() : null);
-    }
-
-    /**
      * Returns a unique tag to identify a notification.
      *
      * @param name The tag name (in practice, the type)
@@ -411,13 +363,15 @@
     private static void processAndSend(final NotificationState state, final boolean silent,
             final boolean softSound) {
         final Context context = Factory.get().getApplicationContext();
-        final NotificationCompat.Builder notifBuilder = new NotificationCompat.Builder(context);
-        notifBuilder.setCategory(Notification.CATEGORY_MESSAGE);
         // TODO: Need to fix this for multi conversation notifications to rate limit dings.
         final String conversationId = state.mConversationIds.first();
+        String id = NotificationsUtil.DEFAULT_CHANNEL_ID;
+        if (NotificationsUtil.getNotificationChannel(context, conversationId) != null) {
+            id = conversationId;
+        }
+        final NotificationCompat.Builder notifBuilder = new NotificationCompat.Builder(context, id);
+        notifBuilder.setCategory(Notification.CATEGORY_MESSAGE);
 
-
-        final Uri ringtoneUri = RingtoneUtil.getNotificationRingtoneUri(state.getRingtoneUri());
         // If the notification's conversation is currently observable (focused or in the
         // conversation list),  then play a notification beep at a low volume and don't display an
         // actual notification.
@@ -427,7 +381,7 @@
                         "sCurrentlyDisplayedConversationId so NOT showing notification," +
                         " but playing soft sound. conversationId: " + conversationId);
             }
-            playObservableConversationNotificationSound(ringtoneUri);
+            playObservableConversationNotificationSound(conversationId);
             return;
         }
         state.mBaseRequestCode = state.mType;
@@ -440,7 +394,7 @@
             notifBuilder.setDeleteIntent(clearIntent);
         }
 
-        updateBuilderAudioVibrate(state, notifBuilder, silent, ringtoneUri, conversationId);
+        updateBuilderAudioVibrate(state, notifBuilder, silent, conversationId);
 
         // Set the content intent
         PendingIntent destinationIntent;
@@ -598,8 +552,7 @@
         if (state == null) {
             cancel(PendingIntentConstants.SMS_NOTIFICATION_ID);
             if (softSound && !TextUtils.isEmpty(conversationId)) {
-                final Uri ringtoneUri = getNotificationRingtoneUriForConversationId(conversationId);
-                playObservableConversationNotificationSound(ringtoneUri);
+                playObservableConversationNotificationSound(conversationId);
             }
             return;
         }
@@ -637,8 +590,8 @@
 
     private static void updateBuilderAudioVibrate(final NotificationState state,
             final NotificationCompat.Builder notifBuilder, final boolean silent,
-            final Uri ringtoneUri, final String conversationId) {
-        int defaults = Notification.DEFAULT_LIGHTS;
+            final String conversationId) {
+        int defaults = Notification.DEFAULT_LIGHTS | Notification.DEFAULT_VIBRATE;
         if (!silent) {
             final BuglePrefs prefs = Factory.get().getApplicationPrefs();
             final long latestNotificationTimestamp = prefs.getLong(
@@ -660,10 +613,6 @@
                     if (lastTime == null
                             || SystemClock.elapsedRealtime() - lastTime > sTimeBetweenDingsMs) {
                         sLastMessageDingTime.put(conversationId, SystemClock.elapsedRealtime());
-                        notifBuilder.setSound(ringtoneUri);
-                        if (shouldVibrate(state)) {
-                            defaults |= Notification.DEFAULT_VIBRATE;
-                        }
                     }
                 }
             }
@@ -817,8 +766,14 @@
                 notificationState.mNotificationBuilder.setLargeIcon(smallBitmap);
 
                 // Add a wearable page with no visible card so you can more easily see the photo.
+                String conversationId = notificationState.mConversationIds.first();
+                String id = NotificationsUtil.DEFAULT_CHANNEL_ID;
+                if (NotificationsUtil.getNotificationChannel(context, conversationId) != null) {
+                    id = conversationId;
+                }
                 final NotificationCompat.Builder photoPageNotifBuilder =
-                        new NotificationCompat.Builder(Factory.get().getApplicationContext());
+                        new NotificationCompat.Builder(Factory.get().getApplicationContext(),
+                        NotificationsUtil.DEFAULT_CHANNEL_ID);
                 final WearableExtender photoPageWearableExtender = new WearableExtender();
                 photoPageWearableExtender.setHintShowBackgroundOnly(true);
                 if (attachmentBitmap != null) {
@@ -833,7 +788,8 @@
             maybeAddWearableConversationLog(wearableExtender,
                     (MultiMessageNotificationState) notificationState);
             addDownloadMmsAction(notifBuilder, wearableExtender, notificationState);
-            addWearableVoiceReplyAction(wearableExtender, notificationState);
+            addReplyAction(notifBuilder, wearableExtender, notificationState);
+            addReadAction(notifBuilder, wearableExtender, notificationState);
         }
 
         // Apply the wearable options and build & post the notification
@@ -875,7 +831,7 @@
         }
     }
 
-    private static void addWearableVoiceReplyAction(
+    private static void addReplyAction(final NotificationCompat.Builder notifBuilder,
             final WearableExtender wearableExtender, final NotificationState notificationState) {
         if (!(notificationState instanceof MultiMessageNotificationState)) {
             return;
@@ -905,14 +861,34 @@
         final NotificationCompat.Action.Builder actionBuilder =
                 new NotificationCompat.Action.Builder(R.drawable.ic_wear_reply,
                         context.getString(replyLabelRes), replyPendingIntent);
+
+        final RemoteInput.Builder remoteInputBuilder = new RemoteInput.Builder(Intent.EXTRA_TEXT);
+        remoteInputBuilder.setLabel(context.getString(R.string.notification_reply_prompt));
+        actionBuilder.addRemoteInput(remoteInputBuilder.build());
+        notifBuilder.addAction(actionBuilder.build());
+
+        // Support the action on a wearable device as well
+        final NotificationCompat.Action.Builder wearActionBuilder =
+                new NotificationCompat.Action.Builder(R.drawable.ic_wear_reply,
+                        context.getString(replyLabelRes), replyPendingIntent);
         final String[] choices = context.getResources().getStringArray(
                 R.array.notification_reply_choices);
-        final RemoteInput remoteInput = new RemoteInput.Builder(Intent.EXTRA_TEXT).setLabel(
-                context.getString(R.string.notification_reply_prompt)).
-                setChoices(choices)
-                .build();
-        actionBuilder.addRemoteInput(remoteInput);
-        wearableExtender.addAction(actionBuilder.build());
+        remoteInputBuilder.setChoices(choices);
+        wearActionBuilder.addRemoteInput(remoteInputBuilder.build());
+        wearableExtender.addAction(wearActionBuilder.build());
+    }
+
+    private static void addReadAction(final NotificationCompat.Builder notifBuilder,
+            final WearableExtender wearableExtender, final NotificationState notificationState) {
+        final Context context = Factory.get().getApplicationContext();
+        final PendingIntent readPendingIntent = notificationState.getReadIntent();
+        final NotificationCompat.Action.Builder readActionBuilder =
+                new NotificationCompat.Action.Builder(R.drawable.ic_wear_read,
+                        context.getString(R.string.notification_mark_as_read), readPendingIntent);
+        notifBuilder.addAction(readActionBuilder.build());
+
+        // Support the action on a wearable device as well
+        wearableExtender.addAction(readActionBuilder.build());
     }
 
     private static void addDownloadMmsAction(final NotificationCompat.Builder notifBuilder,
@@ -973,6 +949,16 @@
         notification.flags |= Notification.FLAG_AUTO_CANCEL;
         notification.defaults |= Notification.DEFAULT_LIGHTS;
 
+        Context context = Factory.get().getApplicationContext();
+
+        NotificationsUtil.createNotificationChannelGroup(context,
+                NotificationsUtil.CONVERSATION_GROUP_NAME,
+                R.string.notification_channel_messages_title);
+        NotificationsUtil.createNotificationChannel(context,
+                NotificationsUtil.DEFAULT_CHANNEL_ID,
+                R.string.notification_channel_messages_title,
+                NotificationManager.IMPORTANCE_DEFAULT,
+                NotificationsUtil.CONVERSATION_GROUP_NAME);
         notificationManager.notify(notificationTag, type, notification);
 
         LogUtil.i(TAG, "Notifying for conversation " + conversationId + "; "
@@ -1096,7 +1082,7 @@
      * Play the observable conversation notification sound (it's the regular notification sound, but
      * played at half-volume)
      */
-    private static void playObservableConversationNotificationSound(final Uri ringtoneUri) {
+    private static void playObservableConversationNotificationSound(final String conversationId) {
         final Context context = Factory.get().getApplicationContext();
         final AudioManager audioManager = (AudioManager) context
                 .getSystemService(Context.AUDIO_SERVICE);
@@ -1107,7 +1093,11 @@
         }
 
         final NotificationPlayer player = new NotificationPlayer(LogUtil.BUGLE_TAG);
-        player.play(ringtoneUri, false,
+        NotificationChannel channel = NotificationsUtil.getNotificationChannel(context, conversationId);
+        if (channel == null) {
+            channel = NotificationsUtil.getNotificationChannel(context, NotificationsUtil.DEFAULT_CHANNEL_ID);
+        }
+        player.play(channel != null ? channel.getSound() : null, false,
                 AudioManager.STREAM_NOTIFICATION,
                 OBSERVABLE_CONVERSATION_NOTIFICATION_VOLUME);
 
@@ -1202,7 +1192,8 @@
         final PendingIntent destinationIntent = UIIntents.get()
                 .getPendingIntentForConversationActivity(context, conversationId, null /* draft */);
 
-        final NotificationCompat.Builder builder = new NotificationCompat.Builder(context);
+        final NotificationCompat.Builder builder =
+                new NotificationCompat.Builder(context, NotificationsUtil.DEFAULT_CHANNEL_ID);
         builder.setTicker(line1)
                 .setContentTitle(line1)
                 .setContentText(line2)
@@ -1212,6 +1203,15 @@
                 .setSound(UriUtil.getUriForResourceId(context, R.raw.message_failure));
 
         final String tag = context.getPackageName() + ":emergency_sms_error";
+
+        NotificationsUtil.createNotificationChannelGroup(context,
+                NotificationsUtil.CONVERSATION_GROUP_NAME,
+                R.string.notification_channel_messages_title);
+        NotificationsUtil.createNotificationChannel(context,
+                NotificationsUtil.DEFAULT_CHANNEL_ID,
+                R.string.notification_channel_messages_title,
+                NotificationManager.IMPORTANCE_HIGH,
+                null);
         NotificationManagerCompat.from(context).notify(
                 tag,
                 PendingIntentConstants.MSG_SEND_ERROR,
diff --git a/src/com/android/messaging/datamodel/DataModel.java b/src/com/android/messaging/datamodel/DataModel.java
index 936b51c..b606c72 100644
--- a/src/com/android/messaging/datamodel/DataModel.java
+++ b/src/com/android/messaging/datamodel/DataModel.java
@@ -50,7 +50,6 @@
 import com.android.messaging.datamodel.data.SubscriptionListData;
 import com.android.messaging.datamodel.data.VCardContactItemData;
 import com.android.messaging.util.Assert.DoesNotRunOnMainThread;
-import com.android.messaging.util.ConnectivityUtil;
 
 public abstract class DataModel {
     private String mFocusedConversation;
@@ -152,7 +151,5 @@
 
     public abstract void onApplicationCreated();
 
-    public abstract ConnectivityUtil getConnectivityUtil();
-
     public abstract SyncManager getSyncManager();
 }
diff --git a/src/com/android/messaging/datamodel/DataModelImpl.java b/src/com/android/messaging/datamodel/DataModelImpl.java
index 6ab3f00..ddb17ff 100644
--- a/src/com/android/messaging/datamodel/DataModelImpl.java
+++ b/src/com/android/messaging/datamodel/DataModelImpl.java
@@ -57,21 +57,27 @@
 import com.android.messaging.util.OsUtil;
 import com.android.messaging.util.PhoneUtils;
 
+import java.util.concurrent.ConcurrentHashMap;
+
 public class DataModelImpl extends DataModel {
     private final Context mContext;
     private final ActionService mActionService;
     private final BackgroundWorker mDataModelWorker;
     private final DatabaseHelper mDatabaseHelper;
-    private final ConnectivityUtil mConnectivityUtil;
     private final SyncManager mSyncManager;
 
+    // Cached ConnectivityUtil instance for Pre-N.
+    private static ConnectivityUtil sConnectivityUtilInstanceCachePreN = null;
+    // Cached ConnectivityUtil subId->instance for N and beyond
+    private static final ConcurrentHashMap<Integer, ConnectivityUtil>
+            sConnectivityUtilInstanceCacheN = new ConcurrentHashMap<>();
+
     public DataModelImpl(final Context context) {
         super();
         mContext = context;
         mActionService = new ActionService();
         mDataModelWorker = new BackgroundWorker();
         mDatabaseHelper = DatabaseHelper.getInstance(context);
-        mConnectivityUtil = new ConnectivityUtil(context);
         mSyncManager = new SyncManager();
     }
 
@@ -185,11 +191,6 @@
     }
 
     @Override
-    public ConnectivityUtil getConnectivityUtil() {
-        return mConnectivityUtil;
-    }
-
-    @Override
     public SyncManager getSyncManager() {
         return mSyncManager;
     }
@@ -213,12 +214,19 @@
 
     @Override
     public void onApplicationCreated() {
+        if (OsUtil.isAtLeastN()) {
+            createConnectivityUtilForEachActiveSubscription();
+        } else {
+            sConnectivityUtilInstanceCachePreN = new ConnectivityUtil(mContext);
+        }
+
         FixupMessageStatusOnStartupAction.fixupMessageStatus();
         ProcessPendingMessagesAction.processFirstPendingMessage();
         SyncManager.immediateSync();
 
         if (OsUtil.isAtLeastL_MR1()) {
-            // Start listening for subscription change events for refreshing self participants.
+            // Start listening for subscription change events for refreshing any data associated
+            // with subscriptions.
             PhoneUtils.getDefault().toLMr1().registerOnSubscriptionsChangedListener(
                     new SubscriptionManager.OnSubscriptionsChangedListener() {
                         @Override
@@ -229,8 +237,35 @@
                             // gracefully
                             MmsConfig.loadAsync();
                             ParticipantRefresh.refreshSelfParticipants();
+                            if (OsUtil.isAtLeastN()) {
+                                createConnectivityUtilForEachActiveSubscription();
+                            }
                         }
                     });
         }
     }
+
+    private void createConnectivityUtilForEachActiveSubscription() {
+        PhoneUtils.forEachActiveSubscription(new PhoneUtils.SubscriptionRunnable() {
+            @Override
+            public void runForSubscription(int subId) {
+                // Create the ConnectivityUtil instance for given subId if absent.
+                if (subId <= ParticipantData.DEFAULT_SELF_SUB_ID) {
+                    subId = PhoneUtils.getDefault().getDefaultSmsSubscriptionId();
+                }
+                if (!sConnectivityUtilInstanceCacheN.containsKey(subId)) {
+                    sConnectivityUtilInstanceCacheN.put(
+                            subId, new ConnectivityUtil(mContext, subId));
+                }
+            }
+        });
+    }
+
+    public static ConnectivityUtil getConnectivityUtil(final int subId) {
+        if (OsUtil.isAtLeastN()) {
+            return sConnectivityUtilInstanceCacheN.get(subId);
+        } else {
+            return sConnectivityUtilInstanceCachePreN;
+        }
+    }
 }
diff --git a/src/com/android/messaging/datamodel/DatabaseHelper.java b/src/com/android/messaging/datamodel/DatabaseHelper.java
index 2025e2c..b8f97cf 100644
--- a/src/com/android/messaging/datamodel/DatabaseHelper.java
+++ b/src/com/android/messaging/datamodel/DatabaseHelper.java
@@ -133,15 +133,6 @@
         /* Participant count not including self (so will be 1 for 1:1 or bigger for group) */
         public static final String PARTICIPANT_COUNT = "participant_count";
 
-        /* Should notifications be enabled for this conversation? */
-        public static final String NOTIFICATION_ENABLED = "notification_enabled";
-
-        /* Notification sound used for the conversation */
-        public static final String NOTIFICATION_SOUND_URI = "notification_sound_uri";
-
-        /* Should vibrations be enabled for the conversation's notification? */
-        public static final String NOTIFICATION_VIBRATION = "notification_vibration";
-
         /* Conversation recipients include email address */
         public static final String INCLUDE_EMAIL_ADDRESS = "include_email_addr";
 
@@ -181,9 +172,6 @@
                     + ConversationColumns.OTHER_PARTICIPANT_NORMALIZED_DESTINATION + " TEXT, "
                     + ConversationColumns.CURRENT_SELF_ID + " TEXT, "
                     + ConversationColumns.PARTICIPANT_COUNT + " INT DEFAULT(0), "
-                    + ConversationColumns.NOTIFICATION_ENABLED + " INT DEFAULT(1), "
-                    + ConversationColumns.NOTIFICATION_SOUND_URI + " TEXT, "
-                    + ConversationColumns.NOTIFICATION_VIBRATION + " INT DEFAULT(1), "
                     + ConversationColumns.INCLUDE_EMAIL_ADDRESS + " INT DEFAULT(0), "
                     + ConversationColumns.SMS_SERVICE_CENTER + " TEXT ,"
                     + ConversationColumns.IS_ENTERPRISE + " INT DEFAULT(0)"
diff --git a/src/com/android/messaging/datamodel/GalleryBoundCursorLoader.java b/src/com/android/messaging/datamodel/GalleryBoundCursorLoader.java
index 28ec303..1974a5e 100644
--- a/src/com/android/messaging/datamodel/GalleryBoundCursorLoader.java
+++ b/src/com/android/messaging/datamodel/GalleryBoundCursorLoader.java
@@ -20,7 +20,7 @@
 import android.net.Uri;
 import android.provider.MediaStore.Files;
 import android.provider.MediaStore.Files.FileColumns;
-import android.provider.MediaStore.Images.Media;
+import android.provider.MediaStore.MediaColumns;
 
 import com.android.messaging.datamodel.data.GalleryGridItemData;
 import com.android.messaging.datamodel.data.MessagePartData;
@@ -32,18 +32,22 @@
 public class GalleryBoundCursorLoader extends BoundCursorLoader {
     public static final String MEDIA_SCANNER_VOLUME_EXTERNAL = "external";
     private static final Uri STORAGE_URI = Files.getContentUri(MEDIA_SCANNER_VOLUME_EXTERNAL);
-    private static final String SORT_ORDER = Media.DATE_MODIFIED + " DESC";
-    private static final String IMAGE_SELECTION = createSelection(
-            MessagePartData.ACCEPTABLE_IMAGE_TYPES,
-            new Integer[] { FileColumns.MEDIA_TYPE_IMAGE });
+    private static final String SORT_ORDER = MediaColumns.DATE_MODIFIED + " DESC";
+    private static final String SELECTION = createSelection(
+            MessagePartData.ACCEPTABLE_GALLERY_MEDIA_TYPES,
+            new Integer[] {
+                FileColumns.MEDIA_TYPE_IMAGE,
+                FileColumns.MEDIA_TYPE_VIDEO,
+                FileColumns.MEDIA_TYPE_AUDIO
+            });
 
     public GalleryBoundCursorLoader(final String bindingId, final Context context) {
-        super(bindingId, context, STORAGE_URI, GalleryGridItemData.IMAGE_PROJECTION,
-                IMAGE_SELECTION, null, SORT_ORDER);
+        super(bindingId, context, STORAGE_URI, GalleryGridItemData.MEDIA_PROJECTION, SELECTION,
+                null, SORT_ORDER);
     }
 
     private static String createSelection(final String[] mimeTypes, Integer[] mediaTypes) {
-        return Media.MIME_TYPE + " IN ('" + Joiner.on("','").join(mimeTypes) + "') AND "
+        return MediaColumns.MIME_TYPE + " IN ('" + Joiner.on("','").join(mimeTypes) + "') AND "
                 + FileColumns.MEDIA_TYPE + " IN (" + Joiner.on(',').join(mediaTypes) + ")";
     }
 }
diff --git a/src/com/android/messaging/datamodel/MessageNotificationState.java b/src/com/android/messaging/datamodel/MessageNotificationState.java
index ae50801..7555d97 100644
--- a/src/com/android/messaging/datamodel/MessageNotificationState.java
+++ b/src/com/android/messaging/datamodel/MessageNotificationState.java
@@ -100,7 +100,6 @@
     protected CharSequence mContent = null;
     protected Uri mAttachmentUri = null;
     protected String mAttachmentType = null;
-    protected boolean mTickerNoContent;
 
     @Override
     protected Uri getAttachmentUri() {
@@ -198,15 +197,6 @@
         // line infos is capped.
         int mTotalMessageCount;
 
-        // Custom ringtone if set
-        final String mRingtoneUri;
-
-        // Should notification be enabled for this conversation?
-        final boolean mNotificationEnabled;
-
-        // Should notifications vibrate for this conversation?
-        final boolean mNotificationVibrate;
-
         // Avatar uri of sender
         final Uri mAvatarUri;
 
@@ -225,9 +215,6 @@
                 final boolean includeEmailAddress,
                 final long receivedTimestamp,
                 final String selfParticipantId,
-                final String ringtoneUri,
-                final boolean notificationEnabled,
-                final boolean notificationVibrate,
                 final Uri avatarUri,
                 final Uri contactUri,
                 final int subId,
@@ -240,11 +227,8 @@
             mSelfParticipantId = selfParticipantId;
             mLineInfos = new ArrayList<NotificationLineInfo>();
             mTotalMessageCount = 0;
-            mRingtoneUri = ringtoneUri;
             mAvatarUri = avatarUri;
             mContactUri = contactUri;
-            mNotificationEnabled = notificationEnabled;
-            mNotificationVibrate = notificationVibrate;
             mSubId = subId;
             mParticipantCount = participantCount;
         }
@@ -350,6 +334,14 @@
                     getClearIntentRequestCode());
     }
 
+    @Override
+    public PendingIntent getReadIntent() {
+        return UIIntents.get().getPendingIntentForMarkingAsRead(
+                    Factory.get().getApplicationContext(),
+                    mConversationIds,
+                    getReadIntentRequestCode());
+    }
+
     /**
      * Notification for multiple messages in at least 2 different conversations.
      */
@@ -625,10 +617,13 @@
         final Context context = Factory.get().getApplicationContext();
         final Uri uri =
                 MessagingContentProvider.buildConversationParticipantsUri(conversationId);
-        final Cursor participantsCursor = context.getContentResolver().query(
-                uri, ParticipantData.ParticipantsQuery.PROJECTION, null, null, null);
         final ConversationParticipantsData participantsData = new ConversationParticipantsData();
-        participantsData.bind(participantsCursor);
+
+        try (final Cursor participantsCursor = context.getContentResolver().query(
+                    uri, ParticipantData.ParticipantsQuery.PROJECTION, null, null, null)) {
+            participantsData.bind(participantsCursor);
+        }
+
         final Iterator<ParticipantData> iter = participantsData.iterator();
 
         final HashMap<String, Integer> firstNames = new HashMap<String, Integer>();
@@ -868,10 +863,6 @@
                     if (currConvInfo == null) {
                         final ConversationListItemData convData =
                                 ConversationListItemData.getExistingConversation(db, convId);
-                        if (!convData.getNotificationEnabled()) {
-                            // Skip conversations that have notifications disabled.
-                            continue;
-                        }
                         final int subId = BugleDatabaseOperations.getSelfSubscriptionId(db,
                                 convData.getSelfId());
                         groupConversationName = convData.getName();
@@ -886,9 +877,6 @@
                                 convData.getIncludeEmailAddress(),
                                 convMessageData.getReceivedTimeStamp(),
                                 convData.getSelfId(),
-                                convData.getNotificationSoundUri(),
-                                convData.getNotificationEnabled(),
-                                convData.getNotifiationVibrate(),
                                 avatarUri,
                                 convMessageData.getSenderContactLookupUri(),
                                 subId,
@@ -1077,8 +1065,10 @@
         }
         if (state != null && LogUtil.isLoggable(TAG, LogUtil.VERBOSE)) {
             LogUtil.v(TAG, "MessageNotificationState: Notification state created"
-                    + ", title = " + LogUtil.sanitizePII(state.mTitle)
-                    + ", content = " + LogUtil.sanitizePII(state.mContent.toString()));
+                    + ", title = "
+                    + (state.mTickerSender != null ? state.mTickerSender : state.mTitle)
+                    + ", content = "
+                    + (state.mTickerText != null ? state.mTickerText : state.mContent));
         }
         return state;
     }
@@ -1099,27 +1089,12 @@
         return BugleNotifications.LOCAL_SMS_NOTIFICATION;
     }
 
-    @Override
-    public String getRingtoneUri() {
-        if (mConvList.mConvInfos.size() > 0) {
-            return mConvList.mConvInfos.get(0).mRingtoneUri;
-        }
-        return null;
-    }
-
-    @Override
-    public boolean getNotificationVibrate() {
-        if (mConvList.mConvInfos.size() > 0) {
-            return mConvList.mConvInfos.get(0).mNotificationVibrate;
-        }
-        return false;
-    }
-
     protected CharSequence getTicker() {
         return BugleNotifications.buildColonSeparatedMessage(
                 mTickerSender != null ? mTickerSender : mTitle,
-                mTickerText != null ? mTickerText : (mTickerNoContent ? null : mContent), null,
-                        null);
+                mTickerText != null ? mTickerText : mContent,
+                null,
+                null);
     }
 
     private static CharSequence convertHtmlAndStripUrls(final String s) {
diff --git a/src/com/android/messaging/datamodel/NoConfirmationSmsSendService.java b/src/com/android/messaging/datamodel/NoConfirmationSmsSendService.java
index b5d2185..bea4961 100644
--- a/src/com/android/messaging/datamodel/NoConfirmationSmsSendService.java
+++ b/src/com/android/messaging/datamodel/NoConfirmationSmsSendService.java
@@ -28,10 +28,10 @@
 import com.android.messaging.datamodel.action.UpdateMessageNotificationAction;
 import com.android.messaging.datamodel.data.MessageData;
 import com.android.messaging.datamodel.data.ParticipantData;
-import com.android.messaging.sms.MmsUtils;
 import com.android.messaging.ui.UIIntents;
 import com.android.messaging.ui.conversationlist.ConversationListActivity;
 import com.android.messaging.util.LogUtil;
+import com.android.messaging.util.UriUtil;
 
 /**
  * Respond to a special intent and send an SMS message without the user's intervention, unless
@@ -83,8 +83,8 @@
         final String subject = getText(intent, Intent.EXTRA_SUBJECT);
         final int subId = extras.getInt(EXTRA_SUBSCRIPTION, ParticipantData.DEFAULT_SELF_SUB_ID);
 
-        final Uri intentUri = intent.getData();
-        final String recipients = intentUri != null ? MmsUtils.getSmsRecipients(intentUri) : null;
+        // Get a comma-separated list of recipients
+        final String recipients = UriUtil.parseRecipientsFromSmsMmsUri(intent.getData());
 
         if (TextUtils.isEmpty(recipients) && TextUtils.isEmpty(conversationId)) {
             if (LogUtil.isLoggable(TAG, LogUtil.VERBOSE)) {
diff --git a/src/com/android/messaging/datamodel/NotificationState.java b/src/com/android/messaging/datamodel/NotificationState.java
index e19f70c..4c11537 100644
--- a/src/com/android/messaging/datamodel/NotificationState.java
+++ b/src/com/android/messaging/datamodel/NotificationState.java
@@ -43,7 +43,8 @@
 public abstract class NotificationState {
     private static final int CONTENT_INTENT_REQUEST_CODE_OFFSET = 0;
     private static final int CLEAR_INTENT_REQUEST_CODE_OFFSET = 1;
-    private static final int NUM_REQUEST_CODES_NEEDED = 2;
+    private static final int READ_INTENT_REQUEST_CODE_OFFSET = 2;
+    private static final int NUM_REQUEST_CODES_NEEDED = 3;
 
     public interface FailedMessageQuery {
         static final String FAILED_MESSAGES_WHERE_CLAUSE =
@@ -78,6 +79,11 @@
      */
     public abstract PendingIntent getClearIntent();
 
+    /**
+     * The intent to be triggered when mark as read is pressed.
+     */
+    public abstract PendingIntent getReadIntent();
+
     protected Uri getAttachmentUri() {
         return null;
     }
@@ -116,6 +122,10 @@
         return mBaseRequestCode + CLEAR_INTENT_REQUEST_CODE_OFFSET;
     }
 
+    public int getReadIntentRequestCode() {
+        return mBaseRequestCode + READ_INTENT_REQUEST_CODE_OFFSET;
+    }
+
     /**
      * Gets the appropriate icon needed for notifications.
      */
@@ -134,15 +144,6 @@
      */
     public abstract int getPriority();
 
-    /** @return custom ringtone URI or null if not set */
-    public String getRingtoneUri() {
-        return null;
-    }
-
-    public boolean getNotificationVibrate() {
-        return false;
-    }
-
     public long getLatestReceivedTimestamp() {
         return Long.MIN_VALUE;
     }
diff --git a/src/com/android/messaging/datamodel/SyncManager.java b/src/com/android/messaging/datamodel/SyncManager.java
index 28fc696..e5d4935 100644
--- a/src/com/android/messaging/datamodel/SyncManager.java
+++ b/src/com/android/messaging/datamodel/SyncManager.java
@@ -51,33 +51,14 @@
      */
     public static class ConversationCustomization {
         private final boolean mArchived;
-        private final boolean mMuted;
-        private final boolean mNoVibrate;
-        private final String mNotificationSoundUri;
 
-        public ConversationCustomization(final boolean archived, final boolean muted,
-                final boolean noVibrate, final String notificationSoundUri) {
+        public ConversationCustomization(final boolean archived) {
             mArchived = archived;
-            mMuted = muted;
-            mNoVibrate = noVibrate;
-            mNotificationSoundUri = notificationSoundUri;
         }
 
         public boolean isArchived() {
             return mArchived;
         }
-
-        public boolean isMuted() {
-            return mMuted;
-        }
-
-        public boolean noVibrate() {
-            return mNoVibrate;
-        }
-
-        public String getNotificationSoundUri() {
-            return mNotificationSoundUri;
-        }
     }
 
     SyncManager() {
@@ -436,15 +417,13 @@
             if (customization != null) {
                 // There is user customization we need to recover
                 conversationId = BugleDatabaseOperations.getOrCreateConversation(db, threadId,
-                        customization.isArchived(), participants, customization.isMuted(),
-                        customization.noVibrate(), customization.getNotificationSoundUri());
+                        customization.isArchived(), participants);
                 if (customization.isArchived()) {
                     mArchivedConversations.add(conversationId);
                 }
             } else {
                 conversationId = BugleDatabaseOperations.getOrCreateConversation(db, threadId,
-                        false/*archived*/, participants, false/*noNotification*/,
-                        false/*noVibrate*/, null/*soundUri*/);
+                        false/*archived*/, participants);
             }
 
             if (conversationId != null) {
diff --git a/src/com/android/messaging/datamodel/action/ActionServiceImpl.java b/src/com/android/messaging/datamodel/action/ActionServiceImpl.java
index 6725dde..d78bdc0 100644
--- a/src/com/android/messaging/datamodel/action/ActionServiceImpl.java
+++ b/src/com/android/messaging/datamodel/action/ActionServiceImpl.java
@@ -28,7 +28,6 @@
 
 import com.android.messaging.Factory;
 import com.android.messaging.datamodel.DataModel;
-import com.android.messaging.util.ConnectivityUtil;
 import com.android.messaging.util.LogUtil;
 import com.android.messaging.util.LoggingTimer;
 import com.google.common.annotations.VisibleForTesting;
@@ -134,7 +133,6 @@
     protected static final String BUNDLE_ACTION = "bundle_action";
 
     private BackgroundWorker mBackgroundWorker;
-    private ConnectivityUtil mConnectivityUtil;
 
     /**
      * Allocate an intent with a specific opcode.
@@ -213,14 +211,11 @@
     public void onCreate() {
         super.onCreate();
         mBackgroundWorker = DataModel.get().getBackgroundWorkerForActionService();
-        mConnectivityUtil = DataModel.get().getConnectivityUtil();
-        mConnectivityUtil.registerForSignalStrength();
     }
 
     @Override
     public void onDestroy() {
         super.onDestroy();
-        mConnectivityUtil.unregisterForSignalStrength();
     }
 
     /**
diff --git a/src/com/android/messaging/datamodel/action/BugleActionToasts.java b/src/com/android/messaging/datamodel/action/BugleActionToasts.java
index f60facd..17d15f2 100644
--- a/src/com/android/messaging/datamodel/action/BugleActionToasts.java
+++ b/src/com/android/messaging/datamodel/action/BugleActionToasts.java
@@ -114,7 +114,6 @@
     }
 
     public static void onConversationDeleted() {
-        showToast(R.string.conversation_deleted);
     }
 
     private static void showToast(final int messageResId) {
diff --git a/src/com/android/messaging/datamodel/action/DeleteConversationAction.java b/src/com/android/messaging/datamodel/action/DeleteConversationAction.java
index a00f6d6..6b81aa6 100644
--- a/src/com/android/messaging/datamodel/action/DeleteConversationAction.java
+++ b/src/com/android/messaging/datamodel/action/DeleteConversationAction.java
@@ -35,6 +35,7 @@
 import com.android.messaging.sms.MmsUtils;
 import com.android.messaging.util.Assert;
 import com.android.messaging.util.LogUtil;
+import com.android.messaging.util.NotificationsUtil;
 import com.android.messaging.widget.WidgetConversationProvider;
 
 import java.util.ArrayList;
@@ -118,6 +119,10 @@
                         + " has an invalid telephony thread id; will delete messages individually");
                 deleteConversationMessagesFromTelephony();
             }
+
+            // Finally, remove the conversation specific notification channel
+            NotificationsUtil.deleteNotificationChannel(Factory.get().getApplicationContext(),
+                    conversationId);
         } else {
             LogUtil.e(TAG, "DeleteConversationAction: conversationId is empty");
         }
diff --git a/src/com/android/messaging/datamodel/action/DownloadMmsAction.java b/src/com/android/messaging/datamodel/action/DownloadMmsAction.java
index 7a8c907..2852a61 100644
--- a/src/com/android/messaging/datamodel/action/DownloadMmsAction.java
+++ b/src/com/android/messaging/datamodel/action/DownloadMmsAction.java
@@ -82,6 +82,7 @@
     private static final String KEY_SUB_PHONE_NUMBER = "sub_phone_number";
     private static final String KEY_AUTO_DOWNLOAD = "auto_download";
     private static final String KEY_FAILURE_STATUS = "failure_status";
+    private static final String KEY_EXPIRY = "expiry";
 
     // Values we attach to the pending intent that's fired when the message is downloaded.
     // Only applicable when downloading via the platform APIs on L+.
@@ -97,6 +98,7 @@
     public static final String EXTRA_CONVERSATION_ID = "conversation_id";
     public static final String EXTRA_PARTICIPANT_ID = "participant_id";
     public static final String EXTRA_STATUS_IF_FAILED = "status_if_failed";
+    public static final String EXTRA_EXPIRY = "expiry";
 
     private DownloadMmsAction() {
         super();
@@ -130,6 +132,7 @@
             actionParameters.putString(KEY_TRANSACTION_ID, message.getMmsTransactionId());
             actionParameters.putParcelable(KEY_NOTIFICATION_URI, notificationUri);
             actionParameters.putBoolean(KEY_AUTO_DOWNLOAD, isAutoDownload(status));
+            actionParameters.putLong(KEY_EXPIRY, message.getMmsExpiry());
 
             final long now = System.currentTimeMillis();
             if (message.getInDownloadWindow(now)) {
@@ -239,6 +242,7 @@
         final String conversationId = actionParameters.getString(KEY_CONVERSATION_ID);
         final String participantId = actionParameters.getString(KEY_PARTICIPANT_ID);
         final int statusIfFailed = actionParameters.getInt(KEY_FAILURE_STATUS);
+        final long expiry = actionParameters.getLong(KEY_EXPIRY);
 
         final long receivedTimestampRoundedToSecond =
                 1000 * ((System.currentTimeMillis() + 500) / 1000);
@@ -256,7 +260,7 @@
         // Start the download
         final MmsUtils.StatusPlusUri status = MmsUtils.downloadMmsMessage(context,
                 notificationUri, subId, subPhoneNumber, transactionId, contentLocation,
-                autoDownload, receivedTimestampRoundedToSecond / 1000L, extras);
+                autoDownload, receivedTimestampRoundedToSecond / 1000L, expiry / 1000L, extras);
         if (status == MmsUtils.STATUS_PENDING) {
             // Async download; no status yet
             if (LogUtil.isLoggable(TAG, LogUtil.DEBUG)) {
diff --git a/src/com/android/messaging/datamodel/action/FixupMessageStatusOnStartupAction.java b/src/com/android/messaging/datamodel/action/FixupMessageStatusOnStartupAction.java
index e3d131d..45e2474 100644
--- a/src/com/android/messaging/datamodel/action/FixupMessageStatusOnStartupAction.java
+++ b/src/com/android/messaging/datamodel/action/FixupMessageStatusOnStartupAction.java
@@ -60,13 +60,12 @@
             final ContentValues values = new ContentValues();
             values.put(DatabaseHelper.MessageColumns.STATUS,
                     MessageData.BUGLE_STATUS_INCOMING_DOWNLOAD_FAILED);
-            downloadFailedCnt += db.update(DatabaseHelper.MESSAGES_TABLE, values,
+            downloadFailedCnt = db.update(DatabaseHelper.MESSAGES_TABLE, values,
                     DatabaseHelper.MessageColumns.STATUS + " IN (?, ?)",
                     new String[]{
                             Integer.toString(MessageData.BUGLE_STATUS_INCOMING_AUTO_DOWNLOADING),
                             Integer.toString(MessageData.BUGLE_STATUS_INCOMING_MANUAL_DOWNLOADING)
                     });
-            values.clear();
 
             values.clear();
             values.put(DatabaseHelper.MessageColumns.STATUS,
diff --git a/src/com/android/messaging/datamodel/action/GetOrCreateConversationAction.java b/src/com/android/messaging/datamodel/action/GetOrCreateConversationAction.java
index b262141..7dd09c1 100644
--- a/src/com/android/messaging/datamodel/action/GetOrCreateConversationAction.java
+++ b/src/com/android/messaging/datamodel/action/GetOrCreateConversationAction.java
@@ -110,7 +110,7 @@
         }
 
         final String conversationId = BugleDatabaseOperations.getOrCreateConversation(db, threadId,
-                false, participants, false, false, null);
+                false, participants);
 
         return conversationId;
     }
diff --git a/src/com/android/messaging/datamodel/action/InsertNewMessageAction.java b/src/com/android/messaging/datamodel/action/InsertNewMessageAction.java
index 2567ca9..20f90dc 100644
--- a/src/com/android/messaging/datamodel/action/InsertNewMessageAction.java
+++ b/src/com/android/messaging/datamodel/action/InsertNewMessageAction.java
@@ -118,7 +118,6 @@
      */
     @Override
     protected Object executeAction() {
-        LogUtil.i(TAG, "InsertNewMessageAction: inserting new message");
         MessageData message = actionParameters.getParcelable(KEY_MESSAGE);
         if (message == null) {
             LogUtil.i(TAG, "InsertNewMessageAction: Creating MessageData with provided data");
@@ -151,6 +150,8 @@
             return null;
         }
         final int subId = self.getSubId();
+        LogUtil.i(TAG, "InsertNewMessageAction: inserting new message for subId " + subId);
+        actionParameters.putInt(KEY_SUB_ID, subId);
 
         // TODO: Work out whether to send with SMS or MMS (taking into account recipients)?
         final boolean isSms = (message.getProtocol() == MessageData.PROTOCOL_SMS);
@@ -273,7 +274,7 @@
         }
 
         final String conversationId = BugleDatabaseOperations.getOrCreateConversation(db, threadId,
-                false, participants, false, false, null);
+                false, participants);
 
         final ParticipantData self = BugleDatabaseOperations.getOrCreateSelf(db, subId);
 
diff --git a/src/com/android/messaging/datamodel/action/ProcessDownloadedMmsAction.java b/src/com/android/messaging/datamodel/action/ProcessDownloadedMmsAction.java
index 757ea05..60d3e35 100644
--- a/src/com/android/messaging/datamodel/action/ProcessDownloadedMmsAction.java
+++ b/src/com/android/messaging/datamodel/action/ProcessDownloadedMmsAction.java
@@ -78,11 +78,12 @@
     private static final String KEY_CONTENT_LOCATION = "content_location";
     private static final String KEY_AUTO_DOWNLOAD = "auto_download";
     private static final String KEY_RECEIVED_TIMESTAMP = "received_timestamp";
+    private static final String KEY_EXPIRY = "expiry";
 
     // Set when message downloaded by us (legacy)
     private static final String KEY_STATUS = "status";
     private static final String KEY_RAW_STATUS = "raw_status";
-    private static final String KEY_MMS_URI =  "mms_uri";
+    private static final String KEY_MMS_URI = "mms_uri";
 
     // Used to send a deferred response in response to auto-download failure
     private static final String KEY_SEND_DEFERRED_RESP_STATUS = "send_deferred_resp_status";
@@ -130,6 +131,7 @@
         params.putString(KEY_PARTICIPANT_ID, participantId);
         params.putInt(KEY_STATUS_IF_FAILED,
                 extras.getInt(DownloadMmsAction.EXTRA_STATUS_IF_FAILED));
+        params.putLong(KEY_EXPIRY, extras.getLong(DownloadMmsAction.EXTRA_EXPIRY));
         action.start();
     }
 
@@ -279,6 +281,7 @@
                                 KEY_AUTO_DOWNLOAD);
                         final long receivedTimestampInSeconds =
                                 actionParameters.getLong(KEY_RECEIVED_TIMESTAMP);
+                        final long expiry = actionParameters.getLong(KEY_EXPIRY);
 
                         // Inform sync we're adding a message to telephony
                         final SyncManager syncManager = DataModel.get().getSyncManager();
@@ -288,7 +291,7 @@
                                 MmsUtils.insertDownloadedMessageAndSendResponse(context,
                                         notificationUri, subId, subPhoneNumber, transactionId,
                                         contentLocation, autoDownload, receivedTimestampInSeconds,
-                                        retrieveConf);
+                                        expiry, retrieveConf);
                         status = result.status;
                         rawStatus = result.rawStatus;
                         mmsUri = result.uri;
@@ -326,6 +329,8 @@
         if (response == null) {
             // No message download to process; doBackgroundWork sent a notify deferred response
             Assert.isTrue(actionParameters.getBoolean(KEY_SEND_DEFERRED_RESP_STATUS));
+            ProcessPendingMessagesAction.scheduleProcessPendingMessagesAction(
+                    true /* failed */, this);
             return null;
         }
 
@@ -340,7 +345,9 @@
 
         final int subId = actionParameters.getInt(KEY_SUB_ID, ParticipantData.DEFAULT_SELF_SUB_ID);
         // If we were trying to auto-download but have failed need to send the deferred response
-        if (autoDownload && message == null && status == MmsUtils.MMS_REQUEST_MANUAL_RETRY) {
+        final boolean needToSendDeferredResp =
+                autoDownload && (status == MmsUtils.MMS_REQUEST_MANUAL_RETRY);
+        if (needToSendDeferredResp) {
             final String transactionId = actionParameters.getString(KEY_TRANSACTION_ID);
             final String contentLocation = actionParameters.getString(KEY_CONTENT_LOCATION);
             sendDeferredRespStatus(messageId, transactionId, contentLocation, subId);
@@ -370,7 +377,11 @@
         }
 
         final boolean failed = (messageUri == null);
-        ProcessPendingMessagesAction.scheduleProcessPendingMessagesAction(failed, this);
+        // Scheduling pending messages. If auto downloading is failed and it needs to send the
+        // deferred response, Skip it here and it will be scheduled after sending the response.
+        if (!needToSendDeferredResp) {
+            ProcessPendingMessagesAction.scheduleProcessPendingMessagesAction(failed, this);
+        }
         if (failed) {
             BugleNotifications.update(false, BugleNotifications.UPDATE_ERRORS);
         }
diff --git a/src/com/android/messaging/datamodel/action/ProcessPendingMessagesAction.java b/src/com/android/messaging/datamodel/action/ProcessPendingMessagesAction.java
index 8a41f4a..1a3eb63 100644
--- a/src/com/android/messaging/datamodel/action/ProcessPendingMessagesAction.java
+++ b/src/com/android/messaging/datamodel/action/ProcessPendingMessagesAction.java
@@ -17,10 +17,7 @@
 package com.android.messaging.datamodel.action;
 
 import android.content.ContentValues;
-import android.content.Context;
-import android.content.Intent;
 import android.database.Cursor;
-import android.net.ConnectivityManager;
 import android.os.Parcel;
 import android.os.Parcelable;
 import android.telephony.ServiceState;
@@ -28,17 +25,18 @@
 import com.android.messaging.Factory;
 import com.android.messaging.datamodel.BugleDatabaseOperations;
 import com.android.messaging.datamodel.DataModel;
+import com.android.messaging.datamodel.DataModelImpl;
 import com.android.messaging.datamodel.DatabaseHelper;
 import com.android.messaging.datamodel.DatabaseHelper.MessageColumns;
 import com.android.messaging.datamodel.DatabaseWrapper;
 import com.android.messaging.datamodel.MessagingContentProvider;
 import com.android.messaging.datamodel.data.MessageData;
 import com.android.messaging.datamodel.data.ParticipantData;
-import com.android.messaging.sms.MmsUtils;
 import com.android.messaging.util.BugleGservices;
 import com.android.messaging.util.BugleGservicesKeys;
 import com.android.messaging.util.BuglePrefs;
 import com.android.messaging.util.BuglePrefsKeys;
+import com.android.messaging.util.ConnectivityUtil;
 import com.android.messaging.util.ConnectivityUtil.ConnectivityListener;
 import com.android.messaging.util.LogUtil;
 import com.android.messaging.util.OsUtil;
@@ -49,41 +47,53 @@
 
 /**
  * Action used to lookup any messages in the pending send/download state and either fail them or
- * retry their action. This action only initiates one retry at a time - further retries should be
- * triggered by successful sending of a message, network status change or exponential backoff timer.
+ * retry their action based on subscriptions. This action only initiates one retry at a time for
+ * both sending/downloading. Further retries should be triggered by successful sending/downloading
+ * of a message, network status change or exponential backoff timer.
  */
 public class ProcessPendingMessagesAction extends Action implements Parcelable {
     private static final String TAG = LogUtil.BUGLE_DATAMODEL_TAG;
-    private static final int PENDING_INTENT_REQUEST_CODE = 101;
+    // PENDING_INTENT_BASE_REQUEST_CODE + subId(-1 for pre-L_MR1) is used per subscription uniquely.
+    private static final int PENDING_INTENT_BASE_REQUEST_CODE = 103;
+
+    private static final String KEY_SUB_ID = "sub_id";
 
     public static void processFirstPendingMessage() {
-        // Clear any pending alarms or connectivity events
-        unregister();
-        // Clear retry count
-        setRetry(0);
-
-        // Start action
-        final ProcessPendingMessagesAction action = new ProcessPendingMessagesAction();
-        action.start();
+        PhoneUtils.forEachActiveSubscription(new PhoneUtils.SubscriptionRunnable() {
+            @Override
+            public void runForSubscription(final int subId) {
+                // Clear any pending alarms or connectivity events
+                unregister(subId);
+                // Clear retry count
+                setRetry(0, subId);
+                // Start action
+                final ProcessPendingMessagesAction action = new ProcessPendingMessagesAction();
+                action.actionParameters.putInt(KEY_SUB_ID, subId);
+                action.start();
+            }
+        });
     }
 
     public static void scheduleProcessPendingMessagesAction(final boolean failed,
             final Action processingAction) {
+        final int subId = processingAction.actionParameters
+                .getInt(KEY_SUB_ID, ParticipantData.DEFAULT_SELF_SUB_ID);
         LogUtil.i(TAG, "ProcessPendingMessagesAction: Scheduling pending messages"
-                + (failed ? "(message failed)" : ""));
+                + (failed ? "(message failed)" : "") + " for subId " + subId);
         // Can safely clear any pending alarms or connectivity events as either an action
         // is currently running or we will run now or register if pending actions possible.
-        unregister();
+        unregister(subId);
 
         final boolean isDefaultSmsApp = PhoneUtils.getDefault().isDefaultSmsApp();
         boolean scheduleAlarm = false;
         // If message succeeded and if Bugle is default SMS app just carry on with next message
         if (!failed && isDefaultSmsApp) {
             // Clear retry attempt count as something just succeeded
-            setRetry(0);
+            setRetry(0, subId);
 
-            // Lookup and queue next message for immediate processing by background worker
-            //  iff there are no pending messages this will do nothing and return true.
+            // Lookup and queue next message for each sending/downloading for immediate processing
+            // by background worker. If there are no pending messages, this will do nothing and
+            // return true.
             final ProcessPendingMessagesAction action = new ProcessPendingMessagesAction();
             if (action.queueActions(processingAction)) {
                 if (LogUtil.isLoggable(TAG, LogUtil.VERBOSE)) {
@@ -100,66 +110,53 @@
             scheduleAlarm = true;
             LogUtil.w(TAG, "ProcessPendingMessagesAction: Action failed to queue; retrying");
         }
-        if (getHavePendingMessages() || scheduleAlarm) {
+        if (getHavePendingMessages(subId) || scheduleAlarm) {
             // Still have a pending message that needs to be queued for processing
             final ConnectivityListener listener = new ConnectivityListener() {
                 @Override
-                public void onConnectivityStateChanged(final Context context, final Intent intent) {
-                    final int networkType =
-                            MmsUtils.getConnectivityEventNetworkType(context, intent);
-                    if (networkType != ConnectivityManager.TYPE_MOBILE) {
-                        return;
-                    }
-                    final boolean isConnected = !intent.getBooleanExtra(
-                            ConnectivityManager.EXTRA_NO_CONNECTIVITY, false);
-                    // TODO: Should we check in more detail?
-                    if (isConnected) {
-                        onConnected();
-                    }
-                }
-
-                @Override
-                public void onPhoneStateChanged(final Context context, final int serviceState) {
+                public void onPhoneStateChanged(final int serviceState) {
                     if (serviceState == ServiceState.STATE_IN_SERVICE) {
-                        onConnected();
+                        LogUtil.i(TAG, "ProcessPendingMessagesAction: Now connected for subId "
+                                + subId + ", starting action");
+
+                        // Clear any pending alarms or connectivity events but leave attempt count
+                        // alone
+                        unregister(subId);
+
+                        // Start action
+                        final ProcessPendingMessagesAction action =
+                                new ProcessPendingMessagesAction();
+                        action.actionParameters.putInt(KEY_SUB_ID, subId);
+                        action.start();
                     }
                 }
-
-                private void onConnected() {
-                    LogUtil.i(TAG, "ProcessPendingMessagesAction: Now connected; starting action");
-
-                    // Clear any pending alarms or connectivity events but leave attempt count alone
-                    unregister();
-
-                    // Start action
-                    final ProcessPendingMessagesAction action = new ProcessPendingMessagesAction();
-                    action.start();
-                }
             };
             // Read and increment attempt number from shared prefs
-            final int retryAttempt = getNextRetry();
-            register(listener, retryAttempt);
+            final int retryAttempt = getNextRetry(subId);
+            register(listener, retryAttempt, subId);
         } else {
             // No more pending messages (presumably the message that failed has expired) or it
             // may be possible that a send and a download are already in process.
             // Clear retry attempt count.
             // TODO Might be premature if send and download in process...
-            //  but worst case means we try to send a bit more often.
-            setRetry(0);
-
-            if (LogUtil.isLoggable(TAG, LogUtil.VERBOSE)) {
-                LogUtil.v(TAG, "ProcessPendingMessagesAction: No more pending messages");
-            }
+            // but worst case means we try to send a bit more often.
+            setRetry(0, subId);
+            LogUtil.i(TAG, "ProcessPendingMessagesAction: No more pending messages");
         }
     }
 
-    private static void register(final ConnectivityListener listener, final int retryAttempt) {
+    private static void register(final ConnectivityListener listener, final int retryAttempt,
+            int subId) {
         int retryNumber = retryAttempt;
 
         // Register to be notified about connectivity changes
-        DataModel.get().getConnectivityUtil().register(listener);
+        ConnectivityUtil connectivityUtil = DataModelImpl.getConnectivityUtil(subId);
+        if (connectivityUtil != null) {
+            connectivityUtil.register(listener);
+        }
 
         final ProcessPendingMessagesAction action = new ProcessPendingMessagesAction();
+        action.actionParameters.putInt(KEY_SUB_ID, subId);
         final long initialBackoffMs = BugleGservices.get().getLong(
                 BugleGservicesKeys.INITIAL_MESSAGE_RESEND_DELAY_MS,
                 BugleGservicesKeys.INITIAL_MESSAGE_RESEND_DELAY_MS_DEFAULT);
@@ -176,31 +173,34 @@
         while (retryNumber > 0 && nextDelayMs < maxDelayMs);
 
         LogUtil.i(TAG, "ProcessPendingMessagesAction: Registering for retry #" + retryAttempt
-                + " in " + delayMs + " ms");
+                + " in " + delayMs + " ms for subId " + subId);
 
-        action.schedule(PENDING_INTENT_REQUEST_CODE, delayMs);
+        action.schedule(PENDING_INTENT_BASE_REQUEST_CODE + subId, delayMs);
     }
 
-    private static void unregister() {
+    private static void unregister(final int subId) {
         // Clear any pending alarms or connectivity events
-        DataModel.get().getConnectivityUtil().unregister();
+        ConnectivityUtil connectivityUtil = DataModelImpl.getConnectivityUtil(subId);
+        if (connectivityUtil != null) {
+            connectivityUtil.unregister();
+        }
 
         final ProcessPendingMessagesAction action = new ProcessPendingMessagesAction();
-        action.schedule(PENDING_INTENT_REQUEST_CODE, Long.MAX_VALUE);
+        action.schedule(PENDING_INTENT_BASE_REQUEST_CODE + subId, Long.MAX_VALUE);
 
         if (LogUtil.isLoggable(TAG, LogUtil.VERBOSE)) {
             LogUtil.v(TAG, "ProcessPendingMessagesAction: Unregistering for connectivity changed "
-                    + "events and clearing scheduled alarm");
+                    + "events and clearing scheduled alarm for subId " + subId);
         }
     }
 
-    private static void setRetry(final int retryAttempt) {
-        final BuglePrefs prefs = Factory.get().getApplicationPrefs();
+    private static void setRetry(final int retryAttempt, int subId) {
+        final BuglePrefs prefs = Factory.get().getSubscriptionPrefs(subId);
         prefs.putInt(BuglePrefsKeys.PROCESS_PENDING_MESSAGES_RETRY_COUNT, retryAttempt);
     }
 
-    private static int getNextRetry() {
-        final BuglePrefs prefs = Factory.get().getApplicationPrefs();
+    private static int getNextRetry(int subId) {
+        final BuglePrefs prefs = Factory.get().getSubscriptionPrefs(subId);
         final int retryAttempt =
                 prefs.getInt(BuglePrefsKeys.PROCESS_PENDING_MESSAGES_RETRY_COUNT, 0) + 1;
         prefs.putInt(BuglePrefsKeys.PROCESS_PENDING_MESSAGES_RETRY_COUNT, retryAttempt);
@@ -212,17 +212,25 @@
 
     /**
      * Read from the DB and determine if there are any messages we should process
+     *
+     * @param subId the subId
      * @return true if we have pending messages
      */
-    private static boolean getHavePendingMessages() {
+    private static boolean getHavePendingMessages(final int subId) {
         final DatabaseWrapper db = DataModel.get().getDatabase();
         final long now = System.currentTimeMillis();
+        final String selfId = ParticipantData.getParticipantId(db, subId);
+        if (selfId == null) {
+            // This could be happened before refreshing participant.
+            LogUtil.w(TAG, "ProcessPendingMessagesAction: selfId is null for subId " + subId);
+            return false;
+        }
 
-        final String toSendMessageId = findNextMessageToSend(db, now);
+        final String toSendMessageId = findNextMessageToSend(db, now, selfId);
         if (toSendMessageId != null) {
             return true;
         } else {
-            final String toDownloadMessageId = findNextMessageToDownload(db, now);
+            final String toDownloadMessageId = findNextMessageToDownload(db, now, selfId);
             if (toDownloadMessageId != null) {
                 return true;
             }
@@ -234,6 +242,7 @@
 
     /**
      * Queue any pending actions
+     *
      * @param actionState
      * @return true if action queued (or no actions to queue) else false
      */
@@ -241,12 +250,23 @@
         final DatabaseWrapper db = DataModel.get().getDatabase();
         final long now = System.currentTimeMillis();
         boolean succeeded = true;
+        final int subId = processingAction.actionParameters
+                .getInt(KEY_SUB_ID, ParticipantData.DEFAULT_SELF_SUB_ID);
+
+        LogUtil.i(TAG, "ProcessPendingMessagesAction: Start queueing for subId " + subId);
+
+        final String selfId = ParticipantData.getParticipantId(db, subId);
+        if (selfId == null) {
+            // This could be happened before refreshing participant.
+            LogUtil.w(TAG, "ProcessPendingMessagesAction: selfId is null");
+            return false;
+        }
 
         // Will queue no more than one message to send plus one message to download
         // This keeps outgoing messages "in order" but allow downloads to happen even if sending
-        //  gets blocked until messages time out.  Manual resend bumps messages to head of queue.
-        final String toSendMessageId = findNextMessageToSend(db, now);
-        final String toDownloadMessageId = findNextMessageToDownload(db, now);
+        // gets blocked until messages time out. Manual resend bumps messages to head of queue.
+        final String toSendMessageId = findNextMessageToSend(db, now, selfId);
+        final String toDownloadMessageId = findNextMessageToDownload(db, now, selfId);
         if (toSendMessageId != null) {
             LogUtil.i(TAG, "ProcessPendingMessagesAction: Queueing message " + toSendMessageId
                     + " for sending");
@@ -269,78 +289,84 @@
             }
         }
         if (toSendMessageId == null && toDownloadMessageId == null) {
-            if (LogUtil.isLoggable(TAG, LogUtil.DEBUG)) {
-                LogUtil.d(TAG, "ProcessPendingMessagesAction: No messages to send or download");
-            }
+            LogUtil.i(TAG, "ProcessPendingMessagesAction: No messages to send or download");
         }
         return succeeded;
     }
 
     @Override
     protected Object executeAction() {
+        final int subId = actionParameters.getInt(KEY_SUB_ID, ParticipantData.DEFAULT_SELF_SUB_ID);
         // If triggered by alarm will not have unregistered yet
-        unregister();
+        unregister(subId);
 
         if (PhoneUtils.getDefault().isDefaultSmsApp()) {
-            queueActions(this);
+            if (!queueActions(this)) {
+                LogUtil.v(TAG, "ProcessPendingMessagesAction: rescheduling");
+                // TODO: Need to clear retry count here?
+                scheduleProcessPendingMessagesAction(true /* failed */, this);
+            }
         } else {
             if (LogUtil.isLoggable(TAG, LogUtil.VERBOSE)) {
                 LogUtil.v(TAG, "ProcessPendingMessagesAction: Not default SMS app; rescheduling");
             }
-            scheduleProcessPendingMessagesAction(true, this);
+            scheduleProcessPendingMessagesAction(true /* failed */, this);
         }
 
         return null;
     }
 
-    private static String findNextMessageToSend(final DatabaseWrapper db, final long now) {
+    private static String findNextMessageToSend(final DatabaseWrapper db, final long now,
+            final String selfId) {
         String toSendMessageId = null;
-        db.beginTransaction();
-        Cursor sending = null;
         Cursor cursor = null;
         int sendingCnt = 0;
         int pendingCnt = 0;
         int failedCnt = 0;
+        db.beginTransaction();
         try {
             // First check to see if we have any messages already sending
-            sending = db.query(DatabaseHelper.MESSAGES_TABLE,
-                    MessageData.getProjection(),
-                    DatabaseHelper.MessageColumns.STATUS + " IN (?, ?)",
-                    new String[]{Integer.toString(MessageData.BUGLE_STATUS_OUTGOING_SENDING),
-                           Integer.toString(MessageData.BUGLE_STATUS_OUTGOING_RESENDING)},
-                    null,
-                    null,
-                    DatabaseHelper.MessageColumns.RECEIVED_TIMESTAMP + " ASC");
-            final boolean messageCurrentlySending = sending.moveToNext();
-            sendingCnt = sending.getCount();
-            // Look for messages we could send
-            final ContentValues values = new ContentValues();
-            values.put(DatabaseHelper.MessageColumns.STATUS,
-                    MessageData.BUGLE_STATUS_OUTGOING_FAILED);
+            sendingCnt = (int) db.queryNumEntries(DatabaseHelper.MESSAGES_TABLE,
+                    DatabaseHelper.MessageColumns.STATUS + " IN (?, ?) AND "
+                    + DatabaseHelper.MessageColumns.SELF_PARTICIPANT_ID + " =? ",
+                    new String[] {
+                        Integer.toString(MessageData.BUGLE_STATUS_OUTGOING_SENDING),
+                        Integer.toString(MessageData.BUGLE_STATUS_OUTGOING_RESENDING),
+                        selfId}
+                    );
+
+            // Look for messages we cound send
             cursor = db.query(DatabaseHelper.MESSAGES_TABLE,
                     MessageData.getProjection(),
-                    DatabaseHelper.MessageColumns.STATUS + " IN ("
-                            + MessageData.BUGLE_STATUS_OUTGOING_YET_TO_SEND + ","
-                            + MessageData.BUGLE_STATUS_OUTGOING_AWAITING_RETRY + ")",
-                    null,
+                    DatabaseHelper.MessageColumns.STATUS + " IN (?, ?) AND "
+                    + DatabaseHelper.MessageColumns.SELF_PARTICIPANT_ID + " =? ",
+                    new String[] {
+                        Integer.toString(MessageData.BUGLE_STATUS_OUTGOING_YET_TO_SEND),
+                        Integer.toString(MessageData.BUGLE_STATUS_OUTGOING_AWAITING_RETRY),
+                        selfId
+                    },
                     null,
                     null,
                     DatabaseHelper.MessageColumns.RECEIVED_TIMESTAMP + " ASC");
             pendingCnt = cursor.getCount();
 
+            final ContentValues values = new ContentValues();
+            values.put(DatabaseHelper.MessageColumns.STATUS,
+                    MessageData.BUGLE_STATUS_OUTGOING_FAILED);
+
             while (cursor.moveToNext()) {
                 final MessageData message = new MessageData();
                 message.bind(cursor);
                 if (message.getInResendWindow(now)) {
                     // If no messages currently sending
-                    if (!messageCurrentlySending) {
+                    if (sendingCnt == 0) {
                         // Resend this message
                         toSendMessageId = message.getMessageId();
                         // Before queuing the message for resending, check if the message's self is
                         // active. If not, switch back to the system's default subscription.
                         if (OsUtil.isAtLeastL_MR1()) {
                             final ParticipantData messageSelf = BugleDatabaseOperations
-                                    .getExistingParticipant(db, message.getSelfId());
+                                    .getExistingParticipant(db, selfId);
                             if (messageSelf == null || !messageSelf.isActiveSubscription()) {
                                 final ParticipantData defaultSelf = BugleDatabaseOperations
                                         .getOrCreateSelf(db, PhoneUtils.getDefault()
@@ -373,9 +399,6 @@
             if (cursor != null) {
                 cursor.close();
             }
-            if (sending != null) {
-                sending.close();
-            }
         }
 
         if (LogUtil.isLoggable(TAG, LogUtil.DEBUG)) {
@@ -388,31 +411,34 @@
         return toSendMessageId;
     }
 
-    private static String findNextMessageToDownload(final DatabaseWrapper db, final long now) {
+    private static String findNextMessageToDownload(final DatabaseWrapper db, final long now,
+            final String selfId) {
         String toDownloadMessageId = null;
-        db.beginTransaction();
         Cursor cursor = null;
         int downloadingCnt = 0;
         int pendingCnt = 0;
+        db.beginTransaction();
         try {
             // First check if we have any messages already downloading
             downloadingCnt = (int) db.queryNumEntries(DatabaseHelper.MESSAGES_TABLE,
-                    DatabaseHelper.MessageColumns.STATUS + " IN (?, ?)",
+                    DatabaseHelper.MessageColumns.STATUS + " IN (?, ?) AND "
+                    + DatabaseHelper.MessageColumns.SELF_PARTICIPANT_ID + " =?",
                     new String[] {
                         Integer.toString(MessageData.BUGLE_STATUS_INCOMING_AUTO_DOWNLOADING),
-                        Integer.toString(MessageData.BUGLE_STATUS_INCOMING_MANUAL_DOWNLOADING)
+                        Integer.toString(MessageData.BUGLE_STATUS_INCOMING_MANUAL_DOWNLOADING),
+                        selfId
                     });
 
             // TODO: This query is not actually needed if downloadingCnt == 0.
             cursor = db.query(DatabaseHelper.MESSAGES_TABLE,
                     MessageData.getProjection(),
-                    DatabaseHelper.MessageColumns.STATUS + " =? OR "
-                            + DatabaseHelper.MessageColumns.STATUS + " =?",
+                    DatabaseHelper.MessageColumns.STATUS + " IN (?, ?) AND "
+                    + DatabaseHelper.MessageColumns.SELF_PARTICIPANT_ID + " =? ",
                     new String[]{
-                            Integer.toString(
-                                    MessageData.BUGLE_STATUS_INCOMING_RETRYING_AUTO_DOWNLOAD),
-                            Integer.toString(
-                                    MessageData.BUGLE_STATUS_INCOMING_RETRYING_MANUAL_DOWNLOAD)
+                        Integer.toString(MessageData.BUGLE_STATUS_INCOMING_RETRYING_AUTO_DOWNLOAD),
+                        Integer.toString(
+                                MessageData.BUGLE_STATUS_INCOMING_RETRYING_MANUAL_DOWNLOAD),
+                        selfId
                     },
                     null,
                     null,
diff --git a/src/com/android/messaging/datamodel/action/ProcessSentMessageAction.java b/src/com/android/messaging/datamodel/action/ProcessSentMessageAction.java
index f408e47..489a0f1 100644
--- a/src/com/android/messaging/datamodel/action/ProcessSentMessageAction.java
+++ b/src/com/android/messaging/datamodel/action/ProcessSentMessageAction.java
@@ -207,6 +207,8 @@
         if (message == null) {
             LogUtil.w(TAG, "ProcessSentMessageAction: Sent message " + messageId
                     + " missing from local database");
+            ProcessPendingMessagesAction.scheduleProcessPendingMessagesAction(
+                    true /* failed */, processingAction);
             return;
         }
         final String conversationId = message.getConversationId();
diff --git a/src/com/android/messaging/datamodel/action/ReceiveSmsMessageAction.java b/src/com/android/messaging/datamodel/action/ReceiveSmsMessageAction.java
index 5ffb35d..cb7a35d 100644
--- a/src/com/android/messaging/datamodel/action/ReceiveSmsMessageAction.java
+++ b/src/com/android/messaging/datamodel/action/ReceiveSmsMessageAction.java
@@ -44,6 +44,7 @@
     private static final String TAG = LogUtil.BUGLE_DATAMODEL_TAG;
 
     private static final String KEY_MESSAGE_VALUES = "message_values";
+    private static final String KEY_SUB_ID = "sub_id";
 
     /**
      * Create a message received from a particular number in a particular conversation
@@ -158,6 +159,7 @@
                     + " in conversation " + message.getConversationId()
                     + ", uri = " + messageUri);
 
+            actionParameters.putInt(KEY_SUB_ID, subId);
             ProcessPendingMessagesAction.scheduleProcessPendingMessagesAction(false, this);
         } else {
             if (LogUtil.isLoggable(TAG, LogUtil.DEBUG)) {
diff --git a/src/com/android/messaging/datamodel/action/RedownloadMmsAction.java b/src/com/android/messaging/datamodel/action/RedownloadMmsAction.java
index e899b0c..69c34da 100644
--- a/src/com/android/messaging/datamodel/action/RedownloadMmsAction.java
+++ b/src/com/android/messaging/datamodel/action/RedownloadMmsAction.java
@@ -36,7 +36,9 @@
  */
 public class RedownloadMmsAction extends Action implements Parcelable {
     private static final String TAG = LogUtil.BUGLE_DATAMODEL_TAG;
-    private static final int REQUEST_CODE_PENDING_INTENT = 102;
+    private static final int REQUEST_CODE_PENDING_INTENT = 101;
+
+    private static final String KEY_SUB_ID = "sub_id";
 
     /**
      * Download an MMS message
@@ -90,7 +92,8 @@
             BugleDatabaseOperations.updateMessageRow(db, message.getMessageId(), values);
 
             MessagingContentProvider.notifyMessagesChanged(message.getConversationId());
-
+            actionParameters.putInt(KEY_SUB_ID,
+                    BugleDatabaseOperations.getSelfSubscriptionId(db, message.getSelfId()));
             // Whether we succeeded or failed we will check and maybe schedule some more work
             ProcessPendingMessagesAction.scheduleProcessPendingMessagesAction(false, this);
         } else {
diff --git a/src/com/android/messaging/datamodel/action/ResendMessageAction.java b/src/com/android/messaging/datamodel/action/ResendMessageAction.java
index 2201965..0943f72 100644
--- a/src/com/android/messaging/datamodel/action/ResendMessageAction.java
+++ b/src/com/android/messaging/datamodel/action/ResendMessageAction.java
@@ -34,6 +34,8 @@
 public class ResendMessageAction extends Action implements Parcelable {
     private static final String TAG = LogUtil.BUGLE_DATAMODEL_TAG;
 
+    private static final String KEY_SUB_ID = "sub_id";
+
     /**
      * Manual send of existing message (no listener)
      */
@@ -87,6 +89,9 @@
 
             MessagingContentProvider.notifyMessagesChanged(message.getConversationId());
 
+            actionParameters.putInt(KEY_SUB_ID,
+                    BugleDatabaseOperations.getSelfSubscriptionId(db, message.getSelfId()));
+
             // Whether we succeeded or failed we will check and maybe schedule some more work
             ProcessPendingMessagesAction.scheduleProcessPendingMessagesAction(false, this);
 
diff --git a/src/com/android/messaging/datamodel/action/SendMessageAction.java b/src/com/android/messaging/datamodel/action/SendMessageAction.java
index d7ebe8f..35e6280 100644
--- a/src/com/android/messaging/datamodel/action/SendMessageAction.java
+++ b/src/com/android/messaging/datamodel/action/SendMessageAction.java
@@ -44,7 +44,6 @@
  * Action used to send an outgoing message. It writes MMS messages to the telephony db
  * ({@link InsertNewMessageAction}) writes SMS messages to the telephony db). It also
  * initiates the actual sending. It will all be used for re-sending a failed message.
- * NOTE: This action must queue a ProcessPendingMessagesAction when it is done (success or failure).
  * <p>
  * This class is public (not package-private) because the SMS/MMS (e.g. MmsUtils) classes need to
  * access the EXTRA_* fields for setting up the 'sent' pending intent.
@@ -294,9 +293,6 @@
                 MmsUtils.MMS_REQUEST_MANUAL_RETRY, MessageData.RAW_TELEPHONY_STATUS_UNDEFINED,
                 isSms, this, subId, resultCode, httpStatusCode);
 
-        // Whether we succeeded or failed we will check and maybe schedule some more work
-        ProcessPendingMessagesAction.scheduleProcessPendingMessagesAction(true, this);
-
         return null;
     }
 
diff --git a/src/com/android/messaging/datamodel/action/SyncMessageBatch.java b/src/com/android/messaging/datamodel/action/SyncMessageBatch.java
index 972d691..a623666 100644
--- a/src/com/android/messaging/datamodel/action/SyncMessageBatch.java
+++ b/src/com/android/messaging/datamodel/action/SyncMessageBatch.java
@@ -202,11 +202,11 @@
         // For a message we sync either
         if (isOutgoing) {
             // Outgoing message not yet been sent
-            if (type == Telephony.Sms.MESSAGE_TYPE_FAILED ||
-                    type == Telephony.Sms.MESSAGE_TYPE_OUTBOX ||
-                    type == Telephony.Sms.MESSAGE_TYPE_QUEUED ||
-                    (type == Telephony.Sms.MESSAGE_TYPE_SENT &&
-                     status == Telephony.Sms.STATUS_FAILED)) {
+            if (type == Telephony.Sms.MESSAGE_TYPE_FAILED
+                    || type == Telephony.Sms.MESSAGE_TYPE_OUTBOX
+                    || type == Telephony.Sms.MESSAGE_TYPE_QUEUED
+                    || (type == Telephony.Sms.MESSAGE_TYPE_SENT
+                            && status >= Telephony.Sms.STATUS_FAILED)) {
                 // Not sent counts as failed and available for manual resend
                 bugleStatus = MessageData.BUGLE_STATUS_OUTGOING_FAILED;
             } else if (status == Sms.STATUS_COMPLETE) {
diff --git a/src/com/android/messaging/datamodel/action/UpdateConversationOptionsAction.java b/src/com/android/messaging/datamodel/action/UpdateConversationOptionsAction.java
deleted file mode 100644
index 6c9e739..0000000
--- a/src/com/android/messaging/datamodel/action/UpdateConversationOptionsAction.java
+++ /dev/null
@@ -1,156 +0,0 @@
-/*
- * Copyright (C) 2015 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.messaging.datamodel.action;
-
-import android.content.ContentValues;
-import android.os.Parcel;
-import android.os.Parcelable;
-
-import com.android.messaging.datamodel.BugleDatabaseOperations;
-import com.android.messaging.datamodel.DataModel;
-import com.android.messaging.datamodel.DatabaseHelper.ConversationColumns;
-import com.android.messaging.datamodel.DatabaseWrapper;
-import com.android.messaging.datamodel.MessagingContentProvider;
-import com.android.messaging.util.Assert;
-
-/**
- * Action used to update conversation options such as notification settings.
- */
-public class UpdateConversationOptionsAction extends Action
-        implements Parcelable {
-    /**
-     * Enable/disable conversation notifications.
-     */
-    public static void enableConversationNotifications(final String conversationId,
-            final boolean enableNotification) {
-        Assert.notNull(conversationId);
-
-        final UpdateConversationOptionsAction action = new UpdateConversationOptionsAction(
-                conversationId, enableNotification, null, null);
-        action.start();
-    }
-
-    /**
-     * Sets conversation notification sound.
-     */
-    public static void setConversationNotificationSound(final String conversationId,
-            final String ringtoneUri) {
-        Assert.notNull(conversationId);
-
-        final UpdateConversationOptionsAction action = new UpdateConversationOptionsAction(
-                conversationId, null, ringtoneUri, null);
-        action.start();
-    }
-
-    /**
-     * Enable/disable vibrations for conversation notification.
-     */
-    public static void enableVibrationForConversationNotification(final String conversationId,
-            final boolean enableVibration) {
-        Assert.notNull(conversationId);
-
-        final UpdateConversationOptionsAction action = new UpdateConversationOptionsAction(
-                conversationId, null, null, enableVibration);
-        action.start();
-    }
-
-    private static final String KEY_CONVERSATION_ID = "conversation_id";
-
-    // Keys for all settable settings.
-    private static final String KEY_ENABLE_NOTIFICATION = "enable_notification";
-    private static final String KEY_RINGTONE_URI = "ringtone_uri";
-    private static final String KEY_ENABLE_VIBRATION = "enable_vibration";
-
-    protected UpdateConversationOptionsAction(final String conversationId,
-            final Boolean enableNotification, final String ringtoneUri,
-            final Boolean enableVibration) {
-        Assert.notNull(conversationId);
-        actionParameters.putString(KEY_CONVERSATION_ID, conversationId);
-        if (enableNotification != null) {
-            actionParameters.putBoolean(KEY_ENABLE_NOTIFICATION, enableNotification);
-        }
-
-        if (ringtoneUri != null) {
-            actionParameters.putString(KEY_RINGTONE_URI, ringtoneUri);
-        }
-
-        if (enableVibration != null) {
-            actionParameters.putBoolean(KEY_ENABLE_VIBRATION, enableVibration);
-        }
-    }
-
-    protected void putOptionValuesInTransaction(final ContentValues values,
-            final DatabaseWrapper dbWrapper) {
-        Assert.isTrue(dbWrapper.getDatabase().inTransaction());
-        if (actionParameters.containsKey(KEY_ENABLE_NOTIFICATION)) {
-            values.put(ConversationColumns.NOTIFICATION_ENABLED,
-                    actionParameters.getBoolean(KEY_ENABLE_NOTIFICATION));
-        }
-
-        if (actionParameters.containsKey(KEY_RINGTONE_URI)) {
-            values.put(ConversationColumns.NOTIFICATION_SOUND_URI,
-                    actionParameters.getString(KEY_RINGTONE_URI));
-        }
-
-        if (actionParameters.containsKey(KEY_ENABLE_VIBRATION)) {
-            values.put(ConversationColumns.NOTIFICATION_VIBRATION,
-                    actionParameters.getBoolean(KEY_ENABLE_VIBRATION));
-        }
-    }
-
-    @Override
-    protected Object executeAction() {
-        final String conversationId = actionParameters.getString(KEY_CONVERSATION_ID);
-
-        final DatabaseWrapper db = DataModel.get().getDatabase();
-        db.beginTransaction();
-        try {
-            final ContentValues values = new ContentValues();
-            putOptionValuesInTransaction(values, db);
-
-            BugleDatabaseOperations.updateConversationRowIfExists(db, conversationId, values);
-
-            db.setTransactionSuccessful();
-        } finally {
-            db.endTransaction();
-        }
-        MessagingContentProvider.notifyConversationMetadataChanged(conversationId);
-        return null;
-    }
-
-    protected UpdateConversationOptionsAction(final Parcel in) {
-        super(in);
-    }
-
-    public static final Parcelable.Creator<UpdateConversationOptionsAction> CREATOR
-            = new Parcelable.Creator<UpdateConversationOptionsAction>() {
-        @Override
-        public UpdateConversationOptionsAction createFromParcel(final Parcel in) {
-            return new UpdateConversationOptionsAction(in);
-        }
-
-        @Override
-        public UpdateConversationOptionsAction[] newArray(final int size) {
-            return new UpdateConversationOptionsAction[size];
-        }
-    };
-
-    @Override
-    public void writeToParcel(final Parcel parcel, final int flags) {
-        writeActionToParcel(parcel, flags);
-    }
-}
diff --git a/src/com/android/messaging/datamodel/data/ConversationListItemData.java b/src/com/android/messaging/datamodel/data/ConversationListItemData.java
index f627a09..46d4b64 100644
--- a/src/com/android/messaging/datamodel/data/ConversationListItemData.java
+++ b/src/com/android/messaging/datamodel/data/ConversationListItemData.java
@@ -52,9 +52,6 @@
     private String mOtherParticipantNormalizedDestination;
     private String mSelfId;
     private int mParticipantCount;
-    private boolean mNotificationEnabled;
-    private String mNotificationSoundUri;
-    private boolean mNotificationVibrate;
     private boolean mIncludeEmailAddress;
     private int mMessageStatus;
     private int mMessageRawTelephonyStatus;
@@ -92,9 +89,6 @@
                 INDEX_OTHER_PARTICIPANT_NORMALIZED_DESTINATION);
         mSelfId = cursor.getString(INDEX_SELF_ID);
         mParticipantCount = cursor.getInt(INDEX_PARTICIPANT_COUNT);
-        mNotificationEnabled = cursor.getInt(INDEX_NOTIFICATION_ENABLED) == 1;
-        mNotificationSoundUri = cursor.getString(INDEX_NOTIFICATION_SOUND_URI);
-        mNotificationVibrate = cursor.getInt(INDEX_NOTIFICATION_VIBRATION) == 1;
         mIncludeEmailAddress = cursor.getInt(INDEX_INCLUDE_EMAIL_ADDRESS) == 1;
         mMessageStatus = cursor.getInt(INDEX_MESSAGE_STATUS);
         mMessageRawTelephonyStatus = cursor.getInt(INDEX_MESSAGE_RAW_TELEPHONY_STATUS);
@@ -199,18 +193,6 @@
         return mIncludeEmailAddress;
     }
 
-    public boolean getNotificationEnabled() {
-        return mNotificationEnabled;
-    }
-
-    public String getNotificationSoundUri() {
-        return mNotificationSoundUri;
-    }
-
-    public boolean getNotifiationVibrate() {
-        return mNotificationVibrate;
-    }
-
     public final boolean getIsFailedStatus() {
         return (mMessageStatus == MessageData.BUGLE_STATUS_OUTGOING_FAILED ||
                 mMessageStatus == MessageData.BUGLE_STATUS_OUTGOING_FAILED_EMERGENCY_NUMBER ||
@@ -328,12 +310,6 @@
             + " as " + ConversationListViewColumns.PREVIEW_CONTENT_TYPE + ", "
             + DatabaseHelper.CONVERSATIONS_TABLE + '.' + ConversationColumns.PARTICIPANT_COUNT
             + " as " + ConversationListViewColumns.PARTICIPANT_COUNT + ", "
-            + DatabaseHelper.CONVERSATIONS_TABLE + '.' + ConversationColumns.NOTIFICATION_ENABLED
-            + " as " + ConversationListViewColumns.NOTIFICATION_ENABLED + ", "
-            + DatabaseHelper.CONVERSATIONS_TABLE + '.' + ConversationColumns.NOTIFICATION_SOUND_URI
-            + " as " + ConversationListViewColumns.NOTIFICATION_SOUND_URI + ", "
-            + DatabaseHelper.CONVERSATIONS_TABLE + '.' + ConversationColumns.NOTIFICATION_VIBRATION
-            + " as " + ConversationListViewColumns.NOTIFICATION_VIBRATION + ", "
             + DatabaseHelper.CONVERSATIONS_TABLE + '.' +
                     ConversationColumns.INCLUDE_EMAIL_ADDRESS
             + " as " + ConversationListViewColumns.INCLUDE_EMAIL_ADDRESS + ", "
@@ -396,9 +372,6 @@
                 ConversationColumns.OTHER_PARTICIPANT_NORMALIZED_DESTINATION;
         static final String CURRENT_SELF_ID = ConversationColumns.CURRENT_SELF_ID;
         static final String PARTICIPANT_COUNT = ConversationColumns.PARTICIPANT_COUNT;
-        static final String NOTIFICATION_ENABLED = ConversationColumns.NOTIFICATION_ENABLED;
-        static final String NOTIFICATION_SOUND_URI = ConversationColumns.NOTIFICATION_SOUND_URI;
-        static final String NOTIFICATION_VIBRATION = ConversationColumns.NOTIFICATION_VIBRATION;
         static final String INCLUDE_EMAIL_ADDRESS =
                 ConversationColumns.INCLUDE_EMAIL_ADDRESS;
         static final String MESSAGE_STATUS = MessageColumns.STATUS;
@@ -424,9 +397,6 @@
         ConversationListViewColumns.OTHER_PARTICIPANT_NORMALIZED_DESTINATION,
         ConversationListViewColumns.PARTICIPANT_COUNT,
         ConversationListViewColumns.CURRENT_SELF_ID,
-        ConversationListViewColumns.NOTIFICATION_ENABLED,
-        ConversationListViewColumns.NOTIFICATION_SOUND_URI,
-        ConversationListViewColumns.NOTIFICATION_VIBRATION,
         ConversationListViewColumns.INCLUDE_EMAIL_ADDRESS,
         ConversationListViewColumns.MESSAGE_STATUS,
         ConversationListViewColumns.SHOW_DRAFT,
@@ -456,23 +426,20 @@
     private static final int INDEX_OTHER_PARTICIPANT_NORMALIZED_DESTINATION = 10;
     private static final int INDEX_PARTICIPANT_COUNT = 11;
     private static final int INDEX_SELF_ID = 12;
-    private static final int INDEX_NOTIFICATION_ENABLED = 13;
-    private static final int INDEX_NOTIFICATION_SOUND_URI = 14;
-    private static final int INDEX_NOTIFICATION_VIBRATION = 15;
-    private static final int INDEX_INCLUDE_EMAIL_ADDRESS = 16;
-    private static final int INDEX_MESSAGE_STATUS = 17;
-    private static final int INDEX_SHOW_DRAFT = 18;
-    private static final int INDEX_DRAFT_PREVIEW_URI = 19;
-    private static final int INDEX_DRAFT_PREVIEW_CONTENT_TYPE = 20;
-    private static final int INDEX_DRAFT_SNIPPET_TEXT = 21;
-    private static final int INDEX_ARCHIVE_STATUS = 22;
-    private static final int INDEX_MESSAGE_ID = 23;
-    private static final int INDEX_SUBJECT_TEXT = 24;
-    private static final int INDEX_DRAFT_SUBJECT_TEXT = 25;
-    private static final int INDEX_MESSAGE_RAW_TELEPHONY_STATUS = 26;
-    private static final int INDEX_SNIPPET_SENDER_FIRST_NAME = 27;
-    private static final int INDEX_SNIPPET_SENDER_DISPLAY_DESTINATION = 28;
-    private static final int INDEX_IS_ENTERPRISE = 29;
+    private static final int INDEX_INCLUDE_EMAIL_ADDRESS = 13;
+    private static final int INDEX_MESSAGE_STATUS = 14;
+    private static final int INDEX_SHOW_DRAFT = 15;
+    private static final int INDEX_DRAFT_PREVIEW_URI = 16;
+    private static final int INDEX_DRAFT_PREVIEW_CONTENT_TYPE = 17;
+    private static final int INDEX_DRAFT_SNIPPET_TEXT = 18;
+    private static final int INDEX_ARCHIVE_STATUS = 19;
+    private static final int INDEX_MESSAGE_ID = 20;
+    private static final int INDEX_SUBJECT_TEXT = 21;
+    private static final int INDEX_DRAFT_SUBJECT_TEXT = 22;
+    private static final int INDEX_MESSAGE_RAW_TELEPHONY_STATUS = 23;
+    private static final int INDEX_SNIPPET_SENDER_FIRST_NAME = 24;
+    private static final int INDEX_SNIPPET_SENDER_DISPLAY_DESTINATION = 25;
+    private static final int INDEX_IS_ENTERPRISE = 26;
 
     private static final String DIVIDER_TEXT = ", ";
 
diff --git a/src/com/android/messaging/datamodel/data/ConversationMessageData.java b/src/com/android/messaging/datamodel/data/ConversationMessageData.java
index 19e1b97..2a85277 100644
--- a/src/com/android/messaging/datamodel/data/ConversationMessageData.java
+++ b/src/com/android/messaging/datamodel/data/ConversationMessageData.java
@@ -523,7 +523,8 @@
     }
 
     public boolean getIsSendComplete() {
-        return mStatus == MessageData.BUGLE_STATUS_OUTGOING_COMPLETE;
+        return (mStatus == MessageData.BUGLE_STATUS_OUTGOING_COMPLETE
+                || mStatus == MessageData.BUGLE_STATUS_OUTGOING_DELIVERED);
     }
 
     public String getSenderFullName() {
@@ -575,8 +576,9 @@
     public boolean getCanForwardMessage() {
         // Even for outgoing messages, we only allow forwarding if the message has finished sending
         // as media often has issues when send isn't complete
-        return (mStatus == MessageData.BUGLE_STATUS_OUTGOING_COMPLETE ||
-                mStatus == MessageData.BUGLE_STATUS_INCOMING_COMPLETE);
+        return (mStatus == MessageData.BUGLE_STATUS_OUTGOING_COMPLETE
+                || mStatus == MessageData.BUGLE_STATUS_OUTGOING_DELIVERED
+                || mStatus == MessageData.BUGLE_STATUS_INCOMING_COMPLETE);
     }
 
     public boolean getCanCopyMessageToClipboard() {
diff --git a/src/com/android/messaging/datamodel/data/DraftMessageData.java b/src/com/android/messaging/datamodel/data/DraftMessageData.java
index 7a7199a..f63c27f 100644
--- a/src/com/android/messaging/datamodel/data/DraftMessageData.java
+++ b/src/com/android/messaging/datamodel/data/DraftMessageData.java
@@ -339,11 +339,23 @@
      */
     private boolean addOneAttachmentNoNotify(final MessagePartData attachment) {
         Assert.isTrue(attachment.isAttachment());
+        // Check duplication.
+        for (final MessagePartData existingAttachment : mAttachments) {
+            if (existingAttachment.getContentUri().equals(attachment.getContentUri())) {
+                // Destroy existing attachment and replace with new attachment instead of destroying
+                // new one so that mSelectedImages in GalleryGridView could be maintained correctly.
+                mAttachments.remove(existingAttachment);
+                existingAttachment.destroyAsync();
+                addAttachment(attachment, null /*pendingAttachment*/);
+                return false;
+            }
+        }
+
         final boolean reachedLimit = getAttachmentCount() >= getAttachmentLimit();
-        if (reachedLimit || containsAttachment(attachment.getContentUri())) {
-            // Never go over the limit. Never add duplicated attachments.
+        if (reachedLimit) {
+            // Never go over the limit.
             attachment.destroyAsync();
-            return reachedLimit;
+            return true;
         } else {
             addAttachment(attachment, null /*pendingAttachment*/);
             return false;
diff --git a/src/com/android/messaging/datamodel/data/GalleryGridItemData.java b/src/com/android/messaging/datamodel/data/GalleryGridItemData.java
index 6649757..941d38d 100644
--- a/src/com/android/messaging/datamodel/data/GalleryGridItemData.java
+++ b/src/com/android/messaging/datamodel/data/GalleryGridItemData.java
@@ -20,25 +20,29 @@
 import android.graphics.Rect;
 import android.net.Uri;
 import android.provider.BaseColumns;
-import android.provider.MediaStore.Images.Media;
+import android.provider.MediaStore.MediaColumns;
 import android.text.TextUtils;
 
 import com.android.messaging.datamodel.media.FileImageRequestDescriptor;
 import com.android.messaging.datamodel.media.ImageRequest;
 import com.android.messaging.datamodel.media.UriImageRequestDescriptor;
+import com.android.messaging.datamodel.media.VideoThumbnailRequestDescriptor;
 import com.android.messaging.util.Assert;
+import com.android.messaging.util.ContentType;
+import com.android.messaging.util.UriUtil;
 
 /**
  * Provides data for GalleryGridItemView
  */
 public class GalleryGridItemData {
-    public static final String[] IMAGE_PROJECTION = new String[] {
-        Media._ID,
-        Media.DATA,
-        Media.WIDTH,
-        Media.HEIGHT,
-        Media.MIME_TYPE,
-        Media.DATE_MODIFIED};
+    public static final String[] MEDIA_PROJECTION = new String[] {
+        MediaColumns._ID,
+        MediaColumns.DATA,
+        MediaColumns.WIDTH,
+        MediaColumns.HEIGHT,
+        MediaColumns.MIME_TYPE,
+        MediaColumns.DATE_MODIFIED,
+        MediaColumns.DISPLAY_NAME};
 
     public static final String[] SPECIAL_ITEM_COLUMNS = new String[] {
         BaseColumns._ID
@@ -46,20 +50,23 @@
 
     private static final int INDEX_ID = 0;
 
-    // For local image gallery.
+    // For local media gallery.
     private static final int INDEX_DATA_PATH = 1;
     private static final int INDEX_WIDTH = 2;
     private static final int INDEX_HEIGHT = 3;
     private static final int INDEX_MIME_TYPE = 4;
     private static final int INDEX_DATE_MODIFIED = 5;
+    private static final int INDEX_DISPLAY_NAME = 6;
 
-    /** A special item's id for picking images from document picker */
+    /** A special item's id for picking a media from document picker */
     public static final String ID_DOCUMENT_PICKER_ITEM = "-1";
 
     private UriImageRequestDescriptor mImageData;
     private String mContentType;
     private boolean mIsDocumentPickerItem;
     private long mDateSeconds;
+    private String mFileName;
+    private Uri mAudioUri;
 
     public GalleryGridItemData() {
     }
@@ -71,29 +78,45 @@
             mImageData = null;
             mContentType = null;
         } else {
-            int sourceWidth = cursor.getInt(INDEX_WIDTH);
-            int sourceHeight = cursor.getInt(INDEX_HEIGHT);
-
-            // Guard against bad data
-            if (sourceWidth <= 0) {
-                sourceWidth = ImageRequest.UNSPECIFIED_SIZE;
-            }
-            if (sourceHeight <= 0) {
-                sourceHeight = ImageRequest.UNSPECIFIED_SIZE;
-            }
-
             mContentType = cursor.getString(INDEX_MIME_TYPE);
+            final String filePath = cursor.getString(INDEX_DATA_PATH);
             final String dateModified = cursor.getString(INDEX_DATE_MODIFIED);
             mDateSeconds = !TextUtils.isEmpty(dateModified) ? Long.parseLong(dateModified) : -1;
-            mImageData = new FileImageRequestDescriptor(
-                    cursor.getString(INDEX_DATA_PATH),
-                    desiredWidth,
-                    desiredHeight,
-                    sourceWidth,
-                    sourceHeight,
-                    true /* canUseThumbnail */,
-                    true /* allowCompression */,
-                    true /* isStatic */);
+            if (ContentType.isAudioType(mContentType)) {
+                mImageData = null;
+                mAudioUri = UriUtil.getUriForResourceFile(filePath);
+                mFileName = cursor.getString(INDEX_DISPLAY_NAME);
+            } else { // For image and video types
+                int sourceWidth = cursor.getInt(INDEX_WIDTH);
+                int sourceHeight = cursor.getInt(INDEX_HEIGHT);
+
+                // Guard against bad data
+                if (sourceWidth <= 0) {
+                    sourceWidth = ImageRequest.UNSPECIFIED_SIZE;
+                }
+                if (sourceHeight <= 0) {
+                    sourceHeight = ImageRequest.UNSPECIFIED_SIZE;
+                }
+
+                if (ContentType.isVideoType(mContentType)) {
+                    mImageData = new VideoThumbnailRequestDescriptor(
+                            cursor.getLong(INDEX_ID),
+                            desiredWidth,
+                            desiredHeight,
+                            sourceWidth,
+                            sourceHeight);
+                } else {
+                    mImageData = new FileImageRequestDescriptor(
+                            filePath,
+                            desiredWidth,
+                            desiredHeight,
+                            sourceWidth,
+                            sourceHeight,
+                            true /* canUseThumbnail */,
+                            true /* allowCompression */,
+                            true /* isStatic */);
+                }
+            }
         }
     }
 
@@ -102,7 +125,7 @@
     }
 
     public Uri getImageUri() {
-        return mImageData.uri;
+        return ContentType.isAudioType(mContentType) ? mAudioUri : mImageData.uri;
     }
 
     public UriImageRequestDescriptor getImageRequestDescriptor() {
@@ -111,8 +134,10 @@
 
     public MessagePartData constructMessagePartData(final Rect startRect) {
         Assert.isTrue(!mIsDocumentPickerItem);
-        return new MediaPickerMessagePartData(startRect, mContentType,
-                mImageData.uri, mImageData.sourceWidth, mImageData.sourceHeight);
+        return ContentType.isAudioType(mContentType)
+                ? new MediaPickerMessagePartData(startRect, mContentType, mAudioUri, 0, 0)
+                : new MediaPickerMessagePartData(startRect, mContentType, mImageData.uri,
+                        mImageData.sourceWidth, mImageData.sourceHeight);
     }
 
     /**
@@ -125,4 +150,8 @@
     public String getContentType() {
         return mContentType;
     }
+
+    public String getFileName() {
+        return mFileName;
+    }
 }
diff --git a/src/com/android/messaging/datamodel/data/MediaPickerData.java b/src/com/android/messaging/datamodel/data/MediaPickerData.java
index 7fef67f..5a2ef33 100644
--- a/src/com/android/messaging/datamodel/data/MediaPickerData.java
+++ b/src/com/android/messaging/datamodel/data/MediaPickerData.java
@@ -51,7 +51,7 @@
         mGalleryLoaderCallbacks = new GalleryLoaderCallbacks();
     }
 
-    public static final int GALLERY_IMAGE_LOADER = 1;
+    public static final int GALLERY_MEDIA_LOADER = 1;
 
     /**
      * A trampoline class so that we can inherit from LoaderManager.LoaderCallbacks multiple times.
@@ -63,7 +63,7 @@
             // Check if data still bound to the requesting ui element
             if (isBound(bindingId)) {
                 switch (id) {
-                    case GALLERY_IMAGE_LOADER:
+                    case GALLERY_MEDIA_LOADER:
                         return new GalleryBoundCursorLoader(bindingId, mContext);
 
                     default:
@@ -84,9 +84,9 @@
             final BoundCursorLoader cursorLoader = (BoundCursorLoader) loader;
             if (isBound(cursorLoader.getBindingId())) {
                 switch (loader.getId()) {
-                    case GALLERY_IMAGE_LOADER:
+                    case GALLERY_MEDIA_LOADER:
                         mListener.onMediaPickerDataUpdated(MediaPickerData.this, data,
-                                GALLERY_IMAGE_LOADER);
+                                GALLERY_MEDIA_LOADER);
                         break;
 
                     default:
@@ -106,9 +106,9 @@
             final BoundCursorLoader cursorLoader = (BoundCursorLoader) loader;
             if (isBound(cursorLoader.getBindingId())) {
                 switch (loader.getId()) {
-                    case GALLERY_IMAGE_LOADER:
+                    case GALLERY_MEDIA_LOADER:
                         mListener.onMediaPickerDataUpdated(MediaPickerData.this, null,
-                                GALLERY_IMAGE_LOADER);
+                                GALLERY_MEDIA_LOADER);
                         break;
 
                     default:
@@ -129,7 +129,7 @@
             args = new Bundle();
         }
         args.putString(BINDING_ID, binding.getBindingId());
-        if (loaderId == GALLERY_IMAGE_LOADER) {
+        if (loaderId == GALLERY_MEDIA_LOADER) {
             mLoaderManager.initLoader(loaderId, args, mGalleryLoaderCallbacks).forceLoad();
         } else {
             Assert.fail("Unsupported loader id for media picker!");
@@ -149,7 +149,7 @@
     protected void unregisterListeners() {
         // This could be null if we bind but the caller doesn't init the BindableData
         if (mLoaderManager != null) {
-            mLoaderManager.destroyLoader(GALLERY_IMAGE_LOADER);
+            mLoaderManager.destroyLoader(GALLERY_MEDIA_LOADER);
             mLoaderManager = null;
         }
     }
@@ -172,4 +172,4 @@
                 selectedIndex);
     }
 
-}
\ No newline at end of file
+}
diff --git a/src/com/android/messaging/datamodel/data/MessageData.java b/src/com/android/messaging/datamodel/data/MessageData.java
index a3698a9..b2cab48 100644
--- a/src/com/android/messaging/datamodel/data/MessageData.java
+++ b/src/com/android/messaging/datamodel/data/MessageData.java
@@ -297,9 +297,11 @@
     /**
      * Create a message not yet associated with a particular conversation
      */
-    public static MessageData createSharedMessage(final String messageText) {
+    public static MessageData createSharedMessage(final String messageText,
+            final String subjectText) {
         final MessageData message = new MessageData();
         message.mStatus = BUGLE_STATUS_OUTGOING_DRAFT;
+        message.mMmsSubject = subjectText;
         if (!TextUtils.isEmpty(messageText)) {
             message.mParts.add(MessagePartData.createTextMessagePart(messageText));
         }
@@ -540,6 +542,10 @@
         return mSeen;
     }
 
+    public final long getMmsExpiry() {
+        return mMmsExpiry;
+    }
+
     /**
      * For incoming MMS messages this returns the retrieve-status value
      * For sent MMS messages this returns the response-status value
@@ -576,7 +582,7 @@
             // primary user.
             return false;
         }
-        // Should show option for manual download iff status is manual download or failed
+        // Should show option for manual download if status is manual download or failed
         return (status == BUGLE_STATUS_INCOMING_DOWNLOAD_FAILED ||
                 status == BUGLE_STATUS_INCOMING_YET_TO_MANUAL_DOWNLOAD ||
                 // If debug is enabled, allow to download an expired or unavailable message.
@@ -590,7 +596,7 @@
             // primary user.
             return false;
         }
-        // Can download iff status is retrying auto/manual downloading
+        // Can download if status is retrying auto/manual downloading
         return (mStatus == BUGLE_STATUS_INCOMING_RETRYING_MANUAL_DOWNLOAD ||
                 mStatus == BUGLE_STATUS_INCOMING_RETRYING_AUTO_DOWNLOAD);
     }
@@ -601,7 +607,7 @@
             // primary user.
             return false;
         }
-        // Can redownload iff status is manual download not started or download failed
+        // Can redownload if status is manual download not started or download failed
         return (mStatus == BUGLE_STATUS_INCOMING_DOWNLOAD_FAILED ||
                 mStatus == BUGLE_STATUS_INCOMING_YET_TO_MANUAL_DOWNLOAD ||
                 // If debug is enabled, allow to download an expired or unavailable message.
@@ -610,12 +616,12 @@
     }
 
     static boolean getShowResendMessage(final int status) {
-        // Should show option to resend iff status is failed
+        // Should show option to resend if status is failed
         return (status == BUGLE_STATUS_OUTGOING_FAILED);
     }
 
     static boolean getOneClickResendMessage(final int status, final int rawStatus) {
-        // Should show option to resend iff status is failed
+        // Should show option to resend if status is failed
         return (status == BUGLE_STATUS_OUTGOING_FAILED
                 && rawStatus == RAW_TELEPHONY_STATUS_UNDEFINED);
     }
diff --git a/src/com/android/messaging/datamodel/data/MessagePartData.java b/src/com/android/messaging/datamodel/data/MessagePartData.java
index fffaca8..ea24876 100644
--- a/src/com/android/messaging/datamodel/data/MessagePartData.java
+++ b/src/com/android/messaging/datamodel/data/MessagePartData.java
@@ -52,9 +52,22 @@
  */
 public class MessagePartData implements Parcelable {
     public static final int UNSPECIFIED_SIZE = MessagingContentProvider.UNSPECIFIED_SIZE;
-    public static final String[] ACCEPTABLE_IMAGE_TYPES =
-            new String[] { ContentType.IMAGE_JPEG, ContentType.IMAGE_JPG, ContentType.IMAGE_PNG,
-                ContentType.IMAGE_GIF };
+
+    public static final String[] ACCEPTABLE_GALLERY_MEDIA_TYPES =
+            new String[] {
+                // Acceptable image types
+                ContentType.IMAGE_JPEG, ContentType.IMAGE_JPG, ContentType.IMAGE_PNG,
+                ContentType.IMAGE_GIF, ContentType.IMAGE_WBMP, ContentType.IMAGE_X_MS_BMP,
+                // Acceptable video types
+                ContentType.VIDEO_3GP, ContentType.VIDEO_3GPP, ContentType.VIDEO_3G2,
+                ContentType.VIDEO_H263, ContentType.VIDEO_M4V, ContentType.VIDEO_MP4,
+                ContentType.VIDEO_MPEG, ContentType.VIDEO_MPEG4, ContentType.VIDEO_WEBM,
+                // Acceptable audio types
+                ContentType.AUDIO_MP3, ContentType.AUDIO_MP4, ContentType.AUDIO_MIDI,
+                ContentType.AUDIO_MID, ContentType.AUDIO_AMR, ContentType.AUDIO_X_WAV,
+                ContentType.AUDIO_AAC, ContentType.AUDIO_X_MIDI, ContentType.AUDIO_X_MID,
+                ContentType.AUDIO_X_MP3
+            };
 
     private static final String[] sProjection = {
         PartColumns._ID,
@@ -328,6 +341,11 @@
         return mHeight;
     }
 
+    public static boolean isSupportedMediaType(final String contentType) {
+        return ContentType.isVCardType(contentType)
+                || Arrays.asList(ACCEPTABLE_GALLERY_MEDIA_TYPES).contains(contentType);
+    }
+
     /**
     *
     * @return true if this part can only exist by itself, with no other attachments
@@ -492,16 +510,8 @@
             }
             // Other images should be arbitrarily resized by ImageResizer before sending.
             return MmsUtils.MIN_IMAGE_BYTE_SIZE;
-        } else if (isAudio()) {
-            // Audios are already recorded with the lowest sampling settings (AMR_NB), so just
-            // return the file size as the minimum size.
-            return UriUtil.getContentSize(mContentUri);
-        } else if (isVideo()) {
-            final int mediaDurationMs = UriUtil.getMediaDurationMs(mContentUri);
-            return MmsUtils.MIN_VIDEO_BYTES_PER_SECOND * mediaDurationMs
-                    / TimeUnit.SECONDS.toMillis(1);
-        } else if (isVCard()) {
-            // We can't compress vCards.
+        } else if (isMedia()) {
+            // We can't compress attachments except images.
             return UriUtil.getContentSize(mContentUri);
         } else {
             // This is some unknown media type that we don't know how to handle. Log an error
diff --git a/src/com/android/messaging/datamodel/data/ParticipantData.java b/src/com/android/messaging/datamodel/data/ParticipantData.java
index 51e6ee2..95c74e2 100644
--- a/src/com/android/messaging/datamodel/data/ParticipantData.java
+++ b/src/com/android/messaging/datamodel/data/ParticipantData.java
@@ -22,10 +22,12 @@
 import android.graphics.Color;
 import android.os.Parcel;
 import android.os.Parcelable;
-import androidx.appcompat.mms.MmsManager;
 import android.telephony.SubscriptionInfo;
 import android.text.TextUtils;
 
+import androidx.appcompat.mms.MmsManager;
+import androidx.collection.ArrayMap;
+
 import com.android.ex.chips.RecipientEntry;
 import com.android.messaging.Factory;
 import com.android.messaging.R;
@@ -41,6 +43,10 @@
  * A class that encapsulates all of the data for a specific participant in a conversation.
  */
 public class ParticipantData implements Parcelable {
+
+    private static final ArrayMap<Integer, String> sSubIdtoParticipantIdCache =
+            new ArrayMap<Integer, String>();
+
     // We always use -1 as default/invalid sub id although system may give us anything negative
     public static final int DEFAULT_SELF_SUB_ID = MmsManager.DEFAULT_SUB_ID;
 
@@ -282,6 +288,34 @@
         return pd;
     }
 
+    public static String getParticipantId(final DatabaseWrapper db, final int subId) {
+        String id;
+        synchronized (sSubIdtoParticipantIdCache) {
+            id = sSubIdtoParticipantIdCache.get(subId);
+        }
+
+        if (id != null) {
+            return id;
+        }
+
+        try (final Cursor cursor =
+                    db.query(DatabaseHelper.PARTICIPANTS_TABLE,
+                            new String[] {ParticipantColumns._ID},
+                            ParticipantColumns.SUB_ID + " =?",
+                            new String[] {Integer.toString(subId)}, null, null, null)) {
+
+            if (cursor.moveToFirst()) {
+                // We found an existing participant in the database
+                id = cursor.getString(0);
+                synchronized (sSubIdtoParticipantIdCache) {
+                    // Add it to the cache for next time
+                    sSubIdtoParticipantIdCache.put(subId, id);
+                }
+            }
+        }
+        return id;
+    }
+
     private void maybeSetupUnknownSender() {
         if (isUnknownSender()) {
             // Because your locale may change, we setup the display string for the unknown sender
diff --git a/src/com/android/messaging/datamodel/data/PeopleAndOptionsData.java b/src/com/android/messaging/datamodel/data/PeopleAndOptionsData.java
index 650a037..b8b4a41 100644
--- a/src/com/android/messaging/datamodel/data/PeopleAndOptionsData.java
+++ b/src/com/android/messaging/datamodel/data/PeopleAndOptionsData.java
@@ -26,7 +26,6 @@
 import com.android.messaging.datamodel.BoundCursorLoader;
 import com.android.messaging.datamodel.MessagingContentProvider;
 import com.android.messaging.datamodel.action.BugleActionToasts;
-import com.android.messaging.datamodel.action.UpdateConversationOptionsAction;
 import com.android.messaging.datamodel.action.UpdateDestinationBlockedAction;
 import com.android.messaging.datamodel.binding.BindableData;
 import com.android.messaging.datamodel.binding.BindingBase;
@@ -74,7 +73,7 @@
                     final Uri uri =
                             MessagingContentProvider.buildConversationMetadataUri(mConversationId);
                     return new BoundCursorLoader(bindingId, mContext, uri,
-                            PeopleOptionsItemData.PROJECTION, null, null, null);
+                            new String[]{}, null, null, null);
                 }
 
                 case PARTICIPANT_LOADER: {
@@ -169,33 +168,6 @@
         }
     }
 
-    public void enableConversationNotifications(final BindingBase<PeopleAndOptionsData> binding,
-            final boolean enable) {
-        final String bindingId = binding.getBindingId();
-        if (isBound(bindingId)) {
-            UpdateConversationOptionsAction.enableConversationNotifications(
-                    mConversationId, enable);
-        }
-    }
-
-    public void setConversationNotificationSound(final BindingBase<PeopleAndOptionsData> binding,
-            final String ringtoneUri) {
-        final String bindingId = binding.getBindingId();
-        if (isBound(bindingId)) {
-            UpdateConversationOptionsAction.setConversationNotificationSound(mConversationId,
-                    ringtoneUri);
-        }
-    }
-
-    public void enableConversationNotificationVibration(
-            final BindingBase<PeopleAndOptionsData> binding, final boolean enable) {
-        final String bindingId = binding.getBindingId();
-        if (isBound(bindingId)) {
-            UpdateConversationOptionsAction.enableVibrationForConversationNotification(
-                    mConversationId, enable);
-        }
-    }
-
     public void setDestinationBlocked(final BindingBase<PeopleAndOptionsData> binding,
             final boolean blocked) {
         final String bindingId = binding.getBindingId();
@@ -207,4 +179,8 @@
                     BugleActionToasts.makeUpdateDestinationBlockedActionListener(mContext));
         }
     }
+
+    public String getConversationId() {
+        return mConversationId;
+    }
 }
diff --git a/src/com/android/messaging/datamodel/data/PeopleOptionsItemData.java b/src/com/android/messaging/datamodel/data/PeopleOptionsItemData.java
index 5af6a30..7441afc 100644
--- a/src/com/android/messaging/datamodel/data/PeopleOptionsItemData.java
+++ b/src/com/android/messaging/datamodel/data/PeopleOptionsItemData.java
@@ -17,44 +17,19 @@
 
 import android.content.Context;
 import android.database.Cursor;
-import android.media.Ringtone;
-import android.media.RingtoneManager;
 import android.net.Uri;
 
 import com.android.messaging.R;
 import com.android.messaging.datamodel.data.ConversationListItemData.ConversationListViewColumns;
 import com.android.messaging.util.Assert;
-import com.android.messaging.util.RingtoneUtil;
 
 public class PeopleOptionsItemData {
-    public static final String[] PROJECTION = {
-        ConversationListViewColumns.NOTIFICATION_ENABLED,
-        ConversationListViewColumns.NOTIFICATION_SOUND_URI,
-        ConversationListViewColumns.NOTIFICATION_VIBRATION,
-    };
-
-    // Column index for query projection.
-    private static final int INDEX_NOTIFICATION_ENABLED = 0;
-    private static final int INDEX_NOTIFICATION_SOUND_URI = 1;
-    private static final int INDEX_NOTIFICATION_VIBRATION = 2;
-
     // Identification for each setting that's surfaced to the UI layer.
-    public static final int SETTING_NOTIFICATION_ENABLED = 0;
-    public static final int SETTING_NOTIFICATION_SOUND_URI = 1;
-    public static final int SETTING_NOTIFICATION_VIBRATION = 2;
-    public static final int SETTING_BLOCKED = 3;
-    public static final int SETTINGS_COUNT = 4;
-
-    // Type of UI switch to show for the toggle button.
-    public static final int TOGGLE_TYPE_CHECKBOX = 0;
-    public static final int TOGGLE_TYPE_SWITCH = 1;
+    public static final int SETTING_NOTIFICATION = 0;
+    public static final int SETTING_BLOCKED = 1;
+    public static final int SETTINGS_COUNT = 2;
 
     private String mTitle;
-    private String mSubtitle;
-    private Uri mRingtoneUri;
-    private boolean mCheckable;
-    private boolean mChecked;
-    private boolean mEnabled;
     private int mItemId;
     private ParticipantData mOtherParticipant;
 
@@ -71,41 +46,12 @@
      */
     public void bind(
             final Cursor cursor, final ParticipantData otherParticipant, final int settingType) {
-        mSubtitle = null;
-        mRingtoneUri = null;
-        mCheckable = true;
-        mEnabled = true;
         mItemId = settingType;
         mOtherParticipant = otherParticipant;
 
-        final boolean notificationEnabled = cursor.getInt(INDEX_NOTIFICATION_ENABLED) == 1;
         switch (settingType) {
-            case SETTING_NOTIFICATION_ENABLED:
+            case SETTING_NOTIFICATION:
                 mTitle = mContext.getString(R.string.notifications_enabled_conversation_pref_title);
-                mChecked = notificationEnabled;
-                break;
-
-            case SETTING_NOTIFICATION_SOUND_URI:
-                mTitle = mContext.getString(R.string.notification_sound_pref_title);
-                final String ringtoneString = cursor.getString(INDEX_NOTIFICATION_SOUND_URI);
-                Uri ringtoneUri = RingtoneUtil.getNotificationRingtoneUri(ringtoneString);
-
-                mSubtitle = mContext.getString(R.string.silent_ringtone);
-                if (ringtoneUri != null) {
-                    final Ringtone ringtone = RingtoneManager.getRingtone(mContext, ringtoneUri);
-                    if (ringtone != null) {
-                        mSubtitle = ringtone.getTitle(mContext);
-                    }
-                }
-                mCheckable = false;
-                mRingtoneUri = ringtoneUri;
-                mEnabled = notificationEnabled;
-                break;
-
-            case SETTING_NOTIFICATION_VIBRATION:
-                mTitle = mContext.getString(R.string.notification_vibrate_pref_title);
-                mChecked = cursor.getInt(INDEX_NOTIFICATION_VIBRATION) == 1;
-                mEnabled = notificationEnabled;
                 break;
 
             case SETTING_BLOCKED:
@@ -113,7 +59,6 @@
                 final int resourceId = otherParticipant.isBlocked() ?
                         R.string.unblock_contact_title : R.string.block_contact_title;
                 mTitle = mContext.getString(resourceId, otherParticipant.getDisplayDestination());
-                mCheckable = false;
                 break;
 
              default:
@@ -125,30 +70,10 @@
         return mTitle;
     }
 
-    public String getSubtitle() {
-        return mSubtitle;
-    }
-
-    public boolean getCheckable() {
-        return mCheckable;
-    }
-
-    public boolean getChecked() {
-        return mChecked;
-    }
-
-    public boolean getEnabled() {
-        return mEnabled;
-    }
-
     public int getItemId() {
         return mItemId;
     }
 
-    public Uri getRingtoneUri() {
-        return mRingtoneUri;
-    }
-
     public ParticipantData getOtherParticipant() {
         return mOtherParticipant;
     }
diff --git a/src/com/android/messaging/datamodel/data/SelfParticipantsData.java b/src/com/android/messaging/datamodel/data/SelfParticipantsData.java
index fc4027f..f389a78 100644
--- a/src/com/android/messaging/datamodel/data/SelfParticipantsData.java
+++ b/src/com/android/messaging/datamodel/data/SelfParticipantsData.java
@@ -20,6 +20,8 @@
 import androidx.collection.ArrayMap;
 
 import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
 import java.util.List;
 
 import com.android.messaging.util.OsUtil;
@@ -61,6 +63,15 @@
                 list.add(self);
             }
         }
+        Collections.sort(
+                list,
+                new Comparator() {
+                    public int compare(Object o1, Object o2) {
+                        int slotId1 = ((ParticipantData) o1).getSlotId();
+                        int slotId2 = ((ParticipantData) o2).getSlotId();
+                        return slotId1 > slotId2 ? 1 : -1;
+                    }
+                });
         return list;
     }
 
diff --git a/src/com/android/messaging/datamodel/media/AvatarRequest.java b/src/com/android/messaging/datamodel/media/AvatarRequest.java
index 22d5ccc..c6b06b1 100644
--- a/src/com/android/messaging/datamodel/media/AvatarRequest.java
+++ b/src/com/android/messaging/datamodel/media/AvatarRequest.java
@@ -17,6 +17,7 @@
 
 import android.content.Context;
 import android.content.res.Resources;
+import android.content.res.TypedArray;
 import android.graphics.Bitmap;
 import android.graphics.Canvas;
 import android.graphics.Matrix;
@@ -27,6 +28,7 @@
 import android.graphics.drawable.BitmapDrawable;
 import android.media.ExifInterface;
 import android.net.Uri;
+import android.text.TextUtils;
 
 import com.android.messaging.R;
 import com.android.messaging.util.Assert;
@@ -42,10 +44,12 @@
 public class AvatarRequest extends UriImageRequest<AvatarRequestDescriptor> {
     private static Bitmap sDefaultPersonBitmap;
     private static Bitmap sDefaultPersonBitmapLarge;
+    private TypedArray mColors;
 
     public AvatarRequest(final Context context,
             final AvatarRequestDescriptor descriptor) {
         super(context, descriptor);
+        mColors = mContext.getResources().obtainTypedArray(R.array.letter_tile_colors);
     }
 
     @Override
@@ -116,7 +120,7 @@
 
     private Bitmap renderDefaultAvatar(final int width, final int height) {
         final Bitmap bitmap = getBitmapPool().createOrReuseBitmap(width, height,
-                getBackgroundColor());
+                getBackgroundColor(AvatarUriUtil.getIdentifier(mDescriptor.uri)));
         final Canvas canvas = new Canvas(bitmap);
 
         if (sDefaultPersonBitmap == null) {
@@ -158,10 +162,10 @@
         final float halfHeight = height / 2;
         final int minOfWidthAndHeight = Math.min(width, height);
         final Bitmap bitmap = getBitmapPool().createOrReuseBitmap(width, height,
-                getBackgroundColor());
+                getBackgroundColor(AvatarUriUtil.getIdentifier(mDescriptor.uri)));
         final Resources resources = mContext.getResources();
         final Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
-        paint.setTypeface(Typeface.create("sans-serif-thin", Typeface.NORMAL));
+        paint.setTypeface(Typeface.create("sans-serif-medium", Typeface.NORMAL));
         paint.setColor(resources.getColor(R.color.letter_tile_font_color));
         final float letterToTileRatio = resources.getFraction(R.dimen.letter_to_tile_ratio, 1, 1);
         paint.setTextSize(letterToTileRatio * minOfWidthAndHeight);
@@ -178,8 +182,15 @@
         return bitmap;
     }
 
-    private int getBackgroundColor() {
-        return mContext.getResources().getColor(R.color.primary_color);
+    private int getBackgroundColor(final String identifier) {
+        if (!TextUtils.isEmpty(identifier) &&
+                mContext.getResources().getBoolean(R.bool.contact_colors)) {
+            int idcolor = Math.abs(identifier.hashCode()) % mColors.length();
+            return mColors.getColor(idcolor,
+                     mContext.getResources().getColor(R.color.primary_color));
+        } else {
+            return mContext.getResources().getColor(R.color.primary_color);
+        }
     }
 
     @Override
diff --git a/src/com/android/messaging/datamodel/media/UriImageRequestDescriptor.java b/src/com/android/messaging/datamodel/media/UriImageRequestDescriptor.java
index c5685d1..dae293a 100644
--- a/src/com/android/messaging/datamodel/media/UriImageRequestDescriptor.java
+++ b/src/com/android/messaging/datamodel/media/UriImageRequestDescriptor.java
@@ -87,9 +87,4 @@
             return new NetworkUriImageRequest<UriImageRequestDescriptor>(context, this);
         }
     }
-
-    /** ID of the resource in MediaStore or null if this resource didn't come from MediaStore */
-    public Long getMediaStoreId() {
-        return null;
-    }
-}
\ No newline at end of file
+}
diff --git a/src/com/android/messaging/datamodel/media/VideoThumbnailRequest.java b/src/com/android/messaging/datamodel/media/VideoThumbnailRequest.java
index 219e0a6..73ce5e0 100644
--- a/src/com/android/messaging/datamodel/media/VideoThumbnailRequest.java
+++ b/src/com/android/messaging/datamodel/media/VideoThumbnailRequest.java
@@ -16,15 +16,11 @@
 
 package com.android.messaging.datamodel.media;
 
-import android.content.ContentResolver;
 import android.content.Context;
 import android.graphics.Bitmap;
-import android.provider.MediaStore.Video.Thumbnails;
 
-import com.android.messaging.Factory;
 import com.android.messaging.util.MediaMetadataRetrieverWrapper;
 import com.android.messaging.util.MediaUtil;
-import com.android.messaging.util.OsUtil;
 
 import java.io.FileNotFoundException;
 import java.io.IOException;
@@ -57,19 +53,15 @@
 
     @Override
     protected Bitmap getBitmapForResource() throws IOException {
-        final Long mediaId = mDescriptor.getMediaStoreId();
         Bitmap bitmap = null;
-        if (mediaId != null) {
-            final ContentResolver cr = Factory.get().getApplicationContext().getContentResolver();
-            bitmap = Thumbnails.getThumbnail(cr, mediaId, Thumbnails.MICRO_KIND, null);
-        } else {
-            final MediaMetadataRetrieverWrapper retriever = new MediaMetadataRetrieverWrapper();
-            try {
-                retriever.setDataSource(mDescriptor.uri);
-                bitmap = retriever.getFrameAtTime();
-            } finally {
-                retriever.release();
-            }
+        // Get a thumbnail through MediaMetadataRetriever to get a representative frame at any time
+        // position instead.
+        final MediaMetadataRetrieverWrapper retriever = new MediaMetadataRetrieverWrapper();
+        try {
+            retriever.setDataSource(mDescriptor.uri);
+            bitmap = retriever.getFrameAtTime();
+        } finally {
+            retriever.release();
         }
         if (bitmap != null) {
             mDescriptor.updateSourceDimensions(bitmap.getWidth(), bitmap.getHeight());
diff --git a/src/com/android/messaging/datamodel/media/VideoThumbnailRequestDescriptor.java b/src/com/android/messaging/datamodel/media/VideoThumbnailRequestDescriptor.java
index 907bb8f..22f1871 100644
--- a/src/com/android/messaging/datamodel/media/VideoThumbnailRequestDescriptor.java
+++ b/src/com/android/messaging/datamodel/media/VideoThumbnailRequestDescriptor.java
@@ -21,24 +21,17 @@
 import com.android.messaging.util.UriUtil;
 
 public class VideoThumbnailRequestDescriptor extends UriImageRequestDescriptor {
-    protected final long mMediaId;
-    public VideoThumbnailRequestDescriptor(final long id, String path, int desiredWidth,
-            int desiredHeight, int sourceWidth, int sourceHeight) {
-        super(UriUtil.getUriForResourceFile(path), desiredWidth, desiredHeight, sourceWidth,
+    public VideoThumbnailRequestDescriptor(final long id, int desiredWidth, int desiredHeight,
+            int sourceWidth, int sourceHeight) {
+        super(UriUtil.getContentUriForMediaStoreId(id), desiredWidth, desiredHeight, sourceWidth,
                 sourceHeight, false /* canCompress */, false /* isStatic */,
                 false /* cropToCircle */,
                 ImageUtils.DEFAULT_CIRCLE_BACKGROUND_COLOR /* circleBackgroundColor */,
                 ImageUtils.DEFAULT_CIRCLE_STROKE_COLOR /* circleStrokeColor */);
-        mMediaId = id;
     }
 
     @Override
     public MediaRequest<ImageResource> buildSyncMediaRequest(Context context) {
         return new VideoThumbnailRequest(context, this);
     }
-
-    @Override
-    public Long getMediaStoreId() {
-        return mMediaId;
-    }
 }
diff --git a/src/com/android/messaging/receiver/NotificationReceiver.java b/src/com/android/messaging/receiver/NotificationReceiver.java
index bbb847d..f87779c 100644
--- a/src/com/android/messaging/receiver/NotificationReceiver.java
+++ b/src/com/android/messaging/receiver/NotificationReceiver.java
@@ -20,6 +20,7 @@
 import android.content.Intent;
 
 import com.android.messaging.datamodel.BugleNotifications;
+import com.android.messaging.datamodel.action.MarkAsReadAction;
 import com.android.messaging.datamodel.action.MarkAsSeenAction;
 import com.android.messaging.ui.UIIntents;
 import com.android.messaging.util.ConversationIdSet;
@@ -52,6 +53,15 @@
                     BugleNotifications.resetLastMessageDing(conversationId);
                 }
             }
+        } else if (intent.getAction().equals(UIIntents.ACTION_MARK_AS_READ)) {
+            final String conversationIdSetString =
+                    intent.getStringExtra(UIIntents.UI_INTENT_EXTRA_CONVERSATION_ID_SET);
+            if (conversationIdSetString != null) {
+                for (final String conversationId :
+                        ConversationIdSet.createSet(conversationIdSetString)) {
+                        MarkAsReadAction.markAsRead(conversationId);
+                }
+            }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/src/com/android/messaging/receiver/SendStatusReceiver.java b/src/com/android/messaging/receiver/SendStatusReceiver.java
index fc0e8c9..8d2e10f 100644
--- a/src/com/android/messaging/receiver/SendStatusReceiver.java
+++ b/src/com/android/messaging/receiver/SendStatusReceiver.java
@@ -20,6 +20,7 @@
 import android.content.Context;
 import android.content.Intent;
 import android.net.Uri;
+import android.provider.Telephony.Sms;
 import android.telephony.SmsMessage;
 
 import com.android.messaging.datamodel.action.ProcessDeliveryReportAction;
@@ -51,7 +52,7 @@
     public static final String EXTRA_PART_ID = "partId";
     public static final String EXTRA_SUB_ID = "subId";
 
-    public static final int NO_ERROR_CODE = 0;
+    public static final int NO_ERROR_CODE = -1;
     public static final int NO_PART_ID = -1;
 
     @Override
@@ -81,9 +82,32 @@
                 LogUtil.e(LogUtil.BUGLE_TAG, "SendStatusReceiver: empty report message");
                 return;
             }
-            int status = 0;
+            int status = Sms.STATUS_COMPLETE;
             try {
+                final String format = intent.getStringExtra("format");
                 status = smsMessage.getStatus();
+                // Simple matching up CDMA status with GSM status.
+                if ("3gpp2".equals(format)) {
+                    final int errorClass = (status >> 24) & 0x03;
+                    final int statusCode = (status >> 16) & 0x3f;
+                    switch (errorClass) {
+                        case 0: /*ERROR_NONE*/
+                            if (statusCode == 0x02 /*STATUS_DELIVERED*/) {
+                                status = Sms.STATUS_COMPLETE;
+                            } else status = Sms.STATUS_PENDING;
+                            break;
+                        case 2: /*ERROR_TEMPORARY*/
+                            // TODO: Need to check whether SC still trying to deliver the SMS to
+                            // destination and will send the report again?
+                            status = Sms.STATUS_PENDING;
+                            break;
+                        case 3: /*ERROR_PERMANENT*/
+                            status = Sms.STATUS_FAILED;
+                            break;
+                        default:
+                            status = Sms.STATUS_PENDING;
+                    }
+                }
             } catch (final NullPointerException e) {
                 // Sometimes, SmsMessage.mWrappedSmsMessage is null causing NPE when we access
                 // the methods on it although the SmsMessage itself is not null.
diff --git a/src/com/android/messaging/receiver/SmsReceiver.java b/src/com/android/messaging/receiver/SmsReceiver.java
index 859beff..c36e9ab 100644
--- a/src/com/android/messaging/receiver/SmsReceiver.java
+++ b/src/com/android/messaging/receiver/SmsReceiver.java
@@ -186,13 +186,14 @@
             return;
         }
 
-        final int errorCode = intent.getIntExtra(EXTRA_ERROR_CODE, 0);
+        final int errorCode =
+                intent.getIntExtra(EXTRA_ERROR_CODE, SendStatusReceiver.NO_ERROR_CODE);
         // Always convert negative subIds into -1
         int subId = PhoneUtils.getDefault().getEffectiveIncomingSubIdFromSystem(
                 intent, EXTRA_SUB_ID);
         deliverSmsMessages(context, subId, errorCode, messages);
         if (MmsUtils.isDumpSmsEnabled()) {
-            final String format = null;
+            final String format = intent.getStringExtra("format");
             DebugUtils.dumpSms(messages[0].getTimestampMillis(), messages, format);
         }
     }
@@ -251,11 +252,6 @@
         protected Style build(Builder builder) {
             return null;
         }
-
-        @Override
-        public boolean getNotificationVibrate() {
-            return true;
-        }
     }
 
     public static void postNewMessageSecondaryUserNotification() {
@@ -281,10 +277,7 @@
         final NotificationManagerCompat notificationManager =
                 NotificationManagerCompat.from(Factory.get().getApplicationContext());
 
-        int defaults = Notification.DEFAULT_LIGHTS;
-        if (BugleNotifications.shouldVibrate(new SecondaryUserNotificationState())) {
-            defaults |= Notification.DEFAULT_VIBRATE;
-        }
+        int defaults = Notification.DEFAULT_LIGHTS | Notification.DEFAULT_VIBRATE;
         notification.defaults = defaults;
 
         notificationManager.notify(getNotificationTag(),
diff --git a/src/com/android/messaging/sms/MmsConfig.java b/src/com/android/messaging/sms/MmsConfig.java
index 5649be4..187e677 100755
--- a/src/com/android/messaging/sms/MmsConfig.java
+++ b/src/com/android/messaging/sms/MmsConfig.java
@@ -90,6 +90,8 @@
         sKeyTypeMap.put(CarrierConfigValuesLoader.CONFIG_HTTP_PARAMS, KEY_TYPE_STRING);
         sKeyTypeMap.put(CarrierConfigValuesLoader.CONFIG_EMAIL_GATEWAY_NUMBER, KEY_TYPE_STRING);
         sKeyTypeMap.put(CarrierConfigValuesLoader.CONFIG_NAI_SUFFIX, KEY_TYPE_STRING);
+        sKeyTypeMap.put(CarrierConfigValuesLoader.CONFIG_UA_PROF_URL, KEY_TYPE_STRING);
+        sKeyTypeMap.put(CarrierConfigValuesLoader.CONFIG_USER_AGENT, KEY_TYPE_STRING);
     }
 
     // A map that stores all MmsConfigs, one per active subscription. For pre-LMSim, this will
diff --git a/src/com/android/messaging/sms/MmsSmsUtils.java b/src/com/android/messaging/sms/MmsSmsUtils.java
index 1a0ef99..7719359 100644
--- a/src/com/android/messaging/sms/MmsSmsUtils.java
+++ b/src/com/android/messaging/sms/MmsSmsUtils.java
@@ -101,6 +101,14 @@
     }
 
     /**
+     * This pattern is intended for searching for carrier specific phone numbers starting with star
+     * sign and digits such as the voice mail number.
+     * (e.g. *20 Chile Claro)
+     */
+    private static final Pattern PHONE_NUMBER_STARTING_WITH_STAR_PATTERN =
+            Pattern.compile("\\*[0-9]+");
+
+    /**
      * Returns true if the number is a Phone number
      *
      * @param number the input number to be tested
@@ -111,8 +119,12 @@
             return false;
         }
 
-        final Matcher match = Patterns.PHONE.matcher(number);
-        return match.matches();
+        Matcher match = Patterns.PHONE.matcher(number);
+        if (!match.matches()) {
+            match = PHONE_NUMBER_STARTING_WITH_STAR_PATTERN.matcher(number);
+            return match.matches();
+        }
+        return true;
     }
 
     /**
diff --git a/src/com/android/messaging/sms/MmsUtils.java b/src/com/android/messaging/sms/MmsUtils.java
index 9c4c2d5..32f0616 100644
--- a/src/com/android/messaging/sms/MmsUtils.java
+++ b/src/com/android/messaging/sms/MmsUtils.java
@@ -27,8 +27,6 @@
 import android.database.sqlite.SQLiteDatabase;
 import android.database.sqlite.SQLiteException;
 import android.media.MediaMetadataRetriever;
-import android.net.ConnectivityManager;
-import android.net.NetworkInfo;
 import android.net.Uri;
 import android.os.Bundle;
 import android.provider.Settings;
@@ -333,20 +331,26 @@
             String srcName;
             if (part.isAttachment()) {
                 String contentType = part.getContentType();
+                final String extension = ContentType.getExtensionFromMimeType(contentType);
                 if (ContentType.isImageType(contentType)) {
-                    // There's a good chance that if we selected the image from our media picker the
-                    // content type is image/*. Fix the content type here for gifs so that we only
-                    // need to open the input stream once. All other gif vs static image checks will
-                    // only have to do a string comparison which is much cheaper.
-                    final boolean isGif = ImageUtils.isGif(contentType, part.getContentUri());
-                    contentType = isGif ? ContentType.IMAGE_GIF : contentType;
-                    srcName = String.format(isGif ? "image%06d.gif" : "image%06d.jpg", index);
+                    if (extension != null) {
+                        srcName = String.format("image%06d.%s", index, extension);
+                    } else {
+                        // There's a good chance that if we selected the image from our media picker
+                        // the content type is image/*. Fix the content type here for gifs so that
+                        // we only need to open the input stream once. All other gif vs static image
+                        // checks will only have to do a string comparison which is much cheaper.
+                        final boolean isGif = ImageUtils.isGif(contentType, part.getContentUri());
+                        contentType = isGif ? ContentType.IMAGE_GIF : contentType;
+                        srcName = String.format(isGif ? "image%06d.gif" : "image%06d.jpg", index);
+                    }
                     smilBody.append(String.format(sSmilImagePart, srcName));
                     totalLength += addPicturePart(context, pb, index, part,
                             widthLimit, heightLimit, bytesPerImage, srcName, contentType);
                     hasVisualAttachment = true;
                 } else if (ContentType.isVideoType(contentType)) {
-                    srcName = String.format("video%06d.mp4", index);
+                    srcName = String.format("video%06d.%s", index,
+                            extension != null ? extension : "mp4");
                     final int length = addVideoPart(context, pb, part, srcName);
                     totalLength += length;
                     smilBody.append(String.format(sSmilVideoPart, srcName,
@@ -358,7 +362,8 @@
                     smilBody.append(String.format(sSmilPart, srcName));
                     hasNonVisualAttachment = true;
                 } else if (ContentType.isAudioType(contentType)) {
-                    srcName = String.format("recording%06d.amr", index);
+                    srcName = String.format("recording%06d.%s",
+                            index, extension != null ? extension : "amr");
                     totalLength += addOtherPart(context, pb, part, srcName);
                     final int duration = getMediaDurationMs(context, part, -1);
                     Assert.isTrue(duration != -1);
@@ -952,7 +957,7 @@
     // Persist a received MMS message in telephony
     public static Uri insertReceivedMmsMessage(final Context context,
             final RetrieveConf retrieveConf, final int subId, final String subPhoneNumber,
-            final long receivedTimestampInSeconds, final String contentLocation) {
+            final long receivedTimestampInSeconds, final long expiry, final String transactionId) {
         final PduPersister persister = PduPersister.getPduPersister(context);
         Uri uri = null;
         try {
@@ -963,12 +968,13 @@
                     subPhoneNumber,
                     null/*preOpenedFiles*/);
 
-            final ContentValues values = new ContentValues(2);
+            final ContentValues values = new ContentValues(3);
             // Update mms table with local time instead of PDU time
             values.put(Mms.DATE, receivedTimestampInSeconds);
-            // Also update the content location field from NotificationInd so that
-            // wap push dedup would work even after the wap push is deleted
-            values.put(Mms.CONTENT_LOCATION, contentLocation);
+            // Also update the transaction id and the expiry from NotificationInd so that
+            // wap push dedup would work even after the wap push is deleted.
+            values.put(Mms.TRANSACTION_ID, transactionId);
+            values.put(Mms.EXPIRY, expiry);
             SqliteWrapper.update(context, context.getContentResolver(), uri, values, null, null);
             if (LogUtil.isLoggable(TAG, LogUtil.DEBUG)) {
                 LogUtil.d(TAG, "MmsUtils: Inserted MMS message into telephony, uri: " + uri);
@@ -1105,51 +1111,6 @@
         return subject;
     }
 
-    // return a semicolon separated list of phone numbers from a smsto: uri.
-    public static String getSmsRecipients(final Uri uri) {
-        String recipients = uri.getSchemeSpecificPart();
-        final int pos = recipients.indexOf('?');
-        if (pos != -1) {
-            recipients = recipients.substring(0, pos);
-        }
-        recipients = replaceUnicodeDigits(recipients).replace(',', ';');
-        return recipients;
-    }
-
-    // This function was lifted from Telephony.PhoneNumberUtils because it was @hide
-    /**
-     * Replace arabic/unicode digits with decimal digits.
-     * @param number
-     *            the number to be normalized.
-     * @return the replaced number.
-     */
-    private static String replaceUnicodeDigits(final String number) {
-        final StringBuilder normalizedDigits = new StringBuilder(number.length());
-        for (final char c : number.toCharArray()) {
-            final int digit = Character.digit(c, 10);
-            if (digit != -1) {
-                normalizedDigits.append(digit);
-            } else {
-                normalizedDigits.append(c);
-            }
-        }
-        return normalizedDigits.toString();
-    }
-
-    /**
-     * @return Whether the data roaming is enabled
-     */
-    private static boolean isDataRoamingEnabled() {
-        boolean dataRoamingEnabled = false;
-        final ContentResolver cr = Factory.get().getApplicationContext().getContentResolver();
-        if (OsUtil.isAtLeastJB_MR1()) {
-            dataRoamingEnabled = (Settings.Global.getInt(cr, Settings.Global.DATA_ROAMING, 0) != 0);
-        } else {
-            dataRoamingEnabled = (Settings.System.getInt(cr, Settings.System.DATA_ROAMING, 0) != 0);
-        }
-        return dataRoamingEnabled;
-    }
-
     /**
      * @return Whether to auto retrieve MMS
      */
@@ -1194,7 +1155,10 @@
 
     public static SmsMessage getSmsMessageFromDeliveryReport(final Intent intent) {
         final byte[] pdu = intent.getByteArrayExtra("pdu");
-        return SmsMessage.createFromPdu(pdu);
+        final String format = intent.getStringExtra("format");
+        return OsUtil.isAtLeastM()
+                ? SmsMessage.createFromPdu(pdu, format)
+                : SmsMessage.createFromPdu(pdu);
     }
 
     /**
@@ -1535,7 +1499,7 @@
                 cursor = SqliteWrapper.query(
                         context,
                         resolver,
-                        Telephony.Carriers.SIM_APN_URI,
+                        Telephony.Carriers.CONTENT_URI,
                         TEST_CARRIERS_PROJECTION,
                         null/*selection*/,
                         null/*selectionArgs*/,
@@ -1842,7 +1806,7 @@
     public static StatusPlusUri downloadMmsMessage(final Context context, final Uri notificationUri,
             final int subId, final String subPhoneNumber, final String transactionId,
             final String contentLocation, final boolean autoDownload,
-            final long receivedTimestampInSeconds, Bundle extras) {
+            final long receivedTimestampInSeconds, final long expiry, Bundle extras) {
         if (TextUtils.isEmpty(contentLocation)) {
             LogUtil.e(TAG, "MmsUtils: Download from empty content location URL");
             return new StatusPlusUri(
@@ -1893,13 +1857,14 @@
                 extras.putBoolean(DownloadMmsAction.EXTRA_AUTO_DOWNLOAD, autoDownload);
                 extras.putLong(DownloadMmsAction.EXTRA_RECEIVED_TIMESTAMP,
                         receivedTimestampInSeconds);
+                extras.putLong(DownloadMmsAction.EXTRA_EXPIRY, expiry);
 
                 MmsSender.downloadMms(context, subId, contentLocation, extras);
                 return STATUS_PENDING; // Download happens asynchronously; no status to return
             }
             return insertDownloadedMessageAndSendResponse(context, notificationUri, subId,
                     subPhoneNumber, transactionId, contentLocation, autoDownload,
-                    receivedTimestampInSeconds, retrieveConf);
+                    receivedTimestampInSeconds, expiry, retrieveConf);
 
         } catch (final MmsFailureException e) {
             LogUtil.e(TAG, "MmsUtils: failed to download message " + notificationUri, e);
@@ -1914,13 +1879,12 @@
             final Uri notificationUri, final int subId, final String subPhoneNumber,
             final String transactionId, final String contentLocation,
             final boolean autoDownload, final long receivedTimestampInSeconds,
-            final RetrieveConf retrieveConf) {
-        final byte[] transactionIdBytes = stringToBytes(transactionId, "UTF-8");
+            final long expiry, final RetrieveConf retrieveConf) {
+        final byte[] notificationTransactionId = stringToBytes(transactionId, "UTF-8");
         Uri messageUri = null;
-        int status = MMS_REQUEST_MANUAL_RETRY;
-        int retrieveStatus = PDU_HEADER_VALUE_UNDEFINED;
+        final int status;
+        final int retrieveStatus = retrieveConf.getRetrieveStatus();
 
-        retrieveStatus = retrieveConf.getRetrieveStatus();
         if (retrieveStatus == PduHeaders.RETRIEVE_STATUS_OK) {
             status = MMS_REQUEST_SUCCEEDED;
         } else if (retrieveStatus >= PduHeaders.RETRIEVE_STATUS_ERROR_TRANSIENT_FAILURE &&
@@ -1940,23 +1904,24 @@
         if (status == MMS_REQUEST_SUCCEEDED) {
             // Send response of the notification
             if (autoDownload) {
-                sendNotifyResponseForMmsDownload(context, subId, transactionIdBytes,
-                        contentLocation, PduHeaders.STATUS_RETRIEVED);
+                sendNotifyResponseForMmsDownload(
+                        context,
+                        subId,
+                        notificationTransactionId,
+                        contentLocation,
+                        PduHeaders.STATUS_RETRIEVED);
             } else {
-                sendAcknowledgeForMmsDownload(context, subId, transactionIdBytes, contentLocation);
+                sendAcknowledgeForMmsDownload(
+                        context, subId, retrieveConf.getTransactionId(), contentLocation);
             }
 
             // Insert downloaded message into telephony
             final Uri inboxUri = MmsUtils.insertReceivedMmsMessage(context, retrieveConf, subId,
-                    subPhoneNumber, receivedTimestampInSeconds, contentLocation);
+                    subPhoneNumber, receivedTimestampInSeconds, expiry, transactionId);
             messageUri = ContentUris.withAppendedId(Mms.CONTENT_URI, ContentUris.parseId(inboxUri));
-        } else if (status == MMS_REQUEST_AUTO_RETRY) {
-            // For a retry do nothing
-        } else if (status == MMS_REQUEST_MANUAL_RETRY && autoDownload) {
-            // Failure from autodownload - just treat like manual download
-            sendNotifyResponseForMmsDownload(context, subId, transactionIdBytes,
-                    contentLocation, PduHeaders.STATUS_DEFERRED);
         }
+        // Do nothing for MMS_REQUEST_AUTO_RETRY and MMS_REQUEST_NO_RETRY.
+
         return new StatusPlusUri(status, retrieveStatus, messageUri);
     }
 
@@ -2074,16 +2039,6 @@
         return !phoneUtils.isAirplaneModeOn();
     }
 
-    public static boolean isMobileDataEnabled(final int subId) {
-        final PhoneUtils phoneUtils = PhoneUtils.get(subId);
-        return phoneUtils.isMobileDataEnabled();
-    }
-
-    public static boolean isAirplaneModeOn(final int subId) {
-        final PhoneUtils phoneUtils = PhoneUtils.get(subId);
-        return phoneUtils.isAirplaneModeOn();
-    }
-
     public static StatusPlusUri sendMmsMessage(final Context context, final int subId,
             final Uri messageUri, final Bundle extras) {
         int status = MMS_REQUEST_MANUAL_RETRY;
@@ -2126,7 +2081,7 @@
 
     public static StatusPlusUri updateSentMmsMessageStatus(final Context context,
             final Uri messageUri, final SendConf sendConf) {
-        int status = MMS_REQUEST_MANUAL_RETRY;
+        final int status;
         final int respStatus = sendConf.getResponseStatus();
 
         final ContentValues values = new ContentValues(2);
@@ -2139,12 +2094,16 @@
                 messageUri, values, null, null);
         if (respStatus == PduHeaders.RESPONSE_STATUS_OK) {
             status = MMS_REQUEST_SUCCEEDED;
-        } else if (respStatus == PduHeaders.RESPONSE_STATUS_ERROR_TRANSIENT_FAILURE ||
-                respStatus == PduHeaders.RESPONSE_STATUS_ERROR_TRANSIENT_NETWORK_PROBLEM ||
-                respStatus == PduHeaders.RESPONSE_STATUS_ERROR_TRANSIENT_PARTIAL_SUCCESS) {
+        } else if (respStatus >= PduHeaders.RESPONSE_STATUS_ERROR_TRANSIENT_FAILURE
+                && respStatus < PduHeaders.RESPONSE_STATUS_ERROR_PERMANENT_FAILURE) {
+            // Only RESPONSE_STATUS_ERROR_TRANSIENT_FAILURE and RESPONSE_STATUS_ERROR_TRANSIENT
+            // _NETWORK_PROBLEM are used in the M-Send.conf. But for others transient failures
+            // including reserved values for future purposes, it should work same as transient
+            // failure always. (OMA-MMS-ENC-V1_2, 7.2.37. X-Mms-Response-Status field)
             status = MMS_REQUEST_AUTO_RETRY;
         } else {
             // else permanent failure
+            status = MMS_REQUEST_MANUAL_RETRY;
             LogUtil.e(TAG, "MmsUtils: failed to send message; respStatus = "
                     + String.format("0x%X", respStatus));
         }
@@ -2161,57 +2120,28 @@
                     uri, values, null, null);
     }
 
-    // Selection for new dedup algorithm:
-    // ((m_type<>130) OR (exp>NOW)) AND (date>NOW-7d) AND (date<NOW+7d) AND (ct_l=xxxxxx)
-    // i.e. If it is NotificationInd and not expired or not NotificationInd
-    //      AND message is received with +/- 7 days from now
-    //      AND content location is the input URL
+    // Selection for dedup algorithm:
+    // ((m_type=NOTIFICATION_IND) OR (m_type=RETRIEVE_CONF)) AND (exp>NOW)) AND (t_id=xxxxxx)
+    // i.e. If it is NotificationInd or RetrieveConf and not expired
+    //      AND transaction id is the input id
     private static final String DUP_NOTIFICATION_QUERY_SELECTION =
-            "((" + Mms.MESSAGE_TYPE + "<>?) OR (" + Mms.EXPIRY + ">?)) AND ("
-                    + Mms.DATE + ">?) AND (" + Mms.DATE + "<?) AND (" + Mms.CONTENT_LOCATION +
-                    "=?)";
-    // Selection for old behavior: only checks NotificationInd and its content location
-    private static final String DUP_NOTIFICATION_QUERY_SELECTION_OLD =
-            "(" + Mms.MESSAGE_TYPE + "=?) AND (" + Mms.CONTENT_LOCATION + "=?)";
+            "((" + Mms.MESSAGE_TYPE + "=?) OR (" + Mms.MESSAGE_TYPE + "=?)) AND ("
+                    + Mms.EXPIRY + ">?) AND (" + Mms.TRANSACTION_ID + "=?)";
 
     private static final int MAX_RETURN = 32;
     private static String[] getDupNotifications(final Context context, final NotificationInd nInd) {
-        final byte[] rawLocation = nInd.getContentLocation();
-        if (rawLocation != null) {
-            final String location = new String(rawLocation);
-            // We can not be sure if the content location of an MMS is globally and historically
-            // unique. So we limit the dedup time within the last 7 days
-            // (or configured by gservices remotely). If the same content location shows up after
-            // that, we will download regardless. Duplicated message is better than no message.
-            String selection;
-            String[] selectionArgs;
-            final long timeLimit = BugleGservices.get().getLong(
-                    BugleGservicesKeys.MMS_WAP_PUSH_DEDUP_TIME_LIMIT_SECS,
-                    BugleGservicesKeys.MMS_WAP_PUSH_DEDUP_TIME_LIMIT_SECS_DEFAULT);
-            if (timeLimit > 0) {
-                // New dedup algorithm
-                selection = DUP_NOTIFICATION_QUERY_SELECTION;
-                final long nowSecs = System.currentTimeMillis() / 1000;
-                final long timeLowerBoundSecs = nowSecs - timeLimit;
-                // Need upper bound to protect against clock change so that a message has a time
-                // stamp in the future
-                final long timeUpperBoundSecs = nowSecs + timeLimit;
-                selectionArgs = new String[] {
-                        Integer.toString(PduHeaders.MESSAGE_TYPE_NOTIFICATION_IND),
-                        Long.toString(nowSecs),
-                        Long.toString(timeLowerBoundSecs),
-                        Long.toString(timeUpperBoundSecs),
-                        location
-                };
-            } else {
-                // If time limit is 0, we revert back to old behavior in case the new
-                // dedup algorithm behaves badly
-                selection = DUP_NOTIFICATION_QUERY_SELECTION_OLD;
-                selectionArgs = new String[] {
-                        Integer.toString(PduHeaders.MESSAGE_TYPE_NOTIFICATION_IND),
-                        location
-                };
-            }
+        final byte[] rawTransactionId = nInd.getTransactionId();
+        if (rawTransactionId != null) {
+            // dedup algorithm
+            String selection = DUP_NOTIFICATION_QUERY_SELECTION;
+            final long nowSecs = System.currentTimeMillis() / 1000;
+            String[] selectionArgs = new String[] {
+                    Integer.toString(PduHeaders.MESSAGE_TYPE_NOTIFICATION_IND),
+                    Integer.toString(PduHeaders.MESSAGE_TYPE_RETRIEVE_CONF),
+                    Long.toString(nowSecs),
+                    new String(rawTransactionId)
+            };
+
             Cursor cursor = null;
             try {
                 cursor = SqliteWrapper.query(
@@ -2348,7 +2278,7 @@
                 } else {
                     LogUtil.w(TAG, "Received WAP Push is a dup: " + Joiner.on(',').join(dups));
                     if (LogUtil.isLoggable(TAG, LogUtil.VERBOSE)) {
-                        LogUtil.w(TAG, "Dup WAP Push url=" + new String(nInd.getContentLocation()));
+                        LogUtil.w(TAG, "Dup Transaction Id=" + new String(nInd.getTransactionId()));
                     }
                 }
                 break;
@@ -2672,26 +2602,6 @@
     }
 
     /**
-     * The absence of a connection type.
-     */
-    public static final int TYPE_NONE = -1;
-
-    public static int getConnectivityEventNetworkType(final Context context, final Intent intent) {
-        final ConnectivityManager connMgr = (ConnectivityManager)
-                context.getSystemService(Context.CONNECTIVITY_SERVICE);
-        if (OsUtil.isAtLeastJB_MR1()) {
-            return intent.getIntExtra(ConnectivityManager.EXTRA_NETWORK_TYPE, TYPE_NONE);
-        } else {
-            final NetworkInfo info = (NetworkInfo) intent.getParcelableExtra(
-                    ConnectivityManager.EXTRA_NETWORK_INFO);
-            if (info != null) {
-                return info.getType();
-            }
-        }
-        return TYPE_NONE;
-    }
-
-    /**
      * Dump the raw MMS data into a file
      *
      * @param rawPdu The raw pdu data
diff --git a/src/com/android/messaging/sms/SmsSender.java b/src/com/android/messaging/sms/SmsSender.java
index 889973f..e429995 100644
--- a/src/com/android/messaging/sms/SmsSender.java
+++ b/src/com/android/messaging/sms/SmsSender.java
@@ -64,9 +64,6 @@
 
     private static final Random RANDOM = new Random();
 
-    // Whether we should send multipart SMS as separate messages
-    private static Boolean sSendMultipartSmsAsSeparateMessages = null;
-
     /**
      * Class that holds the sent status for all parts of a multipart message sending
      */
@@ -180,7 +177,7 @@
     }
 
     // This should be called from a RequestWriter queue thread
-    public static SendResult sendMessage(final Context context,  final int subId, String dest,
+    public static SendResult sendMessage(final Context context, final int subId, String dest,
             String message, final String serviceCenter, final boolean requireDeliveryReport,
             final Uri messageUri) throws SmsException {
         if (LogUtil.isLoggable(TAG, LogUtil.VERBOSE)) {
@@ -281,12 +278,8 @@
                             messageUri, partId, subId),
                     0/*flag*/));
         }
-        if (sSendMultipartSmsAsSeparateMessages == null) {
-            sSendMultipartSmsAsSeparateMessages = MmsConfig.get(subId)
-                    .getSendMultipartSmsAsSeparateMessages();
-        }
         try {
-            if (sSendMultipartSmsAsSeparateMessages) {
+            if (MmsConfig.get(subId).getSendMultipartSmsAsSeparateMessages()) {
                 // If multipart sms is not supported, send them as separate messages
                 for (int i = 0; i < messageCount; i++) {
                     smsManager.sendTextMessage(dest,
diff --git a/src/com/android/messaging/ui/AsyncImageView.java b/src/com/android/messaging/ui/AsyncImageView.java
index e37966a..7d057b3 100644
--- a/src/com/android/messaging/ui/AsyncImageView.java
+++ b/src/com/android/messaging/ui/AsyncImageView.java
@@ -125,6 +125,8 @@
                 return;
             }
             unbindView();
+        } else {
+            mDetachedRequestDescriptor = null;
         }
         setImage(null);
         resetTransientViewStates();
diff --git a/src/com/android/messaging/ui/AttachmentPreview.java b/src/com/android/messaging/ui/AttachmentPreview.java
index 7eea14b..f4465c4 100644
--- a/src/com/android/messaging/ui/AttachmentPreview.java
+++ b/src/com/android/messaging/ui/AttachmentPreview.java
@@ -57,6 +57,8 @@
     private Runnable mHideRunnable;
     private boolean mPendingHideCanceled;
 
+    private PopupTransitionAnimation mPopupTransitionAnimation;
+
     private static final int CLOSE_BUTTON_REVEAL_STAGGER_MILLIS = 300;
 
     public AttachmentPreview(final Context context, final AttributeSet attrs) {
@@ -132,6 +134,7 @@
                             public void run() {
                                 // Only hide if we are didn't get overruled by showing
                                 if (!mPendingHideCanceled) {
+                                    stopPopupAnimation();
                                     mAttachmentView.removeAllViews();
                                     setVisibility(GONE);
                                 }
@@ -280,10 +283,19 @@
         mHideRunnable.run();
     }
 
-    static void tryAnimateViewIn(final MessagePartData attachmentData, final View view) {
+    private void tryAnimateViewIn(final MessagePartData attachmentData, final View view) {
         if (attachmentData instanceof MediaPickerMessagePartData) {
             final Rect startRect = ((MediaPickerMessagePartData) attachmentData).getStartRect();
-            new PopupTransitionAnimation(startRect, view).startAfterLayoutComplete();
+            stopPopupAnimation();
+            mPopupTransitionAnimation = new PopupTransitionAnimation(startRect, view);
+            mPopupTransitionAnimation.startAfterLayoutComplete();
+        }
+    }
+
+    private void stopPopupAnimation() {
+        if (mPopupTransitionAnimation != null) {
+            mPopupTransitionAnimation.cancel();
+            mPopupTransitionAnimation = null;
         }
     }
 
diff --git a/src/com/android/messaging/ui/BlockedParticipantsActivity.java b/src/com/android/messaging/ui/BlockedParticipantsActivity.java
index b740264..8d79155 100644
--- a/src/com/android/messaging/ui/BlockedParticipantsActivity.java
+++ b/src/com/android/messaging/ui/BlockedParticipantsActivity.java
@@ -16,12 +16,10 @@
 
 package com.android.messaging.ui;
 
-import android.app.Fragment;
 import android.os.Bundle;
 import android.view.MenuItem;
 
 import com.android.messaging.R;
-import com.android.messaging.util.Assert;
 
 /**
  * Show a list of currently blocked participants.
@@ -37,11 +35,6 @@
     }
 
     @Override
-    public void onAttachFragment(final Fragment fragment) {
-        Assert.isTrue(fragment instanceof BlockedParticipantsFragment);
-    }
-
-    @Override
     public boolean onOptionsItemSelected(final MenuItem item) {
         switch (item.getItemId()) {
             case android.R.id.home:
diff --git a/src/com/android/messaging/ui/ClassZeroActivity.java b/src/com/android/messaging/ui/ClassZeroActivity.java
index 129ec19..ccb15a0 100644
--- a/src/com/android/messaging/ui/ClassZeroActivity.java
+++ b/src/com/android/messaging/ui/ClassZeroActivity.java
@@ -33,6 +33,7 @@
 
 import com.android.messaging.R;
 import com.android.messaging.datamodel.action.ReceiveSmsMessageAction;
+import com.android.messaging.datamodel.BugleNotifications;
 import com.android.messaging.util.Assert;
 
 import java.util.ArrayList;
@@ -88,6 +89,8 @@
             return false;
         }
         mMessageQueue.add(messageValues);
+        // Show a notification to let the user know a new message has arrived
+        BugleNotifications.playClassZeroNotification();
         return true;
     }
 
diff --git a/src/com/android/messaging/ui/ConversationDrawables.java b/src/com/android/messaging/ui/ConversationDrawables.java
index cf858e2..46f483f 100644
--- a/src/com/android/messaging/ui/ConversationDrawables.java
+++ b/src/com/android/messaging/ui/ConversationDrawables.java
@@ -17,6 +17,7 @@
 
 import android.content.Context;
 import android.content.res.Resources;
+import android.content.res.TypedArray;
 import android.graphics.drawable.Drawable;
 
 import com.android.messaging.Factory;
@@ -52,6 +53,7 @@
     private int mIncomingAudioButtonColor;
     private int mSelectedBubbleColor;
     private int mThemeColor;
+    private TypedArray mColors;
 
     public static ConversationDrawables get() {
         if (sInstance == null) {
@@ -102,10 +104,11 @@
                 resources.getColor(R.color.message_audio_button_color_incoming);
         mSelectedBubbleColor = resources.getColor(R.color.message_bubble_color_selected);
         mThemeColor = resources.getColor(R.color.primary_color);
+        mColors = resources.obtainTypedArray(R.array.letter_tile_colors);
     }
 
     public Drawable getBubbleDrawable(final boolean selected, final boolean incoming,
-            final boolean needArrow, final boolean isError) {
+            final boolean needArrow, final boolean isError, final String identifier) {
         final Drawable protoDrawable;
         if (needArrow) {
             if (incoming) {
@@ -127,7 +130,13 @@
             if (isError) {
                 color = mIncomingErrorBubbleColor;
             } else {
-                color = mThemeColor;
+                if (identifier != null &&
+                        mContext.getResources().getBoolean(R.bool.contact_colors)) {
+                    int idcolor = Math.abs(identifier.hashCode()) % mColors.length();
+                    color = mColors.getColor(idcolor, mThemeColor);
+                } else {
+                    color = mThemeColor;
+                }
             }
         } else {
             color = mOutgoingBubbleColor;
diff --git a/src/com/android/messaging/ui/MultiAttachmentLayout.java b/src/com/android/messaging/ui/MultiAttachmentLayout.java
index f620245..5bae8a5 100644
--- a/src/com/android/messaging/ui/MultiAttachmentLayout.java
+++ b/src/com/android/messaging/ui/MultiAttachmentLayout.java
@@ -33,6 +33,7 @@
 import com.android.messaging.datamodel.data.PendingAttachmentData;
 import com.android.messaging.datamodel.media.ImageRequestDescriptor;
 import com.android.messaging.ui.AsyncImageView.AsyncImageViewDelayLoader;
+import com.android.messaging.ui.animation.PopupTransitionAnimation;
 import com.android.messaging.util.AccessibilityUtil;
 import com.android.messaging.util.Assert;
 import com.android.messaging.util.UiUtils;
@@ -275,7 +276,11 @@
             // views will slide from their previous position to their new position within the
             // layout
             if (i == 0) {
-                AttachmentPreview.tryAnimateViewIn(attachment, attachmentWrapper.view);
+                if (attachment instanceof MediaPickerMessagePartData) {
+                    final Rect startRect = ((MediaPickerMessagePartData) attachment).getStartRect();
+                    new PopupTransitionAnimation(startRect, attachmentWrapper.view)
+                            .startAfterLayoutComplete();
+                }
             }
             attachmentWrapper.needsSlideAnimation = i > 0;
         }
diff --git a/src/com/android/messaging/ui/PermissionCheckActivity.java b/src/com/android/messaging/ui/PermissionCheckActivity.java
index e992a10..1b8cedb 100644
--- a/src/com/android/messaging/ui/PermissionCheckActivity.java
+++ b/src/com/android/messaging/ui/PermissionCheckActivity.java
@@ -106,10 +106,7 @@
         if (requestCode == REQUIRED_PERMISSIONS_REQUEST_CODE) {
             // We do not use grantResults as some of the granted permissions might have been
             // revoked while the permissions dialog box was being shown for the missing permissions.
-            if (OsUtil.hasRequiredPermissions()) {
-                Factory.get().onRequiredPermissionsAcquired();
-                redirect();
-            } else {
+            if (!redirectIfNeeded()) {
                 final long currentTimeMillis = SystemClock.elapsedRealtime();
                 // If the permission request completes very quickly, it must be because the system
                 // automatically denied. This can happen if the user had previously denied it
@@ -130,6 +127,7 @@
             return false;
         }
 
+        Factory.get().onRequiredPermissionsAcquired();
         redirect();
         return true;
     }
diff --git a/src/com/android/messaging/ui/SnackBarManager.java b/src/com/android/messaging/ui/SnackBarManager.java
index e107999..d5ca870 100644
--- a/src/com/android/messaging/ui/SnackBarManager.java
+++ b/src/com/android/messaging/ui/SnackBarManager.java
@@ -25,6 +25,7 @@
 import android.view.MotionEvent;
 import android.view.View;
 import android.view.View.MeasureSpec;
+import android.view.View.OnAttachStateChangeListener;
 import android.view.View.OnTouchListener;
 import android.view.ViewGroup;
 import android.view.ViewGroup.LayoutParams;
@@ -86,6 +87,23 @@
         }
     };
 
+    private final OnAttachStateChangeListener mAttachStateChangeListener =
+            new OnAttachStateChangeListener() {
+                @Override
+                public void onViewDetachedFromWindow(View v) {
+                    // Dismiss the PopupWindow and clear SnackBarManager state.
+                    mHideHandler.removeCallbacks(mDismissRunnable);
+                    mPopupWindow.dismiss();
+
+                    mCurrentSnackBar = null;
+                    mNextSnackBar = null;
+                    mIsCurrentlyDismissing = false;
+                }
+
+                @Override
+                public void onViewAttachedToWindow(View v) {}
+            };
+
     private final int mTranslationDurationMs;
     private final Handler mHideHandler;
 
@@ -181,6 +199,7 @@
             mPopupWindow.showAsDropDown(anchorView, 0, getRelativeOffset(snackBar));
         }
 
+        snackBar.getParentView().addOnAttachStateChangeListener(mAttachStateChangeListener);
 
         // Animate the toast bar into view.
         placeSnackBarOffScreen(snackBar);
@@ -238,6 +257,8 @@
                     // PopupWindow.dismiss() will fire an IllegalArgumentException if the activity
                     // has already ended while we were animating
                 }
+                snackBar.getParentView()
+                        .removeOnAttachStateChangeListener(mAttachStateChangeListener);
 
                 mCurrentSnackBar = null;
                 mIsCurrentlyDismissing = false;
diff --git a/src/com/android/messaging/ui/UIIntents.java b/src/com/android/messaging/ui/UIIntents.java
index e5f8a52..10fb391 100644
--- a/src/com/android/messaging/ui/UIIntents.java
+++ b/src/com/android/messaging/ui/UIIntents.java
@@ -44,8 +44,11 @@
     // Sending draft data (from share intent / message forwarding) to the ConversationActivity.
     public static final String UI_INTENT_EXTRA_DRAFT_DATA = "draft_data";
 
-    // The request code for picking image from the Document picker.
-    public static final int REQUEST_PICK_IMAGE_FROM_DOCUMENT_PICKER = 1400;
+    // The request code for picking a media from the Document picker.
+    public static final int REQUEST_PICK_MEDIA_FROM_DOCUMENT_PICKER = 1400;
+
+    // The request code for picking a contact card from existing Contacts apps.
+    public static final int REQUEST_PICK_CONTACT_CARD = 1500;
 
     // Indicates what type of notification this applies to (See BugleNotifications:
     // UPDATE_NONE, UPDATE_MESSAGES, UPDATE_ERRORS, UPDATE_ALL)
@@ -66,6 +69,9 @@
     public static final String ACTION_RESET_NOTIFICATIONS =
             "com.android.messaging.reset_notifications";
 
+    public static final String ACTION_MARK_AS_READ =
+            "com.android.messaging.mark_as_read";
+
     // Sending VCard uri to VCard detail activity
     public static final String UI_INTENT_EXTRA_VCARD_URI = "vcard_uri";
 
@@ -166,12 +172,20 @@
     public abstract void launchAddContactActivity(final Context context, final String destination);
 
     /**
-     * Launch an activity to show the document picker to pick an image.
+     * Launch an activity to show the document picker to pick an image/video/audio.
+     *
      * @param fragment the requesting fragment
      */
     public abstract void launchDocumentImagePicker(final Fragment fragment);
 
     /**
+     * Launch an activity to show the contacts list to pick one.
+     *
+     * @param fragment the requesting fragment
+     */
+    public abstract void launchContactCardPicker(final Fragment fragment);
+
+    /**
      * Launch an activity to show people & options for a given conversation.
      */
     public abstract void launchPeopleAndOptionsActivity(final Activity context,
@@ -254,16 +268,6 @@
     public abstract Intent getViewUrlIntent(final String url);
 
     /**
-     * Get an intent to launch the ringtone picker
-     * @param title the title to show in the ringtone picker
-     * @param existingUri the currently set uri
-     * @param defaultUri the default uri if none is currently set
-     * @param toneType type of ringtone to pick, maybe any of RingtoneManager.TYPE_*
-     */
-    public abstract Intent getRingtonePickerIntent(final String title, final Uri existingUri,
-            final Uri defaultUri, final int toneType);
-
-    /**
      * Get an intent to launch the wireless alert viewer.
      */
     public abstract Intent getWirelessAlertsIntent();
@@ -323,6 +327,14 @@
             final int requestCode);
 
     /**
+     * Get a PendingIntent for marking a conversation as read.
+     *
+     * <p>This is intended to be used by notifications.
+     */
+    public abstract PendingIntent getPendingIntentForMarkingAsRead(final Context context,
+            final ConversationIdSet conversationIdSet, final int requestCode);
+
+    /**
      * Get a PendingIntent for showing low storage notifications.
      */
     public abstract PendingIntent getPendingIntentForLowStorageNotifications(final Context context);
diff --git a/src/com/android/messaging/ui/UIIntentsImpl.java b/src/com/android/messaging/ui/UIIntentsImpl.java
index fb624ad..9281899 100644
--- a/src/com/android/messaging/ui/UIIntentsImpl.java
+++ b/src/com/android/messaging/ui/UIIntentsImpl.java
@@ -27,7 +27,6 @@
 import android.content.Intent;
 import android.graphics.Point;
 import android.graphics.Rect;
-import android.media.RingtoneManager;
 import android.net.Uri;
 import android.os.Bundle;
 import android.provider.ContactsContract.Contacts;
@@ -236,11 +235,24 @@
     @Override
     public void launchDocumentImagePicker(final Fragment fragment) {
         final Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
-        intent.putExtra(Intent.EXTRA_MIME_TYPES, MessagePartData.ACCEPTABLE_IMAGE_TYPES);
+        intent.putExtra(Intent.EXTRA_MIME_TYPES, MessagePartData.ACCEPTABLE_GALLERY_MEDIA_TYPES);
         intent.addCategory(Intent.CATEGORY_OPENABLE);
-        intent.setType(ContentType.IMAGE_UNSPECIFIED);
+        intent.setType(ContentType.ANY_TYPE);
 
-        fragment.startActivityForResult(intent, REQUEST_PICK_IMAGE_FROM_DOCUMENT_PICKER);
+        fragment.startActivityForResult(intent, REQUEST_PICK_MEDIA_FROM_DOCUMENT_PICKER);
+    }
+
+    @Override
+    public void launchContactCardPicker(final Fragment fragment) {
+        final Intent intent = new Intent(Intent.ACTION_PICK);
+        intent.setType(Contacts.CONTENT_TYPE);
+
+        try {
+            fragment.startActivityForResult(intent, REQUEST_PICK_CONTACT_CARD);
+        } catch (final ActivityNotFoundException ex) {
+            LogUtil.w(LogUtil.BUGLE_TAG, "Couldn't find activity:", ex);
+            UiUtils.showToastAtBottom(R.string.activity_not_found_message);
+        }
     }
 
     @Override
@@ -418,6 +430,20 @@
                 PendingIntent.FLAG_UPDATE_CURRENT);
     }
 
+    @Override
+    public PendingIntent getPendingIntentForMarkingAsRead(final Context context,
+            final ConversationIdSet conversationIdSet, final int requestCode) {
+        final Intent intent = new Intent(context, NotificationReceiver.class);
+        intent.setAction(ACTION_MARK_AS_READ);
+        if (conversationIdSet != null) {
+            intent.putExtra(UI_INTENT_EXTRA_CONVERSATION_ID_SET,
+                    conversationIdSet.getDelimitedString());
+        }
+        return PendingIntent.getBroadcast(context,
+                requestCode, intent,
+                PendingIntent.FLAG_UPDATE_CURRENT);
+    }
+
     /**
      * Gets a PendingIntent associated with an Intent to start an Activity. All notifications
      * that starts an Activity must use this method to get a PendingIntent, which achieves two
@@ -438,16 +464,6 @@
     }
 
     @Override
-    public Intent getRingtonePickerIntent(final String title, final Uri existingUri,
-            final Uri defaultUri, final int toneType) {
-        return new Intent(RingtoneManager.ACTION_RINGTONE_PICKER)
-                .putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE, toneType)
-                .putExtra(RingtoneManager.EXTRA_RINGTONE_TITLE, title)
-                .putExtra(RingtoneManager.EXTRA_RINGTONE_EXISTING_URI, existingUri)
-                .putExtra(RingtoneManager.EXTRA_RINGTONE_DEFAULT_URI, defaultUri);
-    }
-
-    @Override
     public PendingIntent getPendingIntentForLowStorageNotifications(final Context context) {
         final TaskStackBuilder taskStackBuilder = TaskStackBuilder.create(context);
         final Intent conversationListIntent = getConversationListActivityIntent(context);
diff --git a/src/com/android/messaging/ui/VCardDetailActivity.java b/src/com/android/messaging/ui/VCardDetailActivity.java
index fecdc34..b9fb3d1 100644
--- a/src/com/android/messaging/ui/VCardDetailActivity.java
+++ b/src/com/android/messaging/ui/VCardDetailActivity.java
@@ -37,11 +37,13 @@
 
     @Override
     public void onAttachFragment(final Fragment fragment) {
-        Assert.isTrue(fragment instanceof VCardDetailFragment);
-        final Uri vCardUri = getIntent().getParcelableExtra(UIIntents.UI_INTENT_EXTRA_VCARD_URI);
-        Assert.notNull(vCardUri);
-        final VCardDetailFragment vCardDetailFragment = (VCardDetailFragment) fragment;
-        vCardDetailFragment.setVCardUri(vCardUri);
+        if (fragment instanceof VCardDetailFragment) {
+            final Uri vCardUri =
+                    getIntent().getParcelableExtra(UIIntents.UI_INTENT_EXTRA_VCARD_URI);
+            Assert.notNull(vCardUri);
+            final VCardDetailFragment vCardDetailFragment = (VCardDetailFragment) fragment;
+            vCardDetailFragment.setVCardUri(vCardUri);
+        }
     }
 
     @Override
diff --git a/src/com/android/messaging/ui/appsettings/ApnPreference.java b/src/com/android/messaging/ui/appsettings/ApnPreference.java
index 74c6a08..64358eb 100644
--- a/src/com/android/messaging/ui/appsettings/ApnPreference.java
+++ b/src/com/android/messaging/ui/appsettings/ApnPreference.java
@@ -26,7 +26,6 @@
 import android.widget.CompoundButton;
 import android.widget.RadioButton;
 import android.widget.RelativeLayout;
-import android.widget.TextView;
 
 import com.android.messaging.R;
 import com.android.messaging.datamodel.data.ParticipantData;
@@ -81,7 +80,7 @@
             } else {
                 rb.setVisibility(View.GONE);
             }
-            setApnRadioButtonContentDescription(rb);
+            rb.setContentDescription(getTitle());
         }
 
         View textLayout = view.findViewById(R.id.text_layout);
@@ -92,13 +91,6 @@
         return view;
     }
 
-    public void setApnRadioButtonContentDescription(final CompoundButton buttonView) {
-        final View widget = (View) buttonView.getParent();
-        final TextView tv = (TextView) widget.findViewById(android.R.id.title);
-        final String apnTitle = tv.getText().toString();
-        buttonView.setContentDescription(apnTitle);
-    }
-
     public boolean isChecked() {
         return getKey().equals(mSelectedKey);
     }
@@ -128,7 +120,7 @@
             mCurrentChecked = null;
             mSelectedKey = null;
         }
-        setApnRadioButtonContentDescription(buttonView);
+        buttonView.setContentDescription(getTitle());
     }
 
     public void onClick(android.view.View v) {
diff --git a/src/com/android/messaging/ui/appsettings/ApnSettingsActivity.java b/src/com/android/messaging/ui/appsettings/ApnSettingsActivity.java
index 8b4644e..13f775a 100644
--- a/src/com/android/messaging/ui/appsettings/ApnSettingsActivity.java
+++ b/src/com/android/messaging/ui/appsettings/ApnSettingsActivity.java
@@ -274,7 +274,7 @@
             if (!mUnavailable) {
                 menu.add(0, MENU_NEW, 0,
                         getResources().getString(R.string.menu_new_apn))
-                        .setIcon(R.drawable.ic_add_gray)
+                        .setIcon(R.drawable.ic_add_white)
                         .setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
                 menu.add(0, MENU_RESTORE, 0,
                         getResources().getString(R.string.menu_restore_default_apn))
diff --git a/src/com/android/messaging/ui/appsettings/ApplicationSettingsActivity.java b/src/com/android/messaging/ui/appsettings/ApplicationSettingsActivity.java
index d7abe85..19979a9 100644
--- a/src/com/android/messaging/ui/appsettings/ApplicationSettingsActivity.java
+++ b/src/com/android/messaging/ui/appsettings/ApplicationSettingsActivity.java
@@ -18,17 +18,12 @@
 
 import android.app.FragmentTransaction;
 import android.content.Intent;
-import android.content.SharedPreferences;
-import android.content.SharedPreferences.OnSharedPreferenceChangeListener;
-import android.media.Ringtone;
-import android.media.RingtoneManager;
 import android.net.Uri;
 import android.os.Bundle;
 import android.preference.Preference;
 import android.preference.PreferenceFragment;
 import android.preference.PreferenceScreen;
-import android.preference.RingtonePreference;
-import android.preference.TwoStatePreference;
+import android.preference.SwitchPreference;
 import android.provider.Settings;
 import androidx.core.app.NavUtils;
 import android.text.TextUtils;
@@ -84,19 +79,17 @@
         return super.onOptionsItemSelected(item);
     }
 
-    public static class ApplicationSettingsFragment extends PreferenceFragment implements
-            OnSharedPreferenceChangeListener {
+    public static class ApplicationSettingsFragment extends PreferenceFragment {
 
-        private String mNotificationsEnabledPreferenceKey;
-        private TwoStatePreference mNotificationsEnabledPreference;
-        private String mRingtonePreferenceKey;
-        private RingtonePreference mRingtonePreference;
-        private Preference mVibratePreference;
+        private String mNotificationsPreferenceKey;
+        private Preference mNotificationsPreference;
         private String mSmsDisabledPrefKey;
         private Preference mSmsDisabledPreference;
         private String mSmsEnabledPrefKey;
         private Preference mSmsEnabledPreference;
         private boolean mIsSmsPreferenceClicked;
+        private String mSwipeRightToDeleteConversationkey;
+        private SwitchPreference mSwipeRightToDeleteConversationPreference;
 
         public ApplicationSettingsFragment() {
             // Required empty constructor
@@ -109,23 +102,19 @@
             getPreferenceManager().setSharedPreferencesName(BuglePrefs.SHARED_PREFERENCES_NAME);
             addPreferencesFromResource(R.xml.preferences_application);
 
-            mNotificationsEnabledPreferenceKey =
-                    getString(R.string.notifications_enabled_pref_key);
-            mNotificationsEnabledPreference = (TwoStatePreference) findPreference(
-                    mNotificationsEnabledPreferenceKey);
-            mRingtonePreferenceKey = getString(R.string.notification_sound_pref_key);
-            mRingtonePreference = (RingtonePreference) findPreference(mRingtonePreferenceKey);
-            mVibratePreference = findPreference(
-                    getString(R.string.notification_vibration_pref_key));
+            mNotificationsPreferenceKey =
+                    getString(R.string.notifications_pref_key);
+            mNotificationsPreference = findPreference(mNotificationsPreferenceKey);
             mSmsDisabledPrefKey = getString(R.string.sms_disabled_pref_key);
             mSmsDisabledPreference = findPreference(mSmsDisabledPrefKey);
             mSmsEnabledPrefKey = getString(R.string.sms_enabled_pref_key);
             mSmsEnabledPreference = findPreference(mSmsEnabledPrefKey);
+            mSwipeRightToDeleteConversationkey = getString(
+                    R.string.swipe_right_deletes_conversation_key);
+            mSwipeRightToDeleteConversationPreference =
+                    (SwitchPreference) findPreference(mSwipeRightToDeleteConversationkey);
             mIsSmsPreferenceClicked = false;
 
-            final SharedPreferences prefs = getPreferenceScreen().getSharedPreferences();
-            updateSoundSummary(prefs);
-
             if (!DebugUtils.isDebugEnabled()) {
                 final Preference debugCategory = findPreference(getString(
                         R.string.debug_pref_key));
@@ -147,8 +136,13 @@
         }
 
         @Override
-        public boolean onPreferenceTreeClick (PreferenceScreen preferenceScreen,
+        public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen,
                 Preference preference) {
+            if (preference.getKey() == mNotificationsPreferenceKey) {
+                Intent intent = new Intent(Settings.ACTION_APP_NOTIFICATION_SETTINGS);
+                intent.putExtra(Settings.EXTRA_APP_PACKAGE, getContext().getPackageName());
+                startActivity(intent);
+            }
             if (preference.getKey() ==  mSmsDisabledPrefKey ||
                     preference.getKey() == mSmsEnabledPrefKey) {
                 mIsSmsPreferenceClicked = true;
@@ -156,35 +150,6 @@
             return super.onPreferenceTreeClick(preferenceScreen, preference);
         }
 
-        private void updateSoundSummary(final SharedPreferences sharedPreferences) {
-            // The silent ringtone just returns an empty string
-            String ringtoneName = mRingtonePreference.getContext().getString(
-                    R.string.silent_ringtone);
-
-            String ringtoneString = sharedPreferences.getString(mRingtonePreferenceKey, null);
-
-            // Bootstrap the default setting in the preferences so that we have a valid selection
-            // in the dialog the first time that the user opens it.
-            if (ringtoneString == null) {
-                ringtoneString = Settings.System.DEFAULT_NOTIFICATION_URI.toString();
-                final SharedPreferences.Editor editor = sharedPreferences.edit();
-                editor.putString(mRingtonePreferenceKey, ringtoneString);
-                editor.apply();
-            }
-
-            if (!TextUtils.isEmpty(ringtoneString)) {
-                final Uri ringtoneUri = Uri.parse(ringtoneString);
-                final Ringtone tone = RingtoneManager.getRingtone(mRingtonePreference.getContext(),
-                        ringtoneUri);
-
-                if (tone != null) {
-                    ringtoneName = tone.getTitle(mRingtonePreference.getContext());
-                }
-            }
-
-            mRingtonePreference.setSummary(ringtoneName);
-        }
-
         private void updateSmsEnabledPreferences() {
             if (!OsUtil.isAtLeastKLP()) {
                 getPreferenceScreen().removePreference(mSmsDisabledPreference);
@@ -215,48 +180,14 @@
                     getPreferenceScreen().removePreference(mSmsEnabledPreference);
                     mSmsDisabledPreference.setSummary(defaultSmsAppLabel);
                 }
-                updateNotificationsPreferences();
             }
             mIsSmsPreferenceClicked = false;
         }
 
-        private void updateNotificationsPreferences() {
-            final boolean canNotify = !OsUtil.isAtLeastKLP()
-                    || PhoneUtils.getDefault().isDefaultSmsApp();
-            mNotificationsEnabledPreference.setEnabled(canNotify);
-        }
-
-        @Override
-        public void onStart() {
-            super.onStart();
-            // We do this on start rather than on resume because the sound picker is in a
-            // separate activity.
-            getPreferenceScreen().getSharedPreferences()
-                    .registerOnSharedPreferenceChangeListener(this);
-        }
-
         @Override
         public void onResume() {
             super.onResume();
             updateSmsEnabledPreferences();
-            updateNotificationsPreferences();
-        }
-
-        @Override
-        public void onSharedPreferenceChanged(final SharedPreferences sharedPreferences,
-                final String key) {
-            if (key.equals(mNotificationsEnabledPreferenceKey)) {
-                updateNotificationsPreferences();
-            } else if (key.equals(mRingtonePreferenceKey)) {
-                updateSoundSummary(sharedPreferences);
-            }
-        }
-
-        @Override
-        public void onStop() {
-            super.onStop();
-            getPreferenceScreen().getSharedPreferences()
-                    .unregisterOnSharedPreferenceChangeListener(this);
         }
     }
 }
diff --git a/src/com/android/messaging/ui/appsettings/PerSubscriptionSettingsActivity.java b/src/com/android/messaging/ui/appsettings/PerSubscriptionSettingsActivity.java
index 623bc91..c2fd473 100644
--- a/src/com/android/messaging/ui/appsettings/PerSubscriptionSettingsActivity.java
+++ b/src/com/android/messaging/ui/appsettings/PerSubscriptionSettingsActivity.java
@@ -28,10 +28,12 @@
 import android.preference.PreferenceCategory;
 import android.preference.PreferenceFragment;
 import android.preference.PreferenceScreen;
-import androidx.core.app.NavUtils;
 import android.text.TextUtils;
 import android.view.MenuItem;
 
+import androidx.appcompat.mms.MmsManager;
+import androidx.core.app.NavUtils;
+
 import com.android.messaging.Factory;
 import com.android.messaging.R;
 import com.android.messaging.datamodel.ParticipantRefresh;
@@ -134,7 +136,7 @@
             if (!MmsConfig.get(mSubId).getSMSDeliveryReportsEnabled()) {
                 final Preference deliveryReportsPref = findPreference(
                         getString(R.string.delivery_reports_pref_key));
-                mmsCategory.removePreference(deliveryReportsPref);
+                advancedCategory.removePreference(deliveryReportsPref);
             }
             final Preference wirelessAlertPref = findPreference(getString(
                     R.string.wireless_alerts_key));
@@ -159,17 +161,18 @@
             }
 
             // Access Point Names (APNs)
-            final Preference apnsPref = findPreference(getString(R.string.sms_apns_key));
+            final PreferenceScreen apnsScreen =
+                    (PreferenceScreen) findPreference(getString(R.string.sms_apns_key));
 
-            if (MmsUtils.useSystemApnTable() && !ApnDatabase.doesDatabaseExist()) {
-                // Don't remove the ability to edit the local APN prefs if this device lets us
+            if (!MmsManager.shouldUseLegacyMms()
+                    || (MmsUtils.useSystemApnTable() && !ApnDatabase.doesDatabaseExist())) {
+                // 1) Remove the ability to edit the local APN prefs if it doesn't use legacy APIs.
+                // 2) Don't remove the ability to edit the local APN prefs if this device lets us
                 // access the system APN, but we can't find the MCC/MNC in the APN table and we
                 // created the local APN table in case the MCC/MNC was in there. In other words,
                 // if the local APN table exists, let the user edit it.
-                advancedCategory.removePreference(apnsPref);
+                advancedCategory.removePreference((Preference) apnsScreen);
             } else {
-                final PreferenceScreen apnsScreen = (PreferenceScreen) findPreference(
-                        getString(R.string.sms_apns_key));
                 apnsScreen.setIntent(UIIntents.get()
                         .getApnSettingsIntent(getPreferenceScreen().getContext(), mSubId));
             }
@@ -183,7 +186,13 @@
                 autoRetrieveMmsPreference.setEnabled(false);
                 final Preference deliveryReportsPreference =
                         findPreference(getString(R.string.delivery_reports_pref_key));
-                deliveryReportsPreference.setEnabled(false);
+                if (deliveryReportsPreference != null) {
+                    deliveryReportsPreference.setEnabled(false);
+                }
+            }
+
+            if (advancedCategory.getPreferenceCount() == 0) {
+                getPreferenceScreen().removePreference(advancedCategory);
             }
         }
 
diff --git a/src/com/android/messaging/ui/contact/ContactRecipientAutoCompleteView.java b/src/com/android/messaging/ui/contact/ContactRecipientAutoCompleteView.java
index dc13f22..35641b2 100644
--- a/src/com/android/messaging/ui/contact/ContactRecipientAutoCompleteView.java
+++ b/src/com/android/messaging/ui/contact/ContactRecipientAutoCompleteView.java
@@ -156,25 +156,33 @@
                                 ContactRecipientEntryUtils.isSendToDestinationContact(entry)) {
                             // This is a generated/send-to contact chip, try to look it up and
                             // display a chip for the corresponding local contact.
-                            final Cursor lookupResult = ContactUtil.lookupDestination(getContext(),
-                                    entry.getDestination()).performSynchronousQuery();
-                            if (lookupResult != null && lookupResult.moveToNext()) {
-                                // Found a match, remove the generated entry and replace with
-                                // a better local entry.
-                                publishProgress(new ChipReplacementTuple(recipient,
-                                        ContactUtil.createRecipientEntryForPhoneQuery(
-                                                lookupResult, true)));
-                            } else if (PhoneUtils.isValidSmsMmsDestination(
-                                    entry.getDestination())){
-                                // No match was found, but we have a valid destination so let's at
-                                // least create an entry that shows an avatar.
-                                publishProgress(new ChipReplacementTuple(recipient,
-                                        ContactRecipientEntryUtils.constructNumberWithAvatarEntry(
-                                                entry.getDestination())));
-                            } else {
-                                // Not a valid contact. Remove and show an error.
-                                publishProgress(new ChipReplacementTuple(recipient, null));
-                                invalidChipsRemoved++;
+                            try (final Cursor lookupResult =
+                                    ContactUtil.lookupDestination(
+                                                    getContext(), entry.getDestination())
+                                            .performSynchronousQuery()) {
+                                if (lookupResult != null && lookupResult.moveToNext()) {
+                                    // Found a match, remove the generated entry and replace with a
+                                    // better local entry.
+                                    publishProgress(
+                                            new ChipReplacementTuple(
+                                                    recipient,
+                                                    ContactUtil.createRecipientEntryForPhoneQuery(
+                                                            lookupResult, true)));
+                                } else if (PhoneUtils.isValidSmsMmsDestination(
+                                        entry.getDestination())) {
+                                    // No match was found, but we have a valid destination so let's
+                                    // at least create an entry that shows an avatar.
+                                    publishProgress(
+                                            new ChipReplacementTuple(
+                                                    recipient,
+                                                    ContactRecipientEntryUtils
+                                                            .constructNumberWithAvatarEntry(
+                                                                    entry.getDestination())));
+                                } else {
+                                    // Not a valid contact. Remove and show an error.
+                                    publishProgress(new ChipReplacementTuple(recipient, null));
+                                    invalidChipsRemoved++;
+                                }
                             }
                         }
                     } else {
diff --git a/src/com/android/messaging/ui/conversation/ComposeMessageView.java b/src/com/android/messaging/ui/conversation/ComposeMessageView.java
index 5db1292..02be2de 100644
--- a/src/com/android/messaging/ui/conversation/ComposeMessageView.java
+++ b/src/com/android/messaging/ui/conversation/ComposeMessageView.java
@@ -25,8 +25,10 @@
 import android.text.Html;
 import android.text.InputFilter;
 import android.text.InputFilter.LengthFilter;
+import android.text.InputType;
 import android.text.TextUtils;
 import android.text.TextWatcher;
+import android.text.format.Formatter;
 import android.util.AttributeSet;
 import android.view.ContextThemeWrapper;
 import android.view.KeyEvent;
@@ -67,8 +69,13 @@
 import com.android.messaging.util.LogUtil;
 import com.android.messaging.util.MediaUtil;
 import com.android.messaging.util.OsUtil;
+import com.android.messaging.util.SafeAsyncTask;
 import com.android.messaging.util.UiUtils;
+import com.android.messaging.util.UriUtil;
 
+import org.lineageos.messaging.util.PrefsUtils;
+
+import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 
@@ -112,7 +119,7 @@
 
     private PlainTextEditText mComposeEditText;
     private PlainTextEditText mComposeSubjectText;
-    private TextView mCharCounter;
+    private TextView mMessageBodySize;
     private TextView mMmsIndicator;
     private SimIconView mSelfSendIcon;
     private ImageButton mSendButton;
@@ -171,7 +178,7 @@
 
         final int counterColor = mHost.overrideCounterColor();
         if (counterColor != -1) {
-            mCharCounter.setTextColor(counterColor);
+            mMessageBodySize.setTextColor(counterColor);
         }
     }
 
@@ -213,6 +220,14 @@
                 new LengthFilter(MmsConfig.get(ParticipantData.DEFAULT_SELF_SUB_ID)
                         .getMaxTextLimit()) });
 
+        if (PrefsUtils.isShowEmoticonsEnabled()) {
+            mComposeEditText.setInputType(mComposeEditText.getInputType()
+                    | InputType.TYPE_TEXT_VARIATION_SHORT_MESSAGE);
+        } else {
+            mComposeEditText.setInputType(mComposeEditText.getInputType()
+                    & ~InputType.TYPE_TEXT_VARIATION_SHORT_MESSAGE);
+        }
+
         mSelfSendIcon = (SimIconView) findViewById(R.id.self_send_icon);
         mSelfSendIcon.setOnClickListener(new OnClickListener() {
             @Override
@@ -309,7 +324,7 @@
         mAttachmentPreview = (AttachmentPreview) findViewById(R.id.attachment_draft_view);
         mAttachmentPreview.setComposeMessageView(this);
 
-        mCharCounter = (TextView) findViewById(R.id.char_counter);
+        mMessageBodySize = (TextView) findViewById(R.id.message_body_size);
         mMmsIndicator = (TextView) findViewById(R.id.mms_indicator);
     }
 
@@ -480,6 +495,8 @@
         final String subject = data.getMessageSubject();
         final String message = data.getMessageText();
 
+        boolean hasAttachmentsChanged = false;
+
         if ((changeFlags & DraftMessageData.MESSAGE_SUBJECT_CHANGED) ==
                 DraftMessageData.MESSAGE_SUBJECT_CHANGED) {
             mComposeSubjectText.setText(subject);
@@ -500,12 +517,13 @@
                 DraftMessageData.ATTACHMENTS_CHANGED) {
             final boolean haveAttachments = mAttachmentPreview.onAttachmentsChanged(data);
             mHost.onAttachmentsChanged(haveAttachments);
+            hasAttachmentsChanged = true;
         }
 
         if ((changeFlags & DraftMessageData.SELF_CHANGED) == DraftMessageData.SELF_CHANGED) {
             updateOnSelfSubscriptionChange();
         }
-        updateVisualsOnDraftChanged();
+        updateVisualsOnDraftChanged(hasAttachmentsChanged);
     }
 
     @Override   // From DraftMessageDataListener
@@ -624,7 +642,44 @@
                 mConversationDataModel.getData().getParticipantsLoaded();
     }
 
+    private static class AsyncUpdateMessageBodySizeTask
+            extends SafeAsyncTask<List<MessagePartData>, Void, Long> {
+
+        private final Context mContext;
+        private final TextView mSizeTextView;
+
+        public AsyncUpdateMessageBodySizeTask(final Context context, final TextView tv) {
+            mContext = context;
+            mSizeTextView = tv;
+        }
+
+        @Override
+        protected Long doInBackgroundTimed(final List<MessagePartData>... params) {
+            final List<MessagePartData> attachments = params[0];
+            long totalSize = 0;
+            for (final MessagePartData attachment : attachments) {
+                final Uri contentUri = attachment.getContentUri();
+                if (contentUri != null) {
+                    totalSize += UriUtil.getContentSize(attachment.getContentUri());
+                }
+            }
+            return totalSize;
+        }
+
+        @Override
+        protected void onPostExecute(Long size) {
+            if (mSizeTextView != null) {
+                mSizeTextView.setText(Formatter.formatFileSize(mContext, size));
+                mSizeTextView.setVisibility(View.VISIBLE);
+            }
+        }
+    }
+
     private void updateVisualsOnDraftChanged() {
+        updateVisualsOnDraftChanged(false);
+    }
+
+    private void updateVisualsOnDraftChanged(boolean hasAttachmentsChanged) {
         final String messageText = mComposeEditText.getText().toString();
         final DraftMessageData draftMessageData = mBinding.getData();
         draftMessageData.setMessageText(messageText);
@@ -640,26 +695,40 @@
         final boolean hasWorkingDraft = hasMessageText || hasSubject ||
                 mBinding.getData().hasAttachments();
 
-        // Update the SMS text counter.
-        final int messageCount = draftMessageData.getNumMessagesToBeSent();
-        final int codePointsRemaining = draftMessageData.getCodePointsRemainingInCurrentMessage();
-        // Show the counter only if:
-        // - We are not in MMS mode
-        // - We are going to send more than one message OR we are getting close
-        boolean showCounter = false;
-        if (!draftMessageData.getIsMms() && (messageCount > 1 ||
-                 codePointsRemaining <= CODEPOINTS_REMAINING_BEFORE_COUNTER_SHOWN)) {
-            showCounter = true;
-        }
-
-        if (showCounter) {
-            // Update the remaining characters and number of messages required.
-            final String counterText = messageCount > 1 ? codePointsRemaining + " / " +
-                    messageCount : String.valueOf(codePointsRemaining);
-            mCharCounter.setText(counterText);
-            mCharCounter.setVisibility(View.VISIBLE);
-        } else {
-            mCharCounter.setVisibility(View.INVISIBLE);
+        final List<MessagePartData> attachments =
+                new ArrayList<MessagePartData>(draftMessageData.getReadOnlyAttachments());
+        if (draftMessageData.getIsMms()) { // MMS case
+            if (draftMessageData.hasAttachments()) {
+                if (hasAttachmentsChanged) {
+                    // Calculate message attachments size and show it.
+                    new AsyncUpdateMessageBodySizeTask(getContext(), mMessageBodySize)
+                            .executeOnThreadPool(attachments, null, null);
+                } else {
+                    // No update. Just show previous size.
+                    mMessageBodySize.setVisibility(View.VISIBLE);
+                }
+            } else {
+                mMessageBodySize.setVisibility(View.INVISIBLE);
+            }
+        } else { // SMS case
+            // Update the SMS text counter.
+            final int messageCount = draftMessageData.getNumMessagesToBeSent();
+            final int codePointsRemaining =
+                    draftMessageData.getCodePointsRemainingInCurrentMessage();
+            // Show the counter only if we are going to send more than one message OR we are getting
+            // close.
+            if (messageCount > 1
+                    || codePointsRemaining <= CODEPOINTS_REMAINING_BEFORE_COUNTER_SHOWN) {
+                // Update the remaining characters and number of messages required.
+                final String counterText =
+                        messageCount > 1
+                                ? codePointsRemaining + " / " + messageCount
+                                : String.valueOf(codePointsRemaining);
+                mMessageBodySize.setText(counterText);
+                mMessageBodySize.setVisibility(View.VISIBLE);
+            } else {
+                mMessageBodySize.setVisibility(View.INVISIBLE);
+            }
         }
 
         // Update the send message button. Self icon uri might be null if self participant data
@@ -699,7 +768,6 @@
         }
 
         // Update the text hint on the message box depending on the attachment type.
-        final List<MessagePartData> attachments = draftMessageData.getReadOnlyAttachments();
         final int attachmentCount = attachments.size();
         if (attachmentCount == 0) {
             final SubscriptionListEntry subscriptionListEntry =
diff --git a/src/com/android/messaging/ui/conversation/ConversationFragment.java b/src/com/android/messaging/ui/conversation/ConversationFragment.java
index fbc6730..6eb7089 100644
--- a/src/com/android/messaging/ui/conversation/ConversationFragment.java
+++ b/src/com/android/messaging/ui/conversation/ConversationFragment.java
@@ -51,6 +51,7 @@
 import androidx.recyclerview.widget.LinearLayoutManager;
 import androidx.recyclerview.widget.RecyclerView;
 import androidx.recyclerview.widget.RecyclerView.ViewHolder;
+import android.telephony.PhoneNumberUtils;
 import android.text.TextUtils;
 import android.view.ActionMode;
 import android.view.Display;
@@ -191,7 +192,8 @@
                     intent.getStringExtra(UIIntents.UI_INTENT_EXTRA_CONVERSATION_SELF_ID);
             Assert.notNull(conversationId);
             Assert.notNull(selfId);
-            if (TextUtils.equals(mBinding.getData().getConversationId(), conversationId)) {
+            if (isBound() && TextUtils
+                    .equals(mBinding.getData().getConversationId(), conversationId)) {
                 mComposeMessageView.updateConversationSelfIdOnExternalChange(selfId);
             }
         }
@@ -564,6 +566,7 @@
                             @Override
                             public void run() {
                                 view.setAlpha(1);
+                                dispatchAddFinished(holder);
                             }
                         });
                     mPopupTransitionAnimation.startAfterLayoutComplete();
@@ -772,20 +775,27 @@
             case R.id.action_call:
                 final String phoneNumber = mBinding.getData().getParticipantPhoneNumber();
                 Assert.notNull(phoneNumber);
-                final View targetView = getActivity().findViewById(R.id.action_call);
-                Point centerPoint;
-                if (targetView != null) {
-                    final int screenLocation[] = new int[2];
-                    targetView.getLocationOnScreen(screenLocation);
-                    final int centerX = screenLocation[0] + targetView.getWidth() / 2;
-                    final int centerY = screenLocation[1] + targetView.getHeight() / 2;
-                    centerPoint = new Point(centerX, centerY);
+                // Can't make a call to emergency numbers using ACTION_CALL.
+                if (PhoneNumberUtils.isEmergencyNumber(phoneNumber)) {
+                    UiUtils.showToast(R.string.disallow_emergency_call);
                 } else {
-                    // In the overflow menu, just use the center of the screen.
-                    final Display display = getActivity().getWindowManager().getDefaultDisplay();
-                    centerPoint = new Point(display.getWidth() / 2, display.getHeight() / 2);
+                    final View targetView = getActivity().findViewById(R.id.action_call);
+                    Point centerPoint;
+                    if (targetView != null) {
+                        final int screenLocation[] = new int[2];
+                        targetView.getLocationOnScreen(screenLocation);
+                        final int centerX = screenLocation[0] + targetView.getWidth() / 2;
+                        final int centerY = screenLocation[1] + targetView.getHeight() / 2;
+                        centerPoint = new Point(centerX, centerY);
+                    } else {
+                        // In the overflow menu, just use the center of the screen.
+                        final Display display =
+                                getActivity().getWindowManager().getDefaultDisplay();
+                        centerPoint = new Point(display.getWidth() / 2, display.getHeight() / 2);
+                    }
+                    UIIntents.get()
+                            .launchPhoneCallActivity(getActivity(), phoneNumber, centerPoint);
                 }
-                UIIntents.get().launchPhoneCallActivity(getActivity(), phoneNumber, centerPoint);
                 return true;
 
             case R.id.action_archive:
diff --git a/src/com/android/messaging/ui/conversation/ConversationMessageView.java b/src/com/android/messaging/ui/conversation/ConversationMessageView.java
index 20c986d..e697899 100644
--- a/src/com/android/messaging/ui/conversation/ConversationMessageView.java
+++ b/src/com/android/messaging/ui/conversation/ConversationMessageView.java
@@ -377,6 +377,7 @@
                 // FALL THROUGH HERE
 
             case MessageData.BUGLE_STATUS_OUTGOING_COMPLETE:
+            case MessageData.BUGLE_STATUS_OUTGOING_DELIVERED:
             case MessageData.BUGLE_STATUS_INCOMING_COMPLETE:
             default:
                 if (!mData.getCanClusterWithNextMessage()) {
@@ -700,7 +701,8 @@
                         isSelected(),
                         incoming,
                         false /* needArrow */,
-                        mData.hasIncomingErrorStatus());
+                        mData.hasIncomingErrorStatus(),
+                        mData.getSenderContactLookupKey());
                 textMinHeight = messageTextMinHeightDefault;
                 textTopMargin = messageTopPaddingClustered;
                 textTopPadding = textTopPaddingDefault;
@@ -727,7 +729,8 @@
                     isSelected(),
                     incoming,
                     shouldShowMessageBubbleArrow(),
-                    mData.hasIncomingErrorStatus());
+                    mData.hasIncomingErrorStatus(),
+                    mData.getSenderContactLookupKey());
             textMinHeight = messageTextMinHeightDefault;
             textTopMargin = 0;
             textTopPadding = textTopPaddingDefault;
@@ -1113,7 +1116,7 @@
             audioView.bindMessagePartData(attachment, mData.getIsIncoming(), isSelected());
             audioView.setBackground(ConversationDrawables.get().getBubbleDrawable(
                     isSelected(), mData.getIsIncoming(), false /* needArrow */,
-                    mData.hasIncomingErrorStatus()));
+                    mData.hasIncomingErrorStatus(), mData.getSenderContactLookupKey()));
         }
 
         @Override
@@ -1130,7 +1133,7 @@
                     attachment));
             personView.setBackground(ConversationDrawables.get().getBubbleDrawable(
                     isSelected(), mData.getIsIncoming(), false /* needArrow */,
-                    mData.hasIncomingErrorStatus()));
+                    mData.hasIncomingErrorStatus(), mData.getSenderContactLookupKey()));
             final int nameTextColorRes;
             final int detailsTextColorRes;
             if (isSelected()) {
diff --git a/src/com/android/messaging/ui/conversation/LaunchConversationActivity.java b/src/com/android/messaging/ui/conversation/LaunchConversationActivity.java
index 8af9f75..5500ae8 100644
--- a/src/com/android/messaging/ui/conversation/LaunchConversationActivity.java
+++ b/src/com/android/messaging/ui/conversation/LaunchConversationActivity.java
@@ -61,7 +61,12 @@
         final Intent intent = getIntent();
         final String action = intent.getAction();
         if (Intent.ACTION_SENDTO.equals(action) || Intent.ACTION_VIEW.equals(action)) {
-            String[] recipients = UriUtil.parseRecipientsFromSmsMmsUri(intent.getData());
+            String[] recipients = null;
+            final String commaSeparatedRecipients =
+                    UriUtil.parseRecipientsFromSmsMmsUri(intent.getData());
+            if (commaSeparatedRecipients != null) {
+                recipients = commaSeparatedRecipients.split(",");
+            }
             final boolean haveAddress = !TextUtils.isEmpty(intent.getStringExtra(ADDRESS));
             final boolean haveEmail = !TextUtils.isEmpty(intent.getStringExtra(Intent.EXTRA_EMAIL));
             if (recipients == null && (haveAddress || haveEmail)) {
diff --git a/src/com/android/messaging/ui/conversation/SimIconView.java b/src/com/android/messaging/ui/conversation/SimIconView.java
index e2e446c..6799bad 100644
--- a/src/com/android/messaging/ui/conversation/SimIconView.java
+++ b/src/com/android/messaging/ui/conversation/SimIconView.java
@@ -19,6 +19,7 @@
 import android.graphics.Outline;
 import android.net.Uri;
 import android.util.AttributeSet;
+import android.view.MotionEvent;
 import android.view.View;
 import android.view.ViewOutlineProvider;
 
@@ -44,6 +45,14 @@
     }
 
     @Override
+    public boolean onTouchEvent(MotionEvent event) {
+        if (isClickable()) {
+            return super.onTouchEvent(event);
+        }
+        return true;
+    }
+
+    @Override
     protected void maybeInitializeOnClickListener() {
         // TODO: SIM icon view shouldn't consume or handle clicks, but it should if
         // this is the send button for the only SIM in the device or if MSIM is not supported.
diff --git a/src/com/android/messaging/ui/conversationlist/AbstractConversationListActivity.java b/src/com/android/messaging/ui/conversationlist/AbstractConversationListActivity.java
index f3de0ab..5fd7315 100644
--- a/src/com/android/messaging/ui/conversationlist/AbstractConversationListActivity.java
+++ b/src/com/android/messaging/ui/conversationlist/AbstractConversationListActivity.java
@@ -30,7 +30,6 @@
 import com.android.messaging.R;
 import com.android.messaging.datamodel.action.DeleteConversationAction;
 import com.android.messaging.datamodel.action.UpdateConversationArchiveStatusAction;
-import com.android.messaging.datamodel.action.UpdateConversationOptionsAction;
 import com.android.messaging.datamodel.action.UpdateDestinationBlockedAction;
 import com.android.messaging.datamodel.data.ConversationListData;
 import com.android.messaging.datamodel.data.ConversationListItemData;
@@ -190,23 +189,6 @@
     }
 
     @Override
-    public void onActionBarNotification(final Iterable<SelectedConversation> conversations,
-            final boolean isNotificationOn) {
-        for (final SelectedConversation conversation : conversations) {
-            UpdateConversationOptionsAction.enableConversationNotifications(
-                    conversation.conversationId, isNotificationOn);
-        }
-
-        final int textId = isNotificationOn ?
-                R.string.notification_on_toast_message : R.string.notification_off_toast_message;
-        final String message = getResources().getString(textId, 1);
-        UiUtils.showSnackBar(this, findViewById(android.R.id.list), message,
-            null /* undoRunnable */,
-            SnackBar.Action.SNACK_BAR_UNDO, mConversationListFragment.getSnackBarInteractions());
-        exitMultiSelectState();
-    }
-
-    @Override
     public void onActionBarAddContact(final SelectedConversation conversation) {
         final Uri avatarUri;
         if (conversation.icon != null) {
diff --git a/src/com/android/messaging/ui/conversationlist/ConversationListActivity.java b/src/com/android/messaging/ui/conversationlist/ConversationListActivity.java
index 636b0f5..4d83f12 100644
--- a/src/com/android/messaging/ui/conversationlist/ConversationListActivity.java
+++ b/src/com/android/messaging/ui/conversationlist/ConversationListActivity.java
@@ -31,6 +31,7 @@
     @Override
     protected void onCreate(final Bundle savedInstanceState) {
         Trace.beginSection("ConversationListActivity.onCreate");
+        setTheme(R.style.BugleTheme_ConversationListActivity);
         super.onCreate(savedInstanceState);
         setContentView(R.layout.conversation_list_activity);
         Trace.endSection();
diff --git a/src/com/android/messaging/ui/conversationlist/ConversationListItemView.java b/src/com/android/messaging/ui/conversationlist/ConversationListItemView.java
index b22ccfc..9331d10 100644
--- a/src/com/android/messaging/ui/conversationlist/ConversationListItemView.java
+++ b/src/com/android/messaging/ui/conversationlist/ConversationListItemView.java
@@ -58,6 +58,7 @@
 import com.android.messaging.util.Typefaces;
 import com.android.messaging.util.UiUtils;
 import com.android.messaging.util.UriUtil;
+import org.lineageos.messaging.util.PrefsUtils;
 
 import java.util.List;
 
@@ -75,6 +76,8 @@
     private static String sPlusOneString;
     private static String sPlusNString;
 
+    private static final int SWIPE_DIRECTION_RIGHT = 2;
+
     public interface HostInterface {
         boolean isConversationSelected(final String conversationId);
         void onConversationClicked(final ConversationListItemData conversationListItemData,
@@ -124,7 +127,6 @@
     private TextView mTimestampTextView;
     private ContactIconView mContactIconView;
     private ImageView mContactCheckmarkView;
-    private ImageView mNotificationBellView;
     private ImageView mFailedStatusIconView;
     private ImageView mCrossSwipeArchiveLeftImageView;
     private ImageView mCrossSwipeArchiveRightImageView;
@@ -150,7 +152,6 @@
         mTimestampTextView = (TextView) findViewById(R.id.conversation_timestamp);
         mContactIconView = (ContactIconView) findViewById(R.id.conversation_icon);
         mContactCheckmarkView = (ImageView) findViewById(R.id.conversation_checkmark);
-        mNotificationBellView = (ImageView) findViewById(R.id.conversation_notification_bell);
         mFailedStatusIconView = (ImageView) findViewById(R.id.conversation_failed_status_icon);
         mCrossSwipeArchiveLeftImageView = (ImageView) findViewById(R.id.crossSwipeArchiveIconLeft);
         mCrossSwipeArchiveRightImageView =
@@ -500,8 +501,17 @@
         mAudioAttachmentView.setOnLongClickListener(this);
         mAudioAttachmentView.setVisibility(audioPreviewVisiblity);
 
-        final int notificationBellVisiblity = mData.getNotificationEnabled() ? GONE : VISIBLE;
-        mNotificationBellView.setVisibility(notificationBellVisiblity);
+        if (PrefsUtils.isSwipeRightToDeleteEnabled()) {
+            mCrossSwipeArchiveLeftImageView.setImageDrawable(getResources()
+                    .getDrawable(R.drawable.ic_delete_small_dark));
+            mCrossSwipeArchiveRightImageView.setImageDrawable(getResources()
+                    .getDrawable(R.drawable.ic_archive_small_dark));
+        } else {
+            mCrossSwipeArchiveLeftImageView.setImageDrawable(getResources()
+                    .getDrawable(R.drawable.ic_archive_small_dark));
+            mCrossSwipeArchiveRightImageView.setImageDrawable(getResources()
+                    .getDrawable(R.drawable.ic_archive_small_dark));
+        }
     }
 
     public boolean isSwipeAnimatable() {
@@ -535,10 +545,16 @@
         }
     }
 
-    public void onSwipeComplete() {
+    public void onSwipeComplete(int swipeDirection) {
         final String conversationId = mData.getConversationId();
+        if (PrefsUtils.isSwipeRightToDeleteEnabled()
+                && swipeDirection == ConversationListSwipeHelper.SWIPE_DIRECTION_RIGHT) {
+            mData.deleteConversation();
+            UiUtils.showSnackBar(getContext(), getRootView(),
+                    getResources().getString(R.string.conversation_deleted));
+            return;
+        }
         UpdateConversationArchiveStatusAction.archiveConversation(conversationId);
-
         final Runnable undoRunnable = new Runnable() {
             @Override
             public void run() {
diff --git a/src/com/android/messaging/ui/conversationlist/ConversationListSwipeHelper.java b/src/com/android/messaging/ui/conversationlist/ConversationListSwipeHelper.java
index e5859a6..8b8ed0c 100644
--- a/src/com/android/messaging/ui/conversationlist/ConversationListSwipeHelper.java
+++ b/src/com/android/messaging/ui/conversationlist/ConversationListSwipeHelper.java
@@ -44,9 +44,9 @@
     private static final float PERCENTAGE_OF_WIDTH_TO_DISMISS = 0.4f;
     private static final float FLING_PERCENTAGE_OF_WIDTH_TO_DISMISS = 0.05f;
 
-    private static final int SWIPE_DIRECTION_NONE = 0;
-    private static final int SWIPE_DIRECTION_LEFT = 1;
-    private static final int SWIPE_DIRECTION_RIGHT = 2;
+    public static final int SWIPE_DIRECTION_NONE = 0;
+    public static final int SWIPE_DIRECTION_LEFT = 1;
+    public static final int SWIPE_DIRECTION_RIGHT = 2;
 
     private final RecyclerView mRecyclerView;
     private final long mDefaultRestoreAnimationDuration;
@@ -269,7 +269,7 @@
     private void onSwipeGestureEnd(final ConversationListItemView itemView,
             final int swipeDirection) {
         if (swipeDirection == SWIPE_DIRECTION_RIGHT || swipeDirection == SWIPE_DIRECTION_LEFT) {
-            itemView.onSwipeComplete();
+            itemView.onSwipeComplete(swipeDirection);
         }
 
         // Balances out onSwipeGestureStart.
diff --git a/src/com/android/messaging/ui/conversationlist/MultiSelectActionModeCallback.java b/src/com/android/messaging/ui/conversationlist/MultiSelectActionModeCallback.java
index 64d1436..96c962e 100644
--- a/src/com/android/messaging/ui/conversationlist/MultiSelectActionModeCallback.java
+++ b/src/com/android/messaging/ui/conversationlist/MultiSelectActionModeCallback.java
@@ -37,8 +37,6 @@
         void onActionBarDelete(Collection<SelectedConversation> conversations);
         void onActionBarArchive(Iterable<SelectedConversation> conversations,
                 boolean isToArchive);
-        void onActionBarNotification(Iterable<SelectedConversation> conversations,
-                boolean isNotificationOn);
         void onActionBarAddContact(final SelectedConversation conversation);
         void onActionBarBlock(final SelectedConversation conversation);
         void onActionBarHome();
@@ -52,7 +50,6 @@
         public final CharSequence participantLookupKey;
         public final boolean isGroup;
         public final boolean isArchived;
-        public final boolean notificationEnabled;
         public SelectedConversation(ConversationListItemData data) {
             conversationId = data.getConversationId();
             timestamp = data.getTimestamp();
@@ -61,7 +58,6 @@
             participantLookupKey = data.getParticipantLookupKey();
             isGroup = data.getIsGroup();
             isArchived = data.getIsArchived();
-            notificationEnabled = data.getNotificationEnabled();
         }
     }
 
@@ -72,8 +68,6 @@
     private MenuItem mUnarchiveMenuItem;
     private MenuItem mAddContactMenuItem;
     private MenuItem mBlockMenuItem;
-    private MenuItem mNotificationOnMenuItem;
-    private MenuItem mNotificationOffMenuItem;
     private boolean mHasInflated;
 
     public MultiSelectActionModeCallback(final Listener listener) {
@@ -89,8 +83,6 @@
         mUnarchiveMenuItem = menu.findItem(R.id.action_unarchive);
         mAddContactMenuItem = menu.findItem(R.id.action_add_contact);
         mBlockMenuItem = menu.findItem(R.id.action_block);
-        mNotificationOffMenuItem = menu.findItem(R.id.action_notification_off);
-        mNotificationOnMenuItem = menu.findItem(R.id.action_notification_on);
         mHasInflated = true;
         updateActionIconsVisiblity();
         return true;
@@ -113,12 +105,6 @@
             case R.id.action_unarchive:
                 mListener.onActionBarArchive(mSelectedConversations.values(), false);
                 return true;
-            case R.id.action_notification_off:
-                mListener.onActionBarNotification(mSelectedConversations.values(), false);
-                return true;
-            case R.id.action_notification_on:
-                mListener.onActionBarNotification(mSelectedConversations.values(), true);
-                return true;
             case R.id.action_add_contact:
                 Assert.isTrue(mSelectedConversations.size() == 1);
                 mListener.onActionBarAddContact(mSelectedConversations.valueAt(0));
@@ -186,16 +172,8 @@
 
         boolean hasCurrentlyArchived = false;
         boolean hasCurrentlyUnarchived = false;
-        boolean hasCurrentlyOnNotification = false;
-        boolean hasCurrentlyOffNotification = false;
         final Iterable<SelectedConversation> conversations = mSelectedConversations.values();
         for (final SelectedConversation conversation : conversations) {
-            if (conversation.notificationEnabled) {
-                hasCurrentlyOnNotification = true;
-            } else {
-                hasCurrentlyOffNotification = true;
-            }
-
             if (conversation.isArchived) {
                 hasCurrentlyArchived = true;
             } else {
@@ -203,15 +181,10 @@
             }
 
             // If we found at least one of each example we don't need to keep looping.
-            if (hasCurrentlyOffNotification && hasCurrentlyOnNotification &&
-                    hasCurrentlyArchived && hasCurrentlyUnarchived) {
+            if (hasCurrentlyArchived && hasCurrentlyUnarchived) {
                 break;
             }
         }
-        // If we have notification off conversations we show on button, if we have notification on
-        // conversation we show off button. We can show both if we have a mixture.
-        mNotificationOffMenuItem.setVisible(hasCurrentlyOnNotification);
-        mNotificationOnMenuItem.setVisible(hasCurrentlyOffNotification);
 
         mArchiveMenuItem.setVisible(hasCurrentlyUnarchived);
         mUnarchiveMenuItem.setVisible(hasCurrentlyArchived);
diff --git a/src/com/android/messaging/ui/conversationlist/ShareIntentActivity.java b/src/com/android/messaging/ui/conversationlist/ShareIntentActivity.java
index 1c91e46..9ac6e6b 100644
--- a/src/com/android/messaging/ui/conversationlist/ShareIntentActivity.java
+++ b/src/com/android/messaging/ui/conversationlist/ShareIntentActivity.java
@@ -24,6 +24,8 @@
 import android.os.Bundle;
 import android.text.TextUtils;
 
+import androidx.collection.ArrayMap;
+
 import com.android.messaging.Factory;
 import com.android.messaging.datamodel.data.ConversationListItemData;
 import com.android.messaging.datamodel.data.MessageData;
@@ -37,8 +39,13 @@
 import com.android.messaging.util.FileUtil;
 import com.android.messaging.util.UriUtil;
 
+import java.io.BufferedReader;
+import java.io.FileNotFoundException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
 import java.io.IOException;
 import java.util.ArrayList;
+import java.util.Map;
 
 public class ShareIntentActivity extends BaseBugleActivity implements
         ShareIntentFragment.HostInterface {
@@ -74,6 +81,12 @@
     public void onAttachFragment(final Fragment fragment) {
         final Intent intent = getIntent();
         final String action = intent.getAction();
+
+        String sharedSubject = intent.getStringExtra(Intent.EXTRA_SUBJECT);
+        if (sharedSubject == null) {
+            sharedSubject = intent.getStringExtra(Intent.EXTRA_TITLE);
+        }
+
         if (Intent.ACTION_SEND.equals(action)) {
             final Uri contentUri = (Uri) intent.getParcelableExtra(Intent.EXTRA_STREAM);
             if (UriUtil.isFileUri(contentUri)) {
@@ -89,51 +102,72 @@
                         contentUri, intent.getType(), contentType));
             }
             if (ContentType.TEXT_PLAIN.equals(contentType)) {
-                final String sharedText = intent.getStringExtra(Intent.EXTRA_TEXT);
+                String sharedText = intent.getStringExtra(Intent.EXTRA_TEXT);
+                if (sharedText == null) {
+                    // Try to get text string from content uri.
+                    sharedText = getTextStringFromContentUri(contentUri);
+                }
                 if (sharedText != null) {
-                    mDraftMessage = MessageData.createSharedMessage(sharedText);
+                    mDraftMessage = MessageData.createSharedMessage(sharedText, sharedSubject);
                 } else {
                     mDraftMessage = null;
                 }
-            } else if (ContentType.isImageType(contentType) ||
-                    ContentType.isVCardType(contentType) ||
-                    ContentType.isAudioType(contentType) ||
-                    ContentType.isVideoType(contentType)) {
+            } else if (PendingAttachmentData.isSupportedMediaType(contentType)) {
                 if (contentUri != null) {
-                    mDraftMessage = MessageData.createSharedMessage(null);
-                    addSharedImagePartToDraft(contentType, contentUri);
+                    mDraftMessage = MessageData.createSharedMessage(null, sharedSubject);
+                    addSharedPartToDraft(contentType, contentUri);
                 } else {
                     mDraftMessage = null;
                 }
             } else {
                 // Unsupported content type.
-                Assert.fail("Unsupported shared content type for " + contentUri + ": " + contentType
-                        + " (" + intent.getType() + ")");
+                LogUtil.e(LogUtil.BUGLE_TAG, "Unsupported shared content type for " + contentUri
+                        + ": " + contentType + " (" + intent.getType() + ")");
+                mDraftMessage = null;
             }
         } else if (Intent.ACTION_SEND_MULTIPLE.equals(action)) {
             final String contentType = intent.getType();
-            if (ContentType.isImageType(contentType)) {
-                // Handle sharing multiple images.
-                final ArrayList<Uri> imageUris = intent.getParcelableArrayListExtra(
-                        Intent.EXTRA_STREAM);
-                if (imageUris != null && imageUris.size() > 0) {
-                    mDraftMessage = MessageData.createSharedMessage(null);
-                    for (final Uri imageUri : imageUris) {
-                        if (UriUtil.isFileUri(imageUri)) {
-                            LogUtil.i(
-                                LogUtil.BUGLE_TAG,
+            // Handle sharing multiple contents.
+            final ArrayList<Uri> uris = intent.getParcelableArrayListExtra(Intent.EXTRA_STREAM);
+            if (uris != null && !uris.isEmpty()) {
+                ArrayMap<Uri, String> uriMap = new ArrayMap<Uri, String>();
+                StringBuffer strBuffer = new StringBuffer();
+                for (final Uri uri : uris) {
+                    if (UriUtil.isFileUri(uri)) {
+                        LogUtil.i(LogUtil.BUGLE_TAG,
                                 "Ignoring attachment from file URI which are no longer supported.");
-                            continue;
-                        }
-                        final String actualContentType = extractContentType(imageUri, contentType);
-                        addSharedImagePartToDraft(actualContentType, imageUri);
+                        continue;
                     }
-                } else {
-                    mDraftMessage = null;
+                    final String actualContentType = extractContentType(uri, contentType);
+                    if (ContentType.TEXT_PLAIN.equals(actualContentType)) {
+                        // Try to get text string from content uri.
+                        String sharedText = getTextStringFromContentUri(uri);
+                        if (sharedText != null) {
+                            if (strBuffer.length() > 0) {
+                                strBuffer.append("\n");
+                            }
+                            strBuffer.append(sharedText);
+                        }
+                    } else if (PendingAttachmentData.isSupportedMediaType(actualContentType)) {
+                        uriMap.put(uri, actualContentType);
+                    } else {
+                        // Unsupported content type.
+                        LogUtil.e(LogUtil.BUGLE_TAG, "Unsupported shared content type for " + uri
+                                + ": " + actualContentType);
+                    }
+                }
+
+                if (strBuffer.length() > 0 || !uriMap.isEmpty()) {
+                    mDraftMessage =
+                            MessageData.createSharedMessage(strBuffer.toString(), sharedSubject);
+                    for (final Map.Entry<Uri, String> e : uriMap.entrySet()) {
+                        addSharedPartToDraft(e.getValue(), e.getKey());
+                    }
                 }
             } else {
-                // Unsupported content type.
-                Assert.fail("Unsupported shared content type: " + contentType);
+                // No EXTRA_STREAM.
+                LogUtil.e(LogUtil.BUGLE_TAG, "No shared URI.");
+                mDraftMessage = null;
             }
         } else {
             // Unsupported action.
@@ -141,6 +175,40 @@
         }
     }
 
+    private static String getTextStringFromContentUri(final Uri contentUri) {
+        if (contentUri == null) {
+            return null;
+        }
+        final ContentResolver resolver = Factory.get().getApplicationContext().getContentResolver();
+        BufferedReader reader = null;
+        try {
+            final InputStream in = resolver.openInputStream(contentUri);
+            reader = new BufferedReader(new InputStreamReader(in));
+            String line = reader.readLine();
+            if (line == null) {
+                return null;
+            }
+            StringBuffer strBuffer = new StringBuffer(line);
+            while ((line = reader.readLine()) != null) {
+                strBuffer.append("\n").append(line);
+            }
+            return strBuffer.toString();
+        } catch (FileNotFoundException e) {
+            LogUtil.w(LogUtil.BUGLE_TAG, "Can not find contentUri " + contentUri);
+        } catch (IOException e) {
+            LogUtil.w(LogUtil.BUGLE_TAG, "Can not read contentUri", e);
+        } finally {
+            try {
+                if (reader != null) {
+                    reader.close();
+                }
+            } catch (IOException e) {
+                // Ignore
+            }
+        }
+        return null;
+    }
+
     private static String extractContentType(final Uri uri, final String contentType) {
         if (uri == null) {
             return contentType;
@@ -171,12 +239,12 @@
         return contentType;
     }
 
-    private void addSharedImagePartToDraft(final String contentType, final Uri imageUri) {
-        if (FileUtil.isInPrivateDir(imageUri)) {
-            Assert.fail("Cannot send private file " + imageUri.toString());
+    private void addSharedPartToDraft(final String contentType, final Uri uri) {
+        if (FileUtil.isInPrivateDir(uri)) {
+            Assert.fail("Cannot send private file " + uri.toString());
         } else {
-            mDraftMessage.addPart(PendingAttachmentData.createPendingAttachmentData(contentType,
-                    imageUri));
+            mDraftMessage.addPart(
+                    PendingAttachmentData.createPendingAttachmentData(contentType, uri));
         }
     }
 
diff --git a/src/com/android/messaging/ui/conversationsettings/PeopleAndOptionsFragment.java b/src/com/android/messaging/ui/conversationsettings/PeopleAndOptionsFragment.java
index b86d952..00af751 100644
--- a/src/com/android/messaging/ui/conversationsettings/PeopleAndOptionsFragment.java
+++ b/src/com/android/messaging/ui/conversationsettings/PeopleAndOptionsFragment.java
@@ -18,12 +18,12 @@
 import android.app.Activity;
 import android.app.AlertDialog;
 import android.app.Fragment;
+import android.app.NotificationManager;
 import android.content.Context;
 import android.content.DialogInterface;
 import android.content.Intent;
 import android.content.res.Resources;
 import android.database.Cursor;
-import android.media.RingtoneManager;
 import android.os.Bundle;
 import android.os.Parcelable;
 import android.provider.Settings;
@@ -49,6 +49,7 @@
 import com.android.messaging.ui.PersonItemView;
 import com.android.messaging.ui.UIIntents;
 import com.android.messaging.ui.conversation.ConversationActivity;
+import com.android.messaging.util.NotificationsUtil;
 import com.android.messaging.util.Assert;
 
 import java.util.ArrayList;
@@ -62,11 +63,10 @@
     private ListView mListView;
     private OptionsListAdapter mOptionsListAdapter;
     private PeopleListAdapter mPeopleListAdapter;
+    private List<ParticipantData> mOtherParticipants;
     private final Binding<PeopleAndOptionsData> mBinding =
             BindingBase.createBinding(this);
 
-    private static final int REQUEST_CODE_RINGTONE_PICKER = 1000;
-
     @Override
     public void onCreate(final Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
@@ -90,17 +90,6 @@
     }
 
     @Override
-    public void onActivityResult(final int requestCode, final int resultCode, final Intent data) {
-        super.onActivityResult(requestCode, resultCode, data);
-        if (resultCode == Activity.RESULT_OK && requestCode == REQUEST_CODE_RINGTONE_PICKER) {
-            final Parcelable pick = data.getParcelableExtra(
-                    RingtoneManager.EXTRA_RINGTONE_PICKED_URI);
-            final String pickedUri = pick == null ? "" : pick.toString();
-            mBinding.getData().setConversationNotificationSound(mBinding, pickedUri);
-        }
-    }
-
-    @Override
     public void onDestroy() {
         super.onDestroy();
         mBinding.unbind();
@@ -125,30 +114,31 @@
             final List<ParticipantData> participants) {
         mBinding.ensureBound(data);
         mPeopleListAdapter.updateParticipants(participants);
+        mOtherParticipants = participants;
         final ParticipantData otherParticipant = participants.size() == 1 ?
                 participants.get(0) : null;
         mOptionsListAdapter.setOtherParticipant(otherParticipant);
     }
 
     @Override
-    public void onOptionsItemViewClicked(final PeopleOptionsItemData item,
-            final boolean isChecked) {
+    public void onOptionsItemViewClicked(final PeopleOptionsItemData item) {
         switch (item.getItemId()) {
-            case PeopleOptionsItemData.SETTING_NOTIFICATION_ENABLED:
-                mBinding.getData().enableConversationNotifications(mBinding, isChecked);
-                break;
-
-            case PeopleOptionsItemData.SETTING_NOTIFICATION_SOUND_URI:
-                final Intent ringtonePickerIntent = UIIntents.get().getRingtonePickerIntent(
-                        getString(R.string.notification_sound_pref_title),
-                        item.getRingtoneUri(), Settings.System.DEFAULT_NOTIFICATION_URI,
-                        RingtoneManager.TYPE_NOTIFICATION);
-                startActivityForResult(ringtonePickerIntent, REQUEST_CODE_RINGTONE_PICKER);
-                break;
-
-            case PeopleOptionsItemData.SETTING_NOTIFICATION_VIBRATION:
-                mBinding.getData().enableConversationNotificationVibration(mBinding,
-                        isChecked);
+            case PeopleOptionsItemData.SETTING_NOTIFICATION:
+                ArrayList<String> participantsNames = new ArrayList<String>();
+                for (ParticipantData participant : mOtherParticipants) {
+                    participantsNames.add(participant.getDisplayName(true));
+                }
+                NotificationsUtil.createNotificationChannelGroup(getActivity(),
+                        NotificationsUtil.CONVERSATION_GROUP_NAME,
+                        R.string.notification_channel_messages_title);
+                NotificationsUtil.createNotificationChannel(getActivity(),
+                        mBinding.getData().getConversationId(),
+                        String.join(", ", participantsNames),
+                        NotificationManager.IMPORTANCE_DEFAULT,
+                        NotificationsUtil.CONVERSATION_GROUP_NAME);
+                Intent intent = new Intent(Settings.ACTION_APP_NOTIFICATION_SETTINGS);
+                intent.putExtra(Settings.EXTRA_APP_PACKAGE, getContext().getPackageName());
+                startActivity(intent);
                 break;
 
             case PeopleOptionsItemData.SETTING_BLOCKED:
diff --git a/src/com/android/messaging/ui/conversationsettings/PeopleOptionsItemView.java b/src/com/android/messaging/ui/conversationsettings/PeopleOptionsItemView.java
index 5b6f3b0..91fd10c 100644
--- a/src/com/android/messaging/ui/conversationsettings/PeopleOptionsItemView.java
+++ b/src/com/android/messaging/ui/conversationsettings/PeopleOptionsItemView.java
@@ -38,7 +38,7 @@
      * Implemented by the host of this view that handles options click event.
      */
     public interface HostInterface {
-        void onOptionsItemViewClicked(PeopleOptionsItemData item, boolean isChecked);
+        void onOptionsItemViewClicked(PeopleOptionsItemData item);
     }
 
     private TextView mTitle;
@@ -55,12 +55,10 @@
     @Override
     protected void onFinishInflate () {
         mTitle = (TextView) findViewById(R.id.title);
-        mSubtitle = (TextView) findViewById(R.id.subtitle);
-        mSwitch = (SwitchCompat) findViewById(R.id.switch_button);
         setOnClickListener(new OnClickListener() {
             @Override
             public void onClick(final View v) {
-                mHostInterface.onOptionsItemViewClicked(mData, !mData.getChecked());
+                mHostInterface.onOptionsItemViewClicked(mData);
             }
         });
     }
@@ -72,28 +70,5 @@
         mHostInterface = hostInterface;
 
         mTitle.setText(mData.getTitle());
-        final String subtitle = mData.getSubtitle();
-        if (TextUtils.isEmpty(subtitle)) {
-            mSubtitle.setVisibility(GONE);
-        } else {
-            mSubtitle.setVisibility(VISIBLE);
-            mSubtitle.setText(subtitle);
-        }
-
-        if (mData.getCheckable()) {
-            mSwitch.setVisibility(VISIBLE);
-            mSwitch.setChecked(mData.getChecked());
-        } else {
-            mSwitch.setVisibility(GONE);
-        }
-
-        final boolean enabled = mData.getEnabled();
-        if (enabled != isEnabled()) {
-            mTitle.setEnabled(enabled);
-            mSubtitle.setEnabled(enabled);
-            mSwitch.setEnabled(enabled);
-            setAlpha(enabled ? 1.0f : 0.5f);
-            setEnabled(enabled);
-        }
     }
 }
diff --git a/src/com/android/messaging/ui/debug/DebugMmsConfigFragment.java b/src/com/android/messaging/ui/debug/DebugMmsConfigFragment.java
index 7c54db5..f7da331 100644
--- a/src/com/android/messaging/ui/debug/DebugMmsConfigFragment.java
+++ b/src/com/android/messaging/ui/debug/DebugMmsConfigFragment.java
@@ -39,6 +39,7 @@
 
 import java.util.ArrayList;
 import java.util.Collections;
+import java.util.Iterator;
 import java.util.List;
 
 /**
@@ -103,6 +104,13 @@
             mInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
             mMmsConfig = MmsConfig.get(subId);
             mKeys = new ArrayList<>(mMmsConfig.keySet());
+            Iterator<String> it = mKeys.iterator();
+            while (it.hasNext()) {
+                // Remove a config if the MmsConfig.sKeyTypeMap doesn't have it.
+                if (MmsConfig.getKeyType(it.next()) == null) {
+                    it.remove();
+                }
+            }
             Collections.sort(mKeys);
         }
 
@@ -125,7 +133,7 @@
 
         @Override
         public void onValueChanged(String key, String keyType, String value) {
-            mMmsConfig.update(key, value, keyType);
+            mMmsConfig.update(keyType, key, value);
             notifyDataSetChanged();
         }
 
diff --git a/src/com/android/messaging/ui/mediapicker/AudioMediaChooser.java b/src/com/android/messaging/ui/mediapicker/AudioMediaChooser.java
index 5d79293..3553f10 100644
--- a/src/com/android/messaging/ui/mediapicker/AudioMediaChooser.java
+++ b/src/com/android/messaging/ui/mediapicker/AudioMediaChooser.java
@@ -123,6 +123,10 @@
             final int requestCode, final String permissions[], final int[] grantResults) {
         if (requestCode == MediaPicker.RECORD_AUDIO_PERMISSION_REQUEST_CODE) {
             final boolean permissionGranted = grantResults[0] == PackageManager.PERMISSION_GRANTED;
+            // onRequestPermissionsResult can sometimes get called before createView().
+            if (mEnabledView == null) {
+                return;
+            }
             mEnabledView.setVisibility(permissionGranted ? View.VISIBLE : View.GONE);
             mMissingPermissionView.setVisibility(permissionGranted ? View.GONE : View.VISIBLE);
         }
diff --git a/src/com/android/messaging/ui/mediapicker/CameraManager.java b/src/com/android/messaging/ui/mediapicker/CameraManager.java
index 835fab3..fb5c9bf 100644
--- a/src/com/android/messaging/ui/mediapicker/CameraManager.java
+++ b/src/com/android/messaging/ui/mediapicker/CameraManager.java
@@ -636,6 +636,7 @@
             }
         }
 
+        mMediaRecorder.closeVideoFileDescriptor();
         mMediaRecorder.release();
         mMediaRecorder = null;
 
diff --git a/src/com/android/messaging/ui/mediapicker/ContactMediaChooser.java b/src/com/android/messaging/ui/mediapicker/ContactMediaChooser.java
new file mode 100644
index 0000000..a81ed08
--- /dev/null
+++ b/src/com/android/messaging/ui/mediapicker/ContactMediaChooser.java
@@ -0,0 +1,144 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.messaging.ui.mediapicker;
+
+import android.Manifest;
+import android.app.Activity;
+import android.content.Intent;
+import android.content.pm.PackageManager;
+import android.database.Cursor;
+import android.net.Uri;
+import android.provider.ContactsContract.Contacts;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+import com.android.messaging.R;
+import com.android.messaging.datamodel.data.PendingAttachmentData;
+import com.android.messaging.ui.UIIntents;
+import com.android.messaging.util.ContactUtil;
+import com.android.messaging.util.ContentType;
+import com.android.messaging.util.SafeAsyncTask;
+
+/**
+ * Chooser which allows the user to select an existing contact from contacts apps on this device.
+ * Note that this chooser requires the Manifest.permission.READ_CONTACTS which is one of the miminum
+ * set of permissions for this app. Thus no case to request READ_CONTACTS permission on it actually.
+ */
+class ContactMediaChooser extends MediaChooser {
+    private View mEnabledView;
+    private View mMissingPermissionView;
+
+    ContactMediaChooser(final MediaPicker mediaPicker) {
+        super(mediaPicker);
+    }
+
+    @Override
+    public int getSupportedMediaTypes() {
+        return MediaPicker.MEDIA_TYPE_VCARD;
+    }
+
+    @Override
+    public int getIconResource() {
+        return R.drawable.ic_person_light;
+    }
+
+    @Override
+    public int getIconDescriptionResource() {
+        return R.string.mediapicker_contactChooserDescription;
+    }
+
+    @Override
+    int getActionBarTitleResId() {
+        return R.string.mediapicker_contact_title;
+    }
+
+    @Override
+    protected View createView(final ViewGroup container) {
+        final LayoutInflater inflater = getLayoutInflater();
+        final View view =
+                inflater.inflate(
+                        R.layout.mediapicker_contact_chooser,
+                        container /* root */,
+                        false /* attachToRoot */);
+        mEnabledView = view.findViewById(R.id.mediapicker_enabled);
+        mMissingPermissionView = view.findViewById(R.id.missing_permission_view);
+        mEnabledView.setOnClickListener(
+                new View.OnClickListener() {
+                    @Override
+                    public void onClick(final View v) {
+                        // Launch an external picker to pick a contact as attachment.
+                        UIIntents.get().launchContactCardPicker(mMediaPicker);
+                    }
+                });
+        return view;
+    }
+
+    @Override
+    protected void setSelected(final boolean selected) {
+        super.setSelected(selected);
+        if (selected && !ContactUtil.hasReadContactsPermission()) {
+            mMediaPicker.requestPermissions(
+                    new String[] {Manifest.permission.READ_CONTACTS},
+                    MediaPicker.READ_CONTACT_PERMISSION_REQUEST_CODE);
+        }
+    }
+
+    @Override
+    protected void onRequestPermissionsResult(
+            final int requestCode, final String permissions[], final int[] grantResults) {
+        if (requestCode == MediaPicker.READ_CONTACT_PERMISSION_REQUEST_CODE) {
+            final boolean permissionGranted = grantResults[0] == PackageManager.PERMISSION_GRANTED;
+            mEnabledView.setVisibility(permissionGranted ? View.VISIBLE : View.GONE);
+            mMissingPermissionView.setVisibility(permissionGranted ? View.GONE : View.VISIBLE);
+        }
+    }
+
+    @Override
+    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
+        if (requestCode == UIIntents.REQUEST_PICK_CONTACT_CARD
+                && resultCode == Activity.RESULT_OK) {
+            Uri contactUri = data.getData();
+            if (contactUri != null) {
+                String lookupKey = null;
+                try (final Cursor c = getContext().getContentResolver().query(
+                                        contactUri,
+                                        new String[] {Contacts.LOOKUP_KEY},
+                                        null,
+                                        null,
+                                        null)) {
+                    if (c != null) {
+                        c.moveToFirst();
+                        lookupKey = c.getString(0);
+                    }
+                }
+                final Uri vCardUri = Uri.withAppendedPath(Contacts.CONTENT_VCARD_URI, lookupKey);
+                if (vCardUri != null) {
+                    SafeAsyncTask.executeOnThreadPool(new Runnable() {
+                        @Override
+                        public void run() {
+                            final PendingAttachmentData pendingItem =
+                                    PendingAttachmentData.createPendingAttachmentData(
+                                            ContentType.TEXT_VCARD.toLowerCase(), vCardUri);
+                            mMediaPicker.dispatchPendingItemAdded(pendingItem);
+                        }
+                    });
+                }
+            }
+        }
+    }
+}
diff --git a/src/com/android/messaging/ui/mediapicker/DocumentImagePicker.java b/src/com/android/messaging/ui/mediapicker/DocumentImagePicker.java
index bb267da..c36467c 100644
--- a/src/com/android/messaging/ui/mediapicker/DocumentImagePicker.java
+++ b/src/com/android/messaging/ui/mediapicker/DocumentImagePicker.java
@@ -15,7 +15,6 @@
  */
 package com.android.messaging.ui.mediapicker;
 
-import android.app.Activity;
 import android.app.Fragment;
 import android.content.Intent;
 import android.net.Uri;
@@ -30,8 +29,8 @@
 import com.android.messaging.util.SafeAsyncTask;
 
 /**
- * Wraps around the functionalities to allow the user to pick images from the document
- * picker.  Instances of this class must be tied to a Fragment which is able to delegate activity
+ * Wraps around the functionalities to allow the user to pick an image/video/audio from the document
+ * picker. Instances of this class must be tied to a Fragment which is able to delegate activity
  * result callbacks.
  */
 public class DocumentImagePicker {
@@ -79,30 +78,27 @@
      * Must be called from the fragment/activity's onActivityResult().
      */
     public void onActivityResult(final int requestCode, final int resultCode, final Intent data) {
-        if (requestCode == UIIntents.REQUEST_PICK_IMAGE_FROM_DOCUMENT_PICKER &&
-                resultCode == Activity.RESULT_OK) {
-            // Sometimes called after media item has been picked from the document picker.
-            String url = data.getStringExtra(EXTRA_PHOTO_URL);
+        // Sometimes called after media item has been picked from the document picker.
+        String url = data.getStringExtra(EXTRA_PHOTO_URL);
+        if (url == null) {
+            // we're using the builtin photo picker which supplies the return
+            // url as it's "data"
+            url = data.getDataString();
             if (url == null) {
-                // we're using the builtin photo picker which supplies the return
-                // url as it's "data"
-                url = data.getDataString();
-                if (url == null) {
-                    final Bundle extras = data.getExtras();
-                    if (extras != null) {
-                        final Uri uri = (Uri) extras.getParcelable(Intent.EXTRA_STREAM);
-                        if (uri != null) {
-                            url = uri.toString();
-                        }
+                final Bundle extras = data.getExtras();
+                if (extras != null) {
+                    final Uri uri = (Uri) extras.getParcelable(Intent.EXTRA_STREAM);
+                    if (uri != null) {
+                        url = uri.toString();
                     }
                 }
             }
+        }
 
-            // Guard against null uri cases for when the activity returns a null/invalid intent.
-            if (url != null) {
-                final Uri uri = Uri.parse(url);
-                prepareDocumentForAttachment(uri);
-            }
+        // Guard against null uri cases for when the activity returns a null/invalid intent.
+        if (url != null) {
+            final Uri uri = Uri.parse(url);
+            prepareDocumentForAttachment(uri);
         }
     }
 
diff --git a/src/com/android/messaging/ui/mediapicker/GalleryGridItemView.java b/src/com/android/messaging/ui/mediapicker/GalleryGridItemView.java
index 3d71fe6..6cf509b 100644
--- a/src/com/android/messaging/ui/mediapicker/GalleryGridItemView.java
+++ b/src/com/android/messaging/ui/mediapicker/GalleryGridItemView.java
@@ -17,6 +17,7 @@
 
 import android.content.Context;
 import android.database.Cursor;
+import android.graphics.PorterDuff;
 import android.graphics.Rect;
 import android.util.AttributeSet;
 import android.view.MotionEvent;
@@ -24,13 +25,17 @@
 import android.view.View;
 import android.widget.CheckBox;
 import android.widget.FrameLayout;
-import android.widget.ImageView.ScaleType;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.RelativeLayout;
+import android.widget.TextView;
 
 import com.android.messaging.R;
 import com.android.messaging.datamodel.DataModel;
 import com.android.messaging.datamodel.data.GalleryGridItemData;
 import com.android.messaging.ui.AsyncImageView;
 import com.android.messaging.ui.ConversationDrawables;
+import com.android.messaging.util.ContentType;
 import com.google.common.annotations.VisibleForTesting;
 
 import java.util.concurrent.TimeUnit;
@@ -53,6 +58,11 @@
     GalleryGridItemData mData;
     private AsyncImageView mImageView;
     private CheckBox mCheckBox;
+    private RelativeLayout mAdditionalInfo;
+    private ImageView mIcon;
+    private LinearLayout mFileInfo;
+    private TextView mFileName;
+    private TextView mFileType;
     private HostInterface mHostInterface;
     private final OnClickListener mOnClickListener = new OnClickListener() {
         @Override
@@ -69,9 +79,14 @@
     @Override
     protected void onFinishInflate() {
         super.onFinishInflate();
-        mImageView = (AsyncImageView) findViewById(R.id.image);
+        mImageView = (AsyncImageView) findViewById(R.id.thumbnail);
         mCheckBox = (CheckBox) findViewById(R.id.checkbox);
         mCheckBox.setOnClickListener(mOnClickListener);
+        mAdditionalInfo = (RelativeLayout) findViewById(R.id.additional_info);
+        mIcon = (ImageView) findViewById(R.id.icon);
+        mFileInfo = (LinearLayout) findViewById(R.id.file_info);
+        mFileName = (TextView) findViewById(R.id.file_name);
+        mFileType = (TextView) findViewById(R.id.file_type);
         setOnClickListener(mOnClickListener);
         final OnLongClickListener longClickListener = new OnLongClickListener() {
             @Override
@@ -136,24 +151,53 @@
 
     private void updateImageView() {
         if (mData.isDocumentPickerItem()) {
-            mImageView.setScaleType(ScaleType.CENTER);
             setBackgroundColor(ConversationDrawables.get().getConversationThemeColor());
-            mImageView.setImageResourceId(null);
-            mImageView.setImageResource(R.drawable.ic_photo_library_light);
-            mImageView.setContentDescription(getResources().getString(
-                    R.string.pick_image_from_document_library_content_description));
+            mIcon.setImageResource(R.drawable.ic_photo_library_light);
+            mIcon.clearColorFilter();
+            mImageView.setVisibility(GONE);
+            mIcon.setVisibility(VISIBLE);
+            mFileInfo.setVisibility(GONE);
+            mAdditionalInfo.setVisibility(VISIBLE);
         } else {
-            mImageView.setScaleType(ScaleType.CENTER_CROP);
-            setBackgroundColor(getResources().getColor(R.color.gallery_image_default_background));
-            mImageView.setImageResourceId(mData.getImageRequestDescriptor());
-            final long dateSeconds = mData.getDateSeconds();
-            final boolean isValidDate = (dateSeconds > 0);
-            final int templateId = isValidDate ?
-                    R.string.mediapicker_gallery_image_item_description :
-                    R.string.mediapicker_gallery_image_item_description_no_date;
-            String contentDescription = String.format(getResources().getString(templateId),
-                    dateSeconds * TimeUnit.SECONDS.toMillis(1));
-            mImageView.setContentDescription(contentDescription);
+            final String contentType = mData.getContentType();
+            if (ContentType.isAudioType(contentType)) {
+                setBackgroundColor(
+                        getResources().getColor(R.color.gallery_image_default_background));
+                mIcon.setImageResource(R.drawable.ic_music);
+                mIcon.setColorFilter(
+                        ConversationDrawables.get().getConversationThemeColor(),
+                        PorterDuff.Mode.SRC_IN);
+                mFileName.setText(mData.getFileName());
+                String[] type = contentType.split("/");
+                mFileType.setText(type[1].toUpperCase() + " " + type[0]);
+                mImageView.setVisibility(GONE);
+                mIcon.setVisibility(VISIBLE);
+                mFileInfo.setVisibility(VISIBLE);
+                mAdditionalInfo.setVisibility(VISIBLE);
+            } else { // For image and video types
+                mImageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
+                setBackgroundColor(
+                        getResources().getColor(R.color.gallery_image_default_background));
+                mImageView.setImageResourceId(mData.getImageRequestDescriptor());
+                mImageView.setVisibility(VISIBLE);
+                if (ContentType.isVideoType(mData.getContentType())) {
+                    mIcon.setImageResource(R.drawable.ic_video_play_light);
+                    mIcon.clearColorFilter();
+                    mIcon.setVisibility(VISIBLE);
+                } else {
+                    mIcon.setVisibility(GONE);
+                }
+                mFileInfo.setVisibility(GONE);
+                mAdditionalInfo.setVisibility(VISIBLE);
+                final long dateSeconds = mData.getDateSeconds();
+                final boolean isValidDate = (dateSeconds > 0);
+                final int templateId = isValidDate ?
+                        R.string.mediapicker_gallery_image_item_description :
+                        R.string.mediapicker_gallery_image_item_description_no_date;
+                String contentDescription = String.format(getResources().getString(templateId),
+                        dateSeconds * TimeUnit.SECONDS.toMillis(1));
+                mImageView.setContentDescription(contentDescription);
+            }
         }
     }
 }
diff --git a/src/com/android/messaging/ui/mediapicker/GalleryGridView.java b/src/com/android/messaging/ui/mediapicker/GalleryGridView.java
index 2265dd5..39912f9 100644
--- a/src/com/android/messaging/ui/mediapicker/GalleryGridView.java
+++ b/src/com/android/messaging/ui/mediapicker/GalleryGridView.java
@@ -43,16 +43,16 @@
 import java.util.Map;
 
 /**
- * Shows a list of galley images from external storage in a GridView with multi-select
- * capabilities, and with the option to intent out to a standalone image picker.
+ * Shows a list of galley mediae from external storage in a GridView with multi-select capabilities,
+ * and with the option to intent out to a standalone media picker.
  */
 public class GalleryGridView extends MediaPickerGridView implements
         GalleryGridItemView.HostInterface,
         PersistentInstanceState,
         DraftMessageDataListener {
     /**
-     * Implemented by the owner of this GalleryGridView instance to communicate on image
-     * picking and multi-image selection events.
+     * Implemented by the owner of this GalleryGridView instance to communicate on media picking and
+     * multi-media selection events.
      */
     public interface GalleryGridViewListener {
         void onDocumentPickerItemClicked();
@@ -127,7 +127,7 @@
             final MessagePartData item = mSelectedImages.remove(data.getImageUri());
             mListener.onItemUnselected(item);
             if (mSelectedImages.size() == 0) {
-                // No image is selected any more, turn off multi-select mode.
+                // No media is selected any more, turn off multi-select mode.
                 setMultiSelectEnabled(false);
             }
         } else {
diff --git a/src/com/android/messaging/ui/mediapicker/GalleryMediaChooser.java b/src/com/android/messaging/ui/mediapicker/GalleryMediaChooser.java
index 1b8c2dc..6192c4f 100644
--- a/src/com/android/messaging/ui/mediapicker/GalleryMediaChooser.java
+++ b/src/com/android/messaging/ui/mediapicker/GalleryMediaChooser.java
@@ -17,6 +17,8 @@
 package com.android.messaging.ui.mediapicker;
 
 import android.Manifest;
+import android.app.Activity;
+import android.content.Intent;
 import android.content.pm.PackageManager;
 import android.database.Cursor;
 import android.database.MatrixCursor;
@@ -35,11 +37,14 @@
 import com.android.messaging.datamodel.data.MediaPickerData;
 import com.android.messaging.datamodel.data.MessagePartData;
 import com.android.messaging.datamodel.data.MediaPickerData.MediaPickerDataListener;
+import com.android.messaging.datamodel.data.PendingAttachmentData;
+import com.android.messaging.ui.UIIntents;
+import com.android.messaging.ui.mediapicker.DocumentImagePicker.SelectionListener;
 import com.android.messaging.util.Assert;
 import com.android.messaging.util.OsUtil;
 
 /**
- * Chooser which allows the user to select one or more existing images or videos
+ * Chooser which allows the user to select one or more existing images or videos or audios.
  */
 class GalleryMediaChooser extends MediaChooser implements
         GalleryGridView.GalleryGridViewListener, MediaPickerDataListener {
@@ -47,14 +52,28 @@
     private GalleryGridView mGalleryGridView;
     private View mMissingPermissionView;
 
+    /** Handles picking a media from the document picker. */
+    private DocumentImagePicker mDocumentImagePicker;
+
     GalleryMediaChooser(final MediaPicker mediaPicker) {
         super(mediaPicker);
         mAdapter = new GalleryGridAdapter(Factory.get().getApplicationContext(), null);
+        mDocumentImagePicker = new DocumentImagePicker(mMediaPicker,
+                new SelectionListener() {
+                    @Override
+                    public void onDocumentSelected(final PendingAttachmentData data) {
+                        if (mBindingRef.isBound()) {
+                            mMediaPicker.dispatchPendingItemAdded(data);
+                        }
+                    }
+                });
     }
 
     @Override
     public int getSupportedMediaTypes() {
-        return MediaPicker.MEDIA_TYPE_IMAGE | MediaPicker.MEDIA_TYPE_VIDEO;
+        return (MediaPicker.MEDIA_TYPE_IMAGE
+                | MediaPicker.MEDIA_TYPE_VIDEO
+                | MediaPicker.MEDIA_TYPE_AUDIO);
     }
 
     @Override
@@ -63,7 +82,7 @@
         mAdapter.setHostInterface(null);
         // The loader is started only if startMediaPickerDataLoader() is called
         if (OsUtil.hasStoragePermission()) {
-            mBindingRef.getData().destroyLoader(MediaPickerData.GALLERY_IMAGE_LOADER);
+            mBindingRef.getData().destroyLoader(MediaPickerData.GALLERY_MEDIA_LOADER);
         }
         return super.destroyView();
     }
@@ -121,7 +140,7 @@
     protected View createView(final ViewGroup container) {
         final LayoutInflater inflater = getLayoutInflater();
         final View view = inflater.inflate(
-                R.layout.mediapicker_image_chooser,
+                R.layout.mediapicker_gallery_chooser,
                 container /* root */,
                 false /* attachToRoot */);
 
@@ -146,7 +165,8 @@
 
     @Override
     public void onDocumentPickerItemClicked() {
-        mMediaPicker.launchDocumentPicker();
+        // Launch an external picker to pick item from document picker as attachment.
+        mDocumentImagePicker.launchPicker();
     }
 
     @Override
@@ -167,7 +187,7 @@
     public void onMediaPickerDataUpdated(final MediaPickerData mediaPickerData, final Object data,
             final int loaderId) {
         mBindingRef.ensureBound(mediaPickerData);
-        Assert.equals(MediaPickerData.GALLERY_IMAGE_LOADER, loaderId);
+        Assert.equals(MediaPickerData.GALLERY_MEDIA_LOADER, loaderId);
         Cursor rawCursor = null;
         if (data instanceof Cursor) {
             rawCursor = (Cursor) data;
@@ -202,8 +222,9 @@
     }
 
     private void startMediaPickerDataLoader() {
-        mBindingRef.getData().startLoader(MediaPickerData.GALLERY_IMAGE_LOADER, mBindingRef, null,
-                this);
+        mBindingRef
+                .getData()
+                .startLoader(MediaPickerData.GALLERY_MEDIA_LOADER, mBindingRef, null, this);
     }
 
     @Override
@@ -227,4 +248,13 @@
         mGalleryGridView.setVisibility(granted ? View.VISIBLE : View.GONE);
         mMissingPermissionView.setVisibility(granted ? View.GONE : View.VISIBLE);
     }
+
+    @Override
+    protected void onActivityResult(
+            final int requestCode, final int resultCode, final Intent data) {
+        if (requestCode == UIIntents.REQUEST_PICK_MEDIA_FROM_DOCUMENT_PICKER
+                && resultCode == Activity.RESULT_OK) {
+            mDocumentImagePicker.onActivityResult(requestCode, resultCode, data);
+        }
+    }
 }
diff --git a/src/com/android/messaging/ui/mediapicker/MediaChooser.java b/src/com/android/messaging/ui/mediapicker/MediaChooser.java
index ef4067c..0549e5b 100644
--- a/src/com/android/messaging/ui/mediapicker/MediaChooser.java
+++ b/src/com/android/messaging/ui/mediapicker/MediaChooser.java
@@ -18,6 +18,7 @@
 
 import android.app.FragmentManager;
 import android.content.Context;
+import android.content.Intent;
 import androidx.appcompat.app.ActionBar;
 import android.view.LayoutInflater;
 import android.view.Menu;
@@ -203,6 +204,9 @@
     public void stopTouchHandling() {
     }
 
+    protected void onActivityResult(
+            final int requestCode, final int resultCode, final Intent data) {}
+
     @Override
     public int getConversationSelfSubId() {
         return mMediaPicker.getConversationSelfSubId();
diff --git a/src/com/android/messaging/ui/mediapicker/MediaPicker.java b/src/com/android/messaging/ui/mediapicker/MediaPicker.java
index 8e5198b..c7faa33 100644
--- a/src/com/android/messaging/ui/mediapicker/MediaPicker.java
+++ b/src/com/android/messaging/ui/mediapicker/MediaPicker.java
@@ -16,7 +16,6 @@
 
 package com.android.messaging.ui.mediapicker;
 
-
 import android.app.Activity;
 import android.app.Fragment;
 import android.content.Context;
@@ -48,7 +47,6 @@
 import com.android.messaging.datamodel.data.DraftMessageData.DraftMessageSubscriptionDataProvider;
 import com.android.messaging.ui.BugleActionBarActivity;
 import com.android.messaging.ui.FixedViewPagerAdapter;
-import com.android.messaging.ui.mediapicker.DocumentImagePicker.SelectionListener;
 import com.android.messaging.util.AccessibilityUtil;
 import com.android.messaging.util.Assert;
 import com.android.messaging.util.UiUtils;
@@ -159,9 +157,6 @@
     @VisibleForTesting
     final Binding<MediaPickerData> mBinding = BindingBase.createBinding(this);
 
-    /** Handles picking image from the document picker */
-    private DocumentImagePicker mDocumentImagePicker;
-
     /** Provides subscription-related data to access per-subscription configurations. */
     private DraftMessageSubscriptionDataProvider mSubscriptionDataProvider;
 
@@ -179,6 +174,7 @@
             new CameraMediaChooser(this),
             new GalleryMediaChooser(this),
             new AudioMediaChooser(this),
+            new ContactMediaChooser(this),
         };
 
         mOpen = false;
@@ -203,15 +199,6 @@
     public void onCreate(final Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         mBinding.getData().init(getLoaderManager());
-        mDocumentImagePicker = new DocumentImagePicker(this,
-                new SelectionListener() {
-            @Override
-            public void onDocumentSelected(final PendingAttachmentData data) {
-                if (mBinding.isBound()) {
-                    dispatchPendingItemAdded(data);
-                }
-            }
-        });
     }
 
     @Override
@@ -295,7 +282,7 @@
     @Override
     public void onActivityResult(final int requestCode, final int resultCode, final Intent data) {
         super.onActivityResult(requestCode, resultCode, data);
-        mDocumentImagePicker.onActivityResult(requestCode, resultCode, data);
+        mSelectedChooser.onActivityResult(requestCode, resultCode, data);
     }
 
     @Override
@@ -710,13 +697,6 @@
         mPagerAdapter.resetState();
     }
 
-    /**
-     * Launch an external picker to pick item from document picker as attachment.
-     */
-    public void launchDocumentPicker() {
-        mDocumentImagePicker.launchPicker();
-    }
-
     public ImmutableBindingRef<MediaPickerData> getMediaPickerDataBinding() {
         return BindingBase.createBindingReference(mBinding);
     }
@@ -725,6 +705,7 @@
     protected static final int LOCATION_PERMISSION_REQUEST_CODE = 2;
     protected static final int RECORD_AUDIO_PERMISSION_REQUEST_CODE = 3;
     protected static final int GALLERY_PERMISSION_REQUEST_CODE = 4;
+    protected static final int READ_CONTACT_PERMISSION_REQUEST_CODE = 5;
 
     @Override
     public void onRequestPermissionsResult(
diff --git a/src/com/android/messaging/ui/mediapicker/MmsVideoRecorder.java b/src/com/android/messaging/ui/mediapicker/MmsVideoRecorder.java
index 7ac7871..89241b7 100644
--- a/src/com/android/messaging/ui/mediapicker/MmsVideoRecorder.java
+++ b/src/com/android/messaging/ui/mediapicker/MmsVideoRecorder.java
@@ -20,6 +20,7 @@
 import android.media.CamcorderProfile;
 import android.media.MediaRecorder;
 import android.net.Uri;
+import android.os.ParcelFileDescriptor;
 
 import com.android.messaging.Factory;
 import com.android.messaging.datamodel.MediaScratchFileProvider;
@@ -27,6 +28,7 @@
 import com.android.messaging.util.SafeAsyncTask;
 
 import java.io.FileNotFoundException;
+import java.io.IOException;
 
 class MmsVideoRecorder extends MediaRecorder {
     private static final float VIDEO_OVERSHOOT_SLOP = .85F;
@@ -39,6 +41,8 @@
     /** The uri where video is being recorded to */
     private Uri mTempVideoUri;
 
+    private ParcelFileDescriptor mVideoFD;
+
     /** The settings used for video recording */
     private final CamcorderProfile mCamcorderProfile;
 
@@ -75,9 +79,9 @@
         setAudioSource(MediaRecorder.AudioSource.CAMCORDER);
         setVideoSource(MediaRecorder.VideoSource.CAMERA);
         setOutputFormat(mCamcorderProfile.fileFormat);
-        setOutputFile(
-                Factory.get().getApplicationContext().getContentResolver().openFileDescriptor(
-                        mTempVideoUri, "w").getFileDescriptor());
+        mVideoFD = Factory.get().getApplicationContext().getContentResolver()
+                .openFileDescriptor(mTempVideoUri, "w");
+        setOutputFile(mVideoFD.getFileDescriptor());
 
         // Copy settings from CamcorderProfile to MediaRecorder
         setAudioEncodingBitRate(audioBitRate);
@@ -124,4 +128,15 @@
             return ContentType.VIDEO_3GPP;
         }
     }
+
+    public void closeVideoFileDescriptor() {
+        if (mVideoFD != null) {
+            try {
+                mVideoFD.close();
+            } catch (IOException e) {
+                // Ignore
+            }
+            mVideoFD = null;
+        }
+    }
 }
diff --git a/src/com/android/messaging/util/BuglePrefsKeys.java b/src/com/android/messaging/util/BuglePrefsKeys.java
index ae409bc..a30b5a3 100644
--- a/src/com/android/messaging/util/BuglePrefsKeys.java
+++ b/src/com/android/messaging/util/BuglePrefsKeys.java
@@ -66,6 +66,6 @@
      * The attempt number when retrying ProcessPendingMessagesAction
      */
     public static final String PROCESS_PENDING_MESSAGES_RETRY_COUNT
-            = "process_pending_retry";
+            = BuglePrefs.SHARED_PREFERENCES_PER_SUBSCRIPTION_PREFIX + "process_pending_retry";
 
 }
diff --git a/src/com/android/messaging/util/ConnectivityUtil.java b/src/com/android/messaging/util/ConnectivityUtil.java
index 49f6e0a..a7467e4 100644
--- a/src/com/android/messaging/util/ConnectivityUtil.java
+++ b/src/com/android/messaging/util/ConnectivityUtil.java
@@ -16,40 +16,44 @@
 
 package com.android.messaging.util;
 
-import android.content.BroadcastReceiver;
 import android.content.Context;
-import android.content.Intent;
-import android.content.IntentFilter;
-import android.net.ConnectivityManager;
 import android.telephony.PhoneStateListener;
 import android.telephony.ServiceState;
-import android.telephony.SignalStrength;
 import android.telephony.TelephonyManager;
 
+import com.android.messaging.datamodel.data.ParticipantData;
+
+/**
+ * ConnectivityUtil listens to the network service state changes.
+ *
+ * On N and beyond, This class instance can be created via ConnectivityUtil(context, subId), use
+ * ConnectivityUtil(context) for others.
+ *
+ * Note that TelephonyManager has createForSubscriptionId() for a specific subId from N but listen()
+ * does not use the subId on the manager, and uses the default subId on PhoneStateListener. From O,
+ * the manager uses its' own subId in listen().
+ */
 public class ConnectivityUtil {
     // Assume not connected until informed differently
     private volatile int mCurrentServiceState = ServiceState.STATE_POWER_OFF;
 
     private final TelephonyManager mTelephonyManager;
-    private final Context mContext;
-    private final ConnectivityBroadcastReceiver mReceiver;
-    private final ConnectivityManager mConnMgr;
 
     private ConnectivityListener mListener;
-    private final IntentFilter mIntentFilter;
 
     public interface ConnectivityListener {
-        public void onConnectivityStateChanged(final Context context, final Intent intent);
-        public void onPhoneStateChanged(final Context context, int serviceState);
+        public void onPhoneStateChanged(int serviceState);
     }
 
     public ConnectivityUtil(final Context context) {
-        mContext = context;
         mTelephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
-        mConnMgr = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
-        mReceiver = new ConnectivityBroadcastReceiver();
-        mIntentFilter = new IntentFilter();
-        mIntentFilter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
+    }
+
+    public ConnectivityUtil(final Context context, final int subId) {
+        Assert.isTrue(OsUtil.isAtLeastN());
+        mTelephonyManager =
+                ((TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE))
+                        .createForSubscriptionId(subId);
     }
 
     public int getCurrentServiceState() {
@@ -75,14 +79,7 @@
     private void onPhoneStateChanged(final int serviceState) {
         final ConnectivityListener listener = mListener;
         if (listener != null) {
-            listener.onPhoneStateChanged(mContext, serviceState);
-        }
-    }
-
-    private void onConnectivityChanged(final Context context, final Intent intent) {
-        final ConnectivityListener listener = mListener;
-        if (listener != null) {
-            listener.onConnectivityStateChanged(context, intent);
+            listener.onPhoneStateChanged(serviceState);
         }
     }
 
@@ -95,9 +92,6 @@
                 mTelephonyManager.listen(mPhoneStateListener,
                         PhoneStateListener.LISTEN_SERVICE_STATE);
             }
-            if (mConnMgr != null) {
-                mContext.registerReceiver(mReceiver, mIntentFilter);
-            }
         }
         mListener = listener;
     }
@@ -108,140 +102,7 @@
                 mTelephonyManager.listen(mPhoneStateListener, PhoneStateListener.LISTEN_NONE);
                 mCurrentServiceState = ServiceState.STATE_POWER_OFF;
             }
-            if (mConnMgr != null) {
-                mContext.unregisterReceiver(mReceiver);
-            }
         }
         mListener = null;
     }
-
-    /**
-     * Connectivity change broadcast receiver. This gets the network connectivity updates.
-     * In case we don't get the active connectivity when we first acquire the network,
-     * this receiver will notify us when it is connected, so to unblock the waiting thread
-     * which is sending the message.
-     */
-    public class ConnectivityBroadcastReceiver extends BroadcastReceiver {
-        @Override
-        public void onReceive(final Context context, final Intent intent) {
-            if (!intent.getAction().equals(ConnectivityManager.CONNECTIVITY_ACTION)) {
-                return;
-            }
-
-            onConnectivityChanged(context, intent);
-        }
-    }
-
-    private int mSignalLevel = SIGNAL_STRENGTH_NONE_OR_UNKNOWN;
-
-    // We use a separate instance than mPhoneStateListener because the lifetimes are different.
-    private final PhoneStateListener mSignalStrengthListener = new PhoneStateListener() {
-        @Override
-        public void onSignalStrengthsChanged(final SignalStrength signalStrength) {
-            mSignalLevel = getLevel(signalStrength);
-        }
-    };
-
-    public void registerForSignalStrength() {
-        mTelephonyManager.listen(
-                mSignalStrengthListener, PhoneStateListener.LISTEN_SIGNAL_STRENGTHS);
-    }
-
-    public void unregisterForSignalStrength() {
-        mTelephonyManager.listen(mSignalStrengthListener, PhoneStateListener.LISTEN_NONE);
-    }
-
-    /**
-     * @param subId This is ignored because TelephonyManager does not support it.
-     * @return Signal strength as level 0..4
-     */
-    public int getSignalLevel(final int subId) {
-        return mSignalLevel;
-    }
-
-    private static final int SIGNAL_STRENGTH_NONE_OR_UNKNOWN = 0;
-    private static final int SIGNAL_STRENGTH_POOR = 1;
-    private static final int SIGNAL_STRENGTH_MODERATE = 2;
-    private static final int SIGNAL_STRENGTH_GOOD = 3;
-    private static final int SIGNAL_STRENGTH_GREAT = 4;
-
-    private static final int GSM_SIGNAL_STRENGTH_GREAT = 12;
-    private static final int GSM_SIGNAL_STRENGTH_GOOD = 8;
-    private static final int GSM_SIGNAL_STRENGTH_MODERATE = 8;
-
-    private static int getLevel(final SignalStrength signalStrength) {
-        if (signalStrength.isGsm()) {
-            // From frameworks/base/telephony/java/android/telephony/CellSignalStrengthGsm.java
-
-            // ASU ranges from 0 to 31 - TS 27.007 Sec 8.5
-            // asu = 0 (-113dB or less) is very weak
-            // signal, its better to show 0 bars to the user in such cases.
-            // asu = 99 is a special case, where the signal strength is unknown.
-            final int asu = signalStrength.getGsmSignalStrength();
-            if (asu <= 2 || asu == 99) return SIGNAL_STRENGTH_NONE_OR_UNKNOWN;
-            else if (asu >= GSM_SIGNAL_STRENGTH_GREAT) return SIGNAL_STRENGTH_GREAT;
-            else if (asu >= GSM_SIGNAL_STRENGTH_GOOD) return SIGNAL_STRENGTH_GOOD;
-            else if (asu >= GSM_SIGNAL_STRENGTH_MODERATE) return SIGNAL_STRENGTH_MODERATE;
-            else return SIGNAL_STRENGTH_POOR;
-        } else {
-            // From frameworks/base/telephony/java/android/telephony/CellSignalStrengthCdma.java
-
-            final int cdmaLevel = getCdmaLevel(signalStrength);
-            final int evdoLevel = getEvdoLevel(signalStrength);
-            if (evdoLevel == SIGNAL_STRENGTH_NONE_OR_UNKNOWN) {
-                /* We don't know evdo, use cdma */
-                return getCdmaLevel(signalStrength);
-            } else if (cdmaLevel == SIGNAL_STRENGTH_NONE_OR_UNKNOWN) {
-                /* We don't know cdma, use evdo */
-                return getEvdoLevel(signalStrength);
-            } else {
-                /* We know both, use the lowest level */
-                return cdmaLevel < evdoLevel ? cdmaLevel : evdoLevel;
-            }
-        }
-    }
-
-    /**
-     * Get cdma as level 0..4
-     */
-    private static int getCdmaLevel(final SignalStrength signalStrength) {
-        final int cdmaDbm = signalStrength.getCdmaDbm();
-        final int cdmaEcio = signalStrength.getCdmaEcio();
-        int levelDbm;
-        int levelEcio;
-        if (cdmaDbm >= -75) levelDbm = SIGNAL_STRENGTH_GREAT;
-        else if (cdmaDbm >= -85) levelDbm = SIGNAL_STRENGTH_GOOD;
-        else if (cdmaDbm >= -95) levelDbm = SIGNAL_STRENGTH_MODERATE;
-        else if (cdmaDbm >= -100) levelDbm = SIGNAL_STRENGTH_POOR;
-        else levelDbm = SIGNAL_STRENGTH_NONE_OR_UNKNOWN;
-        // Ec/Io are in dB*10
-        if (cdmaEcio >= -90) levelEcio = SIGNAL_STRENGTH_GREAT;
-        else if (cdmaEcio >= -110) levelEcio = SIGNAL_STRENGTH_GOOD;
-        else if (cdmaEcio >= -130) levelEcio = SIGNAL_STRENGTH_MODERATE;
-        else if (cdmaEcio >= -150) levelEcio = SIGNAL_STRENGTH_POOR;
-        else levelEcio = SIGNAL_STRENGTH_NONE_OR_UNKNOWN;
-        final int level = (levelDbm < levelEcio) ? levelDbm : levelEcio;
-        return level;
-    }
-    /**
-     * Get Evdo as level 0..4
-     */
-    private static int getEvdoLevel(final SignalStrength signalStrength) {
-        final int evdoDbm = signalStrength.getEvdoDbm();
-        final int evdoSnr = signalStrength.getEvdoSnr();
-        int levelEvdoDbm;
-        int levelEvdoSnr;
-        if (evdoDbm >= -65) levelEvdoDbm = SIGNAL_STRENGTH_GREAT;
-        else if (evdoDbm >= -75) levelEvdoDbm = SIGNAL_STRENGTH_GOOD;
-        else if (evdoDbm >= -90) levelEvdoDbm = SIGNAL_STRENGTH_MODERATE;
-        else if (evdoDbm >= -105) levelEvdoDbm = SIGNAL_STRENGTH_POOR;
-        else levelEvdoDbm = SIGNAL_STRENGTH_NONE_OR_UNKNOWN;
-        if (evdoSnr >= 7) levelEvdoSnr = SIGNAL_STRENGTH_GREAT;
-        else if (evdoSnr >= 5) levelEvdoSnr = SIGNAL_STRENGTH_GOOD;
-        else if (evdoSnr >= 3) levelEvdoSnr = SIGNAL_STRENGTH_MODERATE;
-        else if (evdoSnr >= 1) levelEvdoSnr = SIGNAL_STRENGTH_POOR;
-        else levelEvdoSnr = SIGNAL_STRENGTH_NONE_OR_UNKNOWN;
-        final int level = (levelEvdoDbm < levelEvdoSnr) ? levelEvdoDbm : levelEvdoSnr;
-        return level;
-    }
 }
diff --git a/src/com/android/messaging/util/ContentType.java b/src/com/android/messaging/util/ContentType.java
index bb4a7b2..75fff93 100644
--- a/src/com/android/messaging/util/ContentType.java
+++ b/src/com/android/messaging/util/ContentType.java
@@ -168,6 +168,12 @@
         return contentType;
     }
 
+    public static String getExtensionFromMimeType(final String mimeType) {
+        final MimeTypeMap mimeTypeMap = MimeTypeMap.getSingleton();
+        final String extension = mimeTypeMap.getExtensionFromMimeType(mimeType);
+        return extension;
+    }
+
     /**
      * Get the common file extension for a given content type
      * @param contentType The content type
diff --git a/src/com/android/messaging/util/DebugUtils.java b/src/com/android/messaging/util/DebugUtils.java
index 1362f83..6e33f48 100644
--- a/src/com/android/messaging/util/DebugUtils.java
+++ b/src/com/android/messaging/util/DebugUtils.java
@@ -291,9 +291,10 @@
                 dis = new DataInputStream(fis);
 
                 // SMS dump
+                String format = null;
                 final int chars = dis.readInt();
                 if (chars > 0) {
-                    final String format = dis.readUTF();
+                    format = dis.readUTF();
                 }
                 final int count = dis.readInt();
                 final SmsMessage[] messagesTemp = new SmsMessage[count];
@@ -301,7 +302,10 @@
                     final int length = dis.readInt();
                     final byte[] pdu = new byte[length];
                     dis.read(pdu, 0, length);
-                    messagesTemp[i] = SmsMessage.createFromPdu(pdu);
+                    messagesTemp[i] =
+                            OsUtil.isAtLeastM()
+                                    ? SmsMessage.createFromPdu(pdu, format)
+                                    : SmsMessage.createFromPdu(pdu);
                 }
                 messages = messagesTemp;
             } catch (final FileNotFoundException e) {
diff --git a/src/com/android/messaging/util/FileUtil.java b/src/com/android/messaging/util/FileUtil.java
index e35e79b..7d59aa7 100644
--- a/src/com/android/messaging/util/FileUtil.java
+++ b/src/com/android/messaging/util/FileUtil.java
@@ -21,7 +21,6 @@
 import android.net.Uri;
 import android.os.Environment;
 import android.text.TextUtils;
-import android.webkit.MimeTypeMap;
 
 import com.android.messaging.Factory;
 import com.android.messaging.R;
@@ -62,9 +61,7 @@
      *   actually creating the file.
      */
     public static File getNewFile(File directory, String contentType) throws IOException {
-        MimeTypeMap mimeTypeMap = MimeTypeMap.getSingleton();
-        String fileExtension = mimeTypeMap.getExtensionFromMimeType(contentType);
-
+        String fileExtension = ContentType.getExtensionFromMimeType(contentType);
         final Context context = Factory.get().getApplicationContext();
         String fileNameFormat = context.getString(ContentType.isImageType(contentType)
                 ? R.string.new_image_file_name_format : R.string.new_file_name_format);
diff --git a/src/com/android/messaging/util/ImageUtils.java b/src/com/android/messaging/util/ImageUtils.java
index 5e20e7b..a228417 100644
--- a/src/com/android/messaging/util/ImageUtils.java
+++ b/src/com/android/messaging/util/ImageUtils.java
@@ -682,8 +682,11 @@
                 if (mScaled == null) {
                     if (mDecoded == null) {
                         mOptions.inSampleSize = mSampleSize;
-                        final InputStream inputStream = cr.openInputStream(mUri);
-                        mDecoded = BitmapFactory.decodeStream(inputStream, null, mOptions);
+                        try (final InputStream inputStream = cr.openInputStream(mUri)) {
+                            mDecoded = BitmapFactory.decodeStream(inputStream, null, mOptions);
+                        } catch (IOException e) {
+                            // Ignore
+                        }
                         if (mDecoded == null) {
                             if (logv) {
                                 LogUtil.v(LogUtil.BUGLE_IMAGE_TAG,
diff --git a/src/com/android/messaging/util/NotificationsUtil.java b/src/com/android/messaging/util/NotificationsUtil.java
new file mode 100644
index 0000000..591f15a
--- /dev/null
+++ b/src/com/android/messaging/util/NotificationsUtil.java
@@ -0,0 +1,101 @@
+/*
+ * Copyright (C) 2019 The LineageOS Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.messaging.util;
+
+import android.app.NotificationChannel;
+import android.app.NotificationChannelGroup;
+import android.app.NotificationManager;
+import android.content.Context;
+import android.os.Build;
+
+public final class NotificationsUtil {
+    public static final String DEFAULT_CHANNEL_ID = "messaging_channel";
+    public static final String CONVERSATION_GROUP_NAME = "conversation_group";
+
+    private NotificationsUtil() {
+    }
+
+    public static void createNotificationChannel(Context context, String id,
+            int titleResId, int priority, String groupId) {
+        String title = context.getString(titleResId);
+        createNotificationChannel(context, id, title, priority, groupId);
+    }
+
+    public static void createNotificationChannel(Context context, String id,
+            String title, int priority, String groupId) {
+        if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O) {
+            return;
+        }
+
+        NotificationManager manager = context.getSystemService(NotificationManager.class);
+        NotificationChannel existing = manager.getNotificationChannel(id);
+        if (existing != null) {
+            return;
+        }
+
+        NotificationChannel newChannel = new NotificationChannel(id, title, priority);
+        newChannel.enableLights(true);
+        if (groupId != null) {
+            newChannel.setGroup(groupId);
+        }
+        manager.createNotificationChannel(newChannel);
+    }
+
+    public static void deleteNotificationChannel(Context context, String id) {
+        if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O) {
+            return;
+        }
+
+        NotificationManager manager = context.getSystemService(NotificationManager.class);
+        manager.deleteNotificationChannel(id);
+    }
+
+    public static void createNotificationChannelGroup(Context context, String id,
+            int titleResId) {
+        if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O) {
+            return;
+        }
+
+        NotificationManager manager = context.getSystemService(NotificationManager.class);
+        NotificationChannelGroup existing = manager.getNotificationChannelGroup(id);
+        if (existing != null) {
+            return;
+        }
+
+        String title = context.getString(titleResId);
+        NotificationChannelGroup newChannelGroup = new NotificationChannelGroup(id, title);
+        manager.createNotificationChannelGroup(newChannelGroup);
+    }
+
+    public static NotificationChannel getNotificationChannel(Context context, String id) {
+        if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O) {
+            return null;
+        }
+
+        NotificationManager manager = context.getSystemService(NotificationManager.class);
+        return manager.getNotificationChannel(id);
+    }
+
+    public static NotificationChannelGroup getNotificationChannelGroup(Context context, String id) {
+        if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O) {
+            return null;
+        }
+
+        NotificationManager manager = context.getSystemService(NotificationManager.class);
+        return manager.getNotificationChannelGroup(id);
+    }
+}
diff --git a/src/com/android/messaging/util/RingtoneUtil.java b/src/com/android/messaging/util/RingtoneUtil.java
deleted file mode 100644
index a7facfb..0000000
--- a/src/com/android/messaging/util/RingtoneUtil.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Copyright (C) 2015 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.messaging.util;
-
-import android.content.Context;
-import android.net.Uri;
-import android.provider.Settings;
-import android.text.TextUtils;
-
-import com.android.messaging.Factory;
-import com.android.messaging.R;
-
-public class RingtoneUtil {
-    /**
-     * Return a ringtone Uri for the string representation passed in. Use the app
-     * and system defaults as fallbacks
-     * @param ringtoneString is the ringtone to resolve
-     * @return the Uri of the ringtone or the fallback ringtone
-     */
-    public static Uri getNotificationRingtoneUri(String ringtoneString) {
-        if (ringtoneString == null) {
-            // No override specified, fall back to system-wide setting.
-            final BuglePrefs prefs = BuglePrefs.getApplicationPrefs();
-            final Context context = Factory.get().getApplicationContext();
-            final String prefKey = context.getString(R.string.notification_sound_pref_key);
-            ringtoneString = prefs.getString(prefKey, null);
-        }
-
-        if (!TextUtils.isEmpty(ringtoneString)) {
-            // We have set a value, even if it is the default Uri at some point
-            return Uri.parse(ringtoneString);
-        } else if (ringtoneString == null) {
-            // We have no setting specified (== null), so we default to the system default
-            return Settings.System.DEFAULT_NOTIFICATION_URI;
-        } else {
-            // An empty string (== "") here is the result of selecting "None" as the ringtone
-            return null;
-        }
-    }
-}
diff --git a/src/com/android/messaging/util/UiUtils.java b/src/com/android/messaging/util/UiUtils.java
index 6e0c16e..17c877f 100644
--- a/src/com/android/messaging/util/UiUtils.java
+++ b/src/com/android/messaging/util/UiUtils.java
@@ -132,6 +132,16 @@
                                         null /* placement */);
     }
 
+    public static void showSnackBar(final Context context, @NonNull final View parentView,
+            final String message) {
+        Assert.notNull(context);
+        Assert.isTrue(!TextUtils.isEmpty(message));
+        SnackBarManager.get()
+            .newBuilder(parentView)
+            .setText(message)
+            .show();
+    }
+
     public static void showSnackBarWithCustomAction(final Context context,
             @NonNull final View parentView,
             @NonNull final String message,
diff --git a/src/com/android/messaging/util/UriUtil.java b/src/com/android/messaging/util/UriUtil.java
index 0e931c4..d336167 100644
--- a/src/com/android/messaging/util/UriUtil.java
+++ b/src/com/android/messaging/util/UriUtil.java
@@ -26,6 +26,7 @@
 import android.text.TextUtils;
 
 import com.android.messaging.Factory;
+import com.android.messaging.datamodel.GalleryBoundCursorLoader;
 import com.android.messaging.datamodel.MediaScratchFileProvider;
 import com.android.messaging.util.Assert.DoesNotRunOnMainThread;
 import com.google.common.io.ByteStreams;
@@ -130,6 +131,18 @@
     }
 
     /**
+     * Gets the content:// style URI for the given MediaStore row Id in the files table on the
+     * external volume.
+     *
+     * @param id the MediaStore row Id to get the URI for
+     * @return the URI to the files table on the external storage.
+     */
+    public static Uri getContentUriForMediaStoreId(final long id) {
+        return MediaStore.Files.getContentUri(
+                GalleryBoundCursorLoader.MEDIA_SCANNER_VOLUME_EXTERNAL, id);
+    }
+
+    /**
      * Gets the size in bytes for the content uri. Currently we only support content in the
      * scratch space.
      */
@@ -311,14 +324,13 @@
     }
 
     /**
-     * Extract recipient destinations from Uri of form
-     *     SCHEME:destionation[,destination]?otherstuff
+     * Extract recipient destinations from Uri of form SCHEME:destination[,destination]?otherstuff
      * where SCHEME is one of the supported sms/mms schemes.
      *
      * @param uri sms/mms uri
-     * @return recipient destinations or null
+     * @return a comma-separated list of recipient destinations or null.
      */
-    public static String[] parseRecipientsFromSmsMmsUri(final Uri uri) {
+    public static String parseRecipientsFromSmsMmsUri(final Uri uri) {
         if (!isSmsMmsUri(uri)) {
             return null;
         }
@@ -328,7 +340,7 @@
         }
         // replaceUnicodeDigits will replace digits typed in other languages (i.e. Egyptian) with
         // the usual ascii equivalents.
-        return TextUtil.replaceUnicodeDigits(parts[0]).replace(';', ',').split(",");
+        return TextUtil.replaceUnicodeDigits(parts[0]).replace(';', ',');
     }
 
     /**
diff --git a/src/com/android/messaging/util/exif/ExifParser.java b/src/com/android/messaging/util/exif/ExifParser.java
index 4b6cf68..46f253e 100644
--- a/src/com/android/messaging/util/exif/ExifParser.java
+++ b/src/com/android/messaging/util/exif/ExifParser.java
@@ -224,8 +224,8 @@
         mIfdType = IfdId.TYPE_IFD_0;
         if (isIfdRequested(IfdId.TYPE_IFD_0) || needToParseOffsetsInCurrentIfd()) {
             registerIfd(IfdId.TYPE_IFD_0, offset);
-            if (offset != DEFAULT_IFD0_OFFSET) {
-                mDataAboveIfd0 = new byte[(int) offset - DEFAULT_IFD0_OFFSET];
+            if (mIfd0Position > DEFAULT_IFD0_OFFSET) {
+                mDataAboveIfd0 = new byte[mIfd0Position - DEFAULT_IFD0_OFFSET];
                 read(mDataAboveIfd0);
             }
         }
@@ -558,7 +558,9 @@
             }
             // Some invalid images put some undefined data before IFD0.
             // Read the data here.
-            if ((offset < mIfd0Position) && (dataFormat == ExifTag.TYPE_UNDEFINED)) {
+            if (mDataAboveIfd0 != null
+                    && offset < mIfd0Position
+                    && dataFormat == ExifTag.TYPE_UNDEFINED) {
                 byte[] buf = new byte[(int) numOfComp];
                 System.arraycopy(mDataAboveIfd0, (int) offset - DEFAULT_IFD0_OFFSET,
                         buf, 0, (int) numOfComp);
diff --git a/src/com/android/messaging/widget/BaseWidgetProvider.java b/src/com/android/messaging/widget/BaseWidgetProvider.java
index 431a6c7..6632c5f 100644
--- a/src/com/android/messaging/widget/BaseWidgetProvider.java
+++ b/src/com/android/messaging/widget/BaseWidgetProvider.java
@@ -21,6 +21,7 @@
 import android.content.ComponentName;
 import android.content.Context;
 import android.content.Intent;
+import android.content.IntentFilter;
 import android.os.Bundle;
 
 import com.android.messaging.util.LogUtil;
@@ -78,6 +79,12 @@
         }
     }
 
+    @Override
+    public void onEnabled(Context context) {
+        super.onEnabled(context);
+        context.getApplicationContext().registerReceiver(this, new IntentFilter(getAction()));
+    }
+
     protected abstract String getAction();
 
     protected abstract int getListId();
@@ -87,52 +94,51 @@
      */
     protected abstract void updateWidget(Context context, int appWidgetId);
 
-    private int getWidgetSize(AppWidgetManager appWidgetManager,
-        int appWidgetId) {
-      if (LogUtil.isLoggable(TAG, LogUtil.VERBOSE)) {
-        LogUtil.v(TAG, "BaseWidgetProvider.getWidgetSize");
-      }
+    private int getWidgetSize(AppWidgetManager appWidgetManager, int appWidgetId) {
+        if (LogUtil.isLoggable(TAG, LogUtil.VERBOSE)) {
+            LogUtil.v(TAG, "BaseWidgetProvider.getWidgetSize");
+        }
 
-      // Get the dimensions
-      final Bundle options = appWidgetManager.getAppWidgetOptions(appWidgetId);
+        // Get the dimensions
+        final Bundle options = appWidgetManager.getAppWidgetOptions(appWidgetId);
 
-      // Get min width and height.
-      final int minWidth = options.getInt(AppWidgetManager.OPTION_APPWIDGET_MIN_WIDTH);
-      final int minHeight = options.getInt(AppWidgetManager.OPTION_APPWIDGET_MIN_HEIGHT);
+        // Get min width and height.
+        final int minWidth = options.getInt(AppWidgetManager.OPTION_APPWIDGET_MIN_WIDTH);
+        final int minHeight = options.getInt(AppWidgetManager.OPTION_APPWIDGET_MIN_HEIGHT);
 
-      // First find out rows and columns based on width provided.
-      final int rows = getCellsForSize(minHeight);
-      final int columns = getCellsForSize(minWidth);
-
-      if (LogUtil.isLoggable(TAG, LogUtil.VERBOSE)) {
-        LogUtil.v(TAG, "BaseWidgetProvider.getWidgetSize row: " + rows +
-            " columns: " + columns);
-      }
-
-      int size = SIZE_MEDIUM;
-      if (rows == 1) {
-        size = SIZE_SMALL;      // Our widget doesn't let itself get this small. Perhaps in the
-                                // future will add a super-mini widget.
-      } else if (columns > 3) {
-        size = SIZE_LARGE;
-      }
-
-      // put the size in the bundle so our service know what size it's dealing with.
-      final int savedSize = options.getInt(WIDGET_SIZE_KEY);
-      if (savedSize != size) {
-        options.putInt(WIDGET_SIZE_KEY, size);
-        appWidgetManager.updateAppWidgetOptions(appWidgetId, options);
-
-        // The size changed. We have to force the widget to rebuild the list.
-        appWidgetManager.notifyAppWidgetViewDataChanged(appWidgetId, getListId());
+        // First find out rows and columns based on width provided.
+        final int rows = getCellsForSize(minHeight);
+        final int columns = getCellsForSize(minWidth);
 
         if (LogUtil.isLoggable(TAG, LogUtil.VERBOSE)) {
-          LogUtil.v(TAG, "BaseWidgetProvider.getWidgetSize old size: " + savedSize +
-              " new size saved: " + size);
+            LogUtil.v(TAG, "BaseWidgetProvider.getWidgetSize row: " + rows
+                    + " columns: " + columns);
         }
-      }
 
-      return size;
+        int size = SIZE_MEDIUM;
+        if (rows == 1) {
+            size = SIZE_SMALL;  // Our widget doesn't let itself get this small. Perhaps in the
+                                // future will add a super-mini widget.
+        } else if (columns > 3) {
+            size = SIZE_LARGE;
+        }
+
+        // put the size in the bundle so our service know what size it's dealing with.
+        final int savedSize = options.getInt(WIDGET_SIZE_KEY);
+        if (savedSize != size) {
+            options.putInt(WIDGET_SIZE_KEY, size);
+            appWidgetManager.updateAppWidgetOptions(appWidgetId, options);
+
+            // The size changed. We have to force the widget to rebuild the list.
+            appWidgetManager.notifyAppWidgetViewDataChanged(appWidgetId, getListId());
+
+            if (LogUtil.isLoggable(TAG, LogUtil.VERBOSE)) {
+                LogUtil.v(TAG, "BaseWidgetProvider.getWidgetSize old size: " + savedSize
+                                + " new size saved: " + size);
+            }
+        }
+
+        return size;
     }
 
     /**
@@ -142,10 +148,10 @@
      * @return Size in number of cells.
      */
     private static int getCellsForSize(int size) {
-      // The hardwired sizes in this function come from the hardwired formula found in
-      // Android's UI guidelines for widget design:
-      // http://developer.android.com/guide/practices/ui_guidelines/widget_design.html
-      return (size + 30) / 70;
+        // The hardwired sizes in this function come from the hardwired formula found in
+        // Android's UI guidelines for widget design:
+        // http://developer.android.com/guide/practices/ui_guidelines/widget_design.html
+        return (size + 30) / 70;
     }
 
     @Override
diff --git a/src/com/android/messaging/widget/WidgetConversationListService.java b/src/com/android/messaging/widget/WidgetConversationListService.java
index 264b98c..023c56d 100644
--- a/src/com/android/messaging/widget/WidgetConversationListService.java
+++ b/src/com/android/messaging/widget/WidgetConversationListService.java
@@ -120,10 +120,6 @@
                 remoteViews.setTextViewText(R.id.from,
                         boldifyIfUnread(conv.getName(), hasUnreadMessages));
 
-                // Notifications turned off mini-bell icon
-                remoteViews.setViewVisibility(R.id.conversation_notification_bell,
-                        conv.getNotificationEnabled() ? View.GONE : View.VISIBLE);
-
                 // On click intent.
                 final Intent intent = UIIntents.get().getIntentForConversationActivity(mContext,
                         conv.getConversationId(), null /* draft */);
@@ -159,10 +155,9 @@
                 // Error
                 // Only show the fail icon if it is not a group conversation.
                 // And also require that we be the default sms app.
-                final boolean showError = conv.getIsFailedStatus() &&
-                        isDefaultSmsApp;
-                final boolean showDraft = conv.getShowDraft() &&
-                        isDefaultSmsApp;
+                final boolean showError =
+                        conv.getIsFailedStatus() && !conv.getIsGroup() && isDefaultSmsApp;
+                final boolean showDraft = conv.getShowDraft() && isDefaultSmsApp;
                 remoteViews.setViewVisibility(R.id.conversation_failed_status_icon,
                         showError && includeAvatar ?
                         View.VISIBLE : View.GONE);
diff --git a/src/com/android/messaging/widget/WidgetConversationService.java b/src/com/android/messaging/widget/WidgetConversationService.java
index 4fd3934..5b8587b 100644
--- a/src/com/android/messaging/widget/WidgetConversationService.java
+++ b/src/com/android/messaging/widget/WidgetConversationService.java
@@ -330,6 +330,7 @@
                     // FALL THROUGH HERE
 
                 case MessageData.BUGLE_STATUS_OUTGOING_COMPLETE:
+                case MessageData.BUGLE_STATUS_OUTGOING_DELIVERED:
                 case MessageData.BUGLE_STATUS_INCOMING_COMPLETE:
                 default:
                     if (!message.getCanClusterWithNextMessage()) {
diff --git a/src/org/lineageos/messaging/util/PrefsUtils.java b/src/org/lineageos/messaging/util/PrefsUtils.java
new file mode 100644
index 0000000..ad0bc13
--- /dev/null
+++ b/src/org/lineageos/messaging/util/PrefsUtils.java
@@ -0,0 +1,52 @@
+/*
+ * Copyright (C) 2016 The CyanogenMod Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.lineageos.messaging.util;
+
+import android.content.Context;
+import com.android.messaging.Factory;
+import com.android.messaging.R;
+import com.android.messaging.util.BuglePrefs;
+
+public class PrefsUtils {
+    public static final String SHOW_EMOTICONS_ENABLED = "pref_show_emoticons";
+
+    private PrefsUtils() {
+        //Don't instantiate
+    }
+
+    /**
+     * Returns whether or not swipe to dismiss in the ConversationListFragment deletes
+     * the conversation rather than archiving it.
+     * @return hopefully true
+     */
+    public static boolean isSwipeRightToDeleteEnabled() {
+        final BuglePrefs prefs = BuglePrefs.getApplicationPrefs();
+        final Context context = Factory.get().getApplicationContext();
+        final String prefKey = context.getString(R.string.swipe_right_deletes_conversation_key);
+        final boolean defaultValue = context.getResources().getBoolean(
+                R.bool.swipe_right_deletes_conversation_default);
+        return prefs.getBoolean(prefKey, defaultValue);
+    }
+
+    public static boolean isShowEmoticonsEnabled() {
+        final BuglePrefs prefs = BuglePrefs.getApplicationPrefs();
+        final Context context = Factory.get().getApplicationContext();
+        final boolean defaultValue = context.getResources().getBoolean(
+                R.bool.show_emoticons_pref_default);
+        return prefs.getBoolean(SHOW_EMOTICONS_ENABLED, defaultValue);
+    }
+}
diff --git a/tests/Android.mk b/tests/Android.mk
index dc1999b..aaff57a 100644
--- a/tests/Android.mk
+++ b/tests/Android.mk
@@ -24,9 +24,13 @@
 
 LOCAL_INSTRUMENTATION_FOR := messaging
 
+LOCAL_PROGUARD_ENABLED := disabled
+
 # Matching ../Android.mk
 LOCAL_SDK_VERSION := current
 
+LOCAL_COMPATIBILITY_SUITE := general-tests
+
 LOCAL_CERTIFICATE := platform
 
 LOCAL_STATIC_JAVA_LIBRARIES := \
diff --git a/tests/AndroidManifest.xml b/tests/AndroidManifest.xml
index 3ad7d8e..0879287 100644
--- a/tests/AndroidManifest.xml
+++ b/tests/AndroidManifest.xml
@@ -17,7 +17,7 @@
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
     package="com.android.messaging.test" >
 
-    <uses-sdk android:minSdkVersion="16" android:targetSdkVersion="28"/>
+    <uses-sdk android:minSdkVersion="16" android:targetSdkVersion="29"/>
 
     <application android:label="Messaging Tests" >
         <uses-library android:name="android.test.runner" />
diff --git a/tests/AndroidTest.xml b/tests/AndroidTest.xml
new file mode 100644
index 0000000..cd66c48
--- /dev/null
+++ b/tests/AndroidTest.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2019 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<configuration description="Runs Messaging Tests.">
+    <option name="test-suite-tag" value="apct" />
+    <option name="test-suite-tag" value="apct-instrumentation" />
+    <target_preparer class="com.android.tradefed.targetprep.suite.SuiteApkInstaller">
+        <option name="cleanup-apks" value="true" />
+        <option name="test-file-name" value="messagingtests.apk" />
+        <option name="test-file-name" value="messaging.apk" />
+    </target_preparer>
+
+    <test class="com.android.tradefed.testtype.AndroidJUnitTest" >
+        <option name="package" value="com.android.messaging.test" />
+        <option name="runner" value="android.test.InstrumentationTestRunner" />
+    </test>
+</configuration>
+
diff --git a/tests/src/com/android/messaging/FakeFactory.java b/tests/src/com/android/messaging/FakeFactory.java
index 41ede77..4c7c9de 100644
--- a/tests/src/com/android/messaging/FakeFactory.java
+++ b/tests/src/com/android/messaging/FakeFactory.java
@@ -46,6 +46,7 @@
 import org.mockito.invocation.InvocationOnMock;
 import org.mockito.stubbing.Answer;
 
+import java.util.ArrayList;
 import java.util.List;
 
 public class FakeFactory extends Factory {
@@ -121,7 +122,8 @@
 
                         @Override
                         public List<SubscriptionInfo> getActiveSubscriptionInfoList() {
-                            return null;
+                            // Return empty list
+                            return new ArrayList<>();
                         }
 
                         @Override
diff --git a/tests/src/com/android/messaging/datamodel/DataModelTest.java b/tests/src/com/android/messaging/datamodel/DataModelTest.java
index 71723a4..0a1bccd 100644
--- a/tests/src/com/android/messaging/datamodel/DataModelTest.java
+++ b/tests/src/com/android/messaging/datamodel/DataModelTest.java
@@ -35,10 +35,10 @@
 
     @Override
     protected void setUp() throws Exception {
-      super.setUp();
-      dataModel = new DataModelImpl(getTestContext());
-      FakeFactory.register(mContext)
-              .withDataModel(dataModel);
+        super.setUp();
+        FakeFactory factory = FakeFactory.register(mContext);
+        dataModel = new DataModelImpl(getTestContext());
+        factory.withDataModel(dataModel);
     }
 
     @SmallTest
diff --git a/tests/src/com/android/messaging/datamodel/FakeDataModel.java b/tests/src/com/android/messaging/datamodel/FakeDataModel.java
index 5e80eab..1daaa20 100644
--- a/tests/src/com/android/messaging/datamodel/FakeDataModel.java
+++ b/tests/src/com/android/messaging/datamodel/FakeDataModel.java
@@ -48,7 +48,6 @@
 import com.android.messaging.datamodel.data.SubscriptionListData;
 import com.android.messaging.datamodel.data.TestDataFactory;
 import com.android.messaging.datamodel.data.VCardContactItemData;
-import com.android.messaging.util.ConnectivityUtil;
 
 public class FakeDataModel extends DataModel {
     private BackgroundWorker mWorker;
@@ -58,7 +57,6 @@
     private ContactPickerData mContactPickerData;
     private MediaPickerData mMediaPickerData;
     private PeopleAndOptionsData mPeopleAndOptionsData;
-    private ConnectivityUtil mConnectivityUtil;
     private SyncManager mSyncManager;
     private SettingsData mSettingsData;
     private DraftMessageData mDraftMessageData;
@@ -102,11 +100,6 @@
         return this;
     }
 
-    public FakeDataModel withConnectivityUtil(final ConnectivityUtil connectivityUtil) {
-        mConnectivityUtil = connectivityUtil;
-        return this;
-    }
-
     public FakeDataModel withSyncManager(final SyncManager syncManager) {
         mSyncManager = syncManager;
         return this;
@@ -220,11 +213,6 @@
     }
 
     @Override
-    public ConnectivityUtil getConnectivityUtil() {
-        return mConnectivityUtil;
-    }
-
-    @Override
     public SyncManager getSyncManager() {
         return mSyncManager;
     }
diff --git a/tests/src/com/android/messaging/datamodel/action/ActionServiceSystemTest.java b/tests/src/com/android/messaging/datamodel/action/ActionServiceSystemTest.java
index 97e0f10..4d1ad5d 100644
--- a/tests/src/com/android/messaging/datamodel/action/ActionServiceSystemTest.java
+++ b/tests/src/com/android/messaging/datamodel/action/ActionServiceSystemTest.java
@@ -35,7 +35,6 @@
 import com.android.messaging.datamodel.action.ActionMonitor.ActionExecutedListener;
 import com.android.messaging.datamodel.action.ActionTestHelpers.ResultTracker;
 import com.android.messaging.datamodel.action.ActionTestHelpers.StubBackgroundWorker;
-import com.android.messaging.datamodel.action.ActionTestHelpers.StubConnectivityUtil;
 import com.android.messaging.datamodel.action.ActionTestHelpers.StubLoader;
 
 import java.util.ArrayList;
@@ -291,8 +290,7 @@
         FakeFactory.registerWithFakeContext(getContext(), mContext)
                 .withDataModel(new FakeDataModel(mContext)
                 .withBackgroundWorkerForActionService(mWorker)
-                .withActionService(new ActionService())
-                .withConnectivityUtil(new StubConnectivityUtil(mContext)));
+                .withActionService(new ActionService()));
 
         mLoader = new StubLoader();
         setContext(Factory.get().getApplicationContext());
diff --git a/tests/src/com/android/messaging/datamodel/action/ActionServiceTest.java b/tests/src/com/android/messaging/datamodel/action/ActionServiceTest.java
index 6f66fa9..5eb0f67 100644
--- a/tests/src/com/android/messaging/datamodel/action/ActionServiceTest.java
+++ b/tests/src/com/android/messaging/datamodel/action/ActionServiceTest.java
@@ -35,7 +35,6 @@
 import com.android.messaging.datamodel.action.ActionMonitor.ActionStateChangedListener;
 import com.android.messaging.datamodel.action.ActionTestHelpers.ResultTracker;
 import com.android.messaging.datamodel.action.ActionTestHelpers.StubBackgroundWorker;
-import com.android.messaging.datamodel.action.ActionTestHelpers.StubConnectivityUtil;
 import com.android.messaging.datamodel.action.ActionTestHelpers.StubLoader;
 
 import java.util.ArrayList;
@@ -145,8 +144,7 @@
         FakeFactory.registerWithFakeContext(getContext(),mContext)
                 .withDataModel(new FakeDataModel(mContext)
                 .withBackgroundWorkerForActionService(mWorker)
-                .withActionService(new ActionService())
-                .withConnectivityUtil(new StubConnectivityUtil(mContext)));
+                .withActionService(new ActionService()));
 
         mStates = new ArrayList<Integer>();
         setContext(Factory.get().getApplicationContext());
diff --git a/tests/src/com/android/messaging/datamodel/action/ActionTestHelpers.java b/tests/src/com/android/messaging/datamodel/action/ActionTestHelpers.java
index d72a0f9..00aa267 100644
--- a/tests/src/com/android/messaging/datamodel/action/ActionTestHelpers.java
+++ b/tests/src/com/android/messaging/datamodel/action/ActionTestHelpers.java
@@ -21,8 +21,6 @@
 import android.net.Uri;
 import android.os.Bundle;
 
-import com.android.messaging.util.ConnectivityUtil;
-
 import java.util.ArrayList;
 import java.util.List;
 
@@ -174,18 +172,4 @@
             }
         }
     }
-
-    public static class StubConnectivityUtil extends ConnectivityUtil {
-        public StubConnectivityUtil(final Context context) {
-            super(context);
-        }
-
-        @Override
-        public void registerForSignalStrength() {
-        }
-
-        @Override
-        public void unregisterForSignalStrength() {
-        }
-    }
 }
diff --git a/tests/src/com/android/messaging/datamodel/action/GetOrCreateConversationActionTest.java b/tests/src/com/android/messaging/datamodel/action/GetOrCreateConversationActionTest.java
index 1c0d0b5..1b6b8ba 100644
--- a/tests/src/com/android/messaging/datamodel/action/GetOrCreateConversationActionTest.java
+++ b/tests/src/com/android/messaging/datamodel/action/GetOrCreateConversationActionTest.java
@@ -67,12 +67,6 @@
         final long threadId = MmsUtils.getOrCreateThreadId(mContext, recipients);
         assertEquals(TestDataFactory.SMS_MMS_THREAD_ID_CURSOR_VALUE, threadId);
 
-        // TestDataFactory creates NUM_TEST_CONVERSATIONS conversations. blank
-        // conversation would be the next conversation.
-        final String blankId = BugleDatabaseOperations.getExistingConversation(db, threadId, false);
-        // TODO(rtenneti): Investigate why blankId is 4 more than NUM_TEST_CONVERSATIONS.
-        assertEquals(TestDataFactory.NUM_TEST_CONVERSATIONS+4, Integer.parseInt((String)blankId));
-
         ArrayList<StubActionServiceCallLog> calls = mService.getCalls();
 
         GetOrCreateConversationActionMonitor monitor =
@@ -91,8 +85,8 @@
         assertTrue(result instanceof String);
 
         // Make sure that we created a new conversation
-        // TODO(rtenneti): Investigate why blankId is 4 more than NUM_TEST_CONVERSATIONS.
-        assertEquals(TestDataFactory.NUM_TEST_CONVERSATIONS+4, Integer.parseInt((String)result));
+        int expectedConversationId = TestDataFactory.NUM_TEST_CONVERSATIONS + 1;
+        assertEquals(expectedConversationId, Integer.parseInt((String) result));
 
         // Now get the conversation that we just created again
         monitor = GetOrCreateConversationAction.getOrCreateConversation(participants, null,
@@ -110,8 +104,7 @@
         final String conversationId = (String) result;
 
         // Make sure that we found the same conversation id
-        // TODO(rtenneti): Investigate why blankId is 4 more than NUM_TEST_CONVERSATIONS.
-        assertEquals(TestDataFactory.NUM_TEST_CONVERSATIONS+4, Integer.parseInt((String)result));
+        assertEquals(expectedConversationId, Integer.parseInt((String) result));
 
         final ArrayList<ParticipantData> conversationParticipants =
                 BugleDatabaseOperations.getParticipantsForConversation(db, conversationId);
diff --git a/tests/src/com/android/messaging/datamodel/action/ReadWriteDraftMessageActionTest.java b/tests/src/com/android/messaging/datamodel/action/ReadWriteDraftMessageActionTest.java
index 0405c90..1064aa3 100644
--- a/tests/src/com/android/messaging/datamodel/action/ReadWriteDraftMessageActionTest.java
+++ b/tests/src/com/android/messaging/datamodel/action/ReadWriteDraftMessageActionTest.java
@@ -36,7 +36,6 @@
 import com.android.messaging.datamodel.MessagingContentProvider;
 import com.android.messaging.datamodel.action.ActionTestHelpers.StubActionService;
 import com.android.messaging.datamodel.action.ActionTestHelpers.StubActionService.StubActionServiceCallLog;
-import com.android.messaging.datamodel.action.ActionTestHelpers.StubConnectivityUtil;
 import com.android.messaging.datamodel.action.ReadDraftDataAction.ReadDraftDataActionListener;
 import com.android.messaging.datamodel.data.MessageData;
 import com.android.messaging.datamodel.data.MessagePartData;
@@ -113,7 +112,7 @@
         participants.add(ParticipantData.getFromRawPhoneBySystemLocale(participantNumber));
 
         final String conversationId = BugleDatabaseOperations.getOrCreateConversation(db, threadId,
-                senderBlocked, participants, false, false, null);
+                senderBlocked, participants);
         assertNotNull("No conversation", conversationId);
         return conversationId;
     }
@@ -189,7 +188,7 @@
         participants.add(ParticipantData.getFromRawPhoneBySystemLocale(Long.toString(phoneNumber)));
 
         conversationId = BugleDatabaseOperations.getOrCreateConversation(db, threadId,
-                senderBlocked, participants, false, false, null);
+                senderBlocked, participants);
         assertNotNull("No conversation", conversationId);
 
         final MessageData actual = BugleDatabaseOperations.readDraftMessageData(db, conversationId,
@@ -473,8 +472,7 @@
 
         mService = new StubActionService();
         final FakeDataModel fakeDataModel = new FakeDataModel(context)
-                .withActionService(mService)
-                .withConnectivityUtil(new StubConnectivityUtil(context));
+                .withActionService(mService);
         FakeFactory.registerWithFakeContext(getTestContext(), context)
                 .withDataModel(fakeDataModel);
 
diff --git a/tests/src/com/android/messaging/datamodel/data/TestDataFactory.java b/tests/src/com/android/messaging/datamodel/data/TestDataFactory.java
index 8527e2b..033caa2 100644
--- a/tests/src/com/android/messaging/datamodel/data/TestDataFactory.java
+++ b/tests/src/com/android/messaging/datamodel/data/TestDataFactory.java
@@ -279,7 +279,7 @@
                 new Object[] { Long.valueOf(1), "/sdcard/image2", 200, 200, "image/png" },
                 new Object[] { Long.valueOf(2), "/sdcard/image3", 300, 300, "image/jpeg" },
         };
-        return new FakeCursor(GalleryGridItemData.IMAGE_PROJECTION, sGalleryCursorColumns,
+        return new FakeCursor(GalleryGridItemData.MEDIA_PROJECTION, sGalleryCursorColumns,
                 cursorData);
     }
 
diff --git a/tests/src/com/android/messaging/ui/mediapicker/GalleryGridItemViewTest.java b/tests/src/com/android/messaging/ui/mediapicker/GalleryGridItemViewTest.java
index 83d8ac9..304cc74 100644
--- a/tests/src/com/android/messaging/ui/mediapicker/GalleryGridItemViewTest.java
+++ b/tests/src/com/android/messaging/ui/mediapicker/GalleryGridItemViewTest.java
@@ -55,7 +55,7 @@
             final String imageUrl,
             final boolean showCheckbox,
             final boolean isSelected) {
-        final AsyncImageView imageView = (AsyncImageView) view.findViewById(R.id.image);
+        final AsyncImageView imageView = (AsyncImageView) view.findViewById(R.id.thumbnail);
         final CheckBox checkBox = (CheckBox) view.findViewById(R.id.checkbox);
 
         assertNotNull(imageView);
diff --git a/tests/src/com/android/messaging/ui/mediapicker/MediaPickerTest.java b/tests/src/com/android/messaging/ui/mediapicker/MediaPickerTest.java
index 4a7040e..4e7c2d2 100644
--- a/tests/src/com/android/messaging/ui/mediapicker/MediaPickerTest.java
+++ b/tests/src/com/android/messaging/ui/mediapicker/MediaPickerTest.java
@@ -97,13 +97,13 @@
     public void testDefaultTabs() {
         Mockito.when(mMockMediaPickerData.getSelectedChooserIndex()).thenReturn(0);
         initFragment(MediaPicker.MEDIA_TYPE_ALL, new Integer[] {
-                MediaPickerData.GALLERY_IMAGE_LOADER },
+                MediaPickerData.GALLERY_MEDIA_LOADER },
                 false);
         final MediaPicker mediaPicker = getFragment();
         final View view = mediaPicker.getView();
         assertNotNull(view);
         final ViewGroup tabStrip = (ViewGroup) view.findViewById(R.id.mediapicker_tabstrip);
-        assertEquals(tabStrip.getChildCount(), 3);
+        assertEquals(tabStrip.getChildCount(), 4);
         for (int i = 0; i < tabStrip.getChildCount(); i++) {
             final ImageButton tabButton = (ImageButton) tabStrip.getChildAt(i);
             assertEquals(View.VISIBLE, tabButton.getVisibility());
@@ -114,13 +114,13 @@
     public void testFilterTabsBeforeAttach() {
         Mockito.when(mMockMediaPickerData.getSelectedChooserIndex()).thenReturn(0);
         initFragment(MediaPicker.MEDIA_TYPE_IMAGE, new Integer[] {
-                MediaPickerData.GALLERY_IMAGE_LOADER },
+                MediaPickerData.GALLERY_MEDIA_LOADER },
                 true);
         final MediaPicker mediaPicker = getFragment();
         final View view = mediaPicker.getView();
         assertNotNull(view);
         final ViewGroup tabStrip = (ViewGroup) view.findViewById(R.id.mediapicker_tabstrip);
-        assertEquals(tabStrip.getChildCount(), 3);
+        assertEquals(tabStrip.getChildCount(), 4);
         for (int i = 0; i < tabStrip.getChildCount(); i++) {
             final ImageButton tabButton = (ImageButton) tabStrip.getChildAt(i);
             assertEquals(i == 0, tabButton.isSelected());