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 ></string>
+ <string name="next">Siguiente</string>
+ <string name="exit">Colar</string>
+ <string name="settings_with_arrow">Axustes ></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 > Aplicaciones > Mensaxería > 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 & 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 <br/><small>oddi wrth<xliff:g id="sim_name">%s</xliff:g></small></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 & 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 ></string>
+ <string name="next">Nesaf</string>
+ <string name="exit">Cau</string>
+ <string name="settings_with_arrow">Gosodiadau ></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 > Apiau > Negesu > 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 <br/><small>oddi wrth<xliff:g id="sim_name">%s</xliff:g></small></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 ></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 ></string>
+ <string name="next">Air adhart</string>
+ <string name="exit">Fàg</string>
+ <string name="settings_with_arrow">Roghainnean ></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 > Aplacaidean > 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"><xliff:g id="count"> chom-pàirtiche</item>
+ <item quantity="two"><xliff:g id="count"> chom-pàirtiche</item>
+ <item quantity="few"><xliff:g id="count"> com-pàirtichean</item>
+ <item quantity="other"><xliff:g id="count"> 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<br/><small>le <xliff:g id="sim_name">%s</xliff:g></small></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());