diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 71a90eb..4cde2b7 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -15,9 +15,10 @@
 -->
 
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
-        package="com.android.contacts"
-        android:sharedUserId="android.uid.shared"
+    package="com.android.contacts"
+    android:sharedUserId="android.uid.shared"
 >
+
     <uses-permission android:name="android.permission.CALL_PRIVILEGED" />
     <uses-permission android:name="android.permission.READ_CONTACTS" />
     <uses-permission android:name="android.permission.WRITE_CONTACTS" />
@@ -25,6 +26,8 @@
     <uses-permission android:name="android.permission.READ_PHONE_STATE" />
     <uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />
     <uses-permission android:name="com.google.android.googleapps.permission.GOOGLE_AUTH.mail" />
+    <uses-permission android:name="android.permission.WAKE_LOCK" />
+    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
 
     <application
         android:label="@string/contactsList"
@@ -106,7 +109,7 @@
                 <category android:name="android.intent.category.BROWSABLE" />
             </intent-filter>
         </activity>
-        
+
         <!-- An empty activity that presents the DialtactActivity's Contacts tab -->
         <activity-alias android:name="DialtactsContactsEntryActivity"
             android:targetActivity="DialtactsActivity"
@@ -124,7 +127,7 @@
                 <category android:name="android.intent.category.DEFAULT" />
                 <data android:mimeType="vnd.android.cursor.dir/person" />
             </intent-filter>
-            
+
             <intent-filter>
                 <action android:name="com.android.contacts.action.FILTER_CONTACTS" />
                 <category android:name="android.intent.category.DEFAULT" />
@@ -142,7 +145,7 @@
                 <category android:name="android.intent.category.DEFAULT" />
             </intent-filter>
         </activity-alias>
-        
+
         <!-- The actual list of contacts, usually embedded in ContactsActivity -->
         <activity android:name="ContactsListActivity"
             android:label="@string/contactsList"
@@ -177,7 +180,7 @@
                 <category android:name="android.intent.category.DEFAULT" />
                 <category android:name="android.intent.category.TAB" />
             </intent-filter>
-            
+
             <intent-filter android:label="@string/frequentList">
                 <action android:name="com.android.contacts.action.LIST_FREQUENT" />
                 <category android:name="android.intent.category.DEFAULT" />
@@ -195,14 +198,7 @@
                 <category android:name="android.intent.category.DEFAULT" />
                 <data android:mimeType="vnd.android.cursor.item/person" />
             </intent-filter>
-<!--
-            <intent-filter android:label="Add To Contacts">
-                <action android:name="com.android.contacts.action.ADD_CONTACT" />
-                <category android:name="android.intent.category.SELECTED_ALTERNATIVE" />
-                <data android:scheme="mailto" />
-                <data android:scheme="tel" />
-            </intent-filter>
--->
+
             <intent-filter>
                 <action android:name="android.intent.action.PICK" />
                 <category android:name="android.intent.category.DEFAULT" />
@@ -251,6 +247,30 @@
 
         </activity-alias>
 
+        <activity-alias android:name="alias.DialShortcut"
+            android:targetActivity="ContactsListActivity"
+            android:label="@string/shortcutDialContact"
+            android:icon="@drawable/ic_launcher_shortcut_contact">
+
+            <intent-filter>
+                <action android:name="android.intent.action.CREATE_SHORTCUT" />
+                <category android:name="android.intent.category.DEFAULT" />
+            </intent-filter>
+
+        </activity-alias>
+
+        <activity-alias android:name="alias.MessageShortcut"
+            android:targetActivity="ContactsListActivity"
+            android:label="@string/shortcutMessageContact"
+            android:icon="@drawable/ic_launcher_shortcut_contact">
+
+            <intent-filter>
+                <action android:name="android.intent.action.CREATE_SHORTCUT" />
+                <category android:name="android.intent.category.DEFAULT" />
+            </intent-filter>
+
+        </activity-alias>
+
         <activity android:name="CallDetailActivity"
             android:label="@string/callDetailTitle"
             android:theme="@style/TallTitleBarTheme"
@@ -342,6 +362,9 @@
             </intent-filter>
         </activity>
 
+        <activity android:name=".ImportVCardActivity"
+            android:theme="@style/BackgroundOnly" />
+
     </application>
 </manifest>
 
diff --git a/res/drawable-finger/badge_action_call.png b/res/drawable-finger/badge_action_call.png
new file mode 100644
index 0000000..3bc88a3
--- /dev/null
+++ b/res/drawable-finger/badge_action_call.png
Binary files differ
diff --git a/res/drawable-finger/badge_action_sms.png b/res/drawable-finger/badge_action_sms.png
new file mode 100644
index 0000000..bbcfb59
--- /dev/null
+++ b/res/drawable-finger/badge_action_sms.png
Binary files differ
diff --git a/res/drawable-finger/ic_menu_export_contact.png b/res/drawable-finger/ic_menu_export_contact.png
new file mode 100644
index 0000000..d5b7554
--- /dev/null
+++ b/res/drawable-finger/ic_menu_export_contact.png
Binary files differ
diff --git a/res/layout-finger/contacts_list_content.xml b/res/layout-finger/contacts_list_content.xml
index 32b7ffc..1f37dcf 100644
--- a/res/layout-finger/contacts_list_content.xml
+++ b/res/layout-finger/contacts_list_content.xml
@@ -4,9 +4,9 @@
      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.
@@ -20,7 +20,7 @@
         android:orientation="vertical">
 
     <ListView android:id="@android:id/list"
-            android:layout_width="fill_parent" 
+            android:layout_width="fill_parent"
             android:layout_height="fill_parent"
             android:fastScrollEnabled="true"
     />
diff --git a/res/layout-finger/contacts_list_item.xml b/res/layout-finger/contacts_list_item.xml
index e695f90..713ac33 100644
--- a/res/layout-finger/contacts_list_item.xml
+++ b/res/layout-finger/contacts_list_item.xml
@@ -44,7 +44,6 @@
         android:layout_marginTop="-8dip"
 
         android:singleLine="true"
-        android:ellipsize="marquee"
         android:textAppearance="?android:attr/textAppearanceSmall"
         android:textStyle="bold"
     />
diff --git a/res/layout-finger/dialpad.xml b/res/layout-finger/dialpad.xml
index 30018f0..8f367e5 100644
--- a/res/layout-finger/dialpad.xml
+++ b/res/layout-finger/dialpad.xml
@@ -27,6 +27,7 @@
             android:src="@drawable/dial_num_1"
             android:background="@drawable/btn_dial"
             android:soundEffectsEnabled="false"
+            android:contentDescription="@string/description_image_button_one"
         />
             
         <ImageButton android:id="@+id/two"
@@ -35,6 +36,7 @@
             android:src="@drawable/dial_num_2"
             android:background="@drawable/btn_dial"
             android:soundEffectsEnabled="false"
+            android:contentDescription="@string/description_image_button_two"
         />
 
         <ImageButton android:id="@+id/three"
@@ -43,6 +45,7 @@
             android:src="@drawable/dial_num_3"
             android:background="@drawable/btn_dial"
             android:soundEffectsEnabled="false"
+            android:contentDescription="@string/description_image_button_three"
         />
 
         <ImageButton android:id="@+id/four"
@@ -51,6 +54,7 @@
             android:src="@drawable/dial_num_4"
             android:background="@drawable/btn_dial"
             android:soundEffectsEnabled="false"
+            android:contentDescription="@string/description_image_button_four"
         />
         
         <ImageButton android:id="@+id/five"
@@ -59,6 +63,7 @@
             android:src="@drawable/dial_num_5"
             android:background="@drawable/btn_dial"
             android:soundEffectsEnabled="false"
+            android:contentDescription="@string/description_image_button_five"
         />
 
         <ImageButton android:id="@+id/six"
@@ -67,6 +72,7 @@
             android:src="@drawable/dial_num_6"
             android:background="@drawable/btn_dial"
             android:soundEffectsEnabled="false"
+            android:contentDescription="@string/description_image_button_six"
         />
 
         <ImageButton android:id="@+id/seven"
@@ -75,6 +81,7 @@
             android:src="@drawable/dial_num_7"
             android:background="@drawable/btn_dial"
             android:soundEffectsEnabled="false"
+            android:contentDescription="@string/description_image_button_seven"
         />
     
         <ImageButton android:id="@+id/eight"
@@ -83,6 +90,7 @@
             android:src="@drawable/dial_num_8"
             android:background="@drawable/btn_dial"
             android:soundEffectsEnabled="false"
+            android:contentDescription="@string/description_image_button_eight"
         />
 
         <ImageButton android:id="@+id/nine"
@@ -91,6 +99,7 @@
             android:src="@drawable/dial_num_9"
             android:background="@drawable/btn_dial"
             android:soundEffectsEnabled="false"
+            android:contentDescription="@string/description_image_button_nine"
         />
 
         <ImageButton android:id="@+id/star"
@@ -99,6 +108,7 @@
             android:src="@drawable/dial_num_star"
             android:background="@drawable/btn_dial"
             android:soundEffectsEnabled="false"
+            android:contentDescription="@string/description_image_button_star"
         />
     
         <ImageButton android:id="@+id/zero"
@@ -107,6 +117,7 @@
             android:src="@drawable/dial_num_0"
             android:background="@drawable/btn_dial"
             android:soundEffectsEnabled="false"
+            android:contentDescription="@string/description_image_button_zero"
         />
 
         <ImageButton android:id="@+id/pound"
@@ -115,5 +126,6 @@
             android:src="@drawable/dial_num_pound"
             android:background="@drawable/btn_dial"
             android:soundEffectsEnabled="false"
+            android:contentDescription="@string/description_image_button_pound"
         />
 </com.android.contacts.ButtonGridLayout>
diff --git a/res/layout-finger/edit_contact_entry_group.xml b/res/layout-finger/edit_contact_entry_group.xml
new file mode 100644
index 0000000..b233ca8
--- /dev/null
+++ b/res/layout-finger/edit_contact_entry_group.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2008 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.
+-->
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/entry_group"
+    android:layout_width="fill_parent"
+    android:layout_height="wrap_content"
+    android:paddingRight="?android:attr/scrollbarSize"
+    android:minHeight="?android:attr/listPreferredItemHeight"
+    android:background="@android:drawable/list_selector_background"
+    android:orientation="horizontal"
+    android:gravity="center_vertical"
+    android:focusable="true"
+    android:clickable="true"
+    >
+
+    <RelativeLayout
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginLeft="14dip"
+        android:layout_marginTop="6dip"
+        android:layout_marginBottom="6dip"
+        android:layout_weight="1"
+        android:duplicateParentState="true"
+        >
+
+        <TextView android:id="@+id/label"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:singleLine="true"
+            android:textAppearance="?android:attr/textAppearanceMedium"
+            android:ellipsize="marquee"
+            android:fadingEdge="horizontal"
+            android:duplicateParentState="true"
+            />
+
+        <TextView android:id="@+id/data"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_below="@+id/label"
+            android:layout_alignLeft="@+id/label"
+            android:textAppearance="?android:attr/textAppearanceSmall"
+            android:singleLine="true"
+            android:ellipsize="marquee"
+            android:duplicateParentState="true"
+            />
+
+    </RelativeLayout>
+
+    <ImageView
+        style="@style/MoreButton"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        />
+
+</LinearLayout>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index e48a2d9..3c4ca0e 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -18,6 +18,11 @@
     <string name="contactsList">"Kontakty"</string>
     <string name="launcherDialer">"Vytáčení"</string>
     <string name="shortcutContact">"Kontakt"</string>
+    <string name="shortcutDialContact">"Přímé vytáčení"</string>
+    <string name="shortcutMessageContact">"Přímá zpráva"</string>
+    <string name="shortcutActivityTitle">"Výběr zkratky kontaktu"</string>
+    <string name="callShortcutActivityTitle">"Výběr čísla pro hovor"</string>
+    <string name="messageShortcutActivityTitle">"Výběr čísla pro zprávu"</string>
     <string name="starredList">"Označené hvězdičkou"</string>
     <string name="frequentList">"Časté"</string>
     <string name="strequentList">"Oblíbené"</string>
@@ -168,4 +173,55 @@
     <string name="favoritesFrquentSeparator">"Často volané"</string>
     <string name="add_contact_dlg_title">"Přidat kontakt"</string>
     <string name="add_contact_dlg_message_fmt">"Chcete přidat „<xliff:g id="EMAIL">%s</xliff:g>“ do kontaktů?"</string>
+    <string name="description_image_button_one">"jedna"</string>
+    <string name="description_image_button_two">"dvě"</string>
+    <string name="description_image_button_three">"tři"</string>
+    <string name="description_image_button_four">"čtyři"</string>
+    <string name="description_image_button_five">"pět"</string>
+    <string name="description_image_button_six">"šest"</string>
+    <string name="description_image_button_seven">"sedm"</string>
+    <string name="description_image_button_eight">"osm"</string>
+    <string name="description_image_button_nine">"devět"</string>
+    <string name="description_image_button_star">"hvězdička"</string>
+    <string name="description_image_button_zero">"nula"</string>
+    <string name="description_image_button_pound">"libra"</string>
+    <string name="no_sdcard_title">"Žádná karta SD"</string>
+    <string name="no_sdcard_message">"Nebyla zjištěna žádná karta SD"</string>
+    <string name="searching_vcard_title">"Vyhledávání karty VCard"</string>
+    <string name="select_import_type_title">"Odkud chcete kontakty importovat?"</string>
+    <string name="import_from_sim">"Karta SIM"</string>
+    <string name="import_from_sdcard">"Karta SD"</string>
+    <string name="import_all_vcard_string">"Importovat všechny soubory VCard"</string>
+    <string name="import_one_vcard_string">"Importovat jeden soubor karty VCard"</string>
+    <string name="searching_vcard_message">"Vyhledávání dat karty VCard na kartě VCard"</string>
+    <string name="scanning_sdcard_failed_title">"Vyhledávání na kartě SD se nezdařilo"</string>
+    <string name="scanning_sdcard_failed_message">"Vyhledávání na kartě SD se nezdařilo"</string>
+    <string name="fail_reason_io_error">"Chyba V/V"</string>
+    <string name="fail_reason_vcard_parse_error">"Analýza karty VCard se nezdařila"</string>
+    <string name="fail_reason_no_vcard_file">"Na kartě SD nebyl nalezen žádný soubor karty VCard"</string>
+    <string name="fail_reason_no_vcard_entry">"Pro daný výběr nebyla nalezena žádná položka karty VCard"</string>
+    <string name="select_vcard_title">"Výběr souboru VCard"</string>
+    <string name="select_vcard_message">"Vyberte soubor karty VCard k importu"</string>
+    <string name="reading_vcard_title">"Čtení karty VCard"</string>
+    <string name="reading_vcard_message">"Čtení souborů karty VCard"</string>
+    <string name="importing_vcard_message">"Probíhá import dat na kartě VCard"</string>
+    <string name="reading_vcard_failed_title">"Čtení dat karty VCard se nezdařilo"</string>
+    <string name="reading_vcard_failed_message">"Data na kartě VCard nelze přečíst."\n"Důvod selhání: <xliff:g id="FAIL_REASON">%s</xliff:g>"</string>
+    <string name="reading_vcard_contacts">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> z <xliff:g id="TOTAL_NUMBER">%s</xliff:g> kontaktů"</string>
+    <string name="reading_vcard_files">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> z <xliff:g id="TOTAL_NUMBER">%s</xliff:g> souborů"</string>
+    <string name="export_contact_list">"Export kontaktů"</string>
+    <string name="confirm_export_title">"Potvrzení exportu"</string>
+    <string name="confirm_export_message">"Mají se kontakty exportovat do souboru <xliff:g id="VCARD_FILENAME">%s</xliff:g>?"</string>
+    <string name="exporting_contact_failed_title">"Export dat kontaktů se nezdařil"</string>
+    <string name="exporting_contact_failed_message">"Export dat kontaktů se nezdařil"\n"Důvod selhání: <xliff:g id="FAIL_REASON">%s</xliff:g>"</string>
+    <string name="fail_reason_too_many_vcard">"Na kartě SD je příliš mnoho dat karty VCard"</string>
+    <string name="fail_reason_cannot_open_destination_dir">"Cílový adresář <xliff:g id="DIR_NAME">%s</xliff:g> nelze otevřít nebo vytvořit."</string>
+    <string name="exporting_contact_list_title">"Export dat kontaktů"</string>
+    <string name="exporting_contact_list_message">"Probíhá export dat kontaktů do souboru <xliff:g id="FILE_NAME">%s</xliff:g>"</string>
+    <string name="fail_reason_could_not_initialize_exporter">"Nelze spustit exportní program: <xliff:g id="EXACT_REASON">%s</xliff:g>"</string>
+    <string name="fail_reason_error_occurred_during_export">"Při exportu došlo k chybě: <xliff:g id="EXACT_REASON">%s</xliff:g>"</string>
+    <string name="fail_reason_could_not_open_file">"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">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> z <xliff:g id="TOTAL_NUMBER">%s</xliff:g> kontaktů"</string>
+    <!-- no translation found for search_settings_description (1422183266726984096) -->
+    <skip />
 </resources>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
new file mode 100644
index 0000000..e773e5d
--- /dev/null
+++ b/res/values-da/strings.xml
@@ -0,0 +1,257 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2009 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="contactsList">"Kontaktpersoner"</string>
+    <string name="launcherDialer">"Opkald"</string>
+    <string name="shortcutContact">"Kontaktperson"</string>
+    <!-- no translation found for shortcutDialContact (7165340343023469996) -->
+    <skip />
+    <!-- no translation found for shortcutMessageContact (3025782962770298900) -->
+    <skip />
+    <!-- no translation found for shortcutActivityTitle (6642877210643565436) -->
+    <skip />
+    <!-- no translation found for callShortcutActivityTitle (6065749861423648991) -->
+    <skip />
+    <!-- no translation found for messageShortcutActivityTitle (3084542316620335911) -->
+    <skip />
+    <string name="starredList">"Stjernemarkerede"</string>
+    <string name="frequentList">"Ofte"</string>
+    <string name="strequentList">"Favoritter"</string>
+    <string name="viewContactTitle">"Kontaktoplysninger"</string>
+    <string name="viewContactDesription">"Vis kontaktperson"</string>
+    <string name="editContactDescription">"Rediger kontaktperson"</string>
+    <string name="insertContactDescription">"Opret kontaktperson"</string>
+    <string name="searchHint">"Søg i kontaktpersoner"</string>
+    <string name="menu_search">"Søg"</string>
+    <string name="menu_newContact">"Ny kontaktperson"</string>
+    <string name="menu_viewContact">"Vis kontaktperson"</string>
+    <string name="menu_callNumber">"Ring til <xliff:g id="NAME">%s</xliff:g>"</string>
+    <string name="menu_addStar">"Føj til favoritter"</string>
+    <string name="menu_removeStar">"Fjern fra favoritter"</string>
+    <string name="menu_showBarcode">"Vis stregkode"</string>
+    <string name="menu_editContact">"Rediger kontaktperson"</string>
+    <string name="menu_deleteContact">"Slet kontaktperson"</string>
+    <string name="menu_call">"Opkald"</string>
+    <string name="menu_sendSMS">"Send SMS/MMS"</string>
+    <string name="menu_sendEmail">"Send e-mail"</string>
+    <string name="menu_viewAddress">"Kortadresse"</string>
+    <string name="menu_makeDefaultNumber">"Gør til standardnummer"</string>
+    <string name="deleteConfirmation_title">"Slet"</string>
+    <string name="deleteConfirmation">"Denne kontaktperson slettes"</string>
+    <string name="menu_done">"Færdig"</string>
+    <string name="menu_doNotSave">"Vend tilbage"</string>
+    <string name="editContact_title_edit">"Rediger kontaktperson"</string>
+    <string name="editContact_title_insert">"Ny kontaktperson"</string>
+    <string name="menu_addItem">"Få flere oplysninger"</string>
+    <string name="label_phonetic_name">"Fonetisk"</string>
+    <string name="label_notes">"Noter"</string>
+    <string name="label_ringtone">"Ringetone"</string>
+    <string name="ghostData_name">"Første og sidste"</string>
+    <string name="ghostData_phonetic_name">"Fonetisk navn"</string>
+    <string name="ghostData_company">"Virksomhed"</string>
+    <string name="ghostData_title">"Position"</string>
+    <string name="ghostData_im">"IM-navn"</string>
+    <string name="ghostData_notes">"Min note"</string>
+    <string name="ghostData_phone">"Telefonnummer"</string>
+    <string name="ghostData_email">"E-mail-adresse"</string>
+    <string name="ghostData_postal">"Postadresse"</string>
+    <string name="invalidContactMessage">"Kontaktpersonen eksisterer ikke."</string>
+    <string name="pickerNewContactHeader">"Opret ny kontaktperson"</string>
+    <string name="selectLabel">"Vælg etiket"</string>
+    <string name="phoneLabelsGroup">"Telefon"</string>
+    <string name="emailLabelsGroup">"E-mail"</string>
+    <string name="imLabelsGroup">"IM"</string>
+    <string name="postalLabelsGroup">"Postadresse"</string>
+    <string name="otherLabelsGroup">"Andre"</string>
+  <string-array name="otherLabels">
+    <item>"Organisation"</item>
+    <item>"Note"</item>
+  </string-array>
+    <string name="errorDialogTitle">"Der er ingen billeder"</string>
+    <string name="photoPickerNotFoundText">"Der er ingen tilgængelige billeder på telefonen."</string>
+    <string name="attachToContact">"Kontaktpersonikon"</string>
+    <string name="customLabelPickerTitle">"Navn på tilpasset etiket"</string>
+    <string name="menu_displayGroup">"Vis grupper"</string>
+    <string name="syncGroupPreference">"Rediger grupper, der skal synkroniseres"</string>
+    <string name="importFromSim">"Importer kontaktpersoner"</string>
+    <string name="send_to_voicemail_checkbox">"Send opkald direkte til voicemail"</string>
+    <string name="send_to_voicemail_view">"Opkald sendes direkte til voicemail."</string>
+    <string name="default_ringtone">"Standard"</string>
+    <string name="addPicture">"Tilføj ikon"</string>
+    <string name="removePicture">"Fjern ikon"</string>
+    <string name="noContacts">"Der er ingen kontaktpersoner."</string>
+    <string name="noContactsWithPhoneNumbers">"Der er ingen kontaktpersoner med telefonnumre."</string>
+    <string name="noFavorites">"Der er ingen favoritter."</string>
+    <string name="select_group_title">"Grupper"</string>
+    <string name="groupEmpty">"Din gruppe \"<xliff:g id="GROUPNAME">%s</xliff:g>\" er tom."</string>
+    <string name="showAllGroups">"Alle kontaktpersoner"</string>
+    <string name="syncAllGroups">"Synkroniser alle kontaktpersoner"</string>
+    <string name="groupNameMyContacts">"Mine kontaktpersoner"</string>
+    <string name="groupNameWithPhones">"Kontaktpersoner med telefonnumre"</string>
+    <string name="starredInAndroid">"Stjernemarkerede i Android"</string>
+    <string name="contactCreatedToast">"Kontaktperson oprettet."</string>
+    <string name="contactSavedToast">"Kontaktpersonen er gemt."</string>
+    <string name="listSeparatorCallNumber">"Ring til nummer"</string>
+    <string name="listSeparatorCallNumber_edit">"Telefonnumre"</string>
+    <string name="listSeparatorSendSmsMms">"Send SMS/MMS"</string>
+    <string name="listSeparatorSendEmail">"Send e-mail"</string>
+    <string name="listSeparatorSendEmail_edit">"E-mail-adresser"</string>
+    <string name="listSeparatorSendIm">"Send chatbesked"</string>
+    <string name="listSeparatorSendIm_edit">"Chatadresser"</string>
+    <string name="listSeparatorMapAddress">"Kortadresse"</string>
+    <string name="listSeparatorMapAddress_edit">"Postadresse"</string>
+    <string name="listSeparatorOrganizations">"Organisationer"</string>
+    <string name="listSeparatorOtherInformation">"Andre oplysninger"</string>
+    <string name="listSeparatorOtherInformation_edit">"Andre valgmuligheder"</string>
+    <string name="listSeparatorMore_edit">"Flere"</string>
+    <string name="contactsIconLabel">"Kontaktpersoner"</string>
+    <string name="contactsFavoritesLabel">"Favoritter"</string>
+    <string name="dialerIconLabel">"Opkald"</string>
+    <string name="recentCallsIconLabel">"Opkaldsliste"</string>
+    <string name="liveFolderAll">"Alle kontaktpersoner"</string>
+    <string name="liveFolderFavorites">"Stjernemarkerede kontaktpersoner"</string>
+    <string name="liveFolderPhone">"Kontaktpersoner med telefonnumre"</string>
+    <string name="menu_sendTextMessage">"Send SMS"</string>
+    <string name="recentCalls_callNumber">"Ring til <xliff:g id="NAME">%s</xliff:g>"</string>
+    <string name="recentCalls_editNumberBeforeCall">"Rediger nummer inden opkald"</string>
+    <string name="recentCalls_addToContact">"Føj til kontaktpersoner"</string>
+    <string name="recentCalls_removeFromRecentList">"Fjern fra opkaldsliste"</string>
+    <string name="recentCalls_deleteAll">"Ryd opkaldsliste"</string>
+    <string name="recentCalls_empty">"Opkaldsliste er tom."</string>
+    <string name="imei">"IMEI"</string>
+    <string name="voicemail">"Voicemail"</string>
+    <string name="unknown">"Ukendte"</string>
+    <string name="private_num">"Privat nummer"</string>
+    <string name="payphone">"Betalingstelefon"</string>
+    <string name="dialerKeyboardHintText">"Brug tastatur til at ringe op"</string>
+    <string name="dialerDialpadHintText">"Ring for at tilføje et opkald"</string>
+    <string name="simContacts_emptyLoading">"Indlæser fra SIM-kort ..."</string>
+    <string name="simContacts_title">"Kontaktpersoner på SIM-kort"</string>
+    <string name="contactsSyncPlug"><font fgcolor="#ffffffff">"Synkroniser dine Google-kontaktpersoner!"</font>\n"Når du har synkroniseret din telefon, bliver dine kontaktpersoner tilgængelige, uanset hvor du befinder dig."</string>
+    <string name="noContactsHelpText">"Du har ingen kontaktpersoner."\n\n"For at tilføje kontaktpersoner skal du trykke på "<font fgcolor="#ffffffff"><b>"Menu"</b></font>" og vælge:"\n" "\n<li><font fgcolor="#ffffffff"><b>"Ny kontaktperson"</b></font>" for at oprette en ny kontaktperson fra bunden"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Importer kontaktpersoner"</b></font>" for at tilføje kontaktpersoner fra dit SIM-kort"\n</li></string>
+    <string name="noContactsHelpTextWithSync">"Du har ingen kontaktpersoner."\n\n"For at tilføje kontaktpersoner skal du trykke på "<font fgcolor="#ffffffff"><b>"Menu"</b></font>" og vælge:"\n" "\n<li><font fgcolor="#ffffffff"><b>"Rediger grupper, der skal synkroniseres"</b></font>", for at tilføje fra en ny eller eksisterende Google-konto"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Ny kontaktperson"</b></font>" for at oprette en ny kontaktperson fra bunden"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Importer kontaktpersoner"</b></font>" for at tilføje kontaktpersoner fra dit SIM-kort"\n</li></string>
+    <string name="seclectSyncGroups_title">"Vælg grupper, der skal synkroniseres"</string>
+    <string name="liveFolder_all_label">"Alle kontaktpersoner"</string>
+    <string name="liveFolder_favorites_label">"Stjernemarkerede"</string>
+    <string name="liveFolder_phones_label">"Telefoner"</string>
+    <string name="dialer_useDtmfDialpad">"Brug touch-tone-tastatur"</string>
+    <string name="dialer_returnToInCallScreen">"Vend tilbage til igangværende opkald"</string>
+    <string name="dialer_addAnotherCall">"Tilføj opkald"</string>
+    <string name="callDetailTitle">"Opkaldsdetaljer"</string>
+    <string name="toast_call_detail_error">"Detaljerne for det anmodede opkald kunne ikke læses."</string>
+    <string name="call_type">"Type"</string>
+    <string name="type_incoming">"Indgående opkald"</string>
+    <string name="type_outgoing">"Udgående opkald"</string>
+    <string name="type_missed">"Ubesvarede opkald"</string>
+    <string name="call_time">"Tid"</string>
+    <string name="datetime_relative">"<xliff:g id="DATETIME">%1$s</xliff:g> (<xliff:g id="RELATIVE">%2$s</xliff:g>)"</string>
+    <string name="call_duration">"Varighed"</string>
+    <string name="header_actions">"Handlinger"</string>
+    <string name="ringtone_spinner">"Ringetone: <xliff:g id="RINGTONE">%1$s</xliff:g>"</string>
+    <string name="add_more_items">"Tilføj flere emner"</string>
+    <string name="actionCall">"Ring til <xliff:g id="TYPE">%s</xliff:g>"</string>
+    <string name="actionEmail">"E-mail <xliff:g id="TYPE">%s</xliff:g>"</string>
+    <string name="actionText">"Tekst <xliff:g id="TYPE">%s</xliff:g>"</string>
+    <string name="actionChat">"Chat ved hjælp af <xliff:g id="TYPE">%s</xliff:g>"</string>
+    <string name="actionMap">"Vis <xliff:g id="TYPE">%s</xliff:g> adresse"</string>
+    <string name="actionIncomingCall">"Indgående opkald"</string>
+    <string name="detailIncomingCallsGoToVoicemail">"Sendes direkte til voicemail"</string>
+    <string name="detailsRingtone">"Indstil til <xliff:g id="RINGTONE_NAME">%s</xliff:g>"</string>
+    <string name="callBack">"Ring tilbage"</string>
+    <string name="callAgain">"Ring op igen"</string>
+    <string name="returnCall">"Returner opkald"</string>
+    <string name="callDetailsDurationFormat">"<xliff:g id="MINUTES">%s</xliff:g> min. <xliff:g id="SECONDS">%s</xliff:g> sek."</string>
+    <string name="favoritesFrquentSeparator">"Ofte ringet til"</string>
+    <string name="add_contact_dlg_title">"Tilføj kontaktperson"</string>
+    <string name="add_contact_dlg_message_fmt">"Føj \"<xliff:g id="EMAIL">%s</xliff:g>\" til kontaktpersoner?"</string>
+    <!-- no translation found for description_image_button_one (1740638037139856139) -->
+    <skip />
+    <!-- no translation found for description_image_button_two (5882638439003731308) -->
+    <skip />
+    <!-- no translation found for description_image_button_three (8709731759376015180) -->
+    <skip />
+    <!-- no translation found for description_image_button_four (3530239685642246130) -->
+    <skip />
+    <!-- no translation found for description_image_button_five (1182465427501188413) -->
+    <skip />
+    <!-- no translation found for description_image_button_six (2093656269261415475) -->
+    <skip />
+    <!-- no translation found for description_image_button_seven (2450357020447676481) -->
+    <skip />
+    <!-- no translation found for description_image_button_eight (6969435115163287801) -->
+    <skip />
+    <!-- no translation found for description_image_button_nine (7857248695662558323) -->
+    <skip />
+    <!-- no translation found for description_image_button_star (3365919907520767866) -->
+    <skip />
+    <!-- no translation found for description_image_button_zero (4133108949401820710) -->
+    <skip />
+    <!-- no translation found for description_image_button_pound (3039765597595889230) -->
+    <skip />
+    <string name="no_sdcard_title">"Der er ikke noget SD-kort"</string>
+    <string name="no_sdcard_message">"Der blev ikke fundet noget SD-kort"</string>
+    <string name="searching_vcard_title">"Søger efter VCard"</string>
+    <string name="select_import_type_title">"Hvor ønsker du at importere kontaktpersoner fra?"</string>
+    <string name="import_from_sim">"SIM-kort"</string>
+    <string name="import_from_sdcard">"SD-kort"</string>
+    <string name="import_all_vcard_string">"Importer alle VCard-filer"</string>
+    <string name="import_one_vcard_string">"Importer en VCard-fil"</string>
+    <string name="searching_vcard_message">"Søger efter VCard-data på VCard"</string>
+    <string name="scanning_sdcard_failed_title">"Scanningen af SD-kortet mislykkedes"</string>
+    <string name="scanning_sdcard_failed_message">"Scanningen af SD-kortet mislykkedes"</string>
+    <string name="fail_reason_io_error">"I/O-fejl"</string>
+    <string name="fail_reason_vcard_parse_error">"VCard kunne ikke parses"</string>
+    <string name="fail_reason_no_vcard_file">"Der blev ikke fundet noget VCard på SD-kortet"</string>
+    <string name="fail_reason_no_vcard_entry">"Der blev ikke fundet nogen gyldig VCard-post til dit udvalg"</string>
+    <string name="select_vcard_title">"Vælg VCard-fil"</string>
+    <string name="select_vcard_message">"Vælg en VCard-fil, der skal importeres"</string>
+    <string name="reading_vcard_title">"Læser VCard"</string>
+    <string name="reading_vcard_message">"Læser VCard-fil(er)"</string>
+    <string name="importing_vcard_message">"Importerer VCard-data"</string>
+    <string name="reading_vcard_failed_title">"Læsning af VCard-data mislykkedes"</string>
+    <string name="reading_vcard_failed_message">"VCard-data kunne ikke læses"\n"Årsag til fejl: \"<xliff:g id="FAIL_REASON">%s</xliff:g>\""</string>
+    <string name="reading_vcard_contacts">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> af <xliff:g id="TOTAL_NUMBER">%s</xliff:g> kontaktpersoner"</string>
+    <string name="reading_vcard_files">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> af <xliff:g id="TOTAL_NUMBER">%s</xliff:g> filer"</string>
+    <!-- no translation found for export_contact_list (3165097742175874384) -->
+    <skip />
+    <!-- no translation found for confirm_export_title (1693047909433122854) -->
+    <skip />
+    <!-- no translation found for confirm_export_message (63482084706768079) -->
+    <skip />
+    <!-- no translation found for exporting_contact_failed_title (1455264422455075858) -->
+    <skip />
+    <!-- no translation found for exporting_contact_failed_message (1426451081541603512) -->
+    <skip />
+    <!-- no translation found for fail_reason_too_many_vcard (5416992255233341607) -->
+    <skip />
+    <!-- no translation found for fail_reason_cannot_open_destination_dir (1739293936432987758) -->
+    <skip />
+    <!-- no translation found for exporting_contact_list_title (9072240631534457415) -->
+    <skip />
+    <!-- no translation found for exporting_contact_list_message (5640326540405486055) -->
+    <skip />
+    <!-- no translation found for fail_reason_could_not_initialize_exporter (4943708332700987376) -->
+    <skip />
+    <!-- no translation found for fail_reason_error_occurred_during_export (2151165129433831202) -->
+    <skip />
+    <!-- no translation found for fail_reason_could_not_open_file (4013520943128739511) -->
+    <skip />
+    <!-- no translation found for exporting_contact_list_progress (560522409559101193) -->
+    <skip />
+    <!-- no translation found for search_settings_description (1422183266726984096) -->
+    <skip />
+</resources>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index af63274..a92a8f8 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -18,6 +18,11 @@
     <string name="contactsList">"Kontakte"</string>
     <string name="launcherDialer">"Telefon"</string>
     <string name="shortcutContact">"Kontakt"</string>
+    <string name="shortcutDialContact">"Direktwahl"</string>
+    <string name="shortcutMessageContact">"Direktnachricht"</string>
+    <string name="shortcutActivityTitle">"Verknüpfung für Kontakt auswählen"</string>
+    <string name="callShortcutActivityTitle">"Nummer für den Anruf auswählen"</string>
+    <string name="messageShortcutActivityTitle">"Nummer für Nachricht auswählen"</string>
     <string name="starredList">"Markiert"</string>
     <string name="frequentList">"Häufig"</string>
     <string name="strequentList">"Favoriten"</string>
@@ -168,4 +173,55 @@
     <string name="favoritesFrquentSeparator">"Häufig angerufen"</string>
     <string name="add_contact_dlg_title">"Kontakt hinzufügen"</string>
     <string name="add_contact_dlg_message_fmt">"\"<xliff:g id="EMAIL">%s</xliff:g>\" zu den Kontakten hinzufügen?"</string>
+    <string name="description_image_button_one">"eins"</string>
+    <string name="description_image_button_two">"zwei"</string>
+    <string name="description_image_button_three">"drei"</string>
+    <string name="description_image_button_four">"vier"</string>
+    <string name="description_image_button_five">"fünf"</string>
+    <string name="description_image_button_six">"sechs"</string>
+    <string name="description_image_button_seven">"sieben"</string>
+    <string name="description_image_button_eight">"acht"</string>
+    <string name="description_image_button_nine">"neun"</string>
+    <string name="description_image_button_star">"Markierung"</string>
+    <string name="description_image_button_zero">"null"</string>
+    <string name="description_image_button_pound">"Pfund"</string>
+    <string name="no_sdcard_title">"Keine SD-Karte"</string>
+    <string name="no_sdcard_message">"Keine SD-Karte gefunden"</string>
+    <string name="searching_vcard_title">"VCard wird gesucht."</string>
+    <string name="select_import_type_title">"Aus welcher Quelle möchten Sie Kontakte importieren?"</string>
+    <string name="import_from_sim">"SIM-Karte"</string>
+    <string name="import_from_sdcard">"SD-Karte"</string>
+    <string name="import_all_vcard_string">"Alle VCard-Dateien importieren"</string>
+    <string name="import_one_vcard_string">"Eine VCard-Datei importieren"</string>
+    <string name="searching_vcard_message">"VCard-Daten werden auf VCard gesucht."</string>
+    <string name="scanning_sdcard_failed_title">"Fehler beim Lesen der SD-Karte"</string>
+    <string name="scanning_sdcard_failed_message">"Fehler beim Lesen der SD-Karte"</string>
+    <string name="fail_reason_io_error">"E/A-Fehler"</string>
+    <string name="fail_reason_vcard_parse_error">"Fehler beim Parsen der VCard"</string>
+    <string name="fail_reason_no_vcard_file">"Keine VCard-Datei auf SD-Karte gefunden"</string>
+    <string name="fail_reason_no_vcard_entry">"Es wurde kein gültiger VCard-Eintrag für Ihre Auswahl gefunden."</string>
+    <string name="select_vcard_title">"VCard-Datei auswählen"</string>
+    <string name="select_vcard_message">"Wählen Sie eine VCard-Datei für den Import aus."</string>
+    <string name="reading_vcard_title">"VCard wird gelesen."</string>
+    <string name="reading_vcard_message">"VCard-Dateien werden gelesen."</string>
+    <string name="importing_vcard_message">"VCard-Daten werden importiert."</string>
+    <string name="reading_vcard_failed_title">"Fehler beim Lesen der VCard-Daten"</string>
+    <string name="reading_vcard_failed_message">"VCard-Daten konnten nicht gelesen werden."\n"Grund für den Fehler: \"<xliff:g id="FAIL_REASON">%s</xliff:g>\""</string>
+    <string name="reading_vcard_contacts">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> von <xliff:g id="TOTAL_NUMBER">%s</xliff:g> Kontakten"</string>
+    <string name="reading_vcard_files">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> von <xliff:g id="TOTAL_NUMBER">%s</xliff:g> Dateien"</string>
+    <string name="export_contact_list">"Kontakte exportieren"</string>
+    <string name="confirm_export_title">"Bestätigung des Exports"</string>
+    <string name="confirm_export_message">"Soll Ihre Kontaktliste in \"<xliff:g id="VCARD_FILENAME">%s</xliff:g>\" exportiert werden?"</string>
+    <string name="exporting_contact_failed_title">"Fehler beim Exportieren der Kontaktdaten"</string>
+    <string name="exporting_contact_failed_message">"Kontaktdaten konnten nicht exportiert werden."\n"Grund für den Fehler: \"<xliff:g id="FAIL_REASON">%s</xliff:g>\""</string>
+    <string name="fail_reason_too_many_vcard">"Zu viele VCard-Daten auf der SD-Karte"</string>
+    <string name="fail_reason_cannot_open_destination_dir">"Zielverzeichnis \"<xliff:g id="DIR_NAME">%s</xliff:g>\" kann nicht geöffnet oder erstellt werden."</string>
+    <string name="exporting_contact_list_title">"Kontaktdaten werden exportiert."</string>
+    <string name="exporting_contact_list_message">"Kontaktdaten werden in \"<xliff:g id="FILE_NAME">%s</xliff:g>\" exportiert."</string>
+    <string name="fail_reason_could_not_initialize_exporter">"Exportprogramm konnte nicht initialisiert werden: \"<xliff:g id="EXACT_REASON">%s</xliff:g>\""</string>
+    <string name="fail_reason_error_occurred_during_export">"Fehler beim Exportieren: \"<xliff:g id="EXACT_REASON">%s</xliff:g>\""</string>
+    <string name="fail_reason_could_not_open_file">"\"<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">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> von <xliff:g id="TOTAL_NUMBER">%s</xliff:g> Kontakten"</string>
+    <!-- no translation found for search_settings_description (1422183266726984096) -->
+    <skip />
 </resources>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
new file mode 100644
index 0000000..d65da34
--- /dev/null
+++ b/res/values-el/strings.xml
@@ -0,0 +1,257 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2009 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="contactsList">"Επαφές"</string>
+    <string name="launcherDialer">"Πρόγραμμα κλήσης"</string>
+    <string name="shortcutContact">"Επαφή"</string>
+    <!-- no translation found for shortcutDialContact (7165340343023469996) -->
+    <skip />
+    <!-- no translation found for shortcutMessageContact (3025782962770298900) -->
+    <skip />
+    <!-- no translation found for shortcutActivityTitle (6642877210643565436) -->
+    <skip />
+    <!-- no translation found for callShortcutActivityTitle (6065749861423648991) -->
+    <skip />
+    <!-- no translation found for messageShortcutActivityTitle (3084542316620335911) -->
+    <skip />
+    <string name="starredList">"Με αστέρι"</string>
+    <string name="frequentList">"Συχνές"</string>
+    <string name="strequentList">"Αγαπημένα"</string>
+    <string name="viewContactTitle">"Λεπτομέρειες επαφής"</string>
+    <string name="viewContactDesription">"Προβολή επαφής"</string>
+    <string name="editContactDescription">"Επεξεργασία επαφής"</string>
+    <string name="insertContactDescription">"Δημιουργία επαφής"</string>
+    <string name="searchHint">"Αναζήτηση επαφών"</string>
+    <string name="menu_search">"Αναζήτηση"</string>
+    <string name="menu_newContact">"Νέα επαφή"</string>
+    <string name="menu_viewContact">"Προβολή επαφής"</string>
+    <string name="menu_callNumber">"Κλήση <xliff:g id="NAME">%s</xliff:g>"</string>
+    <string name="menu_addStar">"Προσθήκη στα αγαπημένα"</string>
+    <string name="menu_removeStar">"Κατάργηση από τα αγαπημένα"</string>
+    <string name="menu_showBarcode">"Εμφάνιση γραμμωτού κώδικα"</string>
+    <string name="menu_editContact">"Επεξεργασία επαφής"</string>
+    <string name="menu_deleteContact">"Διαγραφή επαφής"</string>
+    <string name="menu_call">"Κλήση"</string>
+    <string name="menu_sendSMS">"Αποστολή SMS/MMS"</string>
+    <string name="menu_sendEmail">"Αποστολή μηνύματος ηλεκτρονικού ταχυδρομείου"</string>
+    <string name="menu_viewAddress">"Διεύθυνση στον χάρτη"</string>
+    <string name="menu_makeDefaultNumber">"Ορισμός προεπιλεγμένου αριθμού"</string>
+    <string name="deleteConfirmation_title">"Διαγραφή"</string>
+    <string name="deleteConfirmation">"Αυτή η επαφή θα διαγραφεί."</string>
+    <string name="menu_done">"Ολοκληρώθηκε"</string>
+    <string name="menu_doNotSave">"Επαναφορά"</string>
+    <string name="editContact_title_edit">"Επεξεργασία επαφής"</string>
+    <string name="editContact_title_insert">"Νέα επαφή"</string>
+    <string name="menu_addItem">"Περισσότερες πληροφορίες"</string>
+    <string name="label_phonetic_name">"Φωνητική"</string>
+    <string name="label_notes">"Σημειώσεις"</string>
+    <string name="label_ringtone">"Ήχος κλήσης"</string>
+    <string name="ghostData_name">"Όνομα και επίθετο"</string>
+    <string name="ghostData_phonetic_name">"Φωνητικό όνομα"</string>
+    <string name="ghostData_company">"Εταιρεία"</string>
+    <string name="ghostData_title">"Θέση"</string>
+    <string name="ghostData_im">"Όνομα άμεσων μηνυμάτων (IM)"</string>
+    <string name="ghostData_notes">"Η σημείωσή μου"</string>
+    <string name="ghostData_phone">"Αριθμός τηλεφώνου"</string>
+    <string name="ghostData_email">"Διεύθυνση ηλεκτρονικού ταχυδρομείου"</string>
+    <string name="ghostData_postal">"Ταχυδρομική διεύθυνση"</string>
+    <string name="invalidContactMessage">"Η επαφή δεν υπάρχει."</string>
+    <string name="pickerNewContactHeader">"Δημιουργία νέας επαφής"</string>
+    <string name="selectLabel">"Επιλογή ετικέτας"</string>
+    <string name="phoneLabelsGroup">"Τηλέφωνο"</string>
+    <string name="emailLabelsGroup">"Διεύθυνση ηλεκτρονικού ταχυδρομείου"</string>
+    <string name="imLabelsGroup">"Ανταλλαγή άμεσων μηνυμάτων (IM)"</string>
+    <string name="postalLabelsGroup">"Ταχυδρομική διεύθυνση"</string>
+    <string name="otherLabelsGroup">"Άλλο"</string>
+  <string-array name="otherLabels">
+    <item>"Εταιρεία"</item>
+    <item>"Σημείωση"</item>
+  </string-array>
+    <string name="errorDialogTitle">"Δεν υπάρχουν εικόνες"</string>
+    <string name="photoPickerNotFoundText">"Δεν υπάρχουν διαθέσιμες εικόνες στο τηλέφωνο."</string>
+    <string name="attachToContact">"Εικονίδιο επαφής"</string>
+    <string name="customLabelPickerTitle">"Προσαρμοσμένο όνομα ετικέτας"</string>
+    <string name="menu_displayGroup">"Προβολή ομάδας"</string>
+    <string name="syncGroupPreference">"Επεξεργασία ομάδων συγχρονισμού"</string>
+    <string name="importFromSim">"Εισαγωγή επαφών"</string>
+    <string name="send_to_voicemail_checkbox">"Αποστολή κλήσεων απευθείας στον αυτόματο τηλεφωνητή"</string>
+    <string name="send_to_voicemail_view">"Οι κλήσεις στέλνονται απευθείας στον αυτόματο τηλεφωνητή."</string>
+    <string name="default_ringtone">"Προεπιλογή"</string>
+    <string name="addPicture">"Προσθήκη εικονιδίου"</string>
+    <string name="removePicture">"Κατάργηση εικονιδίου"</string>
+    <string name="noContacts">"Δεν υπάρχουν επαφές."</string>
+    <string name="noContactsWithPhoneNumbers">"Δεν υπάρχουν επαφές με αριθμούς τηλεφώνου."</string>
+    <string name="noFavorites">"Δεν υπάρχουν αγαπημένα."</string>
+    <string name="select_group_title">"Ομάδες"</string>
+    <string name="groupEmpty">"Η ομάδα σας \"<xliff:g id="GROUPNAME">%s</xliff:g>\" είναι κενή."</string>
+    <string name="showAllGroups">"Όλες οι επαφές"</string>
+    <string name="syncAllGroups">"Συγχρονισμός όλων των επαφών"</string>
+    <string name="groupNameMyContacts">"Οι επαφές μου"</string>
+    <string name="groupNameWithPhones">"Επαφές με αριθμούς τηλεφώνου"</string>
+    <string name="starredInAndroid">"Με αστέρι στο Android"</string>
+    <string name="contactCreatedToast">"Η επαφή δημιουργήθηκε."</string>
+    <string name="contactSavedToast">"Η επαφή αποθηκεύτηκε."</string>
+    <string name="listSeparatorCallNumber">"Αριθμός κλήσης"</string>
+    <string name="listSeparatorCallNumber_edit">"Αριθμοί τηλεφώνου"</string>
+    <string name="listSeparatorSendSmsMms">"Αποστολή SMS/MMS"</string>
+    <string name="listSeparatorSendEmail">"Αποστολή μηνύματος ηλεκτρονικού ταχυδρομείου"</string>
+    <string name="listSeparatorSendEmail_edit">"Διευθύνσεις ηλεκτρονικού ταχυδρομείου"</string>
+    <string name="listSeparatorSendIm">"Αποστολή άμεσου μηνύματος"</string>
+    <string name="listSeparatorSendIm_edit">"Διευθύνσεις συζήτησης"</string>
+    <string name="listSeparatorMapAddress">"Διεύθυνση στον χάρτη"</string>
+    <string name="listSeparatorMapAddress_edit">"Διευθύνσεις ταχυδρομείου"</string>
+    <string name="listSeparatorOrganizations">"Εταιρείες"</string>
+    <string name="listSeparatorOtherInformation">"Άλλες πληροφορίες"</string>
+    <string name="listSeparatorOtherInformation_edit">"Άλλες επιλογές"</string>
+    <string name="listSeparatorMore_edit">"Περισσότερα"</string>
+    <string name="contactsIconLabel">"Επαφές"</string>
+    <string name="contactsFavoritesLabel">"Αγαπημένα"</string>
+    <string name="dialerIconLabel">"Πρόγραμμα κλήσης"</string>
+    <string name="recentCallsIconLabel">"Αρχείο καταγραφής κλήσεων"</string>
+    <string name="liveFolderAll">"Όλες οι επαφές"</string>
+    <string name="liveFolderFavorites">"Επαφές με αστέρι"</string>
+    <string name="liveFolderPhone">"Επαφές με αριθμούς τηλεφώνου"</string>
+    <string name="menu_sendTextMessage">"Αποστολή μηνύματος SMS"</string>
+    <string name="recentCalls_callNumber">"Κλήση <xliff:g id="NAME">%s</xliff:g>"</string>
+    <string name="recentCalls_editNumberBeforeCall">"Επεξεργασία αριθμού πριν την κλήση"</string>
+    <string name="recentCalls_addToContact">"Προσθήκη στις επαφές"</string>
+    <string name="recentCalls_removeFromRecentList">"Κατάργηση από το αρχείο καταγραφής κλήσεων"</string>
+    <string name="recentCalls_deleteAll">"Εκκαθάριση αρχείου καταγραφής κλήσεων"</string>
+    <string name="recentCalls_empty">"Το αρχείο καταγραφής κλήσεων είναι κενό."</string>
+    <string name="imei">"Αριθμός ΙΜΕΙ"</string>
+    <string name="voicemail">"Αυτόματος τηλεφωνητής"</string>
+    <string name="unknown">"Άγνωστος"</string>
+    <string name="private_num">"Απόκρυψη"</string>
+    <string name="payphone">"Καρτοτηλέφωνο"</string>
+    <string name="dialerKeyboardHintText">"Χρησιμοποιήστε το πληκτρολόγιο για να καλέσετε έναν αριθμό"</string>
+    <string name="dialerDialpadHintText">"Καλέστε έναν αριθμό για να προσθέσετε μια κλήση"</string>
+    <string name="simContacts_emptyLoading">"Φόρτωση από κάρτα SIM…"</string>
+    <string name="simContacts_title">"Επαφές στην κάρτα SIM"</string>
+    <string name="contactsSyncPlug"><font fgcolor="#ffffffff">"Συγχρονίστε τις επαφές σας Google!"</font>" "\n"Μετά τον συγχρονισμό στο τηλέφωνό σας, οι επαφές σας θα είναι διαθέσιμες όπου κι αν πάτε.."</string>
+    <string name="noContactsHelpText">"Δεν έχετε επαφές."\n\n"Για να προσθέσετε επαφές, πατήστε "<font fgcolor="#ffffffff"><b>"Μενού"</b></font>" και επιλέξτε:"\n" "\n<li><font fgcolor="#ffffffff"><b>"Νέα επαφή"</b></font>" για να δημιουργήσετε μια νέα επαφή από την αρχή"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Εισαγωγή επαφών"</b></font>" για να προσθέσετε επαφές από την κάρτα SIM"\n</li></string>
+    <string name="noContactsHelpTextWithSync">"Δεν έχετε επαφές."\n\n"Για να προσθέσετε επαφές, πατήστε "<font fgcolor="#ffffffff"><b>"Μενού"</b></font>" και επιλέξτε:"\n" "\n<li><font fgcolor="#ffffffff"><b>"Επεξεργασία ομάδων συγχρονισμού"</b></font>" για να προσθέσετε από έναν νέο ή υπάρχοντα λογαριασμό Google"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Νέα επαφή"</b></font>" για να δημιουργήσετε μια νέα επαφή από την αρχή"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Εισαγωγή επαφών"</b></font>" για να προσθέσετε επαφές από την κάρτα SIM"\n</li></string>
+    <string name="seclectSyncGroups_title">"Επιλογή ομάδων για συγχρονισμό"</string>
+    <string name="liveFolder_all_label">"Όλες οι επαφές"</string>
+    <string name="liveFolder_favorites_label">"Με αστέρι"</string>
+    <string name="liveFolder_phones_label">"Τηλέφωνα"</string>
+    <string name="dialer_useDtmfDialpad">"Χρησιμοποιήστε το πληκτρολόγιο αφής ηχητικών τόνων"</string>
+    <string name="dialer_returnToInCallScreen">"Επιστροφή στην κλήση που βρίσκεται σε εξέλιξη"</string>
+    <string name="dialer_addAnotherCall">"Προσθήκη κλήσης"</string>
+    <string name="callDetailTitle">"Λεπτομέρειες κλήσης"</string>
+    <string name="toast_call_detail_error">"Δεν είναι δυνατή η ανάγνωση λεπτομερειών της κλήσης που ζητήθηκε."</string>
+    <string name="call_type">"Τύπος"</string>
+    <string name="type_incoming">"Εισερχόμενη κλήση"</string>
+    <string name="type_outgoing">"Εξερχόμενη κλήση"</string>
+    <string name="type_missed">"Αναπάντητη κλήση"</string>
+    <string name="call_time">"Ώρα"</string>
+    <string name="datetime_relative">"<xliff:g id="DATETIME">%1$s</xliff:g> (<xliff:g id="RELATIVE">%2$s</xliff:g>)"</string>
+    <string name="call_duration">"Διάρκεια"</string>
+    <string name="header_actions">"Ενέργειες"</string>
+    <string name="ringtone_spinner">"Ήχος κλήσης: <xliff:g id="RINGTONE">%1$s</xliff:g>"</string>
+    <string name="add_more_items">"Προσθήκη περισσότερων στοιχείων"</string>
+    <string name="actionCall">"Κλήση <xliff:g id="TYPE">%s</xliff:g>"</string>
+    <string name="actionEmail">"Αποστολή μηνύματος ηλεκτρονικού ταχυδρομείου προς <xliff:g id="TYPE">%s</xliff:g>"</string>
+    <string name="actionText">"Αποστολή μηνύματος κειμένου προς <xliff:g id="TYPE">%s</xliff:g>"</string>
+    <string name="actionChat">"Συζήτηση μέσω <xliff:g id="TYPE">%s</xliff:g>"</string>
+    <string name="actionMap">"Προβολή διεύθυνσης <xliff:g id="TYPE">%s</xliff:g>"</string>
+    <string name="actionIncomingCall">"Εισερχόμενες κλήσεις"</string>
+    <string name="detailIncomingCallsGoToVoicemail">"Θα σταλεί απευθείας στον αυτόματο τηλεφωνητή"</string>
+    <string name="detailsRingtone">"Ορισμός σε <xliff:g id="RINGTONE_NAME">%s</xliff:g>"</string>
+    <string name="callBack">"Επανάκληση"</string>
+    <string name="callAgain">"Επανάληψη κλήσης"</string>
+    <string name="returnCall">"Επιστροφή κλήσης"</string>
+    <string name="callDetailsDurationFormat">"<xliff:g id="MINUTES">%s</xliff:g> λεπτά <xliff:g id="SECONDS">%s</xliff:g> δευτερόλεπτα"</string>
+    <string name="favoritesFrquentSeparator">"Συχνές κλήσεις"</string>
+    <string name="add_contact_dlg_title">"Προσθήκη επαφής"</string>
+    <string name="add_contact_dlg_message_fmt">"Προσθήκη του \"<xliff:g id="EMAIL">%s</xliff:g>\" στις επαφές;"</string>
+    <!-- no translation found for description_image_button_one (1740638037139856139) -->
+    <skip />
+    <!-- no translation found for description_image_button_two (5882638439003731308) -->
+    <skip />
+    <!-- no translation found for description_image_button_three (8709731759376015180) -->
+    <skip />
+    <!-- no translation found for description_image_button_four (3530239685642246130) -->
+    <skip />
+    <!-- no translation found for description_image_button_five (1182465427501188413) -->
+    <skip />
+    <!-- no translation found for description_image_button_six (2093656269261415475) -->
+    <skip />
+    <!-- no translation found for description_image_button_seven (2450357020447676481) -->
+    <skip />
+    <!-- no translation found for description_image_button_eight (6969435115163287801) -->
+    <skip />
+    <!-- no translation found for description_image_button_nine (7857248695662558323) -->
+    <skip />
+    <!-- no translation found for description_image_button_star (3365919907520767866) -->
+    <skip />
+    <!-- no translation found for description_image_button_zero (4133108949401820710) -->
+    <skip />
+    <!-- no translation found for description_image_button_pound (3039765597595889230) -->
+    <skip />
+    <string name="no_sdcard_title">"Δεν υπάρχει κάρτα SD"</string>
+    <string name="no_sdcard_message">"Δεν ανιχνεύθηκε κάρτα SD"</string>
+    <string name="searching_vcard_title">"Αναζήτηση VCard"</string>
+    <string name="select_import_type_title">"Από πού θέλετε να εισάγετε επαφές;"</string>
+    <string name="import_from_sim">"Κάρτα SIM"</string>
+    <string name="import_from_sdcard">"Κάρτα SD"</string>
+    <string name="import_all_vcard_string">"Εισαγωγή όλων των αρχείων VCard"</string>
+    <string name="import_one_vcard_string">"Εισαγωγή ενός αρχείου VCard"</string>
+    <string name="searching_vcard_message">"Αναζήτηση δεδομένων VCard στην κάρτα SD"</string>
+    <string name="scanning_sdcard_failed_title">"Η σάρωση της κάρτας SD απέτυχε"</string>
+    <string name="scanning_sdcard_failed_message">"Η σάρωση της κάρτας SD απέτυχε"</string>
+    <string name="fail_reason_io_error">"Σφάλμα I/O"</string>
+    <string name="fail_reason_vcard_parse_error">"Η ανάλυση του VCard απέτυχε"</string>
+    <string name="fail_reason_no_vcard_file">"Δεν βρέθηκε αρχείο VCard στην κάρτα SD"</string>
+    <string name="fail_reason_no_vcard_entry">"Δεν βρέθηκε έγκυρη καταχώρηση VCard για την επιλογή σας"</string>
+    <string name="select_vcard_title">"Επιλογή αρχείου VCard"</string>
+    <string name="select_vcard_message">"Επιλέξτε ένα αρχείο VCard για εισαγωγή"</string>
+    <string name="reading_vcard_title">"Ανάγνωση VCard"</string>
+    <string name="reading_vcard_message">"Ανάγνωση αρχείου (ων) VCard"</string>
+    <string name="importing_vcard_message">"Εισαγωγή δεδομένων VCard"</string>
+    <string name="reading_vcard_failed_title">"Η ανάγνωση των δεδομένων VCard απέτυχε"</string>
+    <string name="reading_vcard_failed_message">"Δεν ήταν δυνατή η ανάγνωση των δεδομένων VCard"\n"Αιτία αποτυχίας: \"<xliff:g id="FAIL_REASON">%s</xliff:g>\""</string>
+    <string name="reading_vcard_contacts">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> από <xliff:g id="TOTAL_NUMBER">%s</xliff:g> επαφές"</string>
+    <string name="reading_vcard_files">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> από <xliff:g id="TOTAL_NUMBER">%s</xliff:g> αρχεία"</string>
+    <!-- no translation found for export_contact_list (3165097742175874384) -->
+    <skip />
+    <!-- no translation found for confirm_export_title (1693047909433122854) -->
+    <skip />
+    <!-- no translation found for confirm_export_message (63482084706768079) -->
+    <skip />
+    <!-- no translation found for exporting_contact_failed_title (1455264422455075858) -->
+    <skip />
+    <!-- no translation found for exporting_contact_failed_message (1426451081541603512) -->
+    <skip />
+    <!-- no translation found for fail_reason_too_many_vcard (5416992255233341607) -->
+    <skip />
+    <!-- no translation found for fail_reason_cannot_open_destination_dir (1739293936432987758) -->
+    <skip />
+    <!-- no translation found for exporting_contact_list_title (9072240631534457415) -->
+    <skip />
+    <!-- no translation found for exporting_contact_list_message (5640326540405486055) -->
+    <skip />
+    <!-- no translation found for fail_reason_could_not_initialize_exporter (4943708332700987376) -->
+    <skip />
+    <!-- no translation found for fail_reason_error_occurred_during_export (2151165129433831202) -->
+    <skip />
+    <!-- no translation found for fail_reason_could_not_open_file (4013520943128739511) -->
+    <skip />
+    <!-- no translation found for exporting_contact_list_progress (560522409559101193) -->
+    <skip />
+    <!-- no translation found for search_settings_description (1422183266726984096) -->
+    <skip />
+</resources>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
new file mode 100644
index 0000000..eb8c03e
--- /dev/null
+++ b/res/values-es-rUS/strings.xml
@@ -0,0 +1,257 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2009 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="contactsList">"Contactos"</string>
+    <string name="launcherDialer">"Marcador"</string>
+    <string name="shortcutContact">"Contacto"</string>
+    <!-- no translation found for shortcutDialContact (7165340343023469996) -->
+    <skip />
+    <!-- no translation found for shortcutMessageContact (3025782962770298900) -->
+    <skip />
+    <!-- no translation found for shortcutActivityTitle (6642877210643565436) -->
+    <skip />
+    <!-- no translation found for callShortcutActivityTitle (6065749861423648991) -->
+    <skip />
+    <!-- no translation found for messageShortcutActivityTitle (3084542316620335911) -->
+    <skip />
+    <string name="starredList">"Marcado con asterisco"</string>
+    <string name="frequentList">"Frecuente"</string>
+    <string name="strequentList">"Favoritos"</string>
+    <string name="viewContactTitle">"Detalles de contacto"</string>
+    <string name="viewContactDesription">"Ver contacto"</string>
+    <string name="editContactDescription">"Editar contacto"</string>
+    <string name="insertContactDescription">"Crear contacto"</string>
+    <string name="searchHint">"Buscar contactos"</string>
+    <string name="menu_search">"Buscar"</string>
+    <string name="menu_newContact">"Nuevo contacto"</string>
+    <string name="menu_viewContact">"Ver contacto"</string>
+    <string name="menu_callNumber">"Llamar a <xliff:g id="NAME">%s</xliff:g>"</string>
+    <string name="menu_addStar">"Agregar a favoritos"</string>
+    <string name="menu_removeStar">"Eliminar de favoritos"</string>
+    <string name="menu_showBarcode">"Mostrar código de barras"</string>
+    <string name="menu_editContact">"Editar contacto"</string>
+    <string name="menu_deleteContact">"Suprimir contacto"</string>
+    <string name="menu_call">"Llamar a"</string>
+    <string name="menu_sendSMS">"Enviar SMS//MMS"</string>
+    <string name="menu_sendEmail">"Enviar correo electrónico"</string>
+    <string name="menu_viewAddress">"Dirección del mapa"</string>
+    <string name="menu_makeDefaultNumber">"Crear número predeterminado"</string>
+    <string name="deleteConfirmation_title">"Suprimir"</string>
+    <string name="deleteConfirmation">"Este contacto se suprimirá."</string>
+    <string name="menu_done">"Finalizado"</string>
+    <string name="menu_doNotSave">"Revertir"</string>
+    <string name="editContact_title_edit">"Editar contacto"</string>
+    <string name="editContact_title_insert">"Nuevo contacto"</string>
+    <string name="menu_addItem">"Más información"</string>
+    <string name="label_phonetic_name">"Fonético"</string>
+    <string name="label_notes">"Notas"</string>
+    <string name="label_ringtone">"Tono de llamada"</string>
+    <string name="ghostData_name">"Primero y último"</string>
+    <string name="ghostData_phonetic_name">"Nombre fonético"</string>
+    <string name="ghostData_company">"Empresa"</string>
+    <string name="ghostData_title">"Posición"</string>
+    <string name="ghostData_im">"Nombre de MI"</string>
+    <string name="ghostData_notes">"Mi nota"</string>
+    <string name="ghostData_phone">"Número de teléfono"</string>
+    <string name="ghostData_email">"Dirección de correo electrónico"</string>
+    <string name="ghostData_postal">"Dirección postal"</string>
+    <string name="invalidContactMessage">"El contacto no existe."</string>
+    <string name="pickerNewContactHeader">"Crear nuevo contacto"</string>
+    <string name="selectLabel">"Seleccionar etiqueta"</string>
+    <string name="phoneLabelsGroup">"Teléfono"</string>
+    <string name="emailLabelsGroup">"Correo electrónico"</string>
+    <string name="imLabelsGroup">"Mensajería instantánea"</string>
+    <string name="postalLabelsGroup">"Dirección postal"</string>
+    <string name="otherLabelsGroup">"Otros"</string>
+  <string-array name="otherLabels">
+    <item>"Organización"</item>
+    <item>"Nota"</item>
+  </string-array>
+    <string name="errorDialogTitle">"No hay imágenes"</string>
+    <string name="photoPickerNotFoundText">"No hay imágenes disponibles en el teléfono."</string>
+    <string name="attachToContact">"Ícono de contacto"</string>
+    <string name="customLabelPickerTitle">"Nombre personalizado de etiqueta"</string>
+    <string name="menu_displayGroup">"Mostrar grupo"</string>
+    <string name="syncGroupPreference">"Editar grupos sincronizados"</string>
+    <string name="importFromSim">"Importar contactos"</string>
+    <string name="send_to_voicemail_checkbox">"Enviar llamadas directamente al correo de voz"</string>
+    <string name="send_to_voicemail_view">"Las llamadas se envían directamente a un correo de voz."</string>
+    <string name="default_ringtone">"Predeterminado"</string>
+    <string name="addPicture">"Agregar ícono"</string>
+    <string name="removePicture">"Eliminar ícono"</string>
+    <string name="noContacts">"No hay contactos."</string>
+    <string name="noContactsWithPhoneNumbers">"No hay contactos con números de teléfono."</string>
+    <string name="noFavorites">"No hay favoritos."</string>
+    <string name="select_group_title">"Grupos"</string>
+    <string name="groupEmpty">"Tu grupo \"<xliff:g id="GROUPNAME">%s</xliff:g>\" está vacío."</string>
+    <string name="showAllGroups">"Todos los contactos"</string>
+    <string name="syncAllGroups">"Sincronizar todos los contactos"</string>
+    <string name="groupNameMyContacts">"Mis contactos"</string>
+    <string name="groupNameWithPhones">"Contactos con números de teléfono"</string>
+    <string name="starredInAndroid">"Marcado con asterisco en Android"</string>
+    <string name="contactCreatedToast">"Contacto creado."</string>
+    <string name="contactSavedToast">"Contacto guardado."</string>
+    <string name="listSeparatorCallNumber">"Marcar número"</string>
+    <string name="listSeparatorCallNumber_edit">"Números de teléfono"</string>
+    <string name="listSeparatorSendSmsMms">"Enviar SMS//MMS"</string>
+    <string name="listSeparatorSendEmail">"Enviar correo electrónico"</string>
+    <string name="listSeparatorSendEmail_edit">"Direcciones de correo electrónico"</string>
+    <string name="listSeparatorSendIm">"Enviar mensaje instantáneo"</string>
+    <string name="listSeparatorSendIm_edit">"Direcciones de chat"</string>
+    <string name="listSeparatorMapAddress">"Dirección del mapa"</string>
+    <string name="listSeparatorMapAddress_edit">"Direcciones postales"</string>
+    <string name="listSeparatorOrganizations">"Organizaciones"</string>
+    <string name="listSeparatorOtherInformation">"Otra información"</string>
+    <string name="listSeparatorOtherInformation_edit">"Otras opciones"</string>
+    <string name="listSeparatorMore_edit">"Más"</string>
+    <string name="contactsIconLabel">"Contactos"</string>
+    <string name="contactsFavoritesLabel">"Favoritos"</string>
+    <string name="dialerIconLabel">"Marcador"</string>
+    <string name="recentCallsIconLabel">"Registro de llamadas"</string>
+    <string name="liveFolderAll">"Todos los contactos"</string>
+    <string name="liveFolderFavorites">"Contactos marcados con asterisco"</string>
+    <string name="liveFolderPhone">"Contactos con números de teléfono"</string>
+    <string name="menu_sendTextMessage">"Enviar mensaje SMS"</string>
+    <string name="recentCalls_callNumber">"Llamar a <xliff:g id="NAME">%s</xliff:g>"</string>
+    <string name="recentCalls_editNumberBeforeCall">"Editar número antes de llamar"</string>
+    <string name="recentCalls_addToContact">"Agregar a contactos"</string>
+    <string name="recentCalls_removeFromRecentList">"Eliminar del registro de llamadas"</string>
+    <string name="recentCalls_deleteAll">"Borrar registro de llamadas"</string>
+    <string name="recentCalls_empty">"El registro de llamadas está vacío."</string>
+    <string name="imei">"IMEI"</string>
+    <string name="voicemail">"Correo de voz"</string>
+    <string name="unknown">"Desconocido"</string>
+    <string name="private_num">"Número privado"</string>
+    <string name="payphone">"Teléfono público"</string>
+    <string name="dialerKeyboardHintText">"Utilizar teclado para marcar"</string>
+    <string name="dialerDialpadHintText">"Marcar para agregar una llamada"</string>
+    <string name="simContacts_emptyLoading">"Cargando desde tarjeta SIM..."</string>
+    <string name="simContacts_title">"Contactos de tarjeta SIM"</string>
+    <string name="contactsSyncPlug"><font fgcolor="#ffffffff">"¡Sincroniza tus contactos de Google!"</font>" "\n" Luego de sincronizar tu teléfono, tus contactos estarán disponibles para ti dondequiera que vayas."</string>
+    <string name="noContactsHelpText">"No tienes ningún contacto."\n\n"Para agregar contactos, presiona "<font fgcolor="#ffffffff"><b>"Menú"</b></font>" y selecciona:"\n" "\n<li><font fgcolor="#ffffffff"><b>"Nuevo contacto"</b></font>" para crear un contacto nuevo desde cero"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Importar contactos"</b></font>" para agregar contactos desde tu tarjeta SIM"\n</li></string>
+    <string name="noContactsHelpTextWithSync">"No tienes ningún contacto."\n\n"Para agregar contactos, presiona "<font fgcolor="#ffffffff"><b>"Menú"</b></font>" y selecciona:"\n" "\n<li><font fgcolor="#ffffffff"><b>"Editar grupos sincronizados"</b></font>" para agregar desde una cuenta de Google nueva o existente"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Nuevo contacto"</b></font>" para crear un contacto nuevo desde cero"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Importar contactos"</b></font>" para agregar contactos desde tu tarjeta SIM"\n</li></string>
+    <string name="seclectSyncGroups_title">"Seleccionar grupos para sincronizar"</string>
+    <string name="liveFolder_all_label">"Todos los contactos"</string>
+    <string name="liveFolder_favorites_label">"Marcado con asterisco"</string>
+    <string name="liveFolder_phones_label">"Teléfonos"</string>
+    <string name="dialer_useDtmfDialpad">"Usar teclado de tonos del teléfono"</string>
+    <string name="dialer_returnToInCallScreen">"Regresar a la llamada en curso"</string>
+    <string name="dialer_addAnotherCall">"Agregar llamada"</string>
+    <string name="callDetailTitle">"Detalles de llamada"</string>
+    <string name="toast_call_detail_error">"No se han podido leer los detalles de la llamada solicitada."</string>
+    <string name="call_type">"Tipo"</string>
+    <string name="type_incoming">"Llamada entrante"</string>
+    <string name="type_outgoing">"Llamada saliente"</string>
+    <string name="type_missed">"Llamada perdida"</string>
+    <string name="call_time">"Hora"</string>
+    <string name="datetime_relative">"<xliff:g id="DATETIME">%1$s</xliff:g> (<xliff:g id="RELATIVE">%2$s</xliff:g>)"</string>
+    <string name="call_duration">"Duración"</string>
+    <string name="header_actions">"Acciones"</string>
+    <string name="ringtone_spinner">"Tono de llamada: <xliff:g id="RINGTONE">%1$s</xliff:g>"</string>
+    <string name="add_more_items">"Agregar más elementos"</string>
+    <string name="actionCall">"Llamar a <xliff:g id="TYPE">%s</xliff:g>"</string>
+    <string name="actionEmail">"Correo electrónico <xliff:g id="TYPE">%s</xliff:g>"</string>
+    <string name="actionText">"Texto <xliff:g id="TYPE">%s</xliff:g>"</string>
+    <string name="actionChat">"Chat mediante <xliff:g id="TYPE">%s</xliff:g>"</string>
+    <string name="actionMap">"Ver <xliff:g id="TYPE">%s</xliff:g> dirección"</string>
+    <string name="actionIncomingCall">"Llamadas entrantes"</string>
+    <string name="detailIncomingCallsGoToVoicemail">"Se enviará directamente al correo de voz"</string>
+    <string name="detailsRingtone">"Configurado en <xliff:g id="RINGTONE_NAME">%s</xliff:g>"</string>
+    <string name="callBack">"Volver a llamar"</string>
+    <string name="callAgain">"Llamar nuevamente"</string>
+    <string name="returnCall">"Regresar llamada"</string>
+    <string name="callDetailsDurationFormat">"<xliff:g id="MINUTES">%s</xliff:g> mins <xliff:g id="SECONDS">%s</xliff:g> s"</string>
+    <string name="favoritesFrquentSeparator">"Llamado con frecuencia"</string>
+    <string name="add_contact_dlg_title">"Agregar contacto"</string>
+    <string name="add_contact_dlg_message_fmt">"¿Deseas agregar \"<xliff:g id="EMAIL">%s</xliff:g>\" a los contactos?"</string>
+    <!-- no translation found for description_image_button_one (1740638037139856139) -->
+    <skip />
+    <!-- no translation found for description_image_button_two (5882638439003731308) -->
+    <skip />
+    <!-- no translation found for description_image_button_three (8709731759376015180) -->
+    <skip />
+    <!-- no translation found for description_image_button_four (3530239685642246130) -->
+    <skip />
+    <!-- no translation found for description_image_button_five (1182465427501188413) -->
+    <skip />
+    <!-- no translation found for description_image_button_six (2093656269261415475) -->
+    <skip />
+    <!-- no translation found for description_image_button_seven (2450357020447676481) -->
+    <skip />
+    <!-- no translation found for description_image_button_eight (6969435115163287801) -->
+    <skip />
+    <!-- no translation found for description_image_button_nine (7857248695662558323) -->
+    <skip />
+    <!-- no translation found for description_image_button_star (3365919907520767866) -->
+    <skip />
+    <!-- no translation found for description_image_button_zero (4133108949401820710) -->
+    <skip />
+    <!-- no translation found for description_image_button_pound (3039765597595889230) -->
+    <skip />
+    <string name="no_sdcard_title">"No hay tarjeta SD"</string>
+    <string name="no_sdcard_message">"No se ha detectado ninguna tarjeta SD"</string>
+    <string name="searching_vcard_title">"Buscando VCard"</string>
+    <string name="select_import_type_title">"¿De dónde quieres importar contactos?"</string>
+    <string name="import_from_sim">"Tarjeta SIM"</string>
+    <string name="import_from_sdcard">"Tarjeta SD"</string>
+    <string name="import_all_vcard_string">"Importar todos los archivos de VCard"</string>
+    <string name="import_one_vcard_string">"Importar un archivo de VCard"</string>
+    <string name="searching_vcard_message">"Buscando datos VCard en VCard"</string>
+    <string name="scanning_sdcard_failed_title">"No se ha podido explorar la Tarjeta SD"</string>
+    <string name="scanning_sdcard_failed_message">"No se ha podido explorar la Tarjeta SD"</string>
+    <string name="fail_reason_io_error">"Error de E/S"</string>
+    <string name="fail_reason_vcard_parse_error">"No se ha podido analizar VCard"</string>
+    <string name="fail_reason_no_vcard_file">"No se ha encontrado un archivo de VCard en la Tarjeta SD"</string>
+    <string name="fail_reason_no_vcard_entry">"No se ha encontrado ninguna entrada válida de VCard para tu selección"</string>
+    <string name="select_vcard_title">"Seleccionar archivo de VCard"</string>
+    <string name="select_vcard_message">"Seleccionar un archivo de VCard para importar"</string>
+    <string name="reading_vcard_title">"Leyendo VCard"</string>
+    <string name="reading_vcard_message">"Leyendo archivo(s) de VCard"</string>
+    <string name="importing_vcard_message">"Importando datos VCard"</string>
+    <string name="reading_vcard_failed_title">"No se han podido leer los datos VCard"</string>
+    <string name="reading_vcard_failed_message">"No se han podido leer los datos VCard"\n"Motivo: \"<xliff:g id="FAIL_REASON">%s</xliff:g>\""</string>
+    <string name="reading_vcard_contacts">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> de <xliff:g id="TOTAL_NUMBER">%s</xliff:g> contactos"</string>
+    <string name="reading_vcard_files">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> de <xliff:g id="TOTAL_NUMBER">%s</xliff:g> archivos"</string>
+    <!-- no translation found for export_contact_list (3165097742175874384) -->
+    <skip />
+    <!-- no translation found for confirm_export_title (1693047909433122854) -->
+    <skip />
+    <!-- no translation found for confirm_export_message (63482084706768079) -->
+    <skip />
+    <!-- no translation found for exporting_contact_failed_title (1455264422455075858) -->
+    <skip />
+    <!-- no translation found for exporting_contact_failed_message (1426451081541603512) -->
+    <skip />
+    <!-- no translation found for fail_reason_too_many_vcard (5416992255233341607) -->
+    <skip />
+    <!-- no translation found for fail_reason_cannot_open_destination_dir (1739293936432987758) -->
+    <skip />
+    <!-- no translation found for exporting_contact_list_title (9072240631534457415) -->
+    <skip />
+    <!-- no translation found for exporting_contact_list_message (5640326540405486055) -->
+    <skip />
+    <!-- no translation found for fail_reason_could_not_initialize_exporter (4943708332700987376) -->
+    <skip />
+    <!-- no translation found for fail_reason_error_occurred_during_export (2151165129433831202) -->
+    <skip />
+    <!-- no translation found for fail_reason_could_not_open_file (4013520943128739511) -->
+    <skip />
+    <!-- no translation found for exporting_contact_list_progress (560522409559101193) -->
+    <skip />
+    <!-- no translation found for search_settings_description (1422183266726984096) -->
+    <skip />
+</resources>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index ac4f853..5c5b7d4 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -18,6 +18,11 @@
     <string name="contactsList">"Contactos"</string>
     <string name="launcherDialer">"Llamadas"</string>
     <string name="shortcutContact">"Contacto"</string>
+    <string name="shortcutDialContact">"Llamada directa"</string>
+    <string name="shortcutMessageContact">"Mensaje directo"</string>
+    <string name="shortcutActivityTitle">"Elegir un acceso directo para el contacto"</string>
+    <string name="callShortcutActivityTitle">"Elegir un número para la llamada"</string>
+    <string name="messageShortcutActivityTitle">"Elegir un número para el mensaje"</string>
     <string name="starredList">"Destacados"</string>
     <string name="frequentList">"Frecuentes"</string>
     <string name="strequentList">"Favoritos"</string>
@@ -168,4 +173,55 @@
     <string name="favoritesFrquentSeparator">"Más llamados"</string>
     <string name="add_contact_dlg_title">"Añadir contacto"</string>
     <string name="add_contact_dlg_message_fmt">"¿Deseas añadir \"<xliff:g id="EMAIL">%s</xliff:g>\" a Contactos?"</string>
+    <string name="description_image_button_one">"uno"</string>
+    <string name="description_image_button_two">"dos"</string>
+    <string name="description_image_button_three">"tres"</string>
+    <string name="description_image_button_four">"cuatro"</string>
+    <string name="description_image_button_five">"cinco"</string>
+    <string name="description_image_button_six">"seis"</string>
+    <string name="description_image_button_seven">"siete"</string>
+    <string name="description_image_button_eight">"ocho"</string>
+    <string name="description_image_button_nine">"nueve"</string>
+    <string name="description_image_button_star">"estrella"</string>
+    <string name="description_image_button_zero">"cero"</string>
+    <string name="description_image_button_pound">"libra"</string>
+    <string name="no_sdcard_title">"Falta la tarjeta SD"</string>
+    <string name="no_sdcard_message">"No se ha detectado ninguna tarjeta SD."</string>
+    <string name="searching_vcard_title">"Buscando vCard"</string>
+    <string name="select_import_type_title">"¿De dónde quieres importar contactos?"</string>
+    <string name="import_from_sim">"Tarjeta SIM"</string>
+    <string name="import_from_sdcard">"Tarjeta SD"</string>
+    <string name="import_all_vcard_string">"Importar todos los archivos de vCard"</string>
+    <string name="import_one_vcard_string">"Importar un archivo de vCard"</string>
+    <string name="searching_vcard_message">"Buscando datos de vCard en vCard..."</string>
+    <string name="scanning_sdcard_failed_title">"Error al buscar en tarjeta SD"</string>
+    <string name="scanning_sdcard_failed_message">"Error al buscar en tarjeta SD"</string>
+    <string name="fail_reason_io_error">"Error de E/S"</string>
+    <string name="fail_reason_vcard_parse_error">"Error al analizar vCard"</string>
+    <string name="fail_reason_no_vcard_file">"No se ha encontrado ningún archivo de vCard en la tarjeta SD."</string>
+    <string name="fail_reason_no_vcard_entry">"No se ha encontrado ninguna entrada de vCard válida para la selección realizada."</string>
+    <string name="select_vcard_title">"Seleccionar archivo de vCard"</string>
+    <string name="select_vcard_message">"Selecciona un archivo de vCard para la operación de importación."</string>
+    <string name="reading_vcard_title">"Leyendo vCard"</string>
+    <string name="reading_vcard_message">"Leyendo archivos de vCard..."</string>
+    <string name="importing_vcard_message">"Importando datos de vCard..."</string>
+    <string name="reading_vcard_failed_title">"Error al leer datos de vCard"</string>
+    <string name="reading_vcard_failed_message">"No ha sido posible leer los datos de vCard."\n"Motivo del error: \"<xliff:g id="FAIL_REASON">%s</xliff:g>\""</string>
+    <string name="reading_vcard_contacts">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> de <xliff:g id="TOTAL_NUMBER">%s</xliff:g> contactos"</string>
+    <string name="reading_vcard_files">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> de <xliff:g id="TOTAL_NUMBER">%s</xliff:g> archivos"</string>
+    <string name="export_contact_list">"Exportar contactos"</string>
+    <string name="confirm_export_title">"Confirmación de exportación"</string>
+    <string name="confirm_export_message">"¿Confirmas que deseas exportar tu lista de contactos a \"<xliff:g id="VCARD_FILENAME">%s</xliff:g>\"?"</string>
+    <string name="exporting_contact_failed_title">"Error al exportar datos de contacto"</string>
+    <string name="exporting_contact_failed_message">"Se ha producido un error al exportar los datos del contacto."\n"Motivo del error: \"<xliff:g id="FAIL_REASON">%s</xliff:g>\""</string>
+    <string name="fail_reason_too_many_vcard">"Hay demasiados datos de vCard en la tarjeta SD."</string>
+    <string name="fail_reason_cannot_open_destination_dir">"No se puede abrir o crear el directorio de destino \"<xliff:g id="DIR_NAME">%s</xliff:g>\"."</string>
+    <string name="exporting_contact_list_title">"Exportando datos de contacto"</string>
+    <string name="exporting_contact_list_message">"Exportando datos de contacto a \"<xliff:g id="FILE_NAME">%s</xliff:g>\"..."</string>
+    <string name="fail_reason_could_not_initialize_exporter">"No se ha podido inicializar el exportador: \"<xliff:g id="EXACT_REASON">%s</xliff:g>\""</string>
+    <string name="fail_reason_error_occurred_during_export">"Se ha producido un error durante la exportación: \"<xliff:g id="EXACT_REASON">%s</xliff:g>\""</string>
+    <string name="fail_reason_could_not_open_file">"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">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> de <xliff:g id="TOTAL_NUMBER">%s</xliff:g> contactos"</string>
+    <!-- no translation found for search_settings_description (1422183266726984096) -->
+    <skip />
 </resources>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 6c63c49..e12c751 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -18,6 +18,11 @@
     <string name="contactsList">"Contacts"</string>
     <string name="launcherDialer">"Appeler"</string>
     <string name="shortcutContact">"Contact"</string>
+    <string name="shortcutDialContact">"Raccourci appel"</string>
+    <string name="shortcutMessageContact">"Raccourci message"</string>
+    <string name="shortcutActivityTitle">"Choisissez un contact pour le raccourci"</string>
+    <string name="callShortcutActivityTitle">"Choisissez le numéro à appeler"</string>
+    <string name="messageShortcutActivityTitle">"Choisissez le numéro auquel envoyer le message"</string>
     <string name="starredList">"Marqués d\'une étoile"</string>
     <string name="frequentList">"Contacts fréquents"</string>
     <string name="strequentList">"Favoris"</string>
@@ -168,4 +173,55 @@
     <string name="favoritesFrquentSeparator">"Fréquemment appelés"</string>
     <string name="add_contact_dlg_title">"Ajouter un contact"</string>
     <string name="add_contact_dlg_message_fmt">"Ajouter \"<xliff:g id="EMAIL">%s</xliff:g>\" aux contacts ?"</string>
+    <string name="description_image_button_one">"un"</string>
+    <string name="description_image_button_two">"deux"</string>
+    <string name="description_image_button_three">"trois"</string>
+    <string name="description_image_button_four">"quatre"</string>
+    <string name="description_image_button_five">"cinq"</string>
+    <string name="description_image_button_six">"six"</string>
+    <string name="description_image_button_seven">"sept"</string>
+    <string name="description_image_button_eight">"huit"</string>
+    <string name="description_image_button_nine">"neuf"</string>
+    <string name="description_image_button_star">"étoile"</string>
+    <string name="description_image_button_zero">"zéro"</string>
+    <string name="description_image_button_pound">"dièse"</string>
+    <string name="no_sdcard_title">"Carte SD introuvable"</string>
+    <string name="no_sdcard_message">"Aucune carte SD n\'a été détectée."</string>
+    <string name="searching_vcard_title">"Recherche des données VCard"</string>
+    <string name="select_import_type_title">"À partir de quel support souhaitez-vous importer les contacts ?"</string>
+    <string name="import_from_sim">"Carte SIM"</string>
+    <string name="import_from_sdcard">"Carte SD"</string>
+    <string name="import_all_vcard_string">"Importer tous les fichiers VCard"</string>
+    <string name="import_one_vcard_string">"Importer un fichier VCard"</string>
+    <string name="searching_vcard_message">"Recherche de données VCard sur la VCard"</string>
+    <string name="scanning_sdcard_failed_title">"Échec de l\'analyse de la carte SD"</string>
+    <string name="scanning_sdcard_failed_message">"Échec de l\'analyse de la carte SD"</string>
+    <string name="fail_reason_io_error">"Erreur d\'E/S"</string>
+    <string name="fail_reason_vcard_parse_error">"Échec de l\'analyse des données VCard"</string>
+    <string name="fail_reason_no_vcard_file">"Aucun fichier VCard n\'a été trouvé sur la carte SD."</string>
+    <string name="fail_reason_no_vcard_entry">"Aucune entrée VCard valide n\'a été trouvée pour votre sélection."</string>
+    <string name="select_vcard_title">"Sélectionner un fichier VCard"</string>
+    <string name="select_vcard_message">"Sélectionnez un fichier VCard à importer."</string>
+    <string name="reading_vcard_title">"Lecture des données VCard"</string>
+    <string name="reading_vcard_message">"Lecture des fichiers VCard"</string>
+    <string name="importing_vcard_message">"Importation des données VCard"</string>
+    <string name="reading_vcard_failed_title">"Échec de la lecture des données VCard"</string>
+    <string name="reading_vcard_failed_message">"Échec de la lecture des données VCard"\n"Cause : \"<xliff:g id="FAIL_REASON">%s</xliff:g>\""</string>
+    <string name="reading_vcard_contacts">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> sur <xliff:g id="TOTAL_NUMBER">%s</xliff:g> contacts"</string>
+    <string name="reading_vcard_files">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> sur <xliff:g id="TOTAL_NUMBER">%s</xliff:g> fichiers"</string>
+    <string name="export_contact_list">"Exporter les contacts"</string>
+    <string name="confirm_export_title">"Confirmation de l\'exportation"</string>
+    <string name="confirm_export_message">"Votre liste de contacts va être exportée vers \"<xliff:g id="VCARD_FILENAME">%s</xliff:g>\". Voulez-vous continuer ?"</string>
+    <string name="exporting_contact_failed_title">"Échec de l\'exportation des données des contacts"</string>
+    <string name="exporting_contact_failed_message">"Échec de l\'exportation des données des contacts"\n"Cause : \"<xliff:g id="FAIL_REASON">%s</xliff:g>\""</string>
+    <string name="fail_reason_too_many_vcard">"La carte SD contient trop de données VCard."</string>
+    <string name="fail_reason_cannot_open_destination_dir">"Impossible d\'ouvrir ou de créer le répertoire de destination \"<xliff:g id="DIR_NAME">%s</xliff:g>\"."</string>
+    <string name="exporting_contact_list_title">"Exportation des données des contacts"</string>
+    <string name="exporting_contact_list_message">"Exportation des données des contacts vers \"<xliff:g id="FILE_NAME">%s</xliff:g>\""</string>
+    <string name="fail_reason_could_not_initialize_exporter">"Échec de l\'initialisation du module d\'exportation : \"<xliff:g id="EXACT_REASON">%s</xliff:g>\""</string>
+    <string name="fail_reason_error_occurred_during_export">"Une erreur s\'est produite lors de l\'exportation : \"<xliff:g id="EXACT_REASON">%s</xliff:g>\""</string>
+    <string name="fail_reason_could_not_open_file">"Impossible d\'ouvrir \"<xliff:g id="FILE_NAME">%s</xliff:g>\" : <xliff:g id="EXACT_REASON">%s</xliff:g>"</string>
+    <string name="exporting_contact_list_progress">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> sur <xliff:g id="TOTAL_NUMBER">%s</xliff:g> contacts"</string>
+    <!-- no translation found for search_settings_description (1422183266726984096) -->
+    <skip />
 </resources>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index 15fa11f..9b71f35 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -18,6 +18,11 @@
     <string name="contactsList">"Contatti"</string>
     <string name="launcherDialer">"Telefono"</string>
     <string name="shortcutContact">"Contatto"</string>
+    <string name="shortcutDialContact">"Composizione diretta"</string>
+    <string name="shortcutMessageContact">"Messaggio diretto"</string>
+    <string name="shortcutActivityTitle">"Scegli una scorciatoia contatto"</string>
+    <string name="callShortcutActivityTitle">"Scegli un numero da chiamare"</string>
+    <string name="messageShortcutActivityTitle">"Scegli un numero a cui inviare il messaggio"</string>
     <string name="starredList">"Speciali"</string>
     <string name="frequentList">"Frequenti"</string>
     <string name="strequentList">"Preferiti"</string>
@@ -168,4 +173,55 @@
     <string name="favoritesFrquentSeparator">"Numeri più chiamati"</string>
     <string name="add_contact_dlg_title">"Aggiungi contatto"</string>
     <string name="add_contact_dlg_message_fmt">"Aggiungere \"<xliff:g id="EMAIL">%s</xliff:g>\" ai contatti?"</string>
+    <string name="description_image_button_one">"uno"</string>
+    <string name="description_image_button_two">"due"</string>
+    <string name="description_image_button_three">"tre"</string>
+    <string name="description_image_button_four">"quattro"</string>
+    <string name="description_image_button_five">"cinque"</string>
+    <string name="description_image_button_six">"sei"</string>
+    <string name="description_image_button_seven">"sette"</string>
+    <string name="description_image_button_eight">"otto"</string>
+    <string name="description_image_button_nine">"nove"</string>
+    <string name="description_image_button_star">"stella"</string>
+    <string name="description_image_button_zero">"zero"</string>
+    <string name="description_image_button_pound">"sterlina"</string>
+    <string name="no_sdcard_title">"Nessuna scheda SD"</string>
+    <string name="no_sdcard_message">"Nessuna scheda SD rilevata"</string>
+    <string name="searching_vcard_title">"Ricerca VCard"</string>
+    <string name="select_import_type_title">"Da dove desideri importare i contatti?"</string>
+    <string name="import_from_sim">"Scheda SIM"</string>
+    <string name="import_from_sdcard">"Scheda SD"</string>
+    <string name="import_all_vcard_string">"Importa tutti i file VCard"</string>
+    <string name="import_one_vcard_string">"Importa un file VCard"</string>
+    <string name="searching_vcard_message">"Ricerca dati VCard su VCard"</string>
+    <string name="scanning_sdcard_failed_title">"Analisi scheda SD non riuscita"</string>
+    <string name="scanning_sdcard_failed_message">"Analisi scheda SD non riuscita"</string>
+    <string name="fail_reason_io_error">"Errore I/O"</string>
+    <string name="fail_reason_vcard_parse_error">"Analisi VCard non riuscita"</string>
+    <string name="fail_reason_no_vcard_file">"Nessun file VCard trovato sulla scheda SD"</string>
+    <string name="fail_reason_no_vcard_entry">"Nessuna voce VCard valida trovata per la tua selezione"</string>
+    <string name="select_vcard_title">"Seleziona file VCard"</string>
+    <string name="select_vcard_message">"Seleziona un file VCard da importare"</string>
+    <string name="reading_vcard_title">"Lettura VCard"</string>
+    <string name="reading_vcard_message">"Lettura file VCard"</string>
+    <string name="importing_vcard_message">"Importazione dati VCard"</string>
+    <string name="reading_vcard_failed_title">"Lettura dati VCard non riuscita"</string>
+    <string name="reading_vcard_failed_message">"Impossibile leggere i dati VCard"\n"Motivo dell\'errore: \"<xliff:g id="FAIL_REASON">%s</xliff:g>\""</string>
+    <string name="reading_vcard_contacts">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> contatti su <xliff:g id="TOTAL_NUMBER">%s</xliff:g>"</string>
+    <string name="reading_vcard_files">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> file su <xliff:g id="TOTAL_NUMBER">%s</xliff:g>"</string>
+    <string name="export_contact_list">"Esporta contatti"</string>
+    <string name="confirm_export_title">"Conferma dell\'esportazione"</string>
+    <string name="confirm_export_message">"Esportare l\'elenco contatti in \"<xliff:g id="VCARD_FILENAME">%s</xliff:g>\"?"</string>
+    <string name="exporting_contact_failed_title">"Esportazione dati di contatto non riuscita"</string>
+    <string name="exporting_contact_failed_message">"Impossibile esportare i dati di contatto"\n"Motivo dell\'errore: \"<xliff:g id="FAIL_REASON">%s</xliff:g>\""</string>
+    <string name="fail_reason_too_many_vcard">"Troppi dati VCard sulla scheda SD"</string>
+    <string name="fail_reason_cannot_open_destination_dir">"Impossibile aprire o creare la directory di destinazione \"<xliff:g id="DIR_NAME">%s</xliff:g>\""</string>
+    <string name="exporting_contact_list_title">"Esportazione dati di contatto"</string>
+    <string name="exporting_contact_list_message">"Esportazione dati di contatto in \"<xliff:g id="FILE_NAME">%s</xliff:g>\""</string>
+    <string name="fail_reason_could_not_initialize_exporter">"Impossibile inizializzare l\'utilità di esportazione: \"<xliff:g id="EXACT_REASON">%s</xliff:g>\""</string>
+    <string name="fail_reason_error_occurred_during_export">"Si è verificato un errore durante l\'esportazione: \"<xliff:g id="EXACT_REASON">%s</xliff:g>\""</string>
+    <string name="fail_reason_could_not_open_file">"Impossibile aprire \"<xliff:g id="FILE_NAME">%s</xliff:g>\": <xliff:g id="EXACT_REASON">%s</xliff:g>"</string>
+    <string name="exporting_contact_list_progress">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> contatti su <xliff:g id="TOTAL_NUMBER">%s</xliff:g>"</string>
+    <!-- no translation found for search_settings_description (1422183266726984096) -->
+    <skip />
 </resources>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index b97c9f6..6da1bd6 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -18,6 +18,16 @@
     <string name="contactsList">"連絡先"</string>
     <string name="launcherDialer">"電話"</string>
     <string name="shortcutContact">"連絡先"</string>
+    <!-- no translation found for shortcutDialContact (7165340343023469996) -->
+    <skip />
+    <!-- no translation found for shortcutMessageContact (3025782962770298900) -->
+    <skip />
+    <!-- no translation found for shortcutActivityTitle (6642877210643565436) -->
+    <skip />
+    <!-- no translation found for callShortcutActivityTitle (6065749861423648991) -->
+    <skip />
+    <!-- no translation found for messageShortcutActivityTitle (3084542316620335911) -->
+    <skip />
     <string name="starredList">"スター付き"</string>
     <string name="frequentList">"よく使う連絡先"</string>
     <string name="strequentList">"お気に入り"</string>
@@ -29,14 +39,14 @@
     <string name="menu_search">"検索"</string>
     <string name="menu_newContact">"連絡先を新規登録"</string>
     <string name="menu_viewContact">"連絡先詳細"</string>
-    <string name="menu_callNumber">"発信 <xliff:g id="NAME">%s</xliff:g>"</string>
+    <string name="menu_callNumber">"<xliff:g id="NAME">%s</xliff:g>に発信"</string>
     <string name="menu_addStar">"お気に入りに追加"</string>
     <string name="menu_removeStar">"お気に入りから削除"</string>
     <string name="menu_showBarcode">"バーコードを表示"</string>
     <string name="menu_editContact">"連絡先を編集"</string>
     <string name="menu_deleteContact">"連絡先を削除"</string>
     <string name="menu_call">"発信"</string>
-    <string name="menu_sendSMS">"SMS/MMSを送信"</string>
+    <string name="menu_sendSMS">"SMSを送信"</string>
     <string name="menu_sendEmail">"メールを送信"</string>
     <string name="menu_viewAddress">"地図でみる"</string>
     <string name="menu_makeDefaultNumber">"メインの番号に設定する"</string>
@@ -97,7 +107,7 @@
     <string name="contactSavedToast">"連絡先を保存しました。"</string>
     <string name="listSeparatorCallNumber">"発信"</string>
     <string name="listSeparatorCallNumber_edit">"電話番号"</string>
-    <string name="listSeparatorSendSmsMms">"SMS/MMSを送信"</string>
+    <string name="listSeparatorSendSmsMms">"SMSを送信"</string>
     <string name="listSeparatorSendEmail">"メールを送信"</string>
     <string name="listSeparatorSendEmail_edit">"メールアドレス"</string>
     <string name="listSeparatorSendIm">"インスタントメッセージを送信"</string>
@@ -116,7 +126,7 @@
     <string name="liveFolderFavorites">"スター付きの連絡先"</string>
     <string name="liveFolderPhone">"電話番号のある連絡先"</string>
     <string name="menu_sendTextMessage">"SMSメッセージを送信"</string>
-    <string name="recentCalls_callNumber">"発信 <xliff:g id="NAME">%s</xliff:g>"</string>
+    <string name="recentCalls_callNumber">"<xliff:g id="NAME">%s</xliff:g>に発信"</string>
     <string name="recentCalls_editNumberBeforeCall">"発信前に番号を編集"</string>
     <string name="recentCalls_addToContact">"連絡先に追加"</string>
     <string name="recentCalls_removeFromRecentList">"通話履歴から消去"</string>
@@ -128,11 +138,11 @@
     <string name="private_num">"非通知"</string>
     <string name="payphone">"公衆電話発信"</string>
     <string name="dialerKeyboardHintText">"キーボードで番号を入力してください"</string>
-    <string name="dialerDialpadHintText">"ダイヤルして通話追加"</string>
+    <string name="dialerDialpadHintText">"ダイヤルして追加"</string>
     <string name="simContacts_emptyLoading">"SIMカードから読み取り中..."</string>
     <string name="simContacts_title">"SIMカードの連絡先"</string>
     <string name="contactsSyncPlug"><font fgcolor="#ffffffff">"Googleアカウントの連絡先同期"</font>" "\n"Googleサービスで使っている連絡先をこの携帯電話でも使えるようになります。"</string>
-    <string name="noContactsHelpText">"連絡先が登録されていません。"\n\n<font fgcolor="#ffffffff"><b>"MENU"</b></font>"キーを押して登録方法を選択してください:"\n" "\n<li><font fgcolor="#ffffffff"><b>"連絡先を新規登録"</b></font>": 連絡先を入力して新規作成します"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"連絡先をインポート"</b></font>": 連絡先をSIMカードから取り込みます"\n</li></string>
+    <string name="noContactsHelpText">"連絡先が登録されていません。"\n\n<font fgcolor="#ffffffff"><b>"MENU"</b></font>"キーを押して登録方法を選択してください:"\n" "\n<li><font fgcolor="#ffffffff"><b>"連絡先を新規登録"</b></font>": 連絡先を入力して新規作成します"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"連絡先をインポート"</b></font>": 連絡先をSIMカードおよびSDカードから取り込みます"\n</li></string>
     <string name="noContactsHelpTextWithSync">"連絡先が登録されていません。"\n\n<font fgcolor="#ffffffff"><b>"MENU"</b></font>"キーを押して登録方法を選択してください:"\n\n<li><font fgcolor="#ffffffff"><b>"同期する範囲"</b></font>": Googleアカウントから連絡先を読み込んで追加します"\n</li>\n<li><font fgcolor="#ffffffff"><b>"連絡先を新規登録"</b></font>": 連絡先を入力して新規作成します"\n</li>\n<li><font fgcolor="#ffffffff"><b>"連絡先をインポート"</b></font>": 連絡先をSIMカードから取り込みます"\n</li></string>
     <string name="seclectSyncGroups_title">"同期するグループを選択"</string>
     <string name="liveFolder_all_label">"すべての連絡先"</string>
@@ -168,4 +178,69 @@
     <string name="favoritesFrquentSeparator">"よく使う連絡先"</string>
     <string name="add_contact_dlg_title">"連絡先を追加"</string>
     <string name="add_contact_dlg_message_fmt">"<xliff:g id="EMAIL">%s</xliff:g> を連絡先に追加しますか？"</string>
+    <!-- no translation found for description_image_button_one (1740638037139856139) -->
+    <skip />
+    <!-- no translation found for description_image_button_two (5882638439003731308) -->
+    <skip />
+    <!-- no translation found for description_image_button_three (8709731759376015180) -->
+    <skip />
+    <!-- no translation found for description_image_button_four (3530239685642246130) -->
+    <skip />
+    <!-- no translation found for description_image_button_five (1182465427501188413) -->
+    <skip />
+    <!-- no translation found for description_image_button_six (2093656269261415475) -->
+    <skip />
+    <!-- no translation found for description_image_button_seven (2450357020447676481) -->
+    <skip />
+    <!-- no translation found for description_image_button_eight (6969435115163287801) -->
+    <skip />
+    <!-- no translation found for description_image_button_nine (7857248695662558323) -->
+    <skip />
+    <!-- no translation found for description_image_button_star (3365919907520767866) -->
+    <skip />
+    <!-- no translation found for description_image_button_zero (4133108949401820710) -->
+    <skip />
+    <!-- no translation found for description_image_button_pound (3039765597595889230) -->
+    <skip />
+    <string name="no_sdcard_title">"SDカードがありません"</string>
+    <string name="no_sdcard_message">"SDカードを検出できませんでした"</string>
+    <string name="searching_vcard_title">"VCardを検索中"</string>
+    <string name="select_import_type_title">"連絡先のインポート元を選択してください"</string>
+    <string name="import_from_sim">"SIMカード"</string>
+    <string name="import_from_sdcard">"SDカード"</string>
+    <!-- no translation found for import_all_vcard_string (2788222288962542415) -->
+    <skip />
+    <!-- no translation found for import_one_vcard_string (4618119296910253689) -->
+    <skip />
+    <string name="searching_vcard_message">"VCardのVCardデータを検索しています"</string>
+    <string name="scanning_sdcard_failed_title">"SDカードのスキャン失敗"</string>
+    <string name="scanning_sdcard_failed_message">"SDカードのスキャンに失敗しました"</string>
+    <string name="fail_reason_io_error">"送受信エラー"</string>
+    <string name="fail_reason_vcard_parse_error">"VCardの解析に失敗しました"</string>
+    <string name="fail_reason_no_vcard_file">"SDカードでVCardファイルが見つかりません"</string>
+    <string name="fail_reason_no_vcard_entry">"選択した内容の有効なVCardエントリが見つかりません"</string>
+    <string name="select_vcard_title">"VCardファイルの選択"</string>
+    <string name="select_vcard_message">"インポートするVCardファイルを選択してください"</string>
+    <string name="reading_vcard_title">"VCardを読み取り中"</string>
+    <string name="reading_vcard_message">"VCardファイルを読み取り中"</string>
+    <string name="importing_vcard_message">"VCardデータをインポート中"</string>
+    <string name="reading_vcard_failed_title">"VCardデータの読み取りに失敗しました"</string>
+    <string name="reading_vcard_failed_message">"VCardデータを読み取れませんでした"\n"エラーの理由: \"<xliff:g id="FAIL_REASON">%s</xliff:g>\""</string>
+    <string name="reading_vcard_contacts">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g>/<xliff:g id="TOTAL_NUMBER">%s</xliff:g>件の連絡先"</string>
+    <string name="reading_vcard_files">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g>/<xliff:g id="TOTAL_NUMBER">%s</xliff:g>件のファイル"</string>
+    <string name="export_contact_list">"連絡先をエクスポート"</string>
+    <string name="confirm_export_title">"エクスポートの確認"</string>
+    <string name="confirm_export_message">"連絡先を\"<xliff:g id="VCARD_FILENAME">%s</xliff:g>\"にエクスポートしてもよろしいですか？"</string>
+    <string name="exporting_contact_failed_title">"連絡先データのエクスポートに失敗しました"</string>
+    <string name="exporting_contact_failed_message">"連絡先データのエクスポートに失敗しました"\n"エラーの理由: \"<xliff:g id="FAIL_REASON">%s</xliff:g>\""</string>
+    <string name="fail_reason_too_many_vcard">"SDカードのVCardデータが多すぎます"</string>
+    <string name="fail_reason_cannot_open_destination_dir">"ディレクトリ\"<xliff:g id="DIR_NAME">%s</xliff:g>\"を開けません"</string>
+    <string name="exporting_contact_list_title">"連絡先データのエクスポート"</string>
+    <string name="exporting_contact_list_message">"連絡先データを\"<xliff:g id="FILE_NAME">%s</xliff:g>\"にエクスポートしています"</string>
+    <string name="fail_reason_could_not_initialize_exporter">"エクスポータを初期化できませんでした: \"<xliff:g id="EXACT_REASON">%s</xliff:g>\""</string>
+    <string name="fail_reason_error_occurred_during_export">"エクスポート中にエラーが発生しました: \"<xliff:g id="EXACT_REASON">%s</xliff:g>\""</string>
+    <string name="fail_reason_could_not_open_file">"\"<xliff:g id="FILE_NAME">%s</xliff:g>\"を開けませんでした: <xliff:g id="EXACT_REASON">%s</xliff:g>"</string>
+    <string name="exporting_contact_list_progress">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g>/<xliff:g id="TOTAL_NUMBER">%s</xliff:g>件のファイル"</string>
+    <!-- no translation found for search_settings_description (1422183266726984096) -->
+    <skip />
 </resources>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index fb3a434..928b90a 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -15,27 +15,37 @@
 -->
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="contactsList">"연락처"</string>
-    <string name="launcherDialer">"Dialer"</string>
+    <string name="contactsList">"주소록"</string>
+    <string name="launcherDialer">"다이얼러"</string>
     <string name="shortcutContact">"연락처"</string>
-    <string name="starredList">"별표 표시된 연락처"</string>
-    <string name="frequentList">"자주 거는 전화"</string>
-    <string name="strequentList">"자주 거는 전화"</string>
-    <string name="viewContactTitle">"연락처 상세정보"</string>
+    <!-- no translation found for shortcutDialContact (7165340343023469996) -->
+    <skip />
+    <!-- no translation found for shortcutMessageContact (3025782962770298900) -->
+    <skip />
+    <!-- no translation found for shortcutActivityTitle (6642877210643565436) -->
+    <skip />
+    <!-- no translation found for callShortcutActivityTitle (6065749861423648991) -->
+    <skip />
+    <!-- no translation found for messageShortcutActivityTitle (3084542316620335911) -->
+    <skip />
+    <string name="starredList">"중요주소록"</string>
+    <string name="frequentList">"자주 사용하는 연락처"</string>
+    <string name="strequentList">"즐겨찾기"</string>
+    <string name="viewContactTitle">"연락처 세부정보"</string>
     <string name="viewContactDesription">"연락처 보기"</string>
-    <string name="editContactDescription">"연락처 편집"</string>
+    <string name="editContactDescription">"연락처 수정"</string>
     <string name="insertContactDescription">"연락처 만들기"</string>
-    <string name="searchHint">"연락처 검색"</string>
+    <string name="searchHint">"주소록 검색"</string>
     <string name="menu_search">"검색"</string>
     <string name="menu_newContact">"새 연락처"</string>
     <string name="menu_viewContact">"연락처 보기"</string>
-    <string name="menu_callNumber">"<xliff:g id="NAME">%s</xliff:g>에게 전화걸기"</string>
+    <string name="menu_callNumber">"통화: <xliff:g id="NAME">%s</xliff:g>"</string>
     <string name="menu_addStar">"즐겨찾기에 추가"</string>
     <string name="menu_removeStar">"즐겨찾기에서 삭제"</string>
     <string name="menu_showBarcode">"바코드 표시"</string>
-    <string name="menu_editContact">"연락처 편집"</string>
+    <string name="menu_editContact">"연락처 수정"</string>
     <string name="menu_deleteContact">"연락처 삭제"</string>
-    <string name="menu_call">"전화걸기"</string>
+    <string name="menu_call">"통화"</string>
     <string name="menu_sendSMS">"SMS/MMS 보내기"</string>
     <string name="menu_sendEmail">"이메일 보내기"</string>
     <string name="menu_viewAddress">"지도상의 주소"</string>
@@ -44,17 +54,17 @@
     <string name="deleteConfirmation">"연락처가 삭제됩니다."</string>
     <string name="menu_done">"완료"</string>
     <string name="menu_doNotSave">"되돌리기"</string>
-    <string name="editContact_title_edit">"연락처 편집"</string>
+    <string name="editContact_title_edit">"연락처 수정"</string>
     <string name="editContact_title_insert">"새 연락처"</string>
-    <string name="menu_addItem">"추가정보"</string>
+    <string name="menu_addItem">"추가 정보"</string>
     <string name="label_phonetic_name">"소리나는 대로"</string>
     <string name="label_notes">"메모"</string>
     <string name="label_ringtone">"벨소리"</string>
     <string name="ghostData_name">"이름"</string>
-    <string name="ghostData_phonetic_name">"소리나는 대로의 이름"</string>
+    <string name="ghostData_phonetic_name">"이름(소리나는 대로)"</string>
     <string name="ghostData_company">"회사"</string>
-    <string name="ghostData_title">"직급"</string>
-    <string name="ghostData_im">"IM 이름"</string>
+    <string name="ghostData_title">"위치"</string>
+    <string name="ghostData_im">"메신저 이름"</string>
     <string name="ghostData_notes">"내 메모"</string>
     <string name="ghostData_phone">"전화번호"</string>
     <string name="ghostData_email">"이메일 주소"</string>
@@ -62,9 +72,9 @@
     <string name="invalidContactMessage">"연락처가 없습니다."</string>
     <string name="pickerNewContactHeader">"새 연락처 만들기"</string>
     <string name="selectLabel">"라벨 선택"</string>
-    <string name="phoneLabelsGroup">"전화"</string>
+    <string name="phoneLabelsGroup">"휴대전화"</string>
     <string name="emailLabelsGroup">"이메일"</string>
-    <string name="imLabelsGroup">"IM"</string>
+    <string name="imLabelsGroup">"메신저"</string>
     <string name="postalLabelsGroup">"주소"</string>
     <string name="otherLabelsGroup">"기타"</string>
   <string-array name="otherLabels">
@@ -72,54 +82,54 @@
     <item>"메모"</item>
   </string-array>
     <string name="errorDialogTitle">"사진 없음"</string>
-    <string name="photoPickerNotFoundText">"전화기에 사진이 없습니다."</string>
+    <string name="photoPickerNotFoundText">"휴대전화에 사진이 없습니다."</string>
     <string name="attachToContact">"연락처 아이콘"</string>
-    <string name="customLabelPickerTitle">"맞춤 라벨 이름"</string>
+    <string name="customLabelPickerTitle">"라벨 이름 맞춤 설정"</string>
     <string name="menu_displayGroup">"그룹 표시"</string>
-    <string name="syncGroupPreference">"동기화 그룹 편집"</string>
-    <string name="importFromSim">"연락처 가져오기"</string>
-    <string name="send_to_voicemail_checkbox">"음성메일에 직접 전화걸기"</string>
+    <string name="syncGroupPreference">"동기화 그룹 수정"</string>
+    <string name="importFromSim">"주소록 가져오기"</string>
+    <string name="send_to_voicemail_checkbox">"수신전화를 바로 음성메일로 보내기"</string>
     <string name="send_to_voicemail_view">"수신전화가 바로 음성메일로 연결됩니다."</string>
-    <string name="default_ringtone">"기본 벨소리"</string>
-    <string name="addPicture">"사진 추가"</string>
-    <string name="removePicture">"사진 제거"</string>
-    <string name="noContacts">"연락처가 없습니다."</string>
-    <string name="noContactsWithPhoneNumbers">"전화번호가 포함된 연락처가 없습니다."</string>
-    <string name="noFavorites">"자주 거는 전화가 없습니다."</string>
+    <string name="default_ringtone">"기본값"</string>
+    <string name="addPicture">"아이콘 추가"</string>
+    <string name="removePicture">"아이콘 삭제"</string>
+    <string name="noContacts">"주소록이 없습니다."</string>
+    <string name="noContactsWithPhoneNumbers">"전화번호가 포함된 주소록이 없습니다."</string>
+    <string name="noFavorites">"즐겨찾기가 없습니다."</string>
     <string name="select_group_title">"그룹"</string>
-    <string name="groupEmpty">"\"<xliff:g id="GROUPNAME">%s</xliff:g>\" 그룹이 비었습니다."</string>
-    <string name="showAllGroups">"모든 연락처"</string>
-    <string name="syncAllGroups">"모든 연락처 동기화"</string>
-    <string name="groupNameMyContacts">"내 연락처"</string>
-    <string name="groupNameWithPhones">"전화번호가 포함된 연락처"</string>
-    <string name="starredInAndroid">"Android에 별표"</string>
-    <string name="contactCreatedToast">"연락처가 생성되었습니다."</string>
-    <string name="contactSavedToast">"연락처가 저장되었습니다."</string>
-    <string name="listSeparatorCallNumber">"전화번호"</string>
+    <string name="groupEmpty">"\'<xliff:g id="GROUPNAME">%s</xliff:g>\' 그룹이 비어 있습니다."</string>
+    <string name="showAllGroups">"모든 주소록"</string>
+    <string name="syncAllGroups">"모든 주소록 동기화"</string>
+    <string name="groupNameMyContacts">"내 주소록"</string>
+    <string name="groupNameWithPhones">"전화번호가 포함된 주소록"</string>
+    <string name="starredInAndroid">"Android 중요주소록"</string>
+    <string name="contactCreatedToast">"연락처를 만들었습니다."</string>
+    <string name="contactSavedToast">"연락처를 저장했습니다."</string>
+    <string name="listSeparatorCallNumber">"전화걸기"</string>
     <string name="listSeparatorCallNumber_edit">"전화번호"</string>
     <string name="listSeparatorSendSmsMms">"SMS/MMS 보내기"</string>
     <string name="listSeparatorSendEmail">"이메일 보내기"</string>
     <string name="listSeparatorSendEmail_edit">"이메일 주소"</string>
-    <string name="listSeparatorSendIm">"인스턴트 메시지 보내기"</string>
+    <string name="listSeparatorSendIm">"채팅 메시지 보내기"</string>
     <string name="listSeparatorSendIm_edit">"채팅 주소"</string>
     <string name="listSeparatorMapAddress">"지도상의 주소"</string>
-    <string name="listSeparatorMapAddress_edit">"우편 주소"</string>
+    <string name="listSeparatorMapAddress_edit">"주소"</string>
     <string name="listSeparatorOrganizations">"조직"</string>
     <string name="listSeparatorOtherInformation">"기타 정보"</string>
     <string name="listSeparatorOtherInformation_edit">"기타 옵션"</string>
     <string name="listSeparatorMore_edit">"더보기"</string>
-    <string name="contactsIconLabel">"연락처"</string>
-    <string name="contactsFavoritesLabel">"자주 거는 전화"</string>
-    <string name="dialerIconLabel">"전화걸기"</string>
+    <string name="contactsIconLabel">"주소록"</string>
+    <string name="contactsFavoritesLabel">"즐겨찾기"</string>
+    <string name="dialerIconLabel">"다이얼러"</string>
     <string name="recentCallsIconLabel">"통화기록"</string>
-    <string name="liveFolderAll">"전체 주소록"</string>
-    <string name="liveFolderFavorites">"별표 표시된 주소"</string>
-    <string name="liveFolderPhone">"전화번호 주소록"</string>
+    <string name="liveFolderAll">"모든 주소록"</string>
+    <string name="liveFolderFavorites">"중요주소록"</string>
+    <string name="liveFolderPhone">"전화번호가 포함된 주소록"</string>
     <string name="menu_sendTextMessage">"SMS 메시지 보내기"</string>
-    <string name="recentCalls_callNumber">"<xliff:g id="NAME">%s</xliff:g>에게 전화걸기"</string>
-    <string name="recentCalls_editNumberBeforeCall">"전화 걸기 전에 번호 편집"</string>
-    <string name="recentCalls_addToContact">"연락처에 추가"</string>
-    <string name="recentCalls_removeFromRecentList">"통화기록에서 제거"</string>
+    <string name="recentCalls_callNumber">"통화: <xliff:g id="NAME">%s</xliff:g>"</string>
+    <string name="recentCalls_editNumberBeforeCall">"통화하기 전에 번호 수정"</string>
+    <string name="recentCalls_addToContact">"주소록에 추가"</string>
+    <string name="recentCalls_removeFromRecentList">"통화기록에서 삭제"</string>
     <string name="recentCalls_deleteAll">"통화기록 지우기"</string>
     <string name="recentCalls_empty">"통화기록이 없습니다."</string>
     <string name="imei">"IMEI"</string>
@@ -128,44 +138,120 @@
     <string name="private_num">"비공개 번호"</string>
     <string name="payphone">"공중전화"</string>
     <string name="dialerKeyboardHintText">"키보드를 사용하여 전화걸기"</string>
-    <string name="dialerDialpadHintText">"통화를 추가할 전화번호 입력"</string>
-    <string name="simContacts_emptyLoading">"SIM 카드에서 로드 중…"</string>
-    <string name="simContacts_title">"SIM 카드 연락처"</string>
-    <string name="contactsSyncPlug"><font fgcolor="#ffffffff">"Google 연락처를 동기화하세요."</font>" "\n"연락처를 전화기로 동기화하면 어디에서나 연락처를 확인할 수 있습니다."</string>
-    <string name="noContactsHelpText">"저장된 주소록이 없습니다."\n\n"주소록을 추가하려면 "<font fgcolor="#ffffffff"><b>"메뉴"</b></font>"를 누르고 다음을 선택하세요."\n" "\n<li><font fgcolor="#ffffffff"><b>"새 주소록"</b></font>" - 주소록을 새로 생성하려는 경우"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"주소록 가져오기"</b></font>" - SIM 카드에서 주소록을 추가하려는 경우"\n</li></string>
-    <string name="noContactsHelpTextWithSync">"저장된 주소록이 없습니다."\n\n"주소록을 추가하려면 "<font fgcolor="#ffffffff"><b>"메뉴"</b></font>"를 누르고 다음을 선택하세요."\n\n" "<li><font fgcolor="#ffffffff"><b>"동기화 그룹 수정"</b></font>" - 새 계정 또는 기존 Google 계정에서 추가하려는 경우"\n</li>\n" "<li><font fgcolor="#ffffffff"><b>"새 주소록"</b></font>" - 주소록을 새로 생성하려는 경우"\n</li>\n" "<li><font fgcolor="#ffffffff"><b>"주소록 가져오기"</b></font>" - SIM 카드에서 주소록을 추가하려는 경우"\n</li></string>
+    <string name="dialerDialpadHintText">"전화번호를 눌러 통화 추가"</string>
+    <string name="simContacts_emptyLoading">"SIM 카드에서 로딩 중..."</string>
+    <string name="simContacts_title">"SIM 카드 주소록"</string>
+    <string name="contactsSyncPlug"><font fgcolor="#ffffffff">"Google 주소록 동기화"</font>" "\n"휴대전화에 동기화하면 어디서나 주소록을 사용할 수 있습니다."</string>
+    <string name="noContactsHelpText">"주소록이 없습니다. "\n\n"주소록을 추가하려면 "<font fgcolor="#ffffffff"><b>"메뉴"</b></font>"를 누르고 다음을 선택하세요. "\n" "\n<li><font fgcolor="#ffffffff"><b>"새 연락처"</b></font>" - 새 연락처를 만들려는 경우"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"주소록 가져오기"</b></font>" - SIM 카드에서 주소록을 추가하려는 경우"\n</li></string>
+    <string name="noContactsHelpTextWithSync">"주소록이 없습니다."\n\n"주소록을 추가하려면 "<font fgcolor="#ffffffff"><b>"메뉴"</b></font>"를 누르고 다음을 선택하세요. "\n" "\n<li><font fgcolor="#ffffffff"><b>"동기화 그룹 수정"</b></font>" - 새로운 또는 기존 Google 계정에서 추가하려는 경우"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"새 연락처"</b></font>" - 새 연락처를 만들려는 경우"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"주소록 가져오기"</b></font>" - SIM 카드에서 주소록을 추가하려는 경우"\n</li></string>
     <string name="seclectSyncGroups_title">"동기화할 그룹 선택"</string>
-    <string name="liveFolder_all_label">"전체 주소록"</string>
-    <string name="liveFolder_favorites_label">"중요편지함"</string>
-    <string name="liveFolder_phones_label">"전화번호"</string>
+    <string name="liveFolder_all_label">"모든 주소록"</string>
+    <string name="liveFolder_favorites_label">"중요 주소록"</string>
+    <string name="liveFolder_phones_label">"휴대전화"</string>
     <string name="dialer_useDtmfDialpad">"터치톤 키패드 사용"</string>
     <string name="dialer_returnToInCallScreen">"진행 중인 통화로 돌아가기"</string>
     <string name="dialer_addAnotherCall">"통화 추가"</string>
     <string name="callDetailTitle">"통화 세부정보"</string>
-    <string name="toast_call_detail_error">"요청한 통화의 세부정보를 볼 수 없습니다."</string>
+    <string name="toast_call_detail_error">"요청한 통화의 세부정보를 읽지 못했습니다."</string>
     <string name="call_type">"유형"</string>
-    <string name="type_incoming">"수신통화"</string>
-    <string name="type_outgoing">"발신통화"</string>
+    <string name="type_incoming">"수신 전화"</string>
+    <string name="type_outgoing">"발신 통화"</string>
     <string name="type_missed">"부재중 전화"</string>
     <string name="call_time">"시간"</string>
     <string name="datetime_relative">"<xliff:g id="DATETIME">%1$s</xliff:g>(<xliff:g id="RELATIVE">%2$s</xliff:g>)"</string>
-    <string name="call_duration">"통화시간"</string>
-    <string name="header_actions">"작업"</string>
+    <string name="call_duration">"통화 시간"</string>
+    <string name="header_actions">"동작"</string>
     <string name="ringtone_spinner">"벨소리: <xliff:g id="RINGTONE">%1$s</xliff:g>"</string>
-    <string name="add_more_items">"항목 더 추가"</string>
-    <string name="actionCall">"<xliff:g id="TYPE">%s</xliff:g>(으)로 전화걸기"</string>
-    <string name="actionEmail">"<xliff:g id="TYPE">%s</xliff:g>(으)로 이메일 보내기"</string>
-    <string name="actionText">"<xliff:g id="TYPE">%s</xliff:g>(으)로 문자 보내기"</string>
-    <string name="actionChat">"<xliff:g id="TYPE">%s</xliff:g> 채팅"</string>
+    <string name="add_more_items">"항목 추가"</string>
+    <string name="actionCall">"통화(<xliff:g id="TYPE">%s</xliff:g>)"</string>
+    <string name="actionEmail">"이메일(<xliff:g id="TYPE">%s</xliff:g>)"</string>
+    <string name="actionText">"문자(<xliff:g id="TYPE">%s</xliff:g>)"</string>
+    <string name="actionChat">"<xliff:g id="TYPE">%s</xliff:g>로 채팅"</string>
     <string name="actionMap">"<xliff:g id="TYPE">%s</xliff:g> 주소 보기"</string>
     <string name="actionIncomingCall">"수신 전화"</string>
-    <string name="detailIncomingCallsGoToVoicemail">"음성메일로 바로 보냄"</string>
+    <string name="detailIncomingCallsGoToVoicemail">"바로 음성메일로 연결됩니다."</string>
     <string name="detailsRingtone">"<xliff:g id="RINGTONE_NAME">%s</xliff:g>(으)로 설정"</string>
-    <string name="callBack">"콜백"</string>
-    <string name="callAgain">"다시 걸기"</string>
-    <string name="returnCall">"부재중 전화에 전화 걸기"</string>
+    <string name="callBack">"통화"</string>
+    <string name="callAgain">"다시 통화"</string>
+    <string name="returnCall">"회신 통화에 전화걸기"</string>
     <string name="callDetailsDurationFormat">"<xliff:g id="MINUTES">%s</xliff:g>분 <xliff:g id="SECONDS">%s</xliff:g>초"</string>
     <string name="favoritesFrquentSeparator">"자주 통화한 목록"</string>
-    <string name="add_contact_dlg_title">"주소 추가"</string>
-    <string name="add_contact_dlg_message_fmt">"주소록에 \'<xliff:g id="EMAIL">%s</xliff:g>\'을(를) 추가하시겠습니까?"</string>
+    <string name="add_contact_dlg_title">"연락처 추가"</string>
+    <string name="add_contact_dlg_message_fmt">"\'<xliff:g id="EMAIL">%s</xliff:g>\'을(를) 주소록에 추가하겠습니까?"</string>
+    <!-- no translation found for description_image_button_one (1740638037139856139) -->
+    <skip />
+    <!-- no translation found for description_image_button_two (5882638439003731308) -->
+    <skip />
+    <!-- no translation found for description_image_button_three (8709731759376015180) -->
+    <skip />
+    <!-- no translation found for description_image_button_four (3530239685642246130) -->
+    <skip />
+    <!-- no translation found for description_image_button_five (1182465427501188413) -->
+    <skip />
+    <!-- no translation found for description_image_button_six (2093656269261415475) -->
+    <skip />
+    <!-- no translation found for description_image_button_seven (2450357020447676481) -->
+    <skip />
+    <!-- no translation found for description_image_button_eight (6969435115163287801) -->
+    <skip />
+    <!-- no translation found for description_image_button_nine (7857248695662558323) -->
+    <skip />
+    <!-- no translation found for description_image_button_star (3365919907520767866) -->
+    <skip />
+    <!-- no translation found for description_image_button_zero (4133108949401820710) -->
+    <skip />
+    <!-- no translation found for description_image_button_pound (3039765597595889230) -->
+    <skip />
+    <string name="no_sdcard_title">"SD 카드 없음"</string>
+    <string name="no_sdcard_message">"SD 카드가 발견되지 않았습니다."</string>
+    <string name="searching_vcard_title">"VCard 검색"</string>
+    <string name="select_import_type_title">"어디에서 주소록을 가져오시겠습니까?"</string>
+    <string name="import_from_sim">"SIM 카드"</string>
+    <string name="import_from_sdcard">"SD 카드"</string>
+    <string name="import_all_vcard_string">"모든 VCard 파일 가져오기"</string>
+    <string name="import_one_vcard_string">"VCard 파일 한 개 가져오기"</string>
+    <string name="searching_vcard_message">"VCard에서 VCard 데이터 검색 중"</string>
+    <string name="scanning_sdcard_failed_title">"SD 카드 스캔 실패"</string>
+    <string name="scanning_sdcard_failed_message">"SD 카드 스캔 실패"</string>
+    <string name="fail_reason_io_error">"I/O 오류"</string>
+    <string name="fail_reason_vcard_parse_error">"VCard 구문분석에 실패했습니다."</string>
+    <string name="fail_reason_no_vcard_file">"SD 카드에 VCard 파일이 없습니다."</string>
+    <string name="fail_reason_no_vcard_entry">"선택한 항목에 유효한 VCard 주소가 없습니다."</string>
+    <string name="select_vcard_title">"VCard 파일 선택"</string>
+    <string name="select_vcard_message">"가져올 VCard 파일을 선택하세요."</string>
+    <string name="reading_vcard_title">"VCard 읽는 중"</string>
+    <string name="reading_vcard_message">"VCard 파일 읽는 중"</string>
+    <string name="importing_vcard_message">"VCard 데이터 가져오기"</string>
+    <string name="reading_vcard_failed_title">"VCard 데이터를 읽어오지 못했습니다."</string>
+    <string name="reading_vcard_failed_message">"VCard 데이터를 읽을 수 없습니다."\n"실패 이유: \'<xliff:g id="FAIL_REASON">%s</xliff:g>\'"</string>
+    <string name="reading_vcard_contacts">"주소록 <xliff:g id="TOTAL_NUMBER">%s</xliff:g>개 중 <xliff:g id="CURRENT_NUMBER">%s</xliff:g>개"</string>
+    <string name="reading_vcard_files">"파일 <xliff:g id="TOTAL_NUMBER">%s</xliff:g>개 중 <xliff:g id="CURRENT_NUMBER">%s</xliff:g>개"</string>
+    <!-- no translation found for export_contact_list (3165097742175874384) -->
+    <skip />
+    <!-- no translation found for confirm_export_title (1693047909433122854) -->
+    <skip />
+    <!-- no translation found for confirm_export_message (63482084706768079) -->
+    <skip />
+    <!-- no translation found for exporting_contact_failed_title (1455264422455075858) -->
+    <skip />
+    <!-- no translation found for exporting_contact_failed_message (1426451081541603512) -->
+    <skip />
+    <!-- no translation found for fail_reason_too_many_vcard (5416992255233341607) -->
+    <skip />
+    <!-- no translation found for fail_reason_cannot_open_destination_dir (1739293936432987758) -->
+    <skip />
+    <!-- no translation found for exporting_contact_list_title (9072240631534457415) -->
+    <skip />
+    <!-- no translation found for exporting_contact_list_message (5640326540405486055) -->
+    <skip />
+    <!-- no translation found for fail_reason_could_not_initialize_exporter (4943708332700987376) -->
+    <skip />
+    <!-- no translation found for fail_reason_error_occurred_during_export (2151165129433831202) -->
+    <skip />
+    <!-- no translation found for fail_reason_could_not_open_file (4013520943128739511) -->
+    <skip />
+    <!-- no translation found for exporting_contact_list_progress (560522409559101193) -->
+    <skip />
+    <!-- no translation found for search_settings_description (1422183266726984096) -->
+    <skip />
 </resources>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index 5aaa0e8..c779aeb 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -18,6 +18,16 @@
     <string name="contactsList">"Kontakter"</string>
     <string name="launcherDialer">"Telefon"</string>
     <string name="shortcutContact">"Kontakt"</string>
+    <!-- no translation found for shortcutDialContact (7165340343023469996) -->
+    <skip />
+    <!-- no translation found for shortcutMessageContact (3025782962770298900) -->
+    <skip />
+    <!-- no translation found for shortcutActivityTitle (6642877210643565436) -->
+    <skip />
+    <!-- no translation found for callShortcutActivityTitle (6065749861423648991) -->
+    <skip />
+    <!-- no translation found for messageShortcutActivityTitle (3084542316620335911) -->
+    <skip />
     <string name="starredList">"Med stjerne"</string>
     <string name="frequentList">"Mest brukt"</string>
     <string name="strequentList">"Favoritter"</string>
@@ -168,4 +178,104 @@
     <string name="favoritesFrquentSeparator">"Ofte ringt"</string>
     <string name="add_contact_dlg_title">"Legg til kontakt"</string>
     <string name="add_contact_dlg_message_fmt">"Legg til \"<xliff:g id="EMAIL">%s</xliff:g>\" som kontakt?"</string>
+    <!-- no translation found for description_image_button_one (1740638037139856139) -->
+    <skip />
+    <!-- no translation found for description_image_button_two (5882638439003731308) -->
+    <skip />
+    <!-- no translation found for description_image_button_three (8709731759376015180) -->
+    <skip />
+    <!-- no translation found for description_image_button_four (3530239685642246130) -->
+    <skip />
+    <!-- no translation found for description_image_button_five (1182465427501188413) -->
+    <skip />
+    <!-- no translation found for description_image_button_six (2093656269261415475) -->
+    <skip />
+    <!-- no translation found for description_image_button_seven (2450357020447676481) -->
+    <skip />
+    <!-- no translation found for description_image_button_eight (6969435115163287801) -->
+    <skip />
+    <!-- no translation found for description_image_button_nine (7857248695662558323) -->
+    <skip />
+    <!-- no translation found for description_image_button_star (3365919907520767866) -->
+    <skip />
+    <!-- no translation found for description_image_button_zero (4133108949401820710) -->
+    <skip />
+    <!-- no translation found for description_image_button_pound (3039765597595889230) -->
+    <skip />
+    <!-- no translation found for no_sdcard_title (6455416795090113715) -->
+    <skip />
+    <!-- no translation found for no_sdcard_message (7791906118138538259) -->
+    <skip />
+    <!-- no translation found for searching_vcard_title (4158580043290687793) -->
+    <skip />
+    <!-- no translation found for select_import_type_title (2443742794103731022) -->
+    <skip />
+    <!-- no translation found for import_from_sim (3362158539070179154) -->
+    <skip />
+    <!-- no translation found for import_from_sdcard (8854793070007530689) -->
+    <skip />
+    <!-- no translation found for import_all_vcard_string (2788222288962542415) -->
+    <skip />
+    <!-- no translation found for import_one_vcard_string (4618119296910253689) -->
+    <skip />
+    <!-- no translation found for searching_vcard_message (2467573749792455605) -->
+    <skip />
+    <!-- no translation found for scanning_sdcard_failed_title (2788276113399585924) -->
+    <skip />
+    <!-- no translation found for scanning_sdcard_failed_message (925361244069058117) -->
+    <skip />
+    <!-- no translation found for fail_reason_io_error (5922864781066136340) -->
+    <skip />
+    <!-- no translation found for fail_reason_vcard_parse_error (2129476089250836277) -->
+    <skip />
+    <!-- no translation found for fail_reason_no_vcard_file (1489638537002538332) -->
+    <skip />
+    <!-- no translation found for fail_reason_no_vcard_entry (3808734131680935043) -->
+    <skip />
+    <!-- no translation found for select_vcard_title (4615933643517710543) -->
+    <skip />
+    <!-- no translation found for select_vcard_message (7028772212789057858) -->
+    <skip />
+    <!-- no translation found for reading_vcard_title (430154704397375160) -->
+    <skip />
+    <!-- no translation found for reading_vcard_message (7470486051482460267) -->
+    <skip />
+    <!-- no translation found for importing_vcard_message (2466665710812588738) -->
+    <skip />
+    <!-- no translation found for reading_vcard_failed_title (5042366466147724748) -->
+    <skip />
+    <!-- no translation found for reading_vcard_failed_message (780588344175743735) -->
+    <skip />
+    <!-- no translation found for reading_vcard_contacts (3066834102042012868) -->
+    <skip />
+    <!-- no translation found for reading_vcard_files (34180143726972661) -->
+    <skip />
+    <!-- no translation found for export_contact_list (3165097742175874384) -->
+    <skip />
+    <!-- no translation found for confirm_export_title (1693047909433122854) -->
+    <skip />
+    <!-- no translation found for confirm_export_message (63482084706768079) -->
+    <skip />
+    <!-- no translation found for exporting_contact_failed_title (1455264422455075858) -->
+    <skip />
+    <!-- no translation found for exporting_contact_failed_message (1426451081541603512) -->
+    <skip />
+    <!-- no translation found for fail_reason_too_many_vcard (5416992255233341607) -->
+    <skip />
+    <!-- no translation found for fail_reason_cannot_open_destination_dir (1739293936432987758) -->
+    <skip />
+    <!-- no translation found for exporting_contact_list_title (9072240631534457415) -->
+    <skip />
+    <!-- no translation found for exporting_contact_list_message (5640326540405486055) -->
+    <skip />
+    <!-- no translation found for fail_reason_could_not_initialize_exporter (4943708332700987376) -->
+    <skip />
+    <!-- no translation found for fail_reason_error_occurred_during_export (2151165129433831202) -->
+    <skip />
+    <!-- no translation found for fail_reason_could_not_open_file (4013520943128739511) -->
+    <skip />
+    <!-- no translation found for exporting_contact_list_progress (560522409559101193) -->
+    <skip />
+    <!-- no translation found for search_settings_description (1422183266726984096) -->
+    <skip />
 </resources>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index a2939df..9b88afb 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -18,6 +18,11 @@
     <string name="contactsList">"Contacten"</string>
     <string name="launcherDialer">"Telefoon"</string>
     <string name="shortcutContact">"Contacten"</string>
+    <string name="shortcutDialContact">"Direct bellen"</string>
+    <string name="shortcutMessageContact">"Direct bericht"</string>
+    <string name="shortcutActivityTitle">"Kies een contactsnelkoppeling"</string>
+    <string name="callShortcutActivityTitle">"Kies een nummer om te bellen"</string>
+    <string name="messageShortcutActivityTitle">"Kies een nummer voor bericht"</string>
     <string name="starredList">"Met ster"</string>
     <string name="frequentList">"Vaak"</string>
     <string name="strequentList">"Favorieten"</string>
@@ -168,4 +173,55 @@
     <string name="favoritesFrquentSeparator">"Vaak gebeld"</string>
     <string name="add_contact_dlg_title">"Contact toevoegen"</string>
     <string name="add_contact_dlg_message_fmt">"\"<xliff:g id="EMAIL">%s</xliff:g>\" toevoegen aan contacten?"</string>
+    <string name="description_image_button_one">"één"</string>
+    <string name="description_image_button_two">"twee"</string>
+    <string name="description_image_button_three">"drie"</string>
+    <string name="description_image_button_four">"vier"</string>
+    <string name="description_image_button_five">"vijf"</string>
+    <string name="description_image_button_six">"zes"</string>
+    <string name="description_image_button_seven">"zeven"</string>
+    <string name="description_image_button_eight">"acht"</string>
+    <string name="description_image_button_nine">"negen"</string>
+    <string name="description_image_button_star">"ster"</string>
+    <string name="description_image_button_zero">"nul"</string>
+    <string name="description_image_button_pound">"hekje"</string>
+    <string name="no_sdcard_title">"Geen SD-kaart"</string>
+    <string name="no_sdcard_message">"Geen SD-kaart gedetecteerd"</string>
+    <string name="searching_vcard_title">"Zoeken naar VCard"</string>
+    <string name="select_import_type_title">"Waarvandaan wilt u contacten importeren?"</string>
+    <string name="import_from_sim">"SIM-kaart"</string>
+    <string name="import_from_sdcard">"SD-kaart"</string>
+    <string name="import_all_vcard_string">"Alle VCard-bestanden importeren"</string>
+    <string name="import_one_vcard_string">"Eén VCard-bestand importeren"</string>
+    <string name="searching_vcard_message">"Zoeken naar VCard-gegevens op VCard"</string>
+    <string name="scanning_sdcard_failed_title">"Scannen van SD-kaart is mislukt"</string>
+    <string name="scanning_sdcard_failed_message">"Scannen van SD-kaart is mislukt"</string>
+    <string name="fail_reason_io_error">"I/O-fout"</string>
+    <string name="fail_reason_vcard_parse_error">"Parseren van VCard is mislukt"</string>
+    <string name="fail_reason_no_vcard_file">"Geen VCard-bestand gevonden op SD-kaart"</string>
+    <string name="fail_reason_no_vcard_entry">"Geen geldig VCard-item gevonden voor uw selectie"</string>
+    <string name="select_vcard_title">"VCard-bestand selecteren"</string>
+    <string name="select_vcard_message">"Selecteer een VCard-bestand om te importeren"</string>
+    <string name="reading_vcard_title">"VCard lezen"</string>
+    <string name="reading_vcard_message">"VCard-bestand(en) lezen"</string>
+    <string name="importing_vcard_message">"VCard-gegevens importeren"</string>
+    <string name="reading_vcard_failed_title">"Lezen van VCard-gegevens is mislukt"</string>
+    <string name="reading_vcard_failed_message">"VCard-gegevens kunnen niet worden gelezen"\n"Reden voor fout: \'<xliff:g id="FAIL_REASON">%s</xliff:g>\'"</string>
+    <string name="reading_vcard_contacts">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> van <xliff:g id="TOTAL_NUMBER">%s</xliff:g> contacten"</string>
+    <string name="reading_vcard_files">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> van <xliff:g id="TOTAL_NUMBER">%s</xliff:g> bestanden"</string>
+    <string name="export_contact_list">"Contacten exporteren"</string>
+    <string name="confirm_export_title">"Bevestiging voor export"</string>
+    <string name="confirm_export_message">"Mag uw contactenlijst worden geëxporteerd naar \'<xliff:g id="VCARD_FILENAME">%s</xliff:g>\'?"</string>
+    <string name="exporting_contact_failed_title">"Exporteren van contactgegevens is mislukt"</string>
+    <string name="exporting_contact_failed_message">"Exporteren van contactgegevens is mislukt"\n"Reden voor fout: \'<xliff:g id="FAIL_REASON">%s</xliff:g>\'"</string>
+    <string name="fail_reason_too_many_vcard">"Te veel VCard-gegevens op de SD-kaart"</string>
+    <string name="fail_reason_cannot_open_destination_dir">"Kan de doeldirectory \'<xliff:g id="DIR_NAME">%s</xliff:g>\' niet openen of maken"</string>
+    <string name="exporting_contact_list_title">"Contactgegevens exporteren"</string>
+    <string name="exporting_contact_list_message">"Contactgegevens exporteren naar \'<xliff:g id="FILE_NAME">%s</xliff:g>\'"</string>
+    <string name="fail_reason_could_not_initialize_exporter">"Kan het exportprogramma niet initialiseren: \'<xliff:g id="EXACT_REASON">%s</xliff:g>\'"</string>
+    <string name="fail_reason_error_occurred_during_export">"Fout opgetreden tijdens export: \'<xliff:g id="EXACT_REASON">%s</xliff:g>\'"</string>
+    <string name="fail_reason_could_not_open_file">"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">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> van <xliff:g id="TOTAL_NUMBER">%s</xliff:g> contacten"</string>
+    <!-- no translation found for search_settings_description (1422183266726984096) -->
+    <skip />
 </resources>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index b6805c0..79695a8 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -18,6 +18,11 @@
     <string name="contactsList">"Kontakty"</string>
     <string name="launcherDialer">"Telefon"</string>
     <string name="shortcutContact">"Kontakt"</string>
+    <string name="shortcutDialContact">"Telefonowanie bezpośrednie"</string>
+    <string name="shortcutMessageContact">"Wiadomość bezpośrednia"</string>
+    <string name="shortcutActivityTitle">"Wybierz skrót kontaktu"</string>
+    <string name="callShortcutActivityTitle">"Wybierz numer, aby nawiązać połączenie"</string>
+    <string name="messageShortcutActivityTitle">"Wybierz numer, aby wysłać wiadomość"</string>
     <string name="starredList">"Oznaczony gwiazdką"</string>
     <string name="frequentList">"Częste"</string>
     <string name="strequentList">"Ulubione"</string>
@@ -29,7 +34,7 @@
     <string name="menu_search">"Szukaj"</string>
     <string name="menu_newContact">"Nowy kontakt"</string>
     <string name="menu_viewContact">"Wyświetl kontakt"</string>
-    <string name="menu_callNumber">"Zadzwoń do kontaktu <xliff:g id="NAME">%s</xliff:g>"</string>
+    <string name="menu_callNumber">"Zadzwoń do: <xliff:g id="NAME">%s</xliff:g>"</string>
     <string name="menu_addStar">"Dodaj do ulubionych"</string>
     <string name="menu_removeStar">"Usuń z ulubionych"</string>
     <string name="menu_showBarcode">"Pokaż kod kreskowy"</string>
@@ -53,7 +58,7 @@
     <string name="ghostData_name">"Imię i nazwisko"</string>
     <string name="ghostData_phonetic_name">"Nazwisko (fonetycznie)"</string>
     <string name="ghostData_company">"Firma"</string>
-    <string name="ghostData_title">"Pozycja"</string>
+    <string name="ghostData_title">"Stanowisko"</string>
     <string name="ghostData_im">"Nazwa na czacie"</string>
     <string name="ghostData_notes">"Moja notatka"</string>
     <string name="ghostData_phone">"Numer telefonu"</string>
@@ -92,7 +97,7 @@
     <string name="syncAllGroups">"Synchronizuj wszystkie kontakty"</string>
     <string name="groupNameMyContacts">"Moje kontakty"</string>
     <string name="groupNameWithPhones">"Kontakty z numerami telefonu"</string>
-    <string name="starredInAndroid">"Oznaczone gwiazdką w systemie Android"</string>
+    <string name="starredInAndroid">"Z gwiazdką w systemie Android"</string>
     <string name="contactCreatedToast">"Utworzono kontakt."</string>
     <string name="contactSavedToast">"Kontakt został zapisany."</string>
     <string name="listSeparatorCallNumber">"Wybierz numer"</string>
@@ -113,10 +118,10 @@
     <string name="dialerIconLabel">"Telefon"</string>
     <string name="recentCallsIconLabel">"Rejestr"</string>
     <string name="liveFolderAll">"Wszystkie kontakty"</string>
-    <string name="liveFolderFavorites">"Kontakty oznaczone gwiazdką"</string>
+    <string name="liveFolderFavorites">"Kontakty z gwiazdką"</string>
     <string name="liveFolderPhone">"Kontakty z numerami telefonów"</string>
     <string name="menu_sendTextMessage">"Wyślij SMS"</string>
-    <string name="recentCalls_callNumber">"Zadzwoń do kontaktu <xliff:g id="NAME">%s</xliff:g>"</string>
+    <string name="recentCalls_callNumber">"Zadzwoń do: <xliff:g id="NAME">%s</xliff:g>"</string>
     <string name="recentCalls_editNumberBeforeCall">"Edytuj numer przed nawiązaniem połączenia"</string>
     <string name="recentCalls_addToContact">"Dodaj do kontaktów"</string>
     <string name="recentCalls_removeFromRecentList">"Usuń z rejestru połączeń"</string>
@@ -128,7 +133,7 @@
     <string name="private_num">"Numer prywatny"</string>
     <string name="payphone">"Telefon płatny"</string>
     <string name="dialerKeyboardHintText">"Wybierz numer za pomocą klawiatury"</string>
-    <string name="dialerDialpadHintText">"Wybierz, aby dodać połączenie"</string>
+    <string name="dialerDialpadHintText">"Dodaj nowe poł."</string>
     <string name="simContacts_emptyLoading">"Wczytywanie z karty SIM…"</string>
     <string name="simContacts_title">"Kontakty z karty SIM"</string>
     <string name="contactsSyncPlug"><font fgcolor="#ffffffff">"Zsynchronizuj kontakty Google!"</font>" "\n"Po zsynchronizowaniu telefonu zawsze będziesz mieć kontakty pod ręką."</string>
@@ -144,7 +149,7 @@
     <string name="callDetailTitle">"Szczegóły połączenia"</string>
     <string name="toast_call_detail_error">"Nie można odczytać szczegółów żądanego połączenia."</string>
     <string name="call_type">"Typ"</string>
-    <string name="type_incoming">"Poł. przychodzące"</string>
+    <string name="type_incoming">"Połączenie"</string>
     <string name="type_outgoing">"Połączenie wychodzące"</string>
     <string name="type_missed">"Nieodebrane połączenia"</string>
     <string name="call_time">"Godzina"</string>
@@ -153,10 +158,10 @@
     <string name="header_actions">"Czynności"</string>
     <string name="ringtone_spinner">"Dźwięk dzwonka: <xliff:g id="RINGTONE">%1$s</xliff:g>"</string>
     <string name="add_more_items">"Dodaj więcej elementów"</string>
-    <string name="actionCall">"Zadzwoń na numer: <xliff:g id="TYPE">%s</xliff:g>"</string>
+    <string name="actionCall">"Połącz: <xliff:g id="TYPE">%s</xliff:g>"</string>
     <string name="actionEmail">"Wyślij e-mail: <xliff:g id="TYPE">%s</xliff:g>"</string>
     <string name="actionText">"Wyślij SMS: <xliff:g id="TYPE">%s</xliff:g>"</string>
-    <string name="actionChat">"Porozmawiaj na czacie <xliff:g id="TYPE">%s</xliff:g>"</string>
+    <string name="actionChat">"Czatuj przez <xliff:g id="TYPE">%s</xliff:g>"</string>
     <string name="actionMap">"Wyświetl adres: <xliff:g id="TYPE">%s</xliff:g>"</string>
     <string name="actionIncomingCall">"Połączenia przychodzące"</string>
     <string name="detailIncomingCallsGoToVoicemail">"Zostaną wysłane bezpośrednio na pocztę głosową"</string>
@@ -168,4 +173,55 @@
     <string name="favoritesFrquentSeparator">"Częste połączenia"</string>
     <string name="add_contact_dlg_title">"Dodaj kontakt"</string>
     <string name="add_contact_dlg_message_fmt">"Czy dodać adres „<xliff:g id="EMAIL">%s</xliff:g>” do kontaktów?"</string>
+    <string name="description_image_button_one">"jeden"</string>
+    <string name="description_image_button_two">"dwa"</string>
+    <string name="description_image_button_three">"trzy"</string>
+    <string name="description_image_button_four">"cztery"</string>
+    <string name="description_image_button_five">"pięć"</string>
+    <string name="description_image_button_six">"sześć"</string>
+    <string name="description_image_button_seven">"siedem"</string>
+    <string name="description_image_button_eight">"osiem"</string>
+    <string name="description_image_button_nine">"dziewięć"</string>
+    <string name="description_image_button_star">"gwiazdka"</string>
+    <string name="description_image_button_zero">"zero"</string>
+    <string name="description_image_button_pound">"funt"</string>
+    <string name="no_sdcard_title">"Brak karty SD"</string>
+    <string name="no_sdcard_message">"Nie wykryto karty SD"</string>
+    <string name="searching_vcard_title">"Wyszukiwanie danych VCard"</string>
+    <string name="select_import_type_title">"Skąd chcesz zaimportować kontakty?"</string>
+    <string name="import_from_sim">"Karta SIM"</string>
+    <string name="import_from_sdcard">"Karta SD"</string>
+    <string name="import_all_vcard_string">"Importuj wszystkie pliki VCard"</string>
+    <string name="import_one_vcard_string">"Zaimportuj jeden plik VCard"</string>
+    <string name="searching_vcard_message">"Wyszukiwanie danych VCard w pliku VCard"</string>
+    <string name="scanning_sdcard_failed_title">"Skanowanie karty SD nie powiodło się"</string>
+    <string name="scanning_sdcard_failed_message">"Skanowanie karty SD nie powiodło się"</string>
+    <string name="fail_reason_io_error">"Błąd wejścia/wyjścia"</string>
+    <string name="fail_reason_vcard_parse_error">"Analiza danych VCard nie powiodła się"</string>
+    <string name="fail_reason_no_vcard_file">"Na karcie SD nie znaleziono żadnego pliku VCard"</string>
+    <string name="fail_reason_no_vcard_entry">"W wybranym zakresie nie znaleziono poprawnej pozycji VCard"</string>
+    <string name="select_vcard_title">"Wybierz plik VCard"</string>
+    <string name="select_vcard_message">"Wybierz plik VCard do zaimportowania"</string>
+    <string name="reading_vcard_title">"Odczytywanie danych VCard"</string>
+    <string name="reading_vcard_message">"Odczytywanie plików VCard"</string>
+    <string name="importing_vcard_message">"Importowanie danych VCard"</string>
+    <string name="reading_vcard_failed_title">"Odczytywanie danych VCard nie powiodło się"</string>
+    <string name="reading_vcard_failed_message">"Nie można odczytać danych VCard"\n"Przyczyna niepowodzenia: „<xliff:g id="FAIL_REASON">%s</xliff:g>”"</string>
+    <string name="reading_vcard_contacts">"Kontakt <xliff:g id="CURRENT_NUMBER">%s</xliff:g> z <xliff:g id="TOTAL_NUMBER">%s</xliff:g>"</string>
+    <string name="reading_vcard_files">"plik <xliff:g id="CURRENT_NUMBER">%s</xliff:g> z <xliff:g id="TOTAL_NUMBER">%s</xliff:g>"</string>
+    <string name="export_contact_list">"Eksportuj kontakty"</string>
+    <string name="confirm_export_title">"Potwierdzenie eksportowania"</string>
+    <string name="confirm_export_message">"Czy chcesz wyeksportować swoją listę kontaktów do pliku „<xliff:g id="VCARD_FILENAME">%s</xliff:g>”?"</string>
+    <string name="exporting_contact_failed_title">"Eksportowanie danych kontaktowych nie powiodło się"</string>
+    <string name="exporting_contact_failed_message">"Eksportowanie danych kontaktowych nie powiodło się"\n"Przyczyna niepowodzenia: „<xliff:g id="FAIL_REASON">%s</xliff:g>”"</string>
+    <string name="fail_reason_too_many_vcard">"Zbyt dużo danych VCard na karcie SD"</string>
+    <string name="fail_reason_cannot_open_destination_dir">"Nie można otworzyć lub utworzyć katalogu docelowego „<xliff:g id="DIR_NAME">%s</xliff:g>”"</string>
+    <string name="exporting_contact_list_title">"Eksportowanie danych kontaktowych"</string>
+    <string name="exporting_contact_list_message">"Eksportowanie danych kontaktowych do pliku „<xliff:g id="FILE_NAME">%s</xliff:g>”"</string>
+    <string name="fail_reason_could_not_initialize_exporter">"Nie można zainicjować programu eksportującego: „<xliff:g id="EXACT_REASON">%s</xliff:g>”"</string>
+    <string name="fail_reason_error_occurred_during_export">"Wystąpił błąd podczas eksportowania: „<xliff:g id="EXACT_REASON">%s</xliff:g>”"</string>
+    <string name="fail_reason_could_not_open_file">"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">"Kontakt <xliff:g id="CURRENT_NUMBER">%s</xliff:g> z <xliff:g id="TOTAL_NUMBER">%s</xliff:g>"</string>
+    <!-- no translation found for search_settings_description (1422183266726984096) -->
+    <skip />
 </resources>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
new file mode 100644
index 0000000..360ede2
--- /dev/null
+++ b/res/values-pt-rPT/strings.xml
@@ -0,0 +1,257 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2009 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="contactsList">"Contactos"</string>
+    <string name="launcherDialer">"Telefone"</string>
+    <string name="shortcutContact">"Contacto"</string>
+    <!-- no translation found for shortcutDialContact (7165340343023469996) -->
+    <skip />
+    <!-- no translation found for shortcutMessageContact (3025782962770298900) -->
+    <skip />
+    <!-- no translation found for shortcutActivityTitle (6642877210643565436) -->
+    <skip />
+    <!-- no translation found for callShortcutActivityTitle (6065749861423648991) -->
+    <skip />
+    <!-- no translation found for messageShortcutActivityTitle (3084542316620335911) -->
+    <skip />
+    <string name="starredList">"Marcado com estrela"</string>
+    <string name="frequentList">"Frequentes"</string>
+    <string name="strequentList">"Favoritos"</string>
+    <string name="viewContactTitle">"Detalhes de contacto"</string>
+    <string name="viewContactDesription">"Visualizar contacto"</string>
+    <string name="editContactDescription">"Editar contacto"</string>
+    <string name="insertContactDescription">"Criar contacto"</string>
+    <string name="searchHint">"Pesquisar contactos"</string>
+    <string name="menu_search">"Pesquisar"</string>
+    <string name="menu_newContact">"Novo contacto"</string>
+    <string name="menu_viewContact">"Visualizar contacto"</string>
+    <string name="menu_callNumber">"Telefonar a <xliff:g id="NAME">%s</xliff:g>"</string>
+    <string name="menu_addStar">"Adicionar aos favoritos"</string>
+    <string name="menu_removeStar">"Remover dos favoritos"</string>
+    <string name="menu_showBarcode">"Mostrar código de barras"</string>
+    <string name="menu_editContact">"Editar contacto"</string>
+    <string name="menu_deleteContact">"Eliminar contacto"</string>
+    <string name="menu_call">"Chamada"</string>
+    <string name="menu_sendSMS">"Enviar SMS/MMS"</string>
+    <string name="menu_sendEmail">"Enviar e-mail"</string>
+    <string name="menu_viewAddress">"Endereço no mapa"</string>
+    <string name="menu_makeDefaultNumber">"Utilizar como número predefinido"</string>
+    <string name="deleteConfirmation_title">"Eliminar"</string>
+    <string name="deleteConfirmation">"Este contacto será eliminado."</string>
+    <string name="menu_done">"Concluído"</string>
+    <string name="menu_doNotSave">"Reverter"</string>
+    <string name="editContact_title_edit">"Editar contacto"</string>
+    <string name="editContact_title_insert">"Novo contacto"</string>
+    <string name="menu_addItem">"Mais informações"</string>
+    <string name="label_phonetic_name">"Fonético"</string>
+    <string name="label_notes">"Notas"</string>
+    <string name="label_ringtone">"Toque"</string>
+    <string name="ghostData_name">"Primeiro e último"</string>
+    <string name="ghostData_phonetic_name">"Nome fonético"</string>
+    <string name="ghostData_company">"Empresa"</string>
+    <string name="ghostData_title">"Posição"</string>
+    <string name="ghostData_im">"Nome de MI"</string>
+    <string name="ghostData_notes">"A minha nota"</string>
+    <string name="ghostData_phone">"Número de telefone"</string>
+    <string name="ghostData_email">"Endereço de e-mail"</string>
+    <string name="ghostData_postal">"Endereço postal"</string>
+    <string name="invalidContactMessage">"O contacto não existe."</string>
+    <string name="pickerNewContactHeader">"Criar novo contacto"</string>
+    <string name="selectLabel">"Seleccionar etiqueta"</string>
+    <string name="phoneLabelsGroup">"Telefone"</string>
+    <string name="emailLabelsGroup">"E-mail"</string>
+    <string name="imLabelsGroup">"MI"</string>
+    <string name="postalLabelsGroup">"Endereço postal"</string>
+    <string name="otherLabelsGroup">"Outro"</string>
+  <string-array name="otherLabels">
+    <item>"Organização"</item>
+    <item>"Nota"</item>
+  </string-array>
+    <string name="errorDialogTitle">"Sem imagens"</string>
+    <string name="photoPickerNotFoundText">"Não existem imagens disponíveis no telefone."</string>
+    <string name="attachToContact">"Ícone de contacto"</string>
+    <string name="customLabelPickerTitle">"Nome da etiqueta personalizada"</string>
+    <string name="menu_displayGroup">"Apresentar grupo"</string>
+    <string name="syncGroupPreference">"Editar grupos sincronizados"</string>
+    <string name="importFromSim">"Importar contactos"</string>
+    <string name="send_to_voicemail_checkbox">"Enviar as chamadas directamente para o correio de voz"</string>
+    <string name="send_to_voicemail_view">"As chamadas são enviadas directamente para o correio de voz."</string>
+    <string name="default_ringtone">"Predefinido"</string>
+    <string name="addPicture">"Adicionar ícone"</string>
+    <string name="removePicture">"Remover ícone"</string>
+    <string name="noContacts">"Sem contactos."</string>
+    <string name="noContactsWithPhoneNumbers">"Sem contactos com números de telefone."</string>
+    <string name="noFavorites">"Sem favoritos."</string>
+    <string name="select_group_title">"Grupos"</string>
+    <string name="groupEmpty">"O seu grupo \"<xliff:g id="GROUPNAME">%s</xliff:g>\" está vazio."</string>
+    <string name="showAllGroups">"Todos os contactos"</string>
+    <string name="syncAllGroups">"Sincronizar todos os contactos"</string>
+    <string name="groupNameMyContacts">"Os meus contactos"</string>
+    <string name="groupNameWithPhones">"Contactos com números de telefone"</string>
+    <string name="starredInAndroid">"Marcado com estrela no Android"</string>
+    <string name="contactCreatedToast">"Contacto criado."</string>
+    <string name="contactSavedToast">"Contacto guardado."</string>
+    <string name="listSeparatorCallNumber">"Marcar número"</string>
+    <string name="listSeparatorCallNumber_edit">"Números de telefone"</string>
+    <string name="listSeparatorSendSmsMms">"Enviar SMS/MMS"</string>
+    <string name="listSeparatorSendEmail">"Enviar e-mail"</string>
+    <string name="listSeparatorSendEmail_edit">"Endereços de e-mail"</string>
+    <string name="listSeparatorSendIm">"Enviar mensagem instantânea"</string>
+    <string name="listSeparatorSendIm_edit">"Endereços de chat"</string>
+    <string name="listSeparatorMapAddress">"Endereço no mapa"</string>
+    <string name="listSeparatorMapAddress_edit">"Endereços postais"</string>
+    <string name="listSeparatorOrganizations">"Organizações"</string>
+    <string name="listSeparatorOtherInformation">"Outras informações"</string>
+    <string name="listSeparatorOtherInformation_edit">"Outras opções"</string>
+    <string name="listSeparatorMore_edit">"Mais"</string>
+    <string name="contactsIconLabel">"Contactos"</string>
+    <string name="contactsFavoritesLabel">"Favoritos"</string>
+    <string name="dialerIconLabel">"Marcador"</string>
+    <string name="recentCallsIconLabel">"Registo de chamadas"</string>
+    <string name="liveFolderAll">"Todos os contactos"</string>
+    <string name="liveFolderFavorites">"Contactos marcados com estrela"</string>
+    <string name="liveFolderPhone">"Contactos com números de telefone"</string>
+    <string name="menu_sendTextMessage">"Enviar mensagem SMS"</string>
+    <string name="recentCalls_callNumber">"Telefonar a <xliff:g id="NAME">%s</xliff:g>"</string>
+    <string name="recentCalls_editNumberBeforeCall">"Editar número antes de efectuar a chamada"</string>
+    <string name="recentCalls_addToContact">"Adicionar aos contactos"</string>
+    <string name="recentCalls_removeFromRecentList">"Remover do registo de chamadas"</string>
+    <string name="recentCalls_deleteAll">"Limpar registo de chamadas"</string>
+    <string name="recentCalls_empty">"O registo de chamadas está vazio."</string>
+    <string name="imei">"IMEI"</string>
+    <string name="voicemail">"Correio de voz"</string>
+    <string name="unknown">"Desconhecido"</string>
+    <string name="private_num">"Número particular"</string>
+    <string name="payphone">"Telefone público"</string>
+    <string name="dialerKeyboardHintText">"Utilizar o teclado para marcar"</string>
+    <string name="dialerDialpadHintText">"Marcar para adicionar uma chamada"</string>
+    <string name="simContacts_emptyLoading">"A carregar a partir do cartão SIM..."</string>
+    <string name="simContacts_title">"Contactos no cartão SIM"</string>
+    <string name="contactsSyncPlug"><font fgcolor="#ffffffff">"Sincronize os seus contactos do Google!"</font>" "\n"Depois de efectuar a sincronização para o seu telefone, os seus contactos ficarão disponíveis onde quer que esteja."</string>
+    <string name="noContactsHelpText">"Não tem contactos."\n\n"Para adicionar contactos, prima "<font fgcolor="#ffffffff"><b>"Menu"</b></font>" e seleccione:"\n\n<li><font fgcolor="#ffffffff"><b>"Novo contacto"</b></font>" para criar um novo contacto desde o princípio"\n</li>"."\n<li><font fgcolor="#ffffffff"><b>"Importar contactos"</b></font>" para adicionar contactos a partir do cartão SIM"\n</li></string>
+    <string name="noContactsHelpTextWithSync">"Não tem nenhum contacto."\n\n"Para adicionar contactos, prima "<font fgcolor="#ffffffff"><b>"Menu"</b></font>" e seleccione:"\n\n<li><font fgcolor="#ffffffff"><b>"Editar grupos sincronizados"</b></font>" para adicionar a partir de uma Conta·Google nova ou já existente"\n</li>" \n"\n<li><font fgcolor="#ffffffff"><b>"Novo contacto"</b></font>" para criar um novo contacto desde o princípio"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Importar contactos"</b></font>" para adicionar contactos a partir do cartão SIM"\n</li></string>
+    <string name="seclectSyncGroups_title">"Seleccionar grupos para sincronizar"</string>
+    <string name="liveFolder_all_label">"Todos os contactos"</string>
+    <string name="liveFolder_favorites_label">"Marcado com estrela"</string>
+    <string name="liveFolder_phones_label">"Telefones"</string>
+    <string name="dialer_useDtmfDialpad">"Utilizar teclado numérico com tons de toque"</string>
+    <string name="dialer_returnToInCallScreen">"Voltar à chamada em curso"</string>
+    <string name="dialer_addAnotherCall">"Adicionar chamada"</string>
+    <string name="callDetailTitle">"Detalhes da chamada"</string>
+    <string name="toast_call_detail_error">"Não foi possível ler os detalhes da chamada solicitada."</string>
+    <string name="call_type">"Tipo"</string>
+    <string name="type_incoming">"Chamada recebida"</string>
+    <string name="type_outgoing">"Chamada efectuada"</string>
+    <string name="type_missed">"Chamada não atendida"</string>
+    <string name="call_time">"Hora"</string>
+    <string name="datetime_relative">"<xliff:g id="DATETIME">%1$s</xliff:g> (<xliff:g id="RELATIVE">%2$s</xliff:g>)"</string>
+    <string name="call_duration">"Duração"</string>
+    <string name="header_actions">"Acções"</string>
+    <string name="ringtone_spinner">"Toque: <xliff:g id="RINGTONE">%1$s</xliff:g>"</string>
+    <string name="add_more_items">"Adicionar mais itens"</string>
+    <string name="actionCall">"Telefonar a <xliff:g id="TYPE">%s</xliff:g>"</string>
+    <string name="actionEmail">"E-mail <xliff:g id="TYPE">%s</xliff:g>"</string>
+    <string name="actionText">"Texto <xliff:g id="TYPE">%s</xliff:g>"</string>
+    <string name="actionChat">"Chat utilizando <xliff:g id="TYPE">%s</xliff:g>"</string>
+    <string name="actionMap">"Visualizar endereço de <xliff:g id="TYPE">%s</xliff:g>"</string>
+    <string name="actionIncomingCall">"Chamadas recebidas"</string>
+    <string name="detailIncomingCallsGoToVoicemail">"Será enviada directamente para o correio de voz"</string>
+    <string name="detailsRingtone">"Definido para <xliff:g id="RINGTONE_NAME">%s</xliff:g>"</string>
+    <string name="callBack">"Chamada de retorno"</string>
+    <string name="callAgain">"Ligar novamente"</string>
+    <string name="returnCall">"Devolver chamada"</string>
+    <string name="callDetailsDurationFormat">"<xliff:g id="MINUTES">%s</xliff:g> min <xliff:g id="SECONDS">%s</xliff:g> seg"</string>
+    <string name="favoritesFrquentSeparator">"Números de marcação frequente"</string>
+    <string name="add_contact_dlg_title">"Adicionar contacto"</string>
+    <string name="add_contact_dlg_message_fmt">"Adicionar \"<xliff:g id="EMAIL">%s</xliff:g>\" aos contactos?"</string>
+    <!-- no translation found for description_image_button_one (1740638037139856139) -->
+    <skip />
+    <!-- no translation found for description_image_button_two (5882638439003731308) -->
+    <skip />
+    <!-- no translation found for description_image_button_three (8709731759376015180) -->
+    <skip />
+    <!-- no translation found for description_image_button_four (3530239685642246130) -->
+    <skip />
+    <!-- no translation found for description_image_button_five (1182465427501188413) -->
+    <skip />
+    <!-- no translation found for description_image_button_six (2093656269261415475) -->
+    <skip />
+    <!-- no translation found for description_image_button_seven (2450357020447676481) -->
+    <skip />
+    <!-- no translation found for description_image_button_eight (6969435115163287801) -->
+    <skip />
+    <!-- no translation found for description_image_button_nine (7857248695662558323) -->
+    <skip />
+    <!-- no translation found for description_image_button_star (3365919907520767866) -->
+    <skip />
+    <!-- no translation found for description_image_button_zero (4133108949401820710) -->
+    <skip />
+    <!-- no translation found for description_image_button_pound (3039765597595889230) -->
+    <skip />
+    <string name="no_sdcard_title">"Sem cartão SD"</string>
+    <string name="no_sdcard_message">"Não foi detectado nenhum cartão SD"</string>
+    <string name="searching_vcard_title">"A procurar VCard"</string>
+    <string name="select_import_type_title">"De onde pretende importar contactos?"</string>
+    <string name="import_from_sim">"Cartão SIM"</string>
+    <string name="import_from_sdcard">"Cartão SD"</string>
+    <string name="import_all_vcard_string">"Importar todos os ficheiros VCard"</string>
+    <string name="import_one_vcard_string">"Importar um ficheiro VCard"</string>
+    <string name="searching_vcard_message">"A procurar dados VCard no VCard"</string>
+    <string name="scanning_sdcard_failed_title">"Falha na análise do cartão SD"</string>
+    <string name="scanning_sdcard_failed_message">"Falha na análise do cartão SD"</string>
+    <string name="fail_reason_io_error">"Erro de E/S"</string>
+    <string name="fail_reason_vcard_parse_error">"Falha na análise do VCard"</string>
+    <string name="fail_reason_no_vcard_file">"Não foi encontrado nenhum ficheiro VCard no cartão SD"</string>
+    <string name="fail_reason_no_vcard_entry">"Não foi encontrada nenhuma entrada VCard válida para a sua selecção"</string>
+    <string name="select_vcard_title">"Seleccionar ficheiro VCard"</string>
+    <string name="select_vcard_message">"Seleccione um ficheiro VCard para importar"</string>
+    <string name="reading_vcard_title">"A ler VCard"</string>
+    <string name="reading_vcard_message">"A ler ficheiro(s) VCard"</string>
+    <string name="importing_vcard_message">"A importar dados VCard"</string>
+    <string name="reading_vcard_failed_title">"Falha na leitura de dados VCard"</string>
+    <string name="reading_vcard_failed_message">"Não foi possível ler os dados VCard"\n"Motivo da falha: \"<xliff:g id="FAIL_REASON">%s</xliff:g>\""</string>
+    <string name="reading_vcard_contacts">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> de <xliff:g id="TOTAL_NUMBER">%s</xliff:g> contactos"</string>
+    <string name="reading_vcard_files">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> de <xliff:g id="TOTAL_NUMBER">%s</xliff:g> ficheiros"</string>
+    <!-- no translation found for export_contact_list (3165097742175874384) -->
+    <skip />
+    <!-- no translation found for confirm_export_title (1693047909433122854) -->
+    <skip />
+    <!-- no translation found for confirm_export_message (63482084706768079) -->
+    <skip />
+    <!-- no translation found for exporting_contact_failed_title (1455264422455075858) -->
+    <skip />
+    <!-- no translation found for exporting_contact_failed_message (1426451081541603512) -->
+    <skip />
+    <!-- no translation found for fail_reason_too_many_vcard (5416992255233341607) -->
+    <skip />
+    <!-- no translation found for fail_reason_cannot_open_destination_dir (1739293936432987758) -->
+    <skip />
+    <!-- no translation found for exporting_contact_list_title (9072240631534457415) -->
+    <skip />
+    <!-- no translation found for exporting_contact_list_message (5640326540405486055) -->
+    <skip />
+    <!-- no translation found for fail_reason_could_not_initialize_exporter (4943708332700987376) -->
+    <skip />
+    <!-- no translation found for fail_reason_error_occurred_during_export (2151165129433831202) -->
+    <skip />
+    <!-- no translation found for fail_reason_could_not_open_file (4013520943128739511) -->
+    <skip />
+    <!-- no translation found for exporting_contact_list_progress (560522409559101193) -->
+    <skip />
+    <!-- no translation found for search_settings_description (1422183266726984096) -->
+    <skip />
+</resources>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
new file mode 100644
index 0000000..9d9de1a
--- /dev/null
+++ b/res/values-pt/strings.xml
@@ -0,0 +1,257 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2009 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="contactsList">"Contatos"</string>
+    <string name="launcherDialer">"Discador"</string>
+    <string name="shortcutContact">"Contato"</string>
+    <!-- no translation found for shortcutDialContact (7165340343023469996) -->
+    <skip />
+    <!-- no translation found for shortcutMessageContact (3025782962770298900) -->
+    <skip />
+    <!-- no translation found for shortcutActivityTitle (6642877210643565436) -->
+    <skip />
+    <!-- no translation found for callShortcutActivityTitle (6065749861423648991) -->
+    <skip />
+    <!-- no translation found for messageShortcutActivityTitle (3084542316620335911) -->
+    <skip />
+    <string name="starredList">"Com estrela"</string>
+    <string name="frequentList">"Frequente"</string>
+    <string name="strequentList">"Favoritos"</string>
+    <string name="viewContactTitle">"Detalhes do contato"</string>
+    <string name="viewContactDesription">"Visualizar contato"</string>
+    <string name="editContactDescription">"Editar contato"</string>
+    <string name="insertContactDescription">"Criar contato"</string>
+    <string name="searchHint">"Pesquisar contatos"</string>
+    <string name="menu_search">"Pesquisar"</string>
+    <string name="menu_newContact">"Novo contato"</string>
+    <string name="menu_viewContact">"Visualizar contato"</string>
+    <string name="menu_callNumber">"Chamar <xliff:g id="NAME">%s</xliff:g>"</string>
+    <string name="menu_addStar">"Adicionar aos favoritos"</string>
+    <string name="menu_removeStar">"Remover dos favoritos"</string>
+    <string name="menu_showBarcode">"Mostrar código de barras"</string>
+    <string name="menu_editContact">"Editar contato"</string>
+    <string name="menu_deleteContact">"Excluir contato"</string>
+    <string name="menu_call">"Chamar"</string>
+    <string name="menu_sendSMS">"Enviar SMS/MMS"</string>
+    <string name="menu_sendEmail">"Enviar e-mail"</string>
+    <string name="menu_viewAddress">"Endereço no mapa"</string>
+    <string name="menu_makeDefaultNumber">"Criar número padrão"</string>
+    <string name="deleteConfirmation_title">"Excluir"</string>
+    <string name="deleteConfirmation">"Esse evento será excluído."</string>
+    <string name="menu_done">"Concluído"</string>
+    <string name="menu_doNotSave">"Reverter"</string>
+    <string name="editContact_title_edit">"Editar contato"</string>
+    <string name="editContact_title_insert">"Novo contato"</string>
+    <string name="menu_addItem">"Mais informações"</string>
+    <string name="label_phonetic_name">"Fonética"</string>
+    <string name="label_notes">"Observações"</string>
+    <string name="label_ringtone">"Toque"</string>
+    <string name="ghostData_name">"Nome e sobrenome"</string>
+    <string name="ghostData_phonetic_name">"Nome fonético"</string>
+    <string name="ghostData_company">"Empresa"</string>
+    <string name="ghostData_title">"Posição"</string>
+    <string name="ghostData_im">"Nome no programa de mensagens instantâneas"</string>
+    <string name="ghostData_notes">"Minha observação"</string>
+    <string name="ghostData_phone">"Número de telefone"</string>
+    <string name="ghostData_email">"Endereço de e-mail"</string>
+    <string name="ghostData_postal">"Endereço postal"</string>
+    <string name="invalidContactMessage">"O contato não existe."</string>
+    <string name="pickerNewContactHeader">"Criar novo contato"</string>
+    <string name="selectLabel">"Selecionar marcador"</string>
+    <string name="phoneLabelsGroup">"Telefone"</string>
+    <string name="emailLabelsGroup">"E-mail"</string>
+    <string name="imLabelsGroup">"Mensagem instantânea"</string>
+    <string name="postalLabelsGroup">"Endereço postal"</string>
+    <string name="otherLabelsGroup">"Outros"</string>
+  <string-array name="otherLabels">
+    <item>"Organização"</item>
+    <item>"Observação"</item>
+  </string-array>
+    <string name="errorDialogTitle">"Nenhuma imagem"</string>
+    <string name="photoPickerNotFoundText">"Nenhuma imagem disponível no telefone."</string>
+    <string name="attachToContact">"Ícone de contato"</string>
+    <string name="customLabelPickerTitle">"Personalizar nome do marcador"</string>
+    <string name="menu_displayGroup">"Exibir grupo"</string>
+    <string name="syncGroupPreference">"Editar grupos sincronizados"</string>
+    <string name="importFromSim">"Importar contatos"</string>
+    <string name="send_to_voicemail_checkbox">"Enviar chamadas diretamente para o correio de voz"</string>
+    <string name="send_to_voicemail_view">"As chamadas são enviadas diretamente para o correio de voz."</string>
+    <string name="default_ringtone">"Padrão"</string>
+    <string name="addPicture">"Adicionar ícone"</string>
+    <string name="removePicture">"Remover ícone"</string>
+    <string name="noContacts">"Nenhum contato."</string>
+    <string name="noContactsWithPhoneNumbers">"Nenhum contato com números de telefone."</string>
+    <string name="noFavorites">"Nenhum favorito"</string>
+    <string name="select_group_title">"Grupos"</string>
+    <string name="groupEmpty">"Seu grupo \"<xliff:g id="GROUPNAME">%s</xliff:g>\" está vazio."</string>
+    <string name="showAllGroups">"Todos os contatos"</string>
+    <string name="syncAllGroups">"Sincronizar todos os contatos"</string>
+    <string name="groupNameMyContacts">"Meus contatos"</string>
+    <string name="groupNameWithPhones">"Contatos com números de telefone"</string>
+    <string name="starredInAndroid">"Com estrela no Android"</string>
+    <string name="contactCreatedToast">"Contato criado."</string>
+    <string name="contactSavedToast">"Contato salvo."</string>
+    <string name="listSeparatorCallNumber">"Discar número"</string>
+    <string name="listSeparatorCallNumber_edit">"Números de telefone"</string>
+    <string name="listSeparatorSendSmsMms">"Enviar SMS/MMS"</string>
+    <string name="listSeparatorSendEmail">"Enviar e-mail"</string>
+    <string name="listSeparatorSendEmail_edit">"Endereços de e-mail"</string>
+    <string name="listSeparatorSendIm">"Enviar mensagem instantânea"</string>
+    <string name="listSeparatorSendIm_edit">"Endereços de bate-papo"</string>
+    <string name="listSeparatorMapAddress">"Endereço no mapa"</string>
+    <string name="listSeparatorMapAddress_edit">"Endereços postais"</string>
+    <string name="listSeparatorOrganizations">"Organizações"</string>
+    <string name="listSeparatorOtherInformation">"Outras informações"</string>
+    <string name="listSeparatorOtherInformation_edit">"Outras opções"</string>
+    <string name="listSeparatorMore_edit">"Mais"</string>
+    <string name="contactsIconLabel">"Contatos"</string>
+    <string name="contactsFavoritesLabel">"Favoritos"</string>
+    <string name="dialerIconLabel">"Discador"</string>
+    <string name="recentCallsIconLabel">"Registro de chamadas"</string>
+    <string name="liveFolderAll">"Todos os contatos"</string>
+    <string name="liveFolderFavorites">"Contatos com estrela"</string>
+    <string name="liveFolderPhone">"Contatos com números de telefone"</string>
+    <string name="menu_sendTextMessage">"Enviar mensagem SMS"</string>
+    <string name="recentCalls_callNumber">"Chamar <xliff:g id="NAME">%s</xliff:g>"</string>
+    <string name="recentCalls_editNumberBeforeCall">"Editar número antes da chamada"</string>
+    <string name="recentCalls_addToContact">"Adicionar aos contatos"</string>
+    <string name="recentCalls_removeFromRecentList">"Remover do registro de chamadas"</string>
+    <string name="recentCalls_deleteAll">"Limpar registro de chamadas"</string>
+    <string name="recentCalls_empty">"O registro de chamadas está vazio."</string>
+    <string name="imei">"IMEI"</string>
+    <string name="voicemail">"Correio de voz"</string>
+    <string name="unknown">"Desconhecido"</string>
+    <string name="private_num">"Número privado"</string>
+    <string name="payphone">"Orelhão"</string>
+    <string name="dialerKeyboardHintText">"Use o teclado para discar"</string>
+    <string name="dialerDialpadHintText">"Discar para adicionar uma chamada"</string>
+    <string name="simContacts_emptyLoading">"Carregando do cartão SIM..."</string>
+    <string name="simContacts_title">"Contatos do cartão SIM"</string>
+    <string name="contactsSyncPlug"><font fgcolor="#ffffffff">" Sincronize seus contatos do Google!"</font>" "\n"Após sincronizar para o seu telefone, seus contatos estarão disponíveis em qualquer lugar que você vá."</string>
+    <string name="noContactsHelpText">"Não há nenhum contato."\n\n"Para adicionar contatos, pressione "<font fgcolor="#ffffffff"><b>"Menu"</b></font>" e selecione:"\n" "\n<li><font fgcolor="#ffffffff"><b>"Novo contato"</b></font>" para criar um novo contato do início "\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Importar contatos"</b></font>" para adicionar do seu cartão SIM "\n</li></string>
+    <string name="noContactsHelpTextWithSync">"Não há nenhum contato."\n\n"Para adicionar contatos, pressione "<font fgcolor="#ffffffff"><b>"Menu"</b></font>" e selecione:"\n" "\n<li><font fgcolor="#ffffffff"><b>"Editar grupos sincronizados"</b></font>" para adicionar a partir de uma conta do Google nova ou já existente"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Novo contato"</b></font>" para criar um novo contato do início"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Importar contatos"</b></font>" para adicionar contatos do seu cartão SIM "\n</li></string>
+    <string name="seclectSyncGroups_title">"Selecionar grupos para sincronizar"</string>
+    <string name="liveFolder_all_label">"Todos os contatos"</string>
+    <string name="liveFolder_favorites_label">"Com estrela"</string>
+    <string name="liveFolder_phones_label">"Telefones"</string>
+    <string name="dialer_useDtmfDialpad">"Usar teclado multifrequencial"</string>
+    <string name="dialer_returnToInCallScreen">"Retornar para a chamada em espera"</string>
+    <string name="dialer_addAnotherCall">"Adicionar chamada"</string>
+    <string name="callDetailTitle">"Detalhes da chamada"</string>
+    <string name="toast_call_detail_error">"Não foi possível ler os detalhes para a chamada solicitada."</string>
+    <string name="call_type">"Tipo"</string>
+    <string name="type_incoming">"Recebendo chamada"</string>
+    <string name="type_outgoing">"Chamada enviada"</string>
+    <string name="type_missed">"Chamada perdida"</string>
+    <string name="call_time">"Horário"</string>
+    <string name="datetime_relative">"<xliff:g id="DATETIME">%1$s</xliff:g> (<xliff:g id="RELATIVE">%2$s</xliff:g>)"</string>
+    <string name="call_duration">"Duração"</string>
+    <string name="header_actions">"Ações"</string>
+    <string name="ringtone_spinner">"Toque: <xliff:g id="RINGTONE">%1$s</xliff:g>"</string>
+    <string name="add_more_items">"Adicionar mais itens"</string>
+    <string name="actionCall">"Chamar <xliff:g id="TYPE">%s</xliff:g>"</string>
+    <string name="actionEmail">"Enviar e-mail para <xliff:g id="TYPE">%s</xliff:g>"</string>
+    <string name="actionText">"Enviar mensagem de texto para <xliff:g id="TYPE">%s</xliff:g>"</string>
+    <string name="actionChat">"Bater papo usando <xliff:g id="TYPE">%s</xliff:g>"</string>
+    <string name="actionMap">"Visualizar endereço de <xliff:g id="TYPE">%s</xliff:g>"</string>
+    <string name="actionIncomingCall">"Chamadas recebidas"</string>
+    <string name="detailIncomingCallsGoToVoicemail">"Será enviado diretamente para o correio de voz"</string>
+    <string name="detailsRingtone">"Definir para <xliff:g id="RINGTONE_NAME">%s</xliff:g>"</string>
+    <string name="callBack">"Retornar chamada"</string>
+    <string name="callAgain">"Chamar novamente"</string>
+    <string name="returnCall">"Retornar chamada"</string>
+    <string name="callDetailsDurationFormat">"<xliff:g id="MINUTES">%s</xliff:g> min. <xliff:g id="SECONDS">%s</xliff:g> s"</string>
+    <string name="favoritesFrquentSeparator">"Frequentemente chamado"</string>
+    <string name="add_contact_dlg_title">"Adicionar contato"</string>
+    <string name="add_contact_dlg_message_fmt">"Adicionar \"<xliff:g id="EMAIL">%s</xliff:g>\" aos contatos?"</string>
+    <!-- no translation found for description_image_button_one (1740638037139856139) -->
+    <skip />
+    <!-- no translation found for description_image_button_two (5882638439003731308) -->
+    <skip />
+    <!-- no translation found for description_image_button_three (8709731759376015180) -->
+    <skip />
+    <!-- no translation found for description_image_button_four (3530239685642246130) -->
+    <skip />
+    <!-- no translation found for description_image_button_five (1182465427501188413) -->
+    <skip />
+    <!-- no translation found for description_image_button_six (2093656269261415475) -->
+    <skip />
+    <!-- no translation found for description_image_button_seven (2450357020447676481) -->
+    <skip />
+    <!-- no translation found for description_image_button_eight (6969435115163287801) -->
+    <skip />
+    <!-- no translation found for description_image_button_nine (7857248695662558323) -->
+    <skip />
+    <!-- no translation found for description_image_button_star (3365919907520767866) -->
+    <skip />
+    <!-- no translation found for description_image_button_zero (4133108949401820710) -->
+    <skip />
+    <!-- no translation found for description_image_button_pound (3039765597595889230) -->
+    <skip />
+    <string name="no_sdcard_title">"Nenhum Cartão SD disponível"</string>
+    <string name="no_sdcard_message">"Nenhum cartão SD detectado"</string>
+    <string name="searching_vcard_title">"Pesquisando VCard"</string>
+    <string name="select_import_type_title">"De onde você gostaria de importar contatos?"</string>
+    <string name="import_from_sim">"Cartão SIM"</string>
+    <string name="import_from_sdcard">"Cartão SD"</string>
+    <string name="import_all_vcard_string">"Importar todos os arquivos do VCard"</string>
+    <string name="import_one_vcard_string">"Importar um arquivo do VCard"</string>
+    <string name="searching_vcard_message">"Procurando dados do VCard no VCard"</string>
+    <string name="scanning_sdcard_failed_title">"Falha na verificação do Cartão SD"</string>
+    <string name="scanning_sdcard_failed_message">"Falha na verificação do Cartão SD"</string>
+    <string name="fail_reason_io_error">"Erro E/S"</string>
+    <string name="fail_reason_vcard_parse_error">"Falha ao analisar o VCard"</string>
+    <string name="fail_reason_no_vcard_file">"Nenhum arquivo de VCard encontrado no Cartão SD"</string>
+    <string name="fail_reason_no_vcard_entry">"Nenhuma entrada válida no VCard foi encontrada para sua seleção"</string>
+    <string name="select_vcard_title">"Selecionar arquivo do VCard"</string>
+    <string name="select_vcard_message">"Selecione um arquivo do VCard para importar"</string>
+    <string name="reading_vcard_title">"Lendo VCard"</string>
+    <string name="reading_vcard_message">"Lendo os arquivos do VCard"</string>
+    <string name="importing_vcard_message">"Importando os dados do VCard"</string>
+    <string name="reading_vcard_failed_title">"A leitura dos dados do VCard falhou"</string>
+    <string name="reading_vcard_failed_message">"Não foi possível ler os dados do VCard"\n"Motivo da falha: \"<xliff:g id="FAIL_REASON">%s</xliff:g>\""</string>
+    <string name="reading_vcard_contacts">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> de <xliff:g id="TOTAL_NUMBER">%s</xliff:g> contatos"</string>
+    <string name="reading_vcard_files">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> de <xliff:g id="TOTAL_NUMBER">%s</xliff:g> arquivos"</string>
+    <!-- no translation found for export_contact_list (3165097742175874384) -->
+    <skip />
+    <!-- no translation found for confirm_export_title (1693047909433122854) -->
+    <skip />
+    <!-- no translation found for confirm_export_message (63482084706768079) -->
+    <skip />
+    <!-- no translation found for exporting_contact_failed_title (1455264422455075858) -->
+    <skip />
+    <!-- no translation found for exporting_contact_failed_message (1426451081541603512) -->
+    <skip />
+    <!-- no translation found for fail_reason_too_many_vcard (5416992255233341607) -->
+    <skip />
+    <!-- no translation found for fail_reason_cannot_open_destination_dir (1739293936432987758) -->
+    <skip />
+    <!-- no translation found for exporting_contact_list_title (9072240631534457415) -->
+    <skip />
+    <!-- no translation found for exporting_contact_list_message (5640326540405486055) -->
+    <skip />
+    <!-- no translation found for fail_reason_could_not_initialize_exporter (4943708332700987376) -->
+    <skip />
+    <!-- no translation found for fail_reason_error_occurred_during_export (2151165129433831202) -->
+    <skip />
+    <!-- no translation found for fail_reason_could_not_open_file (4013520943128739511) -->
+    <skip />
+    <!-- no translation found for exporting_contact_list_progress (560522409559101193) -->
+    <skip />
+    <!-- no translation found for search_settings_description (1422183266726984096) -->
+    <skip />
+</resources>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index d7dae47..ce97eb4 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -16,47 +16,57 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="contactsList">"Контакты"</string>
-    <string name="launcherDialer">"Дозвон"</string>
+    <string name="launcherDialer">"Телефон"</string>
     <string name="shortcutContact">"Контакт"</string>
+    <!-- no translation found for shortcutDialContact (7165340343023469996) -->
+    <skip />
+    <!-- no translation found for shortcutMessageContact (3025782962770298900) -->
+    <skip />
+    <!-- no translation found for shortcutActivityTitle (6642877210643565436) -->
+    <skip />
+    <!-- no translation found for callShortcutActivityTitle (6065749861423648991) -->
+    <skip />
+    <!-- no translation found for messageShortcutActivityTitle (3084542316620335911) -->
+    <skip />
     <string name="starredList">"Помеченные"</string>
-    <string name="frequentList">"Частые"</string>
+    <string name="frequentList">"Часто вызываемые"</string>
     <string name="strequentList">"Избранные"</string>
     <string name="viewContactTitle">"Сведения о контакте"</string>
     <string name="viewContactDesription">"Просмотреть контакт"</string>
     <string name="editContactDescription">"Изменить контакт"</string>
     <string name="insertContactDescription">"Создать контакт"</string>
-    <string name="searchHint">"Искать контакты"</string>
+    <string name="searchHint">"Поиск контактов"</string>
     <string name="menu_search">"Поиск"</string>
-    <string name="menu_newContact">"Создать контакт"</string>
+    <string name="menu_newContact">"Новый контакт"</string>
     <string name="menu_viewContact">"Просмотреть контакт"</string>
-    <string name="menu_callNumber">"Позвонить: <xliff:g id="NAME">%s</xliff:g>"</string>
-    <string name="menu_addStar">"Добавить в избранное"</string>
-    <string name="menu_removeStar">"Удалить из избранного"</string>
-    <string name="menu_showBarcode">"Показать штрихкод"</string>
+    <string name="menu_callNumber">"Вызов: <xliff:g id="NAME">%s</xliff:g>"</string>
+    <string name="menu_addStar">"Добавить в избранные"</string>
+    <string name="menu_removeStar">"Удалить из избранных"</string>
+    <string name="menu_showBarcode">"Показать штрих-код"</string>
     <string name="menu_editContact">"Изменить контакт"</string>
     <string name="menu_deleteContact">"Удалить контакт"</string>
     <string name="menu_call">"Позвонить"</string>
     <string name="menu_sendSMS">"Отправить SMS/MMS"</string>
-    <string name="menu_sendEmail">"Отправить сообщение электронной почты"</string>
+    <string name="menu_sendEmail">"Отправить письмо"</string>
     <string name="menu_viewAddress">"Адрес на карте"</string>
     <string name="menu_makeDefaultNumber">"Сделать номером по умолчанию"</string>
-    <string name="deleteConfirmation_title">"Удаление"</string>
+    <string name="deleteConfirmation_title">"Удалить"</string>
     <string name="deleteConfirmation">"Этот контакт будет удален."</string>
     <string name="menu_done">"Готово"</string>
-    <string name="menu_doNotSave">"Отменить"</string>
+    <string name="menu_doNotSave">"Отменить изменения"</string>
     <string name="editContact_title_edit">"Изменить контакт"</string>
-    <string name="editContact_title_insert">"Создание контакта"</string>
-    <string name="menu_addItem">"Подробнее"</string>
-    <string name="label_phonetic_name">"Фонетика"</string>
+    <string name="editContact_title_insert">"Новый контакт"</string>
+    <string name="menu_addItem">"Добавить информацию"</string>
+    <string name="label_phonetic_name">"Произношение"</string>
     <string name="label_notes">"Примечания"</string>
-    <string name="label_ringtone">"Мелодия звонка"</string>
-    <string name="ghostData_name">"Первый и последний"</string>
-    <string name="ghostData_phonetic_name">"Имя (фонетическая запись)"</string>
+    <string name="label_ringtone">"Мелодия"</string>
+    <string name="ghostData_name">"Имя и фамилия"</string>
+    <string name="ghostData_phonetic_name">"Произношение имени"</string>
     <string name="ghostData_company">"Компания"</string>
     <string name="ghostData_title">"Должность"</string>
     <string name="ghostData_im">"Имя в чате"</string>
     <string name="ghostData_notes">"Мое примечание"</string>
-    <string name="ghostData_phone">"Телефонный номер"</string>
+    <string name="ghostData_phone">"Номер телефона"</string>
     <string name="ghostData_email">"Адрес электронной почты"</string>
     <string name="ghostData_postal">"Почтовый адрес"</string>
     <string name="invalidContactMessage">"Контакт не существует."</string>
@@ -71,101 +81,177 @@
     <item>"Организация"</item>
     <item>"Примечание"</item>
   </string-array>
-    <string name="errorDialogTitle">"Нет изображений"</string>
-    <string name="photoPickerNotFoundText">"На телефоне нет изображений."</string>
+    <string name="errorDialogTitle">"Нет картинок"</string>
+    <string name="photoPickerNotFoundText">"В телефоне нет картинок."</string>
     <string name="attachToContact">"Значок контакта"</string>
-    <string name="customLabelPickerTitle">"Имя персонализированного ярлыка"</string>
+    <string name="customLabelPickerTitle">"Особая метка"</string>
     <string name="menu_displayGroup">"Показать группу"</string>
     <string name="syncGroupPreference">"Изменить группы синхронизации"</string>
     <string name="importFromSim">"Импортировать контакты"</string>
-    <string name="send_to_voicemail_checkbox">"Направлять звонки в голосовую почту"</string>
-    <string name="send_to_voicemail_view">"Вызовы направляются прямо в голосовую почту."</string>
+    <string name="send_to_voicemail_checkbox">"Направлять вызовы в голосовую почту"</string>
+    <string name="send_to_voicemail_view">"Звонки направляются в голосовую почту"</string>
     <string name="default_ringtone">"По умолчанию"</string>
     <string name="addPicture">"Добавить значок"</string>
-    <string name="removePicture">"Убрать значок"</string>
+    <string name="removePicture">"Удалить значок"</string>
     <string name="noContacts">"Нет контактов."</string>
-    <string name="noContactsWithPhoneNumbers">"Нет контактов с телефонными номерами."</string>
+    <string name="noContactsWithPhoneNumbers">"Нет контактов с номерами телефонов."</string>
     <string name="noFavorites">"Нет избранных."</string>
     <string name="select_group_title">"Группы"</string>
     <string name="groupEmpty">"Группа \"<xliff:g id="GROUPNAME">%s</xliff:g>\" пуста."</string>
     <string name="showAllGroups">"Все контакты"</string>
     <string name="syncAllGroups">"Синхронизировать все контакты"</string>
     <string name="groupNameMyContacts">"Мои контакты"</string>
-    <string name="groupNameWithPhones">"Контакты с телефонными номерами"</string>
+    <string name="groupNameWithPhones">"Контакты с номерами телефонов"</string>
     <string name="starredInAndroid">"Помеченные в Android"</string>
     <string name="contactCreatedToast">"Контакт создан."</string>
     <string name="contactSavedToast">"Контакт сохранен."</string>
     <string name="listSeparatorCallNumber">"Набрать номер"</string>
     <string name="listSeparatorCallNumber_edit">"Номера телефонов"</string>
     <string name="listSeparatorSendSmsMms">"Отправить SMS/MMS"</string>
-    <string name="listSeparatorSendEmail">"Отправить сообщение электронной почты"</string>
+    <string name="listSeparatorSendEmail">"Отправить письмо"</string>
     <string name="listSeparatorSendEmail_edit">"Адреса электронной почты"</string>
     <string name="listSeparatorSendIm">"Отправить мгновенное сообщение"</string>
-    <string name="listSeparatorSendIm_edit">"Адреса чата"</string>
+    <string name="listSeparatorSendIm_edit">"Адреса в чате"</string>
     <string name="listSeparatorMapAddress">"Адрес на карте"</string>
     <string name="listSeparatorMapAddress_edit">"Почтовые адреса"</string>
     <string name="listSeparatorOrganizations">"Организации"</string>
-    <string name="listSeparatorOtherInformation">"Другие сведения"</string>
+    <string name="listSeparatorOtherInformation">"Другая информация"</string>
     <string name="listSeparatorOtherInformation_edit">"Другие параметры"</string>
-    <string name="listSeparatorMore_edit">"Дополнительно"</string>
+    <string name="listSeparatorMore_edit">"Добавить"</string>
     <string name="contactsIconLabel">"Контакты"</string>
     <string name="contactsFavoritesLabel">"Избранные"</string>
-    <string name="dialerIconLabel">"Набор номеров"</string>
-    <string name="recentCallsIconLabel">"Журнал вызовов"</string>
+    <string name="dialerIconLabel">"Телефон"</string>
+    <string name="recentCallsIconLabel">"Вызовы"</string>
     <string name="liveFolderAll">"Все контакты"</string>
     <string name="liveFolderFavorites">"Помеченные контакты"</string>
     <string name="liveFolderPhone">"Контакты с номерами телефонов"</string>
-    <string name="menu_sendTextMessage">"Отправить сообщение SMS"</string>
-    <string name="recentCalls_callNumber">"Позвонить: <xliff:g id="NAME">%s</xliff:g>"</string>
+    <string name="menu_sendTextMessage">"Отправить SMS-сообщение"</string>
+    <string name="recentCalls_callNumber">"Вызов: <xliff:g id="NAME">%s</xliff:g>"</string>
     <string name="recentCalls_editNumberBeforeCall">"Изменить номер перед вызовом"</string>
     <string name="recentCalls_addToContact">"Добавить в контакты"</string>
-    <string name="recentCalls_removeFromRecentList">"Удалить из журнала вызовов"</string>
-    <string name="recentCalls_deleteAll">"Очистить журнал вызовов"</string>
-    <string name="recentCalls_empty">"Журнал вызовов пуст."</string>
+    <string name="recentCalls_removeFromRecentList">"Удалить из списка вызовов"</string>
+    <string name="recentCalls_deleteAll">"Очистить список вызовов"</string>
+    <string name="recentCalls_empty">"Список вызовов пуст."</string>
     <string name="imei">"IMEI"</string>
     <string name="voicemail">"Голосовая почта"</string>
     <string name="unknown">"Неизвестно"</string>
     <string name="private_num">"Частный номер"</string>
     <string name="payphone">"Телефон-автомат"</string>
-    <string name="dialerKeyboardHintText">"Для набора воспользуйтесь клавиатурой"</string>
+    <string name="dialerKeyboardHintText">"Наберите номер с клавиатуры"</string>
     <string name="dialerDialpadHintText">"Наберите номер, чтобы добавить вызов"</string>
-    <string name="simContacts_emptyLoading">"Идет загрузка с SIM-карты…"</string>
+    <string name="simContacts_emptyLoading">"Загрузка с SIM-карты…"</string>
     <string name="simContacts_title">"Контакты на SIM-карте"</string>
-    <string name="contactsSyncPlug"><font fgcolor="#ffffffff">"Синхронизируйте свои контакты Google!"</font>" "\n"После синхронизации с телефоном вы сможете общаться со знакомыми, где бы вы ни были."</string>
-    <string name="noContactsHelpText">"Контакты отсутствуют."\n\n" Нажмите кнопку "<font fgcolor="#ffffffff"><b>"Меню"</b></font>" и выберите:"\n\n<li><font fgcolor="#ffffffff"><b>"Создать контакт"</b></font>" – добавление нового контакта из рабочей области;"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Импорт контактов"</b></font>" – добавление контактов с SIM-карты.￼"\n</li></string>
-    <string name="noContactsHelpTextWithSync">"Контакты отсутствуют."\n\n"Чтобы добавить контакты, нажмите кнопку "<font fgcolor="#ffffffff"><b>"Меню"</b></font>" и выберите:"\n" "\n<li><font fgcolor="#ffffffff"><b>"Редактировать группы синхронизации"</b></font>" – добавление контакта из нового или существующего аккаунта Google;"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Создать контакт"</b></font>" – создание абсолютно нового контакта;"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Импортировать контакты"</b></font>" – добавление контактов, содержащихся на SIM-карте."\n</li></string>
-    <string name="seclectSyncGroups_title">"Выбор групп для синхронизации"</string>
+    <string name="contactsSyncPlug"><font fgcolor="#ffffffff">"Синхронизируйте контакты Google."</font>" "\n"После синхронизации с телефоном ваши контакты будут доступны отовсюду."</string>
+    <string name="noContactsHelpText">"У вас нет контактов."\n\n"Чтобы добавить контакты, нажмите "<font fgcolor="#ffffffff"><b>"Меню"</b></font>" и выберите:"\n" "\n<li><font fgcolor="#ffffffff"><b>"Новый контакт"</b></font>", чтобы создать новый контакт с нуля"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Импортировать контакты"</b></font>", чтобы добавить контакты с SIM-карты"\n</li></string>
+    <string name="noContactsHelpTextWithSync">"У вас нет контактов."\n\n"Чтобы добавить контакты, нажмите "<font fgcolor="#ffffffff"><b>"Меню"</b></font>" и выберите:"\n" "\n<li><font fgcolor="#ffffffff"><b>"Изменить группы синхронизации"</b></font>", чтобы добавить контакт из имеющегося или нового аккаунта Google"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Новый контакт"</b></font>", чтобы создать новый контакт с нуля"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Импортировать контакты"</b></font>", чтобы добавить контакты с SIM-карты"\n</li></string>
+    <string name="seclectSyncGroups_title">"Выбрать группы для синхронизации"</string>
     <string name="liveFolder_all_label">"Все контакты"</string>
     <string name="liveFolder_favorites_label">"Помеченные"</string>
     <string name="liveFolder_phones_label">"Телефоны"</string>
-    <string name="dialer_useDtmfDialpad">"Использовать клавиатуру тонального набора"</string>
-    <string name="dialer_returnToInCallScreen">"Вернуться к текущему звонку"</string>
-    <string name="dialer_addAnotherCall">"Добавить звонок"</string>
-    <string name="callDetailTitle">"Сведения о звонке"</string>
-    <string name="toast_call_detail_error">"Не удается считать сведения об указанном звонке."</string>
+    <string name="dialer_useDtmfDialpad">"Использовать тональный набор"</string>
+    <string name="dialer_returnToInCallScreen">"Вернуться к ожидающему вызову"</string>
+    <string name="dialer_addAnotherCall">"Добавить вызов"</string>
+    <string name="callDetailTitle">"Сведения о вызове"</string>
+    <string name="toast_call_detail_error">"Не удается получить сведения о вызове."</string>
     <string name="call_type">"Тип"</string>
-    <string name="type_incoming">"Входящий звонок"</string>
-    <string name="type_outgoing">"Исходящий звонок"</string>
-    <string name="type_missed">"Пропущенный звонок"</string>
+    <string name="type_incoming">"Входящий вызов"</string>
+    <string name="type_outgoing">"Исходящий вызов"</string>
+    <string name="type_missed">"Пропущенный вызов"</string>
     <string name="call_time">"Время"</string>
     <string name="datetime_relative">"<xliff:g id="DATETIME">%1$s</xliff:g> (<xliff:g id="RELATIVE">%2$s</xliff:g>)"</string>
     <string name="call_duration">"Продолжительность"</string>
     <string name="header_actions">"Действия"</string>
     <string name="ringtone_spinner">"Мелодия: <xliff:g id="RINGTONE">%1$s</xliff:g>"</string>
-    <string name="add_more_items">"Добавление контактов"</string>
-    <string name="actionCall">"Позвонить по номеру: <xliff:g id="TYPE">%s</xliff:g>"</string>
-    <string name="actionEmail">"Отправить электронное сообщение на адрес: <xliff:g id="TYPE">%s</xliff:g>"</string>
-    <string name="actionText">"Отправить текстовое сообщение на номер: <xliff:g id="TYPE">%s</xliff:g>"</string>
-    <string name="actionChat">"Общаться в чате с помощью: <xliff:g id="TYPE">%s</xliff:g>"</string>
-    <string name="actionMap">"Просмотр адреса: <xliff:g id="TYPE">%s</xliff:g>"</string>
+    <string name="add_more_items">"Добавить сведения"</string>
+    <string name="actionCall">"Вызов: <xliff:g id="TYPE">%s</xliff:g>"</string>
+    <string name="actionEmail">"Электронная почта <xliff:g id="TYPE">%s</xliff:g>"</string>
+    <string name="actionText">"Отправить текстовое сообщение <xliff:g id="TYPE">%s</xliff:g>"</string>
+    <string name="actionChat">"Начать чат в <xliff:g id="TYPE">%s</xliff:g>"</string>
+    <string name="actionMap">"Адрес <xliff:g id="TYPE">%s</xliff:g> на карте"</string>
     <string name="actionIncomingCall">"Входящие вызовы"</string>
-    <string name="detailIncomingCallsGoToVoicemail">"Переадресация в голосовую почту"</string>
+    <string name="detailIncomingCallsGoToVoicemail">"Будут направляться в голосовую почту"</string>
     <string name="detailsRingtone">"Выбрано: <xliff:g id="RINGTONE_NAME">%s</xliff:g>"</string>
-    <string name="callBack">"Перезвонить"</string>
+    <string name="callBack">"Позвонить"</string>
     <string name="callAgain">"Позвонить снова"</string>
     <string name="returnCall">"Перезвонить"</string>
-    <string name="callDetailsDurationFormat">"<xliff:g id="MINUTES">%s</xliff:g> мин. <xliff:g id="SECONDS">%s</xliff:g> с."</string>
-    <string name="favoritesFrquentSeparator">"Часто набираемые"</string>
-    <string name="add_contact_dlg_title">"Добавление контакта"</string>
-    <string name="add_contact_dlg_message_fmt">"Добавить адрес <xliff:g id="EMAIL">%s</xliff:g> в·контакты?"</string>
+    <string name="callDetailsDurationFormat">"<xliff:g id="MINUTES">%s</xliff:g>:<xliff:g id="SECONDS">%s</xliff:g>"</string>
+    <string name="favoritesFrquentSeparator">"Часто вызываемые"</string>
+    <string name="add_contact_dlg_title">"Добление контакта"</string>
+    <string name="add_contact_dlg_message_fmt">"Добавить в контакты <xliff:g id="EMAIL">%s</xliff:g>?"</string>
+    <!-- no translation found for description_image_button_one (1740638037139856139) -->
+    <skip />
+    <!-- no translation found for description_image_button_two (5882638439003731308) -->
+    <skip />
+    <!-- no translation found for description_image_button_three (8709731759376015180) -->
+    <skip />
+    <!-- no translation found for description_image_button_four (3530239685642246130) -->
+    <skip />
+    <!-- no translation found for description_image_button_five (1182465427501188413) -->
+    <skip />
+    <!-- no translation found for description_image_button_six (2093656269261415475) -->
+    <skip />
+    <!-- no translation found for description_image_button_seven (2450357020447676481) -->
+    <skip />
+    <!-- no translation found for description_image_button_eight (6969435115163287801) -->
+    <skip />
+    <!-- no translation found for description_image_button_nine (7857248695662558323) -->
+    <skip />
+    <!-- no translation found for description_image_button_star (3365919907520767866) -->
+    <skip />
+    <!-- no translation found for description_image_button_zero (4133108949401820710) -->
+    <skip />
+    <!-- no translation found for description_image_button_pound (3039765597595889230) -->
+    <skip />
+    <string name="no_sdcard_title">"Нет SD-карты"</string>
+    <string name="no_sdcard_message">"SD-карта не обнаружена"</string>
+    <string name="searching_vcard_title">"Поиск VCard"</string>
+    <string name="select_import_type_title">"Откуда импортировать контакты?"</string>
+    <string name="import_from_sim">"SIM-карта"</string>
+    <string name="import_from_sdcard">"SD-карта"</string>
+    <string name="import_all_vcard_string">"Импорт всех файлов VCard"</string>
+    <string name="import_one_vcard_string">"Импортировать один файл VCard"</string>
+    <string name="searching_vcard_message">"Поиск данных VCard в файле VCard"</string>
+    <string name="scanning_sdcard_failed_title">"Не удалось сканировать SD-карту"</string>
+    <string name="scanning_sdcard_failed_message">"Не удалось сканировать SD-карту"</string>
+    <string name="fail_reason_io_error">"Ошибка ввода-вывода"</string>
+    <string name="fail_reason_vcard_parse_error">"Не удается выполнить синтаксический анализ VCard"</string>
+    <string name="fail_reason_no_vcard_file">"На SD-карте не найдены файлы VCard"</string>
+    <string name="fail_reason_no_vcard_entry">"Нет подходящих записей VCard"</string>
+    <string name="select_vcard_title">"Выбор файла VCard"</string>
+    <string name="select_vcard_message">"Выберите файл VCard для импорта"</string>
+    <string name="reading_vcard_title">"Чтение VCard"</string>
+    <string name="reading_vcard_message">"Чтение файлов VCard"</string>
+    <string name="importing_vcard_message">"Импорт данных VCard"</string>
+    <string name="reading_vcard_failed_title">"Не удается считать данные VCard"</string>
+    <string name="reading_vcard_failed_message">"Не удается прочитать данные VCard"\n"Причина: \"<xliff:g id="FAIL_REASON">%s</xliff:g>\""</string>
+    <string name="reading_vcard_contacts">"Контакт <xliff:g id="CURRENT_NUMBER">%s</xliff:g> из <xliff:g id="TOTAL_NUMBER">%s</xliff:g>"</string>
+    <string name="reading_vcard_files">"Файл <xliff:g id="CURRENT_NUMBER">%s</xliff:g> из <xliff:g id="TOTAL_NUMBER">%s</xliff:g>"</string>
+    <!-- no translation found for export_contact_list (3165097742175874384) -->
+    <skip />
+    <!-- no translation found for confirm_export_title (1693047909433122854) -->
+    <skip />
+    <!-- no translation found for confirm_export_message (63482084706768079) -->
+    <skip />
+    <!-- no translation found for exporting_contact_failed_title (1455264422455075858) -->
+    <skip />
+    <!-- no translation found for exporting_contact_failed_message (1426451081541603512) -->
+    <skip />
+    <!-- no translation found for fail_reason_too_many_vcard (5416992255233341607) -->
+    <skip />
+    <!-- no translation found for fail_reason_cannot_open_destination_dir (1739293936432987758) -->
+    <skip />
+    <!-- no translation found for exporting_contact_list_title (9072240631534457415) -->
+    <skip />
+    <!-- no translation found for exporting_contact_list_message (5640326540405486055) -->
+    <skip />
+    <!-- no translation found for fail_reason_could_not_initialize_exporter (4943708332700987376) -->
+    <skip />
+    <!-- no translation found for fail_reason_error_occurred_during_export (2151165129433831202) -->
+    <skip />
+    <!-- no translation found for fail_reason_could_not_open_file (4013520943128739511) -->
+    <skip />
+    <!-- no translation found for exporting_contact_list_progress (560522409559101193) -->
+    <skip />
+    <!-- no translation found for search_settings_description (1422183266726984096) -->
+    <skip />
 </resources>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
new file mode 100644
index 0000000..340b177
--- /dev/null
+++ b/res/values-sv/strings.xml
@@ -0,0 +1,257 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2009 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="contactsList">"Kontakter"</string>
+    <string name="launcherDialer">"Samtal"</string>
+    <string name="shortcutContact">"Kontakt"</string>
+    <!-- no translation found for shortcutDialContact (7165340343023469996) -->
+    <skip />
+    <!-- no translation found for shortcutMessageContact (3025782962770298900) -->
+    <skip />
+    <!-- no translation found for shortcutActivityTitle (6642877210643565436) -->
+    <skip />
+    <!-- no translation found for callShortcutActivityTitle (6065749861423648991) -->
+    <skip />
+    <!-- no translation found for messageShortcutActivityTitle (3084542316620335911) -->
+    <skip />
+    <string name="starredList">"Stjärnmärkta"</string>
+    <string name="frequentList">"Ofta"</string>
+    <string name="strequentList">"Favoriter"</string>
+    <string name="viewContactTitle">"Kontaktuppgifter"</string>
+    <string name="viewContactDesription">"Visa kontakt"</string>
+    <string name="editContactDescription">"Redigera kontakt"</string>
+    <string name="insertContactDescription">"Skapa kontakt"</string>
+    <string name="searchHint">"Sök efter kontakter"</string>
+    <string name="menu_search">"Sök"</string>
+    <string name="menu_newContact">"Ny kontakt"</string>
+    <string name="menu_viewContact">"Visa kontakt"</string>
+    <string name="menu_callNumber">"Ring <xliff:g id="NAME">%s</xliff:g>"</string>
+    <string name="menu_addStar">"Lägg till i Favoriter"</string>
+    <string name="menu_removeStar">"Ta bort från Favoriter"</string>
+    <string name="menu_showBarcode">"Visa streckkod"</string>
+    <string name="menu_editContact">"Redigera kontakt"</string>
+    <string name="menu_deleteContact">"Ta bort kontakt"</string>
+    <string name="menu_call">"Ring"</string>
+    <string name="menu_sendSMS">"Skicka SMS/MMS"</string>
+    <string name="menu_sendEmail">"Skicka e-post"</string>
+    <string name="menu_viewAddress">"Visa adress på karta"</string>
+    <string name="menu_makeDefaultNumber">"Använd som standardnummer"</string>
+    <string name="deleteConfirmation_title">"Ta bort"</string>
+    <string name="deleteConfirmation">"Kontakten kommer att tas bort."</string>
+    <string name="menu_done">"Färdig"</string>
+    <string name="menu_doNotSave">"Återgå"</string>
+    <string name="editContact_title_edit">"Redigera kontakt"</string>
+    <string name="editContact_title_insert">"Ny kontakt"</string>
+    <string name="menu_addItem">"Mer info"</string>
+    <string name="label_phonetic_name">"Fonetiskt"</string>
+    <string name="label_notes">"Anteckningar"</string>
+    <string name="label_ringtone">"Ringsignal"</string>
+    <string name="ghostData_name">"För- och efternamn"</string>
+    <string name="ghostData_phonetic_name">"Fonetiskt namn"</string>
+    <string name="ghostData_company">"Företag"</string>
+    <string name="ghostData_title">"Position"</string>
+    <string name="ghostData_im">"Chattnamn"</string>
+    <string name="ghostData_notes">"Min anteckning"</string>
+    <string name="ghostData_phone">"Telefonnummer"</string>
+    <string name="ghostData_email">"E-postadress"</string>
+    <string name="ghostData_postal">"Postadress"</string>
+    <string name="invalidContactMessage">"Kontakten finns inte."</string>
+    <string name="pickerNewContactHeader">"Skapa ny kontakt"</string>
+    <string name="selectLabel">"Välj etikett"</string>
+    <string name="phoneLabelsGroup">"Telefon"</string>
+    <string name="emailLabelsGroup">"E-post"</string>
+    <string name="imLabelsGroup">"Chatt"</string>
+    <string name="postalLabelsGroup">"Postadress"</string>
+    <string name="otherLabelsGroup">"Övrigt"</string>
+  <string-array name="otherLabels">
+    <item>"Organisation"</item>
+    <item>"Anteckning"</item>
+  </string-array>
+    <string name="errorDialogTitle">"Inga bilder"</string>
+    <string name="photoPickerNotFoundText">"Det finns inga bilder på telefonen."</string>
+    <string name="attachToContact">"Kontaktikon"</string>
+    <string name="customLabelPickerTitle">"Anpassat etikettsnamn"</string>
+    <string name="menu_displayGroup">"Visa grupper"</string>
+    <string name="syncGroupPreference">"Redigera synkgrupper"</string>
+    <string name="importFromSim">"Importera kontakter"</string>
+    <string name="send_to_voicemail_checkbox">"Skicka samtal direkt till röstbrevlåda"</string>
+    <string name="send_to_voicemail_view">"Samtal skickas direkt till röstbrevlådan."</string>
+    <string name="default_ringtone">"Standardinställning"</string>
+    <string name="addPicture">"Lägg till ikon"</string>
+    <string name="removePicture">"Ta bort ikon"</string>
+    <string name="noContacts">"Inga kontakter."</string>
+    <string name="noContactsWithPhoneNumbers">"Inga kontakter med telefonnummer."</string>
+    <string name="noFavorites">"Inga favoriter."</string>
+    <string name="select_group_title">"Grupper"</string>
+    <string name="groupEmpty">"Din grupp, <xliff:g id="GROUPNAME">%s</xliff:g>, är tom."</string>
+    <string name="showAllGroups">"Alla kontakter"</string>
+    <string name="syncAllGroups">"Synka alla kontakter"</string>
+    <string name="groupNameMyContacts">"Mina kontakter"</string>
+    <string name="groupNameWithPhones">"Kontakter med telefonnummer"</string>
+    <string name="starredInAndroid">"Stjärnmärkta i Android"</string>
+    <string name="contactCreatedToast">"Kontakt skapad."</string>
+    <string name="contactSavedToast">"Kontakt sparad."</string>
+    <string name="listSeparatorCallNumber">"Ring upp"</string>
+    <string name="listSeparatorCallNumber_edit">"Telefonnummer"</string>
+    <string name="listSeparatorSendSmsMms">"Skicka SMS/MMS"</string>
+    <string name="listSeparatorSendEmail">"Skicka e-post"</string>
+    <string name="listSeparatorSendEmail_edit">"E-postadresser"</string>
+    <string name="listSeparatorSendIm">"Skicka snabbmeddelande"</string>
+    <string name="listSeparatorSendIm_edit">"Chattadresser"</string>
+    <string name="listSeparatorMapAddress">"Visa adress på karta"</string>
+    <string name="listSeparatorMapAddress_edit">"Postadress"</string>
+    <string name="listSeparatorOrganizations">"Organisationer"</string>
+    <string name="listSeparatorOtherInformation">"Övrig information"</string>
+    <string name="listSeparatorOtherInformation_edit">"Övriga alternativ"</string>
+    <string name="listSeparatorMore_edit">"Mer"</string>
+    <string name="contactsIconLabel">"Kontakter"</string>
+    <string name="contactsFavoritesLabel">"Favoriter"</string>
+    <string name="dialerIconLabel">"Samtal"</string>
+    <string name="recentCallsIconLabel">"Samtalshistorik"</string>
+    <string name="liveFolderAll">"Alla kontakter"</string>
+    <string name="liveFolderFavorites">"Stjärnmärkta kontakter"</string>
+    <string name="liveFolderPhone">"Kontakter med telefonnummer"</string>
+    <string name="menu_sendTextMessage">"Skicka SMS"</string>
+    <string name="recentCalls_callNumber">"Ring <xliff:g id="NAME">%s</xliff:g>"</string>
+    <string name="recentCalls_editNumberBeforeCall">"Redigera nummer före samtal"</string>
+    <string name="recentCalls_addToContact">"Lägg till i Kontakter"</string>
+    <string name="recentCalls_removeFromRecentList">"Ta bort från samtalshistorik"</string>
+    <string name="recentCalls_deleteAll">"Rensa samtalshistorik"</string>
+    <string name="recentCalls_empty">"Samtalshistoriken är tom."</string>
+    <string name="imei">"IMEI-kod"</string>
+    <string name="voicemail">"Röstbrevlåda"</string>
+    <string name="unknown">"Okänd"</string>
+    <string name="private_num">"Privat nummer"</string>
+    <string name="payphone">"Telefonautomat"</string>
+    <string name="dialerKeyboardHintText">"Använd tangentbordet när du ringer"</string>
+    <string name="dialerDialpadHintText">"Ring om du vill lägga till ett samtal"</string>
+    <string name="simContacts_emptyLoading">"Läser in från SIM-kort…"</string>
+    <string name="simContacts_title">"Kontakter från SIM-kort"</string>
+    <string name="contactsSyncPlug"><font fgcolor="#ffffffff">"Synka dina Google-kontakter!"</font>" "\n"När du har synkat med telefonen kan du använda dina kontakter var du än är."</string>
+    <string name="noContactsHelpText">"Du har inga kontakter."\n\n"Om du vill lägga till kontakter trycker du på "<font fgcolor="#ffffffff"><b>"Meny"</b></font>" och väljer:"\n" "\n<li><font fgcolor="#ffffffff"><b>"Ny kontakt"</b></font>" om du vill skapa en helt ny kontakt"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Importera kontakter"</b></font>" om du vill lägga till kontakter från SIM-kortet"\n</li></string>
+    <string name="noContactsHelpTextWithSync">"Du har inga kontakter."\n\n"Om du vill lägga till kontakter trycker du på "<font fgcolor="#ffffffff"><b>"Meny"</b></font>" och väljer:"\n" "\n<li><font fgcolor="#ffffffff"><b>"Redigera synkgrupper"</b></font>" om du vill lägga till från ett nytt eller befintligt Google-konto"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Ny kontakt"</b></font>" om du vill lägga till en helt ny kontakt"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Importera kontakter"</b></font>" om du vill lägga till kontakter från SIM-kortet"\n</li></string>
+    <string name="seclectSyncGroups_title">"Välj grupper att synka"</string>
+    <string name="liveFolder_all_label">"Alla kontakter"</string>
+    <string name="liveFolder_favorites_label">"Stjärnmärkt"</string>
+    <string name="liveFolder_phones_label">"Telefoner"</string>
+    <string name="dialer_useDtmfDialpad">"Använda tonvalstelefon"</string>
+    <string name="dialer_returnToInCallScreen">"Återgå till pågående samtal"</string>
+    <string name="dialer_addAnotherCall">"Lägg t. samt."</string>
+    <string name="callDetailTitle">"Samtalsinfo"</string>
+    <string name="toast_call_detail_error">"Det gick inte att läsa information om samtalet."</string>
+    <string name="call_type">"Typ"</string>
+    <string name="type_incoming">"Inkommande samtal"</string>
+    <string name="type_outgoing">"Utgående samtal"</string>
+    <string name="type_missed">"Missat samtal"</string>
+    <string name="call_time">"Tid"</string>
+    <string name="datetime_relative">"<xliff:g id="DATETIME">%1$s</xliff:g> (<xliff:g id="RELATIVE">%2$s</xliff:g>)"</string>
+    <string name="call_duration">"Längd"</string>
+    <string name="header_actions">"Aktiviteter"</string>
+    <string name="ringtone_spinner">"Ringsignal: <xliff:g id="RINGTONE">%1$s</xliff:g>"</string>
+    <string name="add_more_items">"Lägg till fler objekt"</string>
+    <string name="actionCall">"Ring <xliff:g id="TYPE">%s</xliff:g>"</string>
+    <string name="actionEmail">"Skicka e-post till <xliff:g id="TYPE">%s</xliff:g>"</string>
+    <string name="actionText">"Skicka SMS till <xliff:g id="TYPE">%s</xliff:g>"</string>
+    <string name="actionChat">"Chatta med <xliff:g id="TYPE">%s</xliff:g>"</string>
+    <string name="actionMap">"Visa adress, <xliff:g id="TYPE">%s</xliff:g>"</string>
+    <string name="actionIncomingCall">"Inkommande samtal"</string>
+    <string name="detailIncomingCallsGoToVoicemail">"Skickas direkt till röstbrevlådan"</string>
+    <string name="detailsRingtone">"Inställd på <xliff:g id="RINGTONE_NAME">%s</xliff:g>"</string>
+    <string name="callBack">"Ring upp"</string>
+    <string name="callAgain">"Ring igen"</string>
+    <string name="returnCall">"Ring upp"</string>
+    <string name="callDetailsDurationFormat">"<xliff:g id="MINUTES">%s</xliff:g> minuter <xliff:g id="SECONDS">%s</xliff:g> sekunder"</string>
+    <string name="favoritesFrquentSeparator">"Ringer ofta"</string>
+    <string name="add_contact_dlg_title">"Lägg till kontakt"</string>
+    <string name="add_contact_dlg_message_fmt">"Vill du lägga till <xliff:g id="EMAIL">%s</xliff:g> i Kontakter?"</string>
+    <!-- no translation found for description_image_button_one (1740638037139856139) -->
+    <skip />
+    <!-- no translation found for description_image_button_two (5882638439003731308) -->
+    <skip />
+    <!-- no translation found for description_image_button_three (8709731759376015180) -->
+    <skip />
+    <!-- no translation found for description_image_button_four (3530239685642246130) -->
+    <skip />
+    <!-- no translation found for description_image_button_five (1182465427501188413) -->
+    <skip />
+    <!-- no translation found for description_image_button_six (2093656269261415475) -->
+    <skip />
+    <!-- no translation found for description_image_button_seven (2450357020447676481) -->
+    <skip />
+    <!-- no translation found for description_image_button_eight (6969435115163287801) -->
+    <skip />
+    <!-- no translation found for description_image_button_nine (7857248695662558323) -->
+    <skip />
+    <!-- no translation found for description_image_button_star (3365919907520767866) -->
+    <skip />
+    <!-- no translation found for description_image_button_zero (4133108949401820710) -->
+    <skip />
+    <!-- no translation found for description_image_button_pound (3039765597595889230) -->
+    <skip />
+    <string name="no_sdcard_title">"Inget SD-kort"</string>
+    <string name="no_sdcard_message">"Inget SD-kort hittades"</string>
+    <string name="searching_vcard_title">"Söker efter VCard"</string>
+    <string name="select_import_type_title">"Varifrån vill du importera dina kontakter?"</string>
+    <string name="import_from_sim">"SIM-kort"</string>
+    <string name="import_from_sdcard">"SD-kort"</string>
+    <string name="import_all_vcard_string">"Importera alla VCard-filer"</string>
+    <string name="import_one_vcard_string">"Importera en VCard-fil"</string>
+    <string name="searching_vcard_message">"Söker efter VCard-data på VCard"</string>
+    <string name="scanning_sdcard_failed_title">"Det gick inte att läsa SD-kort"</string>
+    <string name="scanning_sdcard_failed_message">"Det gick inte att skanna SD-kort"</string>
+    <string name="fail_reason_io_error">"I/O-fel"</string>
+    <string name="fail_reason_vcard_parse_error">"Det gick inte att analysera VCard"</string>
+    <string name="fail_reason_no_vcard_file">"Ingen VCard-fil hittades på SD-kortet"</string>
+    <string name="fail_reason_no_vcard_entry">"Det finns ingen VCard-post i den valda filen"</string>
+    <string name="select_vcard_title">"Välj VCard-fil"</string>
+    <string name="select_vcard_message">"Välj en VCard-fil att importera"</string>
+    <string name="reading_vcard_title">"Läser VCard"</string>
+    <string name="reading_vcard_message">"Läser VCard-filer"</string>
+    <string name="importing_vcard_message">"Importera VCard-data"</string>
+    <string name="reading_vcard_failed_title">"Det gick inte att läsa VCard-data"</string>
+    <string name="reading_vcard_failed_message">"Det gick inte att läsa VCard-data"\n"Anledning: <xliff:g id="FAIL_REASON">%s</xliff:g>"</string>
+    <string name="reading_vcard_contacts">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> av <xliff:g id="TOTAL_NUMBER">%s</xliff:g> kontakter"</string>
+    <string name="reading_vcard_files">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> av <xliff:g id="TOTAL_NUMBER">%s</xliff:g> filer"</string>
+    <!-- no translation found for export_contact_list (3165097742175874384) -->
+    <skip />
+    <!-- no translation found for confirm_export_title (1693047909433122854) -->
+    <skip />
+    <!-- no translation found for confirm_export_message (63482084706768079) -->
+    <skip />
+    <!-- no translation found for exporting_contact_failed_title (1455264422455075858) -->
+    <skip />
+    <!-- no translation found for exporting_contact_failed_message (1426451081541603512) -->
+    <skip />
+    <!-- no translation found for fail_reason_too_many_vcard (5416992255233341607) -->
+    <skip />
+    <!-- no translation found for fail_reason_cannot_open_destination_dir (1739293936432987758) -->
+    <skip />
+    <!-- no translation found for exporting_contact_list_title (9072240631534457415) -->
+    <skip />
+    <!-- no translation found for exporting_contact_list_message (5640326540405486055) -->
+    <skip />
+    <!-- no translation found for fail_reason_could_not_initialize_exporter (4943708332700987376) -->
+    <skip />
+    <!-- no translation found for fail_reason_error_occurred_during_export (2151165129433831202) -->
+    <skip />
+    <!-- no translation found for fail_reason_could_not_open_file (4013520943128739511) -->
+    <skip />
+    <!-- no translation found for exporting_contact_list_progress (560522409559101193) -->
+    <skip />
+    <!-- no translation found for search_settings_description (1422183266726984096) -->
+    <skip />
+</resources>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
new file mode 100644
index 0000000..ccd7f60
--- /dev/null
+++ b/res/values-tr/strings.xml
@@ -0,0 +1,257 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2009 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="contactsList">"Kişiler"</string>
+    <string name="launcherDialer">"Çevirici"</string>
+    <string name="shortcutContact">"Kişi"</string>
+    <!-- no translation found for shortcutDialContact (7165340343023469996) -->
+    <skip />
+    <!-- no translation found for shortcutMessageContact (3025782962770298900) -->
+    <skip />
+    <!-- no translation found for shortcutActivityTitle (6642877210643565436) -->
+    <skip />
+    <!-- no translation found for callShortcutActivityTitle (6065749861423648991) -->
+    <skip />
+    <!-- no translation found for messageShortcutActivityTitle (3084542316620335911) -->
+    <skip />
+    <string name="starredList">"Yıldızlı"</string>
+    <string name="frequentList">"Sık sık"</string>
+    <string name="strequentList">"Sık Kullanılanlar"</string>
+    <string name="viewContactTitle">"Kişi ayrıntıları"</string>
+    <string name="viewContactDesription">"Kişiyi görüntüle"</string>
+    <string name="editContactDescription">"Kişiyi düzenle"</string>
+    <string name="insertContactDescription">"Kişi oluştur"</string>
+    <string name="searchHint">"Kişileri ara"</string>
+    <string name="menu_search">"Ara"</string>
+    <string name="menu_newContact">"Yeni kişi"</string>
+    <string name="menu_viewContact">"Kişiyi görüntüle"</string>
+    <string name="menu_callNumber">"<xliff:g id="NAME">%s</xliff:g> adlı kişiyi ara"</string>
+    <string name="menu_addStar">"Sık kullanılanlara ekle"</string>
+    <string name="menu_removeStar">"Sık kullanılanlardan kaldır"</string>
+    <string name="menu_showBarcode">"Barkodu göster"</string>
+    <string name="menu_editContact">"Kişiyi düzenle"</string>
+    <string name="menu_deleteContact">"Kişiyi sil"</string>
+    <string name="menu_call">"Çağrı"</string>
+    <string name="menu_sendSMS">"SMS/MMS gönder"</string>
+    <string name="menu_sendEmail">"E-posta gönder"</string>
+    <string name="menu_viewAddress">"Adresi haritada göster"</string>
+    <string name="menu_makeDefaultNumber">"Varsayılan numara yap"</string>
+    <string name="deleteConfirmation_title">"Sil"</string>
+    <string name="deleteConfirmation">"Bu kişi silinecek."</string>
+    <string name="menu_done">"Bitti"</string>
+    <string name="menu_doNotSave">"Geri Döndür"</string>
+    <string name="editContact_title_edit">"Kişiyi düzenle"</string>
+    <string name="editContact_title_insert">"Yeni kişi"</string>
+    <string name="menu_addItem">"Daha fazla bilgi"</string>
+    <string name="label_phonetic_name">"Fonetik"</string>
+    <string name="label_notes">"Notlar"</string>
+    <string name="label_ringtone">"Zil sesi"</string>
+    <string name="ghostData_name">"İlk ve Son"</string>
+    <string name="ghostData_phonetic_name">"Fonetik adı"</string>
+    <string name="ghostData_company">"Şirket"</string>
+    <string name="ghostData_title">"Konum"</string>
+    <string name="ghostData_im">"IM adı"</string>
+    <string name="ghostData_notes">"Notum"</string>
+    <string name="ghostData_phone">"Telefon numarası"</string>
+    <string name="ghostData_email">"E-posta adresi"</string>
+    <string name="ghostData_postal">"Posta adresi"</string>
+    <string name="invalidContactMessage">"Kişi mevcut değil."</string>
+    <string name="pickerNewContactHeader">"Yeni kişi oluştur"</string>
+    <string name="selectLabel">"Etiketi seç"</string>
+    <string name="phoneLabelsGroup">"Telefon"</string>
+    <string name="emailLabelsGroup">"E-posta"</string>
+    <string name="imLabelsGroup">"IM"</string>
+    <string name="postalLabelsGroup">"Posta adresi"</string>
+    <string name="otherLabelsGroup">"Diğer"</string>
+  <string-array name="otherLabels">
+    <item>"Kuruluş"</item>
+    <item>"Not"</item>
+  </string-array>
+    <string name="errorDialogTitle">"Resim yok"</string>
+    <string name="photoPickerNotFoundText">"Telefonda hiçbir resim yok."</string>
+    <string name="attachToContact">"Kişi simgesi"</string>
+    <string name="customLabelPickerTitle">"Özel etiket adı"</string>
+    <string name="menu_displayGroup">"Grubu görüntüle"</string>
+    <string name="syncGroupPreference">"Senk. Grupları düzenle"</string>
+    <string name="importFromSim">"Kişileri içe aktar"</string>
+    <string name="send_to_voicemail_checkbox">"Çağrıları doğrudan sesli mesaja gönder"</string>
+    <string name="send_to_voicemail_view">"Aramalar doğrudan sesli mesaja gönderildi."</string>
+    <string name="default_ringtone">"Varsayılan"</string>
+    <string name="addPicture">"Simge ekle"</string>
+    <string name="removePicture">"Simgeyi kaldır"</string>
+    <string name="noContacts">"Hiçbir kişi yok."</string>
+    <string name="noContactsWithPhoneNumbers">"Telefon numarası olan hiçbir kişi yok."</string>
+    <string name="noFavorites">"Sık kullanılan yok."</string>
+    <string name="select_group_title">"Gruplar"</string>
+    <string name="groupEmpty">"\"<xliff:g id="GROUPNAME">%s</xliff:g>\" grubunuz boş."</string>
+    <string name="showAllGroups">"Tüm kişiler"</string>
+    <string name="syncAllGroups">"Tüm kişileri senkronize et"</string>
+    <string name="groupNameMyContacts">"Kişilerim"</string>
+    <string name="groupNameWithPhones">"Telefon numarası olan kişiler"</string>
+    <string name="starredInAndroid">"Android\'de yıldızlı"</string>
+    <string name="contactCreatedToast">"Kişi oluşturuldu."</string>
+    <string name="contactSavedToast">"Kişi kaydedildi."</string>
+    <string name="listSeparatorCallNumber">"Numarayı çevir"</string>
+    <string name="listSeparatorCallNumber_edit">"Telefon numaraları"</string>
+    <string name="listSeparatorSendSmsMms">"SMS/MMS gönder"</string>
+    <string name="listSeparatorSendEmail">"E-posta gönder"</string>
+    <string name="listSeparatorSendEmail_edit">"E-posta adresleri"</string>
+    <string name="listSeparatorSendIm">"Anlık ileti gönder"</string>
+    <string name="listSeparatorSendIm_edit">"Sohbet adresleri"</string>
+    <string name="listSeparatorMapAddress">"Adresi haritada göster"</string>
+    <string name="listSeparatorMapAddress_edit">"Posta adresleri"</string>
+    <string name="listSeparatorOrganizations">"Kuruluşlar"</string>
+    <string name="listSeparatorOtherInformation">"Diğer bilgiler"</string>
+    <string name="listSeparatorOtherInformation_edit">"Diğer seçenekler"</string>
+    <string name="listSeparatorMore_edit">"Diğer"</string>
+    <string name="contactsIconLabel">"Kişiler"</string>
+    <string name="contactsFavoritesLabel">"Sık Kullanılanlar"</string>
+    <string name="dialerIconLabel">"Çevirici"</string>
+    <string name="recentCallsIconLabel">"Çağrı kaydı"</string>
+    <string name="liveFolderAll">"Tüm kişiler"</string>
+    <string name="liveFolderFavorites">"Yıldızlı kişiler"</string>
+    <string name="liveFolderPhone">"Telefon numarası olan kişiler"</string>
+    <string name="menu_sendTextMessage">"SMS iletisi gönder"</string>
+    <string name="recentCalls_callNumber">"<xliff:g id="NAME">%s</xliff:g> adlı kişiyi ara"</string>
+    <string name="recentCalls_editNumberBeforeCall">"Aramadan önce numarayı düzenle"</string>
+    <string name="recentCalls_addToContact">"Kişilere ekle"</string>
+    <string name="recentCalls_removeFromRecentList">"Çağrı kaydından kaldır"</string>
+    <string name="recentCalls_deleteAll">"Çağrı kaydını temizle"</string>
+    <string name="recentCalls_empty">"Çağrı kaydı boş."</string>
+    <string name="imei">"IMEI"</string>
+    <string name="voicemail">"Sesli Mesaj"</string>
+    <string name="unknown">"Bilinmiyor"</string>
+    <string name="private_num">"Özel numara"</string>
+    <string name="payphone">"Ankesörlü telefon"</string>
+    <string name="dialerKeyboardHintText">"Çevirmek için klavyeyi kullan"</string>
+    <string name="dialerDialpadHintText">"Arama eklemek için çevir"</string>
+    <string name="simContacts_emptyLoading">"SIM karttan yükleniyor..."</string>
+    <string name="simContacts_title">"SIM kart kişileri"</string>
+    <string name="contactsSyncPlug"><font fgcolor="#ffffffff">"Google kişilerinizi senkronize edin!"</font>" "\n"Telefonunuzu senkronize ettikten sonra, kişilerinize gittiğiniz her yerden ulaşabilirsiniz."</string>
+    <string name="noContactsHelpText">"Hiçbir kişiye sahip değilsiniz."\n\n"Kişi eklemek için "<font fgcolor="#ffffffff"><b>"Menü"</b></font>"\'ye basın ve şunu seçin:"\n" "\n<li><font fgcolor="#ffffffff"><b>"Yeni kişi"</b></font>" (yeni bir kişi oluşturmak için)"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Kişileri içe aktar"</b></font>" (kişileri SIM kartınızdan almak için)"\n</li></string>
+    <string name="noContactsHelpTextWithSync">"Hiçbir kişiniz yok."\n\n"Kişi eklemek için "<font fgcolor="#ffffffff"><b>"Menü"</b></font>"\'ye basın ve şunu seçin:"\n" "\n<li><font fgcolor="#ffffffff"><b>"Senkronize grupları düzenle"</b></font>" (yeni veya mevcut bir Google hesabından eklemek için )"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Yeni kişi"</b></font>" (yeni bir kişi oluşturmak için)"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Kişileri içe aktar"</b></font>" (kişileri SIM kartınızdan eklemek için)"\n</li></string>
+    <string name="seclectSyncGroups_title">"Senkronize edilecek grupları seç"</string>
+    <string name="liveFolder_all_label">"Tüm Kişiler"</string>
+    <string name="liveFolder_favorites_label">"Yıldızlı"</string>
+    <string name="liveFolder_phones_label">"Telefonlar"</string>
+    <string name="dialer_useDtmfDialpad">"Telefon tuş takımını kullan"</string>
+    <string name="dialer_returnToInCallScreen">"Çağrıya dön"</string>
+    <string name="dialer_addAnotherCall">"Çağrı ekle"</string>
+    <string name="callDetailTitle">"Çağrı ayrıntıları"</string>
+    <string name="toast_call_detail_error">"İstenen çağrı için ayrıntılar okunamadı."</string>
+    <string name="call_type">"Tür"</string>
+    <string name="type_incoming">"Gelen çağrı"</string>
+    <string name="type_outgoing">"Giden çağrı"</string>
+    <string name="type_missed">"Cevapsız çağrı"</string>
+    <string name="call_time">"Saat"</string>
+    <string name="datetime_relative">"<xliff:g id="DATETIME">%1$s</xliff:g> (<xliff:g id="RELATIVE">%2$s</xliff:g>)"</string>
+    <string name="call_duration">"Süre"</string>
+    <string name="header_actions">"İşlemler"</string>
+    <string name="ringtone_spinner">"Zil sesi: <xliff:g id="RINGTONE">%1$s</xliff:g>"</string>
+    <string name="add_more_items">"Daha fazla öğe ekle"</string>
+    <string name="actionCall">"Şunu ara: <xliff:g id="TYPE">%s</xliff:g>"</string>
+    <string name="actionEmail">"E-posta <xliff:g id="TYPE">%s</xliff:g>"</string>
+    <string name="actionText">"Metin <xliff:g id="TYPE">%s</xliff:g>"</string>
+    <string name="actionChat">"<xliff:g id="TYPE">%s</xliff:g> kullanarak sohbet et"</string>
+    <string name="actionMap">"<xliff:g id="TYPE">%s</xliff:g> adresini görüntüle"</string>
+    <string name="actionIncomingCall">"Gelen çağrılar"</string>
+    <string name="detailIncomingCallsGoToVoicemail">"Doğrudan sesli mesaja gönderilecek"</string>
+    <string name="detailsRingtone">"<xliff:g id="RINGTONE_NAME">%s</xliff:g> olarak ayarla"</string>
+    <string name="callBack">"Tekrar ara"</string>
+    <string name="callAgain">"Tekrar ara"</string>
+    <string name="returnCall">"Geri ara"</string>
+    <string name="callDetailsDurationFormat">"<xliff:g id="MINUTES">%s</xliff:g> dak <xliff:g id="SECONDS">%s</xliff:g> sn"</string>
+    <string name="favoritesFrquentSeparator">"Sık aranan"</string>
+    <string name="add_contact_dlg_title">"Kişi Ekle"</string>
+    <string name="add_contact_dlg_message_fmt">"\"<xliff:g id="EMAIL">%s</xliff:g>\" adresi kişilere eklensin mi?"</string>
+    <!-- no translation found for description_image_button_one (1740638037139856139) -->
+    <skip />
+    <!-- no translation found for description_image_button_two (5882638439003731308) -->
+    <skip />
+    <!-- no translation found for description_image_button_three (8709731759376015180) -->
+    <skip />
+    <!-- no translation found for description_image_button_four (3530239685642246130) -->
+    <skip />
+    <!-- no translation found for description_image_button_five (1182465427501188413) -->
+    <skip />
+    <!-- no translation found for description_image_button_six (2093656269261415475) -->
+    <skip />
+    <!-- no translation found for description_image_button_seven (2450357020447676481) -->
+    <skip />
+    <!-- no translation found for description_image_button_eight (6969435115163287801) -->
+    <skip />
+    <!-- no translation found for description_image_button_nine (7857248695662558323) -->
+    <skip />
+    <!-- no translation found for description_image_button_star (3365919907520767866) -->
+    <skip />
+    <!-- no translation found for description_image_button_zero (4133108949401820710) -->
+    <skip />
+    <!-- no translation found for description_image_button_pound (3039765597595889230) -->
+    <skip />
+    <string name="no_sdcard_title">"SD Kart yok"</string>
+    <string name="no_sdcard_message">"Hiçbir SD Kart tespit edilmedi"</string>
+    <string name="searching_vcard_title">"VCard aranıyor"</string>
+    <string name="select_import_type_title">"Kişilerin nereden içe aktarılmasını istiyorsunuz?"</string>
+    <string name="import_from_sim">"SIM Kart"</string>
+    <string name="import_from_sdcard">"SD Kart"</string>
+    <string name="import_all_vcard_string">"Tüm VCard dosyalarını içe aktar"</string>
+    <string name="import_one_vcard_string">"Bir VCard dosyası içe aktar"</string>
+    <string name="searching_vcard_message">"VCard üzerinde VCard verileri aranıyor"</string>
+    <string name="scanning_sdcard_failed_title">"SD kartın taranması başarısız oldu"</string>
+    <string name="scanning_sdcard_failed_message">"SD kartın taranması başarısız oldu"</string>
+    <string name="fail_reason_io_error">"G/Ç Hatası"</string>
+    <string name="fail_reason_vcard_parse_error">"VCard ayrıştırma başarısız"</string>
+    <string name="fail_reason_no_vcard_file">"SD Kartta hiçbir VCard dosyası bulunamadı"</string>
+    <string name="fail_reason_no_vcard_entry">"Seçiminiz için geçerli VCard kaydı bulunamadı"</string>
+    <string name="select_vcard_title">"VCard dosyasını seç"</string>
+    <string name="select_vcard_message">"Lütfen içe aktarılacak bir VCard dosyası seçin"</string>
+    <string name="reading_vcard_title">"VCard okunuyor"</string>
+    <string name="reading_vcard_message">"VCard dosyaları okunuyor"</string>
+    <string name="importing_vcard_message">"VCard verileri içe aktarılıyor"</string>
+    <string name="reading_vcard_failed_title">"VCard verilerinin okunması başarısız oldu"</string>
+    <string name="reading_vcard_failed_message">"VCard verileri okunamadı"\n"Sorunun nedeni: \"<xliff:g id="FAIL_REASON">%s</xliff:g>\""</string>
+    <string name="reading_vcard_contacts">"Toplam <xliff:g id="TOTAL_NUMBER">%s</xliff:g> kişiden <xliff:g id="CURRENT_NUMBER">%s</xliff:g>. kişi"</string>
+    <string name="reading_vcard_files">"toplam <xliff:g id="TOTAL_NUMBER">%s</xliff:g> dosyadan <xliff:g id="CURRENT_NUMBER">%s</xliff:g>. dosya"</string>
+    <!-- no translation found for export_contact_list (3165097742175874384) -->
+    <skip />
+    <!-- no translation found for confirm_export_title (1693047909433122854) -->
+    <skip />
+    <!-- no translation found for confirm_export_message (63482084706768079) -->
+    <skip />
+    <!-- no translation found for exporting_contact_failed_title (1455264422455075858) -->
+    <skip />
+    <!-- no translation found for exporting_contact_failed_message (1426451081541603512) -->
+    <skip />
+    <!-- no translation found for fail_reason_too_many_vcard (5416992255233341607) -->
+    <skip />
+    <!-- no translation found for fail_reason_cannot_open_destination_dir (1739293936432987758) -->
+    <skip />
+    <!-- no translation found for exporting_contact_list_title (9072240631534457415) -->
+    <skip />
+    <!-- no translation found for exporting_contact_list_message (5640326540405486055) -->
+    <skip />
+    <!-- no translation found for fail_reason_could_not_initialize_exporter (4943708332700987376) -->
+    <skip />
+    <!-- no translation found for fail_reason_error_occurred_during_export (2151165129433831202) -->
+    <skip />
+    <!-- no translation found for fail_reason_could_not_open_file (4013520943128739511) -->
+    <skip />
+    <!-- no translation found for exporting_contact_list_progress (560522409559101193) -->
+    <skip />
+    <!-- no translation found for search_settings_description (1422183266726984096) -->
+    <skip />
+</resources>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index d8dcd42..d35e83f 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -18,20 +18,30 @@
     <string name="contactsList">"联系人"</string>
     <string name="launcherDialer">"拨号"</string>
     <string name="shortcutContact">"联系人"</string>
+    <!-- no translation found for shortcutDialContact (7165340343023469996) -->
+    <skip />
+    <!-- no translation found for shortcutMessageContact (3025782962770298900) -->
+    <skip />
+    <!-- no translation found for shortcutActivityTitle (6642877210643565436) -->
+    <skip />
+    <!-- no translation found for callShortcutActivityTitle (6065749861423648991) -->
+    <skip />
+    <!-- no translation found for messageShortcutActivityTitle (3084542316620335911) -->
+    <skip />
     <string name="starredList">"已加星标"</string>
-    <string name="frequentList">"经常"</string>
-    <string name="strequentList">"收藏夹"</string>
-    <string name="viewContactTitle">"联系人详细信息"</string>
+    <string name="frequentList">"频繁"</string>
+    <string name="strequentList">"收藏"</string>
+    <string name="viewContactTitle">"联系人详情"</string>
     <string name="viewContactDesription">"查看联系人"</string>
     <string name="editContactDescription">"编辑联系人"</string>
     <string name="insertContactDescription">"创建联系人"</string>
     <string name="searchHint">"搜索联系人"</string>
     <string name="menu_search">"搜索"</string>
-    <string name="menu_newContact">"添加联系人"</string>
+    <string name="menu_newContact">"新建联系人"</string>
     <string name="menu_viewContact">"查看联系人"</string>
     <string name="menu_callNumber">"呼叫<xliff:g id="NAME">%s</xliff:g>"</string>
-    <string name="menu_addStar">"添加到收藏夹"</string>
-    <string name="menu_removeStar">"从收藏夹中删除"</string>
+    <string name="menu_addStar">"添加到收藏"</string>
+    <string name="menu_removeStar">"从收藏删除"</string>
     <string name="menu_showBarcode">"显示条形码"</string>
     <string name="menu_editContact">"编辑联系人"</string>
     <string name="menu_deleteContact">"删除联系人"</string>
@@ -41,62 +51,61 @@
     <string name="menu_viewAddress">"地图地址"</string>
     <string name="menu_makeDefaultNumber">"设置默认号码"</string>
     <string name="deleteConfirmation_title">"删除"</string>
-    <string name="deleteConfirmation">"会删除此联系人。"</string>
+    <string name="deleteConfirmation">"将会删除此联系人。"</string>
     <string name="menu_done">"完成"</string>
     <string name="menu_doNotSave">"还原"</string>
     <string name="editContact_title_edit">"编辑联系人"</string>
-    <string name="editContact_title_insert">"添加联系人"</string>
+    <string name="editContact_title_insert">"新建联系人"</string>
     <string name="menu_addItem">"详细信息"</string>
     <string name="label_phonetic_name">"拼音"</string>
     <string name="label_notes">"备注"</string>
     <string name="label_ringtone">"铃声"</string>
-    <string name="ghostData_name">"第一个和最后一个"</string>
-    <string name="ghostData_phonetic_name">"拼音姓名"</string>
+    <string name="ghostData_name">"姓名"</string>
+    <string name="ghostData_phonetic_name">"姓名拼音"</string>
     <string name="ghostData_company">"公司"</string>
-    <string name="ghostData_title">"位置"</string>
-    <string name="ghostData_im">"即时消息名称"</string>
+    <string name="ghostData_title">"职位"</string>
+    <string name="ghostData_im">"聊天帐号"</string>
     <string name="ghostData_notes">"我的备注"</string>
     <string name="ghostData_phone">"电话号码"</string>
     <string name="ghostData_email">"电子邮件地址"</string>
-    <string name="ghostData_postal">"通讯地址"</string>
-    <string name="invalidContactMessage">"该联系人不存在。"</string>
-    <string name="pickerNewContactHeader">"创建新联系人"</string>
+    <string name="ghostData_postal">"邮政地址"</string>
+    <string name="invalidContactMessage">"联系人不存在。"</string>
+    <string name="pickerNewContactHeader">"新建联系人"</string>
     <string name="selectLabel">"选择标签"</string>
     <string name="phoneLabelsGroup">"手机"</string>
     <string name="emailLabelsGroup">"电子邮件"</string>
     <string name="imLabelsGroup">"即时消息"</string>
-    <string name="postalLabelsGroup">"通讯地址"</string>
+    <string name="postalLabelsGroup">"邮政地址"</string>
     <string name="otherLabelsGroup">"其他"</string>
   <string-array name="otherLabels">
     <item>"组织"</item>
     <item>"备注"</item>
   </string-array>
-    <string name="errorDialogTitle">"没有图片"</string>
-    <string name="photoPickerNotFoundText">"手机上没有可用的图片。"</string>
-    <string name="attachToContact">"“联系人”图标"</string>
+    <string name="errorDialogTitle">"无图片"</string>
+    <string name="photoPickerNotFoundText">"手机上没有图片。"</string>
+    <string name="attachToContact">"联系人图标"</string>
     <string name="customLabelPickerTitle">"自定义标签名称"</string>
-    <string name="menu_displayGroup">"显示组"</string>
-    <string name="syncGroupPreference">"编辑同步组"</string>
+    <string name="menu_displayGroup">"显示群组"</string>
+    <string name="syncGroupPreference">"编辑同步群组"</string>
     <string name="importFromSim">"导入联系人"</string>
-    <string name="send_to_voicemail_checkbox">"将通话直接发送到语音邮件"</string>
-    <string name="send_to_voicemail_view">"呼叫被直接发送至语音邮件。"</string>
+    <string name="send_to_voicemail_checkbox">"直接将呼叫发送到语音信箱"</string>
+    <string name="send_to_voicemail_view">"呼叫直接发送到语音信箱。"</string>
     <string name="default_ringtone">"默认"</string>
-    <string name="addPicture">"“添加”图标"</string>
-    <string name="removePicture">"“删除”图标"</string>
-    <string name="noContacts">"没有联系人。"</string>
-    <string name="noContactsWithPhoneNumbers">"没有联系人拥有电话号码。"</string>
-    <string name="noFavorites">"没有收藏内容。"</string>
-    <string name="select_group_title">"组"</string>
-    <string name="groupEmpty">"您的“<xliff:g id="GROUPNAME">%s</xliff:g>”组为空。"</string>
+    <string name="addPicture">"添加图标"</string>
+    <string name="removePicture">"删除图标"</string>
+    <string name="noContacts">"无联系人。"</string>
+    <string name="noContactsWithPhoneNumbers">"无具有手机号码的联系人。"</string>
+    <string name="noFavorites">"无收藏。"</string>
+    <string name="select_group_title">"群组"</string>
+    <string name="groupEmpty">"“<xliff:g id="GROUPNAME">%s</xliff:g>”群组为空。"</string>
     <string name="showAllGroups">"所有联系人"</string>
     <string name="syncAllGroups">"同步所有联系人"</string>
     <string name="groupNameMyContacts">"我的联系人"</string>
-    <string name="groupNameWithPhones">"拥有电话号码的联系人"</string>
-    <!-- no translation found for starredInAndroid (6495527538140213440) -->
-    <skip />
-    <string name="contactCreatedToast">"已创建“联系人”。"</string>
-    <string name="contactSavedToast">"已保存联系人。"</string>
-    <string name="listSeparatorCallNumber">"拔号"</string>
+    <string name="groupNameWithPhones">"具有手机号码的联系人"</string>
+    <string name="starredInAndroid">"Android 中加星标的联系人"</string>
+    <string name="contactCreatedToast">"已创建联系人。"</string>
+    <string name="contactSavedToast">"联系人已保存。"</string>
+    <string name="listSeparatorCallNumber">"拨打电话"</string>
     <string name="listSeparatorCallNumber_edit">"电话号码"</string>
     <string name="listSeparatorSendSmsMms">"发送短信/彩信"</string>
     <string name="listSeparatorSendEmail">"发送电子邮件"</string>
@@ -110,64 +119,139 @@
     <string name="listSeparatorOtherInformation_edit">"其他选项"</string>
     <string name="listSeparatorMore_edit">"更多"</string>
     <string name="contactsIconLabel">"联系人"</string>
-    <string name="contactsFavoritesLabel">"收藏夹"</string>
-    <string name="dialerIconLabel">"拔号程序"</string>
+    <string name="contactsFavoritesLabel">"收藏"</string>
+    <string name="dialerIconLabel">"拨号器"</string>
     <string name="recentCallsIconLabel">"通话记录"</string>
     <string name="liveFolderAll">"所有联系人"</string>
     <string name="liveFolderFavorites">"已加星标的联系人"</string>
-    <string name="liveFolderPhone">"有电话号码的联系人"</string>
+    <string name="liveFolderPhone">"具有手机号码的联系人"</string>
     <string name="menu_sendTextMessage">"发送短信"</string>
     <string name="recentCalls_callNumber">"呼叫<xliff:g id="NAME">%s</xliff:g>"</string>
-    <string name="recentCalls_editNumberBeforeCall">"在呼叫之前编辑号码"</string>
+    <string name="recentCalls_editNumberBeforeCall">"在呼叫前编辑号码"</string>
     <string name="recentCalls_addToContact">"添加到联系人"</string>
     <string name="recentCalls_removeFromRecentList">"从通话记录中删除"</string>
     <string name="recentCalls_deleteAll">"清除通话记录"</string>
     <string name="recentCalls_empty">"通话记录为空。"</string>
-    <string name="imei">"移动通信国际识别码"</string>
-    <string name="voicemail">"语音邮件"</string>
+    <string name="imei">"IMEI"</string>
+    <string name="voicemail">"语音信箱"</string>
     <string name="unknown">"未知"</string>
     <string name="private_num">"私人号码"</string>
-    <!-- no translation found for payphone (4864313342828942922) -->
-    <skip />
-    <string name="dialerKeyboardHintText">"使用键盘拔号"</string>
-    <string name="dialerDialpadHintText">"通过拨号添加通话"</string>
-    <string name="simContacts_emptyLoading">"正在从 SIM 卡中载入..."</string>
+    <string name="payphone">"投币式公用电话"</string>
+    <string name="dialerKeyboardHintText">"使用键盘拨号"</string>
+    <string name="dialerDialpadHintText">"拨号以添加通话"</string>
+    <string name="simContacts_emptyLoading">"正在从 SIM 卡载入..."</string>
     <string name="simContacts_title">"SIM 卡联系人"</string>
-    <string name="contactsSyncPlug"><font fgcolor="#ffffffff">"同步您的 Google 联系人！"</font>\n"将联系人同步到您的手机后，无论您走到哪里，都可以与他们联系。"</string>
-    <string name="noContactsHelpText">"您还没有联系人。"\n\n"要添加联系人，请按"<font fgcolor="#ffffffff"><b>"菜单"</b></font>"，然后选择："\n\n<li><font fgcolor="#ffffffff"><b>"新建联系人"</b></font>" - 从头开始创建新联系人"\n</li>\n<li><font fgcolor="#ffffffff"><b>"导入联系人"</b></font>" - 从 SIM 卡添加联系人"\n</li></string>
-    <string name="noContactsHelpTextWithSync">"您还没有联系人。"\n\n"要添加联系人，请按"<font fgcolor="#ffffffff"><b>"菜单"</b></font>"，然后选择："\n\n<li><font fgcolor="#ffffffff"><b>"修改同步组"</b></font>" - 从现有的或新的 Google 帐户添加联系人"\n</li>\n<li><font fgcolor="#ffffffff"><b>"新建联系人"</b></font>" - 从头开始创建新联系人"\n</li>\n<li><font fgcolor="#ffffffff"><b>"导入联系人"</b></font>" - 从 SIM 卡添加联系人"\n</li></string>
-    <string name="seclectSyncGroups_title">"选择要同步的组"</string>
+    <string name="contactsSyncPlug"><font fgcolor="#ffffffff">"同步您的 Google 联系人！"</font>" "\n"将您的联系人同步到您的手机，然后您在任何地方都可以与他们联系。"</string>
+    <string name="noContactsHelpText">"您没有任何联系人。"\n\n"要添加联系人，请按 "<font fgcolor="#ffffffff"><b>"MENU"</b></font>" 并选择："\n" "\n<li><font fgcolor="#ffffffff"><b>"新建联系人"</b></font>"以从头开始创建新联系人 "\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"导入联系人"</b></font>"以从您的 SIM 卡添加联系人"\n</li></string>
+    <string name="noContactsHelpTextWithSync">"您没有任何联系人。"\n\n"要添加联系人，请按 "<font fgcolor="#ffffffff"><b>"MENU"</b></font>" 并选择："\n" "\n<li><font fgcolor="#ffffffff"><b>"编辑同步群组"</b></font>"以从新的或现有的 Google 帐户添加"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"新建联系人"</b></font>"以从头开始创建新联系人"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"导入联系人"</b></font>"以从您的 SIM 卡添加联系人"\n</li></string>
+    <string name="seclectSyncGroups_title">"选择要同步的群组"</string>
     <string name="liveFolder_all_label">"所有联系人"</string>
     <string name="liveFolder_favorites_label">"已加星标"</string>
-    <string name="liveFolder_phones_label">"电话"</string>
-    <string name="dialer_useDtmfDialpad">"使用按键式键盘"</string>
-    <string name="dialer_returnToInCallScreen">"返回到正在进行中的通话"</string>
-    <string name="dialer_addAnotherCall">"添加通话"</string>
+    <string name="liveFolder_phones_label">"手机"</string>
+    <string name="dialer_useDtmfDialpad">"使用按键式数字键盘"</string>
+    <string name="dialer_returnToInCallScreen">"返回正在进行的通话"</string>
+    <string name="dialer_addAnotherCall">"添加呼叫"</string>
     <string name="callDetailTitle">"通话详情"</string>
-    <string name="toast_call_detail_error">"无法阅读所请求通话的详情。"</string>
+    <string name="toast_call_detail_error">"无法读取所请求呼叫的详细信息。"</string>
     <string name="call_type">"类型"</string>
     <string name="type_incoming">"来电"</string>
-    <string name="type_outgoing">"去电"</string>
-    <string name="type_missed">"未接来电"</string>
+    <string name="type_outgoing">"对外呼叫"</string>
+    <string name="type_missed">"未接电话"</string>
     <string name="call_time">"时间"</string>
-    <string name="datetime_relative">"<xliff:g id="DATETIME">%1$s</xliff:g>（<xliff:g id="RELATIVE">%2$s</xliff:g>）"</string>
+    <string name="datetime_relative">"<xliff:g id="DATETIME">%1$s</xliff:g> (<xliff:g id="RELATIVE">%2$s</xliff:g>)"</string>
     <string name="call_duration">"持续时间"</string>
     <string name="header_actions">"操作"</string>
     <string name="ringtone_spinner">"铃声：<xliff:g id="RINGTONE">%1$s</xliff:g>"</string>
-    <string name="add_more_items">"添加更多项目"</string>
+    <string name="add_more_items">"添加更多项"</string>
     <string name="actionCall">"呼叫<xliff:g id="TYPE">%s</xliff:g>"</string>
-    <string name="actionEmail">"向<xliff:g id="TYPE">%s</xliff:g>发送电子邮件"</string>
-    <string name="actionText">"向<xliff:g id="TYPE">%s</xliff:g>发送文本消息"</string>
-    <string name="actionChat">"使用 <xliff:g id="TYPE">%s</xliff:g> 进行聊天"</string>
+    <string name="actionEmail">"发送电子邮件至<xliff:g id="TYPE">%s</xliff:g>"</string>
+    <string name="actionText">"发送信息至<xliff:g id="TYPE">%s</xliff:g>"</string>
+    <string name="actionChat">"使用<xliff:g id="TYPE">%s</xliff:g>聊天"</string>
     <string name="actionMap">"查看<xliff:g id="TYPE">%s</xliff:g>地址"</string>
     <string name="actionIncomingCall">"来电"</string>
-    <string name="detailIncomingCallsGoToVoicemail">"将直接发送至语音邮件"</string>
-    <string name="detailsRingtone">"设置为“<xliff:g id="RINGTONE_NAME">%s</xliff:g>”"</string>
-    <string name="callBack">"回拨"</string>
-    <string name="callAgain">"再次呼叫"</string>
-    <string name="returnCall">"回电话"</string>
-    <string name="callDetailsDurationFormat">"<xliff:g id="MINUTES">%s</xliff:g> 分钟 <xliff:g id="SECONDS">%s</xliff:g> 秒"</string>
-    <string name="favoritesFrquentSeparator">"经常呼叫的联系人"</string>
+    <string name="detailIncomingCallsGoToVoicemail">"直接发送到语音信箱"</string>
+    <string name="detailsRingtone">"设为<xliff:g id="RINGTONE_NAME">%s</xliff:g>"</string>
+    <string name="callBack">"回电"</string>
+    <string name="callAgain">"重新呼叫"</string>
+    <string name="returnCall">"返回呼叫"</string>
+    <string name="callDetailsDurationFormat">"<xliff:g id="MINUTES">%s</xliff:g> 分 <xliff:g id="SECONDS">%s</xliff:g> 秒"</string>
+    <string name="favoritesFrquentSeparator">"经常呼叫"</string>
     <string name="add_contact_dlg_title">"添加联系人"</string>
-    <string name="add_contact_dlg_message_fmt">"是否将“<xliff:g id="EMAIL">%s</xliff:g>”添加到通讯录中？"</string>
+    <string name="add_contact_dlg_message_fmt">"将“<xliff:g id="EMAIL">%s</xliff:g>”添加到联系人？"</string>
+    <!-- no translation found for description_image_button_one (1740638037139856139) -->
+    <skip />
+    <!-- no translation found for description_image_button_two (5882638439003731308) -->
+    <skip />
+    <!-- no translation found for description_image_button_three (8709731759376015180) -->
+    <skip />
+    <!-- no translation found for description_image_button_four (3530239685642246130) -->
+    <skip />
+    <!-- no translation found for description_image_button_five (1182465427501188413) -->
+    <skip />
+    <!-- no translation found for description_image_button_six (2093656269261415475) -->
+    <skip />
+    <!-- no translation found for description_image_button_seven (2450357020447676481) -->
+    <skip />
+    <!-- no translation found for description_image_button_eight (6969435115163287801) -->
+    <skip />
+    <!-- no translation found for description_image_button_nine (7857248695662558323) -->
+    <skip />
+    <!-- no translation found for description_image_button_star (3365919907520767866) -->
+    <skip />
+    <!-- no translation found for description_image_button_zero (4133108949401820710) -->
+    <skip />
+    <!-- no translation found for description_image_button_pound (3039765597595889230) -->
+    <skip />
+    <string name="no_sdcard_title">"无 SD 卡"</string>
+    <string name="no_sdcard_message">"未检测到 SD 卡"</string>
+    <string name="searching_vcard_title">"正在搜索 VCard"</string>
+    <string name="select_import_type_title">"您希望从何处导入联系人？"</string>
+    <string name="import_from_sim">"SIM 卡"</string>
+    <string name="import_from_sdcard">"SD 卡"</string>
+    <string name="import_all_vcard_string">"导入所有 VCard 文件"</string>
+    <string name="import_one_vcard_string">"导入一个 VCard 文件"</string>
+    <string name="searching_vcard_message">"正在搜索 VCard 上的 VCard 数据"</string>
+    <string name="scanning_sdcard_failed_title">"扫描 SD 卡失败"</string>
+    <string name="scanning_sdcard_failed_message">"扫描 SD 卡失败"</string>
+    <string name="fail_reason_io_error">"I/O 错误"</string>
+    <string name="fail_reason_vcard_parse_error">"解析 VCard 失败"</string>
+    <string name="fail_reason_no_vcard_file">"未在 SD 卡上找到 VCard 文件"</string>
+    <string name="fail_reason_no_vcard_entry">"未找到与所选内容对应的有效 VCard 条目"</string>
+    <string name="select_vcard_title">"选择 VCard 文件"</string>
+    <string name="select_vcard_message">"请选择要导入的 VCard 文件"</string>
+    <string name="reading_vcard_title">"正在读取 VCard"</string>
+    <string name="reading_vcard_message">"正在读取 VCard 文件"</string>
+    <string name="importing_vcard_message">"正在导入 VCard 数据"</string>
+    <string name="reading_vcard_failed_title">"读取 VCard 数据失败"</string>
+    <string name="reading_vcard_failed_message">"无法读取 VCard 数据"\n"失败原因：“<xliff:g id="FAIL_REASON">%s</xliff:g>”"</string>
+    <string name="reading_vcard_contacts">"第 <xliff:g id="CURRENT_NUMBER">%s</xliff:g> 个，共 <xliff:g id="TOTAL_NUMBER">%s</xliff:g> 个联系人"</string>
+    <string name="reading_vcard_files">"第 <xliff:g id="CURRENT_NUMBER">%s</xliff:g> 个，共 <xliff:g id="TOTAL_NUMBER">%s</xliff:g> 个文件"</string>
+    <!-- no translation found for export_contact_list (3165097742175874384) -->
+    <skip />
+    <!-- no translation found for confirm_export_title (1693047909433122854) -->
+    <skip />
+    <!-- no translation found for confirm_export_message (63482084706768079) -->
+    <skip />
+    <!-- no translation found for exporting_contact_failed_title (1455264422455075858) -->
+    <skip />
+    <!-- no translation found for exporting_contact_failed_message (1426451081541603512) -->
+    <skip />
+    <!-- no translation found for fail_reason_too_many_vcard (5416992255233341607) -->
+    <skip />
+    <!-- no translation found for fail_reason_cannot_open_destination_dir (1739293936432987758) -->
+    <skip />
+    <!-- no translation found for exporting_contact_list_title (9072240631534457415) -->
+    <skip />
+    <!-- no translation found for exporting_contact_list_message (5640326540405486055) -->
+    <skip />
+    <!-- no translation found for fail_reason_could_not_initialize_exporter (4943708332700987376) -->
+    <skip />
+    <!-- no translation found for fail_reason_error_occurred_during_export (2151165129433831202) -->
+    <skip />
+    <!-- no translation found for fail_reason_could_not_open_file (4013520943128739511) -->
+    <skip />
+    <!-- no translation found for exporting_contact_list_progress (560522409559101193) -->
+    <skip />
+    <!-- no translation found for search_settings_description (1422183266726984096) -->
+    <skip />
 </resources>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index a73f664..0b6d011 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -15,37 +15,42 @@
 -->
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="contactsList">"連絡人"</string>
+    <string name="contactsList">"聯絡人"</string>
     <string name="launcherDialer">"撥號"</string>
-    <string name="shortcutContact">"連絡人"</string>
+    <string name="shortcutContact">"聯絡人"</string>
+    <string name="shortcutDialContact">"直接撥號"</string>
+    <string name="shortcutMessageContact">"直接傳訊"</string>
+    <string name="shortcutActivityTitle">"選擇聯絡人捷徑"</string>
+    <string name="callShortcutActivityTitle">"選擇去電號碼"</string>
+    <string name="messageShortcutActivityTitle">"選擇傳訊號碼"</string>
     <string name="starredList">"已標記星號"</string>
     <string name="frequentList">"經常聯絡"</string>
     <string name="strequentList">"我的最愛"</string>
-    <string name="viewContactTitle">"連絡人詳細資料"</string>
-    <string name="viewContactDesription">"檢視連絡人"</string>
-    <string name="editContactDescription">"編輯連絡人"</string>
-    <string name="insertContactDescription">"建立連絡人"</string>
-    <string name="searchHint">"搜尋連絡人"</string>
+    <string name="viewContactTitle">"聯絡人詳細資料"</string>
+    <string name="viewContactDesription">"檢視聯絡人"</string>
+    <string name="editContactDescription">"編輯聯絡人"</string>
+    <string name="insertContactDescription">"建立聯絡人"</string>
+    <string name="searchHint">"搜尋聯絡人"</string>
     <string name="menu_search">"搜尋"</string>
-    <string name="menu_newContact">"新增連絡人"</string>
-    <string name="menu_viewContact">"檢視連絡人"</string>
+    <string name="menu_newContact">"新增聯絡人"</string>
+    <string name="menu_viewContact">"檢視聯絡人"</string>
     <string name="menu_callNumber">"撥打電話給 <xliff:g id="NAME">%s</xliff:g>"</string>
     <string name="menu_addStar">"新增至我的最愛"</string>
     <string name="menu_removeStar">"從我的最愛中移除"</string>
     <string name="menu_showBarcode">"顯示條碼"</string>
-    <string name="menu_editContact">"編輯連絡人"</string>
-    <string name="menu_deleteContact">"刪除連絡人"</string>
+    <string name="menu_editContact">"編輯聯絡人"</string>
+    <string name="menu_deleteContact">"刪除聯絡人"</string>
     <string name="menu_call">"通話"</string>
     <string name="menu_sendSMS">"傳送 SMS/MMS"</string>
     <string name="menu_sendEmail">"傳送電子郵件"</string>
     <string name="menu_viewAddress">"在地圖上顯示地址"</string>
     <string name="menu_makeDefaultNumber">"設為預設號碼"</string>
     <string name="deleteConfirmation_title">"刪除"</string>
-    <string name="deleteConfirmation">"此連絡人會被刪除。"</string>
+    <string name="deleteConfirmation">"刪除此聯絡人？"</string>
     <string name="menu_done">"完成"</string>
-    <string name="menu_doNotSave">"復原"</string>
-    <string name="editContact_title_edit">"編輯連絡人"</string>
-    <string name="editContact_title_insert">"新增連絡人"</string>
+    <string name="menu_doNotSave">"取消"</string>
+    <string name="editContact_title_edit">"編輯聯絡人"</string>
+    <string name="editContact_title_insert">"新增聯絡人"</string>
     <string name="menu_addItem">"更多資訊"</string>
     <string name="label_phonetic_name">"拼音"</string>
     <string name="label_notes">"附註"</string>
@@ -59,8 +64,8 @@
     <string name="ghostData_phone">"電話號碼"</string>
     <string name="ghostData_email">"電子郵件地址"</string>
     <string name="ghostData_postal">"郵寄地址"</string>
-    <string name="invalidContactMessage">"連絡人不存在"</string>
-    <string name="pickerNewContactHeader">"建立新連絡人"</string>
+    <string name="invalidContactMessage">"聯絡人不存在。"</string>
+    <string name="pickerNewContactHeader">"建立新聯絡人"</string>
     <string name="selectLabel">"選取標籤"</string>
     <string name="phoneLabelsGroup">"電話"</string>
     <string name="emailLabelsGroup">"電子郵件"</string>
@@ -68,34 +73,33 @@
     <string name="postalLabelsGroup">"郵寄地址"</string>
     <string name="otherLabelsGroup">"其他"</string>
   <string-array name="otherLabels">
-    <item>"組織"</item>
+    <item>"機構"</item>
     <item>"附註"</item>
   </string-array>
     <string name="errorDialogTitle">"沒有相片"</string>
     <string name="photoPickerNotFoundText">"手機上沒有相片 。"</string>
-    <string name="attachToContact">"連絡人圖示"</string>
+    <string name="attachToContact">"聯絡人圖示"</string>
     <string name="customLabelPickerTitle">"自訂標籤名稱"</string>
     <string name="menu_displayGroup">"顯示群組"</string>
     <string name="syncGroupPreference">"編輯同步處理群組"</string>
-    <string name="importFromSim">"匯入連絡人"</string>
-    <string name="send_to_voicemail_checkbox">"直接將通話轉到語音郵件"</string>
-    <string name="send_to_voicemail_view">"通話已直接轉至語音信箱"</string>
+    <string name="importFromSim">"匯入聯絡人"</string>
+    <string name="send_to_voicemail_checkbox">"直接將來電轉到語音信箱"</string>
+    <string name="send_to_voicemail_view">"來電已直接轉至語音信箱。"</string>
     <string name="default_ringtone">"預設值"</string>
     <string name="addPicture">"新增圖示"</string>
     <string name="removePicture">"移除圖示"</string>
-    <string name="noContacts">"沒有連絡人"</string>
-    <string name="noContactsWithPhoneNumbers">"沒有連絡人有電話號碼。"</string>
+    <string name="noContacts">"沒有聯絡人。"</string>
+    <string name="noContactsWithPhoneNumbers">"沒有包含電話號碼的聯絡人資訊。"</string>
     <string name="noFavorites">"沒有我的最愛。"</string>
     <string name="select_group_title">"群組"</string>
     <string name="groupEmpty">"您的「<xliff:g id="GROUPNAME">%s</xliff:g>」群組是空的。"</string>
-    <string name="showAllGroups">"所有連絡人"</string>
-    <string name="syncAllGroups">"同步處理所有連絡人"</string>
+    <string name="showAllGroups">"所有聯絡人"</string>
+    <string name="syncAllGroups">"同步處理所有聯絡人"</string>
     <string name="groupNameMyContacts">"我的聯絡人"</string>
-    <string name="groupNameWithPhones">"有電話號碼的連絡人"</string>
-    <!-- no translation found for starredInAndroid (6495527538140213440) -->
-    <skip />
-    <string name="contactCreatedToast">"已建立連絡人"</string>
-    <string name="contactSavedToast">"連絡人已儲存。"</string>
+    <string name="groupNameWithPhones">"包含電話號碼的聯絡人資訊"</string>
+    <string name="starredInAndroid">"在 Android 中標有星號的聯絡人"</string>
+    <string name="contactCreatedToast">"已建立聯絡人。"</string>
+    <string name="contactSavedToast">"聯絡人已儲存。"</string>
     <string name="listSeparatorCallNumber">"撥打號碼"</string>
     <string name="listSeparatorCallNumber_edit">"電話號碼"</string>
     <string name="listSeparatorSendSmsMms">"傳送  SMS/MMS"</string>
@@ -109,55 +113,54 @@
     <string name="listSeparatorOtherInformation">"其他資訊"</string>
     <string name="listSeparatorOtherInformation_edit">"其他選項"</string>
     <string name="listSeparatorMore_edit">"更多"</string>
-    <string name="contactsIconLabel">"連絡人"</string>
+    <string name="contactsIconLabel">"聯絡人"</string>
     <string name="contactsFavoritesLabel">"我的最愛"</string>
     <string name="dialerIconLabel">"撥號"</string>
-    <string name="recentCallsIconLabel">"通話紀錄"</string>
+    <string name="recentCallsIconLabel">"通話記錄"</string>
     <string name="liveFolderAll">"全部聯絡人"</string>
     <string name="liveFolderFavorites">"有星號標記的聯絡人"</string>
     <string name="liveFolderPhone">"有電話號碼的聯絡人"</string>
     <string name="menu_sendTextMessage">"傳送  SMS 訊息"</string>
-    <string name="recentCalls_callNumber">"撥打電話給 <xliff:g id="NAME">%s</xliff:g>"</string>
+    <string name="recentCalls_callNumber">"撥電話給<xliff:g id="NAME">%s</xliff:g>"</string>
     <string name="recentCalls_editNumberBeforeCall">"撥打電話前編輯號碼"</string>
-    <string name="recentCalls_addToContact">"新增至連絡人"</string>
-    <string name="recentCalls_removeFromRecentList">"從通話紀錄中移除"</string>
-    <string name="recentCalls_deleteAll">"清除通話紀錄"</string>
-    <string name="recentCalls_empty">"通話紀錄是空的。"</string>
+    <string name="recentCalls_addToContact">"新增至聯絡人"</string>
+    <string name="recentCalls_removeFromRecentList">"從通話記錄中移除"</string>
+    <string name="recentCalls_deleteAll">"清除通話記錄"</string>
+    <string name="recentCalls_empty">"無通話記錄。"</string>
     <string name="imei">"IMEI"</string>
-    <string name="voicemail">"語音信箱"</string>
+    <string name="voicemail">"語音留言"</string>
     <string name="unknown">"未知的"</string>
     <string name="private_num">"私人號碼"</string>
-    <!-- no translation found for payphone (4864313342828942922) -->
-    <skip />
+    <string name="payphone">"公共電話"</string>
     <string name="dialerKeyboardHintText">"使用鍵盤撥號"</string>
     <string name="dialerDialpadHintText">"撥號即可新增通話"</string>
     <string name="simContacts_emptyLoading">"從  SIM 卡讀取中…"</string>
-    <string name="simContacts_title">"SIM 卡連絡人"</string>
-    <string name="contactsSyncPlug"><font fgcolor="#ffffffff">" 同步處理您的 Google 連絡人！"</font>" "\n" 與手機同步處理後，無論您走到哪，都可存取連絡人資訊。"</string>
-    <string name="noContactsHelpText">"您沒有聯絡人。"\n\n"如要新增聯絡人，請按 ["<font fgcolor="#ffffffff"><b></b>"選單"</font>"] 並選取下列選項："\n\n<li>"["<font fgcolor="#ffffffff"><b></b>"新聯絡人"</font>"]：建立新聯絡人"\n</li>" "\n<li>"["<font fgcolor="#ffffffff"><b></b>"匯入聯絡人"</font>"]：加入 SIM 卡中的聯絡人"\n</li></string>
-    <string name="noContactsHelpTextWithSync">"您沒有聯絡人。"\n\n"如要新增聯絡人，請按 ["<font fgcolor="#ffffffff"><b></b>"選單"</font>"] 鍵並選取下列選項："\n\n"        "<li>"["<font fgcolor="#ffffffff"><b></b>"編輯同步群組"</font>"]：加入新的或既有的 Google 帳戶聯絡人"\n</li>\n"        "<li>"["<font fgcolor="#ffffffff"><b></b>"新聯絡人"</font>"]：建立新聯絡人"\n</li>\n"        "<li>"["<font fgcolor="#ffffffff"><b></b>"匯入聯絡人"</font>"]：加入 SIM 卡中的聯絡人"\n</li></string>
+    <string name="simContacts_title">"SIM 卡聯絡人"</string>
+    <string name="contactsSyncPlug"><font fgcolor="#ffffffff">" 同步處理您的 Google 聯絡人！"</font>" "\n" 與手機同步處理後，無論您走到哪，都可存取聯絡人資訊。"</string>
+    <string name="noContactsHelpText">"您沒有聯絡人。"\n\n"如要新增聯絡人，請按 ["<font fgcolor="#ffffffff"><b></b>"選單"</font>"] 並選取下列選項："\n\n<li>"["<font fgcolor="#ffffffff"><b></b>"新增聯絡人 "</font>"]：建立新聯絡人"\n</li>" "\n<li>"["<font fgcolor="#ffffffff"><b></b>"匯入聯絡人"</font>"]：加入 SIM 卡中的聯絡人"\n</li></string>
+    <string name="noContactsHelpTextWithSync">"您沒有聯絡人。"\n\n"如要新增聯絡人，請按 ["<font fgcolor="#ffffffff"><b></b>"選單"</font>"] 並選取下列選項："\n\n" "<li>"["<font fgcolor="#ffffffff"><b></b>"編輯同步處理群組"</font>"]：加入新的或既有的 Google 帳戶聯絡人"\n</li>\n" "<li>"["<font fgcolor="#ffffffff"><b></b>"新增聯絡人"</font>"]：建立新聯絡人 "\n</li>\n" "<li>"["<font fgcolor="#ffffffff"><b></b>"匯入聯絡人"</font>"]：加入 SIM 卡中的聯絡人"\n</li></string>
     <string name="seclectSyncGroups_title">"選取要同步處理的群組"</string>
     <string name="liveFolder_all_label">"全部聯絡人"</string>
     <string name="liveFolder_favorites_label">"星號標記"</string>
     <string name="liveFolder_phones_label">"電話"</string>
-    <string name="dialer_useDtmfDialpad">"使用按鍵式鍵盤"</string>
+    <string name="dialer_useDtmfDialpad">"使用觸控音按鍵"</string>
     <string name="dialer_returnToInCallScreen">"返回進行中的通話"</string>
     <string name="dialer_addAnotherCall">"新增通話"</string>
     <string name="callDetailTitle">"通話詳細資料"</string>
     <string name="toast_call_detail_error">"無法解讀通話要求詳細資訊。"</string>
     <string name="call_type">"類型"</string>
-    <string name="type_incoming">"外來通話"</string>
-    <string name="type_outgoing">"播出通話"</string>
-    <string name="type_missed">"未接通話"</string>
+    <string name="type_incoming">"來電"</string>
+    <string name="type_outgoing">"撥出電話"</string>
+    <string name="type_missed">"未接來電"</string>
     <string name="call_time">"時間"</string>
     <string name="datetime_relative">"<xliff:g id="DATETIME">%1$s</xliff:g> (<xliff:g id="RELATIVE">%2$s</xliff:g>)"</string>
     <string name="call_duration">"持續時間"</string>
-    <string name="header_actions">"動作"</string>
+    <string name="header_actions">"操作"</string>
     <string name="ringtone_spinner">"鈴聲：<xliff:g id="RINGTONE">%1$s</xliff:g>"</string>
     <string name="add_more_items">"新增更多項目"</string>
-    <string name="actionCall">"播打<xliff:g id="TYPE">%s</xliff:g>"</string>
+    <string name="actionCall">"撥打 <xliff:g id="TYPE">%s</xliff:g>"</string>
     <string name="actionEmail">"傳送電子郵件至<xliff:g id="TYPE">%s</xliff:g>"</string>
-    <string name="actionText">"傳送簡訊至<xliff:g id="TYPE">%s</xliff:g>"</string>
+    <string name="actionText">"傳送簡訊至 <xliff:g id="TYPE">%s</xliff:g>"</string>
     <string name="actionChat">"透過 <xliff:g id="TYPE">%s</xliff:g> 進行即時通訊"</string>
     <string name="actionMap">"檢視<xliff:g id="TYPE">%s</xliff:g>地址"</string>
     <string name="actionIncomingCall">"來電"</string>
@@ -170,4 +173,55 @@
     <string name="favoritesFrquentSeparator">"常用聯絡人"</string>
     <string name="add_contact_dlg_title">"新增聯絡人"</string>
     <string name="add_contact_dlg_message_fmt">"要將「<xliff:g id="EMAIL">%s</xliff:g>」新增為聯絡人嗎？"</string>
+    <string name="description_image_button_one">"1"</string>
+    <string name="description_image_button_two">"2"</string>
+    <string name="description_image_button_three">"3"</string>
+    <string name="description_image_button_four">"4"</string>
+    <string name="description_image_button_five">"5"</string>
+    <string name="description_image_button_six">"6"</string>
+    <string name="description_image_button_seven">"7"</string>
+    <string name="description_image_button_eight">"8"</string>
+    <string name="description_image_button_nine">"9"</string>
+    <string name="description_image_button_star">"星號"</string>
+    <string name="description_image_button_zero">"0"</string>
+    <string name="description_image_button_pound">"磅"</string>
+    <string name="no_sdcard_title">"無 SD 卡"</string>
+    <string name="no_sdcard_message">"未偵測到 SD 卡"</string>
+    <string name="searching_vcard_title">"正在搜尋 VCard"</string>
+    <string name="select_import_type_title">"您要從哪裡匯入聯絡人？"</string>
+    <string name="import_from_sim">"SIM 卡"</string>
+    <string name="import_from_sdcard">"SD 卡"</string>
+    <string name="import_all_vcard_string">"匯入所有 VCard 檔案"</string>
+    <string name="import_one_vcard_string">"匯入一個 VCard 檔案"</string>
+    <string name="searching_vcard_message">"正在搜尋 VCard 資料"</string>
+    <string name="scanning_sdcard_failed_title">"無法掃描 SD 卡"</string>
+    <string name="scanning_sdcard_failed_message">"無法掃描 SD 卡"</string>
+    <string name="fail_reason_io_error">"I/O 錯誤"</string>
+    <string name="fail_reason_vcard_parse_error">"無法剖析 VCard"</string>
+    <string name="fail_reason_no_vcard_file">"SD 卡上沒有 VCard 檔案"</string>
+    <string name="fail_reason_no_vcard_entry">"您所選的檔案沒有有效的 VCard 項目"</string>
+    <string name="select_vcard_title">"選取 VCard 檔案"</string>
+    <string name="select_vcard_message">"請選取要匯入的 VCard 檔案"</string>
+    <string name="reading_vcard_title">"讀取 VCard"</string>
+    <string name="reading_vcard_message">"正在讀取 VCard 檔案"</string>
+    <string name="importing_vcard_message">"正在匯入 VCard 資料"</string>
+    <string name="reading_vcard_failed_title">"無法讀取 VCard 資料"</string>
+    <string name="reading_vcard_failed_message">"無法讀取 VCard 資料"\n"失敗原因：「<xliff:g id="FAIL_REASON">%s</xliff:g>」"</string>
+    <string name="reading_vcard_contacts">"第 <xliff:g id="CURRENT_NUMBER">%s</xliff:g> 位聯絡人，共 <xliff:g id="TOTAL_NUMBER">%s</xliff:g> 位"</string>
+    <string name="reading_vcard_files">"第 <xliff:g id="CURRENT_NUMBER">%s</xliff:g> 個檔案，共 <xliff:g id="TOTAL_NUMBER">%s</xliff:g> 個"</string>
+    <string name="export_contact_list">"匯出聯絡人"</string>
+    <string name="confirm_export_title">"確認匯出"</string>
+    <string name="confirm_export_message">"可以將聯絡人清單匯出至「<xliff:g id="VCARD_FILENAME">%s</xliff:g>」嗎？"</string>
+    <string name="exporting_contact_failed_title">"無法匯出聯絡人資料"</string>
+    <string name="exporting_contact_failed_message">"無法匯出聯絡人資料"\n"失敗原因：「<xliff:g id="FAIL_REASON">%s</xliff:g>」"</string>
+    <string name="fail_reason_too_many_vcard">"SD 卡上儲存的 VCard 資料過多"</string>
+    <string name="fail_reason_cannot_open_destination_dir">"無法開啟或建立目標目錄「<xliff:g id="DIR_NAME">%s</xliff:g>」"</string>
+    <string name="exporting_contact_list_title">"正在匯出聯絡人資料"</string>
+    <string name="exporting_contact_list_message">"正在將聯絡人資料匯出至「<xliff:g id="FILE_NAME">%s</xliff:g>」"</string>
+    <string name="fail_reason_could_not_initialize_exporter">"無法初始化匯出程式：「<xliff:g id="EXACT_REASON">%s</xliff:g>」"</string>
+    <string name="fail_reason_error_occurred_during_export">"匯出時發生錯誤：「<xliff:g id="EXACT_REASON">%s</xliff:g>」"</string>
+    <string name="fail_reason_could_not_open_file">"無法開啟「<xliff:g id="FILE_NAME">%s</xliff:g>」：<xliff:g id="EXACT_REASON">%s</xliff:g>"</string>
+    <string name="exporting_contact_list_progress">"第 <xliff:g id="CURRENT_NUMBER">%s</xliff:g> 位聯絡人，共 <xliff:g id="TOTAL_NUMBER">%s</xliff:g> 位"</string>
+    <!-- no translation found for search_settings_description (1422183266726984096) -->
+    <skip />
 </resources>
diff --git a/res/values/colors.xml b/res/values/colors.xml
new file mode 100644
index 0000000..fb4019d
--- /dev/null
+++ b/res/values/colors.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2009 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+  
+          http://www.apache.org/licenses/LICENSE-2.0
+  
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<resources>
+    <color name="textColorIconOverlay">#fff</color>
+    <color name="textColorIconOverlayShadow">#000</color>
+</resources>
diff --git a/res/values/config.xml b/res/values/config.xml
new file mode 100644
index 0000000..1edd007
--- /dev/null
+++ b/res/values/config.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2009, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<resources>
+    <!-- Flag indicating whether Contacts app is allowed to import contacts from SDCard -->
+    <bool name="config_allow_import_from_sdcard">true</bool>
+    <!-- If true, all vcard files are imported from SDCard without asking a user.
+    If not, dialog shows to let the user to select whether all vcard files are imported or not.
+    If the user selects "not", then the application ask the user to select a file.-->
+    <bool name="config_import_all_vcard_from_sdcard_automatically">false</bool>
+    <!-- If true, vcard importer shows a dialog which asks the user whether the user wants
+    to import all vcard files in SDCard or select one vcard file. If false, the dialog is
+    skipped and the importer asks the user to choose one vcard file.
+    If config_import_all_vcard_from_sdcard_automatically is set true, this configuration
+    is ignored. -->
+    <bool name="config_allow_users_select_all_vcard_import">false</bool>
+    
+    <!-- Flag indicating whether Contacts app is allowed to export contacts to SDCard -->
+    <bool name="config_allow_export_to_sdcard">false</bool>
+</resources>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 747cd7d..b7fd223 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -27,6 +27,23 @@
          This shows up in a list of things like bookmark, folder, music playlist, etc -->
     <string name="shortcutContact">Contact</string>
 
+    <!-- Name of activity that allows users to create shortcuts on the home screen to dial a contact.
+         This shows up in a list of things like bookmark, folder, music playlist, etc -->
+    <string name="shortcutDialContact">Direct Dial</string>
+
+    <!-- Name of activity that allows users to create shortcuts on the home screen to message (SMS) a contact.
+         This shows up in a list of things like bookmark, folder, music playlist, etc -->
+    <string name="shortcutMessageContact">Direct Message</string>
+
+    <!-- Activity title when the user is selecting a contact for a shortcut. -->
+    <string name="shortcutActivityTitle">Choose a contact shortcut</string>
+    
+    <!-- Activity title when the user is selecting a contact for a direct dial shortcut. -->
+    <string name="callShortcutActivityTitle">Choose a number to call</string>
+    
+    <!-- Activity title when the user is selecting a contact for a direct message shortcut. -->
+    <string name="messageShortcutActivityTitle">Choose a number to message</string>
+        
     <!-- Title for the activity that shows only starred contacts -->
     <string name="starredList">Starred</string>
 
@@ -128,6 +145,15 @@
     <!-- The label describing the custom ringtone for a contact -->
     <string name="label_ringtone">Ringtone</string>
 
+    <!-- The label for a list of all the groups that the contact is associated with -->
+    <string name="label_groups">Groups</string>
+
+    <!-- Provides a delimeter in a list of groups. For example, "g1, g2" has ", g2" generated using this string -->
+    <string name="group_list">, <xliff:g id="groupName">%s</xliff:g></string>
+
+    <!-- Menu item used to send user to the edit contact screen -->
+    <string name="menu_viewGroup">Edit groups</string>
+
     <!-- Hint text for the contact name when editing -->
     <string name="ghostData_name">First and Last</string>
 
@@ -155,6 +181,9 @@
     <!-- Hint text for the postal address field when editing -->
     <string name="ghostData_postal">Postal address</string>
 
+    <!-- Hint text for the group field when editing -->
+    <string name="ghostData_group">Display group</string>
+
     <!-- Message displayed in a toast when you try to view the details of a contact that
          for some reason doesn't exist anymore. -->
     <string name="invalidContactMessage">The contact does not exist.</string>
@@ -240,7 +269,7 @@
     <!-- Title for group selection dialog. The dialog contains a list of contact groups that the
          user can pick from, indicating they only want to see the contacts in that group. -->
     <string name="select_group_title">Groups</string>
-    
+
     <!-- The text displayed when the contacts list is empty while displaying a single group of contacts -->
     <string name="groupEmpty">Your \"<xliff:g id="groupName">%s</xliff:g>\" group is empty.</string>
 
@@ -295,6 +324,9 @@
     <!-- Separator in the contact details list describing that the items below are non-actionable organization information -->
     <string name="listSeparatorOrganizations">Organizations</string>
 
+    <!-- Separator in the contact details list describing that the items below are non-actionable group information -->
+    <string name="listSeparatorGroups">Groups</string>
+
     <!-- Separator in the contact details list describing that the items below are random other non-actionable information about a contact -->
     <string name="listSeparatorOtherInformation">Other information</string>
 
@@ -343,6 +375,9 @@
     <!-- The title of a dialog that displays the IMEI of the phone -->
     <string name="imei">IMEI</string>
 
+    <!-- The title of a dialog that displays the MEID of the CDMA phone -->
+    <string name="meid">MEID</string>
+
     <!-- String used for displaying calls to the voicemail number in the call log -->
     <string name="voicemail">Voicemail</string>
 
@@ -495,4 +530,204 @@
     <!-- 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>
+
+    <!-- Content description values -->
+
+    <!-- String describing the image on ImageButton one
+
+        Note: AccessibilityServices use this attribute to announce what the view represents.
+              This is especially valuable for views without textual representation like ImageView.
+    -->
+    <string name="description_image_button_one">one</string>
+
+    <!-- String describing the image on ImageButton two
+
+        Note: AccessibilityServices use this attribute to announce what the view represents.
+              This is especially valuable for views without textual representation like ImageView.
+    -->
+    <string name="description_image_button_two">two</string>
+
+    <!-- String describing the image on ImageButton three
+
+        Note: AccessibilityServices use this attribute to announce what the view represents.
+              This is especially valuable for views without textual representation like ImageView.
+    -->
+    <string name="description_image_button_three">three</string>
+
+    <!-- String describing the image on ImageButton four
+
+        Note: AccessibilityServices use this attribute to announce what the view represents.
+              This is especially valuable for views without textual representation like ImageView.
+    -->
+    <string name="description_image_button_four">four</string>
+
+    <!-- String describing the image on ImageButton five
+
+        Note: AccessibilityServices use this attribute to announce what the view represents.
+              This is especially valuable for views without textual representation like ImageView.
+    -->
+    <string name="description_image_button_five">five</string>
+
+    <!-- String describing the image on ImageButton six
+
+        Note: AccessibilityServices use this attribute to announce what the view represents.
+              This is especially valuable for views without textual representation like ImageView.
+    -->
+    <string name="description_image_button_six">six</string>
+
+    <!-- String describing the image on ImageButton seven
+
+        Note: AccessibilityServices use this attribute to announce what the view represents.
+              This is especially valuable for views without textual representation like ImageView.
+    -->
+    <string name="description_image_button_seven">seven</string>
+
+    <!-- String describing the image on ImageButton eight
+
+        Note: AccessibilityServices use this attribute to announce what the view represents.
+              This is especially valuable for views without textual representation like ImageView.
+    -->
+    <string name="description_image_button_eight">eight</string>
+
+    <!-- String describing the image on ImageButton nine
+
+        Note: AccessibilityServices use this attribute to announce what the view represents.
+              This is especially valuable for views without textual representation like ImageView.
+    -->
+    <string name="description_image_button_nine">nine</string>
+
+    <!-- String describing the image on ImageButton star
+
+        Note: AccessibilityServices use this attribute to announce what the view represents.
+              This is especially valuable for views without textual representation like ImageView.
+    -->
+    <string name="description_image_button_star">star</string>
+
+    <!-- String describing the image on ImageButton zero
+
+        Note: AccessibilityServices use this attribute to announce what the view represents.
+              This is especially valuable for views without textual representation like ImageView.
+    -->
+    <string name="description_image_button_zero">zero</string>
+
+    <!-- String describing the image on ImageButton pound
+
+        Note: AccessibilityServices use this attribute to announce what the view represents.
+              This is especially valuable for views without textual representation like ImageView.
+    -->
+    <string name="description_image_button_pound">pound</string>
+
+    <!-- Dialog title shown when SD Card does not exist -->
+    <string name="no_sdcard_title">No SD Card</string>
+
+    <!-- Dialog message shown when SDcard does not exist -->
+    <string name="no_sdcard_message">No SD Card detected</string>
+
+    <!-- Dialog title shown when searching VCard data from SD Card -->
+    <string name="searching_vcard_title">Searching for VCard</string>
+
+    <!-- Dialog title shown when asking a user whether import contact data from SIM or SD Card -->
+    <string name="select_import_type_title">Where would you like to import contacts from?</string>
+
+    <!-- Action string for selecting SIM for importing contacts -->
+    <string name="import_from_sim">SIM Card</string>
+
+    <!-- Action string for selecting SD Card for importing contacts -->
+    <string name="import_from_sdcard">SD Card</string>
+
+    <!-- "Import all VCard files" -->
+    <string name="import_all_vcard_string">Import all VCard files</string>
+
+    <!-- "Import one VCard file" -->
+    <string name="import_one_vcard_string">Import one VCard file</string>
+
+    <!-- Dialog message shown when searching VCard data from SD Card -->
+    <string name="searching_vcard_message">Searching for VCard data on VCard</string>
+
+    <!-- Dialog title shown when searching VCard data failed. -->
+    <string name="scanning_sdcard_failed_title">Scanning SD Card failed</string>
+
+    <!-- Dialog message shown when searching VCard data failed. -->
+    <string name="scanning_sdcard_failed_message">Scanning SD Card failed</string>
+
+    <!-- The failed reason: "I/O Error" -->
+    <string name="fail_reason_io_error">I/O Error</string>
+
+    <!-- The failed reason: "Failed to parse VCard data" -->
+    <string name="fail_reason_vcard_parse_error">Failed to parse VCard</string>
+
+    <!-- The failed reason: "There is no VCard file" -->
+    <string name="fail_reason_no_vcard_file">No VCard file found on SD Card</string>
+
+    <!-- The failed reason: "There is no valid VCard entry in the file(s)" -->
+    <string name="fail_reason_no_vcard_entry">No valid VCard entry found for your selection</string>
+
+    <!-- Dialog title shown when a user is asked to select VCard file -->
+    <string name="select_vcard_title">Select VCard file</string>
+
+    <!-- Dialog message shown when a user is asked to choose VCard file -->
+    <string name="select_vcard_message">Please select a VCard file to import</string>
+
+    <!-- Dialog title shown when reading VCard data -->
+    <string name="reading_vcard_title">Reading VCard</string>
+
+    <!-- Dialog message shown when reading a VCard file -->
+    <string name="reading_vcard_message">Reading VCard file(s)</string>
+
+    <!-- Dialog message shown when importing VCard data into local database -->
+    <string name="importing_vcard_message">Importing VCard data</string>
+
+    <!-- Dialog title shown when reading VCard data failed -->
+    <string name="reading_vcard_failed_title">Reading of VCard data has failed</string>
+
+    <!-- Dialog message shown when reading VCard data failed -->
+    <string name="reading_vcard_failed_message">VCard data could not be read\nReason for failure: \"<xliff:g id="fail_reason">%s</xliff:g>\"</string>
+
+    <!-- Message while reading one vCard 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="reading_vcard_contacts"><xliff:g id="current_number">%s</xliff:g> of <xliff:g id="total_number">%s</xliff:g> contacts</string>
+
+    <!-- Message while reading multiple vCard files "(current number) of (total number) files" The order of "current number" and "total number" cannot be changed (like "total: (total number), current: (current number)")-->
+    <string name="reading_vcard_files"><xliff:g id="current_number">%s</xliff:g> of <xliff:g id="total_number">%s</xliff:g> files</string>
+
+    <!-- The menu item that launches VCard export activity -->
+    <string name="export_contact_list">Export contacts</string>
+    
+    <!-- Dialog title shown when a user confirms whether he/she export Contact data -->
+    <string name="confirm_export_title">Confirmation for export</string>
+        
+    <!-- Dialog message shown when a user confirms whether he/she export Contact data -->
+    <string name="confirm_export_message">Is it ok to export your contact list to \"<xliff:g id="vcard_filename">%s</xliff:g>\"?</string>    
+    
+    <!-- Dialog title shown when exporting Contact data failed -->
+    <string name="exporting_contact_failed_title">Exporting contact data has failed</string>
+    
+    <!-- Dialog message shown when exporting Contact data failed -->
+    <string name="exporting_contact_failed_message">Exporting contact data has failed\nReason for failure: \"<xliff:g id="fail_reason">%s</xliff:g>\"</string>
+
+    <!-- The failed reason: "Too many vcard files on the SD Card" -->
+    <string name="fail_reason_too_many_vcard">Too many VCard data on the SD Card</string>
+
+    <!-- The failed reason: "Cannot open or create the destination directory" -->
+    <string name="fail_reason_cannot_open_destination_dir">Cannot open or create the destination directory\"<xliff:g id="dir_name">%s</xliff:g>\"</string>
+
+    <!-- Dialog title shown when the application is exporting contact data outside -->
+    <string name="exporting_contact_list_title">Exporting contact data</string>
+
+    <!-- Message shown when the application is exporting contact data outside -->
+    <string name="exporting_contact_list_message">Exporting contact data to \"<xliff:g id="file_name">%s</xliff:g>\"</string>
+    
+    <!-- The failed reason: "Could not initialize the exporter" -->
+    <string name="fail_reason_could_not_initialize_exporter">Could not initialize the exporter: \"<xliff:g id="exact_reason">%s</xliff:g>\"</string>
+    
+    <!-- The failed reason: "Error occured during export" -->
+    <string name="fail_reason_error_occurred_during_export">Error occured during export: \"<xliff:g id="exact_reason">%s</xliff:g>\"</string>
+    
+    <!-- The failed reason: "Could not open a specific file" -->
+    <string name="fail_reason_could_not_open_file">Could not open \"<xliff:g id="file_name">%s</xliff:g>\": <xliff:g id="exact_reason">%s</xliff:g></string>
+
+    <!-- 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>
+    
+    <!-- The string used to describe Contacts as a searchable item within system search settings. -->
+    <string name="search_settings_description">Address book</string>
 </resources>
diff --git a/res/values/styles.xml b/res/values/styles.xml
index c202eda..998da21 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -35,4 +35,13 @@
         <item name="android:windowContentOverlay">@null</item>
     </style>
 
+    <style name="BackgroundOnly">
+        <item name="android:windowBackground">@null</item>
+        <item name="android:windowContentOverlay">@null</item>
+        <item name="android:windowAnimationStyle">@null</item>
+        <item name="android:windowNoTitle">true</item>
+        <item name="android:windowNoDisplay">true</item>
+        <item name="android:windowIsFloating">true</item>
+    </style>
+
 </resources>
diff --git a/res/xml/searchable.xml b/res/xml/searchable.xml
index cd9e6d6..0deed7e 100644
--- a/res/xml/searchable.xml
+++ b/res/xml/searchable.xml
@@ -24,9 +24,11 @@
     android:hint="@string/searchHint"
     android:searchMode="queryRewriteFromText"
 
+    android:includeInGlobalSearch="true"
     android:searchSuggestAuthority="contacts"
     android:searchSuggestIntentAction="android.provider.Contacts.SEARCH_SUGGESTION_CLICKED"
     android:searchSuggestIntentData="content://contacts/people"
+    android:searchSettingsDescription="@string/search_settings_description"
 >
 
     <!-- allow green action key for search-bar and per-suggestion clicks -->
diff --git a/src/com/android/contacts/ContactEntryAdapter.java b/src/com/android/contacts/ContactEntryAdapter.java
index c5b7ccf..b8d9fe8 100644
--- a/src/com/android/contacts/ContactEntryAdapter.java
+++ b/src/com/android/contacts/ContactEntryAdapter.java
@@ -122,7 +122,9 @@
         /** Synthesized phone entry that will send an SMS instead of call the number */
         public static final int KIND_SMS = -2;
         /** A section separator */
-        public static final int KIND_SEPARATOR = -3; 
+        public static final int KIND_SEPARATOR = -3;
+        /** Signifies a group row that is stored in the group membership table */
+        public static final int KIND_GROUP = -4;
 
         public String label;
         public String data;
diff --git a/src/com/android/contacts/ContactsGroupSyncSelector.java b/src/com/android/contacts/ContactsGroupSyncSelector.java
index e1fbdf1..a94f8db 100644
--- a/src/com/android/contacts/ContactsGroupSyncSelector.java
+++ b/src/com/android/contacts/ContactsGroupSyncSelector.java
@@ -16,14 +16,15 @@
 
 package com.android.contacts;
 
-import com.google.android.googlelogin.GoogleLoginServiceConstants;
-import com.google.android.googlelogin.GoogleLoginServiceHelper;
-
+import android.accounts.AccountManager;
+import android.accounts.AuthenticatorException;
+import android.accounts.Future2;
+import android.accounts.Future2Callback;
+import android.accounts.OperationCanceledException;
 import android.app.ListActivity;
 import android.content.ContentResolver;
 import android.content.ContentUris;
 import android.content.ContentValues;
-import android.content.Intent;
 import android.database.Cursor;
 import android.os.Bundle;
 import android.provider.Contacts;
@@ -37,6 +38,9 @@
 import android.widget.ListView;
 
 import java.util.ArrayList;
+import java.io.IOException;
+
+import com.google.android.googlelogin.GoogleLoginServiceConstants;
 
 public final class ContactsGroupSyncSelector extends ListActivity implements View.OnClickListener {
 
@@ -51,8 +55,6 @@
     private static final int COLUMN_INDEX_SHOULD_SYNC = 2;
     private static final int COLUMN_INDEX_SYSTEM_ID = 3;
 
-    private static final int SUBACTIVITY_GET_ACCOUNT = 1;
-
     ArrayList<Boolean> mChecked;
     ArrayList<Long> mGroupIds;
     boolean mSyncAllGroups;
@@ -160,9 +162,26 @@
             // through onActivityResult().
             Bundle bundle = new Bundle();
             bundle.putCharSequence("optional_message", getText(R.string.contactsSyncPlug));
-            GoogleLoginServiceHelper.getCredentials(this, SUBACTIVITY_GET_ACCOUNT,
-                    bundle, GoogleLoginServiceConstants.PREFER_HOSTED, Gmail.GMAIL_AUTH_SERVICE,
-                    true);
+            AccountManager.get(this).getAuthTokenByFeatures(
+                    GoogleLoginServiceConstants.ACCOUNT_TYPE, Gmail.GMAIL_AUTH_SERVICE,
+                    new String[]{GoogleLoginServiceConstants.FEATURE_GOOGLE_OR_DASHER}, this,
+                    bundle, null /* loginOptions */, new Future2Callback() {
+                public void run(Future2 future) {
+                    try {
+                        // do this to check if this request succeeded or not
+                        future.getResult();
+                        // There is an account setup, build the group list
+                        buildItems();
+                        adjustChecks();
+                    } catch (OperationCanceledException e) {
+                        finish();
+                    } catch (IOException e) {
+                        finish();
+                    } catch (AuthenticatorException e) {
+                        finish();
+                    }
+                }
+            }, null /* handler */);
         }
 
         setContentView(R.layout.sync_settings);
@@ -173,20 +192,6 @@
         getListView().setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
     }
 
-    @Override
-    protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
-        super.onActivityResult(requestCode, resultCode, intent);
-        if (requestCode == SUBACTIVITY_GET_ACCOUNT) {
-            if (resultCode == RESULT_OK) {
-                // There is an account setup, build the group list
-                buildItems();
-                adjustChecks();
-            } else {
-                finish();
-            }
-        }
-    }
-
     private void buildItems() {
         final ContentResolver resolver = getContentResolver();
         Cursor cursor = resolver.query(Groups.CONTENT_URI, PROJECTION, null, null, Groups.NAME);
diff --git a/src/com/android/contacts/ContactsListActivity.java b/src/com/android/contacts/ContactsListActivity.java
index 7dbc76c..922131b 100644
--- a/src/com/android/contacts/ContactsListActivity.java
+++ b/src/com/android/contacts/ContactsListActivity.java
@@ -16,8 +16,6 @@
 
 package com.android.contacts;
 
-import static com.android.contacts.ShowOrCreateActivity.QUERY_KIND_EMAIL_OR_IM;
-
 import android.app.Activity;
 import android.app.AlertDialog;
 import android.app.ListActivity;
@@ -32,13 +30,20 @@
 import android.content.ISyncAdapter;
 import android.content.Intent;
 import android.content.SharedPreferences;
+import android.content.res.Resources;
 import android.database.CharArrayBuffer;
 import android.database.Cursor;
-import android.database.CursorWrapper;
 import android.graphics.Bitmap;
 import android.graphics.BitmapFactory;
+import android.graphics.Canvas;
+import android.graphics.Paint;
+import android.graphics.Rect;
+import android.graphics.Typeface;
+import android.graphics.drawable.BitmapDrawable;
+import android.graphics.drawable.Drawable;
 import android.net.Uri;
 import android.os.Bundle;
+import android.os.Handler;
 import android.os.Parcelable;
 import android.os.RemoteException;
 import android.preference.PreferenceManager;
@@ -85,6 +90,8 @@
         implements View.OnCreateContextMenuListener, DialogInterface.OnClickListener {
     private static final String TAG = "ContactsListActivity";
 
+    private static final boolean ENABLE_ACTION_ICON_OVERLAYS = false;
+
     private static final String LIST_STATE_KEY = "liststate";
     private static final String FOCUS_KEY = "focused";
     
@@ -101,6 +108,8 @@
     public static final int MENU_DIALER = 9;
     public static final int MENU_NEW_CONTACT = 10;
     public static final int MENU_DISPLAY_GROUP = 11;
+    public static final int MENU_IMPORT_CONTACTS = 12;
+    public static final int MENU_EXPORT_CONTACTS = 13;
 
     private static final int SUBACTIVITY_NEW_CONTACT = 1;
     
@@ -249,12 +258,12 @@
 
     private static final int QUERY_TOKEN = 42;
 
-    private static final String[] GROUPS_PROJECTION = new String[] {
+    static final String[] GROUPS_PROJECTION = new String[] {
         Groups.SYSTEM_ID, // 0
         Groups.NAME, // 1
     };
-    private static final int GROUPS_COLUMN_INDEX_SYSTEM_ID = 0;
-    private static final int GROUPS_COLUMN_INDEX_NAME = 1;
+    static final int GROUPS_COLUMN_INDEX_SYSTEM_ID = 0;
+    static final int GROUPS_COLUMN_INDEX_NAME = 1;
     
     static final String GROUP_WITH_PHONES = "android_smartgroup_phone";
 
@@ -292,7 +301,7 @@
     private Parcelable mListState = null;
     private boolean mListHasFocus;
 
-    private boolean mCreateShortcut;
+    private String mShortcutAction;
     private boolean mDefaultMode = false;
     
     /**
@@ -310,6 +319,33 @@
      */
     private String mQueryData;
     
+    private Handler mHandler = new Handler();
+
+    private class ImportTypeSelectedListener implements DialogInterface.OnClickListener {
+        public static final int IMPORT_FROM_SIM = 0;
+        public static final int IMPORT_FROM_SDCARD = 1;
+
+        private int mIndex;
+
+        public ImportTypeSelectedListener() {
+            mIndex = IMPORT_FROM_SIM;
+        }
+
+        public void onClick(DialogInterface dialog, int which) {
+            if (which == DialogInterface.BUTTON_POSITIVE) {
+                if (mIndex == IMPORT_FROM_SIM) {
+                    doImportFromSim();
+                } else {
+                    doImportFromSDCard();
+                }
+            } else if (which == DialogInterface.BUTTON_NEGATIVE) {
+
+            } else {
+                mIndex = which;
+            }
+        }
+    }
+
     private class DeleteClickListener implements DialogInterface.OnClickListener {
         private Uri mUri;
 
@@ -374,8 +410,19 @@
                 mMode = MODE_PICK_POSTAL;
             }
         } else if (Intent.ACTION_CREATE_SHORTCUT.equals(action)) {
-            mMode = MODE_PICK_OR_CREATE_CONTACT;
-            mCreateShortcut = true;
+            if (intent.getComponent().getClassName().equals("alias.DialShortcut")) {
+                mMode = MODE_PICK_PHONE;
+                mShortcutAction = Intent.ACTION_CALL;
+                setTitle(R.string.callShortcutActivityTitle);
+            } else if (intent.getComponent().getClassName().equals("alias.MessageShortcut")) {
+                mMode = MODE_PICK_PHONE;
+                mShortcutAction = Intent.ACTION_SENDTO;
+                setTitle(R.string.messageShortcutActivityTitle);
+            } else {
+                mMode = MODE_PICK_OR_CREATE_CONTACT;
+                mShortcutAction = Intent.ACTION_VIEW;
+                setTitle(R.string.shortcutActivityTitle);
+            }
         } else if (Intent.ACTION_GET_CONTENT.equals(action)) {
             final String type = intent.resolveType(this);
             if (People.CONTENT_ITEM_TYPE.equals(type)) {
@@ -452,7 +499,7 @@
         list.setOnCreateContextMenuListener(this);
         if ((mMode & MODE_MASK_NO_FILTER) != MODE_MASK_NO_FILTER) {
             list.setTextFilterEnabled(true);
-        }
+        }        
 
         if ((mMode & MODE_MASK_CREATE_NEW) != 0) {
             // Add the header for creating a new contact
@@ -475,23 +522,25 @@
         mQueryHandler = new QueryHandler(this);
         mJustCreated = true;
 
-        // Check to see if sync is enabled
-        final ContentResolver resolver = getContentResolver();
-        IContentProvider provider = resolver.acquireProvider(Contacts.CONTENT_URI);
-        if (provider == null) {
-            // No contacts provider, bail.
-            finish();
-            return;
-        }
-
-        try {
-            ISyncAdapter sa = provider.getSyncAdapter();
-            mSyncEnabled = sa != null;
-        } catch (RemoteException e) {
-            mSyncEnabled = false;
-        } finally {
-            resolver.releaseProvider(provider);
-        }
+        // TODO(jham) redesign this
+        mSyncEnabled = true;
+//        // Check to see if sync is enabled
+//        final ContentResolver resolver = getContentResolver();
+//        IContentProvider provider = resolver.acquireProvider(Contacts.CONTENT_URI);
+//        if (provider == null) {
+//            // No contacts provider, bail.
+//            finish();
+//            return;
+//        }
+//
+//        try {
+//            ISyncAdapter sa = provider.getSyncAdapter();
+//            mSyncEnabled = sa != null;
+//        } catch (RemoteException e) {
+//            mSyncEnabled = false;
+//        } finally {
+//            resolver.releaseProvider(provider);
+//        }
     }
 
     private void setEmptyText() {
@@ -746,13 +795,15 @@
                     .setIntent(syncIntent);
         }
         
-        // SIM import
-        Intent importIntent = new Intent(Intent.ACTION_VIEW);
-        importIntent.setType("vnd.android.cursor.item/sim-contact");
-        importIntent.setClassName("com.android.phone", "com.android.phone.SimContacts");
-        menu.add(0, 0, 0, R.string.importFromSim)
-                .setIcon(R.drawable.ic_menu_import_contact)
-                .setIntent(importIntent);
+        // Contacts import (SIM/SDCard)
+        menu.add(0, MENU_IMPORT_CONTACTS, 0, R.string.importFromSim)
+                .setIcon(R.drawable.ic_menu_import_contact);
+
+        /* Temporarily commented out
+        if (getResources().getBoolean(R.bool.config_allow_export_to_sdcard)) {
+            menu.add(0, MENU_EXPORT_CONTACTS, 0, R.string.export_contact_list)
+                    .setIcon(R.drawable.ic_menu_export_contact);
+        }*/
 
         return super.onCreateOptionsMenu(menu);
     }
@@ -816,10 +867,49 @@
             case MENU_SEARCH:
                 startSearch(null, false, null, false);
                 return true;
+
+            case MENU_IMPORT_CONTACTS:
+                if (getResources().getBoolean(R.bool.config_allow_import_from_sdcard)) {
+                    ImportTypeSelectedListener listener =
+                        new ImportTypeSelectedListener();
+                    AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(this)
+                        .setTitle(R.string.select_import_type_title)
+                        .setPositiveButton(android.R.string.ok, listener)
+                        .setNegativeButton(android.R.string.cancel, null);
+                    dialogBuilder.setSingleChoiceItems(new String[] {
+                            getString(R.string.import_from_sim),
+                            getString(R.string.import_from_sdcard)},
+                            ImportTypeSelectedListener.IMPORT_FROM_SIM, listener);
+                    dialogBuilder.show();
+                } else {
+                    doImportFromSim();
+                }
+                return true;
+
+            /*case MENU_EXPORT_CONTACTS:
+                handleExportContacts();*/
         }
         return false;
     }
 
+    private void doImportFromSim() {
+        Intent importIntent = new Intent(Intent.ACTION_VIEW);
+        importIntent.setType("vnd.android.cursor.item/sim-contact");
+        importIntent.setClassName("com.android.phone", "com.android.phone.SimContacts");
+        startActivity(importIntent);
+    }
+
+    private void doImportFromSDCard() {
+        Intent intent = new Intent(this, ImportVCardActivity.class);
+        startActivity(intent);
+    }
+
+    /*
+    private void handleExportContacts() {
+        VCardExporter exporter = new VCardExporter(ContactsListActivity.this, mHandler);
+        exporter.startExportVCardToSdCard();
+    }*/
+    
     @Override
     protected void onActivityResult(int requestCode, int resultCode,
             Intent data) {
@@ -827,8 +917,8 @@
             case SUBACTIVITY_NEW_CONTACT:
                 if (resultCode == RESULT_OK) {
                     // Contact was created, pass it back
-                    returnPickerResult(data.getStringExtra(Intent.EXTRA_SHORTCUT_NAME),
-                            data.getData());
+                    returnPickerResult(null, data.getStringExtra(Intent.EXTRA_SHORTCUT_NAME),
+                            data.getData(), 0);
                 }
         }
     }
@@ -1012,18 +1102,22 @@
             } else if (mMode == MODE_PICK_CONTACT 
                     || mMode == MODE_PICK_OR_CREATE_CONTACT) {
                 Uri uri = ContentUris.withAppendedId(People.CONTENT_URI, id);
-                if (mCreateShortcut) {
+                if (mShortcutAction != null) {
                     // Subtract one if we have Create Contact at the top
                     Cursor c = (Cursor) mAdapter.getItem(position
                             - (mMode == MODE_PICK_OR_CREATE_CONTACT? 1:0));
-                    returnPickerResult(c.getString(NAME_COLUMN_INDEX), uri);
+                    returnPickerResult(c, c.getString(NAME_COLUMN_INDEX), uri, id);
                 } else {
-                    returnPickerResult(null, uri);
+                    returnPickerResult(null, null, uri, id);
                 }
             } else if (mMode == MODE_PICK_PHONE) {
-                setResult(RESULT_OK, new Intent().setData(
-                        ContentUris.withAppendedId(Phones.CONTENT_URI, id)));
-                finish();
+                Uri uri = ContentUris.withAppendedId(Phones.CONTENT_URI, id);
+                if (mShortcutAction != null) {
+                    Cursor c = (Cursor) mAdapter.getItem(position);
+                    returnPickerResult(c, c.getString(NAME_COLUMN_INDEX), uri, id);
+                } else {
+                    returnPickerResult(null, null, uri, id);
+                }
             } else if (mMode == MODE_PICK_POSTAL) {
                 setResult(RESULT_OK, new Intent().setData(
                         ContentUris.withAppendedId(ContactMethods.CONTENT_URI, id)));
@@ -1038,22 +1132,49 @@
         }
     }
 
-    private void returnPickerResult(String name, Uri uri) {
+    private void returnPickerResult(Cursor c, String name, Uri uri, long id) {
         final Intent intent = new Intent();
     
-        if (mCreateShortcut) {
-            Intent shortcutIntent = new Intent(Intent.ACTION_VIEW, uri);
+        if (mShortcutAction != null) {
+            Intent shortcutIntent;
+            if (Intent.ACTION_VIEW.equals(mShortcutAction)) {
+                // This is a simple shortcut to view a contact.
+                shortcutIntent = new Intent(mShortcutAction, uri);
+                final Bitmap icon = People.loadContactPhoto(this, uri, 0, null);
+                if (icon != null) {
+                    intent.putExtra(Intent.EXTRA_SHORTCUT_ICON, icon);
+                } else {
+                    intent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,
+                            Intent.ShortcutIconResource.fromContext(this,
+                                    R.drawable.ic_launcher_shortcut_contact));
+                }
+            } else {
+                // This is a direct dial or sms shortcut.
+                String number = c.getString(DATA_COLUMN_INDEX);
+                int type = c.getInt(TYPE_COLUMN_INDEX);
+                String scheme;
+                int resid;
+                if (Intent.ACTION_CALL.equals(mShortcutAction)) {
+                    scheme = "tel";
+                    resid = R.drawable.badge_action_call;
+                } else {
+                    scheme = "smsto";
+                    resid = R.drawable.badge_action_sms;
+                }
+                // Make the URI a direct tel: URI so that it will always continue to work
+                Uri phoneUri = Uri.fromParts(scheme, number, null);
+                shortcutIntent = new Intent(mShortcutAction, phoneUri);
+                
+                // Find the People._ID for this phone number
+                final long personId = c.getLong(PHONES_PERSON_ID_INDEX);
+                Uri personUri = ContentUris.withAppendedId(People.CONTENT_URI, personId);
+                intent.putExtra(Intent.EXTRA_SHORTCUT_ICON,
+                        generatePhoneNumberIcon(personUri, type, resid));
+                
+            }
             shortcutIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
             intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);
             intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, name);
-            final Bitmap icon = People.loadContactPhoto(this, uri, 0, null);
-            if (icon != null) {
-                intent.putExtra(Intent.EXTRA_SHORTCUT_ICON, icon);
-            } else {
-                intent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,
-                        Intent.ShortcutIconResource.fromContext(this,
-                                R.drawable.ic_launcher_shortcut_contact));
-            }
             setResult(RESULT_OK, intent);
         } else {
             setResult(RESULT_OK, intent.setData(uri));
@@ -1061,6 +1182,107 @@
         finish();
     }
 
+    /**
+     * Generates a phone number shortcut icon. Adds an overlay describing the type of the phone
+     * number, and if there is a photo also adds the call action icon.
+     *
+     * @param personUri The person the phone number belongs to
+     * @param type The type of the phone number
+     * @param actionResId The ID for the action resource
+     * @return The bitmap for the icon
+     */
+    private Bitmap generatePhoneNumberIcon(Uri personUri, int type, int actionResId) {
+        final Resources r = getResources();
+        boolean drawPhoneOverlay = true;
+
+        Bitmap photo = People.loadContactPhoto(this, personUri, 0, null);
+        if (photo == null) {
+            // If there isn't a photo use the generic phone action icon instead
+            Bitmap phoneIcon = getPhoneActionIcon(r, actionResId);
+            if (phoneIcon != null) {
+                photo = phoneIcon;
+                drawPhoneOverlay = false;
+            } else {
+                return null;
+            }
+        }
+
+        // Setup the drawing classes
+        int iconSize = (int) r.getDimension(android.R.dimen.app_icon_size);
+        Bitmap icon = Bitmap.createBitmap(iconSize, iconSize, Bitmap.Config.ARGB_8888);
+        Canvas canvas = new Canvas(icon);
+
+        // Copy in the photo
+        Paint photoPaint = new Paint();
+        photoPaint.setDither(true);
+        photoPaint.setFilterBitmap(true);
+        Rect src = new Rect(0,0, photo.getWidth(),photo.getHeight());
+        Rect dst = new Rect(0,0, iconSize,iconSize);
+        canvas.drawBitmap(photo, src, dst, photoPaint);
+
+        // Create an overlay for the phone number type
+        String overlay = null;
+        switch (type) {
+            case Phones.TYPE_HOME:
+                overlay = "H";
+                break;
+
+            case Phones.TYPE_MOBILE:
+                overlay = "M";
+                break;
+
+            case Phones.TYPE_WORK:
+                overlay = "W";
+                break;
+
+            case Phones.TYPE_PAGER:
+                overlay = "P";
+                break;
+
+            case Phones.TYPE_OTHER:
+                overlay = "O";
+                break;
+        }
+        if (overlay != null) {
+            Paint textPaint = new Paint(Paint.ANTI_ALIAS_FLAG | Paint.DEV_KERN_TEXT_FLAG);
+            textPaint.setTextSize(20.0f);
+            textPaint.setTypeface(Typeface.DEFAULT_BOLD);
+            textPaint.setColor(r.getColor(R.color.textColorIconOverlay));
+            textPaint.setShadowLayer(3f, 1, 1, r.getColor(R.color.textColorIconOverlayShadow));
+            canvas.drawText(overlay, 2, 16, textPaint);
+        }
+
+        // Draw the phone action icon as an overlay
+        if (ENABLE_ACTION_ICON_OVERLAYS && drawPhoneOverlay) {
+            Bitmap phoneIcon = getPhoneActionIcon(r, actionResId);
+            if (phoneIcon != null) {
+                src.set(0,0, phoneIcon.getWidth(),phoneIcon.getHeight());
+                int iconWidth = icon.getWidth();
+                dst.set(iconWidth - 20, -1, iconWidth, 19);
+                canvas.drawBitmap(phoneIcon, src, dst, photoPaint);
+            }
+        }
+
+        return icon;
+    }
+
+    /**
+     * Returns the icon for the phone call action.
+     *
+     * @param r The resources to load the icon from
+     * @param resId The resource ID to load
+     * @return the icon for the phone call action
+     */
+    private Bitmap getPhoneActionIcon(Resources r, int resId) {
+        Drawable phoneIcon = r.getDrawable(resId);
+        if (phoneIcon instanceof BitmapDrawable) {
+            BitmapDrawable bd = (BitmapDrawable) phoneIcon;
+            return bd.getBitmap();
+        } else {
+            return null;
+        }
+    }
+    
     String[] getProjection() {
         switch (mMode) {
             case MODE_GROUP:
@@ -1461,7 +1683,7 @@
         }
 
         private SectionIndexer getNewIndexer(Cursor cursor) {
-            if (Locale.getDefault().equals(Locale.JAPAN)) {
+            if (Locale.getDefault().getLanguage().equals(Locale.JAPAN.getLanguage())) {
                 return new JapaneseContactListIndexer(cursor, SORT_STRING_INDEX);
             } else {
                 return new AlphabetIndexer(cursor, NAME_COLUMN_INDEX, mAlphabet);
diff --git a/src/com/android/contacts/DialtactsActivity.java b/src/com/android/contacts/DialtactsActivity.java
index 73d702b..8f933b8 100644
--- a/src/com/android/contacts/DialtactsActivity.java
+++ b/src/com/android/contacts/DialtactsActivity.java
@@ -213,6 +213,8 @@
             }
         } else if (FAVORITES_ENTRY_COMPONENT.equals(componentName)) {
             mTabHost.setCurrentTab(TAB_INDEX_FAVORITES);
+        } else if (Contacts.Intents.UI.FILTER_CONTACTS_ACTION.equals(intent.getAction())) {
+            mTabHost.setCurrentTab(TAB_INDEX_CONTACTS);
         } else {
             SharedPreferences prefs = getSharedPreferences(PREFS_DIALTACTS, MODE_PRIVATE);
             boolean favoritesAsContacts = prefs.getBoolean(PREF_FAVORITES_AS_CONTACTS,
diff --git a/src/com/android/contacts/EditContactActivity.java b/src/com/android/contacts/EditContactActivity.java
index b89573b..4d5a669 100644
--- a/src/com/android/contacts/EditContactActivity.java
+++ b/src/com/android/contacts/EditContactActivity.java
@@ -44,6 +44,8 @@
 import static com.android.contacts.ContactEntryAdapter.PHONES_PROJECTION;
 import static com.android.contacts.ContactEntryAdapter.PHONES_TYPE_COLUMN;
 
+import com.android.contacts.ViewContactActivity.ViewEntry;
+
 import android.app.Activity;
 import android.app.AlertDialog;
 import android.app.Dialog;
@@ -69,6 +71,7 @@
 import android.provider.Contacts;
 import android.provider.Contacts.ContactMethods;
 import android.provider.Contacts.Intents.Insert;
+import android.provider.Contacts.GroupMembership;
 import android.provider.Contacts.Groups;
 import android.provider.Contacts.Organizations;
 import android.provider.Contacts.People;
@@ -171,6 +174,20 @@
 
     /** Flag marking this contact as changed, meaning we should write changes back. */
     private boolean mContactChanged = false;
+    
+    /** List of all the group names */
+    private CharSequence[] mGroups;
+    
+    /** Is this contact part of the group */
+    private boolean[] mInTheGroup;
+
+    private static final String[] GROUP_ID_PROJECTION = new String[] {
+        Groups._ID,
+    };
+
+    private static final String[] GROUPMEMBERSHIP_ID_PROJECTION = new String[] {
+        GroupMembership._ID,
+    };
 
     // These are accessed by inner classes. They're package scoped to make access more efficient.
     /* package */ ContentResolver mResolver;
@@ -188,7 +205,7 @@
     /* package */ static final int MSG_ADD_PHONE = 3;
     /* package */ static final int MSG_ADD_EMAIL = 4;
     /* package */ static final int MSG_ADD_POSTAL = 5;
-
+    
     private static final int[] TYPE_PRECEDENCE_PHONES = new int[] {
             Phones.TYPE_MOBILE, Phones.TYPE_HOME, Phones.TYPE_WORK, Phones.TYPE_OTHER
     };
@@ -222,6 +239,12 @@
                 break;
             }
             
+            case R.id.entry_group: {
+                EditEntry entry = findEntryForView(v);
+                doPickGroup(entry);
+                break;
+            }
+            
             case R.id.entry_ringtone: {
                 EditEntry entry = findEntryForView(v);
                 doPickRingtone(entry);
@@ -716,6 +739,127 @@
         setPhotoPresent(false);
     }
     
+    private void populateGroups() {
+        // Create a list of all the groups
+        Cursor cursor = mResolver.query(Groups.CONTENT_URI, ContactsListActivity.GROUPS_PROJECTION,
+                null, null, Groups.DEFAULT_SORT_ORDER);
+        try {
+            ArrayList<Long> ids = new ArrayList<Long>();
+            ArrayList<String> items = new ArrayList<String>();
+
+            while (cursor.moveToNext()) {
+                String systemId = cursor.getString(ContactsListActivity.GROUPS_COLUMN_INDEX_SYSTEM_ID);
+                String name = cursor.getString(ContactsListActivity.GROUPS_COLUMN_INDEX_NAME);
+                
+                if (systemId != null || Groups.GROUP_MY_CONTACTS.equals(systemId)) {
+                    continue;
+                }
+
+                if (!TextUtils.isEmpty(name)) {
+                    ids.add(new Long(cursor.getLong(ContactsListActivity.GROUPS_COLUMN_INDEX_SYSTEM_ID)));
+                    items.add(name);
+                }
+            }
+
+            mGroups = items.toArray(new CharSequence[items.size()]);
+            mInTheGroup = new boolean[items.size()];
+        } finally {
+            cursor.close();
+        }
+        
+        if (mGroups != null) {
+            
+            // Go through the groups for this member and update the list
+            final Uri groupsUri = Uri.withAppendedPath(mUri, GroupMembership.CONTENT_DIRECTORY);
+            Cursor groupCursor = null;
+            try {
+                groupCursor = mResolver.query(groupsUri, ContactsListActivity.GROUPS_PROJECTION,
+                        null, null, Groups.DEFAULT_SORT_ORDER);
+            } catch (IllegalArgumentException e) {
+                // Contact is new, so we don't need to do any work.
+            }
+            
+            if (groupCursor != null) {
+                try {
+                    while (groupCursor.moveToNext()) {
+                        String systemId = groupCursor.getString(ContactsListActivity.GROUPS_COLUMN_INDEX_SYSTEM_ID);
+                        String name = groupCursor.getString(ContactsListActivity.GROUPS_COLUMN_INDEX_NAME);
+                        
+                        if (systemId != null || Groups.GROUP_MY_CONTACTS.equals(systemId)) {
+                            continue;
+                        }
+                        
+                        if (!TextUtils.isEmpty(name)) {
+                            for (int i = 0; i < mGroups.length; i++) {
+                                if (name.equals(mGroups[i])) {
+                                    mInTheGroup[i] = true;
+                                    break;
+                                }
+                            }
+                        }
+                    }
+                } finally {
+                    groupCursor.close();
+                }
+            }
+        }
+    }
+    
+    private String generateGroupList() {
+        StringBuilder groupList = new StringBuilder();
+        for (int i = 0; mGroups != null && i < mGroups.length; i++) {
+            if (mInTheGroup[i]) {
+                if (groupList.length() == 0) {
+                    groupList.append(mGroups[i]);
+                } else {
+                    groupList.append(getString(R.string.group_list, mGroups[i]));
+                }
+            }
+        }
+        return groupList.length() > 0 ? groupList.toString() : null;
+    }
+    
+    private void doPickGroup(EditEntry entry) {
+        if (mGroups != null) {
+            GroupDialogListener listener = new GroupDialogListener(this, entry);
+            
+            new AlertDialog.Builder(EditContactActivity.this)
+                .setTitle(R.string.label_groups)
+                .setMultiChoiceItems(mGroups, mInTheGroup, listener)
+                .setPositiveButton(android.R.string.ok, listener)
+                .setNegativeButton(android.R.string.cancel, null)
+                .show();
+        }
+    }
+
+    /** Handles the clicks in the groups dialog */
+    private static final class GroupDialogListener implements DialogInterface.OnClickListener,
+            DialogInterface.OnMultiChoiceClickListener {
+        
+        private EditContactActivity mEditContactActivity;
+        private EditEntry mEntry;
+        private boolean[] mInTheGroup;
+        
+        public GroupDialogListener(EditContactActivity editContactActivity, EditEntry entry) {
+            mEditContactActivity = editContactActivity;
+            mEntry = entry;
+            mInTheGroup = editContactActivity.mInTheGroup.clone();
+        }
+
+        /** Called when the dialog's ok button is clicked */
+        public void onClick(DialogInterface dialog, int which) {
+            mEditContactActivity.mInTheGroup = mInTheGroup;
+            mEntry.data = mEditContactActivity.generateGroupList();
+            mEditContactActivity.updateDataView(mEntry, mEntry.data);
+        }
+
+        /** Called when each group is clicked */
+        public void onClick(DialogInterface dialog, int which, boolean isChecked) {
+            mInTheGroup[which] = isChecked;
+        }
+    }
+    
+    
     private void doPickRingtone(EditEntry entry) {
         Intent intent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER);
         // Allow user to pick 'Default'
@@ -881,6 +1025,64 @@
         }
         finish();
     }
+
+    /**
+     * Gets the group id based on group name.
+     * 
+     * @param resolver the resolver to use
+     * @param groupName the name of the group to add the contact to
+     * @return the id of the group
+     * @throws IllegalStateException if the group can't be found
+     */
+    private long getGroupId(ContentResolver resolver, String groupName) {
+        long groupId = 0;
+        Cursor groupsCursor = resolver.query(Groups.CONTENT_URI, GROUP_ID_PROJECTION,
+                Groups.NAME + "=?", new String[] { groupName }, null);
+        if (groupsCursor != null) {
+            try {
+                if (groupsCursor.moveToFirst()) {
+                    groupId = groupsCursor.getLong(0);
+                }
+            } finally {
+                groupsCursor.close();
+            }
+        }
+    
+        if (groupId == 0) {
+            throw new IllegalStateException("Failed to find the " + groupName + "group");
+        }
+        
+        return groupId;
+    }
+
+    /**
+     * Deletes group membership based on person and group ids.
+     * 
+     * @param personId the person id
+     * @param groupId the group id
+     * @return the id of the group membership
+     */
+    private void deleteGroupMembership(long personId, long groupId) {
+        long groupMembershipId = 0;
+        Cursor groupsCursor = mResolver.query(GroupMembership.CONTENT_URI, GROUPMEMBERSHIP_ID_PROJECTION,
+                GroupMembership.PERSON_ID + "=? AND " + GroupMembership.GROUP_ID + "=?",
+                new String[] {String.valueOf(personId), String.valueOf(groupId)}, null);
+        if (groupsCursor != null) {
+            try {
+                if (groupsCursor.moveToFirst()) {
+                    groupMembershipId = groupsCursor.getLong(0);
+                }
+            } finally {
+                groupsCursor.close();
+            }
+        }
+        
+        if (groupMembershipId != 0) {
+            final Uri groupsUri = ContentUris.withAppendedId(
+                    GroupMembership.CONTENT_URI,groupMembershipId);
+            mResolver.delete(groupsUri, null, null);
+        }
+    }
     
     /**
      * Save the various fields to the existing contact.
@@ -929,6 +1131,18 @@
                     values.put(entry.column, (String) null);
                     mResolver.update(entry.uri, values, null, null);
                 }
+            } else if (kind == EditEntry.KIND_GROUP) {
+                if (entry.id != 0) {
+                    for (int g = 0; g < mGroups.length; g++) {
+                        long groupId = getGroupId(mResolver, mGroups[g].toString());
+                        if (mInTheGroup[g]) {
+                            Contacts.People.addToGroup(mResolver, entry.id, groupId);
+                            numValues++;
+                        } else {
+                            deleteGroupMembership(entry.id, groupId);
+                        }
+                    }
+                }
             } else {
                 if (!empty) {
                     values.clear();
@@ -1045,7 +1259,16 @@
         int entryCount = ContactEntryAdapter.countEntries(mSections, false);
         for (int i = 0; i < entryCount; i++) {
             EditEntry entry = ContactEntryAdapter.getEntry(mSections, i, false);
-            if (entry.kind != EditEntry.KIND_CONTACT) {
+            if (entry.kind == EditEntry.KIND_GROUP) {
+                long contactId = ContentUris.parseId(contactUri);
+                for (int g = 0; g < mGroups.length; g++) {
+                    if (mInTheGroup[g]) {
+                        long groupId = getGroupId(mResolver, mGroups[g].toString());
+                        People.addToGroup(mResolver, contactId, groupId);
+                        numValues++;
+                    }
+                }
+            } else if (entry.kind != EditEntry.KIND_CONTACT) {
                 values.clear();
                 if (entry.toValues(values)) {
                     // Only create the entry if there is data
@@ -1152,7 +1375,15 @@
                     mUri);
             mNoteEntries.add(entry);
         }
-
+        
+        // Groups
+        populateGroups();
+        if (mGroups != null) {
+            entry = EditEntry.newGroupEntry(this, generateGroupList(), mUri,
+                    personCursor.getLong(0));
+            mOtherEntries.add(entry);
+        }
+        
         // Ringtone
         entry = EditEntry.newRingtoneEntry(this,
                 personCursor.getString(CONTACT_CUSTOM_RINGTONE_COLUMN), mUri);
@@ -1316,6 +1547,13 @@
             mEmailEntries.add(entry);
         }
 
+        // Group
+        populateGroups();
+        if (mGroups != null) {
+            entry = EditEntry.newGroupEntry(this, null, mUri, 0);
+            mOtherEntries.add(entry);
+        }
+        
         // Ringtone
         entry = EditEntry.newRingtoneEntry(this, null, mUri);
         mOtherEntries.add(entry);
@@ -1577,6 +1815,9 @@
         // with some additional logic.
         if (entry.kind == Contacts.KIND_ORGANIZATION) {
             view = mInflater.inflate(R.layout.edit_contact_entry_org, parent, false);
+        } else if (isOtherEntry(entry, GroupMembership.GROUP_ID)) {
+            view = mInflater.inflate(R.layout.edit_contact_entry_group, parent, false);
+            view.setOnFocusChangeListener(this);
         } else if (isOtherEntry(entry, People.CUSTOM_RINGTONE)) {
             view = mInflater.inflate(R.layout.edit_contact_entry_ringtone, parent, false);
             view.setOnFocusChangeListener(this);
@@ -1671,6 +1912,10 @@
     private void fillViewData(final EditEntry entry) {
         if (isOtherEntry(entry, People.CUSTOM_RINGTONE)) {
             updateRingtoneView(entry);
+        } else if (isOtherEntry(entry, GroupMembership.GROUP_ID)) {
+            if (entry.data != null) {
+                updateDataView(entry, entry.data);
+            }
         } else if (isOtherEntry(entry, People.SEND_TO_VOICEMAIL)) {
             CheckBox checkBox = (CheckBox) entry.view.findViewById(R.id.checkbox);
             boolean sendToVoicemail = false;
@@ -1846,7 +2091,9 @@
                 }
 
                 case Contacts.KIND_IM: {
-                    v.setText(getLabelsForKind(activity, kind)[type]);
+                    if (type >= 0) {
+                        v.setText(getLabelsForKind(activity, kind)[type]);
+                    }
                     break;
                 }
                 
@@ -2036,6 +2283,24 @@
         }
 
         /**
+         * Create a new group entry with the given data.
+         */
+        public static final EditEntry newGroupEntry(EditContactActivity activity,
+                String data, Uri uri, long personId) {
+            EditEntry entry = new EditEntry(activity);
+            entry.label = activity.getString(R.string.label_groups);
+            entry.data = data;
+            entry.uri = uri;
+            entry.id = personId;
+            entry.column = GroupMembership.GROUP_ID;
+            entry.kind = KIND_GROUP;
+            entry.isStaticLabel = true;
+            entry.syncDataWithView = false;
+            entry.lines = -1;
+            return entry;
+        }
+
+        /**
          * Create a new ringtone entry with the given data.
          */
         public static final EditEntry newRingtoneEntry(EditContactActivity activity,
diff --git a/src/com/android/contacts/ImportVCardActivity.java b/src/com/android/contacts/ImportVCardActivity.java
new file mode 100644
index 0000000..07eb821
--- /dev/null
+++ b/src/com/android/contacts/ImportVCardActivity.java
@@ -0,0 +1,661 @@
+/*
+ * Copyright (C) 2009 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;
+
+import android.app.Activity;
+import android.app.AlertDialog;
+import android.app.ProgressDialog;
+import android.content.ContentResolver;
+import android.content.Context;
+import android.content.DialogInterface;
+import android.content.DialogInterface.OnCancelListener;
+import android.content.DialogInterface.OnClickListener;
+import android.os.Bundle;
+import android.os.Handler;
+import android.os.PowerManager;
+import android.syncml.pim.VBuilder;
+import android.syncml.pim.VBuilderCollection;
+import android.syncml.pim.VParser;
+import android.syncml.pim.vcard.VCardDataBuilder;
+import android.syncml.pim.vcard.VCardEntryCounter;
+import android.syncml.pim.vcard.VCardException;
+import android.syncml.pim.vcard.VCardNestedException;
+import android.syncml.pim.vcard.VCardParser_V21;
+import android.syncml.pim.vcard.VCardParser_V30;
+import android.syncml.pim.vcard.VCardSourceDetector;
+import android.syncml.pim.vcard.VCardVersionException;
+import android.text.SpannableStringBuilder;
+import android.text.Spanned;
+import android.text.style.RelativeSizeSpan;
+import android.util.Log;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.Arrays;
+import java.util.Date;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+import java.util.Vector;
+
+class VCardFile {
+    private String mName;
+    private String mCanonicalPath;
+    private long mLastModified;
+
+    public VCardFile(String name, String canonicalPath, long lastModified) {
+        mName = name;
+        mCanonicalPath = canonicalPath;
+        mLastModified = lastModified;
+    }
+
+    public String getName() {
+        return mName;
+    }
+
+    public String getCanonicalPath() {
+        return mCanonicalPath;
+    }
+
+    public long getLastModified() {
+        return mLastModified;
+    }
+}
+
+/**
+ * Class for importing vCard. Several user interaction will be required while reading
+ * (selecting a file, waiting a moment, etc.)
+ */
+public class ImportVCardActivity extends Activity {
+    private static final String LOG_TAG = "ImportVCardActivity";
+    private static final boolean DO_PERFORMANCE_PROFILE = false;
+
+    private ProgressDialog mProgressDialog;
+    private Handler mHandler = new Handler();
+    private boolean mLastNameComesBeforeFirstName;
+
+    private class CancelListener
+        implements DialogInterface.OnClickListener, DialogInterface.OnCancelListener {
+        public void onClick(DialogInterface dialog, int which) {
+            finish();
+        }
+
+        public void onCancel(DialogInterface dialog) {
+            finish();
+        }
+    }
+
+    private CancelListener mCancelListener = new CancelListener();
+
+    private class ErrorDisplayer implements Runnable {
+        private String mErrorMessage;
+
+        public ErrorDisplayer(String errorMessage) {
+            mErrorMessage = errorMessage;
+        }
+
+        public void run() {
+            String message =
+                getString(R.string.reading_vcard_failed_message, mErrorMessage);
+            AlertDialog.Builder builder =
+                new AlertDialog.Builder(ImportVCardActivity.this)
+                    .setTitle(getString(R.string.reading_vcard_failed_title))
+                    .setIcon(android.R.drawable.ic_dialog_alert)
+                    .setMessage(message)
+                    .setOnCancelListener(mCancelListener)
+                    .setPositiveButton(android.R.string.ok, mCancelListener);
+            builder.show();
+        }
+    }
+
+    private class VCardReadThread extends Thread
+            implements DialogInterface.OnCancelListener {
+        private String mCanonicalPath;
+        private List<VCardFile> mVCardFileList;
+        private ContentResolver mResolver;
+        private VCardParser_V21 mVCardParser;
+        private boolean mCanceled;
+        private PowerManager.WakeLock mWakeLock;
+
+        public VCardReadThread(String canonicalPath) {
+            mCanonicalPath = canonicalPath;
+            mVCardFileList = null;
+            init();
+        }
+
+        public VCardReadThread(List<VCardFile> vcardFileList) {
+            mCanonicalPath = null;
+            mVCardFileList = vcardFileList;
+            init();
+        }
+
+        private void init() {
+            Context context = ImportVCardActivity.this;
+            mResolver = context.getContentResolver();
+            PowerManager powerManager = (PowerManager)context.getSystemService(
+                    Context.POWER_SERVICE);
+            mWakeLock = powerManager.newWakeLock(
+                    PowerManager.SCREEN_DIM_WAKE_LOCK |
+                    PowerManager.ON_AFTER_RELEASE, LOG_TAG);
+        }
+
+        @Override
+        public void finalize() {
+            if (mWakeLock != null && mWakeLock.isHeld()) {
+                mWakeLock.release();
+            }
+        }
+
+        @Override
+        public void run() {
+            mWakeLock.acquire();
+            // Some malicious vCard data may make this thread broken
+            // (e.g. OutOfMemoryError).
+            // Even in such cases, some should be done.
+            try {
+                if (mCanonicalPath != null) {
+                    mProgressDialog.setProgressNumberFormat("");
+                    mProgressDialog.setProgress(0);
+
+                    // Count the number of VCard entries
+                    mProgressDialog.setIndeterminate(true);
+                    long start;
+                    if (DO_PERFORMANCE_PROFILE) {
+                        start = System.currentTimeMillis();
+                    }
+                    VCardEntryCounter counter = new VCardEntryCounter();
+                    VCardSourceDetector detector = new VCardSourceDetector();
+                    VBuilderCollection builderCollection = new VBuilderCollection(
+                            Arrays.asList(counter, detector));
+                    boolean result;
+                    try {
+                        result = readOneVCard(mCanonicalPath,
+                                VParser.DEFAULT_CHARSET, builderCollection, null, true);
+                    } catch (VCardNestedException e) {
+                        try {
+                            // Assume that VCardSourceDetector was able to detect the source.
+                            // Try again with the detector.
+                            result = readOneVCard(mCanonicalPath,
+                                    VParser.DEFAULT_CHARSET, counter, detector, false);
+                        } catch (VCardNestedException e2) {
+                            result = false;
+                            Log.e(LOG_TAG, "Must not reach here. " + e2);
+                        }
+                    }
+                    if (DO_PERFORMANCE_PROFILE) {
+                        long time = System.currentTimeMillis() - start;
+                        Log.d(LOG_TAG, "time for counting the number of vCard entries: " +
+                                time + " ms");
+                    }
+                    if (!result) {
+                        return;
+                    }
+
+                    mProgressDialog.setProgressNumberFormat(
+                            getString(R.string.reading_vcard_contacts));
+                    mProgressDialog.setIndeterminate(false);
+                    mProgressDialog.setMax(counter.getCount());
+                    String charset = detector.getEstimatedCharset();
+                    doActuallyReadOneVCard(charset, true, detector);
+                } else {
+                    mProgressDialog.setProgressNumberFormat(
+                            getString(R.string.reading_vcard_files));
+                    mProgressDialog.setMax(mVCardFileList.size());
+                    mProgressDialog.setProgress(0);
+                    for (VCardFile vcardFile : mVCardFileList) {
+                        if (mCanceled) {
+                            return;
+                        }
+                        String canonicalPath = vcardFile.getCanonicalPath();
+
+                        VCardSourceDetector detector = new VCardSourceDetector();
+                        try {
+                            if (!readOneVCard(canonicalPath, VParser.DEFAULT_CHARSET, detector,
+                                    null, true)) {
+                                continue;
+                            }
+                        } catch (VCardNestedException e) {
+                            // Assume that VCardSourceDetector was able to detect the source.
+                        }
+                        String charset = detector.getEstimatedCharset();
+                        doActuallyReadOneVCard(charset, false, detector);
+                        mProgressDialog.incrementProgressBy(1);
+                    }
+                }
+            } finally {
+                mWakeLock.release();
+                mProgressDialog.dismiss();
+                finish();
+            }
+        }
+
+        private void doActuallyReadOneVCard(String charset, boolean doIncrementProgress,
+                VCardSourceDetector detector) {
+            VCardDataBuilder builder;
+            final Context context = ImportVCardActivity.this;
+            if (charset != null) {
+                builder = new VCardDataBuilder(mResolver,
+                        mProgressDialog,
+                        context.getString(R.string.reading_vcard_message),
+                        mHandler,
+                        charset,
+                        charset,
+                        false,
+                        mLastNameComesBeforeFirstName);
+            } else {
+                builder = new VCardDataBuilder(mResolver,
+                        mProgressDialog,
+                        context.getString(R.string.reading_vcard_message),
+                        mHandler,
+                        null,
+                        null,
+                        false,
+                        mLastNameComesBeforeFirstName);
+                charset = VParser.DEFAULT_CHARSET;
+            }
+            if (doIncrementProgress) {
+                builder.setOnProgressRunnable(new Runnable() {
+                    public void run() {
+                        mProgressDialog.incrementProgressBy(1);
+                    }
+                });
+            }
+            try {
+                readOneVCard(mCanonicalPath, charset, builder, detector, false);
+            } catch (VCardNestedException e) {
+                Log.e(LOG_TAG, "Must not reach here.");
+            }
+            builder.showDebugInfo();
+        }
+
+        private boolean readOneVCard(String canonicalPath, String charset, VBuilder builder,
+                VCardSourceDetector detector, boolean throwNestedException)
+                throws VCardNestedException {
+            FileInputStream is;
+            try {
+                is = new FileInputStream(canonicalPath);
+                mVCardParser = new VCardParser_V21(detector);
+
+                try {
+                    mVCardParser.parse(is, charset, builder, mCanceled);
+                } catch (VCardVersionException e1) {
+                    try {
+                        is.close();
+                    } catch (IOException e) {
+                    }
+                    is = new FileInputStream(canonicalPath);
+
+                    try {
+                        mVCardParser = new VCardParser_V30();
+                        mVCardParser.parse(is, charset, builder, mCanceled);
+                    } catch (VCardVersionException e2) {
+                        throw new VCardException("vCard with unspported version.");
+                    }
+                } finally {
+                    if (is != null) {
+                        try {
+                            is.close();
+                        } catch (IOException e) {
+                        }
+                    }
+                }
+                mVCardParser.showDebugInfo();
+            } catch (IOException e) {
+                Log.e(LOG_TAG, "IOException was emitted: " + e);
+
+                mProgressDialog.dismiss();
+
+                mHandler.post(new ErrorDisplayer(
+                        getString(R.string.fail_reason_io_error) +
+                        " (" + e.getMessage() + ")"));
+                return false;
+            } catch (VCardNestedException e) {
+                if (throwNestedException) {
+                    throw e;
+                } else {
+                    Log.e(LOG_TAG, "VCardNestedException was emitted: " + e);
+                    mHandler.post(new ErrorDisplayer(
+                            getString(R.string.fail_reason_vcard_parse_error) +
+                            " (" + e.getMessage() + ")"));
+                    return false;
+                }
+            } catch (VCardException e) {
+                Log.e(LOG_TAG, "VCardException was emitted: " + e);
+
+                mHandler.post(new ErrorDisplayer(
+                        getString(R.string.fail_reason_vcard_parse_error) +
+                        " (" + e.getMessage() + ")"));
+                return false;
+            }
+            return true;
+        }
+
+        public void onCancel(DialogInterface dialog) {
+            mCanceled = true;
+            if (mVCardParser != null) {
+                mVCardParser.cancel();
+            }
+        }
+    }
+
+    private class ImportTypeSelectedListener implements
+            DialogInterface.OnClickListener {
+        public static final int IMPORT_ALL = 0;
+        public static final int IMPORT_ONE = 1;
+
+        private List<VCardFile> mVCardFileList;
+        private int mCurrentIndex;
+
+        public ImportTypeSelectedListener(List<VCardFile> vcardFileList) {
+            mVCardFileList = vcardFileList;
+        }
+
+        public void onClick(DialogInterface dialog, int which) {
+            if (which == DialogInterface.BUTTON_POSITIVE) {
+                if (mCurrentIndex == IMPORT_ALL) {
+                    importAllVCardFromSDCard(mVCardFileList);
+                } else {
+                    showVCardFileSelectDialog(mVCardFileList);
+                }
+            } else if (which == DialogInterface.BUTTON_NEGATIVE) {
+                finish();
+            } else {
+                mCurrentIndex = which;
+            }
+        }
+    }
+
+    private class VCardSelectedListener implements DialogInterface.OnClickListener {
+        private List<VCardFile> mVCardFileList;
+        private int mCurrentIndex;
+
+        public VCardSelectedListener(List<VCardFile> vcardFileList) {
+            mVCardFileList = vcardFileList;
+            mCurrentIndex = 0;
+        }
+
+        public void onClick(DialogInterface dialog, int which) {
+            if (which == DialogInterface.BUTTON_POSITIVE) {
+                importOneVCardFromSDCard(mVCardFileList.get(mCurrentIndex).getCanonicalPath());
+            } else if (which == DialogInterface.BUTTON_NEGATIVE) {
+                finish();
+            } else {
+                // Some file is selected.
+                mCurrentIndex = which;
+            }
+        }
+    }
+
+    /**
+     * Thread scanning VCard from SDCard. After scanning, the dialog which lets a user select
+     * a vCard file is shown. After the choice, VCardReadThread starts running.
+     */
+    private class VCardScanThread extends Thread implements OnCancelListener, OnClickListener {
+        private boolean mCanceled;
+        private boolean mGotIOException;
+        private File mRootDirectory;
+
+        // null when search operation is canceled.
+        private List<VCardFile> mVCardFiles;
+
+        // To avoid recursive link.
+        private Set<String> mCheckedPaths;
+        private PowerManager.WakeLock mWakeLock;
+
+        private class CanceledException extends Exception {
+        }
+
+        public VCardScanThread(File sdcardDirectory) {
+            mCanceled = false;
+            mGotIOException = false;
+            mRootDirectory = sdcardDirectory;
+            mCheckedPaths = new HashSet<String>();
+            mVCardFiles = new Vector<VCardFile>();
+            PowerManager powerManager = (PowerManager)ImportVCardActivity.this.getSystemService(
+                    Context.POWER_SERVICE);
+            mWakeLock = powerManager.newWakeLock(
+                    PowerManager.SCREEN_DIM_WAKE_LOCK |
+                    PowerManager.ON_AFTER_RELEASE, LOG_TAG);
+        }
+
+        @Override
+        public void run() {
+            try {
+                mWakeLock.acquire();
+                getVCardFileRecursively(mRootDirectory);
+            } catch (CanceledException e) {
+                mCanceled = true;
+            } catch (IOException e) {
+                mGotIOException = true;
+            } finally {
+                mWakeLock.release();
+            }
+
+            if (mCanceled) {
+                mVCardFiles = null;
+            }
+
+            mProgressDialog.dismiss();
+
+            if (mGotIOException) {
+                mHandler.post(new Runnable() {
+                    public void run() {
+                        String message = (getString(R.string.scanning_sdcard_failed_message,
+                                getString(R.string.fail_reason_io_error)));
+
+                        AlertDialog.Builder builder =
+                            new AlertDialog.Builder(ImportVCardActivity.this)
+                                .setTitle(R.string.scanning_sdcard_failed_title)
+                                .setIcon(android.R.drawable.ic_dialog_alert)
+                                .setMessage(message)
+                                .setOnCancelListener(mCancelListener)
+                                .setPositiveButton(android.R.string.ok, mCancelListener);
+                        builder.show();
+                    }
+                });
+            } else if (mCanceled) {
+                finish();
+            } else {
+                mHandler.post(new Runnable() {
+                    public void run() {
+                        int size = mVCardFiles.size();
+                        final Context context = ImportVCardActivity.this;
+                        if (size == 0) {
+                            String message = (getString(R.string.scanning_sdcard_failed_message,
+                                    getString(R.string.fail_reason_no_vcard_file)));
+
+                            AlertDialog.Builder builder =
+                                new AlertDialog.Builder(context)
+                                    .setTitle(R.string.scanning_sdcard_failed_title)
+                                    .setMessage(message)
+                                    .setOnCancelListener(mCancelListener)
+                                    .setPositiveButton(android.R.string.ok, mCancelListener);
+                            builder.show();
+                            return;
+                        } else if (context.getResources().getBoolean(
+                                R.bool.config_import_all_vcard_from_sdcard_automatically)) {
+                            importAllVCardFromSDCard(mVCardFiles);
+                        } else if (size == 1) {
+                            importOneVCardFromSDCard(mVCardFiles.get(0).getCanonicalPath());
+                        } else if (context.getResources().getBoolean(
+                                R.bool.config_allow_users_select_all_vcard_import)) {
+                            showSelectImportTypeDialog(mVCardFiles);
+                        } else {
+                            showVCardFileSelectDialog(mVCardFiles);
+                        }
+                    }
+                });
+            }
+        }
+
+        private void getVCardFileRecursively(File directory)
+                throws CanceledException, IOException {
+            if (mCanceled) {
+                throw new CanceledException();
+            }
+
+            for (File file : directory.listFiles()) {
+                if (mCanceled) {
+                    throw new CanceledException();
+                }
+                String canonicalPath = file.getCanonicalPath();
+                if (mCheckedPaths.contains(canonicalPath)) {
+                    continue;
+                }
+
+                mCheckedPaths.add(canonicalPath);
+
+                if (file.isDirectory()) {
+                    getVCardFileRecursively(file);
+                } else if (canonicalPath.toLowerCase().endsWith(".vcf") &&
+                        file.canRead()){
+                    String fileName = file.getName();
+                    VCardFile vcardFile = new VCardFile(
+                            fileName, canonicalPath, file.lastModified());
+                    mVCardFiles.add(vcardFile);
+                }
+            }
+        }
+
+        public void onCancel(DialogInterface dialog) {
+            mCanceled = true;
+        }
+
+        public void onClick(DialogInterface dialog, int which) {
+            if (which == DialogInterface.BUTTON_NEGATIVE) {
+                mCanceled = true;
+            }
+        }
+    }
+
+    
+    private void importOneVCardFromSDCard(String canonicalPath) {
+        VCardReadThread thread = new VCardReadThread(canonicalPath);
+        showReadingVCardDialog(thread);
+        thread.start();
+    }
+
+    private void importAllVCardFromSDCard(List<VCardFile> vcardFileList) {
+        VCardReadThread thread = new VCardReadThread(vcardFileList);
+        showReadingVCardDialog(thread);
+        thread.start();
+    }
+
+    private void showSelectImportTypeDialog(List<VCardFile> vcardFileList) {
+        DialogInterface.OnClickListener listener =
+            new ImportTypeSelectedListener(vcardFileList);
+        AlertDialog.Builder builder =
+            new AlertDialog.Builder(ImportVCardActivity.this)
+                .setTitle(R.string.select_vcard_title)
+                .setPositiveButton(android.R.string.ok, listener)
+                .setOnCancelListener(mCancelListener)
+                .setNegativeButton(android.R.string.cancel, mCancelListener);
+
+        String[] items = new String[2];
+        items[ImportTypeSelectedListener.IMPORT_ALL] =
+            getString(R.string.import_all_vcard_string);
+        items[ImportTypeSelectedListener.IMPORT_ONE] =
+            getString(R.string.import_one_vcard_string);
+        builder.setSingleChoiceItems(items,
+                ImportTypeSelectedListener.IMPORT_ALL, listener);
+        builder.show();
+    }
+
+    private void showVCardFileSelectDialog(List<VCardFile> vcardFileList) {
+        int size = vcardFileList.size();
+        DialogInterface.OnClickListener listener =
+            new VCardSelectedListener(vcardFileList);
+        AlertDialog.Builder builder =
+            new AlertDialog.Builder(this)
+                .setTitle(R.string.select_vcard_title)
+                .setPositiveButton(android.R.string.ok, listener)
+                .setOnCancelListener(mCancelListener)
+                .setNegativeButton(android.R.string.cancel, mCancelListener);
+
+        CharSequence[] items = new CharSequence[size];
+        DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        for (int i = 0; i < size; i++) {
+            VCardFile vcardFile = vcardFileList.get(i);
+            SpannableStringBuilder stringBuilder = new SpannableStringBuilder();
+            stringBuilder.append(vcardFile.getName());
+            stringBuilder.append('\n');
+            int indexToBeSpanned = stringBuilder.length();
+            // Smaller date text looks better, since each file name becomes easier to read.
+            // The value set to RelativeSizeSpan is arbitrary. You can change it to any other
+            // value (but the value bigger than 1.0f would not make nice appearance :)
+            stringBuilder.append(
+                        "(" + dateFormat.format(new Date(vcardFile.getLastModified())) + ")");
+            stringBuilder.setSpan(
+                    new RelativeSizeSpan(0.7f), indexToBeSpanned, stringBuilder.length(),
+                    Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
+            items[i] = stringBuilder;
+        }
+        builder.setSingleChoiceItems(items, 0, listener);
+        builder.show();
+    }
+
+    private void showReadingVCardDialog(DialogInterface.OnCancelListener listener) {
+        String title = getString(R.string.reading_vcard_title);
+        String message = getString(R.string.reading_vcard_message);
+        mProgressDialog = new ProgressDialog(this);
+        mProgressDialog.setTitle(title);
+        mProgressDialog.setMessage(message);
+        mProgressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
+        mProgressDialog.setOnCancelListener(listener);
+        mProgressDialog.show();
+    }
+
+    @Override
+    protected void onCreate(Bundle bundle) {
+        super.onCreate(bundle);
+
+        mLastNameComesBeforeFirstName = getResources().getBoolean(
+                com.android.internal.R.bool.config_lastname_comes_before_firstname);
+
+        startImportVCardFromSdCard();
+    }
+
+    /**
+     * Tries to start importing VCard. If there's no SDCard available,
+     * an error dialog is shown. If there is, start scanning using another thread
+     * and shows a progress dialog. Several interactions will occur.
+     * This method should be called from a thread with a looper (like Activity).
+     */
+    public void startImportVCardFromSdCard() {
+        File file = new File("/sdcard");
+        if (!file.exists() || !file.isDirectory() || !file.canRead()) {
+            new AlertDialog.Builder(this)
+                    .setTitle(R.string.no_sdcard_title)
+                    .setIcon(android.R.drawable.ic_dialog_alert)
+                    .setMessage(R.string.no_sdcard_message)
+                    .setOnCancelListener(mCancelListener)
+                    .setPositiveButton(android.R.string.ok, mCancelListener)
+                    .show();
+        } else {
+            String title = getString(R.string.searching_vcard_title);
+            String message = getString(R.string.searching_vcard_message);
+
+            mProgressDialog = ProgressDialog.show(this, title, message, true, false);
+            VCardScanThread thread = new VCardScanThread(file);
+            mProgressDialog.setOnCancelListener(thread);
+            thread.start();
+        }
+    }
+}
diff --git a/src/com/android/contacts/RecentCallsListActivity.java b/src/com/android/contacts/RecentCallsListActivity.java
index 6abaf23..2436e0b 100644
--- a/src/com/android/contacts/RecentCallsListActivity.java
+++ b/src/com/android/contacts/RecentCallsListActivity.java
@@ -336,7 +336,7 @@
                     phonesCursor.close();
                 }
             }
-            if (info != null) {
+            if (info != null && info != ContactInfo.EMPTY) {
                 updateCallLog(ciq, info);
             }
         }
diff --git a/src/com/android/contacts/ShowOrCreateActivity.java b/src/com/android/contacts/ShowOrCreateActivity.java
index 0732ffe..75af4ae 100755
--- a/src/com/android/contacts/ShowOrCreateActivity.java
+++ b/src/com/android/contacts/ShowOrCreateActivity.java
@@ -41,6 +41,7 @@
  * connected with a specific E-mail address or phone number. Will search based
  * on incoming {@link Intent#getData()} as described by
  * {@link Intents#SHOW_OR_CREATE_CONTACT}.
+ *
  * <ul>
  * <li>If no matching contacts found, will prompt user with dialog to add to a
  * contact, then will use {@link Intent#ACTION_INSERT_OR_EDIT} to let create new
diff --git a/src/com/android/contacts/SpecialCharSequenceMgr.java b/src/com/android/contacts/SpecialCharSequenceMgr.java
index 38bc93d..3f2c304 100644
--- a/src/com/android/contacts/SpecialCharSequenceMgr.java
+++ b/src/com/android/contacts/SpecialCharSequenceMgr.java
@@ -154,7 +154,7 @@
                 sc.progressDialog.show();
 
                 // run the query.
-                handler.startQuery(ADN_QUERY_TOKEN, sc, Uri.parse("content://sim/adn"),
+                handler.startQuery(ADN_QUERY_TOKEN, sc, Uri.parse("content://icc/adn"),
                         new String[]{ADN_PHONE_NUMBER_COLUMN_NAME}, null, null, null);
                 return true;
             } catch (NumberFormatException ex) {
@@ -179,8 +179,23 @@
 
     static boolean handleIMEIDisplay(Context context, String input, boolean useSystemWindow) {
         if (input.equals(MMI_IMEI_DISPLAY)) {
-            showIMEIPanel(context, useSystemWindow);
-            return true;
+            int networkType = ((TelephonyManager)context.getSystemService(
+                    Context.TELEPHONY_SERVICE)).getNetworkType();
+
+            if (networkType == TelephonyManager.NETWORK_TYPE_GPRS ||
+                    networkType == TelephonyManager.NETWORK_TYPE_EDGE ||
+                    networkType == TelephonyManager.NETWORK_TYPE_UMTS) {
+
+                showIMEIPanel(context, useSystemWindow);
+                return true;
+            } else if (networkType == TelephonyManager.NETWORK_TYPE_CDMA ||
+                         networkType == TelephonyManager.NETWORK_TYPE_EVDO_0 ||
+                         networkType == TelephonyManager.NETWORK_TYPE_EVDO_A ||
+                         networkType == TelephonyManager.NETWORK_TYPE_1xRTT) {
+
+                showMEIDPanel(context, useSystemWindow);
+                return true;
+            }
         }
 
         return false;
@@ -199,6 +214,19 @@
         alert.getWindow().setType(WindowManager.LayoutParams.TYPE_PRIORITY_PHONE);
     }
 
+    static void showMEIDPanel(Context context, boolean useSystemWindow) {
+        String meidStr = ((TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE))
+                .getDeviceId();
+
+        AlertDialog alert = new AlertDialog.Builder(context)
+                .setTitle(R.string.meid)
+                .setMessage(meidStr)
+                .setPositiveButton(android.R.string.ok, null)
+                .setCancelable(false)
+                .show();
+        alert.getWindow().setType(WindowManager.LayoutParams.TYPE_PRIORITY_PHONE);
+    }
+
     /*******
      * This code is used to handle SIM Contact queries
      *******/
diff --git a/src/com/android/contacts/TwelveKeyDialer.java b/src/com/android/contacts/TwelveKeyDialer.java
index ea157fc..152ff30 100644
--- a/src/com/android/contacts/TwelveKeyDialer.java
+++ b/src/com/android/contacts/TwelveKeyDialer.java
@@ -688,8 +688,12 @@
     };
 
     /**
-     * Play a tone for TONE_LENGTH_MS milliseconds.
-     * 
+     * Plays the specified tone for TONE_LENGTH_MS milliseconds.
+     *
+     * The tone is played locally, using the audio stream for phone calls.
+     * Tones are played only if the "Audible touch tones" user preference
+     * is checked, and are NOT played if the device is in silent mode.
+     *
      * @param tone a tone code from {@link ToneGenerator}
      */
     void playTone(int tone) {
@@ -697,7 +701,17 @@
         if (!mDTMFToneEnabled) {
             return;
         }
- 
+
+        // Also do nothing if the phone is in silent mode.
+        // We need to re-check the ringer mode for *every* playTone()
+        // call, rather than keeping a local flag that's updated in
+        // onResume(), since it's possible to toggle silent mode without
+        // leaving the current activity (via the ENDCALL-longpress menu.)
+        AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
+        if (audioManager.getRingerMode() == AudioManager.RINGER_MODE_SILENT) {
+            return;
+        }
+
         synchronized(mToneGeneratorLock) {
             if (mToneGenerator == null) {
                 Log.w(TAG, "playTone: mToneGenerator == null, tone: "+tone);
diff --git a/src/com/android/contacts/ViewContactActivity.java b/src/com/android/contacts/ViewContactActivity.java
index 28a82b4..e5afdc2 100644
--- a/src/com/android/contacts/ViewContactActivity.java
+++ b/src/com/android/contacts/ViewContactActivity.java
@@ -73,6 +73,8 @@
 import android.provider.Contacts;
 import android.provider.Im;
 import android.provider.Contacts.ContactMethods;
+import android.provider.Contacts.Groups;
+import android.provider.Contacts.GroupMembership;
 import android.provider.Contacts.Organizations;
 import android.provider.Contacts.People;
 import android.provider.Contacts.Phones;
@@ -136,6 +138,7 @@
     /* package */ ArrayList<ViewEntry> mPostalEntries = new ArrayList<ViewEntry>();
     /* package */ ArrayList<ViewEntry> mImEntries = new ArrayList<ViewEntry>();
     /* package */ ArrayList<ViewEntry> mOrganizationEntries = new ArrayList<ViewEntry>();
+    /* package */ ArrayList<ViewEntry> mGroupEntries = new ArrayList<ViewEntry>();
     /* package */ ArrayList<ViewEntry> mOtherEntries = new ArrayList<ViewEntry>();
     /* package */ ArrayList<ArrayList<ViewEntry>> mSections = new ArrayList<ArrayList<ViewEntry>>();
 
@@ -229,6 +232,7 @@
         mSections.add(mImEntries);
         mSections.add(mPostalEntries);
         mSections.add(mOrganizationEntries);
+        mSections.add(mGroupEntries);
         mSections.add(mOtherEntries);
 
         //TODO Read this value from a preference
@@ -395,6 +399,11 @@
                 menu.add(0, 0, 0, R.string.menu_viewAddress).setIntent(entry.intent);
                 break;
             }
+            
+            case ContactEntryAdapter.Entry.KIND_GROUP: {
+                menu.add(0, 0, 0, R.string.menu_viewGroup).setIntent(entry.intent);
+                break;
+            }
         }
     }
 
@@ -579,6 +588,11 @@
 
         separator = new ViewEntry();
         separator.kind = ViewEntry.KIND_SEPARATOR;
+        separator.data = getString(R.string.listSeparatorGroups);
+        mGroupEntries.add(separator);
+
+        separator = new ViewEntry();
+        separator.kind = ViewEntry.KIND_SEPARATOR;
         separator.data = getString(R.string.listSeparatorOtherInformation);
         mOtherEntries.add(separator);
     }
@@ -716,7 +730,7 @@
                     case Contacts.KIND_IM: {
                         Object protocolObj = ContactMethods.decodeImProtocol(
                                 methodsCursor.getString(METHODS_AUX_DATA_COLUMN));
-                        String host;
+                        String host = null;
                         if (protocolObj instanceof Number) {
                             int protocol = ((Number) protocolObj).intValue();
                             entry.label = buildActionString(R.string.actionChat,
@@ -726,7 +740,7 @@
                                     || protocol == ContactMethods.PROTOCOL_MSN) {
                                 entry.maxLabelLines = 2;
                             }
-                        } else {
+                        } else if (protocolObj != null) {
                             String providerName = (String) protocolObj;
                             entry.label = buildActionString(R.string.actionChat,
                                     providerName, false);
@@ -848,7 +862,6 @@
             organizationsCursor.close();
         }
 
-
         // Build the other entries
         String note = personCursor.getString(CONTACT_NOTES_COLUMN);
         if (!TextUtils.isEmpty(note)) {
@@ -863,7 +876,49 @@
             entry.actionIcon = R.drawable.sym_note;
             mOtherEntries.add(entry);
         }
-        
+
+        // Build the group entries
+        final Uri groupsUri = Uri.withAppendedPath(mUri, GroupMembership.CONTENT_DIRECTORY);
+        Cursor groupCursor = mResolver.query(groupsUri, ContactsListActivity.GROUPS_PROJECTION,
+                null, null, Groups.DEFAULT_SORT_ORDER);
+        if (groupCursor != null) {
+            try {
+                StringBuilder sb = new StringBuilder();
+
+                while (groupCursor.moveToNext()) {
+                    String systemId = groupCursor.getString(
+                            ContactsListActivity.GROUPS_COLUMN_INDEX_SYSTEM_ID);
+
+                    if (systemId != null || Groups.GROUP_MY_CONTACTS.equals(systemId)) {
+                        continue;
+                    }
+
+                    String name = groupCursor.getString(ContactsListActivity.GROUPS_COLUMN_INDEX_NAME);
+                    if (!TextUtils.isEmpty(name)) {
+                        if (sb.length() == 0) {
+                            sb.append(name);
+                        } else {
+                            sb.append(getString(R.string.group_list, name));
+                        }
+                    }
+                }
+
+                if (sb.length() > 0) {
+                    ViewEntry entry = new ViewEntry();
+                    entry.kind = ContactEntryAdapter.Entry.KIND_GROUP;
+                    entry.label = getString(R.string.label_groups);
+                    entry.data = sb.toString();
+                    entry.intent = new Intent(Intent.ACTION_EDIT, mUri);
+
+                    // TODO: Add an icon for the groups item.
+
+                    mGroupEntries.add(entry);
+                }
+            } finally {
+                groupCursor.close();
+            }
+        }
+
         // Build the ringtone entry
         String ringtoneStr = personCursor.getString(CONTACT_CUSTOM_RINGTONE_COLUMN);
         if (!TextUtils.isEmpty(ringtoneStr)) {
