diff --git a/Android.mk b/Android.mk
index 2632f47..804072e 100644
--- a/Android.mk
+++ b/Android.mk
@@ -5,7 +5,8 @@
 
 LOCAL_SRC_FILES := $(call all-java-files-under, src)
 
-LOCAL_STATIC_JAVA_LIBRARIES := googlelogin-client
+LOCAL_STATIC_JAVA_LIBRARIES := googlelogin-client \
+                               com.android.phone.common
 
 LOCAL_PACKAGE_NAME := Contacts
 LOCAL_CERTIFICATE := shared
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 9d6ff4b..a4ec373 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -342,7 +342,6 @@
         <!-- Edit or insert details for a contact -->
         <activity
             android:name=".ui.EditContactActivity"
-            android:label="@string/editContactDescription"
             android:windowSoftInputMode="stateHidden|adjustResize">
 
             <intent-filter android:label="@string/editContactDescription">
diff --git a/res/drawable/ic_launcher_folder_live_contacts.png b/res/drawable/ic_launcher_folder_live_contacts.png
deleted file mode 100644
index 5e222ec..0000000
--- a/res/drawable/ic_launcher_folder_live_contacts.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable/ic_launcher_folder_live_contacts_phone.png b/res/drawable/ic_launcher_folder_live_contacts_phone.png
deleted file mode 100644
index 02637da..0000000
--- a/res/drawable/ic_launcher_folder_live_contacts_phone.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable/ic_launcher_folder_live_contacts_starred.png b/res/drawable/ic_launcher_folder_live_contacts_starred.png
deleted file mode 100644
index 927b343..0000000
--- a/res/drawable/ic_launcher_folder_live_contacts_starred.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable/ic_launcher_phone.png b/res/drawable/ic_launcher_phone.png
deleted file mode 100644
index 4e613ec..0000000
--- a/res/drawable/ic_launcher_phone.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable/ic_launcher_shortcut_contact.png b/res/drawable/ic_launcher_shortcut_contact.png
deleted file mode 100644
index ed7025c..0000000
--- a/res/drawable/ic_launcher_shortcut_contact.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable/quickcontact.9.png b/res/drawable/quickcontact.9.png
deleted file mode 100644
index fa0b917..0000000
--- a/res/drawable/quickcontact.9.png
+++ /dev/null
Binary files differ
diff --git a/res/layout-finger/dialpad.xml b/res/layout-finger/dialpad.xml
index 1eb653d..2c14877 100644
--- a/res/layout-finger/dialpad.xml
+++ b/res/layout-finger/dialpad.xml
@@ -17,7 +17,7 @@
 <!-- Dialpad in the Contact app.
  -->
 
-<com.android.contacts.ButtonGridLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<com.android.phone.ButtonGridLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@+id/dialpad"
     android:paddingLeft="7dp"
     android:paddingRight="7dp"
@@ -135,4 +135,4 @@
             android:soundEffectsEnabled="false"
             android:contentDescription="@string/description_image_button_pound"
         />
-</com.android.contacts.ButtonGridLayout>
+</com.android.phone.ButtonGridLayout>
diff --git a/res/layout-finger/list_separator.xml b/res/layout-finger/list_separator.xml
index 2ab4859..1257935 100644
--- a/res/layout-finger/list_separator.xml
+++ b/res/layout-finger/list_separator.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.
@@ -18,5 +18,5 @@
 <TextView xmlns:android="http://schemas.android.com/apk/res/android"
     style="?android:attr/listSeparatorTextViewStyle"
     android:textColor="@*android:color/dim_foreground_dark"
-    android:gravity="center_horizontal"
+    android:gravity="left|center_vertical"
 />
diff --git a/res/layout-long-finger/dialpad.xml b/res/layout-long-finger/dialpad.xml
index 9fea6d2..066392d 100644
--- a/res/layout-long-finger/dialpad.xml
+++ b/res/layout-long-finger/dialpad.xml
@@ -18,7 +18,7 @@
      Tall screen version with taller buttons.
  -->
 
-<com.android.contacts.ButtonGridLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<com.android.phone.ButtonGridLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@+id/dialpad"
     android:paddingLeft="7dp"
     android:paddingRight="7dp"
@@ -136,4 +136,4 @@
             android:soundEffectsEnabled="false"
             android:contentDescription="@string/description_image_button_pound"
         />
-</com.android.contacts.ButtonGridLayout>
+</com.android.phone.ButtonGridLayout>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index ca39832..0cdb86d 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -69,7 +69,7 @@
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"Smazáním tohoto kontaktu smažete informace z více účtů."</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"Tento kontakt bude smazán."</string>
     <string name="menu_done" msgid="796017761764190697">"Hotovo"</string>
-    <string name="menu_doNotSave" msgid="2174577548513895144">"Vrátit zpět"</string>
+    <string name="menu_doNotSave" msgid="2174577548513895144">"Vrátit"</string>
     <string name="editContact_title_edit" msgid="7678695190666836093">"Upravit kontakt"</string>
     <string name="editContact_title_insert" msgid="9125600232291405757">"Nový kontakt"</string>
     <string name="menu_addItem" msgid="6106836852570790250">"Další informace"</string>
@@ -109,7 +109,7 @@
     <string name="displayGroups" msgid="2278964020773993336">"Možnosti zobrazení"</string>
     <string name="syncGroupPreference" msgid="9028361137161162861">"Upravit synchronizaci"</string>
     <string name="importFromSim" msgid="8383900146531125319">"Importovat kontakty"</string>
-    <string name="send_to_voicemail_checkbox" msgid="9001686764070676353">"Přesměrovat hovory přímo do hlasové schránky"</string>
+    <string name="send_to_voicemail_checkbox" msgid="9001686764070676353">"Odesílat hovory přímo do hlasové pošty"</string>
     <string name="send_to_voicemail_view" msgid="9124400414311776864">"Hovory jsou přesměrovány přímo do hlasové schránky."</string>
     <string name="default_ringtone" msgid="9099988849649827972">"Výchozí"</string>
     <string name="addPicture" msgid="1594679312161537678">"Přidat ikonu"</string>
@@ -122,7 +122,7 @@
     <string name="select_group_title" msgid="7955698611959835612">"Skupiny"</string>
     <string name="groupEmpty" msgid="6661950109828194595">"Skupina <xliff:g id="GROUPNAME">%s</xliff:g> je prázdná."</string>
     <string name="showAllGroups" msgid="5164410117611094297">"Všechny kontakty"</string>
-    <string name="showFilterPhones" msgid="4184858075465653970">"Pouze kontakty s telefony"</string>
+    <string name="showFilterPhones" msgid="4184858075465653970">"Pouze kontakty s telefonními čísly"</string>
     <string name="showFilterPhonesDescrip" msgid="6644443248815191067">"Zobrazit pouze kontakty s telefonními čísly"</string>
     <string name="headerContactGroups" msgid="2426134991932503843">"Zvolte kontakty, které budou zobrazeny"</string>
   <plurals name="groupDescrip">
@@ -180,7 +180,7 @@
     <string name="menu_sendTextMessage" msgid="6937343460284499306">"Odeslat textovou zprávu"</string>
     <string name="recentCalls_callNumber" msgid="1756372533999226126">"Volat kontakt <xliff:g id="NAME">%s</xliff:g>"</string>
     <string name="recentCalls_editNumberBeforeCall" msgid="7756171675833267857">"Před voláním upravit číslo"</string>
-    <string name="recentCalls_addToContact" msgid="1429899535546487008">"Přidat do kontaktů"</string>
+    <string name="recentCalls_addToContact" msgid="1429899535546487008">"Přidat mezi kontakty"</string>
     <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"Odstranit z hovorů"</string>
     <string name="recentCalls_deleteAll" msgid="6352364392762163704">"Vymazat hovory"</string>
     <string name="recentCalls_empty" msgid="247053222448663107">"Záznam hovorů je prázdný."</string>
@@ -225,7 +225,7 @@
     <string name="actionChat" msgid="31079429748650300">"Chatovat pomocí služby <xliff:g id="TYPE">%s</xliff:g>"</string>
     <string name="actionMap" msgid="1977955782051732775">"Zobrazit adresu: <xliff:g id="TYPE">%s</xliff:g>"</string>
     <string name="actionIncomingCall" msgid="6028930669817038600">"Příchozí volání"</string>
-    <string name="detailIncomingCallsGoToVoicemail" msgid="9163373178772231307">"Budou přesměrovány přímo do hlasové schránky"</string>
+    <string name="detailIncomingCallsGoToVoicemail" msgid="9163373178772231307">"Budou odeslány přímo do hlasové pošty."</string>
     <string name="detailsRingtone" msgid="4052108748982701775">"Nastavit vyzvánění <xliff:g id="RINGTONE_NAME">%s</xliff:g>"</string>
     <string name="callBack" msgid="5498224409038809224">"Zavolat zpět"</string>
     <string name="callAgain" msgid="3197312117049874778">"Zavolat znovu"</string>
@@ -264,7 +264,6 @@
     <string name="fail_reason_vcard_parse_error" msgid="1201233722762680214">"Analýza karty vCard se z neznámého důvodu nezdařila."</string>
     <string name="fail_reason_vcard_not_supported_error" msgid="655208100451286027">"Analýza karty vCard se nezdařila. Přestože se zřejmě jedná o správný formát, aktuální implementace jej nepodporuje."</string>
     <string name="fail_reason_no_vcard_file" msgid="6376516175882881595">"Na kartě SD nebyl nalezen žádný soubor vCard"</string>
-    <string name="fail_reason_no_vcard_entry" msgid="4733290752474073143">"Ve vašem výběru nebyla nalezena žádná platná položka karty vCard"</string>
     <string name="fail_reason_failed_to_read_files" msgid="3659521123567134029">"Import jednoho nebo více souborů se nezdařil (%s)."</string>
     <string name="fail_reason_unknown" msgid="999034019513096768">"Neznámá chyba"</string>
     <string name="select_vcard_title" msgid="3968948173786172468">"Výběr souboru vCard"</string>
@@ -293,7 +292,8 @@
     <string name="fail_reason_could_not_initialize_exporter" msgid="4943708332700987376">"Nelze spustit exportní program: <xliff:g id="EXACT_REASON">%s</xliff:g>"</string>
     <string name="fail_reason_error_occurred_during_export" msgid="2151165129433831202">"Při exportu došlo k chybě: <xliff:g id="EXACT_REASON">%s</xliff:g>"</string>
     <string name="composer_failed_to_get_database_infomation" msgid="3723109558155169053">"Načtení informací z databáze se nezdařilo"</string>
-    <string name="composer_has_no_exportable_contact" msgid="2239503301380653777">"Nelze exportovat žádný kontakt. Pravděpodobně jste zvolili data, která nelze exportovat."</string>
+    <!-- no translation found for composer_has_no_exportable_contact (754734132189369094) -->
+    <skip />
     <string name="composer_not_initialized" msgid="8041534450748388843">"Editor karty vCard není správně inicializován"</string>
     <string name="fail_reason_could_not_open_file" msgid="4013520943128739511">"Soubor <xliff:g id="FILE_NAME">%s</xliff:g> nelze otevřít: <xliff:g id="EXACT_REASON">%s</xliff:g>"</string>
     <string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> z <xliff:g id="TOTAL_NUMBER">%s</xliff:g> kontaktů"</string>
@@ -308,7 +308,7 @@
     <string name="quickcontact_remember_choice" msgid="5964536411579749424">"Zapamatovat tuto volbu"</string>
     <string name="quickcontact_missing_name" msgid="5590266114306996632">"Neznámé"</string>
     <string name="menu_accounts" msgid="8499114602017077970">"Účty"</string>
-    <string name="menu_import_export" msgid="3765725645491577190">"Importovat/Exportovat"</string>
+    <string name="menu_import_export" msgid="3765725645491577190">"Importovat nebo exportovat"</string>
     <string name="dialog_import_export" msgid="4771877268244096596">"Importovat nebo exportovat kontakty"</string>
     <string name="menu_share" msgid="943789700636542260">"Sdílet"</string>
     <string name="share_via" msgid="563121028023030093">"Sdílet kontakt pomocí"</string>
@@ -380,7 +380,7 @@
     <string name="email_home" msgid="8573740658148184279">"E-mail domů"</string>
     <string name="email_mobile" msgid="2042889209787989814">"E-mail na mobil"</string>
     <string name="email_work" msgid="2807430017302722689">"E-mail do práce"</string>
-    <string name="email_other" msgid="8093933498541795832">"E-mail (další)"</string>
+    <string name="email_other" msgid="8093933498541795832">"E-mail ostatní"</string>
     <string name="email_custom" msgid="7548003991586214105">"E-mail <xliff:g id="CUSTOM">%s</xliff:g>"</string>
     <string name="email" msgid="5668400997660065897">"E-mail"</string>
     <string name="map_home" msgid="1243547733423343982">"Zobrazit adresu domů"</string>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index 513129e..ea81717 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -22,7 +22,7 @@
     <string name="shortcutMessageContact" msgid="2460337253595976198">"Direkte besked"</string>
     <string name="shortcutActivityTitle" msgid="6642877210643565436">"Vælg en kontaktgenvej"</string>
     <string name="callShortcutActivityTitle" msgid="6065749861423648991">"Vælg et nummer at ringe til"</string>
-    <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"Vælg et nummer, som beskeden skal sendes til"</string>
+    <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"Vælg et nummer at sende besked til"</string>
     <string name="starredList" msgid="4817256136413959463">"Stjernemarkerede"</string>
     <string name="frequentList" msgid="7154768136473953056">"Ofte"</string>
     <string name="strequentList" msgid="5640192862059373511">"Favorit"</string>
@@ -40,36 +40,36 @@
     <string name="menu_showBarcode" msgid="309973637178814132">"Vis stregkode"</string>
     <string name="menu_editContact" msgid="3452858480713561396">"Rediger kontakt"</string>
     <string name="menu_deleteContact" msgid="1916555454274101750">"Slet kontakt"</string>
-    <string name="menu_call" msgid="3992595586042260618">"Ring til kontakt"</string>
-    <string name="menu_sendSMS" msgid="5535886767547006515">"Send sms til kontakt"</string>
+    <string name="menu_call" msgid="3992595586042260618">"Ring til kontaktperson"</string>
+    <string name="menu_sendSMS" msgid="5535886767547006515">"Send sms til kontaktperson"</string>
     <string name="menu_sendEmail" msgid="7293508859242926187">"Send e-mail"</string>
     <string name="menu_viewAddress" msgid="1814744325763202024">"Kortadresse"</string>
     <string name="menu_makeDefaultNumber" msgid="4838759253316649534">"Gør til standardnummer"</string>
     <string name="menu_makeDefaultEmail" msgid="2599044610375789994">"Benyt e-mail som standard"</string>
     <string name="menu_splitAggregate" msgid="8368636463748691868">"Opdel"</string>
     <string name="splitAggregate_title" msgid="2053462872948058798">"Opdel kontakt"</string>
-    <string name="contactsSplitMessage" msgid="5253490235863170269">"Kontakterne blev opdelt"</string>
-    <string name="splitConfirmation_title" msgid="6716467920283502570">"Opdel kontakt"</string>
-    <string name="splitConfirmation" msgid="1150797297503944823">"Er du sikker på, at du vil opdele denne ene kontakt i flere kontakter: én for hver sæt af de indeholdte kontaktoplysninger?"</string>
+    <string name="contactsSplitMessage" msgid="5253490235863170269">"Kontaktpersonerne blev opdelt"</string>
+    <string name="splitConfirmation_title" msgid="6716467920283502570">"Opdel kontaktperson"</string>
+    <string name="splitConfirmation" msgid="1150797297503944823">"Er du sikker på, at du vil opdele denne ene kontaktperson  i flere kontaktpersoner: én for hver sæt af de indeholdte kontaktoplysninger?"</string>
     <string name="menu_joinAggregate" msgid="5027981918265667970">"Føj til"</string>
     <string name="menu_showSources" msgid="885215611438295455">"Vis kilder"</string>
     <string name="menu_hideSources" msgid="71367585820555477">"Skjul kilder"</string>
     <string name="titleJoinAggregate" msgid="6970566008563147202">"Føj til kontakt"</string>
-    <string name="titleJoinContactDataWith" msgid="7684875775798635354">"Føj til kontakter"</string>
-    <string name="blurbJoinContactDataWith" msgid="995870557595050304">"Vælg den kontakt, du ønsker at forbinde til <xliff:g id="NAME">%s</xliff:g>."</string>
-    <string name="showAllContactsJoinItem" msgid="2189695051430392383">"Vis alle kontakter"</string>
-    <string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Foreslåede kontakter"</string>
+    <string name="titleJoinContactDataWith" msgid="7684875775798635354">"Føj til kontaktpersoner"</string>
+    <string name="blurbJoinContactDataWith" msgid="995870557595050304">"Vælg den kontaktperson, du ønsker at forbinde til <xliff:g id="NAME">%s</xliff:g>."</string>
+    <string name="showAllContactsJoinItem" msgid="2189695051430392383">"Vis alle kontaktpersoner"</string>
+    <string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Foreslåede kontaktpersoner"</string>
     <string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Alle kontakter"</string>
-    <string name="contactsJoinedMessage" msgid="7208148163607047389">"Tilføjede kontakter"</string>
+    <string name="contactsJoinedMessage" msgid="7208148163607047389">"Tilføjede kontaktpersoner"</string>
     <string name="menu_contactOptions" msgid="1957061455705020617">"Valgmuligheder"</string>
-    <string name="contactOptionsTitle" msgid="8259347644090700915">"Indstillinger"</string>
+    <string name="contactOptionsTitle" msgid="8259347644090700915">"Valgmuligheder"</string>
     <string name="deleteConfirmation_title" msgid="6394309508930335204">"Slet"</string>
-    <string name="readOnlyContactWarning" msgid="1390849295342594265">"Du kan ikke slette kontakter på skrivebeskyttede konti, men du kan skjule dem i dine lister over kontakter."</string>
-    <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"Denne kontakt indeholder oplysninger fra flere konti. Oplysningerne fra skrivebeskyttede konti vil blive skjult i dine lister over kontakter, men ikke slettet."</string>
-    <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"Sletning af denne kontakt sletter oplysninger fra flere konti."</string>
+    <string name="readOnlyContactWarning" msgid="1390849295342594265">"Du kan ikke slette kontaktpersoner på skrivebeskyttede konti, men du kan skjule dem i dine lister over kontaktpersoner."</string>
+    <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"Denne kontaktperson indeholder oplysninger fra flere konti. Oplysningerne fra skrivebeskyttede konti vil blive skjult i dine lister over kontaktpersoner, ikke slettet."</string>
+    <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"Sletning af denne kontaktperson sletter oplysninger fra flere konti."</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"Denne kontakt slettes"</string>
-    <string name="menu_done" msgid="796017761764190697">"Udfør"</string>
-    <string name="menu_doNotSave" msgid="2174577548513895144">"Annuller"</string>
+    <string name="menu_done" msgid="796017761764190697">"Færdig"</string>
+    <string name="menu_doNotSave" msgid="2174577548513895144">"Vend tilbage"</string>
     <string name="editContact_title_edit" msgid="7678695190666836093">"Rediger kontakt"</string>
     <string name="editContact_title_insert" msgid="9125600232291405757">"Ny kontakt"</string>
     <string name="menu_addItem" msgid="6106836852570790250">"Få flere oplysninger"</string>
@@ -88,7 +88,7 @@
     <string name="ghostData_phone" msgid="6963153888271466620">"Telefonnummer"</string>
     <string name="ghostData_email" msgid="6184537075551565919">"E-mail-adresse"</string>
     <string name="ghostData_postal" msgid="652611650594951897">"Postadresse"</string>
-    <string name="ghostData_group" msgid="4504591380347534114">"Vis gruppe"</string>
+    <string name="ghostData_group" msgid="4504591380347534114">"Vis grupper"</string>
     <string name="invalidContactMessage" msgid="5816991830260044593">"Kontakten eksisterer ikke."</string>
     <string name="pickerNewContactHeader" msgid="7750705279843568147">"Opret ny kontakt"</string>
     <string name="selectLabel" msgid="4255424123394910733">"Vælg etiket"</string>
@@ -105,8 +105,8 @@
     <string name="photoPickerNotFoundText" msgid="431331662154342581">"Der er ingen tilgængelige billeder på telefonen."</string>
     <string name="attachToContact" msgid="8820530304406066714">"Kontaktikon"</string>
     <string name="customLabelPickerTitle" msgid="1081475101983255212">"Navn på tilpasset etiket"</string>
-    <string name="menu_displayGroup" msgid="5655505437727616553">"Indstillinger for visning"</string>
-    <string name="displayGroups" msgid="2278964020773993336">"Indstillinger for visning"</string>
+    <string name="menu_displayGroup" msgid="5655505437727616553">"Visningsindstillinger"</string>
+    <string name="displayGroups" msgid="2278964020773993336">"Visningsindstillinger"</string>
     <string name="syncGroupPreference" msgid="9028361137161162861">"Rediger grupper, synk."</string>
     <string name="importFromSim" msgid="8383900146531125319">"Importer kontakter"</string>
     <string name="send_to_voicemail_checkbox" msgid="9001686764070676353">"Send opkald direkte til voicemail"</string>
@@ -116,30 +116,30 @@
     <string name="changePicture" msgid="2943329047610967714">"Skift ikon"</string>
     <string name="removePicture" msgid="3041230993155966350">"Fjern ikon"</string>
     <string name="noContacts" msgid="8579310973261953559">"Der er ingen kontakter."</string>
-    <string name="noMatchingContacts" msgid="4266283206853990471">"Der blev ikke fundet nogen matchende kontakter."</string>
+    <string name="noMatchingContacts" msgid="4266283206853990471">"Der blev ikke fundet nogen matchende kontaktpersoner."</string>
     <string name="noContactsWithPhoneNumbers" msgid="1605457050218824269">"Der er ingen kontakter med telefonnumre."</string>
     <string name="noFavorites" msgid="812766386743315815">"Der er ingen favoritter."</string>
     <string name="select_group_title" msgid="7955698611959835612">"Grupper"</string>
     <string name="groupEmpty" msgid="6661950109828194595">"Din gruppe \"<xliff:g id="GROUPNAME">%s</xliff:g>\" er tom."</string>
     <string name="showAllGroups" msgid="5164410117611094297">"Alle kontakter"</string>
-    <string name="showFilterPhones" msgid="4184858075465653970">"Kun kontakter med telefoner"</string>
-    <string name="showFilterPhonesDescrip" msgid="6644443248815191067">"Vis kun kontakter med telefonnumre"</string>
-    <string name="headerContactGroups" msgid="2426134991932503843">"Vælg de kontakter, der skal vises"</string>
+    <string name="showFilterPhones" msgid="4184858075465653970">"Kun kontaktpersoner med telefoner"</string>
+    <string name="showFilterPhonesDescrip" msgid="6644443248815191067">"Vis kun kontaktpersoner med telefonnumre"</string>
+    <string name="headerContactGroups" msgid="2426134991932503843">"Vælg de kontaktpersoner, der skal vises"</string>
   <plurals name="groupDescrip">
     <item quantity="other" msgid="3507881585720628389">"<xliff:g id="COUNT">%0$d</xliff:g> kontakter"</item>
   </plurals>
   <plurals name="groupDescripPhones">
-    <item quantity="other" msgid="3816047547470490208">"<xliff:g id="COUNT_0">%1$d</xliff:g> kontakter, <xliff:g id="COUNTWITHPHONES">%2$d</xliff:g> med telefoner"</item>
+    <item quantity="other" msgid="3816047547470490208">"<xliff:g id="COUNT_0">%1$d</xliff:g> kontaktpersoner, <xliff:g id="COUNTWITHPHONES">%2$d</xliff:g> med telefoner"</item>
   </plurals>
     <string name="syncAllGroups" msgid="7512169081224806890">"Synkroniser alle kontakter"</string>
-    <string name="groupNameMyContacts" msgid="277995505294105439">"Mine kontakter"</string>
+    <string name="groupNameMyContacts" msgid="277995505294105439">"Mine kontaktpersoner"</string>
     <string name="groupNameWithPhones" msgid="6981588604041120497">"Kontakter med telefonnumre"</string>
     <string name="starredInAndroid" msgid="6495527538140213440">"Stjernemarkerede i Android"</string>
-    <string name="savingContact" msgid="4075751076741924939">"Gemmer kontakt ..."</string>
-    <string name="savingDisplayGroups" msgid="2133152192716475939">"Gemmer indstillinger for visning …"</string>
+    <string name="savingContact" msgid="4075751076741924939">"Gemmer kontaktperson ..."</string>
+    <string name="savingDisplayGroups" msgid="2133152192716475939">"Gemmer visningsindstillinger ..."</string>
     <string name="contactCreatedToast" msgid="8740102129968688060">"Kontakt oprettet."</string>
     <string name="contactSavedToast" msgid="7152589189385441091">"Kontakten er gemt."</string>
-    <string name="contactSavedErrorToast" msgid="9189098776225004666">"Fejl, kunne ikke gemme ændringer af kontakter"</string>
+    <string name="contactSavedErrorToast" msgid="9189098776225004666">"Fejl, kunne ikke gemme ændringer af kontaktpersoner"</string>
     <string name="listSeparatorCallNumber" msgid="7115321894439629408">"Ring til nummer"</string>
     <string name="listSeparatorCallNumber_edit" msgid="2999167270900823334">"Telefonnumre"</string>
     <string name="listSeparatorSendSmsMms" msgid="5351657038532024412">"Send sms"</string>
@@ -152,23 +152,23 @@
     <string name="listSeparatorOrganizations" msgid="7514083358440762504">"Organisationer"</string>
     <string name="listSeparatorGroups" msgid="1593940073983422450">"Grupper"</string>
     <string name="listSeparatorOtherInformation" msgid="7844959649638482329">"Andre oplysninger"</string>
-    <string name="listSeparatorOtherInformation_edit" msgid="1326921768011367750">"Andre indstillinger"</string>
+    <string name="listSeparatorOtherInformation_edit" msgid="1326921768011367750">"Andre valgmuligheder"</string>
     <string name="listSeparatorMore_edit" msgid="858454837482243176">"Flere"</string>
   <plurals name="listTotalPhoneContacts">
-    <item quantity="one" msgid="8721111084815668845">"Viser 1 kontakt med telefonnummer"</item>
-    <item quantity="other" msgid="6133262880804110289">"Viser <xliff:g id="COUNT">%d</xliff:g> kontakter med telefonnumre"</item>
+    <item quantity="one" msgid="8721111084815668845">"Viser 1 kontaktperson med telefonnummer"</item>
+    <item quantity="other" msgid="6133262880804110289">"Viser <xliff:g id="COUNT">%d</xliff:g> kontaktpersoner med telefonnumre"</item>
   </plurals>
-    <string name="listTotalPhoneContactsZero" msgid="2756295259674938869">"Der er ingen synlige kontakter med telefonnumre"</string>
+    <string name="listTotalPhoneContactsZero" msgid="2756295259674938869">"Der er ingen synlige kontaktpersoner med telefonnumre"</string>
   <plurals name="listTotalAllContacts">
-    <item quantity="one" msgid="1096068709488455155">"Viser 1 kontakt"</item>
-    <item quantity="other" msgid="2865867557378939630">"Viser <xliff:g id="COUNT">%d</xliff:g> kontakter"</item>
+    <item quantity="one" msgid="1096068709488455155">"Viser 1 kontaktperson"</item>
+    <item quantity="other" msgid="2865867557378939630">"Viser <xliff:g id="COUNT">%d</xliff:g> kontaktpersoner"</item>
   </plurals>
-    <string name="listTotalAllContactsZero" msgid="6811347506748072822">"Ingen synlige kontakter"</string>
+    <string name="listTotalAllContactsZero" msgid="6811347506748072822">"Ingen synlige kontaktpersoner"</string>
   <plurals name="listFoundAllContacts">
-    <item quantity="one" msgid="2830107332033967280">"Fandt 1 kontakt"</item>
-    <item quantity="other" msgid="7752927996850263152">"Fandt <xliff:g id="COUNT">%d</xliff:g> kontakter"</item>
+    <item quantity="one" msgid="2830107332033967280">"Fandt 1 kontaktperson"</item>
+    <item quantity="other" msgid="7752927996850263152">"Fandt <xliff:g id="COUNT">%d</xliff:g> kontaktpersoner"</item>
   </plurals>
-    <string name="listFoundAllContactsZero" msgid="5554368784319460828">"Kontakten blev ikke fundet"</string>
+    <string name="listFoundAllContactsZero" msgid="5554368784319460828">"Kontaktpersonen blev ikke fundet"</string>
     <string name="socialStreamIconLabel" msgid="4367712449555075376">"Sociale"</string>
     <string name="contactsIconLabel" msgid="7666609097606552806">"Kontakter"</string>
     <string name="contactsFavoritesLabel" msgid="8417039765586853670">"Favorit"</string>
@@ -195,11 +195,11 @@
     <string name="simContacts_emptyLoading" msgid="6700035985448642408">"Indlæser fra SIM-kort ..."</string>
     <string name="simContacts_title" msgid="27341688347689769">"Kontakter på SIM-kort"</string>
     <string name="contactsSyncPlug" msgid="7248276704957313698"><font fgcolor="#ffffffff">"Synkroniser dine Google-kontakter!"</font>\n"Når du har synkroniseret din telefon, bliver dine kontakter tilgængelige, uanset hvor du befinder dig."</string>
-    <string name="noContactsHelpText" msgid="6788487368878712350">"Du har ingen kontakter, der kan vises."\n\n"Hvis du vil tilføje kontakter, skal du trykke på "<font fgcolor="#ffffffff"><b>"Menu"</b></font>" og på"\n" "\n<li><font fgcolor="#ffffffff"><b>"Konti"</b></font>" for at tilføje eller konfigurere en konto med kontakter, som du kan synkronisere med telefonen"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Ny kontakt"</b></font>" for at oprette en ny kontakt helt fra bunden"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Importer/eksporter"</b></font>\n</li></string>
-    <string name="noContactsHelpTextWithSync" msgid="3734101165712848179">"Du har ingen kontakter, der kan vises. (Hvis du lige har tilføjet en konto, kan det tage et par minutter at synkronisere kontakter)."\n\n"Hvis du vil tilføje kontakter, skal du trykke på "<font fgcolor="#ffffffff"><b>"Menu"</b></font>" og på"\n" "\n<li><font fgcolor="#ffffffff"><b>"Konti"</b></font>" for at tilføje eller konfigurere en konto med kontaktner, du kan synkronisere til telefonen"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Indstillinger for visning"</b></font>" for at ændre, hvilke kontakter der er synlige"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Ny kontakt"</b></font>" for at oprette en ny kontakt fra bunden"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Importer/eksporter"</b></font>\n</li></string>
-    <string name="noContactsNoSimHelpText" msgid="6553845386917463292">"Du har ingen kontakter, der kan vises."\n\n"Hvis du vil tilføje kontakter, skal du trykke på "<font fgcolor="#ffffffff"><b>"Menu"</b></font>" og på"\n" "\n<li><font fgcolor="#ffffffff"><b>"Konti"</b></font>" for at tilføje eller konfigurere en konto med kontakter, du kan synkronisere med telefonen"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Ny kontakt"</b></font>" for at oprette en ny kontakt fra bunden"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Importer/eksporter"</b></font>\n</li></string>
-    <string name="noContactsNoSimHelpTextWithSync" msgid="1122296298361373488">"Du har ingen kontakter, der kan vises. (Hvis du lige har tilføjet en konto, kan det tage et par minutter at synkronisere kontakterne)."\n\n"Hvis du vil tilføje kontakter, skal du trykke på "<font fgcolor="#ffffffff"><b>"Menu"</b></font>" og på"\n" "\n<li><font fgcolor="#ffffffff"><b>"Konti"</b></font>" for at tilføje eller konfigurere en konto med kontakter, du kan synkronisere til telefonen"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Indstillinger for visning"</b></font>" for at ændre, hvilke kontakter der er synlige"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Ny kontakt"</b></font>" for at oprette en ny kontakt fra bunden"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Importer/eksporter"</b></font>\n</li></string>
-    <string name="noFavoritesHelpText" msgid="3744655776704833277">"Du har ingen favoritter."\n\n"Sådan føjer du en kontakt til din liste over favoritter:"\n\n" "<li>"Tryk på fanen "<b>"Kontakter"</b>\n</li>" "\n<li>"Tryk på den kontakt, du ønsker at føje til dine foretrukne"\n</li>" "\n<li>"Tryk på stjerne ud for kontaktens navn"\n</li></string>
+    <string name="noContactsHelpText" msgid="6788487368878712350">"Du har ingen kontaktpersoner, der kan vises."\n\n"Hvis du vil tilføje kontaktpersoner, skal du trykke på "<font fgcolor="#ffffffff"><b>"Menu"</b></font>" og på"\n" "\n<li><font fgcolor="#ffffffff"><b>"Konti"</b></font>" for at tilføje eller konfigurere en konto med kontaktpersoner, som du kan synkronisere med telefonen"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Ny kontaktperson"</b></font>" for at oprette en ny kontaktperson helt fra bunden"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Importer/eksporter"</b></font>\n</li></string>
+    <string name="noContactsHelpTextWithSync" msgid="3734101165712848179">"Du har ingen kontaktpersoner, der kan vises. (Hvis du lige har tilføjet en konto, kan det tage et par minutter at synkronisere kontaktpersoner)."\n\n"Hvis du vil tilføje kontaktpersoner, skal du trykke på "<font fgcolor="#ffffffff"><b>"Menu"</b></font>" og på"\n" "\n<li><font fgcolor="#ffffffff"><b>"Konti"</b></font>" for at tilføje eller konfigurere en konto med kontaktpersoner, du kan synkronisere til telefonen"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Visningsindstillinger"</b></font>" for at ændre, hvilke kontaktpersoner der er synlige"\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/eksporter"</b></font>\n</li></string>
+    <string name="noContactsNoSimHelpText" msgid="6553845386917463292">"Du har ingen kontaktpersoner, der kan vises."\n\n"Hvis du vil tilføje kontaktpersoner, skal du trykke på "<font fgcolor="#ffffffff"><b>"Menu"</b></font>" og på"\n" "\n<li><font fgcolor="#ffffffff"><b>"Konti"</b></font>" for at tilføje eller konfigurere en konto med kontaktpersoner, du kan synkronisere med telefonen"\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/eksporter"</b></font>\n</li></string>
+    <string name="noContactsNoSimHelpTextWithSync" msgid="1122296298361373488">"Du har ingen kontaktpersoner, der kan vises. (Hvis du lige har tilføjet en konto, kan det tage et par minutter at synkronisere kontaktpersonerne)."\n\n"Hvis du vil tilføje kontaktpersoner, skal du trykke på "<font fgcolor="#ffffffff"><b>"Menu"</b></font>" og på"\n" "\n<li><font fgcolor="#ffffffff"><b>"Konti"</b></font>" for at tilføje eller konfigurere en konto med kontaktpersoner, du kan synkronisere til telefonen"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Visningsindstillinger"</b></font>" for at ændre, hvilke kontaktpersoner der er synlige"\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/eksporter"</b></font>\n</li></string>
+    <string name="noFavoritesHelpText" msgid="3744655776704833277">"Du har ingen favoritter."\n\n"Sådan føjer du en kontaktperson til din liste over favoritter:"\n\n"        "<li>"Tryk på fanen "<b>"Kontaktpersoner"</b>\n</li>" "\n<li>"Tryk på den kontaktperson, du ønsker at føje til dine foretrukne"\n</li>" "\n<li>"Tryk på stjerne ud for kontaktpersonens navn"\n</li></string>
     <string name="seclectSyncGroups_title" msgid="1235432026231325655">"Vælg grupper, der skal synkroniseres"</string>
     <string name="liveFolder_all_label" msgid="5961411940473276616">"Alle kontakter"</string>
     <string name="liveFolder_favorites_label" msgid="2674341514070517105">"Stjernemarkerede"</string>
@@ -220,16 +220,16 @@
     <string name="ringtone_spinner" msgid="7317823545379736528">"Ringetone: <xliff:g id="RINGTONE">%1$s</xliff:g>"</string>
     <string name="add_more_items" msgid="7754115197545456663">"Tilføj flere emner"</string>
     <string name="actionCall" msgid="695145166039381504">"Ring til <xliff:g id="TYPE">%s</xliff:g>"</string>
-    <string name="actionEmail" msgid="3870371552333656807">"E-mail til <xliff:g id="TYPE">%s</xliff:g>"</string>
+    <string name="actionEmail" msgid="3870371552333656807">"E-mail <xliff:g id="TYPE">%s</xliff:g>"</string>
     <string name="actionText" msgid="6399049224844880108">"Tekst <xliff:g id="TYPE">%s</xliff:g>"</string>
     <string name="actionChat" msgid="31079429748650300">"Chat ved hjælp af <xliff:g id="TYPE">%s</xliff:g>"</string>
     <string name="actionMap" msgid="1977955782051732775">"Vis <xliff:g id="TYPE">%s</xliff:g> adresse"</string>
     <string name="actionIncomingCall" msgid="6028930669817038600">"Indgående opkald"</string>
     <string name="detailIncomingCallsGoToVoicemail" msgid="9163373178772231307">"Sendes direkte til voicemail"</string>
-    <string name="detailsRingtone" msgid="4052108748982701775">"Angiv som <xliff:g id="RINGTONE_NAME">%s</xliff:g>"</string>
+    <string name="detailsRingtone" msgid="4052108748982701775">"Indstil til <xliff:g id="RINGTONE_NAME">%s</xliff:g>"</string>
     <string name="callBack" msgid="5498224409038809224">"Ring tilbage"</string>
     <string name="callAgain" msgid="3197312117049874778">"Ring op igen"</string>
-    <string name="returnCall" msgid="8171961914203617813">"Ring tilbage"</string>
+    <string name="returnCall" msgid="8171961914203617813">"Returner opkald"</string>
     <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> min. <xliff:g id="SECONDS">%s</xliff:g> sek."</string>
     <string name="favoritesFrquentSeparator" msgid="5007070838253932139">"Ofte ringet til"</string>
     <string name="add_contact_dlg_title" msgid="2896685845822146494">"Tilføj kontakt"</string>
@@ -264,7 +264,6 @@
     <string name="fail_reason_vcard_parse_error" msgid="1201233722762680214">"vCard kunne ikke parses pga. en uventet årsag"</string>
     <string name="fail_reason_vcard_not_supported_error" msgid="655208100451286027">"vCard kunne ikke parses, selv om det ser ud til at være et gyldigt format, da den nuværende implementering ikke understøtter det"</string>
     <string name="fail_reason_no_vcard_file" msgid="6376516175882881595">"Der blev ikke fundet nogen VCard-fil på SD-kortet"</string>
-    <string name="fail_reason_no_vcard_entry" msgid="4733290752474073143">"Der blev ikke fundet nogen gyldig vCard-post for dit valg"</string>
     <string name="fail_reason_failed_to_read_files" msgid="3659521123567134029">"En eller flere filer blev ikke importeret (%s)."</string>
     <string name="fail_reason_unknown" msgid="999034019513096768">"Ukendt fejl"</string>
     <string name="select_vcard_title" msgid="3968948173786172468">"Vælg vCard-fil"</string>
@@ -278,13 +277,13 @@
     <string name="reading_vcard_contacts" msgid="3066834102042012868">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> af <xliff:g id="TOTAL_NUMBER">%s</xliff:g> kontakter"</string>
     <string name="reading_vcard_files" msgid="34180143726972661">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> af <xliff:g id="TOTAL_NUMBER">%s</xliff:g> filer"</string>
     <string name="export_all_contacts" msgid="2873892623335194071">"Alle kontakter"</string>
-    <string name="export_phone_local_only" msgid="3380497955409896761">"Kontakter, som er lagret lokalt"</string>
+    <string name="export_phone_local_only" msgid="3380497955409896761">"Kontaktpersoner, som er lagret lokalt"</string>
     <string name="export_contact_list" msgid="3165097742175874384">"Eksporter kontakter"</string>
     <string name="confirm_export_title" msgid="7648747763127442983">"Bekræft eksport"</string>
-    <string name="confirm_export_message" msgid="3875683519257829750">"Er du sikker på, at du vil eksportere listen over kontakter til \"<xliff:g id="VCARD_FILENAME">%s</xliff:g>\"?"</string>
-    <string name="exporting_contact_failed_title" msgid="585823094820602526">"Eksport af kontaktdata mislykkedes"</string>
-    <string name="exporting_contact_failed_message" msgid="4151348002470298092">"Eksport af kontaktdata mislykkedes."\n"Årsag til fejl: \"<xliff:g id="FAIL_REASON">%s</xliff:g>\""</string>
-    <string name="fail_reason_no_exportable_contact" msgid="4919714086648344495">"Der er ingen kontakter, der kan eksporteres"</string>
+    <string name="confirm_export_message" msgid="3875683519257829750">"Er du sikker på, at du vil eksportere listen over kontaktpersoner til  \"<xliff:g id="VCARD_FILENAME">%s</xliff:g>\"?"</string>
+    <string name="exporting_contact_failed_title" msgid="585823094820602526">"Eksport af kontaktpersondata mislykkedes"</string>
+    <string name="exporting_contact_failed_message" msgid="4151348002470298092">"Eksport af kontaktpersondata mislykkedes."\n"Årsag til fejl: \"<xliff:g id="FAIL_REASON">%s</xliff:g>\""</string>
+    <string name="fail_reason_no_exportable_contact" msgid="4919714086648344495">"Der er ingen kontaktpersoner, der kan eksporteres"</string>
     <string name="fail_reason_too_many_vcard" msgid="7084146295639672658">"Der er for mange vCard-data på SD-kortet"</string>
     <string name="fail_reason_too_long_filename" msgid="1915716071321839166">"Det krævede filnavn er for langt (\"<xliff:g id="FILENAME">%s</xliff:g>\")"</string>
     <string name="fail_reason_cannot_open_destination_dir" msgid="1739293936432987758">"Destinationsmappen \"<xliff:g id="DIR_NAME">%s</xliff:g>\" kan ikke åbnes eller oprettes"</string>
@@ -293,7 +292,8 @@
     <string name="fail_reason_could_not_initialize_exporter" msgid="4943708332700987376">"Eksportfunktionen kunne ikke startes: \"<xliff:g id="EXACT_REASON">%s</xliff:g>\""</string>
     <string name="fail_reason_error_occurred_during_export" msgid="2151165129433831202">"Der opstod en fejl under eksport: \"<xliff:g id="EXACT_REASON">%s</xliff:g>\""</string>
     <string name="composer_failed_to_get_database_infomation" msgid="3723109558155169053">"Kunne ikke hente databaseoplysninger"</string>
-    <string name="composer_has_no_exportable_contact" msgid="2239503301380653777">"Der er ingen kontakter, som kan eksporteres. Du har måske valgt data, som ikke kan eksporteres"</string>
+    <!-- no translation found for composer_has_no_exportable_contact (754734132189369094) -->
+    <skip />
     <string name="composer_not_initialized" msgid="8041534450748388843">"vCard-oprettelse ikke korrekt initialiseret"</string>
     <string name="fail_reason_could_not_open_file" msgid="4013520943128739511">"\"<xliff:g id="FILE_NAME">%s</xliff:g>\" kunne ikke åbnes: <xliff:g id="EXACT_REASON">%s</xliff:g>"</string>
     <string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> af <xliff:g id="TOTAL_NUMBER">%s</xliff:g> kontakter"</string>
@@ -309,10 +309,10 @@
     <string name="quickcontact_missing_name" msgid="5590266114306996632">"Ukendte"</string>
     <string name="menu_accounts" msgid="8499114602017077970">"Konti"</string>
     <string name="menu_import_export" msgid="3765725645491577190">"Import/eksport af"</string>
-    <string name="dialog_import_export" msgid="4771877268244096596">"Importer/eksporter kontakter"</string>
+    <string name="dialog_import_export" msgid="4771877268244096596">"Importer/eksporter kontaktpersoner"</string>
     <string name="menu_share" msgid="943789700636542260">"Del"</string>
-    <string name="share_via" msgid="563121028023030093">"Del kontakt via"</string>
-    <string name="share_error" msgid="4374508848981697170">"Denne kontakt kan ikke deles."</string>
+    <string name="share_via" msgid="563121028023030093">"Del kontaktperson via"</string>
+    <string name="share_error" msgid="4374508848981697170">"Denne kontaktperson kan ikke deles."</string>
     <string name="nameLabelsGroup" msgid="2034640839640477827">"Navn"</string>
     <string name="nicknameLabelsGroup" msgid="2891682101053358010">"Kaldenavn"</string>
     <string name="organizationLabelsGroup" msgid="2478611760751832035">"Organisation"</string>
@@ -323,16 +323,16 @@
     <string name="type_short_work" msgid="4925330752504537861">"O"</string>
     <string name="type_short_pager" msgid="2613818970827594238">"P"</string>
     <string name="type_short_other" msgid="5669407180177236769">"O"</string>
-    <string name="edit_read_only" msgid="8158629550655830981">"Denne kontakt er skrivebeskyttet"</string>
+    <string name="edit_read_only" msgid="8158629550655830981">"Denne kontaktperson er skrivebeskyttet"</string>
     <string name="edit_secondary_collapse" msgid="5371618426594477103">"Flere"</string>
     <string name="dialog_primary_name" msgid="5521591005692614833">"Primærnavn"</string>
-    <string name="dialog_new_contact_account" msgid="9044704073286262197">"Opret kontakt under konto"</string>
+    <string name="dialog_new_contact_account" msgid="9044704073286262197">"Opret kontaktperson under konto"</string>
     <string name="menu_sync_remove" msgid="3266725887008450161">"Fjern synkroniseringsgruppe"</string>
     <string name="dialog_sync_add" msgid="8267045393119375803">"Tilføj synkroniseringsgruppe"</string>
     <string name="display_more_groups" msgid="2682547080423434170">"Flere grupper ..."</string>
-    <string name="display_ungrouped" msgid="4602580795576261158">"Alle andre kontakter"</string>
+    <string name="display_ungrouped" msgid="4602580795576261158">"Alle andre kontaktpersoner"</string>
     <string name="display_all_contacts" msgid="6846131371214707956">"Alle kontakter"</string>
-    <string name="display_warn_remove_ungrouped" msgid="2314043155909167610">"Hvis \'<xliff:g id="GROUP">%s</xliff:g>\' fjernes fra synkronisering, vil kontakter, der ikke er i grupper, også fjernes fra synkroniseringen."</string>
+    <string name="display_warn_remove_ungrouped" msgid="2314043155909167610">"Hvis \'<xliff:g id="GROUP">%s</xliff:g>\' fjernes fra synkronisering, vil kontaktpersoner, der ikke er i grupper, også fjernes fra synkroniseringen."</string>
     <string name="account_phone" msgid="4025734638492419713">"Kun telefon (ikke synkroniseret)"</string>
     <string name="label_email_display_name" msgid="5537802602754309600">"Visningsnavn"</string>
     <string name="call_custom" msgid="7756571794763171802">"Ring til <xliff:g id="CUSTOM">%s</xliff:g>"</string>
@@ -353,10 +353,10 @@
     <string name="call_telex" msgid="2223170774548648114">"Ring til telex"</string>
     <string name="call_tty_tdd" msgid="8951266948204379604">"Ring til TTY/TDD"</string>
     <string name="call_work_mobile" msgid="8707874281430105394">"Ring til arbejdsmobiltelefon"</string>
-    <string name="call_work_pager" msgid="3419348514157949008">"Ring til personsøger på arbejdet"</string>
+    <string name="call_work_pager" msgid="3419348514157949008">"Ring til personsøger til arbejdet"</string>
     <string name="call_assistant" msgid="2141641383068514308">"Ring til <xliff:g id="ASSISTANT">%s</xliff:g>"</string>
-    <string name="call_mms" msgid="6274041545876221437">"Ring til mms"</string>
-    <string name="sms_custom" msgid="5932736853732191825">"Sms til <xliff:g id="CUSTOM">%s</xliff:g>"</string>
+    <string name="call_mms" msgid="6274041545876221437">"Ring til MMS"</string>
+    <string name="sms_custom" msgid="5932736853732191825">"Tekst <xliff:g id="CUSTOM">%s</xliff:g>"</string>
     <string name="sms_home" msgid="7524332261493162995">"Sms til hjem"</string>
     <string name="sms_mobile" msgid="5200107250451030769">"Sms til mobil"</string>
     <string name="sms_work" msgid="2269624156655267740">"Sms til arbejde"</string>
@@ -376,12 +376,12 @@
     <string name="sms_work_mobile" msgid="2459939960512702560">"Send sms til arbejdsmobiltelefon"</string>
     <string name="sms_work_pager" msgid="5566924423316960597">"Send sms til personsøger til arbejdet"</string>
     <string name="sms_assistant" msgid="2773424339923116234">"Send sms til <xliff:g id="ASSISTANT">%s</xliff:g>"</string>
-    <string name="sms_mms" msgid="4069352461380762677">"Sms til mms"</string>
+    <string name="sms_mms" msgid="4069352461380762677">"Sms til MMS"</string>
     <string name="email_home" msgid="8573740658148184279">"E-mail til hjem"</string>
     <string name="email_mobile" msgid="2042889209787989814">"E-mail til mobil"</string>
     <string name="email_work" msgid="2807430017302722689">"E-mail til arbejde"</string>
-    <string name="email_other" msgid="8093933498541795832">"E-mail til anden adresse"</string>
-    <string name="email_custom" msgid="7548003991586214105">"E-mail til <xliff:g id="CUSTOM">%s</xliff:g>"</string>
+    <string name="email_other" msgid="8093933498541795832">"E-mail til anden"</string>
+    <string name="email_custom" msgid="7548003991586214105">"E-mail <xliff:g id="CUSTOM">%s</xliff:g>"</string>
     <string name="email" msgid="5668400997660065897">"E-mail"</string>
     <string name="map_home" msgid="1243547733423343982">"Vis hjemmeadresse"</string>
     <string name="map_work" msgid="1360474076921878088">"Vis arbejdsadresse"</string>
@@ -395,12 +395,12 @@
     <string name="chat_gtalk" msgid="981575737258117697">"Chat ved hjælp af Google Talk"</string>
     <string name="chat_icq" msgid="8438405386153745775">"Chat ved hjælp af ICQ"</string>
     <string name="chat_jabber" msgid="7561444230307829609">"Chat ved hjælp af Jabber"</string>
-    <string name="chat" msgid="9025361898797412245">"Chat"</string>
+    <string name="chat" msgid="9025361898797412245">"chat"</string>
     <string name="postal_street" msgid="8133143961580058972">"Gade"</string>
     <string name="postal_pobox" msgid="4431938829180269821">"Postboks"</string>
     <string name="postal_neighborhood" msgid="1450783874558956739">"Nabolag"</string>
     <string name="postal_city" msgid="6597491300084895548">"By"</string>
-    <string name="postal_region" msgid="6045263193478437672">"Stat"</string>
+    <string name="postal_region" msgid="6045263193478437672">"Tilstand"</string>
     <string name="postal_postcode" msgid="572136414136673751">"Postnummer"</string>
     <string name="postal_country" msgid="7638264508416368690">"Land"</string>
     <string name="name_given" msgid="1687286314106019813">"Fornavn"</string>
@@ -412,11 +412,11 @@
     <string name="name_phonetic_middle" msgid="8643721493320405200">"Fonetisk mellemnavn"</string>
     <string name="name_phonetic_family" msgid="462095502140180305">"Fonetisk efternavn"</string>
     <string name="split_label" msgid="8262112659919449087">"Opdel"</string>
-    <string name="split_explanation" msgid="1824739956426973592">"Gør disse data til en selvstændig kontakt"</string>
+    <string name="split_explanation" msgid="1824739956426973592">"Gør disse data til selvstændig kontaktperson"</string>
     <string name="account_name_format" msgid="4421123930035299208">"Fra <xliff:g id="SOURCE">%1$s</xliff:g>-konto: <xliff:g id="ACCOUNT">%2$s</xliff:g>"</string>
-    <string name="account_type_format" msgid="718948015590343010">"<xliff:g id="SOURCE">%1$s</xliff:g> kontakt"</string>
-    <string name="from_account_format" msgid="687567483928582084">"fra <xliff:g id="SOURCE">%1$s</xliff:g>"</string>
+    <string name="account_type_format" msgid="718948015590343010">"<xliff:g id="SOURCE">%1$s</xliff:g> kontaktperson"</string>
+    <string name="from_account_format" msgid="687567483928582084">"fra<xliff:g id="SOURCE">%1$s</xliff:g>"</string>
     <string name="use_photo_as_primary" msgid="8807110122951157246">"Brug dette billede"</string>
-    <string name="contact_read_only" msgid="1203216914575723978">"<xliff:g id="SOURCE">%1$s</xliff:g>s kontaktoplysninger kan ikke redigeres på denne enhed."</string>
-    <string name="no_contact_details" msgid="6754415338321837001">"Ingen yderligere oplysninger for denne kontakt"</string>
+    <string name="contact_read_only" msgid="1203216914575723978">"<xliff:g id="SOURCE">%1$s</xliff:g> kontaktoplysninger kan ikke redigeres på denne enhed."</string>
+    <string name="no_contact_details" msgid="6754415338321837001">"Ingen yderligere oplysninger for denne kontaktperson"</string>
 </resources>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index 4e2a2b9..95ef7d3 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -35,7 +35,7 @@
     <string name="menu_newContact" msgid="1209922412763274638">"Neuer Kontakt"</string>
     <string name="menu_viewContact" msgid="2795575601596468581">"Kontakt anzeigen"</string>
     <string name="menu_callNumber" msgid="5142851348489387516">"<xliff:g id="NAME">%s</xliff:g> anrufen"</string>
-    <string name="menu_addStar" msgid="2908478235715404876">"Zu Favoriten hinzufügen"</string>
+    <string name="menu_addStar" msgid="2908478235715404876">"Favoriten hinzufügen"</string>
     <string name="menu_removeStar" msgid="5844227078364227030">"Aus Favoriten entfernen"</string>
     <string name="menu_showBarcode" msgid="309973637178814132">"Barcode anzeigen"</string>
     <string name="menu_editContact" msgid="3452858480713561396">"Kontakt bearbeiten"</string>
@@ -44,18 +44,18 @@
     <string name="menu_sendSMS" msgid="5535886767547006515">"Textnachricht an Kontakt"</string>
     <string name="menu_sendEmail" msgid="7293508859242926187">"E-Mail senden"</string>
     <string name="menu_viewAddress" msgid="1814744325763202024">"Adresse auf der Karte"</string>
-    <string name="menu_makeDefaultNumber" msgid="4838759253316649534">"Als Standardnr. festlegen"</string>
+    <string name="menu_makeDefaultNumber" msgid="4838759253316649534">"Als Standardnummer festlegen"</string>
     <string name="menu_makeDefaultEmail" msgid="2599044610375789994">"Standard-E-Mail festlegen"</string>
-    <string name="menu_splitAggregate" msgid="8368636463748691868">"Teilen"</string>
+    <string name="menu_splitAggregate" msgid="8368636463748691868">"Unterteilen"</string>
     <string name="splitAggregate_title" msgid="2053462872948058798">"Kontakt teilen"</string>
     <string name="contactsSplitMessage" msgid="5253490235863170269">"Kontakte unterteilt"</string>
-    <string name="splitConfirmation_title" msgid="6716467920283502570">"Kontakt teilen"</string>
-    <string name="splitConfirmation" msgid="1150797297503944823">"Sind Sie sicher, dass Sie diesen Kontakt in mehrere Kontakte teilen möchten, einen für jedes darin enthaltene Kontaktdetail?"</string>
-    <string name="menu_joinAggregate" msgid="5027981918265667970">"Zusammenführen"</string>
+    <string name="splitConfirmation_title" msgid="6716467920283502570">"Kontakt unterteilen"</string>
+    <string name="splitConfirmation" msgid="1150797297503944823">"Sind Sie sicher, dass Sie diesen Kontakt in mehrere Kontakte unterteilen möchten, einen für jedes darin enthaltene Kontaktdetail?"</string>
+    <string name="menu_joinAggregate" msgid="5027981918265667970">"Anfügen"</string>
     <string name="menu_showSources" msgid="885215611438295455">"Quellen anzeigen"</string>
     <string name="menu_hideSources" msgid="71367585820555477">"Quellen ausblenden"</string>
     <string name="titleJoinAggregate" msgid="6970566008563147202">"Kontakt verknüpfen"</string>
-    <string name="titleJoinContactDataWith" msgid="7684875775798635354">"Kontakte zusammenführen"</string>
+    <string name="titleJoinContactDataWith" msgid="7684875775798635354">"Kontakte anfügen"</string>
     <string name="blurbJoinContactDataWith" msgid="995870557595050304">"Wählen Sie den Kontakt aus, den Sie mit <xliff:g id="NAME">%s</xliff:g> verknüpfen möchten."</string>
     <string name="showAllContactsJoinItem" msgid="2189695051430392383">"Alle Kontakte anzeigen"</string>
     <string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Vorgeschlagene Kontakte"</string>
@@ -122,7 +122,7 @@
     <string name="select_group_title" msgid="7955698611959835612">"Gruppen"</string>
     <string name="groupEmpty" msgid="6661950109828194595">"Ihre Gruppe \"<xliff:g id="GROUPNAME">%s</xliff:g>\" ist leer."</string>
     <string name="showAllGroups" msgid="5164410117611094297">"Alle Kontakte"</string>
-    <string name="showFilterPhones" msgid="4184858075465653970">"Nur Kontakte mit Telefon"</string>
+    <string name="showFilterPhones" msgid="4184858075465653970">"Nur Kontakte mit Telefonen"</string>
     <string name="showFilterPhonesDescrip" msgid="6644443248815191067">"Nur Kontakte mit Telefonnummern anzeigen"</string>
     <string name="headerContactGroups" msgid="2426134991932503843">"Kontakte zum Anzeigen auswählen"</string>
   <plurals name="groupDescrip">
@@ -195,10 +195,10 @@
     <string name="simContacts_emptyLoading" msgid="6700035985448642408">"Ladevorgang von SIM-Karte läuft..."</string>
     <string name="simContacts_title" msgid="27341688347689769">"Kontakte auf SIM-Karte"</string>
     <string name="contactsSyncPlug" msgid="7248276704957313698"><font fgcolor="#ffffffff">"Synchronisieren Sie Ihre Google-Kontakte!"</font>" "\n"Nach der Synchronisierung stehen Ihnen Ihre Kontakte überall zur Verfügung."</string>
-    <string name="noContactsHelpText" msgid="6788487368878712350">"Es können keine Kontakte angezeigt werden."\n\n"Tippen Sie zum Hinzufügen von Kontakten auf "<font fgcolor="#ffffffff"><b>"Menü"</b></font>" und tippen Sie anschließend auf "\n" "\n<li><font fgcolor="#ffffffff"><b>"Konten"</b></font>", um ein Konto mit Kontakten hinzuzufügen oder zu konfigurieren, die mit dem Telefon synchronisiert werden können."\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Neuer Kontakt"</b></font>", um einen neuen Kontakt von Grund auf zu erstellen."\n</li>\n<li><font fgcolor="#ffffffff"><b>"Import/Export"</b></font>\n</li></string>
-    <string name="noContactsHelpTextWithSync" msgid="3734101165712848179">"Es können keine Kontakte angezeigt werden. Wenn Sie gerade ein Konto hinzugefügt haben, kann es einige Minuten dauern, bis die Kontakte synchronisiert sind."\n\n"Drücken Sie zum Hinzufügen von Kontakten auf "<font fgcolor="#ffffffff"><b>"Menü"</b></font>" und tippen Sie anschließend auf "\n" "\n<li><font fgcolor="#ffffffff"><b>"Konten"</b></font>", um ein Konto mit Kontakten hinzuzufügen oder zu konfigurieren, die mit dem Telefon synchronisiert werden können."\n" "</li>\n<li><font fgcolor="#ffffffff"><b>"Anzeigeoptionen"</b></font>", um zu ändern, welche Kontakte angezeigt werden"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Neuer Kontakt"</b></font>", um einen neuen Kontakt von Grund auf zu erstellen"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Import/Export"</b></font>\n</li></string>
-    <string name="noContactsNoSimHelpText" msgid="6553845386917463292">"Es können keine Kontakte angezeigt werden."\n\n"Tippen Sie zum Hinzufügen von Kontakten auf "<font fgcolor="#ffffffff"><b>"Menü"</b></font>" und tippen Sie anschließend auf "\n" "\n<li><font fgcolor="#ffffffff"><b>"Konten"</b></font>", um ein Konto mit Kontakten hinzuzufügen oder zu konfigurieren, die mit dem Telefon synchronisiert werden können."\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Neuer Kontakt"</b></font>", um einen neuen Kontakt von Grund auf zu erstellen"\n</li>\n<li><font fgcolor="#ffffffff"><b>"Import/Export"</b></font>\n</li></string>
-    <string name="noContactsNoSimHelpTextWithSync" msgid="1122296298361373488">"Es können keine Kontakte angezeigt werden. Wenn Sie gerade ein Konto hinzugefügt haben, kann es einige Minuten dauern, bis die Kontakte synchronisiert sind."\n\n"Tippen Sie zum Hinzufügen von Kontakten auf "<font fgcolor="#ffffffff"><b>"Menü"</b></font>" und tippen Sie anschließend auf "\n" "\n<li><font fgcolor="#ffffffff"><b>"Konten"</b></font>", um ein Konto mit Kontakten hinzuzufügen oder zu konfigurieren, die mit dem Telefon synchronisiert werden können."\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Anzeigeoptionen"</b></font>", um zu ändern, welche Kontakte angezeigt werden"\n</li>\n<li><font fgcolor="#ffffffff"><b>"Neuer Kontakt"</b></font>", um einen neuen Kontakt von Grund auf zu erstellen"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Import/Export"</b></font>\n</li></string>
+    <string name="noContactsHelpText" msgid="6788487368878712350">"Es können keine Kontakte angezeigt werden."\n\n"Tippen Sie zum Hinzufügen von Kontakten auf "<font fgcolor="#ffffffff"><b>"Menü"</b></font>" und tippen Sie anschließend auf "\n" "\n<li><font fgcolor="#ffffffff"><b>"Konten"</b></font>", um ein Konto hinzuzufügen oder mit Kontakten zu konfigurieren, die mit dem Telefon synchronisiert werden können."\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Neuer Kontakt"</b></font>", um einen neuen Kontakt von Grund auf zu erstellen."\n</li>\n<li><font fgcolor="#ffffffff"><b>"Import/Export"</b></font>\n</li></string>
+    <string name="noContactsHelpTextWithSync" msgid="3734101165712848179">"Es können keine Kontakte angezeigt werden. Wenn Sie gerade ein Konto hinzugefügt haben, kann es einige Minuten dauern, bis die Kontakte synchronisiert sind."\n\n"Drücken Sie zum Hinzufügen von Kontakten auf "<font fgcolor="#ffffffff"><b>"Menü"</b></font>" und tippen Sie anschließend auf "\n" "\n<li><font fgcolor="#ffffffff"><b>"Konten"</b></font>", um ein Konto hinzuzufügen oder mit Kontakten zu konfigurieren, die mit dem Telefon synchronisiert werden können."\n" "</li>\n<li><font fgcolor="#ffffffff"><b>"Anzeigeoptionen"</b></font>", um zu ändern, welche Kontakte angezeigt werden"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Neuer Kontakt"</b></font>", um einen neuen Kontakt von Grund auf zu erstellen"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Import/Export"</b></font>\n</li></string>
+    <string name="noContactsNoSimHelpText" msgid="6553845386917463292">"Es können keine Kontakte angezeigt werden."\n\n"Tippen Sie zum Hinzufügen von Kontakten auf "<font fgcolor="#ffffffff"><b>"Menü"</b></font>" und tippen Sie anschließend auf "\n" "\n<li><font fgcolor="#ffffffff"><b>"Konten"</b></font>", um ein Konto hinzuzufügen oder mit Kontakten zu konfigurieren, die mit dem Telefon synchronisiert werden können."\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Neuer Kontakt"</b></font>", um einen neuen Kontakt von Grund auf zu erstellen"\n</li>\n<li><font fgcolor="#ffffffff"><b>"Import/Export"</b></font>\n</li></string>
+    <string name="noContactsNoSimHelpTextWithSync" msgid="1122296298361373488">"Es können keine Kontakte angezeigt werden. Wenn Sie gerade ein Konto hinzugefügt haben, kann es einige Minuten dauern, bis die Kontakte synchronisiert sind."\n\n"Tippen Sie zum Hinzufügen von Kontakten auf "<font fgcolor="#ffffffff"><b>"Menü"</b></font>" und tippen Sie anschließend auf "\n" "\n<li><font fgcolor="#ffffffff"><b>"Konten"</b></font>", um ein Konto hinzuzufügen oder mit Kontakten zu konfigurieren, die mit dem Telefon synchronisiert werden können."\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Anzeigeoptionen"</b></font>", um zu ändern, welche Kontakte angezeigt werden"\n</li>\n<li><font fgcolor="#ffffffff"><b>"Neuer Kontakt"</b></font>", um einen neuen Kontakt von Grund auf zu erstellen"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Import/Export"</b></font>\n</li></string>
     <string name="noFavoritesHelpText" msgid="3744655776704833277">"Sie haben keine Favoriten."\n\n"So fügen Sie einen Kontakt zu Ihrer Favoritenliste hinzu:"\n\n"        "<li>"Tippen Sie auf die Registerkarte "<b>"Kontakte"</b>"."\n</li>" "\n<li>"Tippen Sie auf den Kontakt, den Sie zu Ihren Favoriten hinzufügen möchten."\n</li>" "\n<li>"Tippen Sie auf die Markierung neben dem Kontaktnamen."\n</li></string>
     <string name="seclectSyncGroups_title" msgid="1235432026231325655">"Zu synchronisierende Gruppen auswählen"</string>
     <string name="liveFolder_all_label" msgid="5961411940473276616">"Alle Kontakte"</string>
@@ -230,7 +230,7 @@
     <string name="callBack" msgid="5498224409038809224">"Rückruf"</string>
     <string name="callAgain" msgid="3197312117049874778">"Erneut anrufen"</string>
     <string name="returnCall" msgid="8171961914203617813">"Zurückrufen"</string>
-    <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> Min. <xliff:g id="SECONDS">%s</xliff:g> Sek."</string>
+    <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> Minuten, <xliff:g id="SECONDS">%s</xliff:g> Sekunden"</string>
     <string name="favoritesFrquentSeparator" msgid="5007070838253932139">"Häufig angerufen"</string>
     <string name="add_contact_dlg_title" msgid="2896685845822146494">"Kontakt hinzufügen"</string>
     <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"\"<xliff:g id="EMAIL">%s</xliff:g>\" zu den Kontakten hinzufügen?"</string>
@@ -264,7 +264,6 @@
     <string name="fail_reason_vcard_parse_error" msgid="1201233722762680214">"Die vCard konnte aus einem unbekannten Grund nicht geparst werden."</string>
     <string name="fail_reason_vcard_not_supported_error" msgid="655208100451286027">"Beim Parsen der vCard ist ein Fehler aufgetreten. Obwohl die vCard anscheinend ein gültiges Format aufweist, wird sie von der aktuellen Implementierung nicht unterstützt."</string>
     <string name="fail_reason_no_vcard_file" msgid="6376516175882881595">"Keine VCard-Datei auf der SD-Karte gefunden"</string>
-    <string name="fail_reason_no_vcard_entry" msgid="4733290752474073143">"Es wurde kein gültiger vCard-Eintrag für Ihre Auswahl gefunden."</string>
     <string name="fail_reason_failed_to_read_files" msgid="3659521123567134029">"Fehler beim Import einer oder mehrerer Dateien (%s)"</string>
     <string name="fail_reason_unknown" msgid="999034019513096768">"Unbekannter Fehler"</string>
     <string name="select_vcard_title" msgid="3968948173786172468">"vCard-Datei auswählen"</string>
@@ -293,7 +292,8 @@
     <string name="fail_reason_could_not_initialize_exporter" msgid="4943708332700987376">"Exportprogramm konnte nicht initialisiert werden: \"<xliff:g id="EXACT_REASON">%s</xliff:g>\""</string>
     <string name="fail_reason_error_occurred_during_export" msgid="2151165129433831202">"Fehler beim Exportieren: \"<xliff:g id="EXACT_REASON">%s</xliff:g>\""</string>
     <string name="composer_failed_to_get_database_infomation" msgid="3723109558155169053">"Fehler bei der Ermittlung von Datenbank-Informationen"</string>
-    <string name="composer_has_no_exportable_contact" msgid="2239503301380653777">"Es ist kein exportierbarer Kontakt vorhanden. Möglicherweise können Sie nicht exportierbare Daten auswählen."</string>
+    <!-- no translation found for composer_has_no_exportable_contact (754734132189369094) -->
+    <skip />
     <string name="composer_not_initialized" msgid="8041534450748388843">"Das Programm zum Erstellen der vCard wurde nicht richtig initialisiert."</string>
     <string name="fail_reason_could_not_open_file" msgid="4013520943128739511">"\"<xliff:g id="FILE_NAME">%s</xliff:g>\" konnte nicht geöffnet werden: <xliff:g id="EXACT_REASON">%s</xliff:g>"</string>
     <string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> von <xliff:g id="TOTAL_NUMBER">%s</xliff:g> Kontakten"</string>
@@ -301,8 +301,8 @@
     <string name="add_2sec_pause" msgid="9214012315201040129">"2 Sekunden Pause hinzufügen"</string>
     <string name="add_wait" msgid="3360818652790319634">"Warten hinzufügen"</string>
     <string name="dial_button_label" msgid="7637725632722605863">"Wählen"</string>
-    <string name="call_disambig_title" msgid="1911302597959335178">"Anruf bei"</string>
-    <string name="sms_disambig_title" msgid="4675399294513152364">"Textnachricht schreiben an"</string>
+    <string name="call_disambig_title" msgid="1911302597959335178">"Anrufen mit"</string>
+    <string name="sms_disambig_title" msgid="4675399294513152364">"Textnachricht schreiben mit"</string>
     <string name="make_primary" msgid="5829291915305113983">"Diese Auswahl speichern"</string>
     <string name="quickcontact_missing_app" msgid="4600366393134289038">"Für diese Aktion wurde keine Anwendung gefunden."</string>
     <string name="quickcontact_remember_choice" msgid="5964536411579749424">"Diese Auswahl speichern"</string>
@@ -310,8 +310,8 @@
     <string name="menu_accounts" msgid="8499114602017077970">"Konten"</string>
     <string name="menu_import_export" msgid="3765725645491577190">"Importieren/Exportieren"</string>
     <string name="dialog_import_export" msgid="4771877268244096596">"Kontakte importieren/exportieren"</string>
-    <string name="menu_share" msgid="943789700636542260">"Weiterleiten"</string>
-    <string name="share_via" msgid="563121028023030093">"Kontakt weiterleiten über"</string>
+    <string name="menu_share" msgid="943789700636542260">"Freigeben"</string>
+    <string name="share_via" msgid="563121028023030093">"Kontakt freigeben über"</string>
     <string name="share_error" msgid="4374508848981697170">"Dieser Kontakt kann nicht freigegeben werden."</string>
     <string name="nameLabelsGroup" msgid="2034640839640477827">"Name"</string>
     <string name="nicknameLabelsGroup" msgid="2891682101053358010">"Alias"</string>
@@ -377,7 +377,7 @@
     <string name="sms_work_pager" msgid="5566924423316960597">"Textnachricht an Pager (geschäftlich)"</string>
     <string name="sms_assistant" msgid="2773424339923116234">"Textnachricht an <xliff:g id="ASSISTANT">%s</xliff:g>"</string>
     <string name="sms_mms" msgid="4069352461380762677">"Text (MMS)"</string>
-    <string name="email_home" msgid="8573740658148184279">"E-Mail (privat)"</string>
+    <string name="email_home" msgid="8573740658148184279">"E-Mail-Startseite"</string>
     <string name="email_mobile" msgid="2042889209787989814">"E-Mail (mobil)"</string>
     <string name="email_work" msgid="2807430017302722689">"E-Mail (Arbeit)"</string>
     <string name="email_other" msgid="8093933498541795832">"E-Mail (sonstige)"</string>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index 099912d..01faa52 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -113,7 +113,8 @@
     <string name="send_to_voicemail_view" msgid="9124400414311776864">"Οι κλήσεις στέλνονται απευθείας στον αυτόματο τηλεφωνητή."</string>
     <string name="default_ringtone" msgid="9099988849649827972">"Προεπιλογή"</string>
     <string name="addPicture" msgid="1594679312161537678">"Προσθήκη εικονιδίου"</string>
-    <string name="changePicture" msgid="2943329047610967714">"Αλλαγή εικονιδίου"</string>
+    <!-- no translation found for changePicture (2943329047610967714) -->
+    <skip />
     <string name="removePicture" msgid="3041230993155966350">"Κατάργηση εικονιδίου"</string>
     <string name="noContacts" msgid="8579310973261953559">"Δεν υπάρχουν επαφές."</string>
     <string name="noMatchingContacts" msgid="4266283206853990471">"Δεν βρέθηκαν επαφές που να αντιστοιχούν."</string>
@@ -264,7 +265,6 @@
     <string name="fail_reason_vcard_parse_error" msgid="1201233722762680214">"Η ανάλυση της κάρτας vCard απέτυχε εξαιτίας μη αναμενόμενου συμβάντος"</string>
     <string name="fail_reason_vcard_not_supported_error" msgid="655208100451286027">"Αν και το VCard φαίνεται να βρίσκεται σε έγκυρη μορφή, η ανάλυσή του απέτυχε, εφόσον η τρέχουσα εφαρμογή δεν το υποστηρίζει"</string>
     <string name="fail_reason_no_vcard_file" msgid="6376516175882881595">"Δεν βρέθηκε αρχείο VCard στην κάρτα SD"</string>
-    <string name="fail_reason_no_vcard_entry" msgid="4733290752474073143">"Δεν βρέθηκε έγκυρη καταχώρηση VCard για την επιλογή σας"</string>
     <string name="fail_reason_failed_to_read_files" msgid="3659521123567134029">"Η εισαγωγή ενός ή περισσοτέρων αρχείων απέτυχε (%s)."</string>
     <string name="fail_reason_unknown" msgid="999034019513096768">"Άγνωστο σφάλμα"</string>
     <string name="select_vcard_title" msgid="3968948173786172468">"Επιλογή αρχείου vCard"</string>
@@ -293,7 +293,8 @@
     <string name="fail_reason_could_not_initialize_exporter" msgid="4943708332700987376">"Δεν ήταν δυνατή η εκκίνηση της εξαγωγής: \"<xliff:g id="EXACT_REASON">%s</xliff:g>\""</string>
     <string name="fail_reason_error_occurred_during_export" msgid="2151165129433831202">"Προέκυψε σφάλμα κατά την εξαγωγή: \"<xliff:g id="EXACT_REASON">%s</xliff:g>\""</string>
     <string name="composer_failed_to_get_database_infomation" msgid="3723109558155169053">"Αποτυχία λήψης πληροφοριών βάσης δεδομένων"</string>
-    <string name="composer_has_no_exportable_contact" msgid="2239503301380653777">"Δεν υπάρχει επαφή με δυνατότητα εξαγωγής. Ενδέχεται να επιλέξατε μη εξαγώγιμα δεδομένα"</string>
+    <!-- no translation found for composer_has_no_exportable_contact (754734132189369094) -->
+    <skip />
     <string name="composer_not_initialized" msgid="8041534450748388843">"Δεν έχει γίνει σωστή εκκίνηση του προγράμματος σύνθεσης της vCard"</string>
     <string name="fail_reason_could_not_open_file" msgid="4013520943128739511">"Δεν ήταν δυνατό το άνοιγμα του \"<xliff:g id="FILE_NAME">%s</xliff:g>\": <xliff:g id="EXACT_REASON">%s</xliff:g>"</string>
     <string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> από <xliff:g id="TOTAL_NUMBER">%s</xliff:g> επαφές"</string>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index bae6b90..60f69ec 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -93,7 +93,7 @@
     <string name="pickerNewContactHeader" msgid="7750705279843568147">"Crear nuevo contacto"</string>
     <string name="selectLabel" msgid="4255424123394910733">"Seleccionar etiqueta"</string>
     <string name="phoneLabelsGroup" msgid="6468091477851199285">"Teléfono"</string>
-    <string name="emailLabelsGroup" msgid="8389931313045344406">"Correo elec."</string>
+    <string name="emailLabelsGroup" msgid="8389931313045344406">"Correo electrónico"</string>
     <string name="imLabelsGroup" msgid="3898238486262614027">"Mensajería instantánea"</string>
     <string name="postalLabelsGroup" msgid="1618078212734693682">"Dirección postal"</string>
     <string name="otherLabelsGroup" msgid="6584626043193000238">"Otros"</string>
@@ -264,7 +264,6 @@
     <string name="fail_reason_vcard_parse_error" msgid="1201233722762680214">"No se ha podido analizar vCard debido a un motivo inesperado"</string>
     <string name="fail_reason_vcard_not_supported_error" msgid="655208100451286027">"No se ha podido analizar vCard aunque el formato parece válido, ya que la implementación actual no lo admite"</string>
     <string name="fail_reason_no_vcard_file" msgid="6376516175882881595">"No se ha encontrado un archivo de vCard en la Tarjeta SD."</string>
-    <string name="fail_reason_no_vcard_entry" msgid="4733290752474073143">"No se ha encontrado ninguna entrada válida de vCard para tu selección"</string>
     <string name="fail_reason_failed_to_read_files" msgid="3659521123567134029">"No se pudieron importar uno o más archivos (%s)."</string>
     <string name="fail_reason_unknown" msgid="999034019513096768">"Error desconocido"</string>
     <string name="select_vcard_title" msgid="3968948173786172468">"Seleccionar archivo de vCard"</string>
@@ -293,7 +292,8 @@
     <string name="fail_reason_could_not_initialize_exporter" msgid="4943708332700987376">"No se ha podido inicializar el exportador: \"<xliff:g id="EXACT_REASON">%s</xliff:g>\""</string>
     <string name="fail_reason_error_occurred_during_export" msgid="2151165129433831202">"Se produjo un error durante la exportación: \"<xliff:g id="EXACT_REASON">%s</xliff:g>\""</string>
     <string name="composer_failed_to_get_database_infomation" msgid="3723109558155169053">"No se ha podido obtener información de la base de datos"</string>
-    <string name="composer_has_no_exportable_contact" msgid="2239503301380653777">"No hay ningún contacto exportable. Puedes elegir datos no exportables"</string>
+    <!-- no translation found for composer_has_no_exportable_contact (754734132189369094) -->
+    <skip />
     <string name="composer_not_initialized" msgid="8041534450748388843">"El redactor de vCard no se ha inicializado correctamente"</string>
     <string name="fail_reason_could_not_open_file" msgid="4013520943128739511">"No se pudo abrir \"<xliff:g id="FILE_NAME">%s</xliff:g>\": <xliff:g id="EXACT_REASON">%s</xliff:g>"</string>
     <string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> de <xliff:g id="TOTAL_NUMBER">%s</xliff:g> contactos"</string>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index 3852e80..63c0ce3 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -264,7 +264,6 @@
     <string name="fail_reason_vcard_parse_error" msgid="1201233722762680214">"No se ha podido analizar el archivo de vCard debido a un error inesperado."</string>
     <string name="fail_reason_vcard_not_supported_error" msgid="655208100451286027">"No se ha podido analizar el archivo de vCard (a pesar de que su formato parece ser válido) porque no es compatible con la implementación actual."</string>
     <string name="fail_reason_no_vcard_file" msgid="6376516175882881595">"No se ha encontrado ningún archivo de vCard en la tarjeta SD."</string>
-    <string name="fail_reason_no_vcard_entry" msgid="4733290752474073143">"No se ha encontrado ninguna entrada de vCard válida para la selección realizada."</string>
     <string name="fail_reason_failed_to_read_files" msgid="3659521123567134029">"No ha sido posible importar uno o varios archivos (%s)."</string>
     <string name="fail_reason_unknown" msgid="999034019513096768">"Error desconocido"</string>
     <string name="select_vcard_title" msgid="3968948173786172468">"Seleccionar archivo de vCard"</string>
@@ -293,7 +292,8 @@
     <string name="fail_reason_could_not_initialize_exporter" msgid="4943708332700987376">"No se ha podido inicializar el exportador: \"<xliff:g id="EXACT_REASON">%s</xliff:g>\""</string>
     <string name="fail_reason_error_occurred_during_export" msgid="2151165129433831202">"Se ha producido un error durante la exportación: \"<xliff:g id="EXACT_REASON">%s</xliff:g>\""</string>
     <string name="composer_failed_to_get_database_infomation" msgid="3723109558155169053">"Error al obtener información de la base de datos"</string>
-    <string name="composer_has_no_exportable_contact" msgid="2239503301380653777">"No hay contactos que exportar. Puedes seleccionar datos no exportables."</string>
+    <!-- no translation found for composer_has_no_exportable_contact (754734132189369094) -->
+    <skip />
     <string name="composer_not_initialized" msgid="8041534450748388843">"El redactor de vCard no se ha inicializado correctamente."</string>
     <string name="fail_reason_could_not_open_file" msgid="4013520943128739511">"No se ha podido abrir el archivo \"<xliff:g id="FILE_NAME">%s</xliff:g>\": <xliff:g id="EXACT_REASON">%s</xliff:g>"</string>
     <string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> de <xliff:g id="TOTAL_NUMBER">%s</xliff:g> contactos"</string>
@@ -380,7 +380,7 @@
     <string name="email_home" msgid="8573740658148184279">"Enviar email a casa"</string>
     <string name="email_mobile" msgid="2042889209787989814">"Enviar email al móvil"</string>
     <string name="email_work" msgid="2807430017302722689">"Enviar email a trabajo"</string>
-    <string name="email_other" msgid="8093933498541795832">"Enviar correo electrónico"</string>
+    <string name="email_other" msgid="8093933498541795832">"Enviar email a otro"</string>
     <string name="email_custom" msgid="7548003991586214105">"Correo electrónico <xliff:g id="CUSTOM">%s</xliff:g>"</string>
     <string name="email" msgid="5668400997660065897">"Correo electrónico"</string>
     <string name="map_home" msgid="1243547733423343982">"Ver dirección de casa"</string>
@@ -403,12 +403,12 @@
     <string name="postal_region" msgid="6045263193478437672">"Provincia/Estado"</string>
     <string name="postal_postcode" msgid="572136414136673751">"Código postal"</string>
     <string name="postal_country" msgid="7638264508416368690">"País"</string>
-    <string name="name_given" msgid="1687286314106019813">"Nombre"</string>
+    <string name="name_given" msgid="1687286314106019813">"Nombre de pila"</string>
     <string name="name_family" msgid="3416695586119999058">"Apellidos"</string>
     <string name="name_prefix" msgid="59756378548779822">"Prefijo del nombre"</string>
     <string name="name_middle" msgid="8467433655992690326">"Segundo nombre"</string>
     <string name="name_suffix" msgid="3855278445375651441">"Sufijo del nombre"</string>
-    <string name="name_phonetic_given" msgid="6853570431394449191">"Nombre fonético"</string>
+    <string name="name_phonetic_given" msgid="6853570431394449191">"Nombre de pila fonético"</string>
     <string name="name_phonetic_middle" msgid="8643721493320405200">"Segundo nombre fonético"</string>
     <string name="name_phonetic_family" msgid="462095502140180305">"Apellido fonético"</string>
     <string name="split_label" msgid="8262112659919449087">"Desagrupar"</string>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index bae53ed..7ed90aa 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -30,7 +30,7 @@
     <string name="viewContactDesription" msgid="214186610887547860">"Afficher le contact"</string>
     <string name="editContactDescription" msgid="2947202828256214947">"Modifier le contact"</string>
     <string name="insertContactDescription" msgid="4709878105452681987">"Créer un contact"</string>
-    <string name="searchHint" msgid="8482945356247760701">"Rech. des contacts"</string>
+    <string name="searchHint" msgid="8482945356247760701">"Rechercher des contacts"</string>
     <string name="menu_search" msgid="9147752853603483719">"Rechercher"</string>
     <string name="menu_newContact" msgid="1209922412763274638">"Nouveau contact"</string>
     <string name="menu_viewContact" msgid="2795575601596468581">"Afficher le contact"</string>
@@ -122,7 +122,7 @@
     <string name="select_group_title" msgid="7955698611959835612">"Groupes"</string>
     <string name="groupEmpty" msgid="6661950109828194595">"Votre groupe \"<xliff:g id="GROUPNAME">%s</xliff:g>\" est vide."</string>
     <string name="showAllGroups" msgid="5164410117611094297">"Tous les contacts"</string>
-    <string name="showFilterPhones" msgid="4184858075465653970">"Contacts avec un n° de tél."</string>
+    <string name="showFilterPhones" msgid="4184858075465653970">"Uniquement les contacts avec un téléphone"</string>
     <string name="showFilterPhonesDescrip" msgid="6644443248815191067">"Afficher uniquement les contacts avec un numéro de téléphone"</string>
     <string name="headerContactGroups" msgid="2426134991932503843">"Choisissez les contacts à afficher."</string>
   <plurals name="groupDescrip">
@@ -172,7 +172,7 @@
     <string name="socialStreamIconLabel" msgid="4367712449555075376">"Social"</string>
     <string name="contactsIconLabel" msgid="7666609097606552806">"Contacts"</string>
     <string name="contactsFavoritesLabel" msgid="8417039765586853670">"Favoris"</string>
-    <string name="dialerIconLabel" msgid="6500826552823403796">"Tél."</string>
+    <string name="dialerIconLabel" msgid="6500826552823403796">"Tel."</string>
     <string name="recentCallsIconLabel" msgid="1419116422359067949">"Appels"</string>
     <string name="liveFolderAll" msgid="4789010460767506206">"Tous les contacts"</string>
     <string name="liveFolderFavorites" msgid="3100957542927222282">"Contacts suivis"</string>
@@ -199,7 +199,7 @@
     <string name="noContactsHelpTextWithSync" msgid="3734101165712848179">"Vous n\'avez aucun contact à afficher (si vous venez d\'ajouter un compte, la synchronisation des contacts peut prendre quelques minutes)."\n\n"Pour ajouter des contacts, appuyez sur "<font fgcolor="#ffffffff"><b>"Menu"</b></font>" et sélectionnez :"\n" "\n<li><font fgcolor="#ffffffff"><b>"Comptes"</b></font>" pour ajouter ou configurer un compte comportant des contacts que vous pourrez synchroniser sur le téléphone ;"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Options d\'affichage"</b></font>" pour modifier le paramètre de visibilité des contacts ;"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Nouveau contact"</b></font>" pour créer une entrée ;"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Importer/Exporter."</b></font>\n</li></string>
     <string name="noContactsNoSimHelpText" msgid="6553845386917463292">"Vous n\'avez aucun contact à afficher."\n\n"Pour ajouter des contacts, appuyez sur "<font fgcolor="#ffffffff"><b>"Menu"</b></font>" et sélectionnez :"\n" "\n<li><font fgcolor="#ffffffff"><b>"Comptes"</b></font>" pour ajouter ou configurer un compte dont vous pourrez synchroniser les contacts sur le téléphone ;"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Nouveau contact"</b></font>" pour créer un contact ;"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Importer/Exporter."</b></font>\n</li></string>
     <string name="noContactsNoSimHelpTextWithSync" msgid="1122296298361373488">"Vous n\'avez aucun contact à afficher (si vous venez d\'ajouter un compte, la synchronisation des contacts peut prendre quelques minutes)."\n\n"Pour ajouter des contacts, appuyez sur "<font fgcolor="#ffffffff"><b>"Menu"</b></font>" et sélectionnez :"\n" "\n<li><font fgcolor="#ffffffff"><b>"Comptes"</b></font>" pour ajouter ou configurer un compte comportant des contacts que vous pourrez synchroniser sur le téléphone ;"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Options d\'affichage"</b></font>" pour modifier le paramètre de visibilité des contacts ;"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Nouveau contact"</b></font>" pour créer une entrée ;"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Importer/Exporter."</b></font>\n</li></string>
-    <string name="noFavoritesHelpText" msgid="3744655776704833277">"Aucun favori."\n\n"Pour ajouter un contact à la liste de favoris :"\n\n" "<li>"Appuyez sur l\'onglet "<b>"Contacts"</b>"."\n</li>" "\n<li>"Appuyez sur le contact à ajouter à vos favoris."\n</li>" "\n<li>"Appuyez sur l\'étoile en regard du nom du contact."\n</li></string>
+    <string name="noFavoritesHelpText" msgid="3744655776704833277">"Vous ne disposez d\'aucun favoris."\n\n"Pour ajouter un contact à la liste de favoris :"\n\n"        "<li>"Appuyez sur l\'onglet "<b>"Contacts"</b>"."\n</li>" "\n<li>"Appuyez sur le contact à ajouter à vos favoris."\n</li>" "\n<li>"Appuyez sur l\'étoile en regard du nom du contact."\n</li></string>
     <string name="seclectSyncGroups_title" msgid="1235432026231325655">"Sélectionner les groupes à synchroniser"</string>
     <string name="liveFolder_all_label" msgid="5961411940473276616">"Tous les contacts"</string>
     <string name="liveFolder_favorites_label" msgid="2674341514070517105">"Suivis"</string>
@@ -220,7 +220,7 @@
     <string name="ringtone_spinner" msgid="7317823545379736528">"Sonnerie : <xliff:g id="RINGTONE">%1$s</xliff:g>"</string>
     <string name="add_more_items" msgid="7754115197545456663">"Ajouter d\'autres éléments"</string>
     <string name="actionCall" msgid="695145166039381504">"Appeler <xliff:g id="TYPE">%s</xliff:g>"</string>
-    <string name="actionEmail" msgid="3870371552333656807">"Env. e-mail à <xliff:g id="TYPE">%s</xliff:g>"</string>
+    <string name="actionEmail" msgid="3870371552333656807">"Envoyer un e-mail à <xliff:g id="TYPE">%s</xliff:g>"</string>
     <string name="actionText" msgid="6399049224844880108">"Envoyer un SMS (<xliff:g id="TYPE">%s</xliff:g>)"</string>
     <string name="actionChat" msgid="31079429748650300">"Chatter via <xliff:g id="TYPE">%s</xliff:g>"</string>
     <string name="actionMap" msgid="1977955782051732775">"Afficher l\'adresse <xliff:g id="TYPE">%s</xliff:g>"</string>
@@ -377,14 +377,14 @@
     <string name="sms_work_pager" msgid="5566924423316960597">"Envoyer un SMS vers téléavertisseur (bureau)"</string>
     <string name="sms_assistant" msgid="2773424339923116234">"Envoyer un message texte à <xliff:g id="ASSISTANT">%s</xliff:g>"</string>
     <string name="sms_mms" msgid="4069352461380762677">"Envoyer un MMS"</string>
-    <string name="email_home" msgid="8573740658148184279">"Env. e-mail domicile"</string>
+    <string name="email_home" msgid="8573740658148184279">"Envoyer un e-mail au domicile"</string>
     <string name="email_mobile" msgid="2042889209787989814">"Envoyer un e-mail sur le mobile"</string>
-    <string name="email_work" msgid="2807430017302722689">"Env. e-mail bureau"</string>
+    <string name="email_work" msgid="2807430017302722689">"Envoyer un e-mail au bureau"</string>
     <string name="email_other" msgid="8093933498541795832">"Envoyer un e-mail à autre adresse"</string>
-    <string name="email_custom" msgid="7548003991586214105">"Env. e-mail à <xliff:g id="CUSTOM">%s</xliff:g>"</string>
+    <string name="email_custom" msgid="7548003991586214105">"Envoyer un e-mail à <xliff:g id="CUSTOM">%s</xliff:g>"</string>
     <string name="email" msgid="5668400997660065897">"Envoyer un e-mail"</string>
-    <string name="map_home" msgid="1243547733423343982">"Afficher adresse perso"</string>
-    <string name="map_work" msgid="1360474076921878088">"Afficher adresse prof."</string>
+    <string name="map_home" msgid="1243547733423343982">"Afficher l\'adresse personnelle"</string>
+    <string name="map_work" msgid="1360474076921878088">"Afficher l\'adresse professionnelle"</string>
     <string name="map_other" msgid="5560707927535653892">"Afficher autre adresse"</string>
     <string name="map_custom" msgid="6184363799976265281">"Afficher adresse <xliff:g id="CUSTOM">%s</xliff:g>"</string>
     <string name="chat_aim" msgid="2588492205291249142">"Chatter via AIM"</string>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index 6615020..d32b8f6 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -41,7 +41,7 @@
     <string name="menu_editContact" msgid="3452858480713561396">"Modifica contatto"</string>
     <string name="menu_deleteContact" msgid="1916555454274101750">"Elimina contatto"</string>
     <string name="menu_call" msgid="3992595586042260618">"Chiama contatto"</string>
-    <string name="menu_sendSMS" msgid="5535886767547006515">"Invia SMS a contatto"</string>
+    <string name="menu_sendSMS" msgid="5535886767547006515">"Invia testo a n. contatto"</string>
     <string name="menu_sendEmail" msgid="7293508859242926187">"Invia email"</string>
     <string name="menu_viewAddress" msgid="1814744325763202024">"Indirizzo su mappa"</string>
     <string name="menu_makeDefaultNumber" msgid="4838759253316649534">"Rendi numero predefinito"</string>
@@ -122,7 +122,7 @@
     <string name="select_group_title" msgid="7955698611959835612">"Gruppi"</string>
     <string name="groupEmpty" msgid="6661950109828194595">"Il gruppo \"<xliff:g id="GROUPNAME">%s</xliff:g>\" è vuoto."</string>
     <string name="showAllGroups" msgid="5164410117611094297">"Tutti i contatti"</string>
-    <string name="showFilterPhones" msgid="4184858075465653970">"Solo contatti con numeri di tel."</string>
+    <string name="showFilterPhones" msgid="4184858075465653970">"Solo contatti con numeri di telefono"</string>
     <string name="showFilterPhonesDescrip" msgid="6644443248815191067">"Visualizza solo i contatti con numeri di telefono"</string>
     <string name="headerContactGroups" msgid="2426134991932503843">"Scegli i contatti da visualizzare"</string>
   <plurals name="groupDescrip">
@@ -142,7 +142,7 @@
     <string name="contactSavedErrorToast" msgid="9189098776225004666">"Errore, impossibile salvare le modifiche ai contatti."</string>
     <string name="listSeparatorCallNumber" msgid="7115321894439629408">"Componi numero"</string>
     <string name="listSeparatorCallNumber_edit" msgid="2999167270900823334">"Numeri di telefono"</string>
-    <string name="listSeparatorSendSmsMms" msgid="5351657038532024412">"Invia SMS"</string>
+    <string name="listSeparatorSendSmsMms" msgid="5351657038532024412">"Invia testo"</string>
     <string name="listSeparatorSendEmail" msgid="5395590830304525721">"Invia email"</string>
     <string name="listSeparatorSendEmail_edit" msgid="6859593624213634454">"Indirizzi email"</string>
     <string name="listSeparatorSendIm" msgid="2209260633185984105">"Invia messagio chat"</string>
@@ -264,7 +264,6 @@
     <string name="fail_reason_vcard_parse_error" msgid="1201233722762680214">"Impossibile analizzare la vCard per motivi imprevisti"</string>
     <string name="fail_reason_vcard_not_supported_error" msgid="655208100451286027">"Impossibile analizzare la vCard nonostante sembri avere un formato valido perché l\'implementazione corrente non la supporta"</string>
     <string name="fail_reason_no_vcard_file" msgid="6376516175882881595">"Nessun file vCard trovato sulla scheda SD"</string>
-    <string name="fail_reason_no_vcard_entry" msgid="4733290752474073143">"Nessuna voce vCard valida trovata per la tua selezione"</string>
     <string name="fail_reason_failed_to_read_files" msgid="3659521123567134029">"Impossibile importare uno o più file (%s)."</string>
     <string name="fail_reason_unknown" msgid="999034019513096768">"Errore sconosciuto"</string>
     <string name="select_vcard_title" msgid="3968948173786172468">"Seleziona file vCard"</string>
@@ -293,7 +292,8 @@
     <string name="fail_reason_could_not_initialize_exporter" msgid="4943708332700987376">"Impossibile inizializzare l\'utilità di esportazione: \"<xliff:g id="EXACT_REASON">%s</xliff:g>\""</string>
     <string name="fail_reason_error_occurred_during_export" msgid="2151165129433831202">"Si è verificato un errore durante l\'esportazione: \"<xliff:g id="EXACT_REASON">%s</xliff:g>\""</string>
     <string name="composer_failed_to_get_database_infomation" msgid="3723109558155169053">"Recupero informazioni database non riuscito"</string>
-    <string name="composer_has_no_exportable_contact" msgid="2239503301380653777">"Nessun contatto esportabile. Potresti scegliere dati non esportabili"</string>
+    <!-- no translation found for composer_has_no_exportable_contact (754734132189369094) -->
+    <skip />
     <string name="composer_not_initialized" msgid="8041534450748388843">"Il compositore di vCard non è correttamente inizializzato"</string>
     <string name="fail_reason_could_not_open_file" msgid="4013520943128739511">"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" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> contatti su <xliff:g id="TOTAL_NUMBER">%s</xliff:g>"</string>
@@ -336,12 +336,12 @@
     <string name="account_phone" msgid="4025734638492419713">"Solo su telefono (non sincronizzato)"</string>
     <string name="label_email_display_name" msgid="5537802602754309600">"Nome visualizzato"</string>
     <string name="call_custom" msgid="7756571794763171802">"Chiama n. <xliff:g id="CUSTOM">%s</xliff:g>"</string>
-    <string name="call_home" msgid="1990519474420545392">"Chiama casa"</string>
-    <string name="call_mobile" msgid="7502236805487609178">"Chiama cellulare"</string>
-    <string name="call_work" msgid="5328785911463744028">"Chiama ufficio"</string>
-    <string name="call_fax_work" msgid="7467763592359059243">"Chiama fax ufficio"</string>
+    <string name="call_home" msgid="1990519474420545392">"Chiama n. casa"</string>
+    <string name="call_mobile" msgid="7502236805487609178">"Chiama n. cellulare"</string>
+    <string name="call_work" msgid="5328785911463744028">"Chiama n. ufficio"</string>
+    <string name="call_fax_work" msgid="7467763592359059243">"Chiama n. fax ufficio"</string>
     <string name="call_fax_home" msgid="8342175628887571876">"Chiama n. fax casa"</string>
-    <string name="call_pager" msgid="9003902812293983281">"Chiama cercapersone"</string>
+    <string name="call_pager" msgid="9003902812293983281">"Chiama n. cercapersone"</string>
     <string name="call_other" msgid="5605584621798108205">"Chiama altro"</string>
     <string name="call_callback" msgid="1910165691349426858">"Chiama n. callback"</string>
     <string name="call_car" msgid="3280537320306436445">"Chiama n. automobile"</string>
@@ -349,18 +349,18 @@
     <string name="call_isdn" msgid="1541590690193403411">"Chiama n. ISDN"</string>
     <string name="call_main" msgid="6082900571803441339">"Chiama n. principale"</string>
     <string name="call_other_fax" msgid="7777261153532968503">"Chiama n. altro fax"</string>
-    <string name="call_radio" msgid="8296755876398357063">"Chiama radiotelefono"</string>
-    <string name="call_telex" msgid="2223170774548648114">"Chiama telex"</string>
+    <string name="call_radio" msgid="8296755876398357063">"Chiama n. segnale cellulare"</string>
+    <string name="call_telex" msgid="2223170774548648114">"Chiama n. telex"</string>
     <string name="call_tty_tdd" msgid="8951266948204379604">"Chiama n. TTY/TDD"</string>
-    <string name="call_work_mobile" msgid="8707874281430105394">"Chiama cellulare lavoro"</string>
-    <string name="call_work_pager" msgid="3419348514157949008">"Chiama cercapersone ufficio"</string>
+    <string name="call_work_mobile" msgid="8707874281430105394">"Chiama n. cellulare ufficio"</string>
+    <string name="call_work_pager" msgid="3419348514157949008">"Chiama n. cercapersone ufficio"</string>
     <string name="call_assistant" msgid="2141641383068514308">"Chiama <xliff:g id="ASSISTANT">%s</xliff:g>"</string>
     <string name="call_mms" msgid="6274041545876221437">"Chiama n. MMS"</string>
     <string name="sms_custom" msgid="5932736853732191825">"Invia SMS a n. <xliff:g id="CUSTOM">%s</xliff:g>"</string>
     <string name="sms_home" msgid="7524332261493162995">"Invia SMS a n. casa"</string>
-    <string name="sms_mobile" msgid="5200107250451030769">"Invia SMS a cellulare"</string>
-    <string name="sms_work" msgid="2269624156655267740">"Invia SMS a ufficio"</string>
-    <string name="sms_fax_work" msgid="8028189067816907075">"Invia SMS a fax ufficio"</string>
+    <string name="sms_mobile" msgid="5200107250451030769">"Invia SMS a n. cellulare"</string>
+    <string name="sms_work" msgid="2269624156655267740">"Invia SMS a n. ufficio"</string>
+    <string name="sms_fax_work" msgid="8028189067816907075">"Invia SMS a n. fax ufficio"</string>
     <string name="sms_fax_home" msgid="9204042076306809634">"Invia SMS a n. fax casa"</string>
     <string name="sms_pager" msgid="7730404569637015192">"Invia SMS a n. cercapersone"</string>
     <string name="sms_other" msgid="5131921487474531617">"Invia SMS ad altro"</string>
@@ -370,12 +370,12 @@
     <string name="sms_isdn" msgid="8153785037515047845">"Invia SMS a n. ISDN"</string>
     <string name="sms_main" msgid="8621625784504541679">"Invia SMS a n. principale"</string>
     <string name="sms_other_fax" msgid="3930666870074006114">"Invia SMS a n. altro fax"</string>
-    <string name="sms_radio" msgid="3329166673433967820">"Invia SMS a radiotelefono"</string>
+    <string name="sms_radio" msgid="3329166673433967820">"Invia SMS a n. segnale cellulare"</string>
     <string name="sms_telex" msgid="9034802430065267848">"Invia SMS a n. telex"</string>
     <string name="sms_tty_tdd" msgid="6782284969132531532">"Invia SMS a n. TTY/TDD"</string>
-    <string name="sms_work_mobile" msgid="2459939960512702560">"Invia SMS a cellulare lavoro"</string>
-    <string name="sms_work_pager" msgid="5566924423316960597">"Invia SMS a cercapersone ufficio"</string>
-    <string name="sms_assistant" msgid="2773424339923116234">"Invia SMS ad <xliff:g id="ASSISTANT">%s</xliff:g>"</string>
+    <string name="sms_work_mobile" msgid="2459939960512702560">"Invia SMS a n. cellulare ufficio"</string>
+    <string name="sms_work_pager" msgid="5566924423316960597">"Invia SMS a n. cercapersone ufficio"</string>
+    <string name="sms_assistant" msgid="2773424339923116234">"Invia testo a <xliff:g id="ASSISTANT">%s</xliff:g>"</string>
     <string name="sms_mms" msgid="4069352461380762677">"Invia SMS a n. MMS"</string>
     <string name="email_home" msgid="8573740658148184279">"Invia email a ind. casa"</string>
     <string name="email_mobile" msgid="2042889209787989814">"Invia email a ind. cellulare"</string>
@@ -383,18 +383,18 @@
     <string name="email_other" msgid="8093933498541795832">"Invia email ad altro"</string>
     <string name="email_custom" msgid="7548003991586214105">"Invia email a ind. <xliff:g id="CUSTOM">%s</xliff:g>"</string>
     <string name="email" msgid="5668400997660065897">"Email"</string>
-    <string name="map_home" msgid="1243547733423343982">"Visualizza indirizzo casa"</string>
+    <string name="map_home" msgid="1243547733423343982">"Visualizza indirizzo di casa"</string>
     <string name="map_work" msgid="1360474076921878088">"Visualizza indirizzo ufficio"</string>
     <string name="map_other" msgid="5560707927535653892">"Visualizza altro indirizzo"</string>
     <string name="map_custom" msgid="6184363799976265281">"Visualizza indirizzo <xliff:g id="CUSTOM">%s</xliff:g>"</string>
-    <string name="chat_aim" msgid="2588492205291249142">"Chatta su AIM"</string>
-    <string name="chat_msn" msgid="8041633440091073484">"Chatta su Windows Live"</string>
-    <string name="chat_yahoo" msgid="6629211142719943666">"Chatta su Yahoo"</string>
-    <string name="chat_skype" msgid="1210045020427480566">"Chatta su Skype"</string>
-    <string name="chat_qq" msgid="4294637812847719693">"Chatta su QQ"</string>
-    <string name="chat_gtalk" msgid="981575737258117697">"Chatta su Google Talk"</string>
-    <string name="chat_icq" msgid="8438405386153745775">"Chatta su ICQ"</string>
-    <string name="chat_jabber" msgid="7561444230307829609">"Chatta su Jabber"</string>
+    <string name="chat_aim" msgid="2588492205291249142">"Chatta tramite AIM"</string>
+    <string name="chat_msn" msgid="8041633440091073484">"Chatta tramite Windows Live"</string>
+    <string name="chat_yahoo" msgid="6629211142719943666">"Chatta tramite Yahoo"</string>
+    <string name="chat_skype" msgid="1210045020427480566">"Chatta tramite Skype"</string>
+    <string name="chat_qq" msgid="4294637812847719693">"Chatta tramite QQ"</string>
+    <string name="chat_gtalk" msgid="981575737258117697">"Chatta tramite Google Talk"</string>
+    <string name="chat_icq" msgid="8438405386153745775">"Chatta tramite ICQ"</string>
+    <string name="chat_jabber" msgid="7561444230307829609">"Chatta tramite Jabber"</string>
     <string name="chat" msgid="9025361898797412245">"Chatta"</string>
     <string name="postal_street" msgid="8133143961580058972">"Indirizzo postale"</string>
     <string name="postal_pobox" msgid="4431938829180269821">"Casella postale"</string>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index fdb7858..611f25f 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -264,7 +264,6 @@
     <string name="fail_reason_vcard_parse_error" msgid="1201233722762680214">"予期しない理由によりvCardの解析に失敗しました"</string>
     <string name="fail_reason_vcard_not_supported_error" msgid="655208100451286027">"vCardの解析に失敗しました。正しいフォーマットですが、現在サポートされていません。"</string>
     <string name="fail_reason_no_vcard_file" msgid="6376516175882881595">"SDカードでvCardファイルが見つかりません"</string>
-    <string name="fail_reason_no_vcard_entry" msgid="4733290752474073143">"選択した内容の有効なvCardエントリが見つかりません"</string>
     <string name="fail_reason_failed_to_read_files" msgid="3659521123567134029">"1つ以上のファイルをインポートできませんでした（%s）。"</string>
     <string name="fail_reason_unknown" msgid="999034019513096768">"不明なエラー"</string>
     <string name="select_vcard_title" msgid="3968948173786172468">"vCardファイルの選択"</string>
@@ -293,7 +292,8 @@
     <string name="fail_reason_could_not_initialize_exporter" msgid="4943708332700987376">"エクスポータを初期化できませんでした: \"<xliff:g id="EXACT_REASON">%s</xliff:g>\""</string>
     <string name="fail_reason_error_occurred_during_export" msgid="2151165129433831202">"エクスポート中にエラーが発生しました: \"<xliff:g id="EXACT_REASON">%s</xliff:g>\""</string>
     <string name="composer_failed_to_get_database_infomation" msgid="3723109558155169053">"データベース情報の取得に失敗しました"</string>
-    <string name="composer_has_no_exportable_contact" msgid="2239503301380653777">"エクスポートできる連絡先がありません。エクスポートできないデータを選択している可能性があります。"</string>
+    <!-- no translation found for composer_has_no_exportable_contact (754734132189369094) -->
+    <skip />
     <string name="composer_not_initialized" msgid="8041534450748388843">"vCardコンポーザーが正しく初期化されていません"</string>
     <string name="fail_reason_could_not_open_file" msgid="4013520943128739511">"\"<xliff:g id="FILE_NAME">%s</xliff:g>\"を開けませんでした: <xliff:g id="EXACT_REASON">%s</xliff:g>"</string>
     <string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g>/<xliff:g id="TOTAL_NUMBER">%s</xliff:g>件のファイル"</string>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index 58ac6ef..d35bc91 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -210,7 +210,7 @@
     <string name="callDetailTitle" msgid="5340227785196217938">"통화 세부정보"</string>
     <string name="toast_call_detail_error" msgid="7200975244804730096">"요청한 통화의 세부정보를 읽지 못했습니다."</string>
     <string name="call_type" msgid="3213526349444862087">"유형"</string>
-    <string name="type_incoming" msgid="6502076603836088532">"수신전화"</string>
+    <string name="type_incoming" msgid="6502076603836088532">"수신 전화"</string>
     <string name="type_outgoing" msgid="343108709599392641">"발신 통화"</string>
     <string name="type_missed" msgid="2720502601640509542">"부재중 전화"</string>
     <string name="call_time" msgid="5805575214626630975">"시간"</string>
@@ -224,7 +224,7 @@
     <string name="actionText" msgid="6399049224844880108">"문자(<xliff:g id="TYPE">%s</xliff:g>)"</string>
     <string name="actionChat" msgid="31079429748650300">"<xliff:g id="TYPE">%s</xliff:g>로 채팅"</string>
     <string name="actionMap" msgid="1977955782051732775">"<xliff:g id="TYPE">%s</xliff:g> 주소 보기"</string>
-    <string name="actionIncomingCall" msgid="6028930669817038600">"수신전화"</string>
+    <string name="actionIncomingCall" msgid="6028930669817038600">"수신 전화"</string>
     <string name="detailIncomingCallsGoToVoicemail" msgid="9163373178772231307">"바로 음성메일로 연결됩니다."</string>
     <string name="detailsRingtone" msgid="4052108748982701775">"<xliff:g id="RINGTONE_NAME">%s</xliff:g>(으)로 설정"</string>
     <string name="callBack" msgid="5498224409038809224">"통화"</string>
@@ -264,7 +264,6 @@
     <string name="fail_reason_vcard_parse_error" msgid="1201233722762680214">"예기치 못한 이유로 인해 vCard를 구문분석하지 못했습니다."</string>
     <string name="fail_reason_vcard_not_supported_error" msgid="655208100451286027">"올바른 형식처럼 보이지만 현재 구현 환경에서는 VCard를 지원하지 않기 때문에 VCard 구문 분석에 실패했습니다."</string>
     <string name="fail_reason_no_vcard_file" msgid="6376516175882881595">"SD 카드에 VCard 파일이 없습니다."</string>
-    <string name="fail_reason_no_vcard_entry" msgid="4733290752474073143">"선택한 항목에 유효한 VCard 항목이 없습니다."</string>
     <string name="fail_reason_failed_to_read_files" msgid="3659521123567134029">"하나 이상의 파일을 가져오지 못했습니다(%s)."</string>
     <string name="fail_reason_unknown" msgid="999034019513096768">"알 수 없는 오류"</string>
     <string name="select_vcard_title" msgid="3968948173786172468">"vCard 파일 선택"</string>
@@ -293,7 +292,8 @@
     <string name="fail_reason_could_not_initialize_exporter" msgid="4943708332700987376">"내보내기를 초기화하지 못했습니다. \'<xliff:g id="EXACT_REASON">%s</xliff:g>\'"</string>
     <string name="fail_reason_error_occurred_during_export" msgid="2151165129433831202">"내보내는 중에 오류가 발생했습니다. \'<xliff:g id="EXACT_REASON">%s</xliff:g>\'"</string>
     <string name="composer_failed_to_get_database_infomation" msgid="3723109558155169053">"데이터베이스 정보를 가져오지 못했습니다."</string>
-    <string name="composer_has_no_exportable_contact" msgid="2239503301380653777">"내보낼 수 있는 연락처가 없습니다. 내보낼 수 없는 데이터를 선택할 수 있습니다."</string>
+    <!-- no translation found for composer_has_no_exportable_contact (754734132189369094) -->
+    <skip />
     <string name="composer_not_initialized" msgid="8041534450748388843">"vCard 작성기가 바르게 초기화되지 않았습니다."</string>
     <string name="fail_reason_could_not_open_file" msgid="4013520943128739511">"\'<xliff:g id="FILE_NAME">%s</xliff:g>\'을(를) 열 수 없습니다. <xliff:g id="EXACT_REASON">%s</xliff:g>"</string>
     <string name="exporting_contact_list_progress" msgid="560522409559101193">"연락처 <xliff:g id="CURRENT_NUMBER">%s</xliff:g>개(총 <xliff:g id="TOTAL_NUMBER">%s</xliff:g>개) 내보내는 중"</string>
@@ -342,7 +342,7 @@
     <string name="call_fax_work" msgid="7467763592359059243">"직장 팩스로 전화걸기"</string>
     <string name="call_fax_home" msgid="8342175628887571876">"집 팩스로 전화걸기"</string>
     <string name="call_pager" msgid="9003902812293983281">"호출기로 전화걸기"</string>
-    <string name="call_other" msgid="5605584621798108205">"다른 연락처로 전화걸기"</string>
+    <string name="call_other" msgid="5605584621798108205">"기타 연락처로 전화걸기"</string>
     <string name="call_callback" msgid="1910165691349426858">"콜백 번호로 전화 걸기"</string>
     <string name="call_car" msgid="3280537320306436445">"카폰으로 전화걸기"</string>
     <string name="call_company_main" msgid="6105120947138711257">"회사 기본전화로 전화걸기"</string>
@@ -363,7 +363,7 @@
     <string name="sms_fax_work" msgid="8028189067816907075">"직장 팩스로 문자 보내기"</string>
     <string name="sms_fax_home" msgid="9204042076306809634">"집 팩스로 문자 보내기"</string>
     <string name="sms_pager" msgid="7730404569637015192">"호출기로 문자 보내기"</string>
-    <string name="sms_other" msgid="5131921487474531617">"다른 연락처로 문자 보내기"</string>
+    <string name="sms_other" msgid="5131921487474531617">"기타 연락처로 문자 보내기"</string>
     <string name="sms_callback" msgid="5004824430094288752">"콜백 번호로 문자 보내기"</string>
     <string name="sms_car" msgid="7444227058437359641">"카폰으로 문자 보내기"</string>
     <string name="sms_company_main" msgid="118970873419678087">"회사 기본전화로 문자 보내기"</string>
@@ -380,7 +380,7 @@
     <string name="email_home" msgid="8573740658148184279">"집으로 이메일 보내기"</string>
     <string name="email_mobile" msgid="2042889209787989814">"모바일로 이메일 보내기"</string>
     <string name="email_work" msgid="2807430017302722689">"직장으로 이메일 보내기"</string>
-    <string name="email_other" msgid="8093933498541795832">"다른 연락처로 이메일 보내기"</string>
+    <string name="email_other" msgid="8093933498541795832">"기타 연락처로 이메일 보내기"</string>
     <string name="email_custom" msgid="7548003991586214105">"이메일(<xliff:g id="CUSTOM">%s</xliff:g>)"</string>
     <string name="email" msgid="5668400997660065897">"이메일"</string>
     <string name="map_home" msgid="1243547733423343982">"집 주소 보기"</string>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index 6c41e23..e47266e 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -56,9 +56,12 @@
     <string name="menu_hideSources" msgid="71367585820555477">"Bronnen verbergen"</string>
     <string name="titleJoinAggregate" msgid="6970566008563147202">"Contact samenvoegen"</string>
     <string name="titleJoinContactDataWith" msgid="7684875775798635354">"Contacten samenvoegen"</string>
-    <string name="blurbJoinContactDataWith" msgid="995870557595050304">"Selecteer het contact dat u met <xliff:g id="NAME">%s</xliff:g> wilt samenvoegen."</string>
-    <string name="showAllContactsJoinItem" msgid="2189695051430392383">"Alle contacten weergeven"</string>
-    <string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Mogelijke contacten"</string>
+    <!-- no translation found for blurbJoinContactDataWith (995870557595050304) -->
+    <skip />
+    <!-- no translation found for showAllContactsJoinItem (2189695051430392383) -->
+    <skip />
+    <!-- no translation found for separatorJoinAggregateSuggestions (2831414448851313345) -->
+    <skip />
     <string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Alle contacten"</string>
     <string name="contactsJoinedMessage" msgid="7208148163607047389">"Contacten zijn samengevoegd"</string>
     <string name="menu_contactOptions" msgid="1957061455705020617">"Opties"</string>
@@ -66,7 +69,8 @@
     <string name="deleteConfirmation_title" msgid="6394309508930335204">"Verwijderen"</string>
     <string name="readOnlyContactWarning" msgid="1390849295342594265">"U kunt contacten niet verwijderen uit alleen-lezen accounts, maar u kunt ze verbergen in uw contactenlijst."</string>
     <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"Dit contact bevat gegevens uit meerdere accounts. Gegevens uit alleen-lezen accounts worden verborgen in uw contactenlijst, maar niet verwijderd."</string>
-    <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"Als u dit contact verwijdert, worden gegevens van meerdere accounts verwijderd."</string>
+    <!-- no translation found for multipleContactDeleteConfirmation (938900978442960800) -->
+    <skip />
     <string name="deleteConfirmation" msgid="811706994761610640">"Dit contact wordt verwijderd."</string>
     <string name="menu_done" msgid="796017761764190697">"Gereed"</string>
     <string name="menu_doNotSave" msgid="2174577548513895144">"Terugkeren"</string>
@@ -113,7 +117,8 @@
     <string name="send_to_voicemail_view" msgid="9124400414311776864">"Oproepen worden rechtstreeks naar voicemail verzonden."</string>
     <string name="default_ringtone" msgid="9099988849649827972">"Standaard"</string>
     <string name="addPicture" msgid="1594679312161537678">"Pictogram toevoegen"</string>
-    <string name="changePicture" msgid="2943329047610967714">"Pictogram wijzigen"</string>
+    <!-- no translation found for changePicture (2943329047610967714) -->
+    <skip />
     <string name="removePicture" msgid="3041230993155966350">"Pictogram verwijderen"</string>
     <string name="noContacts" msgid="8579310973261953559">"Geen contacten."</string>
     <string name="noMatchingContacts" msgid="4266283206853990471">"Kan geen overeenkomende contacten vinden."</string>
@@ -259,12 +264,13 @@
     <string name="import_all_vcard_string" msgid="5518136113853448474">"Alle vCard-bestanden importeren"</string>
     <string name="searching_vcard_message" msgid="6917522333561434546">"Zoeken naar vCard-gegevens op SD-kaart"</string>
     <string name="scanning_sdcard_failed_title" msgid="3506782007953167180">"Scannen van SD-kaart is mislukt"</string>
-    <string name="scanning_sdcard_failed_message" msgid="3761992500690182922">"Scannen van SD-kaart is mislukt: (Reden: \'<xliff:g id="FAIL_REASON">%s</xliff:g>\')"</string>
+    <!-- no translation found for scanning_sdcard_failed_message (3761992500690182922) -->
+    <skip />
     <string name="fail_reason_io_error" msgid="5922864781066136340">"I/O-fout"</string>
     <string name="fail_reason_vcard_parse_error" msgid="1201233722762680214">"Parseren van vCard is mislukt om onbekende reden"</string>
     <string name="fail_reason_vcard_not_supported_error" msgid="655208100451286027">"Kan vCard niet parseren, ook al lijkt de indeling geldig. vCard wordt niet ondersteund door de huidige implementatie"</string>
-    <string name="fail_reason_no_vcard_file" msgid="6376516175882881595">"Geen vCard-bestand gevonden op SD-kaart"</string>
-    <string name="fail_reason_no_vcard_entry" msgid="4733290752474073143">"Geen geldig vCard-item gevonden voor uw selectie"</string>
+    <!-- no translation found for fail_reason_no_vcard_file (6376516175882881595) -->
+    <skip />
     <string name="fail_reason_failed_to_read_files" msgid="3659521123567134029">"Een of meer bestanden kunnen niet worden geïmporteerd (%s)"</string>
     <string name="fail_reason_unknown" msgid="999034019513096768">"Onbekende fout"</string>
     <string name="select_vcard_title" msgid="3968948173786172468">"vCard-bestand selecteren"</string>
@@ -293,7 +299,8 @@
     <string name="fail_reason_could_not_initialize_exporter" msgid="4943708332700987376">"Kan het exportprogramma niet initialiseren: \'<xliff:g id="EXACT_REASON">%s</xliff:g>\'"</string>
     <string name="fail_reason_error_occurred_during_export" msgid="2151165129433831202">"Fout opgetreden tijdens export: \'<xliff:g id="EXACT_REASON">%s</xliff:g>\'"</string>
     <string name="composer_failed_to_get_database_infomation" msgid="3723109558155169053">"Databasegegevens ophalen mislukt"</string>
-    <string name="composer_has_no_exportable_contact" msgid="2239503301380653777">"Er is geen contact dat geëxporteerd kan worden. Mogelijk heeft u niet-exporteerbare gegevens gekozen."</string>
+    <!-- no translation found for composer_has_no_exportable_contact (754734132189369094) -->
+    <skip />
     <string name="composer_not_initialized" msgid="8041534450748388843">"De vCard-editor is niet juist geïnitialiseerd"</string>
     <string name="fail_reason_could_not_open_file" msgid="4013520943128739511">"Kan \'<xliff:g id="FILE_NAME">%s</xliff:g>\' niet openen: <xliff:g id="EXACT_REASON">%s</xliff:g>"</string>
     <string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> van <xliff:g id="TOTAL_NUMBER">%s</xliff:g> contacten"</string>
@@ -304,9 +311,12 @@
     <string name="call_disambig_title" msgid="1911302597959335178">"Bellen met"</string>
     <string name="sms_disambig_title" msgid="4675399294513152364">"Sms\'en met"</string>
     <string name="make_primary" msgid="5829291915305113983">"Deze keuze onthouden"</string>
-    <string name="quickcontact_missing_app" msgid="4600366393134289038">"Er is geen toepassing gevonden om deze actie uit te voeren"</string>
-    <string name="quickcontact_remember_choice" msgid="5964536411579749424">"Deze keuze onthouden"</string>
-    <string name="quickcontact_missing_name" msgid="5590266114306996632">"Onbekend"</string>
+    <!-- no translation found for quickcontact_missing_app (4600366393134289038) -->
+    <skip />
+    <!-- no translation found for quickcontact_remember_choice (5964536411579749424) -->
+    <skip />
+    <!-- no translation found for quickcontact_missing_name (5590266114306996632) -->
+    <skip />
     <string name="menu_accounts" msgid="8499114602017077970">"Accounts"</string>
     <string name="menu_import_export" msgid="3765725645491577190">"Importeren/exporteren"</string>
     <string name="dialog_import_export" msgid="4771877268244096596">"Contacten importeren/exporteren"</string>
@@ -317,21 +327,25 @@
     <string name="nicknameLabelsGroup" msgid="2891682101053358010">"Bijnaam"</string>
     <string name="organizationLabelsGroup" msgid="2478611760751832035">"Organisatie"</string>
     <string name="websiteLabelsGroup" msgid="4202998982804009261">"Website"</string>
-    <string name="eventLabelsGroup" msgid="8069912895912714412">"Afspraak"</string>
+    <!-- no translation found for eventLabelsGroup (8069912895912714412) -->
+    <skip />
     <string name="type_short_home" msgid="7770424864090605384">"H"</string>
     <string name="type_short_mobile" msgid="1655473281466676216">"M"</string>
     <string name="type_short_work" msgid="4925330752504537861">"W"</string>
     <string name="type_short_pager" msgid="2613818970827594238">"P"</string>
     <string name="type_short_other" msgid="5669407180177236769">"O"</string>
     <string name="edit_read_only" msgid="8158629550655830981">"Dit contact is alleen-lezen"</string>
-    <string name="edit_secondary_collapse" msgid="5371618426594477103">"Meer"</string>
+    <!-- no translation found for edit_secondary_collapse (5371618426594477103) -->
+    <skip />
     <string name="dialog_primary_name" msgid="5521591005692614833">"Primaire naam"</string>
     <string name="dialog_new_contact_account" msgid="9044704073286262197">"Contact in account maken"</string>
     <string name="menu_sync_remove" msgid="3266725887008450161">"Synchronisatiegroep verwijderen"</string>
     <string name="dialog_sync_add" msgid="8267045393119375803">"Synchronisatiegroep toevoegen"</string>
     <string name="display_more_groups" msgid="2682547080423434170">"Meer groepen…"</string>
-    <string name="display_ungrouped" msgid="4602580795576261158">"Alle andere contacten"</string>
-    <string name="display_all_contacts" msgid="6846131371214707956">"Alle contacten"</string>
+    <!-- no translation found for display_ungrouped (4602580795576261158) -->
+    <skip />
+    <!-- no translation found for display_all_contacts (6846131371214707956) -->
+    <skip />
     <string name="display_warn_remove_ungrouped" msgid="2314043155909167610">"Als u \'<xliff:g id="GROUP">%s</xliff:g>\' verwijdert uit de synchronisatie, worden ook contacten die niet bij een groep horen uit de synchronisatie verwijderd."</string>
     <string name="account_phone" msgid="4025734638492419713">"Alleen voor telefoon (niet gesynchroniseerd)"</string>
     <string name="label_email_display_name" msgid="5537802602754309600">"Weergavenaam"</string>
@@ -413,7 +427,8 @@
     <string name="name_phonetic_family" msgid="462095502140180305">"Fonetische achternaam"</string>
     <string name="split_label" msgid="8262112659919449087">"Splitsen"</string>
     <string name="split_explanation" msgid="1824739956426973592">"Maak van deze gegevens een nieuw contact."</string>
-    <string name="account_name_format" msgid="4421123930035299208">"Van <xliff:g id="SOURCE">%1$s</xliff:g>-account: <xliff:g id="ACCOUNT">%2$s</xliff:g>"</string>
+    <!-- no translation found for account_name_format (4421123930035299208) -->
+    <skip />
     <string name="account_type_format" msgid="718948015590343010">"<xliff:g id="SOURCE">%1$s</xliff:g> contact"</string>
     <string name="from_account_format" msgid="687567483928582084">"van <xliff:g id="SOURCE">%1$s</xliff:g>"</string>
     <string name="use_photo_as_primary" msgid="8807110122951157246">"Deze foto gebruiken"</string>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 0769bfc..c4cf8d1 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -86,7 +86,7 @@
     <string name="ghostData_im" msgid="7737174936595812794">"Nazwa na czacie"</string>
     <string name="ghostData_notes" msgid="3044201271296187724">"Moja notatka"</string>
     <string name="ghostData_phone" msgid="6963153888271466620">"Numer telefonu"</string>
-    <string name="ghostData_email" msgid="6184537075551565919">"E-mail"</string>
+    <string name="ghostData_email" msgid="6184537075551565919">"Adres e-mail"</string>
     <string name="ghostData_postal" msgid="652611650594951897">"Adres pocztowy"</string>
     <string name="ghostData_group" msgid="4504591380347534114">"Wyświetl grupę"</string>
     <string name="invalidContactMessage" msgid="5816991830260044593">"Kontakt nie istnieje."</string>
@@ -230,7 +230,7 @@
     <string name="callBack" msgid="5498224409038809224">"Oddzwoń"</string>
     <string name="callAgain" msgid="3197312117049874778">"Zadzwoń ponownie"</string>
     <string name="returnCall" msgid="8171961914203617813">"Połączenie zwrotne"</string>
-    <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> min <xliff:g id="SECONDS">%s</xliff:g> s"</string>
+    <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> min <xliff:g id="SECONDS">%s</xliff:g> sek."</string>
     <string name="favoritesFrquentSeparator" msgid="5007070838253932139">"Częste połączenia"</string>
     <string name="add_contact_dlg_title" msgid="2896685845822146494">"Dodaj kontakt"</string>
     <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Czy dodać adres „<xliff:g id="EMAIL">%s</xliff:g>” do kontaktów?"</string>
@@ -264,7 +264,6 @@
     <string name="fail_reason_vcard_parse_error" msgid="1201233722762680214">"Nie można zanalizować pliku vCard z nieoczekiwanego powodu"</string>
     <string name="fail_reason_vcard_not_supported_error" msgid="655208100451286027">"Nie można zanalizować pliku vCard, mimo że prawdopodobnie ma on prawidłowy format. Bieżąca wersja go nie obsługuje."</string>
     <string name="fail_reason_no_vcard_file" msgid="6376516175882881595">"Na karcie SD nie znaleziono żadnego pliku vCard"</string>
-    <string name="fail_reason_no_vcard_entry" msgid="4733290752474073143">"W wybranym zakresie nie znaleziono prawidłowego wpisu vCard"</string>
     <string name="fail_reason_failed_to_read_files" msgid="3659521123567134029">"Nie można zaimportować co najmniej jednego pliku (%s)."</string>
     <string name="fail_reason_unknown" msgid="999034019513096768">"Nieznany błąd"</string>
     <string name="select_vcard_title" msgid="3968948173786172468">"Wybierz plik vCard"</string>
@@ -293,7 +292,8 @@
     <string name="fail_reason_could_not_initialize_exporter" msgid="4943708332700987376">"Nie można zainicjować programu eksportującego: „<xliff:g id="EXACT_REASON">%s</xliff:g>”"</string>
     <string name="fail_reason_error_occurred_during_export" msgid="2151165129433831202">"Wystąpił błąd podczas eksportowania: „<xliff:g id="EXACT_REASON">%s</xliff:g>”"</string>
     <string name="composer_failed_to_get_database_infomation" msgid="3723109558155169053">"Nie można pobrać informacji o bazie danych"</string>
-    <string name="composer_has_no_exportable_contact" msgid="2239503301380653777">"Brak kontaktów, które można wyeksportować. Być może wybrano dane, których nie można eksportować."</string>
+    <!-- no translation found for composer_has_no_exportable_contact (754734132189369094) -->
+    <skip />
     <string name="composer_not_initialized" msgid="8041534450748388843">"Obiekt tworzenia danych vCard nie został poprawnie zainicjowany"</string>
     <string name="fail_reason_could_not_open_file" msgid="4013520943128739511">"Nie można otworzyć pliku „<xliff:g id="FILE_NAME">%s</xliff:g>”: <xliff:g id="EXACT_REASON">%s</xliff:g>"</string>
     <string name="exporting_contact_list_progress" msgid="560522409559101193">"Kontakt <xliff:g id="CURRENT_NUMBER">%s</xliff:g> z <xliff:g id="TOTAL_NUMBER">%s</xliff:g>"</string>
@@ -335,30 +335,30 @@
     <string name="display_warn_remove_ungrouped" msgid="2314043155909167610">"Usunięcie grupy „<xliff:g id="GROUP">%s</xliff:g>” z ustawień synchronizacji spowoduje również usunięcie wszelkich rozgrupowanych kontaktów z tych ustawień."</string>
     <string name="account_phone" msgid="4025734638492419713">"Tylko telefon (brak synchronizacji)"</string>
     <string name="label_email_display_name" msgid="5537802602754309600">"Nazwa wyświetlana"</string>
-    <string name="call_custom" msgid="7756571794763171802">"Połącz – <xliff:g id="CUSTOM">%s</xliff:g>"</string>
-    <string name="call_home" msgid="1990519474420545392">"Połącz – domowy"</string>
-    <string name="call_mobile" msgid="7502236805487609178">"Połącz – komórka"</string>
-    <string name="call_work" msgid="5328785911463744028">"Połącz – służbowy"</string>
-    <string name="call_fax_work" msgid="7467763592359059243">"Połącz – faks służbowy"</string>
-    <string name="call_fax_home" msgid="8342175628887571876">"Połącz – faks domowy"</string>
-    <string name="call_pager" msgid="9003902812293983281">"Połącz – pager"</string>
-    <string name="call_other" msgid="5605584621798108205">"Połącz – inny"</string>
+    <string name="call_custom" msgid="7756571794763171802">"Telefon – <xliff:g id="CUSTOM">%s</xliff:g>"</string>
+    <string name="call_home" msgid="1990519474420545392">"Telefon – domowy"</string>
+    <string name="call_mobile" msgid="7502236805487609178">"Telefon – komórkowy"</string>
+    <string name="call_work" msgid="5328785911463744028">"Telefon – służbowy"</string>
+    <string name="call_fax_work" msgid="7467763592359059243">"Telefon – faks służbowy"</string>
+    <string name="call_fax_home" msgid="8342175628887571876">"Telefon – faks domowy"</string>
+    <string name="call_pager" msgid="9003902812293983281">"Telefon – pager"</string>
+    <string name="call_other" msgid="5605584621798108205">"Telefon – inny"</string>
     <string name="call_callback" msgid="1910165691349426858">"Zadzwoń – połączenie zwrotne"</string>
-    <string name="call_car" msgid="3280537320306436445">"Połącz – samochód"</string>
-    <string name="call_company_main" msgid="6105120947138711257">"Połącz – firmowy główny"</string>
+    <string name="call_car" msgid="3280537320306436445">"Telefon – samochód"</string>
+    <string name="call_company_main" msgid="6105120947138711257">"Telefon – firmowy główny"</string>
     <string name="call_isdn" msgid="1541590690193403411">"Zadzwoń – ISDN"</string>
     <string name="call_main" msgid="6082900571803441339">"Zadzwoń pod nr główny"</string>
     <string name="call_other_fax" msgid="7777261153532968503">"Połącz – inny faks"</string>
-    <string name="call_radio" msgid="8296755876398357063">"Połącz – radio"</string>
+    <string name="call_radio" msgid="8296755876398357063">"Telefon – radio"</string>
     <string name="call_telex" msgid="2223170774548648114">"Połącz – teleks"</string>
     <string name="call_tty_tdd" msgid="8951266948204379604">"Zadzwoń – TTY/TDD"</string>
-    <string name="call_work_mobile" msgid="8707874281430105394">"Połącz – służbowa komórka"</string>
-    <string name="call_work_pager" msgid="3419348514157949008">"Połącz – pager służbowy"</string>
+    <string name="call_work_mobile" msgid="8707874281430105394">"Zadzwoń – służbowy komórkowy"</string>
+    <string name="call_work_pager" msgid="3419348514157949008">"Zadzwoń – pager służbowy"</string>
     <string name="call_assistant" msgid="2141641383068514308">"Zadzwoń – <xliff:g id="ASSISTANT">%s</xliff:g>"</string>
-    <string name="call_mms" msgid="6274041545876221437">"Połącz – MMS"</string>
+    <string name="call_mms" msgid="6274041545876221437">"Telefon – wiadomość MMS"</string>
     <string name="sms_custom" msgid="5932736853732191825">"Tekst – <xliff:g id="CUSTOM">%s</xliff:g>"</string>
     <string name="sms_home" msgid="7524332261493162995">"Tekst – domowy"</string>
-    <string name="sms_mobile" msgid="5200107250451030769">"SMS – komórka"</string>
+    <string name="sms_mobile" msgid="5200107250451030769">"Tekst – komórkowy"</string>
     <string name="sms_work" msgid="2269624156655267740">"Tekst – służbowy"</string>
     <string name="sms_fax_work" msgid="8028189067816907075">"Tekst – faks służbowy"</string>
     <string name="sms_fax_home" msgid="9204042076306809634">"Tekst – faks domowy"</string>
@@ -373,16 +373,16 @@
     <string name="sms_radio" msgid="3329166673433967820">"Tekst – radio"</string>
     <string name="sms_telex" msgid="9034802430065267848">"SMS – teleks"</string>
     <string name="sms_tty_tdd" msgid="6782284969132531532">"SMS – TTY/TDD"</string>
-    <string name="sms_work_mobile" msgid="2459939960512702560">"SMS – służbowa komórka"</string>
+    <string name="sms_work_mobile" msgid="2459939960512702560">"SMS – służbowy komórkowy"</string>
     <string name="sms_work_pager" msgid="5566924423316960597">"SMS – pager służbowy"</string>
     <string name="sms_assistant" msgid="2773424339923116234">"SMS – <xliff:g id="ASSISTANT">%s</xliff:g>"</string>
     <string name="sms_mms" msgid="4069352461380762677">"Tekst – wiadomość MMS"</string>
-    <string name="email_home" msgid="8573740658148184279">"E-mail – domowy"</string>
-    <string name="email_mobile" msgid="2042889209787989814">"E-mail – komórka"</string>
-    <string name="email_work" msgid="2807430017302722689">"E-mail – służbowy"</string>
-    <string name="email_other" msgid="8093933498541795832">"E-mail – inny"</string>
-    <string name="email_custom" msgid="7548003991586214105">"E-mail – <xliff:g id="CUSTOM">%s</xliff:g>"</string>
-    <string name="email" msgid="5668400997660065897">"E-mail"</string>
+    <string name="email_home" msgid="8573740658148184279">"Adres e-mail – domowy"</string>
+    <string name="email_mobile" msgid="2042889209787989814">"Adres e-mail – komórkowy"</string>
+    <string name="email_work" msgid="2807430017302722689">"Adres e-mail – służbowy"</string>
+    <string name="email_other" msgid="8093933498541795832">"Adres e-mail – inny"</string>
+    <string name="email_custom" msgid="7548003991586214105">"Adres e-mail – <xliff:g id="CUSTOM">%s</xliff:g>"</string>
+    <string name="email" msgid="5668400997660065897">"Adres e-mail"</string>
     <string name="map_home" msgid="1243547733423343982">"Wyświetl adres domowy"</string>
     <string name="map_work" msgid="1360474076921878088">"Wyświetl adres służbowy"</string>
     <string name="map_other" msgid="5560707927535653892">"Wyświetl inny adres"</string>
@@ -398,7 +398,7 @@
     <string name="chat" msgid="9025361898797412245">"Czat"</string>
     <string name="postal_street" msgid="8133143961580058972">"Ulica"</string>
     <string name="postal_pobox" msgid="4431938829180269821">"Skrytka pocztowa"</string>
-    <string name="postal_neighborhood" msgid="1450783874558956739">"Dzielnica"</string>
+    <string name="postal_neighborhood" msgid="1450783874558956739">"Okolica"</string>
     <string name="postal_city" msgid="6597491300084895548">"Miasto"</string>
     <string name="postal_region" msgid="6045263193478437672">"Województwo"</string>
     <string name="postal_postcode" msgid="572136414136673751">"Kod pocztowy"</string>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index ae35da1..8133070 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -264,7 +264,6 @@
     <string name="fail_reason_vcard_parse_error" msgid="1201233722762680214">"Falha na análise do vCard por motivo inesperado"</string>
     <string name="fail_reason_vcard_not_supported_error" msgid="655208100451286027">"Falha na análise do vCard embora o formato pareça válido, uma vez que não é suportado pela implementação actual"</string>
     <string name="fail_reason_no_vcard_file" msgid="6376516175882881595">"Não foi encontrado nenhum ficheiro vCard no cartão SD"</string>
-    <string name="fail_reason_no_vcard_entry" msgid="4733290752474073143">"Não foi encontrada nenhuma entrada vCard válida para a sua selecção"</string>
     <string name="fail_reason_failed_to_read_files" msgid="3659521123567134029">"A importação de um ou vários ficheiros falhou (%s)."</string>
     <string name="fail_reason_unknown" msgid="999034019513096768">"Erro desconhecido"</string>
     <string name="select_vcard_title" msgid="3968948173786172468">"Seleccionar ficheiro vCard"</string>
@@ -293,7 +292,8 @@
     <string name="fail_reason_could_not_initialize_exporter" msgid="4943708332700987376">"Não foi possível iniciar o exportador: \"<xliff:g id="EXACT_REASON">%s</xliff:g>\""</string>
     <string name="fail_reason_error_occurred_during_export" msgid="2151165129433831202">"Erro ocorrido durante a exportação: \"<xliff:g id="EXACT_REASON">%s</xliff:g>\""</string>
     <string name="composer_failed_to_get_database_infomation" msgid="3723109558155169053">"Falha na obtenção de informações da base de dados"</string>
-    <string name="composer_has_no_exportable_contact" msgid="2239503301380653777">"Não existe nenhum contacto exportável. Pode ter escolhido dados não exportáveis"</string>
+    <!-- no translation found for composer_has_no_exportable_contact (754734132189369094) -->
+    <skip />
     <string name="composer_not_initialized" msgid="8041534450748388843">"O compositor vCard não foi inicializado correctamente"</string>
     <string name="fail_reason_could_not_open_file" msgid="4013520943128739511">"Não foi possível abrir \"<xliff:g id="FILE_NAME">%s</xliff:g>\": <xliff:g id="EXACT_REASON">%s</xliff:g>"</string>
     <string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> de <xliff:g id="TOTAL_NUMBER">%s</xliff:g> contactos"</string>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index 2ea7a02..a0d169e 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -44,19 +44,19 @@
     <string name="menu_sendSMS" msgid="5535886767547006515">"Enviar mensagem de texto para o contato"</string>
     <string name="menu_sendEmail" msgid="7293508859242926187">"Enviar e-mail"</string>
     <string name="menu_viewAddress" msgid="1814744325763202024">"Endereço no mapa"</string>
-    <string name="menu_makeDefaultNumber" msgid="4838759253316649534">"Tornar o número padrão"</string>
+    <string name="menu_makeDefaultNumber" msgid="4838759253316649534">"Criar número padrão"</string>
     <string name="menu_makeDefaultEmail" msgid="2599044610375789994">"Tornar o e-mail padrão"</string>
     <string name="menu_splitAggregate" msgid="8368636463748691868">"Separar"</string>
     <string name="splitAggregate_title" msgid="2053462872948058798">"Dividir contato"</string>
     <string name="contactsSplitMessage" msgid="5253490235863170269">"Contatos separados"</string>
     <string name="splitConfirmation_title" msgid="6716467920283502570">"Separar contato"</string>
     <string name="splitConfirmation" msgid="1150797297503944823">"Tem certeza de que deseja separar este único contato em diversos contatos, um para cada conjunto de informações de contato unificado?"</string>
-    <string name="menu_joinAggregate" msgid="5027981918265667970">"Unir"</string>
+    <string name="menu_joinAggregate" msgid="5027981918265667970">"Participar"</string>
     <string name="menu_showSources" msgid="885215611438295455">"Mostrar fontes"</string>
     <string name="menu_hideSources" msgid="71367585820555477">"Ocultar fontes"</string>
-    <string name="titleJoinAggregate" msgid="6970566008563147202">"Unir contato"</string>
+    <string name="titleJoinAggregate" msgid="6970566008563147202">"Integrar contato"</string>
     <string name="titleJoinContactDataWith" msgid="7684875775798635354">"Unir contatos"</string>
-    <string name="blurbJoinContactDataWith" msgid="995870557595050304">"Selecione o contato que deseja unir com <xliff:g id="NAME">%s</xliff:g>."</string>
+    <string name="blurbJoinContactDataWith" msgid="995870557595050304">"Selecione o contato que deseja mesclar com <xliff:g id="NAME">%s</xliff:g>."</string>
     <string name="showAllContactsJoinItem" msgid="2189695051430392383">"Mostrar todos os contatos"</string>
     <string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Contatos sugeridos"</string>
     <string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Todos os contatos"</string>
@@ -197,7 +197,7 @@
     <string name="contactsSyncPlug" msgid="7248276704957313698"><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" msgid="6788487368878712350">"Você não tem nenhum contato para exibir."\n\n"Para adicionar contatos, pressione "<font fgcolor="#ffffffff"><b>"Menu"</b></font>" e toque em:"\n" "\n<li><font fgcolor="#ffffffff"><b>"Contas"</b></font>" para adicionar ou configurar uma conta com contatos que possam ser sincronizados com o telefone"\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/Exportar"</b></font>\n</li></string>
     <string name="noContactsHelpTextWithSync" msgid="3734101165712848179">"Você não tem contatos para exibir (se acabou de adicionar uma conta, pode levar alguns minutos para sincronizar os contatos.)"\n\n"Para adicionar contatos, pressione"<font fgcolor="#ffffffff"><b>"Menu"</b></font>" e toque em:"\n" "\n<li><font fgcolor="#ffffffff"><b>"Contas"</b></font>" para adicionar ou configurar uma conta com contatos que possam ser sincronizados com o telefone"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Opções de exibição"</b></font>" para alterar quais contatos ficam visíveis"\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/Exportar"</b></font>\n</li></string>
-    <string name="noContactsNoSimHelpText" msgid="6553845386917463292">"Você não tem nenhum contato para exibir."\n\n"Para adicionar contatos, pressione  "<font fgcolor="#ffffffff"><b>"Menu"</b></font>" e toque em:"\n" "\n<li><font fgcolor="#ffffffff"><b>"Contas"</b></font>" para adicionar ou configurar uma conta com contatos que possam ser sincronizados com o telefone"\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/Exportar"</b></font>\n</li></string>
+    <string name="noContactsNoSimHelpText" msgid="6553845386917463292">"Você não tem nenhum contato para exibir."\n\n"Para adicionar contatos, pressione "<font fgcolor="#ffffffff"><b>"Menu"</b></font>" e toque em:"\n" "\n<li><font fgcolor="#ffffffff"><b>"Contas"</b></font>" para adicionar ou configurar uma conta com contatos que possam ser sincronizados com o telefone"\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/Exportar"</b></font>\n</li></string>
     <string name="noContactsNoSimHelpTextWithSync" msgid="1122296298361373488">"Você não tem contatos para exibir (se acabou de adicionar uma conta, pode levar alguns minutos para sincronizar os contatos.)"\n\n"Para adicionar contatos, pressione"<font fgcolor="#ffffffff"><b>"Menu"</b></font>" e toque em:"\n" "\n<li><font fgcolor="#ffffffff"><b>"Contas"</b></font>" para adicionar ou configurar uma conta com contatos que possam ser sincronizados com o telefone"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Opções de exibição"</b></font>" para alterar quais contatos ficam visíveis"\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/Exportar"</b></font>\n</li></string>
     <string name="noFavoritesHelpText" msgid="3744655776704833277">"Você não tem nenhum favorito."\n\n"Para adicionar um contato à sua lista de favoritos:"\n\n"        "<li>"Toque na guia "<b>"Contatos"</b>\n</li>" "\n<li>"Toque no contato que deseja adicionar aos seus favoritos"\n</li>" "\n<li>"Toque na estrela ao lado do nome do contato"\n</li></string>
     <string name="seclectSyncGroups_title" msgid="1235432026231325655">"Selecionar grupos para sincronizar"</string>
@@ -264,7 +264,6 @@
     <string name="fail_reason_vcard_parse_error" msgid="1201233722762680214">"Falha ao analisar o vCard por razão inesperada"</string>
     <string name="fail_reason_vcard_not_supported_error" msgid="655208100451286027">"Falha ao analisar o vCard. Embora o formato pareça ser válido, a implementação atual não oferece suporte a ele."</string>
     <string name="fail_reason_no_vcard_file" msgid="6376516175882881595">"Nenhum arquivo de vCard encontrado no cartão SD"</string>
-    <string name="fail_reason_no_vcard_entry" msgid="4733290752474073143">"Nenhuma entrada válida no vCard foi encontrada para a sua seleção"</string>
     <string name="fail_reason_failed_to_read_files" msgid="3659521123567134029">"Falha na importação de um ou mais arquivos (%s)."</string>
     <string name="fail_reason_unknown" msgid="999034019513096768">"Erro desconhecido"</string>
     <string name="select_vcard_title" msgid="3968948173786172468">"Selecionar arquivo do vCard"</string>
@@ -293,7 +292,8 @@
     <string name="fail_reason_could_not_initialize_exporter" msgid="4943708332700987376">"Não foi possível iniciar o exportador: \"<xliff:g id="EXACT_REASON">%s</xliff:g>\""</string>
     <string name="fail_reason_error_occurred_during_export" msgid="2151165129433831202">"Ocorreu um erro durante a exportação: \"<xliff:g id="EXACT_REASON">%s</xliff:g>\""</string>
     <string name="composer_failed_to_get_database_infomation" msgid="3723109558155169053">"Falha ao acessar informações do banco de dados"</string>
-    <string name="composer_has_no_exportable_contact" msgid="2239503301380653777">"Não há contatos exportáveis. Você precisa escolher dados não exportáveis."</string>
+    <!-- no translation found for composer_has_no_exportable_contact (754734132189369094) -->
+    <skip />
     <string name="composer_not_initialized" msgid="8041534450748388843">"O vCard não foi iniciado corretamente"</string>
     <string name="fail_reason_could_not_open_file" msgid="4013520943128739511">"Não foi possível abrir \"<xliff:g id="FILE_NAME">%s</xliff:g>\": <xliff:g id="EXACT_REASON">%s</xliff:g>"</string>
     <string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> de <xliff:g id="TOTAL_NUMBER">%s</xliff:g> contatos"</string>
@@ -380,8 +380,8 @@
     <string name="email_home" msgid="8573740658148184279">"E-mail (residencial)"</string>
     <string name="email_mobile" msgid="2042889209787989814">"Enviar e-mail para celular"</string>
     <string name="email_work" msgid="2807430017302722689">"E-mail (comercial)"</string>
-    <string name="email_other" msgid="8093933498541795832">"E-mail (outros)"</string>
-    <string name="email_custom" msgid="7548003991586214105">"E-mail (<xliff:g id="CUSTOM">%s</xliff:g>)"</string>
+    <string name="email_other" msgid="8093933498541795832">"Enviar e-mail para outras pessoas"</string>
+    <string name="email_custom" msgid="7548003991586214105">"Enviar e-mail para <xliff:g id="CUSTOM">%s</xliff:g>"</string>
     <string name="email" msgid="5668400997660065897">"E-mail"</string>
     <string name="map_home" msgid="1243547733423343982">"Ver endereço residencial"</string>
     <string name="map_work" msgid="1360474076921878088">"Ver endereço comercial"</string>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index 82dc007..2207e24 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -34,7 +34,7 @@
     <string name="menu_search" msgid="9147752853603483719">"Поиск"</string>
     <string name="menu_newContact" msgid="1209922412763274638">"Новый контакт"</string>
     <string name="menu_viewContact" msgid="2795575601596468581">"Просмотреть контакт"</string>
-    <string name="menu_callNumber" msgid="5142851348489387516">"<xliff:g id="NAME">%s</xliff:g>"</string>
+    <string name="menu_callNumber" msgid="5142851348489387516">"Вызов: <xliff:g id="NAME">%s</xliff:g>"</string>
     <string name="menu_addStar" msgid="2908478235715404876">"Добавить в избранные"</string>
     <string name="menu_removeStar" msgid="5844227078364227030">"Удалить из избранных"</string>
     <string name="menu_showBarcode" msgid="309973637178814132">"Показать штрих-код"</string>
@@ -69,7 +69,7 @@
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"Удаление этого контакта приведет к потере данных из нескольких аккаунтов."</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"Этот контакт будет удален."</string>
     <string name="menu_done" msgid="796017761764190697">"Готово"</string>
-    <string name="menu_doNotSave" msgid="2174577548513895144">"Отмена"</string>
+    <string name="menu_doNotSave" msgid="2174577548513895144">"Отменить изменения"</string>
     <string name="editContact_title_edit" msgid="7678695190666836093">"Изменить контакт"</string>
     <string name="editContact_title_insert" msgid="9125600232291405757">"Новый контакт"</string>
     <string name="menu_addItem" msgid="6106836852570790250">"Добавить информацию"</string>
@@ -93,7 +93,7 @@
     <string name="pickerNewContactHeader" msgid="7750705279843568147">"Создать новый контакт"</string>
     <string name="selectLabel" msgid="4255424123394910733">"Выбор ярлыка"</string>
     <string name="phoneLabelsGroup" msgid="6468091477851199285">"Телефон"</string>
-    <string name="emailLabelsGroup" msgid="8389931313045344406">"Адрес электронной почты"</string>
+    <string name="emailLabelsGroup" msgid="8389931313045344406">"Электронная почта"</string>
     <string name="imLabelsGroup" msgid="3898238486262614027">"Чат"</string>
     <string name="postalLabelsGroup" msgid="1618078212734693682">"Почтовый адрес"</string>
     <string name="otherLabelsGroup" msgid="6584626043193000238">"Прочее"</string>
@@ -122,9 +122,9 @@
     <string name="select_group_title" msgid="7955698611959835612">"Группы"</string>
     <string name="groupEmpty" msgid="6661950109828194595">"Группа \"<xliff:g id="GROUPNAME">%s</xliff:g>\" пуста."</string>
     <string name="showAllGroups" msgid="5164410117611094297">"Все контакты"</string>
-    <string name="showFilterPhones" msgid="4184858075465653970">"Контакты с телефонами"</string>
+    <string name="showFilterPhones" msgid="4184858075465653970">"Только контакты с телефонными номерами"</string>
     <string name="showFilterPhonesDescrip" msgid="6644443248815191067">"Отображать только контакты, содержащие номера телефонов"</string>
-    <string name="headerContactGroups" msgid="2426134991932503843">"Выберите контакты для показа"</string>
+    <string name="headerContactGroups" msgid="2426134991932503843">"Выберите контакты, которые нужно отображать"</string>
   <plurals name="groupDescrip">
     <item quantity="other" msgid="3507881585720628389">"Контактов: <xliff:g id="COUNT">%0$d</xliff:g>"</item>
   </plurals>
@@ -178,7 +178,7 @@
     <string name="liveFolderFavorites" msgid="3100957542927222282">"Помеченные контакты"</string>
     <string name="liveFolderPhone" msgid="3739376066610926780">"Контакты с номерами телефонов"</string>
     <string name="menu_sendTextMessage" msgid="6937343460284499306">"Отправить SMS"</string>
-    <string name="recentCalls_callNumber" msgid="1756372533999226126">"<xliff:g id="NAME">%s</xliff:g>"</string>
+    <string name="recentCalls_callNumber" msgid="1756372533999226126">"Вызов: <xliff:g id="NAME">%s</xliff:g>"</string>
     <string name="recentCalls_editNumberBeforeCall" msgid="7756171675833267857">"Изменить номер и вызвать"</string>
     <string name="recentCalls_addToContact" msgid="1429899535546487008">"Добавить в контакты"</string>
     <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"Удалить из списка вызовов"</string>
@@ -198,8 +198,8 @@
     <string name="noContactsHelpText" msgid="6788487368878712350">"У вас нет контактов."\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>", чтобы создать контакт \"с нуля\";"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Импорт/Экспорт."</b></font>\n</li></string>
     <string name="noContactsHelpTextWithSync" msgid="3734101165712848179">"У вас нет контактов. (Если вы только что добавили аккаунт, синхронизация контактов может занять несколько минут.)"\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>", чтобы выбрать, какие контакты будут видны; "\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Новый контакт"</b></font>", чтобы создать контакт \"с нуля\";"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Импорт/Экспорт."</b></font>\n</li></string>
     <string name="noContactsNoSimHelpText" msgid="6553845386917463292">"У вас нет контактов."\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>", чтобы создать контакт \"с нуля\";"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Импорт/Экспорт."</b></font>\n</li></string>
-    <string name="noContactsNoSimHelpTextWithSync" msgid="1122296298361373488">"Список контактов пуст. Если вы добавили аккаунт только что, контакты будут автоматически загружены в течение нескольких минут. "\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>", если вы хотите выбрать определенные группы контактов для отображения в списке контактов; "\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Новый контакт"</b></font>", если вы хотите создать новый контакт самостоятельно;"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Импорт/Экспорт, если вы хотите копировать контакты с/на SD или SIM-карту."</b></font>\n</li></string>
-    <string name="noFavoritesHelpText" msgid="3744655776704833277">"Список избранных контактов пуст."\n\n"Чтобы добавить контакт в избранные: "\n\n"        "<li>"перейдите на вкладку "<b>"Контакты"</b>";"\n</li>" "\n<li>"выберите контакт;"\n</li>" "\n<li>"нажмите звездочку возле имени контакта."\n</li></string>
+    <string name="noContactsNoSimHelpTextWithSync" msgid="1122296298361373488">"У вас нет контактов. (Если вы только что добавили аккаунт, синхронизация контактов может занять несколько минут.)"\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>", чтобы выбрать, какие контакты будут видны; "\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Новый контакт"</b></font>", чтобы создать контакт \"с нуля\";"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Импорт/Экспорт."</b></font>\n</li></string>
+    <string name="noFavoritesHelpText" msgid="3744655776704833277">"У вас нет избранных контактов."\n\n"Чтобы сделать контакт избранным,"\n\n"        "<li>"нажмите вкладку "<b>"Контакты"</b>";"\n</li>" "\n<li>"нажмите контакт, который нужно сделать избранным;"\n</li>" "\n<li>"нажмите звездочку возле имени контакта."\n</li></string>
     <string name="seclectSyncGroups_title" msgid="1235432026231325655">"Выбрать группы для синхронизации"</string>
     <string name="liveFolder_all_label" msgid="5961411940473276616">"Все контакты"</string>
     <string name="liveFolder_favorites_label" msgid="2674341514070517105">"Помеченные"</string>
@@ -221,13 +221,13 @@
     <string name="add_more_items" msgid="7754115197545456663">"Добавить сведения"</string>
     <string name="actionCall" msgid="695145166039381504">"Вызов: <xliff:g id="TYPE">%s</xliff:g>"</string>
     <string name="actionEmail" msgid="3870371552333656807">"Эл. почта: <xliff:g id="TYPE">%s</xliff:g>"</string>
-    <string name="actionText" msgid="6399049224844880108">"SMS: <xliff:g id="TYPE">%s</xliff:g>"</string>
+    <string name="actionText" msgid="6399049224844880108">"Послать SMS: <xliff:g id="TYPE">%s</xliff:g>"</string>
     <string name="actionChat" msgid="31079429748650300">"Начать чат в <xliff:g id="TYPE">%s</xliff:g>"</string>
     <string name="actionMap" msgid="1977955782051732775">"Адрес <xliff:g id="TYPE">%s</xliff:g> на карте"</string>
     <string name="actionIncomingCall" msgid="6028930669817038600">"Входящие вызовы"</string>
     <string name="detailIncomingCallsGoToVoicemail" msgid="9163373178772231307">"Будут направляться в голосовую почту"</string>
     <string name="detailsRingtone" msgid="4052108748982701775">"Выбрано: <xliff:g id="RINGTONE_NAME">%s</xliff:g>"</string>
-    <string name="callBack" msgid="5498224409038809224">"Перезвонить"</string>
+    <string name="callBack" msgid="5498224409038809224">"Позвонить"</string>
     <string name="callAgain" msgid="3197312117049874778">"Позвонить снова"</string>
     <string name="returnCall" msgid="8171961914203617813">"Перезвонить"</string>
     <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g>:<xliff:g id="SECONDS">%s</xliff:g>"</string>
@@ -264,7 +264,6 @@
     <string name="fail_reason_vcard_parse_error" msgid="1201233722762680214">"Не удалось обработать vCard по неизвестной причине."</string>
     <string name="fail_reason_vcard_not_supported_error" msgid="655208100451286027">"Не удалось обработать vCard. Файл правильного формата, но не поддерживается в текущей реализации."</string>
     <string name="fail_reason_no_vcard_file" msgid="6376516175882881595">"На SD-карте не найдены файлы VCard"</string>
-    <string name="fail_reason_no_vcard_entry" msgid="4733290752474073143">"Не найдено правильных записей vCard."</string>
     <string name="fail_reason_failed_to_read_files" msgid="3659521123567134029">"Не удалось импортировать один или несколько файлов (%s)."</string>
     <string name="fail_reason_unknown" msgid="999034019513096768">"Неизвестная ошибка"</string>
     <string name="select_vcard_title" msgid="3968948173786172468">"Выберите файл vCard"</string>
@@ -293,7 +292,8 @@
     <string name="fail_reason_could_not_initialize_exporter" msgid="4943708332700987376">"Не удается запустить функцию экспорта: \"<xliff:g id="EXACT_REASON">%s</xliff:g>\""</string>
     <string name="fail_reason_error_occurred_during_export" msgid="2151165129433831202">"Ошибка при экспорте: \"<xliff:g id="EXACT_REASON">%s</xliff:g>\""</string>
     <string name="composer_failed_to_get_database_infomation" msgid="3723109558155169053">"Не удалось получить информацию из базы данных."</string>
-    <string name="composer_has_no_exportable_contact" msgid="2239503301380653777">"Нет контактов, пригодных для экспорта. Можно выбрать неэкспортируемые данные."</string>
+    <!-- no translation found for composer_has_no_exportable_contact (754734132189369094) -->
+    <skip />
     <string name="composer_not_initialized" msgid="8041534450748388843">"Редактор vCard запущен некорректно"</string>
     <string name="fail_reason_could_not_open_file" msgid="4013520943128739511">"Не удается открыть \"<xliff:g id="FILE_NAME">%s</xliff:g>\": <xliff:g id="EXACT_REASON">%s</xliff:g>"</string>
     <string name="exporting_contact_list_progress" msgid="560522409559101193">"Контакт <xliff:g id="CURRENT_NUMBER">%s</xliff:g> из <xliff:g id="TOTAL_NUMBER">%s</xliff:g>"</string>
@@ -335,53 +335,53 @@
     <string name="display_warn_remove_ungrouped" msgid="2314043155909167610">"Удаление группы \"<xliff:g id="GROUP">%s</xliff:g>\" из синхронизации приведет к удалению любых несгруппированных контактов из синхронизации."</string>
     <string name="account_phone" msgid="4025734638492419713">"Только телефон (несинхронизирован)"</string>
     <string name="label_email_display_name" msgid="5537802602754309600">"Показать имя"</string>
-    <string name="call_custom" msgid="7756571794763171802">"<xliff:g id="CUSTOM">%s</xliff:g>"</string>
-    <string name="call_home" msgid="1990519474420545392">"Домашний тел."</string>
-    <string name="call_mobile" msgid="7502236805487609178">"Мобильный тел."</string>
-    <string name="call_work" msgid="5328785911463744028">"Рабочий тел."</string>
-    <string name="call_fax_work" msgid="7467763592359059243">"Рабочий факс"</string>
-    <string name="call_fax_home" msgid="8342175628887571876">"Домашний факс"</string>
-    <string name="call_pager" msgid="9003902812293983281">"Пейджер"</string>
-    <string name="call_other" msgid="5605584621798108205">"Без категории"</string>
-    <string name="call_callback" msgid="1910165691349426858">"Обратный вызов"</string>
-    <string name="call_car" msgid="3280537320306436445">"Тел. в машине"</string>
-    <string name="call_company_main" msgid="6105120947138711257">"Офис"</string>
-    <string name="call_isdn" msgid="1541590690193403411">"Номер ISDN"</string>
-    <string name="call_main" msgid="6082900571803441339">"Основной телефон"</string>
-    <string name="call_other_fax" msgid="7777261153532968503">"Факс"</string>
-    <string name="call_radio" msgid="8296755876398357063">"Радиотелефон"</string>
-    <string name="call_telex" msgid="2223170774548648114">"Телекс"</string>
-    <string name="call_tty_tdd" msgid="8951266948204379604">"Телетайп"</string>
-    <string name="call_work_mobile" msgid="8707874281430105394">"Рабочий мобильный"</string>
-    <string name="call_work_pager" msgid="3419348514157949008">"Рабочий пейджер"</string>
-    <string name="call_assistant" msgid="2141641383068514308">"<xliff:g id="ASSISTANT">%s</xliff:g>"</string>
-    <string name="call_mms" msgid="6274041545876221437">"MMS-центр"</string>
-    <string name="sms_custom" msgid="5932736853732191825">"SMS: <xliff:g id="CUSTOM">%s</xliff:g>"</string>
-    <string name="sms_home" msgid="7524332261493162995">"SMS:домашний тел."</string>
-    <string name="sms_mobile" msgid="5200107250451030769">"SMS: мобильный"</string>
-    <string name="sms_work" msgid="2269624156655267740">"SMS:рабочий тел."</string>
-    <string name="sms_fax_work" msgid="8028189067816907075">"SMS:рабочий факс"</string>
-    <string name="sms_fax_home" msgid="9204042076306809634">"SMS: дом. факс"</string>
-    <string name="sms_pager" msgid="7730404569637015192">"SMS: пейджер"</string>
-    <string name="sms_other" msgid="5131921487474531617">"SMS"</string>
-    <string name="sms_callback" msgid="5004824430094288752">"SMS: номер обратного вызова"</string>
-    <string name="sms_car" msgid="7444227058437359641">"SMS:тел. в машине"</string>
-    <string name="sms_company_main" msgid="118970873419678087">"SMS: тел. офиса"</string>
-    <string name="sms_isdn" msgid="8153785037515047845">"SMS: номер ISDN"</string>
-    <string name="sms_main" msgid="8621625784504541679">"SMS:основ. тел."</string>
-    <string name="sms_other_fax" msgid="3930666870074006114">"SMS: факс"</string>
-    <string name="sms_radio" msgid="3329166673433967820">"SMS:радиотелефон"</string>
-    <string name="sms_telex" msgid="9034802430065267848">"SMS: телекс"</string>
-    <string name="sms_tty_tdd" msgid="6782284969132531532">"SMS: телетайп"</string>
-    <string name="sms_work_mobile" msgid="2459939960512702560">"SMS:рабочий моб."</string>
-    <string name="sms_work_pager" msgid="5566924423316960597">"SMS:рабоч. пейдж."</string>
-    <string name="sms_assistant" msgid="2773424339923116234">"SMS: <xliff:g id="ASSISTANT">%s</xliff:g>"</string>
+    <string name="call_custom" msgid="7756571794763171802">"Позвонить (<xliff:g id="CUSTOM">%s</xliff:g>)"</string>
+    <string name="call_home" msgid="1990519474420545392">"Позвонить (дом.)"</string>
+    <string name="call_mobile" msgid="7502236805487609178">"Позвонить (моб.)"</string>
+    <string name="call_work" msgid="5328785911463744028">"Позвонить (раб.)"</string>
+    <string name="call_fax_work" msgid="7467763592359059243">"Позвонить (раб. факс)"</string>
+    <string name="call_fax_home" msgid="8342175628887571876">"Позвонить (дом. факс)"</string>
+    <string name="call_pager" msgid="9003902812293983281">"Позвонить (пейджер)"</string>
+    <string name="call_other" msgid="5605584621798108205">"Позвонить (другое)"</string>
+    <string name="call_callback" msgid="1910165691349426858">"Вызов: номер обратного вызова"</string>
+    <string name="call_car" msgid="3280537320306436445">"Позвонить (автомоб.)"</string>
+    <string name="call_company_main" msgid="6105120947138711257">"Позвонить (раб., осн.)"</string>
+    <string name="call_isdn" msgid="1541590690193403411">"Вызов: ISDN"</string>
+    <string name="call_main" msgid="6082900571803441339">"Вызов: основной"</string>
+    <string name="call_other_fax" msgid="7777261153532968503">"Вызов: другой факс"</string>
+    <string name="call_radio" msgid="8296755876398357063">"Позвонить (радиотел.)"</string>
+    <string name="call_telex" msgid="2223170774548648114">"Вызов: телекс"</string>
+    <string name="call_tty_tdd" msgid="8951266948204379604">"Вызов: телетайп"</string>
+    <string name="call_work_mobile" msgid="8707874281430105394">"Вызов: рабочий мобильный"</string>
+    <string name="call_work_pager" msgid="3419348514157949008">"Вызов: рабочий пейджер"</string>
+    <string name="call_assistant" msgid="2141641383068514308">"Вызов: <xliff:g id="ASSISTANT">%s</xliff:g>"</string>
+    <string name="call_mms" msgid="6274041545876221437">"Позвонить (MMS)"</string>
+    <string name="sms_custom" msgid="5932736853732191825">"SMS (<xliff:g id="CUSTOM">%s</xliff:g>)"</string>
+    <string name="sms_home" msgid="7524332261493162995">"SMS (дом.)"</string>
+    <string name="sms_mobile" msgid="5200107250451030769">"SMS (моб.)"</string>
+    <string name="sms_work" msgid="2269624156655267740">"SMS (дом.)"</string>
+    <string name="sms_fax_work" msgid="8028189067816907075">"SMS (раб. факс)"</string>
+    <string name="sms_fax_home" msgid="9204042076306809634">"SMS (дом. факс)"</string>
+    <string name="sms_pager" msgid="7730404569637015192">"SMS (пейджер)"</string>
+    <string name="sms_other" msgid="5131921487474531617">"SMS (другое)"</string>
+    <string name="sms_callback" msgid="5004824430094288752">"Отправить SMS на номер обратного вызова"</string>
+    <string name="sms_car" msgid="7444227058437359641">"SMS (автомоб.)"</string>
+    <string name="sms_company_main" msgid="118970873419678087">"SMS (раб., осн.)"</string>
+    <string name="sms_isdn" msgid="8153785037515047845">"Отправить SMS на номер ISDN"</string>
+    <string name="sms_main" msgid="8621625784504541679">"Отправить SMS на основной номер"</string>
+    <string name="sms_other_fax" msgid="3930666870074006114">"Отправить текстовое сообщение на другой факс"</string>
+    <string name="sms_radio" msgid="3329166673433967820">"SMS (радиотел.)"</string>
+    <string name="sms_telex" msgid="9034802430065267848">"Отправить SMS на телекс"</string>
+    <string name="sms_tty_tdd" msgid="6782284969132531532">"Отправить сообщение на телетайп"</string>
+    <string name="sms_work_mobile" msgid="2459939960512702560">"Отправить SMS на рабочий мобильный"</string>
+    <string name="sms_work_pager" msgid="5566924423316960597">"Отправить сообщение на рабочий пейджер"</string>
+    <string name="sms_assistant" msgid="2773424339923116234">"Отправить текстовое сообщение на номер <xliff:g id="ASSISTANT">%s</xliff:g>"</string>
     <string name="sms_mms" msgid="4069352461380762677">"MMS"</string>
-    <string name="email_home" msgid="8573740658148184279">"Личная эл. почта"</string>
-    <string name="email_mobile" msgid="2042889209787989814">"Моб. эл. почта"</string>
-    <string name="email_work" msgid="2807430017302722689">"Рабочая эл.почта"</string>
-    <string name="email_other" msgid="8093933498541795832">"Эл. почта"</string>
-    <string name="email_custom" msgid="7548003991586214105">"<xliff:g id="CUSTOM">%s</xliff:g>"</string>
+    <string name="email_home" msgid="8573740658148184279">"Эл. почта (дом.)"</string>
+    <string name="email_mobile" msgid="2042889209787989814">"Эл. почта (моб.)"</string>
+    <string name="email_work" msgid="2807430017302722689">"Эл. почта (раб.)"</string>
+    <string name="email_other" msgid="8093933498541795832">"Эл. почта (другое)"</string>
+    <string name="email_custom" msgid="7548003991586214105">"Эл. почта (<xliff:g id="CUSTOM">%s</xliff:g>)"</string>
     <string name="email" msgid="5668400997660065897">"Эл. почта"</string>
     <string name="map_home" msgid="1243547733423343982">"Просмотреть домашний адрес"</string>
     <string name="map_work" msgid="1360474076921878088">"Просмотреть рабочий адрес"</string>
@@ -408,9 +408,9 @@
     <string name="name_prefix" msgid="59756378548779822">"Префикс имени"</string>
     <string name="name_middle" msgid="8467433655992690326">"Отчество"</string>
     <string name="name_suffix" msgid="3855278445375651441">"Суффикс имени"</string>
-    <string name="name_phonetic_given" msgid="6853570431394449191">"Имя (транскрипция)"</string>
-    <string name="name_phonetic_middle" msgid="8643721493320405200">"Отчество (транскрипция)"</string>
-    <string name="name_phonetic_family" msgid="462095502140180305">"Фамилия (транскрипция)"</string>
+    <string name="name_phonetic_given" msgid="6853570431394449191">"Имя (фонетическая запись)"</string>
+    <string name="name_phonetic_middle" msgid="8643721493320405200">"Отчество (фонетическая запись)"</string>
+    <string name="name_phonetic_family" msgid="462095502140180305">"Фамилия (фонетическая запись)"</string>
     <string name="split_label" msgid="8262112659919449087">"Разделить"</string>
     <string name="split_explanation" msgid="1824739956426973592">"Сделать эти данные отдельным контактом."</string>
     <string name="account_name_format" msgid="4421123930035299208">"Из аккаунта <xliff:g id="SOURCE">%1$s</xliff:g>: <xliff:g id="ACCOUNT">%2$s</xliff:g>"</string>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index c42fe16..dcb38a8 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -51,7 +51,7 @@
     <string name="contactsSplitMessage" msgid="5253490235863170269">"Kontakterna har delats upp"</string>
     <string name="splitConfirmation_title" msgid="6716467920283502570">"Dela upp kontakt"</string>
     <string name="splitConfirmation" msgid="1150797297503944823">"Vill du dela upp den här kontakten i flera kontakter, en för varje uppsättning kontaktinformation som kombinerats i den?"</string>
-    <string name="menu_joinAggregate" msgid="5027981918265667970">"Slå ihop"</string>
+    <string name="menu_joinAggregate" msgid="5027981918265667970">"Gå med"</string>
     <string name="menu_showSources" msgid="885215611438295455">"Visa källor"</string>
     <string name="menu_hideSources" msgid="71367585820555477">"Dölj källor"</string>
     <string name="titleJoinAggregate" msgid="6970566008563147202">"Anslut kontakt"</string>
@@ -196,9 +196,9 @@
     <string name="simContacts_title" msgid="27341688347689769">"Kontakter från SIM-kort"</string>
     <string name="contactsSyncPlug" msgid="7248276704957313698"><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" msgid="6788487368878712350">"Det finns inga kontakter att visa."\n\n"Om du vill lägga till kontakter trycker du på "<font fgcolor="#ffffffff"><b>"Meny"</b></font>" och sedan på:"\n" "\n<li><font fgcolor="#ffffffff"><b>"Konton"</b></font>" om du vill lägga till eller konfigurera ett konto med kontakter som kan synkroniseras till telefonen"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Ny kontakt"</b></font>" om du vill skapa en ny kontakt från grunden"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Importera/exportera"</b></font>\n</li></string>
-    <string name="noContactsHelpTextWithSync" msgid="3734101165712848179">"Det finns inga kontakter att visa (om du nyss har lagt till ett konto kan det ta några minuter att synkronisera kontakter)."\n\n"Om du vill lägga till kontakter trycker du på "<font fgcolor="#ffffffff"><b>"Menu"</b></font>" och sedan på:"\n" "\n<li><font fgcolor="#ffffffff"><b>"Konton"</b></font>" om du vill lägga till eller konfigurera ett konto med kontakter som kan synkroniseras till telefonen"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Visningsalternativ"</b></font>" om du vill ändra vilka kontakter som är synliga"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Ny kontakt"</b></font>" om du vill skapa en ny kontakt från grunden"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Importera/exportera"</b></font>\n</li></string>
-    <string name="noContactsNoSimHelpText" msgid="6553845386917463292">"Det finns inga kontakter att visa."\n\n"Om du vill lägga till kontakter trycker du på "<font fgcolor="#ffffffff"><b>"Menu"</b></font>" och sedan på:"\n" "\n<li><font fgcolor="#ffffffff"><b>"Konton"</b></font>" om du vill lägga till eller konfigurera ett konto med kontakter som kan synkroniseras till telefonen"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Ny kontakt"</b></font>" om du vill skapa en ny kontakt från grunden"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Importera/exportera"</b></font>\n</li></string>
-    <string name="noContactsNoSimHelpTextWithSync" msgid="1122296298361373488">"Det finns inga kontakter att visa (om du nyss har lagt till ett konto kan det ta några minuter att synkronisera kontakter)."\n\n"Om du vill lägga till kontakter trycker du på "<font fgcolor="#ffffffff"><b>"Menu"</b></font>" och sedan på:"\n" "\n<li><font fgcolor="#ffffffff"><b>"Konton"</b></font>" om du vill lägga till eller konfigurera ett konto med kontakter som kan synkroniseras till telefonen"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Visningsalternativ"</b></font>" om du vill ändra vilka kontakter som är synliga"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Ny kontakt"</b></font>" om du vill skapa en ny kontakt från grunden"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Importera/exportera"</b></font>\n</li></string>
+    <string name="noContactsHelpTextWithSync" msgid="3734101165712848179">"Det finns inga kontakter att visa (om du nyss har lagt till ett konto kan det ta några minuter att synkronisera kontakter)."\n\n"Om du vill lägga till kontakter trycker du på "<font fgcolor="#ffffffff"><b>"Meny"</b></font>" och sedan på:"\n" "\n<li><font fgcolor="#ffffffff"><b>"Konton"</b></font>" om du vill lägga till eller konfigurera ett konto med kontakter som kan synkroniseras till telefonen"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Visningsalternativ"</b></font>" om du vill ändra vilka kontakter som är synliga"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Ny kontakt"</b></font>" om du vill skapa en ny kontakt från grunden"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Importera/exportera"</b></font>\n</li></string>
+    <string name="noContactsNoSimHelpText" msgid="6553845386917463292">"Det finns inga kontakter att visa."\n\n"Om du vill lägga till kontakter trycker du på "<font fgcolor="#ffffffff"><b>"Meny"</b></font>" och sedan på:"\n" "\n<li><font fgcolor="#ffffffff"><b>"Konton"</b></font>" om du vill lägga till eller konfigurera ett konto med kontakter som kan synkroniseras till telefonen"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Ny kontakt"</b></font>" om du vill skapa en ny kontakt från grunden"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Importera/exportera"</b></font>\n</li></string>
+    <string name="noContactsNoSimHelpTextWithSync" msgid="1122296298361373488">"Det finns inga kontakter att visa (om du nyss har lagt till ett konto kan det ta några minuter att synkronisera kontakter)."\n\n"Om du vill lägga till kontakter trycker du på "<font fgcolor="#ffffffff"><b>"Meny"</b></font>" och sedan på:"\n" "\n<li><font fgcolor="#ffffffff"><b>"Konton"</b></font>" om du vill lägga till eller konfigurera ett konto med kontakter som kan synkroniseras till telefonen"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Visningsalternativ"</b></font>" om du vill ändra vilka kontakter som är synliga"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Ny kontakt"</b></font>" om du vill skapa en ny kontakt från grunden"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Importera/exportera"</b></font>\n</li></string>
     <string name="noFavoritesHelpText" msgid="3744655776704833277">"Du har inte några favoriter."\n\n"Så här lägger du till kontakter i favoritlistan:"\n\n"        "<li>"Tryck på fliken "<b>"Kontakter"</b>\n</li>" "\n<li>"Tryck på den kontakt du vill lägga till i favoriterna"\n</li>" "\n<li>"Tryck på stjärnan bredvid kontaktens namn"\n</li></string>
     <string name="seclectSyncGroups_title" msgid="1235432026231325655">"Välj grupper att synka"</string>
     <string name="liveFolder_all_label" msgid="5961411940473276616">"Alla kontakter"</string>
@@ -264,7 +264,6 @@
     <string name="fail_reason_vcard_parse_error" msgid="1201233722762680214">"Det gick inte att analysera vCard av okänd anledning"</string>
     <string name="fail_reason_vcard_not_supported_error" msgid="655208100451286027">"Det gick inte att analysera vCard trots att formatet verkar vara giltigt. Den aktuella implementeringen stöder inte det."</string>
     <string name="fail_reason_no_vcard_file" msgid="6376516175882881595">"Ingen vCard-fil hittades på SD-kortet"</string>
-    <string name="fail_reason_no_vcard_entry" msgid="4733290752474073143">"Det finns ingen vCard-post i den valda filen"</string>
     <string name="fail_reason_failed_to_read_files" msgid="3659521123567134029">"En eller flera filer kunde inte importeras: (%s)."</string>
     <string name="fail_reason_unknown" msgid="999034019513096768">"Okänt fel"</string>
     <string name="select_vcard_title" msgid="3968948173786172468">"Välj vCard-fil"</string>
@@ -293,7 +292,8 @@
     <string name="fail_reason_could_not_initialize_exporter" msgid="4943708332700987376">"Det gick inte att starta exportverktyget: <xliff:g id="EXACT_REASON">%s</xliff:g>"</string>
     <string name="fail_reason_error_occurred_during_export" msgid="2151165129433831202">"Ett fel uppstod under export: <xliff:g id="EXACT_REASON">%s</xliff:g>"</string>
     <string name="composer_failed_to_get_database_infomation" msgid="3723109558155169053">"Det gick inte att hämta databasinformation"</string>
-    <string name="composer_has_no_exportable_contact" msgid="2239503301380653777">"Det finns ingen kontakt som kan exporteras. Du kan välja data som inte kan exporteras"</string>
+    <!-- no translation found for composer_has_no_exportable_contact (754734132189369094) -->
+    <skip />
     <string name="composer_not_initialized" msgid="8041534450748388843">"vCard-kompositören är inte korrekt initierad"</string>
     <string name="fail_reason_could_not_open_file" msgid="4013520943128739511">"Det gick inte att öppna <xliff:g id="FILE_NAME">%s</xliff:g>: <xliff:g id="EXACT_REASON">%s</xliff:g>"</string>
     <string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> av <xliff:g id="TOTAL_NUMBER">%s</xliff:g> kontakter"</string>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index df91cdc..dff342f 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -34,14 +34,14 @@
     <string name="menu_search" msgid="9147752853603483719">"Ara"</string>
     <string name="menu_newContact" msgid="1209922412763274638">"Yeni kişi"</string>
     <string name="menu_viewContact" msgid="2795575601596468581">"Kişiyi görüntüle"</string>
-    <string name="menu_callNumber" msgid="5142851348489387516">"Çağrı yap (<xliff:g id="NAME">%s</xliff:g>)"</string>
+    <string name="menu_callNumber" msgid="5142851348489387516">"<xliff:g id="NAME">%s</xliff:g> adlı kişiyi ara"</string>
     <string name="menu_addStar" msgid="2908478235715404876">"Sık kullanılanlara ekle"</string>
     <string name="menu_removeStar" msgid="5844227078364227030">"Sık kullanılanlardan kaldır"</string>
     <string name="menu_showBarcode" msgid="309973637178814132">"Barkodu göster"</string>
     <string name="menu_editContact" msgid="3452858480713561396">"Kişiyi düzenle"</string>
     <string name="menu_deleteContact" msgid="1916555454274101750">"Kişiyi sil"</string>
-    <string name="menu_call" msgid="3992595586042260618">"Çağrı yap"</string>
-    <string name="menu_sendSMS" msgid="5535886767547006515">"Kısa mesaj gönder"</string>
+    <string name="menu_call" msgid="3992595586042260618">"Çağrı: (kişi)"</string>
+    <string name="menu_sendSMS" msgid="5535886767547006515">"Şu kişiye SMS veya MMS gönder:"</string>
     <string name="menu_sendEmail" msgid="7293508859242926187">"E-posta gönder"</string>
     <string name="menu_viewAddress" msgid="1814744325763202024">"Adresi haritada göster"</string>
     <string name="menu_makeDefaultNumber" msgid="4838759253316649534">"Varsayılan numara yap"</string>
@@ -51,16 +51,16 @@
     <string name="contactsSplitMessage" msgid="5253490235863170269">"Kişi ayrıldı"</string>
     <string name="splitConfirmation_title" msgid="6716467920283502570">"Kişiyi Ayır"</string>
     <string name="splitConfirmation" msgid="1150797297503944823">"Bu tek kişiyi birden fazla kişiye ayırmak istediğinizden emin misiniz? Bu kişiye eklenen kişi bilgileri setinin her biri için bir kişi oluşturulsun mu?"</string>
-    <string name="menu_joinAggregate" msgid="5027981918265667970">"Birleştir"</string>
+    <string name="menu_joinAggregate" msgid="5027981918265667970">"Katıl"</string>
     <string name="menu_showSources" msgid="885215611438295455">"Kaynakları göster"</string>
     <string name="menu_hideSources" msgid="71367585820555477">"Kaynakları gizle"</string>
-    <string name="titleJoinAggregate" msgid="6970566008563147202">"Kişi birleştir"</string>
-    <string name="titleJoinContactDataWith" msgid="7684875775798635354">"Kişileri birleştir"</string>
-    <string name="blurbJoinContactDataWith" msgid="995870557595050304">"<xliff:g id="NAME">%s</xliff:g> ile birleştirmek istediğiniz kişiyi seçin."</string>
+    <string name="titleJoinAggregate" msgid="6970566008563147202">"Kişilere katıl"</string>
+    <string name="titleJoinContactDataWith" msgid="7684875775798635354">"Kişiler\'e katıl"</string>
+    <string name="blurbJoinContactDataWith" msgid="995870557595050304">"<xliff:g id="NAME">%s</xliff:g> ile katılmak istediğiniz kişiyi seçin."</string>
     <string name="showAllContactsJoinItem" msgid="2189695051430392383">"Tüm kişileri göster"</string>
     <string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Önerilen kişiler"</string>
     <string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Tüm kişiler"</string>
-    <string name="contactsJoinedMessage" msgid="7208148163607047389">"Kişiler birleştirildi"</string>
+    <string name="contactsJoinedMessage" msgid="7208148163607047389">"Katılan kişiler"</string>
     <string name="menu_contactOptions" msgid="1957061455705020617">"Seçenekler"</string>
     <string name="contactOptionsTitle" msgid="8259347644090700915">"Seçenekler"</string>
     <string name="deleteConfirmation_title" msgid="6394309508930335204">"Sil"</string>
@@ -110,7 +110,7 @@
     <string name="syncGroupPreference" msgid="9028361137161162861">"Senk. grupları düzenle"</string>
     <string name="importFromSim" msgid="8383900146531125319">"Kişileri içe aktar"</string>
     <string name="send_to_voicemail_checkbox" msgid="9001686764070676353">"Çağrıları doğrudan sesli mesaja gönder"</string>
-    <string name="send_to_voicemail_view" msgid="9124400414311776864">"Çağrılar doğrudan sesli mesaja gönderildi."</string>
+    <string name="send_to_voicemail_view" msgid="9124400414311776864">"Aramalar doğrudan sesli mesaja gönderildi."</string>
     <string name="default_ringtone" msgid="9099988849649827972">"Varsayılan"</string>
     <string name="addPicture" msgid="1594679312161537678">"Simge ekle"</string>
     <string name="changePicture" msgid="2943329047610967714">"Simgeyi değiştir"</string>
@@ -178,8 +178,8 @@
     <string name="liveFolderFavorites" msgid="3100957542927222282">"Yıldızlı kişiler"</string>
     <string name="liveFolderPhone" msgid="3739376066610926780">"Telefon numarası olan kişiler"</string>
     <string name="menu_sendTextMessage" msgid="6937343460284499306">"Kısa mesaj gönder"</string>
-    <string name="recentCalls_callNumber" msgid="1756372533999226126">"Çağrı yap (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="recentCalls_editNumberBeforeCall" msgid="7756171675833267857">"Önce numarayı düzenle"</string>
+    <string name="recentCalls_callNumber" msgid="1756372533999226126">"<xliff:g id="NAME">%s</xliff:g> adlı kişiyi ara"</string>
+    <string name="recentCalls_editNumberBeforeCall" msgid="7756171675833267857">"Aramadan önce numarayı düzenle"</string>
     <string name="recentCalls_addToContact" msgid="1429899535546487008">"Kişilere ekle"</string>
     <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"Çağrı kaydından kaldır"</string>
     <string name="recentCalls_deleteAll" msgid="6352364392762163704">"Çağrı kaydını temizle"</string>
@@ -195,7 +195,7 @@
     <string name="simContacts_emptyLoading" msgid="6700035985448642408">"SIM karttan yükleniyor..."</string>
     <string name="simContacts_title" msgid="27341688347689769">"SIM kart kişileri"</string>
     <string name="contactsSyncPlug" msgid="7248276704957313698"><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" msgid="6788487368878712350">"Görüntülenecek kişiniz yok."\n\n"Kişi eklemek için, "<font fgcolor="#ffffffff"><b>"Menü"</b></font>"\'ye basın ve şunlara dokunun:"\n" "\n<li><font fgcolor="#ffffffff"><b>"Hesaplar"</b></font>" (telefon ile senkronize edebileceğiniz kişilere sahip olan bir hesap eklemek veya yapılandırmak için)"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Yeni kişi"</b></font>" (en baştan yeni bir kişi eklemek için)"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"İçe/Dışa Aktar"</b></font>\n</li></string>
+    <string name="noContactsHelpText" msgid="6788487368878712350">"Görüntülenecek hiçbir kişiniz yok."\n\n"Kişi eklemek için, "<font fgcolor="#ffffffff"><b>"Menü"</b></font>"\'ye basın ve şunlara dokunun:"\n" "\n<li><font fgcolor="#ffffffff"><b>"Hesaplar"</b></font>" (telefon ile senkronize edebileceğiniz kişilere sahip olan bir hesap eklemek veya yapılandırmak için)"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Yeni kişi"</b></font>" (en baştan yeni bir kişi eklemek için)"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"İçe/Dışa Aktar"</b></font>\n</li></string>
     <string name="noContactsHelpTextWithSync" msgid="3734101165712848179">"Görüntülenecek hiçbir kişiniz yok. (Kısa süre önce bir hesap eklediyseniz, kişileri senkronize etmek birkaç dakika sürebilir.)"\n\n"Kişi eklemek için, "<font fgcolor="#ffffffff"><b>"Menü"</b></font>"\'ye basın ve şunlara dokunun:"\n" "\n<li><font fgcolor="#ffffffff"><b>"Hesaplar"</b></font>" (telefon ile senkronize edebileceğiniz kişilere sahip olan bir hesap eklemek veya yapılandırmak için)"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Seçenekleri görüntüle"</b></font>" (görülebilir kişileri değiştirmek için)"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Yeni kişi"</b></font>" (en baştan yeni bir kişi oluşturmak için)"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"İçe/Dışa Aktar"</b></font>\n</li></string>
     <string name="noContactsNoSimHelpText" msgid="6553845386917463292">"Görüntülenecek hiçbir kişiniz yok."\n\n"Kişi eklemek için, "<font fgcolor="#ffffffff"><b>"Menü"</b></font>"\'ye basın ve şunlara dokunun:"\n" "\n<li><font fgcolor="#ffffffff"><b>"Hesaplar"</b></font>" (telefon ile senkronize edebileceğiniz kişilere sahip olan bir hesap eklemek veya yapılandırmak için)"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Yeni kişi"</b></font>" (en baştan yeni bir kişi eklemek için)"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"İçe/Dışa Aktar"</b></font>\n</li></string>
     <string name="noContactsNoSimHelpTextWithSync" msgid="1122296298361373488">"Görüntülenecek hiçbir kişiniz yok. (Kısa süre önce bir hesap eklediyseniz, kişileri senkronize etmek birkaç dakika sürebilir.)"\n\n"Kişi eklemek için, "<font fgcolor="#ffffffff"><b>"Menü"</b></font>"\'ye basın ve şunlara dokunun:"\n" "\n<li><font fgcolor="#ffffffff"><b>"Hesaplar"</b></font>" (telefon ile senkronize edebileceğiniz kişilere sahip olan bir hesap eklemek veya yapılandırmak için)"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Seçenekleri görüntüle"</b></font>" (görülebilir kişileri değiştirmek için)"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Yeni kişi"</b></font>" (en baştan yeni bir kişi oluşturmak için)"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"İçe/Dışa Aktar"</b></font>\n</li></string>
@@ -219,7 +219,7 @@
     <string name="header_actions" msgid="229583643365836321">"İşlemler"</string>
     <string name="ringtone_spinner" msgid="7317823545379736528">"Zil sesi: <xliff:g id="RINGTONE">%1$s</xliff:g>"</string>
     <string name="add_more_items" msgid="7754115197545456663">"Daha fazla öğe ekle"</string>
-    <string name="actionCall" msgid="695145166039381504">"Çağrı yap (<xliff:g id="TYPE">%s</xliff:g>)"</string>
+    <string name="actionCall" msgid="695145166039381504">"Şunu ara: <xliff:g id="TYPE">%s</xliff:g>"</string>
     <string name="actionEmail" msgid="3870371552333656807">"E-posta gönder: <xliff:g id="TYPE">%s</xliff:g>"</string>
     <string name="actionText" msgid="6399049224844880108">"SMS gönder: <xliff:g id="TYPE">%s</xliff:g>"</string>
     <string name="actionChat" msgid="31079429748650300">"<xliff:g id="TYPE">%s</xliff:g> kullanarak sohbet et"</string>
@@ -227,8 +227,8 @@
     <string name="actionIncomingCall" msgid="6028930669817038600">"Gelen çağrılar"</string>
     <string name="detailIncomingCallsGoToVoicemail" msgid="9163373178772231307">"Doğrudan sesli mesaja gönderilecek"</string>
     <string name="detailsRingtone" msgid="4052108748982701775">"<xliff:g id="RINGTONE_NAME">%s</xliff:g> olarak ayarla"</string>
-    <string name="callBack" msgid="5498224409038809224">"Geri ara"</string>
-    <string name="callAgain" msgid="3197312117049874778">"Tekrar çağrı yap"</string>
+    <string name="callBack" msgid="5498224409038809224">"Tekrar ara"</string>
+    <string name="callAgain" msgid="3197312117049874778">"Tekrar ara"</string>
     <string name="returnCall" msgid="8171961914203617813">"Geri ara"</string>
     <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> dak <xliff:g id="SECONDS">%s</xliff:g> sn"</string>
     <string name="favoritesFrquentSeparator" msgid="5007070838253932139">"Sık aranan"</string>
@@ -253,7 +253,7 @@
     <string name="select_import_type_title" msgid="2443742794103731022">"Kişilerin nereden içe aktarılmasını istiyorsunuz?"</string>
     <string name="import_from_sim" msgid="3859272228033941659">"SIM karttan içe aktar"</string>
     <string name="import_from_sdcard" msgid="8550360976693202816">"SD karttan içe aktar"</string>
-    <string name="export_to_sdcard" msgid="2597105442616166277">"SD karta dışa aktar"</string>
+    <string name="export_to_sdcard" msgid="2597105442616166277">"SD kart için dışa aktar"</string>
     <string name="import_one_vcard_string" msgid="9059163467020328433">"Bir vCard dosyasını içe aktar"</string>
     <string name="import_multiple_vcard_string" msgid="3810226492811062392">"Birden fazla vCard dosyasını içe aktar"</string>
     <string name="import_all_vcard_string" msgid="5518136113853448474">"Tüm vCard dosyalarını içe aktar"</string>
@@ -264,7 +264,6 @@
     <string name="fail_reason_vcard_parse_error" msgid="1201233722762680214">"Beklenmedik bir nedenden dolayı vCard ayrıştırılamadı"</string>
     <string name="fail_reason_vcard_not_supported_error" msgid="655208100451286027">"Geçerli biçimde görünmesine rağmen vCard ayrıştırılamadı, çünkü şu anki uygulama vCard\'ı desteklemiyor"</string>
     <string name="fail_reason_no_vcard_file" msgid="6376516175882881595">"SD kartta hiçbir vCard dosyası bulunamadı"</string>
-    <string name="fail_reason_no_vcard_entry" msgid="4733290752474073143">"Seçiminiz için geçerli vCard girdisi bulunamadı"</string>
     <string name="fail_reason_failed_to_read_files" msgid="3659521123567134029">"İçe aktarılamayan bir veya birden fazla dosya (%s)."</string>
     <string name="fail_reason_unknown" msgid="999034019513096768">"Bilinmeyen hata"</string>
     <string name="select_vcard_title" msgid="3968948173786172468">"vCard dosyasını seç"</string>
@@ -275,13 +274,13 @@
     <string name="importing_vcard_message" msgid="4046655384673753503">"vCard verileri içe aktarılıyor"</string>
     <string name="reading_vcard_failed_title" msgid="4923008144735294994">"vCard verileri okunamadı"</string>
     <string name="reading_vcard_failed_message" msgid="5684089173948287107">"vCard okunamadı."\n"Hata nedeni: \"<xliff:g id="FAIL_REASON">%s</xliff:g>\""</string>
-    <string name="reading_vcard_contacts" msgid="3066834102042012868">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> / <xliff:g id="TOTAL_NUMBER">%s</xliff:g> kişi"</string>
+    <string name="reading_vcard_contacts" msgid="3066834102042012868">"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" msgid="34180143726972661">"toplam <xliff:g id="TOTAL_NUMBER">%s</xliff:g> dosyadan <xliff:g id="CURRENT_NUMBER">%s</xliff:g>. dosya"</string>
     <string name="export_all_contacts" msgid="2873892623335194071">"Tüm kişiler"</string>
     <string name="export_phone_local_only" msgid="3380497955409896761">"Yerel olarak depolanan kişiler"</string>
     <string name="export_contact_list" msgid="3165097742175874384">"Kişileri dışa aktar"</string>
     <string name="confirm_export_title" msgid="7648747763127442983">"Dışa aktarımı onayla"</string>
-    <string name="confirm_export_message" msgid="3875683519257829750">"Kişi listenizi \"<xliff:g id="VCARD_FILENAME">%s</xliff:g>\" dosyasına dışa aktarmak istediğinizden emin misiniz?"</string>
+    <string name="confirm_export_message" msgid="3875683519257829750">"Kişi listenizi \"<xliff:g id="VCARD_FILENAME">%s</xliff:g>\" için dışa aktarmak istediğinizden emin misiniz?"</string>
     <string name="exporting_contact_failed_title" msgid="585823094820602526">"Kişi verileri dışa aktarılamadı"</string>
     <string name="exporting_contact_failed_message" msgid="4151348002470298092">"Kişi verileri dışa aktarılamadı."\n"Hata nedeni: \"<xliff:g id="FAIL_REASON">%s</xliff:g>\""</string>
     <string name="fail_reason_no_exportable_contact" msgid="4919714086648344495">"Dışa aktarılabilen hiçbir kişi yok"</string>
@@ -293,15 +292,16 @@
     <string name="fail_reason_could_not_initialize_exporter" msgid="4943708332700987376">"Dışa aktarıcı başlatılamadı: \"<xliff:g id="EXACT_REASON">%s</xliff:g>\""</string>
     <string name="fail_reason_error_occurred_during_export" msgid="2151165129433831202">"Dışa aktarma sırasında hata oluştu: \"<xliff:g id="EXACT_REASON">%s</xliff:g>\""</string>
     <string name="composer_failed_to_get_database_infomation" msgid="3723109558155169053">"Veri tabanı bilgileri alınamadı"</string>
-    <string name="composer_has_no_exportable_contact" msgid="2239503301380653777">"Dışa aktarılabilir kişi yok. Dışa aktarılamayan veriler seçmiş olabilirsiniz"</string>
+    <!-- no translation found for composer_has_no_exportable_contact (754734132189369094) -->
+    <skip />
     <string name="composer_not_initialized" msgid="8041534450748388843">"vCard oluşturucu doğru bir şekilde başlatılmamış"</string>
     <string name="fail_reason_could_not_open_file" msgid="4013520943128739511">"\"<xliff:g id="FILE_NAME">%s</xliff:g>\" dosyası açılamadı: <xliff:g id="EXACT_REASON">%s</xliff:g>"</string>
-    <string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> / <xliff:g id="TOTAL_NUMBER">%s</xliff:g> kişi"</string>
+    <string name="exporting_contact_list_progress" msgid="560522409559101193">"Toplam <xliff:g id="TOTAL_NUMBER">%s</xliff:g> kişiden <xliff:g id="CURRENT_NUMBER">%s</xliff:g> kişi"</string>
     <string name="search_settings_description" msgid="2675223022992445813">"Kişilerinizin adları"</string>
     <string name="add_2sec_pause" msgid="9214012315201040129">"2 saniyelik duraklama ekle"</string>
     <string name="add_wait" msgid="3360818652790319634">"Bekleme ekle"</string>
     <string name="dial_button_label" msgid="7637725632722605863">"Çevir"</string>
-    <string name="call_disambig_title" msgid="1911302597959335178">"Şunu kullanarak çağrı yap"</string>
+    <string name="call_disambig_title" msgid="1911302597959335178">"Şu uygulamayı kullanarak ara"</string>
     <string name="sms_disambig_title" msgid="4675399294513152364">"Şunu kullanarak SMS gönder:"</string>
     <string name="make_primary" msgid="5829291915305113983">"Bu tercihi anımsa"</string>
     <string name="quickcontact_missing_app" msgid="4600366393134289038">"Bu işlemi gerçekleştirecek bir uygulama bulunamadı"</string>
@@ -311,7 +311,7 @@
     <string name="menu_import_export" msgid="3765725645491577190">"İçe/Dışa Aktar"</string>
     <string name="dialog_import_export" msgid="4771877268244096596">"Kişileri içe/dışa aktar"</string>
     <string name="menu_share" msgid="943789700636542260">"Paylaş"</string>
-    <string name="share_via" msgid="563121028023030093">"Şunu kullanarak kişi paylaş:"</string>
+    <string name="share_via" msgid="563121028023030093">"Şu uygulamayı kullanarak kişi paylaş:"</string>
     <string name="share_error" msgid="4374508848981697170">"Bu kişi paylaşılamıyor."</string>
     <string name="nameLabelsGroup" msgid="2034640839640477827">"Ad"</string>
     <string name="nicknameLabelsGroup" msgid="2891682101053358010">"Takma ad"</string>
@@ -335,27 +335,27 @@
     <string name="display_warn_remove_ungrouped" msgid="2314043155909167610">"\'<xliff:g id="GROUP">%s</xliff:g>\' grubunu senkronizasyondan kaldırmak, gruplandırılmamış tüm kişileri de senkronizasyondan kaldırır."</string>
     <string name="account_phone" msgid="4025734638492419713">"Yalnızca telefon (senkronize edilmemiş)"</string>
     <string name="label_email_display_name" msgid="5537802602754309600">"Adı görüntüle"</string>
-    <string name="call_custom" msgid="7756571794763171802">"Çağrı yap (<xliff:g id="CUSTOM">%s</xliff:g>)"</string>
-    <string name="call_home" msgid="1990519474420545392">"Çağrı yap (ev)"</string>
-    <string name="call_mobile" msgid="7502236805487609178">"Çağrı yap (mobil)"</string>
-    <string name="call_work" msgid="5328785911463744028">"Çağrı yap (iş)"</string>
-    <string name="call_fax_work" msgid="7467763592359059243">"Çağrı yap (iş faksı)"</string>
-    <string name="call_fax_home" msgid="8342175628887571876">"Çağrı yap (ev faksı)"</string>
-    <string name="call_pager" msgid="9003902812293983281">"Çağrı yap (çağrı cihazı)"</string>
-    <string name="call_other" msgid="5605584621798108205">"Çağrı yap (diğer)"</string>
-    <string name="call_callback" msgid="1910165691349426858">"Çağrı yap (geri arama)"</string>
-    <string name="call_car" msgid="3280537320306436445">"Çağrı yap (araç)"</string>
-    <string name="call_company_main" msgid="6105120947138711257">"Çağrı yap (şirket ana hattı)"</string>
-    <string name="call_isdn" msgid="1541590690193403411">"Çağrı yap (ISDN)"</string>
-    <string name="call_main" msgid="6082900571803441339">"Çağrı yap (ana hat)"</string>
-    <string name="call_other_fax" msgid="7777261153532968503">"Çağrı yap (diğer faks)"</string>
-    <string name="call_radio" msgid="8296755876398357063">"Çağrı yap (telsiz)"</string>
-    <string name="call_telex" msgid="2223170774548648114">"Çağrı yap (teleks)"</string>
-    <string name="call_tty_tdd" msgid="8951266948204379604">"Çağrı yap (TTY/TDD)"</string>
-    <string name="call_work_mobile" msgid="8707874281430105394">"Çağrı yap (iş cep telefonu)"</string>
-    <string name="call_work_pager" msgid="3419348514157949008">"Çağrı yap (iş çağrı cihazı)"</string>
-    <string name="call_assistant" msgid="2141641383068514308">"Çağrı yap (<xliff:g id="ASSISTANT">%s</xliff:g>)"</string>
-    <string name="call_mms" msgid="6274041545876221437">"Çağrı yap (MMS)"</string>
+    <string name="call_custom" msgid="7756571794763171802">"Ara (<xliff:g id="CUSTOM">%s</xliff:g>)"</string>
+    <string name="call_home" msgid="1990519474420545392">"Evi ara"</string>
+    <string name="call_mobile" msgid="7502236805487609178">"Mobil cihazı ara"</string>
+    <string name="call_work" msgid="5328785911463744028">"Ara (iş)"</string>
+    <string name="call_fax_work" msgid="7467763592359059243">"Ara (iş faksı)"</string>
+    <string name="call_fax_home" msgid="8342175628887571876">"Ara (ev faksı)"</string>
+    <string name="call_pager" msgid="9003902812293983281">"Çağrı cihazını ara"</string>
+    <string name="call_other" msgid="5605584621798108205">"Ara (diğer)"</string>
+    <string name="call_callback" msgid="1910165691349426858">"Çağrı: (geri arama)"</string>
+    <string name="call_car" msgid="3280537320306436445">"Ara (araç)"</string>
+    <string name="call_company_main" msgid="6105120947138711257">"Ara (şirket merkezi)"</string>
+    <string name="call_isdn" msgid="1541590690193403411">"Çağrı: (ISDN)"</string>
+    <string name="call_main" msgid="6082900571803441339">"Çağrı: (ana hat)"</string>
+    <string name="call_other_fax" msgid="7777261153532968503">"Çağrı: (diğer faks)"</string>
+    <string name="call_radio" msgid="8296755876398357063">"Ara (telsiz)"</string>
+    <string name="call_telex" msgid="2223170774548648114">"Çağrı: (teleks)"</string>
+    <string name="call_tty_tdd" msgid="8951266948204379604">"Çağrı: TTY/TDD"</string>
+    <string name="call_work_mobile" msgid="8707874281430105394">"Çağrı: (iş yeri cep telefonu)"</string>
+    <string name="call_work_pager" msgid="3419348514157949008">"Çağrı: (iş yeri çağrı cihazı)"</string>
+    <string name="call_assistant" msgid="2141641383068514308">"Çağrı: <xliff:g id="ASSISTANT">%s</xliff:g>"</string>
+    <string name="call_mms" msgid="6274041545876221437">"Ara (MMS)"</string>
     <string name="sms_custom" msgid="5932736853732191825">"Metin <xliff:g id="CUSTOM">%s</xliff:g>"</string>
     <string name="sms_home" msgid="7524332261493162995">"SMS gönder (ev)"</string>
     <string name="sms_mobile" msgid="5200107250451030769">"SMS gönder (mobil)"</string>
@@ -403,12 +403,12 @@
     <string name="postal_region" msgid="6045263193478437672">"Eyalet"</string>
     <string name="postal_postcode" msgid="572136414136673751">"Alan kodu"</string>
     <string name="postal_country" msgid="7638264508416368690">"Ülke"</string>
-    <string name="name_given" msgid="1687286314106019813">"Adı"</string>
+    <string name="name_given" msgid="1687286314106019813">"Vaftiz adı"</string>
     <string name="name_family" msgid="3416695586119999058">"Soyadı"</string>
     <string name="name_prefix" msgid="59756378548779822">"Ad öneki"</string>
     <string name="name_middle" msgid="8467433655992690326">"İkinci ad"</string>
     <string name="name_suffix" msgid="3855278445375651441">"Ad soneki"</string>
-    <string name="name_phonetic_given" msgid="6853570431394449191">"Fonetik adı"</string>
+    <string name="name_phonetic_given" msgid="6853570431394449191">"Fonetik vaftiz adı"</string>
     <string name="name_phonetic_middle" msgid="8643721493320405200">"Fonetik ikinci ad"</string>
     <string name="name_phonetic_family" msgid="462095502140180305">"Fonetik soyadı"</string>
     <string name="split_label" msgid="8262112659919449087">"Ayır"</string>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index 20cbf18..bc0801f 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -16,7 +16,7 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="contactsList" msgid="8661624236494819731">"联系人"</string>
-    <string name="launcherDialer" msgid="8636288196618486553">"拨号"</string>
+    <string name="launcherDialer" msgid="8636288196618486553">"手机"</string>
     <string name="shortcutContact" msgid="749243779392912958">"联系人"</string>
     <string name="shortcutDialContact" msgid="746622101599186779">"直接拨打"</string>
     <string name="shortcutMessageContact" msgid="2460337253595976198">"直接发送短信"</string>
@@ -24,7 +24,7 @@
     <string name="callShortcutActivityTitle" msgid="6065749861423648991">"选择一个可直接拨号的号码"</string>
     <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"选择一个可直接向其发送短信的号码"</string>
     <string name="starredList" msgid="4817256136413959463">"已加星标"</string>
-    <string name="frequentList" msgid="7154768136473953056">"经常联系"</string>
+    <string name="frequentList" msgid="7154768136473953056">"频繁"</string>
     <string name="strequentList" msgid="5640192862059373511">"收藏"</string>
     <string name="viewContactTitle" msgid="7989394521836644384">"联系人详情"</string>
     <string name="viewContactDesription" msgid="214186610887547860">"查看联系人"</string>
@@ -69,7 +69,7 @@
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"删除该联系人将会删除多个帐户中的信息。"</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"将会删除此联系人。"</string>
     <string name="menu_done" msgid="796017761764190697">"完成"</string>
-    <string name="menu_doNotSave" msgid="2174577548513895144">"取消"</string>
+    <string name="menu_doNotSave" msgid="2174577548513895144">"还原"</string>
     <string name="editContact_title_edit" msgid="7678695190666836093">"编辑联系人"</string>
     <string name="editContact_title_insert" msgid="9125600232291405757">"新建联系人"</string>
     <string name="menu_addItem" msgid="6106836852570790250">"详细信息"</string>
@@ -89,10 +89,10 @@
     <string name="ghostData_email" msgid="6184537075551565919">"电子邮件地址"</string>
     <string name="ghostData_postal" msgid="652611650594951897">"邮政地址"</string>
     <string name="ghostData_group" msgid="4504591380347534114">"显示群组"</string>
-    <string name="invalidContactMessage" msgid="5816991830260044593">"该联系人不存在。"</string>
+    <string name="invalidContactMessage" msgid="5816991830260044593">"联系人不存在。"</string>
     <string name="pickerNewContactHeader" msgid="7750705279843568147">"新建联系人"</string>
     <string name="selectLabel" msgid="4255424123394910733">"选择标签"</string>
-    <string name="phoneLabelsGroup" msgid="6468091477851199285">"电话"</string>
+    <string name="phoneLabelsGroup" msgid="6468091477851199285">"手机"</string>
     <string name="emailLabelsGroup" msgid="8389931313045344406">"电子邮件"</string>
     <string name="imLabelsGroup" msgid="3898238486262614027">"即时消息"</string>
     <string name="postalLabelsGroup" msgid="1618078212734693682">"邮政地址"</string>
@@ -101,24 +101,24 @@
     <item msgid="8287841928119937597">"组织"</item>
     <item msgid="7196592230748086755">"备注"</item>
   </string-array>
-    <string name="errorDialogTitle" msgid="475272869218091715">"没有照片"</string>
-    <string name="photoPickerNotFoundText" msgid="431331662154342581">"手机上没有照片。"</string>
+    <string name="errorDialogTitle" msgid="475272869218091715">"无图片"</string>
+    <string name="photoPickerNotFoundText" msgid="431331662154342581">"手机上没有图片。"</string>
     <string name="attachToContact" msgid="8820530304406066714">"联系人图标"</string>
     <string name="customLabelPickerTitle" msgid="1081475101983255212">"自定义标签名称"</string>
     <string name="menu_displayGroup" msgid="5655505437727616553">"显示选项"</string>
     <string name="displayGroups" msgid="2278964020773993336">"显示选项"</string>
     <string name="syncGroupPreference" msgid="9028361137161162861">"编辑同步群组"</string>
     <string name="importFromSim" msgid="8383900146531125319">"导入联系人"</string>
-    <string name="send_to_voicemail_checkbox" msgid="9001686764070676353">"直接将来电发送到语音信箱"</string>
-    <string name="send_to_voicemail_view" msgid="9124400414311776864">"来电将直接发送到语音信箱。"</string>
+    <string name="send_to_voicemail_checkbox" msgid="9001686764070676353">"直接将呼叫发送到语音信箱"</string>
+    <string name="send_to_voicemail_view" msgid="9124400414311776864">"呼叫直接发送到语音信箱。"</string>
     <string name="default_ringtone" msgid="9099988849649827972">"默认"</string>
     <string name="addPicture" msgid="1594679312161537678">"添加图标"</string>
     <string name="changePicture" msgid="2943329047610967714">"更改图标"</string>
     <string name="removePicture" msgid="3041230993155966350">"删除图标"</string>
-    <string name="noContacts" msgid="8579310973261953559">"没有联系人。"</string>
+    <string name="noContacts" msgid="8579310973261953559">"无联系人。"</string>
     <string name="noMatchingContacts" msgid="4266283206853990471">"未找到匹配的联系人。"</string>
-    <string name="noContactsWithPhoneNumbers" msgid="1605457050218824269">"没有联系人拥有电话号码。"</string>
-    <string name="noFavorites" msgid="812766386743315815">"未收藏任何联系人。"</string>
+    <string name="noContactsWithPhoneNumbers" msgid="1605457050218824269">"无具有手机号码的联系人。"</string>
+    <string name="noFavorites" msgid="812766386743315815">"无收藏。"</string>
     <string name="select_group_title" msgid="7955698611959835612">"群组"</string>
     <string name="groupEmpty" msgid="6661950109828194595">"“<xliff:g id="GROUPNAME">%s</xliff:g>”群组为空。"</string>
     <string name="showAllGroups" msgid="5164410117611094297">"所有联系人"</string>
@@ -133,16 +133,16 @@
   </plurals>
     <string name="syncAllGroups" msgid="7512169081224806890">"同步所有联系人"</string>
     <string name="groupNameMyContacts" msgid="277995505294105439">"我的联系人"</string>
-    <string name="groupNameWithPhones" msgid="6981588604041120497">"有电话号码的联系人"</string>
+    <string name="groupNameWithPhones" msgid="6981588604041120497">"具有手机号码的联系人"</string>
     <string name="starredInAndroid" msgid="6495527538140213440">"Android 中加星标的联系人"</string>
     <string name="savingContact" msgid="4075751076741924939">"正在保存联系人…"</string>
     <string name="savingDisplayGroups" msgid="2133152192716475939">"正在保存显示选项…"</string>
     <string name="contactCreatedToast" msgid="8740102129968688060">"已创建联系人。"</string>
-    <string name="contactSavedToast" msgid="7152589189385441091">"此联系人已保存。"</string>
+    <string name="contactSavedToast" msgid="7152589189385441091">"联系人已保存。"</string>
     <string name="contactSavedErrorToast" msgid="9189098776225004666">"发生错误，无法保存联系人更改。"</string>
     <string name="listSeparatorCallNumber" msgid="7115321894439629408">"拨打电话"</string>
     <string name="listSeparatorCallNumber_edit" msgid="2999167270900823334">"电话号码"</string>
-    <string name="listSeparatorSendSmsMms" msgid="5351657038532024412">"发送短信"</string>
+    <string name="listSeparatorSendSmsMms" msgid="5351657038532024412">"发送文本"</string>
     <string name="listSeparatorSendEmail" msgid="5395590830304525721">"发送电子邮件"</string>
     <string name="listSeparatorSendEmail_edit" msgid="6859593624213634454">"电子邮件地址"</string>
     <string name="listSeparatorSendIm" msgid="2209260633185984105">"发送即时消息"</string>
@@ -172,39 +172,39 @@
     <string name="socialStreamIconLabel" msgid="4367712449555075376">"社交"</string>
     <string name="contactsIconLabel" msgid="7666609097606552806">"联系人"</string>
     <string name="contactsFavoritesLabel" msgid="8417039765586853670">"收藏"</string>
-    <string name="dialerIconLabel" msgid="6500826552823403796">"拨号"</string>
+    <string name="dialerIconLabel" msgid="6500826552823403796">"手机"</string>
     <string name="recentCallsIconLabel" msgid="1419116422359067949">"通话记录"</string>
     <string name="liveFolderAll" msgid="4789010460767506206">"所有联系人"</string>
     <string name="liveFolderFavorites" msgid="3100957542927222282">"已加星标的联系人"</string>
-    <string name="liveFolderPhone" msgid="3739376066610926780">"有电话号码的联系人"</string>
+    <string name="liveFolderPhone" msgid="3739376066610926780">"具有手机号码的联系人"</string>
     <string name="menu_sendTextMessage" msgid="6937343460284499306">"发送短信"</string>
     <string name="recentCalls_callNumber" msgid="1756372533999226126">"呼叫<xliff:g id="NAME">%s</xliff:g>"</string>
-    <string name="recentCalls_editNumberBeforeCall" msgid="7756171675833267857">"呼叫之前编辑号码"</string>
-    <string name="recentCalls_addToContact" msgid="1429899535546487008">"添加到“联系人”"</string>
+    <string name="recentCalls_editNumberBeforeCall" msgid="7756171675833267857">"在呼叫前编辑号码"</string>
+    <string name="recentCalls_addToContact" msgid="1429899535546487008">"添加到联系人"</string>
     <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"从通话记录中删除"</string>
     <string name="recentCalls_deleteAll" msgid="6352364392762163704">"清除通话记录"</string>
     <string name="recentCalls_empty" msgid="247053222448663107">"通话记录为空。"</string>
-    <string name="imei" msgid="3045126336951684285">"移动通信国际识别码"</string>
+    <string name="imei" msgid="3045126336951684285">"IMEI"</string>
     <string name="meid" msgid="6210568493746275750">"MEID"</string>
     <string name="voicemail" msgid="3851469869202611441">"语音信箱"</string>
     <string name="unknown" msgid="740067747858270469">"未知"</string>
     <string name="private_num" msgid="6374339738119166953">"私人号码"</string>
-    <string name="payphone" msgid="4864313342828942922">"公用电话"</string>
+    <string name="payphone" msgid="4864313342828942922">"投币式公用电话"</string>
     <string name="dialerKeyboardHintText" msgid="5401660096579787344">"使用键盘拨号"</string>
     <string name="dialerDialpadHintText" msgid="5824490365898349041">"拨号以添加通话"</string>
-    <string name="simContacts_emptyLoading" msgid="6700035985448642408">"正从 SIM 卡中载入..."</string>
+    <string name="simContacts_emptyLoading" msgid="6700035985448642408">"正在从 SIM 卡载入..."</string>
     <string name="simContacts_title" msgid="27341688347689769">"SIM 卡联系人"</string>
-    <string name="contactsSyncPlug" msgid="7248276704957313698"><font fgcolor="#ffffffff">"同步您的 Google 联系人！"</font>" "\n"将联系人同步到您的手机后，无论您走到哪里，都可以与他们联系。"</string>
-    <string name="noContactsHelpText" msgid="6788487368878712350">"您没有任何联系人。"\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>"-从头开始创建新联系人"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"导入/导出"</b></font>\n</li></string>
-    <string name="noContactsHelpTextWithSync" msgid="3734101165712848179">"您还没有联系人。（如果您刚刚添加了一个帐户，则需要几分钟时间同步联系人。）"\n\n"要添加联系人，请按"<font fgcolor="#ffffffff"><b>"Menu"</b></font>"，然后触摸："\n" "\n<li><font fgcolor="#ffffffff"><b>"Google 帐户"</b></font>"-添加或配置帐户（您可将其联系人同步到手机）"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"显示选项"</b></font>"-更改可见的联系人"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"新建联系人"</b></font>"-从头开始创建新联系人"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"导入/导出"</b></font>\n</li></string>
-    <string name="noContactsNoSimHelpText" msgid="6553845386917463292">"您还没有联系人。"\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>"-从头开始创建新联系人"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"导入/导出"</b></font>\n</li></string>
-    <string name="noContactsNoSimHelpTextWithSync" msgid="1122296298361373488">"您还没有联系人。（如果您刚刚添加了一个帐户，则需要几分钟时间同步联系人。）"\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>"-更改可见的联系人"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"新建联系人"</b></font>"-从头开始创建新联系人"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"导入/导出"</b></font>\n</li></string>
-    <string name="noFavoritesHelpText" msgid="3744655776704833277">"您未做任何收藏。"\n\n"要收藏加联系人，请执行以下操作："\n\n<li>"触摸"<b>"联系人"</b>"标签"\n</li>\n<li>"触摸您要加入收藏的联系人"\n</li>\n<li>"触摸联系人姓名旁边的星标"\n</li></string>
+    <string name="contactsSyncPlug" msgid="7248276704957313698"><font fgcolor="#ffffffff">"同步您的 Google 联系人！"</font>" "\n"将您的联系人同步到您的手机，然后您在任何地方都可以与他们联系。"</string>
+    <string name="noContactsHelpText" msgid="6788487368878712350">"您没有可显示的联系人。"\n\n"要添加联系人，请按"<font fgcolor="#ffffffff"><b>"菜单"</b></font>"，然后触摸："\n" "\n<li><font fgcolor="#ffffffff"><b>"Google 帐户"</b></font>"以添加或配置可同步到手机的联系人的帐户"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"新建联系人"</b></font>"以从头开始创建新联系人"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"导入/导出"</b></font>\n</li></string>
+    <string name="noContactsHelpTextWithSync" msgid="3734101165712848179">"您没有可显示的联系人。（如果您刚刚添加了一个帐户，则需要几分钟时间同步联系人。）"\n\n"要添加联系人，请按"<font fgcolor="#ffffffff"><b>"菜单"</b></font>"，然后触摸："\n" "\n<li><font fgcolor="#ffffffff"><b>"Google 帐户"</b></font>"以添加或配置可同步到手机的联系人的帐户"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"显示选项"</b></font>"以更改可见的联系人"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"新建联系人"</b></font>"以从头开始创建新联系人"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"导入/导出"</b></font>\n</li></string>
+    <string name="noContactsNoSimHelpText" msgid="6553845386917463292">"您没有可显示的联系人。"\n\n"要添加联系人，请按"<font fgcolor="#ffffffff"><b>"菜单"</b></font>"，然后触摸："\n" "\n<li><font fgcolor="#ffffffff"><b>"Google 帐户"</b></font>"以添加或配置可同步到手机的联系人的帐户"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"新建联系人"</b></font>"以从头开始创建新联系人"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"导入/导出"</b></font>\n</li></string>
+    <string name="noContactsNoSimHelpTextWithSync" msgid="1122296298361373488">"您没有可显示的联系人。（如果您刚刚添加了一个帐户，则需要几分钟时间同步联系人。）"\n\n"要添加联系人，请按"<font fgcolor="#ffffffff"><b>"菜单"</b></font>"，然后触摸："\n" "\n<li><font fgcolor="#ffffffff"><b>"Google 帐户"</b></font>"以添加或配置可同步到手机的联系人的帐户"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"显示选项"</b></font>"以更改可见的联系人"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"新建联系人"</b></font>"以从头开始创建新联系人"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"导入/导出"</b></font>\n</li></string>
+    <string name="noFavoritesHelpText" msgid="3744655776704833277">"您未收藏任何内容。"\n\n"要向您的收藏列表添加联系人，请执行以下操作："\n\n"        "<li>"触摸"<b>"联系人"</b>"标签"\n</li>\n<li>"触摸您要加入收藏的联系人"\n</li>\n<li>"触摸联系人姓名旁边的星标"\n</li></string>
     <string name="seclectSyncGroups_title" msgid="1235432026231325655">"选择要同步的群组"</string>
     <string name="liveFolder_all_label" msgid="5961411940473276616">"所有联系人"</string>
     <string name="liveFolder_favorites_label" msgid="2674341514070517105">"已加星标"</string>
-    <string name="liveFolder_phones_label" msgid="1709786878793436245">"电话"</string>
-    <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"使用按键式键盘"</string>
+    <string name="liveFolder_phones_label" msgid="1709786878793436245">"手机"</string>
+    <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"使用按键式数字键盘"</string>
     <string name="dialer_returnToInCallScreen" msgid="3719386377550913067">"返回正在进行的通话"</string>
     <string name="dialer_addAnotherCall" msgid="4205688819890074468">"添加通话"</string>
     <string name="callDetailTitle" msgid="5340227785196217938">"通话详情"</string>
@@ -215,25 +215,25 @@
     <string name="type_missed" msgid="2720502601640509542">"未接电话"</string>
     <string name="call_time" msgid="5805575214626630975">"时间"</string>
     <string name="datetime_relative" msgid="2906207446040994658">"<xliff:g id="DATETIME">%1$s</xliff:g> (<xliff:g id="RELATIVE">%2$s</xliff:g>)"</string>
-    <string name="call_duration" msgid="3941950339482985532">"通话时间"</string>
+    <string name="call_duration" msgid="3941950339482985532">"持续时间"</string>
     <string name="header_actions" msgid="229583643365836321">"操作"</string>
     <string name="ringtone_spinner" msgid="7317823545379736528">"铃声：<xliff:g id="RINGTONE">%1$s</xliff:g>"</string>
-    <string name="add_more_items" msgid="7754115197545456663">"添加更多信息"</string>
+    <string name="add_more_items" msgid="7754115197545456663">"添加更多项"</string>
     <string name="actionCall" msgid="695145166039381504">"呼叫<xliff:g id="TYPE">%s</xliff:g>"</string>
     <string name="actionEmail" msgid="3870371552333656807">"发送电子邮件至<xliff:g id="TYPE">%s</xliff:g>"</string>
     <string name="actionText" msgid="6399049224844880108">"发送信息至<xliff:g id="TYPE">%s</xliff:g>"</string>
     <string name="actionChat" msgid="31079429748650300">"使用<xliff:g id="TYPE">%s</xliff:g>聊天"</string>
     <string name="actionMap" msgid="1977955782051732775">"查看<xliff:g id="TYPE">%s</xliff:g>"</string>
     <string name="actionIncomingCall" msgid="6028930669817038600">"来电"</string>
-    <string name="detailIncomingCallsGoToVoicemail" msgid="9163373178772231307">"将直接发送到语音信箱"</string>
+    <string name="detailIncomingCallsGoToVoicemail" msgid="9163373178772231307">"直接发送到语音信箱"</string>
     <string name="detailsRingtone" msgid="4052108748982701775">"设为<xliff:g id="RINGTONE_NAME">%s</xliff:g>"</string>
     <string name="callBack" msgid="5498224409038809224">"回电"</string>
     <string name="callAgain" msgid="3197312117049874778">"重拨"</string>
     <string name="returnCall" msgid="8171961914203617813">"回拨"</string>
-    <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> 分钟 <xliff:g id="SECONDS">%s</xliff:g> 秒"</string>
-    <string name="favoritesFrquentSeparator" msgid="5007070838253932139">"经常呼叫的联系人"</string>
+    <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> 分 <xliff:g id="SECONDS">%s</xliff:g> 秒"</string>
+    <string name="favoritesFrquentSeparator" msgid="5007070838253932139">"经常呼叫"</string>
     <string name="add_contact_dlg_title" msgid="2896685845822146494">"添加联系人"</string>
-    <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"将 <xliff:g id="EMAIL">%s</xliff:g> 添加为联系人？"</string>
+    <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"将“<xliff:g id="EMAIL">%s</xliff:g>”添加到联系人？"</string>
     <string name="all_tab_label" msgid="4003124364397916826">"全部"</string>
     <string name="description_image_button_one" msgid="1740638037139856139">"一"</string>
     <string name="description_image_button_two" msgid="5882638439003731308">"二"</string>
@@ -264,7 +264,6 @@
     <string name="fail_reason_vcard_parse_error" msgid="1201233722762680214">"由于意外原因而无法解析 vCard"</string>
     <string name="fail_reason_vcard_not_supported_error" msgid="655208100451286027">"虽然 vCard 似乎使用了有效的格式，但系统无法对其进行解析，因为当前的实现方案不支持该格式。"</string>
     <string name="fail_reason_no_vcard_file" msgid="6376516175882881595">"未在 SD 卡上找到 vCard 文件"</string>
-    <string name="fail_reason_no_vcard_entry" msgid="4733290752474073143">"未找到与所选内容对应的有效 vCard 条目"</string>
     <string name="fail_reason_failed_to_read_files" msgid="3659521123567134029">"一个或多个文件导入失败 (%s)。"</string>
     <string name="fail_reason_unknown" msgid="999034019513096768">"未知错误"</string>
     <string name="select_vcard_title" msgid="3968948173786172468">"选择 vCard 文件"</string>
@@ -293,7 +292,8 @@
     <string name="fail_reason_could_not_initialize_exporter" msgid="4943708332700987376">"无法初始化导出程序：“<xliff:g id="EXACT_REASON">%s</xliff:g>”"</string>
     <string name="fail_reason_error_occurred_during_export" msgid="2151165129433831202">"导出时出错：“<xliff:g id="EXACT_REASON">%s</xliff:g>”"</string>
     <string name="composer_failed_to_get_database_infomation" msgid="3723109558155169053">"获取数据库信息失败"</string>
-    <string name="composer_has_no_exportable_contact" msgid="2239503301380653777">"没有可导出的联系人。您可能选择了无法导出的数据。"</string>
+    <!-- no translation found for composer_has_no_exportable_contact (754734132189369094) -->
+    <skip />
     <string name="composer_not_initialized" msgid="8041534450748388843">"vCard 制作程序未正确初始化"</string>
     <string name="fail_reason_could_not_open_file" msgid="4013520943128739511">"无法打开“<xliff:g id="FILE_NAME">%s</xliff:g>”：<xliff:g id="EXACT_REASON">%s</xliff:g>"</string>
     <string name="exporting_contact_list_progress" msgid="560522409559101193">"第 <xliff:g id="CURRENT_NUMBER">%s</xliff:g> 个联系人（共 <xliff:g id="TOTAL_NUMBER">%s</xliff:g> 个）"</string>
@@ -336,7 +336,7 @@
     <string name="account_phone" msgid="4025734638492419713">"仅保存在手机中（不同步）"</string>
     <string name="label_email_display_name" msgid="5537802602754309600">"显示名称"</string>
     <string name="call_custom" msgid="7756571794763171802">"呼叫<xliff:g id="CUSTOM">%s</xliff:g>"</string>
-    <string name="call_home" msgid="1990519474420545392">"呼叫住宅电话"</string>
+    <string name="call_home" msgid="1990519474420545392">"呼叫住宅"</string>
     <string name="call_mobile" msgid="7502236805487609178">"呼叫手机"</string>
     <string name="call_work" msgid="5328785911463744028">"呼叫单位"</string>
     <string name="call_fax_work" msgid="7467763592359059243">"呼叫单位传真"</string>
@@ -356,31 +356,31 @@
     <string name="call_work_pager" msgid="3419348514157949008">"呼叫单位寻呼机"</string>
     <string name="call_assistant" msgid="2141641383068514308">"呼叫<xliff:g id="ASSISTANT">%s</xliff:g>"</string>
     <string name="call_mms" msgid="6274041545876221437">"呼叫彩信号码"</string>
-    <string name="sms_custom" msgid="5932736853732191825">"向<xliff:g id="CUSTOM">%s</xliff:g>发送短信"</string>
-    <string name="sms_home" msgid="7524332261493162995">"向住宅电话发送短信"</string>
-    <string name="sms_mobile" msgid="5200107250451030769">"向手机发送短信"</string>
-    <string name="sms_work" msgid="2269624156655267740">"向单位电话发送短信"</string>
-    <string name="sms_fax_work" msgid="8028189067816907075">"向单位传真机发送短信"</string>
-    <string name="sms_fax_home" msgid="9204042076306809634">"向住宅传真机发送短信"</string>
+    <string name="sms_custom" msgid="5932736853732191825">"向<xliff:g id="CUSTOM">%s</xliff:g>发送文本消息"</string>
+    <string name="sms_home" msgid="7524332261493162995">"向住宅发送文本消息"</string>
+    <string name="sms_mobile" msgid="5200107250451030769">"向手机发送文本消息"</string>
+    <string name="sms_work" msgid="2269624156655267740">"向单位发送文本消息"</string>
+    <string name="sms_fax_work" msgid="8028189067816907075">"向单位传真发送文本消息"</string>
+    <string name="sms_fax_home" msgid="9204042076306809634">"向住宅传真发送文本消息"</string>
     <string name="sms_pager" msgid="7730404569637015192">"向寻呼机发送文字消息"</string>
-    <string name="sms_other" msgid="5131921487474531617">"向其他手机发送短信"</string>
+    <string name="sms_other" msgid="5131921487474531617">"向其他手机号码发送文本消息"</string>
     <string name="sms_callback" msgid="5004824430094288752">"向回拨号码发送短信"</string>
-    <string name="sms_car" msgid="7444227058437359641">"向车载电话发送短信"</string>
-    <string name="sms_company_main" msgid="118970873419678087">"向公司总机发送短信"</string>
+    <string name="sms_car" msgid="7444227058437359641">"向车载电话发送文本消息"</string>
+    <string name="sms_company_main" msgid="118970873419678087">"向公司总机发送文本消息"</string>
     <string name="sms_isdn" msgid="8153785037515047845">"向 ISDN 发送短信"</string>
     <string name="sms_main" msgid="8621625784504541679">"向总机发送短信"</string>
     <string name="sms_other_fax" msgid="3930666870074006114">"向其他传真发送短信"</string>
-    <string name="sms_radio" msgid="3329166673433967820">"向无线装置发送短信"</string>
+    <string name="sms_radio" msgid="3329166673433967820">"向无线装置发送文本消息"</string>
     <string name="sms_telex" msgid="9034802430065267848">"向电报发送短信"</string>
     <string name="sms_tty_tdd" msgid="6782284969132531532">"向 TTY/TDD 发送短信"</string>
     <string name="sms_work_mobile" msgid="2459939960512702560">"向单位手机发送短信"</string>
     <string name="sms_work_pager" msgid="5566924423316960597">"向单位寻呼机发送短信"</string>
     <string name="sms_assistant" msgid="2773424339923116234">"向<xliff:g id="ASSISTANT">%s</xliff:g>发送短信"</string>
-    <string name="sms_mms" msgid="4069352461380762677">"向彩信号码发送短信"</string>
-    <string name="email_home" msgid="8573740658148184279">"向住宅邮箱发送电子邮件"</string>
+    <string name="sms_mms" msgid="4069352461380762677">"向彩信号码发送文本消息"</string>
+    <string name="email_home" msgid="8573740658148184279">"向住宅发送电子邮件"</string>
     <string name="email_mobile" msgid="2042889209787989814">"向手机发送电子邮件"</string>
-    <string name="email_work" msgid="2807430017302722689">"向单位邮箱发送电子邮件"</string>
-    <string name="email_other" msgid="8093933498541795832">"向其他邮箱发送电子邮件"</string>
+    <string name="email_work" msgid="2807430017302722689">"向单位发送电子邮件"</string>
+    <string name="email_other" msgid="8093933498541795832">"向其他地址发送电子邮件"</string>
     <string name="email_custom" msgid="7548003991586214105">"向<xliff:g id="CUSTOM">%s</xliff:g>发送电子邮件"</string>
     <string name="email" msgid="5668400997660065897">"电子邮件"</string>
     <string name="map_home" msgid="1243547733423343982">"查看住宅地址"</string>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index 601583a..649f120 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -264,7 +264,6 @@
     <string name="fail_reason_vcard_parse_error" msgid="1201233722762680214">"因未預期原因，無法剖析 VCard"</string>
     <string name="fail_reason_vcard_not_supported_error" msgid="655208100451286027">"VCard 格式正確，但目前的實作系統不支援此格式，因此無法剖析"</string>
     <string name="fail_reason_no_vcard_file" msgid="6376516175882881595">"SD 卡上沒有 vCard 檔案"</string>
-    <string name="fail_reason_no_vcard_entry" msgid="4733290752474073143">"所選的檔案中沒有有效的 VCard 項目"</string>
     <string name="fail_reason_failed_to_read_files" msgid="3659521123567134029">"無法匯入一或多個檔案 (%s)。"</string>
     <string name="fail_reason_unknown" msgid="999034019513096768">"未知的錯誤"</string>
     <string name="select_vcard_title" msgid="3968948173786172468">"選取 VCard 檔案"</string>
@@ -293,7 +292,8 @@
     <string name="fail_reason_could_not_initialize_exporter" msgid="4943708332700987376">"無法初始化匯出程式：「<xliff:g id="EXACT_REASON">%s</xliff:g>」"</string>
     <string name="fail_reason_error_occurred_during_export" msgid="2151165129433831202">"匯出時發生錯誤：「<xliff:g id="EXACT_REASON">%s</xliff:g>」"</string>
     <string name="composer_failed_to_get_database_infomation" msgid="3723109558155169053">"無法取得資料庫資訊"</string>
-    <string name="composer_has_no_exportable_contact" msgid="2239503301380653777">"沒有可匯出的聯絡人，您可能選擇了不可匯出的資料。"</string>
+    <!-- no translation found for composer_has_no_exportable_contact (754734132189369094) -->
+    <skip />
     <string name="composer_not_initialized" msgid="8041534450748388843">"VCard 編輯器並未正確初始化"</string>
     <string name="fail_reason_could_not_open_file" msgid="4013520943128739511">"無法開啟「<xliff:g id="FILE_NAME">%s</xliff:g>」：<xliff:g id="EXACT_REASON">%s</xliff:g>"</string>
     <string name="exporting_contact_list_progress" msgid="560522409559101193">"第 <xliff:g id="CURRENT_NUMBER">%s</xliff:g> 位聯絡人，共 <xliff:g id="TOTAL_NUMBER">%s</xliff:g> 位"</string>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index e37c118..120d996 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -797,44 +797,55 @@
     <!-- Action that exports all contacts to SD Card -->
     <string name="export_to_sdcard">Export to SD card</string>
 
-    <!-- "Import one vCard file" -->
+    <!-- One of alternatives shown when the system allows a user to select how many vCard files
+         should be imported. This message shows only when the system is certain that there's more
+         than one vCard files available in the system. -->
     <string name="import_one_vcard_string">Import one vCard file</string>
 
-    <!-- "Import more than one vCard -->
+    <!-- One of alternatives shown when the system allows a user to select how many vCard files
+         should be imported. This message shows only when the system is certain that there's more
+         than one vCard files available in the system. -->
     <string name="import_multiple_vcard_string">Import multiple vCard files</string>
 
-    <!-- "Import all vCard files" -->
+    <!-- One of alternatives shown when the system allows a user to select how many vCard files
+         should be imported. This message shows only when the system is certain that there's more
+         than one vCard files available in the system. -->
     <string name="import_all_vcard_string">Import all vCard files</string>
 
     <!-- Dialog message shown when searching VCard data from SD Card -->
     <string name="searching_vcard_message">Searching for vCard data on SD card</string>
 
-    <!-- Dialog title shown when searching VCard data failed. -->
+    <!-- Dialog title shown when scanning VCard data failed. -->
     <string name="scanning_sdcard_failed_title">Scanning SD card failed</string>
 
-    <!-- Dialog message shown when searching VCard data failed. -->
+    <!-- Dialog message shown when searching VCard data failed.
+         An exact reason for the failure should -->
     <string name="scanning_sdcard_failed_message">Scanning SD card failed (Reason: \"<xliff:g id="fail_reason">%s</xliff:g>\")</string>
 
-    <!-- The failed reason: "I/O Error" -->
+    <!-- The failed reason shown when Contacts app (especially vCard importer/exporter)
+         emitted some I/O error. Exact reason will be appended by the system. -->
     <string name="fail_reason_io_error">I/O Error</string>
 
-    <!-- The failed reason: "Failed to parse VCard data" -->
+    <!-- The failed reason shown when vCard parser was not able to be parsed by the current vCard
+         implementation. This might happen even when the input vCard is completely valid, though
+         we believe it is rather rare in the actual world. -->
     <string name="fail_reason_vcard_parse_error">Failed to parse vCard for unexpected reason</string>
 
-    <!-- The failed reason: "The VCard is not supported right now, but may be supported in the future" -->
+    <!-- The failed reason shown when the current vCard importer cannot parse the file since the
+         parser is incomplete (actually, there's missing part in the current vCard parser, though
+         our understanding is that the functionality missed by the current vCard parser
+         is rarely needed in the actual vCard...). -->
     <string name="fail_reason_vcard_not_supported_error">Failed to parse vCard though it seems in valid format, since the current implementation does not support it</string>
 
-    <!-- The failed reason: "There is no VCard file" -->
+    <!-- The failed reason shown when the system could not find any vCard file
+         (with extension ".vcf" in SDCard.) -->
     <string name="fail_reason_no_vcard_file">No vCard file found on the 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>
-
-    <!-- The failed reason: "One or more files failed to be imported. (&lt;a list of file names&gt;)" -->
+    <!-- The failed reason shown when the import of some of vCard files failed during multiple vCard
+         files import. It includes the case where all files were failed to be imported. -->
     <string name="fail_reason_failed_to_read_files">One or more files failed to be imported (%s).</string>
 
-    <!-- The failed reason: "Unknown error". This message should not be shown
-         but it may in some buggy condition. -->
+    <!-- The failed reason which should not be shown but it may in some buggy condition. -->
     <string name="fail_reason_unknown">Unknown error</string>
 
     <!-- Dialog title shown when a user is asked to select VCard file -->
@@ -890,16 +901,22 @@
     <!-- Dialog message shown when exporting Contact data failed -->
     <string name="exporting_contact_failed_message">Failed to export contact data.\nReason for failure: \"<xliff:g id="fail_reason">%s</xliff:g>\"</string>
 
-    <!-- The failed reason: "There is no exportable contact" -->
+    <!-- The failed reason shown when there's no contact which is allowed to be exported.
+         Note that user may have contacts data but all of them are probably not allowed to be
+         exported because of security/permission reasons. -->
     <string name="fail_reason_no_exportable_contact">There is no exportable contact</string>
 
-    <!-- The failed reason: "Too many vcard files on the SD Card" -->
+    <!-- The failed reason shown when vCard exporter could not create a file for the vCard since
+         there are too many files relevant to vCard. -->
     <string name="fail_reason_too_many_vcard">Too many vCard files on the SD card</string>
 
-    <!-- The failed reason: "Too long filename". This error usually does not happen. -->
+    <!-- The failed reason shown when the given file name is too long for the system.
+         The length limit of each file is different in each Android device, so we don't need to
+         mention it here. -->
     <string name="fail_reason_too_long_filename">Required filename is too long (\"<xliff:g id="filename">%s</xliff:g>\")</string>
 
-    <!-- The failed reason: "Cannot open or create the destination directory" -->
+    <!-- The reason why the contacts import/export failed, meaning a designated file or directory
+         cannot be opened/created because of some permission, security, or any other reasons. -->
     <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 -->
@@ -908,22 +925,30 @@
     <!-- 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" -->
+    <!-- The failed reason shown when contacts exporter fails to be initialized.
+         Some exact reason must follow this. -->
     <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" -->
+    <!-- The failed reason shown when some error happend during contacts export.
+         Some exact reason must follow this. -->
     <string name="fail_reason_error_occurred_during_export">Error occured during export: \"<xliff:g id="exact_reason">%s</xliff:g>\"</string>
 
-    <!-- The error reason the vCard composer emits: "Failed to get database information" -->
+    <!-- The error reason the vCard composer "may" emit when database is corrupted or
+         something is going wrong. Usually users should not see this text. -->
     <string name="composer_failed_to_get_database_infomation">Failed to get database information</string>
 
-    <!-- The error reason the vCard composer emits: "There is no exportable contact. You might choose un-exportable data" -->
-    <string name="composer_has_no_exportable_contact">There is no exportable contact. You might choose un-exportable data</string>
+    <!-- This error message shown when the user actually have no contact
+         (e.g. just after data-wiping), or, data providers of the contact list prohibits their
+         contacts from being exported to outside world via vcard exporter, etc. -->
+    <string name="composer_has_no_exportable_contact">There is no exportable contact. If you have actualy have contacts on your phone, all the contacts may be prohibited from being exported to outside the phone by some data provider.</string>
 
-    <!-- The error reason the vCard composer emits: "The vCard composer object is not correctly initialized" -->
+    <!-- The error reason the vCard composer may emit when vCard composer is not initialized
+         even when needed.
+         Users should not usually see this error message. -->
     <string name="composer_not_initialized">The vCard composer is not correctly initialized</string>
 
-    <!-- The failed reason: "Could not open a specific file" -->
+    <!-- The failed reason shown when vCard importer/exporter could not open the file
+         specified by a user. The file name should be in the message. -->
     <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)")-->
diff --git a/src/com/android/contacts/ButtonGridLayout.java b/src/com/android/contacts/ButtonGridLayout.java
deleted file mode 100644
index 6ce3e71..0000000
--- a/src/com/android/contacts/ButtonGridLayout.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * 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.
- */
-
-package com.android.contacts;
-
-import android.content.Context;
-import android.util.AttributeSet;
-import android.view.View.MeasureSpec;
-import android.view.View;
-import android.view.ViewGroup;
-
-/**
- * Create a 4x3 grid of dial buttons.
- *
- * It was easier and more efficient to do it this way than use
- * standard layouts. It's perfectly fine (and actually encouraged) to
- * use custom layouts rather than piling up standard layouts.
- *
- * The horizontal and vertical spacings between buttons are controlled
- * by the amount of padding (attributes on the ButtonGridLayout element):
- *   - horizontal = left + right padding and
- *   - vertical = top + bottom padding.
- *
- * This class assumes that all the buttons have the same size.
- * The buttons will be bottom aligned in their view on layout.
- *
- * Invocation: onMeasure is called first by the framework to know our
- * size. Then onLayout is invoked to layout the buttons.
- */
-// TODO: Blindly layout the buttons w/o checking if we overrun the
-// bottom-right corner.
-public class ButtonGridLayout extends ViewGroup {
-    private final int COLUMNS = 3;
-    private final int ROWS = 4;
-
-    // Width and height of a button
-    private int mButtonWidth;
-    private int mButtonHeight;
-
-    // Width and height of a button + padding.
-    private int mWidthInc;
-    private int mHeightInc;
-
-    // Height of the dialpad. Used to align it at the bottom of the
-    // view.
-    private int mHeight;
-
-    public ButtonGridLayout(Context context) {
-        super(context);
-    }
-
-    public ButtonGridLayout(Context context, AttributeSet attrs) {
-        super(context, attrs);
-    }
-
-    public ButtonGridLayout(Context context, AttributeSet attrs, int defStyle) {
-        super(context, attrs, defStyle);
-    }
-
-    @Override
-    protected void onLayout(boolean changed, int l, int t, int r, int b) {
-        int i = 0;
-        // The last row is bottom aligned.
-        int y = (b - t) - mHeight + mPaddingTop;
-        for (int row = 0; row < ROWS; row++) {
-            int x = mPaddingLeft;
-            for (int col = 0; col < COLUMNS; col++) {
-                View child = getChildAt(i);
-
-                child.layout(x, y, x + mButtonWidth, y + mButtonHeight);
-
-                x += mWidthInc;
-                i++;
-            }
-            y += mHeightInc;
-        }
-      }
-
-    @Override
-    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
-        // Measure the first child and get it's size
-        View child = getChildAt(0);
-        child.measure(MeasureSpec.UNSPECIFIED , MeasureSpec.UNSPECIFIED);
-
-        // Make sure the other children are measured as well, to initialize
-        for (int i = 1; i < getChildCount(); i++) {
-            getChildAt(i).measure(MeasureSpec.UNSPECIFIED , MeasureSpec.UNSPECIFIED);
-        }
-
-        // Store these to be reused in onLayout.
-        mButtonWidth = child.getMeasuredWidth();
-        mButtonHeight = child.getMeasuredHeight();
-        mWidthInc = mButtonWidth + mPaddingLeft + mPaddingRight;
-        mHeightInc = mButtonHeight + mPaddingTop + mPaddingBottom;
-        mHeight = ROWS * mHeightInc;
-
-        final int width = resolveSize(COLUMNS * mWidthInc, widthMeasureSpec);
-        final int height = resolveSize(mHeight, heightMeasureSpec);
-
-        setMeasuredDimension(width, height);
-    }
-}
diff --git a/src/com/android/contacts/ContactsListActivity.java b/src/com/android/contacts/ContactsListActivity.java
index 24c7100..2c0aa7d 100644
--- a/src/com/android/contacts/ContactsListActivity.java
+++ b/src/com/android/contacts/ContactsListActivity.java
@@ -219,11 +219,11 @@
     static final int MODE_PICK_OR_CREATE_CONTACT = 42 | MODE_MASK_PICKER | MODE_MASK_CREATE_NEW
             | MODE_MASK_SHOW_PHOTOS | MODE_MASK_DISABLE_QUIKCCONTACT;
     /** Show all people through the legacy provider and pick them when clicking */
-    static final int MODE_LEGACY_PICK_PERSON = 43 | MODE_MASK_PICKER | MODE_MASK_SHOW_PHOTOS
+    static final int MODE_LEGACY_PICK_PERSON = 43 | MODE_MASK_PICKER
             | MODE_MASK_DISABLE_QUIKCCONTACT;
     /** Show all people through the legacy provider as well as the option to create a new one */
     static final int MODE_LEGACY_PICK_OR_CREATE_PERSON = 44 | MODE_MASK_PICKER
-            | MODE_MASK_CREATE_NEW | MODE_MASK_SHOW_PHOTOS | MODE_MASK_DISABLE_QUIKCCONTACT;
+            | MODE_MASK_CREATE_NEW | MODE_MASK_DISABLE_QUIKCCONTACT;
     /** Show all contacts and pick them when clicking, and allow creating a new contact */
     static final int MODE_INSERT_OR_EDIT_CONTACT = 45 | MODE_MASK_PICKER | MODE_MASK_CREATE_NEW;
     /** Show all phone numbers and pick them when clicking */
@@ -416,6 +416,9 @@
             getContentResolver().delete(mSelectedContactUri, null, null);
         }
     }
+    
+    // The size of a home screen shortcut icon.
+    private int mIconSize;
 
     @Override
     protected void onCreate(Bundle icicle) {
@@ -423,6 +426,8 @@
 
         // Resolve the intent
         final Intent intent = getIntent();
+        
+        mIconSize = getResources().getDimensionPixelSize(android.R.dimen.app_icon_size);
 
         // Allow the title to be set to a custom String using an extra on the intent
         String title = intent.getStringExtra(UI.TITLE_EXTRA_KEY);
@@ -1322,7 +1327,7 @@
 
                 final Bitmap icon = framePhoto(loadContactPhoto(id, null));
                 if (icon != null) {
-                    intent.putExtra(Intent.EXTRA_SHORTCUT_ICON, icon);
+                    intent.putExtra(Intent.EXTRA_SHORTCUT_ICON, scaleToAppIconSize(icon));
                 } else {
                     intent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,
                             Intent.ShortcutIconResource.fromContext(this,
@@ -1413,10 +1418,9 @@
                 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);
+        Bitmap icon = createShortcutBitmap();
         Canvas canvas = new Canvas(icon);
 
         // Copy in the photo
@@ -1424,7 +1428,7 @@
         photoPaint.setDither(true);
         photoPaint.setFilterBitmap(true);
         Rect src = new Rect(0,0, photo.getWidth(),photo.getHeight());
-        Rect dst = new Rect(0,0, iconSize,iconSize);
+        Rect dst = new Rect(0,0, mIconSize, mIconSize);
         canvas.drawBitmap(photo, src, dst, photoPaint);
 
         // Create an overlay for the phone number type
@@ -1473,6 +1477,26 @@
 
         return icon;
     }
+    
+    private Bitmap scaleToAppIconSize(Bitmap photo) {
+        // Setup the drawing classes
+        Bitmap icon = createShortcutBitmap();
+        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, mIconSize, mIconSize);
+        canvas.drawBitmap(photo, src, dst, photoPaint);
+        
+        return icon;
+    }
+    
+    private Bitmap createShortcutBitmap() {
+        return Bitmap.createBitmap(mIconSize, mIconSize, Bitmap.Config.ARGB_8888);
+    }
 
     /**
      * Returns the icon for the phone call action.
@@ -2384,7 +2408,7 @@
             }
 
             View v;
-            if (convertView == null) {
+            if (convertView == null || convertView.getTag() == null) {
                 v = newView(mContext, cursor, parent);
             } else {
                 v = convertView;
@@ -2522,8 +2546,11 @@
                 cache.nameView.setText(mUnknownNameText);
             }
 
+            boolean hasPhone = cursor.getColumnCount() >= SUMMARY_HAS_PHONE_COLUMN_INDEX
+                    && cursor.getInt(SUMMARY_HAS_PHONE_COLUMN_INDEX) != 0;
+
             // Make the call button visible if requested.
-            if (mDisplayCallButton) {
+            if (mDisplayCallButton && hasPhone) {
                 int pos = cursor.getPosition();
                 cache.callView.setVisibility(View.VISIBLE);
                 cache.callButton.setTag(pos);
diff --git a/src/com/android/contacts/ContactsUtils.java b/src/com/android/contacts/ContactsUtils.java
index 1e3b8ad..24f683f 100644
--- a/src/com/android/contacts/ContactsUtils.java
+++ b/src/com/android/contacts/ContactsUtils.java
@@ -37,6 +37,7 @@
 import android.provider.ContactsContract.CommonDataKinds.Photo;
 import android.provider.ContactsContract.CommonDataKinds.StructuredPostal;
 import android.provider.Im.ProviderNames;
+import android.telephony.PhoneNumberUtils;
 import android.text.TextUtils;
 import android.view.LayoutInflater;
 import android.view.View;
@@ -50,7 +51,6 @@
 import java.util.ArrayList;
 
 public class ContactsUtils {
-
     private static final String TAG = "ContactsUtils";
     /**
      * Build the display title for the {@link Data#CONTENT_URI} entry in the
@@ -386,7 +386,6 @@
     /**
      * Utility for creating a standard tab indicator view.
      *
-     * @param context The label to display in the tab indicator. If null, not label will be displayed.
      * @param parent The parent ViewGroup to attach the new view to.
      * @param source The {@link ContactsSource} to build the tab view from.
      * @return The tab indicator View.
@@ -401,6 +400,9 @@
 
     /**
      * Kick off an intent to initiate a call.
+     *
+     * @param phoneNumber must not be null.
+     * @throws NullPointerException when the given argument is null.
      */
     public static void initiateCall(Context context, CharSequence phoneNumber) {
         Intent intent = new Intent(Intent.ACTION_CALL_PRIVILEGED,
@@ -410,6 +412,9 @@
 
     /**
      * Kick off an intent to initiate an Sms/Mms message.
+     *
+     * @param phoneNumber must not be null.
+     * @throws NullPointerException when the given argument is null.
      */
     public static void initiateSms(Context context, CharSequence phoneNumber) {
         Intent intent = new Intent(Intent.ACTION_SENDTO,
@@ -424,4 +429,47 @@
     public static boolean isGraphic(CharSequence str) {
         return !TextUtils.isEmpty(str) && TextUtils.isGraphic(str);
     }
+
+    /**
+     * Returns true if two objects are considered equal.  Two null references are equal here.
+     */
+    public static boolean areObjectsEqual(Object a, Object b) {
+        return a == b || (a != null && a.equals(b));
+    }
+
+    /**
+     * Returns true if two data with mimetypes which represent values in contact entries are
+     * considered equal.
+     */
+    public static final boolean areDataEqual(Context context, CharSequence mimetype1,
+            CharSequence data1, CharSequence mimetype2, CharSequence data2) {
+        if (TextUtils.equals(Phone.CONTENT_ITEM_TYPE, mimetype1)
+                && TextUtils.equals(Phone.CONTENT_ITEM_TYPE, mimetype2)) {
+            if (data1 == data2) {
+                return true;
+            }
+            if (data1 == null || data2 == null) {
+                return false;
+            }
+            return PhoneNumberUtils.compare(context, data1.toString(), data2.toString());
+        } else {
+            if (mimetype1 == mimetype2 && data1 == data2) {
+                return true;
+            }
+            return TextUtils.equals(mimetype1, mimetype2) && TextUtils.equals(data1, data2);
+        }
+    }
+
+    /**
+     * Returns true if two {@link Intent}s are both null, or have the same action.
+     */
+    public static final boolean areIntentActionEqual(Intent a, Intent b) {
+        if (a == b) {
+            return true;
+        }
+        if (a == null || b == null) {
+            return false;
+        }
+        return TextUtils.equals(a.getAction(), b.getAction());
+    }
 }
diff --git a/src/com/android/contacts/ExportVCardActivity.java b/src/com/android/contacts/ExportVCardActivity.java
index baf2371..5bccc7a 100644
--- a/src/com/android/contacts/ExportVCardActivity.java
+++ b/src/com/android/contacts/ExportVCardActivity.java
@@ -36,6 +36,14 @@
 import java.util.HashSet;
 import java.util.Set;
 
+/**
+ * Class for exporting vCard.
+ *
+ * Note that this Activity assumes that the instance is a "one-shot Activity", which will be
+ * finished (with the method {@link Activity#finish()}) after the export and never reuse
+ * any Dialog in the instance. So this code is careless about the management around managed
+ * dialogs stuffs (like how onCreateDialog() is used).
+ */
 public class ExportVCardActivity extends Activity {
     private static final String LOG_TAG = "ExportVCardActivity";
 
@@ -102,7 +110,6 @@
         public void onClick(DialogInterface dialog, int which) {
             if (which == DialogInterface.BUTTON_POSITIVE) {
                 mActualExportThread = new ActualExportThread(mFileName);
-                mActualExportThread.start();
                 showDialog(R.id.dialog_exporting_vcard);
             }
         }
@@ -287,26 +294,23 @@
                 return builder.create();
             }
             case R.id.dialog_exporting_vcard: {
-                return getExportingVCardDialog();
+                if (mProgressDialog == null) {
+                    String title = getString(R.string.exporting_contact_list_title);
+                    String message = getString(R.string.exporting_contact_list_message,
+                            mExportingFileName);
+                    mProgressDialog = new ProgressDialog(ExportVCardActivity.this);
+                    mProgressDialog.setTitle(title);
+                    mProgressDialog.setMessage(message);
+                    mProgressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
+                    mProgressDialog.setOnCancelListener(mActualExportThread);
+                    mActualExportThread.start();
+                }
+                return mProgressDialog;
             }
         }
         return super.onCreateDialog(id);
     }
 
-    private Dialog getExportingVCardDialog() {
-        if (mProgressDialog == null) {
-            String title = getString(R.string.exporting_contact_list_title);
-            String message = getString(R.string.exporting_contact_list_message,
-                    mExportingFileName);
-            mProgressDialog = new ProgressDialog(ExportVCardActivity.this);
-            mProgressDialog.setTitle(title);
-            mProgressDialog.setMessage(message);
-            mProgressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
-            mProgressDialog.setOnCancelListener(mActualExportThread);
-        }
-        return mProgressDialog;
-    }
-
     @Override
     protected void onPrepareDialog(int id, Dialog dialog) {
         if (id == R.id.dialog_fail_to_export_with_reason) {
diff --git a/src/com/android/contacts/ImportVCardActivity.java b/src/com/android/contacts/ImportVCardActivity.java
index 8fd9c0d..b306528 100644
--- a/src/com/android/contacts/ImportVCardActivity.java
+++ b/src/com/android/contacts/ImportVCardActivity.java
@@ -30,11 +30,11 @@
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.PowerManager;
-import android.pim.vcard.EntryCommitter;
-import android.pim.vcard.VCardBuilder;
-import android.pim.vcard.VCardBuilderCollection;
+import android.pim.vcard.VCardEntryCommitter;
+import android.pim.vcard.VCardInterpreter;
+import android.pim.vcard.VCardInterpreterCollection;
 import android.pim.vcard.VCardConfig;
-import android.pim.vcard.VCardDataBuilder;
+import android.pim.vcard.VCardEntryConstructor;
 import android.pim.vcard.VCardEntryCounter;
 import android.pim.vcard.VCardParser_V21;
 import android.pim.vcard.VCardParser_V30;
@@ -90,6 +90,11 @@
 /**
  * Class for importing vCard. Several user interaction will be required while reading
  * (selecting a file, waiting a moment, etc.)
+ *
+ * Note that this Activity assumes that the instance is a "one-shot Activity", which will be
+ * finished (with the method {@link Activity#finish()}) after the import and never reuse
+ * any Dialog in the instance. So this code is careless about the management around managed
+ * dialogs stuffs (like how onCreateDialog() is used).
  */
 public class ImportVCardActivity extends Activity {
     private static final String LOG_TAG = "ImportVCardActivity";
@@ -197,7 +202,7 @@
                     }
                     VCardEntryCounter counter = new VCardEntryCounter();
                     VCardSourceDetector detector = new VCardSourceDetector();
-                    VCardBuilderCollection builderCollection = new VCardBuilderCollection(
+                    VCardInterpreterCollection builderCollection = new VCardInterpreterCollection(
                             Arrays.asList(counter, detector));
 
                     boolean result;
@@ -290,17 +295,17 @@
                 String charset, boolean showEntryParseProgress,
                 VCardSourceDetector detector, List<String> errorFileNameList) {
             final Context context = ImportVCardActivity.this;
-            VCardDataBuilder builder;
+            VCardEntryConstructor builder;
             final String currentLanguage = Locale.getDefault().getLanguage();
             int vcardType = VCardConfig.getVCardTypeFromString(
                     context.getString(R.string.config_import_vcard_type));
             if (charset != null) {
-                builder = new VCardDataBuilder(charset, charset, false, vcardType, mAccount);
+                builder = new VCardEntryConstructor(charset, charset, false, vcardType, mAccount);
             } else {
                 charset = VCardConfig.DEFAULT_CHARSET;
-                builder = new VCardDataBuilder(null, null, false, vcardType, mAccount);
+                builder = new VCardEntryConstructor(null, null, false, vcardType, mAccount);
             }
-            builder.addEntryHandler(new EntryCommitter(mResolver));
+            builder.addEntryHandler(new VCardEntryCommitter(mResolver));
             if (showEntryParseProgress) {
                 builder.addEntryHandler(new ProgressShower(mProgressDialogForReadVCard,
                         context.getString(R.string.reading_vcard_message),
@@ -319,7 +324,7 @@
         }
 
         private boolean readOneVCardFile(String canonicalPath, String charset,
-                VCardBuilder builder, VCardSourceDetector detector,
+                VCardInterpreter builder, VCardSourceDetector detector,
                 boolean throwNestedException, List<String> errorFileNameList)
                 throws VCardNestedException {
             FileInputStream is;
@@ -334,6 +339,10 @@
                         is.close();
                     } catch (IOException e) {
                     }
+                    if (builder instanceof VCardEntryConstructor) {
+                        // Let the object clean up internal temporal objects,
+                        ((VCardEntryConstructor)builder).clear();
+                    }
                     is = new FileInputStream(canonicalPath);
 
                     try {
@@ -673,20 +682,6 @@
         return builder.create();
     }
 
-    private Dialog getReadingVCardDialog() {
-        if (mProgressDialogForReadVCard == null) {
-            String title = getString(R.string.reading_vcard_title);
-            String message = getString(R.string.reading_vcard_message);
-            mProgressDialogForReadVCard = new ProgressDialog(this);
-            mProgressDialogForReadVCard.setTitle(title);
-            mProgressDialogForReadVCard.setMessage(message);
-            mProgressDialogForReadVCard.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
-            mProgressDialogForReadVCard.setOnCancelListener(mVCardReadThread);
-            mVCardReadThread.start();
-        }
-        return mProgressDialogForReadVCard;
-    }
-
     @Override
     protected void onCreate(Bundle bundle) {
         super.onCreate(bundle);
@@ -748,7 +743,17 @@
                 return getVCardFileSelectDialog(false);
             }
             case R.id.dialog_reading_vcard: {
-                return getReadingVCardDialog();
+                if (mProgressDialogForReadVCard == null) {
+                    String title = getString(R.string.reading_vcard_title);
+                    String message = getString(R.string.reading_vcard_message);
+                    mProgressDialogForReadVCard = new ProgressDialog(this);
+                    mProgressDialogForReadVCard.setTitle(title);
+                    mProgressDialogForReadVCard.setMessage(message);
+                    mProgressDialogForReadVCard.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
+                    mProgressDialogForReadVCard.setOnCancelListener(mVCardReadThread);
+                    mVCardReadThread.start();
+                }
+                return mProgressDialogForReadVCard;
             }
             case R.id.dialog_io_exception: {
                 String message = (getString(R.string.scanning_sdcard_failed_message,
diff --git a/src/com/android/contacts/PhoneDisambigDialog.java b/src/com/android/contacts/PhoneDisambigDialog.java
index b727c77..e0295e3 100644
--- a/src/com/android/contacts/PhoneDisambigDialog.java
+++ b/src/com/android/contacts/PhoneDisambigDialog.java
@@ -136,11 +136,11 @@
 
     private class PhoneItem implements Collapsible<PhoneItem> {
 
-        String phoneNumber;
-        long id;
+        final String phoneNumber;
+        final long id;
 
         public PhoneItem(String newPhoneNumber, long newId) {
-            phoneNumber = newPhoneNumber;
+            phoneNumber = (newPhoneNumber != null ? newPhoneNumber : "");
             id = newId;
         }
 
@@ -160,6 +160,7 @@
             return false;
         }
 
+        @Override
         public String toString() {
             return phoneNumber;
         }
diff --git a/src/com/android/contacts/ProgressShower.java b/src/com/android/contacts/ProgressShower.java
index c1a2493..a5ad2a2 100644
--- a/src/com/android/contacts/ProgressShower.java
+++ b/src/com/android/contacts/ProgressShower.java
@@ -18,12 +18,12 @@
 import android.app.ProgressDialog;
 import android.content.Context;
 import android.os.Handler;
-import android.pim.vcard.ContactStruct;
-import android.pim.vcard.EntryHandler;
+import android.pim.vcard.VCardEntry;
+import android.pim.vcard.VCardEntryHandler;
 import android.pim.vcard.VCardConfig;
 import android.util.Log;
 
-public class ProgressShower implements EntryHandler {
+public class ProgressShower implements VCardEntryHandler {
     public static final String LOG_TAG = "vcard.ProgressShower"; 
 
     private final Context mContext;
@@ -34,9 +34,9 @@
     private long mTime;
     
     private class ShowProgressRunnable implements Runnable {
-        private ContactStruct mContact;
+        private VCardEntry mContact;
         
-        public ShowProgressRunnable(ContactStruct contact) {
+        public ShowProgressRunnable(VCardEntry contact) {
             mContact = contact;
         }
         
@@ -57,10 +57,10 @@
         mProgressMessage = progressMessage;
     }
 
-    public void onParsingStart() {
+    public void onStart() {
     }
 
-    public void onEntryCreated(ContactStruct contactStruct) {
+    public void onEntryCreated(VCardEntry contactStruct) {
         long start = System.currentTimeMillis();
         
         if (!contactStruct.isIgnorable()) {
@@ -78,7 +78,7 @@
         mTime += System.currentTimeMillis() - start;
     }
 
-    public void onParsingEnd() {
+    public void onEnd() {
         if (VCardConfig.showPerformanceLog()) {
             Log.d(LOG_TAG,
                     String.format("Time to progress a dialog: %d ms", mTime));
diff --git a/src/com/android/contacts/SplitAggregateView.java b/src/com/android/contacts/SplitAggregateView.java
index ed78fd9..b85a4ab 100644
--- a/src/com/android/contacts/SplitAggregateView.java
+++ b/src/com/android/contacts/SplitAggregateView.java
@@ -18,7 +18,6 @@
 
 import com.android.contacts.model.ContactsSource;
 import com.android.contacts.model.Sources;
-import com.google.common.util.text.TextUtil;
 
 import android.content.Context;
 import android.content.pm.PackageManager;
diff --git a/src/com/android/contacts/TwelveKeyDialer.java b/src/com/android/contacts/TwelveKeyDialer.java
index 2d8b4e6..cb0b06d 100644
--- a/src/com/android/contacts/TwelveKeyDialer.java
+++ b/src/com/android/contacts/TwelveKeyDialer.java
@@ -34,7 +34,6 @@
 import android.os.RemoteException;
 import android.os.ServiceManager;
 import android.os.SystemClock;
-import android.os.Vibrator;
 import android.provider.Contacts.Intents.Insert;
 import android.provider.Contacts.People;
 import android.provider.Contacts.Phones;
@@ -66,6 +65,7 @@
 import android.widget.TextView;
 
 import com.android.internal.telephony.ITelephony;
+import com.android.phone.HapticFeedback;
 
 /**
  * Dialer activity that displays the typical twelve key interface.
@@ -85,9 +85,6 @@
     /** Stream type used to play the DTMF tones off call, and mapped to the volume control keys */
     private static final int DIAL_TONE_STREAM_TYPE = AudioManager.STREAM_MUSIC;
 
-    /** Play the vibrate pattern only once. */
-    private static final int VIBRATE_NO_REPEAT = -1;
-
     private EditText mDigits;
     private View mDelete;
     private MenuItem mAddToContactMenuItem;
@@ -112,10 +109,7 @@
     private boolean mDTMFToneEnabled;
 
     // Vibration (haptic feedback) for dialer key presses.
-    private Vibrator mVibrator;
-    private boolean mVibrateOn;
-    private long[] mVibratePattern;
-
+    private HapticFeedback mHaptic = new HapticFeedback();
 
     /** Identifier for the "Add Call" intent extra. */
     static final String ADD_CALL_MODE_KEY = "add_call_mode";
@@ -249,10 +243,12 @@
             super.onRestoreInstanceState(icicle);
         }
 
-        // TODO: We might eventually need to make mVibrateOn come from a
-        // user preference rather than a per-platform resource, in which
-        // case we would need to update it in onResume() rather than here.
-        initVibrationPattern(r);
+        try {
+            mHaptic.init(this, r.getBoolean(R.bool.config_enable_dialer_key_vibration));
+        } catch (Resources.NotFoundException nfe) {
+             Log.e(TAG, "Vibrate control bool missing.", nfe);
+        }
+
     }
 
     @Override
@@ -402,6 +398,9 @@
         mDTMFToneEnabled = Settings.System.getInt(getContentResolver(),
                 Settings.System.DTMF_TONE_WHEN_DIALING, 1) == 1;
 
+        // Retrieve the haptic feedback setting.
+        mHaptic.checkSystemSetting();
+
         // if the mToneGenerator creation fails, just continue without it.  It is
         // a local audio signal, and is not as important as the dtmf tone itself.
         synchronized(mToneGeneratorLock) {
@@ -610,7 +609,7 @@
     }
 
     private void keyPressed(int keyCode) {
-        vibrate();
+        mHaptic.vibrate();
         KeyEvent event = new KeyEvent(KeyEvent.ACTION_DOWN, keyCode);
         mDigits.onKeyDown(keyCode, event);
     }
@@ -694,13 +693,13 @@
                 return;
             }
             case R.id.dialButton: {
-                vibrate();  // Vibrate here too, just like we do for the regular keys
+                mHaptic.vibrate();  // Vibrate here too, just like we do for the regular keys
                 placeCall();
                 return;
             }
             case R.id.voicemailButton: {
                 callVoicemail();
-                vibrate();
+                mHaptic.vibrate();
                 return;
             }
             case R.id.digits: {
@@ -1062,18 +1061,6 @@
         return phoneOffhook;
     }
 
-    /**
-     * Triggers haptic feedback (if enabled) for dialer key presses.
-     */
-    private synchronized void vibrate() {
-        if (!mVibrateOn) {
-            return;
-        }
-        if (mVibrator == null) {
-            mVibrator = new Vibrator();
-        }
-        mVibrator.vibrate(mVibratePattern, VIBRATE_NO_REPEAT);
-    }
 
     /**
      * Returns true whenever any one of the options from the menu is selected.
@@ -1164,35 +1151,6 @@
     }
 
     /**
-     * Initialize the vibration parameters.
-     * @param r The Resources with the vibration parameters.
-     */
-    private void initVibrationPattern(Resources r) {
-        int[] pattern = null;
-        try {
-            mVibrateOn = r.getBoolean(R.bool.config_enable_dialer_key_vibration);
-            pattern = r.getIntArray(com.android.internal.R.array.config_virtualKeyVibePattern);
-            if (null == pattern) {
-                Log.e(TAG, "Vibrate pattern is null.");
-                mVibrateOn = false;
-            }
-        } catch (Resources.NotFoundException nfe) {
-            Log.e(TAG, "Vibrate control bool or pattern missing.", nfe);
-            mVibrateOn = false;
-        }
-
-        if (!mVibrateOn) {
-            return;
-        }
-
-        // int[] to long[] conversion.
-        mVibratePattern = new long[pattern.length];
-        for (int i = 0; i < pattern.length; i++) {
-            mVibratePattern[i] = pattern[i];
-        }
-    }
-
-    /**
      * This function return true if Wait menu item can be shown
      * otherwise returns false. Assumes the passed string is non-empty
      * and the 0th index check is not required.
diff --git a/src/com/android/contacts/ViewContactActivity.java b/src/com/android/contacts/ViewContactActivity.java
index ca3c08a..2aeb34d 100644
--- a/src/com/android/contacts/ViewContactActivity.java
+++ b/src/com/android/contacts/ViewContactActivity.java
@@ -46,7 +46,9 @@
 import android.database.ContentObserver;
 import android.database.Cursor;
 import android.graphics.drawable.Drawable;
+import android.net.ParseException;
 import android.net.Uri;
+import android.net.WebAddress;
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.RemoteException;
@@ -57,6 +59,7 @@
 import android.provider.ContactsContract.Contacts;
 import android.provider.ContactsContract.Data;
 import android.provider.ContactsContract.RawContacts;
+import android.provider.ContactsContract.RawContactsEntity;
 import android.provider.ContactsContract.StatusUpdates;
 import android.provider.ContactsContract.CommonDataKinds.Email;
 import android.provider.ContactsContract.CommonDataKinds.Im;
@@ -65,6 +68,7 @@
 import android.provider.ContactsContract.CommonDataKinds.Organization;
 import android.provider.ContactsContract.CommonDataKinds.Phone;
 import android.provider.ContactsContract.CommonDataKinds.StructuredPostal;
+import android.provider.ContactsContract.CommonDataKinds.Website;
 import android.telephony.PhoneNumberUtils;
 import android.text.TextUtils;
 import android.util.Log;
@@ -151,6 +155,13 @@
     private ArrayList<Entity> mEntities = Lists.newArrayList();
     private HashMap<Long, DataStatus> mStatuses = Maps.newHashMap();
 
+    /**
+     * The view shown if the detail list is empty.
+     * We set this to the list view when first bind the adapter, so that it won't be shown while
+     * we're loading data.
+     */
+    private View mEmptyView;
+
     private ContentObserver mObserver = new ContentObserver(new Handler()) {
         @Override
         public boolean deliverSelfNotifications() {
@@ -206,7 +217,8 @@
         mListView.setOnCreateContextMenuListener(this);
         mListView.setScrollBarStyle(ListView.SCROLLBARS_OUTSIDE_OVERLAY);
         mListView.setOnItemClickListener(this);
-        mListView.setEmptyView((ScrollView) findViewById(android.R.id.empty));
+        // Don't set it to mListView yet.  We do so later when we bind the adapter.
+        mEmptyView = findViewById(android.R.id.empty);
 
         mResolver = getContentResolver();
 
@@ -286,31 +298,27 @@
         return null;
     }
 
-    // QUERY CODE //
     /** {@inheritDoc} */
-    public void onQueryEntitiesComplete(int token, Object cookie, EntityIterator iterator) {
-        try {
-            // Read incoming entities and consider binding
-            readEntities(iterator);
-            considerBindData();
-        } finally {
-            if (iterator != null) {
+    public void onQueryComplete(int token, Object cookie, Cursor cursor) {
+        if (token == TOKEN_STATUSES) {
+            try {
+                // Read available social rows and consider binding
+                readStatuses(cursor);
+            } finally {
+                if (cursor != null) {
+                    cursor.close();
+                }
+            }
+        } else {
+            EntityIterator iterator = RawContacts.newEntityIterator(cursor);
+            try {
+                // Read incoming entities and consider binding
+                readEntities(iterator);
+            } finally {
                 iterator.close();
             }
         }
-    }
-
-    /** {@inheritDoc} */
-    public void onQueryComplete(int token, Object cookie, Cursor cursor) {
-        try {
-            // Read available social rows and consider binding
-            readStatuses(cursor);
-            considerBindData();
-        } finally {
-            if (cursor != null) {
-                cursor.close();
-            }
-        }
+        considerBindData();
     }
 
     private long getRefreshedContactId() {
@@ -388,7 +396,7 @@
         mHasEntities = false;
         mHasStatuses = false;
 
-        mHandler.startQueryEntities(TOKEN_ENTITIES, null, RawContacts.CONTENT_URI,
+        mHandler.startQuery(TOKEN_ENTITIES, null, RawContactsEntity.CONTENT_URI, null,
                 RawContacts.CONTACT_ID + "=" + contactId, null, null);
         mHandler.startQuery(TOKEN_STATUSES, null, dataUri, StatusQuery.PROJECTION,
                         StatusUpdates.PRESENCE + " IS NOT NULL OR " + StatusUpdates.STATUS
@@ -434,6 +442,7 @@
         } else {
             mAdapter.setSections(mSections, SHOW_SEPARATORS);
         }
+        mListView.setEmptyView(mEmptyView);
     }
 
     @Override
@@ -893,6 +902,18 @@
                         entry.uri = null;
                         entry.maxLines = 10;
                         mOtherEntries.add(entry);
+                    } else if (Website.CONTENT_ITEM_TYPE.equals(mimeType) && hasData) {
+                        // Build note entries
+                        entry.uri = null;
+                        entry.maxLines = 10;
+                        try {
+                            WebAddress webAddress = new WebAddress(entry.data);
+                            entry.intent = new Intent(Intent.ACTION_VIEW,
+                                    Uri.parse(webAddress.toString()));
+                        } catch (ParseException e) {
+                            Log.e(TAG, "Couldn't parse website: " + entry.data);
+                        }
+                        mOtherEntries.add(entry);
                     } else {
                         // Handle showing custom rows
                         entry.intent = new Intent(Intent.ACTION_VIEW, entry.uri);
@@ -1040,39 +1061,19 @@
                 return false;
             }
 
-            if (Phone.CONTENT_ITEM_TYPE.equals(mimetype)
-                    && Phone.CONTENT_ITEM_TYPE.equals(entry.mimetype)) {
-                if (!PhoneNumberUtils.compare(this.context, data, entry.data)) {
-                    return false;
-                }
-            } else {
-                if (!equals(data, entry.data)) {
-                    return false;
-                }
+            if (!ContactsUtils.areDataEqual(context, mimetype, data, entry.mimetype, entry.data)) {
+                return false;
             }
 
-            if (!equals(mimetype, entry.mimetype)
-                    || !intentCollapsible(intent, entry.intent)
-                    || !intentCollapsible(secondaryIntent, entry.secondaryIntent)
+            if (!TextUtils.equals(mimetype, entry.mimetype)
+                    || !ContactsUtils.areIntentActionEqual(intent, entry.intent)
+                    || !ContactsUtils.areIntentActionEqual(secondaryIntent, entry.secondaryIntent)
                     || actionIcon != entry.actionIcon) {
                 return false;
             }
 
             return true;
         }
-
-        private boolean equals(Object a, Object b) {
-            return a==b || (a != null && a.equals(b));
-        }
-
-        private boolean intentCollapsible(Intent a, Intent b) {
-            if (a == b) {
-                return true;
-            } else if ((a != null && b != null) && equals(a.getAction(), b.getAction())) {
-                return true;
-            }
-            return false;
-        }
     }
 
     /** Cache of the children views of a row */
diff --git a/src/com/android/contacts/model/Editor.java b/src/com/android/contacts/model/Editor.java
index b3e8443..473f0d3 100644
--- a/src/com/android/contacts/model/Editor.java
+++ b/src/com/android/contacts/model/Editor.java
@@ -18,6 +18,7 @@
 
 import com.android.contacts.model.ContactsSource.DataKind;
 import com.android.contacts.model.EntityDelta.ValuesDelta;
+import com.android.contacts.ui.ViewIdGenerator;
 
 import android.provider.ContactsContract.Data;
 
@@ -50,7 +51,8 @@
      * builds any needed views. Any changes performed by the user will be
      * written back to that same object.
      */
-    public void setValues(DataKind kind, ValuesDelta values, EntityDelta state, boolean readOnly);
+    public void setValues(DataKind kind, ValuesDelta values, EntityDelta state, boolean readOnly,
+            ViewIdGenerator vig);
 
     /**
      * Add a specific {@link EditorListener} to this {@link Editor}.
diff --git a/src/com/android/contacts/model/EntityDelta.java b/src/com/android/contacts/model/EntityDelta.java
index ae30806..1f152e1 100644
--- a/src/com/android/contacts/model/EntityDelta.java
+++ b/src/com/android/contacts/model/EntityDelta.java
@@ -571,14 +571,6 @@
             return getAsLong(mIdColumn);
         }
 
-        /**
-         * Return a valid integer value suitable for {@link View#setId(int)}.
-         */
-        public int getViewId() {
-            final Long id = this.getId();
-            return (id == null) ? View.NO_ID : id.intValue();
-        }
-
         public void setIdColumn(String idColumn) {
             mIdColumn = idColumn;
         }
diff --git a/src/com/android/contacts/model/EntityModifier.java b/src/com/android/contacts/model/EntityModifier.java
index fb3eba7..2e6899e 100644
--- a/src/com/android/contacts/model/EntityModifier.java
+++ b/src/com/android/contacts/model/EntityModifier.java
@@ -33,12 +33,13 @@
 import android.provider.ContactsContract.CommonDataKinds.BaseTypes;
 import android.provider.ContactsContract.CommonDataKinds.Email;
 import android.provider.ContactsContract.CommonDataKinds.Im;
+import android.provider.ContactsContract.CommonDataKinds.Note;
+import android.provider.ContactsContract.CommonDataKinds.Organization;
 import android.provider.ContactsContract.CommonDataKinds.Phone;
 import android.provider.ContactsContract.CommonDataKinds.Photo;
 import android.provider.ContactsContract.CommonDataKinds.StructuredName;
 import android.provider.ContactsContract.CommonDataKinds.StructuredPostal;
 import android.provider.ContactsContract.Intents.Insert;
-import android.provider.ContactsContract;
 import android.text.TextUtils;
 import android.util.Log;
 import android.util.SparseIntArray;
@@ -484,6 +485,36 @@
             fixupLegacyImType(extras);
             parseExtras(state, kind, extras, Insert.IM_PROTOCOL, Insert.IM_HANDLE, Im.DATA);
         }
+
+        // Organization
+        final boolean hasOrg = extras.containsKey(Insert.COMPANY)
+                || extras.containsKey(Insert.JOB_TITLE);
+        final DataKind kindOrg = source.getKindForMimetype(Organization.CONTENT_ITEM_TYPE);
+        if (hasOrg && EntityModifier.canInsert(state, kindOrg)) {
+            final ValuesDelta child = EntityModifier.insertChild(state, kindOrg);
+
+            final String company = extras.getString(Insert.COMPANY);
+            if (ContactsUtils.isGraphic(company)) {
+                child.put(Organization.COMPANY, company);
+            }
+
+            final String title = extras.getString(Insert.JOB_TITLE);
+            if (ContactsUtils.isGraphic(title)) {
+                child.put(Organization.TITLE, title);
+            }
+        }
+
+        // Notes
+        final boolean hasNotes = extras.containsKey(Insert.NOTES);
+        final DataKind kindNotes = source.getKindForMimetype(Note.CONTENT_ITEM_TYPE);
+        if (hasNotes && EntityModifier.canInsert(state, kindNotes)) {
+            final ValuesDelta child = EntityModifier.insertChild(state, kindNotes);
+
+            final String notes = extras.getString(Insert.NOTES);
+            if (ContactsUtils.isGraphic(notes)) {
+                child.put(Note.NOTE, notes);
+            }
+        }
     }
 
     /**
diff --git a/src/com/android/contacts/model/EntitySet.java b/src/com/android/contacts/model/EntitySet.java
index be2f70f..ac53611 100644
--- a/src/com/android/contacts/model/EntitySet.java
+++ b/src/com/android/contacts/model/EntitySet.java
@@ -21,15 +21,13 @@
 import android.content.Entity;
 import android.content.EntityIterator;
 import android.content.ContentProviderOperation.Builder;
-import android.graphics.BitmapFactory;
 import android.os.Parcel;
 import android.os.Parcelable;
 import android.os.RemoteException;
 import android.provider.ContactsContract.AggregationExceptions;
 import android.provider.ContactsContract.Contacts;
 import android.provider.ContactsContract.RawContacts;
-import android.provider.ContactsContract.CommonDataKinds.Photo;
-import android.provider.ContactsContract.CommonDataKinds.StructuredName;
+import android.provider.ContactsContract.RawContactsEntity;
 
 import com.google.android.collect.Lists;
 
@@ -65,26 +63,24 @@
      */
     public static EntitySet fromQuery(ContentResolver resolver, String selection,
             String[] selectionArgs, String sortOrder) {
-        EntityIterator iterator = null;
-        final EntitySet state = new EntitySet();
+        EntityIterator iterator = RawContacts.newEntityIterator(resolver.query(
+                RawContactsEntity.CONTENT_URI, null, selection, selectionArgs,
+                sortOrder));
         try {
+            final EntitySet state = new EntitySet();
             // Perform background query to pull contact details
-            iterator = resolver.queryEntities(RawContacts.CONTENT_URI, selection, selectionArgs,
-                    sortOrder);
             while (iterator.hasNext()) {
                 // Read all contacts into local deltas to prepare for edits
                 final Entity before = iterator.next();
                 final EntityDelta entity = EntityDelta.fromBefore(before);
                 state.add(entity);
             }
+            return state;
         } catch (RemoteException e) {
             throw new IllegalStateException("Problem querying contact details", e);
         } finally {
-            if (iterator != null) {
-                iterator.close();
-            }
+            iterator.close();
         }
-        return state;
     }
 
     /**
diff --git a/src/com/android/contacts/model/ExchangeSource.java b/src/com/android/contacts/model/ExchangeSource.java
index b46824c..b26bdeb 100644
--- a/src/com/android/contacts/model/ExchangeSource.java
+++ b/src/com/android/contacts/model/ExchangeSource.java
@@ -32,6 +32,8 @@
 import android.provider.ContactsContract.CommonDataKinds.StructuredPostal;
 import android.provider.ContactsContract.CommonDataKinds.Website;
 
+import java.util.Locale;
+
 public class ExchangeSource extends FallbackSource {
 
     public static final String ACCOUNT_TYPE = "com.android.exchange";
@@ -64,23 +66,40 @@
         final DataKind kind = super.inflateStructuredName(ContactsSource.LEVEL_MIMETYPES);
 
         if (inflateLevel >= ContactsSource.LEVEL_CONSTRAINTS) {
+            final boolean useJapaneseOrder =
+                Locale.JAPANESE.getLanguage().equals(Locale.getDefault().getLanguage());
             kind.typeOverallMax = 1;
 
             kind.fieldList = Lists.newArrayList();
             kind.fieldList.add(new EditField(StructuredName.PREFIX, R.string.name_prefix,
                     FLAGS_PERSON_NAME).setOptional(true));
-            kind.fieldList.add(new EditField(StructuredName.GIVEN_NAME, R.string.name_given,
-                    FLAGS_PERSON_NAME));
-            kind.fieldList.add(new EditField(StructuredName.MIDDLE_NAME, R.string.name_middle,
-                    FLAGS_PERSON_NAME).setOptional(true));
-            kind.fieldList.add(new EditField(StructuredName.FAMILY_NAME, R.string.name_family,
-                    FLAGS_PERSON_NAME));
-            kind.fieldList.add(new EditField(StructuredName.SUFFIX, R.string.name_suffix,
-                    FLAGS_PERSON_NAME).setOptional(true));
-            kind.fieldList.add(new EditField(StructuredName.PHONETIC_GIVEN_NAME,
-                    R.string.name_phonetic_given, FLAGS_PHONETIC).setOptional(true));
-            kind.fieldList.add(new EditField(StructuredName.PHONETIC_FAMILY_NAME,
-                    R.string.name_phonetic_family, FLAGS_PHONETIC).setOptional(true));
+            if (useJapaneseOrder) {
+                kind.fieldList.add(new EditField(StructuredName.FAMILY_NAME,
+                        R.string.name_family, FLAGS_PERSON_NAME));
+                kind.fieldList.add(new EditField(StructuredName.MIDDLE_NAME,
+                        R.string.name_middle, FLAGS_PERSON_NAME).setOptional(true));
+                kind.fieldList.add(new EditField(StructuredName.GIVEN_NAME,
+                        R.string.name_given, FLAGS_PERSON_NAME));
+                kind.fieldList.add(new EditField(StructuredName.SUFFIX,
+                        R.string.name_suffix, FLAGS_PERSON_NAME).setOptional(true));
+                kind.fieldList.add(new EditField(StructuredName.PHONETIC_FAMILY_NAME,
+                        R.string.name_phonetic_family, FLAGS_PHONETIC).setOptional(true));
+                kind.fieldList.add(new EditField(StructuredName.PHONETIC_GIVEN_NAME,
+                        R.string.name_phonetic_given, FLAGS_PHONETIC).setOptional(true));
+            } else {
+                kind.fieldList.add(new EditField(StructuredName.GIVEN_NAME,
+                        R.string.name_given, FLAGS_PERSON_NAME));
+                kind.fieldList.add(new EditField(StructuredName.MIDDLE_NAME,
+                        R.string.name_middle, FLAGS_PERSON_NAME).setOptional(true));
+                kind.fieldList.add(new EditField(StructuredName.FAMILY_NAME,
+                        R.string.name_family, FLAGS_PERSON_NAME));
+                kind.fieldList.add(new EditField(StructuredName.SUFFIX,
+                        R.string.name_suffix, FLAGS_PERSON_NAME).setOptional(true));
+                kind.fieldList.add(new EditField(StructuredName.PHONETIC_GIVEN_NAME,
+                        R.string.name_phonetic_given, FLAGS_PHONETIC).setOptional(true));
+                kind.fieldList.add(new EditField(StructuredName.PHONETIC_FAMILY_NAME,
+                        R.string.name_phonetic_family, FLAGS_PHONETIC).setOptional(true));
+            }
         }
 
         return kind;
@@ -152,6 +171,8 @@
         final DataKind kind = super.inflateStructuredPostal(ContactsSource.LEVEL_MIMETYPES);
 
         if (inflateLevel >= ContactsSource.LEVEL_CONSTRAINTS) {
+            final boolean useJapaneseOrder =
+                Locale.JAPANESE.getLanguage().equals(Locale.getDefault().getLanguage());
             kind.typeColumn = StructuredPostal.TYPE;
             kind.typeList = Lists.newArrayList();
             kind.typeList.add(buildPostalType(StructuredPostal.TYPE_WORK).setSpecificMax(1));
@@ -159,16 +180,29 @@
             kind.typeList.add(buildPostalType(StructuredPostal.TYPE_OTHER).setSpecificMax(1));
 
             kind.fieldList = Lists.newArrayList();
-            kind.fieldList.add(new EditField(StructuredPostal.STREET, R.string.postal_street,
-                    FLAGS_POSTAL));
-            kind.fieldList.add(new EditField(StructuredPostal.CITY, R.string.postal_city,
-                    FLAGS_POSTAL));
-            kind.fieldList.add(new EditField(StructuredPostal.REGION, R.string.postal_region,
-                    FLAGS_POSTAL));
-            kind.fieldList.add(new EditField(StructuredPostal.POSTCODE, R.string.postal_postcode,
-                    FLAGS_POSTAL));
-            kind.fieldList.add(new EditField(StructuredPostal.COUNTRY, R.string.postal_country,
-                    FLAGS_POSTAL).setOptional(true));
+            if (useJapaneseOrder) {
+                kind.fieldList.add(new EditField(StructuredPostal.COUNTRY,
+                        R.string.postal_country, FLAGS_POSTAL).setOptional(true));
+                kind.fieldList.add(new EditField(StructuredPostal.POSTCODE,
+                        R.string.postal_postcode, FLAGS_POSTAL));
+                kind.fieldList.add(new EditField(StructuredPostal.REGION,
+                        R.string.postal_region, FLAGS_POSTAL));
+                kind.fieldList.add(new EditField(StructuredPostal.CITY,
+                        R.string.postal_city,FLAGS_POSTAL));
+                kind.fieldList.add(new EditField(StructuredPostal.STREET,
+                        R.string.postal_street, FLAGS_POSTAL));
+            } else {
+                kind.fieldList.add(new EditField(StructuredPostal.STREET,
+                        R.string.postal_street, FLAGS_POSTAL));
+                kind.fieldList.add(new EditField(StructuredPostal.CITY,
+                        R.string.postal_city,FLAGS_POSTAL));
+                kind.fieldList.add(new EditField(StructuredPostal.REGION,
+                        R.string.postal_region, FLAGS_POSTAL));
+                kind.fieldList.add(new EditField(StructuredPostal.POSTCODE,
+                        R.string.postal_postcode, FLAGS_POSTAL));
+                kind.fieldList.add(new EditField(StructuredPostal.COUNTRY,
+                        R.string.postal_country, FLAGS_POSTAL).setOptional(true));
+            }
         }
 
         return kind;
diff --git a/src/com/android/contacts/model/FallbackSource.java b/src/com/android/contacts/model/FallbackSource.java
index ca405eb..8c3a9d2 100644
--- a/src/com/android/contacts/model/FallbackSource.java
+++ b/src/com/android/contacts/model/FallbackSource.java
@@ -16,9 +16,6 @@
 
 package com.android.contacts.model;
 
-import com.android.contacts.R;
-import com.google.android.collect.Lists;
-
 import android.content.ContentValues;
 import android.content.Context;
 import android.content.res.Resources;
@@ -35,9 +32,15 @@
 import android.provider.ContactsContract.CommonDataKinds.StructuredName;
 import android.provider.ContactsContract.CommonDataKinds.StructuredPostal;
 import android.provider.ContactsContract.CommonDataKinds.Website;
-import android.text.TextUtils;
+import android.util.Log;
 import android.view.inputmethod.EditorInfo;
 
+import com.google.android.collect.Lists;
+
+import com.android.contacts.R;
+
+import java.util.Locale;
+
 public class FallbackSource extends ContactsSource {
     protected static final int FLAGS_PHONE = EditorInfo.TYPE_CLASS_PHONE;
     protected static final int FLAGS_EMAIL = EditorInfo.TYPE_CLASS_TEXT
@@ -109,23 +112,42 @@
         }
 
         if (inflateLevel >= ContactsSource.LEVEL_CONSTRAINTS) {
+            final boolean useJapaneseOrder =
+                Locale.JAPANESE.getLanguage().equals(Locale.getDefault().getLanguage());
             kind.fieldList = Lists.newArrayList();
             kind.fieldList.add(new EditField(StructuredName.PREFIX, R.string.name_prefix,
                     FLAGS_PERSON_NAME).setOptional(true));
-            kind.fieldList.add(new EditField(StructuredName.GIVEN_NAME, R.string.name_given,
-                    FLAGS_PERSON_NAME));
-            kind.fieldList.add(new EditField(StructuredName.MIDDLE_NAME, R.string.name_middle,
-                    FLAGS_PERSON_NAME).setOptional(true));
-            kind.fieldList.add(new EditField(StructuredName.FAMILY_NAME, R.string.name_family,
-                    FLAGS_PERSON_NAME));
-            kind.fieldList.add(new EditField(StructuredName.SUFFIX, R.string.name_suffix,
-                    FLAGS_PERSON_NAME).setOptional(true));
-            kind.fieldList.add(new EditField(StructuredName.PHONETIC_GIVEN_NAME,
-                    R.string.name_phonetic_given, FLAGS_PHONETIC).setOptional(true));
-            kind.fieldList.add(new EditField(StructuredName.PHONETIC_MIDDLE_NAME,
-                    R.string.name_phonetic_middle, FLAGS_PHONETIC).setOptional(true));
-            kind.fieldList.add(new EditField(StructuredName.PHONETIC_FAMILY_NAME,
-                    R.string.name_phonetic_family, FLAGS_PHONETIC).setOptional(true));
+            if (useJapaneseOrder) {
+                kind.fieldList.add(new EditField(StructuredName.FAMILY_NAME, R.string.name_family,
+                        FLAGS_PERSON_NAME));
+                kind.fieldList.add(new EditField(StructuredName.MIDDLE_NAME, R.string.name_middle,
+                        FLAGS_PERSON_NAME).setOptional(true));
+                kind.fieldList.add(new EditField(StructuredName.GIVEN_NAME, R.string.name_given,
+                        FLAGS_PERSON_NAME));
+                kind.fieldList.add(new EditField(StructuredName.SUFFIX, R.string.name_suffix,
+                        FLAGS_PERSON_NAME).setOptional(true));
+                kind.fieldList.add(new EditField(StructuredName.PHONETIC_FAMILY_NAME,
+                        R.string.name_phonetic_family, FLAGS_PHONETIC).setOptional(true));
+                kind.fieldList.add(new EditField(StructuredName.PHONETIC_MIDDLE_NAME,
+                        R.string.name_phonetic_middle, FLAGS_PHONETIC).setOptional(true));
+                kind.fieldList.add(new EditField(StructuredName.PHONETIC_GIVEN_NAME,
+                        R.string.name_phonetic_given, FLAGS_PHONETIC).setOptional(true));
+            } else {
+                kind.fieldList.add(new EditField(StructuredName.GIVEN_NAME, R.string.name_given,
+                        FLAGS_PERSON_NAME));
+                kind.fieldList.add(new EditField(StructuredName.MIDDLE_NAME, R.string.name_middle,
+                        FLAGS_PERSON_NAME).setOptional(true));
+                kind.fieldList.add(new EditField(StructuredName.FAMILY_NAME, R.string.name_family,
+                        FLAGS_PERSON_NAME));
+                kind.fieldList.add(new EditField(StructuredName.SUFFIX, R.string.name_suffix,
+                        FLAGS_PERSON_NAME).setOptional(true));
+                kind.fieldList.add(new EditField(StructuredName.PHONETIC_GIVEN_NAME,
+                        R.string.name_phonetic_given, FLAGS_PHONETIC).setOptional(true));
+                kind.fieldList.add(new EditField(StructuredName.PHONETIC_MIDDLE_NAME,
+                        R.string.name_phonetic_middle, FLAGS_PHONETIC).setOptional(true));
+                kind.fieldList.add(new EditField(StructuredName.PHONETIC_FAMILY_NAME,
+                        R.string.name_phonetic_family, FLAGS_PHONETIC).setOptional(true));
+            }
         }
 
         return kind;
@@ -234,6 +256,8 @@
         }
 
         if (inflateLevel >= ContactsSource.LEVEL_CONSTRAINTS) {
+            final boolean useJapaneseOrder =
+                Locale.JAPANESE.getLanguage().equals(Locale.getDefault().getLanguage());
             kind.typeColumn = StructuredPostal.TYPE;
             kind.typeList = Lists.newArrayList();
             kind.typeList.add(buildPostalType(StructuredPostal.TYPE_HOME));
@@ -243,20 +267,38 @@
                     .setCustomColumn(StructuredPostal.LABEL));
 
             kind.fieldList = Lists.newArrayList();
-            kind.fieldList.add(new EditField(StructuredPostal.STREET, R.string.postal_street,
-                    FLAGS_POSTAL));
-            kind.fieldList.add(new EditField(StructuredPostal.POBOX, R.string.postal_pobox,
-                    FLAGS_POSTAL).setOptional(true));
-            kind.fieldList.add(new EditField(StructuredPostal.NEIGHBORHOOD,
-                    R.string.postal_neighborhood, FLAGS_POSTAL).setOptional(true));
-            kind.fieldList.add(new EditField(StructuredPostal.CITY, R.string.postal_city,
-                    FLAGS_POSTAL));
-            kind.fieldList.add(new EditField(StructuredPostal.REGION, R.string.postal_region,
-                    FLAGS_POSTAL));
-            kind.fieldList.add(new EditField(StructuredPostal.POSTCODE, R.string.postal_postcode,
-                    FLAGS_POSTAL));
-            kind.fieldList.add(new EditField(StructuredPostal.COUNTRY, R.string.postal_country,
-                    FLAGS_POSTAL).setOptional(true));
+
+            if (useJapaneseOrder) {
+                kind.fieldList.add(new EditField(StructuredPostal.COUNTRY,
+                        R.string.postal_country, FLAGS_POSTAL).setOptional(true));
+                kind.fieldList.add(new EditField(StructuredPostal.POSTCODE,
+                        R.string.postal_postcode, FLAGS_POSTAL));
+                kind.fieldList.add(new EditField(StructuredPostal.REGION,
+                        R.string.postal_region, FLAGS_POSTAL));
+                kind.fieldList.add(new EditField(StructuredPostal.CITY,
+                        R.string.postal_city, FLAGS_POSTAL));
+                kind.fieldList.add(new EditField(StructuredPostal.NEIGHBORHOOD,
+                        R.string.postal_neighborhood, FLAGS_POSTAL).setOptional(true));
+                kind.fieldList.add(new EditField(StructuredPostal.STREET,
+                        R.string.postal_street, FLAGS_POSTAL));
+                kind.fieldList.add(new EditField(StructuredPostal.POBOX,
+                        R.string.postal_pobox, FLAGS_POSTAL).setOptional(true));
+            } else {
+                kind.fieldList.add(new EditField(StructuredPostal.STREET,
+                        R.string.postal_street, FLAGS_POSTAL));
+                kind.fieldList.add(new EditField(StructuredPostal.POBOX,
+                        R.string.postal_pobox, FLAGS_POSTAL).setOptional(true));
+                kind.fieldList.add(new EditField(StructuredPostal.NEIGHBORHOOD,
+                        R.string.postal_neighborhood, FLAGS_POSTAL).setOptional(true));
+                kind.fieldList.add(new EditField(StructuredPostal.CITY,
+                        R.string.postal_city, FLAGS_POSTAL));
+                kind.fieldList.add(new EditField(StructuredPostal.REGION,
+                        R.string.postal_region, FLAGS_POSTAL));
+                kind.fieldList.add(new EditField(StructuredPostal.POSTCODE,
+                        R.string.postal_postcode, FLAGS_POSTAL));
+                kind.fieldList.add(new EditField(StructuredPostal.COUNTRY,
+                        R.string.postal_country, FLAGS_POSTAL).setOptional(true));
+            }
         }
 
         return kind;
@@ -267,6 +309,7 @@
         if (kind == null) {
             kind = addKind(new DataKind(Im.CONTENT_ITEM_TYPE, R.string.imLabelsGroup,
                     android.R.drawable.sym_action_chat, 20, true));
+            kind.secondary = true;
             kind.actionHeader = new ImActionInflater();
             kind.actionBody = new SimpleInflater(Im.DATA);
         }
diff --git a/src/com/android/contacts/model/Sources.java b/src/com/android/contacts/model/Sources.java
index f664fb1..b6422fb 100644
--- a/src/com/android/contacts/model/Sources.java
+++ b/src/com/android/contacts/model/Sources.java
@@ -42,6 +42,7 @@
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.HashSet;
+import java.util.Locale;
 
 /**
  * Singleton holder for all parsed {@link ContactsSource} available on the
@@ -87,12 +88,17 @@
         queryAccounts();
 
         // Request updates when packages or accounts change
-        final IntentFilter filter = new IntentFilter(Intent.ACTION_PACKAGE_ADDED);
+        IntentFilter filter = new IntentFilter(Intent.ACTION_PACKAGE_ADDED);
         filter.addAction(Intent.ACTION_PACKAGE_REMOVED);
         filter.addAction(Intent.ACTION_PACKAGE_CHANGED);
         filter.addDataScheme("package");
-
         mApplicationContext.registerReceiver(this, filter);
+
+        // Request updates when locale is changed so that the order of each field will
+        // be able to be changed on the locale change.
+        filter = new IntentFilter(Intent.ACTION_LOCALE_CHANGED);
+        mApplicationContext.registerReceiver(this, filter);
+
         mAccountManager.addOnAccountsUpdatedListener(this, null, false);
     }
 
@@ -112,11 +118,11 @@
     @Override
     public void onReceive(Context context, Intent intent) {
         final String action = intent.getAction();
-        final String packageName = intent.getData().getSchemeSpecificPart();
 
         if (Intent.ACTION_PACKAGE_REMOVED.equals(action)
                 || Intent.ACTION_PACKAGE_ADDED.equals(action)
                 || Intent.ACTION_PACKAGE_CHANGED.equals(action)) {
+            final String packageName = intent.getData().getSchemeSpecificPart();
             final boolean knownPackage = mKnownPackages.contains(packageName);
             if (knownPackage) {
                 // Invalidate cache of existing source
@@ -125,6 +131,8 @@
                 // Unknown source, so reload from scratch
                 queryAccounts();
             }
+        } else if (Intent.ACTION_LOCALE_CHANGED.equals(action)) {
+            invalidateAllCache();
         }
     }
 
@@ -137,6 +145,13 @@
         }
     }
 
+    protected void invalidateAllCache() {
+        mFallbackSource.invalidateCache();
+        for (ContactsSource source : mSources.values()) {
+            source.invalidateCache();
+        }
+    }
+
     /** {@inheritDoc} */
     public void onAccountsUpdated(Account[] accounts) {
         // Refresh to catch any changed accounts
@@ -233,6 +248,8 @@
      * Find the best {@link DataKind} matching the requested
      * {@link ContactsSource#accountType} and {@link DataKind#mimeType}. If no
      * direct match found, we try searching {@link #mFallbackSource}.
+     * When fourceRefresh is set to true, cache is refreshed and inflation of each
+     * EditField will occur.
      */
     public DataKind getKindOrFallback(String accountType, String mimeType, Context context,
             int inflateLevel) {
diff --git a/src/com/android/contacts/ui/DisplayGroupsActivity.java b/src/com/android/contacts/ui/DisplayGroupsActivity.java
index ce68dcb..16af321 100644
--- a/src/com/android/contacts/ui/DisplayGroupsActivity.java
+++ b/src/com/android/contacts/ui/DisplayGroupsActivity.java
@@ -334,7 +334,15 @@
      */
     private static Comparator<GroupDelta> sIdComparator = new Comparator<GroupDelta>() {
         public int compare(GroupDelta object1, GroupDelta object2) {
-            return object1.getViewId() - object2.getViewId();
+            final long id1 = object1.getId();
+            final long id2 = object2.getId();
+            if (id1 < id2) {
+                return -1;
+            } else if (id1 > id2) {
+                return 1;
+            } else {
+                return 0;
+            }
         }
     };
 
@@ -371,30 +379,29 @@
             mName = accountName;
             mType = accountType;
 
-            boolean hasGroups = false;
-
             final Uri groupsUri = Groups.CONTENT_URI.buildUpon()
                     .appendQueryParameter(Groups.ACCOUNT_NAME, accountName)
                     .appendQueryParameter(Groups.ACCOUNT_TYPE, accountType).build();
-            EntityIterator iterator = null;
+            EntityIterator iterator = ContactsContract.Groups.newEntityIterator(resolver.query(
+                    groupsUri, null, null, null, null));
             try {
+                boolean hasGroups = false;
+
                 // Create entries for each known group
-                iterator = resolver.queryEntities(groupsUri, null, null, null);
                 while (iterator.hasNext()) {
                     final ContentValues values = iterator.next().getEntityValues();
                     final GroupDelta group = GroupDelta.fromBefore(values);
                     addGroup(group);
                     hasGroups = true;
                 }
+                // Create single entry handling ungrouped status
+                mUngrouped = GroupDelta.fromSettings(resolver, accountName, accountType, hasGroups);
+                addGroup(mUngrouped);
             } catch (RemoteException e) {
                 Log.w(TAG, "Problem reading groups: " + e.toString());
             } finally {
-                if (iterator != null) iterator.close();
+                iterator.close();
             }
-
-            // Create single entry handling ungrouped status
-            mUngrouped = GroupDelta.fromSettings(resolver, accountName, accountType, hasGroups);
-            addGroup(mUngrouped);
         }
 
         /**
diff --git a/src/com/android/contacts/ui/EditContactActivity.java b/src/com/android/contacts/ui/EditContactActivity.java
index 8368714..269e63b 100644
--- a/src/com/android/contacts/ui/EditContactActivity.java
+++ b/src/com/android/contacts/ui/EditContactActivity.java
@@ -30,6 +30,7 @@
 import com.android.contacts.model.Editor.EditorListener;
 import com.android.contacts.model.EntityDelta.ValuesDelta;
 import com.android.contacts.ui.widget.BaseContactEditorView;
+import com.android.contacts.ui.widget.ContactEditorView;
 import com.android.contacts.ui.widget.PhotoEditorView;
 import com.android.contacts.util.EmptyService;
 import com.android.contacts.util.WeakAsyncTask;
@@ -99,6 +100,7 @@
 
     private static final String KEY_EDIT_STATE = "state";
     private static final String KEY_RAW_CONTACT_ID_REQUESTING_PHOTO = "photorequester";
+    private static final String KEY_VIEW_ID_GENERATOR = "viewidgenerator";
 
     /** The result code when view activity should close after edit returns */
     public static final int RESULT_CLOSE_VIEW_ACTIVITY = 777;
@@ -124,6 +126,8 @@
 
     private ArrayList<Dialog> mManagedDialogs = Lists.newArrayList();
 
+    private ViewIdGenerator mViewIdGenerator;
+
     @Override
     protected void onCreate(Bundle icicle) {
         super.onCreate(icicle);
@@ -143,12 +147,19 @@
         final boolean hasIncomingState = icicle != null && icicle.containsKey(KEY_EDIT_STATE);
 
         if (Intent.ACTION_EDIT.equals(action) && !hasIncomingState) {
+            setTitle(R.string.editContact_title_edit);
             // Read initial state from database
             new QueryEntitiesTask(this).execute(intent);
         } else if (Intent.ACTION_INSERT.equals(action) && !hasIncomingState) {
+            setTitle(R.string.editContact_title_insert);
             // Trigger dialog to pick account type
             doAddAction();
         }
+
+        if (icicle == null) {
+            // If icicle is non-null, onRestoreInstanceState() will restore the generator.
+            mViewIdGenerator = new ViewIdGenerator();
+        }
     }
 
     private static class QueryEntitiesTask extends
@@ -223,6 +234,7 @@
         }
 
         outState.putLong(KEY_RAW_CONTACT_ID_REQUESTING_PHOTO, mRawContactIdRequestingPhoto);
+        outState.putParcelable(KEY_VIEW_ID_GENERATOR, mViewIdGenerator);
         super.onSaveInstanceState(outState);
     }
 
@@ -232,6 +244,7 @@
         mState = savedInstanceState.<EntitySet> getParcelable(KEY_EDIT_STATE);
         mRawContactIdRequestingPhoto = savedInstanceState.getLong(
                 KEY_RAW_CONTACT_ID_REQUESTING_PHOTO);
+        mViewIdGenerator = savedInstanceState.getParcelable(KEY_VIEW_ID_GENERATOR);
         bindEditors();
 
         super.onRestoreInstanceState(savedInstanceState);
@@ -357,7 +370,7 @@
                     photoEditor));
 
             mContent.addView(editor);
-            editor.setState(entity, source);
+            editor.setState(entity, source, mViewIdGenerator);
         }
 
         // Show editor now that we've loaded state
diff --git a/src/com/android/contacts/ui/QuickContactWindow.java b/src/com/android/contacts/ui/QuickContactWindow.java
index 132b18c..baf42ac 100644
--- a/src/com/android/contacts/ui/QuickContactWindow.java
+++ b/src/com/android/contacts/ui/QuickContactWindow.java
@@ -16,6 +16,7 @@
 
 package com.android.contacts.ui;
 
+import com.android.contacts.Collapser;
 import com.android.contacts.ContactsUtils;
 import com.android.contacts.R;
 import com.android.contacts.model.ContactsSource;
@@ -54,6 +55,8 @@
 import android.provider.ContactsContract.CommonDataKinds.Im;
 import android.provider.ContactsContract.CommonDataKinds.Phone;
 import android.provider.ContactsContract.CommonDataKinds.Photo;
+import android.provider.ContactsContract.CommonDataKinds.StructuredPostal;
+import android.provider.ContactsContract.CommonDataKinds.Website;
 import android.text.TextUtils;
 import android.util.Log;
 import android.view.ContextThemeWrapper;
@@ -85,6 +88,7 @@
 import android.widget.Toast;
 
 import java.lang.ref.SoftReference;
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.HashMap;
 import java.util.HashSet;
@@ -173,10 +177,17 @@
     private String[] mExcludeMimes;
 
     /**
-     * Specific MIME-types that should be bumped to the front of the dialog.
-     * Other MIME-types not appearing in this list follow in alphabetic order.
+     * {@link #PRECEDING_MIMETYPES} and {@link #FOLLOWING_MIMETYPES} are used to sort MIME-types.
+     *
+     * <p>The MIME-types in {@link #PRECEDING_MIMETYPES} appear in the front of the dialog,
+     * in the order in the array.
+     *
+     * <p>The ones in {@link #FOLLOWING_MIMETYPES} appear in the end of the dialog, in alphabetical
+     * order.
+     *
+     * <p>The rest go between them, in the order in the array.
      */
-    private static final String[] ORDERED_MIMETYPES = new String[] {
+    private static final String[] PRECEDING_MIMETYPES = new String[] {
             Phone.CONTENT_ITEM_TYPE,
             Contacts.CONTENT_ITEM_TYPE,
             Constants.MIME_SMS_ADDRESS,
@@ -184,6 +195,14 @@
     };
 
     /**
+     * See {@link #PRECEDING_MIMETYPES}.
+     */
+    private static final String[] FOLLOWING_MIMETYPES = new String[] {
+            StructuredPostal.CONTENT_ITEM_TYPE,
+            Website.CONTENT_ITEM_TYPE,
+    };
+
+    /**
      * Specific list {@link ApplicationInfo#packageName} of apps that are
      * prefered <strong>only</strong> for the purposes of default icons when
      * multiple {@link ResolveInfo} are found to match. This only happens when
@@ -195,7 +214,8 @@
             "com.android.calendar",
             "com.android.contacts",
             "com.android.mms",
-            "com.android.phone");
+            "com.android.phone",
+            "com.android.browser");
 
     private static final int TOKEN_DATA = 1;
 
@@ -650,7 +670,7 @@
      * Abstract definition of an action that could be performed, along with
      * string description and icon.
      */
-    private interface Action {
+    private interface Action extends Collapser.Collapsible<Action> {
         public CharSequence getHeader();
         public CharSequence getBody();
 
@@ -739,6 +759,12 @@
                     mIntent = new Intent(Intent.ACTION_SENDTO, mailUri);
                 }
 
+            } else if (Website.CONTENT_ITEM_TYPE.equals(mimeType)) {
+                final String url = getAsString(cursor, Website.URL);
+                if (!TextUtils.isEmpty(url)) {
+                    mIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
+                }
+
             } else if (Im.CONTENT_ITEM_TYPE.equals(mimeType)) {
                 final boolean isEmail = Email.CONTENT_ITEM_TYPE.equals(
                         getAsString(cursor, Data.MIMETYPE));
@@ -836,6 +862,39 @@
         public Intent getIntent() {
             return mIntent;
         }
+
+        /** {@inheritDoc} */
+        public boolean collapseWith(Action other) {
+            if (!shouldCollapseWith(other)) {
+                return false;
+            }
+            return true;
+        }
+
+        /** {@inheritDoc} */
+        public boolean shouldCollapseWith(Action t) {
+            if (t == null) {
+                return false;
+            }
+            if (!(t instanceof DataAction)) {
+                Log.e(TAG, "t must be DataAction");
+                return false;
+            }
+            DataAction other = (DataAction)t;
+            if (!ContactsUtils.areObjectsEqual(mKind, other.mKind)) {
+                return false;
+            }
+            if (!ContactsUtils.areDataEqual(mContext, mMimeType, mBody, other.mMimeType,
+                    other.mBody)) {
+                return false;
+            }
+            if (!TextUtils.equals(mMimeType, other.mMimeType)
+                    || !ContactsUtils.areIntentActionEqual(mIntent, other.mIntent)
+                    ) {
+                return false;
+            }
+            return true;
+        }
     }
 
     /**
@@ -887,6 +946,15 @@
             return null;
         }
 
+        /** {@inheritDoc} */
+        public boolean collapseWith(Action t) {
+            return false; // Never dup.
+        }
+
+        /** {@inheritDoc} */
+        public boolean shouldCollapseWith(Action t) {
+            return false; // Never dup.
+        }
     }
 
     /**
@@ -1029,7 +1097,7 @@
      * Provide a strongly-typed {@link LinkedList} that holds a list of
      * {@link Action} objects.
      */
-    private class ActionList extends LinkedList<Action> {
+    private class ActionList extends ArrayList<Action> {
     }
 
     /**
@@ -1154,22 +1222,39 @@
             setHeaderText(R.id.timestamp, status.getTimestampLabel(mContext));
         }
 
-        // Turn our list of actions into UI elements, starting with common types
-        final Set<String> containedTypes = mActions.keySet();
-        for (String mimeType : ORDERED_MIMETYPES) {
+        // Turn our list of actions into UI elements
+
+        // Index where we start adding child views.
+        int index = mTrack.getChildCount() - 1;
+
+        // All the mime-types to add.
+        final Set<String> containedTypes = new HashSet<String>(mActions.keySet());
+
+        // First, add PRECEDING_MIMETYPES, which are most common.
+        for (String mimeType : PRECEDING_MIMETYPES) {
             if (containedTypes.contains(mimeType)) {
-                final int index = mTrack.getChildCount() - 1;
-                mTrack.addView(inflateAction(mimeType), index);
+                mTrack.addView(inflateAction(mimeType), index++);
                 containedTypes.remove(mimeType);
             }
         }
 
-        // Then continue with remaining MIME-types in alphabetical order
+        // Keep the current index to append non PRECEDING/FOLLOWING items.
+        final int indexAfterPreceding = index;
+
+        // Then, add FOLLOWING_MIMETYPES, which are least common.
+        for (String mimeType : FOLLOWING_MIMETYPES) {
+            if (containedTypes.contains(mimeType)) {
+                mTrack.addView(inflateAction(mimeType), index++);
+                containedTypes.remove(mimeType);
+            }
+        }
+
+        // Go back to just after PRECEDING_MIMETYPES, and append the rest.
+        index = indexAfterPreceding;
         final String[] remainingTypes = containedTypes.toArray(new String[containedTypes.size()]);
         Arrays.sort(remainingTypes);
         for (String mimeType : remainingTypes) {
-            final int index = mTrack.getChildCount() - 1;
-            mTrack.addView(inflateAction(mimeType), index);
+            mTrack.addView(inflateAction(mimeType), index++);
         }
     }
 
@@ -1208,8 +1293,8 @@
     }
 
     /**
-     * Inflate the in-track view for the action of the given MIME-type. Will use
-     * the icon provided by the {@link DataKind}.
+     * Inflate the in-track view for the action of the given MIME-type, collapsing duplicate values.
+     * Will use the icon provided by the {@link DataKind}.
      */
     private View inflateAction(String mimeType) {
         final CheckableImageView view = (CheckableImageView)obtainView();
@@ -1217,6 +1302,9 @@
 
         // Add direct intent if single child, otherwise flag for multiple
         ActionList children = mActions.get(mimeType);
+        if (children.size() > 1) {
+            Collapser.collapseList(children);
+        }
         Action firstInfo = children.get(0);
         if (children.size() == 1) {
             view.setTag(firstInfo);
@@ -1507,11 +1595,6 @@
     }
 
     /** {@inheritDoc} */
-    public void onQueryEntitiesComplete(int token, Object cookie, EntityIterator iterator) {
-        // No actions
-    }
-
-    /** {@inheritDoc} */
     public void onAttachedToWindow() {
         // No actions
     }
diff --git a/src/com/android/contacts/ui/ShowOrCreateActivity.java b/src/com/android/contacts/ui/ShowOrCreateActivity.java
index 7728b36..0828b3f 100755
--- a/src/com/android/contacts/ui/ShowOrCreateActivity.java
+++ b/src/com/android/contacts/ui/ShowOrCreateActivity.java
@@ -221,11 +221,6 @@
 	return super.onCreateDialog(id);
     }
 
-    /** {@inheritDoc} */
-    public void onQueryEntitiesComplete(int token, Object cookie, EntityIterator iterator) {
-        // No actions
-    }
-
     /**
      * Listener for {@link DialogInterface} that launches a given {@link Intent}
      * when clicked. When clicked, this also closes the parent using
diff --git a/src/com/android/contacts/ui/ViewIdGenerator.java b/src/com/android/contacts/ui/ViewIdGenerator.java
new file mode 100644
index 0000000..f7281d4
--- /dev/null
+++ b/src/com/android/contacts/ui/ViewIdGenerator.java
@@ -0,0 +1,133 @@
+/*
+ * 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.ui;
+
+import com.android.contacts.model.EntityDelta;
+import com.android.contacts.model.ContactsSource.DataKind;
+import com.android.contacts.model.EntityDelta.ValuesDelta;
+import com.android.contacts.ui.widget.GenericEditorView;
+import com.android.contacts.ui.widget.KindSectionView;
+
+import android.os.Bundle;
+import android.os.Parcel;
+import android.os.Parcelable;
+
+/**
+ * A class that provides unique view ids for {@link ContentEditorView}, {@link KindSectionView},
+ * {@link GenericEditorView} and {@link EditView} on {@link EditContactActivity}.
+ * It is used to assign a unique but consistent id to each view across {@link EditContactActivity}'s
+ * lifecycle, so that we can re-construct view state (e.g. focused view) when the screen rotates.
+ *
+ * <p>This class is not thread safe.
+ */
+public final class ViewIdGenerator implements Parcelable {
+    private static final int INVALID_VIEW_ID = 0;
+    private static final int INITIAL_VIEW_ID = 1;
+
+    public static final int NO_VIEW_INDEX = -1;
+
+    private int mNextId;
+
+    /**
+     * Used as a map from the "key" of the views to actual ids.  {@link #getId()} generates keys for
+     * the views.
+     */
+    private Bundle mIdMap = new Bundle();
+
+    private static final char KEY_SEPARATOR = '*';
+
+    private final static StringBuilder sWorkStringBuilder = new StringBuilder();
+
+    public ViewIdGenerator() {
+        mNextId = INITIAL_VIEW_ID;
+    }
+
+    /** {@inheritDoc} */
+    public int describeContents() {
+        return 0;
+    }
+
+    /**
+     * Returns an id for a view associated with specified contact field.
+     *
+     * @param entity {@link EntityDelta} associated with the view
+     * @param kind {@link DataKind} associated with the view, or null if none exists.
+     * @param values {@link ValuesDelta} associated with the view, or null if none exists.
+     * @param viewIndex index of the view in the parent {@link Editor}, if it's a leave view.
+     *     Otherwise, pass {@link #NO_VIEW_INDEX}.
+     */
+    public int getId(EntityDelta entity, DataKind kind, ValuesDelta values,
+            int viewIndex) {
+        final String k = getMapKey(entity, kind, values, viewIndex);
+
+        int id = mIdMap.getInt(k, INVALID_VIEW_ID);
+        if (id == INVALID_VIEW_ID) {
+            // Make sure the new id won't conflict with auto-generated ids by masking with 0xffff.
+            id = (mNextId++) & 0xFFFF;
+            mIdMap.putInt(k, id);
+        }
+        return id;
+    }
+
+    private static String getMapKey(EntityDelta entity, DataKind kind, ValuesDelta values,
+            int viewIndex) {
+        sWorkStringBuilder.setLength(0);
+        if (entity != null) {
+            sWorkStringBuilder.append(entity.getValues().getId());
+
+            if (kind != null) {
+                sWorkStringBuilder.append(KEY_SEPARATOR);
+                sWorkStringBuilder.append(kind.mimeType);
+
+                if (values != null) {
+                    sWorkStringBuilder.append(KEY_SEPARATOR);
+                    sWorkStringBuilder.append(values.getId());
+
+                    if (viewIndex != NO_VIEW_INDEX) {
+                        sWorkStringBuilder.append(KEY_SEPARATOR);
+                        sWorkStringBuilder.append(viewIndex);
+                    }
+                }
+            }
+        }
+        return sWorkStringBuilder.toString();
+    }
+
+    /** {@Override} */
+    public void writeToParcel(Parcel dest, int flags) {
+        dest.writeInt(mNextId);
+        dest.writeBundle(mIdMap);
+    }
+
+    private void readFromParcel(Parcel src) {
+        mNextId = src.readInt();
+        mIdMap = src.readBundle();
+    }
+
+    public static final Parcelable.Creator<ViewIdGenerator> CREATOR =
+            new Parcelable.Creator<ViewIdGenerator>() {
+        public ViewIdGenerator createFromParcel(Parcel in) {
+            final ViewIdGenerator vig = new ViewIdGenerator();
+            vig.readFromParcel(in);
+            return vig;
+        }
+
+        public ViewIdGenerator[] newArray(int size) {
+            return new ViewIdGenerator[size];
+        }
+    };
+}
diff --git a/src/com/android/contacts/ui/widget/BaseContactEditorView.java b/src/com/android/contacts/ui/widget/BaseContactEditorView.java
index 189e2d5..c2f9136 100644
--- a/src/com/android/contacts/ui/widget/BaseContactEditorView.java
+++ b/src/com/android/contacts/ui/widget/BaseContactEditorView.java
@@ -22,6 +22,7 @@
 import com.android.contacts.model.ContactsSource.EditType;
 import com.android.contacts.model.Editor.EditorListener;
 import com.android.contacts.model.EntityDelta.ValuesDelta;
+import com.android.contacts.ui.ViewIdGenerator;
 
 import android.content.Context;
 import android.content.Entity;
@@ -95,7 +96,7 @@
      * {@link EntityDelta} state and the {@link ContactsSource} that
      * apply to that state.
      */
-    public abstract void setState(EntityDelta state, ContactsSource source);
+    public abstract void setState(EntityDelta state, ContactsSource source, ViewIdGenerator vig);
 
     /**
      * Sets the {@link EditorListener} on the name field
diff --git a/src/com/android/contacts/ui/widget/ContactEditorView.java b/src/com/android/contacts/ui/widget/ContactEditorView.java
index 1720822..69ec344 100644
--- a/src/com/android/contacts/ui/widget/ContactEditorView.java
+++ b/src/com/android/contacts/ui/widget/ContactEditorView.java
@@ -24,11 +24,14 @@
 import com.android.contacts.model.ContactsSource.EditType;
 import com.android.contacts.model.Editor.EditorListener;
 import com.android.contacts.model.EntityDelta.ValuesDelta;
+import com.android.contacts.ui.ViewIdGenerator;
 
 import android.content.Context;
 import android.content.Entity;
 import android.content.res.Resources;
 import android.graphics.drawable.Drawable;
+import android.os.Parcel;
+import android.os.Parcelable;
 import android.provider.ContactsContract.Contacts;
 import android.provider.ContactsContract.Data;
 import android.provider.ContactsContract.RawContacts;
@@ -61,6 +64,7 @@
     private View mPhotoStub;
     private GenericEditorView mName;
 
+    private boolean mIsSourceReadOnly;
     private ViewGroup mGeneral;
     private ViewGroup mSecondary;
     private boolean mSecondaryVisible;
@@ -135,12 +139,22 @@
 
     /**
      * Set the visibility of secondary sections, along with header icon.
+     *
+     * <p>If the source is read-only and there's no secondary fields, the entire secondary section
+     * will be hidden.
      */
     private void setSecondaryVisible(boolean makeVisible) {
-        mSecondary.setVisibility(makeVisible ? View.VISIBLE : View.GONE);
-        mSecondaryHeader.setCompoundDrawablesWithIntrinsicBounds(makeVisible ? mSecondaryOpen
-                : mSecondaryClosed, null, null, null);
         mSecondaryVisible = makeVisible;
+
+        if (!mIsSourceReadOnly && mSecondary.getChildCount() > 0) {
+            mSecondary.setVisibility(makeVisible ? View.VISIBLE : View.GONE);
+            mSecondaryHeader.setCompoundDrawablesWithIntrinsicBounds(
+                    makeVisible ? mSecondaryOpen : mSecondaryClosed, null, null, null);
+        } else {
+            mSecondaryHeader.setVisibility(View.GONE);
+            mSecondary.setVisibility(View.GONE);
+
+        }
     }
 
     /**
@@ -149,7 +163,7 @@
      * apply to that state.
      */
     @Override
-    public void setState(EntityDelta state, ContactsSource source) {
+    public void setState(EntityDelta state, ContactsSource source, ViewIdGenerator vig) {
         // Remove any existing sections
         mGeneral.removeAllViews();
         mSecondary.removeAllViews();
@@ -157,6 +171,10 @@
         // Bail if invalid state or source
         if (state == null || source == null) return;
 
+        setId(vig.getId(state, null, null, ViewIdGenerator.NO_VIEW_INDEX));
+
+        mIsSourceReadOnly = source.readOnly;
+
         // Make sure we have StructuredName
         EntityModifier.ensureKindExists(state, source, StructuredName.CONTENT_ITEM_TYPE);
 
@@ -180,12 +198,11 @@
         EntityModifier.ensureKindExists(state, source, Photo.CONTENT_ITEM_TYPE);
         mHasPhotoEditor = (source.getKindForMimetype(Photo.CONTENT_ITEM_TYPE) != null);
         mPhoto.setVisibility(mHasPhotoEditor ? View.VISIBLE : View.GONE);
-        mPhoto.setEnabled(!source.readOnly);
-        mName.setEnabled(!source.readOnly);
+        mPhoto.setEnabled(!mIsSourceReadOnly);
+        mName.setEnabled(!mIsSourceReadOnly);
 
-        boolean readOnly = source.readOnly;
         // Show and hide the appropriate views
-        if (readOnly) {
+        if (mIsSourceReadOnly) {
             mGeneral.setVisibility(View.GONE);
             mName.setVisibility(View.GONE);
             mReadOnly.setVisibility(View.VISIBLE);
@@ -207,8 +224,8 @@
             if (StructuredName.CONTENT_ITEM_TYPE.equals(mimeType)) {
                 // Handle special case editor for structured name
                 final ValuesDelta primary = state.getPrimaryEntry(mimeType);
-                if (!readOnly) {
-                    mName.setValues(kind, primary, state, source.readOnly);
+                if (!mIsSourceReadOnly) {
+                    mName.setValues(kind, primary, state, mIsSourceReadOnly, vig);
                 } else {
                     String displayName = primary.getAsString(StructuredName.DISPLAY_NAME);
                     mReadOnlyName.setText(displayName);
@@ -216,37 +233,24 @@
             } else if (Photo.CONTENT_ITEM_TYPE.equals(mimeType)) {
                 // Handle special case editor for photos
                 final ValuesDelta primary = state.getPrimaryEntry(mimeType);
-                mPhoto.setValues(kind, primary, state, source.readOnly);
-                if (readOnly && !mPhoto.hasSetPhoto()) {
+                mPhoto.setValues(kind, primary, state, mIsSourceReadOnly, vig);
+                if (mIsSourceReadOnly && !mPhoto.hasSetPhoto()) {
                     mPhotoStub.setVisibility(View.GONE);
                 } else {
                     mPhotoStub.setVisibility(View.VISIBLE);
                 }
-            } else if (!readOnly) {
+            } else if (!mIsSourceReadOnly) {
                 // Otherwise use generic section-based editors
                 if (kind.fieldList == null) continue;
                 final ViewGroup parent = kind.secondary ? mSecondary : mGeneral;
                 final KindSectionView section = (KindSectionView)mInflater.inflate(
                         R.layout.item_kind_section, parent, false);
-                section.setState(kind, state, source.readOnly);
-                section.setId(kind.weight);
+                section.setState(kind, state, mIsSourceReadOnly, vig);
                 parent.addView(section);
             }
         }
 
-        if (!readOnly && mSecondary.getChildCount() > 0) {
-            // There exist secondary elements, show the header and honor mSecondaryVisible
-            mSecondaryHeader.setVisibility(View.VISIBLE);
-            if (mSecondaryVisible) {
-                mSecondary.setVisibility(View.VISIBLE);
-            } else {
-                mSecondary.setVisibility(View.GONE);
-            }
-        } else {
-            // There are no secondary elements, hide the whole thing
-            mSecondaryHeader.setVisibility(View.GONE);
-            mSecondary.setVisibility(View.GONE);
-        }
+        setSecondaryVisible(mSecondaryVisible);
     }
 
     /**
@@ -261,4 +265,57 @@
     public long getRawContactId() {
         return mRawContactId;
     }
+
+    private static class SavedState extends BaseSavedState {
+        public boolean mSecondaryVisible;
+
+        SavedState(Parcelable superState) {
+            super(superState);
+        }
+
+        private SavedState(Parcel in) {
+            super(in);
+            mSecondaryVisible = (in.readInt() == 0 ? false : true);
+        }
+
+        @Override
+        public void writeToParcel(Parcel out, int flags) {
+            super.writeToParcel(out, flags);
+            out.writeInt(mSecondaryVisible ? 1 : 0);
+        }
+
+        public static final Parcelable.Creator<SavedState> CREATOR
+                = new Parcelable.Creator<SavedState>() {
+            public SavedState createFromParcel(Parcel in) {
+                return new SavedState(in);
+            }
+
+            public SavedState[] newArray(int size) {
+                return new SavedState[size];
+            }
+        };
+    }
+
+    /**
+     * Saves the visibility of the secondary field.
+     */
+    @Override
+    protected Parcelable onSaveInstanceState() {
+        Parcelable superState = super.onSaveInstanceState();
+        SavedState ss = new SavedState(superState);
+
+        ss.mSecondaryVisible = mSecondaryVisible;
+        return ss;
+    }
+
+    /**
+     * Restores the visibility of the secondary field.
+     */
+    @Override
+    protected void onRestoreInstanceState(Parcelable state) {
+        SavedState ss = (SavedState) state;
+        super.onRestoreInstanceState(ss.getSuperState());
+
+        setSecondaryVisible(ss.mSecondaryVisible);
+    }
 }
diff --git a/src/com/android/contacts/ui/widget/GenericEditorView.java b/src/com/android/contacts/ui/widget/GenericEditorView.java
index e1fdd71..97183e2 100644
--- a/src/com/android/contacts/ui/widget/GenericEditorView.java
+++ b/src/com/android/contacts/ui/widget/GenericEditorView.java
@@ -25,12 +25,15 @@
 import com.android.contacts.model.ContactsSource.EditField;
 import com.android.contacts.model.ContactsSource.EditType;
 import com.android.contacts.model.EntityDelta.ValuesDelta;
+import com.android.contacts.ui.ViewIdGenerator;
 
 import android.app.AlertDialog;
 import android.app.Dialog;
 import android.content.Context;
 import android.content.DialogInterface;
 import android.content.Entity;
+import android.os.Parcel;
+import android.os.Parcelable;
 import android.telephony.PhoneNumberFormattingTextWatcher;
 import android.text.Editable;
 import android.text.InputType;
@@ -79,6 +82,8 @@
     // Used only when a user tries to use custom label.
     private EditType mPendingType;
 
+    private ViewIdGenerator mViewIdGenerator;
+
     public GenericEditorView(Context context) {
         super(context);
     }
@@ -160,18 +165,21 @@
     }
 
     private void rebuildValues() {
-        setValues(mKind, mEntry, mState, mReadOnly);
+        setValues(mKind, mEntry, mState, mReadOnly, mViewIdGenerator);
     }
 
     /**
      * Prepare this editor using the given {@link DataKind} for defining
      * structure and {@link ValuesDelta} describing the content to edit.
      */
-    public void setValues(DataKind kind, ValuesDelta entry, EntityDelta state, boolean readOnly) {
+    public void setValues(DataKind kind, ValuesDelta entry, EntityDelta state, boolean readOnly,
+            ViewIdGenerator vig) {
         mKind = kind;
         mEntry = entry;
         mState = state;
         mReadOnly = readOnly;
+        mViewIdGenerator = vig;
+        setId(vig.getId(state, kind, entry, ViewIdGenerator.NO_VIEW_INDEX));
 
         final boolean enabled = !readOnly;
 
@@ -195,9 +203,11 @@
         // Build out set of fields
         mFields.removeAllViews();
         boolean hidePossible = false;
+        int n = 0;
         for (EditField field : kind.fieldList) {
             // Inflate field from definition
             EditText fieldView = (EditText)mInflater.inflate(RES_FIELD, mFields, false);
+            fieldView.setId(vig.getId(state, kind, entry, n++));
             if (field.titleRes > 0) {
                 fieldView.setHint(field.titleRes);
             }
@@ -362,4 +372,72 @@
             }
         }
     }
+
+    private static class SavedState extends BaseSavedState {
+        public boolean mHideOptional;
+        public int[] mVisibilities;
+
+        SavedState(Parcelable superState) {
+            super(superState);
+        }
+
+        private SavedState(Parcel in) {
+            super(in);
+            mVisibilities = new int[in.readInt()];
+            in.readIntArray(mVisibilities);
+        }
+
+        @Override
+        public void writeToParcel(Parcel out, int flags) {
+            super.writeToParcel(out, flags);
+            out.writeInt(mVisibilities.length);
+            out.writeIntArray(mVisibilities);
+        }
+
+        public static final Parcelable.Creator<SavedState> CREATOR
+                = new Parcelable.Creator<SavedState>() {
+            public SavedState createFromParcel(Parcel in) {
+                return new SavedState(in);
+            }
+
+            public SavedState[] newArray(int size) {
+                return new SavedState[size];
+            }
+        };
+    }
+
+    /**
+     * Saves the visibility of the child EditTexts, and mHideOptional.
+     */
+    @Override
+    protected Parcelable onSaveInstanceState() {
+        Parcelable superState = super.onSaveInstanceState();
+        SavedState ss = new SavedState(superState);
+
+        ss.mHideOptional = mHideOptional;
+
+        final int numChildren = mFields.getChildCount();
+        ss.mVisibilities = new int[numChildren];
+        for (int i = 0; i < numChildren; i++) {
+            ss.mVisibilities[i] = mFields.getChildAt(i).getVisibility();
+        }
+
+        return ss;
+    }
+
+    /**
+     * Restores the visibility of the child EditTexts, and mHideOptional.
+     */
+    @Override
+    protected void onRestoreInstanceState(Parcelable state) {
+        SavedState ss = (SavedState) state;
+        super.onRestoreInstanceState(ss.getSuperState());
+
+        mHideOptional = ss.mHideOptional;
+
+        int numChildren = Math.min(mFields.getChildCount(), ss.mVisibilities.length);
+        for (int i = 0; i < numChildren; i++) {
+            mFields.getChildAt(i).setVisibility(ss.mVisibilities[i]);
+        }
+    }
 }
diff --git a/src/com/android/contacts/ui/widget/KindSectionView.java b/src/com/android/contacts/ui/widget/KindSectionView.java
index b52cfd0..e379b69 100644
--- a/src/com/android/contacts/ui/widget/KindSectionView.java
+++ b/src/com/android/contacts/ui/widget/KindSectionView.java
@@ -23,6 +23,7 @@
 import com.android.contacts.model.ContactsSource.DataKind;
 import com.android.contacts.model.Editor.EditorListener;
 import com.android.contacts.model.EntityDelta.ValuesDelta;
+import com.android.contacts.ui.ViewIdGenerator;
 
 import android.content.Context;
 import android.provider.ContactsContract.Data;
@@ -52,6 +53,8 @@
     private EntityDelta mState;
     private boolean mReadOnly;
 
+    private ViewIdGenerator mViewIdGenerator;
+
     public KindSectionView(Context context) {
         super(context);
     }
@@ -88,10 +91,13 @@
         // Ignore requests
     }
 
-    public void setState(DataKind kind, EntityDelta state, boolean readOnly) {
+    public void setState(DataKind kind, EntityDelta state, boolean readOnly, ViewIdGenerator vig) {
         mKind = kind;
         mState = state;
         mReadOnly = readOnly;
+        mViewIdGenerator = vig;
+
+        setId(mViewIdGenerator.getId(state, kind, null, ViewIdGenerator.NO_VIEW_INDEX));
 
         // TODO: handle resources from remote packages
         mTitle.setText(kind.titleRes);
@@ -116,9 +122,8 @@
 
             final GenericEditorView editor = (GenericEditorView)mInflater.inflate(
                     R.layout.item_generic_editor, mEditors, false);
-            editor.setValues(mKind, entry, mState, mReadOnly);
+            editor.setValues(mKind, entry, mState, mReadOnly, mViewIdGenerator);
             editor.setEditorListener(this);
-            editor.setId(entry.getViewId());
             mEditors.addView(editor);
         }
     }
@@ -138,9 +143,16 @@
     /** {@inheritDoc} */
     public void onClick(View v) {
         // Insert a new child and rebuild
-        EntityModifier.insertChild(mState, mKind);
+        final ValuesDelta newValues = EntityModifier.insertChild(mState, mKind);
         this.rebuildFromState();
         this.updateAddEnabled();
         this.updateEditorsVisible();
+
+        // Find the newly added EditView and set focus.
+        final int newFieldId = mViewIdGenerator.getId(mState, mKind, newValues, 0);
+        final View newField = findViewById(newFieldId);
+        if (newField != null) {
+            newField.requestFocus();
+        }
     }
 }
diff --git a/src/com/android/contacts/ui/widget/PhotoEditorView.java b/src/com/android/contacts/ui/widget/PhotoEditorView.java
index f117091..eff39d0 100644
--- a/src/com/android/contacts/ui/widget/PhotoEditorView.java
+++ b/src/com/android/contacts/ui/widget/PhotoEditorView.java
@@ -21,6 +21,7 @@
 import com.android.contacts.model.ContactsSource.DataKind;
 import com.android.contacts.model.EntityDelta.ValuesDelta;
 import com.android.contacts.model.Editor;
+import com.android.contacts.ui.ViewIdGenerator;
 
 import android.content.Context;
 import android.graphics.Bitmap;
@@ -75,9 +76,13 @@
     }
 
     /** {@inheritDoc} */
-    public void setValues(DataKind kind, ValuesDelta values, EntityDelta state, boolean readOnly) {
+    public void setValues(DataKind kind, ValuesDelta values, EntityDelta state, boolean readOnly,
+            ViewIdGenerator vig) {
         mEntry = values;
         mReadOnly = readOnly;
+
+        setId(vig.getId(state, kind, values, 0));
+
         if (values != null) {
             // Try decoding photo if actual entry
             final byte[] photoBytes = values.getAsByteArray(Photo.PHOTO);
diff --git a/src/com/android/contacts/ui/widget/ReadOnlyContactEditorView.java b/src/com/android/contacts/ui/widget/ReadOnlyContactEditorView.java
index a5f8eb6..4635f6a 100644
--- a/src/com/android/contacts/ui/widget/ReadOnlyContactEditorView.java
+++ b/src/com/android/contacts/ui/widget/ReadOnlyContactEditorView.java
@@ -24,6 +24,7 @@
 import com.android.contacts.model.ContactsSource.EditType;
 import com.android.contacts.model.Editor.EditorListener;
 import com.android.contacts.model.EntityDelta.ValuesDelta;
+import com.android.contacts.ui.ViewIdGenerator;
 
 import android.content.Context;
 import android.content.Entity;
@@ -101,7 +102,7 @@
      * TODO: make this more generic using data from the source
      */
     @Override
-    public void setState(EntityDelta state, ContactsSource source) {
+    public void setState(EntityDelta state, ContactsSource source, ViewIdGenerator vig) {
         // Remove any existing sections
         mGeneral.removeAllViews();
 
@@ -135,7 +136,7 @@
             EntityModifier.ensureKindExists(state, source, Photo.CONTENT_ITEM_TYPE);
             mHasPhotoEditor = (source.getKindForMimetype(Photo.CONTENT_ITEM_TYPE) != null);
             primary = state.getPrimaryEntry(Photo.CONTENT_ITEM_TYPE);
-            mPhoto.setValues(kind, primary, state, source.readOnly);
+            mPhoto.setValues(kind, primary, state, source.readOnly, vig);
             if (!mHasPhotoEditor || !mPhoto.hasSetPhoto()) {
                 mPhotoStub.setVisibility(View.GONE);
             } else {
diff --git a/src/com/android/contacts/util/NotifyingAsyncQueryHandler.java b/src/com/android/contacts/util/NotifyingAsyncQueryHandler.java
index 795ac79..83fae29 100644
--- a/src/com/android/contacts/util/NotifyingAsyncQueryHandler.java
+++ b/src/com/android/contacts/util/NotifyingAsyncQueryHandler.java
@@ -18,7 +18,6 @@
 
 import android.content.AsyncQueryHandler;
 import android.content.Context;
-import android.content.EntityIterator;
 import android.database.Cursor;
 
 import java.lang.ref.WeakReference;
@@ -26,7 +25,7 @@
 /**
  * Slightly more abstract {@link AsyncQueryHandler} that helps keep a
  * {@link WeakReference} back to a listener. Will properly close any
- * {@link Cursor} or {@link EntityIterator} if the listener ceases to exist.
+ * {@link Cursor} if the listener ceases to exist.
  * <p>
  * This pattern can be used to perform background queries without leaking
  * {@link Context} objects.
@@ -41,7 +40,6 @@
      */
     public interface AsyncQueryListener {
         void onQueryComplete(int token, Object cookie, Cursor cursor);
-        void onQueryEntitiesComplete(int token, Object cookie, EntityIterator iterator);
     }
 
     public NotifyingAsyncQueryHandler(Context context, AsyncQueryListener listener) {
@@ -67,15 +65,4 @@
             cursor.close();
         }
     }
-
-    /** {@inheritDoc} */
-    @Override
-    protected void onQueryEntitiesComplete(int token, Object cookie, EntityIterator iterator) {
-        final AsyncQueryListener listener = mListener.get();
-        if (listener != null) {
-            listener.onQueryEntitiesComplete(token, cookie, iterator);
-        } else if (iterator != null) {
-            iterator.close();
-        }
-    }
 }
diff --git a/tests/src/com/android/contacts/ContactsUtilsTests.java b/tests/src/com/android/contacts/ContactsUtilsTests.java
index 01a1ef4..d4d4e5b 100644
--- a/tests/src/com/android/contacts/ContactsUtilsTests.java
+++ b/tests/src/com/android/contacts/ContactsUtilsTests.java
@@ -21,6 +21,7 @@
 import android.net.Uri;
 import android.provider.ContactsContract.CommonDataKinds.Email;
 import android.provider.ContactsContract.CommonDataKinds.Im;
+import android.provider.ContactsContract.CommonDataKinds.Phone;
 import android.test.AndroidTestCase;
 import android.test.suitebuilder.annotation.LargeTest;
 
@@ -98,4 +99,61 @@
     public void testIsGraphicPunctuation() throws Exception {
         assertTrue(ContactsUtils.isGraphic("."));
     }
+
+    public void testAreObjectsEqual() throws Exception {
+        assertTrue("null:null", ContactsUtils.areObjectsEqual(null, null));
+        assertTrue("1:1", ContactsUtils.areObjectsEqual(1, 1));
+
+        assertFalse("null:1", ContactsUtils.areObjectsEqual(null, 1));
+        assertFalse("1:null", ContactsUtils.areObjectsEqual(1, null));
+        assertFalse("1:2", ContactsUtils.areObjectsEqual(1, 2));
+    }
+
+    public void testAreDataEqual() throws Exception {
+        checkAreDataEqual("1", true, null, null, null, null);
+        checkAreDataEqual("2", true, "a", "b", "a", "b");
+
+        checkAreDataEqual("11", false, "a", null, null, null);
+        checkAreDataEqual("12", false, null, "a", null, null);
+        checkAreDataEqual("13", false, null, null, "a", null);
+        checkAreDataEqual("14", false, null, null, null, "a");
+
+        checkAreDataEqual("21", false, "a", "b", null, null);
+        checkAreDataEqual("22", false, "a", "b", "a", null);
+        checkAreDataEqual("23", false, "a", "b", null, "b");
+        checkAreDataEqual("24", false, "a", "b", "a", "x");
+        checkAreDataEqual("25", false, "a", "b", "x", "b");
+
+        checkAreDataEqual("31", false, null, null, "a", "b");
+        checkAreDataEqual("32", false, "a", null, "a", "b");
+        checkAreDataEqual("33", false, null, "b", "a", "b");
+        checkAreDataEqual("34", false, "a", "x", "a", "b");
+        checkAreDataEqual("35", false, "x", "b", "a", "b");
+
+        checkAreDataEqual("41", true, Phone.CONTENT_ITEM_TYPE, null, Phone.CONTENT_ITEM_TYPE,
+                null);
+        checkAreDataEqual("42", true, Phone.CONTENT_ITEM_TYPE, "1", Phone.CONTENT_ITEM_TYPE, "1");
+
+        checkAreDataEqual("51", false, Phone.CONTENT_ITEM_TYPE, "1", Phone.CONTENT_ITEM_TYPE, "2");
+        checkAreDataEqual("52", false, Phone.CONTENT_ITEM_TYPE, "1", Phone.CONTENT_ITEM_TYPE, null);
+        checkAreDataEqual("53", false, Phone.CONTENT_ITEM_TYPE, null, Phone.CONTENT_ITEM_TYPE, "2");
+    }
+
+    private void checkAreDataEqual(String message, boolean expected, CharSequence mimetype1,
+            CharSequence data1, CharSequence mimetype2, CharSequence data2) {
+        assertEquals(message, expected,
+                ContactsUtils.areDataEqual(mContext, mimetype1, data1, mimetype2, data2));
+    }
+
+    public void testAreIntentActionEqual() throws Exception {
+        assertTrue("1", ContactsUtils.areIntentActionEqual(null, null));
+        assertTrue("1", ContactsUtils.areIntentActionEqual(new Intent("a"), new Intent("a")));
+
+        assertFalse("11", ContactsUtils.areIntentActionEqual(new Intent("a"), null));
+        assertFalse("12", ContactsUtils.areIntentActionEqual(null, new Intent("a")));
+
+        assertFalse("21", ContactsUtils.areIntentActionEqual(new Intent("a"), new Intent()));
+        assertFalse("22", ContactsUtils.areIntentActionEqual(new Intent(), new Intent("b")));
+        assertFalse("23", ContactsUtils.areIntentActionEqual(new Intent("a"), new Intent("b")));
+    }
 }
diff --git a/tests/src/com/android/contacts/EntityModifierTests.java b/tests/src/com/android/contacts/EntityModifierTests.java
index 489bf04..4bc4622 100644
--- a/tests/src/com/android/contacts/EntityModifierTests.java
+++ b/tests/src/com/android/contacts/EntityModifierTests.java
@@ -34,10 +34,16 @@
 import android.content.ContentValues;
 import android.content.Context;
 import android.content.Entity;
+import android.os.Bundle;
+import android.provider.ContactsContract.Intents.Insert;
 import android.provider.ContactsContract.Data;
 import android.provider.ContactsContract.RawContacts;
 import android.provider.ContactsContract.CommonDataKinds.Email;
+import android.provider.ContactsContract.CommonDataKinds.Im;
+import android.provider.ContactsContract.CommonDataKinds.Organization;
 import android.provider.ContactsContract.CommonDataKinds.Phone;
+import android.provider.ContactsContract.CommonDataKinds.StructuredName;
+import android.provider.ContactsContract.CommonDataKinds.StructuredPostal;
 import android.test.AndroidTestCase;
 import android.test.suitebuilder.annotation.LargeTest;
 
@@ -56,6 +62,10 @@
 
     private static final long TEST_ID = 4;
     private static final String TEST_PHONE = "218-555-1212";
+    private static final String TEST_NAME = "Adam Young";
+    private static final String TEST_NAME2 = "Breanne Duren";
+    private static final String TEST_IM = "example@example.com";
+    private static final String TEST_POSTAL = "1600 Amphitheatre Parkway";
 
     private static final String TEST_ACCOUNT_NAME = "unittest@example.com";
     private static final String TEST_ACCOUNT_TYPE = "com.example.unittest";
@@ -95,12 +105,24 @@
 
             // Email is unlimited
             kind = new DataKind(Email.CONTENT_ITEM_TYPE, -1, -1, 10, true);
-
             kind.typeOverallMax = -1;
-
             kind.fieldList = Lists.newArrayList();
             kind.fieldList.add(new EditField(Email.DATA, -1, -1));
+            addKind(kind);
 
+            // IM is only one
+            kind = new DataKind(Im.CONTENT_ITEM_TYPE, -1, -1, 10, true);
+            kind.typeOverallMax = 1;
+            kind.fieldList = Lists.newArrayList();
+            kind.fieldList.add(new EditField(Im.DATA, -1, -1));
+            addKind(kind);
+
+            // Organization is only one
+            kind = new DataKind(Organization.CONTENT_ITEM_TYPE, -1, -1, 10, true);
+            kind.typeOverallMax = 1;
+            kind.fieldList = Lists.newArrayList();
+            kind.fieldList.add(new EditField(Organization.COMPANY, -1, -1));
+            kind.fieldList.add(new EditField(Organization.TITLE, -1, -1));
             addKind(kind);
         }
 
@@ -662,4 +684,73 @@
             assertEquals("Incorrect target", RawContacts.CONTENT_URI, oper.getUri());
         }
     }
+
+    public void testParseExtrasExistingName() {
+        final ContactsSource source = getSource();
+        final DataKind kindName = source.getKindForMimetype(StructuredName.CONTENT_ITEM_TYPE);
+
+        // Build "before" name
+        final ContentValues first = new ContentValues();
+        first.put(Data._ID, TEST_ID);
+        first.put(Data.MIMETYPE, StructuredName.CONTENT_ITEM_TYPE);
+        first.put(StructuredName.GIVEN_NAME, TEST_NAME);
+
+        // Parse extras, making sure we keep single name
+        final EntityDelta state = getEntity(TEST_ID, first);
+        final Bundle extras = new Bundle();
+        extras.putString(Insert.NAME, TEST_NAME2);
+        EntityModifier.parseExtras(mContext, source, state, extras);
+
+        final int nameCount = state.getMimeEntriesCount(StructuredName.CONTENT_ITEM_TYPE, true);
+        assertEquals("Unexpected names", 1, nameCount);
+    }
+
+    public void testParseExtrasIgnoreLimit() {
+        final ContactsSource source = getSource();
+        final DataKind kindIm = source.getKindForMimetype(Im.CONTENT_ITEM_TYPE);
+
+        // Build "before" IM
+        final ContentValues first = new ContentValues();
+        first.put(Data._ID, TEST_ID);
+        first.put(Data.MIMETYPE, Im.CONTENT_ITEM_TYPE);
+        first.put(Im.DATA, TEST_IM);
+
+        final EntityDelta state = getEntity(TEST_ID, first);
+        final int beforeCount = state.getMimeEntries(Im.CONTENT_ITEM_TYPE).size();
+
+        // We should ignore data that doesn't fit source rules, since source
+        // only allows single Im
+        final Bundle extras = new Bundle();
+        extras.putInt(Insert.IM_PROTOCOL, Im.PROTOCOL_GOOGLE_TALK);
+        extras.putString(Insert.IM_HANDLE, TEST_IM);
+        EntityModifier.parseExtras(mContext, source, state, extras);
+
+        final int afterCount = state.getMimeEntries(Im.CONTENT_ITEM_TYPE).size();
+        assertEquals("Broke source rules", beforeCount, afterCount);
+    }
+
+    public void testParseExtrasIgnoreUnhandled() {
+        final ContactsSource source = getSource();
+        final EntityDelta state = getEntity(TEST_ID);
+
+        // We should silently ignore types unsupported by source
+        final Bundle extras = new Bundle();
+        extras.putString(Insert.POSTAL, TEST_POSTAL);
+        EntityModifier.parseExtras(mContext, source, state, extras);
+
+        assertNull("Broke source rules", state.getMimeEntries(StructuredPostal.CONTENT_ITEM_TYPE));
+    }
+
+    public void testParseExtrasJobTitle() {
+        final ContactsSource source = getSource();
+        final EntityDelta state = getEntity(TEST_ID);
+
+        // Make sure that we create partial Organizations
+        final Bundle extras = new Bundle();
+        extras.putString(Insert.JOB_TITLE, TEST_NAME);
+        EntityModifier.parseExtras(mContext, source, state, extras);
+
+        final int count = state.getMimeEntries(Organization.CONTENT_ITEM_TYPE).size();
+        assertEquals("Expected to create organization", 1, count);
+    }
 }
diff --git a/tests/src/com/android/contacts/RecentCallsListActivityTests.java b/tests/src/com/android/contacts/RecentCallsListActivityTests.java
index 2cdd8d7..afa1a7a 100644
--- a/tests/src/com/android/contacts/RecentCallsListActivityTests.java
+++ b/tests/src/com/android/contacts/RecentCallsListActivityTests.java
@@ -276,7 +276,7 @@
             duration = mRnd.nextInt(10 * 60);  // 0 - 10 minutes random.
         }
         row.add(duration);  // duration
-        if (mVoicemail.equals(number)) {
+        if (mVoicemail != null && mVoicemail.equals(number)) {
             assertEquals(Calls.OUTGOING_TYPE, type);
         }
         row.add(type);  // type
@@ -309,7 +309,10 @@
      * @param duration In seconds of the call. Use RAND_DURATION to pick a random one.
      */
     private void insertVoicemail(long date, int duration) {
-        insert(mVoicemail, date, duration, Calls.OUTGOING_TYPE);
+        // mVoicemail may be null
+        if (mVoicemail != null) {
+            insert(mVoicemail, date, duration, Calls.OUTGOING_TYPE);
+        }
     }
 
     /**
