am 5b39b5c3: Merge "Fix phonetic names not being saved for Exchange contacts" into ics-mr1
* commit '5b39b5c38445e0b806e5dc63a2a2a5365bf339f6':
Fix phonetic names not being saved for Exchange contacts
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index d06fe1d..f2264d1 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -545,7 +545,13 @@
<data android:mimeType="image/*" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
- />
+ </activity>
+
+ <!-- Internal photo selection activity -->
+ <activity android:name=".activities.PhotoSelectionActivity"
+ android:theme="@style/Theme.PhotoSelector"
+ android:launchMode="singleTop"
+ android:windowSoftInputMode="stateUnchanged">
</activity>
<!-- Interstitial activity that shows a phone disambig dialog -->
diff --git a/res/drawable-hdpi/ic_menu_2sec_pause.png b/res/drawable-hdpi/ic_menu_2sec_pause.png
deleted file mode 100644
index 3951948..0000000
--- a/res/drawable-hdpi/ic_menu_2sec_pause.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_menu_accounts_holo_light.png b/res/drawable-hdpi/ic_menu_accounts_holo_light.png
deleted file mode 100644
index 59496c9..0000000
--- a/res/drawable-hdpi/ic_menu_accounts_holo_light.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_menu_display_all_holo_light.png b/res/drawable-hdpi/ic_menu_display_all_holo_light.png
deleted file mode 100644
index 59631f0..0000000
--- a/res/drawable-hdpi/ic_menu_display_all_holo_light.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_menu_import_export_holo_light.png b/res/drawable-hdpi/ic_menu_import_export_holo_light.png
deleted file mode 100644
index a67386f..0000000
--- a/res/drawable-hdpi/ic_menu_import_export_holo_light.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_menu_mark.png b/res/drawable-hdpi/ic_menu_mark.png
deleted file mode 100755
index 1c09175..0000000
--- a/res/drawable-hdpi/ic_menu_mark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_menu_merge_holo_light.png b/res/drawable-hdpi/ic_menu_merge_holo_light.png
deleted file mode 100644
index eaf32d2..0000000
--- a/res/drawable-hdpi/ic_menu_merge_holo_light.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_menu_share_holo_light.png b/res/drawable-hdpi/ic_menu_share_holo_light.png
deleted file mode 100644
index 2ba6fb7..0000000
--- a/res/drawable-hdpi/ic_menu_share_holo_light.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_menu_split_holo_light.png b/res/drawable-hdpi/ic_menu_split_holo_light.png
deleted file mode 100644
index 3784544..0000000
--- a/res/drawable-hdpi/ic_menu_split_holo_light.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_menu_trash_holo_light.png b/res/drawable-hdpi/ic_menu_trash_holo_light.png
deleted file mode 100644
index 481eb65..0000000
--- a/res/drawable-hdpi/ic_menu_trash_holo_light.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_menu_wait.png b/res/drawable-hdpi/ic_menu_wait.png
deleted file mode 100644
index 6886e5d..0000000
--- a/res/drawable-hdpi/ic_menu_wait.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_menu_2sec_pause.png b/res/drawable-mdpi/ic_menu_2sec_pause.png
deleted file mode 100644
index dcaa5ff..0000000
--- a/res/drawable-mdpi/ic_menu_2sec_pause.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_menu_accounts_holo_light.png b/res/drawable-mdpi/ic_menu_accounts_holo_light.png
deleted file mode 100644
index ae291d8..0000000
--- a/res/drawable-mdpi/ic_menu_accounts_holo_light.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_menu_display_all_holo_light.png b/res/drawable-mdpi/ic_menu_display_all_holo_light.png
deleted file mode 100644
index 9781312..0000000
--- a/res/drawable-mdpi/ic_menu_display_all_holo_light.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_menu_import_export_holo_light.png b/res/drawable-mdpi/ic_menu_import_export_holo_light.png
deleted file mode 100644
index e31ec6b..0000000
--- a/res/drawable-mdpi/ic_menu_import_export_holo_light.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_menu_mark.png b/res/drawable-mdpi/ic_menu_mark.png
deleted file mode 100644
index 41ccddf..0000000
--- a/res/drawable-mdpi/ic_menu_mark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_menu_merge_holo_light.png b/res/drawable-mdpi/ic_menu_merge_holo_light.png
deleted file mode 100644
index a650c4d..0000000
--- a/res/drawable-mdpi/ic_menu_merge_holo_light.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_menu_share_holo_light.png b/res/drawable-mdpi/ic_menu_share_holo_light.png
deleted file mode 100644
index 6b42585..0000000
--- a/res/drawable-mdpi/ic_menu_share_holo_light.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_menu_split_holo_light.png b/res/drawable-mdpi/ic_menu_split_holo_light.png
deleted file mode 100644
index 56afbc9..0000000
--- a/res/drawable-mdpi/ic_menu_split_holo_light.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_menu_trash_holo_light.png b/res/drawable-mdpi/ic_menu_trash_holo_light.png
deleted file mode 100644
index 29801b4..0000000
--- a/res/drawable-mdpi/ic_menu_trash_holo_light.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_menu_wait.png b/res/drawable-mdpi/ic_menu_wait.png
deleted file mode 100644
index c20457a..0000000
--- a/res/drawable-mdpi/ic_menu_wait.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_menu_2sec_pause.png b/res/drawable-xhdpi/ic_menu_2sec_pause.png
deleted file mode 100644
index 56f68b3..0000000
--- a/res/drawable-xhdpi/ic_menu_2sec_pause.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_menu_accounts_holo_light.png b/res/drawable-xhdpi/ic_menu_accounts_holo_light.png
deleted file mode 100644
index e58c7c8..0000000
--- a/res/drawable-xhdpi/ic_menu_accounts_holo_light.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_menu_display_all_holo_light.png b/res/drawable-xhdpi/ic_menu_display_all_holo_light.png
deleted file mode 100644
index 0aa4cad..0000000
--- a/res/drawable-xhdpi/ic_menu_display_all_holo_light.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_menu_import_export_holo_light.png b/res/drawable-xhdpi/ic_menu_import_export_holo_light.png
deleted file mode 100644
index 7b7d9da..0000000
--- a/res/drawable-xhdpi/ic_menu_import_export_holo_light.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_menu_mark.png b/res/drawable-xhdpi/ic_menu_mark.png
deleted file mode 100644
index a24adc5..0000000
--- a/res/drawable-xhdpi/ic_menu_mark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_menu_merge_holo_light.png b/res/drawable-xhdpi/ic_menu_merge_holo_light.png
deleted file mode 100644
index 31bc346..0000000
--- a/res/drawable-xhdpi/ic_menu_merge_holo_light.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_menu_share_holo_light.png b/res/drawable-xhdpi/ic_menu_share_holo_light.png
deleted file mode 100644
index 1c88e0e..0000000
--- a/res/drawable-xhdpi/ic_menu_share_holo_light.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_menu_split_holo_light.png b/res/drawable-xhdpi/ic_menu_split_holo_light.png
deleted file mode 100644
index 16c6ade..0000000
--- a/res/drawable-xhdpi/ic_menu_split_holo_light.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_menu_trash_holo_light.png b/res/drawable-xhdpi/ic_menu_trash_holo_light.png
deleted file mode 100644
index d234d73..0000000
--- a/res/drawable-xhdpi/ic_menu_trash_holo_light.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_menu_wait.png b/res/drawable-xhdpi/ic_menu_wait.png
deleted file mode 100644
index ee5ee68..0000000
--- a/res/drawable-xhdpi/ic_menu_wait.png
+++ /dev/null
Binary files differ
diff --git a/res/layout-sw580dp/detail_header_contact_without_updates.xml b/res/layout-sw580dp/detail_header_contact_without_updates.xml
index 9261f11..0f0e3c2 100644
--- a/res/layout-sw580dp/detail_header_contact_without_updates.xml
+++ b/res/layout-sw580dp/detail_header_contact_without_updates.xml
@@ -40,9 +40,7 @@
android:layout_height="match_parent"
android:orientation="horizontal">
- <ImageView
- android:id="@+id/photo"
- android:scaleType="centerCrop"
+ <include layout="@layout/photo_selector_view"
android:layout_width="0dip"
android:layout_height="match_parent"
android:layout_weight="2" />
diff --git a/res/layout-sw580dp/join_contact_picker.xml b/res/layout-sw580dp/join_contact_picker.xml
new file mode 100644
index 0000000..3d9127b
--- /dev/null
+++ b/res/layout-sw580dp/join_contact_picker.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2010 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.
+-->
+
+<view xmlns:android="http://schemas.android.com/apk/res/android"
+ class="com.android.contacts.widget.FullHeightLinearLayout"
+ style="@style/ContactPickerLayout"
+ android:orientation="vertical">
+ <!-- See also comments in contact_picker.xml -->
+ <view
+ class="android.widget.SearchView"
+ android:id="@+id/search_view"
+ android:layout_width="match_parent"
+ android:maxWidth="@dimen/contact_picker_search_view_max_width"
+ android:layout_height="wrap_content"
+ android:layout_marginLeft="0dip"
+ android:layout_marginRight="@dimen/list_visible_scrollbar_padding"
+ android:paddingRight="0dip"
+ android:iconifiedByDefault="false" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="0dip"
+ android:layout_weight="1"
+ android:id="@+id/list_container" />
+</view>
diff --git a/res/layout-sw680dp-w1000dp/contact_detail_fragment.xml b/res/layout-sw680dp-w1000dp/contact_detail_fragment.xml
index ecf8130..f70c770 100644
--- a/res/layout-sw680dp-w1000dp/contact_detail_fragment.xml
+++ b/res/layout-sw680dp-w1000dp/contact_detail_fragment.xml
@@ -38,12 +38,12 @@
android:layout_width="match_parent"
android:layout_height="0dip">
- <ImageView android:id="@+id/photo"
- android:scaleType="centerCrop"
+ <include android:id="@+id/static_photo_container"
+ layout="@layout/photo_selector_view"
android:layout_width="@dimen/detail_contact_photo_size"
android:layout_height="@dimen/detail_contact_photo_size"
android:layout_marginTop="@dimen/detail_contact_photo_margin"
- android:layout_marginRight="@dimen/detail_contact_photo_margin"/>
+ android:layout_marginRight="@dimen/detail_contact_photo_margin" />
<ListView android:id="@android:id/list"
android:layout_width="0dip"
diff --git a/res/layout-sw680dp-w1000dp/detail_header_contact_with_updates.xml b/res/layout-sw680dp-w1000dp/detail_header_contact_with_updates.xml
index dfba659..7758a21 100644
--- a/res/layout-sw680dp-w1000dp/detail_header_contact_with_updates.xml
+++ b/res/layout-sw680dp-w1000dp/detail_header_contact_with_updates.xml
@@ -27,9 +27,7 @@
android:paddingBottom="8dip"
android:orientation="horizontal">
- <ImageView
- android:id="@+id/photo"
- android:scaleType="centerCrop"
+ <include layout="@layout/photo_selector_view"
android:layout_width="@dimen/detail_contact_photo_size"
android:layout_height="@dimen/detail_contact_photo_size" />
diff --git a/res/layout-w470dp/contact_detail_fragment.xml b/res/layout-w470dp/contact_detail_fragment.xml
index 415bb56..166610e 100644
--- a/res/layout-w470dp/contact_detail_fragment.xml
+++ b/res/layout-w470dp/contact_detail_fragment.xml
@@ -37,12 +37,12 @@
android:layout_above="@id/contact_quick_fix"
android:layout_height="match_parent" >
- <ImageView android:id="@+id/photo"
- android:scaleType="centerCrop"
+ <include android:id="@+id/static_photo_container"
+ layout="@layout/photo_selector_view"
android:layout_width="128dip"
android:layout_height="128dip"
android:layout_marginLeft="@dimen/detail_contact_photo_margin"
- android:layout_marginTop="@dimen/detail_contact_photo_margin"/>
+ android:layout_marginTop="@dimen/detail_contact_photo_margin" />
<ListView android:id="@android:id/list"
android:layout_width="0dip"
diff --git a/res/layout/account_filter_header.xml b/res/layout/account_filter_header.xml
index ef0a9c2..0ffb7e1 100644
--- a/res/layout/account_filter_header.xml
+++ b/res/layout/account_filter_header.xml
@@ -23,7 +23,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
- android:paddingTop="@dimen/account_filter_header_top_padding"
+ android:paddingTop="@dimen/list_header_extra_top_padding"
android:layout_marginLeft="@dimen/contact_browser_list_header_left_margin"
android:layout_marginRight="@dimen/contact_browser_list_header_right_margin"
android:background="?android:attr/selectableItemBackground"
diff --git a/res/layout/call_detail.xml b/res/layout/call_detail.xml
index 13124f2..7498f5a 100644
--- a/res/layout/call_detail.xml
+++ b/res/layout/call_detail.xml
@@ -162,16 +162,22 @@
<TextView android:id="@+id/call_and_sms_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
+ android:paddingRight="@dimen/call_log_icon_margin"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="?attr/call_log_primary_text_color"
+ android:singleLine="true"
+ android:ellipsize="end"
/>
<TextView android:id="@+id/call_and_sms_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
+ android:paddingRight="@dimen/call_log_icon_margin"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="?attr/call_log_primary_text_color"
android:textAllCaps="true"
+ android:singleLine="true"
+ android:ellipsize="end"
/>
</LinearLayout>
diff --git a/res/layout/call_log_list_item.xml b/res/layout/call_log_list_item.xml
index 777c7af..4040c28 100644
--- a/res/layout/call_log_list_item.xml
+++ b/res/layout/call_log_list_item.xml
@@ -69,18 +69,38 @@
android:id="@+id/name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
+ android:layout_marginRight="@dimen/call_log_icon_margin"
android:textColor="?attr/call_log_primary_text_color"
android:textSize="18sp"
android:singleLine="true"
/>
- <TextView
- android:id="@+id/number"
+ <LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:textColor="?attr/call_log_secondary_text_color"
- android:textSize="14sp"
- android:singleLine="true"
- />
+ android:orientation="horizontal"
+ >
+ <TextView
+ android:id="@+id/number"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginRight="@dimen/call_log_icon_margin"
+ android:textColor="?attr/call_log_secondary_text_color"
+ android:textSize="14sp"
+ android:singleLine="true"
+ android:ellipsize="marquee"
+ />
+ <TextView
+ android:id="@+id/label"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginRight="@dimen/call_log_icon_margin"
+ android:textColor="?attr/call_log_secondary_text_color"
+ android:textStyle="bold"
+ android:textSize="14sp"
+ android:singleLine="true"
+ android:ellipsize="marquee"
+ />
+ </LinearLayout>
<LinearLayout
android:id="@+id/call_type"
android:layout_width="wrap_content"
@@ -99,6 +119,7 @@
android:id="@+id/call_count_and_date"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
+ android:layout_marginRight="@dimen/call_log_icon_margin"
android:layout_gravity="center_vertical"
android:textColor="?attr/call_log_secondary_text_color"
android:textSize="14sp"
diff --git a/res/layout/contact_detail_list_padding.xml b/res/layout/contact_detail_list_padding.xml
index 8095731..c5dbd06 100644
--- a/res/layout/contact_detail_list_padding.xml
+++ b/res/layout/contact_detail_list_padding.xml
@@ -23,6 +23,5 @@
<View
android:id="@+id/contact_detail_list_padding"
android:layout_width="match_parent"
- android:layout_height="@dimen/contact_browser_list_top_margin" />
+ android:layout_height="@dimen/list_header_extra_top_padding" />
</FrameLayout>
-
diff --git a/res/layout/contact_tile_starred.xml b/res/layout/contact_tile_starred.xml
index 4116157..91438e9 100644
--- a/res/layout/contact_tile_starred.xml
+++ b/res/layout/contact_tile_starred.xml
@@ -73,7 +73,7 @@
</LinearLayout>
- <View
+ <View
android:id="@+id/contact_tile_push_state"
android:layout_width="match_parent"
android:layout_height="match_parent"
diff --git a/res/layout/contacts_unavailable_fragment.xml b/res/layout/contacts_unavailable_fragment.xml
index 9f28a55..1abc020 100644
--- a/res/layout/contacts_unavailable_fragment.xml
+++ b/res/layout/contacts_unavailable_fragment.xml
@@ -62,13 +62,12 @@
android:layout_marginBottom="15dip"
android:text="@string/contacts_unavailable_add_account" />
- <!-- TODO: Use a string that says "Import" instead of "Import/export contacts"-->
<Button
android:id="@+id/import_contacts_button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="15dip"
- android:text="@string/dialog_import_export" />
+ android:text="@string/contacts_unavailable_import_contacts" />
<Button
android:id="@+id/import_failure_uninstall_button"
diff --git a/res/layout/detail_header_contact_without_updates.xml b/res/layout/detail_header_contact_without_updates.xml
index 2de7711..6422445 100644
--- a/res/layout/detail_header_contact_without_updates.xml
+++ b/res/layout/detail_header_contact_without_updates.xml
@@ -26,9 +26,7 @@
android:layout_height="wrap_content"
ex:ratio="0.5"
ex:direction="widthToHeight">
- <ImageView
- android:id="@+id/photo"
- android:scaleType="centerCrop"
- android:layout_width="match_parent"
- android:layout_height="match_parent" />
+
+ <include layout="@layout/photo_selector_view" />
+
</view>
\ No newline at end of file
diff --git a/res/layout/directory_header.xml b/res/layout/directory_header.xml
index a2adf48..8e845e0 100644
--- a/res/layout/directory_header.xml
+++ b/res/layout/directory_header.xml
@@ -15,23 +15,21 @@
-->
<!-- Layout used for list section separators. -->
-<RelativeLayout
+<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
style="@style/DirectoryHeader"
android:layout_width="match_parent"
android:layout_height="wrap_content"
+ android:gravity="center_vertical"
android:minHeight="@dimen/list_section_divider_min_height"
android:background="@drawable/list_section_divider_holo_custom"
- android:paddingTop="@dimen/contact_browser_list_top_margin"
+ android:layout_marginTop="@dimen/list_header_extra_top_padding"
android:paddingLeft="?attr/list_item_padding_left"
android:paddingRight="?attr/list_item_padding_right">
<TextView
android:id="@+id/label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_alignParentTop="true"
- android:layout_alignParentLeft="true"
- android:layout_centerVertical="true"
android:layout_marginLeft="8dip"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="@color/people_app_theme_color"
@@ -39,21 +37,9 @@
android:textStyle="bold"
android:textAllCaps="true" />
<TextView
- android:id="@+id/count"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_alignParentRight="true"
- android:layout_alignBaseline="@id/label"
- android:singleLine="true"
- android:textSize="12sp"
- android:textColor="@color/contact_count_text_color" />
- <TextView
android:id="@+id/display_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_toRightOf="@id/label"
- android:layout_toLeftOf="@id/count"
- android:layout_alignBaseline="@id/label"
android:layout_marginLeft="8dip"
android:layout_marginRight="8dip"
android:textAppearance="?android:attr/textAppearanceSmall"
@@ -61,4 +47,14 @@
android:singleLine="true"
android:textStyle="bold"
android:textAllCaps="true" />
-</RelativeLayout>
+ <TextView
+ android:id="@+id/count"
+ android:paddingTop="1dip"
+ android:layout_width="0dip"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:gravity="right"
+ android:singleLine="true"
+ android:textSize="12sp"
+ android:textColor="@color/contact_count_text_color" />
+</LinearLayout>
diff --git a/res/layout/group_browse_list_account_header.xml b/res/layout/group_browse_list_account_header.xml
index 709c276..78e0639 100644
--- a/res/layout/group_browse_list_account_header.xml
+++ b/res/layout/group_browse_list_account_header.xml
@@ -24,7 +24,7 @@
<View
android:id="@+id/header_extra_top_padding"
android:layout_width="match_parent"
- android:layout_height="@dimen/contact_browser_list_top_margin" />
+ android:layout_height="@dimen/list_header_extra_top_padding" />
<LinearLayout
android:layout_width="match_parent"
diff --git a/res/layout/join_contact_picker.xml b/res/layout/join_contact_picker.xml
index ea0deaf..ee30525 100644
--- a/res/layout/join_contact_picker.xml
+++ b/res/layout/join_contact_picker.xml
@@ -14,23 +14,13 @@
limitations under the License.
-->
-<view
- xmlns:android="http://schemas.android.com/apk/res/android"
+<view xmlns:android="http://schemas.android.com/apk/res/android"
class="com.android.contacts.widget.FullHeightLinearLayout"
style="@style/ContactPickerLayout"
android:orientation="vertical">
-
<FrameLayout
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="1"
android:id="@+id/list_container" />
-
- <View
- android:id="@+id/divider"
- android:layout_width="match_parent"
- android:layout_height="1dip"
- android:layout_marginLeft="?attr/contact_browser_list_padding_left"
- android:layout_marginRight="?attr/contact_browser_list_padding_right"
- android:background="?android:attr/dividerHorizontal" />
</view>
diff --git a/res/layout/photo_selector_view.xml b/res/layout/photo_selector_view.xml
new file mode 100644
index 0000000..0006559
--- /dev/null
+++ b/res/layout/photo_selector_view.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2011 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.
+-->
+
+<!--
+ View for displaying photos that show a photo selector when clicked.
+-->
+<FrameLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent">
+
+ <ImageView
+ android:id="@+id/photo"
+ android:scaleType="centerCrop"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent" />
+
+ <View
+ android:id="@+id/photo_touch_intercept_overlay"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:background="?android:attr/selectableItemBackground"
+ android:visibility="gone" />
+
+</FrameLayout>
\ No newline at end of file
diff --git a/res/layout/photoselection_activity.xml b/res/layout/photoselection_activity.xml
new file mode 100644
index 0000000..75f729b
--- /dev/null
+++ b/res/layout/photoselection_activity.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2011 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:ex="http://schemas.android.com/apk/res/com.android.contacts"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent">
+ <View
+ android:id="@+id/backdrop"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:background="#000000" />
+ <view
+ android:id="@+id/photo"
+ class="com.android.contacts.detail.TransformableImageView"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:scaleType="centerCrop" />
+</FrameLayout>
\ No newline at end of file
diff --git a/res/layout/raw_contact_editor_view.xml b/res/layout/raw_contact_editor_view.xml
index 5180557..1ea781e 100644
--- a/res/layout/raw_contact_editor_view.xml
+++ b/res/layout/raw_contact_editor_view.xml
@@ -77,7 +77,8 @@
android:id="@+id/sect_fields"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:orientation="vertical"/>
+ android:orientation="vertical"
+ android:layout_marginBottom="16dip"/>
<Button
android:id="@+id/button_add_field"
@@ -85,7 +86,6 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
- android:layout_marginTop="16dip"
android:layout_marginBottom="32dip"/>
</LinearLayout>
diff --git a/res/layout/user_profile_header.xml b/res/layout/user_profile_header.xml
index 6867dea..67b64d5 100644
--- a/res/layout/user_profile_header.xml
+++ b/res/layout/user_profile_header.xml
@@ -17,49 +17,42 @@
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/user_profile_header"
- android:orientation="vertical"
+ android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:minHeight="?attr/list_item_header_height"
- android:paddingTop="@dimen/contact_browser_list_top_margin"
+ android:paddingTop="@dimen/list_header_extra_top_padding"
android:paddingLeft="?attr/list_item_padding_left"
- android:paddingRight="?attr/list_item_padding_right" >
+ android:paddingRight="?attr/list_item_padding_right"
+ android:background="@drawable/list_section_divider_holo_custom"
+ android:minHeight="?attr/list_item_header_height"
+ >
- <LinearLayout
- android:orientation="horizontal"
- android:layout_width="match_parent"
- android:layout_height="wrap_content">
+ <TextView
+ android:id="@+id/profile_title"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:singleLine="true"
+ android:text="@string/user_profile_contacts_list_header"
+ android:textStyle="bold"
+ android:ellipsize="end"
+ android:layout_gravity="left|bottom"
+ android:layout_marginBottom="2dip"
+ android:layout_weight="1"
+ android:textAllCaps="true"
+ android:textAppearance="?android:attr/textAppearanceSmall"
+ android:paddingLeft="?attr/list_item_text_indent"
+ android:textColor="@color/people_app_theme_color" />
- <TextView
- android:id="@+id/profile_title"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:singleLine="true"
- android:text="@string/user_profile_contacts_list_header"
- android:textStyle="bold"
- android:ellipsize="end"
- android:gravity="left|center_vertical"
- android:layout_weight="1"
- android:textAllCaps="true"
- android:textAppearance="?android:attr/textAppearanceSmall"
- android:paddingLeft="?attr/list_item_text_indent"
- android:textColor="@color/people_app_theme_color" />
-
- <TextView
- android:id="@+id/contacts_count"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:singleLine="true"
- android:ellipsize="end"
- android:layout_gravity="right|center_vertical"
- android:textAppearance="?android:attr/textAppearanceSmall"
- android:textSize="12sp"
- android:textColor="@color/contact_count_text_color" />
- </LinearLayout>
-
- <View
- android:background="@color/people_app_theme_color"
- android:layout_width="match_parent"
- android:layout_height="?attr/list_item_header_underline_height" />
+ <TextView
+ android:id="@+id/contacts_count"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:singleLine="true"
+ android:ellipsize="end"
+ android:layout_gravity="right|bottom"
+ android:layout_marginBottom="2dip"
+ android:textAppearance="?android:attr/textAppearanceSmall"
+ android:textSize="12sp"
+ android:textColor="@color/contact_count_text_color" />
</LinearLayout>
diff --git a/res/menu-sw580dp-w720dp/actions.xml b/res/menu-sw580dp-w720dp/people_options.xml
similarity index 88%
rename from res/menu-sw580dp-w720dp/actions.xml
rename to res/menu-sw580dp-w720dp/people_options.xml
index 8735d89..5f939cc 100644
--- a/res/menu-sw580dp-w720dp/actions.xml
+++ b/res/menu-sw580dp-w720dp/people_options.xml
@@ -34,25 +34,21 @@
<item
android:id="@+id/menu_contacts_filter"
- android:icon="@drawable/ic_menu_settings_holo_light"
android:orderInCategory="1"
android:title="@string/menu_contacts_filter" />
<item
android:id="@+id/menu_import_export"
- android:icon="@drawable/ic_menu_import_export_holo_light"
android:orderInCategory="2"
android:title="@string/menu_import_export" />
<item
android:id="@+id/menu_accounts"
- android:icon="@drawable/ic_menu_accounts_holo_light"
android:orderInCategory="3"
android:title="@string/menu_accounts" />
<item
android:id="@+id/menu_settings"
- android:icon="@drawable/ic_menu_settings_holo_light"
android:orderInCategory="4"
android:title="@string/menu_settings" />
</menu>
diff --git a/res/menu-sw580dp-w720dp/view_contact.xml b/res/menu-sw580dp-w720dp/view_contact.xml
index 734e6b2..c1f99a8 100644
--- a/res/menu-sw580dp-w720dp/view_contact.xml
+++ b/res/menu-sw580dp-w720dp/view_contact.xml
@@ -24,13 +24,11 @@
<item
android:id="@+id/menu_share"
- android:icon="@drawable/ic_menu_share_holo_light"
android:title="@string/menu_share"
android:alphabeticShortcut="s" />
<item
android:id="@+id/menu_delete"
- android:icon="@drawable/ic_menu_trash_holo_light"
android:title="@string/menu_deleteContact" />
</menu>
diff --git a/res/menu-sw580dp-w720dp/view_group.xml b/res/menu-sw580dp-w720dp/view_group.xml
index 1348d84..3836c0f 100644
--- a/res/menu-sw580dp-w720dp/view_group.xml
+++ b/res/menu-sw580dp-w720dp/view_group.xml
@@ -24,6 +24,5 @@
<item
android:id="@+id/menu_delete_group"
- android:icon="@drawable/ic_menu_trash_holo_light"
android:title="@string/menu_deleteGroup" />
</menu>
diff --git a/res/menu-sw580dp/actions.xml b/res/menu-sw580dp/people_options.xml
similarity index 89%
rename from res/menu-sw580dp/actions.xml
rename to res/menu-sw580dp/people_options.xml
index 35a9c0a..c8c114a 100644
--- a/res/menu-sw580dp/actions.xml
+++ b/res/menu-sw580dp/people_options.xml
@@ -37,25 +37,21 @@
-->
<item
android:id="@+id/menu_contacts_filter"
- android:icon="@drawable/ic_menu_settings_holo_light"
android:orderInCategory="1"
android:title="@string/menu_contacts_filter" />
<item
android:id="@+id/menu_import_export"
- android:icon="@drawable/ic_menu_import_export_holo_light"
android:orderInCategory="2"
android:title="@string/menu_import_export" />
<item
android:id="@+id/menu_accounts"
- android:icon="@drawable/ic_menu_accounts_holo_light"
android:orderInCategory="3"
android:title="@string/menu_accounts" />
<item
android:id="@+id/menu_settings"
- android:icon="@drawable/ic_menu_settings_holo_light"
android:orderInCategory="4"
android:title="@string/menu_settings" />
</menu>
diff --git a/res/menu-sw580dp/view_contact.xml b/res/menu-sw580dp/view_contact.xml
index 1279601..0f285db 100644
--- a/res/menu-sw580dp/view_contact.xml
+++ b/res/menu-sw580dp/view_contact.xml
@@ -23,13 +23,11 @@
<item
android:id="@+id/menu_share"
- android:icon="@drawable/ic_menu_share_holo_light"
android:title="@string/menu_share"
android:alphabeticShortcut="s" />
<item
android:id="@+id/menu_delete"
- android:icon="@drawable/ic_menu_trash_holo_light"
android:title="@string/menu_deleteContact" />
</menu>
diff --git a/res/menu-sw580dp/view_group.xml b/res/menu-sw580dp/view_group.xml
index cd52030..d01c167 100644
--- a/res/menu-sw580dp/view_group.xml
+++ b/res/menu-sw580dp/view_group.xml
@@ -23,6 +23,5 @@
<item
android:id="@+id/menu_delete_group"
- android:icon="@drawable/ic_menu_trash_holo_light"
android:title="@string/menu_deleteGroup" />
</menu>
diff --git a/res/menu/call_details_options.xml b/res/menu/call_details_options.xml
index ed0111b..63ce8f5 100644
--- a/res/menu/call_details_options.xml
+++ b/res/menu/call_details_options.xml
@@ -23,7 +23,6 @@
/>
<item
android:id="@+id/menu_remove_from_call_log"
- android:icon="@android:drawable/ic_menu_close_clear_cancel"
android:title="@string/recentCalls_removeFromRecentList"
android:onClick="onMenuRemoveFromCallLog"
/>
diff --git a/res/menu/call_log_options.xml b/res/menu/call_log_options.xml
index 3d0fb6a..c41f9da 100644
--- a/res/menu/call_log_options.xml
+++ b/res/menu/call_log_options.xml
@@ -29,7 +29,6 @@
<item
android:id="@+id/delete_all"
- android:icon="@android:drawable/ic_menu_close_clear_cancel"
android:title="@string/recentCalls_deleteAll"
android:showAsAction="withText"
android:orderInCategory="1" />
diff --git a/res/menu/dialpad_options.xml b/res/menu/dialpad_options.xml
index 02b1f7f..6dda8fc 100644
--- a/res/menu/dialpad_options.xml
+++ b/res/menu/dialpad_options.xml
@@ -16,20 +16,17 @@
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/menu_add_contacts"
- android:icon="@android:drawable/ic_menu_add"
android:title="@string/recentCalls_addToContact"
android:showAsAction="withText"
android:orderInCategory="1" />
<item
android:id="@+id/menu_2s_pause"
- android:icon="@drawable/ic_menu_2sec_pause"
android:title="@string/add_2sec_pause"
android:showAsAction="withText"
android:orderInCategory="1" />
<item
android:id="@+id/menu_add_wait"
- android:icon="@drawable/ic_menu_wait"
android:title="@string/add_wait"
android:showAsAction="withText"
android:orderInCategory="1" />
@@ -37,7 +34,6 @@
<item
android:id="@+id/menu_call_settings_dialpad"
android:title="@string/call_settings"
- android:icon="@drawable/ic_menu_settings_holo_light"
android:showAsAction="withText"
android:orderInCategory="1" />
</menu>
diff --git a/res/menu/dialtacts_options.xml b/res/menu/dialtacts_options.xml
index 54ca086..a35f2ea 100644
--- a/res/menu/dialtacts_options.xml
+++ b/res/menu/dialtacts_options.xml
@@ -24,7 +24,6 @@
<item
android:id="@+id/menu_call_settings"
android:title="@string/call_settings"
- android:icon="@drawable/ic_menu_settings_holo_light"
android:showAsAction="withText"
android:orderInCategory="2" />
@@ -35,6 +34,7 @@
<item
android:id="@+id/add_contact"
+ android:icon="@drawable/ic_add_contact_holo_dark"
android:title="@string/menu_newContact"
- android:showAsAction="withText" />
+ android:showAsAction="ifRoom" />
</menu>
diff --git a/res/menu/edit_contact.xml b/res/menu/edit_contact.xml
index 26b89df..93c19dc 100644
--- a/res/menu/edit_contact.xml
+++ b/res/menu/edit_contact.xml
@@ -22,12 +22,10 @@
<item
android:id="@+id/menu_split"
- android:icon="@drawable/ic_menu_split_holo_light"
android:title="@string/menu_splitAggregate" />
<item
android:id="@+id/menu_join"
- android:icon="@drawable/ic_menu_merge_holo_light"
android:title="@string/menu_joinAggregate" />
<item
diff --git a/res/menu/list.xml b/res/menu/list.xml
index 56d92f8..f4a8751 100644
--- a/res/menu/list.xml
+++ b/res/menu/list.xml
@@ -28,17 +28,14 @@
<item
android:id="@+id/menu_settings"
- android:icon="@drawable/ic_menu_settings_holo_light"
android:title="@string/menu_settings" />
<item
android:id="@+id/menu_accounts"
- android:icon="@drawable/ic_menu_accounts_holo_light"
android:title="@string/menu_accounts" />
<item
android:id="@+id/menu_import_export"
- android:icon="@drawable/ic_menu_import_export_holo_light"
android:title="@string/menu_import_export" />
</menu>
diff --git a/res/menu/actions.xml b/res/menu/people_options.xml
similarity index 87%
rename from res/menu/actions.xml
rename to res/menu/people_options.xml
index 9067a46..0c82f99 100644
--- a/res/menu/actions.xml
+++ b/res/menu/people_options.xml
@@ -34,21 +34,17 @@
<item
android:id="@+id/menu_contacts_filter"
- android:icon="@drawable/ic_menu_settings_holo_light"
android:title="@string/menu_contacts_filter" />
<item
android:id="@+id/menu_import_export"
- android:icon="@drawable/ic_menu_import_export_holo_light"
android:title="@string/menu_import_export" />
<item
android:id="@+id/menu_accounts"
- android:icon="@drawable/ic_menu_accounts_holo_light"
android:title="@string/menu_accounts" />
<item
android:id="@+id/menu_settings"
- android:icon="@drawable/ic_menu_settings_holo_light"
android:title="@string/menu_settings" />
</menu>
diff --git a/res/menu/phone_favorite_options.xml b/res/menu/phone_favorite_options.xml
new file mode 100644
index 0000000..ac67d6e
--- /dev/null
+++ b/res/menu/phone_favorite_options.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2011 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.
+-->
+<menu xmlns:android="http://schemas.android.com/apk/res/android">
+ <item
+ android:id="@+id/menu_import_export"
+ android:title="@string/menu_import_export" />
+
+ <item
+ android:id="@+id/menu_accounts"
+ android:title="@string/menu_accounts" />
+</menu>
diff --git a/res/menu/view_contact.xml b/res/menu/view_contact.xml
index 2ae4806..6712cb6 100644
--- a/res/menu/view_contact.xml
+++ b/res/menu/view_contact.xml
@@ -17,24 +17,20 @@
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/menu_edit"
- android:icon="@drawable/ic_menu_compose_holo_dark"
android:title="@string/menu_editContact"
android:alphabeticShortcut="e" />
<item
android:id="@+id/menu_share"
- android:icon="@drawable/ic_menu_share_holo_light"
android:title="@string/menu_share"
android:alphabeticShortcut="s" />
<item
android:id="@+id/menu_delete"
- android:icon="@drawable/ic_menu_trash_holo_light"
android:title="@string/menu_deleteContact" />
<item
android:id="@+id/menu_set_ringtone"
- android:icon="@drawable/ic_menu_mark"
android:title="@string/menu_set_ring_tone" />
<item
diff --git a/res/menu/view_group.xml b/res/menu/view_group.xml
index cd52030..669f401 100644
--- a/res/menu/view_group.xml
+++ b/res/menu/view_group.xml
@@ -17,12 +17,10 @@
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/menu_edit_group"
- android:icon="@drawable/ic_menu_compose_holo_dark"
android:title="@string/menu_editGroup"
android:alphabeticShortcut="e" />
<item
android:id="@+id/menu_delete_group"
- android:icon="@drawable/ic_menu_trash_holo_light"
android:title="@string/menu_deleteGroup" />
</menu>
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index 428fed8..8998533 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -41,7 +41,8 @@
<string name="menu_search" msgid="9147752853603483719">"Soek"</string>
<string name="menu_newContact" msgid="1209922412763274638">"Nuwe kontak"</string>
<string name="menu_viewContact" msgid="2795575601596468581">"Bekyk kontak"</string>
- <string name="menu_callNumber" msgid="5142851348489387516">"Bel <xliff:g id="NAME">%s</xliff:g>"</string>
+ <!-- no translation found for menu_callNumber (997146291983360266) -->
+ <skip />
<string name="menu_addStar" msgid="2908478235715404876">"Voeg by gunstelinge"</string>
<string name="menu_removeStar" msgid="5844227078364227030">"Verwyder van gunstelinge"</string>
<string name="menu_editContact" msgid="9042415603857662633">"Redigeer"</string>
@@ -62,7 +63,6 @@
<string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Voorgestelde kontakte"</string>
<string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Alle kontakte"</string>
<string name="contactsJoinedMessage" msgid="7208148163607047389">"Kontakte saamgevoeg"</string>
- <string name="deleteConfirmation_title" msgid="1418215926447642260">"Vee kontak uit?"</string>
<string name="menu_set_ring_tone" msgid="8728345772068064946">"Stel luitoon op"</string>
<string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Alle oproepe na stempos"</string>
<string name="readOnlyContactWarning" msgid="7808825687289848259">"Jy kan nie kontakte uit leesalleen-rekeninge uitvee nie, maar jy kan hulle wel in jou kontaklyste versteek."</string>
@@ -186,7 +186,6 @@
<string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> min. <xliff:g id="SECONDS">%s</xliff:g> sek."</string>
<string name="favoritesFrequentContacted" msgid="6184232487472425690">"Gereeld gekontak"</string>
<string name="favoritesFrequentCalled" msgid="6128306889600696124">"Gereeld gebel"</string>
- <string name="add_contact_dlg_title" msgid="2896685845822146494">"Voeg kontak by"</string>
<string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Voeg \"<xliff:g id="EMAIL">%s</xliff:g>\" by kontakte?"</string>
<string name="description_image_button_one" msgid="1740638037139856139">"een"</string>
<string name="description_image_button_two" msgid="5882638439003731308">"twee"</string>
@@ -209,11 +208,8 @@
<string name="description_minus_button" msgid="387136707700230172">"minus"</string>
<string name="description_plus_button" msgid="515164827856229880">"plus"</string>
<string name="description_view_contact_detail" msgid="9133251213656414807">"Bekyk kontak"</string>
- <string name="no_sdcard_title" product="nosdcard" msgid="8543619259870877473">"Berging nie beskikbaar nie"</string>
- <string name="no_sdcard_title" product="default" msgid="5911758680339949273">"Geen SD-kaart nie"</string>
<string name="no_sdcard_message" product="nosdcard" msgid="5242558018442357189">"Geen berging gevind nie."</string>
<string name="no_sdcard_message" product="default" msgid="3357810406684913482">"Geen SD-kaart gevind nie."</string>
- <string name="searching_vcard_title" msgid="4970508055399376813">"Soek vir vCard"</string>
<string name="import_from_sim" msgid="3859272228033941659">"Voer in van SIM-kaart"</string>
<string name="import_from_sdcard" product="default" msgid="8668347930577565175">"Voer in uit berging"</string>
<string name="export_to_sdcard" product="default" msgid="6092815580965201089">"Voer uit na berging"</string>
@@ -223,16 +219,14 @@
<string name="import_all_vcard_string" msgid="5518136113853448474">"Voer alle vCard-lêers in"</string>
<string name="searching_vcard_message" product="nosdcard" msgid="557077639409584945">"Soek tans vir vCard-data in berging..."</string>
<string name="searching_vcard_message" product="default" msgid="3962269894118092049">"Soek tans vir vCard-data op SD-kaart..."</string>
- <string name="scanning_sdcard_failed_title" product="nosdcard" msgid="4944932641334764942">"Kon berging nie skandeer nie."</string>
- <string name="scanning_sdcard_failed_title" product="default" msgid="6664940444476572612">"Kon nie SD-kaart skandeer nie"</string>
<string name="scanning_sdcard_failed_message" product="nosdcard" msgid="7221682312959229201">"Die berging kon nie geskandeer word nie. (Rede: \"<xliff:g id="FAIL_REASON">%s</xliff:g>\")"</string>
<string name="scanning_sdcard_failed_message" product="default" msgid="189023067829510792">"Die SD-kaart kon nie geskandeer word nie. (Rede: \"<xliff:g id="FAIL_REASON">%s</xliff:g>\")"</string>
<string name="fail_reason_io_error" msgid="6748358842976073255">"T/A-fout"</string>
- <string name="fail_reason_low_memory_during_import" msgid="875222757734882898">"Nie genoeg geheue nie. Die lêer is dalk te groot."</string>
+ <string name="fail_reason_low_memory_during_import" msgid="875222757734882898">"Nie genoeg berging nie. Die lêer is dalk te groot."</string>
<string name="fail_reason_vcard_parse_error" msgid="888263542360355784">"Kon nie vCard ontleed nie weens onverwagte redes."</string>
<string name="fail_reason_not_supported" msgid="8219562769267148825">"Die formaat word nie ondersteun nie."</string>
<string name="vcard_import_failed" msgid="5223531255894842406">"Kon nie vCard invoer nie."</string>
- <string name="import_failure_no_vcard_file" product="nosdcard" msgid="2071820850017305867">"Geen vCard-lêer in geheue gevind nie."</string>
+ <string name="import_failure_no_vcard_file" product="nosdcard" msgid="2071820850017305867">"Geen vCard-lêer in berging gevind nie."</string>
<string name="import_failure_no_vcard_file" product="default" msgid="1754014167874286173">"Geen vCard-lêer op die SD-kaart gevind nie"</string>
<string name="fail_reason_failed_to_collect_vcard_meta_info" msgid="6427931733267328564">"Kon nie meta-inligting van gegewe vCard-lêer(s) versamel nie."</string>
<string name="fail_reason_failed_to_read_files" msgid="5823434810622484922">"Een of meer lêers kon nie ingevoer word nie (%s)."</string>
@@ -273,9 +267,7 @@
<string name="composer_not_initialized" msgid="2321648986367005254">"Die vCard-opsteller het nie behoorlik begin nie."</string>
<string name="fail_reason_could_not_open_file" msgid="2067725459821997463">"Kon nie \"<xliff:g id="FILE_NAME">%s</xliff:g>\" open nie: <xliff:g id="EXACT_REASON">%s</xliff:g>."</string>
<string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> van <xliff:g id="TOTAL_NUMBER">%s</xliff:g> kontakte"</string>
- <string name="cancel_import_confirmation_title" msgid="5578683596010294836">"Kanselleer vCard-invoer"</string>
<string name="cancel_import_confirmation_message" msgid="3929951040347726757">"Kanselleer invoer van <xliff:g id="FILENAME">%s</xliff:g>?"</string>
- <string name="cancel_export_confirmation_title" msgid="6516467140276768528">"Kanselleer vCard-uitvoer"</string>
<string name="cancel_export_confirmation_message" msgid="1995462401949262638">"Kanselleer uitvoer van <xliff:g id="FILENAME">%s</xliff:g>?"</string>
<string name="cancel_vcard_import_or_export_failed" msgid="6139900383366166706">"Kon nie vCard invoer/uitvoer kanselleer nie"</string>
<string name="search_settings_description" msgid="2675223022992445813">"Name van jou kontakte"</string>
@@ -418,7 +410,7 @@
<string name="pick_new_photo" msgid="7962368009197147617">"Kies nuwe foto uit galery"</string>
<string name="locale_change_in_progress" msgid="7583992153091537467">"Kontaklys word tans opgedateer om die taalverandering te weerspieël."</string>
<string name="upgrade_in_progress" msgid="474511436863451061">"Kontaklys word opgedateer."</string>
- <string name="upgrade_out_of_memory" msgid="1209994418877625940">"Kontakte word tans opgradeer. "\n\n"Die opgraderingsproses benodig interne geheue van omtrent <xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g> MG. "\n\n"Kies een van die volgende opsies:"</string>
+ <string name="upgrade_out_of_memory" msgid="1209994418877625940">"Kontakte word tans opgradeer. "\n\n"Die opgraderingsproses benodig interne berging van omtrent <xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g> MG. "\n\n"Kies een van die volgende opsies:"</string>
<string name="upgrade_out_of_memory_uninstall" msgid="1721798828992091432">"Deïnstalleer sekere programme"</string>
<string name="upgrade_out_of_memory_retry" msgid="8431289830472724609">"Herprobeer opgradering"</string>
<string name="search_results_searching" msgid="3984833028938569930">"Soek tans…"</string>
@@ -441,9 +433,7 @@
<item quantity="other" msgid="425683718017380845">"saamgevoeg uit <xliff:g id="COUNT">%0$d</xliff:g> bronne"</item>
</plurals>
<string name="local_invisible_directory" msgid="6046691709127661065">"Ander"</string>
- <string name="aggregation_suggestion_join_dialog_title" msgid="5276699501316246253">"Voeg kontakte saam"</string>
<string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"Voeg die huidige kontak by die gekose kontak saam?"</string>
- <string name="aggregation_suggestion_edit_dialog_title" msgid="1064042382692091314">"Redigeer gekose kontakte"</string>
<string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"Wissel na redigering van die gekose kontak? Inligting wat jy tot dusver ingevoer het, sal gekopieer word."</string>
<string name="menu_copyContact" msgid="1573960845106822639">"Kopieer na My kontakte"</string>
<string name="add_to_my_contacts" msgid="1068274916793627723">"Voeg by My kontakte"</string>
@@ -478,7 +468,6 @@
<string name="contacts_unavailable_import_contacts" msgid="4456440183590517471">"Voer kontakte van \'n lêer in"</string>
<string name="create_group_dialog_title" msgid="6874527142828424475">"Skep nuwe groep"</string>
<string name="create_group_item_label" msgid="5218022006186243310">"[Skep nuwe groep]"</string>
- <string name="delete_group_dialog_title" msgid="7368429698398624427">"Vee groep uit"</string>
<plurals name="num_groups_in_account">
<item quantity="one" msgid="2944819210288517794">"1 groep"</item>
<item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> groepe"</item>
@@ -497,7 +486,6 @@
<string name="set_default" msgid="4417505153468300351">"Stel verstek op"</string>
<string name="clear_default" msgid="7193185801596678067">"Vee verstek uit"</string>
<string name="toast_text_copied" msgid="5143776250008541719">"Teks gekopieer"</string>
- <string name="cancel_confirmation_dialog_title" msgid="3950463632415908534">"Ontdoen wysigings"</string>
<string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"Verwerp jou veranderings?"</string>
<string name="call_type_and_date" msgid="1766269584078149149">"<xliff:g id="CALL_TYPE">%1$s</xliff:g> <xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g>"</string>
<string name="profile_display_name" msgid="4127389543625918771">"Stel my profiel op"</string>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index acb3794..cd59a54 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -41,7 +41,8 @@
<string name="menu_search" msgid="9147752853603483719">"ፍለጋ"</string>
<string name="menu_newContact" msgid="1209922412763274638">"አዲስ ዕውቅያ"</string>
<string name="menu_viewContact" msgid="2795575601596468581">"ዕውቂያ ዕይ"</string>
- <string name="menu_callNumber" msgid="5142851348489387516">"ጥሪ <xliff:g id="NAME">%s</xliff:g>"</string>
+ <!-- no translation found for menu_callNumber (997146291983360266) -->
+ <skip />
<string name="menu_addStar" msgid="2908478235715404876">"ወደ ተወዳጅ አክል"</string>
<string name="menu_removeStar" msgid="5844227078364227030">"ከተወዳጆች አስወግድ"</string>
<string name="menu_editContact" msgid="9042415603857662633">"አርትዕ"</string>
@@ -62,7 +63,6 @@
<string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"አስተያየት የተሰጠባቸው እውቅያዎች"</string>
<string name="separatorJoinAggregateAll" msgid="7939932265026181043">"ሁሉም እውቅያዎች"</string>
<string name="contactsJoinedMessage" msgid="7208148163607047389">"ዕውቂያዎች ተገናኝተዋል"</string>
- <string name="deleteConfirmation_title" msgid="1418215926447642260">"ዕውቅያ ሰርዝ?"</string>
<string name="menu_set_ring_tone" msgid="8728345772068064946">"የጥሪ ድምፅ አዘጋጅ"</string>
<string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"ሁሉንም ጥሪዎች ወደ ድምፅ መልዕክት"</string>
<string name="readOnlyContactWarning" msgid="7808825687289848259">"ዕውቂያዎችን ከንባብ-ብቻ መለያዎች መሰረዝ አትችልም፤ ነገር ግን በዕውቂያ ዝርዝሮች ውስጥ መደበቅ ትችላለህ።"</string>
@@ -186,7 +186,6 @@
<string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g>ደቂቃዎች <xliff:g id="SECONDS">%s</xliff:g> ሰከንዶች"</string>
<string name="favoritesFrequentContacted" msgid="6184232487472425690">"በተደጋጋሚ የሚገናኙ"</string>
<string name="favoritesFrequentCalled" msgid="6128306889600696124">"በተደጋጋሚ የተደወለ"</string>
- <string name="add_contact_dlg_title" msgid="2896685845822146494">"እውቅያዎች አክል"</string>
<string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"<xliff:g id="EMAIL">%s</xliff:g> ወደ እውቅያዎች ዝርዝር ይታከል"</string>
<string name="description_image_button_one" msgid="1740638037139856139">"አንድ"</string>
<string name="description_image_button_two" msgid="5882638439003731308">"ሁለት"</string>
@@ -209,11 +208,8 @@
<string name="description_minus_button" msgid="387136707700230172">"ሲቀነስ"</string>
<string name="description_plus_button" msgid="515164827856229880">"ተጨማሪ"</string>
<string name="description_view_contact_detail" msgid="9133251213656414807">"ዕውቂያ ዕይ"</string>
- <string name="no_sdcard_title" product="nosdcard" msgid="8543619259870877473">"ማከማቻ አልተገኘም"</string>
- <string name="no_sdcard_title" product="default" msgid="5911758680339949273">"ምንምSD ካርድ የለም"</string>
<string name="no_sdcard_message" product="nosdcard" msgid="5242558018442357189">"ምንም ማከማቻ አልተገኘም፡፡"</string>
<string name="no_sdcard_message" product="default" msgid="3357810406684913482">"ምንም SD ካርድ አልተገኘም፡፡"</string>
- <string name="searching_vcard_title" msgid="4970508055399376813">"vCard ፍለጋ"</string>
<string name="import_from_sim" msgid="3859272228033941659">"ከSIM ካርድ አስመጣ"</string>
<string name="import_from_sdcard" product="default" msgid="8668347930577565175">"ከማከማቻ አስገባ"</string>
<string name="export_to_sdcard" product="default" msgid="6092815580965201089">"ወደማከማቻ ላክ"</string>
@@ -223,8 +219,6 @@
<string name="import_all_vcard_string" msgid="5518136113853448474">"ሁሉም vCard ፋይሎችን አስገባ"</string>
<string name="searching_vcard_message" product="nosdcard" msgid="557077639409584945">"በማከማቻ ውስጥ የvCard ውሂብ በመፈለግ ላይ"</string>
<string name="searching_vcard_message" product="default" msgid="3962269894118092049">"በSD ካርድ ላይ vCard ፍለጋ"</string>
- <string name="scanning_sdcard_failed_title" product="nosdcard" msgid="4944932641334764942">"ማከማቻን መቃኘት አልተቻለም"</string>
- <string name="scanning_sdcard_failed_title" product="default" msgid="6664940444476572612">"SD ካርድን መቃኘት አልተቻለም"</string>
<string name="scanning_sdcard_failed_message" product="nosdcard" msgid="7221682312959229201">"ማከማቻው ሊቀረጽ አልተቻለም:: (ምክንያት: \"<xliff:g id="FAIL_REASON">%s</xliff:g>\")"</string>
<string name="scanning_sdcard_failed_message" product="default" msgid="189023067829510792">"SD ካርዱ ሊቀረጽ አልተቻለም:: (ምክንያት: \"<xliff:g id="FAIL_REASON">%s</xliff:g>\")"</string>
<string name="fail_reason_io_error" msgid="6748358842976073255">"I/O ስህተት"</string>
@@ -273,9 +267,7 @@
<string name="composer_not_initialized" msgid="2321648986367005254">"የ vCard አቀናባሪው በትክክል አልጀመረም::"</string>
<string name="fail_reason_could_not_open_file" msgid="2067725459821997463">"\"<xliff:g id="FILE_NAME">%s</xliff:g>\" ፡<xliff:g id="EXACT_REASON">%s</xliff:g> መክፈት አልተቻለም"</string>
<string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> ከ <xliff:g id="TOTAL_NUMBER">%s</xliff:g> እውቂያዎች"</string>
- <string name="cancel_import_confirmation_title" msgid="5578683596010294836">"vCard አስመጣ በመሰረዝ ላይ"</string>
<string name="cancel_import_confirmation_message" msgid="3929951040347726757">"የ<xliff:g id="FILENAME">%s</xliff:g>ወደ ውስጥ ማስገባት ይተው?"</string>
- <string name="cancel_export_confirmation_title" msgid="6516467140276768528">"vCard ላክበመሰረዝላይ"</string>
<string name="cancel_export_confirmation_message" msgid="1995462401949262638">"የ<xliff:g id="FILENAME">%s</xliff:g> ወደ ውጭ መላክ ይተው?"</string>
<string name="cancel_vcard_import_or_export_failed" msgid="6139900383366166706">"vCard ማስመጣት/ወደ ውጪ መላክ መተው አልተቻለም"</string>
<string name="search_settings_description" msgid="2675223022992445813">"የዕውቂያዎችዎ ስሞች"</string>
@@ -441,9 +433,7 @@
<item quantity="other" msgid="425683718017380845">"ከ<xliff:g id="COUNT">%0$d</xliff:g> ምንጮች የተዋሃደ"</item>
</plurals>
<string name="local_invisible_directory" msgid="6046691709127661065">"ሌላ"</string>
- <string name="aggregation_suggestion_join_dialog_title" msgid="5276699501316246253">"ዕውቂያዎችን አገናኝ"</string>
<string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"የአሁኑ ዕውቂያ ከተመረጠው ዕውቂያ ጋር ይገናኝ?"</string>
- <string name="aggregation_suggestion_edit_dialog_title" msgid="1064042382692091314">"የተመረጡ ዕውቂያዎችን አርትዕ"</string>
<string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"የተመረጠው ዕውቂያ ወደ አርትዕ ይቀየር? እስከ አሁን ያስገቡት መረጃ ይገለበጣል።"</string>
<string name="menu_copyContact" msgid="1573960845106822639">"ወደ ዕውቂያዎቼ ቅዳ"</string>
<string name="add_to_my_contacts" msgid="1068274916793627723">"ወደ እኔ ዕውቂያዎች አክል"</string>
@@ -478,7 +468,6 @@
<string name="contacts_unavailable_import_contacts" msgid="4456440183590517471">"ከፋይል ዕውቂያዎች አስመጣ"</string>
<string name="create_group_dialog_title" msgid="6874527142828424475">"አዲስ ቡድን ፍጠር"</string>
<string name="create_group_item_label" msgid="5218022006186243310">"[አዲስ ቡድን ፍጠር]"</string>
- <string name="delete_group_dialog_title" msgid="7368429698398624427">"ቡድን ሰርዝ"</string>
<plurals name="num_groups_in_account">
<item quantity="one" msgid="2944819210288517794">"1 ቡድን"</item>
<item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g>ቡድኖች"</item>
@@ -497,7 +486,6 @@
<string name="set_default" msgid="4417505153468300351">"ነባሪ አዘጋጅ"</string>
<string name="clear_default" msgid="7193185801596678067">"ነባሪ አጥራ"</string>
<string name="toast_text_copied" msgid="5143776250008541719">"ፅሁፍ ገልብጧል"</string>
- <string name="cancel_confirmation_dialog_title" msgid="3950463632415908534">"ለውጦች አስወግድ"</string>
<string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">" ለውጦችህ ይወገዱ?"</string>
<string name="call_type_and_date" msgid="1766269584078149149">"<xliff:g id="CALL_TYPE">%1$s</xliff:g><xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g>"</string>
<string name="profile_display_name" msgid="4127389543625918771">"መገለጫዬን አዘጋጅ"</string>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index 7e9db74..d031416 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -41,7 +41,8 @@
<string name="menu_search" msgid="9147752853603483719">"بحث"</string>
<string name="menu_newContact" msgid="1209922412763274638">"جهة اتصال جديدة"</string>
<string name="menu_viewContact" msgid="2795575601596468581">"عرض جهة الاتصال"</string>
- <string name="menu_callNumber" msgid="5142851348489387516">"الاتصال بـ <xliff:g id="NAME">%s</xliff:g>"</string>
+ <!-- no translation found for menu_callNumber (997146291983360266) -->
+ <skip />
<string name="menu_addStar" msgid="2908478235715404876">"إضافة إلى المفضلة"</string>
<string name="menu_removeStar" msgid="5844227078364227030">"إزالة من المفضلة"</string>
<string name="menu_editContact" msgid="9042415603857662633">"تعديل"</string>
@@ -62,7 +63,6 @@
<string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"جهات الاتصال المقترحة"</string>
<string name="separatorJoinAggregateAll" msgid="7939932265026181043">"جميع جهات الاتصال"</string>
<string name="contactsJoinedMessage" msgid="7208148163607047389">"جهات الاتصال المنضمة"</string>
- <string name="deleteConfirmation_title" msgid="1418215926447642260">"حذف جهة الاتصال؟"</string>
<string name="menu_set_ring_tone" msgid="8728345772068064946">"تعيين نغمة رنين"</string>
<string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"جميع المكالمات إلى البريد الصوتي"</string>
<string name="readOnlyContactWarning" msgid="7808825687289848259">"لا يمكنك حذف جهات الاتصال من حسابات للقراءة فقط، ولكن يمكنك إخفاؤها في قوائم جهات الاتصال."</string>
@@ -186,7 +186,6 @@
<string name="callDetailsDurationFormat" msgid="8157706382818184268">"عدد الدقائق:<xliff:g id="MINUTES">%s</xliff:g>، عددالثواني: <xliff:g id="SECONDS">%s</xliff:g>"</string>
<string name="favoritesFrequentContacted" msgid="6184232487472425690">"يتم الاتصال بهم بشكل متكرر"</string>
<string name="favoritesFrequentCalled" msgid="6128306889600696124">"الأكثر اتصالاً"</string>
- <string name="add_contact_dlg_title" msgid="2896685845822146494">"إضافة جهة اتصال"</string>
<string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"هل ترغب في إضافة \"<xliff:g id="EMAIL">%s</xliff:g>\" إلى جهات الاتصال؟"</string>
<string name="description_image_button_one" msgid="1740638037139856139">"واحد"</string>
<string name="description_image_button_two" msgid="5882638439003731308">"اثنان"</string>
@@ -209,11 +208,8 @@
<string name="description_minus_button" msgid="387136707700230172">"علامة الطرح"</string>
<string name="description_plus_button" msgid="515164827856229880">"علامة زائد"</string>
<string name="description_view_contact_detail" msgid="9133251213656414807">"عرض جهة الاتصال"</string>
- <string name="no_sdcard_title" product="nosdcard" msgid="8543619259870877473">"وحدة التخزين غير متوفرة."</string>
- <string name="no_sdcard_title" product="default" msgid="5911758680339949273">"لا بطاقة SD"</string>
<string name="no_sdcard_message" product="nosdcard" msgid="5242558018442357189">"لم يتم العثور على وحدة تخزين."</string>
<string name="no_sdcard_message" product="default" msgid="3357810406684913482">"لم يتم العثور على بطاقة SD."</string>
- <string name="searching_vcard_title" msgid="4970508055399376813">"البحث عن vCard"</string>
<string name="import_from_sim" msgid="3859272228033941659">"استيراد من بطاقة SIM"</string>
<string name="import_from_sdcard" product="default" msgid="8668347930577565175">"استيراد من وحدة التخزين"</string>
<string name="export_to_sdcard" product="default" msgid="6092815580965201089">"تصدير إلى وحدة التخزين"</string>
@@ -223,8 +219,6 @@
<string name="import_all_vcard_string" msgid="5518136113853448474">"استيراد جميع ملفات vCard"</string>
<string name="searching_vcard_message" product="nosdcard" msgid="557077639409584945">"جارٍ البحث عن بيانات vCard في وحدة التخزين..."</string>
<string name="searching_vcard_message" product="default" msgid="3962269894118092049">"جارٍ البحث عن بيانات vCard على بطاقة SD..."</string>
- <string name="scanning_sdcard_failed_title" product="nosdcard" msgid="4944932641334764942">"تعذر فحص وحدة التخزين"</string>
- <string name="scanning_sdcard_failed_title" product="default" msgid="6664940444476572612">"تعذر فحص بطاقة SD"</string>
<string name="scanning_sdcard_failed_message" product="nosdcard" msgid="7221682312959229201">"تعذر فحص وحدة التخزين. (السبب: \"<xliff:g id="FAIL_REASON">%s</xliff:g>\")"</string>
<string name="scanning_sdcard_failed_message" product="default" msgid="189023067829510792">"تعذر فحص بطاقة SD. (السبب: \"<xliff:g id="FAIL_REASON">%s</xliff:g>\")"</string>
<string name="fail_reason_io_error" msgid="6748358842976073255">"خطأ I/O"</string>
@@ -273,9 +267,7 @@
<string name="composer_not_initialized" msgid="2321648986367005254">"لم يبدأ مؤلف vCard بشكل صحيح."</string>
<string name="fail_reason_could_not_open_file" msgid="2067725459821997463">"تعذر فتح \"<xliff:g id="FILE_NAME">%s</xliff:g>\": <xliff:g id="EXACT_REASON">%s</xliff:g>."</string>
<string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> من <xliff:g id="TOTAL_NUMBER">%s</xliff:g> من جهات الاتصال"</string>
- <string name="cancel_import_confirmation_title" msgid="5578683596010294836">"إلغاء استيراد ملف vCard"</string>
<string name="cancel_import_confirmation_message" msgid="3929951040347726757">"هل تريد إلغاء استيراد <xliff:g id="FILENAME">%s</xliff:g>؟"</string>
- <string name="cancel_export_confirmation_title" msgid="6516467140276768528">"إلغاء تصدير ملف vCard"</string>
<string name="cancel_export_confirmation_message" msgid="1995462401949262638">"هل تريد إلغاء تصدير <xliff:g id="FILENAME">%s</xliff:g>؟"</string>
<string name="cancel_vcard_import_or_export_failed" msgid="6139900383366166706">"تعذر إلغاء استيراد/تصدير vCard"</string>
<string name="search_settings_description" msgid="2675223022992445813">"أسماء جهات الاتصال"</string>
@@ -441,9 +433,7 @@
<item quantity="other" msgid="425683718017380845">"تم دمجها من <xliff:g id="COUNT">%0$d</xliff:g> من المصادر"</item>
</plurals>
<string name="local_invisible_directory" msgid="6046691709127661065">"غير ذلك"</string>
- <string name="aggregation_suggestion_join_dialog_title" msgid="5276699501316246253">"ضم جهات الاتصال"</string>
<string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"هل تريد ضم جهة الاتصال الحالية إلى جهة الاتصال المحددة؟"</string>
- <string name="aggregation_suggestion_edit_dialog_title" msgid="1064042382692091314">"تعديل جهات الاتصال المحددة"</string>
<string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"هل تريد التبديل إلى تعديل جهة الاتصال المحددة؟ سيتم نسخ المعلومات التي أدخلتها حتى الآن."</string>
<string name="menu_copyContact" msgid="1573960845106822639">"نسخ إلى جهات الاتصال الخاصة بي"</string>
<string name="add_to_my_contacts" msgid="1068274916793627723">"إضافة إلى \"جهات الاتصال الخاصة بي\""</string>
@@ -478,7 +468,6 @@
<string name="contacts_unavailable_import_contacts" msgid="4456440183590517471">"استيراد جهات الاتصال من ملف"</string>
<string name="create_group_dialog_title" msgid="6874527142828424475">"إنشاء مجموعة جديدة"</string>
<string name="create_group_item_label" msgid="5218022006186243310">"[إنشاء مجموعة جديدة]"</string>
- <string name="delete_group_dialog_title" msgid="7368429698398624427">"حذف المجموعة"</string>
<plurals name="num_groups_in_account">
<item quantity="one" msgid="2944819210288517794">"مجموعة واحدة"</item>
<item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> من المجموعات"</item>
@@ -497,7 +486,6 @@
<string name="set_default" msgid="4417505153468300351">"تعيين كافتراضي"</string>
<string name="clear_default" msgid="7193185801596678067">"محو الإعدادات الافتراضية"</string>
<string name="toast_text_copied" msgid="5143776250008541719">"تم نسخ النص"</string>
- <string name="cancel_confirmation_dialog_title" msgid="3950463632415908534">"إلغاء التغييرات"</string>
<string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"هل تريد تجاهل التغييرات؟"</string>
<string name="call_type_and_date" msgid="1766269584078149149">"<xliff:g id="CALL_TYPE">%1$s</xliff:g> <xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g>"</string>
<string name="profile_display_name" msgid="4127389543625918771">"إعداد الملف الشخصي"</string>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index ab14f83..a2739d3 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -41,7 +41,8 @@
<string name="menu_search" msgid="9147752853603483719">"Търсене"</string>
<string name="menu_newContact" msgid="1209922412763274638">"Нов контакт"</string>
<string name="menu_viewContact" msgid="2795575601596468581">"Преглед на контакт"</string>
- <string name="menu_callNumber" msgid="5142851348489387516">"Обаждане на <xliff:g id="NAME">%s</xliff:g>"</string>
+ <!-- no translation found for menu_callNumber (997146291983360266) -->
+ <skip />
<string name="menu_addStar" msgid="2908478235715404876">"Добавяне към предпочитани"</string>
<string name="menu_removeStar" msgid="5844227078364227030">"Премахване от любими"</string>
<string name="menu_editContact" msgid="9042415603857662633">"Редактиране"</string>
@@ -62,7 +63,6 @@
<string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Предлагани контакти"</string>
<string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Всички контакти"</string>
<string name="contactsJoinedMessage" msgid="7208148163607047389">"Контактите са слети"</string>
- <string name="deleteConfirmation_title" msgid="1418215926447642260">"Да се изтрие ли контактът?"</string>
<string name="menu_set_ring_tone" msgid="8728345772068064946">"Мелодия: Задав."</string>
<string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Всички обаждания до гл. поща"</string>
<string name="readOnlyContactWarning" msgid="7808825687289848259">"Не можете да изтриете контакти от профили само за четене, но можете да ги скриете в списъците си с контакти."</string>
@@ -186,7 +186,6 @@
<string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> мин <xliff:g id="SECONDS">%s</xliff:g> сек"</string>
<string name="favoritesFrequentContacted" msgid="6184232487472425690">"Често търсени"</string>
<string name="favoritesFrequentCalled" msgid="6128306889600696124">"Чести обаждания"</string>
- <string name="add_contact_dlg_title" msgid="2896685845822146494">"Добавяне на контакт"</string>
<string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Да се добави ли „<xliff:g id="EMAIL">%s</xliff:g>“ към контакти?"</string>
<string name="description_image_button_one" msgid="1740638037139856139">"едно"</string>
<string name="description_image_button_two" msgid="5882638439003731308">"две"</string>
@@ -209,11 +208,8 @@
<string name="description_minus_button" msgid="387136707700230172">"минус"</string>
<string name="description_plus_button" msgid="515164827856229880">"плюс"</string>
<string name="description_view_contact_detail" msgid="9133251213656414807">"Преглед на контакта"</string>
- <string name="no_sdcard_title" product="nosdcard" msgid="8543619259870877473">"Няма хранилище"</string>
- <string name="no_sdcard_title" product="default" msgid="5911758680339949273">"Няма SD карта"</string>
<string name="no_sdcard_message" product="nosdcard" msgid="5242558018442357189">"Не бе намерено хранилище."</string>
<string name="no_sdcard_message" product="default" msgid="3357810406684913482">"Не бе намерена SD карта."</string>
- <string name="searching_vcard_title" msgid="4970508055399376813">"Търсене на vCard"</string>
<string name="import_from_sim" msgid="3859272228033941659">"Импортиране от SIM карта"</string>
<string name="import_from_sdcard" product="default" msgid="8668347930577565175">"Импорт. от хранилището"</string>
<string name="export_to_sdcard" product="default" msgid="6092815580965201089">"Експорт. в хранилището"</string>
@@ -223,8 +219,6 @@
<string name="import_all_vcard_string" msgid="5518136113853448474">"Импортиране на всички vCard файлове"</string>
<string name="searching_vcard_message" product="nosdcard" msgid="557077639409584945">"Търсят се данни за vCard в хранилището..."</string>
<string name="searching_vcard_message" product="default" msgid="3962269894118092049">"Търсят се данни за vCard в SD картата..."</string>
- <string name="scanning_sdcard_failed_title" product="nosdcard" msgid="4944932641334764942">"Хранилището не можа да бъде сканирано"</string>
- <string name="scanning_sdcard_failed_title" product="default" msgid="6664940444476572612">"SD картата не можа да бъде сканирана"</string>
<string name="scanning_sdcard_failed_message" product="nosdcard" msgid="7221682312959229201">"Хранилището не можа да бъде сканирано. (Причина: „<xliff:g id="FAIL_REASON">%s</xliff:g>“)"</string>
<string name="scanning_sdcard_failed_message" product="default" msgid="189023067829510792">"SD картата не можа да бъде сканирана. (Причина: „<xliff:g id="FAIL_REASON">%s</xliff:g>“)"</string>
<string name="fail_reason_io_error" msgid="6748358842976073255">"I/O грешка"</string>
@@ -273,9 +267,7 @@
<string name="composer_not_initialized" msgid="2321648986367005254">"Създателят на vCard не се стартира правилно."</string>
<string name="fail_reason_could_not_open_file" msgid="2067725459821997463">"„<xliff:g id="FILE_NAME">%s</xliff:g>“ не можа да се отвори: <xliff:g id="EXACT_REASON">%s</xliff:g>."</string>
<string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> от <xliff:g id="TOTAL_NUMBER">%s</xliff:g> контакта"</string>
- <string name="cancel_import_confirmation_title" msgid="5578683596010294836">"Анулиране на импортирането на vCard"</string>
<string name="cancel_import_confirmation_message" msgid="3929951040347726757">"Да се анулира ли импортирането на <xliff:g id="FILENAME">%s</xliff:g>?"</string>
- <string name="cancel_export_confirmation_title" msgid="6516467140276768528">"Анулиране на експортирането на vCard"</string>
<string name="cancel_export_confirmation_message" msgid="1995462401949262638">"Да се анулира ли експортирането на <xliff:g id="FILENAME">%s</xliff:g>?"</string>
<string name="cancel_vcard_import_or_export_failed" msgid="6139900383366166706">"Импорт./експорт. не можа да се анулира"</string>
<string name="search_settings_description" msgid="2675223022992445813">"Имена на контактите ви"</string>
@@ -441,9 +433,7 @@
<item quantity="other" msgid="425683718017380845">"обединено от <xliff:g id="COUNT">%0$d</xliff:g> източник/а"</item>
</plurals>
<string name="local_invisible_directory" msgid="6046691709127661065">"Други"</string>
- <string name="aggregation_suggestion_join_dialog_title" msgid="5276699501316246253">"Сливане на контакти"</string>
<string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"Да се слее ли текущият контакт с избрания?"</string>
- <string name="aggregation_suggestion_edit_dialog_title" msgid="1064042382692091314">"Редактиране на избраните контакти"</string>
<string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"Да се превключи ли към редактиране на избрания контакт? Въведената досега информация ще бъде копирана."</string>
<string name="menu_copyContact" msgid="1573960845106822639">"Копиране в моите контакти"</string>
<string name="add_to_my_contacts" msgid="1068274916793627723">"Добавяне в „Моите контакти“"</string>
@@ -478,7 +468,6 @@
<string name="contacts_unavailable_import_contacts" msgid="4456440183590517471">"Импортиране на контакти от файл"</string>
<string name="create_group_dialog_title" msgid="6874527142828424475">"Създаване на нова група"</string>
<string name="create_group_item_label" msgid="5218022006186243310">"[Създаване на нова група]"</string>
- <string name="delete_group_dialog_title" msgid="7368429698398624427">"Изтриване на групата"</string>
<plurals name="num_groups_in_account">
<item quantity="one" msgid="2944819210288517794">"1 група"</item>
<item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> групи"</item>
@@ -497,7 +486,6 @@
<string name="set_default" msgid="4417505153468300351">"Задаване като стандартна настройка"</string>
<string name="clear_default" msgid="7193185801596678067">"Изчистване на стандартната настройка"</string>
<string name="toast_text_copied" msgid="5143776250008541719">"Текстът бе копиран"</string>
- <string name="cancel_confirmation_dialog_title" msgid="3950463632415908534">"Отхвърляне на промените"</string>
<string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"Да се отхвърлят ли направените от вас промени?"</string>
<string name="call_type_and_date" msgid="1766269584078149149">"<xliff:g id="CALL_TYPE">%1$s</xliff:g> <xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g>"</string>
<string name="profile_display_name" msgid="4127389543625918771">"Настройка на потребителския ми профил"</string>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index 59127b0..13d5772 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -41,7 +41,8 @@
<string name="menu_search" msgid="9147752853603483719">"Cerca"</string>
<string name="menu_newContact" msgid="1209922412763274638">"Contacte nou"</string>
<string name="menu_viewContact" msgid="2795575601596468581">"Visualitza el contacte"</string>
- <string name="menu_callNumber" msgid="5142851348489387516">"Truca a <xliff:g id="NAME">%s</xliff:g>"</string>
+ <!-- no translation found for menu_callNumber (997146291983360266) -->
+ <skip />
<string name="menu_addStar" msgid="2908478235715404876">"Afegeix als preferits"</string>
<string name="menu_removeStar" msgid="5844227078364227030">"Elimina dels preferits"</string>
<string name="menu_editContact" msgid="9042415603857662633">"Edita"</string>
@@ -62,7 +63,6 @@
<string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Contactes suggerits"</string>
<string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Tots els contactes"</string>
<string name="contactsJoinedMessage" msgid="7208148163607047389">"Contactes units"</string>
- <string name="deleteConfirmation_title" msgid="1418215926447642260">"Vols suprimir el contacte?"</string>
<string name="menu_set_ring_tone" msgid="8728345772068064946">"Est. to trucada"</string>
<string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Trucades a la bústia de veu"</string>
<string name="readOnlyContactWarning" msgid="7808825687289848259">"No pots suprimir cap contacte dels comptes de només lectura, però pots amagar-los a les llistes de contactes."</string>
@@ -186,7 +186,6 @@
<string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> min <xliff:g id="SECONDS">%s</xliff:g> s"</string>
<string name="favoritesFrequentContacted" msgid="6184232487472425690">"Contactats sovint"</string>
<string name="favoritesFrequentCalled" msgid="6128306889600696124">"Trucats sovint"</string>
- <string name="add_contact_dlg_title" msgid="2896685845822146494">"Addició d\'un contacte"</string>
<string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Voleu afegir \"<xliff:g id="EMAIL">%s</xliff:g>\" als contactes?"</string>
<string name="description_image_button_one" msgid="1740638037139856139">"un"</string>
<string name="description_image_button_two" msgid="5882638439003731308">"dos"</string>
@@ -209,11 +208,8 @@
<string name="description_minus_button" msgid="387136707700230172">"menys"</string>
<string name="description_plus_button" msgid="515164827856229880">"més"</string>
<string name="description_view_contact_detail" msgid="9133251213656414807">"Mostra el contacte"</string>
- <string name="no_sdcard_title" product="nosdcard" msgid="8543619259870877473">"Emmagatzematge no dispon."</string>
- <string name="no_sdcard_title" product="default" msgid="5911758680339949273">"No hi ha cap targeta SD"</string>
<string name="no_sdcard_message" product="nosdcard" msgid="5242558018442357189">"No s\'ha trobat emmagatzematge."</string>
<string name="no_sdcard_message" product="default" msgid="3357810406684913482">"No s\'ha trobat cap targeta SD."</string>
- <string name="searching_vcard_title" msgid="4970508055399376813">"S\'està cercant la vCard"</string>
<string name="import_from_sim" msgid="3859272228033941659">"Importa des de la targeta SIM"</string>
<string name="import_from_sdcard" product="default" msgid="8668347930577565175">"Importa de l\'emmagatzematge"</string>
<string name="export_to_sdcard" product="default" msgid="6092815580965201089">"Exporta a emmagatzematge"</string>
@@ -223,8 +219,6 @@
<string name="import_all_vcard_string" msgid="5518136113853448474">"Importa tots els fitxers vCard"</string>
<string name="searching_vcard_message" product="nosdcard" msgid="557077639409584945">"S\'estan cercant dades de vCard a l\'emmagatzematge..."</string>
<string name="searching_vcard_message" product="default" msgid="3962269894118092049">"S\'estan cercant les dades de vCard a la targeta SD..."</string>
- <string name="scanning_sdcard_failed_title" product="nosdcard" msgid="4944932641334764942">"No s\'ha pogut explorar l\'emmagatzematge"</string>
- <string name="scanning_sdcard_failed_title" product="default" msgid="6664940444476572612">"No s\'ha pogut explorar la targeta SD"</string>
<string name="scanning_sdcard_failed_message" product="nosdcard" msgid="7221682312959229201">"No s\'ha pogut explorar l\'emmagatzematge. (Motiu: \"<xliff:g id="FAIL_REASON">%s</xliff:g>\")"</string>
<string name="scanning_sdcard_failed_message" product="default" msgid="189023067829510792">"No s\'ha pogut explorar la targeta SD. (Motiu: \"<xliff:g id="FAIL_REASON">%s</xliff:g>\")"</string>
<string name="fail_reason_io_error" msgid="6748358842976073255">"Error d\'E/S"</string>
@@ -273,9 +267,7 @@
<string name="composer_not_initialized" msgid="2321648986367005254">"No s\'ha iniciat correctament el creador de vCard."</string>
<string name="fail_reason_could_not_open_file" msgid="2067725459821997463">"No s\'ha pogut obrir \"<xliff:g id="FILE_NAME">%s</xliff:g>\": <xliff:g id="EXACT_REASON">%s</xliff:g>."</string>
<string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> de <xliff:g id="TOTAL_NUMBER">%s</xliff:g> contactes"</string>
- <string name="cancel_import_confirmation_title" msgid="5578683596010294836">"Cancel·lació de la importació de la vCard"</string>
<string name="cancel_import_confirmation_message" msgid="3929951040347726757">"Vols cancel·lar la importació de: <xliff:g id="FILENAME">%s</xliff:g>?"</string>
- <string name="cancel_export_confirmation_title" msgid="6516467140276768528">"Cancel·lació de l\'exportació de la vCard"</string>
<string name="cancel_export_confirmation_message" msgid="1995462401949262638">"Vols cancel·lar l\'exportació de <xliff:g id="FILENAME">%s</xliff:g>?"</string>
<string name="cancel_vcard_import_or_export_failed" msgid="6139900383366166706">"No es pot cancel·lar la imp./exp. vCard"</string>
<string name="search_settings_description" msgid="2675223022992445813">"Noms dels contactes"</string>
@@ -441,9 +433,7 @@
<item quantity="other" msgid="425683718017380845">"combinat de <xliff:g id="COUNT">%0$d</xliff:g> fonts"</item>
</plurals>
<string name="local_invisible_directory" msgid="6046691709127661065">"Altres"</string>
- <string name="aggregation_suggestion_join_dialog_title" msgid="5276699501316246253">"Ajunta els contactes"</string>
<string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"Vols ajuntar el contacte actual amb el contacte seleccionat?"</string>
- <string name="aggregation_suggestion_edit_dialog_title" msgid="1064042382692091314">"Edita els contactes seleccionats"</string>
<string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"Vols canviar per editar el contacte seleccionat? Es copiarà la informació que hagis introduït fins ara."</string>
<string name="menu_copyContact" msgid="1573960845106822639">"Copia a Els meus contactes"</string>
<string name="add_to_my_contacts" msgid="1068274916793627723">"Afegeix a Els meus contactes"</string>
@@ -478,7 +468,6 @@
<string name="contacts_unavailable_import_contacts" msgid="4456440183590517471">"Importa contactes d\'un fitxer"</string>
<string name="create_group_dialog_title" msgid="6874527142828424475">"Creació d\'un grup nou"</string>
<string name="create_group_item_label" msgid="5218022006186243310">"[Crea un grup nou]"</string>
- <string name="delete_group_dialog_title" msgid="7368429698398624427">"Supressió d\'un grup"</string>
<plurals name="num_groups_in_account">
<item quantity="one" msgid="2944819210288517794">"Un grup"</item>
<item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> grups"</item>
@@ -497,7 +486,6 @@
<string name="set_default" msgid="4417505153468300351">"Predeterminat"</string>
<string name="clear_default" msgid="7193185801596678067">"Esborra els valors predeterminats"</string>
<string name="toast_text_copied" msgid="5143776250008541719">"Text copiat"</string>
- <string name="cancel_confirmation_dialog_title" msgid="3950463632415908534">"Descarta els canvis"</string>
<string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"Vols descartar els canvis?"</string>
<string name="call_type_and_date" msgid="1766269584078149149">"<xliff:g id="CALL_TYPE">%1$s</xliff:g> <xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g>"</string>
<string name="profile_display_name" msgid="4127389543625918771">"Configura el meu perfil"</string>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index 3846714..98299e0 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -41,7 +41,8 @@
<string name="menu_search" msgid="9147752853603483719">"Hledat"</string>
<string name="menu_newContact" msgid="1209922412763274638">"Nový kontakt"</string>
<string name="menu_viewContact" msgid="2795575601596468581">"Zobrazit kontakt"</string>
- <string name="menu_callNumber" msgid="5142851348489387516">"Volat kontakt <xliff:g id="NAME">%s</xliff:g>"</string>
+ <!-- no translation found for menu_callNumber (997146291983360266) -->
+ <skip />
<string name="menu_addStar" msgid="2908478235715404876">"Přidat k oblíbeným položkám"</string>
<string name="menu_removeStar" msgid="5844227078364227030">"Odebrat z oblíbených položek"</string>
<string name="menu_editContact" msgid="9042415603857662633">"Upravit"</string>
@@ -62,7 +63,6 @@
<string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Navrhované kontakty"</string>
<string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Všechny kontakty"</string>
<string name="contactsJoinedMessage" msgid="7208148163607047389">"Kontakty byly spojeny"</string>
- <string name="deleteConfirmation_title" msgid="1418215926447642260">"Smazat kontakt?"</string>
<string name="menu_set_ring_tone" msgid="8728345772068064946">"Nast. vyzvánění"</string>
<string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Všechny hovory do hlas. schr."</string>
<string name="readOnlyContactWarning" msgid="7808825687289848259">"Z účtů pouze pro čtení není možné kontakty mazat, můžete je však ve svých seznamech kontaktů skrýt."</string>
@@ -186,7 +186,6 @@
<string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> min <xliff:g id="SECONDS">%s</xliff:g> s"</string>
<string name="favoritesFrequentContacted" msgid="6184232487472425690">"Často používané kontakty"</string>
<string name="favoritesFrequentCalled" msgid="6128306889600696124">"Často volané"</string>
- <string name="add_contact_dlg_title" msgid="2896685845822146494">"Přidat kontakt"</string>
<string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Chcete přidat „<xliff:g id="EMAIL">%s</xliff:g>“ do kontaktů?"</string>
<string name="description_image_button_one" msgid="1740638037139856139">"jedna"</string>
<string name="description_image_button_two" msgid="5882638439003731308">"dvě"</string>
@@ -209,11 +208,8 @@
<string name="description_minus_button" msgid="387136707700230172">"mínus"</string>
<string name="description_plus_button" msgid="515164827856229880">"plus"</string>
<string name="description_view_contact_detail" msgid="9133251213656414807">"Zobrazit kontakt"</string>
- <string name="no_sdcard_title" product="nosdcard" msgid="8543619259870877473">"Úložiště je nedostupné"</string>
- <string name="no_sdcard_title" product="default" msgid="5911758680339949273">"Žádná karta SD"</string>
<string name="no_sdcard_message" product="nosdcard" msgid="5242558018442357189">"Nebylo nalezeno žádné úložiště."</string>
<string name="no_sdcard_message" product="default" msgid="3357810406684913482">"Nebyla nalezena žádná karta SD"</string>
- <string name="searching_vcard_title" msgid="4970508055399376813">"Vyhledávání karty vCard"</string>
<string name="import_from_sim" msgid="3859272228033941659">"Importovat z karty SIM"</string>
<string name="import_from_sdcard" product="default" msgid="8668347930577565175">"Importovat z úložiště"</string>
<string name="export_to_sdcard" product="default" msgid="6092815580965201089">"Exportovat do úložiště"</string>
@@ -223,8 +219,6 @@
<string name="import_all_vcard_string" msgid="5518136113853448474">"Importovat všechny soubory vCard"</string>
<string name="searching_vcard_message" product="nosdcard" msgid="557077639409584945">"Vyhledávání dat souboru vCard v úložišti..."</string>
<string name="searching_vcard_message" product="default" msgid="3962269894118092049">"Vyhledávání dat souboru vCard na kartě SD..."</string>
- <string name="scanning_sdcard_failed_title" product="nosdcard" msgid="4944932641334764942">"Úložiště se nepodařilo prohledat"</string>
- <string name="scanning_sdcard_failed_title" product="default" msgid="6664940444476572612">"Kartu SD se nepodařilo prohledat"</string>
<string name="scanning_sdcard_failed_message" product="nosdcard" msgid="7221682312959229201">"Nepodařilo se naskenovat úložiště. (Důvod: <xliff:g id="FAIL_REASON">%s</xliff:g>)"</string>
<string name="scanning_sdcard_failed_message" product="default" msgid="189023067829510792">"Nepodařilo se naskenovat kartu SD. (Důvod: <xliff:g id="FAIL_REASON">%s</xliff:g>)"</string>
<string name="fail_reason_io_error" msgid="6748358842976073255">"Chyba I/O"</string>
@@ -273,9 +267,7 @@
<string name="composer_not_initialized" msgid="2321648986367005254">"Editor souboru vCard nebyl správně spuštěn."</string>
<string name="fail_reason_could_not_open_file" msgid="2067725459821997463">"Soubor <xliff:g id="FILE_NAME">%s</xliff:g> nelze otevřít: <xliff:g id="EXACT_REASON">%s</xliff:g>"</string>
<string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> z <xliff:g id="TOTAL_NUMBER">%s</xliff:g> kontaktů"</string>
- <string name="cancel_import_confirmation_title" msgid="5578683596010294836">"Rušení importu souboru vCard"</string>
<string name="cancel_import_confirmation_message" msgid="3929951040347726757">"Zrušit import souboru <xliff:g id="FILENAME">%s</xliff:g>?"</string>
- <string name="cancel_export_confirmation_title" msgid="6516467140276768528">"Rušení exportu souboru vCard"</string>
<string name="cancel_export_confirmation_message" msgid="1995462401949262638">"Zrušit export souboru <xliff:g id="FILENAME">%s</xliff:g>?"</string>
<string name="cancel_vcard_import_or_export_failed" msgid="6139900383366166706">"Import/export vizitky vCard nelze zrušit"</string>
<string name="search_settings_description" msgid="2675223022992445813">"Jména vašich kontaktů"</string>
@@ -441,9 +433,7 @@
<item quantity="other" msgid="425683718017380845">"sloučeno ze <xliff:g id="COUNT">%0$d</xliff:g> zdrojů"</item>
</plurals>
<string name="local_invisible_directory" msgid="6046691709127661065">"Ostatní"</string>
- <string name="aggregation_suggestion_join_dialog_title" msgid="5276699501316246253">"Spojit kontakty"</string>
<string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"Spojit aktuální kontakt s vybraným kontaktem?"</string>
- <string name="aggregation_suggestion_edit_dialog_title" msgid="1064042382692091314">"Upravit vybrané kontakty"</string>
<string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"Přepnout do režimu úpravy vybraného kontaktu? Doposud zadané informace budou zkopírovány."</string>
<string name="menu_copyContact" msgid="1573960845106822639">"Zkopírovat do kontaktů"</string>
<string name="add_to_my_contacts" msgid="1068274916793627723">"Přidat do skupiny Moje kontakty"</string>
@@ -478,7 +468,6 @@
<string name="contacts_unavailable_import_contacts" msgid="4456440183590517471">"Importovat kontakty ze souboru"</string>
<string name="create_group_dialog_title" msgid="6874527142828424475">"Vytvořit novou skupinu"</string>
<string name="create_group_item_label" msgid="5218022006186243310">"[Vytvořit novou skupinu]"</string>
- <string name="delete_group_dialog_title" msgid="7368429698398624427">"Smazat skupinu"</string>
<plurals name="num_groups_in_account">
<item quantity="one" msgid="2944819210288517794">"1 skupina"</item>
<item quantity="other" msgid="1276758425904917367">"Skupiny: <xliff:g id="COUNT">%0$d</xliff:g>"</item>
@@ -497,7 +486,6 @@
<string name="set_default" msgid="4417505153468300351">"Výchozí nastavení"</string>
<string name="clear_default" msgid="7193185801596678067">"Vymazat výchozí nastavení"</string>
<string name="toast_text_copied" msgid="5143776250008541719">"Text zkopírován"</string>
- <string name="cancel_confirmation_dialog_title" msgid="3950463632415908534">"Zrušit změny"</string>
<string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"Zrušit změny?"</string>
<string name="call_type_and_date" msgid="1766269584078149149">"<xliff:g id="CALL_TYPE">%1$s</xliff:g> <xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g>"</string>
<string name="profile_display_name" msgid="4127389543625918771">"Nastavit profil"</string>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index 85bdd00..6b47ced 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -41,7 +41,8 @@
<string name="menu_search" msgid="9147752853603483719">"Søg"</string>
<string name="menu_newContact" msgid="1209922412763274638">"Ny kontakt"</string>
<string name="menu_viewContact" msgid="2795575601596468581">"Vis kontakt"</string>
- <string name="menu_callNumber" msgid="5142851348489387516">"Ring til <xliff:g id="NAME">%s</xliff:g>"</string>
+ <!-- no translation found for menu_callNumber (997146291983360266) -->
+ <skip />
<string name="menu_addStar" msgid="2908478235715404876">"Føj til favoritter"</string>
<string name="menu_removeStar" msgid="5844227078364227030">"Fjern fra favoritter"</string>
<string name="menu_editContact" msgid="9042415603857662633">"Rediger"</string>
@@ -62,7 +63,6 @@
<string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Foreslåede kontakter"</string>
<string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Alle kontakter"</string>
<string name="contactsJoinedMessage" msgid="7208148163607047389">"Tilføjede kontakter"</string>
- <string name="deleteConfirmation_title" msgid="1418215926447642260">"Slet kontaktperson?"</string>
<string name="menu_set_ring_tone" msgid="8728345772068064946">"Indstil ringetone"</string>
<string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Alle opkald til telefonsvareren"</string>
<string name="readOnlyContactWarning" msgid="7808825687289848259">"Du kan ikke slette kontaktpersoner fra skrivebeskyttede konti, men du kan skjule dem på listerne over dine kontaktpersoner."</string>
@@ -186,7 +186,6 @@
<string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> min. <xliff:g id="SECONDS">%s</xliff:g> sek."</string>
<string name="favoritesFrequentContacted" msgid="6184232487472425690">"Jævnligt kontaktet"</string>
<string name="favoritesFrequentCalled" msgid="6128306889600696124">"Ofte ringet til"</string>
- <string name="add_contact_dlg_title" msgid="2896685845822146494">"Tilføj kontakt"</string>
<string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Føj \"<xliff:g id="EMAIL">%s</xliff:g>\" til kontaktpersoner?"</string>
<string name="description_image_button_one" msgid="1740638037139856139">"et"</string>
<string name="description_image_button_two" msgid="5882638439003731308">"to"</string>
@@ -209,11 +208,8 @@
<string name="description_minus_button" msgid="387136707700230172">"minus"</string>
<string name="description_plus_button" msgid="515164827856229880">"plus"</string>
<string name="description_view_contact_detail" msgid="9133251213656414807">"Vis kontaktperson"</string>
- <string name="no_sdcard_title" product="nosdcard" msgid="8543619259870877473">"Lager ikke tilgængeligt"</string>
- <string name="no_sdcard_title" product="default" msgid="5911758680339949273">"Der er intet SD-kort"</string>
<string name="no_sdcard_message" product="nosdcard" msgid="5242558018442357189">"Intet lager blev fundet."</string>
<string name="no_sdcard_message" product="default" msgid="3357810406684913482">"Ingen SD-kort fundet."</string>
- <string name="searching_vcard_title" msgid="4970508055399376813">"Søger efter vCard"</string>
<string name="import_from_sim" msgid="3859272228033941659">"Importer fra SIM-kort"</string>
<string name="import_from_sdcard" product="default" msgid="8668347930577565175">"Importer fra lager"</string>
<string name="export_to_sdcard" product="default" msgid="6092815580965201089">"Eksporter til lager"</string>
@@ -223,8 +219,6 @@
<string name="import_all_vcard_string" msgid="5518136113853448474">"Importer alle VCard-filer"</string>
<string name="searching_vcard_message" product="nosdcard" msgid="557077639409584945">"Søger efter vCard-data på lager..."</string>
<string name="searching_vcard_message" product="default" msgid="3962269894118092049">"Søger efter vCard-data på SD-kortet..."</string>
- <string name="scanning_sdcard_failed_title" product="nosdcard" msgid="4944932641334764942">"Lagring kunne ikke scannes"</string>
- <string name="scanning_sdcard_failed_title" product="default" msgid="6664940444476572612">"SD-kortet kunne ikke scannes"</string>
<string name="scanning_sdcard_failed_message" product="nosdcard" msgid="7221682312959229201">"Lageret kunne ikke scannes. (Årsag: \"<xliff:g id="FAIL_REASON">%s</xliff:g>\")"</string>
<string name="scanning_sdcard_failed_message" product="default" msgid="189023067829510792">"SD-kortet kunne ikke scannes. (Årsag: \"<xliff:g id="FAIL_REASON">%s</xliff:g>\")"</string>
<string name="fail_reason_io_error" msgid="6748358842976073255">"I/O-fejl"</string>
@@ -273,9 +267,7 @@
<string name="composer_not_initialized" msgid="2321648986367005254">"Oprettelsen af vCard startede ikke korrekt."</string>
<string name="fail_reason_could_not_open_file" msgid="2067725459821997463">"\"<xliff:g id="FILE_NAME">%s</xliff:g>\" kunne ikke åbnes: <xliff:g id="EXACT_REASON">%s</xliff:g>."</string>
<string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> af <xliff:g id="TOTAL_NUMBER">%s</xliff:g> kontakter"</string>
- <string name="cancel_import_confirmation_title" msgid="5578683596010294836">"Annullerer import af vCard"</string>
<string name="cancel_import_confirmation_message" msgid="3929951040347726757">"Vil du annullere import af <xliff:g id="FILENAME">%s</xliff:g>?"</string>
- <string name="cancel_export_confirmation_title" msgid="6516467140276768528">"Annullerer eksport af vCard"</string>
<string name="cancel_export_confirmation_message" msgid="1995462401949262638">"Vil du annullere eksport af <xliff:g id="FILENAME">%s</xliff:g>?"</string>
<string name="cancel_vcard_import_or_export_failed" msgid="6139900383366166706">"Import/eksport af vCard kunne ikke annulleres"</string>
<string name="search_settings_description" msgid="2675223022992445813">"Navne på dine kontakter"</string>
@@ -441,9 +433,7 @@
<item quantity="other" msgid="425683718017380845">"flettet fra <xliff:g id="COUNT">%0$d</xliff:g> kilder"</item>
</plurals>
<string name="local_invisible_directory" msgid="6046691709127661065">"Andre"</string>
- <string name="aggregation_suggestion_join_dialog_title" msgid="5276699501316246253">"Saml kontaktpersoner"</string>
<string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"Forbind den aktuelle kontaktperson med den valgte kontaktperson?"</string>
- <string name="aggregation_suggestion_edit_dialog_title" msgid="1064042382692091314">"Rediger valgte kontaktpersoner"</string>
<string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"Vil du redigere den valgte kontaktperson? Dine indtastninger kopieres."</string>
<string name="menu_copyContact" msgid="1573960845106822639">"Kopier til Mine kontaktpersoner"</string>
<string name="add_to_my_contacts" msgid="1068274916793627723">"Føj til mine kontaktpersoner"</string>
@@ -478,7 +468,6 @@
<string name="contacts_unavailable_import_contacts" msgid="4456440183590517471">"Importer kontrakter fra en fil"</string>
<string name="create_group_dialog_title" msgid="6874527142828424475">"Opret en ny gruppe"</string>
<string name="create_group_item_label" msgid="5218022006186243310">"[Opret en ny gruppe]"</string>
- <string name="delete_group_dialog_title" msgid="7368429698398624427">"Slet gruppe"</string>
<plurals name="num_groups_in_account">
<item quantity="one" msgid="2944819210288517794">"1 gruppe"</item>
<item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> grupper"</item>
@@ -497,7 +486,6 @@
<string name="set_default" msgid="4417505153468300351">"Indstil standard"</string>
<string name="clear_default" msgid="7193185801596678067">"Ryd standarder"</string>
<string name="toast_text_copied" msgid="5143776250008541719">"Kopieret tekst"</string>
- <string name="cancel_confirmation_dialog_title" msgid="3950463632415908534">"Kasser ændringer"</string>
<string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"Skal ændringerne slettes?"</string>
<string name="call_type_and_date" msgid="1766269584078149149">"<xliff:g id="CALL_TYPE">%1$s</xliff:g> <xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g>"</string>
<string name="profile_display_name" msgid="4127389543625918771">"Opret min profil"</string>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index 798ea15..7787bb8 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -41,7 +41,8 @@
<string name="menu_search" msgid="9147752853603483719">"Suche"</string>
<string name="menu_newContact" msgid="1209922412763274638">"Neuer Kontakt"</string>
<string name="menu_viewContact" msgid="2795575601596468581">"Kontakt anzeigen"</string>
- <string name="menu_callNumber" msgid="5142851348489387516">"<xliff:g id="NAME">%s</xliff:g> anrufen"</string>
+ <!-- no translation found for menu_callNumber (997146291983360266) -->
+ <skip />
<string name="menu_addStar" msgid="2908478235715404876">"Zu Favoriten hinzufügen"</string>
<string name="menu_removeStar" msgid="5844227078364227030">"Aus Favoriten entfernen"</string>
<string name="menu_editContact" msgid="9042415603857662633">"Bearbeiten"</string>
@@ -62,7 +63,6 @@
<string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Vorgeschlagene Kontakte"</string>
<string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Alle Kontakte"</string>
<string name="contactsJoinedMessage" msgid="7208148163607047389">"Kontakte wurden verknüpft."</string>
- <string name="deleteConfirmation_title" msgid="1418215926447642260">"Kontakt löschen?"</string>
<string name="menu_set_ring_tone" msgid="8728345772068064946">"Klingeltonwahl"</string>
<string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Alle Anrufe an Mailbox"</string>
<string name="readOnlyContactWarning" msgid="7808825687289848259">"Sie können keine Kontakte aus schreibgeschützten Konten löschen. Sie können sie aber in Ihren Kontaktlisten ausblenden."</string>
@@ -186,7 +186,6 @@
<string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> Minuten, <xliff:g id="SECONDS">%s</xliff:g> Sekunden"</string>
<string name="favoritesFrequentContacted" msgid="6184232487472425690">"Häufig kontaktiert"</string>
<string name="favoritesFrequentCalled" msgid="6128306889600696124">"Häufig angerufen"</string>
- <string name="add_contact_dlg_title" msgid="2896685845822146494">"Kontakt hinzufügen"</string>
<string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"\"<xliff:g id="EMAIL">%s</xliff:g>\" zu den Kontakten hinzufügen?"</string>
<string name="description_image_button_one" msgid="1740638037139856139">"eins"</string>
<string name="description_image_button_two" msgid="5882638439003731308">"zwei"</string>
@@ -209,11 +208,8 @@
<string name="description_minus_button" msgid="387136707700230172">"minus"</string>
<string name="description_plus_button" msgid="515164827856229880">"plus"</string>
<string name="description_view_contact_detail" msgid="9133251213656414807">"Kontakt anzeigen"</string>
- <string name="no_sdcard_title" product="nosdcard" msgid="8543619259870877473">"Kein Speicher verfügbar"</string>
- <string name="no_sdcard_title" product="default" msgid="5911758680339949273">"Keine SD-Karte"</string>
<string name="no_sdcard_message" product="nosdcard" msgid="5242558018442357189">"Kein Speicher gefunden"</string>
<string name="no_sdcard_message" product="default" msgid="3357810406684913482">"Keine SD-Karte gefunden"</string>
- <string name="searching_vcard_title" msgid="4970508055399376813">"vCard wird gesucht."</string>
<string name="import_from_sim" msgid="3859272228033941659">"Von SIM-Karte importieren"</string>
<string name="import_from_sdcard" product="default" msgid="8668347930577565175">"Aus Speicher importieren"</string>
<string name="export_to_sdcard" product="default" msgid="6092815580965201089">"In Speicher exportieren"</string>
@@ -223,8 +219,6 @@
<string name="import_all_vcard_string" msgid="5518136113853448474">"Alle vCard-Dateien importieren"</string>
<string name="searching_vcard_message" product="nosdcard" msgid="557077639409584945">"Suche nach vCard-Daten im Speicher..."</string>
<string name="searching_vcard_message" product="default" msgid="3962269894118092049">"Suche nach vCard-Daten auf der SD-Karte..."</string>
- <string name="scanning_sdcard_failed_title" product="nosdcard" msgid="4944932641334764942">"Scannen des Speichers nicht möglich"</string>
- <string name="scanning_sdcard_failed_title" product="default" msgid="6664940444476572612">"Scannen der SD-Karte nicht möglich"</string>
<string name="scanning_sdcard_failed_message" product="nosdcard" msgid="7221682312959229201">"Der Speicher konnte nicht gelesen werden. (Grund: \"<xliff:g id="FAIL_REASON">%s</xliff:g>\")"</string>
<string name="scanning_sdcard_failed_message" product="default" msgid="189023067829510792">"Die SD-Karte konnte nicht gelesen werden. (Grund: \"<xliff:g id="FAIL_REASON">%s</xliff:g>\")"</string>
<string name="fail_reason_io_error" msgid="6748358842976073255">"E/A-Fehler"</string>
@@ -273,9 +267,7 @@
<string name="composer_not_initialized" msgid="2321648986367005254">"Das Programm zum Erstellen der vCard wurde nicht richtig gestartet."</string>
<string name="fail_reason_could_not_open_file" msgid="2067725459821997463">"\"<xliff:g id="FILE_NAME">%s</xliff:g>\" konnte nicht geöffnet werden: <xliff:g id="EXACT_REASON">%s</xliff:g>."</string>
<string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> von <xliff:g id="TOTAL_NUMBER">%s</xliff:g> Kontakten"</string>
- <string name="cancel_import_confirmation_title" msgid="5578683596010294836">"vCard-Import wird abgebrochen."</string>
<string name="cancel_import_confirmation_message" msgid="3929951040347726757">"Import von <xliff:g id="FILENAME">%s</xliff:g> abbrechen?"</string>
- <string name="cancel_export_confirmation_title" msgid="6516467140276768528">"vCard-Export wird abgebrochen."</string>
<string name="cancel_export_confirmation_message" msgid="1995462401949262638">"Export von <xliff:g id="FILENAME">%s</xliff:g> abbrechen?"</string>
<string name="cancel_vcard_import_or_export_failed" msgid="6139900383366166706">"vCard-Import/-Export nicht abgebrochen"</string>
<string name="search_settings_description" msgid="2675223022992445813">"Namen meiner Kontakte"</string>
@@ -441,9 +433,7 @@
<item quantity="other" msgid="425683718017380845">"aus <xliff:g id="COUNT">%0$d</xliff:g> Quellen zusammengeführt"</item>
</plurals>
<string name="local_invisible_directory" msgid="6046691709127661065">"Sonstige"</string>
- <string name="aggregation_suggestion_join_dialog_title" msgid="5276699501316246253">"Kontakte zusammenführen"</string>
<string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"Aktuellen Kontakt mit ausgewähltem Kontakt zusammenführen?"</string>
- <string name="aggregation_suggestion_edit_dialog_title" msgid="1064042382692091314">"Ausgewählte Kontakte bearbeiten"</string>
<string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"Zur Bearbeitung des ausgewählten Kontakts wechseln? Die bisher eingegebenen Informationen werden kopiert."</string>
<string name="menu_copyContact" msgid="1573960845106822639">"In meine Kontakte kopieren"</string>
<string name="add_to_my_contacts" msgid="1068274916793627723">"Zu meinen Kontakten hinzufügen"</string>
@@ -478,7 +468,6 @@
<string name="contacts_unavailable_import_contacts" msgid="4456440183590517471">"Kontakte aus einer Datei importieren"</string>
<string name="create_group_dialog_title" msgid="6874527142828424475">"Neue Gruppe erstellen"</string>
<string name="create_group_item_label" msgid="5218022006186243310">"[Neue Gruppe erstellen]"</string>
- <string name="delete_group_dialog_title" msgid="7368429698398624427">"Gruppe löschen"</string>
<plurals name="num_groups_in_account">
<item quantity="one" msgid="2944819210288517794">"1 Gruppe"</item>
<item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> Gruppen"</item>
@@ -497,7 +486,6 @@
<string name="set_default" msgid="4417505153468300351">"Als Standard festlegen"</string>
<string name="clear_default" msgid="7193185801596678067">"Als Standard löschen"</string>
<string name="toast_text_copied" msgid="5143776250008541719">"Text kopiert"</string>
- <string name="cancel_confirmation_dialog_title" msgid="3950463632415908534">"Änderungen verwerfen"</string>
<string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"Sollen die Änderungen verworfen werden?"</string>
<string name="call_type_and_date" msgid="1766269584078149149">"<xliff:g id="CALL_TYPE">%1$s</xliff:g><xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g>"</string>
<string name="profile_display_name" msgid="4127389543625918771">"Mein Profil einrichten"</string>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index 15b7b91..5cb54c8 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -41,7 +41,8 @@
<string name="menu_search" msgid="9147752853603483719">"Αναζήτηση"</string>
<string name="menu_newContact" msgid="1209922412763274638">"Νέα επαφή"</string>
<string name="menu_viewContact" msgid="2795575601596468581">"Προβολή επαφής"</string>
- <string name="menu_callNumber" msgid="5142851348489387516">"Κλήση <xliff:g id="NAME">%s</xliff:g>"</string>
+ <!-- no translation found for menu_callNumber (997146291983360266) -->
+ <skip />
<string name="menu_addStar" msgid="2908478235715404876">"Προσθήκη στα αγαπημένα"</string>
<string name="menu_removeStar" msgid="5844227078364227030">"Κατάργηση από τα αγαπημένα"</string>
<string name="menu_editContact" msgid="9042415603857662633">"Επεξεργασία"</string>
@@ -62,7 +63,6 @@
<string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Προτεινόμενες επαφές"</string>
<string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Όλες οι επαφές"</string>
<string name="contactsJoinedMessage" msgid="7208148163607047389">"Οι επαφές συνδέθηκαν"</string>
- <string name="deleteConfirmation_title" msgid="1418215926447642260">"Διαγραφή επαφής;"</string>
<string name="menu_set_ring_tone" msgid="8728345772068064946">"Ήχος κλήσης"</string>
<string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Κλήσεις στον τηλεφωνητή"</string>
<string name="readOnlyContactWarning" msgid="7808825687289848259">"Δεν μπορείτε να διαγράψετε επαφές από λογαριασμούς οι οποίοι προορίζονται μόνο για ανάγνωση, αλλά μπορείτε να τις αποκρύψετε στις λίστες επαφών σας."</string>
@@ -186,7 +186,6 @@
<string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> λεπτά <xliff:g id="SECONDS">%s</xliff:g> δευτερόλεπτα"</string>
<string name="favoritesFrequentContacted" msgid="6184232487472425690">"Επαφές που έχετε συχνή επικοινωνία"</string>
<string name="favoritesFrequentCalled" msgid="6128306889600696124">"Συχνές κλήσεις"</string>
- <string name="add_contact_dlg_title" msgid="2896685845822146494">"Προσθήκη επαφής"</string>
<string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Προσθήκη του \"<xliff:g id="EMAIL">%s</xliff:g>\" στις επαφές?"</string>
<string name="description_image_button_one" msgid="1740638037139856139">"ένα"</string>
<string name="description_image_button_two" msgid="5882638439003731308">"δύο"</string>
@@ -209,11 +208,8 @@
<string name="description_minus_button" msgid="387136707700230172">"μείον"</string>
<string name="description_plus_button" msgid="515164827856229880">"συν"</string>
<string name="description_view_contact_detail" msgid="9133251213656414807">"Προβολή επαφής"</string>
- <string name="no_sdcard_title" product="nosdcard" msgid="8543619259870877473">"Μη διαθέσιμος χώρος αποθ."</string>
- <string name="no_sdcard_title" product="default" msgid="5911758680339949273">"Δεν υπάρχει κάρτα SD"</string>
<string name="no_sdcard_message" product="nosdcard" msgid="5242558018442357189">"Δεν βρέθηκε χώρος αποθήκευσης."</string>
<string name="no_sdcard_message" product="default" msgid="3357810406684913482">"Δεν βρέθηκε κάρτα SD."</string>
- <string name="searching_vcard_title" msgid="4970508055399376813">"Αναζήτηση κάρτας vCard"</string>
<string name="import_from_sim" msgid="3859272228033941659">"Εισαγωγή από κάρτα SIM"</string>
<string name="import_from_sdcard" product="default" msgid="8668347930577565175">"Εισαγωγή από τον χώρο αποθ."</string>
<string name="export_to_sdcard" product="default" msgid="6092815580965201089">"Εξαγωγή στον χώρο αποθ."</string>
@@ -223,8 +219,6 @@
<string name="import_all_vcard_string" msgid="5518136113853448474">"Εισαγωγή όλων των αρχείων vCard"</string>
<string name="searching_vcard_message" product="nosdcard" msgid="557077639409584945">"Αναζήτηση δεδομένων vCard στον χώρο αποθήκευσης..."</string>
<string name="searching_vcard_message" product="default" msgid="3962269894118092049">"Αναζήτηση για δεδομένα vCard στην κάρτα SD..."</string>
- <string name="scanning_sdcard_failed_title" product="nosdcard" msgid="4944932641334764942">"Δεν ήταν δυνατή η σάρωση του χώρου αποθήκευσης"</string>
- <string name="scanning_sdcard_failed_title" product="default" msgid="6664940444476572612">"Δεν ήταν δυνατή η σάρωση της κάρτας SD"</string>
<string name="scanning_sdcard_failed_message" product="nosdcard" msgid="7221682312959229201">"Δεν ήταν δυνατή η σάρωση του χώρου αποθήκευσης. (Αιτία: \"<xliff:g id="FAIL_REASON">%s</xliff:g>\")"</string>
<string name="scanning_sdcard_failed_message" product="default" msgid="189023067829510792">"Δεν ήταν δυνατή η σάρωση της κάρτας SD. (Αιτία: \"<xliff:g id="FAIL_REASON">%s</xliff:g>\")"</string>
<string name="fail_reason_io_error" msgid="6748358842976073255">"Σφάλμα I/O"</string>
@@ -273,9 +267,7 @@
<string name="composer_not_initialized" msgid="2321648986367005254">"Η έναρξη της vCard δεν ήταν σωστή."</string>
<string name="fail_reason_could_not_open_file" msgid="2067725459821997463">"Δεν ήταν δυνατό το άνοιγμα του αρχείου \"<xliff:g id="FILE_NAME">%s</xliff:g>\": <xliff:g id="EXACT_REASON">%s</xliff:g>."</string>
<string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> από <xliff:g id="TOTAL_NUMBER">%s</xliff:g> επαφές"</string>
- <string name="cancel_import_confirmation_title" msgid="5578683596010294836">"Ακύρωση εισαγωγής της vCard"</string>
<string name="cancel_import_confirmation_message" msgid="3929951040347726757">"Να ακυρωθεί η εισαγωγή του αρχείου <xliff:g id="FILENAME">%s</xliff:g>;"</string>
- <string name="cancel_export_confirmation_title" msgid="6516467140276768528">"Ακύρωση εξαγωγής της vCard"</string>
<string name="cancel_export_confirmation_message" msgid="1995462401949262638">"Να ακυρωθεί η εξαγωγή του αρχείου <xliff:g id="FILENAME">%s</xliff:g>;"</string>
<string name="cancel_vcard_import_or_export_failed" msgid="6139900383366166706">"Αδ.ακύρ.εισαγ./εξαγ.vCard"</string>
<string name="search_settings_description" msgid="2675223022992445813">"Ονόματα ων επαφών σας"</string>
@@ -441,9 +433,7 @@
<item quantity="other" msgid="425683718017380845">"συγχώνευση από <xliff:g id="COUNT">%0$d</xliff:g> προελεύσεις"</item>
</plurals>
<string name="local_invisible_directory" msgid="6046691709127661065">"Άλλο"</string>
- <string name="aggregation_suggestion_join_dialog_title" msgid="5276699501316246253">"Ένωση επαφών"</string>
<string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"Να γίνει ένωση της τρέχουσας επαφής με την επιλεγμένη επαφή;"</string>
- <string name="aggregation_suggestion_edit_dialog_title" msgid="1064042382692091314">"Επεξεργασία επιλεγμένων επαφών"</string>
<string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"Να γίνει μετάβαση σε επεξεργασία της επιλεγμένης επαφής; Θα γίνει αντιγραφή των στοιχείων που έχετε εισαγάγει μέχρι τώρα."</string>
<string name="menu_copyContact" msgid="1573960845106822639">"Αντιγραφή στις Επαφές μου"</string>
<string name="add_to_my_contacts" msgid="1068274916793627723">"Προσθήκη στις Επαφές μου"</string>
@@ -478,7 +468,6 @@
<string name="contacts_unavailable_import_contacts" msgid="4456440183590517471">"Εισαγωγή επαφών από ένα αρχείο"</string>
<string name="create_group_dialog_title" msgid="6874527142828424475">"Δημιουργία νέας ομάδας"</string>
<string name="create_group_item_label" msgid="5218022006186243310">"[Δημιουργία νέας ομάδας]"</string>
- <string name="delete_group_dialog_title" msgid="7368429698398624427">"Διαγραφή ομάδας"</string>
<plurals name="num_groups_in_account">
<item quantity="one" msgid="2944819210288517794">"1 ομάδα"</item>
<item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> ομάδες"</item>
@@ -497,7 +486,6 @@
<string name="set_default" msgid="4417505153468300351">"Ορισμός ως προεπιλογή"</string>
<string name="clear_default" msgid="7193185801596678067">"Εκκαθάριση προεπιλεγμένων"</string>
<string name="toast_text_copied" msgid="5143776250008541719">"Το κείμενο αντιγράφηκε"</string>
- <string name="cancel_confirmation_dialog_title" msgid="3950463632415908534">"Απόρριψη αλλαγών"</string>
<string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"Να απορριφθούν οι αλλαγές σας;"</string>
<string name="call_type_and_date" msgid="1766269584078149149">"<xliff:g id="CALL_TYPE">%1$s</xliff:g> <xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g>"</string>
<string name="profile_display_name" msgid="4127389543625918771">"Ρύθμιση του προφίλ μου"</string>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index 72a67b3..d5ea438 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -41,7 +41,8 @@
<string name="menu_search" msgid="9147752853603483719">"Search"</string>
<string name="menu_newContact" msgid="1209922412763274638">"New contact"</string>
<string name="menu_viewContact" msgid="2795575601596468581">"View contact"</string>
- <string name="menu_callNumber" msgid="5142851348489387516">"Call <xliff:g id="NAME">%s</xliff:g>"</string>
+ <!-- no translation found for menu_callNumber (997146291983360266) -->
+ <skip />
<string name="menu_addStar" msgid="2908478235715404876">"Add to favourites"</string>
<string name="menu_removeStar" msgid="5844227078364227030">"Remove from favourites"</string>
<string name="menu_editContact" msgid="9042415603857662633">"Edit"</string>
@@ -62,7 +63,6 @@
<string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Suggested Contacts"</string>
<string name="separatorJoinAggregateAll" msgid="7939932265026181043">"All contacts"</string>
<string name="contactsJoinedMessage" msgid="7208148163607047389">"Contacts joined"</string>
- <string name="deleteConfirmation_title" msgid="1418215926447642260">"Delete contact?"</string>
<string name="menu_set_ring_tone" msgid="8728345772068064946">"Set ringtone"</string>
<string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"All calls to voicemail"</string>
<string name="readOnlyContactWarning" msgid="7808825687289848259">"You can\'t delete contacts from read-only accounts, but you can hide them in your contacts lists."</string>
@@ -186,7 +186,6 @@
<string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> mins <xliff:g id="SECONDS">%s</xliff:g> secs"</string>
<string name="favoritesFrequentContacted" msgid="6184232487472425690">"Frequently contacted"</string>
<string name="favoritesFrequentCalled" msgid="6128306889600696124">"Frequently called"</string>
- <string name="add_contact_dlg_title" msgid="2896685845822146494">"Add contact"</string>
<string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Add \"<xliff:g id="EMAIL">%s</xliff:g>\" to contacts?"</string>
<string name="description_image_button_one" msgid="1740638037139856139">"one"</string>
<string name="description_image_button_two" msgid="5882638439003731308">"two"</string>
@@ -209,11 +208,8 @@
<string name="description_minus_button" msgid="387136707700230172">"minus"</string>
<string name="description_plus_button" msgid="515164827856229880">"plus"</string>
<string name="description_view_contact_detail" msgid="9133251213656414807">"View contact"</string>
- <string name="no_sdcard_title" product="nosdcard" msgid="8543619259870877473">"Storage unavailable"</string>
- <string name="no_sdcard_title" product="default" msgid="5911758680339949273">"No SD card"</string>
<string name="no_sdcard_message" product="nosdcard" msgid="5242558018442357189">"No storage was found."</string>
<string name="no_sdcard_message" product="default" msgid="3357810406684913482">"No SD card was found."</string>
- <string name="searching_vcard_title" msgid="4970508055399376813">"Searching for vCard"</string>
<string name="import_from_sim" msgid="3859272228033941659">"Import from SIM card"</string>
<string name="import_from_sdcard" product="default" msgid="8668347930577565175">"Import from storage"</string>
<string name="export_to_sdcard" product="default" msgid="6092815580965201089">"Export to storage"</string>
@@ -223,8 +219,6 @@
<string name="import_all_vcard_string" msgid="5518136113853448474">"Import all vCard files"</string>
<string name="searching_vcard_message" product="nosdcard" msgid="557077639409584945">"Searching for vCard data in storage…"</string>
<string name="searching_vcard_message" product="default" msgid="3962269894118092049">"Searching for vCard data on SD card"</string>
- <string name="scanning_sdcard_failed_title" product="nosdcard" msgid="4944932641334764942">"Couldn\'t scan storage"</string>
- <string name="scanning_sdcard_failed_title" product="default" msgid="6664940444476572612">"Couldn\'t scan SD card"</string>
<string name="scanning_sdcard_failed_message" product="nosdcard" msgid="7221682312959229201">"The storage couldn\'t be scanned. (Reason: \"<xliff:g id="FAIL_REASON">%s</xliff:g>\")"</string>
<string name="scanning_sdcard_failed_message" product="default" msgid="189023067829510792">"The SD card couldn\'t be scanned. (Reason: \"<xliff:g id="FAIL_REASON">%s</xliff:g>\")"</string>
<string name="fail_reason_io_error" msgid="6748358842976073255">"I/O error"</string>
@@ -273,9 +267,7 @@
<string name="composer_not_initialized" msgid="2321648986367005254">"The vCard composer didn\'t start properly."</string>
<string name="fail_reason_could_not_open_file" msgid="2067725459821997463">"Couldn\'t open \"<xliff:g id="FILE_NAME">%s</xliff:g>\": <xliff:g id="EXACT_REASON">%s</xliff:g>."</string>
<string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> of <xliff:g id="TOTAL_NUMBER">%s</xliff:g> contacts"</string>
- <string name="cancel_import_confirmation_title" msgid="5578683596010294836">"Cancelling vCard import"</string>
<string name="cancel_import_confirmation_message" msgid="3929951040347726757">"Cancel import of <xliff:g id="FILENAME">%s</xliff:g>?"</string>
- <string name="cancel_export_confirmation_title" msgid="6516467140276768528">"Cancelling vCard export"</string>
<string name="cancel_export_confirmation_message" msgid="1995462401949262638">"Cancel export of <xliff:g id="FILENAME">%s</xliff:g>?"</string>
<string name="cancel_vcard_import_or_export_failed" msgid="6139900383366166706">"Couldn\'t cancel vCard import/export"</string>
<string name="search_settings_description" msgid="2675223022992445813">"Names of your contacts"</string>
@@ -441,9 +433,7 @@
<item quantity="other" msgid="425683718017380845">"merged from <xliff:g id="COUNT">%0$d</xliff:g> sources"</item>
</plurals>
<string name="local_invisible_directory" msgid="6046691709127661065">"Other"</string>
- <string name="aggregation_suggestion_join_dialog_title" msgid="5276699501316246253">"Join contacts"</string>
<string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"Join the current contact with the selected contact?"</string>
- <string name="aggregation_suggestion_edit_dialog_title" msgid="1064042382692091314">"Edit selected contacts"</string>
<string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"Switch to editing the selected contact? Information that you\'ve entered so far will be copied."</string>
<string name="menu_copyContact" msgid="1573960845106822639">"Copy to My Contacts"</string>
<string name="add_to_my_contacts" msgid="1068274916793627723">"Add to My Contacts"</string>
@@ -478,7 +468,6 @@
<string name="contacts_unavailable_import_contacts" msgid="4456440183590517471">"Import contacts from a file"</string>
<string name="create_group_dialog_title" msgid="6874527142828424475">"Create new group"</string>
<string name="create_group_item_label" msgid="5218022006186243310">"[Create new group]"</string>
- <string name="delete_group_dialog_title" msgid="7368429698398624427">"Delete group"</string>
<plurals name="num_groups_in_account">
<item quantity="one" msgid="2944819210288517794">"1 group"</item>
<item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> groups"</item>
@@ -497,7 +486,6 @@
<string name="set_default" msgid="4417505153468300351">"Set default"</string>
<string name="clear_default" msgid="7193185801596678067">"Clear default"</string>
<string name="toast_text_copied" msgid="5143776250008541719">"Text copied"</string>
- <string name="cancel_confirmation_dialog_title" msgid="3950463632415908534">"Discard changes"</string>
<string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"Discard your changes?"</string>
<string name="call_type_and_date" msgid="1766269584078149149">"<xliff:g id="CALL_TYPE">%1$s</xliff:g> <xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g>"</string>
<string name="profile_display_name" msgid="4127389543625918771">"Set up my profile"</string>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index 15799e7..f42528c 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -41,7 +41,8 @@
<string name="menu_search" msgid="9147752853603483719">"Buscar"</string>
<string name="menu_newContact" msgid="1209922412763274638">"Nuevo contacto"</string>
<string name="menu_viewContact" msgid="2795575601596468581">"Ver contacto"</string>
- <string name="menu_callNumber" msgid="5142851348489387516">"Llamar a <xliff:g id="NAME">%s</xliff:g>"</string>
+ <!-- no translation found for menu_callNumber (997146291983360266) -->
+ <skip />
<string name="menu_addStar" msgid="2908478235715404876">"Agregar a favoritos"</string>
<string name="menu_removeStar" msgid="5844227078364227030">"Eliminar de favoritos"</string>
<string name="menu_editContact" msgid="9042415603857662633">"Editar"</string>
@@ -62,7 +63,6 @@
<string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Contactos sugeridos"</string>
<string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Todos los contactos"</string>
<string name="contactsJoinedMessage" msgid="7208148163607047389">"Unión de contactos"</string>
- <string name="deleteConfirmation_title" msgid="1418215926447642260">"¿Eliminar contacto?"</string>
<string name="menu_set_ring_tone" msgid="8728345772068064946">"Establecer tono"</string>
<string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Llamadas al buzón de voz"</string>
<string name="readOnlyContactWarning" msgid="7808825687289848259">"No puedes eliminar contactos de cuentas de solo lectura, pero puedes ocultarlos en tus listas de contactos."</string>
@@ -186,7 +186,6 @@
<string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> min. <xliff:g id="SECONDS">%s</xliff:g> seg."</string>
<string name="favoritesFrequentContacted" msgid="6184232487472425690">"Contactado con frecuencia"</string>
<string name="favoritesFrequentCalled" msgid="6128306889600696124">"Llamados con frecuencia"</string>
- <string name="add_contact_dlg_title" msgid="2896685845822146494">"Agregar contacto"</string>
<string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"¿Deseas agregar \"<xliff:g id="EMAIL">%s</xliff:g>\" a los contactos?"</string>
<string name="description_image_button_one" msgid="1740638037139856139">"uno"</string>
<string name="description_image_button_two" msgid="5882638439003731308">"dos"</string>
@@ -209,11 +208,8 @@
<string name="description_minus_button" msgid="387136707700230172">"menos"</string>
<string name="description_plus_button" msgid="515164827856229880">"más"</string>
<string name="description_view_contact_detail" msgid="9133251213656414807">"Ver contacto"</string>
- <string name="no_sdcard_title" product="nosdcard" msgid="8543619259870877473">"No se dispone de espacio de almacenamiento."</string>
- <string name="no_sdcard_title" product="default" msgid="5911758680339949273">"No hay tarjeta SD"</string>
<string name="no_sdcard_message" product="nosdcard" msgid="5242558018442357189">"No se encontró almacenamiento."</string>
<string name="no_sdcard_message" product="default" msgid="3357810406684913482">"No se encontró una tarjeta SD."</string>
- <string name="searching_vcard_title" msgid="4970508055399376813">"Buscando vCard"</string>
<string name="import_from_sim" msgid="3859272228033941659">"Importar de la tarjeta SIM"</string>
<string name="import_from_sdcard" product="default" msgid="8668347930577565175">"Importar desde el almacenamiento"</string>
<string name="export_to_sdcard" product="default" msgid="6092815580965201089">"Exportar al almacenamiento"</string>
@@ -223,8 +219,6 @@
<string name="import_all_vcard_string" msgid="5518136113853448474">"Importar todos los archivos de vCard"</string>
<string name="searching_vcard_message" product="nosdcard" msgid="557077639409584945">"Buscando datos de vCard en el almacenamiento..."</string>
<string name="searching_vcard_message" product="default" msgid="3962269894118092049">"Buscando datos de vCard en la tarjeta SD..."</string>
- <string name="scanning_sdcard_failed_title" product="nosdcard" msgid="4944932641334764942">"No se pudo explorar el almacenamiento."</string>
- <string name="scanning_sdcard_failed_title" product="default" msgid="6664940444476572612">"No se pudo explorar la tarjeta SD."</string>
<string name="scanning_sdcard_failed_message" product="nosdcard" msgid="7221682312959229201">"No se pudo examinar el almacenamiento. (Motivo: \"<xliff:g id="FAIL_REASON">%s</xliff:g>\")."</string>
<string name="scanning_sdcard_failed_message" product="default" msgid="189023067829510792">"No se pudo examinar la tarjeta SD. (Motivo: \"<xliff:g id="FAIL_REASON">%s</xliff:g>\")"</string>
<string name="fail_reason_io_error" msgid="6748358842976073255">"Error de E/S"</string>
@@ -273,9 +267,7 @@
<string name="composer_not_initialized" msgid="2321648986367005254">"El compositor de la vCard no se inició correctamente."</string>
<string name="fail_reason_could_not_open_file" msgid="2067725459821997463">"No se pudo abrir \"<xliff:g id="FILE_NAME">%s</xliff:g>\": <xliff:g id="EXACT_REASON">%s</xliff:g>"</string>
<string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> de <xliff:g id="TOTAL_NUMBER">%s</xliff:g> contactos"</string>
- <string name="cancel_import_confirmation_title" msgid="5578683596010294836">"Cancelación de importación de vCard"</string>
<string name="cancel_import_confirmation_message" msgid="3929951040347726757">"¿Deseas cancelar la importación de <xliff:g id="FILENAME">%s</xliff:g>?"</string>
- <string name="cancel_export_confirmation_title" msgid="6516467140276768528">"Cancelación de exportación de vCard"</string>
<string name="cancel_export_confirmation_message" msgid="1995462401949262638">"¿Deseas cancelar la exportación de <xliff:g id="FILENAME">%s</xliff:g>?"</string>
<string name="cancel_vcard_import_or_export_failed" msgid="6139900383366166706">"No se canceló la impor./expor. de vCard."</string>
<string name="search_settings_description" msgid="2675223022992445813">"Nombres de tus contactos"</string>
@@ -441,9 +433,7 @@
<item quantity="other" msgid="425683718017380845">"combinado a partir de fuentes <xliff:g id="COUNT">%0$d</xliff:g>"</item>
</plurals>
<string name="local_invisible_directory" msgid="6046691709127661065">"Otro"</string>
- <string name="aggregation_suggestion_join_dialog_title" msgid="5276699501316246253">"Agrupar contactos"</string>
<string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"¿Deseas agrupar el contacto actual con el contacto seleccionado?"</string>
- <string name="aggregation_suggestion_edit_dialog_title" msgid="1064042382692091314">"Modificar contactos seleccionados"</string>
<string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"¿Optar por modificar contacto seleccionado? Se copiará la información que ingresaste hasta ahora."</string>
<string name="menu_copyContact" msgid="1573960845106822639">"Copiar en Mis contactos"</string>
<string name="add_to_my_contacts" msgid="1068274916793627723">"Agregar a Mis contactos"</string>
@@ -478,7 +468,6 @@
<string name="contacts_unavailable_import_contacts" msgid="4456440183590517471">"Importar contactos desde un archivo"</string>
<string name="create_group_dialog_title" msgid="6874527142828424475">"Crear grupo nuevo"</string>
<string name="create_group_item_label" msgid="5218022006186243310">"[Crear grupo nuevo]"</string>
- <string name="delete_group_dialog_title" msgid="7368429698398624427">"Eliminar grupo"</string>
<plurals name="num_groups_in_account">
<item quantity="one" msgid="2944819210288517794">"1 grupo"</item>
<item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> grupos"</item>
@@ -497,7 +486,6 @@
<string name="set_default" msgid="4417505153468300351">"Establecer como predeterminado"</string>
<string name="clear_default" msgid="7193185801596678067">"Borrar predeterminado"</string>
<string name="toast_text_copied" msgid="5143776250008541719">"Texto copiado"</string>
- <string name="cancel_confirmation_dialog_title" msgid="3950463632415908534">"Descartar cambios"</string>
<string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"¿Deseas descartar los cambios?"</string>
<string name="call_type_and_date" msgid="1766269584078149149">"<xliff:g id="CALL_TYPE">%1$s</xliff:g><xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g>"</string>
<string name="profile_display_name" msgid="4127389543625918771">"Configurar mi perfil"</string>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index 0f06f92..232f013 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -41,7 +41,8 @@
<string name="menu_search" msgid="9147752853603483719">"Buscar"</string>
<string name="menu_newContact" msgid="1209922412763274638">"Contacto nuevo"</string>
<string name="menu_viewContact" msgid="2795575601596468581">"Ver contacto"</string>
- <string name="menu_callNumber" msgid="5142851348489387516">"Llamar a <xliff:g id="NAME">%s</xliff:g>"</string>
+ <!-- no translation found for menu_callNumber (997146291983360266) -->
+ <skip />
<string name="menu_addStar" msgid="2908478235715404876">"Añadir a \"Favoritos\""</string>
<string name="menu_removeStar" msgid="5844227078364227030">"Eliminar de \"Favoritos\""</string>
<string name="menu_editContact" msgid="9042415603857662633">"Editar"</string>
@@ -62,7 +63,6 @@
<string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Contactos sugeridos"</string>
<string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Todos los contactos"</string>
<string name="contactsJoinedMessage" msgid="7208148163607047389">"Contactos agrupados"</string>
- <string name="deleteConfirmation_title" msgid="1418215926447642260">"¿Eliminar contacto?"</string>
<string name="menu_set_ring_tone" msgid="8728345772068064946">"Establecer tono"</string>
<string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Llamadas al buzón de voz"</string>
<string name="readOnlyContactWarning" msgid="7808825687289848259">"No puedes eliminar los contactos procedentes de las cuentas de solo lectura, pero puedes ocultarlos en las listas de contactos."</string>
@@ -186,7 +186,6 @@
<string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> min. y <xliff:g id="SECONDS">%s</xliff:g> seg."</string>
<string name="favoritesFrequentContacted" msgid="6184232487472425690">"Contactos frecuentes"</string>
<string name="favoritesFrequentCalled" msgid="6128306889600696124">"Más llamados"</string>
- <string name="add_contact_dlg_title" msgid="2896685845822146494">"Añadir contacto"</string>
<string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"¿Quieres añadir \"<xliff:g id="EMAIL">%s</xliff:g>\" a Contactos?"</string>
<string name="description_image_button_one" msgid="1740638037139856139">"uno"</string>
<string name="description_image_button_two" msgid="5882638439003731308">"dos"</string>
@@ -209,11 +208,8 @@
<string name="description_minus_button" msgid="387136707700230172">"menos"</string>
<string name="description_plus_button" msgid="515164827856229880">"más"</string>
<string name="description_view_contact_detail" msgid="9133251213656414807">"Ver contacto"</string>
- <string name="no_sdcard_title" product="nosdcard" msgid="8543619259870877473">"Almacenamiento no disponible"</string>
- <string name="no_sdcard_title" product="default" msgid="5911758680339949273">"Falta la tarjeta SD."</string>
<string name="no_sdcard_message" product="nosdcard" msgid="5242558018442357189">"No hay ningún almacenamiento."</string>
<string name="no_sdcard_message" product="default" msgid="3357810406684913482">"No se ha detectado ninguna tarjeta SD."</string>
- <string name="searching_vcard_title" msgid="4970508055399376813">"Buscando vCard"</string>
<string name="import_from_sim" msgid="3859272228033941659">"Importar contactos desde la tarjeta SIM"</string>
<string name="import_from_sdcard" product="default" msgid="8668347930577565175">"Importar de USB"</string>
<string name="export_to_sdcard" product="default" msgid="6092815580965201089">"Exportar a almacenamiento"</string>
@@ -223,8 +219,6 @@
<string name="import_all_vcard_string" msgid="5518136113853448474">"Importar todos los archivos de vCard"</string>
<string name="searching_vcard_message" product="nosdcard" msgid="557077639409584945">"Buscando datos de vCard en el almacenamiento..."</string>
<string name="searching_vcard_message" product="default" msgid="3962269894118092049">"Buscando datos de vCard en la tarjeta SD..."</string>
- <string name="scanning_sdcard_failed_title" product="nosdcard" msgid="4944932641334764942">"No se ha podido analizar el almacenamiento."</string>
- <string name="scanning_sdcard_failed_title" product="default" msgid="6664940444476572612">"No se ha podido analizar la tarjeta SD."</string>
<string name="scanning_sdcard_failed_message" product="nosdcard" msgid="7221682312959229201">"No se ha podido analizar el almacenamiento (motivo: \"<xliff:g id="FAIL_REASON">%s</xliff:g>\")."</string>
<string name="scanning_sdcard_failed_message" product="default" msgid="189023067829510792">"No se ha podido analizar la tarjeta SD (motivo: \"<xliff:g id="FAIL_REASON">%s</xliff:g>\")."</string>
<string name="fail_reason_io_error" msgid="6748358842976073255">"Error de E/S"</string>
@@ -273,9 +267,7 @@
<string name="composer_not_initialized" msgid="2321648986367005254">"El redactor de vCard no se ha iniciado correctamente."</string>
<string name="fail_reason_could_not_open_file" msgid="2067725459821997463">"No se ha podido abrir el archivo \"<xliff:g id="FILE_NAME">%s</xliff:g>\" (<xliff:g id="EXACT_REASON">%s</xliff:g>)."</string>
<string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> de <xliff:g id="TOTAL_NUMBER">%s</xliff:g> contactos"</string>
- <string name="cancel_import_confirmation_title" msgid="5578683596010294836">"Cancelando importación de vCard"</string>
<string name="cancel_import_confirmation_message" msgid="3929951040347726757">"¿Seguro que quieres cancelar la importación de <xliff:g id="FILENAME">%s</xliff:g>?"</string>
- <string name="cancel_export_confirmation_title" msgid="6516467140276768528">"Cancelando exportación de vCard"</string>
<string name="cancel_export_confirmation_message" msgid="1995462401949262638">"¿Seguro que quieres cancelar la exportación de <xliff:g id="FILENAME">%s</xliff:g>?"</string>
<string name="cancel_vcard_import_or_export_failed" msgid="6139900383366166706">"Error al cancelar la importación/exportación de vCard"</string>
<string name="search_settings_description" msgid="2675223022992445813">"Nombres de tus contactos"</string>
@@ -441,9 +433,7 @@
<item quantity="other" msgid="425683718017380845">"fusionados desde <xliff:g id="COUNT">%0$d</xliff:g> fuentes"</item>
</plurals>
<string name="local_invisible_directory" msgid="6046691709127661065">"Otro"</string>
- <string name="aggregation_suggestion_join_dialog_title" msgid="5276699501316246253">"Agrupar contactos"</string>
<string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"¿Quieres agrupar el contacto actual con el contacto seleccionado?"</string>
- <string name="aggregation_suggestion_edit_dialog_title" msgid="1064042382692091314">"Editar contactos seleccionados"</string>
<string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"¿Quieres editar el contacto seleccionado? Se copiará la información que hayas introducido hasta el momento."</string>
<string name="menu_copyContact" msgid="1573960845106822639">"Copiar en mis contactos"</string>
<string name="add_to_my_contacts" msgid="1068274916793627723">"Añadir a Mis contactos"</string>
@@ -478,7 +468,6 @@
<string name="contacts_unavailable_import_contacts" msgid="4456440183590517471">"Importar contactos de un archivo"</string>
<string name="create_group_dialog_title" msgid="6874527142828424475">"Crear grupo nuevo"</string>
<string name="create_group_item_label" msgid="5218022006186243310">"[Crear grupo nuevo]"</string>
- <string name="delete_group_dialog_title" msgid="7368429698398624427">"Eliminar grupo"</string>
<plurals name="num_groups_in_account">
<item quantity="one" msgid="2944819210288517794">"Un grupo"</item>
<item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> grupos"</item>
@@ -497,7 +486,6 @@
<string name="set_default" msgid="4417505153468300351">"Establecer como predeterminado"</string>
<string name="clear_default" msgid="7193185801596678067">"Borrar predeterminado"</string>
<string name="toast_text_copied" msgid="5143776250008541719">"Texto copiado"</string>
- <string name="cancel_confirmation_dialog_title" msgid="3950463632415908534">"Descartar cambios"</string>
<string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"¿Seguro que quieres descartar los cambios?"</string>
<string name="call_type_and_date" msgid="1766269584078149149">"<xliff:g id="CALL_TYPE">%1$s</xliff:g> <xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g>"</string>
<string name="profile_display_name" msgid="4127389543625918771">"Configurar mi perfil"</string>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index f1254d2..f7883a5 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -41,7 +41,8 @@
<string name="menu_search" msgid="9147752853603483719">"جستجو"</string>
<string name="menu_newContact" msgid="1209922412763274638">"مخاطب جدید"</string>
<string name="menu_viewContact" msgid="2795575601596468581">"مشاهده مخاطب"</string>
- <string name="menu_callNumber" msgid="5142851348489387516">"تماس با <xliff:g id="NAME">%s</xliff:g>"</string>
+ <!-- no translation found for menu_callNumber (997146291983360266) -->
+ <skip />
<string name="menu_addStar" msgid="2908478235715404876">"افزودن به موارد دلخواه"</string>
<string name="menu_removeStar" msgid="5844227078364227030">"حذف از موارد دلخواه"</string>
<string name="menu_editContact" msgid="9042415603857662633">"ویرایش"</string>
@@ -62,7 +63,6 @@
<string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"مخاطبین پیشنهادی"</string>
<string name="separatorJoinAggregateAll" msgid="7939932265026181043">"همه مخاطبین"</string>
<string name="contactsJoinedMessage" msgid="7208148163607047389">"مخاطبین ملحق شده"</string>
- <string name="deleteConfirmation_title" msgid="1418215926447642260">"مخاطب حذف شود؟"</string>
<string name="menu_set_ring_tone" msgid="8728345772068064946">"تنظیم آهنگ زنگ"</string>
<string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"همه تماسها به پست صوتی"</string>
<string name="readOnlyContactWarning" msgid="7808825687289848259">"شما نمیتوانید مخاطبین را از حسابهای فقط خواندنی حذف کنید اما میتوانید آنها را در لیستهای مخاطبین خود پنهان کنید."</string>
@@ -186,7 +186,6 @@
<string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> دقیقه و <xliff:g id="SECONDS">%s</xliff:g> ثانیه"</string>
<string name="favoritesFrequentContacted" msgid="6184232487472425690">"اغلب تماس گرفته شده"</string>
<string name="favoritesFrequentCalled" msgid="6128306889600696124">"اغلب به نام"</string>
- <string name="add_contact_dlg_title" msgid="2896685845822146494">"افزودن مخاطب"</string>
<string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"\"<xliff:g id="EMAIL">%s</xliff:g>\" به مخاطبین افزوده شود؟"</string>
<string name="description_image_button_one" msgid="1740638037139856139">"یک"</string>
<string name="description_image_button_two" msgid="5882638439003731308">"دو"</string>
@@ -209,11 +208,8 @@
<string name="description_minus_button" msgid="387136707700230172">"منها"</string>
<string name="description_plus_button" msgid="515164827856229880">"به اضافه"</string>
<string name="description_view_contact_detail" msgid="9133251213656414807">"مشاهده مخاطب"</string>
- <string name="no_sdcard_title" product="nosdcard" msgid="8543619259870877473">"حافظه در دسترس نیست"</string>
- <string name="no_sdcard_title" product="default" msgid="5911758680339949273">"کارت SD موجود نیست"</string>
<string name="no_sdcard_message" product="nosdcard" msgid="5242558018442357189">"هیچ دستگاه ذخیرهای یافت نشد."</string>
<string name="no_sdcard_message" product="default" msgid="3357810406684913482">"کارت SD یافت نشد."</string>
- <string name="searching_vcard_title" msgid="4970508055399376813">"جستجوی کارت ویزیت"</string>
<string name="import_from_sim" msgid="3859272228033941659">"وارد کردن از سیم کارت"</string>
<string name="import_from_sdcard" product="default" msgid="8668347930577565175">"وارد کردن از حافظه"</string>
<string name="export_to_sdcard" product="default" msgid="6092815580965201089">"صادر کردن به حافظه"</string>
@@ -223,8 +219,6 @@
<string name="import_all_vcard_string" msgid="5518136113853448474">"وارد کردن همه فایل های کارت ویزیت"</string>
<string name="searching_vcard_message" product="nosdcard" msgid="557077639409584945">"جستجوی داده کارت ویزیت در دستگاه ذخیره..."</string>
<string name="searching_vcard_message" product="default" msgid="3962269894118092049">"درحال جستجوی دادههای کارت ویزیت در کارت SD..."</string>
- <string name="scanning_sdcard_failed_title" product="nosdcard" msgid="4944932641334764942">"اسکن کردن محل ذخیره ممکن نیست"</string>
- <string name="scanning_sdcard_failed_title" product="default" msgid="6664940444476572612">"اسکن کارت SD ممکن نیست"</string>
<string name="scanning_sdcard_failed_message" product="nosdcard" msgid="7221682312959229201">"دستگاه ذخیره نمیتواند بررسی شود. (علت: \"<xliff:g id="FAIL_REASON">%s</xliff:g>\")"</string>
<string name="scanning_sdcard_failed_message" product="default" msgid="189023067829510792">"کارت SD نمیتواند بررسی شود. (علت: \"<xliff:g id="FAIL_REASON">%s</xliff:g>\")"</string>
<string name="fail_reason_io_error" msgid="6748358842976073255">"خطای ورودی/خروجی"</string>
@@ -273,9 +267,7 @@
<string name="composer_not_initialized" msgid="2321648986367005254">"سازنده فایل کارت ویزیت به درستی اجرا نشد."</string>
<string name="fail_reason_could_not_open_file" msgid="2067725459821997463">"\"<xliff:g id="FILE_NAME">%s</xliff:g>\" باز نشد: <xliff:g id="EXACT_REASON">%s</xliff:g>."</string>
<string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> از <xliff:g id="TOTAL_NUMBER">%s</xliff:g> مخاطب"</string>
- <string name="cancel_import_confirmation_title" msgid="5578683596010294836">"لغو وارد کردن کارت ویزیت"</string>
<string name="cancel_import_confirmation_message" msgid="3929951040347726757">"وارد کردن <xliff:g id="FILENAME">%s</xliff:g> لغو شود؟"</string>
- <string name="cancel_export_confirmation_title" msgid="6516467140276768528">"لغو صادر کردن کارت ویزیت"</string>
<string name="cancel_export_confirmation_message" msgid="1995462401949262638">"صادر کردن <xliff:g id="FILENAME">%s</xliff:g> لغو شود؟"</string>
<string name="cancel_vcard_import_or_export_failed" msgid="6139900383366166706">"نمیتوان وارد کردن/ صادر کردن کارت ویزیت را لغو کرد"</string>
<string name="search_settings_description" msgid="2675223022992445813">"نام های مخاطبین شما"</string>
@@ -441,9 +433,7 @@
<item quantity="other" msgid="425683718017380845">"ادغام شده از منابع <xliff:g id="COUNT">%0$d</xliff:g>"</item>
</plurals>
<string name="local_invisible_directory" msgid="6046691709127661065">"سایر موارد"</string>
- <string name="aggregation_suggestion_join_dialog_title" msgid="5276699501316246253">"پیوستن به مخاطبین"</string>
<string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"پیوستن به مخاطب فعلی با مخاطب انتخابی؟"</string>
- <string name="aggregation_suggestion_edit_dialog_title" msgid="1064042382692091314">"ویرایش محتویات انتخابی"</string>
<string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"به ویرایش مخاطب انتخابی می روید؟ اطلاعاتی که تا حال وارد کرده اید کپی خواهد شد."</string>
<string name="menu_copyContact" msgid="1573960845106822639">"کپی در مخاطبین من"</string>
<string name="add_to_my_contacts" msgid="1068274916793627723">"افزودن به مخاطبین من"</string>
@@ -478,7 +468,6 @@
<string name="contacts_unavailable_import_contacts" msgid="4456440183590517471">"وارد کردن مخاطبین از یک فایل"</string>
<string name="create_group_dialog_title" msgid="6874527142828424475">"ایجاد گروه جدید"</string>
<string name="create_group_item_label" msgid="5218022006186243310">"[ایجاد گروه جدید]"</string>
- <string name="delete_group_dialog_title" msgid="7368429698398624427">"حذف گروه"</string>
<plurals name="num_groups_in_account">
<item quantity="one" msgid="2944819210288517794">"1 گروه"</item>
<item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> گروه"</item>
@@ -497,7 +486,6 @@
<string name="set_default" msgid="4417505153468300351">"تنظیم پیش فرض"</string>
<string name="clear_default" msgid="7193185801596678067">"پاک کردن پیش فرضها"</string>
<string name="toast_text_copied" msgid="5143776250008541719">"متن کپی شده"</string>
- <string name="cancel_confirmation_dialog_title" msgid="3950463632415908534">"صرفنظر از تغییرات"</string>
<string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"از تغییرات شما صرفنظر شود؟"</string>
<string name="call_type_and_date" msgid="1766269584078149149">"<xliff:g id="CALL_TYPE">%1$s</xliff:g><xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g>"</string>
<string name="profile_display_name" msgid="4127389543625918771">"راهاندازی نمایه من"</string>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index 33db52f..a8468b3 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -41,7 +41,8 @@
<string name="menu_search" msgid="9147752853603483719">"Haku"</string>
<string name="menu_newContact" msgid="1209922412763274638">"Uusi yhteystieto"</string>
<string name="menu_viewContact" msgid="2795575601596468581">"Näytä yhteystieto"</string>
- <string name="menu_callNumber" msgid="5142851348489387516">"Soita: <xliff:g id="NAME">%s</xliff:g>"</string>
+ <!-- no translation found for menu_callNumber (997146291983360266) -->
+ <skip />
<string name="menu_addStar" msgid="2908478235715404876">"Lisää suosikkeihin"</string>
<string name="menu_removeStar" msgid="5844227078364227030">"Poista suosikeista"</string>
<string name="menu_editContact" msgid="9042415603857662633">"Muokkaa"</string>
@@ -62,7 +63,6 @@
<string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Ehdotetut yhteystiedot"</string>
<string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Kaikki yhteystiedot"</string>
<string name="contactsJoinedMessage" msgid="7208148163607047389">"Yhteystiedot yhdistetty"</string>
- <string name="deleteConfirmation_title" msgid="1418215926447642260">"Poista yhteystieto?"</string>
<string name="menu_set_ring_tone" msgid="8728345772068064946">"Aseta soittoääni"</string>
<string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Kaikki puhelut vastaajaan"</string>
<string name="readOnlyContactWarning" msgid="7808825687289848259">"Et voi poistaa yhteystietoja vain luku -tilassa olevista tileistä. Voit kuitenkin piilottaa yhteystietoja yhteystietoluetteloissasi."</string>
@@ -186,7 +186,6 @@
<string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> min <xliff:g id="SECONDS">%s</xliff:g> s"</string>
<string name="favoritesFrequentContacted" msgid="6184232487472425690">"Usein käytetyt"</string>
<string name="favoritesFrequentCalled" msgid="6128306889600696124">"Soitettu usein"</string>
- <string name="add_contact_dlg_title" msgid="2896685845822146494">"Lisää yhteystieto"</string>
<string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Lisätäänkö <xliff:g id="EMAIL">%s</xliff:g> yhteystietoihin?"</string>
<string name="description_image_button_one" msgid="1740638037139856139">"yksi"</string>
<string name="description_image_button_two" msgid="5882638439003731308">"kaksi"</string>
@@ -209,11 +208,8 @@
<string name="description_minus_button" msgid="387136707700230172">"miinus"</string>
<string name="description_plus_button" msgid="515164827856229880">"plus"</string>
<string name="description_view_contact_detail" msgid="9133251213656414807">"Näytä yhteystieto"</string>
- <string name="no_sdcard_title" product="nosdcard" msgid="8543619259870877473">"Tallennustila ei käytettävissä"</string>
- <string name="no_sdcard_title" product="default" msgid="5911758680339949273">"Ei SD-korttia"</string>
<string name="no_sdcard_message" product="nosdcard" msgid="5242558018442357189">"Tallennustilaa ei löydy."</string>
<string name="no_sdcard_message" product="default" msgid="3357810406684913482">"SD-korttia ei löydy."</string>
- <string name="searching_vcard_title" msgid="4970508055399376813">"Etsitään vCardia"</string>
<string name="import_from_sim" msgid="3859272228033941659">"Tuo SIM-kortilta"</string>
<string name="import_from_sdcard" product="default" msgid="8668347930577565175">"Tuo tallennustilasta"</string>
<string name="export_to_sdcard" product="default" msgid="6092815580965201089">"Vie tallennustilaan"</string>
@@ -223,8 +219,6 @@
<string name="import_all_vcard_string" msgid="5518136113853448474">"Tuo kaikki vCard-tiedostot"</string>
<string name="searching_vcard_message" product="nosdcard" msgid="557077639409584945">"Etsitään vCard-tietoja tallennustilasta..."</string>
<string name="searching_vcard_message" product="default" msgid="3962269894118092049">"Etsitään vCard-tietoja SD-kortilta..."</string>
- <string name="scanning_sdcard_failed_title" product="nosdcard" msgid="4944932641334764942">"Tallennustilan luku epäonnistui."</string>
- <string name="scanning_sdcard_failed_title" product="default" msgid="6664940444476572612">"SD-korttia ei voi lukea."</string>
<string name="scanning_sdcard_failed_message" product="nosdcard" msgid="7221682312959229201">"Tallennustilan luku epäonnistui. (Syy: \"<xliff:g id="FAIL_REASON">%s</xliff:g>\")"</string>
<string name="scanning_sdcard_failed_message" product="default" msgid="189023067829510792">"SD-korttia ei voi lukea. (Syy: \"<xliff:g id="FAIL_REASON">%s</xliff:g>\")"</string>
<string name="fail_reason_io_error" msgid="6748358842976073255">"I/O-virhe"</string>
@@ -273,9 +267,7 @@
<string name="composer_not_initialized" msgid="2321648986367005254">"vCard-luonti ei käynnistynyt oikein."</string>
<string name="fail_reason_could_not_open_file" msgid="2067725459821997463">"Tiedostoa \"<xliff:g id="FILE_NAME">%s</xliff:g>\" ei voi avata: <xliff:g id="EXACT_REASON">%s</xliff:g>"</string>
<string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> / <xliff:g id="TOTAL_NUMBER">%s</xliff:g> yhteystietoa"</string>
- <string name="cancel_import_confirmation_title" msgid="5578683596010294836">"Peruutetaan vCardin tuontia"</string>
<string name="cancel_import_confirmation_message" msgid="3929951040347726757">"Peruuta kohteen <xliff:g id="FILENAME">%s</xliff:g> tuonti?"</string>
- <string name="cancel_export_confirmation_title" msgid="6516467140276768528">"Peruutetaan vCardin vientiä"</string>
<string name="cancel_export_confirmation_message" msgid="1995462401949262638">"Peruuta kohteen <xliff:g id="FILENAME">%s</xliff:g> vienti?"</string>
<string name="cancel_vcard_import_or_export_failed" msgid="6139900383366166706">"vCardin tuonnin/viennin peruutus epäonn."</string>
<string name="search_settings_description" msgid="2675223022992445813">"Yhteystietojen nimet"</string>
@@ -441,9 +433,7 @@
<item quantity="other" msgid="425683718017380845">"yhdistetty <xliff:g id="COUNT">%0$d</xliff:g> lähteestä"</item>
</plurals>
<string name="local_invisible_directory" msgid="6046691709127661065">"Muu"</string>
- <string name="aggregation_suggestion_join_dialog_title" msgid="5276699501316246253">"Yhdistä yhteystiedot"</string>
<string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"Yhdistetäänkö nykyiset yhteystiedot valittujen yhteystietojen kanssa?"</string>
- <string name="aggregation_suggestion_edit_dialog_title" msgid="1064042382692091314">"Muokkaa valittuja yhteystietoja"</string>
<string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"Haluatko muokata valittuja yhteystietoja? Antamasi tiedot kopioidaan."</string>
<string name="menu_copyContact" msgid="1573960845106822639">"Kopioi yhteystietoihini"</string>
<string name="add_to_my_contacts" msgid="1068274916793627723">"Lisää kontakteihin"</string>
@@ -478,7 +468,6 @@
<string name="contacts_unavailable_import_contacts" msgid="4456440183590517471">"Tuo yhteystietoja tiedostosta"</string>
<string name="create_group_dialog_title" msgid="6874527142828424475">"Luo uusi ryhmä"</string>
<string name="create_group_item_label" msgid="5218022006186243310">"[Luo uusi ryhmä]"</string>
- <string name="delete_group_dialog_title" msgid="7368429698398624427">"Poista ryhmä"</string>
<plurals name="num_groups_in_account">
<item quantity="one" msgid="2944819210288517794">"1 ryhmä"</item>
<item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> ryhmää"</item>
@@ -497,7 +486,6 @@
<string name="set_default" msgid="4417505153468300351">"Aseta oletukseksi"</string>
<string name="clear_default" msgid="7193185801596678067">"Poista oletus"</string>
<string name="toast_text_copied" msgid="5143776250008541719">"Teksti kopioitu"</string>
- <string name="cancel_confirmation_dialog_title" msgid="3950463632415908534">"Hylkää muutokset"</string>
<string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"Hylätäänkö muutokset?"</string>
<string name="call_type_and_date" msgid="1766269584078149149">"<xliff:g id="CALL_TYPE">%1$s</xliff:g> <xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g>"</string>
<string name="profile_display_name" msgid="4127389543625918771">"Luo profiili"</string>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 98ce13e..85bd825 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -41,7 +41,8 @@
<string name="menu_search" msgid="9147752853603483719">"Rechercher"</string>
<string name="menu_newContact" msgid="1209922412763274638">"Nouveau contact"</string>
<string name="menu_viewContact" msgid="2795575601596468581">"Afficher le contact"</string>
- <string name="menu_callNumber" msgid="5142851348489387516">"Appeler <xliff:g id="NAME">%s</xliff:g>"</string>
+ <!-- no translation found for menu_callNumber (997146291983360266) -->
+ <skip />
<string name="menu_addStar" msgid="2908478235715404876">"Ajouter aux favoris"</string>
<string name="menu_removeStar" msgid="5844227078364227030">"Supprimer des favoris"</string>
<string name="menu_editContact" msgid="9042415603857662633">"Modifier"</string>
@@ -62,7 +63,6 @@
<string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Contacts suggérés"</string>
<string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Tous les contacts"</string>
<string name="contactsJoinedMessage" msgid="7208148163607047389">"Contacts joints"</string>
- <string name="deleteConfirmation_title" msgid="1418215926447642260">"Supprimer contact ?"</string>
<string name="menu_set_ring_tone" msgid="8728345772068064946">"Régler sonnerie"</string>
<string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Tous appels vers messag. voc."</string>
<string name="readOnlyContactWarning" msgid="7808825687289848259">"Impossible de supprimer les contacts des comptes en lecture seule. Vous pouvez les masquer dans la liste des contacts."</string>
@@ -186,7 +186,6 @@
<string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> mn <xliff:g id="SECONDS">%s</xliff:g> s"</string>
<string name="favoritesFrequentContacted" msgid="6184232487472425690">"Contacts fréquents"</string>
<string name="favoritesFrequentCalled" msgid="6128306889600696124">"Appels fréquents"</string>
- <string name="add_contact_dlg_title" msgid="2896685845822146494">"Ajouter un contact"</string>
<string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Ajouter \"<xliff:g id="EMAIL">%s</xliff:g>\" aux contacts ?"</string>
<string name="description_image_button_one" msgid="1740638037139856139">"un"</string>
<string name="description_image_button_two" msgid="5882638439003731308">"deux"</string>
@@ -209,11 +208,8 @@
<string name="description_minus_button" msgid="387136707700230172">"moins"</string>
<string name="description_plus_button" msgid="515164827856229880">"plus"</string>
<string name="description_view_contact_detail" msgid="9133251213656414807">"Afficher le contact"</string>
- <string name="no_sdcard_title" product="nosdcard" msgid="8543619259870877473">"Mémoire non disponible"</string>
- <string name="no_sdcard_title" product="default" msgid="5911758680339949273">"Aucune carte SD trouvée"</string>
<string name="no_sdcard_message" product="nosdcard" msgid="5242558018442357189">"Aucune mémoire stock. trouvée."</string>
<string name="no_sdcard_message" product="default" msgid="3357810406684913482">"Aucune carte SD détectée."</string>
- <string name="searching_vcard_title" msgid="4970508055399376813">"Recherche des données VCard"</string>
<string name="import_from_sim" msgid="3859272228033941659">"Importer à partir de la carte SIM"</string>
<string name="import_from_sdcard" product="default" msgid="8668347930577565175">"Importer depuis mémoire"</string>
<string name="export_to_sdcard" product="default" msgid="6092815580965201089">"Exporter vers la mémoire"</string>
@@ -223,8 +219,6 @@
<string name="import_all_vcard_string" msgid="5518136113853448474">"Importer tous les fichiers vCard"</string>
<string name="searching_vcard_message" product="nosdcard" msgid="557077639409584945">"Recherche de données vCard dans la mémoire de stockage…"</string>
<string name="searching_vcard_message" product="default" msgid="3962269894118092049">"Recherche de données vCard sur la carte SD…"</string>
- <string name="scanning_sdcard_failed_title" product="nosdcard" msgid="4944932641334764942">"Impossible d\'analyser la mémoire de stockage"</string>
- <string name="scanning_sdcard_failed_title" product="default" msgid="6664940444476572612">"Impossible d\'analyser la carte SD"</string>
<string name="scanning_sdcard_failed_message" product="nosdcard" msgid="7221682312959229201">"Impossible d\'explorer la mémoire de stockage pour la raison suivante : <xliff:g id="FAIL_REASON">%s</xliff:g>."</string>
<string name="scanning_sdcard_failed_message" product="default" msgid="189023067829510792">"Impossible d\'explorer la carte SD pour la raison suivante : <xliff:g id="FAIL_REASON">%s</xliff:g>."</string>
<string name="fail_reason_io_error" msgid="6748358842976073255">"Erreur d\'E/S."</string>
@@ -273,9 +267,7 @@
<string name="composer_not_initialized" msgid="2321648986367005254">"Le système de composition vCard n\'a pas démarré correctement."</string>
<string name="fail_reason_could_not_open_file" msgid="2067725459821997463">"Impossible d\'ouvrir \"<xliff:g id="FILE_NAME">%s</xliff:g>\" pour la raison suivante : <xliff:g id="EXACT_REASON">%s</xliff:g>."</string>
<string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> sur <xliff:g id="TOTAL_NUMBER">%s</xliff:g> contacts"</string>
- <string name="cancel_import_confirmation_title" msgid="5578683596010294836">"Annulation importation fichier vCard"</string>
<string name="cancel_import_confirmation_message" msgid="3929951040347726757">"Annuler l\'importation de \"<xliff:g id="FILENAME">%s</xliff:g>\" ?"</string>
- <string name="cancel_export_confirmation_title" msgid="6516467140276768528">"Annulation exportation fichier vCard"</string>
<string name="cancel_export_confirmation_message" msgid="1995462401949262638">"Annuler l\'exportation de \"<xliff:g id="FILENAME">%s</xliff:g>\" ?"</string>
<string name="cancel_vcard_import_or_export_failed" msgid="6139900383366166706">"Impossible annuler import./export. vCard"</string>
<string name="search_settings_description" msgid="2675223022992445813">"Noms de vos contacts"</string>
@@ -441,9 +433,7 @@
<item quantity="other" msgid="425683718017380845">"1 contact fusionné à partir de <xliff:g id="COUNT">%0$d</xliff:g> sources"</item>
</plurals>
<string name="local_invisible_directory" msgid="6046691709127661065">"Autre"</string>
- <string name="aggregation_suggestion_join_dialog_title" msgid="5276699501316246253">"Joindre les contacts"</string>
<string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"Associer ce contact au contact sélectionné ?"</string>
- <string name="aggregation_suggestion_edit_dialog_title" msgid="1064042382692091314">"Modifier les contacts sélectionnés"</string>
<string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"Modifier le contact sélectionné ? Les informations saisies jusqu\'ici seront copiées."</string>
<string name="menu_copyContact" msgid="1573960845106822639">"Copier dans \"Mes contacts\""</string>
<string name="add_to_my_contacts" msgid="1068274916793627723">"Ajouter à \"Mes contacts\""</string>
@@ -478,7 +468,6 @@
<string name="contacts_unavailable_import_contacts" msgid="4456440183590517471">"Importer les contacts d\'un fichier"</string>
<string name="create_group_dialog_title" msgid="6874527142828424475">"Créer un groupe"</string>
<string name="create_group_item_label" msgid="5218022006186243310">"[Créer un groupe]"</string>
- <string name="delete_group_dialog_title" msgid="7368429698398624427">"Supprimer le groupe"</string>
<plurals name="num_groups_in_account">
<item quantity="one" msgid="2944819210288517794">"Un groupe"</item>
<item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> groupes"</item>
@@ -497,7 +486,6 @@
<string name="set_default" msgid="4417505153468300351">"Définir par défaut"</string>
<string name="clear_default" msgid="7193185801596678067">"Effacer les valeurs par défaut"</string>
<string name="toast_text_copied" msgid="5143776250008541719">"Texte copié"</string>
- <string name="cancel_confirmation_dialog_title" msgid="3950463632415908534">"Supprimer les modifications"</string>
<string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"Annuler les modifications ?"</string>
<string name="call_type_and_date" msgid="1766269584078149149">"<xliff:g id="CALL_TYPE">%1$s</xliff:g> <xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g> "</string>
<string name="profile_display_name" msgid="4127389543625918771">"Configurer mon profil"</string>
@@ -560,7 +548,7 @@
<string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"Vous pouvez synchroniser votre nouveau contact avec l\'un des comptes suivants. Lequel souhaitez-vous utiliser ?"</string>
<string name="keep_local" msgid="1258761699192993322">"Enregistrer localement"</string>
<string name="add_account" msgid="8201790677994503186">"Ajouter un compte"</string>
- <string name="add_new_account" msgid="5748627740680940264">"Ajouter un compte"</string>
+ <string name="add_new_account" msgid="5748627740680940264">"Ajouter un nouveau compte"</string>
<string name="dialog_phone_call_prohibited_title" msgid="2111395432187079579">"Appel non effectué"</string>
<string name="dialog_voicemail_not_ready_title" msgid="7258109862329777060">"Messagerie vocale indisponible"</string>
<string name="dialog_voicemail_not_ready_message" msgid="4384716252789515378">"Pour configurer la messagerie vocale, accédez à Menu > Paramètres."</string>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index 5690338..19af43d 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -41,7 +41,8 @@
<string name="menu_search" msgid="9147752853603483719">"खोज"</string>
<string name="menu_newContact" msgid="1209922412763274638">"नया संपर्क"</string>
<string name="menu_viewContact" msgid="2795575601596468581">"संपर्क देखें"</string>
- <string name="menu_callNumber" msgid="5142851348489387516">"<xliff:g id="NAME">%s</xliff:g> को कॉल करें"</string>
+ <!-- no translation found for menu_callNumber (997146291983360266) -->
+ <skip />
<string name="menu_addStar" msgid="2908478235715404876">"पसंदीदा में जोड़ें"</string>
<string name="menu_removeStar" msgid="5844227078364227030">"पसंदीदा से निकालें"</string>
<string name="menu_editContact" msgid="9042415603857662633">"संपादित करें"</string>
@@ -62,7 +63,6 @@
<string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"सुझाए गए संपर्क"</string>
<string name="separatorJoinAggregateAll" msgid="7939932265026181043">"सभी संपर्क"</string>
<string name="contactsJoinedMessage" msgid="7208148163607047389">"संपर्क जुड़ गए"</string>
- <string name="deleteConfirmation_title" msgid="1418215926447642260">"संपर्क हटाएं?"</string>
<string name="menu_set_ring_tone" msgid="8728345772068064946">"रिंगटोन सेट करें"</string>
<string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"ध्वनिमेल से सभी कॉल"</string>
<string name="readOnlyContactWarning" msgid="7808825687289848259">"आप केवल-पढ़ने के लिए खातों से संपर्क नहीं हटा सकते, लेकिन आप उन्हें अपनी संपर्क सूचियों में छुपा सकते हैं."</string>
@@ -186,7 +186,6 @@
<string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> मिनट <xliff:g id="SECONDS">%s</xliff:g> सेकंड"</string>
<string name="favoritesFrequentContacted" msgid="6184232487472425690">"बार-बार संपर्क किया गया"</string>
<string name="favoritesFrequentCalled" msgid="6128306889600696124">"बार-बार कॉल किया गया"</string>
- <string name="add_contact_dlg_title" msgid="2896685845822146494">"संपर्क जोड़ें"</string>
<string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"\"<xliff:g id="EMAIL">%s</xliff:g>\" को संपर्कों में जोड़ें?"</string>
<string name="description_image_button_one" msgid="1740638037139856139">"एक"</string>
<string name="description_image_button_two" msgid="5882638439003731308">"दो"</string>
@@ -209,11 +208,8 @@
<string name="description_minus_button" msgid="387136707700230172">"निकालें"</string>
<string name="description_plus_button" msgid="515164827856229880">"जोड़ें"</string>
<string name="description_view_contact_detail" msgid="9133251213656414807">"संपर्क देखें"</string>
- <string name="no_sdcard_title" product="nosdcard" msgid="8543619259870877473">"संग्रहण अनुपलब्ध"</string>
- <string name="no_sdcard_title" product="default" msgid="5911758680339949273">"कोई SD कार्ड नहीं"</string>
<string name="no_sdcard_message" product="nosdcard" msgid="5242558018442357189">"कोई संग्रहण नहीं मिला."</string>
<string name="no_sdcard_message" product="default" msgid="3357810406684913482">"कोई SD कार्ड नहीं मिला."</string>
- <string name="searching_vcard_title" msgid="4970508055399376813">"vCard खोज रहा है"</string>
<string name="import_from_sim" msgid="3859272228033941659">"सिम कार्ड से आयात करें"</string>
<string name="import_from_sdcard" product="default" msgid="8668347930577565175">"संग्रहण से आयात करें"</string>
<string name="export_to_sdcard" product="default" msgid="6092815580965201089">"संग्रहण में निर्यात करें"</string>
@@ -223,8 +219,6 @@
<string name="import_all_vcard_string" msgid="5518136113853448474">"सभी vCard फ़ाइलें आयात करें"</string>
<string name="searching_vcard_message" product="nosdcard" msgid="557077639409584945">"संग्रहण में vCard डेटा खोज रहा है..."</string>
<string name="searching_vcard_message" product="default" msgid="3962269894118092049">"SD कार्ड पर vCard डेटा खोज रहा है…"</string>
- <string name="scanning_sdcard_failed_title" product="nosdcard" msgid="4944932641334764942">"संग्रहण स्कैन नहीं हो सका"</string>
- <string name="scanning_sdcard_failed_title" product="default" msgid="6664940444476572612">"SD कार्ड स्कैन नहीं हो सका"</string>
<string name="scanning_sdcard_failed_message" product="nosdcard" msgid="7221682312959229201">"संग्रहण स्कैन नहीं किया जा सका. (कारण: \"<xliff:g id="FAIL_REASON">%s</xliff:g>\")"</string>
<string name="scanning_sdcard_failed_message" product="default" msgid="189023067829510792">"SD कार्ड स्कैन नहीं किया जा सका. (कारण: \"<xliff:g id="FAIL_REASON">%s</xliff:g>\")"</string>
<string name="fail_reason_io_error" msgid="6748358842976073255">"I/O त्रुटि"</string>
@@ -273,9 +267,7 @@
<string name="composer_not_initialized" msgid="2321648986367005254">"vCard कंपोज़र ठीक से शुरू नहीं हुआ."</string>
<string name="fail_reason_could_not_open_file" msgid="2067725459821997463">"\"<xliff:g id="FILE_NAME">%s</xliff:g>\" नहीं खोली जा सकी: <xliff:g id="EXACT_REASON">%s</xliff:g>."</string>
<string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="TOTAL_NUMBER">%s</xliff:g> में से <xliff:g id="CURRENT_NUMBER">%s</xliff:g> संपर्क"</string>
- <string name="cancel_import_confirmation_title" msgid="5578683596010294836">"vCard आयात रद्द कर रहा है"</string>
<string name="cancel_import_confirmation_message" msgid="3929951040347726757">"<xliff:g id="FILENAME">%s</xliff:g> का आयात रद्द करें?"</string>
- <string name="cancel_export_confirmation_title" msgid="6516467140276768528">"vCard निर्यात रद्द किया जा रहा है"</string>
<string name="cancel_export_confirmation_message" msgid="1995462401949262638">"<xliff:g id="FILENAME">%s</xliff:g> का निर्यात रद्द करें?"</string>
<string name="cancel_vcard_import_or_export_failed" msgid="6139900383366166706">"vCard आयात/निर्यात रद्द नहीं हो सका"</string>
<string name="search_settings_description" msgid="2675223022992445813">"आपके संपर्कों के नाम"</string>
@@ -441,9 +433,7 @@
<item quantity="other" msgid="425683718017380845">"<xliff:g id="COUNT">%0$d</xliff:g> स्रोतों से मर्ज किया गया"</item>
</plurals>
<string name="local_invisible_directory" msgid="6046691709127661065">"अन्य"</string>
- <string name="aggregation_suggestion_join_dialog_title" msgid="5276699501316246253">"संपर्क जोड़ें"</string>
<string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"वर्तमान संपर्क को चयनित संपर्क से जोड़ें?"</string>
- <string name="aggregation_suggestion_edit_dialog_title" msgid="1064042382692091314">"चयनित संपर्कों को संपादित करें"</string>
<string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"चयनित संपर्क के संपादन पर जाएं? आपके द्वारा अभी तक दर्ज की गई जानकारी की प्रतिलिपि बनाई जाएगी."</string>
<string name="menu_copyContact" msgid="1573960845106822639">"मेरे संपर्क में प्रतिलिपि बनाएं"</string>
<string name="add_to_my_contacts" msgid="1068274916793627723">"मेरे संपर्क में जोड़ें"</string>
@@ -478,7 +468,6 @@
<string name="contacts_unavailable_import_contacts" msgid="4456440183590517471">"फ़ाइल से संपर्क आयात करें"</string>
<string name="create_group_dialog_title" msgid="6874527142828424475">"नया समूह बनाएं"</string>
<string name="create_group_item_label" msgid="5218022006186243310">"[नया समूह बनाएं]"</string>
- <string name="delete_group_dialog_title" msgid="7368429698398624427">"समूह हटाएं"</string>
<plurals name="num_groups_in_account">
<item quantity="one" msgid="2944819210288517794">"1 समूह"</item>
<item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> समूह"</item>
@@ -497,7 +486,6 @@
<string name="set_default" msgid="4417505153468300351">"डिफ़ॉल्ट सेट करें"</string>
<string name="clear_default" msgid="7193185801596678067">"डिफ़ॉल्ट साफ़ करें"</string>
<string name="toast_text_copied" msgid="5143776250008541719">"पाठ की प्रतिलिपि बनाई गई"</string>
- <string name="cancel_confirmation_dialog_title" msgid="3950463632415908534">"परिवर्तन छोड़ें"</string>
<string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"आपके परिवर्तन छोड़ें?"</string>
<string name="call_type_and_date" msgid="1766269584078149149">"<xliff:g id="CALL_TYPE">%1$s</xliff:g> <xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g>"</string>
<string name="profile_display_name" msgid="4127389543625918771">"मेरी प्रोफ़ाइल सेट करें"</string>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index da85680..7237a5b 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -41,7 +41,8 @@
<string name="menu_search" msgid="9147752853603483719">"Pretraži"</string>
<string name="menu_newContact" msgid="1209922412763274638">"Novi kontakt"</string>
<string name="menu_viewContact" msgid="2795575601596468581">"Prikaži kontakt"</string>
- <string name="menu_callNumber" msgid="5142851348489387516">"Nazovi <xliff:g id="NAME">%s</xliff:g>"</string>
+ <!-- no translation found for menu_callNumber (997146291983360266) -->
+ <skip />
<string name="menu_addStar" msgid="2908478235715404876">"Dodaj u favorite"</string>
<string name="menu_removeStar" msgid="5844227078364227030">"Ukloni iz favorita"</string>
<string name="menu_editContact" msgid="9042415603857662633">"Uredi"</string>
@@ -62,7 +63,6 @@
<string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Predloženi kontakti"</string>
<string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Svi kontakti"</string>
<string name="contactsJoinedMessage" msgid="7208148163607047389">"Kontakti su pridruženi"</string>
- <string name="deleteConfirmation_title" msgid="1418215926447642260">"Izbrisati kontakt?"</string>
<string name="menu_set_ring_tone" msgid="8728345772068064946">"Postavi zvuk zvona"</string>
<string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Svi pozivi na govornu poštu"</string>
<string name="readOnlyContactWarning" msgid="7808825687289848259">"Ne možete izbrisati kontakte s računa samo za čitanje, ali možete ih sakriti na svojim popisima kontakata."</string>
@@ -186,7 +186,6 @@
<string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> minuta <xliff:g id="SECONDS">%s</xliff:g> sekundi"</string>
<string name="favoritesFrequentContacted" msgid="6184232487472425690">"Često kontaktirani"</string>
<string name="favoritesFrequentCalled" msgid="6128306889600696124">"Često nazivani"</string>
- <string name="add_contact_dlg_title" msgid="2896685845822146494">"Dodaj kontakt"</string>
<string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Dodati \"<xliff:g id="EMAIL">%s</xliff:g>\" kontaktima?"</string>
<string name="description_image_button_one" msgid="1740638037139856139">"jedan"</string>
<string name="description_image_button_two" msgid="5882638439003731308">"dva"</string>
@@ -209,11 +208,8 @@
<string name="description_minus_button" msgid="387136707700230172">"minus"</string>
<string name="description_plus_button" msgid="515164827856229880">"plus"</string>
<string name="description_view_contact_detail" msgid="9133251213656414807">"Prikaži kontakt"</string>
- <string name="no_sdcard_title" product="nosdcard" msgid="8543619259870877473">"Prostor za pohranu nedostupan"</string>
- <string name="no_sdcard_title" product="default" msgid="5911758680339949273">"Nema SD kartice"</string>
<string name="no_sdcard_message" product="nosdcard" msgid="5242558018442357189">"Nije pronađena nijedna pohrana."</string>
<string name="no_sdcard_message" product="default" msgid="3357810406684913482">"Nije pronađena SD kartica."</string>
- <string name="searching_vcard_title" msgid="4970508055399376813">"Traženje kartice vCard"</string>
<string name="import_from_sim" msgid="3859272228033941659">"Uvezi sa SIM kartice"</string>
<string name="import_from_sdcard" product="default" msgid="8668347930577565175">"Uvoz iz pohrane"</string>
<string name="export_to_sdcard" product="default" msgid="6092815580965201089">"Izvoz u pohranu"</string>
@@ -223,8 +219,6 @@
<string name="import_all_vcard_string" msgid="5518136113853448474">"Uvezi sve vCard datoteke"</string>
<string name="searching_vcard_message" product="nosdcard" msgid="557077639409584945">"Traženje vCard podataka u pohrani..."</string>
<string name="searching_vcard_message" product="default" msgid="3962269894118092049">"Pretraživanje vCard podataka na SD kartici..."</string>
- <string name="scanning_sdcard_failed_title" product="nosdcard" msgid="4944932641334764942">"Skeniranje pohrane nije uspjelo"</string>
- <string name="scanning_sdcard_failed_title" product="default" msgid="6664940444476572612">"Skeniranje SD kartice nije uspjelo"</string>
<string name="scanning_sdcard_failed_message" product="nosdcard" msgid="7221682312959229201">"Pohrana se ne može skenirati. (Razlog: \"<xliff:g id="FAIL_REASON">%s</xliff:g>\")"</string>
<string name="scanning_sdcard_failed_message" product="default" msgid="189023067829510792">"SD kartica ne može se skenirati. (Razlog: \"<xliff:g id="FAIL_REASON">%s</xliff:g>\")"</string>
<string name="fail_reason_io_error" msgid="6748358842976073255">"I/O pogreška"</string>
@@ -273,9 +267,7 @@
<string name="composer_not_initialized" msgid="2321648986367005254">"Sastavljač za vCard nije se ispravno pokrenuo."</string>
<string name="fail_reason_could_not_open_file" msgid="2067725459821997463">"Datoteku \"<xliff:g id="FILE_NAME">%s</xliff:g>\" nije moguće otvoriti radi: <xliff:g id="EXACT_REASON">%s</xliff:g>."</string>
<string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> od <xliff:g id="TOTAL_NUMBER">%s</xliff:g> kontakata"</string>
- <string name="cancel_import_confirmation_title" msgid="5578683596010294836">"Otkazivanje uvoza kartice vCard"</string>
<string name="cancel_import_confirmation_message" msgid="3929951040347726757">"Otkazati uvoz datoteke <xliff:g id="FILENAME">%s</xliff:g>?"</string>
- <string name="cancel_export_confirmation_title" msgid="6516467140276768528">"Otkazivanje izvoza kartice vCard"</string>
<string name="cancel_export_confirmation_message" msgid="1995462401949262638">"Otkazati izvoz datoteke <xliff:g id="FILENAME">%s</xliff:g>?"</string>
<string name="cancel_vcard_import_or_export_failed" msgid="6139900383366166706">"Uvoz/izvoz kartice vCard nije otkazan"</string>
<string name="search_settings_description" msgid="2675223022992445813">"Nazivi vaših kontakata"</string>
@@ -441,9 +433,7 @@
<item quantity="other" msgid="425683718017380845">"spojen s <xliff:g id="COUNT">%0$d</xliff:g> izvora"</item>
</plurals>
<string name="local_invisible_directory" msgid="6046691709127661065">"Drugo"</string>
- <string name="aggregation_suggestion_join_dialog_title" msgid="5276699501316246253">"Pridruživanje kontakata"</string>
<string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"Pridružiti trenutačni kontakt odabranom kontaktu?"</string>
- <string name="aggregation_suggestion_edit_dialog_title" msgid="1064042382692091314">"Uredi odabrane kontakte"</string>
<string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"Prebaciti se na uređivanje odabranog kontakta? Informacije koje ste unijeli dosad kopirat će se."</string>
<string name="menu_copyContact" msgid="1573960845106822639">"Kopiraj u Moje kontakte"</string>
<string name="add_to_my_contacts" msgid="1068274916793627723">"Dodaj u Moje kontakte"</string>
@@ -478,7 +468,6 @@
<string name="contacts_unavailable_import_contacts" msgid="4456440183590517471">"Uvezi kontakte iz datoteke"</string>
<string name="create_group_dialog_title" msgid="6874527142828424475">"Izrada nove grupe"</string>
<string name="create_group_item_label" msgid="5218022006186243310">"[Izradi novu grupu]"</string>
- <string name="delete_group_dialog_title" msgid="7368429698398624427">"Izbriši grupu"</string>
<plurals name="num_groups_in_account">
<item quantity="one" msgid="2944819210288517794">"1 grupa"</item>
<item quantity="other" msgid="1276758425904917367">"Br. grupa: <xliff:g id="COUNT">%0$d</xliff:g>"</item>
@@ -497,7 +486,6 @@
<string name="set_default" msgid="4417505153468300351">"Postavi zadano"</string>
<string name="clear_default" msgid="7193185801596678067">"Izbriši zadano"</string>
<string name="toast_text_copied" msgid="5143776250008541719">"Tekst kopiran"</string>
- <string name="cancel_confirmation_dialog_title" msgid="3950463632415908534">"Odbaci promjene"</string>
<string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"Odbaciti promjene?"</string>
<string name="call_type_and_date" msgid="1766269584078149149">"<xliff:g id="CALL_TYPE">%1$s</xliff:g><xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g>"</string>
<string name="profile_display_name" msgid="4127389543625918771">"Postavi moj profil"</string>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index 0f99b0f..af3cee1 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -41,7 +41,8 @@
<string name="menu_search" msgid="9147752853603483719">"Keresés"</string>
<string name="menu_newContact" msgid="1209922412763274638">"Új névjegy"</string>
<string name="menu_viewContact" msgid="2795575601596468581">"Névjegy megtekintése"</string>
- <string name="menu_callNumber" msgid="5142851348489387516">"<xliff:g id="NAME">%s</xliff:g> hívása"</string>
+ <!-- no translation found for menu_callNumber (997146291983360266) -->
+ <skip />
<string name="menu_addStar" msgid="2908478235715404876">"Hozzáadás a kedvencekhez"</string>
<string name="menu_removeStar" msgid="5844227078364227030">"Eltávolítás a kedvencek közül"</string>
<string name="menu_editContact" msgid="9042415603857662633">"Szerkesztés"</string>
@@ -62,7 +63,6 @@
<string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Javasolt névjegyek"</string>
<string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Összes névjegy"</string>
<string name="contactsJoinedMessage" msgid="7208148163607047389">"A névjegyek összekapcsolása megtörtént"</string>
- <string name="deleteConfirmation_title" msgid="1418215926447642260">"Törli a névjegyet?"</string>
<string name="menu_set_ring_tone" msgid="8728345772068064946">"Csengőhang"</string>
<string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Minden hívás a hangpostára"</string>
<string name="readOnlyContactWarning" msgid="7808825687289848259">"Írásvédett fiókból nem törölhet névjegyet, de saját címtárában elrejtheti azokat."</string>
@@ -186,7 +186,6 @@
<string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> perc <xliff:g id="SECONDS">%s</xliff:g> másodperc"</string>
<string name="favoritesFrequentContacted" msgid="6184232487472425690">"Gyakran keresett"</string>
<string name="favoritesFrequentCalled" msgid="6128306889600696124">"Gyakran hívott"</string>
- <string name="add_contact_dlg_title" msgid="2896685845822146494">"Névjegy hozzáadása"</string>
<string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Hozzáadja a(z) \"<xliff:g id="EMAIL">%s</xliff:g>\"címet a Címtárhoz?"</string>
<string name="description_image_button_one" msgid="1740638037139856139">"egy"</string>
<string name="description_image_button_two" msgid="5882638439003731308">"kettő"</string>
@@ -209,11 +208,8 @@
<string name="description_minus_button" msgid="387136707700230172">"mínusz"</string>
<string name="description_plus_button" msgid="515164827856229880">"plusz"</string>
<string name="description_view_contact_detail" msgid="9133251213656414807">"Névjegy megtekintése"</string>
- <string name="no_sdcard_title" product="nosdcard" msgid="8543619259870877473">"A tárhely nem érhető el"</string>
- <string name="no_sdcard_title" product="default" msgid="5911758680339949273">"Hiányzó SD-kártya"</string>
<string name="no_sdcard_message" product="nosdcard" msgid="5242558018442357189">"Nem található tárhely."</string>
<string name="no_sdcard_message" product="default" msgid="3357810406684913482">"Nem található SD-kártya."</string>
- <string name="searching_vcard_title" msgid="4970508055399376813">"vCard keresése"</string>
<string name="import_from_sim" msgid="3859272228033941659">"Importálás a SIM-kártyáról"</string>
<string name="import_from_sdcard" product="default" msgid="8668347930577565175">"Importálás a tárhelyről"</string>
<string name="export_to_sdcard" product="default" msgid="6092815580965201089">"Exportálás a tárhelyre"</string>
@@ -223,8 +219,6 @@
<string name="import_all_vcard_string" msgid="5518136113853448474">"Az összes vCard fájl importálása"</string>
<string name="searching_vcard_message" product="nosdcard" msgid="557077639409584945">"vCard-adatok keresése a tárhelyen..."</string>
<string name="searching_vcard_message" product="default" msgid="3962269894118092049">"vCard-adatok keresése az SD-kártyán..."</string>
- <string name="scanning_sdcard_failed_title" product="nosdcard" msgid="4944932641334764942">"Nem sikerült beolvasni a tárolót"</string>
- <string name="scanning_sdcard_failed_title" product="default" msgid="6664940444476572612">"Nem lehet beolvasni az SD-kártyát"</string>
<string name="scanning_sdcard_failed_message" product="nosdcard" msgid="7221682312959229201">"A tárhelyet nem lehet beolvasni. (Indok: \"<xliff:g id="FAIL_REASON">%s</xliff:g>\")"</string>
<string name="scanning_sdcard_failed_message" product="default" msgid="189023067829510792">"Az SD-kártyát nem lehet beolvasni. (Ok: \"<xliff:g id="FAIL_REASON">%s</xliff:g>\")"</string>
<string name="fail_reason_io_error" msgid="6748358842976073255">"I/O hiba"</string>
@@ -273,9 +267,7 @@
<string name="composer_not_initialized" msgid="2321648986367005254">"A vCard-készítő nem megfelelően indult el."</string>
<string name="fail_reason_could_not_open_file" msgid="2067725459821997463">"A(z) \"<xliff:g id="FILE_NAME">%s</xliff:g>\" fájl nem nyitható meg: <xliff:g id="EXACT_REASON">%s</xliff:g>"</string>
<string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g>/<xliff:g id="TOTAL_NUMBER">%s</xliff:g> névjegy"</string>
- <string name="cancel_import_confirmation_title" msgid="5578683596010294836">"vCard importálásának megszakítása"</string>
<string name="cancel_import_confirmation_message" msgid="3929951040347726757">"Megszakítja <xliff:g id="FILENAME">%s</xliff:g> importálását?"</string>
- <string name="cancel_export_confirmation_title" msgid="6516467140276768528">"vCard exportálásának megszakítása"</string>
<string name="cancel_export_confirmation_message" msgid="1995462401949262638">"Megszakítja <xliff:g id="FILENAME">%s</xliff:g> exportálását?"</string>
<string name="cancel_vcard_import_or_export_failed" msgid="6139900383366166706">"vCard imp./exp. megszakítása sikertelen"</string>
<string name="search_settings_description" msgid="2675223022992445813">"Ismerősök nevei"</string>
@@ -441,9 +433,7 @@
<item quantity="other" msgid="425683718017380845">"egyesítve <xliff:g id="COUNT">%0$d</xliff:g> forrásból"</item>
</plurals>
<string name="local_invisible_directory" msgid="6046691709127661065">"Egyéb"</string>
- <string name="aggregation_suggestion_join_dialog_title" msgid="5276699501316246253">"Névjegyek összekapcsolása"</string>
<string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"Összekapcsolja a jelenlegi névjegyet a kiválasztott névjeggyel?"</string>
- <string name="aggregation_suggestion_edit_dialog_title" msgid="1064042382692091314">"A kiválasztott névjegyek szerkesztése"</string>
<string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"A kiválasztott névjegy szerkesztésére vált? Az eddig beírt információk át lesznek másolva."</string>
<string name="menu_copyContact" msgid="1573960845106822639">"Másolás a saját névjegyeim közé"</string>
<string name="add_to_my_contacts" msgid="1068274916793627723">"Hozzáadás a Címtárhoz"</string>
@@ -478,7 +468,6 @@
<string name="contacts_unavailable_import_contacts" msgid="4456440183590517471">"Névjegyek importálása fájlból"</string>
<string name="create_group_dialog_title" msgid="6874527142828424475">"Új csoport létrehozása"</string>
<string name="create_group_item_label" msgid="5218022006186243310">"[Új csoport létrehozása]"</string>
- <string name="delete_group_dialog_title" msgid="7368429698398624427">"Csoport törlése"</string>
<plurals name="num_groups_in_account">
<item quantity="one" msgid="2944819210288517794">"1 csoport"</item>
<item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> csoport"</item>
@@ -497,7 +486,6 @@
<string name="set_default" msgid="4417505153468300351">"Beállítás alapértelmezettként"</string>
<string name="clear_default" msgid="7193185801596678067">"Alapértelmezés törlése"</string>
<string name="toast_text_copied" msgid="5143776250008541719">"Másolt szöveg"</string>
- <string name="cancel_confirmation_dialog_title" msgid="3950463632415908534">"Módosítások elvetése"</string>
<string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"Elveti a módosításokat?"</string>
<string name="call_type_and_date" msgid="1766269584078149149">"<xliff:g id="CALL_TYPE">%1$s</xliff:g> <xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g>"</string>
<string name="profile_display_name" msgid="4127389543625918771">"Saját profil beállítása"</string>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index 6d3f29c..c30d396 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -41,7 +41,8 @@
<string name="menu_search" msgid="9147752853603483719">"Telusuri"</string>
<string name="menu_newContact" msgid="1209922412763274638">"Kenalan baru"</string>
<string name="menu_viewContact" msgid="2795575601596468581">"Lihat kenalan"</string>
- <string name="menu_callNumber" msgid="5142851348489387516">"Panggil <xliff:g id="NAME">%s</xliff:g>"</string>
+ <!-- no translation found for menu_callNumber (997146291983360266) -->
+ <skip />
<string name="menu_addStar" msgid="2908478235715404876">"Tambahkan ke favorit"</string>
<string name="menu_removeStar" msgid="5844227078364227030">"Hapus dari favorit"</string>
<string name="menu_editContact" msgid="9042415603857662633">"Edit"</string>
@@ -62,7 +63,6 @@
<string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Kenalan yang disarankan"</string>
<string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Semua kenalan"</string>
<string name="contactsJoinedMessage" msgid="7208148163607047389">"Kenalan telah bergabung"</string>
- <string name="deleteConfirmation_title" msgid="1418215926447642260">"Hapus data kenalan?"</string>
<string name="menu_set_ring_tone" msgid="8728345772068064946">"Setel nada dering"</string>
<string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Semua panggilan ke kotak pesan"</string>
<string name="readOnlyContactWarning" msgid="7808825687289848259">"Anda tidak dapat menghapus data kenalan dari akun hanya-baca, namun Anda dapat menyembunyikannya dalam daftar data kenalan Anda."</string>
@@ -186,7 +186,6 @@
<string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> menit <xliff:g id="SECONDS">%s</xliff:g> detik"</string>
<string name="favoritesFrequentContacted" msgid="6184232487472425690">"Paling sering dihubungi"</string>
<string name="favoritesFrequentCalled" msgid="6128306889600696124">"Paling sering dipanggil"</string>
- <string name="add_contact_dlg_title" msgid="2896685845822146494">"Tambahkan kenalan"</string>
<string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Tambahkan \"<xliff:g id="EMAIL">%s</xliff:g>\" ke kenalan?"</string>
<string name="description_image_button_one" msgid="1740638037139856139">"satu"</string>
<string name="description_image_button_two" msgid="5882638439003731308">"dua"</string>
@@ -209,11 +208,8 @@
<string name="description_minus_button" msgid="387136707700230172">"minus"</string>
<string name="description_plus_button" msgid="515164827856229880">"plus"</string>
<string name="description_view_contact_detail" msgid="9133251213656414807">"Lihat kenalan"</string>
- <string name="no_sdcard_title" product="nosdcard" msgid="8543619259870877473">"Penyimpanan tidak tersedia"</string>
- <string name="no_sdcard_title" product="default" msgid="5911758680339949273">"Tidak ada kartu SD"</string>
<string name="no_sdcard_message" product="nosdcard" msgid="5242558018442357189">"Tidak ditemukan penyimpanan."</string>
<string name="no_sdcard_message" product="default" msgid="3357810406684913482">"Tidak ditemukan kartu SD."</string>
- <string name="searching_vcard_title" msgid="4970508055399376813">"Menelusuri vCard"</string>
<string name="import_from_sim" msgid="3859272228033941659">"Impor dari kartu SIM"</string>
<string name="import_from_sdcard" product="default" msgid="8668347930577565175">"Impor dari penyimpanan"</string>
<string name="export_to_sdcard" product="default" msgid="6092815580965201089">"Ekspor ke penyimpanan"</string>
@@ -223,8 +219,6 @@
<string name="import_all_vcard_string" msgid="5518136113853448474">"Impor semua berkas vCard"</string>
<string name="searching_vcard_message" product="nosdcard" msgid="557077639409584945">"Menelusuri data vCard dalam penyimpanan..."</string>
<string name="searching_vcard_message" product="default" msgid="3962269894118092049">"Menelusuri data vCard pada kartu SD..."</string>
- <string name="scanning_sdcard_failed_title" product="nosdcard" msgid="4944932641334764942">"Tidak dapat memindai penyimpanan"</string>
- <string name="scanning_sdcard_failed_title" product="default" msgid="6664940444476572612">"Tidak dapat memindai kartu SD"</string>
<string name="scanning_sdcard_failed_message" product="nosdcard" msgid="7221682312959229201">"Penyimpanan tidak dapat dipindai. (Alasan: \"<xliff:g id="FAIL_REASON">%s</xliff:g>\")"</string>
<string name="scanning_sdcard_failed_message" product="default" msgid="189023067829510792">"Kartu SD tidak dapat dipindai. (Alasan: \"<xliff:g id="FAIL_REASON">%s</xliff:g>\")"</string>
<string name="fail_reason_io_error" msgid="6748358842976073255">"Galat I/O"</string>
@@ -273,9 +267,7 @@
<string name="composer_not_initialized" msgid="2321648986367005254">"Penyusun vCard tidak memulai dengan semestinya."</string>
<string name="fail_reason_could_not_open_file" msgid="2067725459821997463">"Tidak dapat membuka \"<xliff:g id="FILE_NAME">%s</xliff:g>\": <xliff:g id="EXACT_REASON">%s</xliff:g>."</string>
<string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> dari <xliff:g id="TOTAL_NUMBER">%s</xliff:g> kenalan"</string>
- <string name="cancel_import_confirmation_title" msgid="5578683596010294836">"Membatalkan impor vCard"</string>
<string name="cancel_import_confirmation_message" msgid="3929951040347726757">"Batalkan impor <xliff:g id="FILENAME">%s</xliff:g>?"</string>
- <string name="cancel_export_confirmation_title" msgid="6516467140276768528">"Membatalkan ekspor vCard"</string>
<string name="cancel_export_confirmation_message" msgid="1995462401949262638">"Batalkan ekspor <xliff:g id="FILENAME">%s</xliff:g>?"</string>
<string name="cancel_vcard_import_or_export_failed" msgid="6139900383366166706">"Tidak dpt membatalkan impor/ekspor vCard"</string>
<string name="search_settings_description" msgid="2675223022992445813">"Nama kenalan Anda"</string>
@@ -441,9 +433,7 @@
<item quantity="other" msgid="425683718017380845">"digabungkan dari <xliff:g id="COUNT">%0$d</xliff:g> sumber"</item>
</plurals>
<string name="local_invisible_directory" msgid="6046691709127661065">"Lainnya"</string>
- <string name="aggregation_suggestion_join_dialog_title" msgid="5276699501316246253">"Gabungkan kenalan"</string>
<string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"Gabungkan kenalan ini dengan kenalan yang dipilih?"</string>
- <string name="aggregation_suggestion_edit_dialog_title" msgid="1064042382692091314">"Edit kenalan yang dipilih"</string>
<string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"Beralih ke mengedit kenalan yang dipilih? Informasi yang telah Anda masukkan sejauh ini akan disalin."</string>
<string name="menu_copyContact" msgid="1573960845106822639">"Salin ke Data Kenalan Saya"</string>
<string name="add_to_my_contacts" msgid="1068274916793627723">"Tambahkan ke Kenalan Saya"</string>
@@ -478,7 +468,6 @@
<string name="contacts_unavailable_import_contacts" msgid="4456440183590517471">"Mengimpor data kenalan dari berkas"</string>
<string name="create_group_dialog_title" msgid="6874527142828424475">"Buat grup baru"</string>
<string name="create_group_item_label" msgid="5218022006186243310">"[Buat grup baru]"</string>
- <string name="delete_group_dialog_title" msgid="7368429698398624427">"Hapus grup"</string>
<plurals name="num_groups_in_account">
<item quantity="one" msgid="2944819210288517794">"1 grup"</item>
<item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> grup"</item>
@@ -497,7 +486,6 @@
<string name="set_default" msgid="4417505153468300351">"Setel sebagai bawaan"</string>
<string name="clear_default" msgid="7193185801596678067">"Hapus bawaan"</string>
<string name="toast_text_copied" msgid="5143776250008541719">"Teks disalin"</string>
- <string name="cancel_confirmation_dialog_title" msgid="3950463632415908534">"Singkirkan perubahan"</string>
<string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"Buang perubahan Anda?"</string>
<string name="call_type_and_date" msgid="1766269584078149149">"<xliff:g id="CALL_TYPE">%1$s</xliff:g> <xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g>"</string>
<string name="profile_display_name" msgid="4127389543625918771">"Siapkan profil saya"</string>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index 32b8522..ab5f9d9 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -41,7 +41,8 @@
<string name="menu_search" msgid="9147752853603483719">"Cerca"</string>
<string name="menu_newContact" msgid="1209922412763274638">"Nuovo contatto"</string>
<string name="menu_viewContact" msgid="2795575601596468581">"Visualizza contatto"</string>
- <string name="menu_callNumber" msgid="5142851348489387516">"Chiama <xliff:g id="NAME">%s</xliff:g>"</string>
+ <!-- no translation found for menu_callNumber (997146291983360266) -->
+ <skip />
<string name="menu_addStar" msgid="2908478235715404876">"Aggiungi a preferiti"</string>
<string name="menu_removeStar" msgid="5844227078364227030">"Rimuovi dai preferiti"</string>
<string name="menu_editContact" msgid="9042415603857662633">"Modifica"</string>
@@ -62,7 +63,6 @@
<string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Contatti suggeriti"</string>
<string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Tutti i contatti"</string>
<string name="contactsJoinedMessage" msgid="7208148163607047389">"Contatti uniti"</string>
- <string name="deleteConfirmation_title" msgid="1418215926447642260">"Eliminare contatto?"</string>
<string name="menu_set_ring_tone" msgid="8728345772068064946">"Imposta suoneria"</string>
<string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Tutte le chiamate a segreteria"</string>
<string name="readOnlyContactWarning" msgid="7808825687289848259">"Non puoi eliminare contatti da account di sola lettura, ma puoi nasconderli nei tuoi elenchi di contatti."</string>
@@ -186,7 +186,6 @@
<string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> min. <xliff:g id="SECONDS">%s</xliff:g> sec."</string>
<string name="favoritesFrequentContacted" msgid="6184232487472425690">"Contattati spesso"</string>
<string name="favoritesFrequentCalled" msgid="6128306889600696124">"Numeri più chiamati"</string>
- <string name="add_contact_dlg_title" msgid="2896685845822146494">"Aggiungi contatto"</string>
<string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Aggiungi \"<xliff:g id="EMAIL">%s</xliff:g>\" ai contatti?"</string>
<string name="description_image_button_one" msgid="1740638037139856139">"uno"</string>
<string name="description_image_button_two" msgid="5882638439003731308">"due"</string>
@@ -209,11 +208,8 @@
<string name="description_minus_button" msgid="387136707700230172">"meno"</string>
<string name="description_plus_button" msgid="515164827856229880">"più"</string>
<string name="description_view_contact_detail" msgid="9133251213656414807">"Visualizza contatto"</string>
- <string name="no_sdcard_title" product="nosdcard" msgid="8543619259870877473">"Archivio non disponibile"</string>
- <string name="no_sdcard_title" product="default" msgid="5911758680339949273">"Nessuna scheda SD"</string>
<string name="no_sdcard_message" product="nosdcard" msgid="5242558018442357189">"Nessun archivio trovato."</string>
<string name="no_sdcard_message" product="default" msgid="3357810406684913482">"Nessuna scheda SD trovata."</string>
- <string name="searching_vcard_title" msgid="4970508055399376813">"Ricerca vCard"</string>
<string name="import_from_sim" msgid="3859272228033941659">"Importa da scheda SIM"</string>
<string name="import_from_sdcard" product="default" msgid="8668347930577565175">"Importa da archivio"</string>
<string name="export_to_sdcard" product="default" msgid="6092815580965201089">"Esporta in archivio"</string>
@@ -223,8 +219,6 @@
<string name="import_all_vcard_string" msgid="5518136113853448474">"Importa tutti i file vCard"</string>
<string name="searching_vcard_message" product="nosdcard" msgid="557077639409584945">"Ricerca di dati vCard nell\'archivio..."</string>
<string name="searching_vcard_message" product="default" msgid="3962269894118092049">"Ricerca dati vCard su scheda SD..."</string>
- <string name="scanning_sdcard_failed_title" product="nosdcard" msgid="4944932641334764942">"Scansione archivio non riuscita"</string>
- <string name="scanning_sdcard_failed_title" product="default" msgid="6664940444476572612">"Scansione scheda SD non riuscita"</string>
<string name="scanning_sdcard_failed_message" product="nosdcard" msgid="7221682312959229201">"Scansione dell\'archivio non riuscita. (Motivo: \"<xliff:g id="FAIL_REASON">%s</xliff:g>\")"</string>
<string name="scanning_sdcard_failed_message" product="default" msgid="189023067829510792">"Scansione della scheda SD non riuscita. (Motivo: \"<xliff:g id="FAIL_REASON">%s</xliff:g>\")"</string>
<string name="fail_reason_io_error" msgid="6748358842976073255">"Errore I/O"</string>
@@ -273,9 +267,7 @@
<string name="composer_not_initialized" msgid="2321648986367005254">"Il compositore di vCard non si è avviato correttamente."</string>
<string name="fail_reason_could_not_open_file" msgid="2067725459821997463">"Apertura di \"<xliff:g id="FILE_NAME">%s</xliff:g>\" non riuscita: <xliff:g id="EXACT_REASON">%s</xliff:g>."</string>
<string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> contatti su <xliff:g id="TOTAL_NUMBER">%s</xliff:g>"</string>
- <string name="cancel_import_confirmation_title" msgid="5578683596010294836">"Annullamento importazione vCard"</string>
<string name="cancel_import_confirmation_message" msgid="3929951040347726757">"Annullare l\'importazione di <xliff:g id="FILENAME">%s</xliff:g>?"</string>
- <string name="cancel_export_confirmation_title" msgid="6516467140276768528">"Annullamento esportazione vCard"</string>
<string name="cancel_export_confirmation_message" msgid="1995462401949262638">"Annullare l\'esportazione di <xliff:g id="FILENAME">%s</xliff:g>?"</string>
<string name="cancel_vcard_import_or_export_failed" msgid="6139900383366166706">"Annullam. import./esport. vCard non riuscito"</string>
<string name="search_settings_description" msgid="2675223022992445813">"I nomi dei tuoi contatti"</string>
@@ -441,9 +433,7 @@
<item quantity="other" msgid="425683718017380845">"uniti da <xliff:g id="COUNT">%0$d</xliff:g> origini"</item>
</plurals>
<string name="local_invisible_directory" msgid="6046691709127661065">"Altro"</string>
- <string name="aggregation_suggestion_join_dialog_title" msgid="5276699501316246253">"Unisci contatti"</string>
<string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"Unire il contatto corrente al contatto selezionato?"</string>
- <string name="aggregation_suggestion_edit_dialog_title" msgid="1064042382692091314">"Modifica i contatti selezionati"</string>
<string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"Passare alla modifica del contatto selezionato? Le informazioni inserite finora verranno copiate."</string>
<string name="menu_copyContact" msgid="1573960845106822639">"Copia nei miei contatti"</string>
<string name="add_to_my_contacts" msgid="1068274916793627723">"Aggiungi ai contatti personali"</string>
@@ -478,7 +468,6 @@
<string name="contacts_unavailable_import_contacts" msgid="4456440183590517471">"Importa contatti da file"</string>
<string name="create_group_dialog_title" msgid="6874527142828424475">"Crea nuovo gruppo"</string>
<string name="create_group_item_label" msgid="5218022006186243310">"[Crea nuovo gruppo]"</string>
- <string name="delete_group_dialog_title" msgid="7368429698398624427">"Elimina gruppo"</string>
<plurals name="num_groups_in_account">
<item quantity="one" msgid="2944819210288517794">"1 gruppo"</item>
<item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> gruppi"</item>
@@ -497,7 +486,6 @@
<string name="set_default" msgid="4417505153468300351">"Imposta come predefinito"</string>
<string name="clear_default" msgid="7193185801596678067">"Cancella impostazione predefinita"</string>
<string name="toast_text_copied" msgid="5143776250008541719">"Testo copiato"</string>
- <string name="cancel_confirmation_dialog_title" msgid="3950463632415908534">"Ignora modifiche"</string>
<string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"Annullare le modifiche?"</string>
<string name="call_type_and_date" msgid="1766269584078149149">"<xliff:g id="CALL_TYPE">%1$s</xliff:g> <xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g> "</string>
<string name="profile_display_name" msgid="4127389543625918771">"Imposta il mio profilo"</string>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index 6403596..85bfd40 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -41,7 +41,8 @@
<string name="menu_search" msgid="9147752853603483719">"חפש"</string>
<string name="menu_newContact" msgid="1209922412763274638">"איש קשר חדש"</string>
<string name="menu_viewContact" msgid="2795575601596468581">"הצג איש קשר"</string>
- <string name="menu_callNumber" msgid="5142851348489387516">"התקשר אל <xliff:g id="NAME">%s</xliff:g>"</string>
+ <!-- no translation found for menu_callNumber (997146291983360266) -->
+ <skip />
<string name="menu_addStar" msgid="2908478235715404876">"הוסף למועדפים"</string>
<string name="menu_removeStar" msgid="5844227078364227030">"הסר מהמועדפים"</string>
<string name="menu_editContact" msgid="9042415603857662633">"ערוך"</string>
@@ -62,7 +63,6 @@
<string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"אנשי קשר מוצעים"</string>
<string name="separatorJoinAggregateAll" msgid="7939932265026181043">"כל אנשי הקשר"</string>
<string name="contactsJoinedMessage" msgid="7208148163607047389">"אנשי קשר צורפו"</string>
- <string name="deleteConfirmation_title" msgid="1418215926447642260">"למחוק את איש הקשר?"</string>
<string name="menu_set_ring_tone" msgid="8728345772068064946">"הגדר רינגטון"</string>
<string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"כל השיחות לתא הקולי"</string>
<string name="readOnlyContactWarning" msgid="7808825687289848259">"לא ניתן למחוק אנשי קשר מחשבונות לקריאה בלבד, אך ניתן להסתיר אותם ברשימות אנשי הקשר."</string>
@@ -186,7 +186,6 @@
<string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> דקות <xliff:g id="SECONDS">%s</xliff:g> שניות"</string>
<string name="favoritesFrequentContacted" msgid="6184232487472425690">"בקשר לעתים קרובות"</string>
<string name="favoritesFrequentCalled" msgid="6128306889600696124">"התקשרות לעתים קרובות"</string>
- <string name="add_contact_dlg_title" msgid="2896685845822146494">"הוסף איש קשר"</string>
<string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"להוסיף את \"<xliff:g id="EMAIL">%s</xliff:g>\" לאנשי הקשר?"</string>
<string name="description_image_button_one" msgid="1740638037139856139">"אחד"</string>
<string name="description_image_button_two" msgid="5882638439003731308">"שתיים"</string>
@@ -209,11 +208,8 @@
<string name="description_minus_button" msgid="387136707700230172">"חיסור"</string>
<string name="description_plus_button" msgid="515164827856229880">"חיבור"</string>
<string name="description_view_contact_detail" msgid="9133251213656414807">"הצג איש קשר"</string>
- <string name="no_sdcard_title" product="nosdcard" msgid="8543619259870877473">"אמצעי אחסון אינו זמין"</string>
- <string name="no_sdcard_title" product="default" msgid="5911758680339949273">"אין כרטיס SD"</string>
<string name="no_sdcard_message" product="nosdcard" msgid="5242558018442357189">"לא נמצאו התקני אחסון."</string>
<string name="no_sdcard_message" product="default" msgid="3357810406684913482">"לא נמצא כרטיס SD."</string>
- <string name="searching_vcard_title" msgid="4970508055399376813">"מחפש vCard"</string>
<string name="import_from_sim" msgid="3859272228033941659">"ייבא מכרטיס SIM"</string>
<string name="import_from_sdcard" product="default" msgid="8668347930577565175">"ייבא מאמצעי אחסון"</string>
<string name="export_to_sdcard" product="default" msgid="6092815580965201089">"ייצא לאמצעי אחסון"</string>
@@ -223,8 +219,6 @@
<string name="import_all_vcard_string" msgid="5518136113853448474">"ייבא את כל קובצי vCard"</string>
<string name="searching_vcard_message" product="nosdcard" msgid="557077639409584945">"מחפש נתוני vCard באמצעי האחסון..."</string>
<string name="searching_vcard_message" product="default" msgid="3962269894118092049">"מחפש נתוני vCard בכרטיס ה-SD..."</string>
- <string name="scanning_sdcard_failed_title" product="nosdcard" msgid="4944932641334764942">"לא ניתן לסרוק אחסון"</string>
- <string name="scanning_sdcard_failed_title" product="default" msgid="6664940444476572612">"לא ניתן לסרוק כרטיס SD"</string>
<string name="scanning_sdcard_failed_message" product="nosdcard" msgid="7221682312959229201">"לא ניתן לסרוק את אמצעי האחסון. (סיבה: \"<xliff:g id="FAIL_REASON">%s</xliff:g>\")"</string>
<string name="scanning_sdcard_failed_message" product="default" msgid="189023067829510792">"לא ניתן לסרוק את כרטיס ה-SD. (סיבה: \"<xliff:g id="FAIL_REASON">%s</xliff:g>\")"</string>
<string name="fail_reason_io_error" msgid="6748358842976073255">"שגיאת קלט/פלט"</string>
@@ -273,9 +267,7 @@
<string name="composer_not_initialized" msgid="2321648986367005254">"יישום היצירה של ה-vCard לא הופעל כהלכה."</string>
<string name="fail_reason_could_not_open_file" msgid="2067725459821997463">"לא ניתן לפתוח את \"<xliff:g id="FILE_NAME">%s</xliff:g>\": <xliff:g id="EXACT_REASON">%s</xliff:g>."</string>
<string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> מתוך <xliff:g id="TOTAL_NUMBER">%s</xliff:g> אנשי קשר"</string>
- <string name="cancel_import_confirmation_title" msgid="5578683596010294836">"מבטל יבוא של vCard"</string>
<string name="cancel_import_confirmation_message" msgid="3929951040347726757">"לבטל את הייבוא של <xliff:g id="FILENAME">%s</xliff:g>?"</string>
- <string name="cancel_export_confirmation_title" msgid="6516467140276768528">"מבטל יצוא של vCard"</string>
<string name="cancel_export_confirmation_message" msgid="1995462401949262638">"לבטל את הייצוא של <xliff:g id="FILENAME">%s</xliff:g>?"</string>
<string name="cancel_vcard_import_or_export_failed" msgid="6139900383366166706">"לא ניתן לבטל ייבוא/ייצוא של vCard"</string>
<string name="search_settings_description" msgid="2675223022992445813">"השמות של אנשי הקשר"</string>
@@ -441,9 +433,7 @@
<item quantity="other" msgid="425683718017380845">"מוזגו מ-<xliff:g id="COUNT">%0$d</xliff:g> מקורות"</item>
</plurals>
<string name="local_invisible_directory" msgid="6046691709127661065">"אחר"</string>
- <string name="aggregation_suggestion_join_dialog_title" msgid="5276699501316246253">"צרף אנשי קשר"</string>
<string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"לצרף את איש הקשר הנוכחי לאיש הקשר שנבחר?"</string>
- <string name="aggregation_suggestion_edit_dialog_title" msgid="1064042382692091314">"ערוך את אנשי הקשר שנבחרו"</string>
<string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"לעבור לעריכה של איש הקשר שנבחר? המידע שהזנת עד עכשיו יועתק."</string>
<string name="menu_copyContact" msgid="1573960845106822639">"העתק אל \'אנשי הקשר שלי\'"</string>
<string name="add_to_my_contacts" msgid="1068274916793627723">"הוסף ל\'אנשי הקשר שלי\'"</string>
@@ -478,7 +468,6 @@
<string name="contacts_unavailable_import_contacts" msgid="4456440183590517471">"ייבא אנשי קשר מקובץ"</string>
<string name="create_group_dialog_title" msgid="6874527142828424475">"צור קבוצה חדשה"</string>
<string name="create_group_item_label" msgid="5218022006186243310">"[צור קבוצה חדשה]"</string>
- <string name="delete_group_dialog_title" msgid="7368429698398624427">"מחק את הקבוצה"</string>
<plurals name="num_groups_in_account">
<item quantity="one" msgid="2944819210288517794">"קבוצה אחת"</item>
<item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> קבוצות"</item>
@@ -497,7 +486,6 @@
<string name="set_default" msgid="4417505153468300351">"קבע כברירת מחדל"</string>
<string name="clear_default" msgid="7193185801596678067">"נקה ברירת מחדל"</string>
<string name="toast_text_copied" msgid="5143776250008541719">"טקסט שהועתק"</string>
- <string name="cancel_confirmation_dialog_title" msgid="3950463632415908534">"מחק שינויים"</string>
<string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"למחוק את השינויים שביצעת?"</string>
<string name="call_type_and_date" msgid="1766269584078149149">"<xliff:g id="CALL_TYPE">%1$s</xliff:g> <xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g>"</string>
<string name="profile_display_name" msgid="4127389543625918771">"הגדר את הפרופיל שלי"</string>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index a96f32c..df72ad1 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -41,7 +41,8 @@
<string name="menu_search" msgid="9147752853603483719">"検索"</string>
<string name="menu_newContact" msgid="1209922412763274638">"連絡先を新規登録"</string>
<string name="menu_viewContact" msgid="2795575601596468581">"連絡先詳細"</string>
- <string name="menu_callNumber" msgid="5142851348489387516">"<xliff:g id="NAME">%s</xliff:g>に発信"</string>
+ <!-- no translation found for menu_callNumber (997146291983360266) -->
+ <skip />
<string name="menu_addStar" msgid="2908478235715404876">"お気に入りに追加"</string>
<string name="menu_removeStar" msgid="5844227078364227030">"お気に入りから削除"</string>
<string name="menu_editContact" msgid="9042415603857662633">"編集"</string>
@@ -62,7 +63,6 @@
<string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"連絡先候補"</string>
<string name="separatorJoinAggregateAll" msgid="7939932265026181043">"すべての連絡先"</string>
<string name="contactsJoinedMessage" msgid="7208148163607047389">"連絡先を結合しました"</string>
- <string name="deleteConfirmation_title" msgid="1418215926447642260">"連絡先を削除しますか?"</string>
<string name="menu_set_ring_tone" msgid="8728345772068064946">"着信音を設定"</string>
<string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"すべての通話をボイスメールへ"</string>
<string name="readOnlyContactWarning" msgid="7808825687289848259">"読み取り専用アカウントの連絡先は削除できません。ただし、連絡先リストで非表示にすることができます。"</string>
@@ -186,7 +186,6 @@
<string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g>分<xliff:g id="SECONDS">%s</xliff:g>秒"</string>
<string name="favoritesFrequentContacted" msgid="6184232487472425690">"よく使う連絡先"</string>
<string name="favoritesFrequentCalled" msgid="6128306889600696124">"よく使う連絡先"</string>
- <string name="add_contact_dlg_title" msgid="2896685845822146494">"連絡先を追加"</string>
<string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"<xliff:g id="EMAIL">%s</xliff:g> を連絡先に追加しますか?"</string>
<string name="description_image_button_one" msgid="1740638037139856139">"1"</string>
<string name="description_image_button_two" msgid="5882638439003731308">"2"</string>
@@ -209,11 +208,8 @@
<string name="description_minus_button" msgid="387136707700230172">"マイナス"</string>
<string name="description_plus_button" msgid="515164827856229880">"プラス"</string>
<string name="description_view_contact_detail" msgid="9133251213656414807">"連絡先を表示"</string>
- <string name="no_sdcard_title" product="nosdcard" msgid="8543619259870877473">"ストレージ使用不可"</string>
- <string name="no_sdcard_title" product="default" msgid="5911758680339949273">"SDカードがありません"</string>
<string name="no_sdcard_message" product="nosdcard" msgid="5242558018442357189">"ストレージはありませんでした。"</string>
<string name="no_sdcard_message" product="default" msgid="3357810406684913482">"SDカードが見つかりませんでした。"</string>
- <string name="searching_vcard_title" msgid="4970508055399376813">"vCardを検索中"</string>
<string name="import_from_sim" msgid="3859272228033941659">"SIMカードからインポート"</string>
<string name="import_from_sdcard" product="default" msgid="8668347930577565175">"ストレージからインポート"</string>
<string name="export_to_sdcard" product="default" msgid="6092815580965201089">"ストレージにエクスポート"</string>
@@ -223,8 +219,6 @@
<string name="import_all_vcard_string" msgid="5518136113853448474">"すべてのvCardファイルをインポート"</string>
<string name="searching_vcard_message" product="nosdcard" msgid="557077639409584945">"ストレージ内でvCardデータを検索しています..."</string>
<string name="searching_vcard_message" product="default" msgid="3962269894118092049">"SDカードでvCardデータを検索しています..."</string>
- <string name="scanning_sdcard_failed_title" product="nosdcard" msgid="4944932641334764942">"ストレージをスキャンできませんでした"</string>
- <string name="scanning_sdcard_failed_title" product="default" msgid="6664940444476572612">"SDカードをスキャンできませんでした"</string>
<string name="scanning_sdcard_failed_message" product="nosdcard" msgid="7221682312959229201">"ストレージをスキャンできませんでした(理由: 「<xliff:g id="FAIL_REASON">%s</xliff:g>」)。"</string>
<string name="scanning_sdcard_failed_message" product="default" msgid="189023067829510792">"SDカードをスキャンできませんでした(理由: 「<xliff:g id="FAIL_REASON">%s</xliff:g>」)。"</string>
<string name="fail_reason_io_error" msgid="6748358842976073255">"送受信エラー"</string>
@@ -273,9 +267,7 @@
<string name="composer_not_initialized" msgid="2321648986367005254">"vCardコンポーザーが正しく起動しませんでした。"</string>
<string name="fail_reason_could_not_open_file" msgid="2067725459821997463">"「<xliff:g id="FILE_NAME">%s</xliff:g>」を開けませんでした: <xliff:g id="EXACT_REASON">%s</xliff:g>。"</string>
<string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g>/<xliff:g id="TOTAL_NUMBER">%s</xliff:g>件のファイル"</string>
- <string name="cancel_import_confirmation_title" msgid="5578683596010294836">"vCardインポートのキャンセル"</string>
<string name="cancel_import_confirmation_message" msgid="3929951040347726757">"<xliff:g id="FILENAME">%s</xliff:g>のインポートをキャンセルしますか?"</string>
- <string name="cancel_export_confirmation_title" msgid="6516467140276768528">"vCardエクスポートのキャンセル"</string>
<string name="cancel_export_confirmation_message" msgid="1995462401949262638">"<xliff:g id="FILENAME">%s</xliff:g>のエクスポートをキャンセルしますか?"</string>
<string name="cancel_vcard_import_or_export_failed" msgid="6139900383366166706">"vCardインポート/エクスポート取り消し不可"</string>
<string name="search_settings_description" msgid="2675223022992445813">"連絡先の名前"</string>
@@ -441,9 +433,7 @@
<item quantity="other" msgid="425683718017380845">"<xliff:g id="COUNT">%0$d</xliff:g>件の連絡先が結合されました"</item>
</plurals>
<string name="local_invisible_directory" msgid="6046691709127661065">"その他"</string>
- <string name="aggregation_suggestion_join_dialog_title" msgid="5276699501316246253">"連絡先の統合"</string>
<string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"現在の連絡先を選択した連絡先に統合しますか?"</string>
- <string name="aggregation_suggestion_edit_dialog_title" msgid="1064042382692091314">"選択した連絡先の編集"</string>
<string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"選択した連絡先の編集に切り替えますか?これまでに入力した情報はコピーされます。"</string>
<string name="menu_copyContact" msgid="1573960845106822639">"Myコンタクトにコピー"</string>
<string name="add_to_my_contacts" msgid="1068274916793627723">"Myコンタクトに追加"</string>
@@ -478,7 +468,6 @@
<string name="contacts_unavailable_import_contacts" msgid="4456440183590517471">"ファイルから連絡先をインポート"</string>
<string name="create_group_dialog_title" msgid="6874527142828424475">"新しいグループの作成"</string>
<string name="create_group_item_label" msgid="5218022006186243310">"[新しいグループを作成]"</string>
- <string name="delete_group_dialog_title" msgid="7368429698398624427">"グループの削除"</string>
<plurals name="num_groups_in_account">
<item quantity="one" msgid="2944819210288517794">"1グループ"</item>
<item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g>グループ"</item>
@@ -497,7 +486,6 @@
<string name="set_default" msgid="4417505153468300351">"デフォルトに設定"</string>
<string name="clear_default" msgid="7193185801596678067">"デフォルトを解除"</string>
<string name="toast_text_copied" msgid="5143776250008541719">"テキストをコピーしました"</string>
- <string name="cancel_confirmation_dialog_title" msgid="3950463632415908534">"変更を破棄"</string>
<string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"変更を破棄しますか?"</string>
<string name="call_type_and_date" msgid="1766269584078149149">"<xliff:g id="CALL_TYPE">%1$s</xliff:g> <xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g>"</string>
<string name="profile_display_name" msgid="4127389543625918771">"プロフィールを設定"</string>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index c0fd67d..668befe 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -17,7 +17,7 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="launcherDialer" msgid="8636288196618486553">"휴대전화"</string>
- <string name="people" msgid="1048457247435785074">"피플"</string>
+ <string name="people" msgid="1048457247435785074">"인물"</string>
<string name="contactsList" msgid="8661624236494819731">"주소록"</string>
<string name="shortcutContact" msgid="749243779392912958">"연락처"</string>
<string name="shortcutDialContact" msgid="746622101599186779">"바로 전화 걸기"</string>
@@ -41,7 +41,8 @@
<string name="menu_search" msgid="9147752853603483719">"검색"</string>
<string name="menu_newContact" msgid="1209922412763274638">"새 연락처"</string>
<string name="menu_viewContact" msgid="2795575601596468581">"연락처 보기"</string>
- <string name="menu_callNumber" msgid="5142851348489387516">"<xliff:g id="NAME">%s</xliff:g>님에게 전화걸기"</string>
+ <!-- no translation found for menu_callNumber (997146291983360266) -->
+ <skip />
<string name="menu_addStar" msgid="2908478235715404876">"즐겨찾기에 추가"</string>
<string name="menu_removeStar" msgid="5844227078364227030">"즐겨찾기에서 삭제"</string>
<string name="menu_editContact" msgid="9042415603857662633">"수정"</string>
@@ -62,7 +63,6 @@
<string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"추천 연락처"</string>
<string name="separatorJoinAggregateAll" msgid="7939932265026181043">"모든 연락처"</string>
<string name="contactsJoinedMessage" msgid="7208148163607047389">"연락처 결합됨"</string>
- <string name="deleteConfirmation_title" msgid="1418215926447642260">"연락처를 삭제하시겠습니까?"</string>
<string name="menu_set_ring_tone" msgid="8728345772068064946">"벨소리 설정"</string>
<string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"음성사서함 자동 연결"</string>
<string name="readOnlyContactWarning" msgid="7808825687289848259">"연락처를 읽기 전용 계정에서 삭제할 수는 없지만 주소록에서 숨길 수는 있습니다."</string>
@@ -186,7 +186,6 @@
<string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g>분 <xliff:g id="SECONDS">%s</xliff:g>초"</string>
<string name="favoritesFrequentContacted" msgid="6184232487472425690">"자주 연락하는 사람들의 연락처"</string>
<string name="favoritesFrequentCalled" msgid="6128306889600696124">"자주 통화한 목록"</string>
- <string name="add_contact_dlg_title" msgid="2896685845822146494">"연락처 추가"</string>
<string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"\'<xliff:g id="EMAIL">%s</xliff:g>\'을(를) 주소록에 추가하겠습니까?"</string>
<string name="description_image_button_one" msgid="1740638037139856139">"1"</string>
<string name="description_image_button_two" msgid="5882638439003731308">"2"</string>
@@ -209,11 +208,8 @@
<string name="description_minus_button" msgid="387136707700230172">"빼기"</string>
<string name="description_plus_button" msgid="515164827856229880">"더하기"</string>
<string name="description_view_contact_detail" msgid="9133251213656414807">"연락처 보기"</string>
- <string name="no_sdcard_title" product="nosdcard" msgid="8543619259870877473">"저장장치 없음"</string>
- <string name="no_sdcard_title" product="default" msgid="5911758680339949273">"SD 카드 없음"</string>
<string name="no_sdcard_message" product="nosdcard" msgid="5242558018442357189">"저장공간을 찾을 수 없습니다."</string>
<string name="no_sdcard_message" product="default" msgid="3357810406684913482">"SD 카드가 없습니다."</string>
- <string name="searching_vcard_title" msgid="4970508055399376813">"vCard 검색"</string>
<string name="import_from_sim" msgid="3859272228033941659">"SIM 카드에서 가져오기"</string>
<string name="import_from_sdcard" product="default" msgid="8668347930577565175">"저장소에서 가져오기"</string>
<string name="export_to_sdcard" product="default" msgid="6092815580965201089">"저장소로 내보내기"</string>
@@ -223,8 +219,6 @@
<string name="import_all_vcard_string" msgid="5518136113853448474">"모든 vCard 파일 가져오기"</string>
<string name="searching_vcard_message" product="nosdcard" msgid="557077639409584945">"저장장치에서 vCard 데이터 검색 중..."</string>
<string name="searching_vcard_message" product="default" msgid="3962269894118092049">"SD 카드의 vCard 데이터 검색 중..."</string>
- <string name="scanning_sdcard_failed_title" product="nosdcard" msgid="4944932641334764942">"저장소를 검색하지 못했습니다."</string>
- <string name="scanning_sdcard_failed_title" product="default" msgid="6664940444476572612">"SD 카드를 검색하지 못했습니다."</string>
<string name="scanning_sdcard_failed_message" product="nosdcard" msgid="7221682312959229201">"저장소를 검색할 수 없습니다(이유: \'<xliff:g id="FAIL_REASON">%s</xliff:g>\')."</string>
<string name="scanning_sdcard_failed_message" product="default" msgid="189023067829510792">"SD 카드를 검색할 수 없습니다(이유: \'<xliff:g id="FAIL_REASON">%s</xliff:g>\')."</string>
<string name="fail_reason_io_error" msgid="6748358842976073255">"I/O 오류"</string>
@@ -273,9 +267,7 @@
<string name="composer_not_initialized" msgid="2321648986367005254">"vCard 작성기가 제대로 시작되지 않았습니다."</string>
<string name="fail_reason_could_not_open_file" msgid="2067725459821997463">"\'<xliff:g id="FILE_NAME">%s</xliff:g>\'을(를) 열 수 없습니다(이유: <xliff:g id="EXACT_REASON">%s</xliff:g>)."</string>
<string name="exporting_contact_list_progress" msgid="560522409559101193">"연락처 <xliff:g id="CURRENT_NUMBER">%s</xliff:g>개(총 <xliff:g id="TOTAL_NUMBER">%s</xliff:g>개) 내보내는 중"</string>
- <string name="cancel_import_confirmation_title" msgid="5578683596010294836">"vCard 가져오기 취소 중"</string>
<string name="cancel_import_confirmation_message" msgid="3929951040347726757">"<xliff:g id="FILENAME">%s</xliff:g> 가져오기를 취소하시겠습니까?"</string>
- <string name="cancel_export_confirmation_title" msgid="6516467140276768528">"vCard 내보내기 취소 중"</string>
<string name="cancel_export_confirmation_message" msgid="1995462401949262638">"<xliff:g id="FILENAME">%s</xliff:g> 내보내기를 취소하시겠습니까?"</string>
<string name="cancel_vcard_import_or_export_failed" msgid="6139900383366166706">"vCard 가져오기/내보내기를 취소하지 못했습니다."</string>
<string name="search_settings_description" msgid="2675223022992445813">"연락처 명단"</string>
@@ -441,9 +433,7 @@
<item quantity="other" msgid="425683718017380845">"<xliff:g id="COUNT">%0$d</xliff:g>개 출처에서 병합했습니다."</item>
</plurals>
<string name="local_invisible_directory" msgid="6046691709127661065">"기타"</string>
- <string name="aggregation_suggestion_join_dialog_title" msgid="5276699501316246253">"연락처 통합"</string>
<string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"이 연락처와 선택한 연락처를 통합하시겠습니까?"</string>
- <string name="aggregation_suggestion_edit_dialog_title" msgid="1064042382692091314">"선택한 연락처 수정"</string>
<string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"선택한 연락처를 수정하시겠습니까? 지금까지 입력하신 정보는 복사됩니다."</string>
<string name="menu_copyContact" msgid="1573960845106822639">"내 주소록에 복사"</string>
<string name="add_to_my_contacts" msgid="1068274916793627723">"내 주소록에 추가"</string>
@@ -478,7 +468,6 @@
<string name="contacts_unavailable_import_contacts" msgid="4456440183590517471">"파일에서 주소록 가져오기"</string>
<string name="create_group_dialog_title" msgid="6874527142828424475">"새 그룹 만들기"</string>
<string name="create_group_item_label" msgid="5218022006186243310">"[새 그룹 만들기]"</string>
- <string name="delete_group_dialog_title" msgid="7368429698398624427">"그룹 삭제"</string>
<plurals name="num_groups_in_account">
<item quantity="one" msgid="2944819210288517794">"그룹 1개"</item>
<item quantity="other" msgid="1276758425904917367">"그룹 <xliff:g id="COUNT">%0$d</xliff:g>개"</item>
@@ -497,7 +486,6 @@
<string name="set_default" msgid="4417505153468300351">"기본으로 설정"</string>
<string name="clear_default" msgid="7193185801596678067">"기본 설정 지우기"</string>
<string name="toast_text_copied" msgid="5143776250008541719">"텍스트 복사됨"</string>
- <string name="cancel_confirmation_dialog_title" msgid="3950463632415908534">"변경사항 취소"</string>
<string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"변경사항을 삭제하시겠습니까?"</string>
<string name="call_type_and_date" msgid="1766269584078149149">"<xliff:g id="CALL_TYPE">%1$s</xliff:g> <xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g> "</string>
<string name="profile_display_name" msgid="4127389543625918771">"내 프로필 설정"</string>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index 0145168..5e04f69 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -41,7 +41,8 @@
<string name="menu_search" msgid="9147752853603483719">"Ieškoti"</string>
<string name="menu_newContact" msgid="1209922412763274638">"Naujas adresatas"</string>
<string name="menu_viewContact" msgid="2795575601596468581">"Žiūrėti adresatą"</string>
- <string name="menu_callNumber" msgid="5142851348489387516">"Skambinti <xliff:g id="NAME">%s</xliff:g>"</string>
+ <!-- no translation found for menu_callNumber (997146291983360266) -->
+ <skip />
<string name="menu_addStar" msgid="2908478235715404876">"Pridėti prie adresyno"</string>
<string name="menu_removeStar" msgid="5844227078364227030">"Pašalinti iš adresyno"</string>
<string name="menu_editContact" msgid="9042415603857662633">"Redaguoti"</string>
@@ -62,7 +63,6 @@
<string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Siūlomi adresatai"</string>
<string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Visi adresatai"</string>
<string name="contactsJoinedMessage" msgid="7208148163607047389">"Sujungti adresatai"</string>
- <string name="deleteConfirmation_title" msgid="1418215926447642260">"Ištrinti kontaktą?"</string>
<string name="menu_set_ring_tone" msgid="8728345772068064946">"Nustat. sk. toną"</string>
<string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Visi skamb. į balso paštą"</string>
<string name="readOnlyContactWarning" msgid="7808825687289848259">"Negalite ištrinti kontaktų iš tik skaitomų paskyrų, bet galite paslėpti juos savo kontaktų sąrašuose."</string>
@@ -186,7 +186,6 @@
<string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> min. <xliff:g id="SECONDS">%s</xliff:g> sek."</string>
<string name="favoritesFrequentContacted" msgid="6184232487472425690">"Dažnai susisiekiama"</string>
<string name="favoritesFrequentCalled" msgid="6128306889600696124">"Dažniausiai skambinta"</string>
- <string name="add_contact_dlg_title" msgid="2896685845822146494">"Pridėti adresatą"</string>
<string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Pridėti „<xliff:g id="EMAIL">%s</xliff:g>“ prie adresatų?"</string>
<string name="description_image_button_one" msgid="1740638037139856139">"vienas"</string>
<string name="description_image_button_two" msgid="5882638439003731308">"du"</string>
@@ -209,11 +208,8 @@
<string name="description_minus_button" msgid="387136707700230172">"minus"</string>
<string name="description_plus_button" msgid="515164827856229880">"plius"</string>
<string name="description_view_contact_detail" msgid="9133251213656414807">"Peržiūrėti kontaktą"</string>
- <string name="no_sdcard_title" product="nosdcard" msgid="8543619259870877473">"Saugykla neprieinama"</string>
- <string name="no_sdcard_title" product="default" msgid="5911758680339949273">"Nėra SD kortelės"</string>
<string name="no_sdcard_message" product="nosdcard" msgid="5242558018442357189">"Nerasta jokių atmintinių."</string>
<string name="no_sdcard_message" product="default" msgid="3357810406684913482">"Nerasta jokių SD kortelių."</string>
- <string name="searching_vcard_title" msgid="4970508055399376813">"Ieškoma „vCard“ kortelės"</string>
<string name="import_from_sim" msgid="3859272228033941659">"Importuoti iš SIM kortelės"</string>
<string name="import_from_sdcard" product="default" msgid="8668347930577565175">"Importuoti iš saugyklos"</string>
<string name="export_to_sdcard" product="default" msgid="6092815580965201089">"Eksportuoti į saugyklą"</string>
@@ -223,8 +219,6 @@
<string name="import_all_vcard_string" msgid="5518136113853448474">"Importuoti visus „VCard“ kortelės failus"</string>
<string name="searching_vcard_message" product="nosdcard" msgid="557077639409584945">"Ieškoma el. vizitinės kortelės duomenų saugykloje..."</string>
<string name="searching_vcard_message" product="default" msgid="3962269894118092049">"SD kortelėje ieškoma el. vizitinės kortelės duomenų..."</string>
- <string name="scanning_sdcard_failed_title" product="nosdcard" msgid="4944932641334764942">"Nepavyko nuskaityti atminties"</string>
- <string name="scanning_sdcard_failed_title" product="default" msgid="6664940444476572612">"Nepavyko nuskaityti SD kortelės"</string>
<string name="scanning_sdcard_failed_message" product="nosdcard" msgid="7221682312959229201">"Atmintinės negalima žvalgyti. (Priežastis: „<xliff:g id="FAIL_REASON">%s</xliff:g>“)"</string>
<string name="scanning_sdcard_failed_message" product="default" msgid="189023067829510792">"SD kortelės negalima žvalgyti. (Priežastis: „<xliff:g id="FAIL_REASON">%s</xliff:g>“)"</string>
<string name="fail_reason_io_error" msgid="6748358842976073255">"Įvesties / išvesties klaida"</string>
@@ -273,9 +267,7 @@
<string name="composer_not_initialized" msgid="2321648986367005254">"El. vizitinių kortelių rengyklė nebuvo tinkamai paleista."</string>
<string name="fail_reason_could_not_open_file" msgid="2067725459821997463">"Nepavyko atidaryti „<xliff:g id="FILE_NAME">%s</xliff:g>“: <xliff:g id="EXACT_REASON">%s</xliff:g>."</string>
<string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> iš <xliff:g id="TOTAL_NUMBER">%s</xliff:g> adresatų"</string>
- <string name="cancel_import_confirmation_title" msgid="5578683596010294836">"Atšaukiamas el. vizitinės kortelės importavimas"</string>
<string name="cancel_import_confirmation_message" msgid="3929951040347726757">"Atšaukti <xliff:g id="FILENAME">%s</xliff:g> importavimą?"</string>
- <string name="cancel_export_confirmation_title" msgid="6516467140276768528">"Atšaukiamas el. vizitinės kortelės eksportavimas"</string>
<string name="cancel_export_confirmation_message" msgid="1995462401949262638">"Atšaukti <xliff:g id="FILENAME">%s</xliff:g> eksportavimą?"</string>
<string name="cancel_vcard_import_or_export_failed" msgid="6139900383366166706">"Nepavyko atš. „vCard“ imp. / eksp."</string>
<string name="search_settings_description" msgid="2675223022992445813">"Adresatų vardai"</string>
@@ -441,9 +433,7 @@
<item quantity="other" msgid="425683718017380845">"sujungta iš <xliff:g id="COUNT">%0$d</xliff:g> šaltinių (-io)"</item>
</plurals>
<string name="local_invisible_directory" msgid="6046691709127661065">"Kita"</string>
- <string name="aggregation_suggestion_join_dialog_title" msgid="5276699501316246253">"Sujungti kontaktus"</string>
<string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"Sujungti dabartinį kontaktą su pasirinktu?"</string>
- <string name="aggregation_suggestion_edit_dialog_title" msgid="1064042382692091314">"Redaguoti pasirinktus kontaktus"</string>
<string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"Perjungti į pasirinkto kontakto redagavimą? Iki šiol įvesta informacija bus nukopijuota."</string>
<string name="menu_copyContact" msgid="1573960845106822639">"Kopijuoti į „Mano kontaktus“"</string>
<string name="add_to_my_contacts" msgid="1068274916793627723">"Pridėti prie „Mano kontaktų“"</string>
@@ -478,7 +468,6 @@
<string name="contacts_unavailable_import_contacts" msgid="4456440183590517471">"Importuoti kontaktus iš failo"</string>
<string name="create_group_dialog_title" msgid="6874527142828424475">"Sukurti naują grupę"</string>
<string name="create_group_item_label" msgid="5218022006186243310">"[Sukurti naują grupę]"</string>
- <string name="delete_group_dialog_title" msgid="7368429698398624427">"Ištrinti grupę"</string>
<plurals name="num_groups_in_account">
<item quantity="one" msgid="2944819210288517794">"1 grupė"</item>
<item quantity="other" msgid="1276758425904917367">"Grupių: <xliff:g id="COUNT">%0$d</xliff:g>"</item>
@@ -497,7 +486,6 @@
<string name="set_default" msgid="4417505153468300351">"Nustatyti numatytuosius nustatymus"</string>
<string name="clear_default" msgid="7193185801596678067">"Išvalyti numatytuosius nustatymus"</string>
<string name="toast_text_copied" msgid="5143776250008541719">"Tekstas nukopijuotas"</string>
- <string name="cancel_confirmation_dialog_title" msgid="3950463632415908534">"Atmesti pakeitimus"</string>
<string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"Atmesti pakeitimus?"</string>
<string name="call_type_and_date" msgid="1766269584078149149">"<xliff:g id="CALL_TYPE">%1$s</xliff:g> <xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g>"</string>
<string name="profile_display_name" msgid="4127389543625918771">"Nustatyti mano profilį"</string>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index 514fdd0..a265756 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -41,7 +41,8 @@
<string name="menu_search" msgid="9147752853603483719">"Meklēt"</string>
<string name="menu_newContact" msgid="1209922412763274638">"Jauna kontaktpersona"</string>
<string name="menu_viewContact" msgid="2795575601596468581">"Skatīt kontaktpersonu"</string>
- <string name="menu_callNumber" msgid="5142851348489387516">"Zvanīt: <xliff:g id="NAME">%s</xliff:g>"</string>
+ <!-- no translation found for menu_callNumber (997146291983360266) -->
+ <skip />
<string name="menu_addStar" msgid="2908478235715404876">"Pievienot izlasei"</string>
<string name="menu_removeStar" msgid="5844227078364227030">"Noņemt no izlases"</string>
<string name="menu_editContact" msgid="9042415603857662633">"Rediģēt"</string>
@@ -62,7 +63,6 @@
<string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Ieteiktās kontaktpersonas"</string>
<string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Visas kontaktpersonas"</string>
<string name="contactsJoinedMessage" msgid="7208148163607047389">"Kontaktpersonas ir apvienotas."</string>
- <string name="deleteConfirmation_title" msgid="1418215926447642260">"Vai dzēst kontaktp.?"</string>
<string name="menu_set_ring_tone" msgid="8728345772068064946">"Iest. zv. sign."</string>
<string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Visi zvani uz balss pastu"</string>
<string name="readOnlyContactWarning" msgid="7808825687289848259">"Jūs nevarat dzēst kontaktpersonas no tikai lasāmiem kontiem, taču varat tās slēpt kontaktpersonu sarakstos."</string>
@@ -186,7 +186,6 @@
<string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> min <xliff:g id="SECONDS">%s</xliff:g> s"</string>
<string name="favoritesFrequentContacted" msgid="6184232487472425690">"Bieža saziņa"</string>
<string name="favoritesFrequentCalled" msgid="6128306889600696124">"Bieži zvanīti"</string>
- <string name="add_contact_dlg_title" msgid="2896685845822146494">"Pievienot kontaktpersonu"</string>
<string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Vai pievienot “<xliff:g id="EMAIL">%s</xliff:g>” kontaktpersonām?"</string>
<string name="description_image_button_one" msgid="1740638037139856139">"viens"</string>
<string name="description_image_button_two" msgid="5882638439003731308">"divi"</string>
@@ -209,11 +208,8 @@
<string name="description_minus_button" msgid="387136707700230172">"mīnuss"</string>
<string name="description_plus_button" msgid="515164827856229880">"pluss"</string>
<string name="description_view_contact_detail" msgid="9133251213656414807">"Skatīt kontaktpersonu"</string>
- <string name="no_sdcard_title" product="nosdcard" msgid="8543619259870877473">"USB atmiņa nav pieejama"</string>
- <string name="no_sdcard_title" product="default" msgid="5911758680339949273">"Nav SD kartes"</string>
<string name="no_sdcard_message" product="nosdcard" msgid="5242558018442357189">"Netika atrasta atmiņa."</string>
<string name="no_sdcard_message" product="default" msgid="3357810406684913482">"Netika atrasta SD karte."</string>
- <string name="searching_vcard_title" msgid="4970508055399376813">"vCard faila meklēšana"</string>
<string name="import_from_sim" msgid="3859272228033941659">"Importēt no SIM kartes"</string>
<string name="import_from_sdcard" product="default" msgid="8668347930577565175">"Importēt no USB atmiņas"</string>
<string name="export_to_sdcard" product="default" msgid="6092815580965201089">"Eksportēt uz USB atmiņu"</string>
@@ -223,8 +219,6 @@
<string name="import_all_vcard_string" msgid="5518136113853448474">"Importēt visus vCard failus"</string>
<string name="searching_vcard_message" product="nosdcard" msgid="557077639409584945">"Notiek vCard datu meklēšana atmiņā..."</string>
<string name="searching_vcard_message" product="default" msgid="3962269894118092049">"Notiek vCard datu meklēšana SD kartē..."</string>
- <string name="scanning_sdcard_failed_title" product="nosdcard" msgid="4944932641334764942">"Nevarēja skenēt atmiņu."</string>
- <string name="scanning_sdcard_failed_title" product="default" msgid="6664940444476572612">"Nevarēja skenēt SD karti."</string>
<string name="scanning_sdcard_failed_message" product="nosdcard" msgid="7221682312959229201">"Atmiņu nevarēja skenēt. (Iemesls: <xliff:g id="FAIL_REASON">%s</xliff:g>)"</string>
<string name="scanning_sdcard_failed_message" product="default" msgid="189023067829510792">"SD karti nevarēja skenēt. (Iemesls: <xliff:g id="FAIL_REASON">%s</xliff:g>)"</string>
<string name="fail_reason_io_error" msgid="6748358842976073255">"Ievades/izvades kļūda."</string>
@@ -273,9 +267,7 @@
<string name="composer_not_initialized" msgid="2321648986367005254">"Netika pareizi startēts vCard veidotājs."</string>
<string name="fail_reason_could_not_open_file" msgid="2067725459821997463">"Nevarēja atvērt failu <xliff:g id="FILE_NAME">%s</xliff:g>: <xliff:g id="EXACT_REASON">%s</xliff:g>."</string>
<string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> no <xliff:g id="TOTAL_NUMBER">%s</xliff:g> kontaktpersonas(-ām)"</string>
- <string name="cancel_import_confirmation_title" msgid="5578683596010294836">"vCard importēšanas atcelšana"</string>
<string name="cancel_import_confirmation_message" msgid="3929951040347726757">"Vai atcelt faila <xliff:g id="FILENAME">%s</xliff:g> importēšanu?"</string>
- <string name="cancel_export_confirmation_title" msgid="6516467140276768528">"vCard eksportēšanas atcelšana"</string>
<string name="cancel_export_confirmation_message" msgid="1995462401949262638">"Vai atcelt faila <xliff:g id="FILENAME">%s</xliff:g> eksportēšanu?"</string>
<string name="cancel_vcard_import_or_export_failed" msgid="6139900383366166706">"Nevarēja atcelt vCard f. import./eksp."</string>
<string name="search_settings_description" msgid="2675223022992445813">"Kontaktpersonu vārdi"</string>
@@ -441,9 +433,7 @@
<item quantity="other" msgid="425683718017380845">"sapludināts no <xliff:g id="COUNT">%0$d</xliff:g> avotiem"</item>
</plurals>
<string name="local_invisible_directory" msgid="6046691709127661065">"Cits"</string>
- <string name="aggregation_suggestion_join_dialog_title" msgid="5276699501316246253">"Kontaktpersonu savienošana"</string>
<string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"Vai savienot pašreizējo saturu ar atlasīto kontaktpersonu?"</string>
- <string name="aggregation_suggestion_edit_dialog_title" msgid="1064042382692091314">"Atlasīto kontaktpersonu rediģēšana"</string>
<string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"Vai pāriet uz atlasītās kontaktpersonas rediģēšanu? Līdz šim ievadītā informācija tiks kopēta."</string>
<string name="menu_copyContact" msgid="1573960845106822639">"Kopēt uz manām kontaktpersonām"</string>
<string name="add_to_my_contacts" msgid="1068274916793627723">"Pievienot mapē Manas kontaktpersonas"</string>
@@ -478,7 +468,6 @@
<string name="contacts_unavailable_import_contacts" msgid="4456440183590517471">"Importēt kontaktpersonas no faila"</string>
<string name="create_group_dialog_title" msgid="6874527142828424475">"Jaunas grupas izveide"</string>
<string name="create_group_item_label" msgid="5218022006186243310">"[Izveidot jaunu grupu]"</string>
- <string name="delete_group_dialog_title" msgid="7368429698398624427">"Grupas dzēšana"</string>
<plurals name="num_groups_in_account">
<item quantity="one" msgid="2944819210288517794">"1 grupa"</item>
<item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> grupas"</item>
@@ -497,7 +486,6 @@
<string name="set_default" msgid="4417505153468300351">"Iestatīt kā noklusējumu"</string>
<string name="clear_default" msgid="7193185801596678067">"Notīrīt noklusējuma iestatījumus"</string>
<string name="toast_text_copied" msgid="5143776250008541719">"Teksts ir nokopēts"</string>
- <string name="cancel_confirmation_dialog_title" msgid="3950463632415908534">"Atmest izmaiņas"</string>
<string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"Vai atmest veiktās izmaiņas?"</string>
<string name="call_type_and_date" msgid="1766269584078149149">"<xliff:g id="CALL_TYPE">%1$s</xliff:g><xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g>"</string>
<string name="profile_display_name" msgid="4127389543625918771">"Iestatīt savu profilu"</string>
diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml
index 2a6190f..15c08d6 100644
--- a/res/values-ms/strings.xml
+++ b/res/values-ms/strings.xml
@@ -41,7 +41,8 @@
<string name="menu_search" msgid="9147752853603483719">"Cari"</string>
<string name="menu_newContact" msgid="1209922412763274638">"Kenalan baru"</string>
<string name="menu_viewContact" msgid="2795575601596468581">"Papar kenalan"</string>
- <string name="menu_callNumber" msgid="5142851348489387516">"Panggil <xliff:g id="NAME">%s</xliff:g>"</string>
+ <!-- no translation found for menu_callNumber (997146291983360266) -->
+ <skip />
<string name="menu_addStar" msgid="2908478235715404876">"Tambah ke kegemaran"</string>
<string name="menu_removeStar" msgid="5844227078364227030">"Alih keluar daripada kegemaran"</string>
<string name="menu_editContact" msgid="9042415603857662633">"Edit"</string>
@@ -62,7 +63,6 @@
<string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Kenalan cadangan"</string>
<string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Semua kenalan"</string>
<string name="contactsJoinedMessage" msgid="7208148163607047389">"Kenalan digabungkan"</string>
- <string name="deleteConfirmation_title" msgid="1418215926447642260">"Padamkan kenalan?"</string>
<string name="menu_set_ring_tone" msgid="8728345772068064946">"Ttpkn nd dering"</string>
<string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Semua panggilan ke mel suara"</string>
<string name="readOnlyContactWarning" msgid="7808825687289848259">"Anda tidak boleh memadamkan kenalan daripada akaun baca sahaja, tetapi anda boleh menyembunyikan mereka dalam senarai kenalan anda."</string>
@@ -186,7 +186,6 @@
<string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> min <xliff:g id="SECONDS">%s</xliff:g> saat"</string>
<string name="favoritesFrequentContacted" msgid="6184232487472425690">"Kerap dihubungi"</string>
<string name="favoritesFrequentCalled" msgid="6128306889600696124">"Kerap dipanggil"</string>
- <string name="add_contact_dlg_title" msgid="2896685845822146494">"Tambah kenalan"</string>
<string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Tambah \"<xliff:g id="EMAIL">%s</xliff:g>\" kepada kenalan?"</string>
<string name="description_image_button_one" msgid="1740638037139856139">"satu"</string>
<string name="description_image_button_two" msgid="5882638439003731308">"dua"</string>
@@ -209,11 +208,8 @@
<string name="description_minus_button" msgid="387136707700230172">"tolak"</string>
<string name="description_plus_button" msgid="515164827856229880">"tambah"</string>
<string name="description_view_contact_detail" msgid="9133251213656414807">"Lihat kenalan"</string>
- <string name="no_sdcard_title" product="nosdcard" msgid="8543619259870877473">"Storan tidak tersedia"</string>
- <string name="no_sdcard_title" product="default" msgid="5911758680339949273">"Tiada kad SD"</string>
<string name="no_sdcard_message" product="nosdcard" msgid="5242558018442357189">"Tiada storan ditemui."</string>
<string name="no_sdcard_message" product="default" msgid="3357810406684913482">"Tiada kad SD ditemui."</string>
- <string name="searching_vcard_title" msgid="4970508055399376813">"Mencari vCard"</string>
<string name="import_from_sim" msgid="3859272228033941659">"Import daripada kad SIM"</string>
<string name="import_from_sdcard" product="default" msgid="8668347930577565175">"Import dari storan"</string>
<string name="export_to_sdcard" product="default" msgid="6092815580965201089">"Eksport ke storan"</string>
@@ -223,8 +219,6 @@
<string name="import_all_vcard_string" msgid="5518136113853448474">"Import semua fail vCard"</string>
<string name="searching_vcard_message" product="nosdcard" msgid="557077639409584945">"Mencari data vCard pada storan..."</string>
<string name="searching_vcard_message" product="default" msgid="3962269894118092049">"Mencari data vCard pada kad SD..."</string>
- <string name="scanning_sdcard_failed_title" product="nosdcard" msgid="4944932641334764942">"Tidak dapat mengimbas storan"</string>
- <string name="scanning_sdcard_failed_title" product="default" msgid="6664940444476572612">"Tidak dapat mengimbas kad SD"</string>
<string name="scanning_sdcard_failed_message" product="nosdcard" msgid="7221682312959229201">"Storan tidak boleh diimbas. (Alasan: \" <xliff:g id="FAIL_REASON">%s</xliff:g> \")"</string>
<string name="scanning_sdcard_failed_message" product="default" msgid="189023067829510792">"Kad SD tidak boleh diimbas. (Alasan: \"<xliff:g id="FAIL_REASON">%s</xliff:g>\")"</string>
<string name="fail_reason_io_error" msgid="6748358842976073255">"Ralat I/O"</string>
@@ -275,9 +269,7 @@
<string name="composer_not_initialized" msgid="2321648986367005254">"Komposer vCard tidak bermula dengan betul."</string>
<string name="fail_reason_could_not_open_file" msgid="2067725459821997463">"Tidak dapat membuka \"<xliff:g id="FILE_NAME">%s</xliff:g>\": <xliff:g id="EXACT_REASON">%s</xliff:g>"</string>
<string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> daripada <xliff:g id="TOTAL_NUMBER">%s</xliff:g> kenalan"</string>
- <string name="cancel_import_confirmation_title" msgid="5578683596010294836">"Membatalkan mengimport vCard"</string>
<string name="cancel_import_confirmation_message" msgid="3929951040347726757">"Batalkan pengimportan <xliff:g id="FILENAME">%s</xliff:g>?"</string>
- <string name="cancel_export_confirmation_title" msgid="6516467140276768528">"Membatalkan mengeksport vCard"</string>
<string name="cancel_export_confirmation_message" msgid="1995462401949262638">"Batalkan pengeksportan <xliff:g id="FILENAME">%s</xliff:g>?"</string>
<string name="cancel_vcard_import_or_export_failed" msgid="6139900383366166706">"Tidak dapat membatalkan import/eksport vCard"</string>
<string name="search_settings_description" msgid="2675223022992445813">"Nama kenalan anda"</string>
@@ -443,9 +435,7 @@
<item quantity="other" msgid="425683718017380845">"digabungkan daripada <xliff:g id="COUNT">%0$d</xliff:g> sumber"</item>
</plurals>
<string name="local_invisible_directory" msgid="6046691709127661065">"Lain-lain"</string>
- <string name="aggregation_suggestion_join_dialog_title" msgid="5276699501316246253">"Gabungkan kenalan"</string>
<string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"Gabungkan kenalan semasa dengan kenalan pilihan?"</string>
- <string name="aggregation_suggestion_edit_dialog_title" msgid="1064042382692091314">"Edit kenalan pilihan"</string>
<string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"Bertukar kepada mengedit kenalan pilihan? Maklumat yang anda masukkan setakat ini akan disalin."</string>
<string name="menu_copyContact" msgid="1573960845106822639">"Salin ke Kenalan Saya"</string>
<string name="add_to_my_contacts" msgid="1068274916793627723">"Tambahkan pada Kenalan Saya"</string>
@@ -480,7 +470,6 @@
<string name="contacts_unavailable_import_contacts" msgid="4456440183590517471">"Import kenalan dari fail"</string>
<string name="create_group_dialog_title" msgid="6874527142828424475">"Buat kumpulan baru"</string>
<string name="create_group_item_label" msgid="5218022006186243310">"[Buat kumpulan baru]"</string>
- <string name="delete_group_dialog_title" msgid="7368429698398624427">"Padam kumpulan"</string>
<plurals name="num_groups_in_account">
<item quantity="one" msgid="2944819210288517794">"1 kumpulan"</item>
<item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> kumpulan"</item>
@@ -499,7 +488,6 @@
<string name="set_default" msgid="4417505153468300351">"Tetapkan lalai"</string>
<string name="clear_default" msgid="7193185801596678067">"Kosongkan lalai"</string>
<string name="toast_text_copied" msgid="5143776250008541719">"Teks disalin"</string>
- <string name="cancel_confirmation_dialog_title" msgid="3950463632415908534">"Buang perubahan"</string>
<string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"Buang perubahan anda?"</string>
<string name="call_type_and_date" msgid="1766269584078149149">"<xliff:g id="CALL_TYPE">%1$s</xliff:g> <xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g>"</string>
<string name="profile_display_name" msgid="4127389543625918771">"Sediakan profil saya"</string>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index 37e4946..f31cf87 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -41,7 +41,8 @@
<string name="menu_search" msgid="9147752853603483719">"Søk"</string>
<string name="menu_newContact" msgid="1209922412763274638">"Ny kontakt"</string>
<string name="menu_viewContact" msgid="2795575601596468581">"Se på kontakt"</string>
- <string name="menu_callNumber" msgid="5142851348489387516">"Ring <xliff:g id="NAME">%s</xliff:g>"</string>
+ <!-- no translation found for menu_callNumber (997146291983360266) -->
+ <skip />
<string name="menu_addStar" msgid="2908478235715404876">"Legg til som favoritt"</string>
<string name="menu_removeStar" msgid="5844227078364227030">"Fjern fra favoritter"</string>
<string name="menu_editContact" msgid="9042415603857662633">"Rediger"</string>
@@ -62,7 +63,6 @@
<string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Forslag"</string>
<string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Alle kontakter"</string>
<string name="contactsJoinedMessage" msgid="7208148163607047389">"Kontaktene er forent"</string>
- <string name="deleteConfirmation_title" msgid="1418215926447642260">"Slette kontakten?"</string>
<string name="menu_set_ring_tone" msgid="8728345772068064946">"Angi ringetone"</string>
<string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Alle samtaler til talepost"</string>
<string name="readOnlyContactWarning" msgid="7808825687289848259">"Du kan ikke slette kontakter fra skrivebeskyttede kontoer, men du kan skjule dem i kontaktlisten."</string>
@@ -186,7 +186,6 @@
<string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> min <xliff:g id="SECONDS">%s</xliff:g> sek"</string>
<string name="favoritesFrequentContacted" msgid="6184232487472425690">"Ofte kontaktet"</string>
<string name="favoritesFrequentCalled" msgid="6128306889600696124">"Ofte oppringt"</string>
- <string name="add_contact_dlg_title" msgid="2896685845822146494">"Legg til kontakt"</string>
<string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Legg til «<xliff:g id="EMAIL">%s</xliff:g>» som kontakt?"</string>
<string name="description_image_button_one" msgid="1740638037139856139">"en"</string>
<string name="description_image_button_two" msgid="5882638439003731308">"to"</string>
@@ -209,11 +208,8 @@
<string name="description_minus_button" msgid="387136707700230172">"minusknapp"</string>
<string name="description_plus_button" msgid="515164827856229880">"plussknapp"</string>
<string name="description_view_contact_detail" msgid="9133251213656414807">"Se kontakt"</string>
- <string name="no_sdcard_title" product="nosdcard" msgid="8543619259870877473">"Lagring utilgjengelig"</string>
- <string name="no_sdcard_title" product="default" msgid="5911758680339949273">"Mangler minnekort"</string>
<string name="no_sdcard_message" product="nosdcard" msgid="5242558018442357189">"Finner ikke lagringsplass."</string>
<string name="no_sdcard_message" product="default" msgid="3357810406684913482">"Finner ikke SD-kort."</string>
- <string name="searching_vcard_title" msgid="4970508055399376813">"Leter etter VCard"</string>
<string name="import_from_sim" msgid="3859272228033941659">"Importér fra SIM-kort"</string>
<string name="import_from_sdcard" product="default" msgid="8668347930577565175">"Importér fra lagring"</string>
<string name="export_to_sdcard" product="default" msgid="6092815580965201089">"Eksportér til lagring"</string>
@@ -223,8 +219,6 @@
<string name="import_all_vcard_string" msgid="5518136113853448474">"Importer alle vCard-filer"</string>
<string name="searching_vcard_message" product="nosdcard" msgid="557077639409584945">"Søker etter vCard-data i lagringsenheten …"</string>
<string name="searching_vcard_message" product="default" msgid="3962269894118092049">"Søker etter vCard-data på SD-kortet …"</string>
- <string name="scanning_sdcard_failed_title" product="nosdcard" msgid="4944932641334764942">"Kunne ikke skanne lagring"</string>
- <string name="scanning_sdcard_failed_title" product="default" msgid="6664940444476572612">"Kunne ikke skanne SD-kort"</string>
<string name="scanning_sdcard_failed_message" product="nosdcard" msgid="7221682312959229201">"Lagringsenheten kunne ikke skannes. (Grunn: <xliff:g id="FAIL_REASON">%s</xliff:g>)"</string>
<string name="scanning_sdcard_failed_message" product="default" msgid="189023067829510792">"SD-kortet kan ikke skannes. (Grunn: <xliff:g id="FAIL_REASON">%s</xliff:g>)"</string>
<string name="fail_reason_io_error" msgid="6748358842976073255">"Inn-/ut-feil"</string>
@@ -273,9 +267,7 @@
<string name="composer_not_initialized" msgid="2321648986367005254">"vCard-oppretteren startet ikke som den skulle."</string>
<string name="fail_reason_could_not_open_file" msgid="2067725459821997463">"Kan ikke åpne «<xliff:g id="FILE_NAME">%s</xliff:g>»: <xliff:g id="EXACT_REASON">%s</xliff:g>"</string>
<string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> av <xliff:g id="TOTAL_NUMBER">%s</xliff:g> kontakter"</string>
- <string name="cancel_import_confirmation_title" msgid="5578683596010294836">"Avbryt import av vCard"</string>
<string name="cancel_import_confirmation_message" msgid="3929951040347726757">"Vil du avbryte importen av <xliff:g id="FILENAME">%s</xliff:g>?"</string>
- <string name="cancel_export_confirmation_title" msgid="6516467140276768528">"Avbryt eksport av vCard"</string>
<string name="cancel_export_confirmation_message" msgid="1995462401949262638">"Vil du avbryte eksporten av <xliff:g id="FILENAME">%s</xliff:g>?"</string>
<string name="cancel_vcard_import_or_export_failed" msgid="6139900383366166706">"Kunne ikke kansellere imp./eksp. av vCard"</string>
<string name="search_settings_description" msgid="2675223022992445813">"Navn på kontakter"</string>
@@ -441,9 +433,7 @@
<item quantity="other" msgid="425683718017380845">"sammenslått fra <xliff:g id="COUNT">%0$d</xliff:g> kilder"</item>
</plurals>
<string name="local_invisible_directory" msgid="6046691709127661065">"Andre"</string>
- <string name="aggregation_suggestion_join_dialog_title" msgid="5276699501316246253">"Slå sammen kontakter"</string>
<string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"Slå sammen gjeldende kontakt med valgt kontakt?"</string>
- <string name="aggregation_suggestion_edit_dialog_title" msgid="1064042382692091314">"Rediger valgte kontakter"</string>
<string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"Bytt til redigering av gjeldende kontakt? Informasjonen du har lagt til så langt blir kopiert."</string>
<string name="menu_copyContact" msgid="1573960845106822639">"Kopiér til mine kontakter"</string>
<string name="add_to_my_contacts" msgid="1068274916793627723">"Legg til i Mine kontakter"</string>
@@ -478,7 +468,6 @@
<string name="contacts_unavailable_import_contacts" msgid="4456440183590517471">"Importer kontakter fra en fil"</string>
<string name="create_group_dialog_title" msgid="6874527142828424475">"Opprett ny gruppe"</string>
<string name="create_group_item_label" msgid="5218022006186243310">"[Opprett ny gruppe]"</string>
- <string name="delete_group_dialog_title" msgid="7368429698398624427">"Slett gruppe"</string>
<plurals name="num_groups_in_account">
<item quantity="one" msgid="2944819210288517794">"Én gruppe"</item>
<item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> grupper"</item>
@@ -497,7 +486,6 @@
<string name="set_default" msgid="4417505153468300351">"Angi som standard"</string>
<string name="clear_default" msgid="7193185801596678067">"Fjern som standard"</string>
<string name="toast_text_copied" msgid="5143776250008541719">"Tekst kopiert"</string>
- <string name="cancel_confirmation_dialog_title" msgid="3950463632415908534">"Forkast endringer"</string>
<string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"Vil du forkaste endringene?"</string>
<string name="call_type_and_date" msgid="1766269584078149149">"<xliff:g id="CALL_TYPE">%1$s</xliff:g> <xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g>"</string>
<string name="profile_display_name" msgid="4127389543625918771">"Konfigurer profilen min"</string>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index b4a7617..a548c46 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -41,7 +41,8 @@
<string name="menu_search" msgid="9147752853603483719">"Zoeken"</string>
<string name="menu_newContact" msgid="1209922412763274638">"Nieuw contact"</string>
<string name="menu_viewContact" msgid="2795575601596468581">"Contact weergeven"</string>
- <string name="menu_callNumber" msgid="5142851348489387516">"<xliff:g id="NAME">%s</xliff:g> bellen"</string>
+ <!-- no translation found for menu_callNumber (997146291983360266) -->
+ <skip />
<string name="menu_addStar" msgid="2908478235715404876">"Toevoegen aan favorieten"</string>
<string name="menu_removeStar" msgid="5844227078364227030">"Uit favorieten verwijderen"</string>
<string name="menu_editContact" msgid="9042415603857662633">"Bewerken"</string>
@@ -62,7 +63,6 @@
<string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Mogelijke contacten"</string>
<string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Alle contacten"</string>
<string name="contactsJoinedMessage" msgid="7208148163607047389">"Contacten zijn samengevoegd"</string>
- <string name="deleteConfirmation_title" msgid="1418215926447642260">"Contact verwijderen?"</string>
<string name="menu_set_ring_tone" msgid="8728345772068064946">"Beltoon instellen"</string>
<string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Alle oproepen naar voicemail"</string>
<string name="readOnlyContactWarning" msgid="7808825687289848259">"U kunt contacten niet verwijderen uit alleen-lezen-accounts, maar u kunt ze verbergen in uw contactenlijst."</string>
@@ -186,7 +186,6 @@
<string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> min. <xliff:g id="SECONDS">%s</xliff:g> sec."</string>
<string name="favoritesFrequentContacted" msgid="6184232487472425690">"Regelmatig contact"</string>
<string name="favoritesFrequentCalled" msgid="6128306889600696124">"Vaak gebeld"</string>
- <string name="add_contact_dlg_title" msgid="2896685845822146494">"Contact toevoegen"</string>
<string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Voeg \"<xliff:g id="EMAIL">%s</xliff:g>\" toe aan contactpersonen?"</string>
<string name="description_image_button_one" msgid="1740638037139856139">"één"</string>
<string name="description_image_button_two" msgid="5882638439003731308">"twee"</string>
@@ -209,11 +208,8 @@
<string name="description_minus_button" msgid="387136707700230172">"min"</string>
<string name="description_plus_button" msgid="515164827856229880">"plus"</string>
<string name="description_view_contact_detail" msgid="9133251213656414807">"Contact weergeven"</string>
- <string name="no_sdcard_title" product="nosdcard" msgid="8543619259870877473">"Opslag niet beschikbaar"</string>
- <string name="no_sdcard_title" product="default" msgid="5911758680339949273">"Geen SD-kaart"</string>
<string name="no_sdcard_message" product="nosdcard" msgid="5242558018442357189">"Er is geen opslag gevonden."</string>
<string name="no_sdcard_message" product="default" msgid="3357810406684913482">"Geen SD-kaart gevonden."</string>
- <string name="searching_vcard_title" msgid="4970508055399376813">"Zoeken naar vCard"</string>
<string name="import_from_sim" msgid="3859272228033941659">"Importeren van SIM-kaart"</string>
<string name="import_from_sdcard" product="default" msgid="8668347930577565175">"Importeren uit opslag"</string>
<string name="export_to_sdcard" product="default" msgid="6092815580965201089">"Exporteren naar opslag"</string>
@@ -223,8 +219,6 @@
<string name="import_all_vcard_string" msgid="5518136113853448474">"Alle vCard-bestanden importeren"</string>
<string name="searching_vcard_message" product="nosdcard" msgid="557077639409584945">"Zoeken naar vCard-gegevens in opslag..."</string>
<string name="searching_vcard_message" product="default" msgid="3962269894118092049">"Zoeken naar vCard-gegevens op SD-kaart..."</string>
- <string name="scanning_sdcard_failed_title" product="nosdcard" msgid="4944932641334764942">"Kan opslag niet scannen"</string>
- <string name="scanning_sdcard_failed_title" product="default" msgid="6664940444476572612">"Kan SD-kaart niet scannen"</string>
<string name="scanning_sdcard_failed_message" product="nosdcard" msgid="7221682312959229201">"De opslag kan niet worden gescand. (Reden: \'<xliff:g id="FAIL_REASON">%s</xliff:g>\')"</string>
<string name="scanning_sdcard_failed_message" product="default" msgid="189023067829510792">"De SD-kaart kan niet worden gescand. (Reden: \'<xliff:g id="FAIL_REASON">%s</xliff:g>\')"</string>
<string name="fail_reason_io_error" msgid="6748358842976073255">"I/O-fout"</string>
@@ -273,9 +267,7 @@
<string name="composer_not_initialized" msgid="2321648986367005254">"De vCard-editor is niet correct gestart."</string>
<string name="fail_reason_could_not_open_file" msgid="2067725459821997463">"Kan \'<xliff:g id="FILE_NAME">%s</xliff:g>\' niet openen: <xliff:g id="EXACT_REASON">%s</xliff:g>."</string>
<string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> van <xliff:g id="TOTAL_NUMBER">%s</xliff:g> contacten"</string>
- <string name="cancel_import_confirmation_title" msgid="5578683596010294836">"Importeren van vCard annuleren"</string>
<string name="cancel_import_confirmation_message" msgid="3929951040347726757">"Import van <xliff:g id="FILENAME">%s</xliff:g> annuleren?"</string>
- <string name="cancel_export_confirmation_title" msgid="6516467140276768528">"Exporteren van vCard annuleren"</string>
<string name="cancel_export_confirmation_message" msgid="1995462401949262638">"Export van <xliff:g id="FILENAME">%s</xliff:g> annuleren?"</string>
<string name="cancel_vcard_import_or_export_failed" msgid="6139900383366166706">"Kan vCard-import/export niet annuleren"</string>
<string name="search_settings_description" msgid="2675223022992445813">"Namen van uw contacten"</string>
@@ -441,9 +433,7 @@
<item quantity="other" msgid="425683718017380845">"samengevoegd uit <xliff:g id="COUNT">%0$d</xliff:g> bronnen"</item>
</plurals>
<string name="local_invisible_directory" msgid="6046691709127661065">"Overig"</string>
- <string name="aggregation_suggestion_join_dialog_title" msgid="5276699501316246253">"Contacten samenvoegen"</string>
<string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"Wilt u het huidige contact samenvoegen met het geselecteerde contact?"</string>
- <string name="aggregation_suggestion_edit_dialog_title" msgid="1064042382692091314">"Geselecteerde contacten bewerken"</string>
<string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"Wilt u overschakelen naar het bewerken van het geselecteerde contact? Gegevens die u tot nu toe heeft ingevoerd, worden gekopieerd."</string>
<string name="menu_copyContact" msgid="1573960845106822639">"Kopiëren naar mijn contacten"</string>
<string name="add_to_my_contacts" msgid="1068274916793627723">"Toevoegen aan Mijn contacten"</string>
@@ -478,7 +468,6 @@
<string name="contacts_unavailable_import_contacts" msgid="4456440183590517471">"Contacten importeren uit een bestand"</string>
<string name="create_group_dialog_title" msgid="6874527142828424475">"Nieuwe groep maken"</string>
<string name="create_group_item_label" msgid="5218022006186243310">"[Nieuwe groep maken]"</string>
- <string name="delete_group_dialog_title" msgid="7368429698398624427">"Groep verwijderen"</string>
<plurals name="num_groups_in_account">
<item quantity="one" msgid="2944819210288517794">"1 groep"</item>
<item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> groepen"</item>
@@ -497,7 +486,6 @@
<string name="set_default" msgid="4417505153468300351">"Standaard instellen"</string>
<string name="clear_default" msgid="7193185801596678067">"Standaardwaarden wissen"</string>
<string name="toast_text_copied" msgid="5143776250008541719">"Tekst gekopieerd"</string>
- <string name="cancel_confirmation_dialog_title" msgid="3950463632415908534">"Wijzigingen annuleren"</string>
<string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"Uw wijzigingen annuleren?"</string>
<string name="call_type_and_date" msgid="1766269584078149149">"<xliff:g id="CALL_TYPE">%1$s</xliff:g> <xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g>"</string>
<string name="profile_display_name" msgid="4127389543625918771">"Mijn profiel instellen"</string>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index de6c6bd..7c2f925 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -41,7 +41,8 @@
<string name="menu_search" msgid="9147752853603483719">"Szukaj"</string>
<string name="menu_newContact" msgid="1209922412763274638">"Nowy kontakt"</string>
<string name="menu_viewContact" msgid="2795575601596468581">"Wyświetl kontakt"</string>
- <string name="menu_callNumber" msgid="5142851348489387516">"Zadzwoń do: <xliff:g id="NAME">%s</xliff:g>"</string>
+ <!-- no translation found for menu_callNumber (997146291983360266) -->
+ <skip />
<string name="menu_addStar" msgid="2908478235715404876">"Dodaj do ulubionych"</string>
<string name="menu_removeStar" msgid="5844227078364227030">"Usuń z ulubionych"</string>
<string name="menu_editContact" msgid="9042415603857662633">"Edytuj"</string>
@@ -62,7 +63,6 @@
<string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Sugerowane kontakty"</string>
<string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Wszystkie kontakty"</string>
<string name="contactsJoinedMessage" msgid="7208148163607047389">"Kontakty zostały połączone"</string>
- <string name="deleteConfirmation_title" msgid="1418215926447642260">"Usunąć kontakt?"</string>
<string name="menu_set_ring_tone" msgid="8728345772068064946">"Ustaw dzwonek"</string>
<string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Łącz na pocztę głosową"</string>
<string name="readOnlyContactWarning" msgid="7808825687289848259">"Nie możesz usunąć kontaktów z kont tylko do odczytu, ale możesz ukryć je na swoich listach kontaktów."</string>
@@ -186,7 +186,6 @@
<string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> min <xliff:g id="SECONDS">%s</xliff:g> s"</string>
<string name="favoritesFrequentContacted" msgid="6184232487472425690">"Częste kontakty"</string>
<string name="favoritesFrequentCalled" msgid="6128306889600696124">"Częste połączenia"</string>
- <string name="add_contact_dlg_title" msgid="2896685845822146494">"Dodaj kontakt"</string>
<string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Czy dodać adres „<xliff:g id="EMAIL">%s</xliff:g>” do kontaktów?"</string>
<string name="description_image_button_one" msgid="1740638037139856139">"jeden"</string>
<string name="description_image_button_two" msgid="5882638439003731308">"dwa"</string>
@@ -209,11 +208,8 @@
<string name="description_minus_button" msgid="387136707700230172">"minus"</string>
<string name="description_plus_button" msgid="515164827856229880">"plus"</string>
<string name="description_view_contact_detail" msgid="9133251213656414807">"Wyświetl kontakt"</string>
- <string name="no_sdcard_title" product="nosdcard" msgid="8543619259870877473">"Nośnik nie jest dostępny"</string>
- <string name="no_sdcard_title" product="default" msgid="5911758680339949273">"Brak karty SD"</string>
<string name="no_sdcard_message" product="nosdcard" msgid="5242558018442357189">"Nie znaleziono nośnika."</string>
<string name="no_sdcard_message" product="default" msgid="3357810406684913482">"Nie znaleziono karty SD."</string>
- <string name="searching_vcard_title" msgid="4970508055399376813">"Wyszukiwanie danych vCard"</string>
<string name="import_from_sim" msgid="3859272228033941659">"Importuj z karty SIM"</string>
<string name="import_from_sdcard" product="default" msgid="8668347930577565175">"Importuj z nośnika"</string>
<string name="export_to_sdcard" product="default" msgid="6092815580965201089">"Eksportuj na nośnik"</string>
@@ -223,8 +219,6 @@
<string name="import_all_vcard_string" msgid="5518136113853448474">"Importuj wszystkie pliki vCard"</string>
<string name="searching_vcard_message" product="nosdcard" msgid="557077639409584945">"Wyszukiwanie danych vCard na nośniku…"</string>
<string name="searching_vcard_message" product="default" msgid="3962269894118092049">"Wyszukiwanie danych vCard na karcie SD…"</string>
- <string name="scanning_sdcard_failed_title" product="nosdcard" msgid="4944932641334764942">"Nie można przeskanować pamięci"</string>
- <string name="scanning_sdcard_failed_title" product="default" msgid="6664940444476572612">"Nie można przeskanować karty SD"</string>
<string name="scanning_sdcard_failed_message" product="nosdcard" msgid="7221682312959229201">"Nie można przejrzeć nośnika. (Przyczyna: „<xliff:g id="FAIL_REASON">%s</xliff:g>”)"</string>
<string name="scanning_sdcard_failed_message" product="default" msgid="189023067829510792">"Nie można przejrzeć karty SD. (Przyczyna: „<xliff:g id="FAIL_REASON">%s</xliff:g>”)"</string>
<string name="fail_reason_io_error" msgid="6748358842976073255">"Błąd wejścia/wyjścia"</string>
@@ -273,9 +267,7 @@
<string name="composer_not_initialized" msgid="2321648986367005254">"Obiekt tworzenia danych vCard nie został uruchomiony poprawnie."</string>
<string name="fail_reason_could_not_open_file" msgid="2067725459821997463">"Nie można otworzyć pliku „<xliff:g id="FILE_NAME">%s</xliff:g>”: <xliff:g id="EXACT_REASON">%s</xliff:g>."</string>
<string name="exporting_contact_list_progress" msgid="560522409559101193">"Kontakt <xliff:g id="CURRENT_NUMBER">%s</xliff:g> z <xliff:g id="TOTAL_NUMBER">%s</xliff:g>"</string>
- <string name="cancel_import_confirmation_title" msgid="5578683596010294836">"Anulowanie importowania pliku vCard"</string>
<string name="cancel_import_confirmation_message" msgid="3929951040347726757">"Anulować import: <xliff:g id="FILENAME">%s</xliff:g>?"</string>
- <string name="cancel_export_confirmation_title" msgid="6516467140276768528">"Anulowanie eksportowania pliku vCard"</string>
<string name="cancel_export_confirmation_message" msgid="1995462401949262638">"Anulować eksport: <xliff:g id="FILENAME">%s</xliff:g>?"</string>
<string name="cancel_vcard_import_or_export_failed" msgid="6139900383366166706">"Nie można anulować importu/eksportu vCard"</string>
<string name="search_settings_description" msgid="2675223022992445813">"Imiona i nazwiska oraz nazwy w Twoich kontaktach"</string>
@@ -441,9 +433,7 @@
<item quantity="other" msgid="425683718017380845">"scalono z <xliff:g id="COUNT">%0$d</xliff:g> źródeł"</item>
</plurals>
<string name="local_invisible_directory" msgid="6046691709127661065">"Inne"</string>
- <string name="aggregation_suggestion_join_dialog_title" msgid="5276699501316246253">"Połącz kontakty"</string>
<string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"Czy połączyć bieżący kontakt z wybranym?"</string>
- <string name="aggregation_suggestion_edit_dialog_title" msgid="1064042382692091314">"Edytuj wybrane kontakty"</string>
<string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"Czy chcesz edytować wybrany kontakt? Wprowadzone dotąd informacje zostaną skopiowane."</string>
<string name="menu_copyContact" msgid="1573960845106822639">"Kopiuj do moich kontaktów"</string>
<string name="add_to_my_contacts" msgid="1068274916793627723">"Dodaj do moich kontaktów"</string>
@@ -478,7 +468,6 @@
<string name="contacts_unavailable_import_contacts" msgid="4456440183590517471">"Zaimportuj kontakty z pliku"</string>
<string name="create_group_dialog_title" msgid="6874527142828424475">"Utwórz nową grupę"</string>
<string name="create_group_item_label" msgid="5218022006186243310">"[Utwórz nową grupę]"</string>
- <string name="delete_group_dialog_title" msgid="7368429698398624427">"Usuń grupę"</string>
<plurals name="num_groups_in_account">
<item quantity="one" msgid="2944819210288517794">"1 grupa"</item>
<item quantity="other" msgid="1276758425904917367">"Grupy: <xliff:g id="COUNT">%0$d</xliff:g>"</item>
@@ -497,7 +486,6 @@
<string name="set_default" msgid="4417505153468300351">"Ustaw jako wartość domyślną"</string>
<string name="clear_default" msgid="7193185801596678067">"Wyczyść wartość domyślną"</string>
<string name="toast_text_copied" msgid="5143776250008541719">"Tekst skopiowany"</string>
- <string name="cancel_confirmation_dialog_title" msgid="3950463632415908534">"Odrzuć zmiany"</string>
<string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"Odrzucić zmiany?"</string>
<string name="call_type_and_date" msgid="1766269584078149149">"<xliff:g id="CALL_TYPE">%1$s</xliff:g> <xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g>"</string>
<string name="profile_display_name" msgid="4127389543625918771">"Konfiguruj profil"</string>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index 72be05f..be65c75 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -41,7 +41,8 @@
<string name="menu_search" msgid="9147752853603483719">"Pesquisar"</string>
<string name="menu_newContact" msgid="1209922412763274638">"Novo contacto"</string>
<string name="menu_viewContact" msgid="2795575601596468581">"Visualizar contacto"</string>
- <string name="menu_callNumber" msgid="5142851348489387516">"Ligar a <xliff:g id="NAME">%s</xliff:g>"</string>
+ <!-- no translation found for menu_callNumber (997146291983360266) -->
+ <skip />
<string name="menu_addStar" msgid="2908478235715404876">"Adicionar aos favoritos"</string>
<string name="menu_removeStar" msgid="5844227078364227030">"Remover dos favoritos"</string>
<string name="menu_editContact" msgid="9042415603857662633">"Editar"</string>
@@ -62,7 +63,6 @@
<string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Contactos sugeridos"</string>
<string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Todos os contactos"</string>
<string name="contactsJoinedMessage" msgid="7208148163607047389">"Contactos associados"</string>
- <string name="deleteConfirmation_title" msgid="1418215926447642260">"Eliminar contacto?"</string>
<string name="menu_set_ring_tone" msgid="8728345772068064946">"Definir toque"</string>
<string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Todas chm. para corr. de voz"</string>
<string name="readOnlyContactWarning" msgid="7808825687289848259">"Não pode eliminar contactos de contas só de leitura, mas pode ocultá-los nas suas listas de contactos."</string>
@@ -186,7 +186,6 @@
<string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> min <xliff:g id="SECONDS">%s</xliff:g> seg"</string>
<string name="favoritesFrequentContacted" msgid="6184232487472425690">"Contactos frequentes"</string>
<string name="favoritesFrequentCalled" msgid="6128306889600696124">"Números de marcação frequente"</string>
- <string name="add_contact_dlg_title" msgid="2896685845822146494">"Adicionar contacto"</string>
<string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Adicionar \"<xliff:g id="EMAIL">%s</xliff:g>\" aos contactos?"</string>
<string name="description_image_button_one" msgid="1740638037139856139">"um"</string>
<string name="description_image_button_two" msgid="5882638439003731308">"dois"</string>
@@ -209,11 +208,8 @@
<string name="description_minus_button" msgid="387136707700230172">"menos"</string>
<string name="description_plus_button" msgid="515164827856229880">"mais"</string>
<string name="description_view_contact_detail" msgid="9133251213656414807">"Ver contacto"</string>
- <string name="no_sdcard_title" product="nosdcard" msgid="8543619259870877473">"Armazen. indisponível"</string>
- <string name="no_sdcard_title" product="default" msgid="5911758680339949273">"Nenhum cartão SD"</string>
<string name="no_sdcard_message" product="nosdcard" msgid="5242558018442357189">"Nenhum armazen. encontrado."</string>
<string name="no_sdcard_message" product="default" msgid="3357810406684913482">"Não foi encontrado nenhum cartão SD."</string>
- <string name="searching_vcard_title" msgid="4970508055399376813">"A procurar vCard"</string>
<string name="import_from_sim" msgid="3859272228033941659">"Importar do cartão SIM"</string>
<string name="import_from_sdcard" product="default" msgid="8668347930577565175">"Importar do armazenamento"</string>
<string name="export_to_sdcard" product="default" msgid="6092815580965201089">"Exportar para o armazen."</string>
@@ -223,8 +219,6 @@
<string name="import_all_vcard_string" msgid="5518136113853448474">"Importar todos os ficheiros VCard"</string>
<string name="searching_vcard_message" product="nosdcard" msgid="557077639409584945">"A pesquisar dados de vCard no armazenamento..."</string>
<string name="searching_vcard_message" product="default" msgid="3962269894118092049">"A pesquisar dados de vCard no cartão SD..."</string>
- <string name="scanning_sdcard_failed_title" product="nosdcard" msgid="4944932641334764942">"Não foi possível analisar o armazenamento"</string>
- <string name="scanning_sdcard_failed_title" product="default" msgid="6664940444476572612">"Não foi possível analisar o cartão SD"</string>
<string name="scanning_sdcard_failed_message" product="nosdcard" msgid="7221682312959229201">"Não foi possível analisar o armazenamento. (Motivo: \"<xliff:g id="FAIL_REASON">%s</xliff:g>\")"</string>
<string name="scanning_sdcard_failed_message" product="default" msgid="189023067829510792">"Não foi possível analisar o cartão SD. (Motivo: \"<xliff:g id="FAIL_REASON">%s</xliff:g>\")"</string>
<string name="fail_reason_io_error" msgid="6748358842976073255">"Erro de E/S"</string>
@@ -273,9 +267,7 @@
<string name="composer_not_initialized" msgid="2321648986367005254">"O compositor vCard não iniciou corretamente."</string>
<string name="fail_reason_could_not_open_file" msgid="2067725459821997463">"Não foi possível abrir \"<xliff:g id="FILE_NAME">%s</xliff:g>\": <xliff:g id="EXACT_REASON">%s</xliff:g>."</string>
<string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> de <xliff:g id="TOTAL_NUMBER">%s</xliff:g> contactos"</string>
- <string name="cancel_import_confirmation_title" msgid="5578683596010294836">"A cancelar importação do vCard"</string>
<string name="cancel_import_confirmation_message" msgid="3929951040347726757">"Cancelar a importação de <xliff:g id="FILENAME">%s</xliff:g>?"</string>
- <string name="cancel_export_confirmation_title" msgid="6516467140276768528">"A cancelar exportação do vCard"</string>
<string name="cancel_export_confirmation_message" msgid="1995462401949262638">"Cancelar a exportação de <xliff:g id="FILENAME">%s</xliff:g>?"</string>
<string name="cancel_vcard_import_or_export_failed" msgid="6139900383366166706">"Imposs. cancel. import./export. do vCard"</string>
<string name="search_settings_description" msgid="2675223022992445813">"Nomes dos contactos"</string>
@@ -441,9 +433,7 @@
<item quantity="other" msgid="425683718017380845">"intercalado a partir de <xliff:g id="COUNT">%0$d</xliff:g> origens"</item>
</plurals>
<string name="local_invisible_directory" msgid="6046691709127661065">"Outro"</string>
- <string name="aggregation_suggestion_join_dialog_title" msgid="5276699501316246253">"Associar contactos"</string>
<string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"Associar o contacto actual ao contacto selecionado?"</string>
- <string name="aggregation_suggestion_edit_dialog_title" msgid="1064042382692091314">"Editar contactos seleccionados"</string>
<string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"Alternar para edição do contacto selecionado? A informação introduzida até agora vai ser copiada."</string>
<string name="menu_copyContact" msgid="1573960845106822639">"Copiar para Os Meus Contactos"</string>
<string name="add_to_my_contacts" msgid="1068274916793627723">"Adicionar aos Meus Contactos"</string>
@@ -478,7 +468,6 @@
<string name="contacts_unavailable_import_contacts" msgid="4456440183590517471">"Importar contactos de um ficheiro"</string>
<string name="create_group_dialog_title" msgid="6874527142828424475">"Criar novo grupo"</string>
<string name="create_group_item_label" msgid="5218022006186243310">"[Criar novo grupo]"</string>
- <string name="delete_group_dialog_title" msgid="7368429698398624427">"Eliminar grupo"</string>
<plurals name="num_groups_in_account">
<item quantity="one" msgid="2944819210288517794">"1 grupo"</item>
<item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> grupos"</item>
@@ -497,7 +486,6 @@
<string name="set_default" msgid="4417505153468300351">"Definir a predefinição"</string>
<string name="clear_default" msgid="7193185801596678067">"Limpar predefinição"</string>
<string name="toast_text_copied" msgid="5143776250008541719">"Texto copiado"</string>
- <string name="cancel_confirmation_dialog_title" msgid="3950463632415908534">"Rejeitar alterações"</string>
<string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"Rejeitar as suas alterações?"</string>
<string name="call_type_and_date" msgid="1766269584078149149"></string>
<string name="profile_display_name" msgid="4127389543625918771">"Configurar o meu perfil"</string>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index 4457755..803785e 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -41,7 +41,8 @@
<string name="menu_search" msgid="9147752853603483719">"Pesquisa"</string>
<string name="menu_newContact" msgid="1209922412763274638">"Novo contato"</string>
<string name="menu_viewContact" msgid="2795575601596468581">"Ver contato"</string>
- <string name="menu_callNumber" msgid="5142851348489387516">"Chamar <xliff:g id="NAME">%s</xliff:g>"</string>
+ <!-- no translation found for menu_callNumber (997146291983360266) -->
+ <skip />
<string name="menu_addStar" msgid="2908478235715404876">"Adicionar aos favoritos"</string>
<string name="menu_removeStar" msgid="5844227078364227030">"Remover dos favoritos"</string>
<string name="menu_editContact" msgid="9042415603857662633">"Editar"</string>
@@ -62,7 +63,6 @@
<string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Contatos sugeridos"</string>
<string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Todos os contatos"</string>
<string name="contactsJoinedMessage" msgid="7208148163607047389">"Contatos unificados"</string>
- <string name="deleteConfirmation_title" msgid="1418215926447642260">"Excluir contato?"</string>
<string name="menu_set_ring_tone" msgid="8728345772068064946">"Definir toque"</string>
<string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Todas as cham. p/ correio voz"</string>
<string name="readOnlyContactWarning" msgid="7808825687289848259">"Não é possível excluir os contatos das contas somente leitura, mas você pode ocultá-los nas suas listas de contatos."</string>
@@ -186,7 +186,6 @@
<string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> min. <xliff:g id="SECONDS">%s</xliff:g> s"</string>
<string name="favoritesFrequentContacted" msgid="6184232487472425690">"Chamados frequentemente"</string>
<string name="favoritesFrequentCalled" msgid="6128306889600696124">"Frequentemente chamado"</string>
- <string name="add_contact_dlg_title" msgid="2896685845822146494">"Adicionar contato"</string>
<string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Adicionar \"<xliff:g id="EMAIL">%s</xliff:g>\" aos contatos?"</string>
<string name="description_image_button_one" msgid="1740638037139856139">"um"</string>
<string name="description_image_button_two" msgid="5882638439003731308">"dois"</string>
@@ -209,11 +208,8 @@
<string name="description_minus_button" msgid="387136707700230172">"menos"</string>
<string name="description_plus_button" msgid="515164827856229880">"mais"</string>
<string name="description_view_contact_detail" msgid="9133251213656414807">"Visualizar contato"</string>
- <string name="no_sdcard_title" product="nosdcard" msgid="8543619259870877473">"Armazenamento não disponível"</string>
- <string name="no_sdcard_title" product="default" msgid="5911758680339949273">"Nenhum cartão SD"</string>
<string name="no_sdcard_message" product="nosdcard" msgid="5242558018442357189">"Nenhum armazenamento foi encontrado."</string>
<string name="no_sdcard_message" product="default" msgid="3357810406684913482">"Nenhum cartão SD foi encontrado."</string>
- <string name="searching_vcard_title" msgid="4970508055399376813">"Pesquisando vCard"</string>
<string name="import_from_sim" msgid="3859272228033941659">"Importar do cartão SIM"</string>
<string name="import_from_sdcard" product="default" msgid="8668347930577565175">"Importar do armazenamento"</string>
<string name="export_to_sdcard" product="default" msgid="6092815580965201089">"Exportar para o armazenamento"</string>
@@ -223,8 +219,6 @@
<string name="import_all_vcard_string" msgid="5518136113853448474">"Importar todos os arquivos do vCard"</string>
<string name="searching_vcard_message" product="nosdcard" msgid="557077639409584945">"Procurando dados do vCard no armazenamento..."</string>
<string name="searching_vcard_message" product="default" msgid="3962269894118092049">"Procurando dados do vCard no cartão SD..."</string>
- <string name="scanning_sdcard_failed_title" product="nosdcard" msgid="4944932641334764942">"Não foi possível verificar o armazenamento"</string>
- <string name="scanning_sdcard_failed_title" product="default" msgid="6664940444476572612">"Não foi possível verificar o cartão SD"</string>
<string name="scanning_sdcard_failed_message" product="nosdcard" msgid="7221682312959229201">"Não foi possível verificar o armazenamento. (Motivo: \"<xliff:g id="FAIL_REASON">%s</xliff:g>\")"</string>
<string name="scanning_sdcard_failed_message" product="default" msgid="189023067829510792">"Não foi possível ler o cartão SD. (Motivo: \"<xliff:g id="FAIL_REASON">%s</xliff:g>\")"</string>
<string name="fail_reason_io_error" msgid="6748358842976073255">"Erro E/S"</string>
@@ -273,9 +267,7 @@
<string name="composer_not_initialized" msgid="2321648986367005254">"O criador do vCard não iniciou corretamente."</string>
<string name="fail_reason_could_not_open_file" msgid="2067725459821997463">"Não foi possível abrir \"<xliff:g id="FILE_NAME">%s</xliff:g>\": <xliff:g id="EXACT_REASON">%s</xliff:g>."</string>
<string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> de <xliff:g id="TOTAL_NUMBER">%s</xliff:g> contatos"</string>
- <string name="cancel_import_confirmation_title" msgid="5578683596010294836">"Cancelando a importação do vCard"</string>
<string name="cancel_import_confirmation_message" msgid="3929951040347726757">"Cancelar importação de <xliff:g id="FILENAME">%s</xliff:g>?"</string>
- <string name="cancel_export_confirmation_title" msgid="6516467140276768528">"Cancelando a exportação do vCard"</string>
<string name="cancel_export_confirmation_message" msgid="1995462401949262638">"Cancelar exportação de <xliff:g id="FILENAME">%s</xliff:g>?"</string>
<string name="cancel_vcard_import_or_export_failed" msgid="6139900383366166706">"Não foi poss. canc. imp./export. vCard"</string>
<string name="search_settings_description" msgid="2675223022992445813">"Nomes dos seus contatos"</string>
@@ -441,9 +433,7 @@
<item quantity="other" msgid="425683718017380845">"mesclado a partir de <xliff:g id="COUNT">%0$d</xliff:g> origens"</item>
</plurals>
<string name="local_invisible_directory" msgid="6046691709127661065">"Outros"</string>
- <string name="aggregation_suggestion_join_dialog_title" msgid="5276699501316246253">"Unir contatos"</string>
<string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"Unir o contato atual ao contato selecionado?"</string>
- <string name="aggregation_suggestion_edit_dialog_title" msgid="1064042382692091314">"Editar contatos selecionados"</string>
<string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"Alternar para a edição do contato selecionado? As informações inseridas até agora serão copiadas."</string>
<string name="menu_copyContact" msgid="1573960845106822639">"Copiar para Meus contatos"</string>
<string name="add_to_my_contacts" msgid="1068274916793627723">"Adicionar a Meus contatos"</string>
@@ -478,7 +468,6 @@
<string name="contacts_unavailable_import_contacts" msgid="4456440183590517471">"Importar contatos de um arquivo"</string>
<string name="create_group_dialog_title" msgid="6874527142828424475">"Criar um novo grupo"</string>
<string name="create_group_item_label" msgid="5218022006186243310">"[Criar um novo grupo]"</string>
- <string name="delete_group_dialog_title" msgid="7368429698398624427">"Excluir grupo"</string>
<plurals name="num_groups_in_account">
<item quantity="one" msgid="2944819210288517794">"Um grupo"</item>
<item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> grupos"</item>
@@ -497,7 +486,6 @@
<string name="set_default" msgid="4417505153468300351">"Definir padrão"</string>
<string name="clear_default" msgid="7193185801596678067">"Limpar padrão"</string>
<string name="toast_text_copied" msgid="5143776250008541719">"Texto copiado"</string>
- <string name="cancel_confirmation_dialog_title" msgid="3950463632415908534">"Descartar alterações"</string>
<string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"Descartar as alterações?"</string>
<string name="call_type_and_date" msgid="1766269584078149149">"<xliff:g id="CALL_TYPE">%1$s</xliff:g> <xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g> "</string>
<string name="profile_display_name" msgid="4127389543625918771">"Configurar meu perfil"</string>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index 0133be3..2fbe646 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -41,7 +41,8 @@
<string name="menu_search" msgid="9147752853603483719">"Căutaţi"</string>
<string name="menu_newContact" msgid="1209922412763274638">"Persoană nouă în agendă"</string>
<string name="menu_viewContact" msgid="2795575601596468581">"Vizualizaţi persoana din agendă"</string>
- <string name="menu_callNumber" msgid="5142851348489387516">"Apelaţi <xliff:g id="NAME">%s</xliff:g>"</string>
+ <!-- no translation found for menu_callNumber (997146291983360266) -->
+ <skip />
<string name="menu_addStar" msgid="2908478235715404876">"Adăugaţi la lista de favorite"</string>
<string name="menu_removeStar" msgid="5844227078364227030">"Eliminaţi din lista de favorite"</string>
<string name="menu_editContact" msgid="9042415603857662633">"Editaţi"</string>
@@ -62,7 +63,6 @@
<string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Persoane din agendă sugerate"</string>
<string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Toate persoanele din agendă"</string>
<string name="contactsJoinedMessage" msgid="7208148163607047389">"Persoanele din agendă au fost unite"</string>
- <string name="deleteConfirmation_title" msgid="1418215926447642260">"Ştergeţi contactul?"</string>
<string name="menu_set_ring_tone" msgid="8728345772068064946">"Setaţi ton apel"</string>
<string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Toate apel. către mesag. voc."</string>
<string name="readOnlyContactWarning" msgid="7808825687289848259">"Nu puteţi şterge persoane din agendă, din conturi cu permisiuni doar de citire, însă puteţi să le ascundeţi în lista dvs. de persoane din agendă."</string>
@@ -186,7 +186,6 @@
<string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> m <xliff:g id="SECONDS">%s</xliff:g> s"</string>
<string name="favoritesFrequentContacted" msgid="6184232487472425690">"Frecvent contactate"</string>
<string name="favoritesFrequentCalled" msgid="6128306889600696124">"Frecvent apelate"</string>
- <string name="add_contact_dlg_title" msgid="2896685845822146494">"Adăugaţi o persoană în agendă"</string>
<string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Adăugaţi „<xliff:g id="EMAIL">%s</xliff:g>” la persoanele din agendă?"</string>
<string name="description_image_button_one" msgid="1740638037139856139">"unu"</string>
<string name="description_image_button_two" msgid="5882638439003731308">"doi"</string>
@@ -209,11 +208,8 @@
<string name="description_minus_button" msgid="387136707700230172">"minus"</string>
<string name="description_plus_button" msgid="515164827856229880">"plus"</string>
<string name="description_view_contact_detail" msgid="9133251213656414807">"Afişaţi persoana din agendă"</string>
- <string name="no_sdcard_title" product="nosdcard" msgid="8543619259870877473">"Stocare indisponibilă"</string>
- <string name="no_sdcard_title" product="default" msgid="5911758680339949273">"Niciun card SD"</string>
<string name="no_sdcard_message" product="nosdcard" msgid="5242558018442357189">"Nu s-a găsit o stocare."</string>
<string name="no_sdcard_message" product="default" msgid="3357810406684913482">"Nu s-a găsit un card SD."</string>
- <string name="searching_vcard_title" msgid="4970508055399376813">"Se caută date în format vCard"</string>
<string name="import_from_sim" msgid="3859272228033941659">"Importaţi de pe cardul SIM"</string>
<string name="import_from_sdcard" product="default" msgid="8668347930577565175">"Importaţi din stocare"</string>
<string name="export_to_sdcard" product="default" msgid="6092815580965201089">"Exportaţi în stocare"</string>
@@ -223,8 +219,6 @@
<string name="import_all_vcard_string" msgid="5518136113853448474">"Importaţi toate fişierele vCard"</string>
<string name="searching_vcard_message" product="nosdcard" msgid="557077639409584945">"Se caută date vCard în spaţiul de stocare..."</string>
<string name="searching_vcard_message" product="default" msgid="3962269894118092049">"Se caută date vCard pe cardul SD..."</string>
- <string name="scanning_sdcard_failed_title" product="nosdcard" msgid="4944932641334764942">"Nu s-a putut scana stocarea"</string>
- <string name="scanning_sdcard_failed_title" product="default" msgid="6664940444476572612">"Nu s-a putut scana cardul SD"</string>
<string name="scanning_sdcard_failed_message" product="nosdcard" msgid="7221682312959229201">"Stocarea nu s-a putut scana. (Motivul: „<xliff:g id="FAIL_REASON">%s</xliff:g>”)"</string>
<string name="scanning_sdcard_failed_message" product="default" msgid="189023067829510792">"Cardul SD nu a putut fi scanat. (Motivul: „<xliff:g id="FAIL_REASON">%s</xliff:g>”)"</string>
<string name="fail_reason_io_error" msgid="6748358842976073255">"Eroare I/O"</string>
@@ -273,9 +267,7 @@
<string name="composer_not_initialized" msgid="2321648986367005254">"Compozitorul vCard nu a pornit în mod corespunzător."</string>
<string name="fail_reason_could_not_open_file" msgid="2067725459821997463">"Nu s-a putut deschide fişierul „<xliff:g id="FILE_NAME">%s</xliff:g>”: <xliff:g id="EXACT_REASON">%s</xliff:g>."</string>
<string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> din <xliff:g id="TOTAL_NUMBER">%s</xliff:g> (de) persoane din agendă"</string>
- <string name="cancel_import_confirmation_title" msgid="5578683596010294836">"Se anulează importul vCard"</string>
<string name="cancel_import_confirmation_message" msgid="3929951040347726757">"Anulaţi importul fişierului <xliff:g id="FILENAME">%s</xliff:g>?"</string>
- <string name="cancel_export_confirmation_title" msgid="6516467140276768528">"Se anulează exportul vCard"</string>
<string name="cancel_export_confirmation_message" msgid="1995462401949262638">"Anulaţi exportul fişierului <xliff:g id="FILENAME">%s</xliff:g>?"</string>
<string name="cancel_vcard_import_or_export_failed" msgid="6139900383366166706">"Anulare import/export vCard nereuşită"</string>
<string name="search_settings_description" msgid="2675223022992445813">"Numele persoanelor din agenda dvs."</string>
@@ -441,9 +433,7 @@
<item quantity="other" msgid="425683718017380845">"au fost îmbinate din <xliff:g id="COUNT">%0$d</xliff:g> surse"</item>
</plurals>
<string name="local_invisible_directory" msgid="6046691709127661065">"Altul"</string>
- <string name="aggregation_suggestion_join_dialog_title" msgid="5276699501316246253">"Asociaţi intrările din Agendă"</string>
<string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"Asociaţi intrarea curentă din agendă cu intrarea selectată?"</string>
- <string name="aggregation_suggestion_edit_dialog_title" msgid="1064042382692091314">"Editaţi persoanele din agendă selectate"</string>
<string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"Comutaţi la funcţia de editare a persoanei din agendă selectate? Informaţiile introduse până acum vor fi copiate."</string>
<string name="menu_copyContact" msgid="1573960845106822639">"Copiaţi în Agendă"</string>
<string name="add_to_my_contacts" msgid="1068274916793627723">"Adăugaţi în Agendă"</string>
@@ -478,7 +468,6 @@
<string name="contacts_unavailable_import_contacts" msgid="4456440183590517471">"Importaţi agenda din fişier"</string>
<string name="create_group_dialog_title" msgid="6874527142828424475">"Creaţi un grup nou"</string>
<string name="create_group_item_label" msgid="5218022006186243310">"[Creaţi un grup nou]"</string>
- <string name="delete_group_dialog_title" msgid="7368429698398624427">"Ştergeţi grupul"</string>
<plurals name="num_groups_in_account">
<item quantity="one" msgid="2944819210288517794">"1 grup"</item>
<item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> (de) grupuri"</item>
@@ -497,7 +486,6 @@
<string name="set_default" msgid="4417505153468300351">"Setaţi ca prestabilit"</string>
<string name="clear_default" msgid="7193185801596678067">"Ştergeţi datele prestabilite"</string>
<string name="toast_text_copied" msgid="5143776250008541719">"Text copiat"</string>
- <string name="cancel_confirmation_dialog_title" msgid="3950463632415908534">"Renunţaţi la modificări"</string>
<string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"Renunţaţi la modificări?"</string>
<string name="call_type_and_date" msgid="1766269584078149149">"<xliff:g id="CALL_TYPE">%1$s</xliff:g> <xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g>"</string>
<string name="profile_display_name" msgid="4127389543625918771">"Configuraţi profilul"</string>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index a6b2fd7..61700ff 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -35,13 +35,14 @@
<string name="insertContactDescription" msgid="4709878105452681987">"Создать контакт"</string>
<string name="editGroupDescription" msgid="6321161304201540561">"Изменение группы"</string>
<string name="insertGroupDescription" msgid="5658512271662210139">"Создание группы"</string>
- <string name="contactDetailAbout" msgid="5430408883907061400">"Контактные данные"</string>
- <string name="contactDetailUpdates" msgid="3780588624763446941">"Лента активности"</string>
+ <string name="contactDetailAbout" msgid="5430408883907061400">"О программе"</string>
+ <string name="contactDetailUpdates" msgid="3780588624763446941">"Обновления"</string>
<string name="searchHint" msgid="8482945356247760701">"Поиск контактов"</string>
<string name="menu_search" msgid="9147752853603483719">"Поиск"</string>
<string name="menu_newContact" msgid="1209922412763274638">"Новый контакт"</string>
<string name="menu_viewContact" msgid="2795575601596468581">"Просмотреть контакт"</string>
- <string name="menu_callNumber" msgid="5142851348489387516">"Вызов: <xliff:g id="NAME">%s</xliff:g>"</string>
+ <!-- no translation found for menu_callNumber (997146291983360266) -->
+ <skip />
<string name="menu_addStar" msgid="2908478235715404876">"Добавить в избранное"</string>
<string name="menu_removeStar" msgid="5844227078364227030">"Удалить из избранных"</string>
<string name="menu_editContact" msgid="9042415603857662633">"Изменить"</string>
@@ -61,10 +62,9 @@
<string name="showAllContactsJoinItem" msgid="2189695051430392383">"Показать все контакты"</string>
<string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Предлагаемые контакты"</string>
<string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Все контакты"</string>
- <string name="contactsJoinedMessage" msgid="7208148163607047389">"Контакты объединены"</string>
- <string name="deleteConfirmation_title" msgid="1418215926447642260">"Удаление контакта"</string>
+ <string name="contactsJoinedMessage" msgid="7208148163607047389">"Контакты присоединились"</string>
<string name="menu_set_ring_tone" msgid="8728345772068064946">"Задать рингтон"</string>
- <string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Только голос. почта"</string>
+ <string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Все вызовы на голосовую почту"</string>
<string name="readOnlyContactWarning" msgid="7808825687289848259">"Невозможно удалить контакты из аккаунта, доступного только для чтения, однако их можно скрыть в списках контактов."</string>
<string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"Этот контакт содержит информацию из различных аккаунтов. Информация из аккаунтов, доступных только для чтения, будет скрыта в ваших списках контактов, но не удалена."</string>
<string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"Удаление этого контакта приведет к потере данных из нескольких аккаунтов."</string>
@@ -186,7 +186,6 @@
<string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g>:<xliff:g id="SECONDS">%s</xliff:g>"</string>
<string name="favoritesFrequentContacted" msgid="6184232487472425690">"Часто набираемые"</string>
<string name="favoritesFrequentCalled" msgid="6128306889600696124">"Часто вызываемые"</string>
- <string name="add_contact_dlg_title" msgid="2896685845822146494">"Добавить контакт"</string>
<string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Добавить в контакты <xliff:g id="EMAIL">%s</xliff:g>?"</string>
<string name="description_image_button_one" msgid="1740638037139856139">"один"</string>
<string name="description_image_button_two" msgid="5882638439003731308">"два"</string>
@@ -209,11 +208,8 @@
<string name="description_minus_button" msgid="387136707700230172">"минус"</string>
<string name="description_plus_button" msgid="515164827856229880">"плюс"</string>
<string name="description_view_contact_detail" msgid="9133251213656414807">"Данные контакта"</string>
- <string name="no_sdcard_title" product="nosdcard" msgid="8543619259870877473">"Накопитель недоступен"</string>
- <string name="no_sdcard_title" product="default" msgid="5911758680339949273">"Нет SD-карты"</string>
<string name="no_sdcard_message" product="nosdcard" msgid="5242558018442357189">"Хранилище не найдено."</string>
<string name="no_sdcard_message" product="default" msgid="3357810406684913482">"SD-карта не обнаружена."</string>
- <string name="searching_vcard_title" msgid="4970508055399376813">"Поиск vCard"</string>
<string name="import_from_sim" msgid="3859272228033941659">"Импортировать с SIM-карты"</string>
<string name="import_from_sdcard" product="default" msgid="8668347930577565175">"Импорт из накопителя"</string>
<string name="export_to_sdcard" product="default" msgid="6092815580965201089">"Экспорт на накопитель"</string>
@@ -223,8 +219,6 @@
<string name="import_all_vcard_string" msgid="5518136113853448474">"Импорт всех файлов VCard"</string>
<string name="searching_vcard_message" product="nosdcard" msgid="557077639409584945">"Поиск данных vCard на накопителе..."</string>
<string name="searching_vcard_message" product="default" msgid="3962269894118092049">"Поиск данных vCard на SD-карте..."</string>
- <string name="scanning_sdcard_failed_title" product="nosdcard" msgid="4944932641334764942">"Накопитель не просканирован"</string>
- <string name="scanning_sdcard_failed_title" product="default" msgid="6664940444476572612">"SD-карта не просканирована"</string>
<string name="scanning_sdcard_failed_message" product="nosdcard" msgid="7221682312959229201">"Не удалось просканировать накопитель. Причина: <xliff:g id="FAIL_REASON">%s</xliff:g>"</string>
<string name="scanning_sdcard_failed_message" product="default" msgid="189023067829510792">"Не удалось просканировать SD-карту. Причина: <xliff:g id="FAIL_REASON">%s</xliff:g>"</string>
<string name="fail_reason_io_error" msgid="6748358842976073255">"Ошибка ввода-вывода"</string>
@@ -273,9 +267,7 @@
<string name="composer_not_initialized" msgid="2321648986367005254">"Сбой при запуске редактора vCard."</string>
<string name="fail_reason_could_not_open_file" msgid="2067725459821997463">"Не удалось открыть файл \"<xliff:g id="FILE_NAME">%s</xliff:g>\". Причина: <xliff:g id="EXACT_REASON">%s</xliff:g>"</string>
<string name="exporting_contact_list_progress" msgid="560522409559101193">"Контакт <xliff:g id="CURRENT_NUMBER">%s</xliff:g> из <xliff:g id="TOTAL_NUMBER">%s</xliff:g>"</string>
- <string name="cancel_import_confirmation_title" msgid="5578683596010294836">"Отмена импорта vCard"</string>
<string name="cancel_import_confirmation_message" msgid="3929951040347726757">"Отменить импорт файла \"<xliff:g id="FILENAME">%s</xliff:g>\"?"</string>
- <string name="cancel_export_confirmation_title" msgid="6516467140276768528">"Отмена экспорта vCard"</string>
<string name="cancel_export_confirmation_message" msgid="1995462401949262638">"Отменить экспорт файла \"<xliff:g id="FILENAME">%s</xliff:g>\"?"</string>
<string name="cancel_vcard_import_or_export_failed" msgid="6139900383366166706">"Не удалось отменить импорт/экспорт vCard"</string>
<string name="search_settings_description" msgid="2675223022992445813">"Имена контактов"</string>
@@ -441,9 +433,7 @@
<item quantity="other" msgid="425683718017380845">"объединено из нескольких источников (<xliff:g id="COUNT">%0$d</xliff:g>)"</item>
</plurals>
<string name="local_invisible_directory" msgid="6046691709127661065">"Другое"</string>
- <string name="aggregation_suggestion_join_dialog_title" msgid="5276699501316246253">"Объединить контакты"</string>
<string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"Объединить текущий контакт с выбранным контактом?"</string>
- <string name="aggregation_suggestion_edit_dialog_title" msgid="1064042382692091314">"Редактировать выбранные контакты"</string>
<string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"Переключиться на редактирование выбранного контакта? Введенная информация будет скопирована."</string>
<string name="menu_copyContact" msgid="1573960845106822639">"Копировать в \"Мои контакты\""</string>
<string name="add_to_my_contacts" msgid="1068274916793627723">"Добавить в группу \"Мои контакты\""</string>
@@ -478,7 +468,6 @@
<string name="contacts_unavailable_import_contacts" msgid="4456440183590517471">"Импорт контактов из файла"</string>
<string name="create_group_dialog_title" msgid="6874527142828424475">"Создание новой группы"</string>
<string name="create_group_item_label" msgid="5218022006186243310">"[Создать новую группу]"</string>
- <string name="delete_group_dialog_title" msgid="7368429698398624427">"Удаление группы"</string>
<plurals name="num_groups_in_account">
<item quantity="one" msgid="2944819210288517794">"1 группа"</item>
<item quantity="other" msgid="1276758425904917367">"Групп: <xliff:g id="COUNT">%0$d</xliff:g>"</item>
@@ -497,7 +486,6 @@
<string name="set_default" msgid="4417505153468300351">"Установить по умолчанию"</string>
<string name="clear_default" msgid="7193185801596678067">"Удалить настройки по умолчанию"</string>
<string name="toast_text_copied" msgid="5143776250008541719">"Текст скопирован"</string>
- <string name="cancel_confirmation_dialog_title" msgid="3950463632415908534">"Отмена изменений"</string>
<string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"Отменить изменения?"</string>
<string name="call_type_and_date" msgid="1766269584078149149">"<xliff:g id="CALL_TYPE">%1$s</xliff:g>, <xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g>"</string>
<string name="profile_display_name" msgid="4127389543625918771">"Настроить профиль"</string>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index 831be68..81ae771 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -41,7 +41,8 @@
<string name="menu_search" msgid="9147752853603483719">"Hľadať"</string>
<string name="menu_newContact" msgid="1209922412763274638">"Nový kontakt"</string>
<string name="menu_viewContact" msgid="2795575601596468581">"Zobraziť kontakt"</string>
- <string name="menu_callNumber" msgid="5142851348489387516">"Zavolať kontakt <xliff:g id="NAME">%s</xliff:g>"</string>
+ <!-- no translation found for menu_callNumber (997146291983360266) -->
+ <skip />
<string name="menu_addStar" msgid="2908478235715404876">"Pridať medzi obľúbené položky"</string>
<string name="menu_removeStar" msgid="5844227078364227030">"Odstrániť z obľúbených"</string>
<string name="menu_editContact" msgid="9042415603857662633">"Upraviť"</string>
@@ -62,7 +63,6 @@
<string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Navrhnuté kontakty"</string>
<string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Všetky kontakty"</string>
<string name="contactsJoinedMessage" msgid="7208148163607047389">"Kontakty boli spojené"</string>
- <string name="deleteConfirmation_title" msgid="1418215926447642260">"Odstrániť kontakt?"</string>
<string name="menu_set_ring_tone" msgid="8728345772068064946">"Nastaviť zvonenie"</string>
<string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Všetky hovory do hl. schránky"</string>
<string name="readOnlyContactWarning" msgid="7808825687289848259">"Z účtov, ktoré sú iba na čítanie, nie je možné odstrániť kontakty. Tieto kontakty však môžete v zozname kontaktov skryť."</string>
@@ -186,7 +186,6 @@
<string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> min <xliff:g id="SECONDS">%s</xliff:g> s"</string>
<string name="favoritesFrequentContacted" msgid="6184232487472425690">"Najčastejšie používané kontakty"</string>
<string name="favoritesFrequentCalled" msgid="6128306889600696124">"Najčastejšie volané kontakty"</string>
- <string name="add_contact_dlg_title" msgid="2896685845822146494">"Pridať kontakt"</string>
<string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Chcete pridať „<xliff:g id="EMAIL">%s</xliff:g>“ medzi kontakty?"</string>
<string name="description_image_button_one" msgid="1740638037139856139">"jedna"</string>
<string name="description_image_button_two" msgid="5882638439003731308">"dva"</string>
@@ -209,11 +208,8 @@
<string name="description_minus_button" msgid="387136707700230172">"mínus"</string>
<string name="description_plus_button" msgid="515164827856229880">"plus"</string>
<string name="description_view_contact_detail" msgid="9133251213656414807">"Zobraziť kontakt"</string>
- <string name="no_sdcard_title" product="nosdcard" msgid="8543619259870877473">"Uklad. pr. je nedostupný"</string>
- <string name="no_sdcard_title" product="default" msgid="5911758680339949273">"Žiadna karta SD"</string>
<string name="no_sdcard_message" product="nosdcard" msgid="5242558018442357189">"Ukladací priestor sa nenašiel."</string>
<string name="no_sdcard_message" product="default" msgid="3357810406684913482">"Nenašla sa žiadna karta SD."</string>
- <string name="searching_vcard_title" msgid="4970508055399376813">"Vyhľadávanie karty vCard"</string>
<string name="import_from_sim" msgid="3859272228033941659">"Importovať z karty SIM"</string>
<string name="import_from_sdcard" product="default" msgid="8668347930577565175">"Import z ukl. priestoru"</string>
<string name="export_to_sdcard" product="default" msgid="6092815580965201089">"Export do uklad. priest."</string>
@@ -223,8 +219,6 @@
<string name="import_all_vcard_string" msgid="5518136113853448474">"Importovať všetky súbory vCard"</string>
<string name="searching_vcard_message" product="nosdcard" msgid="557077639409584945">"Prebieha hľadanie údajov vizitky vCard v ukladacom priestore..."</string>
<string name="searching_vcard_message" product="default" msgid="3962269894118092049">"Prebieha hľadanie údajov vizitky vCard na karte SD..."</string>
- <string name="scanning_sdcard_failed_title" product="nosdcard" msgid="4944932641334764942">"Nepodarilo sa prehľadať ukladací priestor"</string>
- <string name="scanning_sdcard_failed_title" product="default" msgid="6664940444476572612">"Nepodarilo sa prehľadať kartu SD"</string>
<string name="scanning_sdcard_failed_message" product="nosdcard" msgid="7221682312959229201">"Ukladací priestor sa nepodarilo prehľadať. (Dôvod: „<xliff:g id="FAIL_REASON">%s</xliff:g>“)"</string>
<string name="scanning_sdcard_failed_message" product="default" msgid="189023067829510792">"Kartu SD sa nepodarilo prehľadať. (Dôvod: „<xliff:g id="FAIL_REASON">%s</xliff:g>“)"</string>
<string name="fail_reason_io_error" msgid="6748358842976073255">"Chyba I/O"</string>
@@ -273,9 +267,7 @@
<string name="composer_not_initialized" msgid="2321648986367005254">"Nástroj na tvorbu vizitiek vCard sa nespustil správne."</string>
<string name="fail_reason_could_not_open_file" msgid="2067725459821997463">"Súbor „<xliff:g id="FILE_NAME">%s</xliff:g>“ sa nepodarilo otvoriť: <xliff:g id="EXACT_REASON">%s</xliff:g>"</string>
<string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> z <xliff:g id="TOTAL_NUMBER">%s</xliff:g> kontaktov"</string>
- <string name="cancel_import_confirmation_title" msgid="5578683596010294836">"Prebieha rušenie importu vizitky vCard"</string>
<string name="cancel_import_confirmation_message" msgid="3929951040347726757">"Zrušiť importovanie súboru <xliff:g id="FILENAME">%s</xliff:g>?"</string>
- <string name="cancel_export_confirmation_title" msgid="6516467140276768528">"Prebieha rušenie exportu vizitky vCard"</string>
<string name="cancel_export_confirmation_message" msgid="1995462401949262638">"Zrušiť exportovanie súboru <xliff:g id="FILENAME">%s</xliff:g>?"</string>
<string name="cancel_vcard_import_or_export_failed" msgid="6139900383366166706">"Importovanie/exportovanie karty vizitky vCard zlyhalo"</string>
<string name="search_settings_description" msgid="2675223022992445813">"Mená vašich kontaktov"</string>
@@ -441,9 +433,7 @@
<item quantity="other" msgid="425683718017380845">"zlúčené z <xliff:g id="COUNT">%0$d</xliff:g> zdrojov"</item>
</plurals>
<string name="local_invisible_directory" msgid="6046691709127661065">"Iné"</string>
- <string name="aggregation_suggestion_join_dialog_title" msgid="5276699501316246253">"Spojiť kontakty"</string>
<string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"Spojiť aktuálny kontakt s vybraným kontaktom?"</string>
- <string name="aggregation_suggestion_edit_dialog_title" msgid="1064042382692091314">"Upraviť vybrané kontakty"</string>
<string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"Prepnúť do režimu úpravy vybraného kontaktu? Doposiaľ zadané informácie budú skopírované."</string>
<string name="menu_copyContact" msgid="1573960845106822639">"Skopírovať do priečinka Moje kontakty"</string>
<string name="add_to_my_contacts" msgid="1068274916793627723">"Pridať medzi moje kontakty"</string>
@@ -478,7 +468,6 @@
<string name="contacts_unavailable_import_contacts" msgid="4456440183590517471">"Importovať kontakty zo súboru"</string>
<string name="create_group_dialog_title" msgid="6874527142828424475">"Vytvoriť novú skupinu"</string>
<string name="create_group_item_label" msgid="5218022006186243310">"[Vytvoriť novú skupinu]"</string>
- <string name="delete_group_dialog_title" msgid="7368429698398624427">"Odstrániť skupinu"</string>
<plurals name="num_groups_in_account">
<item quantity="one" msgid="2944819210288517794">"Počet skupín: 1"</item>
<item quantity="other" msgid="1276758425904917367">"Počet skupín: <xliff:g id="COUNT">%0$d</xliff:g>"</item>
@@ -497,7 +486,6 @@
<string name="set_default" msgid="4417505153468300351">"Nastaviť ako predvolené"</string>
<string name="clear_default" msgid="7193185801596678067">"Vymazať predvolené nastavenia"</string>
<string name="toast_text_copied" msgid="5143776250008541719">"Text bol skopírovaný"</string>
- <string name="cancel_confirmation_dialog_title" msgid="3950463632415908534">"Zahodiť zmeny"</string>
<string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"Zahodiť zmeny?"</string>
<string name="call_type_and_date" msgid="1766269584078149149">"<xliff:g id="CALL_TYPE">%1$s</xliff:g> <xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g>"</string>
<string name="profile_display_name" msgid="4127389543625918771">"Nastaviť môj profil"</string>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index 7c988e3..dc4df67 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -41,7 +41,8 @@
<string name="menu_search" msgid="9147752853603483719">"Iskanje"</string>
<string name="menu_newContact" msgid="1209922412763274638">"Nov stik"</string>
<string name="menu_viewContact" msgid="2795575601596468581">"Ogled stika"</string>
- <string name="menu_callNumber" msgid="5142851348489387516">"Pokliči <xliff:g id="NAME">%s</xliff:g>"</string>
+ <!-- no translation found for menu_callNumber (997146291983360266) -->
+ <skip />
<string name="menu_addStar" msgid="2908478235715404876">"Dodaj k priljubljenim"</string>
<string name="menu_removeStar" msgid="5844227078364227030">"Odstrani iz priljubljenih"</string>
<string name="menu_editContact" msgid="9042415603857662633">"Uredi"</string>
@@ -62,7 +63,6 @@
<string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Predlagani stiki"</string>
<string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Vsi stiki"</string>
<string name="contactsJoinedMessage" msgid="7208148163607047389">"Stiki pridruženi"</string>
- <string name="deleteConfirmation_title" msgid="1418215926447642260">"Želite izbris. stik?"</string>
<string name="menu_set_ring_tone" msgid="8728345772068064946">"Nastavi zvonj."</string>
<string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Vsi klici na odzivnik"</string>
<string name="readOnlyContactWarning" msgid="7808825687289848259">"Iz računov samo za branje stikov ni mogoče izbrisati, lahko pa jih skrijete na seznamih stikov."</string>
@@ -186,7 +186,6 @@
<string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> min, <xliff:g id="SECONDS">%s</xliff:g> s"</string>
<string name="favoritesFrequentContacted" msgid="6184232487472425690">"Pogosti stiki"</string>
<string name="favoritesFrequentCalled" msgid="6128306889600696124">"Pogosto klicani"</string>
- <string name="add_contact_dlg_title" msgid="2896685845822146494">"Dodaj stik"</string>
<string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Želite »<xliff:g id="EMAIL">%s</xliff:g>« dodati stikom?"</string>
<string name="description_image_button_one" msgid="1740638037139856139">"ena"</string>
<string name="description_image_button_two" msgid="5882638439003731308">"dva"</string>
@@ -209,11 +208,8 @@
<string name="description_minus_button" msgid="387136707700230172">"minus"</string>
<string name="description_plus_button" msgid="515164827856229880">"plus"</string>
<string name="description_view_contact_detail" msgid="9133251213656414807">"Ogled stika"</string>
- <string name="no_sdcard_title" product="nosdcard" msgid="8543619259870877473">"Pomnilnik ni na voljo"</string>
- <string name="no_sdcard_title" product="default" msgid="5911758680339949273">"Ni kartice SD"</string>
<string name="no_sdcard_message" product="nosdcard" msgid="5242558018442357189">"Shrambe ni bilo mogoče najti."</string>
<string name="no_sdcard_message" product="default" msgid="3357810406684913482">"Kartice SD ni mogoče najti"</string>
- <string name="searching_vcard_title" msgid="4970508055399376813">"Iskanje vizitke vCard"</string>
<string name="import_from_sim" msgid="3859272228033941659">"Uvozi s kartice SIM"</string>
<string name="import_from_sdcard" product="default" msgid="8668347930577565175">"Uvoz iz pomnilnika"</string>
<string name="export_to_sdcard" product="default" msgid="6092815580965201089">"Izvoz v pomnilnik"</string>
@@ -223,8 +219,6 @@
<string name="import_all_vcard_string" msgid="5518136113853448474">"Uvozi vse datoteke vCard"</string>
<string name="searching_vcard_message" product="nosdcard" msgid="557077639409584945">"Iskanje podatkov vCard v pomnilniku ..."</string>
<string name="searching_vcard_message" product="default" msgid="3962269894118092049">"Iskanje podatkov vCard na kartici SD ..."</string>
- <string name="scanning_sdcard_failed_title" product="nosdcard" msgid="4944932641334764942">"Pomnilnika ni bilo mogoče pregledati"</string>
- <string name="scanning_sdcard_failed_title" product="default" msgid="6664940444476572612">"Kartice SD ni bilo mogoče pregledati"</string>
<string name="scanning_sdcard_failed_message" product="nosdcard" msgid="7221682312959229201">"Shrambe ni bilo mogoče pregledati. (Razlog: »<xliff:g id="FAIL_REASON">%s</xliff:g>«)"</string>
<string name="scanning_sdcard_failed_message" product="default" msgid="189023067829510792">"Kartice SD ni bilo mogoče pregledati. (Razlog: »<xliff:g id="FAIL_REASON">%s</xliff:g>«)"</string>
<string name="fail_reason_io_error" msgid="6748358842976073255">"Napaka I/O"</string>
@@ -273,9 +267,7 @@
<string name="composer_not_initialized" msgid="2321648986367005254">"Urejevalnik za vCard se ni pravilno zagnal."</string>
<string name="fail_reason_could_not_open_file" msgid="2067725459821997463">"Datoteke »<xliff:g id="FILE_NAME">%s</xliff:g>« ni bilo mogoče odpreti: <xliff:g id="EXACT_REASON">%s</xliff:g>."</string>
<string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> od <xliff:g id="TOTAL_NUMBER">%s</xliff:g> stikov"</string>
- <string name="cancel_import_confirmation_title" msgid="5578683596010294836">"Preklic uvoza kart. vCard"</string>
<string name="cancel_import_confirmation_message" msgid="3929951040347726757">"Želite preklicati izvoz datoteke <xliff:g id="FILENAME">%s</xliff:g>?"</string>
- <string name="cancel_export_confirmation_title" msgid="6516467140276768528">"Preklic izvoza kart. vCard"</string>
<string name="cancel_export_confirmation_message" msgid="1995462401949262638">"Želite preklicati izvoz datoteke <xliff:g id="FILENAME">%s</xliff:g>?"</string>
<string name="cancel_vcard_import_or_export_failed" msgid="6139900383366166706">"Uvoza/izvoza vCard ni mogoče preklicati"</string>
<string name="search_settings_description" msgid="2675223022992445813">"Imena stikov"</string>
@@ -441,9 +433,7 @@
<item quantity="other" msgid="425683718017380845">"spojeno iz <xliff:g id="COUNT">%0$d</xliff:g> virov"</item>
</plurals>
<string name="local_invisible_directory" msgid="6046691709127661065">"Drugo"</string>
- <string name="aggregation_suggestion_join_dialog_title" msgid="5276699501316246253">"Združevanje stikov"</string>
<string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"Želite združiti stik z izbranim stikom?"</string>
- <string name="aggregation_suggestion_edit_dialog_title" msgid="1064042382692091314">"Uredi izbrane stike"</string>
<string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"Želite urejati izbrani stik? Podatki, ki ste jih doslej vnesli, bodo kopirani."</string>
<string name="menu_copyContact" msgid="1573960845106822639">"Kopiraj v moje stike"</string>
<string name="add_to_my_contacts" msgid="1068274916793627723">"Dodaj v skupino »Moji stiki«"</string>
@@ -478,7 +468,6 @@
<string name="contacts_unavailable_import_contacts" msgid="4456440183590517471">"Uvoz stikov iz datoteke"</string>
<string name="create_group_dialog_title" msgid="6874527142828424475">"Ustvarjanje nove skupine"</string>
<string name="create_group_item_label" msgid="5218022006186243310">"[Ustvarjanje nove skupine]"</string>
- <string name="delete_group_dialog_title" msgid="7368429698398624427">"Izbris skupine"</string>
<plurals name="num_groups_in_account">
<item quantity="one" msgid="2944819210288517794">"1 skupina"</item>
<item quantity="other" msgid="1276758425904917367">"Št. skupin: <xliff:g id="COUNT">%0$d</xliff:g>"</item>
@@ -497,7 +486,6 @@
<string name="set_default" msgid="4417505153468300351">"Nastavi za privzeto"</string>
<string name="clear_default" msgid="7193185801596678067">"Počisti privzeto"</string>
<string name="toast_text_copied" msgid="5143776250008541719">"Besedilo kopirano"</string>
- <string name="cancel_confirmation_dialog_title" msgid="3950463632415908534">"Zavrzi spremembe"</string>
<string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"Ali želite zavreči spremembe?"</string>
<string name="call_type_and_date" msgid="1766269584078149149">"<xliff:g id="CALL_TYPE">%1$s</xliff:g> <xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g>"</string>
<string name="profile_display_name" msgid="4127389543625918771">"Nastavi moj profil"</string>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index 5b85e52..2e67f6d 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -41,7 +41,8 @@
<string name="menu_search" msgid="9147752853603483719">"Претрага"</string>
<string name="menu_newContact" msgid="1209922412763274638">"Нови контакт"</string>
<string name="menu_viewContact" msgid="2795575601596468581">"Прикажи контакт"</string>
- <string name="menu_callNumber" msgid="5142851348489387516">"Позови <xliff:g id="NAME">%s</xliff:g>"</string>
+ <!-- no translation found for menu_callNumber (997146291983360266) -->
+ <skip />
<string name="menu_addStar" msgid="2908478235715404876">"Додај у омиљене контакте"</string>
<string name="menu_removeStar" msgid="5844227078364227030">"Уклони из омиљених контаката"</string>
<string name="menu_editContact" msgid="9042415603857662633">"Измени"</string>
@@ -62,7 +63,6 @@
<string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Предложени контакти"</string>
<string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Сви контакти"</string>
<string name="contactsJoinedMessage" msgid="7208148163607047389">"Придружени контакти"</string>
- <string name="deleteConfirmation_title" msgid="1418215926447642260">"Желите ли да избришете контакт?"</string>
<string name="menu_set_ring_tone" msgid="8728345772068064946">"Подеси мелодију звона"</string>
<string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Сви позиви у говорну пошту"</string>
<string name="readOnlyContactWarning" msgid="7808825687289848259">"Контакте у оквиру налога који су само за читање не можете да избришете, али можете да их сакријете на листи контаката."</string>
@@ -186,7 +186,6 @@
<string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> мин <xliff:g id="SECONDS">%s</xliff:g> сек"</string>
<string name="favoritesFrequentContacted" msgid="6184232487472425690">"Често контактирани"</string>
<string name="favoritesFrequentCalled" msgid="6128306889600696124">"Често позивани"</string>
- <string name="add_contact_dlg_title" msgid="2896685845822146494">"Додај контакт"</string>
<string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Желите ли да додате адресу е-поште „<xliff:g id="EMAIL">%s</xliff:g>“ у контакте?"</string>
<string name="description_image_button_one" msgid="1740638037139856139">"један"</string>
<string name="description_image_button_two" msgid="5882638439003731308">"два"</string>
@@ -209,11 +208,8 @@
<string name="description_minus_button" msgid="387136707700230172">"минус"</string>
<string name="description_plus_button" msgid="515164827856229880">"плус"</string>
<string name="description_view_contact_detail" msgid="9133251213656414807">"Прикажи контакт"</string>
- <string name="no_sdcard_title" product="nosdcard" msgid="8543619259870877473">"Меморија је недоступна"</string>
- <string name="no_sdcard_title" product="default" msgid="5911758680339949273">"Нема SD картице"</string>
<string name="no_sdcard_message" product="nosdcard" msgid="5242558018442357189">"Није пронађена меморија."</string>
<string name="no_sdcard_message" product="default" msgid="3357810406684913482">"Није пронађена ниједна SD картица."</string>
- <string name="searching_vcard_title" msgid="4970508055399376813">"Претрага дигиталне визиткарте"</string>
<string name="import_from_sim" msgid="3859272228033941659">"Увези са SIM картице"</string>
<string name="import_from_sdcard" product="default" msgid="8668347930577565175">"Увези из меморије"</string>
<string name="export_to_sdcard" product="default" msgid="6092815580965201089">"Извези у меморију"</string>
@@ -223,8 +219,6 @@
<string name="import_all_vcard_string" msgid="5518136113853448474">"Увези све датотеке дигиталних визиткарата"</string>
<string name="searching_vcard_message" product="nosdcard" msgid="557077639409584945">"Тражење података о vCard датотеци у меморији..."</string>
<string name="searching_vcard_message" product="default" msgid="3962269894118092049">"У току је претрага података о vCard датотекама на SD картици..."</string>
- <string name="scanning_sdcard_failed_title" product="nosdcard" msgid="4944932641334764942">"Није било могуће скенирати складиште"</string>
- <string name="scanning_sdcard_failed_title" product="default" msgid="6664940444476572612">"Није било могуће скенирати SD картицу"</string>
<string name="scanning_sdcard_failed_message" product="nosdcard" msgid="7221682312959229201">"Није било могуће скенирати меморију. (Разлог: „<xliff:g id="FAIL_REASON">%s</xliff:g>“)"</string>
<string name="scanning_sdcard_failed_message" product="default" msgid="189023067829510792">"Није било могуће скенирати SD картицу. (Разлог: „<xliff:g id="FAIL_REASON">%s</xliff:g>“)"</string>
<string name="fail_reason_io_error" msgid="6748358842976073255">"I/O грешка"</string>
@@ -273,9 +267,7 @@
<string name="composer_not_initialized" msgid="2321648986367005254">"Програм за израду vCard датотека се није исправно покренуо."</string>
<string name="fail_reason_could_not_open_file" msgid="2067725459821997463">"Није било могуће отворити датотеку „<xliff:g id="FILE_NAME">%s</xliff:g>“: <xliff:g id="EXACT_REASON">%s</xliff:g>"</string>
<string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> од <xliff:g id="TOTAL_NUMBER">%s</xliff:g> контак(а)та"</string>
- <string name="cancel_import_confirmation_title" msgid="5578683596010294836">"Отказивање увоза датотеке"</string>
<string name="cancel_import_confirmation_message" msgid="3929951040347726757">"Желите ли да откажете увоз датотеке <xliff:g id="FILENAME">%s</xliff:g>?"</string>
- <string name="cancel_export_confirmation_title" msgid="6516467140276768528">"Отказивање извоза vCard датотеке"</string>
<string name="cancel_export_confirmation_message" msgid="1995462401949262638">"Желите ли да откажете извоз датотеке <xliff:g id="FILENAME">%s</xliff:g>?"</string>
<string name="cancel_vcard_import_or_export_failed" msgid="6139900383366166706">"Није могуће отказати vCard увоз/извоз"</string>
<string name="search_settings_description" msgid="2675223022992445813">"Имена контаката"</string>
@@ -441,9 +433,7 @@
<item quantity="other" msgid="425683718017380845">"обједињено од <xliff:g id="COUNT">%0$d</xliff:g> извора"</item>
</plurals>
<string name="local_invisible_directory" msgid="6046691709127661065">"Други"</string>
- <string name="aggregation_suggestion_join_dialog_title" msgid="5276699501316246253">"Придружи контакте"</string>
<string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"Желите ли да тренутни контакт придружите изабраном контакту?"</string>
- <string name="aggregation_suggestion_edit_dialog_title" msgid="1064042382692091314">"Измена изабраних контаката"</string>
<string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"Желите ли да пребаците на уређивање изабраног контакта? Биће копиране информације које сте унели до сада."</string>
<string name="menu_copyContact" msgid="1573960845106822639">"Копирај у моје контакте"</string>
<string name="add_to_my_contacts" msgid="1068274916793627723">"Додај у Моје контакте"</string>
@@ -478,7 +468,6 @@
<string name="contacts_unavailable_import_contacts" msgid="4456440183590517471">"Увези контакте из датотеке"</string>
<string name="create_group_dialog_title" msgid="6874527142828424475">"Прављење нове групе"</string>
<string name="create_group_item_label" msgid="5218022006186243310">"[Направи нову групу]"</string>
- <string name="delete_group_dialog_title" msgid="7368429698398624427">"Избриши групу"</string>
<plurals name="num_groups_in_account">
<item quantity="one" msgid="2944819210288517794">"1 група"</item>
<item quantity="other" msgid="1276758425904917367">"Група: <xliff:g id="COUNT">%0$d</xliff:g>"</item>
@@ -497,7 +486,6 @@
<string name="set_default" msgid="4417505153468300351">"Постави на подразумевано"</string>
<string name="clear_default" msgid="7193185801596678067">"Обриши подразумевану вредност"</string>
<string name="toast_text_copied" msgid="5143776250008541719">"Текст је копиран"</string>
- <string name="cancel_confirmation_dialog_title" msgid="3950463632415908534">"Одбацивање промена"</string>
<string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"Желите ли да одбаците промене?"</string>
<string name="call_type_and_date" msgid="1766269584078149149">"<xliff:g id="CALL_TYPE">%1$s</xliff:g> <xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g>"</string>
<string name="profile_display_name" msgid="4127389543625918771">"Подеси мој профил"</string>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index 09f3ead..567739f 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -41,7 +41,8 @@
<string name="menu_search" msgid="9147752853603483719">"Sök"</string>
<string name="menu_newContact" msgid="1209922412763274638">"Ny kontakt"</string>
<string name="menu_viewContact" msgid="2795575601596468581">"Visa kontakt"</string>
- <string name="menu_callNumber" msgid="5142851348489387516">"Ring <xliff:g id="NAME">%s</xliff:g>"</string>
+ <!-- no translation found for menu_callNumber (997146291983360266) -->
+ <skip />
<string name="menu_addStar" msgid="2908478235715404876">"Lägg till i Favoriter"</string>
<string name="menu_removeStar" msgid="5844227078364227030">"Ta bort från Favoriter"</string>
<string name="menu_editContact" msgid="9042415603857662633">"Redigera"</string>
@@ -62,7 +63,6 @@
<string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Föreslagna kontakter"</string>
<string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Alla kontakter"</string>
<string name="contactsJoinedMessage" msgid="7208148163607047389">"Deltagande kontakter"</string>
- <string name="deleteConfirmation_title" msgid="1418215926447642260">"Ta bort kontakt?"</string>
<string name="menu_set_ring_tone" msgid="8728345772068064946">"Ställ in ringsignal"</string>
<string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Alla samtal till röstbrevlådan"</string>
<string name="readOnlyContactWarning" msgid="7808825687289848259">"Du kan inte ta bort kontakter från skrivskyddade konton, men du kan dölja dem i kontaktlistorna."</string>
@@ -186,7 +186,6 @@
<string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> minuter <xliff:g id="SECONDS">%s</xliff:g> sekunder"</string>
<string name="favoritesFrequentContacted" msgid="6184232487472425690">"Ofta kontaktade"</string>
<string name="favoritesFrequentCalled" msgid="6128306889600696124">"Ringer ofta"</string>
- <string name="add_contact_dlg_title" msgid="2896685845822146494">"Lägg till kontakt"</string>
<string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Vill du lägga till <xliff:g id="EMAIL">%s</xliff:g> i Kontakter?"</string>
<string name="description_image_button_one" msgid="1740638037139856139">"ett"</string>
<string name="description_image_button_two" msgid="5882638439003731308">"två"</string>
@@ -209,11 +208,8 @@
<string name="description_minus_button" msgid="387136707700230172">"minus"</string>
<string name="description_plus_button" msgid="515164827856229880">"plus"</string>
<string name="description_view_contact_detail" msgid="9133251213656414807">"Visa kontakt"</string>
- <string name="no_sdcard_title" product="nosdcard" msgid="8543619259870877473">"Lagring otillgänglig"</string>
- <string name="no_sdcard_title" product="default" msgid="5911758680339949273">"Inget SD-kort"</string>
<string name="no_sdcard_message" product="nosdcard" msgid="5242558018442357189">"Ingen lagringsenhet hittades."</string>
<string name="no_sdcard_message" product="default" msgid="3357810406684913482">"Inget SD-kort hittades."</string>
- <string name="searching_vcard_title" msgid="4970508055399376813">"Söker efter vCard"</string>
<string name="import_from_sim" msgid="3859272228033941659">"Importera från SIM-kort"</string>
<string name="import_from_sdcard" product="default" msgid="8668347930577565175">"Importera från lagring"</string>
<string name="export_to_sdcard" product="default" msgid="6092815580965201089">"Exportera till lagring"</string>
@@ -223,8 +219,6 @@
<string name="import_all_vcard_string" msgid="5518136113853448474">"Importera alla vCard-filer"</string>
<string name="searching_vcard_message" product="nosdcard" msgid="557077639409584945">"Sökning efter vCard-data på lagringsenheten pågår ..."</string>
<string name="searching_vcard_message" product="default" msgid="3962269894118092049">"Söker efter vCard-data på SD-kort ..."</string>
- <string name="scanning_sdcard_failed_title" product="nosdcard" msgid="4944932641334764942">"Det gick inte att söka igenom lagringsenheten"</string>
- <string name="scanning_sdcard_failed_title" product="default" msgid="6664940444476572612">"Det gick inte att söka igenom SD-kortet"</string>
<string name="scanning_sdcard_failed_message" product="nosdcard" msgid="7221682312959229201">"Det gick inte att skanna lagringsenheten. (Orsak: <xliff:g id="FAIL_REASON">%s</xliff:g>)"</string>
<string name="scanning_sdcard_failed_message" product="default" msgid="189023067829510792">"Det gick inte att skanna SD-kortet. (Orsak: <xliff:g id="FAIL_REASON">%s</xliff:g>)"</string>
<string name="fail_reason_io_error" msgid="6748358842976073255">"I/O-fel"</string>
@@ -273,9 +267,7 @@
<string name="composer_not_initialized" msgid="2321648986367005254">"vCard-kompositören initierades inte korrekt."</string>
<string name="fail_reason_could_not_open_file" msgid="2067725459821997463">"Det gick inte att öppna <xliff:g id="FILE_NAME">%s</xliff:g>: <xliff:g id="EXACT_REASON">%s</xliff:g>."</string>
<string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> av <xliff:g id="TOTAL_NUMBER">%s</xliff:g> kontakter"</string>
- <string name="cancel_import_confirmation_title" msgid="5578683596010294836">"Avbryter vCard-import"</string>
<string name="cancel_import_confirmation_message" msgid="3929951040347726757">"Vill du avbryta importen av <xliff:g id="FILENAME">%s</xliff:g>?"</string>
- <string name="cancel_export_confirmation_title" msgid="6516467140276768528">"Avbryter vCard-export"</string>
<string name="cancel_export_confirmation_message" msgid="1995462401949262638">"Vill du avbryta exporten av <xliff:g id="FILENAME">%s</xliff:g>?"</string>
<string name="cancel_vcard_import_or_export_failed" msgid="6139900383366166706">"Det gick inte att avbryta importen/exporten av vCard"</string>
<string name="search_settings_description" msgid="2675223022992445813">"Dina kontakters namn"</string>
@@ -441,9 +433,7 @@
<item quantity="other" msgid="425683718017380845">"kombinerade från <xliff:g id="COUNT">%0$d</xliff:g> källor"</item>
</plurals>
<string name="local_invisible_directory" msgid="6046691709127661065">"Övrigt"</string>
- <string name="aggregation_suggestion_join_dialog_title" msgid="5276699501316246253">"Kombinera kontakter"</string>
<string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"Vill du kombinera kontakten med den markerade kontakten?"</string>
- <string name="aggregation_suggestion_edit_dialog_title" msgid="1064042382692091314">"Redigera valda kontakter"</string>
<string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"Vill du fortsätta att redigera den markerade kontakten? Information som du har angett hittills kommer att kopieras."</string>
<string name="menu_copyContact" msgid="1573960845106822639">"Kopiera till mina kontakter"</string>
<string name="add_to_my_contacts" msgid="1068274916793627723">"Lägg till i mina kontakter"</string>
@@ -478,7 +468,6 @@
<string name="contacts_unavailable_import_contacts" msgid="4456440183590517471">"Importera kontakter från en fil"</string>
<string name="create_group_dialog_title" msgid="6874527142828424475">"Skapa ny grupp"</string>
<string name="create_group_item_label" msgid="5218022006186243310">"[Skapa ny grupp]"</string>
- <string name="delete_group_dialog_title" msgid="7368429698398624427">"Radera grupp"</string>
<plurals name="num_groups_in_account">
<item quantity="one" msgid="2944819210288517794">"1 grupp"</item>
<item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> grupper"</item>
@@ -497,7 +486,6 @@
<string name="set_default" msgid="4417505153468300351">"Ange standard"</string>
<string name="clear_default" msgid="7193185801596678067">"Rensa standardinställningar"</string>
<string name="toast_text_copied" msgid="5143776250008541719">"Texten har kopierats"</string>
- <string name="cancel_confirmation_dialog_title" msgid="3950463632415908534">"Ignorera ändringar"</string>
<string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"Vill du ta bort ändringarna?"</string>
<string name="call_type_and_date" msgid="1766269584078149149">"<xliff:g id="CALL_TYPE">%1$s</xliff:g> <xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g>"</string>
<string name="profile_display_name" msgid="4127389543625918771">"Skapa min profil"</string>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index f36a99a..2d34b2c 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -41,7 +41,8 @@
<string name="menu_search" msgid="9147752853603483719">"Tafuta"</string>
<string name="menu_newContact" msgid="1209922412763274638">"Anwani mpya"</string>
<string name="menu_viewContact" msgid="2795575601596468581">"Tazama anwani"</string>
- <string name="menu_callNumber" msgid="5142851348489387516">"Piga simu <xliff:g id="NAME">%s</xliff:g>"</string>
+ <!-- no translation found for menu_callNumber (997146291983360266) -->
+ <skip />
<string name="menu_addStar" msgid="2908478235715404876">"Ongeza kwa vipendwa"</string>
<string name="menu_removeStar" msgid="5844227078364227030">"Ondoa kutoka kwa vipendwa vyako"</string>
<string name="menu_editContact" msgid="9042415603857662633">"Hariri"</string>
@@ -62,7 +63,6 @@
<string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Anwani zilizopendekezwa"</string>
<string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Anwani zote"</string>
<string name="contactsJoinedMessage" msgid="7208148163607047389">"Anwani zimeunganishwa"</string>
- <string name="deleteConfirmation_title" msgid="1418215926447642260">"Futa mwasiliani?"</string>
<string name="menu_set_ring_tone" msgid="8728345772068064946">"Weka mlio wa simu"</string>
<string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Simu zote kwa barua ya sauti"</string>
<string name="readOnlyContactWarning" msgid="7808825687289848259">"Huwezi kufuta anwani kutoka kwa akaunti ya kusoma-tu, lakini unaweza kuzificha katika orodha zako za anwani."</string>
@@ -186,7 +186,6 @@
<string name="callDetailsDurationFormat" msgid="8157706382818184268">"Dakika <xliff:g id="MINUTES">%s</xliff:g> sekunde <xliff:g id="SECONDS">%s</xliff:g>"</string>
<string name="favoritesFrequentContacted" msgid="6184232487472425690">"Unaowasiliana nao zaidi"</string>
<string name="favoritesFrequentCalled" msgid="6128306889600696124">"Zinazopigwa mara kwa mara"</string>
- <string name="add_contact_dlg_title" msgid="2896685845822146494">"Ongeza anwani"</string>
<string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Ongeza \"<xliff:g id="EMAIL">%s</xliff:g>\" kwa anwani?"</string>
<string name="description_image_button_one" msgid="1740638037139856139">"moja"</string>
<string name="description_image_button_two" msgid="5882638439003731308">"mbili"</string>
@@ -209,11 +208,8 @@
<string name="description_minus_button" msgid="387136707700230172">"kutoa"</string>
<string name="description_plus_button" msgid="515164827856229880">"jumlisha"</string>
<string name="description_view_contact_detail" msgid="9133251213656414807">"Angalia anwani"</string>
- <string name="no_sdcard_title" product="nosdcard" msgid="8543619259870877473">"Hifadhi haipatikani"</string>
- <string name="no_sdcard_title" product="default" msgid="5911758680339949273">"Hakuna kadi ya SD"</string>
<string name="no_sdcard_message" product="nosdcard" msgid="5242558018442357189">"Hakuna hifadhi iliyopatikana."</string>
<string name="no_sdcard_message" product="default" msgid="3357810406684913482">"Hakuna kadi ya SD iliyopatikana."</string>
- <string name="searching_vcard_title" msgid="4970508055399376813">"Inatafuta vCard"</string>
<string name="import_from_sim" msgid="3859272228033941659">"Ingiza kutoka kwa SIM kadi"</string>
<string name="import_from_sdcard" product="default" msgid="8668347930577565175">"Leta kutoka kwa hifadhi"</string>
<string name="export_to_sdcard" product="default" msgid="6092815580965201089">"Hamisha kwa hifadhi"</string>
@@ -223,8 +219,6 @@
<string name="import_all_vcard_string" msgid="5518136113853448474">"Ingiza faili zote za vKadi"</string>
<string name="searching_vcard_message" product="nosdcard" msgid="557077639409584945">"Inatafuta data ya vCard katika hifadhi..."</string>
<string name="searching_vcard_message" product="default" msgid="3962269894118092049">"Inatafuta data ya vKadi kwenye kadi ya SD"</string>
- <string name="scanning_sdcard_failed_title" product="nosdcard" msgid="4944932641334764942">"Haikuweza kusafisha hifadhi"</string>
- <string name="scanning_sdcard_failed_title" product="default" msgid="6664940444476572612">"Haikuweza kusafisha kadi ya SD"</string>
<string name="scanning_sdcard_failed_message" product="nosdcard" msgid="7221682312959229201">"Hifadhi haiku tambazwa. (Sababu: \"<xliff:g id="FAIL_REASON">%s</xliff:g>\")"</string>
<string name="scanning_sdcard_failed_message" product="default" msgid="189023067829510792">"Kadi ya SD haikutambazwa.(Sababu: \" <xliff:g id="FAIL_REASON">%s</xliff:g> \")"</string>
<string name="fail_reason_io_error" msgid="6748358842976073255">"Hitilafu ya I/O"</string>
@@ -275,9 +269,7 @@
<string name="composer_not_initialized" msgid="2321648986367005254">"Kitunzi cha vCard hakikuanza vizuri."</string>
<string name="fail_reason_could_not_open_file" msgid="2067725459821997463">"Haikuweza kufungua \"{<xliff:g id="FILE_NAME">%s</xliff:g>\": <xliff:g id="EXACT_REASON">%s</xliff:g>."</string>
<string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> ya anwani <xliff:g id="TOTAL_NUMBER">%s</xliff:g>"</string>
- <string name="cancel_import_confirmation_title" msgid="5578683596010294836">"Inaghairi uletaji vCard"</string>
<string name="cancel_import_confirmation_message" msgid="3929951040347726757">"Ghairi kuletwa kwa <xliff:g id="FILENAME">%s</xliff:g>?"</string>
- <string name="cancel_export_confirmation_title" msgid="6516467140276768528">"Inaghairi uhamishaji wa vCard"</string>
<string name="cancel_export_confirmation_message" msgid="1995462401949262638">"Ghairi kuhamishwa kwa <xliff:g id="FILENAME">%s</xliff:g>?"</string>
<string name="cancel_vcard_import_or_export_failed" msgid="6139900383366166706">"Haikuweza kughairiwa kuleta/kuhamisha vCard"</string>
<string name="search_settings_description" msgid="2675223022992445813">"Majina ya anwani zako"</string>
@@ -443,9 +435,7 @@
<item quantity="other" msgid="425683718017380845">"Zimeunganishwa kutoka kwa nyenzo <xliff:g id="COUNT">%0$d</xliff:g>"</item>
</plurals>
<string name="local_invisible_directory" msgid="6046691709127661065">"Nyingineyo"</string>
- <string name="aggregation_suggestion_join_dialog_title" msgid="5276699501316246253">"Unganisha anwani"</string>
<string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"Unganisha anwani ya sasa na anwani iliyochaguliwa?"</string>
- <string name="aggregation_suggestion_edit_dialog_title" msgid="1064042382692091314">"Hariri majina yaliyochaguliwa"</string>
<string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"Badilisha kwa hariri anwani iliyochaguliwa? Maelezo uliyoyaingiza hadi sasa yatanakiliwa."</string>
<string name="menu_copyContact" msgid="1573960845106822639">"Nakili kwa Anwani Zangu"</string>
<string name="add_to_my_contacts" msgid="1068274916793627723">"Ongeza kwa Anwani Zangu"</string>
@@ -480,7 +470,6 @@
<string name="contacts_unavailable_import_contacts" msgid="4456440183590517471">"Leta anwani kutoka kwa faili"</string>
<string name="create_group_dialog_title" msgid="6874527142828424475">"Unda kikundi kipya"</string>
<string name="create_group_item_label" msgid="5218022006186243310">"[Unda kikundi kipya]"</string>
- <string name="delete_group_dialog_title" msgid="7368429698398624427">"Futa kikundi"</string>
<plurals name="num_groups_in_account">
<item quantity="one" msgid="2944819210288517794">"Kikundi 1"</item>
<item quantity="other" msgid="1276758425904917367">"Vikundi <xliff:g id="COUNT">%0$d</xliff:g>"</item>
@@ -499,7 +488,6 @@
<string name="set_default" msgid="4417505153468300351">"Weka chaguo-msingi"</string>
<string name="clear_default" msgid="7193185801596678067">"Ondoa chaguo-msingi"</string>
<string name="toast_text_copied" msgid="5143776250008541719">"Maandishi yamenakiliwa"</string>
- <string name="cancel_confirmation_dialog_title" msgid="3950463632415908534">"Tupa mabadiliko"</string>
<string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"Tupa mabadiliko yako?"</string>
<string name="call_type_and_date" msgid="1766269584078149149">"Kishika nafasi <xliff:g id="CALL_TYPE">%1$s</xliff:g> <xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g>"</string>
<string name="profile_display_name" msgid="4127389543625918771">"Sanidi maelezo yangu mafupi"</string>
diff --git a/res/values-sw580dp/dimens.xml b/res/values-sw580dp/dimens.xml
index 3d3cb17..264565f 100644
--- a/res/values-sw580dp/dimens.xml
+++ b/res/values-sw580dp/dimens.xml
@@ -38,7 +38,7 @@
<dimen name="contact_browser_list_header_left_margin">@dimen/list_visible_scrollbar_padding</dimen>
<dimen name="contact_browser_list_header_right_margin">24dip</dimen>
<dimen name="list_visible_scrollbar_padding">48dip</dimen>
- <dimen name="account_filter_header_top_padding">@dimen/contact_browser_list_top_margin</dimen>
+ <dimen name="list_header_extra_top_padding">@dimen/contact_browser_list_top_margin</dimen>
<!-- Because the "join" screen has the vertical scroll bar on right,
we cannot use @dimen/contact_browser_list_header_left_margin as is. -->
diff --git a/res/values-sw580dp/styles.xml b/res/values-sw580dp/styles.xml
index bf5b137..2326d5f 100644
--- a/res/values-sw580dp/styles.xml
+++ b/res/values-sw580dp/styles.xml
@@ -95,6 +95,8 @@
<style name="JoinContactActivityTheme" parent="ContactPickerTheme" >
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">match_parent</item>
+ <!-- In the contact picker screen we're using adjustResize but we don't want it here. -->
+ <item name="android:windowSoftInputMode">adjustUnspecified</item>
</style>
<style name="ContactListFilterTheme" parent="@android:Theme.Holo.Light.Dialog">
@@ -113,7 +115,7 @@
<style name="DirectoryHeader" parent="PeopleTheme">
<item name="android:paddingTop">0dip</item>
- <item name="android:paddingBottom">0dip</item>
+
<item name="android:background">@android:color/transparent</item>
</style>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index bc46708..e63b5e3 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -41,7 +41,8 @@
<string name="menu_search" msgid="9147752853603483719">"ค้นหา"</string>
<string name="menu_newContact" msgid="1209922412763274638">"สร้างรายชื่อใหม่"</string>
<string name="menu_viewContact" msgid="2795575601596468581">"ดูสมุดโทรศัพท์"</string>
- <string name="menu_callNumber" msgid="5142851348489387516">"โทรหา <xliff:g id="NAME">%s</xliff:g>"</string>
+ <!-- no translation found for menu_callNumber (997146291983360266) -->
+ <skip />
<string name="menu_addStar" msgid="2908478235715404876">"เพิ่มในรายการโปรด"</string>
<string name="menu_removeStar" msgid="5844227078364227030">"ลบจากรายการโปรด"</string>
<string name="menu_editContact" msgid="9042415603857662633">"แก้ไข"</string>
@@ -62,7 +63,6 @@
<string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"รายชื่อที่แนะนำ"</string>
<string name="separatorJoinAggregateAll" msgid="7939932265026181043">"รายชื่อในสมุดโทรศัพท์ทั้งหมด"</string>
<string name="contactsJoinedMessage" msgid="7208148163607047389">"รายชื่อที่รวมกัน"</string>
- <string name="deleteConfirmation_title" msgid="1418215926447642260">"ลบรายชื่อหรือไม่"</string>
<string name="menu_set_ring_tone" msgid="8728345772068064946">"ตั้งเสียงเรียกเข้า"</string>
<string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"โอนทุกสายไปยังข้อความเสียง"</string>
<string name="readOnlyContactWarning" msgid="7808825687289848259">"คุณไม่สามารถลบรายชื่อติดต่อจากบัญชีแบบอ่านอย่างเดียวได้ แต่ซ่อนไว้ในรายการรายชื่อได้"</string>
@@ -186,7 +186,6 @@
<string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> นาที <xliff:g id="SECONDS">%s</xliff:g> วินาที"</string>
<string name="favoritesFrequentContacted" msgid="6184232487472425690">"ที่ติดต่อบ่อยครั้ง"</string>
<string name="favoritesFrequentCalled" msgid="6128306889600696124">"มีการติดต่อบ่อย"</string>
- <string name="add_contact_dlg_title" msgid="2896685845822146494">"เพิ่มรายชื่อในสมุดโทรศัพท์"</string>
<string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"เพิ่ม \"<xliff:g id="EMAIL">%s</xliff:g>\" ในสมุดโทรศัพท์หรือไม่"</string>
<string name="description_image_button_one" msgid="1740638037139856139">"หนึ่ง"</string>
<string name="description_image_button_two" msgid="5882638439003731308">"สอง"</string>
@@ -209,11 +208,8 @@
<string name="description_minus_button" msgid="387136707700230172">"minus"</string>
<string name="description_plus_button" msgid="515164827856229880">"plus"</string>
<string name="description_view_contact_detail" msgid="9133251213656414807">"ดูรายชื่อติดต่อ"</string>
- <string name="no_sdcard_title" product="nosdcard" msgid="8543619259870877473">"ไม่มีที่เก็บข้อมูล"</string>
- <string name="no_sdcard_title" product="default" msgid="5911758680339949273">"ไม่มีการ์ด SD"</string>
<string name="no_sdcard_message" product="nosdcard" msgid="5242558018442357189">"ไม่พบที่จัดเก็บข้อมูล"</string>
<string name="no_sdcard_message" product="default" msgid="3357810406684913482">"ไม่พบการ์ด SD"</string>
- <string name="searching_vcard_title" msgid="4970508055399376813">"กำลังค้นหา vCard"</string>
<string name="import_from_sim" msgid="3859272228033941659">"นำเข้าจากซิมการ์ด"</string>
<string name="import_from_sdcard" product="default" msgid="8668347930577565175">"นำเข้าจากที่เก็บข้อมูล"</string>
<string name="export_to_sdcard" product="default" msgid="6092815580965201089">"ส่งออกไปยังที่เก็บข้อมูล"</string>
@@ -223,8 +219,6 @@
<string name="import_all_vcard_string" msgid="5518136113853448474">"นำเข้าไฟล์ vCard ทั้งหมด"</string>
<string name="searching_vcard_message" product="nosdcard" msgid="557077639409584945">"กำลังค้นหาข้อมูล vCard ในที่จัดเก็บข้อมูล..."</string>
<string name="searching_vcard_message" product="default" msgid="3962269894118092049">"กำลังค้นหาข้อมูล vCard บนการ์ด SD..."</string>
- <string name="scanning_sdcard_failed_title" product="nosdcard" msgid="4944932641334764942">"ไม่สามารถสแกนที่เก็บข้อมูล"</string>
- <string name="scanning_sdcard_failed_title" product="default" msgid="6664940444476572612">"ไม่สามารถสแกนการ์ด SD"</string>
<string name="scanning_sdcard_failed_message" product="nosdcard" msgid="7221682312959229201">"ไม่สามารถสแกนที่จัดเก็บข้อมูล (สาเหตุ: \"<xliff:g id="FAIL_REASON">%s</xliff:g>\")"</string>
<string name="scanning_sdcard_failed_message" product="default" msgid="189023067829510792">"ไม่สามารถสแกนการ์ด SD (สาเหตุ: \"<xliff:g id="FAIL_REASON">%s</xliff:g>\")"</string>
<string name="fail_reason_io_error" msgid="6748358842976073255">"ข้อผิดพลาด I/O"</string>
@@ -273,9 +267,7 @@
<string name="composer_not_initialized" msgid="2321648986367005254">"โปรแกรมเขียนข้อความ vCard เริ่มการทำงานไม่ถูกต้อง"</string>
<string name="fail_reason_could_not_open_file" msgid="2067725459821997463">"ไม่สามารถเปิด \"<xliff:g id="FILE_NAME">%s</xliff:g>\": <xliff:g id="EXACT_REASON">%s</xliff:g>"</string>
<string name="exporting_contact_list_progress" msgid="560522409559101193">"รายชื่อในสมุดโทรศัพท์ <xliff:g id="CURRENT_NUMBER">%s</xliff:g> จาก <xliff:g id="TOTAL_NUMBER">%s</xliff:g> รายการ"</string>
- <string name="cancel_import_confirmation_title" msgid="5578683596010294836">"การยกเลิกการนำเข้า vCard"</string>
<string name="cancel_import_confirmation_message" msgid="3929951040347726757">"ยกเลิกการนำเข้า <xliff:g id="FILENAME">%s</xliff:g> หรือไม่"</string>
- <string name="cancel_export_confirmation_title" msgid="6516467140276768528">"การยกเลิกการส่งออก vCard"</string>
<string name="cancel_export_confirmation_message" msgid="1995462401949262638">"ยกเลิกการส่งออก <xliff:g id="FILENAME">%s</xliff:g> หรือไม่"</string>
<string name="cancel_vcard_import_or_export_failed" msgid="6139900383366166706">"ไม่สามารถยกเลิกการนำเข้า/ส่งออก vCard"</string>
<string name="search_settings_description" msgid="2675223022992445813">"ชื่อของรายชื่อในสมุดโทรศัพท์ของคุณ"</string>
@@ -441,9 +433,7 @@
<item quantity="other" msgid="425683718017380845">"รวมจากแหล่งที่มา <xliff:g id="COUNT">%0$d</xliff:g> แหล่ง"</item>
</plurals>
<string name="local_invisible_directory" msgid="6046691709127661065">"อื่นๆ"</string>
- <string name="aggregation_suggestion_join_dialog_title" msgid="5276699501316246253">"รวมรายชื่อติดต่อ"</string>
<string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"รวมรายชื่อติดต่อปัจจุบันกับรายชื่อติดต่อที่เลือกหรือไม่"</string>
- <string name="aggregation_suggestion_edit_dialog_title" msgid="1064042382692091314">"แก้ไขรายชื่อติดต่อที่เลือก"</string>
<string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"เปลี่ยนไปแก้ไขรายชื่อติดต่อที่เลือกหรือไม่ ข้อมูลที่คุณป้อนไว้จนถึงขณะนี้จะถูกคัดลอก"</string>
<string name="menu_copyContact" msgid="1573960845106822639">"คัดลอกไปยังสมุดโทรศัพท์ของฉัน"</string>
<string name="add_to_my_contacts" msgid="1068274916793627723">"เพิ่มในสมุดโทรศัพท์ของฉัน"</string>
@@ -478,7 +468,6 @@
<string name="contacts_unavailable_import_contacts" msgid="4456440183590517471">"นำเข้าที่อยู่ติดต่อจากไฟล์"</string>
<string name="create_group_dialog_title" msgid="6874527142828424475">"สร้างกลุ่มใหม่"</string>
<string name="create_group_item_label" msgid="5218022006186243310">"[สร้างกลุ่มใหม่]"</string>
- <string name="delete_group_dialog_title" msgid="7368429698398624427">"ลบกลุ่ม"</string>
<plurals name="num_groups_in_account">
<item quantity="one" msgid="2944819210288517794">"1 กลุ่ม"</item>
<item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> กลุ่ม"</item>
@@ -497,7 +486,6 @@
<string name="set_default" msgid="4417505153468300351">"ตั้งเป็นค่าเริ่มต้น"</string>
<string name="clear_default" msgid="7193185801596678067">"ล้างจากค่าเริ่มต้น"</string>
<string name="toast_text_copied" msgid="5143776250008541719">"คัดลอกข้อความแล้ว"</string>
- <string name="cancel_confirmation_dialog_title" msgid="3950463632415908534">"ยกเลิกการเปลี่ยนแปลง"</string>
<string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"ยกเลิกการเปลี่ยนแปลงหรือไม่"</string>
<string name="call_type_and_date" msgid="1766269584078149149">"<xliff:g id="CALL_TYPE">%1$s</xliff:g> <xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g>"</string>
<string name="profile_display_name" msgid="4127389543625918771">"ตั้งค่าโปรไฟล์ของฉัน"</string>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index 9518b61..5157e30 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -41,7 +41,8 @@
<string name="menu_search" msgid="9147752853603483719">"Paghahanap"</string>
<string name="menu_newContact" msgid="1209922412763274638">"Bagong contact"</string>
<string name="menu_viewContact" msgid="2795575601596468581">"Tingnan ang contact"</string>
- <string name="menu_callNumber" msgid="5142851348489387516">"Tawagan si <xliff:g id="NAME">%s</xliff:g>"</string>
+ <!-- no translation found for menu_callNumber (997146291983360266) -->
+ <skip />
<string name="menu_addStar" msgid="2908478235715404876">"Idagdag sa mga paborito"</string>
<string name="menu_removeStar" msgid="5844227078364227030">"Alisin mula sa mga paborito"</string>
<string name="menu_editContact" msgid="9042415603857662633">"I-edit"</string>
@@ -62,7 +63,6 @@
<string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Mga iminumungkahing contact"</string>
<string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Lahat ng mga contact"</string>
<string name="contactsJoinedMessage" msgid="7208148163607047389">"Mga pinagsamang contact"</string>
- <string name="deleteConfirmation_title" msgid="1418215926447642260">"Tanggalin ang contact?"</string>
<string name="menu_set_ring_tone" msgid="8728345772068064946">"Itakda ang ringtone"</string>
<string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Lahat ng tawag sa voicemail"</string>
<string name="readOnlyContactWarning" msgid="7808825687289848259">"Hindi ka makakapagtanggal ng mga contact mula sa mga read-only na account, ngunit maitatago mo ang mga ito sa iyong mga listahan ng mga contact."</string>
@@ -186,7 +186,6 @@
<string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> (na) min <xliff:g id="SECONDS">%s</xliff:g> (na) seg"</string>
<string name="favoritesFrequentContacted" msgid="6184232487472425690">"Madalas na kino-contact"</string>
<string name="favoritesFrequentCalled" msgid="6128306889600696124">"Madalas na tinatawagan"</string>
- <string name="add_contact_dlg_title" msgid="2896685845822146494">"Magdagdag ng contact"</string>
<string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Idagdag ang \"<xliff:g id="EMAIL">%s</xliff:g>\" sa mga contact?"</string>
<string name="description_image_button_one" msgid="1740638037139856139">"isa"</string>
<string name="description_image_button_two" msgid="5882638439003731308">"dalawa"</string>
@@ -209,11 +208,8 @@
<string name="description_minus_button" msgid="387136707700230172">"minus"</string>
<string name="description_plus_button" msgid="515164827856229880">"plus"</string>
<string name="description_view_contact_detail" msgid="9133251213656414807">"Tingnan ang contact"</string>
- <string name="no_sdcard_title" product="nosdcard" msgid="8543619259870877473">"Hindi available ang imbakan"</string>
- <string name="no_sdcard_title" product="default" msgid="5911758680339949273">"Walang SD card"</string>
<string name="no_sdcard_message" product="nosdcard" msgid="5242558018442357189">"Walang natagpuang storage."</string>
<string name="no_sdcard_message" product="default" msgid="3357810406684913482">"Walang natagpuang SD card."</string>
- <string name="searching_vcard_title" msgid="4970508055399376813">"Paghahanap ng vCard"</string>
<string name="import_from_sim" msgid="3859272228033941659">"I-import mula sa SIM card"</string>
<string name="import_from_sdcard" product="default" msgid="8668347930577565175">"I-import mula sa imbakan"</string>
<string name="export_to_sdcard" product="default" msgid="6092815580965201089">"I-export sa imbakan"</string>
@@ -223,8 +219,6 @@
<string name="import_all_vcard_string" msgid="5518136113853448474">"I-import ang lahat ng mga vCard file"</string>
<string name="searching_vcard_message" product="nosdcard" msgid="557077639409584945">"Naghahanap ng data ng vCard sa storage…"</string>
<string name="searching_vcard_message" product="default" msgid="3962269894118092049">"Naghahanap ng data ng vCard data sa SD card…"</string>
- <string name="scanning_sdcard_failed_title" product="nosdcard" msgid="4944932641334764942">"Hindi ma-scan ang storage"</string>
- <string name="scanning_sdcard_failed_title" product="default" msgid="6664940444476572612">"Hindi ma-scan ang SD card"</string>
<string name="scanning_sdcard_failed_message" product="nosdcard" msgid="7221682312959229201">"Hindi ma-scan ang storage. (Dahilan: \"<xliff:g id="FAIL_REASON">%s</xliff:g>\")"</string>
<string name="scanning_sdcard_failed_message" product="default" msgid="189023067829510792">"Hindi ma-scan ang SD card. (Dahilan: \"<xliff:g id="FAIL_REASON">%s</xliff:g>\")"</string>
<string name="fail_reason_io_error" msgid="6748358842976073255">"I/O na error"</string>
@@ -273,9 +267,7 @@
<string name="composer_not_initialized" msgid="2321648986367005254">"Hindi nagsimula nang tama ang composer ng vCard."</string>
<string name="fail_reason_could_not_open_file" msgid="2067725459821997463">"Hindi mabuksan ang \"<xliff:g id="FILE_NAME">%s</xliff:g>\": <xliff:g id="EXACT_REASON">%s</xliff:g>."</string>
<string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> ng <xliff:g id="TOTAL_NUMBER">%s</xliff:g> (na) contact"</string>
- <string name="cancel_import_confirmation_title" msgid="5578683596010294836">"Pagkansela ng pag-import ng vCard"</string>
<string name="cancel_import_confirmation_message" msgid="3929951040347726757">"Kanselahin ang pag-import ng <xliff:g id="FILENAME">%s</xliff:g>?"</string>
- <string name="cancel_export_confirmation_title" msgid="6516467140276768528">"Pagkansela ng pag-export ng vCard"</string>
<string name="cancel_export_confirmation_message" msgid="1995462401949262638">"Kanselahin ang pag-export ng <xliff:g id="FILENAME">%s</xliff:g>?"</string>
<string name="cancel_vcard_import_or_export_failed" msgid="6139900383366166706">"Di makansela pag-import/pag-export vCard"</string>
<string name="search_settings_description" msgid="2675223022992445813">"Mga pangalan ng iyong mga contact"</string>
@@ -441,9 +433,7 @@
<item quantity="other" msgid="425683718017380845">"pinagsama mula sa <xliff:g id="COUNT">%0$d</xliff:g> (na) pinagmumulan"</item>
</plurals>
<string name="local_invisible_directory" msgid="6046691709127661065">"Iba pa"</string>
- <string name="aggregation_suggestion_join_dialog_title" msgid="5276699501316246253">"Sumali sa mga contact"</string>
<string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"Isama ang kasalukuyang contact sa piniling contact?"</string>
- <string name="aggregation_suggestion_edit_dialog_title" msgid="1064042382692091314">"I-edit ang napiling mga contact"</string>
<string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"Lumipat sa pag-edit ng napiling contact? Kokopyahin ang impormasyong ipinasok mo sa ngayon."</string>
<string name="menu_copyContact" msgid="1573960845106822639">"Kopyahin sa Aking Mga Contact"</string>
<string name="add_to_my_contacts" msgid="1068274916793627723">"Idagdag sa Aking Mga Contact"</string>
@@ -478,7 +468,6 @@
<string name="contacts_unavailable_import_contacts" msgid="4456440183590517471">"Pag-import ng mga contact mula sa isang file"</string>
<string name="create_group_dialog_title" msgid="6874527142828424475">"Lumikha ng bagong pangkat"</string>
<string name="create_group_item_label" msgid="5218022006186243310">"[Lumikha ng bagong pangkat]"</string>
- <string name="delete_group_dialog_title" msgid="7368429698398624427">"Tanggalin ang pangkat"</string>
<plurals name="num_groups_in_account">
<item quantity="one" msgid="2944819210288517794">"1 pangkat"</item>
<item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> (na) pangkat"</item>
@@ -497,7 +486,6 @@
<string name="set_default" msgid="4417505153468300351">"Itakda ang default"</string>
<string name="clear_default" msgid="7193185801596678067">"I-clear ang default"</string>
<string name="toast_text_copied" msgid="5143776250008541719">"Kinopya ang teksto"</string>
- <string name="cancel_confirmation_dialog_title" msgid="3950463632415908534">"Itapon ang mga pagbabago"</string>
<string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"Itapon ang iyong mga pagbabago?"</string>
<string name="call_type_and_date" msgid="1766269584078149149">"<xliff:g id="CALL_TYPE">%1$s</xliff:g> <xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g>"</string>
<string name="profile_display_name" msgid="4127389543625918771">"I-set up ang aking profile"</string>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index 92285fd..917ad02 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -41,7 +41,8 @@
<string name="menu_search" msgid="9147752853603483719">"Ara"</string>
<string name="menu_newContact" msgid="1209922412763274638">"Yeni kişi"</string>
<string name="menu_viewContact" msgid="2795575601596468581">"Kişiyi görüntüle"</string>
- <string name="menu_callNumber" msgid="5142851348489387516">"Ara: <xliff:g id="NAME">%s</xliff:g>"</string>
+ <!-- no translation found for menu_callNumber (997146291983360266) -->
+ <skip />
<string name="menu_addStar" msgid="2908478235715404876">"Sık kullanılanlara ekle"</string>
<string name="menu_removeStar" msgid="5844227078364227030">"Sık kullanılanlardan kaldır"</string>
<string name="menu_editContact" msgid="9042415603857662633">"Düzenle"</string>
@@ -62,7 +63,6 @@
<string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Önerilen kişiler"</string>
<string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Tüm kişiler"</string>
<string name="contactsJoinedMessage" msgid="7208148163607047389">"Kişiler birleştirildi"</string>
- <string name="deleteConfirmation_title" msgid="1418215926447642260">"Kişi silinsin mi?"</string>
<string name="menu_set_ring_tone" msgid="8728345772068064946">"Zil sesi ayarla"</string>
<string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Sesli mesaja gelen tüm çağrlr"</string>
<string name="readOnlyContactWarning" msgid="7808825687289848259">"Kişileri salt okunur hesaplardan silemezsiniz, ancak bu kişileri kişiler listenizde gizleyebilirsiniz."</string>
@@ -186,7 +186,6 @@
<string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> dak <xliff:g id="SECONDS">%s</xliff:g> sn"</string>
<string name="favoritesFrequentContacted" msgid="6184232487472425690">"Sık iletişim kurulanlar"</string>
<string name="favoritesFrequentCalled" msgid="6128306889600696124">"Sık arananlar"</string>
- <string name="add_contact_dlg_title" msgid="2896685845822146494">"Kişi ekle"</string>
<string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"\"<xliff:g id="EMAIL">%s</xliff:g>\" adresi kişilere eklensin mi?"</string>
<string name="description_image_button_one" msgid="1740638037139856139">"bir"</string>
<string name="description_image_button_two" msgid="5882638439003731308">"iki"</string>
@@ -209,11 +208,8 @@
<string name="description_minus_button" msgid="387136707700230172">"eksi"</string>
<string name="description_plus_button" msgid="515164827856229880">"artı"</string>
<string name="description_view_contact_detail" msgid="9133251213656414807">"Kişiyi görüntüle"</string>
- <string name="no_sdcard_title" product="nosdcard" msgid="8543619259870877473">"Depolama birimi yok"</string>
- <string name="no_sdcard_title" product="default" msgid="5911758680339949273">"SD kart yok"</string>
<string name="no_sdcard_message" product="nosdcard" msgid="5242558018442357189">"Depolama birimi bulunamadı."</string>
<string name="no_sdcard_message" product="default" msgid="3357810406684913482">"SD kart bulunamadı."</string>
- <string name="searching_vcard_title" msgid="4970508055399376813">"vCard aranıyor"</string>
<string name="import_from_sim" msgid="3859272228033941659">"SIM karttan içe aktar"</string>
<string name="import_from_sdcard" product="default" msgid="8668347930577565175">"Depl biriminden içe aktar"</string>
<string name="export_to_sdcard" product="default" msgid="6092815580965201089">"Depolama birimine aktar"</string>
@@ -223,8 +219,6 @@
<string name="import_all_vcard_string" msgid="5518136113853448474">"Tüm vCard dosyalarını içe aktar"</string>
<string name="searching_vcard_message" product="nosdcard" msgid="557077639409584945">"Depolama birimindeki vCard verileri aranıyor..."</string>
<string name="searching_vcard_message" product="default" msgid="3962269894118092049">"SD kartta vCard verileri aranıyor..."</string>
- <string name="scanning_sdcard_failed_title" product="nosdcard" msgid="4944932641334764942">"Depolama birimi taranamadı"</string>
- <string name="scanning_sdcard_failed_title" product="default" msgid="6664940444476572612">"SD kart taranamadı"</string>
<string name="scanning_sdcard_failed_message" product="nosdcard" msgid="7221682312959229201">"Depolama biriminiz taranamadı. (Nedeni: \"<xliff:g id="FAIL_REASON">%s</xliff:g>\")"</string>
<string name="scanning_sdcard_failed_message" product="default" msgid="189023067829510792">"SD kart taranamadı. (Nedeni: \"<xliff:g id="FAIL_REASON">%s</xliff:g>\")"</string>
<string name="fail_reason_io_error" msgid="6748358842976073255">"G/Ç Hatası"</string>
@@ -273,9 +267,7 @@
<string name="composer_not_initialized" msgid="2321648986367005254">"vCard oluşturucu düzgün başlamadı."</string>
<string name="fail_reason_could_not_open_file" msgid="2067725459821997463">"\"<xliff:g id="FILE_NAME">%s</xliff:g>\" açılamadı: <xliff:g id="EXACT_REASON">%s</xliff:g>"</string>
<string name="exporting_contact_list_progress" msgid="560522409559101193">"Toplam <xliff:g id="TOTAL_NUMBER">%s</xliff:g> kişiden <xliff:g id="CURRENT_NUMBER">%s</xliff:g> kişi"</string>
- <string name="cancel_import_confirmation_title" msgid="5578683596010294836">"vCard içe aktarmayı iptal etme"</string>
<string name="cancel_import_confirmation_message" msgid="3929951040347726757">"<xliff:g id="FILENAME">%s</xliff:g> dosyasının içe aktarılması iptal edilsin mi?"</string>
- <string name="cancel_export_confirmation_title" msgid="6516467140276768528">"vCard dışa aktarmayı iptal etme"</string>
<string name="cancel_export_confirmation_message" msgid="1995462401949262638">"<xliff:g id="FILENAME">%s</xliff:g> dosyasının dışa aktarılması iptal edilsin mi?"</string>
<string name="cancel_vcard_import_or_export_failed" msgid="6139900383366166706">"İçe/dışa aktrma işlmi iptl edilemedi"</string>
<string name="search_settings_description" msgid="2675223022992445813">"Kişilerinizin adları"</string>
@@ -441,9 +433,7 @@
<item quantity="other" msgid="425683718017380845">"<xliff:g id="COUNT">%0$d</xliff:g> kaynaktan birleştirildi"</item>
</plurals>
<string name="local_invisible_directory" msgid="6046691709127661065">"Diğer"</string>
- <string name="aggregation_suggestion_join_dialog_title" msgid="5276699501316246253">"Kişileri birleştir"</string>
<string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"Mevcut kişi, seçili kişiyle birleştirilsin mi?"</string>
- <string name="aggregation_suggestion_edit_dialog_title" msgid="1064042382692091314">"Seçili kişileri düzenle"</string>
<string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"Seçili kişiyi düzenlemeye geçilsin mi? Şimdiye kadar girdiğiniz bilgiler kopyalanacak."</string>
<string name="menu_copyContact" msgid="1573960845106822639">"Kişilerime kopyala"</string>
<string name="add_to_my_contacts" msgid="1068274916793627723">"Kişilerime ekle"</string>
@@ -478,7 +468,6 @@
<string name="contacts_unavailable_import_contacts" msgid="4456440183590517471">"Bir dosyadaki kişileri içe aktar"</string>
<string name="create_group_dialog_title" msgid="6874527142828424475">"Yeni grup oluştur"</string>
<string name="create_group_item_label" msgid="5218022006186243310">"[Yeni grup oluştur]"</string>
- <string name="delete_group_dialog_title" msgid="7368429698398624427">"Grubu sil"</string>
<plurals name="num_groups_in_account">
<item quantity="one" msgid="2944819210288517794">"1 grup"</item>
<item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> grup"</item>
@@ -497,7 +486,6 @@
<string name="set_default" msgid="4417505153468300351">"Varsayılan olarak ayarla"</string>
<string name="clear_default" msgid="7193185801596678067">"Varsayılanları temizle"</string>
<string name="toast_text_copied" msgid="5143776250008541719">"Metin kopyalandı"</string>
- <string name="cancel_confirmation_dialog_title" msgid="3950463632415908534">"Değişiklikleri sil"</string>
<string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"Değişiklikleriniz silinsin mi?"</string>
<string name="call_type_and_date" msgid="1766269584078149149">"<xliff:g id="CALL_TYPE">%1$s</xliff:g> <xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g>"</string>
<string name="profile_display_name" msgid="4127389543625918771">"Profilimi ayarla"</string>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index dbc26fa..93b3edb 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -41,7 +41,8 @@
<string name="menu_search" msgid="9147752853603483719">"Пошук"</string>
<string name="menu_newContact" msgid="1209922412763274638">"Новий контакт"</string>
<string name="menu_viewContact" msgid="2795575601596468581">"Див. контакт"</string>
- <string name="menu_callNumber" msgid="5142851348489387516">"Набрати <xliff:g id="NAME">%s</xliff:g>"</string>
+ <!-- no translation found for menu_callNumber (997146291983360266) -->
+ <skip />
<string name="menu_addStar" msgid="2908478235715404876">"Додати до вибраного"</string>
<string name="menu_removeStar" msgid="5844227078364227030">"Видалити з вибраного"</string>
<string name="menu_editContact" msgid="9042415603857662633">"Редагувати"</string>
@@ -62,7 +63,6 @@
<string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Пропоновані контакти"</string>
<string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Усі контакти"</string>
<string name="contactsJoinedMessage" msgid="7208148163607047389">"Контакти об\'єднано"</string>
- <string name="deleteConfirmation_title" msgid="1418215926447642260">"Видалити контакт?"</string>
<string name="menu_set_ring_tone" msgid="8728345772068064946">"Установ.мелодію"</string>
<string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Усі виклики на голосову пошту"</string>
<string name="readOnlyContactWarning" msgid="7808825687289848259">"Неможливо видалити контакти з облікових записів \"лише для читання\", але можна сховати їх у списках контактів."</string>
@@ -186,7 +186,6 @@
<string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> хв. <xliff:g id="SECONDS">%s</xliff:g> сек."</string>
<string name="favoritesFrequentContacted" msgid="6184232487472425690">"Часті контакти"</string>
<string name="favoritesFrequentCalled" msgid="6128306889600696124">"Часті виклики"</string>
- <string name="add_contact_dlg_title" msgid="2896685845822146494">"Додати контакт"</string>
<string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Дод.\" <xliff:g id="EMAIL">%s</xliff:g>\" до контактів?"</string>
<string name="description_image_button_one" msgid="1740638037139856139">"один"</string>
<string name="description_image_button_two" msgid="5882638439003731308">"два"</string>
@@ -209,11 +208,8 @@
<string name="description_minus_button" msgid="387136707700230172">"мінус"</string>
<string name="description_plus_button" msgid="515164827856229880">"плюс"</string>
<string name="description_view_contact_detail" msgid="9133251213656414807">"Переглянути контакт"</string>
- <string name="no_sdcard_title" product="nosdcard" msgid="8543619259870877473">"Пам’ять недоступна"</string>
- <string name="no_sdcard_title" product="default" msgid="5911758680339949273">"Нема карти SD"</string>
<string name="no_sdcard_message" product="nosdcard" msgid="5242558018442357189">"Пам’ять не знайдено."</string>
<string name="no_sdcard_message" product="default" msgid="3357810406684913482">"Карту SD не знайдено."</string>
- <string name="searching_vcard_title" msgid="4970508055399376813">"Пошук даних vCard"</string>
<string name="import_from_sim" msgid="3859272228033941659">"Імортув. з SIM-карти"</string>
<string name="import_from_sdcard" product="default" msgid="8668347930577565175">"Імпорт із пам’яті"</string>
<string name="export_to_sdcard" product="default" msgid="6092815580965201089">"Експорт у пам’ять"</string>
@@ -223,8 +219,6 @@
<string name="import_all_vcard_string" msgid="5518136113853448474">"Імпортув. всі файли vCard"</string>
<string name="searching_vcard_message" product="nosdcard" msgid="557077639409584945">"Пошук даних vCard у пам’яті..."</string>
<string name="searching_vcard_message" product="default" msgid="3962269894118092049">"Пошук даних vCard на карті SD..."</string>
- <string name="scanning_sdcard_failed_title" product="nosdcard" msgid="4944932641334764942">"Не вдалося просканувати пам’ять"</string>
- <string name="scanning_sdcard_failed_title" product="default" msgid="6664940444476572612">"Не вдалося просканувати карту SD"</string>
<string name="scanning_sdcard_failed_message" product="nosdcard" msgid="7221682312959229201">"Не вдалося сканувати пам’ять. (Причина: \"<xliff:g id="FAIL_REASON">%s</xliff:g>\")"</string>
<string name="scanning_sdcard_failed_message" product="default" msgid="189023067829510792">"Не вдалося сканувати карту SD. (Причина: \"<xliff:g id="FAIL_REASON">%s</xliff:g>\")"</string>
<string name="fail_reason_io_error" msgid="6748358842976073255">"Помилка вводу/виводу"</string>
@@ -273,9 +267,7 @@
<string name="composer_not_initialized" msgid="2321648986367005254">"Майстер vCard не запущено належним чином."</string>
<string name="fail_reason_could_not_open_file" msgid="2067725459821997463">"Не вдалося відкрити файл \"<xliff:g id="FILE_NAME">%s</xliff:g>\": <xliff:g id="EXACT_REASON">%s</xliff:g>."</string>
<string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> із <xliff:g id="TOTAL_NUMBER">%s</xliff:g> контактів"</string>
- <string name="cancel_import_confirmation_title" msgid="5578683596010294836">"Скасування імпорту vCard"</string>
<string name="cancel_import_confirmation_message" msgid="3929951040347726757">"Скасувати імпорт файлу <xliff:g id="FILENAME">%s</xliff:g>?"</string>
- <string name="cancel_export_confirmation_title" msgid="6516467140276768528">"Скасування експорту vCard"</string>
<string name="cancel_export_confirmation_message" msgid="1995462401949262638">"Скасувати експорт файлу <xliff:g id="FILENAME">%s</xliff:g>?"</string>
<string name="cancel_vcard_import_or_export_failed" msgid="6139900383366166706">"Не вдалося скасув. імпорт/експорт vCard"</string>
<string name="search_settings_description" msgid="2675223022992445813">"Імена ваших контактів"</string>
@@ -441,9 +433,7 @@
<item quantity="other" msgid="425683718017380845">"об\'єднано з джерел: <xliff:g id="COUNT">%0$d</xliff:g>"</item>
</plurals>
<string name="local_invisible_directory" msgid="6046691709127661065">"Інші"</string>
- <string name="aggregation_suggestion_join_dialog_title" msgid="5276699501316246253">"Об\'єднати контакти"</string>
<string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"Об\'єднати поточний контакт із вибраним контактом?"</string>
- <string name="aggregation_suggestion_edit_dialog_title" msgid="1064042382692091314">"Редагувати вибрані контакти"</string>
<string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"Перейти до редагування вибраного контакта? Введену досі інформацію буде скопійовано."</string>
<string name="menu_copyContact" msgid="1573960845106822639">"Копіювати в мої контакти"</string>
<string name="add_to_my_contacts" msgid="1068274916793627723">"Додати до групи \"Мої контакти\""</string>
@@ -478,7 +468,6 @@
<string name="contacts_unavailable_import_contacts" msgid="4456440183590517471">"Імпортувати контакти з файлу"</string>
<string name="create_group_dialog_title" msgid="6874527142828424475">"Створити нову групу"</string>
<string name="create_group_item_label" msgid="5218022006186243310">"[Створити нову групу]"</string>
- <string name="delete_group_dialog_title" msgid="7368429698398624427">"Видалити групу"</string>
<plurals name="num_groups_in_account">
<item quantity="one" msgid="2944819210288517794">"1 група"</item>
<item quantity="other" msgid="1276758425904917367">"Груп: <xliff:g id="COUNT">%0$d</xliff:g>"</item>
@@ -497,7 +486,6 @@
<string name="set_default" msgid="4417505153468300351">"Установити за умовчанням"</string>
<string name="clear_default" msgid="7193185801596678067">"Очистити налаштування за умовчанням"</string>
<string name="toast_text_copied" msgid="5143776250008541719">"Текст скопійовано"</string>
- <string name="cancel_confirmation_dialog_title" msgid="3950463632415908534">"Відхилити зміни"</string>
<string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"Відхилити зміни?"</string>
<string name="call_type_and_date" msgid="1766269584078149149">"<xliff:g id="CALL_TYPE">%1$s</xliff:g> <xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g>"</string>
<string name="profile_display_name" msgid="4127389543625918771">"Налаштувати профіль"</string>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index 74da6cd..c74d9d9 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -41,7 +41,8 @@
<string name="menu_search" msgid="9147752853603483719">"Tìm kiếm"</string>
<string name="menu_newContact" msgid="1209922412763274638">"Liên hệ mới"</string>
<string name="menu_viewContact" msgid="2795575601596468581">"Xem liên hệ"</string>
- <string name="menu_callNumber" msgid="5142851348489387516">"Gọi <xliff:g id="NAME">%s</xliff:g>"</string>
+ <!-- no translation found for menu_callNumber (997146291983360266) -->
+ <skip />
<string name="menu_addStar" msgid="2908478235715404876">"Thêm vào mục ưa thích"</string>
<string name="menu_removeStar" msgid="5844227078364227030">"Xóa khỏi mục ưa thích"</string>
<string name="menu_editContact" msgid="9042415603857662633">"Chỉnh sửa"</string>
@@ -62,7 +63,6 @@
<string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Liên hệ được đề xuất"</string>
<string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Tất cả liên hệ"</string>
<string name="contactsJoinedMessage" msgid="7208148163607047389">"Danh bạ đã được kết hợp"</string>
- <string name="deleteConfirmation_title" msgid="1418215926447642260">"Xóa địa chỉ liên hệ?"</string>
<string name="menu_set_ring_tone" msgid="8728345772068064946">"Đặt nhạc chuông"</string>
<string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Các cuộc gọi tới thư thoại"</string>
<string name="readOnlyContactWarning" msgid="7808825687289848259">"Bạn không thể xóa địa chỉ liên hệ từ tài khoản chỉ đọc, nhưng bạn có thể ẩn chúng trong danh sách địa chỉ liên hệ của mình."</string>
@@ -186,7 +186,6 @@
<string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> phút <xliff:g id="SECONDS">%s</xliff:g> giây"</string>
<string name="favoritesFrequentContacted" msgid="6184232487472425690">"Thường xuyên được liên hệ"</string>
<string name="favoritesFrequentCalled" msgid="6128306889600696124">"Thường xuyên được gọi"</string>
- <string name="add_contact_dlg_title" msgid="2896685845822146494">"Thêm liên hệ"</string>
<string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Thêm \"<xliff:g id="EMAIL">%s</xliff:g>\" vào danh bạ?"</string>
<string name="description_image_button_one" msgid="1740638037139856139">"một"</string>
<string name="description_image_button_two" msgid="5882638439003731308">"hai"</string>
@@ -209,11 +208,8 @@
<string name="description_minus_button" msgid="387136707700230172">"trừ"</string>
<string name="description_plus_button" msgid="515164827856229880">"cộng"</string>
<string name="description_view_contact_detail" msgid="9133251213656414807">"Xem địa chỉ liên hệ"</string>
- <string name="no_sdcard_title" product="nosdcard" msgid="8543619259870877473">"Bộ nhớ không khả dụng"</string>
- <string name="no_sdcard_title" product="default" msgid="5911758680339949273">"Không có thẻ SD nào"</string>
<string name="no_sdcard_message" product="nosdcard" msgid="5242558018442357189">"Không tìm thấy bộ nhớ nào."</string>
<string name="no_sdcard_message" product="default" msgid="3357810406684913482">"Không tìm thấy thẻ SD nào."</string>
- <string name="searching_vcard_title" msgid="4970508055399376813">"Đang tìm kiếm vCard"</string>
<string name="import_from_sim" msgid="3859272228033941659">"Nhập từ thẻ SIM"</string>
<string name="import_from_sdcard" product="default" msgid="8668347930577565175">"Nhập từ bộ nhớ"</string>
<string name="export_to_sdcard" product="default" msgid="6092815580965201089">"Xuất sang bộ nhớ"</string>
@@ -223,8 +219,6 @@
<string name="import_all_vcard_string" msgid="5518136113853448474">"Nhập tất cả tệp vCard"</string>
<string name="searching_vcard_message" product="nosdcard" msgid="557077639409584945">"Đang tìm kiếm dữ liệu vCard trong bộ nhớ..."</string>
<string name="searching_vcard_message" product="default" msgid="3962269894118092049">"Đang tìm dữ liệu vCard trên thẻ SD..."</string>
- <string name="scanning_sdcard_failed_title" product="nosdcard" msgid="4944932641334764942">"Không thể quét bộ nhớ"</string>
- <string name="scanning_sdcard_failed_title" product="default" msgid="6664940444476572612">"Không thể quét thẻ SD"</string>
<string name="scanning_sdcard_failed_message" product="nosdcard" msgid="7221682312959229201">"Không thể quét bộ nhớ. (Lý do: \"<xliff:g id="FAIL_REASON">%s</xliff:g>\")"</string>
<string name="scanning_sdcard_failed_message" product="default" msgid="189023067829510792">"Không thể quét thẻ SD. (Lý do: \"<xliff:g id="FAIL_REASON">%s</xliff:g>\")"</string>
<string name="fail_reason_io_error" msgid="6748358842976073255">"Lỗi I/O"</string>
@@ -273,9 +267,7 @@
<string name="composer_not_initialized" msgid="2321648986367005254">"Trình soạn vCard không khởi động đúng."</string>
<string name="fail_reason_could_not_open_file" msgid="2067725459821997463">"Không thể mở \"<xliff:g id="FILE_NAME">%s</xliff:g>\": <xliff:g id="EXACT_REASON">%s</xliff:g>."</string>
<string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> trong tổng số <xliff:g id="TOTAL_NUMBER">%s</xliff:g> liên hệ"</string>
- <string name="cancel_import_confirmation_title" msgid="5578683596010294836">"Hủy nhập vCard"</string>
<string name="cancel_import_confirmation_message" msgid="3929951040347726757">"Hủy yêu cầu nhập <xliff:g id="FILENAME">%s</xliff:g>?"</string>
- <string name="cancel_export_confirmation_title" msgid="6516467140276768528">"Hủy xuất vCard"</string>
<string name="cancel_export_confirmation_message" msgid="1995462401949262638">"Hủy yêu cầu xuất <xliff:g id="FILENAME">%s</xliff:g>?"</string>
<string name="cancel_vcard_import_or_export_failed" msgid="6139900383366166706">"Không thể nhập/xuất vCard"</string>
<string name="search_settings_description" msgid="2675223022992445813">"Tên danh bạ của bạn"</string>
@@ -441,9 +433,7 @@
<item quantity="other" msgid="425683718017380845">"được hợp nhất từ <xliff:g id="COUNT">%0$d</xliff:g> nguồn"</item>
</plurals>
<string name="local_invisible_directory" msgid="6046691709127661065">"Khác"</string>
- <string name="aggregation_suggestion_join_dialog_title" msgid="5276699501316246253">"Kết hợp danh bạ"</string>
<string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"Kết hợp địa chỉ liên hệ hiện tại với địa chỉ liên hệ đã chọn?"</string>
- <string name="aggregation_suggestion_edit_dialog_title" msgid="1064042382692091314">"Chỉnh sửa địa chỉ liên hệ đã chọn"</string>
<string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"Chuyển sang chỉnh sửa liên hệ đã chọn? Thông tin bạn đã nhập đến giờ sẽ được sao chép."</string>
<string name="menu_copyContact" msgid="1573960845106822639">"Sao chép vào Danh bạ của tôi"</string>
<string name="add_to_my_contacts" msgid="1068274916793627723">"Thêm vào Danh bạ của tôi"</string>
@@ -478,7 +468,6 @@
<string name="contacts_unavailable_import_contacts" msgid="4456440183590517471">"Nhập danh bạ từ một tệp"</string>
<string name="create_group_dialog_title" msgid="6874527142828424475">"Tạo nhóm mới"</string>
<string name="create_group_item_label" msgid="5218022006186243310">"[Tạo nhóm mới]"</string>
- <string name="delete_group_dialog_title" msgid="7368429698398624427">"Xóa nhóm"</string>
<plurals name="num_groups_in_account">
<item quantity="one" msgid="2944819210288517794">"1 nhóm"</item>
<item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> nhóm"</item>
@@ -497,7 +486,6 @@
<string name="set_default" msgid="4417505153468300351">"Đặt mặc định"</string>
<string name="clear_default" msgid="7193185801596678067">"Xóa mặc định"</string>
<string name="toast_text_copied" msgid="5143776250008541719">"Đã sao chép văn bản"</string>
- <string name="cancel_confirmation_dialog_title" msgid="3950463632415908534">"Hủy thay đổi"</string>
<string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"Hủy các thay đổi của bạn?"</string>
<string name="call_type_and_date" msgid="1766269584078149149">"<xliff:g id="CALL_TYPE">%1$s</xliff:g> <xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g>"</string>
<string name="profile_display_name" msgid="4127389543625918771">"Thiết lập tiểu sử của tôi"</string>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index 381ffb0..7732311 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -41,7 +41,8 @@
<string name="menu_search" msgid="9147752853603483719">"搜索"</string>
<string name="menu_newContact" msgid="1209922412763274638">"新建联系人"</string>
<string name="menu_viewContact" msgid="2795575601596468581">"查看联系人"</string>
- <string name="menu_callNumber" msgid="5142851348489387516">"呼叫<xliff:g id="NAME">%s</xliff:g>"</string>
+ <!-- no translation found for menu_callNumber (997146291983360266) -->
+ <skip />
<string name="menu_addStar" msgid="2908478235715404876">"添加到收藏"</string>
<string name="menu_removeStar" msgid="5844227078364227030">"从收藏中删除"</string>
<string name="menu_editContact" msgid="9042415603857662633">"修改"</string>
@@ -62,7 +63,6 @@
<string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"建议的联系人"</string>
<string name="separatorJoinAggregateAll" msgid="7939932265026181043">"所有联系人"</string>
<string name="contactsJoinedMessage" msgid="7208148163607047389">"已合并联系人"</string>
- <string name="deleteConfirmation_title" msgid="1418215926447642260">"要删除联系人吗?"</string>
<string name="menu_set_ring_tone" msgid="8728345772068064946">"设置铃声"</string>
<string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"所有来电转至语音信箱"</string>
<string name="readOnlyContactWarning" msgid="7808825687289848259">"您无法删除只读帐户中的联系人,但可以在联系人列表中将他们隐藏。"</string>
@@ -186,7 +186,6 @@
<string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> 分 <xliff:g id="SECONDS">%s</xliff:g> 秒"</string>
<string name="favoritesFrequentContacted" msgid="6184232487472425690">"经常联系的人"</string>
<string name="favoritesFrequentCalled" msgid="6128306889600696124">"经常呼叫的联系人"</string>
- <string name="add_contact_dlg_title" msgid="2896685845822146494">"添加联系人"</string>
<string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"将“<xliff:g id="EMAIL">%s</xliff:g>”添加到联系人?"</string>
<string name="description_image_button_one" msgid="1740638037139856139">"一"</string>
<string name="description_image_button_two" msgid="5882638439003731308">"二"</string>
@@ -209,11 +208,8 @@
<string name="description_minus_button" msgid="387136707700230172">"删除"</string>
<string name="description_plus_button" msgid="515164827856229880">"添加"</string>
<string name="description_view_contact_detail" msgid="9133251213656414807">"查看联系人"</string>
- <string name="no_sdcard_title" product="nosdcard" msgid="8543619259870877473">"存储设备不存在"</string>
- <string name="no_sdcard_title" product="default" msgid="5911758680339949273">"无 SD 卡"</string>
<string name="no_sdcard_message" product="nosdcard" msgid="5242558018442357189">"未找到任何存储设备。"</string>
<string name="no_sdcard_message" product="default" msgid="3357810406684913482">"未找到 SD 卡。"</string>
- <string name="searching_vcard_title" msgid="4970508055399376813">"正在搜索 vCard"</string>
<string name="import_from_sim" msgid="3859272228033941659">"从 SIM 卡导入"</string>
<string name="import_from_sdcard" product="default" msgid="8668347930577565175">"从存储设备导入"</string>
<string name="export_to_sdcard" product="default" msgid="6092815580965201089">"导出到存储设备"</string>
@@ -223,8 +219,6 @@
<string name="import_all_vcard_string" msgid="5518136113853448474">"导入所有 vCard 文件"</string>
<string name="searching_vcard_message" product="nosdcard" msgid="557077639409584945">"正在从存储设备中搜索 vCard 文件..."</string>
<string name="searching_vcard_message" product="default" msgid="3962269894118092049">"正在 SD 卡中搜索 vCard 数据..."</string>
- <string name="scanning_sdcard_failed_title" product="nosdcard" msgid="4944932641334764942">"无法扫描存储设备"</string>
- <string name="scanning_sdcard_failed_title" product="default" msgid="6664940444476572612">"无法扫描 SD 卡"</string>
<string name="scanning_sdcard_failed_message" product="nosdcard" msgid="7221682312959229201">"无法扫描该存储设备。(原因:“<xliff:g id="FAIL_REASON">%s</xliff:g>”)"</string>
<string name="scanning_sdcard_failed_message" product="default" msgid="189023067829510792">"无法扫描该 SD 卡。(原因:“<xliff:g id="FAIL_REASON">%s</xliff:g>”)"</string>
<string name="fail_reason_io_error" msgid="6748358842976073255">"I/O 错误"</string>
@@ -273,9 +267,7 @@
<string name="composer_not_initialized" msgid="2321648986367005254">"vCard 制作程序未正确启动。"</string>
<string name="fail_reason_could_not_open_file" msgid="2067725459821997463">"无法打开“<xliff:g id="FILE_NAME">%s</xliff:g>”:<xliff:g id="EXACT_REASON">%s</xliff:g>。"</string>
<string name="exporting_contact_list_progress" msgid="560522409559101193">"第 <xliff:g id="CURRENT_NUMBER">%s</xliff:g> 个联系人(共 <xliff:g id="TOTAL_NUMBER">%s</xliff:g> 个)"</string>
- <string name="cancel_import_confirmation_title" msgid="5578683596010294836">"取消导入 vCard"</string>
<string name="cancel_import_confirmation_message" msgid="3929951040347726757">"要取消导入 <xliff:g id="FILENAME">%s</xliff:g> 吗?"</string>
- <string name="cancel_export_confirmation_title" msgid="6516467140276768528">"取消导出 vCard"</string>
<string name="cancel_export_confirmation_message" msgid="1995462401949262638">"要取消导出 <xliff:g id="FILENAME">%s</xliff:g> 吗?"</string>
<string name="cancel_vcard_import_or_export_failed" msgid="6139900383366166706">"无法取消导入/导出 vCard"</string>
<string name="search_settings_description" msgid="2675223022992445813">"联系人姓名"</string>
@@ -441,9 +433,7 @@
<item quantity="other" msgid="425683718017380845">"合并自 <xliff:g id="COUNT">%0$d</xliff:g> 个来源"</item>
</plurals>
<string name="local_invisible_directory" msgid="6046691709127661065">"其他"</string>
- <string name="aggregation_suggestion_join_dialog_title" msgid="5276699501316246253">"合并联系人"</string>
<string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"要合并当前联系人与所选联系人吗?"</string>
- <string name="aggregation_suggestion_edit_dialog_title" msgid="1064042382692091314">"编辑所选联系人"</string>
<string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"要切换至编辑所选联系人吗?系统会复制您到目前为止输入的所有信息。"</string>
<string name="menu_copyContact" msgid="1573960845106822639">"复制到“我的联系人”"</string>
<string name="add_to_my_contacts" msgid="1068274916793627723">"添加到“我的联系人”"</string>
@@ -478,7 +468,6 @@
<string name="contacts_unavailable_import_contacts" msgid="4456440183590517471">"从文件导入联系人"</string>
<string name="create_group_dialog_title" msgid="6874527142828424475">"创建新群组"</string>
<string name="create_group_item_label" msgid="5218022006186243310">"[创建新群组]"</string>
- <string name="delete_group_dialog_title" msgid="7368429698398624427">"删除群组"</string>
<plurals name="num_groups_in_account">
<item quantity="one" msgid="2944819210288517794">"1 个群组"</item>
<item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> 个群组"</item>
@@ -497,7 +486,6 @@
<string name="set_default" msgid="4417505153468300351">"设置默认值"</string>
<string name="clear_default" msgid="7193185801596678067">"清除默认值"</string>
<string name="toast_text_copied" msgid="5143776250008541719">"文本已复制"</string>
- <string name="cancel_confirmation_dialog_title" msgid="3950463632415908534">"舍弃更改"</string>
<string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"要舍弃您所做的更改吗?"</string>
<string name="call_type_and_date" msgid="1766269584078149149">"<xliff:g id="CALL_TYPE">%1$s</xliff:g> <xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g>"</string>
<string name="profile_display_name" msgid="4127389543625918771">"设置我的个人资料"</string>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index 072daec..4c11568 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -41,7 +41,8 @@
<string name="menu_search" msgid="9147752853603483719">"搜尋"</string>
<string name="menu_newContact" msgid="1209922412763274638">"新增聯絡人"</string>
<string name="menu_viewContact" msgid="2795575601596468581">"檢視聯絡人"</string>
- <string name="menu_callNumber" msgid="5142851348489387516">"撥打電話給 <xliff:g id="NAME">%s</xliff:g>"</string>
+ <!-- no translation found for menu_callNumber (997146291983360266) -->
+ <skip />
<string name="menu_addStar" msgid="2908478235715404876">"新增至我的最愛"</string>
<string name="menu_removeStar" msgid="5844227078364227030">"從我的最愛中移除"</string>
<string name="menu_editContact" msgid="9042415603857662633">"編輯"</string>
@@ -62,7 +63,6 @@
<string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"建議聯絡人"</string>
<string name="separatorJoinAggregateAll" msgid="7939932265026181043">"所有聯絡人"</string>
<string name="contactsJoinedMessage" msgid="7208148163607047389">"已合併聯絡人"</string>
- <string name="deleteConfirmation_title" msgid="1418215926447642260">"確定要刪除聯絡人?"</string>
<string name="menu_set_ring_tone" msgid="8728345772068064946">"設定電話鈴聲"</string>
<string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"將所有來電轉到語音信箱"</string>
<string name="readOnlyContactWarning" msgid="7808825687289848259">"您無法刪除唯讀帳戶的聯絡人,但可在聯絡人清單中隱藏這些聯絡人。"</string>
@@ -186,7 +186,6 @@
<string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> 分 <xliff:g id="SECONDS">%s</xliff:g> 秒"</string>
<string name="favoritesFrequentContacted" msgid="6184232487472425690">"常用聯絡人"</string>
<string name="favoritesFrequentCalled" msgid="6128306889600696124">"常用聯絡人"</string>
- <string name="add_contact_dlg_title" msgid="2896685845822146494">"新增聯絡人"</string>
<string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"要將「<xliff:g id="EMAIL">%s</xliff:g>」加到通訊錄嗎?"</string>
<string name="description_image_button_one" msgid="1740638037139856139">"1"</string>
<string name="description_image_button_two" msgid="5882638439003731308">"2"</string>
@@ -209,11 +208,8 @@
<string name="description_minus_button" msgid="387136707700230172">"負號"</string>
<string name="description_plus_button" msgid="515164827856229880">"加號"</string>
<string name="description_view_contact_detail" msgid="9133251213656414807">"查看聯絡人"</string>
- <string name="no_sdcard_title" product="nosdcard" msgid="8543619259870877473">"儲存裝置無法使用"</string>
- <string name="no_sdcard_title" product="default" msgid="5911758680339949273">"無 SD 卡"</string>
<string name="no_sdcard_message" product="nosdcard" msgid="5242558018442357189">"找不到任何儲存裝置。"</string>
<string name="no_sdcard_message" product="default" msgid="3357810406684913482">"找不到 SD 卡。"</string>
- <string name="searching_vcard_title" msgid="4970508055399376813">"正在搜尋 VCard"</string>
<string name="import_from_sim" msgid="3859272228033941659">"從 SIM 卡匯入"</string>
<string name="import_from_sdcard" product="default" msgid="8668347930577565175">"從儲存裝置匯入"</string>
<string name="export_to_sdcard" product="default" msgid="6092815580965201089">"匯出到儲存裝置"</string>
@@ -223,8 +219,6 @@
<string name="import_all_vcard_string" msgid="5518136113853448474">"匯入所有 vCard 檔案"</string>
<string name="searching_vcard_message" product="nosdcard" msgid="557077639409584945">"正在搜尋儲存裝置中的 vCard 資料…"</string>
<string name="searching_vcard_message" product="default" msgid="3962269894118092049">"正在 SD 卡上搜尋 vCard 資料…"</string>
- <string name="scanning_sdcard_failed_title" product="nosdcard" msgid="4944932641334764942">"無法掃描儲存裝置"</string>
- <string name="scanning_sdcard_failed_title" product="default" msgid="6664940444476572612">"無法掃描 SD 卡"</string>
<string name="scanning_sdcard_failed_message" product="nosdcard" msgid="7221682312959229201">"無法掃描儲存裝置 (原因:<xliff:g id="FAIL_REASON">%s</xliff:g>)。"</string>
<string name="scanning_sdcard_failed_message" product="default" msgid="189023067829510792">"無法掃描 SD 卡 (原因:<xliff:g id="FAIL_REASON">%s</xliff:g>)。"</string>
<string name="fail_reason_io_error" msgid="6748358842976073255">"I/O 錯誤"</string>
@@ -273,9 +267,7 @@
<string name="composer_not_initialized" msgid="2321648986367005254">"vCard 編輯器並未正確啟動。"</string>
<string name="fail_reason_could_not_open_file" msgid="2067725459821997463">"無法開啟「<xliff:g id="FILE_NAME">%s</xliff:g>」:<xliff:g id="EXACT_REASON">%s</xliff:g>。"</string>
<string name="exporting_contact_list_progress" msgid="560522409559101193">"第 <xliff:g id="CURRENT_NUMBER">%s</xliff:g> 位聯絡人,共 <xliff:g id="TOTAL_NUMBER">%s</xliff:g> 位"</string>
- <string name="cancel_import_confirmation_title" msgid="5578683596010294836">"取消匯入 vCard"</string>
<string name="cancel_import_confirmation_message" msgid="3929951040347726757">"確定要取消匯入 <xliff:g id="FILENAME">%s</xliff:g>?"</string>
- <string name="cancel_export_confirmation_title" msgid="6516467140276768528">"取消匯出 vCard"</string>
<string name="cancel_export_confirmation_message" msgid="1995462401949262638">"確定要取消匯出 <xliff:g id="FILENAME">%s</xliff:g>?"</string>
<string name="cancel_vcard_import_or_export_failed" msgid="6139900383366166706">"無法取消匯入/匯出 vCard"</string>
<string name="search_settings_description" msgid="2675223022992445813">"您的聯絡人姓名"</string>
@@ -441,9 +433,7 @@
<item quantity="other" msgid="425683718017380845">"從 <xliff:g id="COUNT">%0$d</xliff:g> 個來源合併"</item>
</plurals>
<string name="local_invisible_directory" msgid="6046691709127661065">"其他"</string>
- <string name="aggregation_suggestion_join_dialog_title" msgid="5276699501316246253">"合併聯絡人"</string>
<string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"要將目前聯絡人與所選聯絡人合併嗎?"</string>
- <string name="aggregation_suggestion_edit_dialog_title" msgid="1064042382692091314">"編輯所選聯絡人"</string>
<string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"要切換至編輯所選聯絡人嗎?系統會為您複製目前已輸入的資訊。"</string>
<string name="menu_copyContact" msgid="1573960845106822639">"複製到我的通訊錄"</string>
<string name="add_to_my_contacts" msgid="1068274916793627723">"新增至我的聯絡人"</string>
@@ -478,7 +468,6 @@
<string name="contacts_unavailable_import_contacts" msgid="4456440183590517471">"從檔案匯入聯絡人"</string>
<string name="create_group_dialog_title" msgid="6874527142828424475">"建立新群組"</string>
<string name="create_group_item_label" msgid="5218022006186243310">"[建立新群組]"</string>
- <string name="delete_group_dialog_title" msgid="7368429698398624427">"刪除群組"</string>
<plurals name="num_groups_in_account">
<item quantity="one" msgid="2944819210288517794">"1 個群組"</item>
<item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> 個群組"</item>
@@ -497,7 +486,6 @@
<string name="set_default" msgid="4417505153468300351">"設為預設值"</string>
<string name="clear_default" msgid="7193185801596678067">"清除預設值"</string>
<string name="toast_text_copied" msgid="5143776250008541719">"文字已複製"</string>
- <string name="cancel_confirmation_dialog_title" msgid="3950463632415908534">"捨棄變更"</string>
<string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"確定要捨棄變更?"</string>
<string name="call_type_and_date" msgid="1766269584078149149">"<xliff:g id="CALL_TYPE">%1$s</xliff:g> <xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g>"</string>
<string name="profile_display_name" msgid="4127389543625918771">"設定我的個人資料"</string>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index 719f084..f1a5e0a 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -41,7 +41,8 @@
<string name="menu_search" msgid="9147752853603483719">"Sesha"</string>
<string name="menu_newContact" msgid="1209922412763274638">"Othintana naye omusha"</string>
<string name="menu_viewContact" msgid="2795575601596468581">"Buka othintana naye"</string>
- <string name="menu_callNumber" msgid="5142851348489387516">"Shayela <xliff:g id="NAME">%s</xliff:g>"</string>
+ <!-- no translation found for menu_callNumber (997146291983360266) -->
+ <skip />
<string name="menu_addStar" msgid="2908478235715404876">"Engeza ezintandokazini"</string>
<string name="menu_removeStar" msgid="5844227078364227030">"Susa ezintandokazini"</string>
<string name="menu_editContact" msgid="9042415603857662633">"Hlela"</string>
@@ -62,7 +63,6 @@
<string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Othintana nabo abasikiselwayo"</string>
<string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Bonke othintana nabo"</string>
<string name="contactsJoinedMessage" msgid="7208148163607047389">"Othintana nabo abahlanganisiwe"</string>
- <string name="deleteConfirmation_title" msgid="1418215926447642260">"Susa othintana naye"</string>
<string name="menu_set_ring_tone" msgid="8728345772068064946">"Hlela iringithoni"</string>
<string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Wonke amakholi aya kwimeyili yezwi"</string>
<string name="readOnlyContactWarning" msgid="7808825687289848259">"Awukwazi ukususa othintana nabo ema-akhawuntini okufunda kuphela, kodwa ungabafihla ohlwini lwakho loxhumana nabo."</string>
@@ -163,7 +163,7 @@
<string name="noContactsHelpTextForCreateShortcut" msgid="3081286388667108335">"Awunabo othintana nabo ongababonisa."</string>
<string name="noContactsHelpText" product="tablet" msgid="6226271923423236696">"Awunabo oxhumana nabo ongabaveza."\n\n"Ukwengeza ongaxhumana nabo, thinta "<font fgcolor="#ffffffff"><b>"Menyu"</b></font>", bese uthinta:"\n" "\n<li><font fgcolor="#ffffffff"><b>"Ama-akhawunti"</b></font>" ukwengeza noma usethe ama-akhawunti ngongaxhumana nabo ongabavumelanisa ocingweni"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Oxhuana nabo basha"</b></font>" ukwenz oxhumna naye umsusa ekuqaleni"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Landa/thumela"</b></font>" ukulanda oxhumana nabo kwi-SIM noma ikhadi lkho le-SD card"\n</li></string>
<string name="noContactsHelpText" product="default" msgid="4405064135698982080">"Awunabo oxhumana nabo ongabaveza."\n\n"Ukwengeza ongaxhumana nabo, thinta "<font fgcolor="#ffffffff"><b>"Menyu"</b></font>", bese uthinta:"\n" "\n<li><font fgcolor="#ffffffff"><b>"Ama-akhawunti"</b></font>" ukwengeza noma usethe ama-akhawunti ngongaxhumana nabo ongabavumelanisa ocingweni"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Oxhuana nabo basha"</b></font>" ukwenz oxhumna naye umsusa ekuqaleni"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Landa/thumela"</b></font>" ukulanda oxhumana nabo kwi-SIM noma ikhadi lkho le-SD card"\n</li></string>
- <string name="noContactsHelpTextWithSync" product="tablet" msgid="6773195806404659174">"Awunabo othintana nabo ongababonisa. (Uma usanda kufaka i-akhawunti, kungase kuthathe imizuzu embalwa ukuvumelanisa othintana nabo.)"\n\n"Ukufaka othintana nabo, cindezela "<font fgcolor="#ffffffff"><b>"Menyu"</b></font>" bese uthinta:ama-"\n\n<li><font fgcolor="#ffffffff"><b>"Akhawunti"</b></font>" ukufaka noma ukumisa i-akhawunti nothintana nabo ungavumelanisa efonini"\n</li>\n<li><font fgcolor="#ffffffff"><b>"Bonisa okukhethwa kukho"</b></font>\n"ukushintsha ukuthi yibaphi othintana nabo ababonakalayo"</li>\n<li><font fgcolor="#ffffffff"><b></b>"Othintana naye omusha"</font>\n" ukwenza othintana naye omusha kusuka ekuqaleni "</li>\n<li><font fgcolor="#ffffffff"><b>"Ngenisa/Thekelisa"</b></font>" ukungenisa othintana nabo kwi-SIM yakho noma ikhadi le-SD"\n</li></string>
+ <string name="noContactsHelpTextWithSync" product="tablet" msgid="6773195806404659174">"Awunabo othintana nabo ongababonisa. (Uma usanda kufaka i-akhawunti, kungase kuthathe imizuzu embalwa ukuvumelanisa othintana nabo.)"\n\n"Ukufaka othintana nabo, cindezela "<font fgcolor="#ffffffff"><b>"Menyu"</b></font>" bese uthinta:ama-"\n\n<li><font fgcolor="#ffffffff"><b>"Akhawunti"</b></font>" ukufaka noma ukumisa i-akhawunti nothintana nabo ungavumelanisa efonini"\n</li>\n<li><font fgcolor="#ffffffff"><b>"Izinketho zokubonisa"</b></font>\n"ukushintsha ukuthi yibaphi othintana nabo ababonakalayo"</li>\n<li><font fgcolor="#ffffffff"><b></b>"Othintana naye omusha"</font>\n" ukwenza othintana naye omusha kusuka ekuqaleni "</li>\n<li><font fgcolor="#ffffffff"><b>"Ngenisa/Thekelisa"</b></font>" ukungenisa othintana nabo kwi-SIM yakho noma ikhadi le-SD"\n</li></string>
<string name="noContactsHelpTextWithSync" product="default" msgid="7016825676090327312">"Awunabo othintana nabo ongababonisa. (Uma usanda kufaka i-akhawunti, kungase kuthathe imizuzu embalwa ukuvumelanisa othintana nabo.)"\n\n"Ukufaka othintana nabo, cindezela "<font fgcolor="#ffffffff"><b>"Menyu"</b></font>" bese uthinta:ama-"\n\n<li><font fgcolor="#ffffffff"><b>"Akhawunti"</b></font>" ukufaka noma ukumisa i-akhawunti nothintana nabo ungavumelanisa efonini"\n</li>\n<li><font fgcolor="#ffffffff"><b>"Bonisa okukhethwa kukho"</b></font>\n"ukushintsha ukuthi yibaphi othintana nabo ababonakalayo"</li>\n<li><font fgcolor="#ffffffff"><b></b>"Othintana naye omusha"</font>\n" ukwenza othintana naye omusha kusuka ekuqaleni "</li>\n<li><font fgcolor="#ffffffff"><b>"Ngenisa/Thekelisa"</b></font>"ukungenisa othintana nabo kwi-SIM yakho noma ikhadi le-SD"\n</li></string>
<string name="noContactsNoSimHelpText" product="tablet" msgid="7823757505923033456">"Awunabo oxhumana nabo ongabaveza."\n\n"Ukwengeza ongaxhumana nabo, thinta "<font fgcolor="#ffffffff"><b>"Menyu"</b></font>", bese uthinta:"\n" "\n<li><font fgcolor="#ffffffff"><b>"Ama-akhawunti"</b></font>" ukwengeza noma usethe ama-akhawunti ngongaxhumana nabo ongabavumelanisa ocingweni"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Oxhuana nabo basha"</b></font>" ukwenz oxhumna naye umsusa ekuqaleni"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Landa/thumela"</b></font>" ukulanda oxhumana nabo kwi-SIM noma ikhadi lkho le-SD card"\n</li></string>
<string name="noContactsNoSimHelpText" product="default" msgid="6224952277619986841">"Awunabo oxhumana nabo ongabaveza."\n\n"Ukwengeza ongaxhumana nabo, thinta "<font fgcolor="#ffffffff"><b>"Menyu"</b></font>", bese uthinta:"\n" "\n<li><font fgcolor="#ffffffff"><b>"Ama-akhawunti"</b></font>" ukwengeza noma usethe ama-akhawunti ngongaxhumana nabo ongabavumelanisa ocingweni"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Oxhuana nabo basha"</b></font>" ukwenz oxhumna naye umsusa ekuqaleni"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Landa/thumela"</b></font>" ukulanda oxhumana nabo kwi-SIM noma ikhadi lkho le-SD card"\n</li></string>
@@ -186,7 +186,6 @@
<string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> amaminithi <xliff:g id="SECONDS">%s</xliff:g> amasekhondi"</string>
<string name="favoritesFrequentContacted" msgid="6184232487472425690">"Abathintwa njalo"</string>
<string name="favoritesFrequentCalled" msgid="6128306889600696124">"Abashayelwa njalo"</string>
- <string name="add_contact_dlg_title" msgid="2896685845822146494">"Faka othintana naye"</string>
<string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Faka \"<xliff:g id="EMAIL">%s</xliff:g>\" kothintana nabo?"</string>
<string name="description_image_button_one" msgid="1740638037139856139">"kunye"</string>
<string name="description_image_button_two" msgid="5882638439003731308">"okubili"</string>
@@ -209,11 +208,8 @@
<string name="description_minus_button" msgid="387136707700230172">"susa"</string>
<string name="description_plus_button" msgid="515164827856229880">"kuhlanganise"</string>
<string name="description_view_contact_detail" msgid="9133251213656414807">"Buka othintana naye"</string>
- <string name="no_sdcard_title" product="nosdcard" msgid="8543619259870877473">"Isitoreji asitholakali"</string>
- <string name="no_sdcard_title" product="default" msgid="5911758680339949273">"Alikho ikhadi le-SD"</string>
<string name="no_sdcard_message" product="nosdcard" msgid="5242558018442357189">"Ayikho indawo yokulondoloza etholakele."</string>
<string name="no_sdcard_message" product="default" msgid="3357810406684913482">"Alikho ikhadi le-SD elitholakele."</string>
- <string name="searching_vcard_title" msgid="4970508055399376813">"Iseshela i-vCArd"</string>
<string name="import_from_sim" msgid="3859272228033941659">"Ngenisa kusuka kwikhadi le-SIM"</string>
<string name="import_from_sdcard" product="default" msgid="8668347930577565175">"Ngenisa kusuka esigcineni"</string>
<string name="export_to_sdcard" product="default" msgid="6092815580965201089">"Thekelisa kusigcini"</string>
@@ -223,8 +219,6 @@
<string name="import_all_vcard_string" msgid="5518136113853448474">"Ngenisa wonke amafayela e-vCard"</string>
<string name="searching_vcard_message" product="nosdcard" msgid="557077639409584945">"Isesha idatha ye-vCard kusigcini"</string>
<string name="searching_vcard_message" product="default" msgid="3962269894118092049">"Iseshela idatha ye-vCard ekhadini le-SD"</string>
- <string name="scanning_sdcard_failed_title" product="nosdcard" msgid="4944932641334764942">"Yehlulekile ukufinyelela kwindawo yokugcina i-USB"</string>
- <string name="scanning_sdcard_failed_title" product="default" msgid="6664940444476572612">"Yehlulekile ukuskena ikhadi le-SD"</string>
<string name="scanning_sdcard_failed_message" product="nosdcard" msgid="7221682312959229201">"Isilondolozi asiskeneknga. (Isizathu: \"<xliff:g id="FAIL_REASON">%s</xliff:g>\")"</string>
<string name="scanning_sdcard_failed_message" product="default" msgid="189023067829510792">"Ikhadi le-SD aliskenekanga. (Isizathu: \"<xliff:g id="FAIL_REASON">%s</xliff:g>\")"</string>
<string name="fail_reason_io_error" msgid="6748358842976073255">"Iphutha le-I/O"</string>
@@ -245,7 +239,7 @@
<string name="reading_vcard_failed_title" msgid="4251647443358422855">"Yehlulekile ukufunda imininingo ye-vCard"</string>
<string name="reading_vcard_canceled_title" msgid="1925216585981542019">"Ukufundwa kwe-Vcard kumisiwe"</string>
<string name="importing_vcard_finished_title" msgid="3341541727268747967">"Iqedile ukungenisa i-vCard <xliff:g id="FILENAME">%s</xliff:g>"</string>
- <string name="importing_vcard_canceled_title" msgid="2147475978165599336">"Ukulandwa <xliff:g id="FILENAME">%s</xliff:g> kukhanseliwe"</string>
+ <string name="importing_vcard_canceled_title" msgid="2147475978165599336">"Ukulandwa <xliff:g id="FILENAME">%s</xliff:g> kumisiwe"</string>
<string name="vcard_import_will_start_message" msgid="2804911199145873396">"i-<xliff:g id="FILENAME">%s</xliff:g> izongeniswa maduze nje."</string>
<string name="vcard_import_will_start_message_with_default_name" msgid="1022969530654129470">"Ifayela izongeniswa maduze nje."</string>
<string name="vcard_import_request_rejected_message" msgid="2890471184508516011">"Isicelo sokungenisa i-vCard sinqatshelwe. Sicela uzame futhi emva kwesikhathi."</string>
@@ -273,9 +267,7 @@
<string name="composer_not_initialized" msgid="2321648986367005254">"Umqambi we-Vcard akazange aqale ngendlela efanele."</string>
<string name="fail_reason_could_not_open_file" msgid="2067725459821997463">"Ayikwazi ukuvula \"<xliff:g id="FILE_NAME">%s</xliff:g>\": <xliff:g id="EXACT_REASON">%s</xliff:g>"</string>
<string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> kothintana nabo abangu-<xliff:g id="TOTAL_NUMBER">%s</xliff:g>"</string>
- <string name="cancel_import_confirmation_title" msgid="5578683596010294836">"Ikhansela ukungenisa i-vCard"</string>
<string name="cancel_import_confirmation_message" msgid="3929951040347726757">"Misa ukulndwa kwe <xliff:g id="FILENAME">%s</xliff:g>?"</string>
- <string name="cancel_export_confirmation_title" msgid="6516467140276768528">"Ikhansela ukuthekelisa i-vCard"</string>
<string name="cancel_export_confirmation_message" msgid="1995462401949262638">"Misa ukulandwa kwe <xliff:g id="FILENAME">%s</xliff:g>?"</string>
<string name="cancel_vcard_import_or_export_failed" msgid="6139900383366166706">"Yehlulekile ukukhansela ukungenisa/thekelisa i-vCard"</string>
<string name="search_settings_description" msgid="2675223022992445813">"Amagama othintana nabo"</string>
@@ -441,9 +433,7 @@
<item quantity="other" msgid="425683718017380845">"ihlanganiswe kusuka emithombeni engu-<xliff:g id="COUNT">%0$d</xliff:g>"</item>
</plurals>
<string name="local_invisible_directory" msgid="6046691709127661065">"Okunye"</string>
- <string name="aggregation_suggestion_join_dialog_title" msgid="5276699501316246253">"Joyina othintana nabo"</string>
<string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"Joyina othintana naye wamanje nothintana naye okhethiwe?"</string>
- <string name="aggregation_suggestion_edit_dialog_title" msgid="1064042382692091314">"Hlela ama-akhawunti akhethiwe"</string>
<string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"Shintshela ekuhleleni othintana naye okhethiwe? Ukwaziswa okufakile kuze kube manje kuzokopishwa."</string>
<string name="menu_copyContact" msgid="1573960845106822639">"Kopisha kwengithintana nabo"</string>
<string name="add_to_my_contacts" msgid="1068274916793627723">"Faka Kothintana Nabo"</string>
@@ -478,7 +468,6 @@
<string name="contacts_unavailable_import_contacts" msgid="4456440183590517471">"Ngenisa othintana nabo kwifayela"</string>
<string name="create_group_dialog_title" msgid="6874527142828424475">"Dala iqembu elisha"</string>
<string name="create_group_item_label" msgid="5218022006186243310">"[Yenza iqembu elisha]"</string>
- <string name="delete_group_dialog_title" msgid="7368429698398624427">"Susa iqembu"</string>
<plurals name="num_groups_in_account">
<item quantity="one" msgid="2944819210288517794">"1 isigcawu"</item>
<item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> Amaqembu"</item>
@@ -497,7 +486,6 @@
<string name="set_default" msgid="4417505153468300351">"Hlela okuzenzakalelayo"</string>
<string name="clear_default" msgid="7193185801596678067">"Sula okuzenzakalelayo"</string>
<string name="toast_text_copied" msgid="5143776250008541719">"Umbhalo okopishiwe"</string>
- <string name="cancel_confirmation_dialog_title" msgid="3950463632415908534">"Lahla izinguquko"</string>
<string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"Lahla izinguquko ozenzile?"</string>
<string name="call_type_and_date" msgid="1766269584078149149">"<xliff:g id="CALL_TYPE">%1$s</xliff:g> <xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g>"</string>
<string name="profile_display_name" msgid="4127389543625918771">"Misa iphrofayli yami"</string>
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index e856d67..e1d611d 100644
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -178,7 +178,9 @@
<dimen name="join_header_top_margin">16dip</dimen>
<dimen name="join_header_bottom_margin">0dip</dimen>
- <dimen name="account_filter_header_top_padding">0dip</dimen>
+ <!-- Padding between the action bar's bottom edge and the first header
+ in contacts/group lists. -->
+ <dimen name="list_header_extra_top_padding">0dip</dimen>
<!-- ContactTile Layouts -->
<!--
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 7bb875c..e9f25ca 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -100,8 +100,8 @@
<!-- Menu item used to view the details for a specific contact -->
<string name="menu_viewContact">View contact</string>
- <!-- Menu item used to call a contact, containing the name of the contact to call -->
- <string name="menu_callNumber">Call <xliff:g id="name">%s</xliff:g></string>
+ <!-- Menu item used to call a contact, containing the number of the contact to call -->
+ <string name="menu_callNumber">Call <xliff:g id="number">%s</xliff:g></string>
<!-- Menu item used to add a star to a contact, which makes that contact show up at the top of favorites -->
<string name="menu_addStar">Add to favorites</string>
@@ -163,9 +163,6 @@
<!-- Toast shown after two contacts have been joined by a user action -->
<string name="contactsJoinedMessage">Contacts joined</string>
- <!-- Confirmation dialog title after users selects to delete a contact. [CHAR LIMIT=25]-->
- <string name="deleteConfirmation_title">Delete contact?</string>
-
<!-- Menu item that opens the Options activity for a given contact [CHAR LIMIT=15] -->
<string name="menu_set_ring_tone">Set ringtone</string>
@@ -452,7 +449,8 @@
<!-- Hint text displayed in the "digits" field above the dialer's
dialpad, if there's already a call in progress. (This hint
reminds the user that the dialer will add a new call, as opposed
- to sending DTMF tones over the current call.) -->
+ to sending DTMF tones over the current call.)
+ [CHAR LIMIT=40] -->
<string name="dialerDialpadHintText">Dial to add a call</string>
<!-- Dialog text displayed when loading a phone number from the SIM card for speed dial -->
@@ -584,8 +582,6 @@
<!-- The text displayed on the divider for the Favorites tab in Phone app indicating that items below it are frequently called as opposed to starred contacts [CHAR LIMIT = 39] -->
<string name="favoritesFrequentCalled">Frequently called</string>
- <!-- Dialog title when prompting before creating a contact -->
- <string name="add_contact_dlg_title">Add contact</string>
<!-- Dialog message when prompting before creating a contact. Includes
the email address, e.g. "Add xyz@foo.com to contacts?" -->
<string name="add_contact_dlg_message_fmt">Add \"<xliff:g id="email">%s</xliff:g>\" to contacts?</string>
@@ -731,19 +727,11 @@
-->
<string name="description_view_contact_detail" msgid="2795575601596468581">View contact</string>
- <!-- Dialog title shown when (USB) storage does not exist [CHAR LIMIT=25] -->
- <string name="no_sdcard_title" product="nosdcard">Storage unavailable</string>
- <!-- Dialog title shown when SD Card does not exist -->
- <string name="no_sdcard_title" product="default">No SD card</string>
-
<!-- Dialog message shown when (USB) storage does not exist [CHAR LIMIT=30] -->
<string name="no_sdcard_message" product="nosdcard">No storage was found.</string>
<!-- Dialog message shown when SDcard does not exist. [CHAR LIMIT=30] -->
<string name="no_sdcard_message" product="default">No SD card was found.</string>
- <!-- Dialog title shown when searching vCard data from SD Card -->
- <string name="searching_vcard_title">Searching for vCard</string>
-
<!-- Action string for selecting SIM for importing contacts -->
<string name="import_from_sim">Import from SIM card</string>
@@ -776,11 +764,6 @@
<!-- Dialog message shown when searching VCard data from SD Card. [CHAR LIMIT=NONE] -->
<string name="searching_vcard_message" product="default">Searching for vCard data on SD card\u2026</string>
- <!-- Dialog title shown when scanning VCard data failed. [CHAR LIMIT=NONE] -->
- <string name="scanning_sdcard_failed_title" product="nosdcard">Couldn\'t scan storage</string>
- <!-- Dialog title shown when scanning VCard data failed. -->
- <string name="scanning_sdcard_failed_title" product="default">Couldn\'t scan SD card</string>
-
<!-- Dialog message shown when searching VCard data failed.
An exact reason for the failure should [CHAR LIMIT=NONE] -->
<string name="scanning_sdcard_failed_message" product="nosdcard">The storage couldn\'t be scanned. (Reason: \"<xliff:g id="fail_reason">%s</xliff:g>\")</string>
@@ -968,17 +951,11 @@
<!-- Message in progress bar while exporting contact list to a file "(current number) of (total number) contacts" The order of "current number" and "total number" cannot be changed (like "total: (total number), current: (current number)")-->
<string name="exporting_contact_list_progress"><xliff:g id="current_number">%s</xliff:g> of <xliff:g id="total_number">%s</xliff:g> contacts</string>
- <!-- Title shown in a Dialog confirming a user's cancel request toward existing vCard import. [CHAR LIMIT=40] -->
- <string name="cancel_import_confirmation_title">Canceling vCard import</string>
-
<!-- Message shown in a Dialog confirming a user's cancel request toward existing vCard import.
The argument is file name for the vCard import the user wants to cancel.
[CHAR LIMIT=128] -->
<string name="cancel_import_confirmation_message">Cancel import of <xliff:g id="filename" example="import.vcf">%s</xliff:g>?</string>
- <!-- Title shown in a Dialog confirming a user's cancel request toward existing vCard export. [CHAR LIMIT=128] -->
- <string name="cancel_export_confirmation_title">Canceling vCard export</string>
-
<!-- Message shown in a Dialog confirming a user's cancel request toward existing vCard export.
The argument is file name for the vCard export the user wants to cancel.
[CHAR LIMIT=128] -->
@@ -1025,6 +1002,9 @@
<!-- Dialog title when selecting the bulk operation to perform from a list. [CHAR LIMIT=36] -->
<string name="dialog_import_export">Import/export contacts</string>
+ <!-- Dialog title when importing contacts from an external source. [CHAR LIMIT=36] -->
+ <string name="dialog_import">Import contacts</string>
+
<!-- The menu item to share the currently viewed contact [CHAR LIMIT=30] -->
<string name="menu_share">Share</string>
@@ -1393,19 +1373,11 @@
<!-- The name of the invisible local contact directory -->
<string name="local_invisible_directory">Other</string>
- <!-- The title of a confirmation dialog shown when the user selects a
- contact aggregation suggestion in Contact editor. [CHAR LIMIT=128]-->
- <string name="aggregation_suggestion_join_dialog_title">Join contacts</string>
-
<!-- The message in a confirmation dialog shown when the user selects a
contact aggregation suggestion in Contact editor. [CHAR LIMIT=512]-->
<string name="aggregation_suggestion_join_dialog_message">Join
the current contact with the selected contact?</string>
- <!-- The title of a confirmation dialog shown when the user selects a
- contact aggregation suggestion in Contact editor. [CHAR LIMIT=128]-->
- <string name="aggregation_suggestion_edit_dialog_title">Edit selected contacts</string>
-
<!-- The message in a confirmation dialog shown when the user selects a
contact aggregation suggestion in Contact editor. [CHAR LIMIT=512]-->
<string name="aggregation_suggestion_edit_dialog_message">Switch to editing
@@ -1509,7 +1481,7 @@
<!-- Button shown on the main contacts screen when there are no contacts on the device.
Initiates a contact import dialog [CHAR LIMIT=128] -->
- <string name="contacts_unavailable_import_contacts">Import contacts from a file</string>
+ <string name="contacts_unavailable_import_contacts">Import contacts</string>
<!-- Title of the dialog that allows creation of a contact group [CHAR LIMIT=128] -->
<string name="create_group_dialog_title">Create new group</string>
@@ -1517,9 +1489,6 @@
<!-- An item in the popup list of groups that triggers creation of a contact group [CHAR LIMIT=128] -->
<string name="create_group_item_label">[Create new group]</string>
- <!-- Title of the dialog that allows deletion of a contact group [CHAR LIMIT=128] -->
- <string name="delete_group_dialog_title">Delete group</string>
-
<!-- Shows how many groups are from the specified account [CHAR LIMIT=15] -->
<plurals name="num_groups_in_account">
<item quantity="one">1 group</item>
@@ -1562,9 +1531,6 @@
<!-- Toast shown when text is copied to the clipboard [CHAR LIMIT=64] -->
<string name="toast_text_copied">Text copied</string>
- <!-- Title of the alert dialog when the user hits the Cancel button in the editor [CHAR LIMIT=64] -->
- <string name="cancel_confirmation_dialog_title">Discard changes</string>
-
<!-- Contents of the alert dialog when the user hits the Cancel button in the editor [CHAR LIMIT=128] -->
<string name="cancel_confirmation_dialog_message">Discard your changes?</string>
diff --git a/res/values/styles.xml b/res/values/styles.xml
index ece881e..9434104 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -314,6 +314,15 @@
<item name="android:background">@color/quickcontact_tab_indicator</item>
</style>
+ <style name="Theme.PhotoSelector" parent="@android:style/Theme.Holo.Light">
+ <item name="android:windowBackground">@android:color/transparent</item>
+ <item name="android:windowFrame">@null</item>
+ <item name="android:windowContentOverlay">@null</item>
+ <item name="android:windowAnimationStyle">@null</item>
+ <item name="android:backgroundDimEnabled">false</item>
+ <item name="android:windowIsTranslucent">true</item>
+ <item name="android:windowNoTitle">true</item>
+ </style>
<style name="GroupMembershipSizeTextAppearance" parent="@android:style/TextAppearance.Small"/>
diff --git a/src/com/android/contacts/CallContactActivity.java b/src/com/android/contacts/CallContactActivity.java
index b7c472a..793770b 100644
--- a/src/com/android/contacts/CallContactActivity.java
+++ b/src/com/android/contacts/CallContactActivity.java
@@ -18,10 +18,8 @@
import com.android.contacts.interactions.PhoneNumberInteraction;
-import android.app.Dialog;
import android.content.DialogInterface;
import android.content.DialogInterface.OnDismissListener;
-import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.provider.ContactsContract.Contacts;
@@ -50,7 +48,7 @@
if (Contacts.CONTENT_ITEM_TYPE.equals(getContentResolver().getType(contactUri))) {
PhoneNumberInteraction.startInteractionForPhoneCall(this, contactUri);
} else {
- startActivity(new Intent(Intent.ACTION_CALL_PRIVILEGED, contactUri));
+ startActivity(ContactsUtils.getCallIntent(contactUri));
finish();
}
}
diff --git a/src/com/android/contacts/CallDetailActivity.java b/src/com/android/contacts/CallDetailActivity.java
index caa8bce..ac26494 100644
--- a/src/com/android/contacts/CallDetailActivity.java
+++ b/src/com/android/contacts/CallDetailActivity.java
@@ -22,6 +22,7 @@
import com.android.contacts.calllog.ContactInfo;
import com.android.contacts.calllog.ContactInfoHelper;
import com.android.contacts.calllog.PhoneNumberHelper;
+import com.android.contacts.format.FormatUtils;
import com.android.contacts.util.AsyncTaskExecutor;
import com.android.contacts.util.AsyncTaskExecutors;
import com.android.contacts.voicemail.VoicemailPlaybackFragment;
@@ -331,9 +332,8 @@
TelephonyManager tm = (TelephonyManager)
getSystemService(Context.TELEPHONY_SERVICE);
if (tm.getCallState() == TelephonyManager.CALL_STATE_IDLE) {
- Intent callIntent = new Intent(Intent.ACTION_CALL_PRIVILEGED,
- Uri.fromParts("tel", mNumber, null));
- startActivity(callIntent);
+ startActivity(ContactsUtils.getCallIntent(
+ Uri.fromParts("tel", mNumber, null)));
return true;
}
}
@@ -388,7 +388,6 @@
mPhoneCallDetailsHelper.setCallDetailsHeader(mHeaderTextView, firstDetails);
// Cache the details about the phone number.
- final Uri numberCallUri = mPhoneNumberHelper.getCallUri(mNumber);
final boolean canPlaceCallsTo = mPhoneNumberHelper.canPlaceCallsTo(mNumber);
final boolean isVoicemailNumber = mPhoneNumberHelper.isVoicemailNumber(mNumber);
final boolean isSipNumber = mPhoneNumberHelper.isSipNumber(mNumber);
@@ -469,9 +468,10 @@
firstDetails.number, firstDetails.formattedNumber);
ViewEntry entry = new ViewEntry(
- getString(R.string.menu_callNumber, displayNumber),
- new Intent(Intent.ACTION_CALL_PRIVILEGED, numberCallUri),
- getString(R.string.description_call, nameOrNumber));
+ getString(R.string.menu_callNumber,
+ FormatUtils.forceLeftToRight(displayNumber)),
+ ContactsUtils.getCallIntent(mNumber),
+ getString(R.string.description_call, nameOrNumber));
// Only show a label if the number is shown and it is not a SIP address.
if (!TextUtils.isEmpty(firstDetails.name)
@@ -771,7 +771,7 @@
}
public void onMenuEditNumberBeforeCall(MenuItem menuItem) {
- startActivity(new Intent(Intent.ACTION_DIAL, mPhoneNumberHelper.getCallUri(mNumber)));
+ startActivity(new Intent(Intent.ACTION_DIAL, ContactsUtils.getCallUri(mNumber)));
}
public void onMenuTrashVoicemail(MenuItem menuItem) {
diff --git a/src/com/android/contacts/ContactLoader.java b/src/com/android/contacts/ContactLoader.java
index c711b6c..2e59f71 100644
--- a/src/com/android/contacts/ContactLoader.java
+++ b/src/com/android/contacts/ContactLoader.java
@@ -301,8 +301,11 @@
return mRequestedUri;
}
+ /**
+ * Returns the contact ID.
+ */
@VisibleForTesting
- /*package*/ long getId() {
+ /* package */ long getId() {
return mId;
}
diff --git a/src/com/android/contacts/ContactPhotoManager.java b/src/com/android/contacts/ContactPhotoManager.java
index 7c54e80..f53766d 100644
--- a/src/com/android/contacts/ContactPhotoManager.java
+++ b/src/com/android/contacts/ContactPhotoManager.java
@@ -177,6 +177,14 @@
public abstract void refreshCache();
/**
+ * Stores the given bitmap directly in the LRU bitmap cache.
+ * @param photoUri The URI of the photo (for future requests).
+ * @param bitmap The bitmap.
+ * @param photoBytes The bytes that were parsed to create the bitmap.
+ */
+ public abstract void cacheBitmap(Uri photoUri, Bitmap bitmap, byte[] photoBytes);
+
+ /**
* Initiates a background process that over time will fill up cache with
* preload photos.
*/
@@ -649,6 +657,14 @@
mBitmapHolderCache.put(key, holder);
}
+ @Override
+ public void cacheBitmap(Uri photoUri, Bitmap bitmap, byte[] photoBytes) {
+ Request request = Request.createFromUri(photoUri, true, false, DEFAULT_AVATER);
+ BitmapHolder holder = new BitmapHolder(photoBytes);
+ mBitmapHolderCache.put(request.getKey(), holder);
+ mBitmapCache.put(request, bitmap);
+ }
+
/**
* Populates an array of photo IDs that need to be loaded.
*/
diff --git a/src/com/android/contacts/ContactsUtils.java b/src/com/android/contacts/ContactsUtils.java
index cb19713..f7afd22 100644
--- a/src/com/android/contacts/ContactsUtils.java
+++ b/src/com/android/contacts/ContactsUtils.java
@@ -16,6 +16,8 @@
package com.android.contacts;
+import com.android.contacts.activities.DialtactsActivity;
+import com.android.contacts.calllog.PhoneNumberHelper;
import com.android.contacts.model.AccountType;
import com.android.contacts.model.AccountTypeManager;
import com.android.contacts.model.AccountWithDataSet;
@@ -30,6 +32,7 @@
import android.provider.ContactsContract;
import android.provider.ContactsContract.CommonDataKinds.Im;
import android.provider.ContactsContract.CommonDataKinds.Phone;
+import android.provider.ContactsContract.QuickContact;
import android.telephony.PhoneNumberUtils;
import android.text.TextUtils;
import android.view.View;
@@ -213,6 +216,67 @@
}
/**
+ * Return Uri with an appropriate scheme, accepting Voicemail, SIP, and usual phone call
+ * numbers.
+ */
+ public static Uri getCallUri(String number) {
+ if (PhoneNumberUtils.isVoiceMailNumber(number)) {
+ return Uri.parse("voicemail:");
+ }
+ if (PhoneNumberUtils.isUriNumber(number)) {
+ return Uri.fromParts("sip", number, null);
+ }
+ return Uri.fromParts("tel", number, null);
+ }
+
+ /**
+ * Return an Intent for making a phone call. Scheme (e.g. tel, sip) will be determined
+ * automatically.
+ */
+ public static Intent getCallIntent(String number) {
+ return getCallIntent(number, null);
+ }
+
+ /**
+ * Return an Intent for making a phone call. A given Uri will be used as is (without any
+ * sanity check).
+ */
+ public static Intent getCallIntent(Uri uri) {
+ return getCallIntent(uri, null);
+ }
+
+ /**
+ * A variant of {@link #getCallIntent(String)} but also accept a call origin. For more
+ * information about call origin, see comments in Phone package (PhoneApp).
+ */
+ public static Intent getCallIntent(String number, String callOrigin) {
+ return getCallIntent(getCallUri(number), callOrigin);
+ }
+
+ /**
+ * A variant of {@link #getCallIntent(Uri)} but also accept a call origin. For more
+ * information about call origin, see comments in Phone package (PhoneApp).
+ */
+ public static Intent getCallIntent(Uri uri, String callOrigin) {
+ final Intent intent = new Intent(Intent.ACTION_CALL_PRIVILEGED, uri);
+ intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+ if (callOrigin != null) {
+ intent.putExtra(DialtactsActivity.EXTRA_CALL_ORIGIN, callOrigin);
+ }
+ return intent;
+ }
+
+ /**
+ * Return an Intent for launching voicemail screen.
+ */
+ public static Intent getVoicemailIntent() {
+ final Intent intent = new Intent(Intent.ACTION_CALL_PRIVILEGED,
+ Uri.fromParts("voicemail", "", null));
+ intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+ return intent;
+ }
+
+ /**
* Returns a header view based on the R.layout.list_separator, where the
* containing {@link TextView} is set using the given textResourceId.
*/
diff --git a/src/com/android/contacts/PhoneCallDetailsHelper.java b/src/com/android/contacts/PhoneCallDetailsHelper.java
index 2d75c26..60dfb7b 100644
--- a/src/com/android/contacts/PhoneCallDetailsHelper.java
+++ b/src/com/android/contacts/PhoneCallDetailsHelper.java
@@ -18,7 +18,6 @@
import com.android.contacts.calllog.CallTypeHelper;
import com.android.contacts.calllog.PhoneNumberHelper;
-import com.android.contacts.format.FormatUtils;
import android.content.res.Resources;
import android.graphics.Typeface;
@@ -103,6 +102,7 @@
final CharSequence nameText;
final CharSequence numberText;
+ final CharSequence labelText;
final CharSequence displayNumber =
mPhoneNumberHelper.getDisplayNumber(details.number, details.formattedNumber);
if (TextUtils.isEmpty(details.name)) {
@@ -113,20 +113,17 @@
} else {
numberText = details.geocode;
}
+ labelText = null;
} else {
nameText = details.name;
- if (numberFormattedLabel != null) {
- numberText = FormatUtils.applyStyleToSpan(Typeface.BOLD,
- numberFormattedLabel + " " + displayNumber, 0,
- numberFormattedLabel.length(),
- Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
- } else {
- numberText = displayNumber;
- }
+ numberText = displayNumber;
+ labelText = numberFormattedLabel;
}
views.nameView.setText(nameText);
views.numberView.setText(numberText);
+ views.labelView.setText(labelText);
+ views.labelView.setVisibility(TextUtils.isEmpty(labelText) ? View.GONE : View.VISIBLE);
}
/** Sets the text of the header view for the details page of a phone call. */
diff --git a/src/com/android/contacts/PhoneCallDetailsViews.java b/src/com/android/contacts/PhoneCallDetailsViews.java
index fa06879..ea5a461 100644
--- a/src/com/android/contacts/PhoneCallDetailsViews.java
+++ b/src/com/android/contacts/PhoneCallDetailsViews.java
@@ -31,14 +31,17 @@
public final CallTypeIconsView callTypeIcons;
public final TextView callTypeAndDate;
public final TextView numberView;
+ public final TextView labelView;
private PhoneCallDetailsViews(TextView nameView, View callTypeView,
- CallTypeIconsView callTypeIcons, TextView callTypeAndDate, TextView numberView) {
+ CallTypeIconsView callTypeIcons, TextView callTypeAndDate, TextView numberView,
+ TextView labelView) {
this.nameView = nameView;
this.callTypeView = callTypeView;
this.callTypeIcons = callTypeIcons;
this.callTypeAndDate = callTypeAndDate;
this.numberView = numberView;
+ this.labelView = labelView;
}
/**
@@ -53,7 +56,8 @@
view.findViewById(R.id.call_type),
(CallTypeIconsView) view.findViewById(R.id.call_type_icons),
(TextView) view.findViewById(R.id.call_count_and_date),
- (TextView) view.findViewById(R.id.number));
+ (TextView) view.findViewById(R.id.number),
+ (TextView) view.findViewById(R.id.label));
}
public static PhoneCallDetailsViews createForTest(Context context) {
@@ -62,6 +66,7 @@
new View(context),
new CallTypeIconsView(context),
new TextView(context),
+ new TextView(context),
new TextView(context));
}
}
diff --git a/src/com/android/contacts/activities/AttachPhotoActivity.java b/src/com/android/contacts/activities/AttachPhotoActivity.java
index a697c29..8d4cb5d 100644
--- a/src/com/android/contacts/activities/AttachPhotoActivity.java
+++ b/src/com/android/contacts/activities/AttachPhotoActivity.java
@@ -156,7 +156,7 @@
Bitmap photo = extras.getParcelable("data");
if (photo != null) {
ByteArrayOutputStream stream = new ByteArrayOutputStream();
- photo.compress(Bitmap.CompressFormat.JPEG, 75, stream);
+ photo.compress(Bitmap.CompressFormat.PNG, 100, stream);
final ContentValues imageValues = new ContentValues();
imageValues.put(Photo.PHOTO, stream.toByteArray());
diff --git a/src/com/android/contacts/activities/ContactDetailActivity.java b/src/com/android/contacts/activities/ContactDetailActivity.java
index b949176..b353a0b 100644
--- a/src/com/android/contacts/activities/ContactDetailActivity.java
+++ b/src/com/android/contacts/activities/ContactDetailActivity.java
@@ -74,7 +74,7 @@
private Handler mHandler = new Handler();
@Override
- public void onCreate(Bundle savedState) {
+ protected void onCreate(Bundle savedState) {
super.onCreate(savedState);
if (PhoneCapabilityTester.isUsingTwoPanes(this)) {
// This activity must not be shown. We have to select the contact in the
diff --git a/src/com/android/contacts/activities/ContactSelectionActivity.java b/src/com/android/contacts/activities/ContactSelectionActivity.java
index b5b6c1d..bf7d7d1 100644
--- a/src/com/android/contacts/activities/ContactSelectionActivity.java
+++ b/src/com/android/contacts/activities/ContactSelectionActivity.java
@@ -31,6 +31,7 @@
import com.android.contacts.list.PhoneNumberPickerFragment;
import com.android.contacts.list.PostalAddressPickerFragment;
import com.android.contacts.widget.ContextMenuAdapter;
+import com.google.android.collect.Sets;
import android.app.ActionBar;
import android.app.ActionBar.LayoutParams;
@@ -415,8 +416,14 @@
ConfirmAddDetailActivity.class);
intent.setData(contactLookupUri);
if (extras != null) {
+ // First remove name key if present because the dialog does not support name
+ // editing. This is fine because the user wants to add information to an
+ // existing contact, who should already have a name and we wouldn't want to
+ // override the name.
+ extras.remove(Insert.NAME);
intent.putExtras(extras);
}
+
// Wait for the activity result because we want to keep the picker open (in case the
// user cancels adding the info to a contact and wants to pick someone else).
startActivityForResult(intent, SUBACTIVITY_ADD_TO_EXISTING_CONTACT);
@@ -440,13 +447,24 @@
* Returns true if is a single email or single phone number provided in the {@link Intent}
* extras bundle so that a pop-up confirmation dialog can be used to add the data to
* a contact. Otherwise return false if there are other intent extras that require launching
- * the full contact editor.
+ * the full contact editor. Ignore extras with the key {@link Insert.NAME} because names
+ * are a special case and we typically don't want to replace the name of an existing
+ * contact.
*/
private boolean launchAddToContactDialog(Bundle extras) {
if (extras == null) {
return false;
}
- Set<String> intentExtraKeys = extras.keySet();
+
+ // Copy extras because the set may be modified in the next step
+ Set<String> intentExtraKeys = Sets.newHashSet();
+ intentExtraKeys.addAll(extras.keySet());
+
+ // Ignore name key because this is an existing contact.
+ if (intentExtraKeys.contains(Insert.NAME)) {
+ intentExtraKeys.remove(Insert.NAME);
+ }
+
int numIntentExtraKeys = intentExtraKeys.size();
if (numIntentExtraKeys == 2) {
boolean hasPhone = intentExtraKeys.contains(Insert.PHONE) &&
diff --git a/src/com/android/contacts/activities/DialtactsActivity.java b/src/com/android/contacts/activities/DialtactsActivity.java
index 7e95fed..37875b0 100644
--- a/src/com/android/contacts/activities/DialtactsActivity.java
+++ b/src/com/android/contacts/activities/DialtactsActivity.java
@@ -111,14 +111,6 @@
private static final int SUBACTIVITY_ACCOUNT_FILTER = 1;
- /**
- * Listener interface for Fragments accommodated in {@link ViewPager} enabling them to know
- * when it becomes visible or invisible inside the ViewPager.
- */
- public interface ViewPagerVisibilityListener {
- public void onVisibilityChanged(boolean visible);
- }
-
public class ViewPagerAdapter extends FragmentPagerAdapter {
public ViewPagerAdapter(FragmentManager fm) {
super(fm);
@@ -165,6 +157,40 @@
actionBar.selectTab(actionBar.getTabAt(position));
mNextPosition = position;
+
+ // This method is called halfway between swiping between the two pages.
+ // When the next page is fully selected, the ViewPager will go back to IDLE state in
+ // onPageScrollStateChanged(). The order should be:
+ // (user's swipe) -> onPageSelected() -> IDLE in onPageScrollStateChanged()
+ //
+ // sendFragmentVisibilityChange() must be called from here or in the IDLE state to
+ // notify the visibility change events to two pages: the current page (pointed by
+ // mCurrentPosition) should receive sendFragmentVisibilityChange() with the second
+ // argument false, meaning "the page is now invisible", while the next page (pointed by
+ // mNextPosition) should receive the method with the second argument true, meaning
+ // "the page becomes visible".
+ //
+ // To make transition animation smooth enough, we need to delay the event in some cases:
+ // - We should delay both method calls when the dialpad screen is involved.
+ // The screen does not have the bottom action bar, requiring different layout to
+ // fill the screen. The layout refresh takes some time and thus should be done after
+ // the page migration being completed.
+ // - We should delay the method for the call log screen. The screen will update
+ // its internal state and may query full call log. which is too costly to do when
+ // setMenuVisibility() is called, making the animation slower.
+ // - We should *not* delay the method for the phone favorite screen. The screen has
+ // another icon the call log screen doesn't have. We want to show/hide it immediately
+ // after user's choosing pages.
+ if (mCurrentPosition == TAB_INDEX_CALL_LOG && mNextPosition == TAB_INDEX_FAVORITES) {
+ sendFragmentVisibilityChange(mNextPosition, true /* visible */ );
+ invalidateOptionsMenu();
+ } else if (mCurrentPosition == TAB_INDEX_FAVORITES
+ && mNextPosition == TAB_INDEX_CALL_LOG) {
+ sendFragmentVisibilityChange(mCurrentPosition, false /* not visible */ );
+ invalidateOptionsMenu();
+ } else {
+ // Delay sendFragmentVisibilityChange() for both positions.
+ }
}
public void setCurrentPosition(int position) {
@@ -175,11 +201,17 @@
public void onPageScrollStateChanged(int state) {
switch (state) {
case ViewPager.SCROLL_STATE_IDLE: {
- if (mCurrentPosition >= 0) {
- sendFragmentVisibilityChange(mCurrentPosition, false);
- }
- if (mNextPosition >= 0) {
- sendFragmentVisibilityChange(mNextPosition, true);
+ // Call delayed sendFragmentVisibilityChange() call(s).
+ // See comments in onPageSelected() for more details.
+ if (mCurrentPosition == TAB_INDEX_CALL_LOG
+ && mNextPosition == TAB_INDEX_FAVORITES) {
+ sendFragmentVisibilityChange(mCurrentPosition, false /* not visible */ );
+ } else if (mCurrentPosition == TAB_INDEX_FAVORITES
+ && mNextPosition == TAB_INDEX_CALL_LOG) {
+ sendFragmentVisibilityChange(mNextPosition, true /* visible */ );
+ } else {
+ sendFragmentVisibilityChange(mCurrentPosition, false /* not visible */ );
+ sendFragmentVisibilityChange(mNextPosition, true /* visible */ );
}
invalidateOptionsMenu();
@@ -511,14 +543,8 @@
if (fragment instanceof DialpadFragment) {
mDialpadFragment = (DialpadFragment) fragment;
mDialpadFragment.setListener(mDialpadListener);
- if (currentPosition == TAB_INDEX_DIALER) {
- mDialpadFragment.onVisibilityChanged(true);
- }
} else if (fragment instanceof CallLogFragment) {
mCallLogFragment = (CallLogFragment) fragment;
- if (currentPosition == TAB_INDEX_CALL_LOG) {
- mCallLogFragment.onVisibilityChanged(true);
- }
} else if (fragment instanceof PhoneFavoriteFragment) {
mPhoneFavoriteFragment = (PhoneFavoriteFragment) fragment;
mPhoneFavoriteFragment.setListener(mPhoneFavoriteListener);
@@ -532,6 +558,7 @@
mSearchFragment.setQuickContactEnabled(true);
mSearchFragment.setDarkTheme(true);
mSearchFragment.setPhotoPosition(ContactListItemView.PhotoPosition.LEFT);
+ mSearchFragment.setUseCallableUri(true);
if (mContactListFilterController != null
&& mContactListFilterController.getFilter() != null) {
mSearchFragment.setFilter(mContactListFilterController.getFilter());
@@ -652,10 +679,10 @@
final int previousItemIndex = mViewPager.getCurrentItem();
mViewPager.setCurrentItem(tabIndex, false /* smoothScroll */);
if (previousItemIndex != tabIndex) {
- sendFragmentVisibilityChange(previousItemIndex, false);
+ sendFragmentVisibilityChange(previousItemIndex, false /* not visible */ );
}
mPageChangeListener.setCurrentPosition(tabIndex);
- sendFragmentVisibilityChange(tabIndex, true);
+ sendFragmentVisibilityChange(tabIndex, true /* visible */ );
// Restore to the previous manual selection
mLastManuallySelectedFragment = savedTabIndex;
@@ -776,21 +803,18 @@
final MenuItem filterOptionMenuItem = menu.findItem(R.id.filter_option);
final MenuItem addContactOptionMenuItem = menu.findItem(R.id.add_contact);
final MenuItem callSettingsMenuItem = menu.findItem(R.id.menu_call_settings);
- Tab tab = getActionBar().getSelectedTab();
+ final Tab tab = getActionBar().getSelectedTab();
if (mInSearchUi) {
searchMenuItem.setVisible(false);
if (ViewConfiguration.get(this).hasPermanentMenuKey()) {
filterOptionMenuItem.setVisible(true);
filterOptionMenuItem.setOnMenuItemClickListener(
mFilterOptionsMenuItemClickListener);
- addContactOptionMenuItem.setVisible(true);
- addContactOptionMenuItem.setIntent(
- new Intent(Intent.ACTION_INSERT, Contacts.CONTENT_URI));
} else {
// Filter option menu should be not be shown as a overflow menu.
filterOptionMenuItem.setVisible(false);
- addContactOptionMenuItem.setVisible(false);
}
+ addContactOptionMenuItem.setVisible(false);
callSettingsMenuItem.setVisible(false);
} else {
final boolean showCallSettingsMenu;
@@ -878,7 +902,7 @@
actionBar.setDisplayShowHomeEnabled(true);
actionBar.setDisplayHomeAsUpEnabled(true);
- sendFragmentVisibilityChange(mViewPager.getCurrentItem(), false);
+ sendFragmentVisibilityChange(mViewPager.getCurrentItem(), false /* not visible */ );
// Show the search fragment and hide everything else.
mSearchFragment.setUserVisibleHint(true);
@@ -930,7 +954,7 @@
actionBar.setDisplayShowHomeEnabled(false);
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
- sendFragmentVisibilityChange(mViewPager.getCurrentItem(), true);
+ sendFragmentVisibilityChange(mViewPager.getCurrentItem(), true /* visible */ );
mViewPager.setVisibility(View.VISIBLE);
@@ -958,9 +982,12 @@
}
private void sendFragmentVisibilityChange(int position, boolean visibility) {
- final Fragment fragment = getFragmentAt(position);
- if (fragment instanceof ViewPagerVisibilityListener) {
- ((ViewPagerVisibilityListener) fragment).onVisibilityChanged(visibility);
+ // Position can be -1 initially. See PageChangeListener.
+ if (position >= 0) {
+ final Fragment fragment = getFragmentAt(position);
+ if (fragment != null) {
+ fragment.setMenuVisibility(visibility);
+ }
}
}
diff --git a/src/com/android/contacts/activities/JoinContactActivity.java b/src/com/android/contacts/activities/JoinContactActivity.java
index 75a13d0..4a277cb 100644
--- a/src/com/android/contacts/activities/JoinContactActivity.java
+++ b/src/com/android/contacts/activities/JoinContactActivity.java
@@ -24,18 +24,29 @@
import com.android.contacts.list.OnContactPickerActionListener;
import android.app.ActionBar;
+import android.app.ActionBar.LayoutParams;
import android.app.Fragment;
+import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.provider.ContactsContract;
+import android.text.TextUtils;
import android.util.Log;
+import android.view.LayoutInflater;
import android.view.MenuItem;
+import android.view.View;
+import android.view.View.OnFocusChangeListener;
+import android.view.inputmethod.InputMethodManager;
+import android.widget.SearchView;
+import android.widget.SearchView.OnCloseListener;
+import android.widget.SearchView.OnQueryTextListener;
/**
* An activity that shows a list of contacts that can be joined with the target contact.
*/
-public class JoinContactActivity extends ContactsActivity {
+public class JoinContactActivity extends ContactsActivity
+ implements OnQueryTextListener, OnCloseListener, OnFocusChangeListener {
private static final String TAG = "JoinContactActivity";
@@ -59,6 +70,7 @@
private long mTargetContactId;
private JoinContactListFragment mListFragment;
+ private SearchView mSearchView;
@Override
public void onAttachFragment(Fragment fragment) {
@@ -93,12 +105,7 @@
.commitAllowingStateLoss();
}
- final ActionBar actionBar = getActionBar();
- if (actionBar != null) {
- actionBar.setDisplayShowHomeEnabled(true);
- actionBar.setDisplayHomeAsUpEnabled(true);
- actionBar.setDisplayShowTitleEnabled(true);
- }
+ prepareSearchViewAndActionBar();
}
private void setupActionListener() {
@@ -125,6 +132,74 @@
});
}
+ private void prepareSearchViewAndActionBar() {
+ final ActionBar actionBar = getActionBar();
+ if (actionBar != null) {
+ final View searchViewOnLayout = findViewById(R.id.search_view);
+ if (searchViewOnLayout != null) {
+ searchViewOnLayout.setVisibility(View.GONE);
+ }
+
+ final View searchViewLayout = LayoutInflater.from(actionBar.getThemedContext())
+ .inflate(R.layout.custom_action_bar, null);
+ mSearchView = (SearchView) searchViewLayout.findViewById(R.id.search_view);
+
+ // In order to make the SearchView look like "shown via search menu", we need to
+ // manually setup its state. See also DialtactsActivity.java and ActionBarAdapter.java.
+ mSearchView.setIconifiedByDefault(true);
+ mSearchView.setQueryHint(getString(R.string.hint_findContacts));
+ mSearchView.setIconified(false);
+
+ mSearchView.setOnQueryTextListener(this);
+ mSearchView.setOnCloseListener(this);
+ mSearchView.setOnQueryTextFocusChangeListener(this);
+
+ actionBar.setCustomView(searchViewLayout,
+ new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
+ actionBar.setDisplayShowCustomEnabled(true);
+ actionBar.setDisplayShowHomeEnabled(true);
+ actionBar.setDisplayHomeAsUpEnabled(true);
+ } else {
+ mSearchView = (SearchView) findViewById(R.id.search_view);
+ mSearchView.setQueryHint(getString(R.string.hint_findContacts));
+ mSearchView.setOnQueryTextListener(this);
+ mSearchView.setOnQueryTextFocusChangeListener(this);
+ }
+
+ // Clear focus and suppress keyboard show-up.
+ mSearchView.clearFocus();
+ }
+
+ @Override
+ public boolean onQueryTextChange(String newText) {
+ mListFragment.setQueryString(newText, true);
+ return false;
+ }
+
+ @Override
+ public boolean onQueryTextSubmit(String query) {
+ return false;
+ }
+
+ @Override
+ public boolean onClose() {
+ if (!TextUtils.isEmpty(mSearchView.getQuery())) {
+ mSearchView.setQuery(null, true);
+ }
+ return true;
+ }
+
+ @Override
+ public void onFocusChange(View view, boolean hasFocus) {
+ switch (view.getId()) {
+ case R.id.search_view: {
+ if (hasFocus) {
+ showInputMethod(mSearchView.findFocus());
+ }
+ }
+ }
+ }
+
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
@@ -156,4 +231,14 @@
mListFragment.onPickerResult(data);
}
}
+
+ private void showInputMethod(View view) {
+ final InputMethodManager imm = (InputMethodManager)
+ getSystemService(Context.INPUT_METHOD_SERVICE);
+ if (imm != null) {
+ if (!imm.showSoftInput(view, 0)) {
+ Log.w(TAG, "Failed to show soft input method.");
+ }
+ }
+ }
}
diff --git a/src/com/android/contacts/activities/PeopleActivity.java b/src/com/android/contacts/activities/PeopleActivity.java
index 8d1b9aa..6f85dc4 100644
--- a/src/com/android/contacts/activities/PeopleActivity.java
+++ b/src/com/android/contacts/activities/PeopleActivity.java
@@ -90,6 +90,7 @@
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
+import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListPopupWindow;
@@ -823,7 +824,7 @@
}
@Override
- public void startUpdate(View container) {
+ public void startUpdate(ViewGroup container) {
}
private Fragment getFragment(int position) {
@@ -844,7 +845,7 @@
}
@Override
- public Object instantiateItem(View container, int position) {
+ public Object instantiateItem(ViewGroup container, int position) {
if (mCurTransaction == null) {
mCurTransaction = mFragmentManager.beginTransaction();
}
@@ -857,7 +858,7 @@
}
@Override
- public void destroyItem(View container, int position, Object object) {
+ public void destroyItem(ViewGroup container, int position, Object object) {
if (mCurTransaction == null) {
mCurTransaction = mFragmentManager.beginTransaction();
}
@@ -865,7 +866,7 @@
}
@Override
- public void finishUpdate(View container) {
+ public void finishUpdate(ViewGroup container) {
if (mCurTransaction != null) {
mCurTransaction.commitAllowingStateLoss();
mCurTransaction = null;
@@ -879,7 +880,7 @@
}
@Override
- public void setPrimaryItem(View container, int position, Object object) {
+ public void setPrimaryItem(ViewGroup container, int position, Object object) {
Fragment fragment = (Fragment) object;
if (mCurrentPrimaryItem != fragment) {
if (mCurrentPrimaryItem != null) {
@@ -968,7 +969,12 @@
View mainView = findViewById(R.id.main_view);
if (mProviderStatus == ProviderStatus.STATUS_NORMAL) {
+ // Ensure that the mTabPager is visible; we may have made it invisible below.
contactsUnavailableView.setVisibility(View.GONE);
+ if (mTabPager != null) {
+ mTabPager.setVisibility(View.VISIBLE);
+ }
+
if (mainView != null) {
mainView.setVisibility(View.VISIBLE);
}
@@ -1001,7 +1007,14 @@
} else {
mContactsUnavailableFragment.update();
}
+
+ // Show the contactsUnavailableView, and hide the mTabPager so that we don't
+ // see it sliding in underneath the contactsUnavailableView at the edges.
contactsUnavailableView.setVisibility(View.VISIBLE);
+ if (mTabPager != null) {
+ mTabPager.setVisibility(View.GONE);
+ }
+
if (mainView != null) {
mainView.setVisibility(View.INVISIBLE);
}
@@ -1198,7 +1211,7 @@
@Override
public void onImportContactsFromFileAction() {
- ImportExportDialogFragment.show(getFragmentManager());
+ ImportExportDialogFragment.show(getFragmentManager(), areContactsAvailable());
}
@Override
@@ -1288,7 +1301,7 @@
super.onCreateOptionsMenu(menu);
MenuInflater inflater = getMenuInflater();
- inflater.inflate(R.menu.actions, menu);
+ inflater.inflate(R.menu.people_options, menu);
// On narrow screens we specify a NEW group button in the {@link ActionBar}, so that
// it can be in the overflow menu. On wide screens, we use a custom view because we need
@@ -1452,7 +1465,7 @@
return true;
}
case R.id.menu_import_export: {
- ImportExportDialogFragment.show(getFragmentManager());
+ ImportExportDialogFragment.show(getFragmentManager(), areContactsAvailable());
return true;
}
case R.id.menu_accounts: {
diff --git a/src/com/android/contacts/activities/PhotoSelectionActivity.java b/src/com/android/contacts/activities/PhotoSelectionActivity.java
new file mode 100644
index 0000000..de129cb
--- /dev/null
+++ b/src/com/android/contacts/activities/PhotoSelectionActivity.java
@@ -0,0 +1,492 @@
+/*
+ * Copyright (C) 2011 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.contacts.activities;
+
+import com.android.contacts.ContactPhotoManager;
+import com.android.contacts.ContactSaveService;
+import com.android.contacts.R;
+import com.android.contacts.detail.PhotoSelectionHandler;
+import com.android.contacts.editor.PhotoActionPopup;
+import com.android.contacts.model.EntityDeltaList;
+
+import android.animation.Animator;
+import android.animation.AnimatorListenerAdapter;
+import android.animation.ObjectAnimator;
+import android.animation.PropertyValuesHolder;
+import android.app.Activity;
+import android.content.Context;
+import android.content.Intent;
+import android.graphics.Bitmap;
+import android.graphics.Rect;
+import android.net.Uri;
+import android.os.Bundle;
+import android.os.Parcelable;
+import android.view.View;
+import android.view.ViewGroup.MarginLayoutParams;
+import android.view.ViewTreeObserver.OnGlobalLayoutListener;
+import android.widget.FrameLayout.LayoutParams;
+import android.widget.ImageView;
+
+import java.io.File;
+
+/**
+ * Popup activity for choosing a contact photo within the Contacts app.
+ */
+public class PhotoSelectionActivity extends Activity {
+
+ /** Number of ms for the animation to expand the photo. */
+ private static final int PHOTO_EXPAND_DURATION = 100;
+
+ /** Number of ms for the animation to contract the photo on activity exit. */
+ private static final int PHOTO_CONTRACT_DURATION = 50;
+
+ /** Number of ms for the animation to hide the backdrop on finish. */
+ private static final int BACKDROP_FADEOUT_DURATION = 100;
+
+ private static final String KEY_CURRENT_PHOTO_FILE = "currentphotofile";
+
+ private static final String KEY_SUB_ACTIVITY_IN_PROGRESS = "subinprogress";
+
+ /** Intent extra to get the photo URI. */
+ public static final String PHOTO_URI = "photo_uri";
+
+ /** Intent extra to get the entity delta list. */
+ public static final String ENTITY_DELTA_LIST = "entity_delta_list";
+
+ /** Intent extra to indicate whether the contact is the user's profile. */
+ public static final String IS_PROFILE = "is_profile";
+
+ /** Intent extra to indicate whether the contact is from a directory (non-editable). */
+ public static final String IS_DIRECTORY_CONTACT = "is_directory_contact";
+
+ /**
+ * Intent extra to indicate whether the photo should be animated to show the full contents of
+ * the photo (on a larger portion of the screen) when clicked. If unspecified or false, the
+ * photo will not move from its original location.
+ */
+ public static final String EXPAND_PHOTO = "expand_photo";
+
+ /** Source bounds of the image that was clicked on. */
+ private Rect mSourceBounds;
+
+ /**
+ * The photo URI. May be null, in which case the default avatar will be used.
+ */
+ private Uri mPhotoUri;
+
+ /** Entity delta list of the contact. */
+ private EntityDeltaList mState;
+
+ /** Whether the contact is the user's profile. */
+ private boolean mIsProfile;
+
+ /** Whether the contact is from a directory. */
+ private boolean mIsDirectoryContact;
+
+ /** Whether to animate the photo to an expanded view covering more of the screen. */
+ private boolean mExpandPhoto;
+
+ /** The semi-transparent backdrop. */
+ private View mBackdrop;
+
+ /** The photo view. */
+ private ImageView mPhotoView;
+
+ /** The photo handler attached to this activity, if any. */
+ private PhotoHandler mPhotoHandler;
+
+ /** Animator to expand the photo out to full size. */
+ private ObjectAnimator mPhotoAnimator;
+
+ /** Listener for the animation. */
+ private AnimatorListenerAdapter mAnimationListener;
+
+ /** Whether a change in layout of the photo has occurred that has no animation yet. */
+ private boolean mAnimationPending;
+
+ /** Prior position of the image (for animating). */
+ Rect mOriginalPos = new Rect();
+
+ /** Layout params for the photo view before we started animating. */
+ private LayoutParams mPhotoStartParams;
+
+ /** Layout params for the photo view after we finished animating. */
+ private LayoutParams mPhotoEndParams;
+
+ /** Whether a sub-activity is currently in progress. */
+ private boolean mSubActivityInProgress;
+
+ /**
+ * A photo result received by the activity, persisted across activity lifecycle.
+ */
+ private PendingPhotoResult mPendingPhotoResult;
+
+ /**
+ * The photo file being interacted with, if any. Saved/restored between activity instances.
+ */
+ private File mCurrentPhotoFile;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.photoselection_activity);
+ if (savedInstanceState != null) {
+ String fileName = savedInstanceState.getString(KEY_CURRENT_PHOTO_FILE);
+ if (fileName != null) {
+ mCurrentPhotoFile = new File(fileName);
+ }
+ mSubActivityInProgress = savedInstanceState.getBoolean(KEY_SUB_ACTIVITY_IN_PROGRESS);
+ }
+
+ // Pull data out of the intent.
+ final Intent intent = getIntent();
+ mPhotoUri = intent.getParcelableExtra(PHOTO_URI);
+ mState = (EntityDeltaList) intent.getParcelableExtra(ENTITY_DELTA_LIST);
+ mIsProfile = intent.getBooleanExtra(IS_PROFILE, false);
+ mIsDirectoryContact = intent.getBooleanExtra(IS_DIRECTORY_CONTACT, false);
+ mExpandPhoto = intent.getBooleanExtra(EXPAND_PHOTO, false);
+
+ mBackdrop = findViewById(R.id.backdrop);
+ mPhotoView = (ImageView) findViewById(R.id.photo);
+ mSourceBounds = intent.getSourceBounds();
+
+ // Fade in the background.
+ animateInBackground();
+
+ // Dismiss the dialog on clicking the backdrop.
+ mBackdrop.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ finish();
+ }
+ });
+
+ // Wait until the layout pass to show the photo, so that the source bounds will match up.
+ OnGlobalLayoutListener globalLayoutListener = new OnGlobalLayoutListener() {
+ @Override
+ public void onGlobalLayout() {
+ displayPhoto();
+ mBackdrop.getViewTreeObserver().removeGlobalOnLayoutListener(this);
+ }
+ };
+ mBackdrop.getViewTreeObserver().addOnGlobalLayoutListener(globalLayoutListener);
+ }
+
+ @Override
+ public void finish() {
+ if (!mSubActivityInProgress) {
+ closePhotoAndFinish();
+ } else {
+ activityFinish();
+ }
+ }
+
+ /**
+ * Builds a well-formed intent for invoking this activity.
+ * @param context The context.
+ * @param photoUri The URI of the current photo (may be null, in which case the default
+ * avatar image will be displayed).
+ * @param photoBitmap The bitmap of the current photo (may be null, in which case the default
+ * avatar image will be displayed).
+ * @param photoBytes The bytes for the current photo (may be null, in which case the default
+ * avatar image will be displayed).
+ * @param photoBounds The pixel bounds of the current photo.
+ * @param delta The entity delta list for the contact.
+ * @param isProfile Whether the contact is the user's profile.
+ * @param isDirectoryContact Whether the contact comes from a directory (non-editable).
+ * @param expandPhotoOnClick Whether the photo should be expanded on click or not (generally,
+ * this should be true for phones, and false for tablets).
+ * @return An intent that can be used to invoke the photo selection activity.
+ */
+ public static Intent buildIntent(Context context, Uri photoUri, Bitmap photoBitmap,
+ byte[] photoBytes, Rect photoBounds, EntityDeltaList delta, boolean isProfile,
+ boolean isDirectoryContact, boolean expandPhotoOnClick) {
+ Intent intent = new Intent(context, PhotoSelectionActivity.class);
+ if (photoUri != null && photoBitmap != null && photoBytes != null) {
+ intent.putExtra(PHOTO_URI, photoUri);
+ }
+ intent.setSourceBounds(photoBounds);
+ intent.putExtra(ENTITY_DELTA_LIST, (Parcelable) delta);
+ intent.putExtra(IS_PROFILE, isProfile);
+ intent.putExtra(IS_DIRECTORY_CONTACT, isDirectoryContact);
+ intent.putExtra(EXPAND_PHOTO, expandPhotoOnClick);
+ return intent;
+ }
+
+ private void activityFinish() {
+ super.finish();
+ }
+
+ @Override
+ protected void onDestroy() {
+ super.onDestroy();
+ if (mPhotoAnimator != null) {
+ mPhotoAnimator.cancel();
+ mPhotoAnimator = null;
+ }
+ if (mPhotoHandler != null) {
+ mPhotoHandler.destroy();
+ mPhotoHandler = null;
+ }
+ }
+
+ private void displayPhoto() {
+ // Load the photo.
+ if (mPhotoUri != null) {
+ // If we have a URI, the bitmap should be cached directly.
+ ContactPhotoManager.getInstance(this).loadPhoto(mPhotoView, mPhotoUri, true, false);
+ } else {
+ // Fall back to avatar image.
+ mPhotoView.setImageResource(ContactPhotoManager.getDefaultAvatarResId(true, false));
+ }
+
+ // Animate the photo view into its end location.
+ final int[] pos = new int[2];
+ mBackdrop.getLocationOnScreen(pos);
+ LayoutParams layoutParams = new LayoutParams(mSourceBounds.width(),
+ mSourceBounds.height());
+ mOriginalPos.left = mSourceBounds.left - pos[0];
+ mOriginalPos.top = mSourceBounds.top - pos[1];
+ mOriginalPos.right = mOriginalPos.left + mSourceBounds.width();
+ mOriginalPos.bottom = mOriginalPos.top + mSourceBounds.height();
+ layoutParams.setMargins(mOriginalPos.left, mOriginalPos.top, mOriginalPos.right,
+ mOriginalPos.bottom);
+ mPhotoStartParams = layoutParams;
+ mPhotoView.setLayoutParams(layoutParams);
+ mPhotoView.requestLayout();
+
+ mPhotoView.addOnLayoutChangeListener(new View.OnLayoutChangeListener() {
+ @Override
+ public void onLayoutChange(View v, int left, int top, int right, int bottom,
+ int oldLeft, int oldTop, int oldRight, int oldBottom) {
+ if (mAnimationPending) {
+ mAnimationPending = false;
+ PropertyValuesHolder pvhLeft =
+ PropertyValuesHolder.ofInt("left", mOriginalPos.left, left);
+ PropertyValuesHolder pvhTop =
+ PropertyValuesHolder.ofInt("top", mOriginalPos.top, top);
+ PropertyValuesHolder pvhRight =
+ PropertyValuesHolder.ofInt("right", mOriginalPos.right, right);
+ PropertyValuesHolder pvhBottom =
+ PropertyValuesHolder.ofInt("bottom", mOriginalPos.bottom, bottom);
+ ObjectAnimator anim = ObjectAnimator.ofPropertyValuesHolder(mPhotoView,
+ pvhLeft, pvhTop, pvhRight, pvhBottom).setDuration(
+ PHOTO_EXPAND_DURATION);
+ if (mAnimationListener != null) {
+ anim.addListener(mAnimationListener);
+ }
+ anim.start();
+ }
+ }
+ });
+ attachPhotoHandler();
+ }
+
+ private LayoutParams getPhotoEndParams() {
+ if (mPhotoEndParams == null) {
+ mPhotoEndParams = new LayoutParams(mPhotoStartParams);
+ if (mExpandPhoto) {
+ Rect bounds = new Rect();
+ mBackdrop.getDrawingRect(bounds);
+ if (bounds.height() > bounds.width()) {
+ //Take up full width.
+ mPhotoEndParams.width = bounds.width();
+ mPhotoEndParams.height = bounds.width();
+ } else {
+ // Take up full height, leaving space for the popup.
+ mPhotoEndParams.height = bounds.height() - 150;
+ mPhotoEndParams.width = bounds.height() - 150;
+ }
+ mPhotoEndParams.topMargin = 0;
+ mPhotoEndParams.leftMargin = 0;
+ mPhotoEndParams.bottomMargin = mPhotoEndParams.height;
+ mPhotoEndParams.rightMargin = mPhotoEndParams.width;
+ }
+ }
+ return mPhotoEndParams;
+ }
+
+ private void animatePhotoOpen() {
+ mAnimationListener = new AnimatorListenerAdapter() {
+ private void capturePhotoPos() {
+ mPhotoView.requestLayout();
+ mOriginalPos.left = mPhotoView.getLeft();
+ mOriginalPos.top = mPhotoView.getTop();
+ mOriginalPos.right = mPhotoView.getRight();
+ mOriginalPos.bottom = mPhotoView.getBottom();
+ }
+
+ @Override
+ public void onAnimationEnd(Animator animation) {
+ capturePhotoPos();
+ if (mPhotoHandler != null) {
+ mPhotoHandler.onClick(mPhotoView);
+ }
+ }
+
+ @Override
+ public void onAnimationCancel(Animator animation) {
+ capturePhotoPos();
+ }
+ };
+ animatePhoto(getPhotoEndParams());
+ }
+
+ private void closePhotoAndFinish() {
+ mAnimationListener = new AnimatorListenerAdapter() {
+ @Override
+ public void onAnimationEnd(Animator animation) {
+ // After the photo animates down, fade it away and finish.
+ ObjectAnimator anim = ObjectAnimator.ofFloat(
+ mPhotoView, "alpha", 0f).setDuration(PHOTO_CONTRACT_DURATION);
+ anim.addListener(new AnimatorListenerAdapter() {
+ @Override
+ public void onAnimationEnd(Animator animation) {
+ activityFinish();
+ }
+ });
+ anim.start();
+ }
+ };
+
+ // TODO: This won't animate in the right way if the rotation has changed since the activity
+ // was first started.
+ animatePhoto(mPhotoStartParams);
+ animateAwayBackground();
+ }
+
+ private void animatePhoto(MarginLayoutParams to) {
+ // Cancel any existing animation.
+ if (mPhotoAnimator != null) {
+ mPhotoAnimator.cancel();
+ }
+
+ mPhotoView.setLayoutParams(to);
+ mAnimationPending = true;
+ mPhotoView.requestLayout();
+ }
+
+ private void animateInBackground() {
+ ObjectAnimator.ofFloat(mBackdrop, "alpha", 0, 0.5f).setDuration(
+ PHOTO_EXPAND_DURATION).start();
+ }
+
+ private void animateAwayBackground() {
+ ObjectAnimator.ofFloat(mBackdrop, "alpha", 0f).setDuration(
+ BACKDROP_FADEOUT_DURATION).start();
+ }
+
+ @Override
+ protected void onSaveInstanceState(Bundle outState) {
+ super.onSaveInstanceState(outState);
+ if (mCurrentPhotoFile != null) {
+ outState.putString(KEY_CURRENT_PHOTO_FILE, mCurrentPhotoFile.toString());
+ }
+ outState.putBoolean(KEY_SUB_ACTIVITY_IN_PROGRESS, mSubActivityInProgress);
+ }
+
+ @Override
+ protected void onActivityResult(int requestCode, int resultCode, Intent data) {
+ if (mPhotoHandler != null) {
+ mSubActivityInProgress = false;
+ if (mPhotoHandler.handlePhotoActivityResult(requestCode, resultCode, data)) {
+ // Clear out any pending photo result.
+ mPendingPhotoResult = null;
+ } else {
+ // User returning to the photo selection activity. Re-display options.
+ mPhotoHandler.onClick(mPhotoView);
+ }
+ } else {
+ // Create a pending photo result to be handled when the photo handler is created.
+ mPendingPhotoResult = new PendingPhotoResult(requestCode, resultCode, data);
+ }
+ }
+
+ private void attachPhotoHandler() {
+ mPhotoHandler = new PhotoHandler(this, mPhotoView,
+ PhotoActionPopup.MODE_NO_PHOTO, mState);
+ if (mPendingPhotoResult != null) {
+ mPhotoHandler.handlePhotoActivityResult(mPendingPhotoResult.mRequestCode,
+ mPendingPhotoResult.mResultCode, mPendingPhotoResult.mData);
+ mPendingPhotoResult = null;
+ } else {
+ animatePhotoOpen();
+ }
+ }
+
+ private final class PhotoHandler extends PhotoSelectionHandler {
+ private PhotoHandler(Context context, View photoView, int photoMode,
+ EntityDeltaList state) {
+ super(context, photoView, photoMode, mIsDirectoryContact, state);
+ setListener(new PhotoListener(context, mIsProfile));
+ }
+
+ private final class PhotoListener extends PhotoActionListener {
+ private final Context mContext;
+ private final boolean mIsProfile;
+ private PhotoListener(Context context, boolean isProfile) {
+ mContext = context;
+ mIsProfile = isProfile;
+ }
+
+ @Override
+ public void startTakePhotoActivity(Intent intent, int requestCode, File photoFile) {
+ mSubActivityInProgress = true;
+ mCurrentPhotoFile = photoFile;
+ startActivityForResult(intent, requestCode);
+ }
+
+ @Override
+ public void startPickFromGalleryActivity(Intent intent, int requestCode) {
+ mSubActivityInProgress = true;
+ startActivityForResult(intent, requestCode);
+ }
+
+ @Override
+ public void onPhotoSelected(Bitmap bitmap) {
+ EntityDeltaList delta = getDeltaForAttachingPhotoToContact(bitmap);
+ Intent intent = ContactSaveService.createSaveContactIntent(mContext, delta,
+ "", 0, mIsProfile, PhotoSelectionActivity.class,
+ ContactEditorActivity.ACTION_SAVE_COMPLETED);
+ startService(intent);
+ finish();
+ }
+
+ @Override
+ public File getCurrentPhotoFile() {
+ return mCurrentPhotoFile;
+ }
+
+ @Override
+ public void onPhotoSelectionDismissed() {
+ if (!mSubActivityInProgress) {
+ finish();
+ }
+ }
+ }
+ }
+
+ private static class PendingPhotoResult {
+ private int mRequestCode;
+ private int mResultCode;
+ private Intent mData;
+ private PendingPhotoResult(int requestCode, int resultCode, Intent data) {
+ mRequestCode = requestCode;
+ mResultCode = resultCode;
+ mData = data;
+ }
+ }
+}
diff --git a/src/com/android/contacts/activities/ShowOrCreateActivity.java b/src/com/android/contacts/activities/ShowOrCreateActivity.java
index c60d0fb..2efd6ba 100755
--- a/src/com/android/contacts/activities/ShowOrCreateActivity.java
+++ b/src/com/android/contacts/activities/ShowOrCreateActivity.java
@@ -24,7 +24,6 @@
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
-import android.app.SearchManager;
import android.content.ComponentName;
import android.content.DialogInterface;
import android.content.Intent;
@@ -122,14 +121,12 @@
// Handle specific query request
if (Constants.SCHEME_MAILTO.equals(scheme)) {
mCreateExtras.putString(Intents.Insert.EMAIL, ssp);
- mCreateExtras.putString(SearchManager.QUERY, ssp);
Uri uri = Uri.withAppendedPath(Email.CONTENT_FILTER_URI, Uri.encode(ssp));
mQueryHandler.startQuery(QUERY_TOKEN, null, uri, CONTACTS_PROJECTION, null, null, null);
} else if (Constants.SCHEME_TEL.equals(scheme)) {
mCreateExtras.putString(Intents.Insert.PHONE, ssp);
- mCreateExtras.putString(SearchManager.QUERY, ssp);
Uri uri = Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI, ssp);
mQueryHandler.startQuery(QUERY_TOKEN, null, uri, PHONES_PROJECTION, null, null, null);
@@ -216,7 +213,6 @@
R.string.add_contact_dlg_message_fmt, mCreateDescrip);
return new AlertDialog.Builder(this, AlertDialog.THEME_HOLO_LIGHT)
- .setTitle(R.string.add_contact_dlg_title)
.setMessage(message)
.setPositiveButton(android.R.string.ok,
new IntentClickListener(this, createIntent))
diff --git a/src/com/android/contacts/calllog/CallLogFragment.java b/src/com/android/contacts/calllog/CallLogFragment.java
index d9606cb..9e52b4f 100644
--- a/src/com/android/contacts/calllog/CallLogFragment.java
+++ b/src/com/android/contacts/calllog/CallLogFragment.java
@@ -19,7 +19,6 @@
import com.android.common.io.MoreCloseables;
import com.android.contacts.ContactsUtils;
import com.android.contacts.R;
-import com.android.contacts.activities.DialtactsActivity.ViewPagerVisibilityListener;
import com.android.contacts.util.EmptyLoader;
import com.android.contacts.voicemail.VoicemailStatusHelper;
import com.android.contacts.voicemail.VoicemailStatusHelper.StatusMessage;
@@ -56,8 +55,8 @@
/**
* Displays a list of call log entries.
*/
-public class CallLogFragment extends ListFragment implements ViewPagerVisibilityListener,
- CallLogQueryHandler.Listener, CallLogAdapter.CallFetcher {
+public class CallLogFragment extends ListFragment
+ implements CallLogQueryHandler.Listener, CallLogAdapter.CallFetcher {
private static final String TAG = "CallLogFragment";
/**
@@ -69,7 +68,6 @@
private CallLogQueryHandler mCallLogQueryHandler;
private boolean mScrollToTop;
- private boolean mShowOptionsMenu;
/** Whether there is at least one voicemail source installed. */
private boolean mVoicemailSourcesAvailable = false;
/** Whether we are currently filtering over voicemail. */
@@ -265,24 +263,20 @@
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
- if (mShowOptionsMenu) {
- inflater.inflate(R.menu.call_log_options, menu);
- }
+ inflater.inflate(R.menu.call_log_options, menu);
}
@Override
public void onPrepareOptionsMenu(Menu menu) {
- if (mShowOptionsMenu) {
- final MenuItem itemDeleteAll = menu.findItem(R.id.delete_all);
- // Check if all the menu items are inflated correctly. As a shortcut, we assume all
- // menu items are ready if the first item is non-null.
- if (itemDeleteAll != null) {
- itemDeleteAll.setEnabled(mAdapter != null && !mAdapter.isEmpty());
- menu.findItem(R.id.show_voicemails_only).setVisible(
- mVoicemailSourcesAvailable && !mShowingVoicemailOnly);
- menu.findItem(R.id.show_all_calls).setVisible(
- mVoicemailSourcesAvailable && mShowingVoicemailOnly);
- }
+ final MenuItem itemDeleteAll = menu.findItem(R.id.delete_all);
+ // Check if all the menu items are inflated correctly. As a shortcut, we assume all
+ // menu items are ready if the first item is non-null.
+ if (itemDeleteAll != null) {
+ itemDeleteAll.setEnabled(mAdapter != null && !mAdapter.isEmpty());
+ menu.findItem(R.id.show_voicemails_only).setVisible(
+ mVoicemailSourcesAvailable && !mShowingVoicemailOnly);
+ menu.findItem(R.id.show_all_calls).setVisible(
+ mVoicemailSourcesAvailable && mShowingVoicemailOnly);
}
}
@@ -329,8 +323,7 @@
Intent intent;
// If "number" is really a SIP address, construct a sip: URI.
if (PhoneNumberUtils.isUriNumber(number)) {
- intent = new Intent(Intent.ACTION_CALL_PRIVILEGED,
- Uri.fromParts("sip", number, null));
+ intent = ContactsUtils.getCallIntent(Uri.fromParts("sip", number, null));
} else {
// We're calling a regular PSTN phone number.
// Construct a tel: URI, but do some other possible cleanup first.
@@ -342,8 +335,7 @@
String countryIso = cursor.getString(CallLogQuery.COUNTRY_ISO);
number = mAdapter.getBetterNumberFromContacts(number, countryIso);
}
- intent = new Intent(Intent.ACTION_CALL_PRIVILEGED,
- Uri.fromParts("tel", number, null));
+ intent = ContactsUtils.getCallIntent(Uri.fromParts("tel", number, null));
}
intent.setFlags(
Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
@@ -357,21 +349,13 @@
}
@Override
- public void onVisibilityChanged(boolean visible) {
- if (mShowOptionsMenu != visible) {
- mShowOptionsMenu = visible;
- // Invalidate the options menu since we are changing the list of options shown in it.
- Activity activity = getActivity();
- if (activity != null) {
- activity.invalidateOptionsMenu();
- }
- }
-
- if (visible && isResumed()) {
+ public void setMenuVisibility(boolean menuVisible) {
+ super.setMenuVisibility(menuVisible);
+ if (menuVisible && isResumed()) {
refreshData();
}
- if (!visible) {
+ if (!menuVisible) {
updateOnExit();
}
}
@@ -415,7 +399,8 @@
private void updateOnTransition(boolean onEntry) {
// We don't want to update any call data when keyguard is on because the user has likely not
// seen the new calls yet.
- if (!mKeyguardManager.inKeyguardRestrictedInputMode()) {
+ // This might be called before onCreate() and thus we need to check null explicitly.
+ if (mKeyguardManager != null && !mKeyguardManager.inKeyguardRestrictedInputMode()) {
// On either of the transitions we reset the new flag and update the notifications.
// While exiting we additionally consume all missed calls (by marking them as read).
// This will ensure that they no more appear in the "new" section when we return back.
diff --git a/src/com/android/contacts/calllog/CallLogListItemHelper.java b/src/com/android/contacts/calllog/CallLogListItemHelper.java
index bfedba5..9485b54 100644
--- a/src/com/android/contacts/calllog/CallLogListItemHelper.java
+++ b/src/com/android/contacts/calllog/CallLogListItemHelper.java
@@ -45,7 +45,7 @@
public CallLogListItemHelper(PhoneCallDetailsHelper phoneCallDetailsHelper,
PhoneNumberHelper phoneNumberHelper, Resources resources) {
mPhoneCallDetailsHelper = phoneCallDetailsHelper;
- mPhoneNumberHelper= phoneNumberHelper;
+ mPhoneNumberHelper = phoneNumberHelper;
mResources = resources;
}
diff --git a/src/com/android/contacts/calllog/DefaultVoicemailNotifier.java b/src/com/android/contacts/calllog/DefaultVoicemailNotifier.java
index c5e8f91..59dfcd4 100644
--- a/src/com/android/contacts/calllog/DefaultVoicemailNotifier.java
+++ b/src/com/android/contacts/calllog/DefaultVoicemailNotifier.java
@@ -90,8 +90,13 @@
// TODO: Move this into a service, to avoid holding the receiver up.
final NewCall[] newCalls = mNewCallsQuery.query();
+ if (newCalls == null) {
+ // Query failed, just return.
+ return;
+ }
+
if (newCalls.length == 0) {
- Log.e(TAG, "No voicemails to notify about: clear the notification.");
+ // No voicemails to notify about: clear the notification.
clearNotification();
return;
}
@@ -243,6 +248,9 @@
try {
cursor = mContentResolver.query(Calls.CONTENT_URI_WITH_VOICEMAIL, PROJECTION,
selection, selectionArgs, Calls.DEFAULT_SORT_ORDER);
+ if (cursor == null) {
+ return null;
+ }
NewCall[] newCalls = new NewCall[cursor.getCount()];
while (cursor.moveToNext()) {
newCalls[cursor.getPosition()] = createNewCallsFromCursor(cursor);
@@ -301,7 +309,7 @@
cursor = mContentResolver.query(
Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI, Uri.encode(number)),
PROJECTION, null, null, null);
- if (!cursor.moveToFirst()) return null;
+ if (cursor == null || !cursor.moveToFirst()) return null;
return cursor.getString(DISPLAY_NAME_COLUMN_INDEX);
} finally {
if (cursor != null) {
diff --git a/src/com/android/contacts/calllog/IntentProvider.java b/src/com/android/contacts/calllog/IntentProvider.java
index bfee5ec..7ddfecc 100644
--- a/src/com/android/contacts/calllog/IntentProvider.java
+++ b/src/com/android/contacts/calllog/IntentProvider.java
@@ -17,6 +17,7 @@
package com.android.contacts.calllog;
import com.android.contacts.CallDetailActivity;
+import com.android.contacts.ContactsUtils;
import android.content.ContentUris;
import android.content.Context;
@@ -38,16 +39,7 @@
return new IntentProvider() {
@Override
public Intent getIntent(Context context) {
- // Here, "number" can either be a PSTN phone number or a
- // SIP address. So turn it into either a tel: URI or a
- // sip: URI, as appropriate.
- Uri uri;
- if (PhoneNumberUtils.isUriNumber(number)) {
- uri = Uri.fromParts("sip", number, null);
- } else {
- uri = Uri.fromParts("tel", number, null);
- }
- return new Intent(Intent.ACTION_CALL_PRIVILEGED, uri);
+ return ContactsUtils.getCallIntent(number);
}
};
}
diff --git a/src/com/android/contacts/calllog/PhoneNumberHelper.java b/src/com/android/contacts/calllog/PhoneNumberHelper.java
index 20031b2..af7c2f6 100644
--- a/src/com/android/contacts/calllog/PhoneNumberHelper.java
+++ b/src/com/android/contacts/calllog/PhoneNumberHelper.java
@@ -16,6 +16,7 @@
package com.android.contacts.calllog;
+import com.android.contacts.ContactsUtils;
import com.android.contacts.R;
import com.android.internal.telephony.CallerInfo;
@@ -76,23 +77,18 @@
}
}
- /** Returns a URI that can be used to place a call to this number. */
- public Uri getCallUri(String number) {
- if (isVoicemailNumber(number)) {
- return Uri.parse("voicemail:x");
- }
- if (isSipNumber(number)) {
- return Uri.fromParts("sip", number, null);
- }
- return Uri.fromParts("tel", number, null);
- }
-
- /** Returns true if the given number is the number of the configured voicemail. */
+ /**
+ * Returns true if the given number is the number of the configured voicemail.
+ * To be able to mock-out this, it is not a static method.
+ */
public boolean isVoicemailNumber(CharSequence number) {
return PhoneNumberUtils.isVoiceMailNumber(number.toString());
}
- /** Returns true if the given number is a SIP address. */
+ /**
+ * Returns true if the given number is a SIP address.
+ * To be able to mock-out this, it is not a static method.
+ */
public boolean isSipNumber(CharSequence number) {
return PhoneNumberUtils.isUriNumber(number.toString());
}
diff --git a/src/com/android/contacts/detail/CarouselTab.java b/src/com/android/contacts/detail/CarouselTab.java
index 677f0ad..cdcf6b2 100644
--- a/src/com/android/contacts/detail/CarouselTab.java
+++ b/src/com/android/contacts/detail/CarouselTab.java
@@ -73,8 +73,9 @@
@Override
public void disableTouchInterceptor() {
- // This shouldn't be called because there is no need to disable the touch interceptor if
- // there is no content within the tab that needs to be clicked.
+ if (mTouchInterceptLayer != null) {
+ mTouchInterceptLayer.setVisibility(View.GONE);
+ }
}
@Override
diff --git a/src/com/android/contacts/detail/ContactDetailDisplayUtils.java b/src/com/android/contacts/detail/ContactDetailDisplayUtils.java
index b81cebf..912d7fb 100644
--- a/src/com/android/contacts/detail/ContactDetailDisplayUtils.java
+++ b/src/com/android/contacts/detail/ContactDetailDisplayUtils.java
@@ -20,6 +20,8 @@
import com.android.contacts.ContactLoader.Result;
import com.android.contacts.ContactPhotoManager;
import com.android.contacts.R;
+import com.android.contacts.activities.PhotoSelectionActivity;
+import com.android.contacts.model.EntityDeltaList;
import com.android.contacts.preference.ContactsPreferences;
import com.android.contacts.util.ContactBadgeUtil;
import com.android.contacts.util.HtmlUtils;
@@ -32,12 +34,14 @@
import android.content.Context;
import android.content.Entity;
import android.content.Entity.NamedContentValues;
+import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
import android.content.res.Resources;
import android.content.res.Resources.NotFoundException;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
+import android.graphics.Rect;
import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.provider.ContactsContract;
@@ -51,6 +55,7 @@
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
+import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.view.animation.AccelerateInterpolator;
import android.view.animation.AlphaAnimation;
@@ -192,11 +197,20 @@
/**
* Sets the contact photo to display in the given {@link ImageView}. If bitmap is null, the
* default placeholder image is shown.
+ * @param context The context.
+ * @param contactData The contact loader result.
+ * @param photoView The photo view that will host the image and act as the basis for the
+ * photo selector.
+ * @param expandPhotoOnClick Whether the photo should be expanded to fill more of the screen
+ * when clicked.
+ * @return The onclick listener for the photo. When clicked, a photo selection activity will
+ * be launched.
*/
- public static void setPhoto(Context context, Result contactData, ImageView photoView) {
+ public static OnClickListener setPhoto(Context context, Result contactData,
+ ImageView photoView, boolean expandPhotoOnClick) {
if (contactData.isLoadingPhoto()) {
photoView.setImageBitmap(null);
- return;
+ return null;
}
byte[] photo = contactData.getPhotoBinaryData();
Bitmap bitmap = photo != null ? BitmapFactory.decodeByteArray(photo, 0, photo.length)
@@ -209,6 +223,61 @@
photoView.startAnimation(animation);
}
photoView.setImageBitmap(bitmap);
+
+ // Set up the photo to display a full-screen photo selection activity when clicked.
+ OnClickListener clickListener = new PhotoClickListener(context, contactData, bitmap,
+ photo, expandPhotoOnClick);
+ photoView.setOnClickListener(clickListener);
+ return clickListener;
+ }
+
+ private static final class PhotoClickListener implements OnClickListener {
+
+ private final Context mContext;
+ private final Result mContactData;
+ private final Bitmap mPhotoBitmap;
+ private final byte[] mPhotoBytes;
+ private final boolean mExpandPhotoOnClick;
+ public PhotoClickListener(Context context, Result contactData, Bitmap photoBitmap,
+ byte[] photoBytes, boolean expandPhotoOnClick) {
+ mContext = context;
+ mContactData = contactData;
+ mPhotoBitmap = photoBitmap;
+ mPhotoBytes = photoBytes;
+ mExpandPhotoOnClick = expandPhotoOnClick;
+ }
+
+ @Override
+ public void onClick(View v) {
+ // Assemble the intent.
+ EntityDeltaList delta = EntityDeltaList.fromIterator(
+ mContactData.getEntities().iterator());
+
+ // Find location and bounds of target view, adjusting based on the
+ // assumed local density.
+ final float appScale =
+ mContext.getResources().getCompatibilityInfo().applicationScale;
+ final int[] pos = new int[2];
+ v.getLocationOnScreen(pos);
+
+ final Rect rect = new Rect();
+ rect.left = (int) (pos[0] * appScale + 0.5f);
+ rect.top = (int) (pos[1] * appScale + 0.5f);
+ rect.right = (int) ((pos[0] + v.getWidth()) * appScale + 0.5f);
+ rect.bottom = (int) ((pos[1] + v.getHeight()) * appScale + 0.5f);
+
+ Uri photoUri = null;
+ if (mContactData.getPhotoUri() != null) {
+ photoUri = Uri.parse(mContactData.getPhotoUri());
+ }
+ Intent photoSelectionIntent = PhotoSelectionActivity.buildIntent(mContext,
+ photoUri, mPhotoBitmap, mPhotoBytes, rect, delta, mContactData.isUserProfile(),
+ mContactData.isDirectoryEntry(), mExpandPhotoOnClick);
+ // Cache the bitmap directly, so the activity can pull it from the photo manager.
+ ContactPhotoManager.getInstance(mContext).cacheBitmap(photoUri, mPhotoBitmap,
+ mPhotoBytes);
+ mContext.startActivity(photoSelectionIntent);
+ }
}
/**
diff --git a/src/com/android/contacts/detail/ContactDetailFragment.java b/src/com/android/contacts/detail/ContactDetailFragment.java
index e74f481..a5bea92 100644
--- a/src/com/android/contacts/detail/ContactDetailFragment.java
+++ b/src/com/android/contacts/detail/ContactDetailFragment.java
@@ -40,8 +40,8 @@
import com.android.contacts.util.Constants;
import com.android.contacts.util.DataStatus;
import com.android.contacts.util.DateUtils;
-import com.android.contacts.util.StructuredPostalUtils;
import com.android.contacts.util.PhoneCapabilityTester;
+import com.android.contacts.util.StructuredPostalUtils;
import com.android.contacts.widget.TransitionAnimationView;
import com.android.internal.telephony.ITelephony;
import com.google.common.annotations.VisibleForTesting;
@@ -147,7 +147,8 @@
private Listener mListener;
private ContactLoader.Result mContactData;
- private ImageView mStaticPhotoView;
+ private ViewGroup mStaticPhotoContainer;
+ private View mPhotoTouchOverlay;
private ListView mListView;
private ViewAdapter mAdapter;
private Uri mPrimaryPhoneUri = null;
@@ -162,7 +163,8 @@
private final QuickFix[] mPotentialQuickFixes = new QuickFix[] {
new MakeLocalCopyQuickFix(),
- new AddToMyContactsQuickFix() };
+ new AddToMyContactsQuickFix()
+ };
/**
* Device capability: Set during buildEntries and used in the long-press context menu
@@ -280,7 +282,8 @@
mInflater = inflater;
- mStaticPhotoView = (ImageView) mView.findViewById(R.id.photo);
+ mStaticPhotoContainer = (ViewGroup) mView.findViewById(R.id.static_photo_container);
+ mPhotoTouchOverlay = mView.findViewById(R.id.photo_touch_intercept_overlay);
mListView = (ListView) mView.findViewById(android.R.id.list);
mListView.setScrollBarStyle(ListView.SCROLLBARS_OUTSIDE_OVERLAY);
@@ -442,16 +445,22 @@
mContactHasSocialUpdates = !mContactData.getStreamItems().isEmpty();
// Setup the photo if applicable
- if (mStaticPhotoView != null) {
- // The presence of a static photo view is not sufficient to determine whether or not
- // we should show the photo. Check the mShowStaticPhoto flag which can be set by an
+ if (mStaticPhotoContainer != null) {
+ // The presence of a static photo container is not sufficient to determine whether or
+ // not we should show the photo. Check the mShowStaticPhoto flag which can be set by an
// outside class depending on screen size, layout, and whether the contact has social
// updates or not.
if (mShowStaticPhoto) {
- mStaticPhotoView.setVisibility(View.VISIBLE);
- ContactDetailDisplayUtils.setPhoto(mContext, mContactData, mStaticPhotoView);
+ mStaticPhotoContainer.setVisibility(View.VISIBLE);
+ ImageView photoView = (ImageView) mStaticPhotoContainer.findViewById(R.id.photo);
+ OnClickListener listener = ContactDetailDisplayUtils.setPhoto(mContext,
+ mContactData, photoView, false);
+ if (mPhotoTouchOverlay != null) {
+ mPhotoTouchOverlay.setVisibility(View.VISIBLE);
+ mPhotoTouchOverlay.setOnClickListener(listener);
+ }
} else {
- mStaticPhotoView.setVisibility(View.GONE);
+ mStaticPhotoContainer.setVisibility(View.GONE);
}
}
@@ -600,8 +609,8 @@
entryValues.getAsString(PhoneLookup.NORMALIZED_NUMBER);
entry.data = PhoneNumberUtils.formatNumber(
entry.data, phoneNumberE164, mDefaultCountryIso);
- final Intent phoneIntent = mHasPhone ? new Intent(Intent.ACTION_CALL_PRIVILEGED,
- Uri.fromParts(Constants.SCHEME_TEL, entry.data, null)) : null;
+ final Intent phoneIntent = mHasPhone ?
+ ContactsUtils.getCallIntent(entry.data) : null;
final Intent smsIntent = mHasSms ? new Intent(Intent.ACTION_SENDTO,
Uri.fromParts(Constants.SCHEME_SMSTO, entry.data, null)) : null;
@@ -697,7 +706,7 @@
entry.uri = null;
entry.maxLines = SIP_ADDRESS_MAX_LINES;
if (mHasSip) {
- entry.intent = new Intent(Intent.ACTION_CALL_PRIVILEGED,
+ entry.intent = ContactsUtils.getCallIntent(
Uri.fromParts(Constants.SCHEME_SIP, entry.data, null));
} else {
entry.intent = null;
@@ -1371,10 +1380,11 @@
/**
* Cache of the children views for a view that displays a header view entry.
*/
- private static class HeaderViewCache {
+ private static class HeaderViewCache implements ViewOverlay {
public final TextView displayNameView;
public final TextView companyView;
public final ImageView photoView;
+ public final View photoOverlayView;
public final CheckBox starredView;
public final int layoutResourceId;
@@ -1382,9 +1392,30 @@
displayNameView = (TextView) view.findViewById(R.id.name);
companyView = (TextView) view.findViewById(R.id.company);
photoView = (ImageView) view.findViewById(R.id.photo);
+ photoOverlayView = view.findViewById(R.id.photo_touch_intercept_overlay);
starredView = (CheckBox) view.findViewById(R.id.star);
layoutResourceId = layoutResourceInflated;
}
+
+ @Override
+ public void setAlphaLayerValue(float alpha) {
+ // Nothing to do.
+ }
+
+ @Override
+ public void enableTouchInterceptor(OnClickListener clickListener) {
+ if (photoOverlayView != null) {
+ photoOverlayView.setVisibility(View.VISIBLE);
+ photoOverlayView.setOnClickListener(clickListener);
+ }
+ }
+
+ @Override
+ public void disableTouchInterceptor() {
+ if (photoOverlayView != null) {
+ photoOverlayView.setVisibility(View.GONE);
+ }
+ }
}
/**
@@ -1498,7 +1529,10 @@
// Set the photo if it should be displayed
if (viewCache.photoView != null) {
- ContactDetailDisplayUtils.setPhoto(mContext, mContactData, viewCache.photoView);
+ OnClickListener listener = ContactDetailDisplayUtils.setPhoto(mContext,
+ mContactData, viewCache.photoView,
+ !PhoneCapabilityTester.isUsingTwoPanes(mContext));
+ viewCache.enableTouchInterceptor(listener);
}
// Set the starred state if it should be displayed
@@ -1903,9 +1937,7 @@
}
} else if (mPrimaryPhoneUri != null) {
// There isn't anything selected, call the default number
- final Intent intent = new Intent(Intent.ACTION_CALL_PRIVILEGED,
- mPrimaryPhoneUri);
- mContext.startActivity(intent);
+ mContext.startActivity(ContactsUtils.getCallIntent(mPrimaryPhoneUri));
return true;
}
return false;
diff --git a/src/com/android/contacts/detail/ContactDetailTabCarousel.java b/src/com/android/contacts/detail/ContactDetailTabCarousel.java
index 045e900..e13d3c8 100644
--- a/src/com/android/contacts/detail/ContactDetailTabCarousel.java
+++ b/src/com/android/contacts/detail/ContactDetailTabCarousel.java
@@ -18,7 +18,9 @@
import com.android.contacts.ContactLoader;
import com.android.contacts.R;
+import com.android.contacts.util.PhoneCapabilityTester;
+import android.app.Activity;
import android.content.Context;
import android.content.res.Resources;
import android.util.AttributeSet;
@@ -50,6 +52,8 @@
private ImageView mPhotoView;
private TextView mStatusView;
private ImageView mStatusPhotoView;
+ private boolean mHasPhoto;
+ private OnClickListener mPhotoClickListener;
private Listener mListener;
@@ -153,7 +157,11 @@
private final OnClickListener mAboutTabTouchInterceptListener = new OnClickListener() {
@Override
public void onClick(View v) {
- mListener.onTabSelected(TAB_INDEX_ABOUT);
+ if (mCurrentTab == TAB_INDEX_ABOUT && mPhotoClickListener != null) {
+ mPhotoClickListener.onClick(v);
+ } else {
+ mListener.onTabSelected(TAB_INDEX_ABOUT);
+ }
}
};
@@ -256,9 +264,11 @@
case TAB_INDEX_ABOUT:
mAboutTab.showSelectedState();
mUpdatesTab.showDeselectedState();
+ mUpdatesTab.enableTouchInterceptor(mUpdatesTabTouchInterceptListener);
break;
case TAB_INDEX_UPDATES:
mUpdatesTab.showSelectedState();
+ mUpdatesTab.disableTouchInterceptor();
mAboutTab.showDeselectedState();
break;
default:
@@ -275,10 +285,12 @@
if (contactData == null) {
return;
}
+ mHasPhoto = contactData.getPhotoUri() != null;
// TODO: Move this into the {@link CarouselTab} class when the updates fragment code is more
// finalized
- ContactDetailDisplayUtils.setPhoto(mContext, contactData, mPhotoView);
+ mPhotoClickListener = ContactDetailDisplayUtils.setPhoto(mContext, contactData, mPhotoView,
+ !PhoneCapabilityTester.isUsingTwoPanes(mContext));
ContactDetailDisplayUtils.setSocialSnippet(mContext, contactData, mStatusView,
mStatusPhotoView);
}
diff --git a/src/com/android/contacts/detail/ContactDetailViewPagerAdapter.java b/src/com/android/contacts/detail/ContactDetailViewPagerAdapter.java
index edcfc39..c708dc8 100644
--- a/src/com/android/contacts/detail/ContactDetailViewPagerAdapter.java
+++ b/src/com/android/contacts/detail/ContactDetailViewPagerAdapter.java
@@ -19,6 +19,7 @@
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.View;
+import android.view.ViewGroup;
/**
* Adapter for the {@link ViewPager} for the contact detail page for a contact in 2 cases:
@@ -88,11 +89,11 @@
}
@Override
- public void startUpdate(View container) {
+ public void startUpdate(ViewGroup container) {
}
@Override
- public Object instantiateItem(View container, int position) {
+ public Object instantiateItem(ViewGroup container, int position) {
switch (position) {
case INDEX_ABOUT_FRAGMENT:
mAboutFragmentView.setVisibility(View.VISIBLE);
@@ -105,12 +106,12 @@
}
@Override
- public void destroyItem(View container, int position, Object object) {
+ public void destroyItem(ViewGroup container, int position, Object object) {
((View) object).setVisibility(View.GONE);
}
@Override
- public void finishUpdate(View container) {
+ public void finishUpdate(ViewGroup container) {
}
@Override
diff --git a/src/com/android/contacts/detail/PhotoSelectionHandler.java b/src/com/android/contacts/detail/PhotoSelectionHandler.java
new file mode 100644
index 0000000..72397c0
--- /dev/null
+++ b/src/com/android/contacts/detail/PhotoSelectionHandler.java
@@ -0,0 +1,365 @@
+/*
+ * Copyright (C) 2011 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.contacts.detail;
+
+import com.android.contacts.R;
+import com.android.contacts.editor.PhotoActionPopup;
+import com.android.contacts.model.AccountType;
+import com.android.contacts.model.AccountTypeManager;
+import com.android.contacts.model.EntityDelta;
+import com.android.contacts.model.EntityDelta.ValuesDelta;
+import com.android.contacts.model.EntityDeltaList;
+import com.android.contacts.model.EntityModifier;
+
+import android.app.Activity;
+import android.content.ActivityNotFoundException;
+import android.content.ContentValues;
+import android.content.Context;
+import android.content.Intent;
+import android.database.Cursor;
+import android.graphics.Bitmap;
+import android.media.MediaScannerConnection;
+import android.net.Uri;
+import android.os.Environment;
+import android.provider.ContactsContract.CommonDataKinds.Photo;
+import android.provider.ContactsContract.DisplayPhoto;
+import android.provider.ContactsContract.RawContacts;
+import android.provider.MediaStore;
+import android.util.Log;
+import android.view.View;
+import android.view.View.OnClickListener;
+import android.widget.ListPopupWindow;
+import android.widget.PopupWindow.OnDismissListener;
+import android.widget.Toast;
+
+import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.io.IOException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+/**
+ * Handles displaying a photo selection popup for a given photo view and dealing with the results
+ * that come back.
+ */
+public class PhotoSelectionHandler implements OnClickListener {
+
+ private static final String TAG = PhotoSelectionHandler.class.getSimpleName();
+
+ private static final File PHOTO_DIR = new File(
+ Environment.getExternalStorageDirectory() + "/DCIM/Camera");
+
+ private static final String PHOTO_DATE_FORMAT = "'IMG'_yyyyMMdd_HHmmss";
+
+ private static final int REQUEST_CODE_CAMERA_WITH_DATA = 1001;
+ private static final int REQUEST_CODE_PHOTO_PICKED_WITH_DATA = 1002;
+
+ private final Context mContext;
+ private final View mPhotoView;
+ private final int mPhotoMode;
+ private final int mPhotoPickSize;
+ private final EntityDeltaList mState;
+ private final boolean mIsDirectoryContact;
+ private ListPopupWindow mPopup;
+ private AccountType mWritableAccount;
+ private PhotoActionListener mListener;
+
+ public PhotoSelectionHandler(Context context, View photoView, int photoMode,
+ boolean isDirectoryContact, EntityDeltaList state) {
+ mContext = context;
+ mPhotoView = photoView;
+ mPhotoMode = photoMode;
+ mIsDirectoryContact = isDirectoryContact;
+ mState = state;
+ mPhotoPickSize = getPhotoPickSize();
+ }
+
+ public void destroy() {
+ if (mPopup != null) {
+ mPopup.dismiss();
+ }
+ }
+
+ public PhotoActionListener getListener() {
+ return mListener;
+ }
+
+ public void setListener(PhotoActionListener listener) {
+ mListener = listener;
+ }
+
+ @Override
+ public void onClick(View v) {
+ if (mListener != null) {
+ if (getWritableEntityIndex() != -1) {
+ mPopup = PhotoActionPopup.createPopupMenu(
+ mContext, mPhotoView, mListener, mPhotoMode);
+ mPopup.setOnDismissListener(new OnDismissListener() {
+ @Override
+ public void onDismiss() {
+ mListener.onPhotoSelectionDismissed();
+ }
+ });
+ mPopup.show();
+ }
+ }
+ }
+
+ /**
+ * Attempts to handle the given activity result. Returns whether this handler was able to
+ * process the result successfully.
+ * @param requestCode The request code.
+ * @param resultCode The result code.
+ * @param data The intent that was returned.
+ * @return Whether the handler was able to process the result.
+ */
+ public boolean handlePhotoActivityResult(int requestCode, int resultCode, Intent data) {
+ if (resultCode == Activity.RESULT_OK) {
+ switch (requestCode) {
+ case REQUEST_CODE_PHOTO_PICKED_WITH_DATA: {
+ Bitmap bitmap = data.getParcelableExtra("data");
+ mListener.onPhotoSelected(bitmap);
+ return true;
+ }
+ case REQUEST_CODE_CAMERA_WITH_DATA: {
+ doCropPhoto(mListener.getCurrentPhotoFile());
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+
+ /**
+ * Return the index of the first entity in the contact data that belongs to a contact-writable
+ * account, or -1 if no such entity exists.
+ */
+ private int getWritableEntityIndex() {
+ // Directory entries are non-writable.
+ if (mIsDirectoryContact) {
+ return -1;
+ }
+
+ // Find the first writable entity.
+ int entityIndex = 0;
+ for (EntityDelta delta : mState) {
+ ContentValues entityValues = delta.getValues().getCompleteValues();
+ String type = entityValues.getAsString(RawContacts.ACCOUNT_TYPE);
+ String dataSet = entityValues.getAsString(RawContacts.DATA_SET);
+ AccountType accountType = AccountTypeManager.getInstance(mContext).getAccountType(
+ type, dataSet);
+ if (accountType.areContactsWritable()) {
+ mWritableAccount = accountType;
+ return entityIndex;
+ }
+ entityIndex++;
+ }
+ return -1;
+ }
+
+ /**
+ * Utility method to retrieve the entity delta for attaching the given bitmap to the contact.
+ * This will attach the photo to the first contact-writable account that provided data to the
+ * contact. It is the caller's responsibility to apply the delta.
+ * @param bitmap The photo to use.
+ * @return An entity delta list that can be applied to associate the bitmap with the contact,
+ * or null if the photo could not be parsed or none of the accounts associated with the
+ * contact are writable.
+ */
+ public EntityDeltaList getDeltaForAttachingPhotoToContact(Bitmap bitmap) {
+ // Find the first writable entity.
+ int writableEntityIndex = getWritableEntityIndex();
+ if (writableEntityIndex != -1) {
+ // Convert the photo to a byte array.
+ final int size = bitmap.getWidth() * bitmap.getHeight() * 4;
+ final ByteArrayOutputStream out = new ByteArrayOutputStream(size);
+
+ try {
+ bitmap.compress(Bitmap.CompressFormat.PNG, 100, out);
+ out.flush();
+ out.close();
+ } catch (IOException e) {
+ Log.w(TAG, "Unable to serialize photo: " + e.toString());
+ return null;
+ }
+
+ // Note - guaranteed to have contact data if we have a writable entity index.
+ EntityDelta delta = mState.get(writableEntityIndex);
+ ValuesDelta child = EntityModifier.ensureKindExists(
+ delta, mWritableAccount, Photo.CONTENT_ITEM_TYPE);
+ child.put(Photo.PHOTO, out.toByteArray());
+ child.setFromTemplate(false);
+ child.put(Photo.IS_SUPER_PRIMARY, 1);
+
+ return mState;
+ }
+ return null;
+ }
+
+ /**
+ * Sends a newly acquired photo to Gallery for cropping
+ */
+ private void doCropPhoto(File f) {
+ try {
+ // Add the image to the media store
+ MediaScannerConnection.scanFile(
+ mContext,
+ new String[] { f.getAbsolutePath() },
+ new String[] { null },
+ null);
+
+ // Launch gallery to crop the photo
+ final Intent intent = getCropImageIntent(Uri.fromFile(f));
+ mListener.startPickFromGalleryActivity(intent, REQUEST_CODE_PHOTO_PICKED_WITH_DATA);
+ } catch (Exception e) {
+ Log.e(TAG, "Cannot crop image", e);
+ Toast.makeText(mContext, R.string.photoPickerNotFoundText, Toast.LENGTH_LONG).show();
+ }
+ }
+
+ private String getPhotoFileName() {
+ Date date = new Date(System.currentTimeMillis());
+ SimpleDateFormat dateFormat = new SimpleDateFormat(PHOTO_DATE_FORMAT);
+ return dateFormat.format(date) + ".jpg";
+ }
+
+ private int getPhotoPickSize() {
+ // Note that this URI is safe to call on the UI thread.
+ Cursor c = mContext.getContentResolver().query(DisplayPhoto.CONTENT_MAX_DIMENSIONS_URI,
+ new String[]{DisplayPhoto.DISPLAY_MAX_DIM}, null, null, null);
+ try {
+ c.moveToFirst();
+ return c.getInt(0);
+ } finally {
+ c.close();
+ }
+ }
+
+ /**
+ * Constructs an intent for picking a photo from Gallery, cropping it and returning the bitmap.
+ */
+ private Intent getPhotoPickIntent() {
+ Intent intent = new Intent(Intent.ACTION_GET_CONTENT, null);
+ intent.setType("image/*");
+ intent.putExtra("crop", "true");
+ intent.putExtra("aspectX", 1);
+ intent.putExtra("aspectY", 1);
+ intent.putExtra("outputX", mPhotoPickSize);
+ intent.putExtra("outputY", mPhotoPickSize);
+ intent.putExtra("return-data", true);
+ return intent;
+ }
+
+ /**
+ * Constructs an intent for image cropping.
+ */
+ private Intent getCropImageIntent(Uri photoUri) {
+ Intent intent = new Intent("com.android.camera.action.CROP");
+ intent.setDataAndType(photoUri, "image/*");
+ intent.putExtra("crop", "true");
+ intent.putExtra("aspectX", 1);
+ intent.putExtra("aspectY", 1);
+ intent.putExtra("outputX", mPhotoPickSize);
+ intent.putExtra("outputY", mPhotoPickSize);
+ intent.putExtra("return-data", true);
+ return intent;
+ }
+
+ /**
+ * Constructs an intent for capturing a photo and storing it in a temporary file.
+ */
+ public static Intent getTakePhotoIntent(File f) {
+ Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE, null);
+ intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(f));
+ return intent;
+ }
+
+ public abstract class PhotoActionListener implements PhotoActionPopup.Listener {
+ @Override
+ public void onUseAsPrimaryChosen() {
+ // No default implementation.
+ }
+
+ @Override
+ public void onRemovePictureChosen() {
+ // No default implementation.
+ }
+
+ @Override
+ public void onTakePhotoChosen() {
+ try {
+ // Launch camera to take photo for selected contact
+ PHOTO_DIR.mkdirs();
+ File photoFile = new File(PHOTO_DIR, getPhotoFileName());
+ startTakePhotoActivity(getTakePhotoIntent(photoFile),
+ REQUEST_CODE_CAMERA_WITH_DATA, photoFile);
+ } catch (ActivityNotFoundException e) {
+ Toast.makeText(mContext, R.string.photoPickerNotFoundText,
+ Toast.LENGTH_LONG).show();
+ }
+ }
+
+ @Override
+ public void onPickFromGalleryChosen() {
+ try {
+ // Launch picker to choose photo for selected contact
+ final Intent intent = getPhotoPickIntent();
+ startPickFromGalleryActivity(intent, REQUEST_CODE_PHOTO_PICKED_WITH_DATA);
+ } catch (ActivityNotFoundException e) {
+ Toast.makeText(mContext, R.string.photoPickerNotFoundText,
+ Toast.LENGTH_LONG).show();
+ }
+ }
+
+ /**
+ * Should initiate an activity to take a photo using the camera.
+ * @param intent The image capture intent.
+ * @param requestCode The request code to use, suitable for handling by
+ * {@link PhotoSelectionHandler#handlePhotoActivityResult(int, int, Intent)}.
+ * @param photoFile The file path that will be used to store the photo. This is generally
+ * what should be returned by
+ * {@link PhotoSelectionHandler.PhotoActionListener#getCurrentPhotoFile()}.
+ */
+ public abstract void startTakePhotoActivity(Intent intent, int requestCode, File photoFile);
+
+ /**
+ * Should initiate an activity pick a photo from the gallery.
+ * @param intent The image capture intent.
+ * @param requestCode The request code to use, suitable for handling by
+ * {@link PhotoSelectionHandler#handlePhotoActivityResult(int, int, Intent)}.
+ */
+ public abstract void startPickFromGalleryActivity(Intent intent, int requestCode);
+
+ /**
+ * Called when the user has completed selection of a photo.
+ * @param bitmap The selected and cropped photo.
+ */
+ public abstract void onPhotoSelected(Bitmap bitmap);
+
+ /**
+ * Gets the current photo file that is being interacted with. It is the activity or
+ * fragment's responsibility to maintain this in saved state, since this handler instance
+ * will not survive rotation.
+ */
+ public abstract File getCurrentPhotoFile();
+
+ /**
+ * Called when the photo selection dialog is dismissed.
+ */
+ public abstract void onPhotoSelectionDismissed();
+ }
+}
diff --git a/src/com/android/contacts/detail/TransformableImageView.java b/src/com/android/contacts/detail/TransformableImageView.java
new file mode 100644
index 0000000..6edc42b
--- /dev/null
+++ b/src/com/android/contacts/detail/TransformableImageView.java
@@ -0,0 +1,71 @@
+/*
+ * Copyright (C) 2011 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.contacts.detail;
+
+import android.content.Context;
+import android.graphics.Bitmap;
+import android.graphics.Canvas;
+import android.graphics.Matrix;
+import android.util.AttributeSet;
+import android.view.View;
+import android.widget.ImageView;
+
+/**
+ * Extension to ImageView that handles cropping during resize animations.
+ */
+public class TransformableImageView extends ImageView {
+
+ public TransformableImageView(Context context) {
+ super(context);
+ }
+
+ public TransformableImageView(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ }
+
+ public TransformableImageView(Context context, AttributeSet attrs, int defStyle) {
+ super(context, attrs, defStyle);
+ }
+
+ @Override
+ protected void onDraw(Canvas canvas) {
+ int saveCount = canvas.getSaveCount();
+ canvas.save();
+ canvas.translate(mPaddingLeft, mPaddingTop);
+ Matrix drawMatrix = new Matrix();
+ int dwidth = getDrawable().getIntrinsicWidth();
+ int dheight = getDrawable().getIntrinsicHeight();
+
+ int vwidth = getWidth() - mPaddingLeft - mPaddingRight;
+ int vheight = getHeight() - mPaddingTop - mPaddingBottom;
+ float scale;
+ float dx = 0, dy = 0;
+
+ if (dwidth * vheight > vwidth * dheight) {
+ scale = (float) vheight / (float) dheight;
+ dx = (vwidth - dwidth * scale) * 0.5f;
+ } else {
+ scale = (float) vwidth / (float) dwidth;
+ dy = (vheight - dheight * scale) * 0.5f;
+ }
+
+ drawMatrix.setScale(scale, scale);
+ drawMatrix.postTranslate((int) (dx + 0.5f), (int) (dy + 0.5f));
+ canvas.concat(drawMatrix);
+ getDrawable().draw(canvas);
+ canvas.restoreToCount(saveCount);
+ }
+}
diff --git a/src/com/android/contacts/dialpad/DialpadFragment.java b/src/com/android/contacts/dialpad/DialpadFragment.java
index 793717d..bf2a5bc 100644
--- a/src/com/android/contacts/dialpad/DialpadFragment.java
+++ b/src/com/android/contacts/dialpad/DialpadFragment.java
@@ -20,7 +20,6 @@
import com.android.contacts.R;
import com.android.contacts.SpecialCharSequenceMgr;
import com.android.contacts.activities.DialtactsActivity;
-import com.android.contacts.activities.DialtactsActivity.ViewPagerVisibilityListener;
import com.android.contacts.util.PhoneNumberFormatter;
import com.android.internal.telephony.ITelephony;
import com.android.phone.CallLogAsync;
@@ -54,9 +53,11 @@
import android.telephony.PhoneStateListener;
import android.telephony.TelephonyManager;
import android.text.Editable;
+import android.text.SpannableString;
import android.text.TextUtils;
import android.text.TextWatcher;
import android.text.method.DialerKeyListener;
+import android.text.style.RelativeSizeSpan;
import android.util.Log;
import android.view.KeyEvent;
import android.view.LayoutInflater;
@@ -64,21 +65,16 @@
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
-import android.view.View.OnClickListener;
import android.view.ViewConfiguration;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
-import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.PopupMenu;
import android.widget.TextView;
-import java.util.HashSet;
-import java.util.Set;
-
/**
* Fragment that displays a twelve-key phone dialpad.
*/
@@ -86,8 +82,7 @@
implements View.OnClickListener,
View.OnLongClickListener, View.OnKeyListener,
AdapterView.OnItemClickListener, TextWatcher,
- PopupMenu.OnMenuItemClickListener,
- ViewPagerVisibilityListener {
+ PopupMenu.OnMenuItemClickListener {
private static final String TAG = DialpadFragment.class.getSimpleName();
private static final String EMPTY_NUMBER = "";
@@ -130,8 +125,6 @@
*/
private String mProhibitedPhoneNumberRegexp;
- private boolean mShowOptionsMenu;
-
// Last number dialed, retrieved asynchronously from the call DB
// in onCreate. This number is displayed when the user hits the
@@ -526,7 +519,10 @@
// another call, but that call is guaranteed to fail. Perhaps the
// entire dialer UI should be disabled instead.)
if (phoneIsInUse()) {
- mDigits.setHint(R.string.dialerDialpadHintText);
+ final SpannableString hint = new SpannableString(
+ getActivity().getString(R.string.dialerDialpadHintText));
+ hint.setSpan(new RelativeSizeSpan(0.8f), 0, hint.length(), 0);
+ mDigits.setHint(hint);
} else {
// Common case; no hint necessary.
mDigits.setHint(null);
@@ -562,7 +558,7 @@
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
- if (mShowOptionsMenu && ViewConfiguration.get(getActivity()).hasPermanentMenuKey() &&
+ if (ViewConfiguration.get(getActivity()).hasPermanentMenuKey() &&
isLayoutReady() && mDialpadChooser != null) {
inflater.inflate(R.menu.dialpad_options, menu);
}
@@ -571,7 +567,7 @@
@Override
public void onPrepareOptionsMenu(Menu menu) {
// Hardware menu key should be available and Views should already be ready.
- if (mShowOptionsMenu && ViewConfiguration.get(getActivity()).hasPermanentMenuKey() &&
+ if (ViewConfiguration.get(getActivity()).hasPermanentMenuKey() &&
isLayoutReady() && mDialpadChooser != null) {
setupMenuItems(menu);
}
@@ -829,7 +825,7 @@
}
public void callVoicemail() {
- startActivity(newVoicemailIntent());
+ startActivity(ContactsUtils.getVoicemailIntent());
mDigits.getText().clear(); // TODO: Fix bug 1745781
getActivity().finish();
}
@@ -958,11 +954,9 @@
// Clear the digits just in case.
mDigits.getText().clear();
} else {
- final Intent intent = newDialNumberIntent(number);
- if (getActivity() instanceof DialtactsActivity) {
- intent.putExtra(DialtactsActivity.EXTRA_CALL_ORIGIN,
- DialtactsActivity.CALL_ORIGIN_DIALTACTS);
- }
+ final Intent intent = ContactsUtils.getCallIntent(number,
+ (getActivity() instanceof DialtactsActivity ?
+ DialtactsActivity.CALL_ORIGIN_DIALTACTS : null));
startActivity(intent);
mDigits.getText().clear(); // TODO: Fix bug 1745781
getActivity().finish();
@@ -1420,33 +1414,13 @@
mCallLog.getLastOutgoingCall(lastCallArgs);
}
- // Helpers for the call intents.
- private Intent newVoicemailIntent() {
- final Intent intent = new Intent(Intent.ACTION_CALL_PRIVILEGED,
- Uri.fromParts("voicemail", EMPTY_NUMBER, null));
- intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- return intent;
- }
-
private Intent newFlashIntent() {
- final Intent intent = newDialNumberIntent(EMPTY_NUMBER);
+ final Intent intent = ContactsUtils.getCallIntent(EMPTY_NUMBER);
intent.putExtra(EXTRA_SEND_EMPTY_FLASH, true);
return intent;
}
- private Intent newDialNumberIntent(String number) {
- final Intent intent = new Intent(Intent.ACTION_CALL_PRIVILEGED,
- Uri.fromParts("tel", number, null));
- intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- return intent;
- }
-
public void setListener(Listener listener) {
mListener = listener;
}
-
- @Override
- public void onVisibilityChanged(boolean visible) {
- mShowOptionsMenu = visible;
- }
}
diff --git a/src/com/android/contacts/editor/ContactEditorFragment.java b/src/com/android/contacts/editor/ContactEditorFragment.java
index 844f892..5448005 100644
--- a/src/com/android/contacts/editor/ContactEditorFragment.java
+++ b/src/com/android/contacts/editor/ContactEditorFragment.java
@@ -23,6 +23,7 @@
import com.android.contacts.activities.ContactEditorAccountsChangedActivity;
import com.android.contacts.activities.ContactEditorActivity;
import com.android.contacts.activities.JoinContactActivity;
+import com.android.contacts.detail.PhotoSelectionHandler;
import com.android.contacts.editor.AggregationSuggestionEngine.Suggestion;
import com.android.contacts.editor.Editor.EditorListener;
import com.android.contacts.model.AccountType;
@@ -44,7 +45,6 @@
import android.app.Fragment;
import android.app.LoaderManager;
import android.app.LoaderManager.LoaderCallbacks;
-import android.content.ActivityNotFoundException;
import android.content.ContentUris;
import android.content.ContentValues;
import android.content.Context;
@@ -56,10 +56,8 @@
import android.database.Cursor;
import android.graphics.Bitmap;
import android.graphics.Rect;
-import android.media.MediaScannerConnection;
import android.net.Uri;
import android.os.Bundle;
-import android.os.Environment;
import android.os.SystemClock;
import android.provider.ContactsContract.CommonDataKinds.Email;
import android.provider.ContactsContract.CommonDataKinds.Event;
@@ -67,11 +65,9 @@
import android.provider.ContactsContract.CommonDataKinds.Phone;
import android.provider.ContactsContract.CommonDataKinds.StructuredPostal;
import android.provider.ContactsContract.Contacts;
-import android.provider.ContactsContract.DisplayPhoto;
import android.provider.ContactsContract.Groups;
import android.provider.ContactsContract.Intents;
import android.provider.ContactsContract.RawContacts;
-import android.provider.MediaStore;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.Menu;
@@ -87,11 +83,9 @@
import android.widget.Toast;
import java.io.File;
-import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
-import java.util.Date;
import java.util.List;
public class ContactEditorFragment extends Fragment implements
@@ -192,26 +186,19 @@
}
private static final int REQUEST_CODE_JOIN = 0;
- private static final int REQUEST_CODE_CAMERA_WITH_DATA = 1;
- private static final int REQUEST_CODE_PHOTO_PICKED_WITH_DATA = 2;
- private static final int REQUEST_CODE_ACCOUNTS_CHANGED = 3;
+ private static final int REQUEST_CODE_ACCOUNTS_CHANGED = 1;
private Bitmap mPhoto = null;
private long mRawContactIdRequestingPhoto = -1;
private long mRawContactIdRequestingPhotoAfterLoad = -1;
+ private PhotoSelectionHandler mPhotoSelectionHandler;
private final EntityDeltaComparator mComparator = new EntityDeltaComparator();
- private static final File PHOTO_DIR = new File(
- Environment.getExternalStorageDirectory() + "/DCIM/Camera");
-
private Cursor mGroupMetaData;
private File mCurrentPhotoFile;
- // Height/width (in pixels) to request for the photo - queried from the provider.
- private int mPhotoPickSize;
-
private Context mContext;
private String mAction;
private Uri mLookupUri;
@@ -322,7 +309,6 @@
super.onAttach(activity);
mContext = activity;
mEditorUtils = ContactEditorUtils.getInstance(mContext);
- loadPhotoPickSize();
}
@Override
@@ -729,8 +715,9 @@
editor.setState(entity, type, mViewIdGenerator, isEditingUserProfile());
- editor.getPhotoEditor().setEditorListener(
- new PhotoEditorListener(editor, type.areContactsWritable()));
+ // Set up the photo handler.
+ bindPhotoHandler(editor, type, mState);
+
if (editor instanceof RawContactEditorView) {
final RawContactEditorView rawContactEditor = (RawContactEditorView) editor;
EditorListener listener = new EditorListener() {
@@ -776,7 +763,32 @@
// Activity can be null if we have been detached from the Activity
final Activity activity = getActivity();
if (activity != null) activity.invalidateOptionsMenu();
+ }
+ private void bindPhotoHandler(BaseRawContactEditorView editor, AccountType type,
+ EntityDeltaList state) {
+ final int mode;
+ if (type.areContactsWritable()) {
+ if (editor.hasSetPhoto()) {
+ if (hasMoreThanOnePhoto()) {
+ mode = PhotoActionPopup.MODE_PHOTO_ALLOW_PRIMARY;
+ } else {
+ mode = PhotoActionPopup.MODE_PHOTO_DISALLOW_PRIMARY;
+ }
+ } else {
+ mode = PhotoActionPopup.MODE_NO_PHOTO;
+ }
+ } else {
+ if (editor.hasSetPhoto() && hasMoreThanOnePhoto()) {
+ mode = PhotoActionPopup.MODE_READ_ONLY_ALLOW_PRIMARY;
+ } else {
+ // Read-only and either no photo or the only photo ==> no options
+ return;
+ }
+ }
+ mPhotoSelectionHandler = new PhotoHandler(mContext, editor, mode, state);
+ editor.getPhotoEditor().setEditorListener(
+ (PhotoHandler.PhotoEditorListener) mPhotoSelectionHandler.getListener());
}
private void bindGroupMetaData() {
@@ -926,32 +938,6 @@
return save(SaveMode.JOIN);
}
- private void loadPhotoPickSize() {
- Cursor c = mContext.getContentResolver().query(DisplayPhoto.CONTENT_MAX_DIMENSIONS_URI,
- new String[]{DisplayPhoto.DISPLAY_MAX_DIM}, null, null, null);
- try {
- c.moveToFirst();
- mPhotoPickSize = c.getInt(0);
- } finally {
- c.close();
- }
- }
-
- /**
- * Constructs an intent for picking a photo from Gallery, cropping it and returning the bitmap.
- */
- public Intent getPhotoPickIntent() {
- Intent intent = new Intent(Intent.ACTION_GET_CONTENT, null);
- intent.setType("image/*");
- intent.putExtra("crop", "true");
- intent.putExtra("aspectX", 1);
- intent.putExtra("aspectY", 1);
- intent.putExtra("outputX", mPhotoPickSize);
- intent.putExtra("outputY", mPhotoPickSize);
- intent.putExtra("return-data", true);
- return intent;
- }
-
/**
* Check if our internal {@link #mState} is valid, usually checked before
* performing user actions.
@@ -961,61 +947,6 @@
}
/**
- * Create a file name for the icon photo using current time.
- */
- private String getPhotoFileName() {
- Date date = new Date(System.currentTimeMillis());
- SimpleDateFormat dateFormat = new SimpleDateFormat("'IMG'_yyyyMMdd_HHmmss");
- return dateFormat.format(date) + ".jpg";
- }
-
- /**
- * Constructs an intent for capturing a photo and storing it in a temporary file.
- */
- public static Intent getTakePickIntent(File f) {
- Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE, null);
- intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(f));
- return intent;
- }
-
- /**
- * Sends a newly acquired photo to Gallery for cropping
- */
- protected void doCropPhoto(File f) {
- try {
- // Add the image to the media store
- MediaScannerConnection.scanFile(
- mContext,
- new String[] { f.getAbsolutePath() },
- new String[] { null },
- null);
-
- // Launch gallery to crop the photo
- final Intent intent = getCropImageIntent(Uri.fromFile(f));
- mStatus = Status.SUB_ACTIVITY;
- startActivityForResult(intent, REQUEST_CODE_PHOTO_PICKED_WITH_DATA);
- } catch (Exception e) {
- Log.e(TAG, "Cannot crop image", e);
- Toast.makeText(mContext, R.string.photoPickerNotFoundText, Toast.LENGTH_LONG).show();
- }
- }
-
- /**
- * Constructs an intent for image cropping.
- */
- public Intent getCropImageIntent(Uri photoUri) {
- Intent intent = new Intent("com.android.camera.action.CROP");
- intent.setDataAndType(photoUri, "image/*");
- intent.putExtra("crop", "true");
- intent.putExtra("aspectX", 1);
- intent.putExtra("aspectY", 1);
- intent.putExtra("outputX", mPhotoPickSize);
- intent.putExtra("outputY", mPhotoPickSize);
- intent.putExtra("return-data", true);
- return intent;
- }
-
- /**
* Saves or creates the contact based on the mode, and if successful
* finishes the activity.
*/
@@ -1062,7 +993,6 @@
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog dialog = new AlertDialog.Builder(getActivity())
.setIconAttribute(android.R.attr.alertDialogIcon)
- .setTitle(R.string.cancel_confirmation_dialog_title)
.setMessage(R.string.cancel_confirmation_dialog_message)
.setPositiveButton(android.R.string.ok,
new DialogInterface.OnClickListener() {
@@ -1456,7 +1386,6 @@
public Dialog onCreateDialog(Bundle savedInstanceState) {
return new AlertDialog.Builder(getActivity())
.setIconAttribute(android.R.attr.alertDialogIcon)
- .setTitle(R.string.aggregation_suggestion_join_dialog_title)
.setMessage(R.string.aggregation_suggestion_join_dialog_message)
.setPositiveButton(android.R.string.yes,
new DialogInterface.OnClickListener() {
@@ -1504,7 +1433,6 @@
public Dialog onCreateDialog(Bundle savedInstanceState) {
return new AlertDialog.Builder(getActivity())
.setIconAttribute(android.R.attr.alertDialogIcon)
- .setTitle(R.string.aggregation_suggestion_edit_dialog_title)
.setMessage(R.string.aggregation_suggestion_edit_dialog_message)
.setPositiveButton(android.R.string.yes,
new DialogInterface.OnClickListener() {
@@ -1594,27 +1522,13 @@
mStatus = Status.EDITING;
}
- switch (requestCode) {
- case REQUEST_CODE_PHOTO_PICKED_WITH_DATA: {
- // Ignore failed requests
- if (resultCode != Activity.RESULT_OK) return;
- // As we are coming back to this view, the editor will be reloaded automatically,
- // which will cause the photo that is set here to disappear. To prevent this,
- // we remember to set a flag which is interpreted after loading.
- // This photo is set here already to reduce flickering.
- mPhoto = data.getParcelableExtra("data");
- setPhoto(mRawContactIdRequestingPhoto, mPhoto);
- mRawContactIdRequestingPhotoAfterLoad = mRawContactIdRequestingPhoto;
- mRawContactIdRequestingPhoto = -1;
+ // See if the photo selection handler handles this result.
+ if (mPhotoSelectionHandler != null && mPhotoSelectionHandler.handlePhotoActivityResult(
+ requestCode, resultCode, data)) {
+ return;
+ }
- break;
- }
- case REQUEST_CODE_CAMERA_WITH_DATA: {
- // Ignore failed requests
- if (resultCode != Activity.RESULT_OK) return;
- doCropPhoto(mCurrentPhotoFile);
- break;
- }
+ switch (requestCode) {
case REQUEST_CODE_JOIN: {
// Ignore failed requests
if (resultCode != Activity.RESULT_OK) return;
@@ -1773,111 +1687,97 @@
save(SaveMode.SPLIT);
}
- private final class PhotoEditorListener
- implements EditorListener, PhotoActionPopup.Listener {
- private final BaseRawContactEditorView mEditor;
- private final boolean mAccountWritable;
-
- private PhotoEditorListener(BaseRawContactEditorView editor, boolean accountWritable) {
- mEditor = editor;
- mAccountWritable = accountWritable;
+ /**
+ * Custom photo handler for the editor. The inner listener that this creates also has a
+ * reference to the editor and acts as an {@link EditorListener}, and uses that editor to hold
+ * state information in several of the listener methods.
+ */
+ private final class PhotoHandler extends PhotoSelectionHandler {
+ public PhotoHandler(Context context, BaseRawContactEditorView editor, int photoMode,
+ EntityDeltaList state) {
+ super(context, editor.getPhotoEditor(), photoMode, false, state);
+ setListener(new PhotoEditorListener(editor));
}
- @Override
- public void onRequest(int request) {
- if (!hasValidState()) return;
+ private final class PhotoEditorListener extends PhotoSelectionHandler.PhotoActionListener
+ implements EditorListener {
+ private final BaseRawContactEditorView mEditor;
- if (request == EditorListener.REQUEST_PICK_PHOTO) {
- // Determine mode
- final int mode;
- if (mAccountWritable) {
- if (mEditor.hasSetPhoto()) {
- if (hasMoreThanOnePhoto()) {
- mode = PhotoActionPopup.MODE_PHOTO_ALLOW_PRIMARY;
- } else {
- mode = PhotoActionPopup.MODE_PHOTO_DISALLOW_PRIMARY;
- }
- } else {
- mode = PhotoActionPopup.MODE_NO_PHOTO;
- }
- } else {
- if (mEditor.hasSetPhoto() && hasMoreThanOnePhoto()) {
- mode = PhotoActionPopup.MODE_READ_ONLY_ALLOW_PRIMARY;
- } else {
- // Read-only and either no photo or the only photo ==> no options
- return;
- }
- }
- PhotoActionPopup.createPopupMenu(mContext, mEditor.getPhotoEditor(), this, mode)
- .show();
+ private PhotoEditorListener(BaseRawContactEditorView editor) {
+ mEditor = editor;
}
- }
- @Override
- public void onDeleteRequested(Editor removedEditor) {
- // The picture cannot be deleted, it can only be removed, which is handled by
- // onRemovePictureChosen()
- }
+ @Override
+ public void onRequest(int request) {
+ if (!hasValidState()) return;
- /**
- * User has chosen to set the selected photo as the (super) primary photo
- */
- @Override
- public void onUseAsPrimaryChosen() {
- // Set the IsSuperPrimary for each editor
- int count = mContent.getChildCount();
- for (int i = 0; i < count; i++) {
- final View childView = mContent.getChildAt(i);
- if (childView instanceof BaseRawContactEditorView) {
- final BaseRawContactEditorView editor = (BaseRawContactEditorView) childView;
- final PhotoEditorView photoEditor = editor.getPhotoEditor();
- photoEditor.setSuperPrimary(editor == mEditor);
+ if (request == EditorListener.REQUEST_PICK_PHOTO) {
+ onClick(mEditor.getPhotoEditor());
}
}
- }
- /**
- * User has chosen to remove a picture
- */
- @Override
- public void onRemovePictureChosen() {
- mEditor.setPhotoBitmap(null);
- }
-
- /**
- * Launches Camera to take a picture and store it in a file.
- */
- @Override
- public void onTakePhotoChosen() {
- mRawContactIdRequestingPhoto = mEditor.getRawContactId();
- try {
- // Launch camera to take photo for selected contact
- PHOTO_DIR.mkdirs();
- mCurrentPhotoFile = new File(PHOTO_DIR, getPhotoFileName());
- final Intent intent = getTakePickIntent(mCurrentPhotoFile);
-
- mStatus = Status.SUB_ACTIVITY;
- startActivityForResult(intent, REQUEST_CODE_CAMERA_WITH_DATA);
- } catch (ActivityNotFoundException e) {
- Toast.makeText(mContext, R.string.photoPickerNotFoundText,
- Toast.LENGTH_LONG).show();
+ @Override
+ public void onDeleteRequested(Editor removedEditor) {
+ // The picture cannot be deleted, it can only be removed, which is handled by
+ // onRemovePictureChosen()
}
- }
- /**
- * Launches Gallery to pick a photo.
- */
- @Override
- public void onPickFromGalleryChosen() {
- mRawContactIdRequestingPhoto = mEditor.getRawContactId();
- try {
- // Launch picker to choose photo for selected contact
- final Intent intent = getPhotoPickIntent();
+ /**
+ * User has chosen to set the selected photo as the (super) primary photo
+ */
+ @Override
+ public void onUseAsPrimaryChosen() {
+ // Set the IsSuperPrimary for each editor
+ int count = mContent.getChildCount();
+ for (int i = 0; i < count; i++) {
+ final View childView = mContent.getChildAt(i);
+ if (childView instanceof BaseRawContactEditorView) {
+ final BaseRawContactEditorView editor =
+ (BaseRawContactEditorView) childView;
+ final PhotoEditorView photoEditor = editor.getPhotoEditor();
+ photoEditor.setSuperPrimary(editor == mEditor);
+ }
+ }
+ }
+
+ /**
+ * User has chosen to remove a picture
+ */
+ @Override
+ public void onRemovePictureChosen() {
+ mEditor.setPhotoBitmap(null);
+ }
+
+ @Override
+ public void startTakePhotoActivity(Intent intent, int requestCode, File photoFile) {
+ mRawContactIdRequestingPhoto = mEditor.getRawContactId();
mStatus = Status.SUB_ACTIVITY;
- startActivityForResult(intent, REQUEST_CODE_PHOTO_PICKED_WITH_DATA);
- } catch (ActivityNotFoundException e) {
- Toast.makeText(mContext, R.string.photoPickerNotFoundText,
- Toast.LENGTH_LONG).show();
+ mCurrentPhotoFile = photoFile;
+ startActivityForResult(intent, requestCode);
+ }
+
+ @Override
+ public void startPickFromGalleryActivity(Intent intent, int requestCode) {
+ mRawContactIdRequestingPhoto = mEditor.getRawContactId();
+ mStatus = Status.SUB_ACTIVITY;
+ startActivityForResult(intent, requestCode);
+ }
+
+ @Override
+ public void onPhotoSelected(Bitmap bitmap) {
+ setPhoto(mRawContactIdRequestingPhoto, bitmap);
+ mRawContactIdRequestingPhotoAfterLoad = mRawContactIdRequestingPhoto;
+ mRawContactIdRequestingPhoto = -1;
+ }
+
+ @Override
+ public File getCurrentPhotoFile() {
+ return mCurrentPhotoFile;
+ }
+
+ @Override
+ public void onPhotoSelectionDismissed() {
+ // Nothing to do.
}
}
}
diff --git a/src/com/android/contacts/editor/EventFieldEditorView.java b/src/com/android/contacts/editor/EventFieldEditorView.java
index 4a5a502..475e172 100644
--- a/src/com/android/contacts/editor/EventFieldEditorView.java
+++ b/src/com/android/contacts/editor/EventFieldEditorView.java
@@ -131,7 +131,9 @@
@Override
public boolean isEmpty() {
- return TextUtils.isEmpty(mDateView.getText());
+ final EditField editField = getKind().fieldList.get(0);
+ final String column = editField.column;
+ return TextUtils.isEmpty(getEntry().getAsString(column));
}
@Override
@@ -243,6 +245,7 @@
} else {
resultString = kind.dateFormatWithYear.format(outCalendar.getTime());
}
+
onFieldChanged(column, resultString);
rebuildDateView();
}
diff --git a/src/com/android/contacts/editor/PhotoActionPopup.java b/src/com/android/contacts/editor/PhotoActionPopup.java
index cca6f9d..029212f 100644
--- a/src/com/android/contacts/editor/PhotoActionPopup.java
+++ b/src/com/android/contacts/editor/PhotoActionPopup.java
@@ -76,8 +76,6 @@
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
final ChoiceListItem choice = choices.get(position);
- listPopupWindow.dismiss();
-
switch (choice.getId()) {
case ChoiceListItem.ID_USE_AS_PRIMARY:
listener.onUseAsPrimaryChosen();
@@ -92,6 +90,8 @@
listener.onPickFromGalleryChosen();
break;
}
+
+ listPopupWindow.dismiss();
}
};
diff --git a/src/com/android/contacts/editor/RawContactEditorView.java b/src/com/android/contacts/editor/RawContactEditorView.java
index c9c6699..efb6b13 100644
--- a/src/com/android/contacts/editor/RawContactEditorView.java
+++ b/src/com/android/contacts/editor/RawContactEditorView.java
@@ -307,6 +307,9 @@
addToDefaultGroupIfNeeded();
+
+ final int sectionCount = getSectionViewsWithoutFields().size();
+ mAddFieldButton.setVisibility(sectionCount > 0 ? View.VISIBLE : View.GONE);
mAddFieldButton.setEnabled(isEnabled());
}
@@ -405,12 +408,14 @@
return mRawContactId;
}
- private void showAddInformationPopupWindow() {
+ /**
+ * Return a list of KindSectionViews that have no fields yet...
+ * these are candidates to have fields added in
+ * {@link #showAddInformationPopupWindow()}
+ */
+ private ArrayList<KindSectionView> getSectionViewsWithoutFields() {
final ArrayList<KindSectionView> fields =
new ArrayList<KindSectionView>(mFields.getChildCount());
-
- final PopupMenu popupMenu = new PopupMenu(getContext(), mAddFieldButton);
- final Menu menu = popupMenu.getMenu();
for (int i = 0; i < mFields.getChildCount(); i++) {
View child = mFields.getChildAt(i);
if (child instanceof KindSectionView) {
@@ -434,10 +439,19 @@
continue;
}
- menu.add(Menu.NONE, fields.size(), Menu.NONE, sectionView.getTitle());
fields.add(sectionView);
}
}
+ return fields;
+ }
+
+ private void showAddInformationPopupWindow() {
+ final ArrayList<KindSectionView> fields = getSectionViewsWithoutFields();
+ final PopupMenu popupMenu = new PopupMenu(getContext(), mAddFieldButton);
+ final Menu menu = popupMenu.getMenu();
+ for (int i = 0; i < fields.size(); i++) {
+ menu.add(Menu.NONE, i, Menu.NONE, fields.get(i).getTitle());
+ }
popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
@Override
@@ -449,6 +463,13 @@
} else {
view.addItem();
}
+
+ // If this was the last section without an entry, we just added one, and therefore
+ // there's no reason to show the button.
+ if (fields.size() == 1) {
+ mAddFieldButton.setVisibility(View.GONE);
+ }
+
return true;
}
});
diff --git a/src/com/android/contacts/format/FormatUtils.java b/src/com/android/contacts/format/FormatUtils.java
index 4b076cf..82bf78d 100644
--- a/src/com/android/contacts/format/FormatUtils.java
+++ b/src/com/android/contacts/format/FormatUtils.java
@@ -28,6 +28,8 @@
* Assorted utility methods related to text formatting in Contacts.
*/
public class FormatUtils {
+ private static final char LEFT_TO_RIGHT_EMBEDDING = '\u202A';
+ private static final char POP_DIRECTIONAL_FORMATTING = '\u202C';
/**
* Finds the earliest point in buffer1 at which the first part of buffer2 matches. For example,
@@ -180,4 +182,13 @@
return -1;
}
+
+ /** Returns the given text, forced to be left-to-right. */
+ public static CharSequence forceLeftToRight(CharSequence text) {
+ StringBuilder sb = new StringBuilder();
+ sb.append(LEFT_TO_RIGHT_EMBEDDING);
+ sb.append(text);
+ sb.append(POP_DIRECTIONAL_FORMATTING);
+ return sb.toString();
+ }
}
diff --git a/src/com/android/contacts/group/GroupEditorFragment.java b/src/com/android/contacts/group/GroupEditorFragment.java
index a3ebeb0..9d056f4 100644
--- a/src/com/android/contacts/group/GroupEditorFragment.java
+++ b/src/com/android/contacts/group/GroupEditorFragment.java
@@ -550,7 +550,6 @@
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog dialog = new AlertDialog.Builder(getActivity())
.setIconAttribute(android.R.attr.alertDialogIcon)
- .setTitle(R.string.cancel_confirmation_dialog_title)
.setMessage(R.string.cancel_confirmation_dialog_message)
.setPositiveButton(android.R.string.ok,
new DialogInterface.OnClickListener() {
diff --git a/src/com/android/contacts/interactions/ContactDeletionInteraction.java b/src/com/android/contacts/interactions/ContactDeletionInteraction.java
index 7e880a4..4aa4030 100644
--- a/src/com/android/contacts/interactions/ContactDeletionInteraction.java
+++ b/src/com/android/contacts/interactions/ContactDeletionInteraction.java
@@ -274,7 +274,6 @@
private void showDialog(int messageId, final Uri contactUri) {
mDialog = new AlertDialog.Builder(getActivity())
- .setTitle(R.string.deleteConfirmation_title)
.setIconAttribute(android.R.attr.alertDialogIcon)
.setMessage(messageId)
.setNegativeButton(android.R.string.cancel, null)
diff --git a/src/com/android/contacts/interactions/GroupDeletionDialogFragment.java b/src/com/android/contacts/interactions/GroupDeletionDialogFragment.java
index c1f3bd7..09306f2 100644
--- a/src/com/android/contacts/interactions/GroupDeletionDialogFragment.java
+++ b/src/com/android/contacts/interactions/GroupDeletionDialogFragment.java
@@ -52,7 +52,6 @@
return new AlertDialog.Builder(getActivity())
.setIconAttribute(android.R.attr.alertDialogIcon)
- .setTitle(R.string.delete_group_dialog_title)
.setMessage(message)
.setPositiveButton(android.R.string.ok,
new DialogInterface.OnClickListener() {
diff --git a/src/com/android/contacts/interactions/ImportExportDialogFragment.java b/src/com/android/contacts/interactions/ImportExportDialogFragment.java
index 7fdc47e..521d2f0 100644
--- a/src/com/android/contacts/interactions/ImportExportDialogFragment.java
+++ b/src/com/android/contacts/interactions/ImportExportDialogFragment.java
@@ -55,14 +55,18 @@
public static final String TAG = "ImportExportDialogFragment";
private static final String KEY_RES_ID = "resourceId";
+ private static final String ARG_CONTACTS_ARE_AVAILABLE = "CONTACTS_ARE_AVAILABLE";
private final String[] LOOKUP_PROJECTION = new String[] {
Contacts.LOOKUP_KEY
};
/** Preferred way to show this dialog */
- public static void show(FragmentManager fragmentManager) {
+ public static void show(FragmentManager fragmentManager, boolean contactsAreAvailable) {
final ImportExportDialogFragment fragment = new ImportExportDialogFragment();
+ Bundle args = new Bundle();
+ args.putBoolean(ARG_CONTACTS_ARE_AVAILABLE, contactsAreAvailable);
+ fragment.setArguments(args);
fragment.show(fragmentManager, ImportExportDialogFragment.TAG);
}
@@ -72,6 +76,7 @@
final Resources res = getActivity().getResources();
final LayoutInflater dialogInflater = (LayoutInflater)getActivity()
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
+ final boolean contactsAreAvailable = getArguments().getBoolean(ARG_CONTACTS_ARE_AVAILABLE);
// Adapter that shows a list of string resources
final ArrayAdapter<Integer> adapter = new ArrayAdapter<Integer>(getActivity(),
@@ -95,10 +100,14 @@
adapter.add(R.string.import_from_sdcard);
}
if (res.getBoolean(R.bool.config_allow_export_to_sdcard)) {
- adapter.add(R.string.export_to_sdcard);
+ if (contactsAreAvailable) {
+ adapter.add(R.string.export_to_sdcard);
+ }
}
if (res.getBoolean(R.bool.config_allow_share_visible_contacts)) {
- adapter.add(R.string.share_visible_contacts);
+ if (contactsAreAvailable) {
+ adapter.add(R.string.share_visible_contacts);
+ }
}
final DialogInterface.OnClickListener clickListener =
@@ -136,7 +145,9 @@
}
};
return new AlertDialog.Builder(getActivity())
- .setTitle(R.string.dialog_import_export)
+ .setTitle(contactsAreAvailable
+ ? R.string.dialog_import_export
+ : R.string.dialog_import)
.setSingleChoiceItems(adapter, -1, clickListener)
.create();
}
diff --git a/src/com/android/contacts/interactions/PhoneNumberInteraction.java b/src/com/android/contacts/interactions/PhoneNumberInteraction.java
index 4c75896..401cbb1 100644
--- a/src/com/android/contacts/interactions/PhoneNumberInteraction.java
+++ b/src/com/android/contacts/interactions/PhoneNumberInteraction.java
@@ -47,6 +47,7 @@
import android.os.Parcel;
import android.os.Parcelable;
import android.provider.ContactsContract.CommonDataKinds.Phone;
+import android.provider.ContactsContract.CommonDataKinds.SipAddress;
import android.provider.ContactsContract.Contacts;
import android.provider.ContactsContract.Data;
import android.provider.ContactsContract.RawContacts;
@@ -65,6 +66,11 @@
* Initiates phone calls or a text message. If there are multiple candidates, this class shows a
* dialog to pick one. Creating one of these interactions should be done through the static
* factory methods.
+ *
+ * Note that this class initiates not only usual *phone* calls but also *SIP* calls.
+ *
+ * TODO: clean up code and documents since it is quite confusing to use "phone numbers" or
+ * "phone calls" here while they can be SIP addresses or SIP calls (See also issue 5039627).
*/
public class PhoneNumberInteraction implements OnLoadCompleteListener<Cursor> {
private static final String TAG = PhoneNumberInteraction.class.getSimpleName();
@@ -86,6 +92,8 @@
String dataSet;
long type;
String label;
+ /** {@link Phone#CONTENT_ITEM_TYPE} or {@link SipAddress#CONTENT_ITEM_TYPE}. */
+ String mimeType;
public PhoneItem() {
}
@@ -97,6 +105,7 @@
this.dataSet = in.readString();
this.type = in.readLong();
this.label = in.readString();
+ this.mimeType = in.readString();
}
public void writeToParcel(Parcel dest, int flags) {
@@ -106,6 +115,7 @@
dest.writeString(dataSet);
dest.writeLong(type);
dest.writeString(label);
+ dest.writeString(mimeType);
}
public int describeContents() {
@@ -260,11 +270,15 @@
RawContacts.ACCOUNT_TYPE,
RawContacts.DATA_SET,
Phone.TYPE,
- Phone.LABEL
+ Phone.LABEL,
+ Phone.MIMETYPE
};
- private static final String PHONE_NUMBER_SELECTION = Data.MIMETYPE + "='"
- + Phone.CONTENT_ITEM_TYPE + "' AND " + Phone.NUMBER + " NOT NULL";
+ private static final String PHONE_NUMBER_SELECTION =
+ Data.MIMETYPE + " IN ('"
+ + Phone.CONTENT_ITEM_TYPE + "', "
+ + "'" + SipAddress.CONTENT_ITEM_TYPE + "') AND "
+ + Data.DATA1 + " NOT NULL";
private final Context mContext;
private final OnDismissListener mDismissListener;
@@ -308,11 +322,7 @@
Intent.ACTION_SENDTO, Uri.fromParts("sms", phoneNumber, null));
break;
default:
- intent = new Intent(
- Intent.ACTION_CALL_PRIVILEGED, Uri.fromParts("tel", phoneNumber, null));
- if (callOrigin != null) {
- intent.putExtra(DialtactsActivity.EXTRA_CALL_ORIGIN, callOrigin);
- }
+ intent = ContactsUtils.getCallIntent(phoneNumber, callOrigin);
break;
}
context.startActivity(intent);
@@ -378,6 +388,7 @@
item.dataSet = cursor.getString(cursor.getColumnIndex(RawContacts.DATA_SET));
item.type = cursor.getInt(cursor.getColumnIndex(Phone.TYPE));
item.label = cursor.getString(cursor.getColumnIndex(Phone.LABEL));
+ item.mimeType = cursor.getString(cursor.getColumnIndex(Phone.MIMETYPE));
phoneList.add(item);
}
@@ -396,8 +407,9 @@
if (phoneList.size() == 0) {
onDismiss();
} else if (phoneList.size() == 1) {
+ PhoneItem item = phoneList.get(0);
onDismiss();
- performAction(phoneList.get(0).phoneNumber);
+ performAction(item.phoneNumber);
} else {
// There are multiple candidates. Let the user choose one.
showDisambiguationDialog(phoneList);
diff --git a/src/com/android/contacts/list/ContactEntryListAdapter.java b/src/com/android/contacts/list/ContactEntryListAdapter.java
index 9c36f05..d95a1bc 100644
--- a/src/com/android/contacts/list/ContactEntryListAdapter.java
+++ b/src/com/android/contacts/list/ContactEntryListAdapter.java
@@ -54,13 +54,8 @@
*/
private static final boolean LOCAL_INVISIBLE_DIRECTORY_ENABLED = false;
- /**
- * The animation is used here to allocate animated name text views.
- */
- private TextWithHighlightingFactory mTextWithHighlightingFactory;
private int mDisplayOrder;
private int mSortOrder;
- private boolean mNameHighlightingEnabled;
private boolean mDisplayPhotos;
private boolean mQuickContactEnabled;
@@ -136,6 +131,28 @@
return partition;
}
+ /**
+ * Remove all directories after the default directory. This is typically used when contacts
+ * list screens are asked to exit the search mode and thus need to remove all remote directory
+ * results for the search.
+ *
+ * This code assumes that the default directory and directories before that should not be
+ * deleted (e.g. Join screen has "suggested contacts" directory before the default director,
+ * and we should not remove the directory).
+ */
+ /* package */ void removeDirectoriesAfterDefault() {
+ final int partitionCount = getPartitionCount();
+ for (int i = partitionCount - 1; i >= 0; i--) {
+ final Partition partition = getPartition(i);
+ if ((partition instanceof DirectoryPartition)
+ && ((DirectoryPartition) partition).getDirectoryId() == Directory.DEFAULT) {
+ break;
+ } else {
+ removePartition(i);
+ }
+ }
+ }
+
private int getPartitionByDirectoryId(long id) {
int count = getPartitionCount();
for (int i = 0; i < count; i++) {
diff --git a/src/com/android/contacts/list/ContactEntryListFragment.java b/src/com/android/contacts/list/ContactEntryListFragment.java
index 8db477e..5ee25a2 100644
--- a/src/com/android/contacts/list/ContactEntryListFragment.java
+++ b/src/com/android/contacts/list/ContactEntryListFragment.java
@@ -613,12 +613,10 @@
mAdapter.clearPartitions();
if (!flag) {
- // If we are switching from search to regular display,
- // remove all directory partitions (except the default one).
- int count = mAdapter.getPartitionCount();
- for (int i = count; --i >= 1;) {
- mAdapter.removePartition(i);
- }
+ // If we are switching from search to regular display, remove all directory
+ // partitions after default one, assuming they are remote directories which
+ // should be cleaned up on exiting the search mode.
+ mAdapter.removeDirectoriesAfterDefault();
}
mAdapter.configureDefaultPartition(false, flag);
}
diff --git a/src/com/android/contacts/list/ContactsIntentResolver.java b/src/com/android/contacts/list/ContactsIntentResolver.java
index 8d14591..0584f5e 100644
--- a/src/com/android/contacts/list/ContactsIntentResolver.java
+++ b/src/com/android/contacts/list/ContactsIntentResolver.java
@@ -18,6 +18,7 @@
import com.android.contacts.CallContactActivity;
import com.android.contacts.ContactsSearchManager;
+import com.android.contacts.ContactsUtils;
import android.app.Activity;
import android.app.SearchManager;
@@ -128,9 +129,7 @@
if ("call".equals(intent.getStringExtra(SearchManager.ACTION_MSG))) {
String query = intent.getStringExtra(SearchManager.QUERY);
if (!TextUtils.isEmpty(query)) {
- Intent newIntent = new Intent(Intent.ACTION_CALL_PRIVILEGED,
- Uri.fromParts("tel", query, null));
- request.setRedirectIntent(newIntent);
+ request.setRedirectIntent(ContactsUtils.getCallIntent(query));
}
} else {
request.setQueryString(intent.getStringExtra(SearchManager.QUERY));
@@ -182,7 +181,7 @@
intent.setData(null);
}
} else if (Intents.SEARCH_SUGGESTION_DIAL_NUMBER_CLICKED.equals(action)) {
- request.setRedirectIntent(new Intent(Intent.ACTION_CALL_PRIVILEGED, intent.getData()));
+ request.setRedirectIntent(ContactsUtils.getCallIntent(intent.getData()));
} else if (Intents.SEARCH_SUGGESTION_CREATE_CONTACT_CLICKED.equals(action)) {
// TODO actually support this in EditContactActivity.
String number = intent.getData().getSchemeSpecificPart();
diff --git a/src/com/android/contacts/list/EmailAddressListAdapter.java b/src/com/android/contacts/list/EmailAddressListAdapter.java
index 93f435e..13853a1 100644
--- a/src/com/android/contacts/list/EmailAddressListAdapter.java
+++ b/src/com/android/contacts/list/EmailAddressListAdapter.java
@@ -78,6 +78,9 @@
builder.appendPath(TextUtils.isEmpty(query) ? "" : query);
} else {
builder = Email.CONTENT_URI.buildUpon();
+ if (isSectionHeaderDisplayEnabled()) {
+ builder.appendQueryParameter(ContactCounts.ADDRESS_BOOK_INDEX_EXTRAS, "true");
+ }
}
builder.appendQueryParameter(ContactsContract.DIRECTORY_PARAM_KEY,
String.valueOf(directoryId));
@@ -97,11 +100,6 @@
}
}
- protected static Builder buildSectionIndexerUri(Uri uri) {
- return uri.buildUpon()
- .appendQueryParameter(ContactCounts.ADDRESS_BOOK_INDEX_EXTRAS, "true");
- }
-
@Override
public String getContactDisplayName(int position) {
return ((Cursor) getItem(position)).getString(EmailQuery.EMAIL_DISPLAY_NAME);
@@ -112,7 +110,7 @@
* position.
*/
public Uri getDataUri(int position) {
- long id = ((Cursor)getItem(position)).getLong(EmailQuery.EMAIL_ID);
+ long id = ((Cursor) getItem(position)).getLong(EmailQuery.EMAIL_ID);
return ContentUris.withAppendedId(Data.CONTENT_URI, id);
}
diff --git a/src/com/android/contacts/list/EmailAddressPickerFragment.java b/src/com/android/contacts/list/EmailAddressPickerFragment.java
index 14b6c23..13fe541 100644
--- a/src/com/android/contacts/list/EmailAddressPickerFragment.java
+++ b/src/com/android/contacts/list/EmailAddressPickerFragment.java
@@ -58,6 +58,13 @@
return inflater.inflate(R.layout.contact_list_content, null);
}
+ @Override
+ protected void onCreateView(LayoutInflater inflater, ViewGroup container) {
+ super.onCreateView(inflater, container);
+
+ setVisibleScrollbarEnabled(!isLegacyCompatibilityMode());
+ }
+
private void pickEmailAddress(Uri uri) {
mListener.onPickEmailAddressAction(uri);
}
diff --git a/src/com/android/contacts/list/JoinContactListAdapter.java b/src/com/android/contacts/list/JoinContactListAdapter.java
index bfe8c53..80ddc83 100644
--- a/src/com/android/contacts/list/JoinContactListAdapter.java
+++ b/src/com/android/contacts/list/JoinContactListAdapter.java
@@ -20,7 +20,6 @@
import android.content.Context;
import android.content.CursorLoader;
import android.database.Cursor;
-import android.database.MatrixCursor;
import android.net.Uri;
import android.net.Uri.Builder;
import android.provider.ContactsContract;
@@ -53,7 +52,6 @@
@Override
protected void addPartitions() {
-
// Partition 0: suggestions
addPartition(false, true);
@@ -69,11 +67,11 @@
public void configureLoader(CursorLoader cursorLoader, long directoryId) {
JoinContactLoader loader = (JoinContactLoader) cursorLoader;
- Builder builder = Contacts.CONTENT_URI.buildUpon();
+ final Builder builder = Contacts.CONTENT_URI.buildUpon();
builder.appendEncodedPath(String.valueOf(mTargetContactId));
builder.appendEncodedPath(AggregationSuggestions.CONTENT_DIRECTORY);
- String filter = getQueryString();
+ final String filter = getQueryString();
if (!TextUtils.isEmpty(filter)) {
builder.appendEncodedPath(Uri.encode(filter));
}
@@ -84,13 +82,22 @@
// TODO simplify projection
loader.setProjection(getProjection(false));
- Uri allContactsUri = buildSectionIndexerUri(Contacts.CONTENT_URI).buildUpon()
+ final Uri allContactsUri;
+ if (!TextUtils.isEmpty(filter)) {
+ allContactsUri = buildSectionIndexerUri(Contacts.CONTENT_FILTER_URI).buildUpon()
+ .appendEncodedPath(Uri.encode(filter))
.appendQueryParameter(
ContactsContract.DIRECTORY_PARAM_KEY, String.valueOf(Directory.DEFAULT))
.build();
+ } else {
+ allContactsUri = buildSectionIndexerUri(Contacts.CONTENT_URI).buildUpon()
+ .appendQueryParameter(
+ ContactsContract.DIRECTORY_PARAM_KEY, String.valueOf(Directory.DEFAULT))
+ .build();
+ }
loader.setUri(allContactsUri);
loader.setSelection(Contacts._ID + "!=?");
- loader.setSelectionArgs(new String[]{String.valueOf(mTargetContactId)});
+ loader.setSelectionArgs(new String[]{ String.valueOf(mTargetContactId) });
if (getSortOrder() == ContactsContract.Preferences.SORT_ORDER_PRIMARY) {
loader.setSortOrder(Contacts.SORT_KEY_PRIMARY);
} else {
@@ -120,7 +127,7 @@
@Override
public int getViewTypeCount() {
- return super.getViewTypeCount() + 1;
+ return super.getViewTypeCount();
}
@Override
@@ -173,14 +180,14 @@
protected void bindView(View itemView, int partition, Cursor cursor, int position) {
switch (partition) {
case PARTITION_SUGGESTIONS: {
- final ContactListItemView view = (ContactListItemView)itemView;
+ final ContactListItemView view = (ContactListItemView) itemView;
view.setSectionHeader(null);
bindPhoto(view, partition, cursor);
bindName(view, cursor);
break;
}
case PARTITION_ALL_CONTACTS: {
- final ContactListItemView view = (ContactListItemView)itemView;
+ final ContactListItemView view = (ContactListItemView) itemView;
bindSectionHeaderAndDivider(view, position, cursor);
bindPhoto(view, partition, cursor);
bindName(view, cursor);
diff --git a/src/com/android/contacts/list/JoinContactListFragment.java b/src/com/android/contacts/list/JoinContactListFragment.java
index 5b27bdf..7c6767b 100644
--- a/src/com/android/contacts/list/JoinContactListFragment.java
+++ b/src/com/android/contacts/list/JoinContactListFragment.java
@@ -26,6 +26,7 @@
import android.database.Cursor;
import android.os.Bundle;
import android.provider.ContactsContract.Contacts;
+import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -103,7 +104,10 @@
configureAdapter();
getLoaderManager().initLoader(DISPLAY_NAME_LOADER, null, mLoaderCallbacks);
- getLoaderManager().initLoader(JoinContactListAdapter.PARTITION_ALL_CONTACTS,
+
+ // When this method is called, Uri to be used may be changed. We should use restartLoader()
+ // to load the parameter again.
+ getLoaderManager().restartLoader(JoinContactListAdapter.PARTITION_ALL_CONTACTS,
null, mLoaderCallbacks);
}
@@ -167,4 +171,11 @@
mTargetContactId = savedState.getLong(KEY_TARGET_CONTACT_ID);
}
}
+
+ @Override
+ public void setQueryString(String queryString, boolean delaySelection) {
+ super.setQueryString(queryString, delaySelection);
+
+ setSearchMode(!TextUtils.isEmpty(queryString));
+ }
}
diff --git a/src/com/android/contacts/list/JoinContactLoader.java b/src/com/android/contacts/list/JoinContactLoader.java
index 2f1f9b0..c43560e 100644
--- a/src/com/android/contacts/list/JoinContactLoader.java
+++ b/src/com/android/contacts/list/JoinContactLoader.java
@@ -20,6 +20,7 @@
import android.database.Cursor;
import android.database.MatrixCursor;
import android.net.Uri;
+import android.util.Log;
/**
* A specialized loader for the Join Contacts UI. It executes two queries:
@@ -29,7 +30,7 @@
private String[] mProjection;
private Uri mSuggestionUri;
- private MatrixCursor mSuggestionsCursor;
+ private Cursor mSuggestionsCursor;
public JoinContactLoader(Context context) {
super(context, null, null, null, null, null);
@@ -53,28 +54,8 @@
public Cursor loadInBackground() {
// First execute the suggestions query, then call super.loadInBackground
// to load the entire list
- mSuggestionsCursor = loadSuggestions();
+ mSuggestionsCursor = getContext().getContentResolver()
+ .query(mSuggestionUri, mProjection, null, null, null);
return super.loadInBackground();
}
-
- /**
- * Loads join suggestions into a MatrixCursor.
- */
- private MatrixCursor loadSuggestions() {
- Cursor cursor = getContext().getContentResolver().query(mSuggestionUri, mProjection,
- null, null, null);
- try {
- MatrixCursor matrix = new MatrixCursor(mProjection);
- Object[] row = new Object[mProjection.length];
- while (cursor.moveToNext()) {
- for (int i = 0; i < row.length; i++) {
- row[i] = cursor.getString(i);
- }
- matrix.addRow(row);
- }
- return matrix;
- } finally {
- cursor.close();
- }
- }
}
\ No newline at end of file
diff --git a/src/com/android/contacts/list/PhoneFavoriteFragment.java b/src/com/android/contacts/list/PhoneFavoriteFragment.java
index b6e8dd6..0e92bfc 100644
--- a/src/com/android/contacts/list/PhoneFavoriteFragment.java
+++ b/src/com/android/contacts/list/PhoneFavoriteFragment.java
@@ -18,6 +18,7 @@
import com.android.contacts.ContactPhotoManager;
import com.android.contacts.ContactTileLoaderFactory;
import com.android.contacts.R;
+import com.android.contacts.interactions.ImportExportDialogFragment;
import com.android.contacts.preference.ContactsPreferences;
import com.android.contacts.util.AccountFilterUtil;
@@ -32,9 +33,14 @@
import android.graphics.Rect;
import android.net.Uri;
import android.os.Bundle;
+import android.provider.ContactsContract;
import android.provider.ContactsContract.Directory;
+import android.provider.Settings;
import android.util.Log;
import android.view.LayoutInflater;
+import android.view.Menu;
+import android.view.MenuInflater;
+import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
@@ -221,6 +227,7 @@
if (savedState != null) {
mFilter = savedState.getParcelable(KEY_FILTER);
}
+ setHasOptionsMenu(true);
}
@Override
@@ -299,6 +306,8 @@
// Put photos on left for consistency with "frequent" contacts section.
mAllContactsAdapter.setPhotoPosition(ContactListItemView.PhotoPosition.LEFT);
+ mAllContactsAdapter.setUseCallableUri(true);
+
if (mFilter != null) {
mAllContactsAdapter.setFilter(mFilter);
}
@@ -317,6 +326,34 @@
}
@Override
+ public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
+ super.onCreateOptionsMenu(menu, inflater);
+ inflater.inflate(R.menu.phone_favorite_options, menu);
+ }
+
+ @Override
+ public boolean onOptionsItemSelected(MenuItem item) {
+ switch (item.getItemId()) {
+ case R.id.menu_import_export:
+ // We hard-code the "contactsAreAvailable" argument because doing it properly would
+ // involve querying a {@link ProviderStatusLoader}, which we don't want to do right
+ // now in Dialtacts for (potential) performance reasons. Compare with how it is
+ // done in {@link PeopleActivity}.
+ ImportExportDialogFragment.show(getFragmentManager(), true);
+ return true;
+ case R.id.menu_accounts:
+ final Intent intent = new Intent(Settings.ACTION_SYNC_SETTINGS);
+ intent.putExtra(Settings.EXTRA_AUTHORITIES, new String[] {
+ ContactsContract.AUTHORITY
+ });
+ intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
+ startActivity(intent);
+ return true;
+ }
+ return false;
+ }
+
+ @Override
public void onStart() {
super.onStart();
diff --git a/src/com/android/contacts/list/PhoneNumberListAdapter.java b/src/com/android/contacts/list/PhoneNumberListAdapter.java
index 1d077b7..79114eb 100644
--- a/src/com/android/contacts/list/PhoneNumberListAdapter.java
+++ b/src/com/android/contacts/list/PhoneNumberListAdapter.java
@@ -15,6 +15,8 @@
*/
package com.android.contacts.list;
+import com.android.contacts.R;
+
import android.content.ContentUris;
import android.content.Context;
import android.content.CursorLoader;
@@ -22,7 +24,9 @@
import android.net.Uri;
import android.net.Uri.Builder;
import android.provider.ContactsContract;
+import android.provider.ContactsContract.CommonDataKinds.Callable;
import android.provider.ContactsContract.CommonDataKinds.Phone;
+import android.provider.ContactsContract.CommonDataKinds.SipAddress;
import android.provider.ContactsContract.ContactCounts;
import android.provider.ContactsContract.Contacts;
import android.provider.ContactsContract.Data;
@@ -37,7 +41,12 @@
import java.util.List;
/**
- * A cursor adapter for the {@link Phone#CONTENT_TYPE} content type.
+ * A cursor adapter for the {@link Phone#CONTENT_ITEM_TYPE} and
+ * {@link SipAddress#CONTENT_ITEM_TYPE}.
+ *
+ * By default this adapter just handles phone numbers. When {@link #setUseCallableUri(boolean)} is
+ * called with "true", this adapter starts handling SIP addresses too, by using {@link Callable}
+ * API instead of {@link Phone}.
*/
public class PhoneNumberListAdapter extends ContactEntryListAdapter {
private static final String TAG = PhoneNumberListAdapter.class.getSimpleName();
@@ -79,6 +88,8 @@
private ContactListItemView.PhotoPosition mPhotoPosition;
+ private boolean mUseCallableUri;
+
public PhoneNumberListAdapter(Context context) {
super(context);
@@ -91,40 +102,37 @@
@Override
public void configureLoader(CursorLoader loader, long directoryId) {
- Uri uri;
-
if (directoryId != Directory.DEFAULT) {
Log.w(TAG, "PhoneNumberListAdapter is not ready for non-default directory ID ("
+ "directoryId: " + directoryId + ")");
}
+ final Builder builder;
if (isSearchMode()) {
- String query = getQueryString();
- Builder builder = Phone.CONTENT_FILTER_URI.buildUpon();
+ final Uri baseUri =
+ mUseCallableUri ? Callable.CONTENT_FILTER_URI : Phone.CONTENT_FILTER_URI;
+ builder = baseUri.buildUpon();
+ final String query = getQueryString();
if (TextUtils.isEmpty(query)) {
builder.appendPath("");
} else {
builder.appendPath(query); // Builder will encode the query
}
-
builder.appendQueryParameter(ContactsContract.DIRECTORY_PARAM_KEY,
String.valueOf(directoryId));
- uri = builder.build();
} else {
- uri = Phone.CONTENT_URI.buildUpon().appendQueryParameter(
- ContactsContract.DIRECTORY_PARAM_KEY, String.valueOf(Directory.DEFAULT))
- .build();
+ final Uri baseUri = mUseCallableUri ? Callable.CONTENT_URI : Phone.CONTENT_URI;
+ builder = baseUri.buildUpon().appendQueryParameter(
+ ContactsContract.DIRECTORY_PARAM_KEY, String.valueOf(Directory.DEFAULT));
if (isSectionHeaderDisplayEnabled()) {
- uri = buildSectionIndexerUri(uri);
+ builder.appendQueryParameter(ContactCounts.ADDRESS_BOOK_INDEX_EXTRAS, "true");
}
configureSelection(loader, directoryId, getFilter());
}
// Remove duplicates when it is possible.
- uri = uri.buildUpon()
- .appendQueryParameter(ContactsContract.REMOVE_DUPLICATE_ENTRIES, "true")
- .build();
- loader.setUri(uri);
+ builder.appendQueryParameter(ContactsContract.REMOVE_DUPLICATE_ENTRIES, "true");
+ loader.setUri(builder.build());
// TODO a projection that includes the search snippet
if (getContactNameDisplayOrder() == ContactsContract.Preferences.DISPLAY_ORDER_PRIMARY) {
@@ -187,11 +195,6 @@
loader.setSelectionArgs(selectionArgs.toArray(new String[0]));
}
- protected static Uri buildSectionIndexerUri(Uri uri) {
- return uri.buildUpon()
- .appendQueryParameter(ContactCounts.ADDRESS_BOOK_INDEX_EXTRAS, "true").build();
- }
-
@Override
public String getContactDisplayName(int position) {
return ((Cursor) getItem(position)).getString(PhoneQuery.PHONE_DISPLAY_NAME);
@@ -322,4 +325,12 @@
public ContactListItemView.PhotoPosition getPhotoPosition() {
return mPhotoPosition;
}
+
+ public void setUseCallableUri(boolean useCallableUri) {
+ mUseCallableUri = useCallableUri;
+ }
+
+ public boolean usesCallableUri() {
+ return mUseCallableUri;
+ }
}
diff --git a/src/com/android/contacts/list/PhoneNumberPickerFragment.java b/src/com/android/contacts/list/PhoneNumberPickerFragment.java
index c96956b..149b391 100644
--- a/src/com/android/contacts/list/PhoneNumberPickerFragment.java
+++ b/src/com/android/contacts/list/PhoneNumberPickerFragment.java
@@ -55,6 +55,8 @@
/** true if the loader has started at least once. */
private boolean mLoaderStarted;
+ private boolean mUseCallableUri;
+
private ContactListItemView.PhotoPosition mPhotoPosition =
ContactListItemView.DEFAULT_PHOTO_POSITION;
@@ -180,11 +182,20 @@
super.startLoading();
}
+ public void setUseCallableUri(boolean useCallableUri) {
+ mUseCallableUri = useCallableUri;
+ }
+
+ public boolean usesCallableUri() {
+ return mUseCallableUri;
+ }
+
@Override
protected ContactEntryListAdapter createListAdapter() {
if (!isLegacyCompatibilityMode()) {
PhoneNumberListAdapter adapter = new PhoneNumberListAdapter(getActivity());
adapter.setDisplayPhotos(true);
+ adapter.setUseCallableUri(mUseCallableUri);
return adapter;
} else {
LegacyPhoneNumberListAdapter adapter = new LegacyPhoneNumberListAdapter(getActivity());
diff --git a/src/com/android/contacts/list/PostalAddressListAdapter.java b/src/com/android/contacts/list/PostalAddressListAdapter.java
index 41591de..2750e11 100644
--- a/src/com/android/contacts/list/PostalAddressListAdapter.java
+++ b/src/com/android/contacts/list/PostalAddressListAdapter.java
@@ -20,10 +20,11 @@
import android.content.CursorLoader;
import android.database.Cursor;
import android.net.Uri;
+import android.net.Uri.Builder;
import android.provider.ContactsContract;
+import android.provider.ContactsContract.CommonDataKinds.StructuredPostal;
import android.provider.ContactsContract.ContactCounts;
import android.provider.ContactsContract.Data;
-import android.provider.ContactsContract.CommonDataKinds.StructuredPostal;
import android.view.View;
import android.view.ViewGroup;
@@ -69,11 +70,12 @@
@Override
public void configureLoader(CursorLoader loader, long directoryId) {
- Uri uri = buildSectionIndexerUri(StructuredPostal.CONTENT_URI)
- .buildUpon()
- .appendQueryParameter(ContactsContract.REMOVE_DUPLICATE_ENTRIES, "true")
- .build();
- loader.setUri(uri);
+ final Builder builder = StructuredPostal.CONTENT_URI.buildUpon()
+ .appendQueryParameter(ContactsContract.REMOVE_DUPLICATE_ENTRIES, "true");
+ if (isSectionHeaderDisplayEnabled()) {
+ builder.appendQueryParameter(ContactCounts.ADDRESS_BOOK_INDEX_EXTRAS, "true");
+ }
+ loader.setUri(builder.build());
if (getContactNameDisplayOrder() == ContactsContract.Preferences.DISPLAY_ORDER_PRIMARY) {
loader.setProjection(PostalQuery.PROJECTION_PRIMARY);
@@ -88,11 +90,6 @@
}
}
- protected static Uri buildSectionIndexerUri(Uri uri) {
- return uri.buildUpon()
- .appendQueryParameter(ContactCounts.ADDRESS_BOOK_INDEX_EXTRAS, "true").build();
- }
-
@Override
public String getContactDisplayName(int position) {
return ((Cursor) getItem(position)).getString(PostalQuery.POSTAL_DISPLAY_NAME);
diff --git a/src/com/android/contacts/list/PostalAddressPickerFragment.java b/src/com/android/contacts/list/PostalAddressPickerFragment.java
index 85fc155..ddb8e9a 100644
--- a/src/com/android/contacts/list/PostalAddressPickerFragment.java
+++ b/src/com/android/contacts/list/PostalAddressPickerFragment.java
@@ -73,6 +73,13 @@
return inflater.inflate(R.layout.contact_list_content, null);
}
+ @Override
+ protected void onCreateView(LayoutInflater inflater, ViewGroup container) {
+ super.onCreateView(inflater, container);
+
+ setVisibleScrollbarEnabled(!isLegacyCompatibilityMode());
+ }
+
private void pickPostalAddress(Uri uri) {
mListener.onPickPostalAddressAction(uri);
}
diff --git a/src/com/android/contacts/model/EntityModifier.java b/src/com/android/contacts/model/EntityModifier.java
index 289ca54..ef5d304 100644
--- a/src/com/android/contacts/model/EntityModifier.java
+++ b/src/com/android/contacts/model/EntityModifier.java
@@ -103,19 +103,28 @@
/**
* Ensure that at least one of the given {@link DataKind} exists in the
* given {@link EntityDelta} state, and try creating one if none exist.
+ * @return The child (either newly created or the first existing one), or null if the
+ * account doesn't support this {@link DataKind}.
*/
- public static void ensureKindExists(
+ public static ValuesDelta ensureKindExists(
EntityDelta state, AccountType accountType, String mimeType) {
final DataKind kind = accountType.getKindForMimetype(mimeType);
final boolean hasChild = state.getMimeEntriesCount(mimeType, true) > 0;
- if (!hasChild && kind != null) {
- // Create child when none exists and valid kind
- final ValuesDelta child = insertChild(state, kind);
- if (kind.mimeType.equals(Photo.CONTENT_ITEM_TYPE)) {
- child.setFromTemplate(true);
+ if (kind != null) {
+ if (hasChild) {
+ // Return the first entry.
+ return state.getMimeEntries(mimeType).get(0);
+ } else {
+ // Create child when none exists and valid kind
+ final ValuesDelta child = insertChild(state, kind);
+ if (kind.mimeType.equals(Photo.CONTENT_ITEM_TYPE)) {
+ child.setFromTemplate(true);
+ }
+ return child;
}
}
+ return null;
}
/**
diff --git a/src/com/android/contacts/quickcontact/DataAction.java b/src/com/android/contacts/quickcontact/DataAction.java
index 266fd02..415fa18 100644
--- a/src/com/android/contacts/quickcontact/DataAction.java
+++ b/src/com/android/contacts/quickcontact/DataAction.java
@@ -116,8 +116,8 @@
final String number = getAsString(cursor, Phone.NUMBER);
if (!TextUtils.isEmpty(number)) {
- final Intent phoneIntent = hasPhone ? new Intent(Intent.ACTION_CALL_PRIVILEGED,
- Uri.fromParts(Constants.SCHEME_TEL, number, null)) : null;
+ final Intent phoneIntent = hasPhone ? ContactsUtils.getCallIntent(number)
+ : null;
final Intent smsIntent = hasSms ? new Intent(Intent.ACTION_SENDTO,
Uri.fromParts(Constants.SCHEME_SMSTO, number, null)) : null;
@@ -139,7 +139,7 @@
final String address = getAsString(cursor, SipAddress.SIP_ADDRESS);
if (!TextUtils.isEmpty(address)) {
final Uri callUri = Uri.fromParts(Constants.SCHEME_SIP, address, null);
- mIntent = new Intent(Intent.ACTION_CALL_PRIVILEGED, callUri);
+ mIntent = ContactsUtils.getCallIntent(callUri);
// Note that this item will get a SIP-specific variant
// of the "call phone" icon, rather than the standard
// app icon for the Phone app (which we show for
diff --git a/src/com/android/contacts/vcard/CancelActivity.java b/src/com/android/contacts/vcard/CancelActivity.java
index c890607..5dafa53 100644
--- a/src/com/android/contacts/vcard/CancelActivity.java
+++ b/src/com/android/contacts/vcard/CancelActivity.java
@@ -87,17 +87,13 @@
protected Dialog onCreateDialog(int id, Bundle bundle) {
switch (id) {
case R.id.dialog_cancel_confirmation: {
- final String title;
final String message;
if (mType == VCardService.TYPE_IMPORT) {
- title = getString(R.string.cancel_import_confirmation_title);
message = getString(R.string.cancel_import_confirmation_message, mDisplayName);
} else {
- title = getString(R.string.cancel_export_confirmation_title);
message = getString(R.string.cancel_export_confirmation_message, mDisplayName);
}
final AlertDialog.Builder builder = new AlertDialog.Builder(this)
- .setTitle(title)
.setMessage(message)
.setPositiveButton(android.R.string.ok, new RequestCancelListener())
.setOnCancelListener(mCancelListener)
diff --git a/src/com/android/contacts/vcard/ExportVCardActivity.java b/src/com/android/contacts/vcard/ExportVCardActivity.java
index c36cc38..f38c9df 100644
--- a/src/com/android/contacts/vcard/ExportVCardActivity.java
+++ b/src/com/android/contacts/vcard/ExportVCardActivity.java
@@ -235,7 +235,6 @@
case R.id.dialog_sdcard_not_found: {
mProcessOngoing = false;
return new AlertDialog.Builder(this)
- .setTitle(R.string.no_sdcard_title)
.setIconAttribute(android.R.attr.alertDialogIcon)
.setMessage(R.string.no_sdcard_message)
.setPositiveButton(android.R.string.ok, this).create();
diff --git a/src/com/android/contacts/vcard/ImportVCardActivity.java b/src/com/android/contacts/vcard/ImportVCardActivity.java
index 18b9cc1..2dc92af 100644
--- a/src/com/android/contacts/vcard/ImportVCardActivity.java
+++ b/src/com/android/contacts/vcard/ImportVCardActivity.java
@@ -901,10 +901,9 @@
}
case R.id.dialog_searching_vcard: {
if (mProgressDialogForScanVCard == null) {
- String title = getString(R.string.searching_vcard_title);
String message = getString(R.string.searching_vcard_message);
mProgressDialogForScanVCard =
- ProgressDialog.show(this, title, message, true, false);
+ ProgressDialog.show(this, "", message, true, false);
mProgressDialogForScanVCard.setOnCancelListener(mVCardScanThread);
mVCardScanThread.start();
}
@@ -912,7 +911,6 @@
}
case R.id.dialog_sdcard_not_found: {
AlertDialog.Builder builder = new AlertDialog.Builder(this)
- .setTitle(R.string.no_sdcard_title)
.setIconAttribute(android.R.attr.alertDialogIcon)
.setMessage(R.string.no_sdcard_message)
.setOnCancelListener(mCancelListener)
@@ -922,7 +920,6 @@
case R.id.dialog_vcard_not_found: {
final String message = getString(R.string.import_failure_no_vcard_file);
AlertDialog.Builder builder = new AlertDialog.Builder(this)
- .setTitle(R.string.scanning_sdcard_failed_title)
.setMessage(message)
.setOnCancelListener(mCancelListener)
.setPositiveButton(android.R.string.ok, mCancelListener);
@@ -954,7 +951,6 @@
String message = (getString(R.string.scanning_sdcard_failed_message,
getString(R.string.fail_reason_io_error)));
AlertDialog.Builder builder = new AlertDialog.Builder(this)
- .setTitle(R.string.scanning_sdcard_failed_title)
.setIconAttribute(android.R.attr.alertDialogIcon)
.setMessage(message)
.setOnCancelListener(mCancelListener)
diff --git a/tests/AndroidManifest.xml b/tests/AndroidManifest.xml
index 6ea42d6..2806830 100644
--- a/tests/AndroidManifest.xml
+++ b/tests/AndroidManifest.xml
@@ -119,6 +119,9 @@
android:name="android.provider.CONTACTS_STRUCTURE"
android:resource="@xml/test_basic_contacts" />
</service>
+
+ <service android:name=".QueryService" />
+ <service android:name=".PhoneNumberTestService" />
</application>
<instrumentation android:name="android.test.InstrumentationTestRunner"
diff --git a/tests/src/com/android/contacts/activities/PeopleActivityTest.java b/tests/src/com/android/contacts/activities/PeopleActivityTest.java
index 66c2c5a..ea7c3dc 100644
--- a/tests/src/com/android/contacts/activities/PeopleActivityTest.java
+++ b/tests/src/com/android/contacts/activities/PeopleActivityTest.java
@@ -48,7 +48,7 @@
import android.provider.ContactsContract.ProviderStatus;
import android.provider.Settings;
import android.test.ActivityInstrumentationTestCase2;
-import android.test.suitebuilder.annotation.Smoke;
+import android.test.suitebuilder.annotation.SmallTest;
import android.widget.TextView;
/**
@@ -64,7 +64,7 @@
* -w com.android.contacts.tests/android.test.InstrumentationTestRunner
*
*/
-@Smoke
+@SmallTest
public class PeopleActivityTest
extends ActivityInstrumentationTestCase2<PeopleActivity>
{
diff --git a/tests/src/com/android/contacts/calllog/CallLogFragmentTest.java b/tests/src/com/android/contacts/calllog/CallLogFragmentTest.java
index 9cac8fe..89c0a99 100644
--- a/tests/src/com/android/contacts/calllog/CallLogFragmentTest.java
+++ b/tests/src/com/android/contacts/calllog/CallLogFragmentTest.java
@@ -619,14 +619,14 @@
/** Asserts that the number and label text view contains the given text. */
private void assertNumberAndLabelAre(CallLogListItemViews views, CharSequence number,
- CharSequence numberLabel) {
+ CharSequence label) {
assertEquals(View.VISIBLE, views.phoneCallDetailsViews.numberView.getVisibility());
- final CharSequence expectedText;
- if (numberLabel == null) {
- expectedText = number;
- } else {
- expectedText = numberLabel + " " + number;
+ assertEquals(number, views.phoneCallDetailsViews.numberView.getText().toString());
+
+ assertEquals(label == null ? View.GONE : View.VISIBLE,
+ views.phoneCallDetailsViews.labelView.getVisibility());
+ if (label != null) {
+ assertEquals(label, views.phoneCallDetailsViews.labelView.getText().toString());
}
- assertEquals(expectedText, views.phoneCallDetailsViews.numberView.getText().toString());
}
}
diff --git a/tests/src/com/android/contacts/detail/StreamItemAdapterTest.java b/tests/src/com/android/contacts/detail/StreamItemAdapterTest.java
index 19b14d9..131af96 100644
--- a/tests/src/com/android/contacts/detail/StreamItemAdapterTest.java
+++ b/tests/src/com/android/contacts/detail/StreamItemAdapterTest.java
@@ -21,6 +21,7 @@
import com.google.common.collect.Lists;
import android.test.AndroidTestCase;
+import android.test.suitebuilder.annotation.SmallTest;
import android.view.View;
import java.util.ArrayList;
@@ -33,6 +34,7 @@
/**
* Unit tests for {@link StreamItemAdapter}.
*/
+@SmallTest
public class StreamItemAdapterTest extends AndroidTestCase {
private StreamItemAdapter mAdapter;
private FakeOnClickListener mListener;
diff --git a/tests/src/com/android/contacts/format/PrefixHighligherTest.java b/tests/src/com/android/contacts/format/PrefixHighligherTest.java
index a0c0ff3..668330b 100644
--- a/tests/src/com/android/contacts/format/PrefixHighligherTest.java
+++ b/tests/src/com/android/contacts/format/PrefixHighligherTest.java
@@ -17,11 +17,13 @@
package com.android.contacts.format;
import android.test.AndroidTestCase;
+import android.test.suitebuilder.annotation.SmallTest;
import android.widget.TextView;
/**
* Unit tests for {@link PrefixHighlighter}.
*/
+@SmallTest
public class PrefixHighligherTest extends AndroidTestCase {
private static final int TEST_PREFIX_HIGHLIGHT_COLOR = 0xFF0000;
/** The HTML code used to mark the start of the highlighted part. */
diff --git a/tests/src/com/android/contacts/format/SpannedTestUtils.java b/tests/src/com/android/contacts/format/SpannedTestUtils.java
index 625c6aa..646a7ec 100644
--- a/tests/src/com/android/contacts/format/SpannedTestUtils.java
+++ b/tests/src/com/android/contacts/format/SpannedTestUtils.java
@@ -16,6 +16,7 @@
package com.android.contacts.format;
+import android.test.suitebuilder.annotation.SmallTest;
import android.text.Html;
import android.text.Spanned;
import android.text.TextUtils;
@@ -26,6 +27,7 @@
/**
* Utility class to check the value of spanned text in text views.
*/
+@SmallTest
public class SpannedTestUtils {
/**
* Checks that the text contained in the text view matches the given HTML text.
diff --git a/tests/src/com/android/contacts/format/TestTextWithHighlightingFactory.java b/tests/src/com/android/contacts/format/TestTextWithHighlightingFactory.java
index f2848d0..2deaef3 100644
--- a/tests/src/com/android/contacts/format/TestTextWithHighlightingFactory.java
+++ b/tests/src/com/android/contacts/format/TestTextWithHighlightingFactory.java
@@ -21,10 +21,12 @@
import android.database.CharArrayBuffer;
import android.graphics.Typeface;
+import android.test.suitebuilder.annotation.SmallTest;
import android.text.SpannableStringBuilder;
import android.text.style.StyleSpan;
/** A factory for {@link TextWithHighlighting} that wraps its parts in italics. */
+@SmallTest
public final class TestTextWithHighlightingFactory implements TextWithHighlightingFactory {
/** A {@link TextWithHighlighting} implementation that wraps its parts in italics. */
private final static class TestTextWithHighlighting extends SpannableStringBuilder
diff --git a/tests/src/com/android/contacts/interactions/ContactDeletionInteractionTest.java b/tests/src/com/android/contacts/interactions/ContactDeletionInteractionTest.java
index 2c4b74c..b37d24f 100644
--- a/tests/src/com/android/contacts/interactions/ContactDeletionInteractionTest.java
+++ b/tests/src/com/android/contacts/interactions/ContactDeletionInteractionTest.java
@@ -35,7 +35,7 @@
import android.provider.ContactsContract.Contacts;
import android.provider.ContactsContract.Contacts.Entity;
import android.test.ActivityInstrumentationTestCase2;
-import android.test.suitebuilder.annotation.Smoke;
+import android.test.suitebuilder.annotation.SmallTest;
/**
* Tests for {@link ContactDeletionInteraction}.
@@ -47,7 +47,7 @@
* adb shell am instrument \
* -w com.android.contacts.tests/android.test.InstrumentationTestRunner
*/
-@Smoke
+@SmallTest
public class ContactDeletionInteractionTest
extends ActivityInstrumentationTestCase2<FragmentTestActivity> {
diff --git a/tests/src/com/android/contacts/interactions/PhoneNumberInteractionTest.java b/tests/src/com/android/contacts/interactions/PhoneNumberInteractionTest.java
index e0b443a..2da8859 100644
--- a/tests/src/com/android/contacts/interactions/PhoneNumberInteractionTest.java
+++ b/tests/src/com/android/contacts/interactions/PhoneNumberInteractionTest.java
@@ -29,11 +29,12 @@
import android.net.Uri;
import android.os.AsyncTask;
import android.provider.ContactsContract.CommonDataKinds.Phone;
+import android.provider.ContactsContract.CommonDataKinds.SipAddress;
import android.provider.ContactsContract.Contacts;
import android.provider.ContactsContract.Data;
import android.provider.ContactsContract.RawContacts;
import android.test.InstrumentationTestCase;
-import android.test.suitebuilder.annotation.Smoke;
+import android.test.suitebuilder.annotation.SmallTest;
import java.util.ArrayList;
import java.util.List;
@@ -48,7 +49,7 @@
* adb shell am instrument \
* -w com.android.contacts.tests/android.test.InstrumentationTestRunner
*/
-@Smoke
+@SmallTest
public class PhoneNumberInteractionTest extends InstrumentationTestCase {
static {
@@ -89,7 +90,8 @@
public void testSendSmsWhenOnlyOneNumberAvailable() {
Uri contactUri = ContentUris.withAppendedId(Contacts.CONTENT_URI, 13);
expectQuery(contactUri)
- .returnRow(1, "123", 0, null, null, Phone.TYPE_HOME, null);
+ .returnRow(1, "123", 0, null, null, Phone.TYPE_HOME, null,
+ Phone.CONTENT_ITEM_TYPE);
TestPhoneNumberInteraction interaction = new TestPhoneNumberInteraction(
mContext, InteractionType.SMS, null);
@@ -107,7 +109,8 @@
public void testSendSmsWhenDataIdIsProvided() {
Uri dataUri = ContentUris.withAppendedId(Data.CONTENT_URI, 1);
expectQuery(dataUri, true /* isDataUri */ )
- .returnRow(1, "987", 0, null, null, Phone.TYPE_HOME, null);
+ .returnRow(1, "987", 0, null, null, Phone.TYPE_HOME, null,
+ Phone.CONTENT_ITEM_TYPE);
TestPhoneNumberInteraction interaction = new TestPhoneNumberInteraction(
mContext, InteractionType.SMS, null);
@@ -125,8 +128,10 @@
public void testSendSmsWhenThereIsPrimaryNumber() {
Uri contactUri = ContentUris.withAppendedId(Contacts.CONTENT_URI, 13);
expectQuery(contactUri)
- .returnRow(1, "123", 0, null, null, Phone.TYPE_HOME, null)
- .returnRow(2, "456", 1, null, null, Phone.TYPE_HOME, null);
+ .returnRow(
+ 1, "123", 0, null, null, Phone.TYPE_HOME, null, Phone.CONTENT_ITEM_TYPE)
+ .returnRow(
+ 2, "456", 1, null, null, Phone.TYPE_HOME, null, Phone.CONTENT_ITEM_TYPE);
TestPhoneNumberInteraction interaction = new TestPhoneNumberInteraction(
mContext, InteractionType.SMS, null);
@@ -164,8 +169,10 @@
public void testCallNumberWhenThereAreDuplicates() {
Uri contactUri = ContentUris.withAppendedId(Contacts.CONTENT_URI, 13);
expectQuery(contactUri)
- .returnRow(1, "123", 0, null, null, Phone.TYPE_HOME, null)
- .returnRow(2, "123", 0, null, null, Phone.TYPE_WORK, null);
+ .returnRow(1, "123", 0, null, null, Phone.TYPE_HOME, null,
+ Phone.CONTENT_ITEM_TYPE)
+ .returnRow(2, "123", 0, null, null, Phone.TYPE_WORK, null,
+ Phone.CONTENT_ITEM_TYPE);
TestPhoneNumberInteraction interaction = new TestPhoneNumberInteraction(
mContext, InteractionType.PHONE_CALL, null);
@@ -180,11 +187,31 @@
assertEquals("tel:123", intent.getDataString());
}
+ public void testCallWithSip() {
+ Uri contactUri = ContentUris.withAppendedId(Contacts.CONTENT_URI, 13);
+ expectQuery(contactUri)
+ .returnRow(1, "example@example.com", 0, null, null, Phone.TYPE_HOME, null,
+ SipAddress.CONTENT_ITEM_TYPE);
+ TestPhoneNumberInteraction interaction = new TestPhoneNumberInteraction(
+ mContext, InteractionType.PHONE_CALL, null);
+
+ interaction.startInteraction(contactUri);
+ interaction.getLoader().waitForLoader();
+
+ Intent intent = mContext.getIntentForStartActivity();
+ assertNotNull(intent);
+
+ assertEquals(Intent.ACTION_CALL_PRIVILEGED, intent.getAction());
+ assertEquals("sip:example%40example.com", intent.getDataString());
+ }
+
public void testShowDisambigDialogForCalling() {
Uri contactUri = ContentUris.withAppendedId(Contacts.CONTENT_URI, 13);
expectQuery(contactUri)
- .returnRow(1, "123", 0, "account", null, Phone.TYPE_HOME, "label")
- .returnRow(2, "456", 0, null, null, Phone.TYPE_WORK, null);
+ .returnRow(1, "123", 0, "account", null, Phone.TYPE_HOME, "label",
+ Phone.CONTENT_ITEM_TYPE)
+ .returnRow(2, "456", 0, null, null, Phone.TYPE_WORK, null,
+ Phone.CONTENT_ITEM_TYPE);
TestPhoneNumberInteraction interaction = new TestPhoneNumberInteraction(
mContext, InteractionType.PHONE_CALL, null);
@@ -224,7 +251,9 @@
RawContacts.ACCOUNT_TYPE,
RawContacts.DATA_SET,
Phone.TYPE,
- Phone.LABEL)
- .withSelection("mimetype='vnd.android.cursor.item/phone_v2' AND data1 NOT NULL");
+ Phone.LABEL,
+ Phone.MIMETYPE)
+ .withSelection("mimetype IN ('vnd.android.cursor.item/phone_v2',"
+ + " 'vnd.android.cursor.item/sip_address') AND data1 NOT NULL");
}
}
diff --git a/tests/src/com/android/contacts/tests/PhoneNumberTestService.java b/tests/src/com/android/contacts/tests/PhoneNumberTestService.java
new file mode 100644
index 0000000..894e66e
--- /dev/null
+++ b/tests/src/com/android/contacts/tests/PhoneNumberTestService.java
@@ -0,0 +1,116 @@
+/*
+ * Copyright (C) 2011 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.contacts.tests;
+
+import com.android.i18n.phonenumbers.NumberParseException;
+import com.android.i18n.phonenumbers.PhoneNumberUtil;
+import com.android.i18n.phonenumbers.PhoneNumberUtil.PhoneNumberFormat;
+import com.android.i18n.phonenumbers.Phonenumber.PhoneNumber;
+
+import android.app.IntentService;
+import android.content.Context;
+import android.content.Intent;
+import android.location.CountryDetector;
+import android.telephony.PhoneNumberUtils;
+import android.util.Log;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+
+/**
+ * A service to test various phone number formatters.
+ *
+ Usage:
+ adb shell am startservice -e n PHONE_NUMBER \
+ [-e c OPTIONAL COUNTRY CODE] \
+ com.android.contacts.tests/.PhoneNumberTestService
+
+ Example:
+
+ adb shell am startservice -e n '6502530000' \
+ com.android.contacts.tests/.PhoneNumberTestService
+ */
+public class PhoneNumberTestService extends IntentService {
+ private static final String TAG = "phonenumber";
+
+ private static final String EXTRA_PHONE_NUMBER = "n";
+ private static final String EXTRA_COUNTRY_CODE = "c";
+
+ public PhoneNumberTestService() {
+ super("PhoneNumberTestService");
+ }
+
+ @Override
+ protected void onHandleIntent(Intent intent) {
+ final String number = intent.getStringExtra(EXTRA_PHONE_NUMBER);
+ final String country = intent.getStringExtra(EXTRA_COUNTRY_CODE);
+ final String defaultCountry = getCurrentCountryCode();
+
+ Log.i(TAG, "Input phone number: " + number);
+ Log.i(TAG, "Input country code: " + country);
+ Log.i(TAG, "Current country code: " + defaultCountry);
+
+ // Dump for the given country, the current country, US, GB and JP.
+ Set<String> countries = new LinkedHashSet<String>();
+ if (country != null) countries.add(country);
+ countries.add(defaultCountry);
+ countries.add("US");
+ countries.add("GB");
+ countries.add("JP");
+
+ for (String c : countries) {
+ dump(number, c);
+ }
+ }
+
+ private void dump(String number, String country) {
+ Log.i(TAG, "Result for: " + number + " / " +country);
+ dump_PhoneNumberUtils_formatNumberToE164(number, country);
+ dump_PhoneNumberUtil_format(number, country, PhoneNumberFormat.E164);
+ dump_PhoneNumberUtil_format(number, country, PhoneNumberFormat.INTERNATIONAL);
+ dump_PhoneNumberUtil_format(number, country, PhoneNumberFormat.NATIONAL);
+ dump_PhoneNumberUtil_format(number, country, PhoneNumberFormat.RFC3966);
+ }
+
+ private void dump_PhoneNumberUtils_formatNumberToE164(String number, String country) {
+ Log.i(TAG, " formatNumberToE164(" + number + ", " + country
+ + ") = " + PhoneNumberUtils.formatNumberToE164(number, country));
+ }
+
+ private void dump_PhoneNumberUtil_format(String number, String country,
+ PhoneNumberFormat format) {
+ String formatted;
+ boolean isValid = false;
+ try {
+ final PhoneNumberUtil util = PhoneNumberUtil.getInstance();
+ final PhoneNumber pn = util.parse(number, country);
+ isValid = util.isValidNumber(pn);
+ formatted = util.format(pn, format);
+ } catch (NumberParseException e) {
+ formatted = "Error: " + e.toString();
+ }
+ Log.i(TAG, " PhoneNumberUtil.format(parse(" + number + ", " + country + "), " + format
+ + ") = " + formatted + (isValid ? " (valid)" : " (invalid)"));
+ }
+
+ private String getCurrentCountryCode() {
+ final CountryDetector countryDetector =
+ (CountryDetector) getSystemService(Context.COUNTRY_DETECTOR);
+ return countryDetector.detectCountry().getCountryIso();
+ }
+}
+
diff --git a/tests/src/com/android/contacts/tests/QueryService.java b/tests/src/com/android/contacts/tests/QueryService.java
new file mode 100644
index 0000000..04a95c5
--- /dev/null
+++ b/tests/src/com/android/contacts/tests/QueryService.java
@@ -0,0 +1,119 @@
+/*
+ * Copyright (C) 2011 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.contacts.tests;
+
+import android.app.IntentService;
+import android.content.Intent;
+import android.database.Cursor;
+import android.net.Uri;
+import android.text.TextUtils;
+import android.util.Log;
+
+/**
+ * A service that executes a query specified by an intent and dump the result on logcat. Use the
+ * "am" command to launch it.
+ *
+ Usage:
+ adb shell am startservice -d URI \
+ [-e p OPTIONAL PROJECTION] [-e s OPTIONAL SELECTION] [-e s OPTIONAL ORDER BY] \
+ com.android.contacts.tests/.QueryService
+
+ Example:
+
+ adb shell am startservice -d content://com.android.contacts/directories \
+ -e p accountName,accountType -e s 'accountName NOT NULL' -e o '_id' \
+ com.android.contacts.tests/.QueryService
+ */
+public class QueryService extends IntentService {
+ private static final String TAG = "contactsquery";
+
+ private static final String EXTRA_PROJECTION = "p";
+ private static final String EXTRA_SELECTION = "s";
+ private static final String EXTRA_ORDER = "o";
+ private static final String NULL_STRING = "*null*";
+ private static final String SEPARATOR = "|";
+
+ public QueryService() {
+ super("ContactsQueryService");
+ }
+
+ @Override
+ protected void onHandleIntent(Intent intent) {
+ final Uri uri = intent.getData();
+ // Unfortunately "am" doesn't support string arrays...
+ final String projection = intent.getStringExtra(EXTRA_PROJECTION);
+ final String selection = intent.getStringExtra(EXTRA_SELECTION);
+ final String order = intent.getStringExtra(EXTRA_ORDER);
+
+ Log.i(TAG, "URI: " + uri);
+ Log.i(TAG, "Projection: " + projection);
+ Log.i(TAG, "Selection: " + selection);
+
+ try {
+ Cursor c = getContentResolver().query(uri, parseProjection(projection), selection, null,
+ order);
+ if (c == null) {
+ Log.i(TAG, "(no results)");
+ return;
+ }
+ StringBuilder sb = new StringBuilder();
+ try {
+ Log.i(TAG, "Result count: " + c.getCount());
+
+ final int columnCount = c.getColumnCount();
+
+ sb.setLength(0);
+ for (int i = 0; i < columnCount; i++) {
+ add(sb, c.getColumnName(i));
+ }
+ Log.i(TAG, sb.toString());
+
+ c.moveToPosition(-1);
+ while (c.moveToNext()) {
+ sb.setLength(0);
+ for (int i = 0; i < columnCount; i++) {
+ add(sb, c.getString(i));
+ }
+ Log.i(TAG, sb.toString());
+ }
+ } finally {
+ c.close();
+ }
+ } catch (Exception e) {
+ Log.e(TAG, "Exeption while executing query", e);
+ }
+ }
+
+ private StringBuilder add(StringBuilder sb, String s) {
+ if (sb.length() > 0) {
+ sb.append(SEPARATOR);
+ }
+ sb.append(s == null ? NULL_STRING : s);
+ return sb;
+ }
+
+ private static String[] parseProjection(String projectionString) {
+ if (TextUtils.isEmpty(projectionString)) {
+ return null; // all columns
+ }
+ final String[] columns = projectionString.split(",");
+ if (columns.length == 0) {
+ return null; // all columns
+ }
+ return columns;
+ }
+}
diff --git a/tests/src/com/android/contacts/tests/mocks/MockContactPhotoManager.java b/tests/src/com/android/contacts/tests/mocks/MockContactPhotoManager.java
index 51c665f..67b7c0c 100644
--- a/tests/src/com/android/contacts/tests/mocks/MockContactPhotoManager.java
+++ b/tests/src/com/android/contacts/tests/mocks/MockContactPhotoManager.java
@@ -18,6 +18,7 @@
import com.android.contacts.ContactPhotoManager;
+import android.graphics.Bitmap;
import android.net.Uri;
import android.widget.ImageView;
@@ -56,6 +57,10 @@
}
@Override
+ public void cacheBitmap(Uri photoUri, Bitmap bitmap, byte[] photoBytes) {
+ }
+
+ @Override
public void preloadPhotosInBackground() {
}
}