diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 78c0f5b..c3b0236 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -350,7 +350,7 @@
             </intent-filter>
         </activity>
 
-        <activity android:name="ManageApplications"
+        <activity android:name=".applications.ManageApplications"
                   android:label="@string/manageapplications_settings_title"
                   android:clearTaskOnLaunch="true"
                   android:configChanges="orientation|keyboardHidden">
@@ -365,15 +365,22 @@
             </intent-filter>
         </activity>
 
-        <activity android:name="InstalledAppDetails" android:label="@string/application_info_label">
+        <!-- Keep compatibility with old shortcuts. -->
+        <activity-alias android:name=".ManageApplications"
+            android:targetActivity=".applications.ManageApplications"
+            android:exported="true" />
+        
+        <activity android:name=".applications.InstalledAppDetails"
+                android:label="@string/application_info_label">
             <intent-filter>
-                <action android:name="android.intent.action.VIEW" />
+                <action android:name="android.settings.APPLICATION_DETAILS_SETTINGS" />
                 <category android:name="android.intent.category.DEFAULT" />
-                <category android:name="android.intent.category.VOICE_LAUNCH" />
+                <data android:scheme="package" />
             </intent-filter>
         </activity>
 
-        <activity android:name="RunningServices"
+        <!--
+        <activity android:name=".applications.RunningServices"
                   android:label="@string/runningservices_settings_title"
                   android:clearTaskOnLaunch="true">
             <intent-filter>
@@ -384,6 +391,24 @@
                 <category android:name="com.android.settings.SHORTCUT" />
             </intent-filter>
         </activity>
+        -->
+        
+        <!-- Provide direct entry into manage apps showing running services. -->
+        <activity-alias android:name=".RunningServices"
+            android:targetActivity=".applications.ManageApplications">
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN" />
+                <category android:name="android.intent.category.DEFAULT" />
+                <category android:name="android.intent.category.MONKEY" />
+                <category android:name="android.intent.category.VOICE_LAUNCH" />
+                <category android:name="com.android.settings.SHORTCUT" />
+            </intent-filter>
+        </activity-alias>
+        
+        <activity android:name=".applications.RunningServiceDetails"
+                android:theme="@android:style/Theme.NoTitleBar"
+                android:label="@string/runningservicedetails_settings_title">
+        </activity>
 
         <activity android:name="SecuritySettings"
                 android:label="@string/location_security_settings_title"
diff --git a/res/layout/compute_sizes.xml b/res/layout/compute_sizes.xml
index 4ba5b3e..502488f 100755
--- a/res/layout/compute_sizes.xml
+++ b/res/layout/compute_sizes.xml
@@ -14,9 +14,20 @@
      limitations under the License.
 -->
 
-<ListView 
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:id="@android:id/list"
-    android:drawSelectorOnTop="false"
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
-    android:layout_height="match_parent" />
+    android:layout_height="match_parent" >
+
+    <ListView 
+        xmlns:android="http://schemas.android.com/apk/res/android"
+        android:id="@android:id/list"
+        android:drawSelectorOnTop="false"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent" />
+
+    <view class="com.android.settings.applications.RunningProcessesView"
+            android:id="@+id/running_processes"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent" />
+
+</FrameLayout>
\ No newline at end of file
diff --git a/res/layout/manage_applications_item.xml b/res/layout/manage_applications_item.xml
index cdf4c9d..48274ce 100755
--- a/res/layout/manage_applications_item.xml
+++ b/res/layout/manage_applications_item.xml
@@ -31,7 +31,6 @@
     <ImageView android:id="@+id/app_icon"
         android:layout_width="@android:dimen/app_icon_size"
         android:layout_height="@android:dimen/app_icon_size"
-        android:layout_marginLeft="5dip"
         android:layout_marginRight="11dip"
         android:layout_gravity="center_vertical"
         android:scaleType="fitCenter"/>
diff --git a/res/layout/master_clear_primary.xml b/res/layout/master_clear_primary.xml
index ffac171..2c4156b 100644
--- a/res/layout/master_clear_primary.xml
+++ b/res/layout/master_clear_primary.xml
@@ -17,23 +17,27 @@
 ** limitations under the License.
 */
 -->
-
 <LinearLayout
-        xmlns:android="http://schemas.android.com/apk/res/android"
-        style="@style/info_layout">
+            xmlns:android="http://schemas.android.com/apk/res/android"
+            style="@style/info_layout">
 
-    <TextView
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:textSize="18sp"
-        android:text="@string/master_clear_desc" />
+    <ScrollView
+            android:layout_width="fill_parent"
+            android:layout_height="0dip"
+            android:layout_weight="1">
+        <TextView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:textSize="18sp"
+            android:text="@string/master_clear_desc" />
+    </ScrollView>
+    <Button
+            android:id="@+id/initiate_master_clear"
+            android:layout_gravity="center_horizontal"
+            android:layout_marginTop="20dip"
+            android:layout_width="150dip"
+            android:layout_height="wrap_content"
+            android:text="@string/master_clear_button_text"
+            android:gravity="center" />
 
-    <Button android:id="@+id/initiate_master_clear"
-        android:layout_gravity="center_horizontal"
-        android:layout_marginTop="40dip"
-        android:layout_width="150dip"
-        android:layout_height="wrap_content"
-        android:text="@string/master_clear_button_text"
-        android:gravity="center" />
-        
 </LinearLayout>
diff --git a/res/layout/running_processes_item.xml b/res/layout/running_processes_item.xml
new file mode 100644
index 0000000..dacee9e
--- /dev/null
+++ b/res/layout/running_processes_item.xml
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2010, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:minHeight="?android:attr/listPreferredItemHeight"
+    android:orientation="vertical"
+    android:gravity="fill" >
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_weight="1"
+        android:orientation="horizontal"
+        android:paddingRight="6dip"
+        android:paddingLeft="6dip"
+        android:gravity="center_vertical" >
+    
+        <ImageView android:id="@+id/icon"
+            android:layout_width="@android:dimen/app_icon_size"
+            android:layout_height="@android:dimen/app_icon_size"
+            android:layout_marginRight="11dip"
+            android:layout_gravity="center_vertical"
+            android:scaleType="fitCenter"/>
+    
+        <LinearLayout
+            android:orientation="vertical"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content" >
+            <LinearLayout
+                android:orientation="horizontal"
+                android:baselineAlignedChildIndex="0"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content">
+                <TextView android:id="@+id/name"
+                    android:layout_width="0px"
+                    android:layout_height="wrap_content"
+                    android:layout_weight="1"
+                    android:paddingRight="4dip"
+                    android:textAppearance="?android:attr/textAppearanceMedium"
+                    android:textStyle="bold"
+                    android:singleLine="true"
+                    android:ellipsize="marquee"
+                    android:layout_marginBottom="2dip" />
+                <TextView android:id="@+id/size"
+                    android:layout_gravity="center_vertical|right"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_weight="0"
+                    android:singleLine="true"
+                    android:textAppearance="?android:attr/textAppearanceSmall" />
+            </LinearLayout>
+            <LinearLayout
+                android:orientation="horizontal"
+                android:baselineAlignedChildIndex="0"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content">
+                <TextView android:id="@+id/description"
+                    android:layout_gravity="center_vertical|left"
+                    android:layout_width="0px"
+                    android:layout_height="wrap_content"
+                    android:layout_weight="1"
+                    android:paddingRight="4dip"
+                    android:singleLine="true"
+                    android:ellipsize="marquee"
+                    android:textAppearance="?android:attr/textAppearanceSmall" />
+                <TextView android:id="@+id/uptime"
+                    android:layout_gravity="center_vertical|right"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_weight="0"
+                    android:singleLine="true"
+                    android:textAppearance="?android:attr/textAppearanceSmall" />
+            </LinearLayout>
+        </LinearLayout>
+    </LinearLayout>
+</LinearLayout>
diff --git a/res/layout/running_processes_view.xml b/res/layout/running_processes_view.xml
new file mode 100644
index 0000000..6810ba0
--- /dev/null
+++ b/res/layout/running_processes_view.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 
+ * Copyright (C) 2010 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ -->
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:orientation="vertical">
+    <FrameLayout
+            android:layout_width="match_parent"
+            android:layout_height="0px"
+            android:layout_weight="1">
+        <ListView android:id="@android:id/list"
+                android:layout_width="match_parent" 
+                android:layout_height="match_parent"
+                android:drawSelectorOnTop="false"
+                android:fastScrollEnabled="true" />
+        <TextView android:id="@android:id/empty"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:gravity="center"
+                android:text="@string/no_running_services"
+                android:textAppearance="?android:attr/textAppearanceLarge" />
+    </FrameLayout>
+    <view class="com.android.settings.applications.RunningProcessesView$LinearColorBar"
+            android:id="@+id/color_bar"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:orientation="horizontal"
+            android:padding="4dp">
+        <TextView android:id="@+id/foregroundText"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_weight="1"
+            android:textAppearance="?android:attr/textAppearanceSmallInverse"
+            android:color="?android:attr/textColorPrimaryInverse"
+            android:singleLine="true" />
+        <TextView android:id="@+id/backgroundText"
+            android:layout_gravity="center_vertical|right"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_weight="0"
+            android:textAppearance="?android:attr/textAppearanceSmallInverse"
+            android:color="?android:attr/textColorPrimaryInverse"
+            android:singleLine="true" />
+    </view>
+</LinearLayout>
diff --git a/res/layout/running_service_details.xml b/res/layout/running_service_details.xml
new file mode 100644
index 0000000..98c144c
--- /dev/null
+++ b/res/layout/running_service_details.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2010, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<ScrollView
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent">
+    <LinearLayout
+        android:id="@+id/all_details"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:orientation="vertical">
+
+        <!-- Summary information as per previous screen -->
+        <include
+            layout="@layout/running_processes_item"
+            android:id="@+id/snippet"/>
+
+    </LinearLayout>
+</ScrollView>
+
diff --git a/res/layout/running_service_details_process.xml b/res/layout/running_service_details_process.xml
new file mode 100644
index 0000000..d12b486
--- /dev/null
+++ b/res/layout/running_service_details_process.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2010, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical">
+    
+    <!-- Icon and label of the service. -->
+    <include
+        layout="@layout/running_processes_item"
+        android:id="@+id/service"/>
+
+    <TextView android:id="@+id/comp_description"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:paddingTop="8dp"
+        android:paddingBottom="8dp"
+        android:paddingLeft="14dip"
+        android:textAppearance="?android:attr/textAppearanceMedium" />
+
+</LinearLayout>
diff --git a/res/layout/running_service_details_service.xml b/res/layout/running_service_details_service.xml
new file mode 100644
index 0000000..b9f9bbe
--- /dev/null
+++ b/res/layout/running_service_details_service.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2010, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical">
+
+    <!--    
+    <ImageView
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:src="?android:attr/listDivider"/>
+    -->
+        
+    <!-- Icon and label of the service. -->
+    <include
+        layout="@layout/running_processes_item"
+        android:id="@+id/service"/>
+
+    <TextView android:id="@+id/comp_description"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:paddingTop="8dp"
+        android:paddingBottom="8dp"
+        android:paddingLeft="14dip"
+        android:textAppearance="?android:attr/textAppearanceMedium" />
+
+    <include
+        layout="@layout/two_buttons_panel"
+        android:id="@+id/control_buttons_panel"/>
+
+</LinearLayout>
diff --git a/res/layout/running_services.xml b/res/layout/running_services.xml
index 5c0da6f..faca22c 100644
--- a/res/layout/running_services.xml
+++ b/res/layout/running_services.xml
@@ -35,7 +35,7 @@
 	            android:text="@string/no_running_services"
 	            android:textAppearance="?android:attr/textAppearanceLarge" />
     </FrameLayout>
-    <view class="com.android.settings.RunningServices$LinearColorBar"
+    <view class="com.android.settings.applications.RunningServices$LinearColorBar"
             android:id="@+id/color_bar"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
diff --git a/res/layout/separator_label.xml b/res/layout/separator_label.xml
new file mode 100644
index 0000000..b0e69fa
--- /dev/null
+++ b/res/layout/separator_label.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 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.
+*/
+-->
+
+<TextView xmlns:android="http://schemas.android.com/apk/res/android"
+    style="?android:attr/listSeparatorTextViewStyle" />
diff --git a/res/values-cs/arrays.xml b/res/values-cs/arrays.xml
index e91ac4b..c55174f 100644
--- a/res/values-cs/arrays.xml
+++ b/res/values-cs/arrays.xml
@@ -69,30 +69,8 @@
     <item msgid="5972100016440094433">"italština"</item>
     <item msgid="5811378076054402537">"španělština"</item>
   </string-array>
-  <string-array name="wifi_status">
-    <item msgid="1922181315419294640"></item>
-    <item msgid="8934131797783724664">"Vyhledávání..."</item>
-    <item msgid="8513729475867537913">"Připojování..."</item>
-    <item msgid="515055375277271756">"Ověřování..."</item>
-    <item msgid="1943354004029184381">"Načítání adresy IP…"</item>
-    <item msgid="4221763391123233270">"Připojeno"</item>
-    <item msgid="624838831631122137">"Pozastaveno"</item>
-    <item msgid="7979680559596111948">"Odpojování..."</item>
-    <item msgid="1634960474403853625">"Odpojeno"</item>
-    <item msgid="746097431216080650">"Neúspěšné"</item>
-  </string-array>
-  <string-array name="wifi_status_with_ssid">
-    <item msgid="7714855332363650812"></item>
-    <item msgid="8878186979715711006">"Vyhledávání..."</item>
-    <item msgid="355508996603873860">"Připojování k síti <xliff:g id="NETWORK_NAME">%1$s</xliff:g>..."</item>
-    <item msgid="554971459996405634">"Ověřování v síti <xliff:g id="NETWORK_NAME">%1$s</xliff:g>..."</item>
-    <item msgid="7928343808033020343">"Získávání adresy IP ze sítě <xliff:g id="NETWORK_NAME">%1$s</xliff:g>..."</item>
-    <item msgid="8937994881315223448">"Připojeno k síti <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</item>
-    <item msgid="1330262655415760617">"Pozastaveno"</item>
-    <item msgid="7698638434317271902">"Odpojování od sítě <xliff:g id="NETWORK_NAME">%1$s</xliff:g>..."</item>
-    <item msgid="197508606402264311">"Odpojeno"</item>
-    <item msgid="8578370891960825148">"Neúspěšné"</item>
-  </string-array>
+    <!-- no translation found for wifi_status:0 (1922181315419294640) -->
+    <!-- no translation found for wifi_status_with_ssid:0 (7714855332363650812) -->
   <string-array name="wifi_security">
     <item msgid="1435933968767043814">"Otevřít"</item>
     <item msgid="6318432659048829665">"WEP"</item>
@@ -161,10 +139,7 @@
     <item msgid="3738430123799803530">"Vyjímatelná karta SD"</item>
     <item msgid="4498124044785815005">"Automaticky vybere systém"</item>
   </string-array>
-  <string-array name="vibrate_entries">
-    <item msgid="3388952299521009213">"Vždy"</item>
-    <item msgid="6293147072807231256">"Nikdy"</item>
-    <item msgid="1276641209451816572">"Pouze v tichém režimu"</item>
-    <item msgid="8418930333779132418">"Pouze pokud není v tichém režimu"</item>
-  </string-array>
+    <!-- no translation found for vibrate_entries:1 (6293147072807231256) -->
+    <!-- no translation found for vibrate_entries:2 (1276641209451816572) -->
+    <!-- no translation found for vibrate_entries:3 (8418930333779132418) -->
 </resources>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index 1427350..179fa66 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -99,7 +99,8 @@
     <string name="bluetooth_disconnected" msgid="6557104142667339895">"Odpojeno"</string>
     <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Odpojování..."</string>
     <string name="bluetooth_connecting" msgid="8555009514614320497">"Připojování..."</string>
-    <string name="bluetooth_unknown" msgid="644716244548801421"></string>
+    <!-- no translation found for bluetooth_unknown (644716244548801421) -->
+    <skip />
     <string name="bluetooth_not_connected" msgid="3389882907500605937">"Párovat s tímto zařízením"</string>
     <string name="bluetooth_pairing" msgid="1426882272690346242">"Párování..."</string>
     <string name="bluetooth_paired" msgid="1247541089000057726">"Spárováno, ale nepřipojeno"</string>
@@ -235,20 +236,34 @@
     <string name="security_settings_summary" msgid="967393342537986570">"Moje poloha, odemknutí obrazovky, zámek SIM, zámek úložiště pověření"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Nastavení funkce Moje poloha, odemknutí obrazovky a zamknutí úložiště pověření"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"Hesla"</string>
-    <string name="lock_settings_picker_title" msgid="3973555216065628262">"Zabezpečení odemknutí obrazovky"</string>
-    <string name="unlock_set_unlock_launch_picker_title" msgid="1129684221223017902">"Nastavit zámek obrazovky"</string>
-    <string name="unlock_set_unlock_launch_picker_summary" msgid="1667332113134720845">"Zamknout obrazovku pomocí gesta, kódu PIN nebo hesla"</string>
-    <string name="unlock_set_unlock_launch_picker_change_title" msgid="6987228635944678726">"Změnit zámek obrazovky"</string>
-    <string name="unlock_set_unlock_launch_picker_change_summary" msgid="2790960639554590668">"Změnit nebo deaktivovat bezpečnostní gesto, kód PIN nebo heslo"</string>
-    <string name="unlock_set_unlock_none_title" msgid="3760684669884671990">"Žádné"</string>
-    <string name="unlock_set_unlock_none_summary" msgid="2658550480388272618">"Deaktivovat zabezpečení zámku obrazovky"</string>
-    <string name="unlock_set_unlock_pattern_title" msgid="2912067603917311700">"Gesto"</string>
-    <string name="unlock_set_unlock_pattern_summary" msgid="3018395214738645405">"Nakreslete gesto pro odemknutí obrazovky"</string>
-    <string name="unlock_set_unlock_pin_title" msgid="5846029709462329515">"PIN"</string>
-    <string name="unlock_set_unlock_pin_summary" msgid="4131169672844263316">"Zadejte číselný kód PIN pro odemknutí obrazovky"</string>
-    <string name="unlock_set_unlock_password_title" msgid="8775603825675090937">"Heslo"</string>
-    <string name="unlock_set_unlock_password_summary" msgid="4623254789833899286">"Zadejte heslo pro odemknutí obrazovky"</string>
-    <string name="unlock_set_unlock_disabled_summary" msgid="736557879526940324">"Deaktivováno vzdáleným správcem po telefonu"</string>
+    <!-- no translation found for lock_settings_picker_title (3973555216065628262) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_launch_picker_title (1129684221223017902) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_launch_picker_summary (1667332113134720845) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_launch_picker_change_title (6987228635944678726) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_launch_picker_change_summary (2790960639554590668) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_none_title (3760684669884671990) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_none_summary (2658550480388272618) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_pattern_title (2912067603917311700) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_pattern_summary (3018395214738645405) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_pin_title (5846029709462329515) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_pin_summary (4131169672844263316) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_password_title (8775603825675090937) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_password_summary (4623254789833899286) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_disabled_summary (736557879526940324) -->
+    <skip />
     <string name="unlock_disable_lock_title" msgid="1427036227416979120">"Vypnout zámek obrazovky"</string>
     <string name="unlock_disable_lock_pattern_summary" msgid="6801602880568869201">"Odebrat bezpečnostní gesto"</string>
     <string name="unlock_disable_lock_pin_summary" msgid="8856842745366993387">"Odebrat bezpečnostní kód PIN"</string>
@@ -385,15 +400,15 @@
     <string name="wifi_dns2" msgid="1368601006824882659">"Server DNS 2"</string>
     <string name="wifi_gateway" msgid="163914742461092086">"Brána"</string>
     <string name="wifi_netmask" msgid="4520635321425529085">"Maska sítě"</string>
-    <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"Přenosný hotspot Wi-Fi"</string>
-    <string name="wifi_tether_enabled_subtext" msgid="8948641212931906143">"Přenosný hotspot <xliff:g id="NETWORK_SSID">%1$s</xliff:g> je aktivní"</string>
-    <string name="wifi_tether_failed_subtext" msgid="2654888578056042315">"Chyba přenosného hotspotu Wi-Fi"</string>
-    <string name="wifi_tether_settings_text" msgid="123573487844470195">"Nastavení přenosného hotspotu Wi-Fi"</string>
-    <string name="wifi_tether_settings_subtext" msgid="8064755682383367008">"Nastavení a správa přenosného hotspotu Wi-Fi"</string>
-    <string name="wifi_tether_settings_title" msgid="3749063216348284432">"Nastavení přenosného hotspotu Wi-Fi"</string>
-    <string name="wifi_tether_configure_ap_text" msgid="3474995108398156258">"Konfigurace hotspotu Wi-Fi"</string>
-    <string name="wifi_tether_configure_subtext" msgid="1927454307836232128">"Přenosný hotspot Wi-Fi <xliff:g id="NETWORK_SSID">%1$s</xliff:g> <xliff:g id="NETWORK_SECURITY">%2$s</xliff:g>"</string>
-    <string name="wifi_tether_configure_ssid_default" msgid="8467525402622138547">"AndroidHotspot"</string>
+    <string name="wifi_tether_checkbox_text" msgid="796007268580464534">"Sdílení datového připojení prostřednictvím WiFi"</string>
+    <string name="wifi_tether_enabled_subtext" msgid="6758080605207549918">"Přístupový bod <xliff:g id="NETWORK_SSID">%1$s</xliff:g> je aktivní"</string>
+    <string name="wifi_tether_failed_subtext" msgid="4379214348183654280">"Chyba sdílení datového připojení prostřednictvím WiFi"</string>
+    <string name="wifi_tether_settings_text" msgid="8831276059149506799">"Nastavení sdílení datového připojení prostřednictvím WiFi"</string>
+    <string name="wifi_tether_settings_subtext" msgid="3415164631321782704">"Nastavení a správa přístupového bodu"</string>
+    <string name="wifi_tether_settings_title" msgid="3233393750798545228">"Nastavení sdílení datového připojení prostřednictvím WiFi"</string>
+    <string name="wifi_tether_configure_ap_text" msgid="7849700175083202171">"Konfigurovat přístupový bod"</string>
+    <string name="wifi_tether_configure_subtext" msgid="54089556089657247">"Přístupový bod: <xliff:g id="NETWORK_SSID">%1$s</xliff:g> <xliff:g id="NETWORK_SECURITY">%2$s</xliff:g>"</string>
+    <string name="wifi_tether_configure_ssid_default" msgid="4491822321218336928">"Přístupový bod AndroidAP"</string>
     <string name="sound_settings_title" msgid="8735891486683305886">"Zvuk"</string>
     <string name="display_settings_title" msgid="1708697328627382561">"Zobrazení"</string>
     <string name="sound_settings" msgid="5007659014828162881">"Nastavení zvuku"</string>
@@ -401,16 +416,21 @@
     <string name="silent_mode_summary" msgid="3309650676072917899">"Ztlumit všechny zvuky kromě médií a budíků"</string>
     <string name="silent_mode_incl_alarm_summary" msgid="2088830834182228458">"Jsou ztišeny všechny zvuky kromě médií"</string>
     <string name="ringtone_title" msgid="5379026328015343686">"Vyzváněcí tón telefonu"</string>
-    <string name="ringtone_summary" msgid="2630023412632683493"></string>
+    <!-- no translation found for ringtone_summary (2630023412632683493) -->
+    <skip />
     <string name="all_volume_title" msgid="8741571721868253103">"Hlasitost"</string>
     <string name="ring_volume_title" msgid="7938706566797464165">"Hlasitost vyzvánění"</string>
-    <string name="ring_volume_summary" msgid="7055497624193116879"></string>
+    <!-- no translation found for ring_volume_summary (7055497624193116879) -->
+    <skip />
     <string name="vibrate_in_silent_title" msgid="3897968069156767036">"Vibrovat v tichém režimu"</string>
     <string name="vibrate_in_silent_summary" msgid="3312600513070076281">"Povolit odezvu vibracemi v tichém režimu"</string>
-    <string name="vibrate_title" msgid="6045820877942801599">"Vibrace"</string>
-    <string name="vibrate_summary" msgid="7378130397830790458">"Vibrační zpětná vazba pro hovory a oznámení"</string>
+    <!-- no translation found for vibrate_title (6045820877942801599) -->
+    <skip />
+    <!-- no translation found for vibrate_summary (7378130397830790458) -->
+    <skip />
     <string name="notification_sound_title" msgid="6316316069880531693">"Tón upozornění"</string>
-    <string name="notification_sound_summary" msgid="2953599929394109819"></string>
+    <!-- no translation found for notification_sound_summary (2953599929394109819) -->
+    <skip />
     <string name="notification_pulse_title" msgid="1247988024534030629">"Blikat kontrolkou oznámení"</string>
     <string name="notification_pulse_summary" msgid="6899220780534617152">"Při nových oznámeních opakovaně zablikat osvětlením trackballu"</string>
     <string name="incoming_call_volume_title" msgid="8073714801365904099">"Vyzváněcí tón"</string>
@@ -435,7 +455,7 @@
     <string name="haptic_feedback_enable_summary_off" msgid="7287885436963105314">"Vibrovat při stisku softwarových kláves a při některých událostech uživatelského rozhraní"</string>
     <string name="audio_record_proc_title" msgid="4271091199976457534">"Potlačení hluku"</string>
     <string name="audio_record_proc_summary" msgid="8113628457499616498">"Při hovoru nebo nahrávání potlačí okolní hluk."</string>
-    <string name="dock_settings" msgid="1820107306693002541">"Dokovací stanice"</string>
+    <string name="dock_settings" msgid="1820107306693002541">"Dok"</string>
     <string name="dock_settings_title" msgid="9161438664257429372">"Nastavení doku"</string>
     <string name="dock_audio_settings_title" msgid="3324750259959570305">"Zvuk"</string>
     <string name="dock_audio_summary_desk" msgid="6487784412371139335">"Nastavení připojeného stolního doku"</string>
@@ -486,7 +506,8 @@
     <string name="sim_enter_cancel" msgid="6240422158517208036">"Zrušit"</string>
     <string name="device_info_settings" msgid="475872867864762157">"Stav telefonu"</string>
     <string name="system_update_settings_list_item_title" msgid="3342887311059985961">"Aktualizace systému"</string>
-    <string name="system_update_settings_list_item_summary" msgid="3853057315907710747"></string>
+    <!-- no translation found for system_update_settings_list_item_summary (3853057315907710747) -->
+    <skip />
     <string name="firmware_version" msgid="4801135784886859972">"Verze systému Android"</string>
     <string name="model_number" msgid="3765737700545384794">"Označení modelu"</string>
     <string name="baseband_version" msgid="1848990160763524801">"Verze základního pásma"</string>
@@ -588,12 +609,9 @@
     <string name="media_format_gesture_explanation" msgid="4239529439389660159">"Formátování karty SD je potřeba potvrdit nakreslením odemykacího obrazce."</string>
     <string name="call_settings_title" msgid="5188713413939232801">"Nastavení hovorů"</string>
     <string name="call_settings_summary" msgid="7291195704801002886">"Nastavení hlasové schránky, přesměrování a čekání hovorů a ID volajícího"</string>
-    <string name="tether_settings_title_usb" msgid="4315031513434087777">"Tethering"</string>
-    <string name="tether_settings_title_wifi" msgid="3277144155960302049">"Přenosný hotspot"</string>
-    <string name="tether_settings_title_both" msgid="2734066355556891504">"Tethering a přenosný hotspot"</string>
-    <string name="tether_settings_summary_usb" msgid="3562431455625637370">"Sdílet mobilního datové připojení telefonu prostřednictvím portu USB"</string>
-    <string name="tether_settings_summary_wifi" msgid="4690912027002467246">"Sdílet mobilní připojení telefonu jako přenosný hotspot Wi-Fi"</string>
-    <string name="tether_settings_summary_both" msgid="7460063951190682635">"Sdílet mobilní datové připojení telefonu prostřednictvím portu USB nebo jako přenosný hotspot Wi-Fi"</string>
+    <string name="tether_settings_title" msgid="8703982377504005349">"Sdílení datového připojení"</string>
+    <string name="tether_settings_summary" msgid="6679594629002850490">"Nastavení a správa sdíleného datového připojení"</string>
+    <string name="tether_screen_title" msgid="1521966915332491855">"Nastavení sdíleného datového připojení"</string>
     <string name="usb_title" msgid="7483344855356312510">"USB"</string>
     <string name="usb_tethering_button_text" msgid="585829947108007917">"Sdílené datové připojení prostřednictvím portu USB"</string>
     <string name="usb_tethering_available_subtext" msgid="156779271296152605">"Připojení USB je k dispozici. Chcete-li vytvořit sdílené datové připojení, vyberte je."</string>
@@ -601,7 +619,7 @@
     <string name="usb_tethering_storage_active_subtext" msgid="6608933594288072573">"Nelze sdílet datové připojení, pokud se používá úložiště USB"</string>
     <string name="usb_tethering_unavailable_subtext" msgid="1044622421184007254">"Připojení USB není k dispozici"</string>
     <string name="usb_tethering_errored_subtext" msgid="1377574819427841992">"Chyba sdílení datového připojení prostřednictvím USB"</string>
-    <string name="tethering_help_button_text" msgid="656117495547173630">"Nápověda"</string>
+    <string name="tethering_help_button_text" msgid="7322604807045355030">"Nápověda ke sdílení datového připojení"</string>
     <string name="network_settings_title" msgid="7967552516440151852">"Mobilní sítě"</string>
     <string name="network_settings_summary" msgid="5149750850846813553">"Nastavení roamingu, sítí a názvů přístupových bodů"</string>
     <string name="location_title" msgid="1029961368397484576">"Moje poloha"</string>
@@ -759,7 +777,8 @@
     <string name="language_category" msgid="3391756582724541530">"Nastavení národního prostředí"</string>
     <string name="text_category" msgid="6342540511465136739">"Nastavení textu"</string>
     <string name="phone_language" msgid="1165758957501090679">"Vyberte jazyk"</string>
-    <string name="phone_language_summary" msgid="3871309445655554211"></string>
+    <!-- no translation found for phone_language_summary (3871309445655554211) -->
+    <skip />
     <string name="auto_replace" msgid="6199184757891937822">"Automatické nahrazování"</string>
     <string name="auto_replace_summary" msgid="370288728200084466">"Opravovat pravopisné chyby"</string>
     <string name="auto_caps" msgid="581633131114124121">"Automatická velká písmena"</string>
@@ -772,7 +791,8 @@
     <string name="ime_security_warning" msgid="812267421486877917">"Prostřednictvím této metody zadávání dat lze shromažďovat zadaný text včetně osobních údajů, jako jsou hesla a čísla kreditních karet. Metoda je součástí aplikace <xliff:g id="IME_APPLICATION_NAME">%1$s</xliff:g>. Chcete tuto metodu zadávání dat použít?"</string>
     <string name="user_dict_settings_titlebar" msgid="765659257455000490">"Uživatelský slovník"</string>
     <string name="user_dict_settings_title" msgid="8357027437499042191">"Uživatelský slovník"</string>
-    <string name="user_dict_settings_summary" msgid="7965571192902870454"></string>
+    <!-- no translation found for user_dict_settings_summary (7965571192902870454) -->
+    <skip />
     <string name="user_dict_settings_add_menu_title" msgid="4056762757149923551">"Přidat"</string>
     <string name="user_dict_settings_add_dialog_title" msgid="4702613990174126482">"Přidat do slovníku"</string>
     <string name="user_dict_settings_edit_dialog_title" msgid="8967476444840548674">"Upravit slovo"</string>
@@ -1068,12 +1088,25 @@
     <string name="credentials_erased" msgid="7700309135582200849">"Úložiště pověření je vymazáno."</string>
     <string name="credentials_enabled" msgid="7588607413349978930">"Úložiště pověření je aktivováno."</string>
     <string name="credentials_disabled" msgid="7453188089059045380">"Úložiště pověření je deaktivováno."</string>
+    <string name="encrypted_fs_category" msgid="1841367653663913956">"Systém souborů EFS (Encrypted File System)"</string>
+    <string name="encrypted_fs_enable" msgid="3884033081603327729">"Šifrovat soukromá uživatelská data"</string>
+    <string name="encrypted_fs_enable_summary" msgid="5635188119509076089">"Aktivovat v tomto zařízení úložiště pro soukromá uživatelská data, které využívá šifrovaný systém souborů "</string>
+    <string name="encrypted_fs_enable_dialog" msgid="919487211207214266">"Aktivace systému souborů EFS vyžaduje vymazání dat ze zařízení."</string>
+    <string name="encrypted_fs_disable_dialog" msgid="6960413613985682501">"Deaktivace systému souborů EFS vyžaduje vymazání dat ze zařízení."</string>
+    <string name="encrypted_fs_enable_button" msgid="8453841319751433751">"Povolit"</string>
+    <string name="encrypted_fs_disable_button" msgid="8468354944060220496">"Vypnout"</string>
+    <string name="encrypted_fs_cancel_button" msgid="4785921255266305799">"Zrušit"</string>
+    <string name="encrypted_fs_cancel_confirm" msgid="853572431153803557">"Změna režimu systému souborů EFS byla zrušena."</string>
+    <string name="encrypted_fs_alert_dialog_title" msgid="583462447886934755">"Upozornění systému souborů EFS."</string>
     <string name="emergency_tone_title" msgid="1055954530111587114">"Tísňové vyzvánění"</string>
     <string name="emergency_tone_summary" msgid="722259232924572153">"Nastavit chování při tísňovém volání"</string>
     <string name="privacy_settings" msgid="9206631214140954954">"Ochrana osobních údajů"</string>
     <string name="privacy_settings_title" msgid="1987089301293213705">"Nastavení ochrany osobních údajů"</string>
+    <string name="backup_section_title" msgid="717834414028702406">"Zálohování a obnovení"</string>
     <string name="personal_data_section_title" msgid="7815209034443782061">"Osobní údaje"</string>
+    <string name="backup_settings_title" msgid="2968262658155327829">"Zálohovat moje nastavení"</string>
     <string name="auto_restore_title" msgid="5397528966329126506">"Automatické obnovení"</string>
+    <string name="auto_restore_summary" msgid="2029683590724508019">"Obnovit data aplikací ze zálohy po nainstalování"</string>
     <string name="backup_erase_dialog_title" msgid="3438255037256586237">"Záloha"</string>
     <string name="backup_erase_dialog_message" msgid="2948090854996352245">"Opravdu chcete zrušit zálohování nastavení a dat aplikací a vymazat všechny kopie těchto dat na serverech Google?"</string>
     <string name="device_admin_settings_title" msgid="1335557832906433309">"Nastavení správce zařízení"</string>
@@ -1087,8 +1120,12 @@
     <string name="device_admin_warning" msgid="1149471041373876923">"Aktivací tohoto správce umožníte aplikaci <xliff:g id="APP_NAME">%1$s</xliff:g> provádět následující operace:"</string>
     <string name="device_admin_status" msgid="7169948053970923035">"Správce je aktivní a umožňuje aplikaci <xliff:g id="APP_NAME">%1$s</xliff:g> provádět následující operace:"</string>
     <string name="untitled_apn" msgid="1230060359198685513">"Bez názvu"</string>
-    <string name="sound_category_sound_title" msgid="1488759370067953996">"Obecné"</string>
-    <string name="sound_category_calls_title" msgid="3688531959256239012">"Příchozí hovory"</string>
-    <string name="sound_category_notification_title" msgid="3502115998790286943">"Oznámení"</string>
-    <string name="sound_category_feedback_title" msgid="4399742321363475393">"Zpětná vazba"</string>
+    <!-- no translation found for sound_category_sound_title (1488759370067953996) -->
+    <skip />
+    <!-- no translation found for sound_category_calls_title (3688531959256239012) -->
+    <skip />
+    <!-- no translation found for sound_category_notification_title (3502115998790286943) -->
+    <skip />
+    <!-- no translation found for sound_category_feedback_title (4399742321363475393) -->
+    <skip />
 </resources>
diff --git a/res/values-da/arrays.xml b/res/values-da/arrays.xml
index 567e194..3d1aa4f 100644
--- a/res/values-da/arrays.xml
+++ b/res/values-da/arrays.xml
@@ -69,32 +69,10 @@
     <item msgid="5972100016440094433">"Italiensk"</item>
     <item msgid="5811378076054402537">"Spansk"</item>
   </string-array>
-  <string-array name="wifi_status">
-    <item msgid="1922181315419294640"></item>
-    <item msgid="8934131797783724664">"Scanner ..."</item>
-    <item msgid="8513729475867537913">"Opretter forbindelse ..."</item>
-    <item msgid="515055375277271756">"Godkender ..."</item>
-    <item msgid="1943354004029184381">"Henter IP-adresse …"</item>
-    <item msgid="4221763391123233270">"Tilsluttet"</item>
-    <item msgid="624838831631122137">"Midlertidigt standset"</item>
-    <item msgid="7979680559596111948">"Afbryder ..."</item>
-    <item msgid="1634960474403853625">"Afbrudt"</item>
-    <item msgid="746097431216080650">"Mislykkedes"</item>
-  </string-array>
-  <string-array name="wifi_status_with_ssid">
-    <item msgid="7714855332363650812"></item>
-    <item msgid="8878186979715711006">"Scanner ..."</item>
-    <item msgid="355508996603873860">"Opretter forbindelse til <xliff:g id="NETWORK_NAME">%1$s</xliff:g> ..."</item>
-    <item msgid="554971459996405634">"Godkender med <xliff:g id="NETWORK_NAME">%1$s</xliff:g> ..."</item>
-    <item msgid="7928343808033020343">"Henter IP-adresse fra <xliff:g id="NETWORK_NAME">%1$s</xliff:g> ..."</item>
-    <item msgid="8937994881315223448">"Forbundet til <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</item>
-    <item msgid="1330262655415760617">"Midlertidigt standset"</item>
-    <item msgid="7698638434317271902">"Afbryder fra <xliff:g id="NETWORK_NAME">%1$s</xliff:g> ..."</item>
-    <item msgid="197508606402264311">"Afbrudt"</item>
-    <item msgid="8578370891960825148">"Mislykkedes"</item>
-  </string-array>
+    <!-- no translation found for wifi_status:0 (1922181315419294640) -->
+    <!-- no translation found for wifi_status_with_ssid:0 (7714855332363650812) -->
   <string-array name="wifi_security">
-    <item msgid="1435933968767043814">"Åbent"</item>
+    <item msgid="1435933968767043814">"Åbn"</item>
     <item msgid="6318432659048829665">"WEP"</item>
     <item msgid="2966395706508338179">"WPA/WPA2 PSK"</item>
     <item msgid="9098390198768443435">"802.1x EAP"</item>
@@ -105,8 +83,8 @@
     <item msgid="2892994535305020162">"TTLS"</item>
   </string-array>
   <string-array name="wifi_signal">
-    <item msgid="2245412278046491293">"Dårlig"</item>
-    <item msgid="5615082285463430971">"Rimelig"</item>
+    <item msgid="2245412278046491293">"Dårligt"</item>
+    <item msgid="5615082285463430971">"Rimeligt"</item>
     <item msgid="3565079809875324621">"God"</item>
     <item msgid="5702329417707689835">"Fremragende"</item>
   </string-array>
@@ -161,10 +139,7 @@
     <item msgid="3738430123799803530">"SD-kort, der kan fjernes"</item>
     <item msgid="4498124044785815005">"Lad systemet vælge"</item>
   </string-array>
-  <string-array name="vibrate_entries">
-    <item msgid="3388952299521009213">"Altid"</item>
-    <item msgid="6293147072807231256">"Aldrig"</item>
-    <item msgid="1276641209451816572">"Kun, når lydløs er slået til"</item>
-    <item msgid="8418930333779132418">"Kun, når lydløs er slået fra"</item>
-  </string-array>
+    <!-- no translation found for vibrate_entries:1 (6293147072807231256) -->
+    <!-- no translation found for vibrate_entries:2 (1276641209451816572) -->
+    <!-- no translation found for vibrate_entries:3 (8418930333779132418) -->
 </resources>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index 4b2105a..820d69b 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -99,7 +99,8 @@
     <string name="bluetooth_disconnected" msgid="6557104142667339895">"Afbrudt"</string>
     <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Afbryder ..."</string>
     <string name="bluetooth_connecting" msgid="8555009514614320497">"Opretter forbindelse ..."</string>
-    <string name="bluetooth_unknown" msgid="644716244548801421"></string>
+    <!-- no translation found for bluetooth_unknown (644716244548801421) -->
+    <skip />
     <string name="bluetooth_not_connected" msgid="3389882907500605937">"Par med denne enhed"</string>
     <string name="bluetooth_pairing" msgid="1426882272690346242">"Parrer ..."</string>
     <string name="bluetooth_paired" msgid="1247541089000057726">"Parret, men ikke forbundet"</string>
@@ -206,9 +207,9 @@
     <string name="airplane_mode_summary" msgid="3154817401368780988">"Deaktiver alle trådløse forbindelser"</string>
     <string name="airplane_mode_turning_on" msgid="8871739222526957255">"Deaktiverer trådløse forbindelser ..."</string>
     <string name="airplane_mode_turning_off" msgid="3393168549611505996">"Aktiverer trådløse forbindelser ..."</string>
-    <string name="radio_controls_title" msgid="5868688473587168882">"Trådløs og netværk"</string>
+    <string name="radio_controls_title" msgid="5868688473587168882">"Trådløst og netværk"</string>
     <string name="wireless_networks_settings_title" msgid="149274247949769551">"Indstillinger for trådløs og netværk"</string>
-    <string name="radio_controls_summary" msgid="2998818677094465517">"Administrer Wi-Fi, Bluetooth, flytilstand, mobilnetværk og VPN\'er"</string>
+    <string name="radio_controls_summary" msgid="2998818677094465517">"Administrer Wi-Fi, Bluetooth, flytilstand, mobile netværk og VPN\'er"</string>
     <string name="roaming" msgid="3596055926335478572">"Dataroaming"</string>
     <string name="roaming_enable" msgid="3737380951525303961">"Opret forbindelse til datatjenester ved roaming"</string>
     <string name="roaming_disable" msgid="1295279574370898378">"Opret forbindelse til datatjenester ved roaming"</string>
@@ -235,20 +236,34 @@
     <string name="security_settings_summary" msgid="967393342537986570">"Angiv Min placering, oplåsning af skærmen, låsning af SIM-kort og oplysningslagring"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Angiv Min placering, oplåsning af skærmen, oplysningslagring"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"Adgangskoder"</string>
-    <string name="lock_settings_picker_title" msgid="3973555216065628262">"Sikkerhed med skærmlås"</string>
-    <string name="unlock_set_unlock_launch_picker_title" msgid="1129684221223017902">"Konfigurer skærmlås"</string>
-    <string name="unlock_set_unlock_launch_picker_summary" msgid="1667332113134720845">"Lås skærmen med mønster, PIN-kode eller adgangskode"</string>
-    <string name="unlock_set_unlock_launch_picker_change_title" msgid="6987228635944678726">"Skift skærmlås"</string>
-    <string name="unlock_set_unlock_launch_picker_change_summary" msgid="2790960639554590668">"Skift eller deaktiver mønster, PIN-kode eller adgangskode."</string>
-    <string name="unlock_set_unlock_none_title" msgid="3760684669884671990">"Ingen"</string>
-    <string name="unlock_set_unlock_none_summary" msgid="2658550480388272618">"Deaktiver sikkerhed med skærmlås"</string>
-    <string name="unlock_set_unlock_pattern_title" msgid="2912067603917311700">"Mønster"</string>
-    <string name="unlock_set_unlock_pattern_summary" msgid="3018395214738645405">"Du skal tegne et mønster for at låse skærmen op"</string>
-    <string name="unlock_set_unlock_pin_title" msgid="5846029709462329515">"PIN-kode"</string>
-    <string name="unlock_set_unlock_pin_summary" msgid="4131169672844263316">"Angiv en PIN-kode for at låse skærmen op"</string>
-    <string name="unlock_set_unlock_password_title" msgid="8775603825675090937">"Adgangskode"</string>
-    <string name="unlock_set_unlock_password_summary" msgid="4623254789833899286">"Angiv en adgangskode for at låse skærmen op"</string>
-    <string name="unlock_set_unlock_disabled_summary" msgid="736557879526940324">"Deaktiveret af fjernadministrator"</string>
+    <!-- no translation found for lock_settings_picker_title (3973555216065628262) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_launch_picker_title (1129684221223017902) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_launch_picker_summary (1667332113134720845) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_launch_picker_change_title (6987228635944678726) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_launch_picker_change_summary (2790960639554590668) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_none_title (3760684669884671990) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_none_summary (2658550480388272618) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_pattern_title (2912067603917311700) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_pattern_summary (3018395214738645405) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_pin_title (5846029709462329515) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_pin_summary (4131169672844263316) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_password_title (8775603825675090937) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_password_summary (4623254789833899286) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_disabled_summary (736557879526940324) -->
+    <skip />
     <string name="unlock_disable_lock_title" msgid="1427036227416979120">"Slå skærmlås fra"</string>
     <string name="unlock_disable_lock_pattern_summary" msgid="6801602880568869201">"Fjern mønster til at låse op"</string>
     <string name="unlock_disable_lock_pin_summary" msgid="8856842745366993387">"Fjern pinkode til at låse op"</string>
@@ -385,15 +400,15 @@
     <string name="wifi_dns2" msgid="1368601006824882659">"DNS 2"</string>
     <string name="wifi_gateway" msgid="163914742461092086">"Gateway"</string>
     <string name="wifi_netmask" msgid="4520635321425529085">"Netmask"</string>
-    <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"Bærbart Wi-Fi-hotspot"</string>
-    <string name="wifi_tether_enabled_subtext" msgid="8948641212931906143">"Det bærbare hotspot <xliff:g id="NETWORK_SSID">%1$s</xliff:g> er aktivt"</string>
-    <string name="wifi_tether_failed_subtext" msgid="2654888578056042315">"Fejl ved bærbart Wi-Fi-hotspot"</string>
-    <string name="wifi_tether_settings_text" msgid="123573487844470195">"Indstillinger for bærbart Wi-Fi-hotspot"</string>
-    <string name="wifi_tether_settings_subtext" msgid="8064755682383367008">"Konfiguration og administration af bærbart Wi-Fi-hotspot"</string>
-    <string name="wifi_tether_settings_title" msgid="3749063216348284432">"Indstillinger for bærbart Wi-Fi-hotspot"</string>
-    <string name="wifi_tether_configure_ap_text" msgid="3474995108398156258">"Konfigurer Wi-Fi-hotspot"</string>
-    <string name="wifi_tether_configure_subtext" msgid="1927454307836232128">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> <xliff:g id="NETWORK_SECURITY">%2$s</xliff:g> bærbart Wi-Fi-hotspot"</string>
-    <string name="wifi_tether_configure_ssid_default" msgid="8467525402622138547">"AndroidHotspot"</string>
+    <string name="wifi_tether_checkbox_text" msgid="796007268580464534">"Wi-Fi-tethering"</string>
+    <string name="wifi_tether_enabled_subtext" msgid="6758080605207549918">"Adgangspunkt <xliff:g id="NETWORK_SSID">%1$s</xliff:g> aktiveret"</string>
+    <string name="wifi_tether_failed_subtext" msgid="4379214348183654280">"Fejl ved Wi-Fi-tethering"</string>
+    <string name="wifi_tether_settings_text" msgid="8831276059149506799">"Indstillinger for Wi-Fi-tethering"</string>
+    <string name="wifi_tether_settings_subtext" msgid="3415164631321782704">"Konfigurer og administrer adgangspunkt"</string>
+    <string name="wifi_tether_settings_title" msgid="3233393750798545228">"Indstillinger for Wi-Fi-tethering"</string>
+    <string name="wifi_tether_configure_ap_text" msgid="7849700175083202171">"Konfigurer AP"</string>
+    <string name="wifi_tether_configure_subtext" msgid="54089556089657247">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> <xliff:g id="NETWORK_SECURITY">%2$s</xliff:g> adgangspunkt"</string>
+    <string name="wifi_tether_configure_ssid_default" msgid="4491822321218336928">"AndroidAP"</string>
     <string name="sound_settings_title" msgid="8735891486683305886">"Lyd"</string>
     <string name="display_settings_title" msgid="1708697328627382561">"Visning"</string>
     <string name="sound_settings" msgid="5007659014828162881">"Indstillinger for lyd"</string>
@@ -401,16 +416,21 @@
     <string name="silent_mode_summary" msgid="3309650676072917899">"Fjern alle lyde undtagen medier og alarmer"</string>
     <string name="silent_mode_incl_alarm_summary" msgid="2088830834182228458">"Al lyd undtagen medier er slået fra"</string>
     <string name="ringtone_title" msgid="5379026328015343686">"Ringetone for telefon"</string>
-    <string name="ringtone_summary" msgid="2630023412632683493"></string>
+    <!-- no translation found for ringtone_summary (2630023412632683493) -->
+    <skip />
     <string name="all_volume_title" msgid="8741571721868253103">"Lydstyrke"</string>
     <string name="ring_volume_title" msgid="7938706566797464165">"Lydstyrke for opkald"</string>
-    <string name="ring_volume_summary" msgid="7055497624193116879"></string>
+    <!-- no translation found for ring_volume_summary (7055497624193116879) -->
+    <skip />
     <string name="vibrate_in_silent_title" msgid="3897968069156767036">"Vibrer ved lydløs"</string>
     <string name="vibrate_in_silent_summary" msgid="3312600513070076281">"Tillad vibrering ved lydløs"</string>
-    <string name="vibrate_title" msgid="6045820877942801599">"Vibration"</string>
-    <string name="vibrate_summary" msgid="7378130397830790458">"Vibration ved opkald og underretninger"</string>
+    <!-- no translation found for vibrate_title (6045820877942801599) -->
+    <skip />
+    <!-- no translation found for vibrate_summary (7378130397830790458) -->
+    <skip />
     <string name="notification_sound_title" msgid="6316316069880531693">"Ringetone for meddelelser"</string>
-    <string name="notification_sound_summary" msgid="2953599929394109819"></string>
+    <!-- no translation found for notification_sound_summary (2953599929394109819) -->
+    <skip />
     <string name="notification_pulse_title" msgid="1247988024534030629">"Blinkende underretningslys"</string>
     <string name="notification_pulse_summary" msgid="6899220780534617152">"Gentagne lysblink i trackball ved nye meddelelser"</string>
     <string name="incoming_call_volume_title" msgid="8073714801365904099">"Ringetone"</string>
@@ -486,7 +506,8 @@
     <string name="sim_enter_cancel" msgid="6240422158517208036">"Annuller"</string>
     <string name="device_info_settings" msgid="475872867864762157">"Telefonstatus"</string>
     <string name="system_update_settings_list_item_title" msgid="3342887311059985961">"Systemopdateringer"</string>
-    <string name="system_update_settings_list_item_summary" msgid="3853057315907710747"></string>
+    <!-- no translation found for system_update_settings_list_item_summary (3853057315907710747) -->
+    <skip />
     <string name="firmware_version" msgid="4801135784886859972">"Android-version"</string>
     <string name="model_number" msgid="3765737700545384794">"Modelnummer"</string>
     <string name="baseband_version" msgid="1848990160763524801">"Basebandversion"</string>
@@ -503,7 +524,7 @@
     <string name="status_min_number" msgid="3519504522179420597">"MIN"</string>
     <string name="status_prl_version" msgid="8499039751817386529">"PRL-version"</string>
     <string name="status_meid_number" msgid="1751442889111731088">"MEID"</string>
-    <string name="status_network_type" msgid="3279383550222116235">"Mobilnetværk"</string>
+    <string name="status_network_type" msgid="3279383550222116235">"Mobilt netværk"</string>
     <string name="status_data_state" msgid="5503181397066522950">"Tilstand for mobilnetværk"</string>
     <string name="status_service_state" msgid="2323931627519429503">"Tjenestetilstand"</string>
     <string name="status_signal_strength" msgid="3732655254188304547">"Signalstyrke"</string>
@@ -588,12 +609,9 @@
     <string name="media_format_gesture_explanation" msgid="4239529439389660159">"Du skal tegne dit oplåsningsmønster for at bekræfte et SD-kortformat."</string>
     <string name="call_settings_title" msgid="5188713413939232801">"Indstillinger for opkald"</string>
     <string name="call_settings_summary" msgid="7291195704801002886">"Opsæt voicemail, viderestilling af opkald, ventende opkald, opkalds-id"</string>
-    <string name="tether_settings_title_usb" msgid="4315031513434087777">"Tethering"</string>
-    <string name="tether_settings_title_wifi" msgid="3277144155960302049">"Bærbart hotspot"</string>
-    <string name="tether_settings_title_both" msgid="2734066355556891504">"Tethering og bærbart hotspot"</string>
-    <string name="tether_settings_summary_usb" msgid="3562431455625637370">"Del din telefons mobildataforbindelse via USB"</string>
-    <string name="tether_settings_summary_wifi" msgid="4690912027002467246">"Del din telefons mobilforbindelse som et bærbart Wi-Fi-hotspot"</string>
-    <string name="tether_settings_summary_both" msgid="7460063951190682635">"Del din telefons mobildataforbindelse via USB eller som et bærbart Wi-Fi-hotspot"</string>
+    <string name="tether_settings_title" msgid="8703982377504005349">"Tethering"</string>
+    <string name="tether_settings_summary" msgid="6679594629002850490">"Konfigurer og administrer tethering"</string>
+    <string name="tether_screen_title" msgid="1521966915332491855">"Tethering-indstillinger"</string>
     <string name="usb_title" msgid="7483344855356312510">"USB"</string>
     <string name="usb_tethering_button_text" msgid="585829947108007917">"USB-tethering"</string>
     <string name="usb_tethering_available_subtext" msgid="156779271296152605">"USB tilsluttet, kontroller for at bruge tethering"</string>
@@ -601,13 +619,13 @@
     <string name="usb_tethering_storage_active_subtext" msgid="6608933594288072573">"Kan ikke anvende tethering, når USB-lager er i brug"</string>
     <string name="usb_tethering_unavailable_subtext" msgid="1044622421184007254">"USB ikke tilsluttet"</string>
     <string name="usb_tethering_errored_subtext" msgid="1377574819427841992">"Fejl ved USB-tethering"</string>
-    <string name="tethering_help_button_text" msgid="656117495547173630">"Hjælp"</string>
+    <string name="tethering_help_button_text" msgid="7322604807045355030">"Hjælp til tethering"</string>
     <string name="network_settings_title" msgid="7967552516440151852">"Mobilnetværk"</string>
     <string name="network_settings_summary" msgid="5149750850846813553">"Angiv indstillinger for roaming, netværk, APN\'er"</string>
     <string name="location_title" msgid="1029961368397484576">"Min placering"</string>
     <string name="location_network_based" msgid="8815705866861993344">"Brug trådløse netværk"</string>
     <string name="location_networks_disabled" msgid="2708968452901433980">"Se placering i programmer (som f.eks. Maps) ved hjælp af trådløse netværk"</string>
-    <string name="location_neighborhood_level" msgid="4656658097932515921">"Placering afgøres af Wi-Fi og/eller mobilnetværk"</string>
+    <string name="location_neighborhood_level" msgid="4656658097932515921">"Placering afgøres af Wi-Fi og/eller mobile netværk"</string>
     <string name="location_gps" msgid="6296125378829097831">"Brug GPS-satellitter"</string>
     <string name="location_street_level" msgid="6460740847018275745">"Præcis placering på gadeplan (slå fra for at spare på batteriet)"</string>
     <string name="location_gps_disabled" msgid="6632537158777308128">"Placering på gadeplan (mere batterikrævende, skal bruges i det fri)"</string>
@@ -759,7 +777,8 @@
     <string name="language_category" msgid="3391756582724541530">"Indstilling af landestandard"</string>
     <string name="text_category" msgid="6342540511465136739">"Indstillinger for tekst"</string>
     <string name="phone_language" msgid="1165758957501090679">"Vælg sprog"</string>
-    <string name="phone_language_summary" msgid="3871309445655554211"></string>
+    <!-- no translation found for phone_language_summary (3871309445655554211) -->
+    <skip />
     <string name="auto_replace" msgid="6199184757891937822">"Automatisk erstatning"</string>
     <string name="auto_replace_summary" msgid="370288728200084466">"Ret ord, der er stavet forkert"</string>
     <string name="auto_caps" msgid="581633131114124121">"Skriv aut. med stort"</string>
@@ -772,7 +791,8 @@
     <string name="ime_security_warning" msgid="812267421486877917">"Denne indtastningsmetode vil muligvis være i stand til at indsamle al den tekst, du indtaster, herunder personlige data som adgangskoder og kreditkortnumre. Den kommer fra programmet <xliff:g id="IME_APPLICATION_NAME">%1$s</xliff:g>. Vil du bruge denne indtastningsmetode?"</string>
     <string name="user_dict_settings_titlebar" msgid="765659257455000490">"Brugerordbog"</string>
     <string name="user_dict_settings_title" msgid="8357027437499042191">"Brugerordbog"</string>
-    <string name="user_dict_settings_summary" msgid="7965571192902870454"></string>
+    <!-- no translation found for user_dict_settings_summary (7965571192902870454) -->
+    <skip />
     <string name="user_dict_settings_add_menu_title" msgid="4056762757149923551">"Tilføj"</string>
     <string name="user_dict_settings_add_dialog_title" msgid="4702613990174126482">"Føj til ordbog"</string>
     <string name="user_dict_settings_edit_dialog_title" msgid="8967476444840548674">"Rediger ord"</string>
@@ -1068,12 +1088,25 @@
     <string name="credentials_erased" msgid="7700309135582200849">"Oplysningslagringen er slettet."</string>
     <string name="credentials_enabled" msgid="7588607413349978930">"Oplysningslagring er aktiveret."</string>
     <string name="credentials_disabled" msgid="7453188089059045380">"Oplysningslagring er deaktiveret."</string>
+    <string name="encrypted_fs_category" msgid="1841367653663913956">"Krypteret filsystem"</string>
+    <string name="encrypted_fs_enable" msgid="3884033081603327729">"Krypter private brugerdata"</string>
+    <string name="encrypted_fs_enable_summary" msgid="5635188119509076089">"Aktiver krypteret filsystemlager for private brugerdata på denne enhed"</string>
+    <string name="encrypted_fs_enable_dialog" msgid="919487211207214266">"Aktivering af krypterede filsystemer kræver en enhedsdatasletter."</string>
+    <string name="encrypted_fs_disable_dialog" msgid="6960413613985682501">"Deaktivering af krypterede filsystemer kræver en enhedsdatasletter."</string>
+    <string name="encrypted_fs_enable_button" msgid="8453841319751433751">"Aktivér"</string>
+    <string name="encrypted_fs_disable_button" msgid="8468354944060220496">"Deaktiver"</string>
+    <string name="encrypted_fs_cancel_button" msgid="4785921255266305799">"Annuller"</string>
+    <string name="encrypted_fs_cancel_confirm" msgid="853572431153803557">"Ændring af tilstand for krypterede filsystemer blev anulleret."</string>
+    <string name="encrypted_fs_alert_dialog_title" msgid="583462447886934755">"Advarsel for krypterede filsystemer."</string>
     <string name="emergency_tone_title" msgid="1055954530111587114">"Nødtone"</string>
     <string name="emergency_tone_summary" msgid="722259232924572153">"Angiv adfærd ved nødopkald"</string>
     <string name="privacy_settings" msgid="9206631214140954954">"Fortrolighed"</string>
     <string name="privacy_settings_title" msgid="1987089301293213705">"Indstillinger for fortrolighed"</string>
+    <string name="backup_section_title" msgid="717834414028702406">"Sikkerhedskopiering og gendannelse"</string>
     <string name="personal_data_section_title" msgid="7815209034443782061">"Personlige oplysninger"</string>
+    <string name="backup_settings_title" msgid="2968262658155327829">"Sikkerhedskopier indst."</string>
     <string name="auto_restore_title" msgid="5397528966329126506">"Automatisk gendannelse"</string>
+    <string name="auto_restore_summary" msgid="2029683590724508019">"Gendan programmers data fra sikkerhedskopi, hvis de er installeret"</string>
     <string name="backup_erase_dialog_title" msgid="3438255037256586237">"Sikkerhedskopi"</string>
     <string name="backup_erase_dialog_message" msgid="2948090854996352245">"Er du sikker på, at du vil holde op med at sikkerhedskopiere dine indstillinger og programdata og slette alle kopier på Googles servere?"</string>
     <string name="device_admin_settings_title" msgid="1335557832906433309">"Enhedsadministrationsindstillinger"</string>
@@ -1087,8 +1120,12 @@
     <string name="device_admin_warning" msgid="1149471041373876923">"Hvis denne administrator aktiveres, får programmet <xliff:g id="APP_NAME">%1$s</xliff:g> tilladelse til at foretage følgende handlinger:"</string>
     <string name="device_admin_status" msgid="7169948053970923035">"Denne administrator er aktiv og tillader programmet <xliff:g id="APP_NAME">%1$s</xliff:g> at foretage følgende handlinger:"</string>
     <string name="untitled_apn" msgid="1230060359198685513">"Ikke-navngivet"</string>
-    <string name="sound_category_sound_title" msgid="1488759370067953996">"Generelt"</string>
-    <string name="sound_category_calls_title" msgid="3688531959256239012">"Indgående opkald"</string>
-    <string name="sound_category_notification_title" msgid="3502115998790286943">"Underretninger"</string>
-    <string name="sound_category_feedback_title" msgid="4399742321363475393">"Feedback"</string>
+    <!-- no translation found for sound_category_sound_title (1488759370067953996) -->
+    <skip />
+    <!-- no translation found for sound_category_calls_title (3688531959256239012) -->
+    <skip />
+    <!-- no translation found for sound_category_notification_title (3502115998790286943) -->
+    <skip />
+    <!-- no translation found for sound_category_feedback_title (4399742321363475393) -->
+    <skip />
 </resources>
diff --git a/res/values-de/arrays.xml b/res/values-de/arrays.xml
index b8e9fc0..5ca2a40 100644
--- a/res/values-de/arrays.xml
+++ b/res/values-de/arrays.xml
@@ -69,30 +69,8 @@
     <item msgid="5972100016440094433">"Italienisch"</item>
     <item msgid="5811378076054402537">"Spanisch"</item>
   </string-array>
-  <string-array name="wifi_status">
-    <item msgid="1922181315419294640"></item>
-    <item msgid="8934131797783724664">"Scan…"</item>
-    <item msgid="8513729475867537913">"Verbindung wird hergestellt..."</item>
-    <item msgid="515055375277271756">"Authentifizierung..."</item>
-    <item msgid="1943354004029184381">"IP-Adresse wird abgerufen..."</item>
-    <item msgid="4221763391123233270">"Verbunden"</item>
-    <item msgid="624838831631122137">"Angehalten"</item>
-    <item msgid="7979680559596111948">"Verbindung wird getrennt..."</item>
-    <item msgid="1634960474403853625">"Nicht verbunden"</item>
-    <item msgid="746097431216080650">"Nicht erfolgreich"</item>
-  </string-array>
-  <string-array name="wifi_status_with_ssid">
-    <item msgid="7714855332363650812"></item>
-    <item msgid="8878186979715711006">"Scan…"</item>
-    <item msgid="355508996603873860">"Verbindung mit <xliff:g id="NETWORK_NAME">%1$s</xliff:g> wird hergestellt..."</item>
-    <item msgid="554971459996405634">"Authentifizierung mit <xliff:g id="NETWORK_NAME">%1$s</xliff:g>..."</item>
-    <item msgid="7928343808033020343">"IP-Adresse wird von <xliff:g id="NETWORK_NAME">%1$s</xliff:g> abgerufen..."</item>
-    <item msgid="8937994881315223448">"Verbunden mit <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</item>
-    <item msgid="1330262655415760617">"Angehalten"</item>
-    <item msgid="7698638434317271902">"Verbindung mit <xliff:g id="NETWORK_NAME">%1$s</xliff:g> wird getrennt..."</item>
-    <item msgid="197508606402264311">"Nicht verbunden"</item>
-    <item msgid="8578370891960825148">"Nicht erfolgreich"</item>
-  </string-array>
+    <!-- no translation found for wifi_status:0 (1922181315419294640) -->
+    <!-- no translation found for wifi_status_with_ssid:0 (7714855332363650812) -->
   <string-array name="wifi_security">
     <item msgid="1435933968767043814">"Offen"</item>
     <item msgid="6318432659048829665">"WEP"</item>
@@ -161,10 +139,7 @@
     <item msgid="3738430123799803530">"Austauschbare SD-Karte"</item>
     <item msgid="4498124044785815005">"Auswahl durch das System"</item>
   </string-array>
-  <string-array name="vibrate_entries">
-    <item msgid="3388952299521009213">"Immer"</item>
-    <item msgid="6293147072807231256">"Nie"</item>
-    <item msgid="1276641209451816572">"Nur im Lautlosmodus"</item>
-    <item msgid="8418930333779132418">"Außer im Lautlosmodus"</item>
-  </string-array>
+    <!-- no translation found for vibrate_entries:1 (6293147072807231256) -->
+    <!-- no translation found for vibrate_entries:2 (1276641209451816572) -->
+    <!-- no translation found for vibrate_entries:3 (8418930333779132418) -->
 </resources>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index e224db8..50c6736c 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -22,7 +22,7 @@
     <string name="turn_on_radio" msgid="8706561489788373676">"Mobilfunkverbindung aktivieren"</string>
     <string name="turn_off_radio" msgid="1820294552893884115">"Mobilfunkverbindung deaktivieren"</string>
     <string name="radioInfo_menu_viewADN" msgid="8743377494429930831">"SIM-Adressbuch anzeigen"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Zugelassene Rufnummern anzeigen"</string>
+    <string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Begrenzte Rufnummern anzeigen"</string>
     <string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Servicerufnummern anzeigen"</string>
     <string name="radioInfo_menu_getPDP" msgid="560610293888406317">"PDP-Liste abrufen"</string>
     <string name="radioInfo_service_in" msgid="1915416319177520020">"In Betrieb"</string>
@@ -70,7 +70,7 @@
     <string name="battery_info_status_charging" msgid="1705179948350365604">"Wird geladen"</string>
     <string name="battery_info_status_charging_ac" msgid="5874340256342956252">"(AC)"</string>
     <string name="battery_info_status_charging_usb" msgid="4059070156126770959">"(USB)"</string>
-    <string name="battery_info_status_discharging" msgid="6222697503392774475">"Entlädt"</string>
+    <string name="battery_info_status_discharging" msgid="6222697503392774475">"Entladung"</string>
     <string name="battery_info_status_not_charging" msgid="2820070506621483576">"Wird nicht geladen"</string>
     <string name="battery_info_status_full" msgid="2824614753861462808">"Voll"</string>
     <string name="battery_info_power_unplugged" msgid="5987246575519551081">"Nicht angeschlossen"</string>
@@ -99,7 +99,8 @@
     <string name="bluetooth_disconnected" msgid="6557104142667339895">"Nicht verbunden"</string>
     <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Verbindung wird getrennt..."</string>
     <string name="bluetooth_connecting" msgid="8555009514614320497">"Verbindung wird hergestellt..."</string>
-    <string name="bluetooth_unknown" msgid="644716244548801421"></string>
+    <!-- no translation found for bluetooth_unknown (644716244548801421) -->
+    <skip />
     <string name="bluetooth_not_connected" msgid="3389882907500605937">"Pairing mit diesem Gerät"</string>
     <string name="bluetooth_pairing" msgid="1426882272690346242">"Pairing…"</string>
     <string name="bluetooth_paired" msgid="1247541089000057726">"Gepaart, jedoch nicht verbunden"</string>
@@ -206,7 +207,7 @@
     <string name="airplane_mode_summary" msgid="3154817401368780988">"Alle drahtlosen Verbindungen deaktivieren"</string>
     <string name="airplane_mode_turning_on" msgid="8871739222526957255">"Drahtlosverbindungen werden deaktiviert..."</string>
     <string name="airplane_mode_turning_off" msgid="3393168549611505996">"Drahtlosverbindungen werden aktiviert..."</string>
-    <string name="radio_controls_title" msgid="5868688473587168882">"Drahtlos &amp; Netzwerke"</string>
+    <string name="radio_controls_title" msgid="5868688473587168882">"Drahtlos und Netzwerke"</string>
     <string name="wireless_networks_settings_title" msgid="149274247949769551">"Einstellungen für Drahtlosnetzwerke"</string>
     <string name="radio_controls_summary" msgid="2998818677094465517">"WLAN, Bluetooth, Flugmodus, mobile Netzwerke und VPNs verwalten"</string>
     <string name="roaming" msgid="3596055926335478572">"Daten-Roaming"</string>
@@ -218,7 +219,7 @@
     <string name="roaming_reenable_title" msgid="7626425894611573131">"Achtung"</string>
     <string name="networks" msgid="6333316876545927039">"Netzbetreiberauswahl"</string>
     <string name="sum_carrier_select" msgid="6648929373316748020">"Netzbetreiber auswählen"</string>
-    <string name="date_and_time_settings_title" msgid="3350640463596716780">"Datum &amp; Uhrzeit"</string>
+    <string name="date_and_time_settings_title" msgid="3350640463596716780">"Datum und Uhrzeit"</string>
     <string name="date_and_time_settings_summary" msgid="2435705040205950381">"Datum, Uhrzeit, Zeitzone und Formate festlegen"</string>
     <string name="date_time_auto" msgid="3086083265745944725">"Automatisch"</string>
     <string name="date_time_auto_summaryOn" msgid="9034585614665299846">"Vom Netzwerk bereitgestellte Werte verwenden"</string>
@@ -230,25 +231,39 @@
     <string name="date_time_date_format" msgid="436706100255870967">"Datumsformat"</string>
     <string name="zone_list_menu_sort_alphabetically" msgid="5683377702671088588">"Alphabetisch sortieren"</string>
     <string name="zone_list_menu_sort_by_timezone" msgid="2720190443744884114">"Nach Zeitzone sortieren"</string>
-    <string name="security_settings_title" msgid="5168491784222013179">"Standort &amp; Sicherheit"</string>
+    <string name="security_settings_title" msgid="5168491784222013179">"Standort und Sicherheit"</string>
     <string name="location_security_settings_title" msgid="4624434296446625554">"Einstellungen für Standort &amp; Sicherheit"</string>
-    <string name="security_settings_summary" msgid="967393342537986570">"Meinen Standort, Display-Entsperrung, SIM-Kartensperre und Sperre für Anmeldeinformationsspeicher festlegen"</string>
-    <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Meinen Standort, Display-Entsperrung, SIM-Kartensperrung und Sperrung des Anmeldeinformationsspeichers festlegen"</string>
+    <string name="security_settings_summary" msgid="967393342537986570">"Meinen Standort, Display-Entsperrung, SIM-Kartensperrung und Sperrung des Anmeldeinformationsspeichers festlegen"</string>
+    <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Meinen Standort festlegen, Bildschirm entsperren, Sperren des Speichers für Anmeldeinformationen"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"Passwörter"</string>
-    <string name="lock_settings_picker_title" msgid="3973555216065628262">"Display-Entsperrung"</string>
-    <string name="unlock_set_unlock_launch_picker_title" msgid="1129684221223017902">"Display-Sperre einrichten"</string>
-    <string name="unlock_set_unlock_launch_picker_summary" msgid="1667332113134720845">"Display mit einem Muster, einer PIN oder einem Passwort sperren"</string>
-    <string name="unlock_set_unlock_launch_picker_change_title" msgid="6987228635944678726">"Display-Sperre ändern"</string>
-    <string name="unlock_set_unlock_launch_picker_change_summary" msgid="2790960639554590668">"Sperre (Muster, PIN, Passwort) ändern oder deaktivieren"</string>
-    <string name="unlock_set_unlock_none_title" msgid="3760684669884671990">"Keine"</string>
-    <string name="unlock_set_unlock_none_summary" msgid="2658550480388272618">"Display-Entsperrung deaktivieren"</string>
-    <string name="unlock_set_unlock_pattern_title" msgid="2912067603917311700">"Muster"</string>
-    <string name="unlock_set_unlock_pattern_summary" msgid="3018395214738645405">"Muster zum Entsperren des Displays zeichnen"</string>
-    <string name="unlock_set_unlock_pin_title" msgid="5846029709462329515">"PIN"</string>
-    <string name="unlock_set_unlock_pin_summary" msgid="4131169672844263316">"Geben Sie eine numerische PIN zum Entsperren ein."</string>
-    <string name="unlock_set_unlock_password_title" msgid="8775603825675090937">"Passwort"</string>
-    <string name="unlock_set_unlock_password_summary" msgid="4623254789833899286">"Geben Sie ein Passwort zum Entsperren des Displays ein."</string>
-    <string name="unlock_set_unlock_disabled_summary" msgid="736557879526940324">"Vom Remote-Telefonadministrator deaktiviert"</string>
+    <!-- no translation found for lock_settings_picker_title (3973555216065628262) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_launch_picker_title (1129684221223017902) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_launch_picker_summary (1667332113134720845) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_launch_picker_change_title (6987228635944678726) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_launch_picker_change_summary (2790960639554590668) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_none_title (3760684669884671990) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_none_summary (2658550480388272618) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_pattern_title (2912067603917311700) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_pattern_summary (3018395214738645405) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_pin_title (5846029709462329515) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_pin_summary (4131169672844263316) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_password_title (8775603825675090937) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_password_summary (4623254789833899286) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_disabled_summary (736557879526940324) -->
+    <skip />
     <string name="unlock_disable_lock_title" msgid="1427036227416979120">"Display-Sperre deaktivieren"</string>
     <string name="unlock_disable_lock_pattern_summary" msgid="6801602880568869201">"Entsperrungsmuster entfernen"</string>
     <string name="unlock_disable_lock_pin_summary" msgid="8856842745366993387">"Entsperrungs-PIN entfernen"</string>
@@ -270,7 +285,7 @@
     <string name="lockpassword_ok_label" msgid="313822574062553672">"OK"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Abbrechen"</string>
     <string name="device_admin_title" msgid="3562216873644263804">"Geräteverwaltung"</string>
-    <string name="manage_device_admin" msgid="3864120111085199551">"Geräte-Administratoren"</string>
+    <string name="manage_device_admin" msgid="3864120111085199551">"Geräte-Administratoren wählen"</string>
     <string name="manage_device_admin_summary" msgid="915390201809231575">"Geräteadministratoren hinzufügen oder entfernen"</string>
     <string name="bluetooth_quick_toggle_title" msgid="1037056952714061893">"Bluetooth"</string>
     <string name="bluetooth_quick_toggle_summary" msgid="5293641680139873341">"Bluetooth aktivieren"</string>
@@ -385,34 +400,39 @@
     <string name="wifi_dns2" msgid="1368601006824882659">"DNS 2"</string>
     <string name="wifi_gateway" msgid="163914742461092086">"Gateway"</string>
     <string name="wifi_netmask" msgid="4520635321425529085">"Netmask"</string>
-    <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"Mobiler WLAN-Hotspot"</string>
-    <string name="wifi_tether_enabled_subtext" msgid="8948641212931906143">"Mobiler Hotspot <xliff:g id="NETWORK_SSID">%1$s</xliff:g> aktiv"</string>
-    <string name="wifi_tether_failed_subtext" msgid="2654888578056042315">"Fehler beim mobilen WLAN-Hotspot"</string>
-    <string name="wifi_tether_settings_text" msgid="123573487844470195">"WLAN-Hotspot-Einstellungen"</string>
-    <string name="wifi_tether_settings_subtext" msgid="8064755682383367008">"Mobilen WLAN-Hotspot einrichten &amp; verwalten"</string>
-    <string name="wifi_tether_settings_title" msgid="3749063216348284432">"WLAN-Hotspot-Einstellungen"</string>
-    <string name="wifi_tether_configure_ap_text" msgid="3474995108398156258">"WLAN-Hotspot konfigurieren"</string>
-    <string name="wifi_tether_configure_subtext" msgid="1927454307836232128">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> <xliff:g id="NETWORK_SECURITY">%2$s</xliff:g> mobiler WLAN-Hotspot"</string>
-    <string name="wifi_tether_configure_ssid_default" msgid="8467525402622138547">"AndroidHotspot"</string>
-    <string name="sound_settings_title" msgid="8735891486683305886">"Töne"</string>
+    <string name="wifi_tether_checkbox_text" msgid="796007268580464534">"Wi-Fi-Tethering"</string>
+    <string name="wifi_tether_enabled_subtext" msgid="6758080605207549918">"Zugriffspunkt <xliff:g id="NETWORK_SSID">%1$s</xliff:g> aktiv"</string>
+    <string name="wifi_tether_failed_subtext" msgid="4379214348183654280">"Wi-Fi-Tethering-Fehler"</string>
+    <string name="wifi_tether_settings_text" msgid="8831276059149506799">"Wi-Fi-Tethering-Einstellungen"</string>
+    <string name="wifi_tether_settings_subtext" msgid="3415164631321782704">"Zugriffspunkt festlegen &amp; verwalten"</string>
+    <string name="wifi_tether_settings_title" msgid="3233393750798545228">"Wi-Fi-Tethering-Einstellungen"</string>
+    <string name="wifi_tether_configure_ap_text" msgid="7849700175083202171">"Zugriffspunkt konfigurieren"</string>
+    <string name="wifi_tether_configure_subtext" msgid="54089556089657247">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> <xliff:g id="NETWORK_SECURITY">%2$s</xliff:g> Zugriffspunkt"</string>
+    <string name="wifi_tether_configure_ssid_default" msgid="4491822321218336928">"AndroidAP"</string>
+    <string name="sound_settings_title" msgid="8735891486683305886">"Sound"</string>
     <string name="display_settings_title" msgid="1708697328627382561">"Display"</string>
     <string name="sound_settings" msgid="5007659014828162881">"Toneinstellungen"</string>
     <string name="silent_mode_title" msgid="3181479108593217704">"Lautlosmodus"</string>
-    <string name="silent_mode_summary" msgid="3309650676072917899">"Alle Töne (außer für Medienwiedergabe &amp; Wecker) stummschalten"</string>
+    <string name="silent_mode_summary" msgid="3309650676072917899">"Alle Töne außer für Medien und Alarme stummschalten"</string>
     <string name="silent_mode_incl_alarm_summary" msgid="2088830834182228458">"Alle Sounds außer Medien sind stumm geschaltet"</string>
     <string name="ringtone_title" msgid="5379026328015343686">"Klingelton"</string>
-    <string name="ringtone_summary" msgid="2630023412632683493"></string>
+    <!-- no translation found for ringtone_summary (2630023412632683493) -->
+    <skip />
     <string name="all_volume_title" msgid="8741571721868253103">"Lautstärke"</string>
     <string name="ring_volume_title" msgid="7938706566797464165">"Klingeltonlautstärke"</string>
-    <string name="ring_volume_summary" msgid="7055497624193116879"></string>
+    <!-- no translation found for ring_volume_summary (7055497624193116879) -->
+    <skip />
     <string name="vibrate_in_silent_title" msgid="3897968069156767036">"Im Lautlosmodus vibrieren"</string>
     <string name="vibrate_in_silent_summary" msgid="3312600513070076281">"Vibration im Lautlosmodus zulassen"</string>
-    <string name="vibrate_title" msgid="6045820877942801599">"Vibration"</string>
-    <string name="vibrate_summary" msgid="7378130397830790458">"Vibration bei Anrufen und Benachrichtigungen"</string>
+    <!-- no translation found for vibrate_title (6045820877942801599) -->
+    <skip />
+    <!-- no translation found for vibrate_summary (7378130397830790458) -->
+    <skip />
     <string name="notification_sound_title" msgid="6316316069880531693">"Benachrichtigungston"</string>
-    <string name="notification_sound_summary" msgid="2953599929394109819"></string>
-    <string name="notification_pulse_title" msgid="1247988024534030629">"Benachrichtigungslicht"</string>
-    <string name="notification_pulse_summary" msgid="6899220780534617152">"Bei neuen Benachrichtigungen Trackball-Licht wiederholt pulsieren"</string>
+    <!-- no translation found for notification_sound_summary (2953599929394109819) -->
+    <skip />
+    <string name="notification_pulse_title" msgid="1247988024534030629">"Benachrichtigungslicht pulsieren"</string>
+    <string name="notification_pulse_summary" msgid="6899220780534617152">"Trackball-Licht bei neuen Benachrichtigungen wiederholt pulsieren"</string>
     <string name="incoming_call_volume_title" msgid="8073714801365904099">"Klingelton"</string>
     <string name="notification_volume_title" msgid="2012640760341080408">"Benachrichtigung"</string>
     <string name="checkbox_notification_same_as_incoming_call" msgid="1073644356290338921">"Lautstärke für eingehende Anrufe für Benachrichtigungen verwenden"</string>
@@ -425,11 +445,11 @@
     <string name="dtmf_tone_enable_summary_on" msgid="3028201873989887327">"Töne bei Telefonwahl"</string>
     <string name="dtmf_tone_enable_summary_off" msgid="7791065951268525678">"Töne bei Telefonwahl"</string>
     <string name="sound_effects_enable_title" msgid="3197313718929122833">"Akustische Auswahl"</string>
-    <string name="sound_effects_enable_summary_on" msgid="6154141289879491329">"Ton bei Auswahl auf Bildschirm"</string>
-    <string name="sound_effects_enable_summary_off" msgid="3447739581759560125">"Ton bei Auswahl auf Bildschirm"</string>
-    <string name="lock_sounds_enable_title" msgid="1575990840389107141">"Display-Sperre"</string>
-    <string name="lock_sounds_enable_summary_on" msgid="145741024028391473">"Ton beim Sperren und Entsperren des Bildschirms"</string>
-    <string name="lock_sounds_enable_summary_off" msgid="8481243116223542804">"Ton beim Sperren und Entsperren des Bildschirms"</string>
+    <string name="sound_effects_enable_summary_on" msgid="6154141289879491329">"Ton bei Auswahl auf Display"</string>
+    <string name="sound_effects_enable_summary_off" msgid="3447739581759560125">"Ton bei Auswahl auf Display"</string>
+    <string name="lock_sounds_enable_title" msgid="1575990840389107141">"Sounds bei Bildschirmsperre"</string>
+    <string name="lock_sounds_enable_summary_on" msgid="145741024028391473">"Beim Sperren und Entsperren des Bildschirms Sound abspielen"</string>
+    <string name="lock_sounds_enable_summary_off" msgid="8481243116223542804">"Beim Sperren und Entsperren des Bildschirms Sound abspielen"</string>
     <string name="haptic_feedback_enable_title" msgid="6311736559245411290">"Haptisches Feedback"</string>
     <string name="haptic_feedback_enable_summary_on" msgid="1875779656524793053">"Vibration beim Drücken von Softkeys und bei bestimmten UI-Interaktionen"</string>
     <string name="haptic_feedback_enable_summary_off" msgid="7287885436963105314">"Vibration beim Drücken von Softkeys und bei bestimmten UI-Interaktionen"</string>
@@ -444,18 +464,18 @@
     <string name="dock_audio_summary_unknown" msgid="4465059868974255693">"Einstellungen für angeschlossenen Dock"</string>
     <string name="dock_not_found_title" msgid="3290961741828952424">"Dock nicht gefunden"</string>
     <string name="dock_not_found_text" msgid="3035260358985111855">"Zur Konfiguration des Dock-Audios muss das Telefon angedockt sein."</string>
-    <string name="dock_sounds_enable_title" msgid="3659084028644948905">"Ton bei Dock-Anschluss"</string>
-    <string name="dock_sounds_enable_summary_on" msgid="8491180514199743771">"Beim Anschließen oder Trennen des Telefons vom Dock Ton abspielen"</string>
-    <string name="dock_sounds_enable_summary_off" msgid="3151046599205265919">"Beim Anschließen oder Trennen des Telefons vom Dock keinen Ton abspielen"</string>
-    <string name="sync_settings" msgid="9186125469300013491">"Konten&amp;Synchronisierung"</string>
+    <string name="dock_sounds_enable_title" msgid="3659084028644948905">"Sound bei Dock-Anschluss"</string>
+    <string name="dock_sounds_enable_summary_on" msgid="8491180514199743771">"Beim Anschließen oder Trennen des Telefons vom Dock Sound abspielen"</string>
+    <string name="dock_sounds_enable_summary_off" msgid="3151046599205265919">"Beim Anschließen oder Trennen des Telefons vom Dock keinen Sound abspielen"</string>
+    <string name="sync_settings" msgid="9186125469300013491">"Konten und Synchronisierung"</string>
     <string name="sync_settings_summary" msgid="2962179505214965667">"Konten hinzufügen und entfernen und Kontoeinstellungen ändern"</string>
-    <string name="search_settings" msgid="1910951467596035063">"Suche"</string>
+    <string name="search_settings" msgid="1910951467596035063">"Suchen"</string>
     <string name="search_settings_summary" msgid="9205656546570654169">"Sucheinstellungen und Suchverlauf verwalten"</string>
     <string name="display_settings" msgid="3912042046350078328">"Display-Einstellungen"</string>
     <string name="animations_title" msgid="1062189037402346023">"Animation"</string>
     <string name="animations_summary_on" msgid="8843613112130484436">"Animation beim Öffnen und Schließen von Fenstern anzeigen"</string>
     <string name="animations_summary_off" msgid="2777026828025551983">"Animation beim Öffnen und Schließen von Fenstern anzeigen"</string>
-    <string name="accelerometer_title" msgid="7854608399547349157">"Display autom. drehen"</string>
+    <string name="accelerometer_title" msgid="7854608399547349157">"Display automatisch drehen"</string>
     <string name="accelerometer_summary_on" msgid="1133737282813048021">"Ausrichtung beim Drehen des Telefons automatisch ändern"</string>
     <string name="accelerometer_summary_off" msgid="5485489363715740761">"Ausrichtung beim Drehen des Telefons automatisch ändern"</string>
     <string name="brightness" msgid="2354961343555249270">"Helligkeit"</string>
@@ -464,12 +484,12 @@
     <string name="screen_timeout_summary" msgid="2905757633140605334">"Verzögerung vor automatischer Bildschirmabschaltung anpassen"</string>
     <string name="automatic_brightness" msgid="5014143533884135461">"Automatische Helligkeit"</string>
     <string name="sim_lock_settings" msgid="3392331196873564292">"Einstellungen"</string>
-    <string name="sim_lock_settings_category" msgid="5136244267576697004">"SIM-Sperre einrichten"</string>
-    <string name="sim_lock_settings_title" msgid="9018585580955414596">"SIM-Kartensperre"</string>
+    <string name="sim_lock_settings_category" msgid="5136244267576697004">"SIM-Sperrung einrichten"</string>
+    <string name="sim_lock_settings_title" msgid="9018585580955414596">"SIM-Kartensperrung"</string>
     <string name="sim_pin_toggle" msgid="1742123478029451888">"SIM-Karte sperren"</string>
     <string name="sim_lock_on" msgid="2503536505568814324">"PIN zur Verwendung des Telefons erforderlich"</string>
     <string name="sim_lock_off" msgid="258981978215428916">"PIN zur Verwendung des Telefons erforderlich"</string>
-    <string name="sim_pin_change" msgid="6311414184279932368">"PIN ändern"</string>
+    <string name="sim_pin_change" msgid="6311414184279932368">"PIN der SIM-Karte ändern"</string>
     <string name="sim_enter_pin" msgid="6608715137008508432">"PIN für SIM-Karte"</string>
     <string name="sim_enable_sim_lock" msgid="4517742794997166918">"SIM-Karte sperren"</string>
     <string name="sim_disable_sim_lock" msgid="7664729528754784824">"SIM-Karte entsperren"</string>
@@ -481,12 +501,13 @@
     <string name="sim_pins_dont_match" msgid="4664611595579163214">"Die PINs stimmen nicht überein!"</string>
     <string name="sim_change_failed" msgid="4823538458798362222">"PIN kann nicht geändert werden."\n"Möglicherweise falsche PIN."</string>
     <string name="sim_change_succeeded" msgid="8556135413096489627">"SIM-PIN erfolgreich geändert"</string>
-    <string name="sim_lock_failed" msgid="6676748290838006404">"Status der SIM-Kartensperre kann nicht geändert werden."\n"Möglicherweise falsche PIN."</string>
+    <string name="sim_lock_failed" msgid="6676748290838006404">"Status der SIM-Kartensperrung kann nicht geändert werden."\n"Möglicherweise falsche PIN."</string>
     <string name="sim_enter_ok" msgid="6475946836899218919">"OK"</string>
     <string name="sim_enter_cancel" msgid="6240422158517208036">"Abbrechen"</string>
     <string name="device_info_settings" msgid="475872867864762157">"Telefonstatus"</string>
     <string name="system_update_settings_list_item_title" msgid="3342887311059985961">"Systemaktualisierungen"</string>
-    <string name="system_update_settings_list_item_summary" msgid="3853057315907710747"></string>
+    <!-- no translation found for system_update_settings_list_item_summary (3853057315907710747) -->
+    <skip />
     <string name="firmware_version" msgid="4801135784886859972">"Android-Version"</string>
     <string name="model_number" msgid="3765737700545384794">"Modellnummer"</string>
     <string name="baseband_version" msgid="1848990160763524801">"Baseband-Version"</string>
@@ -578,7 +599,7 @@
     <string name="master_clear_gesture_prompt" msgid="1428645764883536750">"Bitte zeichnen Sie Ihr Entsperrungsmuster."</string>
     <string name="master_clear_gesture_explanation" msgid="8901714274312707918">"Sie müssen Ihr Entsperrungsmuster eingeben, um das Zurücksetzen des Telefons zu bestätigen."</string>
     <string name="master_clear_failed" msgid="8655202125010189406">"Die Zurücksetzung konnte nicht durchgeführt werden, da der Service zur Systembereinigung nicht verfügbar ist."</string>
-    <string name="media_format_title" msgid="4671276096695789895">"SD-Karte formatieren"</string>
+    <string name="media_format_title" msgid="4671276096695789895">"SD-Karte formatieren."</string>
     <string name="media_format_summary" msgid="3805714639375830120">"Löscht alle Daten auf der SD-Karte"</string>
     <string name="media_format_desc" msgid="1142563222357820834">"Durch diese Aktion wird die SD-Karte im Telefon gelöscht. Sie verlieren dann ALLE Daten auf der Karte!"</string>
     <string name="media_format_button_text" msgid="370856400090190151">"SD-Karte formatieren"</string>
@@ -588,12 +609,9 @@
     <string name="media_format_gesture_explanation" msgid="4239529439389660159">"Sie müssen Ihr Entsperrungsmuster eingeben, um eine SD-Karten-Formatierung zu bestätigen."</string>
     <string name="call_settings_title" msgid="5188713413939232801">"Anrufeinstellungen"</string>
     <string name="call_settings_summary" msgid="7291195704801002886">"Mailbox, Rufweiterleitung, Anklopfen, Anruferkennung einrichten"</string>
-    <string name="tether_settings_title_usb" msgid="4315031513434087777">"Tethering"</string>
-    <string name="tether_settings_title_wifi" msgid="3277144155960302049">"Mobiler Hotspot"</string>
-    <string name="tether_settings_title_both" msgid="2734066355556891504">"Tethering &amp; mobiler Hotspot"</string>
-    <string name="tether_settings_summary_usb" msgid="3562431455625637370">"Mobile Datenverbindung Ihres Handys über USB freigeben"</string>
-    <string name="tether_settings_summary_wifi" msgid="4690912027002467246">"Mobile Verbindung Ihres Handys als mobilen WLAN-Hotspot freigeben"</string>
-    <string name="tether_settings_summary_both" msgid="7460063951190682635">"Mobile Datenverbindung Ihres Handys über USB oder als mobilen WLAN-Hotspot freigeben"</string>
+    <string name="tether_settings_title" msgid="8703982377504005349">"Tethering"</string>
+    <string name="tether_settings_summary" msgid="6679594629002850490">"Tethering einrichten &amp; verwalten"</string>
+    <string name="tether_screen_title" msgid="1521966915332491855">"Tethering-Einstellungen"</string>
     <string name="usb_title" msgid="7483344855356312510">"USB"</string>
     <string name="usb_tethering_button_text" msgid="585829947108007917">"USB-Tethering"</string>
     <string name="usb_tethering_available_subtext" msgid="156779271296152605">"USB verbunden; auf Tethering überprüfen"</string>
@@ -601,14 +619,14 @@
     <string name="usb_tethering_storage_active_subtext" msgid="6608933594288072573">"Tethering bei Verwendung des USB-Speichers nicht möglich"</string>
     <string name="usb_tethering_unavailable_subtext" msgid="1044622421184007254">"Keine USB-Verbindung"</string>
     <string name="usb_tethering_errored_subtext" msgid="1377574819427841992">"USB-Tethering-Fehler"</string>
-    <string name="tethering_help_button_text" msgid="656117495547173630">"Hilfe"</string>
+    <string name="tethering_help_button_text" msgid="7322604807045355030">"Hilfe zu Tethering"</string>
     <string name="network_settings_title" msgid="7967552516440151852">"Mobile Netzwerke"</string>
     <string name="network_settings_summary" msgid="5149750850846813553">"Optionen für Roaming, Netzwerke, APNs festlegen"</string>
     <string name="location_title" msgid="1029961368397484576">"Mein Standort"</string>
-    <string name="location_network_based" msgid="8815705866861993344">"Drahtlosnetzwerke"</string>
-    <string name="location_networks_disabled" msgid="2708968452901433980">"Standort über Drahtlosnetzwerke bestimmen (z. B. in Google Maps)"</string>
+    <string name="location_network_based" msgid="8815705866861993344">"Wireless nutzen"</string>
+    <string name="location_networks_disabled" msgid="2708968452901433980">"Standort über Drahtlosnetzwerke anzeigen (z.B. in Google Maps)"</string>
     <string name="location_neighborhood_level" msgid="4656658097932515921">"Standort bestimmt von WLAN und/oder mobilen Netzwerken"</string>
-    <string name="location_gps" msgid="6296125378829097831">"GPS-Satelliten"</string>
+    <string name="location_gps" msgid="6296125378829097831">"GPS-Sat. verwenden"</string>
     <string name="location_street_level" msgid="6460740847018275745">"Auf Straßenebene lokalisieren (deaktivieren, um Akku zu sparen)"</string>
     <string name="location_gps_disabled" msgid="6632537158777308128">"Auf Straßenebene lokalisieren (höherer Akkuverbrauch, im Freien)"</string>
     <string name="assisted_gps" msgid="4649317129586736885">"Unterstütztes GPS verwenden"</string>
@@ -744,22 +762,23 @@
     <string name="runningservices_settings_summary" msgid="854608995821032748">"Derzeit ausgeführte Dienste anzeigen und steuern"</string>
     <string name="service_restarting" msgid="2242747937372354306">"Neustart wird durchgeführt."</string>
     <string name="no_running_services" msgid="6981216347270280598">"Es werden keine Dienste ausgeführt."</string>
-    <string name="confirm_stop_service" msgid="5700448757318301681">"Dienst beenden?"</string>
-    <string name="confirm_stop_service_msg" msgid="1166661293369421272">"Der Dienst muss neu gestartet werden. Dies kann unerwünschte Auswirkungen auf die Anwendung \"<xliff:g id="APPLICATION">%1$s</xliff:g>\" haben."</string>
-    <string name="confirm_stop_stop" msgid="7382363913280993331">"Beenden"</string>
+    <string name="confirm_stop_service" msgid="5700448757318301681">"Dienst anhalten?"</string>
+    <string name="confirm_stop_service_msg" msgid="1166661293369421272">"Der Service muss neu gestartet werden. Dies kann unerwünschte Auswirkungen auf die <xliff:g id="APPLICATION">%1$s</xliff:g>-Anwendung haben."</string>
+    <string name="confirm_stop_stop" msgid="7382363913280993331">"Anhalten"</string>
     <string name="confirm_stop_cancel" msgid="206495326622692381">"Abbrechen"</string>
     <string name="service_started_by_app" msgid="8432097226392386802">"Gestartet: Zum Beenden berühren"</string>
     <string name="service_client_name" msgid="2337664610975074717">"<xliff:g id="CLIENT_NAME">%1$s</xliff:g>: Zum Verwalten berühren"</string>
     <string name="service_background_processes" msgid="5158600475629177758">"Verfügbar: <xliff:g id="FREE">%2$s</xliff:g>+<xliff:g id="MEMORY">%3$s</xliff:g> in <xliff:g id="COUNT">%1$d</xliff:g>"</string>
     <string name="service_foreground_processes" msgid="4013890350284680796">"Sonstige: <xliff:g id="MEMORY">%2$s</xliff:g> in <xliff:g id="COUNT">%1$d</xliff:g>"</string>
     <string name="service_process_name" msgid="8630408984456958400">"Prozess: <xliff:g id="PROCESS">%1$s</xliff:g>"</string>
-    <string name="language_settings" msgid="502219872342167227">"Sprache &amp; Tastatur"</string>
+    <string name="language_settings" msgid="502219872342167227">"Sprache und Tastatur"</string>
     <string name="language_keyboard_settings_title" msgid="3455826933385341107">"Einstellungen für Sprache &amp; Tastatur"</string>
     <string name="language_settings_summary" msgid="595647729475399987">"Optionen für Sprache und Region, Texteingabe und Autokorrektur festlegen"</string>
     <string name="language_category" msgid="3391756582724541530">"Ländereinstellung"</string>
     <string name="text_category" msgid="6342540511465136739">"Texteinstellungen"</string>
     <string name="phone_language" msgid="1165758957501090679">"Sprache auswählen"</string>
-    <string name="phone_language_summary" msgid="3871309445655554211"></string>
+    <!-- no translation found for phone_language_summary (3871309445655554211) -->
+    <skip />
     <string name="auto_replace" msgid="6199184757891937822">"Autom. Ersetzung"</string>
     <string name="auto_replace_summary" msgid="370288728200084466">"Tippfehler korrigieren"</string>
     <string name="auto_caps" msgid="581633131114124121">"Autom. Großschreibung"</string>
@@ -772,7 +791,8 @@
     <string name="ime_security_warning" msgid="812267421486877917">"Diese Eingabemethode kann den gesamten von Ihnen eingegebenen Text erfassen, einschließlich persönlicher Daten wie Passwörter und Kreditkartennummern. Sie ist Teil der Anwendung <xliff:g id="IME_APPLICATION_NAME">%1$s</xliff:g>. Möchten diese Eingabemethode verwenden?"</string>
     <string name="user_dict_settings_titlebar" msgid="765659257455000490">"Wörterbuch des Nutzers"</string>
     <string name="user_dict_settings_title" msgid="8357027437499042191">"Wörterbuch des Nutzers"</string>
-    <string name="user_dict_settings_summary" msgid="7965571192902870454"></string>
+    <!-- no translation found for user_dict_settings_summary (7965571192902870454) -->
+    <skip />
     <string name="user_dict_settings_add_menu_title" msgid="4056762757149923551">"Hinzufügen"</string>
     <string name="user_dict_settings_add_dialog_title" msgid="4702613990174126482">"Ins Wörterbuch"</string>
     <string name="user_dict_settings_edit_dialog_title" msgid="8967476444840548674">"Wort bearbeiten"</string>
@@ -787,7 +807,7 @@
     <string name="quick_launch_summary" msgid="3453825712466417452">"Tastenkombinationen zum Starten von Anwendungen festlegen"</string>
     <string name="quick_launch_assign_application" msgid="4521368464929956350">"Anwendung zuweisen"</string>
     <string name="quick_launch_no_shortcut" msgid="5998005833838278693">"Keine Tastenkombination"</string>
-    <string name="quick_launch_shortcut" msgid="5090405067413522300">"Suche + <xliff:g id="SHORTCUT_LETTER">%1$s</xliff:g>"</string>
+    <string name="quick_launch_shortcut" msgid="5090405067413522300">"Suchen + <xliff:g id="SHORTCUT_LETTER">%1$s</xliff:g>"</string>
     <string name="quick_launch_clear_dialog_title" msgid="5546543501250320220">"Löschen"</string>
     <string name="quick_launch_clear_dialog_message" msgid="3921015601470260722">"Die Verknüpfung für <xliff:g id="SHORTCUT_LETTER">%1$s</xliff:g> (<xliff:g id="APPLICATION_NAME">%2$s</xliff:g>) wird gelöscht."</string>
     <string name="quick_launch_clear_ok_button" msgid="2634568926597586716">"OK"</string>
@@ -804,7 +824,7 @@
     <string name="development_settings_summary" msgid="2151320488701538355">"Optionen zur Anwendungsentwicklung festlegen"</string>
     <string name="enable_adb" msgid="7982306934419797485">"USB-Debugging"</string>
     <string name="enable_adb_summary" msgid="4881186971746056635">"Debugmodus bei Anschluss eines USB-Geräts"</string>
-    <string name="keep_screen_on" msgid="1146389631208760344">"Aktiv lassen"</string>
+    <string name="keep_screen_on" msgid="1146389631208760344">"Aktiv bleiben"</string>
     <string name="keep_screen_on_summary" msgid="2173114350754293009">"Display wird beim Laden nie in den Ruhezustand versetzt"</string>
     <string name="allow_mock_location" msgid="2787962564578664888">"Falsche Standorte"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"Falsche Standorte zulassen"</string>
@@ -859,10 +879,10 @@
     <string name="accessibility_service_no_apps_title" msgid="898893674114288531">"Keine Eingabehilfen-Anwendungen gefunden"</string>
     <string name="accessibility_service_no_apps_message" msgid="2450056749545404807">"Es sind keine Eingabehilfen-Anwendungen installiert."\n\n"Sie können von Android Market einen Screenreader für Ihr Gerät herunterladen."\n\n"Klicken Sie auf \"OK\", um den Screenreader zu installieren."</string>
     <string name="accessibility_power_button_category" msgid="8545885236482339928">"Ein-/Austaste"</string>
-    <string name="accessibility_power_button_ends_call" msgid="7698764194501089533">"Ein/Aus beendet Anruf"</string>
+    <string name="accessibility_power_button_ends_call" msgid="7698764194501089533">"Mit Ein-/Austaste Anruf beenden"</string>
     <string name="accessibility_power_button_ends_call_summary" msgid="8878097632186291462">"Das Drücken der Ein-/Austaste während eines Anrufs beendet den Anruf (statt den Bildschirm auszuschalten)"</string>
     <string name="power_usage_summary_title" msgid="5180282911164282324">"Akkuverbrauch"</string>
-    <string name="power_usage_summary" msgid="7237084831082848168">"Was zum Akkuverbrauch beiträgt"</string>
+    <string name="power_usage_summary" msgid="7237084831082848168">"Akkuverbraucher"</string>
     <string name="battery_since_unplugged" msgid="338073389740738437">"Akkuverbrauch seit dem Ausstecken"</string>
     <string name="battery_since_reset" msgid="7464546661121187045">"Akkuverbrauch seit dem Zurücksetzen"</string>
     <string name="battery_stats_duration" msgid="7464501326709469282">"<xliff:g id="TIME">%1$s</xliff:g> seit dem Ausstecken"</string>
@@ -873,24 +893,24 @@
     <string name="bluetooth_on_time" msgid="4478515071957280711">"WLAN-Aktivzeit"</string>
     <string name="usage_name_percent" msgid="7976919382448235858">"<xliff:g id="NAME">%1$s</xliff:g> - <xliff:g id="NUMBER">%2$s</xliff:g><xliff:g id="PERCENT">%%</xliff:g>"</string>
     <string name="details_title" msgid="7564809986329021063">"Akkuverbrauch - Details"</string>
-    <string name="details_subtitle" msgid="32593908269911734">"Details"</string>
+    <string name="details_subtitle" msgid="32593908269911734">"Details verwenden"</string>
     <string name="controls_subtitle" msgid="390468421138288702">"Energieverbrauch anpassen"</string>
     <string name="packages_subtitle" msgid="4736416171658062768">"Enthaltene Pakete"</string>
     <string name="power_screen" msgid="2353149143338929583">"Display"</string>
     <string name="power_wifi" msgid="2382791137776486974">"WLAN"</string>
     <string name="power_bluetooth" msgid="4373329044379008289">"Bluetooth"</string>
-    <string name="power_cell" msgid="6596471490976003056">"Mobilfunk-Standby"</string>
+    <string name="power_cell" msgid="6596471490976003056">"Handy-Standby"</string>
     <string name="power_phone" msgid="5392641106474567277">"Anrufe"</string>
     <string name="power_idle" msgid="9055659695602194990">"Telefon inaktiv"</string>
     <string name="usage_type_cpu" msgid="715162150698338714">"CPU insgesamt"</string>
-    <string name="usage_type_cpu_foreground" msgid="6500579611933211831">"CPU Vordergrund"</string>
+    <string name="usage_type_cpu_foreground" msgid="6500579611933211831">"CPU-Vordergrund"</string>
     <string name="usage_type_gps" msgid="7989688715128160790">"GPS"</string>
     <string name="usage_type_phone" msgid="9108247984998041853">"Telefon"</string>
     <string name="usage_type_data_send" msgid="2857401966985425427">"Gesendete Daten"</string>
     <string name="usage_type_data_recv" msgid="7251090882025234185">"Empfangene Daten"</string>
     <string name="usage_type_audio" msgid="6957269406840886290">"Audio"</string>
     <string name="usage_type_video" msgid="4295357792078579944">"Video"</string>
-    <string name="usage_type_on_time" msgid="3351200096173733159">"Laufzeit"</string>
+    <string name="usage_type_on_time" msgid="3351200096173733159">"Aktiviert"</string>
     <string name="usage_type_no_coverage" msgid="3797004252954385053">"Zeit ohne Signal"</string>
     <string name="battery_action_stop" msgid="649958863744041872">"Stoppen erzwingen"</string>
     <string name="battery_action_app_details" msgid="3275013531871113681">"Anwendungsinfo"</string>
@@ -901,15 +921,15 @@
     <string name="battery_desc_voice" msgid="8980322055722959211">"Akkuverbrauch durch Anrufe"</string>
     <string name="battery_desc_standby" msgid="3009080001948091424">"Akkuverbrauch bei inaktivem Telefon"</string>
     <string name="battery_desc_radio" msgid="5479196477223185367">"Akkuverbrauch durch Mobilfunk"</string>
-    <string name="battery_sugg_radio" msgid="8211336978326295047">"Flugmodus zum Energiesparen in Gebieten ohne Mobilfunkabdeckung"</string>
+    <string name="battery_sugg_radio" msgid="8211336978326295047">"In den Flugmodus wechseln, um in Gebieten ohne Mobilfunkabdeckung Energie zu sparen"</string>
     <string name="battery_desc_display" msgid="5432795282958076557">"Akkuverbrauch durch Display und Beleuchtung"</string>
-    <string name="battery_sugg_display" msgid="3370202402045141760">"Display-Helligkeit und/oder Display-Timeout verringern"</string>
+    <string name="battery_sugg_display" msgid="3370202402045141760">"Bildschirmhelligkeit und/oder Bildschirm-Timeout verringern"</string>
     <string name="battery_desc_wifi" msgid="1702486494565080431">"Akkuverbrauch durch WLAN"</string>
     <string name="battery_sugg_wifi" msgid="7542345142282261691">"WLAN bei Nichtverwendung oder Nichtverfügbarkeit deaktivieren"</string>
     <string name="battery_desc_bluetooth" msgid="7535520658674621902">"Akkuverbrauch durch Bluetooth"</string>
     <string name="battery_sugg_bluetooth_basic" msgid="817276933922157788">"Bluetooth bei Nichtverwendung deaktivieren"</string>
     <string name="battery_sugg_bluetooth_headset" msgid="8214816222115517479">"Mit einem anderen Bluetooth-Gerät verbinden"</string>
-    <string name="battery_desc_apps" msgid="8123202939321333639">"Akkuverbrauch durch ausgeführte Anwendungen"</string>
+    <string name="battery_desc_apps" msgid="8123202939321333639">"Akkuverbrauch bei ausgeführten Anwendungen"</string>
     <string name="battery_sugg_apps_info" msgid="6065882899391322442">"Anwendung beenden oder deinstallieren"</string>
     <string name="battery_sugg_apps_gps" msgid="4145005297393800223">"GPS bei Nichtverwendung deaktivieren"</string>
     <string name="battery_sugg_apps_settings" msgid="8021302847272481168">"Die Anwendung bietet unter Umständen Einstellungen für einen geringeren Akkuverbrauch."</string>
@@ -926,7 +946,7 @@
     <string name="voice_input_category" msgid="1589318440824204736">"Spracheingabe"</string>
     <string name="voice_output_category" msgid="2624538587784986229">"Sprachausgabe"</string>
     <string name="recognizer_title" msgid="3231385184559054457">"Spracherkennung"</string>
-    <string name="recognizer_settings_title" msgid="6038598099039717232">"Spracherkennungseinstellungen"</string>
+    <string name="recognizer_settings_title" msgid="6038598099039717232">"Einstellungen für die Spracherkennung"</string>
     <string name="recognizer_settings_summary" msgid="4472287934134546902">"Einstellungen für \'<xliff:g id="RECOGNIZER_NAME">%s</xliff:g>\'"</string>
     <string name="tts_settings" msgid="8186971894801348327">"Text-in-Sprache-Einstellungen"</string>
     <string name="tts_settings_title" msgid="4182348653053000933">"Text-in-Sprache-Einstellungen"</string>
@@ -1044,8 +1064,7 @@
     <string name="vpn_secret_not_set" msgid="1037792636371641845">"(nicht festgelegt)"</string>
     <string name="credentials_category" msgid="8536992056377271234">"Anmeldeinformationsspeicher"</string>
     <string name="credentials_access" msgid="4843187230913860492">"Sichere Anmeldeinfos"</string>
-    <!-- unknown quoting pattern: original -1, translation 1 -->
-    <string name="credentials_access_summary" msgid="319662078718574168">"Anwendungen können sichere Zertifikate &amp;amp; Anmeldeinform. abrufen"</string>
+    <string name="credentials_access_summary" msgid="319662078718574168">"Anwendungen können sichere Zertifikate und Anmeldeinformationen abrufen."</string>
     <string name="credentials_unlock" msgid="1463040326264133844">"Passwort eingeben"</string>
     <string name="credentials_unlock_hint" msgid="594679530407918031">"Geben Sie das Passwort für den Anmeldeinformationsspeicher ein."</string>
     <string name="credentials_install_certificates" msgid="177337517568022236">"Von SD-Karte installieren"</string>
@@ -1066,15 +1085,28 @@
     <string name="credentials_passwords_empty" msgid="8647631321684363549">"Sie müssen ein Passwort eingeben und bestätigen."</string>
     <string name="credentials_password_empty" msgid="8292138152983330473">"Geben Sie das Passwort ein."</string>
     <string name="credentials_password_too_short" msgid="7502749986405522663">"Das Passwort muss mindestens acht Zeichen lang sein."</string>
-    <string name="credentials_erased" msgid="7700309135582200849">"Der Anmeldeinformationsspeicher wurde gelöscht."</string>
+    <string name="credentials_erased" msgid="7700309135582200849">"Der Speicher für die Anmeldeinformationen wurde gelöscht."</string>
     <string name="credentials_enabled" msgid="7588607413349978930">"Der Anmeldeinformationsspeicher ist aktiviert."</string>
     <string name="credentials_disabled" msgid="7453188089059045380">"Der Anmeldeinformationsspeicher ist deaktiviert."</string>
+    <string name="encrypted_fs_category" msgid="1841367653663913956">"Encrypted File System"</string>
+    <string name="encrypted_fs_enable" msgid="3884033081603327729">"Private Nutzerdaten verschlüsseln"</string>
+    <string name="encrypted_fs_enable_summary" msgid="5635188119509076089">"Encrypted File System-Speicherung für private Nutzerdaten auf diesem Gerät aktivieren"</string>
+    <string name="encrypted_fs_enable_dialog" msgid="919487211207214266">"Für das Aktivieren von Encrypted File Systems müssen die Gerätedaten zurückgesetzt werden."</string>
+    <string name="encrypted_fs_disable_dialog" msgid="6960413613985682501">"Für das Deaktivieren von Encrypted File Systems müssen die Gerätedaten zurückgesetzt werden."</string>
+    <string name="encrypted_fs_enable_button" msgid="8453841319751433751">"Aktivieren"</string>
+    <string name="encrypted_fs_disable_button" msgid="8468354944060220496">"Deaktivieren"</string>
+    <string name="encrypted_fs_cancel_button" msgid="4785921255266305799">"Abbrechen"</string>
+    <string name="encrypted_fs_cancel_confirm" msgid="853572431153803557">"Encrypted File Systems-Modusänderung abgebrochen"</string>
+    <string name="encrypted_fs_alert_dialog_title" msgid="583462447886934755">"Encrypted File Systems-Warnung"</string>
     <string name="emergency_tone_title" msgid="1055954530111587114">"Notfallsignal"</string>
     <string name="emergency_tone_summary" msgid="722259232924572153">"Verhalten bei einem Notruf festlegen"</string>
     <string name="privacy_settings" msgid="9206631214140954954">"Datenschutz"</string>
     <string name="privacy_settings_title" msgid="1987089301293213705">"Datenschutzeinstellungen"</string>
+    <string name="backup_section_title" msgid="717834414028702406">"Sicherung und Wiederherstellung"</string>
     <string name="personal_data_section_title" msgid="7815209034443782061">"Persönliche Daten"</string>
-    <string name="auto_restore_title" msgid="5397528966329126506">"Autom. Wiederherst."</string>
+    <string name="backup_settings_title" msgid="2968262658155327829">"Meine Einstellungen sichern"</string>
+    <string name="auto_restore_title" msgid="5397528966329126506">"Automatische Wiederherstellung"</string>
+    <string name="auto_restore_summary" msgid="2029683590724508019">"Anwendungsdaten nach Installation der Anwendungen aus Sicherung wiederherstellen"</string>
     <string name="backup_erase_dialog_title" msgid="3438255037256586237">"Sicherung"</string>
     <string name="backup_erase_dialog_message" msgid="2948090854996352245">"Möchten Sie wirklich die Sicherung Ihrer Einstellungen beenden und alle Kopien auf den Google-Servern löschen?"</string>
     <string name="device_admin_settings_title" msgid="1335557832906433309">"Einstellungen für die Geräteverwaltung"</string>
@@ -1088,8 +1120,12 @@
     <string name="device_admin_warning" msgid="1149471041373876923">"Die Aktivierung dieses Administrators ermöglicht der Anwendung <xliff:g id="APP_NAME">%1$s</xliff:g>, folgende Vorgänge auszuführen:"</string>
     <string name="device_admin_status" msgid="7169948053970923035">"Dieser Administrator ist aktiv und ermöglicht der Anwendung <xliff:g id="APP_NAME">%1$s</xliff:g>, folgende Vorgänge auszuführen:"</string>
     <string name="untitled_apn" msgid="1230060359198685513">"Unbenannt"</string>
-    <string name="sound_category_sound_title" msgid="1488759370067953996">"Allgemein"</string>
-    <string name="sound_category_calls_title" msgid="3688531959256239012">"Eingehende Anrufe"</string>
-    <string name="sound_category_notification_title" msgid="3502115998790286943">"Benachrichtigungen"</string>
-    <string name="sound_category_feedback_title" msgid="4399742321363475393">"Feedback"</string>
+    <!-- no translation found for sound_category_sound_title (1488759370067953996) -->
+    <skip />
+    <!-- no translation found for sound_category_calls_title (3688531959256239012) -->
+    <skip />
+    <!-- no translation found for sound_category_notification_title (3502115998790286943) -->
+    <skip />
+    <!-- no translation found for sound_category_feedback_title (4399742321363475393) -->
+    <skip />
 </resources>
diff --git a/res/values-el/arrays.xml b/res/values-el/arrays.xml
index 5ffc387..05de486 100644
--- a/res/values-el/arrays.xml
+++ b/res/values-el/arrays.xml
@@ -69,30 +69,8 @@
     <item msgid="5972100016440094433">"Ιταλικά"</item>
     <item msgid="5811378076054402537">"Ισπανικά"</item>
   </string-array>
-  <string-array name="wifi_status">
-    <item msgid="1922181315419294640"></item>
-    <item msgid="8934131797783724664">"Σάρωση..."</item>
-    <item msgid="8513729475867537913">"Σύνδεση..."</item>
-    <item msgid="515055375277271756">"Έλεγχος ταυτότητας..."</item>
-    <item msgid="1943354004029184381">"Λήψη διεύθυνσης IP…"</item>
-    <item msgid="4221763391123233270">"Συνδεδεμένο"</item>
-    <item msgid="624838831631122137">"Σε αναστολή"</item>
-    <item msgid="7979680559596111948">"Αποσύνδεση..."</item>
-    <item msgid="1634960474403853625">"Αποσυνδέθηκε"</item>
-    <item msgid="746097431216080650">"Ανεπιτυχής"</item>
-  </string-array>
-  <string-array name="wifi_status_with_ssid">
-    <item msgid="7714855332363650812"></item>
-    <item msgid="8878186979715711006">"Σάρωση..."</item>
-    <item msgid="355508996603873860">"Σύνδεση σε <xliff:g id="NETWORK_NAME">%1$s</xliff:g>..."</item>
-    <item msgid="554971459996405634">"Έλεγχος ταυτότητας με <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</item>
-    <item msgid="7928343808033020343">"Λήψη διεύθυνσης IP από <xliff:g id="NETWORK_NAME">%1$s</xliff:g>..."</item>
-    <item msgid="8937994881315223448">"Συνδεδεμένο σε <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</item>
-    <item msgid="1330262655415760617">"Σε αναστολή"</item>
-    <item msgid="7698638434317271902">"Αποσύνδεση από <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</item>
-    <item msgid="197508606402264311">"Αποσυνδέθηκε"</item>
-    <item msgid="8578370891960825148">"Ανεπιτυχής"</item>
-  </string-array>
+    <!-- no translation found for wifi_status:0 (1922181315419294640) -->
+    <!-- no translation found for wifi_status_with_ssid:0 (7714855332363650812) -->
   <string-array name="wifi_security">
     <item msgid="1435933968767043814">"Άνοιγμα"</item>
     <item msgid="6318432659048829665">"WEP"</item>
@@ -161,10 +139,7 @@
     <item msgid="3738430123799803530">"Αφαιρούμενη κάρτα SD"</item>
     <item msgid="4498124044785815005">"Να αποφασίζει το σύστημα"</item>
   </string-array>
-  <string-array name="vibrate_entries">
-    <item msgid="3388952299521009213">"Πάντα"</item>
-    <item msgid="6293147072807231256">"Ποτέ"</item>
-    <item msgid="1276641209451816572">"Μόνο στην αθόρυβη λειτουργία"</item>
-    <item msgid="8418930333779132418">"Μόνο όταν δεν είναι ενεργή η αθόρυβη λειτουργία"</item>
-  </string-array>
+    <!-- no translation found for vibrate_entries:1 (6293147072807231256) -->
+    <!-- no translation found for vibrate_entries:2 (1276641209451816572) -->
+    <!-- no translation found for vibrate_entries:3 (8418930333779132418) -->
 </resources>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index f48f1a1..2191925 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -99,7 +99,8 @@
     <string name="bluetooth_disconnected" msgid="6557104142667339895">"Αποσυνδέθηκε"</string>
     <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Αποσύνδεση..."</string>
     <string name="bluetooth_connecting" msgid="8555009514614320497">"Σύνδεση..."</string>
-    <string name="bluetooth_unknown" msgid="644716244548801421"></string>
+    <!-- no translation found for bluetooth_unknown (644716244548801421) -->
+    <skip />
     <string name="bluetooth_not_connected" msgid="3389882907500605937">"Σύζευξη με αυτή τη συσκευή"</string>
     <string name="bluetooth_pairing" msgid="1426882272690346242">"Σύζευξη..."</string>
     <string name="bluetooth_paired" msgid="1247541089000057726">"Συζευγμένα αλλά όχι συνδεδεμένα"</string>
@@ -235,20 +236,34 @@
     <string name="security_settings_summary" msgid="967393342537986570">"Ορισμός του \"Η τοποθεσία μου\", ξεκλειδώματος οθόνης, κλειδώματος κάρτας SIM, κλειδώματος αποθηκευτικού χώρου διαπιστευτηρίων"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Ορισμός του \"Η τοποθεσία μου\", του ξεκλειδώματος οθόνης και του κλειδώματος αποθηκευτικού χώρου διαπιστευτηρίων"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"Κωδικοί πρόσβασης"</string>
-    <string name="lock_settings_picker_title" msgid="3973555216065628262">"Ασφάλεια ξεκλειδώματος οθόνης"</string>
-    <string name="unlock_set_unlock_launch_picker_title" msgid="1129684221223017902">"Ρύθμιση κλειδώματος οθόνης"</string>
-    <string name="unlock_set_unlock_launch_picker_summary" msgid="1667332113134720845">"Κλειδώστε την οθόνη με ένα μοτίβο, ένα PIN ή έναν κωδικό πρόσβασης"</string>
-    <string name="unlock_set_unlock_launch_picker_change_title" msgid="6987228635944678726">"Αλλαγή του κλειδώματος οθόνης"</string>
-    <string name="unlock_set_unlock_launch_picker_change_summary" msgid="2790960639554590668">"Αλλαγή ή απενεργοποίηση ασφάλειας μοτίβου, PIN ή κωδικού πρόσβασης"</string>
-    <string name="unlock_set_unlock_none_title" msgid="3760684669884671990">"Καμία"</string>
-    <string name="unlock_set_unlock_none_summary" msgid="2658550480388272618">"Απενεργοποίηση της ασφάλειας ξεκλειδώματος οθόνης"</string>
-    <string name="unlock_set_unlock_pattern_title" msgid="2912067603917311700">"Μοτίβο"</string>
-    <string name="unlock_set_unlock_pattern_summary" msgid="3018395214738645405">"Σχεδιάστε το μοτίβο για να ξεκλειδώσετε την οθόνη"</string>
-    <string name="unlock_set_unlock_pin_title" msgid="5846029709462329515">"Αριθμός PIN"</string>
-    <string name="unlock_set_unlock_pin_summary" msgid="4131169672844263316">"Εισαγάγετε ένα αριθμητικό PIN για να ξεκλειδώσετε την οθόνη"</string>
-    <string name="unlock_set_unlock_password_title" msgid="8775603825675090937">"Κωδικός πρόσβασης"</string>
-    <string name="unlock_set_unlock_password_summary" msgid="4623254789833899286">"Εισαγάγετε έναν κωδικό πρόσβασης για να ξεκλειδώσετε την οθόνη"</string>
-    <string name="unlock_set_unlock_disabled_summary" msgid="736557879526940324">"Απενεργοποιήθηκε από το διαχειριστή του απομακρυσμένου τηλεφώνου"</string>
+    <!-- no translation found for lock_settings_picker_title (3973555216065628262) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_launch_picker_title (1129684221223017902) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_launch_picker_summary (1667332113134720845) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_launch_picker_change_title (6987228635944678726) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_launch_picker_change_summary (2790960639554590668) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_none_title (3760684669884671990) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_none_summary (2658550480388272618) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_pattern_title (2912067603917311700) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_pattern_summary (3018395214738645405) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_pin_title (5846029709462329515) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_pin_summary (4131169672844263316) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_password_title (8775603825675090937) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_password_summary (4623254789833899286) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_disabled_summary (736557879526940324) -->
+    <skip />
     <string name="unlock_disable_lock_title" msgid="1427036227416979120">"Απενεργοποίηση κλειδώματος οθόνης"</string>
     <string name="unlock_disable_lock_pattern_summary" msgid="6801602880568869201">"Κατάργηση μοτίβου ξεκλειδώματος"</string>
     <string name="unlock_disable_lock_pin_summary" msgid="8856842745366993387">"Κατάργηση αριθμού PIN ξεκλειδώματος"</string>
@@ -385,15 +400,15 @@
     <string name="wifi_dns2" msgid="1368601006824882659">"DNS 2"</string>
     <string name="wifi_gateway" msgid="163914742461092086">"Πύλη"</string>
     <string name="wifi_netmask" msgid="4520635321425529085">"Μάσκα δικτύου"</string>
-    <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"Φορητό σημείο πρόσβασης Wi-Fi"</string>
-    <string name="wifi_tether_enabled_subtext" msgid="8948641212931906143">"Το φορητό σημείο πρόσβασης <xliff:g id="NETWORK_SSID">%1$s</xliff:g> είναι ενεργό"</string>
-    <string name="wifi_tether_failed_subtext" msgid="2654888578056042315">"Σφάλμα φορητού σημείου πρόσβασης Wi-Fi"</string>
-    <string name="wifi_tether_settings_text" msgid="123573487844470195">"Ρυθμίσεις φορητού σημείου πρόσβασης Wi-Fi"</string>
-    <string name="wifi_tether_settings_subtext" msgid="8064755682383367008">"Ρύθμιση και διαχείριση φορητού σημείου πρόσβασης Wi-Fi"</string>
-    <string name="wifi_tether_settings_title" msgid="3749063216348284432">"Ρυθμίσεις φορητού σημείου πρόσβασης Wi-Fi"</string>
-    <string name="wifi_tether_configure_ap_text" msgid="3474995108398156258">"Διαμόρφωση σημείου πρόσβασης Wi-Fi"</string>
-    <string name="wifi_tether_configure_subtext" msgid="1927454307836232128">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> <xliff:g id="NETWORK_SECURITY">%2$s</xliff:g> φορητό σημείο πρόσβασης Wi-Fi"</string>
-    <string name="wifi_tether_configure_ssid_default" msgid="8467525402622138547">"AndroidHotspot"</string>
+    <string name="wifi_tether_checkbox_text" msgid="796007268580464534">"Σύνδεση μέσω κινητής συσκευής με Wi-Fi"</string>
+    <string name="wifi_tether_enabled_subtext" msgid="6758080605207549918">"Σημείο πρόσβασης <xliff:g id="NETWORK_SSID">%1$s</xliff:g> ενεργό"</string>
+    <string name="wifi_tether_failed_subtext" msgid="4379214348183654280">"Σφάλμα της σύνδεσης μέσω κινητής συσκευής με Wi-Fi"</string>
+    <string name="wifi_tether_settings_text" msgid="8831276059149506799">"Ρυθμίσεις σύνδεσης μέσω κινητής συσκευής με Wi-Fi"</string>
+    <string name="wifi_tether_settings_subtext" msgid="3415164631321782704">"Ρύθμιση &amp; διαχείριση σημείου πρόσβασης"</string>
+    <string name="wifi_tether_settings_title" msgid="3233393750798545228">"Ρυθμίσεις σύνδεσης μέσω κινητής συσκευής με Wi-Fi"</string>
+    <string name="wifi_tether_configure_ap_text" msgid="7849700175083202171">"Διαμόρφωση σημείου πρόσβασης"</string>
+    <string name="wifi_tether_configure_subtext" msgid="54089556089657247">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> <xliff:g id="NETWORK_SECURITY">%2$s</xliff:g> σημείο πρόσβασης"</string>
+    <string name="wifi_tether_configure_ssid_default" msgid="4491822321218336928">"AndroidAP"</string>
     <string name="sound_settings_title" msgid="8735891486683305886">"Ήχος"</string>
     <string name="display_settings_title" msgid="1708697328627382561">"Προβολή"</string>
     <string name="sound_settings" msgid="5007659014828162881">"Ρυθμίσεις ήχου"</string>
@@ -401,16 +416,21 @@
     <string name="silent_mode_summary" msgid="3309650676072917899">"Σίγαση όλων των ήχων εκτός από τα μέσα και τις ειδοποιήσεις"</string>
     <string name="silent_mode_incl_alarm_summary" msgid="2088830834182228458">"Όλοι οι ήχοι εκτός από τους ήχους πολυμέσων έχουν σιγασθεί"</string>
     <string name="ringtone_title" msgid="5379026328015343686">"Ήχος κλήσης τηλεφώνου"</string>
-    <string name="ringtone_summary" msgid="2630023412632683493"></string>
+    <!-- no translation found for ringtone_summary (2630023412632683493) -->
+    <skip />
     <string name="all_volume_title" msgid="8741571721868253103">"Ένταση ήχου"</string>
     <string name="ring_volume_title" msgid="7938706566797464165">"Ένταση ειδοποίησης ήχου"</string>
-    <string name="ring_volume_summary" msgid="7055497624193116879"></string>
+    <!-- no translation found for ring_volume_summary (7055497624193116879) -->
+    <skip />
     <string name="vibrate_in_silent_title" msgid="3897968069156767036">"Δόνηση στο αθόρυβο"</string>
     <string name="vibrate_in_silent_summary" msgid="3312600513070076281">"Να επιτρέπεται η ανάδραση με δόνηση στην αθόρυβη λειτουργία"</string>
-    <string name="vibrate_title" msgid="6045820877942801599">"Δόνηση"</string>
-    <string name="vibrate_summary" msgid="7378130397830790458">"Ανάδραση με δόνηση για κλήσεις και ειδοποιήσεις"</string>
+    <!-- no translation found for vibrate_title (6045820877942801599) -->
+    <skip />
+    <!-- no translation found for vibrate_summary (7378130397830790458) -->
+    <skip />
     <string name="notification_sound_title" msgid="6316316069880531693">"Ήχος κλήσης ειδοποίησης"</string>
-    <string name="notification_sound_summary" msgid="2953599929394109819"></string>
+    <!-- no translation found for notification_sound_summary (2953599929394109819) -->
+    <skip />
     <string name="notification_pulse_title" msgid="1247988024534030629">"Φωτεινός παλμός ειδοποίησης"</string>
     <string name="notification_pulse_summary" msgid="6899220780534617152">"Επαναλαμβανόμενος παλμός φωτεινής ένδειξης του trackball για νέες ειδοποιήσεις"</string>
     <string name="incoming_call_volume_title" msgid="8073714801365904099">"Ήχος κλήσης"</string>
@@ -486,7 +506,8 @@
     <string name="sim_enter_cancel" msgid="6240422158517208036">"Ακύρωση"</string>
     <string name="device_info_settings" msgid="475872867864762157">"Κατάσταση τηλεφώνου"</string>
     <string name="system_update_settings_list_item_title" msgid="3342887311059985961">"Ενημερώσεις συστήματος"</string>
-    <string name="system_update_settings_list_item_summary" msgid="3853057315907710747"></string>
+    <!-- no translation found for system_update_settings_list_item_summary (3853057315907710747) -->
+    <skip />
     <string name="firmware_version" msgid="4801135784886859972">"Έκδοση Android"</string>
     <string name="model_number" msgid="3765737700545384794">"Αριθμός μοντέλου"</string>
     <string name="baseband_version" msgid="1848990160763524801">"Έκδοση βασικού φάσματος"</string>
@@ -588,12 +609,9 @@
     <string name="media_format_gesture_explanation" msgid="4239529439389660159">"Πρέπει να σχεδιάσετε το μοτίβο ξεκλειδώματος για επιβεβαίωση διαμόρφωσης μιας κάρτας SD."</string>
     <string name="call_settings_title" msgid="5188713413939232801">"Ρυθμίσεις κλήσης"</string>
     <string name="call_settings_summary" msgid="7291195704801002886">"Ορισμ.αυτόμ.τηλεφ., προώθ.κλήσης, αναμ.κλήσης, αναγν.κλήσ."</string>
-    <string name="tether_settings_title_usb" msgid="4315031513434087777">"Tethering"</string>
-    <string name="tether_settings_title_wifi" msgid="3277144155960302049">"Φορητό σημείο πρόσβασης"</string>
-    <string name="tether_settings_title_both" msgid="2734066355556891504">"Tethering και φορητό σημείο πρόσβασης"</string>
-    <string name="tether_settings_summary_usb" msgid="3562431455625637370">"Μοιραστείτε τη σύνδεση δεδομένων του κινητού σας τηλεφώνου μέσω USB"</string>
-    <string name="tether_settings_summary_wifi" msgid="4690912027002467246">"Μοιραστείτε τη σύνδεση του κινητού σας τηλεφώνου ως φορητό σημείο πρόσβασης Wi-Fi"</string>
-    <string name="tether_settings_summary_both" msgid="7460063951190682635">"Μοιραστείτε τη σύνδεση δεδομένων του κινητού σας τηλεφώνου μέσω USB ή ως φορητό σημείο πρόσβασης Wi-Fi"</string>
+    <string name="tether_settings_title" msgid="8703982377504005349">"Σύνδεση μέσω κινητής συσκευής"</string>
+    <string name="tether_settings_summary" msgid="6679594629002850490">"Ρύθμιση και διαχείριση σύνδεσης μέσω κινητής συσκευής"</string>
+    <string name="tether_screen_title" msgid="1521966915332491855">"Ρυθμίσεις σύνδεσης μέσω κινητής συσκευής"</string>
     <string name="usb_title" msgid="7483344855356312510">"USB"</string>
     <string name="usb_tethering_button_text" msgid="585829947108007917">"Σύνδεση μέσω κινητής συσκευής με USB"</string>
     <string name="usb_tethering_available_subtext" msgid="156779271296152605">"To USB είναι συνδεδεμένο, επιλέξτε για σύνδεση μέσω κινητής συσκευής"</string>
@@ -601,7 +619,7 @@
     <string name="usb_tethering_storage_active_subtext" msgid="6608933594288072573">"Δεν είναι δυνατή η σύνδεση μέσω κινητής συσκευής όταν ο αποθηκευτικός χώρος USB χρησιμοποιείται"</string>
     <string name="usb_tethering_unavailable_subtext" msgid="1044622421184007254">"Το USB δεν συνδέθηκε"</string>
     <string name="usb_tethering_errored_subtext" msgid="1377574819427841992">"Σφάλμα της σύνδεσης μέσω κινητής συσκευής με USB"</string>
-    <string name="tethering_help_button_text" msgid="656117495547173630">"Βοήθεια"</string>
+    <string name="tethering_help_button_text" msgid="7322604807045355030">"Βοήθεια για τη σύνδεση μέσω κινητής συσκευής"</string>
     <string name="network_settings_title" msgid="7967552516440151852">"Δίκτυα κινητής τηλεφωνίας"</string>
     <string name="network_settings_summary" msgid="5149750850846813553">"Ορισμός επιλογών για περιαγωγή, δίκτυα, APN"</string>
     <string name="location_title" msgid="1029961368397484576">"Η τοποθεσία μου"</string>
@@ -759,7 +777,8 @@
     <string name="language_category" msgid="3391756582724541530">"Τοπικές ρυθμίσεις"</string>
     <string name="text_category" msgid="6342540511465136739">"Ρυθμίσεις κειμένου"</string>
     <string name="phone_language" msgid="1165758957501090679">"Επιλογή γλώσσας"</string>
-    <string name="phone_language_summary" msgid="3871309445655554211"></string>
+    <!-- no translation found for phone_language_summary (3871309445655554211) -->
+    <skip />
     <string name="auto_replace" msgid="6199184757891937822">"Αυτόματη αντικατάσταση"</string>
     <string name="auto_replace_summary" msgid="370288728200084466">"Διόρθωση εσφαλμένα πληκτρολογημένων λέξεων"</string>
     <string name="auto_caps" msgid="581633131114124121">"Αυτόματη χρήση κεφαλαίων"</string>
@@ -772,7 +791,8 @@
     <string name="ime_security_warning" msgid="812267421486877917">"Η μέθοδος εισόδου ενδέχεται να έχει τη δυνατότητα συλλογής όλων των κειμένων που πληκτρολογείτε, συμπεριλαμβανομένων προσωπικών δεδομένων όπως κωδικοί πρόσβασης και αριθμοί πιστωτικής κάρτας. Προέρχεται από την εφαρμογή <xliff:g id="IME_APPLICATION_NAME">%1$s</xliff:g>. Να γίνει χρήση αυτής της μεθόδου εισόδου;"</string>
     <string name="user_dict_settings_titlebar" msgid="765659257455000490">"Λεξικό χρήστη"</string>
     <string name="user_dict_settings_title" msgid="8357027437499042191">"Λεξικό χρήστη"</string>
-    <string name="user_dict_settings_summary" msgid="7965571192902870454"></string>
+    <!-- no translation found for user_dict_settings_summary (7965571192902870454) -->
+    <skip />
     <string name="user_dict_settings_add_menu_title" msgid="4056762757149923551">"Προσθήκη"</string>
     <string name="user_dict_settings_add_dialog_title" msgid="4702613990174126482">"Προσθήκη στο λεξικό"</string>
     <string name="user_dict_settings_edit_dialog_title" msgid="8967476444840548674">"Επεξεργασία λέξης"</string>
@@ -1068,12 +1088,25 @@
     <string name="credentials_erased" msgid="7700309135582200849">"Αυτός ο χώρος αποθήκευσης διαπιστευτηρίων διαγράφτηκε."</string>
     <string name="credentials_enabled" msgid="7588607413349978930">"Ο χώρος αποθήκευσης διαπιστευτηρίων ενεργοποιήθηκε."</string>
     <string name="credentials_disabled" msgid="7453188089059045380">"Ο χώρος αποθήκευσης διαπιστευτηρίων απενεργοποιήθηκε."</string>
+    <string name="encrypted_fs_category" msgid="1841367653663913956">"Κρυπτογραφημένο σύστημα αρχείων"</string>
+    <string name="encrypted_fs_enable" msgid="3884033081603327729">"Κρυπτογράφηση ιδιωτικών δεδομένων χρήστη"</string>
+    <string name="encrypted_fs_enable_summary" msgid="5635188119509076089">"Ενεργοποίηση αποθήκευσης κρυπτογραφημένου συστήματος αρχείων για ιδιωτικά δεδομένα χρήστη σε αυτήν τη συσκευή"</string>
+    <string name="encrypted_fs_enable_dialog" msgid="919487211207214266">"Για την ενεργοποίηση των κρυπτογραφημένων συστημάτων αρχείων απαιτείται σβήσιμο των δεδομένων συσκευής."</string>
+    <string name="encrypted_fs_disable_dialog" msgid="6960413613985682501">"Για την απενεργοποίηση των κρυπτογραφημένων συστημάτων αρχείων απαιτείται σβήσιμο των δεδομένων συσκευής."</string>
+    <string name="encrypted_fs_enable_button" msgid="8453841319751433751">"Ενεργοποίηση"</string>
+    <string name="encrypted_fs_disable_button" msgid="8468354944060220496">"Απενεργοποίηση"</string>
+    <string name="encrypted_fs_cancel_button" msgid="4785921255266305799">"Ακύρωση"</string>
+    <string name="encrypted_fs_cancel_confirm" msgid="853572431153803557">"Η αλλαγή λειτουργίας κρυπτογραφημένων συστημάτων αρχείων ακυρώθηκε."</string>
+    <string name="encrypted_fs_alert_dialog_title" msgid="583462447886934755">"Προειδοποίηση κρυπτογραφημένων συστημάτων αρχείων."</string>
     <string name="emergency_tone_title" msgid="1055954530111587114">"Τόνος επείγουσας ανάγκης"</string>
     <string name="emergency_tone_summary" msgid="722259232924572153">"Ορισμός συμπεριφοράς κατά την πραγματοποίηση κλήσης επείγουσας ανάγκης"</string>
     <string name="privacy_settings" msgid="9206631214140954954">"Απόρρητο"</string>
     <string name="privacy_settings_title" msgid="1987089301293213705">"Ρυθμίσεις απορρήτου"</string>
+    <string name="backup_section_title" msgid="717834414028702406">"Δημιουργία αντιγράφου ασφαλείας και επαναφορά"</string>
     <string name="personal_data_section_title" msgid="7815209034443782061">"Προσωπικά δεδομένα"</string>
+    <string name="backup_settings_title" msgid="2968262658155327829">"Δημιουργία αντιγράφων ασφαλείας για τις ρυθμίσεις μου"</string>
     <string name="auto_restore_title" msgid="5397528966329126506">"Αυτόματη επαναφορά"</string>
+    <string name="auto_restore_summary" msgid="2029683590724508019">"Επαναφορά δεδομένων εφαρμογών από τα αντίγραφα ασφαλείας όταν είναι εγκατεστημένα"</string>
     <string name="backup_erase_dialog_title" msgid="3438255037256586237">"Αντίγραφο ασφαλείας"</string>
     <string name="backup_erase_dialog_message" msgid="2948090854996352245">"Είστε βέβαιοι ότι θέλετε να διακόψετε τη δημιουργία αντιγράφων ασφαλείας των ρυθμίσεων και των δεδομένων εφαρμογών σας και να διαγράψετε όλα τα αντίγραφα από τους διακομιστές της Google;"</string>
     <string name="device_admin_settings_title" msgid="1335557832906433309">"Ρυθμίσεις διαχείρισης συσκευής"</string>
@@ -1087,8 +1120,12 @@
     <string name="device_admin_warning" msgid="1149471041373876923">"Η ενεργοποίηση αυτού του διαχειριστή θα επιτρέψει στην εφαρμογή <xliff:g id="APP_NAME">%1$s</xliff:g> να εκτελέσει τις ακόλουθες λειτουργίες:"</string>
     <string name="device_admin_status" msgid="7169948053970923035">"Αυτός ο διαχειριστής είναι ενεργός και επιτρέπει στην εφαρμογή <xliff:g id="APP_NAME">%1$s</xliff:g> να εκτελέσει τις ακόλουθες λειτουργίες:"</string>
     <string name="untitled_apn" msgid="1230060359198685513">"Χωρίς τίτλο"</string>
-    <string name="sound_category_sound_title" msgid="1488759370067953996">"Γενικές"</string>
-    <string name="sound_category_calls_title" msgid="3688531959256239012">"Εισερχόμενες κλήσεις"</string>
-    <string name="sound_category_notification_title" msgid="3502115998790286943">"Ειδοποιήσεις"</string>
-    <string name="sound_category_feedback_title" msgid="4399742321363475393">"Σχόλια"</string>
+    <!-- no translation found for sound_category_sound_title (1488759370067953996) -->
+    <skip />
+    <!-- no translation found for sound_category_calls_title (3688531959256239012) -->
+    <skip />
+    <!-- no translation found for sound_category_notification_title (3502115998790286943) -->
+    <skip />
+    <!-- no translation found for sound_category_feedback_title (4399742321363475393) -->
+    <skip />
 </resources>
diff --git a/res/values-es-rUS/arrays.xml b/res/values-es-rUS/arrays.xml
index 099f3fc..b1985b2 100644
--- a/res/values-es-rUS/arrays.xml
+++ b/res/values-es-rUS/arrays.xml
@@ -69,32 +69,10 @@
     <item msgid="5972100016440094433">"Italiano"</item>
     <item msgid="5811378076054402537">"Español"</item>
   </string-array>
-  <string-array name="wifi_status">
-    <item msgid="1922181315419294640"></item>
-    <item msgid="8934131797783724664">"Explorando..."</item>
-    <item msgid="8513729475867537913">"Conectando…"</item>
-    <item msgid="515055375277271756">"Autenticando…"</item>
-    <item msgid="1943354004029184381">"Obteniendo la dirección IP…"</item>
-    <item msgid="4221763391123233270">"Conectado"</item>
-    <item msgid="624838831631122137">"Suspendido"</item>
-    <item msgid="7979680559596111948">"Desconectando…"</item>
-    <item msgid="1634960474403853625">"Desconectado"</item>
-    <item msgid="746097431216080650">"Incorrecto"</item>
-  </string-array>
-  <string-array name="wifi_status_with_ssid">
-    <item msgid="7714855332363650812"></item>
-    <item msgid="8878186979715711006">"Explorando..."</item>
-    <item msgid="355508996603873860">"Conectando a <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</item>
-    <item msgid="554971459996405634">"Autenticando con <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</item>
-    <item msgid="7928343808033020343">"Obteniendo dirección IP de <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</item>
-    <item msgid="8937994881315223448">"Conectado a <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</item>
-    <item msgid="1330262655415760617">"Suspendido"</item>
-    <item msgid="7698638434317271902">"Desconectando de <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</item>
-    <item msgid="197508606402264311">"Desconectado"</item>
-    <item msgid="8578370891960825148">"Incorrecto"</item>
-  </string-array>
+    <!-- no translation found for wifi_status:0 (1922181315419294640) -->
+    <!-- no translation found for wifi_status_with_ssid:0 (7714855332363650812) -->
   <string-array name="wifi_security">
-    <item msgid="1435933968767043814">"Abierta"</item>
+    <item msgid="1435933968767043814">"Abrir"</item>
     <item msgid="6318432659048829665">"WEP"</item>
     <item msgid="2966395706508338179">"WPA/WPA2 PSK"</item>
     <item msgid="9098390198768443435">"802.1x EAP"</item>
@@ -161,10 +139,7 @@
     <item msgid="3738430123799803530">"Tarjeta SD desmontable"</item>
     <item msgid="4498124044785815005">"Dejar que el sistema decida"</item>
   </string-array>
-  <string-array name="vibrate_entries">
-    <item msgid="3388952299521009213">"Siempre"</item>
-    <item msgid="6293147072807231256">"Nunca"</item>
-    <item msgid="1276641209451816572">"Sólo en modo silencioso"</item>
-    <item msgid="8418930333779132418">"Sólo cuando no esté en modo silencioso."</item>
-  </string-array>
+    <!-- no translation found for vibrate_entries:1 (6293147072807231256) -->
+    <!-- no translation found for vibrate_entries:2 (1276641209451816572) -->
+    <!-- no translation found for vibrate_entries:3 (8418930333779132418) -->
 </resources>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index 99f6569..f6119da 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -99,7 +99,8 @@
     <string name="bluetooth_disconnected" msgid="6557104142667339895">"Desconectado"</string>
     <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Desconectando…"</string>
     <string name="bluetooth_connecting" msgid="8555009514614320497">"Conectando…"</string>
-    <string name="bluetooth_unknown" msgid="644716244548801421"></string>
+    <!-- no translation found for bluetooth_unknown (644716244548801421) -->
+    <skip />
     <string name="bluetooth_not_connected" msgid="3389882907500605937">"Vincular con este dispositivo"</string>
     <string name="bluetooth_pairing" msgid="1426882272690346242">"Vinculando..."</string>
     <string name="bluetooth_paired" msgid="1247541089000057726">"Vinculado pero no conectado"</string>
@@ -235,20 +236,34 @@
     <string name="security_settings_summary" msgid="967393342537986570">"Establecer Mi ubicación, desbloqueo de pantalla, bloqueo de la tarjeta SIM, bloqueo de almacenamiento de la credencial"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Establecer Mi ubicación, desbloqueo de pantalla, bloqueo de almacenamiento de credencial"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"Contraseñas"</string>
-    <string name="lock_settings_picker_title" msgid="3973555216065628262">"Seguridad de desbloqueo de la pantalla"</string>
-    <string name="unlock_set_unlock_launch_picker_title" msgid="1129684221223017902">"Configurar bloqueo de pantalla"</string>
-    <string name="unlock_set_unlock_launch_picker_summary" msgid="1667332113134720845">"Bloquea la pantalla con un patrón, PIN o una contraseña."</string>
-    <string name="unlock_set_unlock_launch_picker_change_title" msgid="6987228635944678726">"Cambiar bloqueo de la pantalla"</string>
-    <string name="unlock_set_unlock_launch_picker_change_summary" msgid="2790960639554590668">"Cambia o inhabilita el patrón, PIN o la contraseña de seguridad."</string>
-    <string name="unlock_set_unlock_none_title" msgid="3760684669884671990">"Ninguno"</string>
-    <string name="unlock_set_unlock_none_summary" msgid="2658550480388272618">"Inhabilitar seguridad de desbloqueo de la pantalla"</string>
-    <string name="unlock_set_unlock_pattern_title" msgid="2912067603917311700">"Patrón"</string>
-    <string name="unlock_set_unlock_pattern_summary" msgid="3018395214738645405">"Dibuja el patrón para desbloquear la pantalla."</string>
-    <string name="unlock_set_unlock_pin_title" msgid="5846029709462329515">"PIN"</string>
-    <string name="unlock_set_unlock_pin_summary" msgid="4131169672844263316">"Ingresa un PIN numérico para desbloquear la pantalla."</string>
-    <string name="unlock_set_unlock_password_title" msgid="8775603825675090937">"Contraseña"</string>
-    <string name="unlock_set_unlock_password_summary" msgid="4623254789833899286">"Ingresa una contraseña para desbloquear la pantalla."</string>
-    <string name="unlock_set_unlock_disabled_summary" msgid="736557879526940324">"Inhabilitado por el administrador remoto del teléfono"</string>
+    <!-- no translation found for lock_settings_picker_title (3973555216065628262) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_launch_picker_title (1129684221223017902) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_launch_picker_summary (1667332113134720845) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_launch_picker_change_title (6987228635944678726) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_launch_picker_change_summary (2790960639554590668) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_none_title (3760684669884671990) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_none_summary (2658550480388272618) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_pattern_title (2912067603917311700) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_pattern_summary (3018395214738645405) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_pin_title (5846029709462329515) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_pin_summary (4131169672844263316) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_password_title (8775603825675090937) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_password_summary (4623254789833899286) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_disabled_summary (736557879526940324) -->
+    <skip />
     <string name="unlock_disable_lock_title" msgid="1427036227416979120">"Desactivar el bloqueo de pantalla"</string>
     <string name="unlock_disable_lock_pattern_summary" msgid="6801602880568869201">"Eliminar el gráfico de desbloqueo"</string>
     <string name="unlock_disable_lock_pin_summary" msgid="8856842745366993387">"Eliminar el PIN de desbloqueo"</string>
@@ -385,15 +400,15 @@
     <string name="wifi_dns2" msgid="1368601006824882659">"DNS 2"</string>
     <string name="wifi_gateway" msgid="163914742461092086">"Acceso"</string>
     <string name="wifi_netmask" msgid="4520635321425529085">"Máscara de red"</string>
-    <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"Zona activa Wi-Fi portátil"</string>
-    <string name="wifi_tether_enabled_subtext" msgid="8948641212931906143">"Zona activa portátil <xliff:g id="NETWORK_SSID">%1$s</xliff:g> conectada"</string>
-    <string name="wifi_tether_failed_subtext" msgid="2654888578056042315">"Error en la zona activa Wi-Fi portátil"</string>
-    <string name="wifi_tether_settings_text" msgid="123573487844470195">"Parámetros de configuración de la zona activa Wi-Fi portátil"</string>
-    <string name="wifi_tether_settings_subtext" msgid="8064755682383367008">"Configurar y administrar la zona activa Wi-Fi portátil"</string>
-    <string name="wifi_tether_settings_title" msgid="3749063216348284432">"Parámetros de configuración de la zona activa Wi-Fi portátil"</string>
-    <string name="wifi_tether_configure_ap_text" msgid="3474995108398156258">"Configurar zona activa Wi-Fi"</string>
-    <string name="wifi_tether_configure_subtext" msgid="1927454307836232128">" Zona activa Wi-Fi portátil <xliff:g id="NETWORK_SSID">%1$s</xliff:g> <xliff:g id="NETWORK_SECURITY">%2$s</xliff:g>"</string>
-    <string name="wifi_tether_configure_ssid_default" msgid="8467525402622138547">"Android Hotspot"</string>
+    <string name="wifi_tether_checkbox_text" msgid="796007268580464534">"Anclaje a redes de Wi-Fi"</string>
+    <string name="wifi_tether_enabled_subtext" msgid="6758080605207549918">"Punto de acceso <xliff:g id="NETWORK_SSID">%1$s</xliff:g> activo"</string>
+    <string name="wifi_tether_failed_subtext" msgid="4379214348183654280">"Error en el anclaje a redes de Wi-Fi"</string>
+    <string name="wifi_tether_settings_text" msgid="8831276059149506799">"Configuración de anclaje a redes de Wi-Fi"</string>
+    <string name="wifi_tether_settings_subtext" msgid="3415164631321782704">"Instalar y administrar punto de acceso"</string>
+    <string name="wifi_tether_settings_title" msgid="3233393750798545228">"Configuración de anclaje a redes de Wi-Fi"</string>
+    <string name="wifi_tether_configure_ap_text" msgid="7849700175083202171">"Configurar AP"</string>
+    <string name="wifi_tether_configure_subtext" msgid="54089556089657247">"Punto de acceso de<xliff:g id="NETWORK_SSID">%1$s</xliff:g> <xliff:g id="NETWORK_SECURITY">%2$s</xliff:g>"</string>
+    <string name="wifi_tether_configure_ssid_default" msgid="4491822321218336928">"AndroidAP"</string>
     <string name="sound_settings_title" msgid="8735891486683305886">"Sonido"</string>
     <string name="display_settings_title" msgid="1708697328627382561">"Mostrar"</string>
     <string name="sound_settings" msgid="5007659014828162881">"Configuración de sonido"</string>
@@ -401,16 +416,19 @@
     <string name="silent_mode_summary" msgid="3309650676072917899">"Silenciar todos los sonidos excepto los medios y las alarmas."</string>
     <string name="silent_mode_incl_alarm_summary" msgid="2088830834182228458">"Todos los sonidos excepto los medios están en silencio"</string>
     <string name="ringtone_title" msgid="5379026328015343686">"Tono de llamada del tel."</string>
-    <string name="ringtone_summary" msgid="2630023412632683493"></string>
+    <!-- no translation found for ringtone_summary (2630023412632683493) -->
+    <skip />
     <string name="all_volume_title" msgid="8741571721868253103">"Volumen"</string>
     <string name="ring_volume_title" msgid="7938706566797464165">"Volumen del timbre"</string>
-    <string name="ring_volume_summary" msgid="7055497624193116879"></string>
+    <!-- no translation found for ring_volume_summary (7055497624193116879) -->
+    <skip />
     <string name="vibrate_in_silent_title" msgid="3897968069156767036">"Vibrar en modo silencioso"</string>
     <string name="vibrate_in_silent_summary" msgid="3312600513070076281">"Permitir vibración en modo silencioso"</string>
-    <string name="vibrate_title" msgid="6045820877942801599">"Vibrar"</string>
-    <string name="vibrate_summary" msgid="7378130397830790458">"Vibrar para llamadas y notificaciones"</string>
+    <string name="vibrate_title" msgid="5408984084125311526">"Vibración del teléfono"</string>
+    <string name="vibrate_summary" msgid="5224303668448643275">"Hacer vibrar el teléfono para las llamadas entrantes"</string>
     <string name="notification_sound_title" msgid="6316316069880531693">"Tono de llam. de notific."</string>
-    <string name="notification_sound_summary" msgid="2953599929394109819"></string>
+    <!-- no translation found for notification_sound_summary (2953599929394109819) -->
+    <skip />
     <string name="notification_pulse_title" msgid="1247988024534030629">"Impulsar la luz de notificación"</string>
     <string name="notification_pulse_summary" msgid="6899220780534617152">"Impulsar la luz de la bola de control reiteradamente para recibir nuevas notificaciones"</string>
     <string name="incoming_call_volume_title" msgid="8073714801365904099">"Tono de llamada"</string>
@@ -486,7 +504,8 @@
     <string name="sim_enter_cancel" msgid="6240422158517208036">"Cancelar"</string>
     <string name="device_info_settings" msgid="475872867864762157">"Estado del teléfono"</string>
     <string name="system_update_settings_list_item_title" msgid="3342887311059985961">"Actualiz. del sistema"</string>
-    <string name="system_update_settings_list_item_summary" msgid="3853057315907710747"></string>
+    <!-- no translation found for system_update_settings_list_item_summary (3853057315907710747) -->
+    <skip />
     <string name="firmware_version" msgid="4801135784886859972">"Versión Androide"</string>
     <string name="model_number" msgid="3765737700545384794">"Número de modelo"</string>
     <string name="baseband_version" msgid="1848990160763524801">"Versión de banda de base"</string>
@@ -588,12 +607,9 @@
     <string name="media_format_gesture_explanation" msgid="4239529439389660159">"Debes extraer tu patrón de desbloqueo parar confirmar un formato de tarjeta SD."</string>
     <string name="call_settings_title" msgid="5188713413939232801">"Config. de llamada"</string>
     <string name="call_settings_summary" msgid="7291195704801002886">"Establecer correo de voz, desvío de llamadas, llamada en espera, identificador de llamadas"</string>
-    <string name="tether_settings_title_usb" msgid="4315031513434087777">"Anclaje a red"</string>
-    <string name="tether_settings_title_wifi" msgid="3277144155960302049">"Zona activa portátil"</string>
-    <string name="tether_settings_title_both" msgid="2734066355556891504">"Anclaje a red y zona activa portátil"</string>
-    <string name="tether_settings_summary_usb" msgid="3562431455625637370">"Comparte la conexión de datos para celulares de tu teléfono a través de USB"</string>
-    <string name="tether_settings_summary_wifi" msgid="4690912027002467246">"Comparte la conexión para celulares de tu teléfono como una zona activa Wi-Fi portátil"</string>
-    <string name="tether_settings_summary_both" msgid="7460063951190682635">"Comparte la conexión de datos para celulares de tu teléfono a través de USB o como zona activa Wi-Fi portátil"</string>
+    <string name="tether_settings_title" msgid="8703982377504005349">"Anclaje a red"</string>
+    <string name="tether_settings_summary" msgid="6679594629002850490">"Configurar y administrar el anclaje a redes"</string>
+    <string name="tether_screen_title" msgid="1521966915332491855">"Configuración de anclaje a red"</string>
     <string name="usb_title" msgid="7483344855356312510">"USB"</string>
     <string name="usb_tethering_button_text" msgid="585829947108007917">"Anclaje a red USB"</string>
     <string name="usb_tethering_available_subtext" msgid="156779271296152605">"Conectado al USB, verificar el anclaje a redes"</string>
@@ -601,7 +617,7 @@
     <string name="usb_tethering_storage_active_subtext" msgid="6608933594288072573">"No se puede anclar a red cuando el almacenamiento USB está en uso."</string>
     <string name="usb_tethering_unavailable_subtext" msgid="1044622421184007254">"USB no conectado"</string>
     <string name="usb_tethering_errored_subtext" msgid="1377574819427841992">"Error de anclaje a red USB"</string>
-    <string name="tethering_help_button_text" msgid="656117495547173630">"Ayuda"</string>
+    <string name="tethering_help_button_text" msgid="7322604807045355030">"Ayuda de anclaje a red"</string>
     <string name="network_settings_title" msgid="7967552516440151852">"Redes de celulares"</string>
     <string name="network_settings_summary" msgid="5149750850846813553">"Establecer opciones para roaming, redes, APN"</string>
     <string name="location_title" msgid="1029961368397484576">"Mi ubicación"</string>
@@ -759,7 +775,8 @@
     <string name="language_category" msgid="3391756582724541530">"Configuración de país"</string>
     <string name="text_category" msgid="6342540511465136739">"Configuración de texto"</string>
     <string name="phone_language" msgid="1165758957501090679">"Seleccionar idioma"</string>
-    <string name="phone_language_summary" msgid="3871309445655554211"></string>
+    <!-- no translation found for phone_language_summary (3871309445655554211) -->
+    <skip />
     <string name="auto_replace" msgid="6199184757891937822">"Reemplazar automát."</string>
     <string name="auto_replace_summary" msgid="370288728200084466">"Corregir palabras mal escritas"</string>
     <string name="auto_caps" msgid="581633131114124121">"Uso automát. de mayús."</string>
@@ -772,7 +789,8 @@
     <string name="ime_security_warning" msgid="812267421486877917">"El método de entrada puede recopilar todo el texto que escribas, incluidos los datos personales como contraseñas y números de tarjetas de crédito. Proviene de la aplicación <xliff:g id="IME_APPLICATION_NAME">%1$s</xliff:g>. ¿Deseas utilizar este método de entrada?"</string>
     <string name="user_dict_settings_titlebar" msgid="765659257455000490">"Diccionario del usuario"</string>
     <string name="user_dict_settings_title" msgid="8357027437499042191">"Diccionario del usuario"</string>
-    <string name="user_dict_settings_summary" msgid="7965571192902870454"></string>
+    <!-- no translation found for user_dict_settings_summary (7965571192902870454) -->
+    <skip />
     <string name="user_dict_settings_add_menu_title" msgid="4056762757149923551">"Agregar"</string>
     <string name="user_dict_settings_add_dialog_title" msgid="4702613990174126482">"Agregar al diccionario"</string>
     <string name="user_dict_settings_edit_dialog_title" msgid="8967476444840548674">"Editar trabajo"</string>
@@ -1068,12 +1086,25 @@
     <string name="credentials_erased" msgid="7700309135582200849">"El almacenamiento de la credencial se ha borrado."</string>
     <string name="credentials_enabled" msgid="7588607413349978930">"El almacenamiento de la credencial está activado."</string>
     <string name="credentials_disabled" msgid="7453188089059045380">"El almacenamiento de la credencial está inhabilitado."</string>
+    <string name="encrypted_fs_category" msgid="1841367653663913956">"Sistema de encriptado de archivos"</string>
+    <string name="encrypted_fs_enable" msgid="3884033081603327729">"Encriptar los datos privados del usuario"</string>
+    <string name="encrypted_fs_enable_summary" msgid="5635188119509076089">"Habilitar el almacenamiento del sistema de encriptado de archivos para los datos privados del usuario en este dispositivo"</string>
+    <string name="encrypted_fs_enable_dialog" msgid="919487211207214266">"Si se habilitan los sistemas de encriptado de archivos, se requiere la eliminación de datos del dispositivo."</string>
+    <string name="encrypted_fs_disable_dialog" msgid="6960413613985682501">"Si se deshabilitan los sistemas de encriptado de archivos, se requiere la eliminación de datos del dispositivo."</string>
+    <string name="encrypted_fs_enable_button" msgid="8453841319751433751">"Activar"</string>
+    <string name="encrypted_fs_disable_button" msgid="8468354944060220496">"Desactivar"</string>
+    <string name="encrypted_fs_cancel_button" msgid="4785921255266305799">"Cancelar"</string>
+    <string name="encrypted_fs_cancel_confirm" msgid="853572431153803557">"Cambio en el modo de sistemas de encriptado de archivos cancelado"</string>
+    <string name="encrypted_fs_alert_dialog_title" msgid="583462447886934755">"Advertencia de los sistemas de encriptado de archivos."</string>
     <string name="emergency_tone_title" msgid="1055954530111587114">"Tono de emergencia"</string>
     <string name="emergency_tone_summary" msgid="722259232924572153">"Establecer el comportamiento cuando se establece una llamada de emergencia"</string>
     <string name="privacy_settings" msgid="9206631214140954954">"Privacidad"</string>
     <string name="privacy_settings_title" msgid="1987089301293213705">"Configuración de privacidad"</string>
+    <string name="backup_section_title" msgid="717834414028702406">"Hacer una copia de seguridad y restaurar"</string>
     <string name="personal_data_section_title" msgid="7815209034443782061">"Datos personales"</string>
+    <string name="backup_settings_title" msgid="2968262658155327829">"Copia de seg. de mi conf."</string>
     <string name="auto_restore_title" msgid="5397528966329126506">"Restaurar automáticamente "</string>
+    <string name="auto_restore_summary" msgid="2029683590724508019">"Restaurar los datos de las aplicaciones desde la copia de seguridad cuando se instalen."</string>
     <string name="backup_erase_dialog_title" msgid="3438255037256586237">"Copia de seguridad"</string>
     <string name="backup_erase_dialog_message" msgid="2948090854996352245">"¿Estás seguro de que deseas dejar de hacer copias de seguridad de tu configuración y aplicaciones, y borrar todas las copias de los servidores de Google?"</string>
     <string name="device_admin_settings_title" msgid="1335557832906433309">"Configuración de la administración del dispositivo"</string>
@@ -1087,8 +1118,12 @@
     <string name="device_admin_warning" msgid="1149471041373876923">"Si se activa este administrador la aplicación podrá <xliff:g id="APP_NAME">%1$s</xliff:g> realizar las siguientes operaciones:"</string>
     <string name="device_admin_status" msgid="7169948053970923035">"Este administrador se encuentra activo y permite a la aplicación <xliff:g id="APP_NAME">%1$s</xliff:g> realizar las siguientes operaciones:"</string>
     <string name="untitled_apn" msgid="1230060359198685513">"Sin título"</string>
-    <string name="sound_category_sound_title" msgid="1488759370067953996">"General"</string>
-    <string name="sound_category_calls_title" msgid="3688531959256239012">"Llamadas entrantes"</string>
-    <string name="sound_category_notification_title" msgid="3502115998790286943">"Notificaciones"</string>
-    <string name="sound_category_feedback_title" msgid="4399742321363475393">"Comentarios"</string>
+    <!-- no translation found for sound_category_sound_title (1488759370067953996) -->
+    <skip />
+    <!-- no translation found for sound_category_calls_title (3688531959256239012) -->
+    <skip />
+    <!-- no translation found for sound_category_notification_title (3502115998790286943) -->
+    <skip />
+    <!-- no translation found for sound_category_feedback_title (4399742321363475393) -->
+    <skip />
 </resources>
diff --git a/res/values-es/arrays.xml b/res/values-es/arrays.xml
index 598474c..a263e97 100644
--- a/res/values-es/arrays.xml
+++ b/res/values-es/arrays.xml
@@ -69,32 +69,10 @@
     <item msgid="5972100016440094433">"Italiano"</item>
     <item msgid="5811378076054402537">"Español"</item>
   </string-array>
-  <string-array name="wifi_status">
-    <item msgid="1922181315419294640"></item>
-    <item msgid="8934131797783724664">"Buscando..."</item>
-    <item msgid="8513729475867537913">"Estableciendo conexión..."</item>
-    <item msgid="515055375277271756">"Autenticando..."</item>
-    <item msgid="1943354004029184381">"Obteniendo dirección IP…"</item>
-    <item msgid="4221763391123233270">"Conectada"</item>
-    <item msgid="624838831631122137">"Suspendida"</item>
-    <item msgid="7979680559596111948">"Desconectando..."</item>
-    <item msgid="1634960474403853625">"Desconectada"</item>
-    <item msgid="746097431216080650">"Con error"</item>
-  </string-array>
-  <string-array name="wifi_status_with_ssid">
-    <item msgid="7714855332363650812"></item>
-    <item msgid="8878186979715711006">"Buscando..."</item>
-    <item msgid="355508996603873860">"Estableciendo conexión con <xliff:g id="NETWORK_NAME">%1$s</xliff:g>..."</item>
-    <item msgid="554971459996405634">"Autenticando con <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</item>
-    <item msgid="7928343808033020343">"Obteniendo dirección IP de <xliff:g id="NETWORK_NAME">%1$s</xliff:g>..."</item>
-    <item msgid="8937994881315223448">"Conectada a <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</item>
-    <item msgid="1330262655415760617">"Suspendida"</item>
-    <item msgid="7698638434317271902">"Desconectando de <xliff:g id="NETWORK_NAME">%1$s</xliff:g>..."</item>
-    <item msgid="197508606402264311">"Desconectada"</item>
-    <item msgid="8578370891960825148">"Con error"</item>
-  </string-array>
+    <!-- no translation found for wifi_status:0 (1922181315419294640) -->
+    <!-- no translation found for wifi_status_with_ssid:0 (7714855332363650812) -->
   <string-array name="wifi_security">
-    <item msgid="1435933968767043814">"Abierta"</item>
+    <item msgid="1435933968767043814">"Abrir"</item>
     <item msgid="6318432659048829665">"WEP"</item>
     <item msgid="2966395706508338179">"WPA/WPA2 PSK"</item>
     <item msgid="9098390198768443435">"802.1x EAP"</item>
@@ -161,10 +139,7 @@
     <item msgid="3738430123799803530">"Tarjeta SD extraíble"</item>
     <item msgid="4498124044785815005">"Selección del sistema"</item>
   </string-array>
-  <string-array name="vibrate_entries">
-    <item msgid="3388952299521009213">"Siempre"</item>
-    <item msgid="6293147072807231256">"Nunca"</item>
-    <item msgid="1276641209451816572">"Solo en modo silencio"</item>
-    <item msgid="8418930333779132418">"Si no está en modo silencio"</item>
-  </string-array>
+    <!-- no translation found for vibrate_entries:1 (6293147072807231256) -->
+    <!-- no translation found for vibrate_entries:2 (1276641209451816572) -->
+    <!-- no translation found for vibrate_entries:3 (8418930333779132418) -->
 </resources>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index 1d41e81..aca183f 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -99,7 +99,8 @@
     <string name="bluetooth_disconnected" msgid="6557104142667339895">"Desconectada"</string>
     <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Desconectando..."</string>
     <string name="bluetooth_connecting" msgid="8555009514614320497">"Estableciendo conexión..."</string>
-    <string name="bluetooth_unknown" msgid="644716244548801421"></string>
+    <!-- no translation found for bluetooth_unknown (644716244548801421) -->
+    <skip />
     <string name="bluetooth_not_connected" msgid="3389882907500605937">"Sincronizar con este dispositivo"</string>
     <string name="bluetooth_pairing" msgid="1426882272690346242">"Sincronizando..."</string>
     <string name="bluetooth_paired" msgid="1247541089000057726">"Sincronizado, pero sin conexión"</string>
@@ -235,20 +236,34 @@
     <string name="security_settings_summary" msgid="967393342537986570">"Establecer Mi ubicación, bloqueo de pantalla, bloqueo de tarjeta SIM y bloqueo de almacenamiento de credenciales"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Establecer ubicación, bloqueo de pantalla y bloqueo de almacenamiento de credenciales"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"Contraseñas"</string>
-    <string name="lock_settings_picker_title" msgid="3973555216065628262">"Bloqueo de la pantalla"</string>
-    <string name="unlock_set_unlock_launch_picker_title" msgid="1129684221223017902">"Bloqueo pantalla"</string>
-    <string name="unlock_set_unlock_launch_picker_summary" msgid="1667332113134720845">"Bloquear pantalla con patrón, PIN o contraseña"</string>
-    <string name="unlock_set_unlock_launch_picker_change_title" msgid="6987228635944678726">"Cambio bloqueo pantalla"</string>
-    <string name="unlock_set_unlock_launch_picker_change_summary" msgid="2790960639554590668">"Cambia o inhabilit seguridad contraseña, PIN o patrón"</string>
-    <string name="unlock_set_unlock_none_title" msgid="3760684669884671990">"Ninguno"</string>
-    <string name="unlock_set_unlock_none_summary" msgid="2658550480388272618">"Inhabilitar desbloqueo pantalla"</string>
-    <string name="unlock_set_unlock_pattern_title" msgid="2912067603917311700">"Patrón"</string>
-    <string name="unlock_set_unlock_pattern_summary" msgid="3018395214738645405">"Patrón para desbloqueo de pantalla"</string>
-    <string name="unlock_set_unlock_pin_title" msgid="5846029709462329515">"PIN"</string>
-    <string name="unlock_set_unlock_pin_summary" msgid="4131169672844263316">"PIN numérico para desbloquear pantalla"</string>
-    <string name="unlock_set_unlock_password_title" msgid="8775603825675090937">"Contraseña"</string>
-    <string name="unlock_set_unlock_password_summary" msgid="4623254789833899286">"Contraseña para desbloq pantalla"</string>
-    <string name="unlock_set_unlock_disabled_summary" msgid="736557879526940324">"Inhabilitado por administrador remoto"</string>
+    <!-- no translation found for lock_settings_picker_title (3973555216065628262) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_launch_picker_title (1129684221223017902) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_launch_picker_summary (1667332113134720845) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_launch_picker_change_title (6987228635944678726) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_launch_picker_change_summary (2790960639554590668) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_none_title (3760684669884671990) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_none_summary (2658550480388272618) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_pattern_title (2912067603917311700) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_pattern_summary (3018395214738645405) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_pin_title (5846029709462329515) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_pin_summary (4131169672844263316) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_password_title (8775603825675090937) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_password_summary (4623254789833899286) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_disabled_summary (736557879526940324) -->
+    <skip />
     <string name="unlock_disable_lock_title" msgid="1427036227416979120">"Desactivar bloqueo pantalla"</string>
     <string name="unlock_disable_lock_pattern_summary" msgid="6801602880568869201">"Eliminar patrón de desbloqueo"</string>
     <string name="unlock_disable_lock_pin_summary" msgid="8856842745366993387">"Eliminar PIN de desbloqueo"</string>
@@ -385,15 +400,15 @@
     <string name="wifi_dns2" msgid="1368601006824882659">"DNS 2"</string>
     <string name="wifi_gateway" msgid="163914742461092086">"Puerta de enlace"</string>
     <string name="wifi_netmask" msgid="4520635321425529085">"Máscara de red"</string>
-    <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"Zona Wi-Fi portátil"</string>
-    <string name="wifi_tether_enabled_subtext" msgid="8948641212931906143">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> de zona Wi-Fi portátil activa"</string>
-    <string name="wifi_tether_failed_subtext" msgid="2654888578056042315">"Error de zona Wi-Fi portátil"</string>
-    <string name="wifi_tether_settings_text" msgid="123573487844470195">"Configuración de zona Wi-Fi portátil"</string>
-    <string name="wifi_tether_settings_subtext" msgid="8064755682383367008">"Configurar y administrar zona Wi-Fi portátil"</string>
-    <string name="wifi_tether_settings_title" msgid="3749063216348284432">"Configuración de zona Wi-Fi portátil"</string>
-    <string name="wifi_tether_configure_ap_text" msgid="3474995108398156258">"Configurar zona Wi-Fi"</string>
-    <string name="wifi_tether_configure_subtext" msgid="1927454307836232128">"Zona Wi-Fi portátil de <xliff:g id="NETWORK_SECURITY">%2$s</xliff:g> de <xliff:g id="NETWORK_SSID">%1$s</xliff:g>"</string>
-    <string name="wifi_tether_configure_ssid_default" msgid="8467525402622138547">"AndroidHotspot"</string>
+    <string name="wifi_tether_checkbox_text" msgid="796007268580464534">"Anclaje a red Wi-Fi"</string>
+    <string name="wifi_tether_enabled_subtext" msgid="6758080605207549918">"Punto de acceso de <xliff:g id="NETWORK_SSID">%1$s</xliff:g> activo"</string>
+    <string name="wifi_tether_failed_subtext" msgid="4379214348183654280">"Se ha producido un error en el anclaje a red Wi-Fi."</string>
+    <string name="wifi_tether_settings_text" msgid="8831276059149506799">"Ajustes de anclaje a red Wi-Fi"</string>
+    <string name="wifi_tether_settings_subtext" msgid="3415164631321782704">"Configurar y administrar punto de acceso"</string>
+    <string name="wifi_tether_settings_title" msgid="3233393750798545228">"Ajustes de anclaje a red Wi-Fi"</string>
+    <string name="wifi_tether_configure_ap_text" msgid="7849700175083202171">"Configurar AP"</string>
+    <string name="wifi_tether_configure_subtext" msgid="54089556089657247">"Punto de acceso <xliff:g id="NETWORK_SECURITY">%2$s</xliff:g> de <xliff:g id="NETWORK_SSID">%1$s</xliff:g>"</string>
+    <string name="wifi_tether_configure_ssid_default" msgid="4491822321218336928">"AndroidAP"</string>
     <string name="sound_settings_title" msgid="8735891486683305886">"Sonido"</string>
     <string name="display_settings_title" msgid="1708697328627382561">"Pantalla"</string>
     <string name="sound_settings" msgid="5007659014828162881">"Ajustes de sonido"</string>
@@ -401,16 +416,21 @@
     <string name="silent_mode_summary" msgid="3309650676072917899">"Silenciar todos los sonidos, excepto el contenido multimedia y las alarmas "</string>
     <string name="silent_mode_incl_alarm_summary" msgid="2088830834182228458">"Todos los sonidos excepto los multimedia están silenciados."</string>
     <string name="ringtone_title" msgid="5379026328015343686">"Tono del teléfono"</string>
-    <string name="ringtone_summary" msgid="2630023412632683493"></string>
+    <!-- no translation found for ringtone_summary (2630023412632683493) -->
+    <skip />
     <string name="all_volume_title" msgid="8741571721868253103">"Volumen"</string>
     <string name="ring_volume_title" msgid="7938706566797464165">"Volumen del timbre"</string>
-    <string name="ring_volume_summary" msgid="7055497624193116879"></string>
+    <!-- no translation found for ring_volume_summary (7055497624193116879) -->
+    <skip />
     <string name="vibrate_in_silent_title" msgid="3897968069156767036">"Vibrar en modo silencio"</string>
     <string name="vibrate_in_silent_summary" msgid="3312600513070076281">"Permitir vibración en modo silencio"</string>
-    <string name="vibrate_title" msgid="6045820877942801599">"Vibrar"</string>
-    <string name="vibrate_summary" msgid="7378130397830790458">"Vibrar al recibir llamadas o notificaciones"</string>
+    <!-- no translation found for vibrate_title (6045820877942801599) -->
+    <skip />
+    <!-- no translation found for vibrate_summary (7378130397830790458) -->
+    <skip />
     <string name="notification_sound_title" msgid="6316316069880531693">"Tono de notificación"</string>
-    <string name="notification_sound_summary" msgid="2953599929394109819"></string>
+    <!-- no translation found for notification_sound_summary (2953599929394109819) -->
+    <skip />
     <string name="notification_pulse_title" msgid="1247988024534030629">"Luz de notificación"</string>
     <string name="notification_pulse_summary" msgid="6899220780534617152">"Pulsa la bola de seguimiento para obtener nuevas notificaciones"</string>
     <string name="incoming_call_volume_title" msgid="8073714801365904099">"Tono"</string>
@@ -486,7 +506,8 @@
     <string name="sim_enter_cancel" msgid="6240422158517208036">"Cancelar"</string>
     <string name="device_info_settings" msgid="475872867864762157">"Estado del teléfono"</string>
     <string name="system_update_settings_list_item_title" msgid="3342887311059985961">"Actualizaciones del sistema"</string>
-    <string name="system_update_settings_list_item_summary" msgid="3853057315907710747"></string>
+    <!-- no translation found for system_update_settings_list_item_summary (3853057315907710747) -->
+    <skip />
     <string name="firmware_version" msgid="4801135784886859972">"Versión de Android"</string>
     <string name="model_number" msgid="3765737700545384794">"Número de modelo"</string>
     <string name="baseband_version" msgid="1848990160763524801">"Versión de banda base"</string>
@@ -588,12 +609,9 @@
     <string name="media_format_gesture_explanation" msgid="4239529439389660159">"Debes crear un patrón de desbloqueo para confirmar el formato de la tarjeta SD."</string>
     <string name="call_settings_title" msgid="5188713413939232801">"Ajustes de llamada"</string>
     <string name="call_settings_summary" msgid="7291195704801002886">"Configurar buzón, llamada en espera, desvío e identificador"</string>
-    <string name="tether_settings_title_usb" msgid="4315031513434087777">"Anclaje a red"</string>
-    <string name="tether_settings_title_wifi" msgid="3277144155960302049">"Zona Wi-Fi portátil"</string>
-    <string name="tether_settings_title_both" msgid="2734066355556891504">"Anclaje a red y zona Wi-Fi"</string>
-    <string name="tether_settings_summary_usb" msgid="3562431455625637370">"Comparte la conexión de datos móvil del teléfono por USB."</string>
-    <string name="tether_settings_summary_wifi" msgid="4690912027002467246">"Comparte la conexión móvil del teléfono como zona Wi-Fi portátil."</string>
-    <string name="tether_settings_summary_both" msgid="7460063951190682635">"Comparte la conexión de datos móvil del teléfono por USB o como zona Wi-Fi portátil."</string>
+    <string name="tether_settings_title" msgid="8703982377504005349">"Anclaje a red"</string>
+    <string name="tether_settings_summary" msgid="6679594629002850490">"Configurar y administrar anclaje a red"</string>
+    <string name="tether_screen_title" msgid="1521966915332491855">"Ajustes de anclaje a red"</string>
     <string name="usb_title" msgid="7483344855356312510">"USB"</string>
     <string name="usb_tethering_button_text" msgid="585829947108007917">"Anclaje de USB"</string>
     <string name="usb_tethering_available_subtext" msgid="156779271296152605">"USB conectado, sin anclaje a red"</string>
@@ -601,7 +619,7 @@
     <string name="usb_tethering_storage_active_subtext" msgid="6608933594288072573">"No se puede realizar el anclaje a red si el almacenamiento USB está en uso."</string>
     <string name="usb_tethering_unavailable_subtext" msgid="1044622421184007254">"USB no conectado"</string>
     <string name="usb_tethering_errored_subtext" msgid="1377574819427841992">"Error de anclaje de USB"</string>
-    <string name="tethering_help_button_text" msgid="656117495547173630">"Ayuda"</string>
+    <string name="tethering_help_button_text" msgid="7322604807045355030">"Ayuda de anclaje a red"</string>
     <string name="network_settings_title" msgid="7967552516440151852">"Redes móviles"</string>
     <string name="network_settings_summary" msgid="5149750850846813553">"Establecer opciones para itinerancia, redes, APN"</string>
     <string name="location_title" msgid="1029961368397484576">"Mi ubicación"</string>
@@ -645,7 +663,7 @@
     <string name="lockpattern_need_to_unlock" msgid="757935356911054465">"Confirmar patrón guardado"</string>
     <string name="lockpattern_need_to_unlock_wrong" msgid="5629093548611791080">"Inténtalo de nuevo:"</string>
     <string name="lockpattern_recording_intro_header" msgid="308287052221942814">"Crear un patrón de desbloqueo"</string>
-    <string name="lockpattern_recording_intro_footer" msgid="1118579101409152113">"Pulsa la tecla de menú para obtener ayuda."</string>
+    <string name="lockpattern_recording_intro_footer" msgid="1118579101409152113">"Pulsa Menú para obtener ayuda."</string>
     <string name="lockpattern_recording_inprogress" msgid="4622772178078818425">"Levanta el dedo cuando termines."</string>
     <string name="lockpattern_recording_incorrect_too_short" msgid="3103250430366718996">"Une al menos <xliff:g id="NUMBER">%d</xliff:g> puntos. Inténtalo de nuevo:"</string>
     <string name="lockpattern_pattern_entered_header" msgid="5012716272001299362">"Patrón grabado"</string>
@@ -759,7 +777,8 @@
     <string name="language_category" msgid="3391756582724541530">"Configuración regional"</string>
     <string name="text_category" msgid="6342540511465136739">"Ajustes de texto"</string>
     <string name="phone_language" msgid="1165758957501090679">"Seleccionar idioma"</string>
-    <string name="phone_language_summary" msgid="3871309445655554211"></string>
+    <!-- no translation found for phone_language_summary (3871309445655554211) -->
+    <skip />
     <string name="auto_replace" msgid="6199184757891937822">"Corrección automática"</string>
     <string name="auto_replace_summary" msgid="370288728200084466">"Corregir palabras con errores de escritura"</string>
     <string name="auto_caps" msgid="581633131114124121">"Mayúsculas automáticas"</string>
@@ -772,7 +791,8 @@
     <string name="ime_security_warning" msgid="812267421486877917">"Este método de introducción de texto puede registrar todo lo que escribas, incluidos datos personales, como las contraseñas y los números de las tarjetas de crédito. Procede de la aplicación <xliff:g id="IME_APPLICATION_NAME">%1$s</xliff:g>. ¿Deseas utilizar este método de introducción de texto?"</string>
     <string name="user_dict_settings_titlebar" msgid="765659257455000490">"Diccionario del usuario"</string>
     <string name="user_dict_settings_title" msgid="8357027437499042191">"Diccionario del usuario"</string>
-    <string name="user_dict_settings_summary" msgid="7965571192902870454"></string>
+    <!-- no translation found for user_dict_settings_summary (7965571192902870454) -->
+    <skip />
     <string name="user_dict_settings_add_menu_title" msgid="4056762757149923551">"Añadir"</string>
     <string name="user_dict_settings_add_dialog_title" msgid="4702613990174126482">"Añadir al diccionario"</string>
     <string name="user_dict_settings_edit_dialog_title" msgid="8967476444840548674">"Editar palabra"</string>
@@ -865,7 +885,7 @@
     <string name="power_usage_summary" msgid="7237084831082848168">"Consumo de la batería"</string>
     <string name="battery_since_unplugged" msgid="338073389740738437">"Uso de la batería desde que se cargó"</string>
     <string name="battery_since_reset" msgid="7464546661121187045">"Uso de la batería desde que se restableció"</string>
-    <string name="battery_stats_duration" msgid="7464501326709469282">"<xliff:g id="TIME">%1$s</xliff:g> desde que se cargó"</string>
+    <string name="battery_stats_duration" msgid="7464501326709469282">"<xliff:g id="TIME">%1$s</xliff:g> desde que se desenchufó"</string>
     <!-- no translation found for battery_stats_last_duration (1535831453827905957) -->
     <skip />
     <string name="awake" msgid="387122265874485088">"Tiempo de actividad del dispositivo"</string>
@@ -923,7 +943,7 @@
     <string name="voice_input_output_settings_title" msgid="2442850635048676991">"Configuración entrada y salida de voz"</string>
     <string name="voice_search_settings_title" msgid="2775469246913196536">"Búsqueda por voz"</string>
     <string name="keyboard_settings_title" msgid="5080115226780201234">"Teclado de Android"</string>
-    <string name="voice_input_category" msgid="1589318440824204736">"Entrada de voz"</string>
+    <string name="voice_input_category" msgid="1589318440824204736">"Introducción de voz"</string>
     <string name="voice_output_category" msgid="2624538587784986229">"Salida de voz"</string>
     <string name="recognizer_title" msgid="3231385184559054457">"Reconocedor de voz"</string>
     <string name="recognizer_settings_title" msgid="6038598099039717232">"Reconocimiento de voz"</string>
@@ -1068,12 +1088,25 @@
     <string name="credentials_erased" msgid="7700309135582200849">"Se ha borrado el almacenamiento de credenciales."</string>
     <string name="credentials_enabled" msgid="7588607413349978930">"Almacenamiento de credenciales habilitado"</string>
     <string name="credentials_disabled" msgid="7453188089059045380">"Almacenamiento de credenciales inhabilitado"</string>
+    <string name="encrypted_fs_category" msgid="1841367653663913956">"Sistema de archivos encriptados"</string>
+    <string name="encrypted_fs_enable" msgid="3884033081603327729">"Encriptar datos de usuario privados"</string>
+    <string name="encrypted_fs_enable_summary" msgid="5635188119509076089">"Habilitar almacenamiento de sistema de archivos encriptados para datos de usuario privados en este dispositivo"</string>
+    <string name="encrypted_fs_enable_dialog" msgid="919487211207214266">"Es necesario eliminar los datos del dispositivo para habilitar los sistemas de archivos encriptados."</string>
+    <string name="encrypted_fs_disable_dialog" msgid="6960413613985682501">"Es necesario eliminar los datos del dispositivo para inhabilitar los sistemas de archivos encriptados."</string>
+    <string name="encrypted_fs_enable_button" msgid="8453841319751433751">"Habilitar"</string>
+    <string name="encrypted_fs_disable_button" msgid="8468354944060220496">"Inhabilitar"</string>
+    <string name="encrypted_fs_cancel_button" msgid="4785921255266305799">"Cancelar"</string>
+    <string name="encrypted_fs_cancel_confirm" msgid="853572431153803557">"Se ha cancelado el cambio de modo de sistemas de archivos encriptados."</string>
+    <string name="encrypted_fs_alert_dialog_title" msgid="583462447886934755">"Advertencia de sistemas de archivos encriptados"</string>
     <string name="emergency_tone_title" msgid="1055954530111587114">"Tono de emergencia"</string>
     <string name="emergency_tone_summary" msgid="722259232924572153">"Establecer comportamiento al realizar una llamada de emergencia"</string>
     <string name="privacy_settings" msgid="9206631214140954954">"Privacidad"</string>
     <string name="privacy_settings_title" msgid="1987089301293213705">"Ajustes de privacidad"</string>
+    <string name="backup_section_title" msgid="717834414028702406">"Realizar copia de seguridad y restaurar"</string>
     <string name="personal_data_section_title" msgid="7815209034443782061">"Datos personales"</string>
+    <string name="backup_settings_title" msgid="2968262658155327829">"Copia seguridad ajustes"</string>
     <string name="auto_restore_title" msgid="5397528966329126506">"Restauración automática"</string>
+    <string name="auto_restore_summary" msgid="2029683590724508019">"Restaurar datos de copias de seguridad de aplicaciones al instalarse"</string>
     <string name="backup_erase_dialog_title" msgid="3438255037256586237">"Copia de seguridad"</string>
     <string name="backup_erase_dialog_message" msgid="2948090854996352245">"¿Estás seguro de que quieres detener la copia de seguridad de la configuración y de los datos de aplicación y borrar todas las copias de los servidores de Google?"</string>
     <string name="device_admin_settings_title" msgid="1335557832906433309">"Ajustes de administración de dispositivos"</string>
@@ -1087,8 +1120,12 @@
     <string name="device_admin_warning" msgid="1149471041373876923">"Al activar este administrador se permitirá que la aplicación <xliff:g id="APP_NAME">%1$s</xliff:g> realice las siguientes operaciones:"</string>
     <string name="device_admin_status" msgid="7169948053970923035">"Este administrador está activo y permite que la aplicación <xliff:g id="APP_NAME">%1$s</xliff:g> realice las siguientes operaciones:"</string>
     <string name="untitled_apn" msgid="1230060359198685513">"Sin título"</string>
-    <string name="sound_category_sound_title" msgid="1488759370067953996">"General"</string>
-    <string name="sound_category_calls_title" msgid="3688531959256239012">"Llamadas entrantes"</string>
-    <string name="sound_category_notification_title" msgid="3502115998790286943">"Notificaciones"</string>
-    <string name="sound_category_feedback_title" msgid="4399742321363475393">"Respuesta del teléfono"</string>
+    <!-- no translation found for sound_category_sound_title (1488759370067953996) -->
+    <skip />
+    <!-- no translation found for sound_category_calls_title (3688531959256239012) -->
+    <skip />
+    <!-- no translation found for sound_category_notification_title (3502115998790286943) -->
+    <skip />
+    <!-- no translation found for sound_category_feedback_title (4399742321363475393) -->
+    <skip />
 </resources>
diff --git a/res/values-fr/arrays.xml b/res/values-fr/arrays.xml
index 5840edf..a68730c 100644
--- a/res/values-fr/arrays.xml
+++ b/res/values-fr/arrays.xml
@@ -69,30 +69,8 @@
     <item msgid="5972100016440094433">"Italien"</item>
     <item msgid="5811378076054402537">"Espagnol"</item>
   </string-array>
-  <string-array name="wifi_status">
-    <item msgid="1922181315419294640"></item>
-    <item msgid="8934131797783724664">"Recherche…"</item>
-    <item msgid="8513729475867537913">"Connexion…"</item>
-    <item msgid="515055375277271756">"Authentification..."</item>
-    <item msgid="1943354004029184381">"Récupération de l\'adresse IP…"</item>
-    <item msgid="4221763391123233270">"Connecté"</item>
-    <item msgid="624838831631122137">"Interrompu"</item>
-    <item msgid="7979680559596111948">"Déconnexion…"</item>
-    <item msgid="1634960474403853625">"Déconnecté"</item>
-    <item msgid="746097431216080650">"Échec"</item>
-  </string-array>
-  <string-array name="wifi_status_with_ssid">
-    <item msgid="7714855332363650812"></item>
-    <item msgid="8878186979715711006">"Recherche…"</item>
-    <item msgid="355508996603873860">"Connexion à <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</item>
-    <item msgid="554971459996405634">"Authentification avec <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</item>
-    <item msgid="7928343808033020343">"Récupération de l\'adresse IP à partir de <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</item>
-    <item msgid="8937994881315223448">"Connecté à <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</item>
-    <item msgid="1330262655415760617">"Interrompu"</item>
-    <item msgid="7698638434317271902">"Déconnexion de <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</item>
-    <item msgid="197508606402264311">"Déconnecté"</item>
-    <item msgid="8578370891960825148">"Échec"</item>
-  </string-array>
+    <!-- no translation found for wifi_status:0 (1922181315419294640) -->
+    <!-- no translation found for wifi_status_with_ssid:0 (7714855332363650812) -->
   <string-array name="wifi_security">
     <item msgid="1435933968767043814">"Ouvert"</item>
     <item msgid="6318432659048829665">"WEP"</item>
@@ -161,10 +139,7 @@
     <item msgid="3738430123799803530">"Carte SD amovible"</item>
     <item msgid="4498124044785815005">"Laisser le système décider"</item>
   </string-array>
-  <string-array name="vibrate_entries">
-    <item msgid="3388952299521009213">"Toujours"</item>
-    <item msgid="6293147072807231256">"Jamais"</item>
-    <item msgid="1276641209451816572">"En mode silencieux"</item>
-    <item msgid="8418930333779132418">"Hors mode silencieux"</item>
-  </string-array>
+    <!-- no translation found for vibrate_entries:1 (6293147072807231256) -->
+    <!-- no translation found for vibrate_entries:2 (1276641209451816572) -->
+    <!-- no translation found for vibrate_entries:3 (8418930333779132418) -->
 </resources>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index b9c6522..41cb709 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -99,7 +99,8 @@
     <string name="bluetooth_disconnected" msgid="6557104142667339895">"Déconnecté"</string>
     <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Déconnexion…"</string>
     <string name="bluetooth_connecting" msgid="8555009514614320497">"Connexion…"</string>
-    <string name="bluetooth_unknown" msgid="644716244548801421"></string>
+    <!-- no translation found for bluetooth_unknown (644716244548801421) -->
+    <skip />
     <string name="bluetooth_not_connected" msgid="3389882907500605937">"Associer à cet appareil"</string>
     <string name="bluetooth_pairing" msgid="1426882272690346242">"Association…"</string>
     <string name="bluetooth_paired" msgid="1247541089000057726">"Relié, mais pas connecté"</string>
@@ -186,7 +187,7 @@
     <string name="sdcard_settings_unmounted_status" msgid="3812022095683863087">"Vous pouvez maintenant retirer la carte SD en toute sécurité."</string>
     <string name="sdcard_settings_bad_removal_status" msgid="5145797653495907970">"La carte SD a été retirée pendant son utilisation !"</string>
     <string name="sdcard_settings_used_bytes_label" msgid="8820289486001170836">"Octets utilisés :"</string>
-    <string name="sdcard_settings_scanning_status" msgid="2763464949274455656">"Recherche de fichiers multimédias sur la carte SD…"</string>
+    <string name="sdcard_settings_scanning_status" msgid="2763464949274455656">"Recherche de fichiers multimédia sur la carte SD…"</string>
     <string name="sdcard_settings_read_only_status" msgid="5706115860484118911">"Carte SD montée en lecture seule"</string>
     <string name="next_label" msgid="4693520878012668114">"Suivant"</string>
     <string name="language_picker_title" msgid="4034157617842965844">"Paramètres régionaux"</string>
@@ -235,20 +236,34 @@
     <string name="security_settings_summary" msgid="967393342537986570">"Définir les paramètres de l\'option Ma position et de verrouillage"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Définir les paramètres de la fonction Ma position, de déverrouillage de l\'écran et de verrouillage du stockage des identifiants"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"Mots de passe"</string>
-    <string name="lock_settings_picker_title" msgid="3973555216065628262">"Sécurité du verrouillage de l\'écran"</string>
-    <string name="unlock_set_unlock_launch_picker_title" msgid="1129684221223017902">"Verrouillage de l\'écran"</string>
-    <string name="unlock_set_unlock_launch_picker_summary" msgid="1667332113134720845">"Verrouiller l\'écran à l\'aide d\'un schéma, d\'un code PIN ou d\'un mot de passe"</string>
-    <string name="unlock_set_unlock_launch_picker_change_title" msgid="6987228635944678726">"Modifier le verrouillage de l\'écran"</string>
-    <string name="unlock_set_unlock_launch_picker_change_summary" msgid="2790960639554590668">"Modifier ou désactiver la sécurité : schéma, code PIN ou mot de passe"</string>
-    <string name="unlock_set_unlock_none_title" msgid="3760684669884671990">"Aucune"</string>
-    <string name="unlock_set_unlock_none_summary" msgid="2658550480388272618">"Désactiver la sécurité du verrouillage de l\'écran"</string>
-    <string name="unlock_set_unlock_pattern_title" msgid="2912067603917311700">"Schéma"</string>
-    <string name="unlock_set_unlock_pattern_summary" msgid="3018395214738645405">"Dessiner un schéma pour déverrouiller l\'écran"</string>
-    <string name="unlock_set_unlock_pin_title" msgid="5846029709462329515">"Code PIN"</string>
-    <string name="unlock_set_unlock_pin_summary" msgid="4131169672844263316">"Entrer un code PIN numérique pour déverrouiller l\'écran"</string>
-    <string name="unlock_set_unlock_password_title" msgid="8775603825675090937">"Mot de passe"</string>
-    <string name="unlock_set_unlock_password_summary" msgid="4623254789833899286">"Entrer un mot de passe pour déverrouiller l\'écran"</string>
-    <string name="unlock_set_unlock_disabled_summary" msgid="736557879526940324">"Désactivé par un administrateur distant"</string>
+    <!-- no translation found for lock_settings_picker_title (3973555216065628262) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_launch_picker_title (1129684221223017902) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_launch_picker_summary (1667332113134720845) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_launch_picker_change_title (6987228635944678726) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_launch_picker_change_summary (2790960639554590668) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_none_title (3760684669884671990) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_none_summary (2658550480388272618) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_pattern_title (2912067603917311700) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_pattern_summary (3018395214738645405) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_pin_title (5846029709462329515) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_pin_summary (4131169672844263316) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_password_title (8775603825675090937) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_password_summary (4623254789833899286) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_disabled_summary (736557879526940324) -->
+    <skip />
     <string name="unlock_disable_lock_title" msgid="1427036227416979120">"Désactiver le verrouillage de l\'écran"</string>
     <string name="unlock_disable_lock_pattern_summary" msgid="6801602880568869201">"Supprimer le schéma de déverrouillage"</string>
     <string name="unlock_disable_lock_pin_summary" msgid="8856842745366993387">"Supprimer le code PIN de déverrouillage"</string>
@@ -270,7 +285,7 @@
     <string name="lockpassword_ok_label" msgid="313822574062553672">"OK"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Annuler"</string>
     <string name="device_admin_title" msgid="3562216873644263804">"Administration du périphérique"</string>
-    <string name="manage_device_admin" msgid="3864120111085199551">"Administrateurs"</string>
+    <string name="manage_device_admin" msgid="3864120111085199551">"Sélectionner les administrateurs du périphérique"</string>
     <string name="manage_device_admin_summary" msgid="915390201809231575">"Ajouter ou supprimer des administrateurs de périphérique"</string>
     <string name="bluetooth_quick_toggle_title" msgid="1037056952714061893">"Bluetooth"</string>
     <string name="bluetooth_quick_toggle_summary" msgid="5293641680139873341">"Activer le Bluetooth"</string>
@@ -318,8 +333,8 @@
     <string name="bluetooth_a2dp_profile_summary_use_for" msgid="4630849022250168427">"Utiliser pour les paramètres audio du média"</string>
     <string name="bluetooth_headset_profile_summary_use_for" msgid="8705753622443862627">"Utiliser pour les paramètres audio du téléphone"</string>
     <string name="bluetooth_opp_profile_summary_use_for" msgid="1255674547144769756">"Utiliser pour le transfert de fichiers"</string>
-    <string name="bluetooth_dock_settings" msgid="3218335822716052885">"Paramètres de la station d\'accueil"</string>
-    <string name="bluetooth_dock_settings_title" msgid="5543069893044375188">"Utiliser station d\'accueil pour l\'audio"</string>
+    <string name="bluetooth_dock_settings" msgid="3218335822716052885">"Paramètres de la base"</string>
+    <string name="bluetooth_dock_settings_title" msgid="5543069893044375188">"Utiliser la base pour l\'audio"</string>
     <string name="bluetooth_dock_settings_headset" msgid="1001821426078644650">"Comme téléphone à haut-parleur"</string>
     <string name="bluetooth_dock_settings_a2dp" msgid="8791004998846630574">"Pour la musique et le multimédia"</string>
     <string name="bluetooth_dock_settings_remember" msgid="5551459057010609115">"Mémoriser ces paramètres"</string>
@@ -385,33 +400,38 @@
     <string name="wifi_dns2" msgid="1368601006824882659">"DNS 2"</string>
     <string name="wifi_gateway" msgid="163914742461092086">"Passerelle"</string>
     <string name="wifi_netmask" msgid="4520635321425529085">"Masque de réseau"</string>
-    <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"Point d\'accès Wi-Fi mobile"</string>
-    <string name="wifi_tether_enabled_subtext" msgid="8948641212931906143">"Point d\'accès Wi-Fi mobile <xliff:g id="NETWORK_SSID">%1$s</xliff:g> actif"</string>
-    <string name="wifi_tether_failed_subtext" msgid="2654888578056042315">"Erreur liée au point d\'accès Wi-Fi mobile"</string>
-    <string name="wifi_tether_settings_text" msgid="123573487844470195">"Paramètres du point d\'accès Wi-Fi mobile"</string>
-    <string name="wifi_tether_settings_subtext" msgid="8064755682383367008">"Configurer et gérer le point d\'accès Wi-Fi mobile"</string>
-    <string name="wifi_tether_settings_title" msgid="3749063216348284432">"Paramètres du point d\'accès Wi-Fi mobile"</string>
-    <string name="wifi_tether_configure_ap_text" msgid="3474995108398156258">"Configurer le point d\'accès Wi-Fi"</string>
-    <string name="wifi_tether_configure_subtext" msgid="1927454307836232128">"Point d\'accès Wi-Fi mobile <xliff:g id="NETWORK_SSID">%1$s</xliff:g> <xliff:g id="NETWORK_SECURITY">%2$s</xliff:g>"</string>
-    <string name="wifi_tether_configure_ssid_default" msgid="8467525402622138547">"AndroidHotspot"</string>
+    <string name="wifi_tether_checkbox_text" msgid="796007268580464534">"Via Wi-Fi"</string>
+    <string name="wifi_tether_enabled_subtext" msgid="6758080605207549918">"Point d\'accès <xliff:g id="NETWORK_SSID">%1$s</xliff:g> activé"</string>
+    <string name="wifi_tether_failed_subtext" msgid="4379214348183654280">"Erreur de partage de connexion via Wi-Fi"</string>
+    <string name="wifi_tether_settings_text" msgid="8831276059149506799">"Paramètres via Wi-Fi"</string>
+    <string name="wifi_tether_settings_subtext" msgid="3415164631321782704">"Configurer et gérer le point d\'accès"</string>
+    <string name="wifi_tether_settings_title" msgid="3233393750798545228">"Paramètres de partage de connexion via Wi-Fi"</string>
+    <string name="wifi_tether_configure_ap_text" msgid="7849700175083202171">"Configurer le point d\'accès"</string>
+    <string name="wifi_tether_configure_subtext" msgid="54089556089657247">"Point d\'accès <xliff:g id="NETWORK_SSID">%1$s</xliff:g> <xliff:g id="NETWORK_SECURITY">%2$s</xliff:g>"</string>
+    <string name="wifi_tether_configure_ssid_default" msgid="4491822321218336928">"Point d\'accès Android"</string>
     <string name="sound_settings_title" msgid="8735891486683305886">"Son"</string>
     <string name="display_settings_title" msgid="1708697328627382561">"Affichage"</string>
     <string name="sound_settings" msgid="5007659014828162881">"Paramètres sonores"</string>
     <string name="silent_mode_title" msgid="3181479108593217704">"Mode silencieux"</string>
     <string name="silent_mode_summary" msgid="3309650676072917899">"Aucun son, sauf pour le multimédia et le réveil"</string>
-    <string name="silent_mode_incl_alarm_summary" msgid="2088830834182228458">"Il n\'y aura aucun son, sauf pour les fichiers multimédias."</string>
+    <string name="silent_mode_incl_alarm_summary" msgid="2088830834182228458">"Toutes les sonneries seront définies sur Silencieux, sauf les fichiers multimédia."</string>
     <string name="ringtone_title" msgid="5379026328015343686">"Sonnerie du téléphone"</string>
-    <string name="ringtone_summary" msgid="2630023412632683493"></string>
+    <!-- no translation found for ringtone_summary (2630023412632683493) -->
+    <skip />
     <string name="all_volume_title" msgid="8741571721868253103">"Volume"</string>
     <string name="ring_volume_title" msgid="7938706566797464165">"Volume de la sonnerie"</string>
-    <string name="ring_volume_summary" msgid="7055497624193116879"></string>
+    <!-- no translation found for ring_volume_summary (7055497624193116879) -->
+    <skip />
     <string name="vibrate_in_silent_title" msgid="3897968069156767036">"Vibrer en mode silencieux"</string>
     <string name="vibrate_in_silent_summary" msgid="3312600513070076281">"Autoriser la vibration en mode silencieux"</string>
-    <string name="vibrate_title" msgid="6045820877942801599">"Vibreur"</string>
-    <string name="vibrate_summary" msgid="7378130397830790458">"Vibrations pour les appels et les notifications"</string>
+    <!-- no translation found for vibrate_title (6045820877942801599) -->
+    <skip />
+    <!-- no translation found for vibrate_summary (7378130397830790458) -->
+    <skip />
     <string name="notification_sound_title" msgid="6316316069880531693">"Sonnerie de notification"</string>
-    <string name="notification_sound_summary" msgid="2953599929394109819"></string>
-    <string name="notification_pulse_title" msgid="1247988024534030629">"Voyant de notification"</string>
+    <!-- no translation found for notification_sound_summary (2953599929394109819) -->
+    <skip />
+    <string name="notification_pulse_title" msgid="1247988024534030629">"Faire clignoter le voyant de notification"</string>
     <string name="notification_pulse_summary" msgid="6899220780534617152">"Faire clignoter le voyant de la trackball à chaque notification"</string>
     <string name="incoming_call_volume_title" msgid="8073714801365904099">"Sonnerie"</string>
     <string name="notification_volume_title" msgid="2012640760341080408">"Notification"</string>
@@ -420,14 +440,14 @@
     <string name="media_volume_title" msgid="3576565767317118106">"Multimédia"</string>
     <string name="media_volume_summary" msgid="5363248930648849974">"Régler le volume pour la musique et les vidéos"</string>
     <string name="alarm_volume_title" msgid="2285597478377758706">"Alarme"</string>
-    <string name="dock_settings_summary" msgid="455802113668982481">"Paramètres audio de la station d\'accueil associée"</string>
+    <string name="dock_settings_summary" msgid="455802113668982481">"Paramètres audio de la base associée"</string>
     <string name="dtmf_tone_enable_title" msgid="1453831168789523185">"Tonalité touches audible"</string>
     <string name="dtmf_tone_enable_summary_on" msgid="3028201873989887327">"Activer la tonalité des touches du clavier"</string>
     <string name="dtmf_tone_enable_summary_off" msgid="7791065951268525678">"Activer la tonalité des touches du clavier"</string>
     <string name="sound_effects_enable_title" msgid="3197313718929122833">"Sélections audibles"</string>
     <string name="sound_effects_enable_summary_on" msgid="6154141289879491329">"Jouer un son lors des sélections à l\'écran"</string>
     <string name="sound_effects_enable_summary_off" msgid="3447739581759560125">"Jouer un son lors des sélections à l\'écran"</string>
-    <string name="lock_sounds_enable_title" msgid="1575990840389107141">"Verrouillage de l\'écran"</string>
+    <string name="lock_sounds_enable_title" msgid="1575990840389107141">"Son au verrouillage de l\'écran"</string>
     <string name="lock_sounds_enable_summary_on" msgid="145741024028391473">"Émettre un son lorsque l\'écran est verrouillé ou déverrouillé"</string>
     <string name="lock_sounds_enable_summary_off" msgid="8481243116223542804">"Émettre un son lorsque l\'écran est verrouillé ou déverrouillé"</string>
     <string name="haptic_feedback_enable_title" msgid="6311736559245411290">"Retour haptique"</string>
@@ -435,18 +455,18 @@
     <string name="haptic_feedback_enable_summary_off" msgid="7287885436963105314">"Vibrer à l\'utilisation de touches programmables et d\'autres options"</string>
     <string name="audio_record_proc_title" msgid="4271091199976457534">"Suppression du bruit"</string>
     <string name="audio_record_proc_summary" msgid="8113628457499616498">"Supprimer les bruits de fond lors d\'une discussion ou d\'un enregistrement."</string>
-    <string name="dock_settings" msgid="1820107306693002541">"Station d\'accueil"</string>
-    <string name="dock_settings_title" msgid="9161438664257429372">"Paramètres station d\'accueil"</string>
+    <string name="dock_settings" msgid="1820107306693002541">"Base"</string>
+    <string name="dock_settings_title" msgid="9161438664257429372">"Paramètres de la base"</string>
     <string name="dock_audio_settings_title" msgid="3324750259959570305">"Audio"</string>
-    <string name="dock_audio_summary_desk" msgid="6487784412371139335">"Paramètres station d\'accueil bureau associée"</string>
-    <string name="dock_audio_summary_car" msgid="6740897586006248450">"Paramètres station d\'accueil voiture associée"</string>
+    <string name="dock_audio_summary_desk" msgid="6487784412371139335">"Paramètres de la base de bureau associée"</string>
+    <string name="dock_audio_summary_car" msgid="6740897586006248450">"Paramètres de la base de voiture associée"</string>
     <string name="dock_audio_summary_none" msgid="289909253741048784">"Le téléphone n\'est pas sur sa base."</string>
-    <string name="dock_audio_summary_unknown" msgid="4465059868974255693">"Paramètres station d\'accueil associée"</string>
-    <string name="dock_not_found_title" msgid="3290961741828952424">"Station d\'accueil introuvable"</string>
-    <string name="dock_not_found_text" msgid="3035260358985111855">"Pour configurer les paramètres audio de la station d\'accueil, vous devez placer le téléphone sur cette dernière."</string>
-    <string name="dock_sounds_enable_title" msgid="3659084028644948905">"Insertion dans la station d\'accueil"</string>
-    <string name="dock_sounds_enable_summary_on" msgid="8491180514199743771">"Émettre un son lorsque le téléphone est inséré dans la station d\'accueil ou retiré de celle-ci"</string>
-    <string name="dock_sounds_enable_summary_off" msgid="3151046599205265919">"N\'émettre aucun son lorsque le téléphone est inséré dans la station d\'accueil ou retiré de celle-ci"</string>
+    <string name="dock_audio_summary_unknown" msgid="4465059868974255693">"Paramètres de la base associée"</string>
+    <string name="dock_not_found_title" msgid="3290961741828952424">"Base introuvable"</string>
+    <string name="dock_not_found_text" msgid="3035260358985111855">"Pour configurer les paramètres audio de la base, vous devez placer le téléphone sur cette dernière."</string>
+    <string name="dock_sounds_enable_title" msgid="3659084028644948905">"Insertion dans la base"</string>
+    <string name="dock_sounds_enable_summary_on" msgid="8491180514199743771">"Émettre un son lorsque le téléphone est inséré dans la base ou retiré de celle-ci"</string>
+    <string name="dock_sounds_enable_summary_off" msgid="3151046599205265919">"N\'émettre aucun son lorsque le téléphone est inséré dans la base ou retiré de celle-ci"</string>
     <string name="sync_settings" msgid="9186125469300013491">"Comptes et synchro"</string>
     <string name="sync_settings_summary" msgid="2962179505214965667">"Ajouter ou supprimer des comptes et modifier leurs paramètres"</string>
     <string name="search_settings" msgid="1910951467596035063">"Recherche"</string>
@@ -455,7 +475,7 @@
     <string name="animations_title" msgid="1062189037402346023">"Animation"</string>
     <string name="animations_summary_on" msgid="8843613112130484436">"Animation lors de l\'ouverture et de la fermeture des fenêtres"</string>
     <string name="animations_summary_off" msgid="2777026828025551983">"Animation lors de l\'ouverture et de la fermeture des fenêtres"</string>
-    <string name="accelerometer_title" msgid="7854608399547349157">"Rotation auto écran"</string>
+    <string name="accelerometer_title" msgid="7854608399547349157">"Rotation automatique de l\'écran\nRotation auto écran"</string>
     <string name="accelerometer_summary_on" msgid="1133737282813048021">"Changer automatiquement d\'orientation lors de la rotation"</string>
     <string name="accelerometer_summary_off" msgid="5485489363715740761">"Changer automatiquement d\'orientation lors de la rotation"</string>
     <string name="brightness" msgid="2354961343555249270">"Luminosité"</string>
@@ -469,7 +489,7 @@
     <string name="sim_pin_toggle" msgid="1742123478029451888">"Bloquer la carte SIM"</string>
     <string name="sim_lock_on" msgid="2503536505568814324">"Demander le code PIN pour utiliser le téléphone"</string>
     <string name="sim_lock_off" msgid="258981978215428916">"Demander le code PIN pour utiliser le téléphone"</string>
-    <string name="sim_pin_change" msgid="6311414184279932368">"Modifier PIN carte SIM"</string>
+    <string name="sim_pin_change" msgid="6311414184279932368">"Modifier PIN de la carte SIM"</string>
     <string name="sim_enter_pin" msgid="6608715137008508432">"Code PIN de la carte SIM"</string>
     <string name="sim_enable_sim_lock" msgid="4517742794997166918">"Bloquer la carte SIM"</string>
     <string name="sim_disable_sim_lock" msgid="7664729528754784824">"Débloquer la carte SIM"</string>
@@ -486,7 +506,8 @@
     <string name="sim_enter_cancel" msgid="6240422158517208036">"Annuler"</string>
     <string name="device_info_settings" msgid="475872867864762157">"État du téléphone"</string>
     <string name="system_update_settings_list_item_title" msgid="3342887311059985961">"Mises à jour du système"</string>
-    <string name="system_update_settings_list_item_summary" msgid="3853057315907710747"></string>
+    <!-- no translation found for system_update_settings_list_item_summary (3853057315907710747) -->
+    <skip />
     <string name="firmware_version" msgid="4801135784886859972">"Version d\'Android"</string>
     <string name="model_number" msgid="3765737700545384794">"Numéro du modèle"</string>
     <string name="baseband_version" msgid="1848990160763524801">"Version de bande de base"</string>
@@ -540,8 +561,8 @@
     <string name="apn_edit" msgid="1354715499708424718">"Modifier le point d\'accès"</string>
     <string name="apn_not_set" msgid="7422262558097875757">"&lt;Non défini&gt;"</string>
     <string name="apn_name" msgid="4115580098369824123">"Nom"</string>
-    <string name="apn_apn" msgid="2479425126733513353">"APN"</string>
-    <string name="apn_http_proxy" msgid="1826885957243696354">"Proxy "</string>
+    <string name="apn_apn" msgid="2479425126733513353">"d\'APN (nom du point d\'accès)"</string>
+    <string name="apn_http_proxy" msgid="1826885957243696354">"Proxy"</string>
     <string name="apn_http_port" msgid="3763259523984976226">"Port"</string>
     <string name="apn_user" msgid="455637547356117761">"Nom d\'utilisateur"</string>
     <string name="apn_password" msgid="5412301994998250968">"Mot de passe"</string>
@@ -588,12 +609,9 @@
     <string name="media_format_gesture_explanation" msgid="4239529439389660159">"Vous devez créer votre schéma de déverrouillage pour confirmer le format de la carte SD."</string>
     <string name="call_settings_title" msgid="5188713413939232801">"Paramètres d\'appel"</string>
     <string name="call_settings_summary" msgid="7291195704801002886">"Configurer mess. vocale, transferts d\'appel, mises en attente, numéro de l\'appelant"</string>
-    <string name="tether_settings_title_usb" msgid="4315031513434087777">"Partage de connexion"</string>
-    <string name="tether_settings_title_wifi" msgid="3277144155960302049">"Point d\'accès Wi-Fi mobile"</string>
-    <string name="tether_settings_title_both" msgid="2734066355556891504">"Partage de connexion et point d\'accès mobile"</string>
-    <string name="tether_settings_summary_usb" msgid="3562431455625637370">"Partagez la connexion Internet de votre mobile via un câble USB."</string>
-    <string name="tether_settings_summary_wifi" msgid="4690912027002467246">"Transformez votre mobile en point d\'accès Wi-Fi mobile."</string>
-    <string name="tether_settings_summary_both" msgid="7460063951190682635">"Partagez la connexion Internet de votre mobile via un câble USB ou transformez votre appareil en point d\'accès Wi-Fi mobile."</string>
+    <string name="tether_settings_title" msgid="8703982377504005349">"Partage de connexion"</string>
+    <string name="tether_settings_summary" msgid="6679594629002850490">"Configurer et gérer le partage de connexion"</string>
+    <string name="tether_screen_title" msgid="1521966915332491855">"Paramètres du partage de connexion"</string>
     <string name="usb_title" msgid="7483344855356312510">"USB"</string>
     <string name="usb_tethering_button_text" msgid="585829947108007917">"Via USB"</string>
     <string name="usb_tethering_available_subtext" msgid="156779271296152605">"Connexion USB établie, cochez l\'option adéquate pour partager la connexion."</string>
@@ -601,12 +619,12 @@
     <string name="usb_tethering_storage_active_subtext" msgid="6608933594288072573">"Impossible de partager la connexion lorsqu\'un stockage USB est utilisé."</string>
     <string name="usb_tethering_unavailable_subtext" msgid="1044622421184007254">"USB non connecté"</string>
     <string name="usb_tethering_errored_subtext" msgid="1377574819427841992">"Erreur liée au partage de connexion via USB"</string>
-    <string name="tethering_help_button_text" msgid="656117495547173630">"Aide"</string>
+    <string name="tethering_help_button_text" msgid="7322604807045355030">"Aide"</string>
     <string name="network_settings_title" msgid="7967552516440151852">"Réseaux mobiles"</string>
     <string name="network_settings_summary" msgid="5149750850846813553">"Définir les options d\'itinérance, réseaux, noms de points d\'accès"</string>
     <string name="location_title" msgid="1029961368397484576">"Ma position"</string>
-    <string name="location_network_based" msgid="8815705866861993344">"Utiliser réseaux sans fil"</string>
-    <string name="location_networks_disabled" msgid="2708968452901433980">"Afficher ma position dans les applications (comme Google Maps)"</string>
+    <string name="location_network_based" msgid="8815705866861993344">"Utiliser les réseaux sans fil"</string>
+    <string name="location_networks_disabled" msgid="2708968452901433980">"Afficher position dans les applications (comme Google Maps)"</string>
     <string name="location_neighborhood_level" msgid="4656658097932515921">"Position géographique déterminée par réseaux Wi-Fi et/ou mobile"</string>
     <string name="location_gps" msgid="6296125378829097831">"Utiliser les satellites GPS"</string>
     <string name="location_street_level" msgid="6460740847018275745">"Localisation à la rue près (décocher pour économiser la batterie)"</string>
@@ -759,7 +777,8 @@
     <string name="language_category" msgid="3391756582724541530">"Paramètres régionaux"</string>
     <string name="text_category" msgid="6342540511465136739">"Paramètres du texte"</string>
     <string name="phone_language" msgid="1165758957501090679">"Sélectionner la langue"</string>
-    <string name="phone_language_summary" msgid="3871309445655554211"></string>
+    <!-- no translation found for phone_language_summary (3871309445655554211) -->
+    <skip />
     <string name="auto_replace" msgid="6199184757891937822">"Remplacement auto"</string>
     <string name="auto_replace_summary" msgid="370288728200084466">"Corriger les mots mal saisis"</string>
     <string name="auto_caps" msgid="581633131114124121">"Majuscules auto"</string>
@@ -772,7 +791,8 @@
     <string name="ime_security_warning" msgid="812267421486877917">"Ce mode de saisie pourrait collecter le texte que vous saisissez, y compris vos données personnelles telles que les mots de passe et les numéros de carte de crédit. Il provient de l\'application <xliff:g id="IME_APPLICATION_NAME">%1$s</xliff:g>. Voulez-vous vraiment activer ce mode de saisie ?"</string>
     <string name="user_dict_settings_titlebar" msgid="765659257455000490">"Dictionnaire personnel"</string>
     <string name="user_dict_settings_title" msgid="8357027437499042191">"Dictionnaire personnel"</string>
-    <string name="user_dict_settings_summary" msgid="7965571192902870454"></string>
+    <!-- no translation found for user_dict_settings_summary (7965571192902870454) -->
+    <skip />
     <string name="user_dict_settings_add_menu_title" msgid="4056762757149923551">"Ajouter"</string>
     <string name="user_dict_settings_add_dialog_title" msgid="4702613990174126482">"Ajouter au dictionnaire"</string>
     <string name="user_dict_settings_edit_dialog_title" msgid="8967476444840548674">"Modifier le mot"</string>
@@ -859,8 +879,8 @@
     <string name="accessibility_service_no_apps_title" msgid="898893674114288531">"Aucune application d\'accessibilité n\'a été trouvée."</string>
     <string name="accessibility_service_no_apps_message" msgid="2450056749545404807">"Aucune application d\'accessibilité n\'est installée."\n\n"Vous pouvez télécharger un lecteur d\'écran pour votre périphérique depuis Android Market."\n\n"Cliquez sur OK pour installer le lecteur d\'écran."</string>
     <string name="accessibility_power_button_category" msgid="8545885236482339928">"Bouton d\'alimentation"</string>
-    <string name="accessibility_power_button_ends_call" msgid="7698764194501089533">"Raccrocher pdt un appel"</string>
-    <string name="accessibility_power_button_ends_call_summary" msgid="8878097632186291462">"Lors d\'un appel, utiliser le bouton d\'alimentation pour raccrocher, sans désactiver l\'écran"</string>
+    <string name="accessibility_power_button_ends_call" msgid="7698764194501089533">"Utiliser le bouton d\'alimentation pour raccrocher"</string>
+    <string name="accessibility_power_button_ends_call_summary" msgid="8878097632186291462">"Lors d\'un appel, le bouton d\'alimentation permet de raccrocher, pas de désactiver l\'écran."</string>
     <string name="power_usage_summary_title" msgid="5180282911164282324">"Utilisation de la batterie"</string>
     <string name="power_usage_summary" msgid="7237084831082848168">"Répartition de l\'utilisation de la batterie"</string>
     <string name="battery_since_unplugged" msgid="338073389740738437">"Utilisation de la batterie depuis le débranchement"</string>
@@ -900,7 +920,7 @@
     <string name="battery_action_bluetooth" msgid="8374789049507723142">"Paramètres Bluetooth"</string>
     <string name="battery_desc_voice" msgid="8980322055722959211">"Batterie utilisée par les appels vocaux"</string>
     <string name="battery_desc_standby" msgid="3009080001948091424">"Batterie utilisée lorsque le téléphone est inactif"</string>
-    <string name="battery_desc_radio" msgid="5479196477223185367">"Batterie utilisée par le signal de cellule GSM"</string>
+    <string name="battery_desc_radio" msgid="5479196477223185367">"Batterie utilisée par le signal radio cellulaire"</string>
     <string name="battery_sugg_radio" msgid="8211336978326295047">"Passez en mode Avion pour économiser la batterie dans les zones sans couverture cellulaire."</string>
     <string name="battery_desc_display" msgid="5432795282958076557">"Batterie utilisée par l\'affichage et le rétro-éclairage"</string>
     <string name="battery_sugg_display" msgid="3370202402045141760">"Réduire la luminosité et/ou le délai de mise en veille de l\'écran"</string>
@@ -926,10 +946,10 @@
     <string name="voice_input_category" msgid="1589318440824204736">"Saisie vocale"</string>
     <string name="voice_output_category" msgid="2624538587784986229">"Sortie vocale"</string>
     <string name="recognizer_title" msgid="3231385184559054457">"Reconnaissance vocale"</string>
-    <string name="recognizer_settings_title" msgid="6038598099039717232">"Reconnaissance vocale"</string>
+    <string name="recognizer_settings_title" msgid="6038598099039717232">"Paramètres de reconnaissance vocale"</string>
     <string name="recognizer_settings_summary" msgid="4472287934134546902">"Paramètres de \"<xliff:g id="RECOGNIZER_NAME">%s</xliff:g>\""</string>
     <string name="tts_settings" msgid="8186971894801348327">"Paramètres de la synthèse vocale"</string>
-    <string name="tts_settings_title" msgid="4182348653053000933">"Synthèse vocale"</string>
+    <string name="tts_settings_title" msgid="4182348653053000933">"Paramètres de la synthèse vocale"</string>
     <string name="use_default_tts_settings_title" msgid="1577063839539732930">"Tjrs utiliser mes param."</string>
     <string name="use_default_tts_settings_summary" msgid="4253502106159206276">"Les param. par défaut ci-dessous remplacent les param. de l\'application"</string>
     <string name="tts_default_settings_section" msgid="5787915620218907443">"Paramètres par défaut"</string>
@@ -1068,12 +1088,25 @@
     <string name="credentials_erased" msgid="7700309135582200849">"Le stockage des identifiants est effacé."</string>
     <string name="credentials_enabled" msgid="7588607413349978930">"Stockage des identifiants activé"</string>
     <string name="credentials_disabled" msgid="7453188089059045380">"Stockage des identifiants désactivé"</string>
+    <string name="encrypted_fs_category" msgid="1841367653663913956">"Système de fichiers cryptés"</string>
+    <string name="encrypted_fs_enable" msgid="3884033081603327729">"Crypter les données utilisateur privées"</string>
+    <string name="encrypted_fs_enable_summary" msgid="5635188119509076089">"Activer le stockage des données utilisateur privées dans les systèmes de fichiers cryptés de ce périphérique"</string>
+    <string name="encrypted_fs_enable_dialog" msgid="919487211207214266">"Pour activer les systèmes de fichiers cryptés, vous devez disposer d\'un outil de nettoyage des données."</string>
+    <string name="encrypted_fs_disable_dialog" msgid="6960413613985682501">"Pour désactiver des systèmes de fichiers cryptés, vous devez disposer d\'un outil de nettoyage des données."</string>
+    <string name="encrypted_fs_enable_button" msgid="8453841319751433751">"Activer"</string>
+    <string name="encrypted_fs_disable_button" msgid="8468354944060220496">"Désactiver"</string>
+    <string name="encrypted_fs_cancel_button" msgid="4785921255266305799">"Annuler"</string>
+    <string name="encrypted_fs_cancel_confirm" msgid="853572431153803557">"La modification apportée au mode Systèmes de fichiers cryptés a été annulée."</string>
+    <string name="encrypted_fs_alert_dialog_title" msgid="583462447886934755">"Avertissement relatif aux systèmes de fichiers cryptés"</string>
     <string name="emergency_tone_title" msgid="1055954530111587114">"Sonnerie d\'urgence"</string>
     <string name="emergency_tone_summary" msgid="722259232924572153">"Définir le comportement en cas d\'appel d\'urgence"</string>
     <string name="privacy_settings" msgid="9206631214140954954">"Confidentialité"</string>
     <string name="privacy_settings_title" msgid="1987089301293213705">"Paramètres de confidentialité"</string>
+    <string name="backup_section_title" msgid="717834414028702406">"Sauvegarder et restaurer"</string>
     <string name="personal_data_section_title" msgid="7815209034443782061">"Données personnelles"</string>
-    <string name="auto_restore_title" msgid="5397528966329126506">"Restaurer automatiquement"</string>
+    <string name="backup_settings_title" msgid="2968262658155327829">"Sauvegarder mes param."</string>
+    <string name="auto_restore_title" msgid="5397528966329126506">"Restauration automatique"</string>
+    <string name="auto_restore_summary" msgid="2029683590724508019">"Restaurer les données d\'application sauvegardées lors de l\'installation"</string>
     <string name="backup_erase_dialog_title" msgid="3438255037256586237">"Sauvegarder"</string>
     <string name="backup_erase_dialog_message" msgid="2948090854996352245">"Voulez-vous vraiment arrêter de sauvegarder vos paramètres et vos données d\'application, et supprimer toutes les copies des serveurs Google ?"</string>
     <string name="device_admin_settings_title" msgid="1335557832906433309">"Paramètres d\'administration du périphérique"</string>
@@ -1087,8 +1120,12 @@
     <string name="device_admin_warning" msgid="1149471041373876923">"L\'activation de cet administrateur permettra à l\'application <xliff:g id="APP_NAME">%1$s</xliff:g> d\'effectuer les opérations suivantes :"</string>
     <string name="device_admin_status" msgid="7169948053970923035">"Cet administrateur est activé et permet à l\'application <xliff:g id="APP_NAME">%1$s</xliff:g> d\'effectuer les opérations suivantes :"</string>
     <string name="untitled_apn" msgid="1230060359198685513">"Sans nom"</string>
-    <string name="sound_category_sound_title" msgid="1488759370067953996">"Généralités"</string>
-    <string name="sound_category_calls_title" msgid="3688531959256239012">"Appels entrants"</string>
-    <string name="sound_category_notification_title" msgid="3502115998790286943">"Notifications"</string>
-    <string name="sound_category_feedback_title" msgid="4399742321363475393">"Commentaires"</string>
+    <!-- no translation found for sound_category_sound_title (1488759370067953996) -->
+    <skip />
+    <!-- no translation found for sound_category_calls_title (3688531959256239012) -->
+    <skip />
+    <!-- no translation found for sound_category_notification_title (3502115998790286943) -->
+    <skip />
+    <!-- no translation found for sound_category_feedback_title (4399742321363475393) -->
+    <skip />
 </resources>
diff --git a/res/values-it/arrays.xml b/res/values-it/arrays.xml
index 4954dd4..7eadae5 100644
--- a/res/values-it/arrays.xml
+++ b/res/values-it/arrays.xml
@@ -69,32 +69,10 @@
     <item msgid="5972100016440094433">"Italiano"</item>
     <item msgid="5811378076054402537">"Spagnolo"</item>
   </string-array>
-  <string-array name="wifi_status">
-    <item msgid="1922181315419294640"></item>
-    <item msgid="8934131797783724664">"Ricerca in corso..."</item>
-    <item msgid="8513729475867537913">"Connessione in corso..."</item>
-    <item msgid="515055375277271756">"Autenticazione in corso..."</item>
-    <item msgid="1943354004029184381">"Acquisizione indirizzo IP in corso..."</item>
-    <item msgid="4221763391123233270">"Connessa"</item>
-    <item msgid="624838831631122137">"Sospesa"</item>
-    <item msgid="7979680559596111948">"Disconnessione in corso..."</item>
-    <item msgid="1634960474403853625">"Disconnessa"</item>
-    <item msgid="746097431216080650">"Operazione non riuscita"</item>
-  </string-array>
-  <string-array name="wifi_status_with_ssid">
-    <item msgid="7714855332363650812"></item>
-    <item msgid="8878186979715711006">"Ricerca in corso..."</item>
-    <item msgid="355508996603873860">"Connessione a <xliff:g id="NETWORK_NAME">%1$s</xliff:g> in corso..."</item>
-    <item msgid="554971459996405634">"Autenticazione con <xliff:g id="NETWORK_NAME">%1$s</xliff:g> in corso..."</item>
-    <item msgid="7928343808033020343">"Acquisizione indirizzo IP da <xliff:g id="NETWORK_NAME">%1$s</xliff:g> in corso..."</item>
-    <item msgid="8937994881315223448">"Connessa a <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</item>
-    <item msgid="1330262655415760617">"Sospesa"</item>
-    <item msgid="7698638434317271902">"Disconnessione da <xliff:g id="NETWORK_NAME">%1$s</xliff:g> in corso..."</item>
-    <item msgid="197508606402264311">"Disconnessa"</item>
-    <item msgid="8578370891960825148">"Operazione non riuscita"</item>
-  </string-array>
+    <!-- no translation found for wifi_status:0 (1922181315419294640) -->
+    <!-- no translation found for wifi_status_with_ssid:0 (7714855332363650812) -->
   <string-array name="wifi_security">
-    <item msgid="1435933968767043814">"Aperta"</item>
+    <item msgid="1435933968767043814">"Apri"</item>
     <item msgid="6318432659048829665">"WEP"</item>
     <item msgid="2966395706508338179">"WPA/WPA2 PSK"</item>
     <item msgid="9098390198768443435">"802.1x EAP"</item>
@@ -161,10 +139,7 @@
     <item msgid="3738430123799803530">"Scheda SD rimovibile"</item>
     <item msgid="4498124044785815005">"Impostazione di sistema"</item>
   </string-array>
-  <string-array name="vibrate_entries">
-    <item msgid="3388952299521009213">"Sempre"</item>
-    <item msgid="6293147072807231256">"Mai"</item>
-    <item msgid="1276641209451816572">"Solo in mod. silenziosa"</item>
-    <item msgid="8418930333779132418">"Solo se mod. silenziosa non attiva"</item>
-  </string-array>
+    <!-- no translation found for vibrate_entries:1 (6293147072807231256) -->
+    <!-- no translation found for vibrate_entries:2 (1276641209451816572) -->
+    <!-- no translation found for vibrate_entries:3 (8418930333779132418) -->
 </resources>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index b8f37f8..585300b 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -99,7 +99,8 @@
     <string name="bluetooth_disconnected" msgid="6557104142667339895">"Disconnesso"</string>
     <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Disconnessione..."</string>
     <string name="bluetooth_connecting" msgid="8555009514614320497">"Connessione..."</string>
-    <string name="bluetooth_unknown" msgid="644716244548801421"></string>
+    <!-- no translation found for bluetooth_unknown (644716244548801421) -->
+    <skip />
     <string name="bluetooth_not_connected" msgid="3389882907500605937">"Accoppia con il dispositivo"</string>
     <string name="bluetooth_pairing" msgid="1426882272690346242">"Accoppiamento..."</string>
     <string name="bluetooth_paired" msgid="1247541089000057726">"Accoppiato ma non collegato"</string>
@@ -235,20 +236,34 @@
     <string name="security_settings_summary" msgid="967393342537986570">"Imposta La mia posizione, sblocco schermo, blocco SIM, blocco cred."</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Imposta La mia posizione, sblocco schermo, blocco archivio credenziali"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"Password"</string>
-    <string name="lock_settings_picker_title" msgid="3973555216065628262">"Protezione sblocco schermo"</string>
-    <string name="unlock_set_unlock_launch_picker_title" msgid="1129684221223017902">"Imposta blocco schermo"</string>
-    <string name="unlock_set_unlock_launch_picker_summary" msgid="1667332113134720845">"Blocca schermo con sequenza, PIN o password"</string>
-    <string name="unlock_set_unlock_launch_picker_change_title" msgid="6987228635944678726">"Cambia blocco schermo"</string>
-    <string name="unlock_set_unlock_launch_picker_change_summary" msgid="2790960639554590668">"Cambia o disattiva protez. tramite sequenza, PIN o password"</string>
-    <string name="unlock_set_unlock_none_title" msgid="3760684669884671990">"Nessuna"</string>
-    <string name="unlock_set_unlock_none_summary" msgid="2658550480388272618">"Disattiva protez. sblocco schermo"</string>
-    <string name="unlock_set_unlock_pattern_title" msgid="2912067603917311700">"Sequenza"</string>
-    <string name="unlock_set_unlock_pattern_summary" msgid="3018395214738645405">"Inserisci sequenza per sbloccare schermo"</string>
-    <string name="unlock_set_unlock_pin_title" msgid="5846029709462329515">"PIN"</string>
-    <string name="unlock_set_unlock_pin_summary" msgid="4131169672844263316">"Inserisci PIN num. per sbloccare schermo"</string>
-    <string name="unlock_set_unlock_password_title" msgid="8775603825675090937">"Password"</string>
-    <string name="unlock_set_unlock_password_summary" msgid="4623254789833899286">"Inserisci password per sbloccare schermo"</string>
-    <string name="unlock_set_unlock_disabled_summary" msgid="736557879526940324">"Disabilitata da ammin telefono remoto"</string>
+    <!-- no translation found for lock_settings_picker_title (3973555216065628262) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_launch_picker_title (1129684221223017902) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_launch_picker_summary (1667332113134720845) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_launch_picker_change_title (6987228635944678726) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_launch_picker_change_summary (2790960639554590668) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_none_title (3760684669884671990) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_none_summary (2658550480388272618) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_pattern_title (2912067603917311700) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_pattern_summary (3018395214738645405) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_pin_title (5846029709462329515) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_pin_summary (4131169672844263316) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_password_title (8775603825675090937) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_password_summary (4623254789833899286) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_disabled_summary (736557879526940324) -->
+    <skip />
     <string name="unlock_disable_lock_title" msgid="1427036227416979120">"Disattiva blocco schermo"</string>
     <string name="unlock_disable_lock_pattern_summary" msgid="6801602880568869201">"Rimuovi sequenza di sblocco"</string>
     <string name="unlock_disable_lock_pin_summary" msgid="8856842745366993387">"Rimuovi PIN di sblocco"</string>
@@ -320,7 +335,7 @@
     <string name="bluetooth_opp_profile_summary_use_for" msgid="1255674547144769756">"Usa per trasferimento file"</string>
     <string name="bluetooth_dock_settings" msgid="3218335822716052885">"Impostazioni dock"</string>
     <string name="bluetooth_dock_settings_title" msgid="5543069893044375188">"Usa dock per audio"</string>
-    <string name="bluetooth_dock_settings_headset" msgid="1001821426078644650">"Come vivavoce"</string>
+    <string name="bluetooth_dock_settings_headset" msgid="1001821426078644650">"Come telefono altoparlante"</string>
     <string name="bluetooth_dock_settings_a2dp" msgid="8791004998846630574">"Per musica e audio media"</string>
     <string name="bluetooth_dock_settings_remember" msgid="5551459057010609115">"Ricorda impostazioni"</string>
     <string name="wifi_quick_toggle_title" msgid="874495178395350104">"Wi-Fi"</string>
@@ -372,7 +387,7 @@
     <string name="wifi_setting_num_channels_summary" msgid="4889355096717099141">"Imposta il numero di canali da usare"</string>
     <string name="wifi_setting_num_channels_error" msgid="5765443843427870721">"Errore durante l\'impostazione del dominio regolatore."</string>
     <string name="wifi_setting_num_channels_channel_phrase" msgid="1269381923672908636">"<xliff:g id="NUM_CHANNELS">%1$d</xliff:g> Canali"</string>
-    <string name="wifi_setting_sleep_policy_title" msgid="1367731352485585528">"Sospensione Wi-Fi"</string>
+    <string name="wifi_setting_sleep_policy_title" msgid="1367731352485585528">"Criteri di sospensione Wi-Fi"</string>
     <string name="wifi_setting_sleep_policy_summary" msgid="7573693311804602041">"Specifica quando passare da Wi-Fi a dati cellulare"</string>
     <string name="wifi_setting_sleep_policy_error" msgid="5103670439972135148">"Errore durante l\'impostazione dei criteri di sospensione."</string>
     <string name="wifi_advanced_mac_address_title" msgid="6571335466330978393">"Indirizzo MAC"</string>
@@ -385,15 +400,15 @@
     <string name="wifi_dns2" msgid="1368601006824882659">"DNS 2"</string>
     <string name="wifi_gateway" msgid="163914742461092086">"Gateway"</string>
     <string name="wifi_netmask" msgid="4520635321425529085">"Maschera di rete"</string>
-    <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"Hotspot Wi-Fi portatile"</string>
-    <string name="wifi_tether_enabled_subtext" msgid="8948641212931906143">"Hotspot portatile <xliff:g id="NETWORK_SSID">%1$s</xliff:g> attivo"</string>
-    <string name="wifi_tether_failed_subtext" msgid="2654888578056042315">"Errore hotspot Wi-Fi portatile"</string>
-    <string name="wifi_tether_settings_text" msgid="123573487844470195">"Impostazioni hotspot Wi-Fi portatile"</string>
-    <string name="wifi_tether_settings_subtext" msgid="8064755682383367008">"Configura e gestisci hotspot Wi-Fi portatile"</string>
-    <string name="wifi_tether_settings_title" msgid="3749063216348284432">"Impostazioni hotspot Wi-Fi portatile"</string>
-    <string name="wifi_tether_configure_ap_text" msgid="3474995108398156258">"Configura hotspot Wi-Fi"</string>
-    <string name="wifi_tether_configure_subtext" msgid="1927454307836232128">"Hotspot Wi-Fi <xliff:g id="NETWORK_SSID">%1$s</xliff:g><xliff:g id="NETWORK_SECURITY">%2$s</xliff:g> portatile"</string>
-    <string name="wifi_tether_configure_ssid_default" msgid="8467525402622138547">"HotspotAndroid"</string>
+    <string name="wifi_tether_checkbox_text" msgid="796007268580464534">"Tethering Wi-Fi"</string>
+    <string name="wifi_tether_enabled_subtext" msgid="6758080605207549918">"Punto di accesso <xliff:g id="NETWORK_SSID">%1$s</xliff:g> attivo"</string>
+    <string name="wifi_tether_failed_subtext" msgid="4379214348183654280">"Errore tethering Wi-Fi"</string>
+    <string name="wifi_tether_settings_text" msgid="8831276059149506799">"Impostazioni tethering Wi-Fi"</string>
+    <string name="wifi_tether_settings_subtext" msgid="3415164631321782704">"Configura e gestisci punto di accesso"</string>
+    <string name="wifi_tether_settings_title" msgid="3233393750798545228">"Impostazioni tethering Wi-Fi"</string>
+    <string name="wifi_tether_configure_ap_text" msgid="7849700175083202171">"Configura AP"</string>
+    <string name="wifi_tether_configure_subtext" msgid="54089556089657247">"Punto di accesso <xliff:g id="NETWORK_SSID">%1$s</xliff:g> <xliff:g id="NETWORK_SECURITY">%2$s</xliff:g>"</string>
+    <string name="wifi_tether_configure_ssid_default" msgid="4491822321218336928">"AndroidAP"</string>
     <string name="sound_settings_title" msgid="8735891486683305886">"Audio"</string>
     <string name="display_settings_title" msgid="1708697328627382561">"Display"</string>
     <string name="sound_settings" msgid="5007659014828162881">"Impostazioni audio"</string>
@@ -401,16 +416,21 @@
     <string name="silent_mode_summary" msgid="3309650676072917899">"Disattiva tutti i suoni eccetto quelli multimediali e gli allarmi"</string>
     <string name="silent_mode_incl_alarm_summary" msgid="2088830834182228458">"Tutti i suoni eccetto quelli multimediali verranno disattivati"</string>
     <string name="ringtone_title" msgid="5379026328015343686">"Suoneria telefono"</string>
-    <string name="ringtone_summary" msgid="2630023412632683493"></string>
+    <!-- no translation found for ringtone_summary (2630023412632683493) -->
+    <skip />
     <string name="all_volume_title" msgid="8741571721868253103">"Volume"</string>
     <string name="ring_volume_title" msgid="7938706566797464165">"Volume suoneria"</string>
-    <string name="ring_volume_summary" msgid="7055497624193116879"></string>
+    <!-- no translation found for ring_volume_summary (7055497624193116879) -->
+    <skip />
     <string name="vibrate_in_silent_title" msgid="3897968069156767036">"Vibra in modalità silenziosa"</string>
     <string name="vibrate_in_silent_summary" msgid="3312600513070076281">"Consenti feedback vibrazione in modalità silenziosa"</string>
-    <string name="vibrate_title" msgid="6045820877942801599">"Vibrazione"</string>
-    <string name="vibrate_summary" msgid="7378130397830790458">"Feedback vibrazione per chiamate e notifiche"</string>
+    <!-- no translation found for vibrate_title (6045820877942801599) -->
+    <skip />
+    <!-- no translation found for vibrate_summary (7378130397830790458) -->
+    <skip />
     <string name="notification_sound_title" msgid="6316316069880531693">"Suoneria notifiche"</string>
-    <string name="notification_sound_summary" msgid="2953599929394109819"></string>
+    <!-- no translation found for notification_sound_summary (2953599929394109819) -->
+    <skip />
     <string name="notification_pulse_title" msgid="1247988024534030629">"Luce di notifica pulsante"</string>
     <string name="notification_pulse_summary" msgid="6899220780534617152">"Luce trackball pulsante ripetuta in caso di nuove notifiche"</string>
     <string name="incoming_call_volume_title" msgid="8073714801365904099">"Suoneria"</string>
@@ -438,13 +458,13 @@
     <string name="dock_settings" msgid="1820107306693002541">"Dock"</string>
     <string name="dock_settings_title" msgid="9161438664257429372">"Impostazioni dock"</string>
     <string name="dock_audio_settings_title" msgid="3324750259959570305">"Audio"</string>
-    <string name="dock_audio_summary_desk" msgid="6487784412371139335">"Impostazioni per dock da tavolo collegato"</string>
-    <string name="dock_audio_summary_car" msgid="6740897586006248450">"Impostazioni per dock auto collegato"</string>
+    <string name="dock_audio_summary_desk" msgid="6487784412371139335">"Impostazioni per desktop dock collegato"</string>
+    <string name="dock_audio_summary_car" msgid="6740897586006248450">"Impostazioni per dock automobile collegato"</string>
     <string name="dock_audio_summary_none" msgid="289909253741048784">"Telefono non inserito nel dock"</string>
     <string name="dock_audio_summary_unknown" msgid="4465059868974255693">"Impostazioni per dock collegato"</string>
     <string name="dock_not_found_title" msgid="3290961741828952424">"Dock non trovato"</string>
-    <string name="dock_not_found_text" msgid="3035260358985111855">"Il telefono deve essere inserito nel dock per configurare l\'audio"</string>
-    <string name="dock_sounds_enable_title" msgid="3659084028644948905">"Suono inserimento dock"</string>
+    <string name="dock_not_found_text" msgid="3035260358985111855">"Il telefono deve essere inserito nel dock per configurare l\'audio del dock"</string>
+    <string name="dock_sounds_enable_title" msgid="3659084028644948905">"Suono inserimento nel dock"</string>
     <string name="dock_sounds_enable_summary_on" msgid="8491180514199743771">"Riproduci suono all\'inserimento o alla rimozione del telefono dal dock"</string>
     <string name="dock_sounds_enable_summary_off" msgid="3151046599205265919">"Non riprodurre suono all\'inserimento o alla rimozione del telefono dal dock"</string>
     <string name="sync_settings" msgid="9186125469300013491">"Account e sincronizzaz."</string>
@@ -481,12 +501,13 @@
     <string name="sim_pins_dont_match" msgid="4664611595579163214">"I PIN non corrispondono."</string>
     <string name="sim_change_failed" msgid="4823538458798362222">"Impossibile cambiare il PIN."\n"Il PIN potrebbe essere errato."</string>
     <string name="sim_change_succeeded" msgid="8556135413096489627">"PIN della SIM modificato"</string>
-    <string name="sim_lock_failed" msgid="6676748290838006404">\n"Impossibile modificare lo stato di blocco della SIM."\n"Il PIN potrebbe essere errato."</string>
+    <string name="sim_lock_failed" msgid="6676748290838006404">"Impossibile modificare lo stato di blocco della SIM."\n"Il PIN potrebbe essere errato."</string>
     <string name="sim_enter_ok" msgid="6475946836899218919">"OK"</string>
     <string name="sim_enter_cancel" msgid="6240422158517208036">"Annulla"</string>
     <string name="device_info_settings" msgid="475872867864762157">"Stato telefono"</string>
     <string name="system_update_settings_list_item_title" msgid="3342887311059985961">"Aggiornamenti sistema"</string>
-    <string name="system_update_settings_list_item_summary" msgid="3853057315907710747"></string>
+    <!-- no translation found for system_update_settings_list_item_summary (3853057315907710747) -->
+    <skip />
     <string name="firmware_version" msgid="4801135784886859972">"Versione di Android"</string>
     <string name="model_number" msgid="3765737700545384794">"Numero modello"</string>
     <string name="baseband_version" msgid="1848990160763524801">"Versione banda di base"</string>
@@ -541,7 +562,7 @@
     <string name="apn_not_set" msgid="7422262558097875757">"&lt;Non impostato&gt;"</string>
     <string name="apn_name" msgid="4115580098369824123">"Nome"</string>
     <string name="apn_apn" msgid="2479425126733513353">"APN"</string>
-    <string name="apn_http_proxy" msgid="1826885957243696354">"Proxy "</string>
+    <string name="apn_http_proxy" msgid="1826885957243696354">"Proxy"</string>
     <string name="apn_http_port" msgid="3763259523984976226">"Porta"</string>
     <string name="apn_user" msgid="455637547356117761">"Nome utente"</string>
     <string name="apn_password" msgid="5412301994998250968">"Password"</string>
@@ -588,12 +609,9 @@
     <string name="media_format_gesture_explanation" msgid="4239529439389660159">"Per confermare la formattazione della scheda SD devi inserire la sequenza di sblocco."</string>
     <string name="call_settings_title" msgid="5188713413939232801">"Impostazioni chiamate"</string>
     <string name="call_settings_summary" msgid="7291195704801002886">"Imposta segreteria, deviazione chiamate, avviso di chiamata, ID chiamante"</string>
-    <string name="tether_settings_title_usb" msgid="4315031513434087777">"Tethering"</string>
-    <string name="tether_settings_title_wifi" msgid="3277144155960302049">"Hotspot portatile"</string>
-    <string name="tether_settings_title_both" msgid="2734066355556891504">"Tethering e hotspot portatile"</string>
-    <string name="tether_settings_summary_usb" msgid="3562431455625637370">"Condividi la connessione dati del cellulare tramite USB"</string>
-    <string name="tether_settings_summary_wifi" msgid="4690912027002467246">"Condividi la connessione mobile del cellulare come hotspot Wi-Fi portatile"</string>
-    <string name="tether_settings_summary_both" msgid="7460063951190682635">"Condividi la connessione dati del cellulare tramite USB oppure hotspot Wi-Fi portatile"</string>
+    <string name="tether_settings_title" msgid="8703982377504005349">"Tethering"</string>
+    <string name="tether_settings_summary" msgid="6679594629002850490">"Imposta e gestisci tethering"</string>
+    <string name="tether_screen_title" msgid="1521966915332491855">"Impostazioni di tethering"</string>
     <string name="usb_title" msgid="7483344855356312510">"USB"</string>
     <string name="usb_tethering_button_text" msgid="585829947108007917">"Tethering USB"</string>
     <string name="usb_tethering_available_subtext" msgid="156779271296152605">"USB collegata, seleziona per impostare tethering"</string>
@@ -601,7 +619,7 @@
     <string name="usb_tethering_storage_active_subtext" msgid="6608933594288072573">"Tethering non possibile quando è in uso la memorizzazione USB"</string>
     <string name="usb_tethering_unavailable_subtext" msgid="1044622421184007254">"USB non connessa"</string>
     <string name="usb_tethering_errored_subtext" msgid="1377574819427841992">"Errore tethering USB"</string>
-    <string name="tethering_help_button_text" msgid="656117495547173630">"Guida"</string>
+    <string name="tethering_help_button_text" msgid="7322604807045355030">"Guida sul tethering"</string>
     <string name="network_settings_title" msgid="7967552516440151852">"Reti mobili"</string>
     <string name="network_settings_summary" msgid="5149750850846813553">"Imposta le opzioni per roaming, reti e APN"</string>
     <string name="location_title" msgid="1029961368397484576">"La mia posizione"</string>
@@ -675,7 +693,7 @@
     <string name="manageapplications_settings_summary" msgid="6097117021500651232">"Gestisci e rimuovi applicazioni installate"</string>
     <string name="applications_settings" msgid="3736173521008476946">"Applicazioni"</string>
     <string name="applications_settings_summary" msgid="2714215108369119717">"Gestisci le applicazioni, imposta le scorciatoie di avvio rapido"</string>
-    <string name="applications_settings_header" msgid="6018266337275422250">"Impostazioni applicazioni"</string>
+    <string name="applications_settings_header" msgid="6018266337275422250">"Impostazioni applicazione"</string>
     <string name="install_applications" msgid="4872012136210802181">"Origini sconosciute"</string>
     <string name="install_unknown_applications" msgid="6612824788917283662">"Consenti l\'installazione di applicazioni non presenti in Market"</string>
     <string name="install_all_warning" msgid="1923717607319933741">"Il telefono e i dati personali sono più vulnerabili agli attacchi da parte di applicazioni di origini sconosciute. L\'utente accetta di essere il solo responsabile degli eventuali danni al telefono o della perdita dei dati che potrebbero derivare dall\'utilizzo di queste applicazioni."</string>
@@ -759,7 +777,8 @@
     <string name="language_category" msgid="3391756582724541530">"Impostazioni lingua"</string>
     <string name="text_category" msgid="6342540511465136739">"Impostazioni testo"</string>
     <string name="phone_language" msgid="1165758957501090679">"Seleziona lingua"</string>
-    <string name="phone_language_summary" msgid="3871309445655554211"></string>
+    <!-- no translation found for phone_language_summary (3871309445655554211) -->
+    <skip />
     <string name="auto_replace" msgid="6199184757891937822">"Sostituzione automatica"</string>
     <string name="auto_replace_summary" msgid="370288728200084466">"Corregge le parole con errori di ortografia"</string>
     <string name="auto_caps" msgid="581633131114124121">"Maiuscola automatica"</string>
@@ -772,7 +791,8 @@
     <string name="ime_security_warning" msgid="812267421486877917">"Questo metodo di inserimento potrebbe riuscire a raccogliere tutto il testo digitato, compresi i dati personali come password e numeri di carte di credito. Deriva dall\'applicazione <xliff:g id="IME_APPLICATION_NAME">%1$s</xliff:g>. Utilizzare questo metodo di inserimento?"</string>
     <string name="user_dict_settings_titlebar" msgid="765659257455000490">"Dizionario utente"</string>
     <string name="user_dict_settings_title" msgid="8357027437499042191">"Dizionario utente"</string>
-    <string name="user_dict_settings_summary" msgid="7965571192902870454"></string>
+    <!-- no translation found for user_dict_settings_summary (7965571192902870454) -->
+    <skip />
     <string name="user_dict_settings_add_menu_title" msgid="4056762757149923551">"Aggiungi"</string>
     <string name="user_dict_settings_add_dialog_title" msgid="4702613990174126482">"Aggiungi al dizionario"</string>
     <string name="user_dict_settings_edit_dialog_title" msgid="8967476444840548674">"Modifica parola"</string>
@@ -859,7 +879,7 @@
     <string name="accessibility_service_no_apps_title" msgid="898893674114288531">"Nessuna applicazione di accesso facilitato trovata"</string>
     <string name="accessibility_service_no_apps_message" msgid="2450056749545404807">"Nessuna applicazione di accesso facilitato installata."\n\n"Puoi scaricare uno screen reader per il tuo dispositivo da Android Market."\n\n"Fai clic su OK per installare lo screen reader."</string>
     <string name="accessibility_power_button_category" msgid="8545885236482339928">"Pulsante di accensione"</string>
-    <string name="accessibility_power_button_ends_call" msgid="7698764194501089533">"Termina chiamata"</string>
+    <string name="accessibility_power_button_ends_call" msgid="7698764194501089533">"Il pulsante di accensione termina la chiamata"</string>
     <string name="accessibility_power_button_ends_call_summary" msgid="8878097632186291462">"Durante una chiamata, la pressione del pulsante di accensione termina la chiamata invece di spegnere lo schermo"</string>
     <string name="power_usage_summary_title" msgid="5180282911164282324">"Utilizzo batteria"</string>
     <string name="power_usage_summary" msgid="7237084831082848168">"Consumo batteria"</string>
@@ -1068,12 +1088,25 @@
     <string name="credentials_erased" msgid="7700309135582200849">"L\'archivio di credenziali è cancellato."</string>
     <string name="credentials_enabled" msgid="7588607413349978930">"L\'archivio di credenziali è attivo."</string>
     <string name="credentials_disabled" msgid="7453188089059045380">"L\'archivio di credenziali non è attivo."</string>
-    <string name="emergency_tone_title" msgid="1055954530111587114">"Tono chiamate emergenza"</string>
+    <string name="encrypted_fs_category" msgid="1841367653663913956">"File system crittografato"</string>
+    <string name="encrypted_fs_enable" msgid="3884033081603327729">"Crittografa dati privati utente"</string>
+    <string name="encrypted_fs_enable_summary" msgid="5635188119509076089">"Abilita l\'archiviazione dei file system crittografati per i dati privati dell\'utente in questo dispositivo"</string>
+    <string name="encrypted_fs_enable_dialog" msgid="919487211207214266">"Per l\'attivazione dei file system crittografati è necessaria la cancellazione dei dati del dispositivo."</string>
+    <string name="encrypted_fs_disable_dialog" msgid="6960413613985682501">"Per la disattivazione dei file system crittografati è necessaria la cancellazione dei dati del dispositivo."</string>
+    <string name="encrypted_fs_enable_button" msgid="8453841319751433751">"Attiva"</string>
+    <string name="encrypted_fs_disable_button" msgid="8468354944060220496">"Disattiva"</string>
+    <string name="encrypted_fs_cancel_button" msgid="4785921255266305799">"Annulla"</string>
+    <string name="encrypted_fs_cancel_confirm" msgid="853572431153803557">"Modifica della modalità dei file system crittografati annullata."</string>
+    <string name="encrypted_fs_alert_dialog_title" msgid="583462447886934755">"Avviso file system crittografati."</string>
+    <string name="emergency_tone_title" msgid="1055954530111587114">"Tono chiamate di emergenza"</string>
     <string name="emergency_tone_summary" msgid="722259232924572153">"Imposta il comportamento in caso di chiamata di emergenza"</string>
     <string name="privacy_settings" msgid="9206631214140954954">"Privacy"</string>
     <string name="privacy_settings_title" msgid="1987089301293213705">"Impostazioni privacy"</string>
+    <string name="backup_section_title" msgid="717834414028702406">"Backup e ripristino"</string>
     <string name="personal_data_section_title" msgid="7815209034443782061">"Dati personali"</string>
+    <string name="backup_settings_title" msgid="2968262658155327829">"Backup delle mie impost."</string>
     <string name="auto_restore_title" msgid="5397528966329126506">"Ripristino automatico"</string>
+    <string name="auto_restore_summary" msgid="2029683590724508019">"Ripristina i dati delle applicazioni dalla copia di backup al momento dell\'installazione"</string>
     <string name="backup_erase_dialog_title" msgid="3438255037256586237">"Copia di backup"</string>
     <string name="backup_erase_dialog_message" msgid="2948090854996352245">"Interrompere il backup delle impostazioni e dei dati delle applicazioni e cancellare tutte le copie sui server Google?"</string>
     <string name="device_admin_settings_title" msgid="1335557832906433309">"Impostazioni di amministrazione dispositivo"</string>
@@ -1087,8 +1120,12 @@
     <string name="device_admin_warning" msgid="1149471041373876923">"L\'attivazione di questo amministratore consentirà all\'applicazione <xliff:g id="APP_NAME">%1$s</xliff:g> di eseguire le seguenti operazioni:"</string>
     <string name="device_admin_status" msgid="7169948053970923035">"Questo amministratore è attivo e consente all\'applicazione <xliff:g id="APP_NAME">%1$s</xliff:g> di eseguire le seguenti operazioni:"</string>
     <string name="untitled_apn" msgid="1230060359198685513">"Senza titolo"</string>
-    <string name="sound_category_sound_title" msgid="1488759370067953996">"Generali"</string>
-    <string name="sound_category_calls_title" msgid="3688531959256239012">"Chiamate in arrivo"</string>
-    <string name="sound_category_notification_title" msgid="3502115998790286943">"Notifiche"</string>
-    <string name="sound_category_feedback_title" msgid="4399742321363475393">"Commenti"</string>
+    <!-- no translation found for sound_category_sound_title (1488759370067953996) -->
+    <skip />
+    <!-- no translation found for sound_category_calls_title (3688531959256239012) -->
+    <skip />
+    <!-- no translation found for sound_category_notification_title (3502115998790286943) -->
+    <skip />
+    <!-- no translation found for sound_category_feedback_title (4399742321363475393) -->
+    <skip />
 </resources>
diff --git a/res/values-ja/arrays.xml b/res/values-ja/arrays.xml
index b508452..a8da691 100644
--- a/res/values-ja/arrays.xml
+++ b/res/values-ja/arrays.xml
@@ -69,30 +69,8 @@
     <item msgid="5972100016440094433">"イタリア語"</item>
     <item msgid="5811378076054402537">"スペイン語"</item>
   </string-array>
-  <string-array name="wifi_status">
-    <item msgid="1922181315419294640"></item>
-    <item msgid="8934131797783724664">"スキャン中..."</item>
-    <item msgid="8513729475867537913">"接続中..."</item>
-    <item msgid="515055375277271756">"認証中..."</item>
-    <item msgid="1943354004029184381">"IPアドレスを取得中..."</item>
-    <item msgid="4221763391123233270">"接続されました"</item>
-    <item msgid="624838831631122137">"保留中"</item>
-    <item msgid="7979680559596111948">"切断中..."</item>
-    <item msgid="1634960474403853625">"切断されました"</item>
-    <item msgid="746097431216080650">"失敗しました"</item>
-  </string-array>
-  <string-array name="wifi_status_with_ssid">
-    <item msgid="7714855332363650812"></item>
-    <item msgid="8878186979715711006">"スキャン中..."</item>
-    <item msgid="355508996603873860">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g>に接続中..."</item>
-    <item msgid="554971459996405634">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g>による認証中..."</item>
-    <item msgid="7928343808033020343">"IPアドレスを<xliff:g id="NETWORK_NAME">%1$s</xliff:g>から取得中..."</item>
-    <item msgid="8937994881315223448">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g>に接続されました"</item>
-    <item msgid="1330262655415760617">"保留中"</item>
-    <item msgid="7698638434317271902">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g>から切断中..."</item>
-    <item msgid="197508606402264311">"切断されました"</item>
-    <item msgid="8578370891960825148">"失敗しました"</item>
-  </string-array>
+    <!-- no translation found for wifi_status:0 (1922181315419294640) -->
+    <!-- no translation found for wifi_status_with_ssid:0 (7714855332363650812) -->
   <string-array name="wifi_security">
     <item msgid="1435933968767043814">"なし"</item>
     <item msgid="6318432659048829665">"WEP"</item>
@@ -161,10 +139,7 @@
     <item msgid="3738430123799803530">"リムーバブルSDカード"</item>
     <item msgid="4498124044785815005">"システムで判断する"</item>
   </string-array>
-  <string-array name="vibrate_entries">
-    <item msgid="3388952299521009213">"常に使用"</item>
-    <item msgid="6293147072807231256">"なし"</item>
-    <item msgid="1276641209451816572">"マナーモードでのみ"</item>
-    <item msgid="8418930333779132418">"マナーモードのときのみ"</item>
-  </string-array>
+    <!-- no translation found for vibrate_entries:1 (6293147072807231256) -->
+    <!-- no translation found for vibrate_entries:2 (1276641209451816572) -->
+    <!-- no translation found for vibrate_entries:3 (8418930333779132418) -->
 </resources>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index da1cc33..f5d4352 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -99,7 +99,8 @@
     <string name="bluetooth_disconnected" msgid="6557104142667339895">"切断"</string>
     <string name="bluetooth_disconnecting" msgid="8913264760027764974">"切断中..."</string>
     <string name="bluetooth_connecting" msgid="8555009514614320497">"接続中..."</string>
-    <string name="bluetooth_unknown" msgid="644716244548801421"></string>
+    <!-- no translation found for bluetooth_unknown (644716244548801421) -->
+    <skip />
     <string name="bluetooth_not_connected" msgid="3389882907500605937">"この端末をペアに設定する"</string>
     <string name="bluetooth_pairing" msgid="1426882272690346242">"ペアとして設定中..."</string>
     <string name="bluetooth_paired" msgid="1247541089000057726">"ペア設定、非接続"</string>
@@ -235,20 +236,32 @@
     <string name="security_settings_summary" msgid="967393342537986570">"現在地、画面ロック、SIMカードロック、認証情報ストレージのロック"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"現在地、画面のロック解除、認証情報ストレージのロックを設定します"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"パスワード"</string>
-    <string name="lock_settings_picker_title" msgid="3973555216065628262">"画面のロック解除セキュリティ"</string>
-    <string name="unlock_set_unlock_launch_picker_title" msgid="1129684221223017902">"画面ロックの設定"</string>
-    <string name="unlock_set_unlock_launch_picker_summary" msgid="1667332113134720845">"パターン、PIN、またはパスワードで画面をロック"</string>
+    <!-- no translation found for lock_settings_picker_title (3973555216065628262) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_launch_picker_title (1129684221223017902) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_launch_picker_summary (1667332113134720845) -->
+    <skip />
     <string name="unlock_set_unlock_launch_picker_change_title" msgid="6987228635944678726">"画面ロックの変更"</string>
     <string name="unlock_set_unlock_launch_picker_change_summary" msgid="2790960639554590668">"パターン、PIN、パスワードセキュリティを変更または無効にする"</string>
-    <string name="unlock_set_unlock_none_title" msgid="3760684669884671990">"なし"</string>
-    <string name="unlock_set_unlock_none_summary" msgid="2658550480388272618">"画面のロック解除セキュリティを無効にする"</string>
-    <string name="unlock_set_unlock_pattern_title" msgid="2912067603917311700">"パターン"</string>
-    <string name="unlock_set_unlock_pattern_summary" msgid="3018395214738645405">"パターンの入力で画面ロックを解除する"</string>
-    <string name="unlock_set_unlock_pin_title" msgid="5846029709462329515">"PIN"</string>
-    <string name="unlock_set_unlock_pin_summary" msgid="4131169672844263316">"数値PINの入力で画面ロックを解除する"</string>
-    <string name="unlock_set_unlock_password_title" msgid="8775603825675090937">"パスワード"</string>
-    <string name="unlock_set_unlock_password_summary" msgid="4623254789833899286">"パスワードの入力で画面ロックを解除する"</string>
-    <string name="unlock_set_unlock_disabled_summary" msgid="736557879526940324">"リモートの電話管理者が無効にしました"</string>
+    <!-- no translation found for unlock_set_unlock_none_title (3760684669884671990) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_none_summary (2658550480388272618) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_pattern_title (2912067603917311700) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_pattern_summary (3018395214738645405) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_pin_title (5846029709462329515) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_pin_summary (4131169672844263316) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_password_title (8775603825675090937) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_password_summary (4623254789833899286) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_disabled_summary (736557879526940324) -->
+    <skip />
     <string name="unlock_disable_lock_title" msgid="1427036227416979120">"画面ロックをOFFにする"</string>
     <string name="unlock_disable_lock_pattern_summary" msgid="6801602880568869201">"ロック解除パターンを削除"</string>
     <string name="unlock_disable_lock_pin_summary" msgid="8856842745366993387">"ロック解除PINを削除"</string>
@@ -385,15 +398,15 @@
     <string name="wifi_dns2" msgid="1368601006824882659">"DNS 2"</string>
     <string name="wifi_gateway" msgid="163914742461092086">"ゲートウェイ"</string>
     <string name="wifi_netmask" msgid="4520635321425529085">"ネットマスク"</string>
-    <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"ポータブルWi-Fiアクセスポイント"</string>
-    <string name="wifi_tether_enabled_subtext" msgid="8948641212931906143">"ポータブルアクセスポイント<xliff:g id="NETWORK_SSID">%1$s</xliff:g>が有効です"</string>
-    <string name="wifi_tether_failed_subtext" msgid="2654888578056042315">"ポータブルWi-Fiアクセスポイントエラー"</string>
-    <string name="wifi_tether_settings_text" msgid="123573487844470195">"ポータブルWi-Fiアクセスポイントの設定"</string>
-    <string name="wifi_tether_settings_subtext" msgid="8064755682383367008">"ポータブルWi-Fiアクセスポイントのセットアップと管理"</string>
-    <string name="wifi_tether_settings_title" msgid="3749063216348284432">"ポータブルWi-Fiアクセスポイントの設定"</string>
-    <string name="wifi_tether_configure_ap_text" msgid="3474995108398156258">"Wi-Fiアクセスポイントを設定"</string>
-    <string name="wifi_tether_configure_subtext" msgid="1927454307836232128">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> <xliff:g id="NETWORK_SECURITY">%2$s</xliff:g>ポータブルWi-Fiアクセスポイント"</string>
-    <string name="wifi_tether_configure_ssid_default" msgid="8467525402622138547">"AndroidHotspot"</string>
+    <string name="wifi_tether_checkbox_text" msgid="796007268580464534">"Wi-Fiテザリング"</string>
+    <string name="wifi_tether_enabled_subtext" msgid="6758080605207549918">"アクセスポイント<xliff:g id="NETWORK_SSID">%1$s</xliff:g>が有効です"</string>
+    <string name="wifi_tether_failed_subtext" msgid="4379214348183654280">"Wi-Fiテザリングエラー"</string>
+    <string name="wifi_tether_settings_text" msgid="8831276059149506799">"Wi-Fiテザリング設定"</string>
+    <string name="wifi_tether_settings_subtext" msgid="3415164631321782704">"アクセスポイントのセットアップと管理"</string>
+    <string name="wifi_tether_settings_title" msgid="3233393750798545228">"Wi-Fiテザリング設定"</string>
+    <string name="wifi_tether_configure_ap_text" msgid="7849700175083202171">"APの設定"</string>
+    <string name="wifi_tether_configure_subtext" msgid="54089556089657247">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g><xliff:g id="NETWORK_SECURITY">%2$s</xliff:g>アクセスポイント"</string>
+    <string name="wifi_tether_configure_ssid_default" msgid="4491822321218336928">"AndroidAP"</string>
     <string name="sound_settings_title" msgid="8735891486683305886">"音"</string>
     <string name="display_settings_title" msgid="1708697328627382561">"表示"</string>
     <string name="sound_settings" msgid="5007659014828162881">"音の設定"</string>
@@ -401,16 +414,21 @@
     <string name="silent_mode_summary" msgid="3309650676072917899">"音楽、動画メディア、アラーム以外は消音"</string>
     <string name="silent_mode_incl_alarm_summary" msgid="2088830834182228458">"音楽と動画メディア以外は消音"</string>
     <string name="ringtone_title" msgid="5379026328015343686">"着信音"</string>
-    <string name="ringtone_summary" msgid="2630023412632683493"></string>
+    <!-- no translation found for ringtone_summary (2630023412632683493) -->
+    <skip />
     <string name="all_volume_title" msgid="8741571721868253103">"音量"</string>
     <string name="ring_volume_title" msgid="7938706566797464165">"着信音量"</string>
-    <string name="ring_volume_summary" msgid="7055497624193116879"></string>
+    <!-- no translation found for ring_volume_summary (7055497624193116879) -->
+    <skip />
     <string name="vibrate_in_silent_title" msgid="3897968069156767036">"マナーモード時のバイブレーション"</string>
     <string name="vibrate_in_silent_summary" msgid="3312600513070076281">"マナーモード中の入力時バイブレーションを許可する"</string>
-    <string name="vibrate_title" msgid="6045820877942801599">"バイブ"</string>
-    <string name="vibrate_summary" msgid="7378130397830790458">"着信や通知をバイブレーションで知らせる"</string>
+    <!-- no translation found for vibrate_title (6045820877942801599) -->
+    <skip />
+    <!-- no translation found for vibrate_summary (7378130397830790458) -->
+    <skip />
     <string name="notification_sound_title" msgid="6316316069880531693">"通知音"</string>
-    <string name="notification_sound_summary" msgid="2953599929394109819"></string>
+    <!-- no translation found for notification_sound_summary (2953599929394109819) -->
+    <skip />
     <string name="notification_pulse_title" msgid="1247988024534030629">"光を点滅させて通知"</string>
     <string name="notification_pulse_summary" msgid="6899220780534617152">"新しい通知が届くとカーソルボタンが点滅します"</string>
     <string name="incoming_call_volume_title" msgid="8073714801365904099">"着信音"</string>
@@ -486,7 +504,8 @@
     <string name="sim_enter_cancel" msgid="6240422158517208036">"キャンセル"</string>
     <string name="device_info_settings" msgid="475872867864762157">"端末の状態"</string>
     <string name="system_update_settings_list_item_title" msgid="3342887311059985961">"システムアップデート"</string>
-    <string name="system_update_settings_list_item_summary" msgid="3853057315907710747"></string>
+    <!-- no translation found for system_update_settings_list_item_summary (3853057315907710747) -->
+    <skip />
     <string name="firmware_version" msgid="4801135784886859972">"Androidバージョン"</string>
     <string name="model_number" msgid="3765737700545384794">"モデル番号"</string>
     <string name="baseband_version" msgid="1848990160763524801">"ベースバンドバージョン"</string>
@@ -588,12 +607,9 @@
     <string name="media_format_gesture_explanation" msgid="4239529439389660159">"ロック解除パターンを入力してSDカードのフォーマット実行を確認する必要があります。"</string>
     <string name="call_settings_title" msgid="5188713413939232801">"通話設定"</string>
     <string name="call_settings_summary" msgid="7291195704801002886">"ボイスメール、着信転送、発信者番号など"</string>
-    <string name="tether_settings_title_usb" msgid="4315031513434087777">"テザリング"</string>
-    <string name="tether_settings_title_wifi" msgid="3277144155960302049">"ポータブルアクセスポイント"</string>
-    <string name="tether_settings_title_both" msgid="2734066355556891504">"テザリングとポータブルアクセスポイント"</string>
-    <string name="tether_settings_summary_usb" msgid="3562431455625637370">"携帯のデータ通信をUSB経由で共有する"</string>
-    <string name="tether_settings_summary_wifi" msgid="4690912027002467246">"携帯のデータ通信をポータブルWi-Fiアクセスポイントとして共有する"</string>
-    <string name="tether_settings_summary_both" msgid="7460063951190682635">"携帯のデータ通信をUSB経由で、またはポータブルWi-Fiアクセスポイントとして共有する"</string>
+    <string name="tether_settings_title" msgid="8703982377504005349">"テザリング"</string>
+    <string name="tether_settings_summary" msgid="6679594629002850490">"テザリングのセットアップと管理"</string>
+    <string name="tether_screen_title" msgid="1521966915332491855">"テザリングの設定"</string>
     <string name="usb_title" msgid="7483344855356312510">"USB"</string>
     <string name="usb_tethering_button_text" msgid="585829947108007917">"USBテザリング"</string>
     <string name="usb_tethering_available_subtext" msgid="156779271296152605">"USB接続済み、テザリングするには選択"</string>
@@ -601,11 +617,11 @@
     <string name="usb_tethering_storage_active_subtext" msgid="6608933594288072573">"USBストレージの使用中はテザリングできません"</string>
     <string name="usb_tethering_unavailable_subtext" msgid="1044622421184007254">"USBが接続されていません"</string>
     <string name="usb_tethering_errored_subtext" msgid="1377574819427841992">"USBテザリングエラー"</string>
-    <string name="tethering_help_button_text" msgid="656117495547173630">"ヘルプ"</string>
+    <string name="tethering_help_button_text" msgid="7322604807045355030">"テザリングヘルプ"</string>
     <string name="network_settings_title" msgid="7967552516440151852">"モバイルネットワーク"</string>
     <string name="network_settings_summary" msgid="5149750850846813553">"ローミング、ネットワーク、APN設定"</string>
     <string name="location_title" msgid="1029961368397484576">"現在地"</string>
-    <string name="location_network_based" msgid="8815705866861993344">"無線ネットワークを使用"</string>
+    <string name="location_network_based" msgid="8815705866861993344">"ワイヤレスネットワークを使用"</string>
     <string name="location_networks_disabled" msgid="2708968452901433980">"無線ネットワーク使用のアプリケーション（地図など）で位置を表示する"</string>
     <string name="location_neighborhood_level" msgid="4656658097932515921">"Wi-Fi/モバイルネットワークで位置を検出する"</string>
     <string name="location_gps" msgid="6296125378829097831">"GPS機能を使用"</string>
@@ -759,7 +775,8 @@
     <string name="language_category" msgid="3391756582724541530">"地域/言語設定"</string>
     <string name="text_category" msgid="6342540511465136739">"文字入力設定"</string>
     <string name="phone_language" msgid="1165758957501090679">"言語を選択"</string>
-    <string name="phone_language_summary" msgid="3871309445655554211"></string>
+    <!-- no translation found for phone_language_summary (3871309445655554211) -->
+    <skip />
     <string name="auto_replace" msgid="6199184757891937822">"自動修正"</string>
     <string name="auto_replace_summary" msgid="370288728200084466">"入力間違いを自動修正する"</string>
     <string name="auto_caps" msgid="581633131114124121">"自動大文字変換"</string>
@@ -772,7 +789,8 @@
     <string name="ime_security_warning" msgid="812267421486877917">"この入力方法を選択すると、入力する全文字列の収集をアプリケーション（<xliff:g id="IME_APPLICATION_NAME">%1$s</xliff:g>）に許可することになります。これにはパスワードやクレジットカード番号などの個人情報も含まれます。この入力方法を使用しますか？"</string>
     <string name="user_dict_settings_titlebar" msgid="765659257455000490">"ユーザー辞書"</string>
     <string name="user_dict_settings_title" msgid="8357027437499042191">"ユーザー辞書"</string>
-    <string name="user_dict_settings_summary" msgid="7965571192902870454"></string>
+    <!-- no translation found for user_dict_settings_summary (7965571192902870454) -->
+    <skip />
     <string name="user_dict_settings_add_menu_title" msgid="4056762757149923551">"追加"</string>
     <string name="user_dict_settings_add_dialog_title" msgid="4702613990174126482">"辞書に追加"</string>
     <string name="user_dict_settings_edit_dialog_title" msgid="8967476444840548674">"語句の編集"</string>
@@ -1068,12 +1086,25 @@
     <string name="credentials_erased" msgid="7700309135582200849">"認証情報ストレージが消去されました。"</string>
     <string name="credentials_enabled" msgid="7588607413349978930">"認証情報ストレージが有効になりました。"</string>
     <string name="credentials_disabled" msgid="7453188089059045380">"認証情報ストレージが無効になりました。"</string>
+    <string name="encrypted_fs_category" msgid="1841367653663913956">"暗号化ファイルシステム"</string>
+    <string name="encrypted_fs_enable" msgid="3884033081603327729">"個人データの暗号化"</string>
+    <string name="encrypted_fs_enable_summary" msgid="5635188119509076089">"この携帯電話の個人データを格納するために暗号化ファイルシステムを有効にする"</string>
+    <string name="encrypted_fs_enable_dialog" msgid="919487211207214266">"暗号化ファイルシステムを有効にするには、携帯電話データの消去が必要です。"</string>
+    <string name="encrypted_fs_disable_dialog" msgid="6960413613985682501">"暗号化ファイルシステムを無効にするには、携帯電話データの消去が必要です。"</string>
+    <string name="encrypted_fs_enable_button" msgid="8453841319751433751">"有効にする"</string>
+    <string name="encrypted_fs_disable_button" msgid="8468354944060220496">"無効にする"</string>
+    <string name="encrypted_fs_cancel_button" msgid="4785921255266305799">"キャンセル"</string>
+    <string name="encrypted_fs_cancel_confirm" msgid="853572431153803557">"暗号化ファイルシステムのモードの変更がキャンセルされました。"</string>
+    <string name="encrypted_fs_alert_dialog_title" msgid="583462447886934755">"暗号化ファイルシステムの警告。"</string>
     <string name="emergency_tone_title" msgid="1055954530111587114">"緊急時の音"</string>
     <string name="emergency_tone_summary" msgid="722259232924572153">"緊急通報時の動作を設定します"</string>
     <string name="privacy_settings" msgid="9206631214140954954">"プライバシー"</string>
     <string name="privacy_settings_title" msgid="1987089301293213705">"プライバシーの設定"</string>
+    <string name="backup_section_title" msgid="717834414028702406">"バックアップと復元"</string>
     <string name="personal_data_section_title" msgid="7815209034443782061">"個人データ"</string>
+    <string name="backup_settings_title" msgid="2968262658155327829">"設定のバックアップ"</string>
     <string name="auto_restore_title" msgid="5397528966329126506">"自動復元"</string>
+    <string name="auto_restore_summary" msgid="2029683590724508019">"インストール時のバックアップからアプリケーションのデータを復元する"</string>
     <string name="backup_erase_dialog_title" msgid="3438255037256586237">"バックアップ"</string>
     <string name="backup_erase_dialog_message" msgid="2948090854996352245">"設定とアプリケーションデータのバックアップを停止し、Googleサーバー上のすべてのコピーを消去してもよろしいですか？"</string>
     <string name="device_admin_settings_title" msgid="1335557832906433309">"デバイス管理の設定"</string>
@@ -1087,8 +1118,12 @@
     <string name="device_admin_warning" msgid="1149471041373876923">"この管理者を有効にすると、アプリケーション<xliff:g id="APP_NAME">%1$s</xliff:g>で次の操作が可能になります:"</string>
     <string name="device_admin_status" msgid="7169948053970923035">"この管理者は有効であり、アプリケーション<xliff:g id="APP_NAME">%1$s</xliff:g>に次の操作を許可できます:"</string>
     <string name="untitled_apn" msgid="1230060359198685513">"無題"</string>
-    <string name="sound_category_sound_title" msgid="1488759370067953996">"全般"</string>
-    <string name="sound_category_calls_title" msgid="3688531959256239012">"着信"</string>
-    <string name="sound_category_notification_title" msgid="3502115998790286943">"通知"</string>
-    <string name="sound_category_feedback_title" msgid="4399742321363475393">"フィードバック"</string>
+    <!-- no translation found for sound_category_sound_title (1488759370067953996) -->
+    <skip />
+    <!-- no translation found for sound_category_calls_title (3688531959256239012) -->
+    <skip />
+    <!-- no translation found for sound_category_notification_title (3502115998790286943) -->
+    <skip />
+    <!-- no translation found for sound_category_feedback_title (4399742321363475393) -->
+    <skip />
 </resources>
diff --git a/res/values-ko/arrays.xml b/res/values-ko/arrays.xml
index 99d4a31..9b1ac42 100644
--- a/res/values-ko/arrays.xml
+++ b/res/values-ko/arrays.xml
@@ -69,32 +69,10 @@
     <item msgid="5972100016440094433">"이탈리아어"</item>
     <item msgid="5811378076054402537">"스페인어"</item>
   </string-array>
-  <string-array name="wifi_status">
-    <item msgid="1922181315419294640"></item>
-    <item msgid="8934131797783724664">"검색 중..."</item>
-    <item msgid="8513729475867537913">"연결 중…"</item>
-    <item msgid="515055375277271756">"인증하는 중..."</item>
-    <item msgid="1943354004029184381">"IP 주소를 가져오는 중..."</item>
-    <item msgid="4221763391123233270">"연결됨"</item>
-    <item msgid="624838831631122137">"일시 정지됨"</item>
-    <item msgid="7979680559596111948">"연결을 끊는 중…"</item>
-    <item msgid="1634960474403853625">"연결 끊김"</item>
-    <item msgid="746097431216080650">"실패"</item>
-  </string-array>
-  <string-array name="wifi_status_with_ssid">
-    <item msgid="7714855332363650812"></item>
-    <item msgid="8878186979715711006">"검색 중..."</item>
-    <item msgid="355508996603873860">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g>에 연결 중..."</item>
-    <item msgid="554971459996405634">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g>에서 인증하는 중..."</item>
-    <item msgid="7928343808033020343">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g>에서 IP 주소를 가져오는 중..."</item>
-    <item msgid="8937994881315223448">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g>에 연결됨"</item>
-    <item msgid="1330262655415760617">"일시 정지됨"</item>
-    <item msgid="7698638434317271902">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g>에서 연결을 끊는 중..."</item>
-    <item msgid="197508606402264311">"연결 끊김"</item>
-    <item msgid="8578370891960825148">"실패"</item>
-  </string-array>
+    <!-- no translation found for wifi_status:0 (1922181315419294640) -->
+    <!-- no translation found for wifi_status_with_ssid:0 (7714855332363650812) -->
   <string-array name="wifi_security">
-    <item msgid="1435933968767043814">"개방형"</item>
+    <item msgid="1435933968767043814">"열기"</item>
     <item msgid="6318432659048829665">"WEP"</item>
     <item msgid="2966395706508338179">"WPA/WPA2 PSK"</item>
     <item msgid="9098390198768443435">"802.1x EAP"</item>
@@ -161,10 +139,7 @@
     <item msgid="3738430123799803530">"이동식 SD 카드"</item>
     <item msgid="4498124044785815005">"시스템에서 결정"</item>
   </string-array>
-  <string-array name="vibrate_entries">
-    <item msgid="3388952299521009213">"항상"</item>
-    <item msgid="6293147072807231256">"선택 안함"</item>
-    <item msgid="1276641209451816572">"무음 모드일 때만"</item>
-    <item msgid="8418930333779132418">"무음 모드가 아닐 때만"</item>
-  </string-array>
+    <!-- no translation found for vibrate_entries:1 (6293147072807231256) -->
+    <!-- no translation found for vibrate_entries:2 (1276641209451816572) -->
+    <!-- no translation found for vibrate_entries:3 (8418930333779132418) -->
 </resources>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index 6dc949b..e7055fe 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -46,7 +46,7 @@
     <string name="radioInfo_lac" msgid="8415219164758307156">"LAC"</string>
     <string name="radioInfo_cid" msgid="4362599198392643138">"CID"</string>
     <string name="sdcard_unmount" msgid="3364184561355611897">"SD 카드 마운트 해제"</string>
-    <string name="sdcard_format" msgid="362497552060004057">"SD 카드 포맷"</string>
+    <string name="sdcard_format" msgid="362497552060004057">"SD 카드가 포맷"</string>
     <string name="small_font" msgid="2295331917424072635">"작게"</string>
     <string name="medium_font" msgid="2068475425515133701">"보통"</string>
     <string name="large_font" msgid="599055175160971446">"크게"</string>
@@ -99,7 +99,8 @@
     <string name="bluetooth_disconnected" msgid="6557104142667339895">"연결 끊김"</string>
     <string name="bluetooth_disconnecting" msgid="8913264760027764974">"연결을 끊는 중…"</string>
     <string name="bluetooth_connecting" msgid="8555009514614320497">"연결 중…"</string>
-    <string name="bluetooth_unknown" msgid="644716244548801421"></string>
+    <!-- no translation found for bluetooth_unknown (644716244548801421) -->
+    <skip />
     <string name="bluetooth_not_connected" msgid="3389882907500605937">"장치와 페어링"</string>
     <string name="bluetooth_pairing" msgid="1426882272690346242">"페어링 중..."</string>
     <string name="bluetooth_paired" msgid="1247541089000057726">"페어링된 상태이지만 연결되지 않음"</string>
@@ -235,20 +236,34 @@
     <string name="security_settings_summary" msgid="967393342537986570">"내 위치, 화면 잠금해제, SIM 카드 잠금, 자격증명 저장소 잠금 설정"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"내 위치, 화면 잠금해제, 자격증명 저장소 잠금 설정"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"비밀번호"</string>
-    <string name="lock_settings_picker_title" msgid="3973555216065628262">"화면 잠금해제 보안"</string>
-    <string name="unlock_set_unlock_launch_picker_title" msgid="1129684221223017902">"화면 잠금 설정"</string>
-    <string name="unlock_set_unlock_launch_picker_summary" msgid="1667332113134720845">"패턴, PIN 또는 비밀번호로 화면 잠금"</string>
-    <string name="unlock_set_unlock_launch_picker_change_title" msgid="6987228635944678726">"화면 잠금 변경"</string>
-    <string name="unlock_set_unlock_launch_picker_change_summary" msgid="2790960639554590668">"패턴, PIN 또는 비밀번호 보안을 변경하거나 사용 중지"</string>
-    <string name="unlock_set_unlock_none_title" msgid="3760684669884671990">"선택 안함"</string>
-    <string name="unlock_set_unlock_none_summary" msgid="2658550480388272618">"화면 잠금해제 보안 사용 중지"</string>
-    <string name="unlock_set_unlock_pattern_title" msgid="2912067603917311700">"패턴"</string>
-    <string name="unlock_set_unlock_pattern_summary" msgid="3018395214738645405">"패턴을 그려 화면 잠금 해제"</string>
-    <string name="unlock_set_unlock_pin_title" msgid="5846029709462329515">"PIN"</string>
-    <string name="unlock_set_unlock_pin_summary" msgid="4131169672844263316">"숫자 PIN을 입력하여 화면 잠금 해제"</string>
-    <string name="unlock_set_unlock_password_title" msgid="8775603825675090937">"비밀번호"</string>
-    <string name="unlock_set_unlock_password_summary" msgid="4623254789833899286">"비밀번호 입력하여 화면 잠금 해제"</string>
-    <string name="unlock_set_unlock_disabled_summary" msgid="736557879526940324">"원격 휴대전화 관리자가 사용 중지함"</string>
+    <!-- no translation found for lock_settings_picker_title (3973555216065628262) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_launch_picker_title (1129684221223017902) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_launch_picker_summary (1667332113134720845) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_launch_picker_change_title (6987228635944678726) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_launch_picker_change_summary (2790960639554590668) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_none_title (3760684669884671990) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_none_summary (2658550480388272618) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_pattern_title (2912067603917311700) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_pattern_summary (3018395214738645405) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_pin_title (5846029709462329515) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_pin_summary (4131169672844263316) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_password_title (8775603825675090937) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_password_summary (4623254789833899286) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_disabled_summary (736557879526940324) -->
+    <skip />
     <string name="unlock_disable_lock_title" msgid="1427036227416979120">"화면 잠금 사용 안함"</string>
     <string name="unlock_disable_lock_pattern_summary" msgid="6801602880568869201">"잠금해제 패턴 삭제"</string>
     <string name="unlock_disable_lock_pin_summary" msgid="8856842745366993387">"잠금해제 PIN 삭제"</string>
@@ -385,15 +400,15 @@
     <string name="wifi_dns2" msgid="1368601006824882659">"DNS 2"</string>
     <string name="wifi_gateway" msgid="163914742461092086">"게이트웨이"</string>
     <string name="wifi_netmask" msgid="4520635321425529085">"넷마스크"</string>
-    <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"휴대용 Wi-Fi 핫스팟"</string>
-    <string name="wifi_tether_enabled_subtext" msgid="8948641212931906143">"휴대용 핫스팟 <xliff:g id="NETWORK_SSID">%1$s</xliff:g> 사용"</string>
-    <string name="wifi_tether_failed_subtext" msgid="2654888578056042315">"휴대용 Wi-Fi 핫스팟 오류"</string>
-    <string name="wifi_tether_settings_text" msgid="123573487844470195">"휴대용 Wi-Fi 핫스팟 설정"</string>
-    <string name="wifi_tether_settings_subtext" msgid="8064755682383367008">"휴대용 Wi-Fi 핫스팟 설정 및 관리"</string>
-    <string name="wifi_tether_settings_title" msgid="3749063216348284432">"휴대용 Wi-Fi 핫스팟 설정"</string>
-    <string name="wifi_tether_configure_ap_text" msgid="3474995108398156258">"Wi-Fi 핫스팟 구성"</string>
-    <string name="wifi_tether_configure_subtext" msgid="1927454307836232128">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> <xliff:g id="NETWORK_SECURITY">%2$s</xliff:g> 휴대용 Wi-Fi 핫스팟"</string>
-    <string name="wifi_tether_configure_ssid_default" msgid="8467525402622138547">"AndroidHotspot"</string>
+    <string name="wifi_tether_checkbox_text" msgid="796007268580464534">"Wi-Fi 테더링"</string>
+    <string name="wifi_tether_enabled_subtext" msgid="6758080605207549918">"액세스 포인트 <xliff:g id="NETWORK_SSID">%1$s</xliff:g> 사용 중"</string>
+    <string name="wifi_tether_failed_subtext" msgid="4379214348183654280">"Wi-Fi 테더링 오류"</string>
+    <string name="wifi_tether_settings_text" msgid="8831276059149506799">"Wi-Fi 연결 설정"</string>
+    <string name="wifi_tether_settings_subtext" msgid="3415164631321782704">"액세스 포인트 설정 및 관리"</string>
+    <string name="wifi_tether_settings_title" msgid="3233393750798545228">"Wi-Fi 테더링 설정"</string>
+    <string name="wifi_tether_configure_ap_text" msgid="7849700175083202171">"AP 구성"</string>
+    <string name="wifi_tether_configure_subtext" msgid="54089556089657247">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> <xliff:g id="NETWORK_SECURITY">%2$s</xliff:g> 액세스 포인트"</string>
+    <string name="wifi_tether_configure_ssid_default" msgid="4491822321218336928">"AndroidAP"</string>
     <string name="sound_settings_title" msgid="8735891486683305886">"소리"</string>
     <string name="display_settings_title" msgid="1708697328627382561">"디스플레이"</string>
     <string name="sound_settings" msgid="5007659014828162881">"소리 설정"</string>
@@ -401,16 +416,21 @@
     <string name="silent_mode_summary" msgid="3309650676072917899">"미디어 &amp; 알람을 제외한 모든 소리를 무음 모드로 전환"</string>
     <string name="silent_mode_incl_alarm_summary" msgid="2088830834182228458">"미디어를 제외하고 모두 무음 모드로 전환"</string>
     <string name="ringtone_title" msgid="5379026328015343686">"전화 벨소리"</string>
-    <string name="ringtone_summary" msgid="2630023412632683493"></string>
+    <!-- no translation found for ringtone_summary (2630023412632683493) -->
+    <skip />
     <string name="all_volume_title" msgid="8741571721868253103">"볼륨"</string>
     <string name="ring_volume_title" msgid="7938706566797464165">"벨소리 볼륨"</string>
-    <string name="ring_volume_summary" msgid="7055497624193116879"></string>
+    <!-- no translation found for ring_volume_summary (7055497624193116879) -->
+    <skip />
     <string name="vibrate_in_silent_title" msgid="3897968069156767036">"무음 시 진동"</string>
     <string name="vibrate_in_silent_summary" msgid="3312600513070076281">"무음 모드에서 진동 피드백 허용"</string>
-    <string name="vibrate_title" msgid="6045820877942801599">"진동"</string>
-    <string name="vibrate_summary" msgid="7378130397830790458">"전화 및 알림 시 진동"</string>
+    <!-- no translation found for vibrate_title (6045820877942801599) -->
+    <skip />
+    <!-- no translation found for vibrate_summary (7378130397830790458) -->
+    <skip />
     <string name="notification_sound_title" msgid="6316316069880531693">"알림 벨소리"</string>
-    <string name="notification_sound_summary" msgid="2953599929394109819"></string>
+    <!-- no translation found for notification_sound_summary (2953599929394109819) -->
+    <skip />
     <string name="notification_pulse_title" msgid="1247988024534030629">"알림등 반복 표시"</string>
     <string name="notification_pulse_summary" msgid="6899220780534617152">"새로운 알림이 있을 경우 트랙볼 빛을 반복 표시"</string>
     <string name="incoming_call_volume_title" msgid="8073714801365904099">"벨소리"</string>
@@ -486,7 +506,8 @@
     <string name="sim_enter_cancel" msgid="6240422158517208036">"취소"</string>
     <string name="device_info_settings" msgid="475872867864762157">"휴대전화 상태"</string>
     <string name="system_update_settings_list_item_title" msgid="3342887311059985961">"시스템 업데이트"</string>
-    <string name="system_update_settings_list_item_summary" msgid="3853057315907710747"></string>
+    <!-- no translation found for system_update_settings_list_item_summary (3853057315907710747) -->
+    <skip />
     <string name="firmware_version" msgid="4801135784886859972">"Android 버전"</string>
     <string name="model_number" msgid="3765737700545384794">"모델 번호"</string>
     <string name="baseband_version" msgid="1848990160763524801">"기저대역 버전"</string>
@@ -523,7 +544,7 @@
     <string name="sd_insert_summary" msgid="2048640010381803841">"마운트할 SD 카드 삽입"</string>
     <string name="sd_mount" msgid="5940523765187704135">"SD 카드 마운트"</string>
     <string name="sd_mount_summary" msgid="4936591681679097699">"SD 카드 마운트"</string>
-    <string name="sd_format" msgid="5448738337382712203">"SD 카드 포맷"</string>
+    <string name="sd_format" msgid="5448738337382712203">"SD 카드가 포맷"</string>
     <string name="sd_format_summary" msgid="6616491027883134004">"SD 카드 포맷(지우기)"</string>
     <string name="sd_unavailable" msgid="8580107589533213904">"사용할 수 없음"</string>
     <string name="read_only" msgid="6702420168629076340">" (읽기전용)"</string>
@@ -578,22 +599,19 @@
     <string name="master_clear_gesture_prompt" msgid="1428645764883536750">"잠금해제 패턴을 그리세요."</string>
     <string name="master_clear_gesture_explanation" msgid="8901714274312707918">"휴대전화 재설정을 확인하려면 잠금해제 패턴을 그려야 합니다."</string>
     <string name="master_clear_failed" msgid="8655202125010189406">"시스템 지우기 서비스를 사용할 수 없어 재설정을 수행하지 못했습니다."</string>
-    <string name="media_format_title" msgid="4671276096695789895">"SD 카드 포맷."</string>
+    <string name="media_format_title" msgid="4671276096695789895">"SD 카드가 포맷."</string>
     <string name="media_format_summary" msgid="3805714639375830120">"SD 카드의 모든 데이터 지우기"</string>
     <string name="media_format_desc" msgid="1142563222357820834">"이 작업을 수행하면 휴대전화의 SD 카드에 저장된 모든 데이터를 잃게 됩니다."</string>
-    <string name="media_format_button_text" msgid="370856400090190151">"SD 카드 포맷"</string>
+    <string name="media_format_button_text" msgid="370856400090190151">"SD 카드가 포맷"</string>
     <string name="media_format_final_desc" msgid="1776666694910717198">"SD 카드를 포맷하여 모든 미디어를 지우시겠습니까? 수행한 작업은 취소할 수 없습니다."</string>
     <string name="media_format_final_button_text" msgid="4881713344315923175">"모두 지우기"</string>
     <string name="media_format_gesture_prompt" msgid="3109349468816856670">"잠금해제 패턴을 그리세요."</string>
     <string name="media_format_gesture_explanation" msgid="4239529439389660159">"SD 카드 포맷을 확인하려면 잠금해제 패턴을 그려야 합니다."</string>
     <string name="call_settings_title" msgid="5188713413939232801">"통화 설정"</string>
     <string name="call_settings_summary" msgid="7291195704801002886">"음성메일, 착신전환, 통화중 대기, 발신자 번호 설정"</string>
-    <string name="tether_settings_title_usb" msgid="4315031513434087777">"테더링"</string>
-    <string name="tether_settings_title_wifi" msgid="3277144155960302049">"휴대용 핫스팟"</string>
-    <string name="tether_settings_title_both" msgid="2734066355556891504">"테더링 및 휴대용 핫스팟"</string>
-    <string name="tether_settings_summary_usb" msgid="3562431455625637370">"USB를 사용하여 휴대전화의 모바일 데이터 연결을 공유해 보세요."</string>
-    <string name="tether_settings_summary_wifi" msgid="4690912027002467246">"휴대용 Wi-Fi 핫스팟을 사용하여 휴대전화의 모바일 연결을 공유해 보세요."</string>
-    <string name="tether_settings_summary_both" msgid="7460063951190682635">"USB나 휴대용 Wi-Fi 핫스팟을 사용하여 휴대전화의 모바일 데이터 연결을 공유해 보세요."</string>
+    <string name="tether_settings_title" msgid="8703982377504005349">"테더링"</string>
+    <string name="tether_settings_summary" msgid="6679594629002850490">"테더링 설정 및 관리"</string>
+    <string name="tether_screen_title" msgid="1521966915332491855">"테더링 설정"</string>
     <string name="usb_title" msgid="7483344855356312510">"USB"</string>
     <string name="usb_tethering_button_text" msgid="585829947108007917">"USB 테더링"</string>
     <string name="usb_tethering_available_subtext" msgid="156779271296152605">"USB 연결됨, 테더링하려면 선택"</string>
@@ -601,7 +619,7 @@
     <string name="usb_tethering_storage_active_subtext" msgid="6608933594288072573">"USB 저장소가 사용 중인 경우 테더링할 수 없습니다."</string>
     <string name="usb_tethering_unavailable_subtext" msgid="1044622421184007254">"USB가 연결되어 있지 않음"</string>
     <string name="usb_tethering_errored_subtext" msgid="1377574819427841992">"USB 테더링 오류"</string>
-    <string name="tethering_help_button_text" msgid="656117495547173630">"도움말"</string>
+    <string name="tethering_help_button_text" msgid="7322604807045355030">"테더링 도움말"</string>
     <string name="network_settings_title" msgid="7967552516440151852">"모바일 네트워크"</string>
     <string name="network_settings_summary" msgid="5149750850846813553">"로밍, 네트워크, APN에 대한 옵션 설정"</string>
     <string name="location_title" msgid="1029961368397484576">"사용자 위치"</string>
@@ -649,7 +667,7 @@
     <string name="lockpattern_recording_inprogress" msgid="4622772178078818425">"완료되면 손가락을 뗍니다."</string>
     <string name="lockpattern_recording_incorrect_too_short" msgid="3103250430366718996">"<xliff:g id="NUMBER">%d</xliff:g>개 이상의 점을 연결합니다. 다시 시도하세요."</string>
     <string name="lockpattern_pattern_entered_header" msgid="5012716272001299362">"패턴이 기록되었습니다."</string>
-    <string name="lockpattern_need_to_confirm" msgid="5144676887162575050">"확인을 위해 패턴 다시 그리기"</string>
+    <string name="lockpattern_need_to_confirm" msgid="5144676887162575050">"확인을 위해 패턴 다시 그리기:"</string>
     <string name="lockpattern_pattern_confirmed_header" msgid="2223856038485537716">"새 잠금해제 패턴:"</string>
     <string name="lockpattern_confirm_button_text" msgid="1128204343957002841">"확인"</string>
     <string name="lockpattern_restart_button_text" msgid="3337574403350953926">"다시 그리기"</string>
@@ -759,7 +777,8 @@
     <string name="language_category" msgid="3391756582724541530">"로케일 설정"</string>
     <string name="text_category" msgid="6342540511465136739">"텍스트 설정"</string>
     <string name="phone_language" msgid="1165758957501090679">"언어 선택"</string>
-    <string name="phone_language_summary" msgid="3871309445655554211"></string>
+    <!-- no translation found for phone_language_summary (3871309445655554211) -->
+    <skip />
     <string name="auto_replace" msgid="6199184757891937822">"자동 바꾸기"</string>
     <string name="auto_replace_summary" msgid="370288728200084466">"오타 교정"</string>
     <string name="auto_caps" msgid="581633131114124121">"자동 대문자 변환"</string>
@@ -772,7 +791,8 @@
     <string name="ime_security_warning" msgid="812267421486877917">"<xliff:g id="IME_APPLICATION_NAME">%1$s</xliff:g> 응용프로그램에서 지원하는 이 입력 방법을 사용하면 비밀번호 및 신용카드 번호와 같은 개인 정보를 비롯하여 입력한 모든 텍스트가 수집될 수 있습니다. 사용하시겠습니까?"</string>
     <string name="user_dict_settings_titlebar" msgid="765659257455000490">"사용자 사전"</string>
     <string name="user_dict_settings_title" msgid="8357027437499042191">"사용자 사전"</string>
-    <string name="user_dict_settings_summary" msgid="7965571192902870454"></string>
+    <!-- no translation found for user_dict_settings_summary (7965571192902870454) -->
+    <skip />
     <string name="user_dict_settings_add_menu_title" msgid="4056762757149923551">"추가"</string>
     <string name="user_dict_settings_add_dialog_title" msgid="4702613990174126482">"사전에 추가"</string>
     <string name="user_dict_settings_edit_dialog_title" msgid="8967476444840548674">"단어 수정"</string>
@@ -832,7 +852,7 @@
     <string name="battery_history_sensor" msgid="2333488996028993982">"센서:"</string>
     <string name="battery_history_wakelock" msgid="608683447522396293">"부분적 가동 잠금:"</string>
     <string name="battery_history_used_by_packages" msgid="3000711380023436470">"패키지가 사용한 센서:"</string>
-    <string name="battery_history_sensor_usage" msgid="3593133338613209024">"<xliff:g id="PACKAGE">%2$s</xliff:g>에서 <xliff:g id="COUNT">%1$d</xliff:g>번 사용"</string>
+    <string name="battery_history_sensor_usage" msgid="3593133338613209024">"<xliff:g id="PACKAGE">%2$s</xliff:g>에서 <xliff:g id="COUNT">%1$d</xliff:g>번 사용 "</string>
     <string name="battery_history_sensor_usage_multi" msgid="4536084375991014508">"다음 중 하나가 <xliff:g id="COUNT">%1$d</xliff:g>번 사용:"</string>
     <string name="battery_history_awake_label" msgid="8449792868990080882">"실행 중"</string>
     <string name="battery_history_screen_on_label" msgid="1848936521786339362">"화면 켜짐"</string>
@@ -1068,12 +1088,25 @@
     <string name="credentials_erased" msgid="7700309135582200849">"자격증명 저장소가 삭제되었습니다."</string>
     <string name="credentials_enabled" msgid="7588607413349978930">"자격증명 저장소를 사용합니다."</string>
     <string name="credentials_disabled" msgid="7453188089059045380">"자격증명 저장소를 사용 중지했습니다."</string>
+    <string name="encrypted_fs_category" msgid="1841367653663913956">"암호화된 파일 시스템"</string>
+    <string name="encrypted_fs_enable" msgid="3884033081603327729">"비공개 사용자 데이터 암호화"</string>
+    <string name="encrypted_fs_enable_summary" msgid="5635188119509076089">"기기의 비공개 사용자 데이터에 대해 암호화된 파일 시스템 저장소 사용"</string>
+    <string name="encrypted_fs_enable_dialog" msgid="919487211207214266">"암호화된 파일 시스템을 사용하려면 기기 데이터를 지워야 합니다."</string>
+    <string name="encrypted_fs_disable_dialog" msgid="6960413613985682501">"암호화된 파일 시스템의 사용을 중지하려면 기기 데이터를 지워야 합니다."</string>
+    <string name="encrypted_fs_enable_button" msgid="8453841319751433751">"사용"</string>
+    <string name="encrypted_fs_disable_button" msgid="8468354944060220496">"사용 중지"</string>
+    <string name="encrypted_fs_cancel_button" msgid="4785921255266305799">"취소"</string>
+    <string name="encrypted_fs_cancel_confirm" msgid="853572431153803557">"암호화된 파일 시스템 모드 변경이 취소되었습니다."</string>
+    <string name="encrypted_fs_alert_dialog_title" msgid="583462447886934755">"암호화된 파일 시스템 경고"</string>
     <string name="emergency_tone_title" msgid="1055954530111587114">"긴급 신호음"</string>
     <string name="emergency_tone_summary" msgid="722259232924572153">"긴급 통화 중 동작 설정"</string>
     <string name="privacy_settings" msgid="9206631214140954954">"개인정보 보호"</string>
     <string name="privacy_settings_title" msgid="1987089301293213705">"개인정보 설정"</string>
+    <string name="backup_section_title" msgid="717834414028702406">"백업 및 복원"</string>
     <string name="personal_data_section_title" msgid="7815209034443782061">"개인 데이터"</string>
+    <string name="backup_settings_title" msgid="2968262658155327829">"내 설정 백업"</string>
     <string name="auto_restore_title" msgid="5397528966329126506">"자동 복원"</string>
+    <string name="auto_restore_summary" msgid="2029683590724508019">"설치되면 백업에서 응용프로그램의 데이터 복원"</string>
     <string name="backup_erase_dialog_title" msgid="3438255037256586237">"백업"</string>
     <string name="backup_erase_dialog_message" msgid="2948090854996352245">"설정 및 응용프로그램 데이터 백업을 중지하고 Google 서버에 있는 모든 사본을 삭제하시겠습니까?"</string>
     <string name="device_admin_settings_title" msgid="1335557832906433309">"기기 관리 설정"</string>
@@ -1087,8 +1120,12 @@
     <string name="device_admin_warning" msgid="1149471041373876923">"관리자를 활성화하면 <xliff:g id="APP_NAME">%1$s</xliff:g> 응용프로그램에서 다음 작업을 수행할 수 있습니다:"</string>
     <string name="device_admin_status" msgid="7169948053970923035">"관리자가 활성 상태이며 <xliff:g id="APP_NAME">%1$s</xliff:g> 응용프로그램에서 다음 작업을 수행할 수 있도록 허용합니다:"</string>
     <string name="untitled_apn" msgid="1230060359198685513">"제목 없음"</string>
-    <string name="sound_category_sound_title" msgid="1488759370067953996">"일반"</string>
-    <string name="sound_category_calls_title" msgid="3688531959256239012">"수신전화"</string>
-    <string name="sound_category_notification_title" msgid="3502115998790286943">"알림"</string>
-    <string name="sound_category_feedback_title" msgid="4399742321363475393">"반응"</string>
+    <!-- no translation found for sound_category_sound_title (1488759370067953996) -->
+    <skip />
+    <!-- no translation found for sound_category_calls_title (3688531959256239012) -->
+    <skip />
+    <!-- no translation found for sound_category_notification_title (3502115998790286943) -->
+    <skip />
+    <!-- no translation found for sound_category_feedback_title (4399742321363475393) -->
+    <skip />
 </resources>
diff --git a/res/values-nb/arrays.xml b/res/values-nb/arrays.xml
index 7697b16..6b8a2ed 100644
--- a/res/values-nb/arrays.xml
+++ b/res/values-nb/arrays.xml
@@ -69,30 +69,8 @@
     <item msgid="5972100016440094433">"Italiensk"</item>
     <item msgid="5811378076054402537">"Spansk"</item>
   </string-array>
-  <string-array name="wifi_status">
-    <item msgid="1922181315419294640"></item>
-    <item msgid="8934131797783724664">"Skanner ..."</item>
-    <item msgid="8513729475867537913">"Kobler til …"</item>
-    <item msgid="515055375277271756">"Autentiserer ..."</item>
-    <item msgid="1943354004029184381">"Henter IP-adresse …"</item>
-    <item msgid="4221763391123233270">"Tilkoblet"</item>
-    <item msgid="624838831631122137">"Avsluttet"</item>
-    <item msgid="7979680559596111948">"Kobler fra ..."</item>
-    <item msgid="1634960474403853625">"Frakoblet"</item>
-    <item msgid="746097431216080650">"Mislyktes"</item>
-  </string-array>
-  <string-array name="wifi_status_with_ssid">
-    <item msgid="7714855332363650812"></item>
-    <item msgid="8878186979715711006">"Skanner ..."</item>
-    <item msgid="355508996603873860">"Kobler til <xliff:g id="NETWORK_NAME">%1$s</xliff:g> …"</item>
-    <item msgid="554971459996405634">"Autentiserer med <xliff:g id="NETWORK_NAME">%1$s</xliff:g> …"</item>
-    <item msgid="7928343808033020343">"Henter IP-adresse fra <xliff:g id="NETWORK_NAME">%1$s</xliff:g> …"</item>
-    <item msgid="8937994881315223448">"Koblet til <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</item>
-    <item msgid="1330262655415760617">"Avsluttet"</item>
-    <item msgid="7698638434317271902">"Kobler fra <xliff:g id="NETWORK_NAME">%1$s</xliff:g> …"</item>
-    <item msgid="197508606402264311">"Frakoblet"</item>
-    <item msgid="8578370891960825148">"Mislyktes"</item>
-  </string-array>
+    <!-- no translation found for wifi_status:0 (1922181315419294640) -->
+    <!-- no translation found for wifi_status_with_ssid:0 (7714855332363650812) -->
   <string-array name="wifi_security">
     <item msgid="1435933968767043814">"Åpne"</item>
     <item msgid="6318432659048829665">"WEP"</item>
@@ -161,10 +139,7 @@
     <item msgid="3738430123799803530">"Flyttbart SD-kort"</item>
     <item msgid="4498124044785815005">"La systemet bestemme"</item>
   </string-array>
-  <string-array name="vibrate_entries">
-    <item msgid="3388952299521009213">"Alltid"</item>
-    <item msgid="6293147072807231256">"Aldri"</item>
-    <item msgid="1276641209451816572">"Kun i Stille modus"</item>
-    <item msgid="8418930333779132418">"Kun når det er valgt andre moduser enn Stille"</item>
-  </string-array>
+    <!-- no translation found for vibrate_entries:1 (6293147072807231256) -->
+    <!-- no translation found for vibrate_entries:2 (1276641209451816572) -->
+    <!-- no translation found for vibrate_entries:3 (8418930333779132418) -->
 </resources>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index 8bfde75..b142281 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -99,7 +99,8 @@
     <string name="bluetooth_disconnected" msgid="6557104142667339895">"Frakoblet"</string>
     <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Kobler fra…"</string>
     <string name="bluetooth_connecting" msgid="8555009514614320497">"Kobler til…"</string>
-    <string name="bluetooth_unknown" msgid="644716244548801421"></string>
+    <!-- no translation found for bluetooth_unknown (644716244548801421) -->
+    <skip />
     <string name="bluetooth_not_connected" msgid="3389882907500605937">"Par med denne enheten"</string>
     <string name="bluetooth_pairing" msgid="1426882272690346242">"Parer…"</string>
     <string name="bluetooth_paired" msgid="1247541089000057726">"Paret"</string>
@@ -235,20 +236,34 @@
     <string name="security_settings_summary" msgid="967393342537986570">"Plassering, skjermlås, SIM-kort-lås"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Angi Min posisjon, lås opp skjerm, lås påloggingsopplysninger"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"Passord"</string>
-    <string name="lock_settings_picker_title" msgid="3973555216065628262">"Opplåsing av skjerm"</string>
-    <string name="unlock_set_unlock_launch_picker_title" msgid="1129684221223017902">"Konfigurer skjermlås"</string>
-    <string name="unlock_set_unlock_launch_picker_summary" msgid="1667332113134720845">"Lås skjermen med et mønster, en personlig kode eller et passord"</string>
-    <string name="unlock_set_unlock_launch_picker_change_title" msgid="6987228635944678726">"Endring av skjermlås"</string>
-    <string name="unlock_set_unlock_launch_picker_change_summary" msgid="2790960639554590668">"Endre eller deaktiver mønster, personlig kode eller passordsikkerhet"</string>
-    <string name="unlock_set_unlock_none_title" msgid="3760684669884671990">"Ingen"</string>
-    <string name="unlock_set_unlock_none_summary" msgid="2658550480388272618">"Deaktiver opplåsing av skjerm"</string>
-    <string name="unlock_set_unlock_pattern_title" msgid="2912067603917311700">"Mønster"</string>
-    <string name="unlock_set_unlock_pattern_summary" msgid="3018395214738645405">"Tegn mønsteret som skal brukes for å låse opp skjermen"</string>
-    <string name="unlock_set_unlock_pin_title" msgid="5846029709462329515">"Personlig kode"</string>
-    <string name="unlock_set_unlock_pin_summary" msgid="4131169672844263316">"Skriv inn den numeriske koden som skal brukes for å låse opp skjermen"</string>
-    <string name="unlock_set_unlock_password_title" msgid="8775603825675090937">"Passord"</string>
-    <string name="unlock_set_unlock_password_summary" msgid="4623254789833899286">"Skriv inn passordet som skal brukes for å låse opp skjermen"</string>
-    <string name="unlock_set_unlock_disabled_summary" msgid="736557879526940324">"Deaktivert av ekstern telefonadministrator"</string>
+    <!-- no translation found for lock_settings_picker_title (3973555216065628262) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_launch_picker_title (1129684221223017902) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_launch_picker_summary (1667332113134720845) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_launch_picker_change_title (6987228635944678726) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_launch_picker_change_summary (2790960639554590668) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_none_title (3760684669884671990) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_none_summary (2658550480388272618) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_pattern_title (2912067603917311700) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_pattern_summary (3018395214738645405) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_pin_title (5846029709462329515) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_pin_summary (4131169672844263316) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_password_title (8775603825675090937) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_password_summary (4623254789833899286) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_disabled_summary (736557879526940324) -->
+    <skip />
     <string name="unlock_disable_lock_title" msgid="1427036227416979120">"Slå av skjermlås"</string>
     <string name="unlock_disable_lock_pattern_summary" msgid="6801602880568869201">"Fjern opplåsingsmønster"</string>
     <string name="unlock_disable_lock_pin_summary" msgid="8856842745366993387">"Fjern PIN-koden for opplåsing"</string>
@@ -385,15 +400,15 @@
     <string name="wifi_dns2" msgid="1368601006824882659">"DNS 2"</string>
     <string name="wifi_gateway" msgid="163914742461092086">"Standardruter"</string>
     <string name="wifi_netmask" msgid="4520635321425529085">"Nettmaske"</string>
-    <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"Flyttbar trådløs sone"</string>
-    <string name="wifi_tether_enabled_subtext" msgid="8948641212931906143">"Flyttbar trådløs sone <xliff:g id="NETWORK_SSID">%1$s</xliff:g> er aktiv"</string>
-    <string name="wifi_tether_failed_subtext" msgid="2654888578056042315">"Flyttbar trådløs sone – feil"</string>
-    <string name="wifi_tether_settings_text" msgid="123573487844470195">"Innstillinger for flyttbar trådløs sone"</string>
-    <string name="wifi_tether_settings_subtext" msgid="8064755682383367008">"Still inn og administrer flyttbar trådløs sone"</string>
-    <string name="wifi_tether_settings_title" msgid="3749063216348284432">"Innstillinger for flyttbar trådløs sone"</string>
-    <string name="wifi_tether_configure_ap_text" msgid="3474995108398156258">"Konfigurer trådløs sone"</string>
-    <string name="wifi_tether_configure_subtext" msgid="1927454307836232128">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g><xliff:g id="NETWORK_SECURITY">%2$s</xliff:g> flyttbar trådløs sone"</string>
-    <string name="wifi_tether_configure_ssid_default" msgid="8467525402622138547">"AndroidHotspot"</string>
+    <string name="wifi_tether_checkbox_text" msgid="796007268580464534">"Tilknytning av trådløst nett"</string>
+    <string name="wifi_tether_enabled_subtext" msgid="6758080605207549918">"Tilgangspunkt <xliff:g id="NETWORK_SSID">%1$s</xliff:g> aktivt"</string>
+    <string name="wifi_tether_failed_subtext" msgid="4379214348183654280">"Feil ved tilknytning av trådløst nett"</string>
+    <string name="wifi_tether_settings_text" msgid="8831276059149506799">"Innstillinger for tilknytning av trådløst nett"</string>
+    <string name="wifi_tether_settings_subtext" msgid="3415164631321782704">"Still inn og administrer tilgangspunkter"</string>
+    <string name="wifi_tether_settings_title" msgid="3233393750798545228">"Innstillinger for tilknytning av trådløst nett"</string>
+    <string name="wifi_tether_configure_ap_text" msgid="7849700175083202171">"Konfigurer tilgangspunkt"</string>
+    <string name="wifi_tether_configure_subtext" msgid="54089556089657247">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> <xliff:g id="NETWORK_SECURITY">%2$s</xliff:g> tilgangspunkt"</string>
+    <string name="wifi_tether_configure_ssid_default" msgid="4491822321218336928">"AndroidAP"</string>
     <string name="sound_settings_title" msgid="8735891486683305886">"Lyd"</string>
     <string name="display_settings_title" msgid="1708697328627382561">"Skjerm"</string>
     <string name="sound_settings" msgid="5007659014828162881">"Lydinnstillinger"</string>
@@ -401,16 +416,21 @@
     <string name="silent_mode_summary" msgid="3309650676072917899">"Kutt all lyd utenom medieprogrammer og alarmer"</string>
     <string name="silent_mode_incl_alarm_summary" msgid="2088830834182228458">"Alle lyder unntatt media og alarmer er slått av"</string>
     <string name="ringtone_title" msgid="5379026328015343686">"Ringetone"</string>
-    <string name="ringtone_summary" msgid="2630023412632683493"></string>
+    <!-- no translation found for ringtone_summary (2630023412632683493) -->
+    <skip />
     <string name="all_volume_title" msgid="8741571721868253103">"Volum"</string>
     <string name="ring_volume_title" msgid="7938706566797464165">"Ringevolum"</string>
-    <string name="ring_volume_summary" msgid="7055497624193116879"></string>
+    <!-- no translation found for ring_volume_summary (7055497624193116879) -->
+    <skip />
     <string name="vibrate_in_silent_title" msgid="3897968069156767036">"Vibrer ved stille modus"</string>
     <string name="vibrate_in_silent_summary" msgid="3312600513070076281">"Tillat vibreringstilbakemelding ved stille modus"</string>
-    <string name="vibrate_title" msgid="6045820877942801599">"Vibrering"</string>
-    <string name="vibrate_summary" msgid="7378130397830790458">"Tilbakemelding med vibrasjon for anrop og varsler"</string>
+    <!-- no translation found for vibrate_title (6045820877942801599) -->
+    <skip />
+    <!-- no translation found for vibrate_summary (7378130397830790458) -->
+    <skip />
     <string name="notification_sound_title" msgid="6316316069880531693">"Ringetone for varsling"</string>
-    <string name="notification_sound_summary" msgid="2953599929394109819"></string>
+    <!-- no translation found for notification_sound_summary (2953599929394109819) -->
+    <skip />
     <string name="notification_pulse_title" msgid="1247988024534030629">"La varsellampen pulsere"</string>
     <string name="notification_pulse_summary" msgid="6899220780534617152">"La styrekulens lampe pulsere gjentatte ganger ved nye varsler"</string>
     <string name="incoming_call_volume_title" msgid="8073714801365904099">"Ringetone"</string>
@@ -486,7 +506,8 @@
     <string name="sim_enter_cancel" msgid="6240422158517208036">"Avbryt"</string>
     <string name="device_info_settings" msgid="475872867864762157">"Telefonstatus"</string>
     <string name="system_update_settings_list_item_title" msgid="3342887311059985961">"Systemoppdateringer"</string>
-    <string name="system_update_settings_list_item_summary" msgid="3853057315907710747"></string>
+    <!-- no translation found for system_update_settings_list_item_summary (3853057315907710747) -->
+    <skip />
     <string name="firmware_version" msgid="4801135784886859972">"Android-versjon"</string>
     <string name="model_number" msgid="3765737700545384794">"Modellnummer"</string>
     <string name="baseband_version" msgid="1848990160763524801">"Radioprogramvare"</string>
@@ -588,12 +609,9 @@
     <string name="media_format_gesture_explanation" msgid="4239529439389660159">"Du må tegne opplåsingsmønsteret for å bekrefte formatering av minnekortet."</string>
     <string name="call_settings_title" msgid="5188713413939232801">"Samtaleinnstillinger"</string>
     <string name="call_settings_summary" msgid="7291195704801002886">"Telefonsvarer, viderekobling, samtale venter, nummervisning"</string>
-    <string name="tether_settings_title_usb" msgid="4315031513434087777">"Tilknytning"</string>
-    <string name="tether_settings_title_wifi" msgid="3277144155960302049">"Flyttbar trådløs sone"</string>
-    <string name="tether_settings_title_both" msgid="2734066355556891504">"Tilknytning og flyttbar trådløs sone"</string>
-    <string name="tether_settings_summary_usb" msgid="3562431455625637370">"Del mobilens datatilkobling via USB-tilknytning"</string>
-    <string name="tether_settings_summary_wifi" msgid="4690912027002467246">"Del telefonens datatilkobling via en flyttbar trådløs sone"</string>
-    <string name="tether_settings_summary_both" msgid="7460063951190682635">"Del telefonens datatilkobling via USB eller en flyttbar trådløs sone"</string>
+    <string name="tether_settings_title" msgid="8703982377504005349">"Tilknytning"</string>
+    <string name="tether_settings_summary" msgid="6679594629002850490">"Still inn og administrer tilknytning"</string>
+    <string name="tether_screen_title" msgid="1521966915332491855">"Innstillinger for tilknytning"</string>
     <string name="usb_title" msgid="7483344855356312510">"USB"</string>
     <string name="usb_tethering_button_text" msgid="585829947108007917">"USB-tilknytning"</string>
     <string name="usb_tethering_available_subtext" msgid="156779271296152605">"USB-tilkoblet, velg for å knytte til"</string>
@@ -601,7 +619,7 @@
     <string name="usb_tethering_storage_active_subtext" msgid="6608933594288072573">"Kan ikke knytte til når USB-lagring er i bruk"</string>
     <string name="usb_tethering_unavailable_subtext" msgid="1044622421184007254">"USB er ikke tilkoblet"</string>
     <string name="usb_tethering_errored_subtext" msgid="1377574819427841992">"Feil ved USB-tilknytning"</string>
-    <string name="tethering_help_button_text" msgid="656117495547173630">"Hjelp"</string>
+    <string name="tethering_help_button_text" msgid="7322604807045355030">"Hjelp ved tilknytning"</string>
     <string name="network_settings_title" msgid="7967552516440151852">"Mobile nettverk"</string>
     <string name="network_settings_summary" msgid="5149750850846813553">"Innstillinger for roaming, nettverk, APN"</string>
     <string name="location_title" msgid="1029961368397484576">"Min plassering"</string>
@@ -759,7 +777,8 @@
     <string name="language_category" msgid="3391756582724541530">"Innstillinger for språk"</string>
     <string name="text_category" msgid="6342540511465136739">"Tekstinnstillinger"</string>
     <string name="phone_language" msgid="1165758957501090679">"Velg språk"</string>
-    <string name="phone_language_summary" msgid="3871309445655554211"></string>
+    <!-- no translation found for phone_language_summary (3871309445655554211) -->
+    <skip />
     <string name="auto_replace" msgid="6199184757891937822">"Automatisk erstatting"</string>
     <string name="auto_replace_summary" msgid="370288728200084466">"Rett opp stavefeil"</string>
     <string name="auto_caps" msgid="581633131114124121">"Stor forbokstav"</string>
@@ -772,7 +791,8 @@
     <string name="ime_security_warning" msgid="812267421486877917">"Inndatametoden har mulighet til å samle inn all tekst du skriver, inkludert personlige data som passord og kredittkortnummer. Den kommer fra applikasjonen <xliff:g id="IME_APPLICATION_NAME">%1$s</xliff:g>. Aktiver inndatametoden?"</string>
     <string name="user_dict_settings_titlebar" msgid="765659257455000490">"Ordliste"</string>
     <string name="user_dict_settings_title" msgid="8357027437499042191">"Ordliste"</string>
-    <string name="user_dict_settings_summary" msgid="7965571192902870454"></string>
+    <!-- no translation found for user_dict_settings_summary (7965571192902870454) -->
+    <skip />
     <string name="user_dict_settings_add_menu_title" msgid="4056762757149923551">"Legg til"</string>
     <string name="user_dict_settings_add_dialog_title" msgid="4702613990174126482">"Legg til ordliste"</string>
     <string name="user_dict_settings_edit_dialog_title" msgid="8967476444840548674">"Rediger ord"</string>
@@ -1068,12 +1088,25 @@
     <string name="credentials_erased" msgid="7700309135582200849">"Akkreditivlageret ble tømt."</string>
     <string name="credentials_enabled" msgid="7588607413349978930">"Akkreditivlageret er aktivert."</string>
     <string name="credentials_disabled" msgid="7453188089059045380">"Akkreditivlageret er deaktivert."</string>
+    <string name="encrypted_fs_category" msgid="1841367653663913956">"Kryptert filsystem"</string>
+    <string name="encrypted_fs_enable" msgid="3884033081603327729">"Krypter private brukerdata"</string>
+    <string name="encrypted_fs_enable_summary" msgid="5635188119509076089">"Aktiver lagring av krypterte filer for private brukerdata på denne enheten"</string>
+    <string name="encrypted_fs_enable_dialog" msgid="919487211207214266">"Aktivering av krypterte filsystemer krever en fullstendig datarensing."</string>
+    <string name="encrypted_fs_disable_dialog" msgid="6960413613985682501">"Deaktivering av krypterte filsystemer krever en fullstendig datarensing."</string>
+    <string name="encrypted_fs_enable_button" msgid="8453841319751433751">"Aktiver"</string>
+    <string name="encrypted_fs_disable_button" msgid="8468354944060220496">"Deaktiver"</string>
+    <string name="encrypted_fs_cancel_button" msgid="4785921255266305799">"Avbryt"</string>
+    <string name="encrypted_fs_cancel_confirm" msgid="853572431153803557">"Endring av modus for kryptert filsystem er avbrutt."</string>
+    <string name="encrypted_fs_alert_dialog_title" msgid="583462447886934755">"Advarsel om kryptert filsystem."</string>
     <string name="emergency_tone_title" msgid="1055954530111587114">"Nødtone"</string>
     <string name="emergency_tone_summary" msgid="722259232924572153">"Velg oppførsel når en nødsamtale opprettes"</string>
     <string name="privacy_settings" msgid="9206631214140954954">"Personvern"</string>
     <string name="privacy_settings_title" msgid="1987089301293213705">"Personverninnstillinger"</string>
+    <string name="backup_section_title" msgid="717834414028702406">"Sikkerhetskopiering og gjenoppretting"</string>
     <string name="personal_data_section_title" msgid="7815209034443782061">"Personlige data"</string>
+    <string name="backup_settings_title" msgid="2968262658155327829">"Innstillingsbackup"</string>
     <string name="auto_restore_title" msgid="5397528966329126506">"Auto-gjenoppretting"</string>
+    <string name="auto_restore_summary" msgid="2029683590724508019">"Gjenopprett programdata fra sikkerhetskopi etter installasjon"</string>
     <string name="backup_erase_dialog_title" msgid="3438255037256586237">"Sikkerhetskopi"</string>
     <string name="backup_erase_dialog_message" msgid="2948090854996352245">"Er du sikker på at du ønsker å slutte med backup av innstillinger og programdata og fjerne alle kopier på Googles tjenere?"</string>
     <string name="device_admin_settings_title" msgid="1335557832906433309">"Innstillinger for enhetsadministrasjon"</string>
@@ -1087,8 +1120,12 @@
     <string name="device_admin_warning" msgid="1149471041373876923">"Aktivering av denne administratoren tillater programmet <xliff:g id="APP_NAME">%1$s</xliff:g> å utføre følgende handlinger:"</string>
     <string name="device_admin_status" msgid="7169948053970923035">"Administratoren er aktiv og tillater at programmet <xliff:g id="APP_NAME">%1$s</xliff:g> utfører følgende handlinger:"</string>
     <string name="untitled_apn" msgid="1230060359198685513">"Uten tittel"</string>
-    <string name="sound_category_sound_title" msgid="1488759370067953996">"Generelt"</string>
-    <string name="sound_category_calls_title" msgid="3688531959256239012">"Innkommende anrop"</string>
-    <string name="sound_category_notification_title" msgid="3502115998790286943">"Varsler"</string>
-    <string name="sound_category_feedback_title" msgid="4399742321363475393">"Tilbakemelding"</string>
+    <!-- no translation found for sound_category_sound_title (1488759370067953996) -->
+    <skip />
+    <!-- no translation found for sound_category_calls_title (3688531959256239012) -->
+    <skip />
+    <!-- no translation found for sound_category_notification_title (3502115998790286943) -->
+    <skip />
+    <!-- no translation found for sound_category_feedback_title (4399742321363475393) -->
+    <skip />
 </resources>
diff --git a/res/values-nl/arrays.xml b/res/values-nl/arrays.xml
index de010e5..15ef65a 100644
--- a/res/values-nl/arrays.xml
+++ b/res/values-nl/arrays.xml
@@ -69,30 +69,8 @@
     <item msgid="5972100016440094433">"Italiaans"</item>
     <item msgid="5811378076054402537">"Spaans"</item>
   </string-array>
-  <string-array name="wifi_status">
-    <item msgid="1922181315419294640"></item>
-    <item msgid="8934131797783724664">"Scannen..."</item>
-    <item msgid="8513729475867537913">"Verbinding maken..."</item>
-    <item msgid="515055375277271756">"Verifiëren..."</item>
-    <item msgid="1943354004029184381">"IP-adres ophalen…"</item>
-    <item msgid="4221763391123233270">"Verbonden"</item>
-    <item msgid="624838831631122137">"Opgeschort"</item>
-    <item msgid="7979680559596111948">"Verbinding verbreken..."</item>
-    <item msgid="1634960474403853625">"Verbinding verbroken"</item>
-    <item msgid="746097431216080650">"Mislukt"</item>
-  </string-array>
-  <string-array name="wifi_status_with_ssid">
-    <item msgid="7714855332363650812"></item>
-    <item msgid="8878186979715711006">"Scannen..."</item>
-    <item msgid="355508996603873860">"Verbinding maken met <xliff:g id="NETWORK_NAME">%1$s</xliff:g>..."</item>
-    <item msgid="554971459996405634">"Verifiëren met <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</item>
-    <item msgid="7928343808033020343">"IP-adres ophalen van <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</item>
-    <item msgid="8937994881315223448">"Verbonden met <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</item>
-    <item msgid="1330262655415760617">"Opgeschort"</item>
-    <item msgid="7698638434317271902">"Verbinding verbreken met <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</item>
-    <item msgid="197508606402264311">"Verbinding verbroken"</item>
-    <item msgid="8578370891960825148">"Mislukt"</item>
-  </string-array>
+    <!-- no translation found for wifi_status:0 (1922181315419294640) -->
+    <!-- no translation found for wifi_status_with_ssid:0 (7714855332363650812) -->
   <string-array name="wifi_security">
     <item msgid="1435933968767043814">"Open"</item>
     <item msgid="6318432659048829665">"WEP"</item>
@@ -161,10 +139,7 @@
     <item msgid="3738430123799803530">"Verwisselbare SD-kaart"</item>
     <item msgid="4498124044785815005">"Het systeem laten bepalen"</item>
   </string-array>
-  <string-array name="vibrate_entries">
-    <item msgid="3388952299521009213">"Altijd"</item>
-    <item msgid="6293147072807231256">"Nooit"</item>
-    <item msgid="1276641209451816572">"Alleen in de stille modus"</item>
-    <item msgid="8418930333779132418">"Alleen buiten de stille modus"</item>
-  </string-array>
+    <!-- no translation found for vibrate_entries:1 (6293147072807231256) -->
+    <!-- no translation found for vibrate_entries:2 (1276641209451816572) -->
+    <!-- no translation found for vibrate_entries:3 (8418930333779132418) -->
 </resources>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index 630d507..af69001 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -99,7 +99,8 @@
     <string name="bluetooth_disconnected" msgid="6557104142667339895">"Verbinding verbroken"</string>
     <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Verbinding verbreken..."</string>
     <string name="bluetooth_connecting" msgid="8555009514614320497">"Verbinding maken..."</string>
-    <string name="bluetooth_unknown" msgid="644716244548801421"></string>
+    <!-- no translation found for bluetooth_unknown (644716244548801421) -->
+    <skip />
     <string name="bluetooth_not_connected" msgid="3389882907500605937">"Koppelen met dit apparaat"</string>
     <string name="bluetooth_pairing" msgid="1426882272690346242">"Koppelen..."</string>
     <string name="bluetooth_paired" msgid="1247541089000057726">"Gekoppeld maar niet verbonden"</string>
@@ -235,20 +236,23 @@
     <string name="security_settings_summary" msgid="967393342537986570">"Mijn locatie\', schermontgrendeling, SIM- en referentieopslagvergrendeling instellen"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"\'Mijn locatie\' instellen, scherm ontgrendelen, opslag van referenties vergrendelen"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"Wachtwoorden"</string>
-    <string name="lock_settings_picker_title" msgid="3973555216065628262">"Beveiliging voor schermontgrendeling"</string>
-    <string name="unlock_set_unlock_launch_picker_title" msgid="1129684221223017902">"Schermvergrendeling instellen"</string>
-    <string name="unlock_set_unlock_launch_picker_summary" msgid="1667332113134720845">"Scherm vergrendelen met een patroon, PIN of wachtwoord"</string>
+    <string name="lock_settings_picker_title" msgid="3973555216065628262">"Beveiliging schermontgrendeling"</string>
+    <!-- no translation found for unlock_set_unlock_launch_picker_title (1129684221223017902) -->
+    <skip />
+    <string name="unlock_set_unlock_launch_picker_summary" msgid="1667332113134720845">"Vergrendel scherm met een patroon, PIN of wachtwoord"</string>
     <string name="unlock_set_unlock_launch_picker_change_title" msgid="6987228635944678726">"Schermvergrendeling wijzigen"</string>
-    <string name="unlock_set_unlock_launch_picker_change_summary" msgid="2790960639554590668">"Beveiliging via patroon, PIN of wachtwoord wijzigen of uitschakelen"</string>
+    <string name="unlock_set_unlock_launch_picker_change_summary" msgid="2790960639554590668">"Wijzig patronen, PIN of wachtwoorbeveiliging of zet deze uit"</string>
     <string name="unlock_set_unlock_none_title" msgid="3760684669884671990">"Geen"</string>
-    <string name="unlock_set_unlock_none_summary" msgid="2658550480388272618">"Beveiliging van schermontgrendeling uitschakelen"</string>
+    <string name="unlock_set_unlock_none_summary" msgid="2658550480388272618">"Geen beveiliging schermontgrendeling"</string>
     <string name="unlock_set_unlock_pattern_title" msgid="2912067603917311700">"Patroon"</string>
-    <string name="unlock_set_unlock_pattern_summary" msgid="3018395214738645405">"Patroon tekenen om het scherm te ontgrendelen"</string>
-    <string name="unlock_set_unlock_pin_title" msgid="5846029709462329515">"PIN"</string>
-    <string name="unlock_set_unlock_pin_summary" msgid="4131169672844263316">"Numerieke PIN-code opgeven om het scherm te ontgrendelen"</string>
+    <string name="unlock_set_unlock_pattern_summary" msgid="3018395214738645405">"Teken patroon voor schermontgrendeling"</string>
+    <!-- no translation found for unlock_set_unlock_pin_title (5846029709462329515) -->
+    <skip />
+    <string name="unlock_set_unlock_pin_summary" msgid="4131169672844263316">"Voer een numerieke PIN in voor schermontgrendeling"</string>
     <string name="unlock_set_unlock_password_title" msgid="8775603825675090937">"Wachtwoord"</string>
-    <string name="unlock_set_unlock_password_summary" msgid="4623254789833899286">"Wachtwoord opgeven om het scherm te ontgrendelen"</string>
-    <string name="unlock_set_unlock_disabled_summary" msgid="736557879526940324">"Uitgeschakeld door externe telefoonbeheerder"</string>
+    <string name="unlock_set_unlock_password_summary" msgid="4623254789833899286">"Voer een wachtwoord in voor schermontgrendeling"</string>
+    <!-- no translation found for unlock_set_unlock_disabled_summary (736557879526940324) -->
+    <skip />
     <string name="unlock_disable_lock_title" msgid="1427036227416979120">"Schermvergrendeling uitschakelen"</string>
     <string name="unlock_disable_lock_pattern_summary" msgid="6801602880568869201">"Ontgrendelingspatroon verwijderen"</string>
     <string name="unlock_disable_lock_pin_summary" msgid="8856842745366993387">"PIN-code voor ontgrendelen verwijderen"</string>
@@ -385,15 +389,15 @@
     <string name="wifi_dns2" msgid="1368601006824882659">"DNS 2"</string>
     <string name="wifi_gateway" msgid="163914742461092086">"Gateway"</string>
     <string name="wifi_netmask" msgid="4520635321425529085">"Netmasker"</string>
-    <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"Draagbare Wi-Fi-hotspot"</string>
-    <string name="wifi_tether_enabled_subtext" msgid="8948641212931906143">"Draagbare hotspot <xliff:g id="NETWORK_SSID">%1$s</xliff:g> actief"</string>
-    <string name="wifi_tether_failed_subtext" msgid="2654888578056042315">"Fout met draagbare Wi-Fi-hotspot"</string>
-    <string name="wifi_tether_settings_text" msgid="123573487844470195">"Instellingen voor draagbare Wi-Fi-hotspot"</string>
-    <string name="wifi_tether_settings_subtext" msgid="8064755682383367008">"Draagbare Wi-Fi-hotspot instellen en beheren"</string>
-    <string name="wifi_tether_settings_title" msgid="3749063216348284432">"Instellingen voor draagbare Wi-Fi-hotspot"</string>
-    <string name="wifi_tether_configure_ap_text" msgid="3474995108398156258">"Wi-Fi-hotspot configureren"</string>
-    <string name="wifi_tether_configure_subtext" msgid="1927454307836232128">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> <xliff:g id="NETWORK_SECURITY">%2$s</xliff:g> draagbare Wi-Fi-hotspot"</string>
-    <string name="wifi_tether_configure_ssid_default" msgid="8467525402622138547">"AndroidHotspot"</string>
+    <string name="wifi_tether_checkbox_text" msgid="796007268580464534">"Wi-Fi-tethering"</string>
+    <string name="wifi_tether_enabled_subtext" msgid="6758080605207549918">"Toegangspunt <xliff:g id="NETWORK_SSID">%1$s</xliff:g> actief"</string>
+    <string name="wifi_tether_failed_subtext" msgid="4379214348183654280">"Fout met Wi-Fi-tethering"</string>
+    <string name="wifi_tether_settings_text" msgid="8831276059149506799">"Instellingen Wi-Fi-tethering"</string>
+    <string name="wifi_tether_settings_subtext" msgid="3415164631321782704">"Toegangspunt instellen en beheren"</string>
+    <string name="wifi_tether_settings_title" msgid="3233393750798545228">"Instellingen voor Wi-Fi-tethering"</string>
+    <string name="wifi_tether_configure_ap_text" msgid="7849700175083202171">"AP configureren"</string>
+    <string name="wifi_tether_configure_subtext" msgid="54089556089657247">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> <xliff:g id="NETWORK_SECURITY">%2$s</xliff:g> toegangspunt"</string>
+    <string name="wifi_tether_configure_ssid_default" msgid="4491822321218336928">"AndroidAP"</string>
     <string name="sound_settings_title" msgid="8735891486683305886">"Geluid"</string>
     <string name="display_settings_title" msgid="1708697328627382561">"Weergave"</string>
     <string name="sound_settings" msgid="5007659014828162881">"Geluidsinstellingen"</string>
@@ -401,16 +405,21 @@
     <string name="silent_mode_summary" msgid="3309650676072917899">"Alle geluiden dempen, behalve media en alarmen"</string>
     <string name="silent_mode_incl_alarm_summary" msgid="2088830834182228458">"Alle geluiden, behalve media, worden uitgeschakeld"</string>
     <string name="ringtone_title" msgid="5379026328015343686">"Beltoon telefoon"</string>
-    <string name="ringtone_summary" msgid="2630023412632683493"></string>
+    <!-- no translation found for ringtone_summary (2630023412632683493) -->
+    <skip />
     <string name="all_volume_title" msgid="8741571721868253103">"Volume"</string>
     <string name="ring_volume_title" msgid="7938706566797464165">"Belvolume"</string>
-    <string name="ring_volume_summary" msgid="7055497624193116879"></string>
+    <!-- no translation found for ring_volume_summary (7055497624193116879) -->
+    <skip />
     <string name="vibrate_in_silent_title" msgid="3897968069156767036">"Trillen indien stil"</string>
     <string name="vibrate_in_silent_summary" msgid="3312600513070076281">"Trillen toestaan in stille modus"</string>
-    <string name="vibrate_title" msgid="6045820877942801599">"Trillen"</string>
-    <string name="vibrate_summary" msgid="7378130397830790458">"Trillen bij oproepen en meldingen"</string>
+    <!-- no translation found for vibrate_title (6045820877942801599) -->
+    <skip />
+    <!-- no translation found for vibrate_summary (7378130397830790458) -->
+    <skip />
     <string name="notification_sound_title" msgid="6316316069880531693">"Beltoon voor meldingen"</string>
-    <string name="notification_sound_summary" msgid="2953599929394109819"></string>
+    <!-- no translation found for notification_sound_summary (2953599929394109819) -->
+    <skip />
     <string name="notification_pulse_title" msgid="1247988024534030629">"Knipperen trackball"</string>
     <string name="notification_pulse_summary" msgid="6899220780534617152">"Lampje van trackball herhaaldelijk laten knipperen bij nieuwe meldingen"</string>
     <string name="incoming_call_volume_title" msgid="8073714801365904099">"Beltoon"</string>
@@ -427,7 +436,7 @@
     <string name="sound_effects_enable_title" msgid="3197313718929122833">"Hoorbare selectie"</string>
     <string name="sound_effects_enable_summary_on" msgid="6154141289879491329">"Geluid afspelen bij schermselectie"</string>
     <string name="sound_effects_enable_summary_off" msgid="3447739581759560125">"Geluid afspelen bij schermselectie"</string>
-    <string name="lock_sounds_enable_title" msgid="1575990840389107141">"Geluid vergrendeling"</string>
+    <string name="lock_sounds_enable_title" msgid="1575990840389107141">"Geluid schermvergrendeling"</string>
     <string name="lock_sounds_enable_summary_on" msgid="145741024028391473">"Geluiden afspelen wanneer het scherm wordt vergrendeld en ontgrendeld"</string>
     <string name="lock_sounds_enable_summary_off" msgid="8481243116223542804">"Geluiden afspelen wanneer het scherm wordt vergrendeld en ontgrendeld"</string>
     <string name="haptic_feedback_enable_title" msgid="6311736559245411290">"Haptische feedback"</string>
@@ -486,7 +495,8 @@
     <string name="sim_enter_cancel" msgid="6240422158517208036">"Annuleren"</string>
     <string name="device_info_settings" msgid="475872867864762157">"Telefoonstatus"</string>
     <string name="system_update_settings_list_item_title" msgid="3342887311059985961">"Systeemupdates"</string>
-    <string name="system_update_settings_list_item_summary" msgid="3853057315907710747"></string>
+    <!-- no translation found for system_update_settings_list_item_summary (3853057315907710747) -->
+    <skip />
     <string name="firmware_version" msgid="4801135784886859972">"Android-versie"</string>
     <string name="model_number" msgid="3765737700545384794">"Modelnummer"</string>
     <string name="baseband_version" msgid="1848990160763524801">"Smalbandversie"</string>
@@ -571,7 +581,7 @@
     <string name="restore_default_apn_completed" msgid="3990449939234957281">"Herstellen van standaard-APN-instellingen voltooid"</string>
     <string name="master_clear_title" msgid="5907939616087039756">"Fabrieksinstellingen terug"</string>
     <string name="master_clear_summary" msgid="4986154238001088492">"Alle gegevens op de telefoon wissen"</string>
-    <string name="master_clear_desc" msgid="7823268823499739178">"Deze functie wist alle gegevens van uw telefoon, waaronder:"\n<li>"Uw Google-account"</li>\n<li>"Systeem- en toepassingsgegevens en -instellingen"</li>\n<li>"Gedownloade toepassingen"</li>"De volgende gegevens worden niet gewist:"\n\n<li>"Huidige systeemsoftware en gebundelde toepassingen"</li>\n<li>"Bestanden op de SD-kaart, zoals muziek en foto\'s"</li></string>
+    <string name="master_clear_desc" msgid="7823268823499739178">"Deze functie wist alle gegevens van uw telefoon, waaronder:"\n"Uw Google-account"<li></li>\n<li>"Systeem- en toepassingsgegevens en -instellingen"</li>\n<li>"Gedownloade toepassingen"</li>"De volgende gegevens worden niet gewist:"\n\n<li>"Huidige systeemsoftware en gebundelde toepassingen"</li>\n<li>"Bestanden op de SD-kaart, zoals muziek en foto\'s"</li></string>
     <string name="master_clear_button_text" msgid="7550632653343157971">"Telefoon opnieuw instellen"</string>
     <string name="master_clear_final_desc" msgid="6917971132484622696">"Alle persoonlijke gegevens en gedownloade toepassingen wissen? U kunt deze actie niet ongedaan maken."</string>
     <string name="master_clear_final_button_text" msgid="5390908019019242910">"Alles wissen"</string>
@@ -588,12 +598,9 @@
     <string name="media_format_gesture_explanation" msgid="4239529439389660159">"U moet uw ontgrendelingspatroon tekenen om het formatteren van een SD-kaart te bevestigen."</string>
     <string name="call_settings_title" msgid="5188713413939232801">"Oproepinstellingen"</string>
     <string name="call_settings_summary" msgid="7291195704801002886">"Voicemail, oproepen doorschakelen, wisselgesprek, beller-id instellen"</string>
-    <string name="tether_settings_title_usb" msgid="4315031513434087777">"Tethering"</string>
-    <string name="tether_settings_title_wifi" msgid="3277144155960302049">"Draagbare hotspot"</string>
-    <string name="tether_settings_title_both" msgid="2734066355556891504">"Tethering en draagbare hotspot"</string>
-    <string name="tether_settings_summary_usb" msgid="3562431455625637370">"Deel de mobiele gegevensverbinding van uw telefoon via USB"</string>
-    <string name="tether_settings_summary_wifi" msgid="4690912027002467246">"Deel de mobiele verbinding van uw telefoon als draagbare Wi-Fi-hotspot"</string>
-    <string name="tether_settings_summary_both" msgid="7460063951190682635">"Deel de mobiele gegevensverbinding van uw telefoon via USB of als draagbare Wi-Fi-hotspot"</string>
+    <string name="tether_settings_title" msgid="8703982377504005349">"Tethering"</string>
+    <string name="tether_settings_summary" msgid="6679594629002850490">"Tethering instellen en beheren"</string>
+    <string name="tether_screen_title" msgid="1521966915332491855">"Instellingen voor tethering"</string>
     <string name="usb_title" msgid="7483344855356312510">"USB"</string>
     <string name="usb_tethering_button_text" msgid="585829947108007917">"USB-tethering"</string>
     <string name="usb_tethering_available_subtext" msgid="156779271296152605">"USB-verbinding, aanvinken om te tetheren"</string>
@@ -601,7 +608,7 @@
     <string name="usb_tethering_storage_active_subtext" msgid="6608933594288072573">"Kan niet tetheren wanneer USB-opslag wordt gebruikt"</string>
     <string name="usb_tethering_unavailable_subtext" msgid="1044622421184007254">"USB niet verbonden"</string>
     <string name="usb_tethering_errored_subtext" msgid="1377574819427841992">"Fout met USB-tethering"</string>
-    <string name="tethering_help_button_text" msgid="656117495547173630">"Help"</string>
+    <string name="tethering_help_button_text" msgid="7322604807045355030">"Hulp bij tethering"</string>
     <string name="network_settings_title" msgid="7967552516440151852">"Mobiele netwerken"</string>
     <string name="network_settings_summary" msgid="5149750850846813553">"Opties voor roaming, netwerken, APN\'s instellen"</string>
     <string name="location_title" msgid="1029961368397484576">"Mijn locatie"</string>
@@ -759,7 +766,8 @@
     <string name="language_category" msgid="3391756582724541530">"Landinstelling"</string>
     <string name="text_category" msgid="6342540511465136739">"Tekstinstellingen"</string>
     <string name="phone_language" msgid="1165758957501090679">"Taal selecteren"</string>
-    <string name="phone_language_summary" msgid="3871309445655554211"></string>
+    <!-- no translation found for phone_language_summary (3871309445655554211) -->
+    <skip />
     <string name="auto_replace" msgid="6199184757891937822">"Automatisch vervangen"</string>
     <string name="auto_replace_summary" msgid="370288728200084466">"Corrigeer verkeerd getypte woorden"</string>
     <string name="auto_caps" msgid="581633131114124121">"Automatische hoofdletters"</string>
@@ -772,7 +780,8 @@
     <string name="ime_security_warning" msgid="812267421486877917">"Deze invoermethode verzamelt mogelijk alle tekst die u typt, inclusief persoonlijke gegevens zoals wachtwoorden en creditcardnummers. De methode is afkomstig uit de toepassing <xliff:g id="IME_APPLICATION_NAME">%1$s</xliff:g>. Deze invoermethode inschakelen?"</string>
     <string name="user_dict_settings_titlebar" msgid="765659257455000490">"Gebruikerswoordenboek"</string>
     <string name="user_dict_settings_title" msgid="8357027437499042191">"Gebruikerswoordenboek"</string>
-    <string name="user_dict_settings_summary" msgid="7965571192902870454"></string>
+    <!-- no translation found for user_dict_settings_summary (7965571192902870454) -->
+    <skip />
     <string name="user_dict_settings_add_menu_title" msgid="4056762757149923551">"Toevoegen"</string>
     <string name="user_dict_settings_add_dialog_title" msgid="4702613990174126482">"Toevoegen aan woordenboek"</string>
     <string name="user_dict_settings_edit_dialog_title" msgid="8967476444840548674">"Woord bewerken"</string>
@@ -817,7 +826,7 @@
     <string name="battery_history_network_usage" msgid="8010852371665217020">"Netwerkgebruiksdetails voor <xliff:g id="APP_NAME">%1$s</xliff:g>:"</string>
     <string name="battery_history_bytes_received" msgid="980307569180518302">"Bytes ontvangen: <xliff:g id="BYTES">%1$d</xliff:g>"</string>
     <string name="battery_history_bytes_sent" msgid="2501748768602119159">"Bytes verzonden: <xliff:g id="BYTES">%1$d</xliff:g>"</string>
-    <string name="battery_history_bytes_total" msgid="4444807574361642753">"Totaal aantal bytes: <xliff:g id="BYTES">%1$d</xliff:g>\n"</string>
+    <string name="battery_history_bytes_total" msgid="4444807574361642753">"Totaal aantal bytes: <xliff:g id="BYTES">%1$d</xliff:g>"</string>
     <string name="battery_history_cpu_usage" msgid="2597353713014790877">"CPU-gebruiksdetails voor <xliff:g id="APP_NAME">%1$s</xliff:g>:"</string>
     <string name="battery_history_user_time" msgid="6227507614894791359">"Gebruikerstijd:"</string>
     <string name="battery_history_system_time" msgid="2015862072724507547">"Systeemtijd:"</string>
@@ -1068,12 +1077,25 @@
     <string name="credentials_erased" msgid="7700309135582200849">"De opslag van referenties is gewist."</string>
     <string name="credentials_enabled" msgid="7588607413349978930">"De opslag van referenties is ingeschakeld."</string>
     <string name="credentials_disabled" msgid="7453188089059045380">"De opslag van referenties is uitgeschakeld."</string>
+    <string name="encrypted_fs_category" msgid="1841367653663913956">"Gecodeerde bestandssysteem"</string>
+    <string name="encrypted_fs_enable" msgid="3884033081603327729">"Persoonlijke gebruikersgegevens coderen"</string>
+    <string name="encrypted_fs_enable_summary" msgid="5635188119509076089">"Gecodeerde bestandssysteemopslag voor persoonlijke gebruikersgegevens inschakelen op dit apparaat"</string>
+    <string name="encrypted_fs_enable_dialog" msgid="919487211207214266">"Voor het inschakelen van gecodeerde bestandssystemen is het wissen van apparaatgegevens vereist."</string>
+    <string name="encrypted_fs_disable_dialog" msgid="6960413613985682501">"Voor het uitschakelen van gecodeerde bestandssystemen is het wissen van apparaatgegevens vereist."</string>
+    <string name="encrypted_fs_enable_button" msgid="8453841319751433751">"Inschakelen"</string>
+    <string name="encrypted_fs_disable_button" msgid="8468354944060220496">"Uitschakelen"</string>
+    <string name="encrypted_fs_cancel_button" msgid="4785921255266305799">"Annuleren"</string>
+    <string name="encrypted_fs_cancel_confirm" msgid="853572431153803557">"Het wijzigen van de gecodeerde bestandssysteemmodus is geannuleerd."</string>
+    <string name="encrypted_fs_alert_dialog_title" msgid="583462447886934755">"Waarschuwing voor gecodeerde bestandssystemen."</string>
     <string name="emergency_tone_title" msgid="1055954530111587114">"Toon voor noodoproep"</string>
     <string name="emergency_tone_summary" msgid="722259232924572153">"Gedrag bij noodoproepen instellen"</string>
     <string name="privacy_settings" msgid="9206631214140954954">"Privacy"</string>
     <string name="privacy_settings_title" msgid="1987089301293213705">"Privacyinstellingen"</string>
+    <string name="backup_section_title" msgid="717834414028702406">"Back-up maken en terugzetten"</string>
     <string name="personal_data_section_title" msgid="7815209034443782061">"Persoonlijke gegevens"</string>
+    <string name="backup_settings_title" msgid="2968262658155327829">"Back-up instellingen maken"</string>
     <string name="auto_restore_title" msgid="5397528966329126506">"Automatisch terugzetten"</string>
+    <string name="auto_restore_summary" msgid="2029683590724508019">"Gegevens van toepassingen terugzetten uit back-up wanneer de toepassingen worden geïnstalleerd"</string>
     <string name="backup_erase_dialog_title" msgid="3438255037256586237">"Back-up"</string>
     <string name="backup_erase_dialog_message" msgid="2948090854996352245">"Weet u zeker dat het maken van back-ups van uw instellingen en toepassingsgegevens wilt stoppen en alle kopieën op Google-servers wilt wissen?"</string>
     <string name="device_admin_settings_title" msgid="1335557832906433309">"Instellingen voor apparaatbeheer"</string>
@@ -1090,5 +1112,6 @@
     <string name="sound_category_sound_title" msgid="1488759370067953996">"Algemeen"</string>
     <string name="sound_category_calls_title" msgid="3688531959256239012">"Inkomende oproepen"</string>
     <string name="sound_category_notification_title" msgid="3502115998790286943">"Meldingen"</string>
-    <string name="sound_category_feedback_title" msgid="4399742321363475393">"Feedback"</string>
+    <!-- no translation found for sound_category_feedback_title (4399742321363475393) -->
+    <skip />
 </resources>
diff --git a/res/values-pl/arrays.xml b/res/values-pl/arrays.xml
index 2fb3c7e..dbeec89 100644
--- a/res/values-pl/arrays.xml
+++ b/res/values-pl/arrays.xml
@@ -69,30 +69,8 @@
     <item msgid="5972100016440094433">"włoski"</item>
     <item msgid="5811378076054402537">"hiszpański"</item>
   </string-array>
-  <string-array name="wifi_status">
-    <item msgid="1922181315419294640"></item>
-    <item msgid="8934131797783724664">"Trwa skanowanie..."</item>
-    <item msgid="8513729475867537913">"Trwa łączenie..."</item>
-    <item msgid="515055375277271756">"Trwa uwierzytelnianie..."</item>
-    <item msgid="1943354004029184381">"Uzyskiwanie adresu IP..."</item>
-    <item msgid="4221763391123233270">"Połączono"</item>
-    <item msgid="624838831631122137">"Zawieszona"</item>
-    <item msgid="7979680559596111948">"Trwa rozłączanie..."</item>
-    <item msgid="1634960474403853625">"Rozłączona"</item>
-    <item msgid="746097431216080650">"Niepowodzenie"</item>
-  </string-array>
-  <string-array name="wifi_status_with_ssid">
-    <item msgid="7714855332363650812"></item>
-    <item msgid="8878186979715711006">"Trwa skanowanie..."</item>
-    <item msgid="355508996603873860">"Trwa łączenie z siecią <xliff:g id="NETWORK_NAME">%1$s</xliff:g>..."</item>
-    <item msgid="554971459996405634">"Trwa uwierzytelnianie w sieci <xliff:g id="NETWORK_NAME">%1$s</xliff:g>..."</item>
-    <item msgid="7928343808033020343">"Uzyskiwanie adresu IP z sieci <xliff:g id="NETWORK_NAME">%1$s</xliff:g>..."</item>
-    <item msgid="8937994881315223448">"Połączono z siecią <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</item>
-    <item msgid="1330262655415760617">"Zawieszona"</item>
-    <item msgid="7698638434317271902">"Trwa rozłączanie z siecią <xliff:g id="NETWORK_NAME">%1$s</xliff:g>..."</item>
-    <item msgid="197508606402264311">"Rozłączona"</item>
-    <item msgid="8578370891960825148">"Niepowodzenie"</item>
-  </string-array>
+    <!-- no translation found for wifi_status:0 (1922181315419294640) -->
+    <!-- no translation found for wifi_status_with_ssid:0 (7714855332363650812) -->
   <string-array name="wifi_security">
     <item msgid="1435933968767043814">"Otwarta"</item>
     <item msgid="6318432659048829665">"WEP"</item>
@@ -161,10 +139,7 @@
     <item msgid="3738430123799803530">"Wymienna karta SD"</item>
     <item msgid="4498124044785815005">"Zastosuj ustawienie systemowe"</item>
   </string-array>
-  <string-array name="vibrate_entries">
-    <item msgid="3388952299521009213">"Zawsze"</item>
-    <item msgid="6293147072807231256">"Nigdy"</item>
-    <item msgid="1276641209451816572">"W trybie cichym"</item>
-    <item msgid="8418930333779132418">"Poza trybem cichym"</item>
-  </string-array>
+    <!-- no translation found for vibrate_entries:1 (6293147072807231256) -->
+    <!-- no translation found for vibrate_entries:2 (1276641209451816572) -->
+    <!-- no translation found for vibrate_entries:3 (8418930333779132418) -->
 </resources>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 0f284e5..2a4871f 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -99,7 +99,8 @@
     <string name="bluetooth_disconnected" msgid="6557104142667339895">"Rozłączona"</string>
     <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Rozłączanie..."</string>
     <string name="bluetooth_connecting" msgid="8555009514614320497">"Łączenie..."</string>
-    <string name="bluetooth_unknown" msgid="644716244548801421"></string>
+    <!-- no translation found for bluetooth_unknown (644716244548801421) -->
+    <skip />
     <string name="bluetooth_not_connected" msgid="3389882907500605937">"Paruj z tym urządzeniem"</string>
     <string name="bluetooth_pairing" msgid="1426882272690346242">"Parowanie..."</string>
     <string name="bluetooth_paired" msgid="1247541089000057726">"Powiązany, ale nie połączony"</string>
@@ -235,20 +236,28 @@
     <string name="security_settings_summary" msgid="967393342537986570">"Ustaw funkcję Moja lokalizacja, odblokowywanie ekranu, blokadę karty SIM, blokadę magazynu danych logowania."</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Ustaw funkcję Moja lokalizacja, odblokowywanie ekranu, blokadę magazynu danych uwierzytelniania"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"Hasła"</string>
-    <string name="lock_settings_picker_title" msgid="3973555216065628262">"Zabezpieczenie ekranu"</string>
+    <!-- no translation found for lock_settings_picker_title (3973555216065628262) -->
+    <skip />
     <string name="unlock_set_unlock_launch_picker_title" msgid="1129684221223017902">"Ustaw blokadę ekranu"</string>
     <string name="unlock_set_unlock_launch_picker_summary" msgid="1667332113134720845">"Zablokuj ekran za pomocą wzoru, PINu lub hasła"</string>
-    <string name="unlock_set_unlock_launch_picker_change_title" msgid="6987228635944678726">"Zmień ustawienia blokady ekranu"</string>
-    <string name="unlock_set_unlock_launch_picker_change_summary" msgid="2790960639554590668">"Zmień lub wyłącz zabezpieczenie ekranu (wzór, PIN lub hasło)"</string>
-    <string name="unlock_set_unlock_none_title" msgid="3760684669884671990">"Brak"</string>
-    <string name="unlock_set_unlock_none_summary" msgid="2658550480388272618">"Wyłącz zabezpieczenie ekranu"</string>
-    <string name="unlock_set_unlock_pattern_title" msgid="2912067603917311700">"Wzór"</string>
+    <!-- no translation found for unlock_set_unlock_launch_picker_change_title (6987228635944678726) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_launch_picker_change_summary (2790960639554590668) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_none_title (3760684669884671990) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_none_summary (2658550480388272618) -->
+    <skip />
+    <string name="unlock_set_unlock_pattern_title" msgid="2912067603917311700">"Wzór graficzny"</string>
     <string name="unlock_set_unlock_pattern_summary" msgid="3018395214738645405">"Narysuj wzór do odblokowania ekran"</string>
-    <string name="unlock_set_unlock_pin_title" msgid="5846029709462329515">"Kod PIN"</string>
+    <!-- no translation found for unlock_set_unlock_pin_title (5846029709462329515) -->
+    <skip />
     <string name="unlock_set_unlock_pin_summary" msgid="4131169672844263316">"Wpisz kod PIN do odblokowania ekranu"</string>
-    <string name="unlock_set_unlock_password_title" msgid="8775603825675090937">"Hasło"</string>
+    <!-- no translation found for unlock_set_unlock_password_title (8775603825675090937) -->
+    <skip />
     <string name="unlock_set_unlock_password_summary" msgid="4623254789833899286">"Wpisz hasło do odblokowania ekranu"</string>
-    <string name="unlock_set_unlock_disabled_summary" msgid="736557879526940324">"Wyłączone przez zdalnego administratora telefonu"</string>
+    <!-- no translation found for unlock_set_unlock_disabled_summary (736557879526940324) -->
+    <skip />
     <string name="unlock_disable_lock_title" msgid="1427036227416979120">"Wyłącz blokadę ekranu"</string>
     <string name="unlock_disable_lock_pattern_summary" msgid="6801602880568869201">"Usuń wzór odblokowania"</string>
     <string name="unlock_disable_lock_pin_summary" msgid="8856842745366993387">"Usuń kod PIN odblokowania"</string>
@@ -385,15 +394,15 @@
     <string name="wifi_dns2" msgid="1368601006824882659">"DNS 2"</string>
     <string name="wifi_gateway" msgid="163914742461092086">"Brama"</string>
     <string name="wifi_netmask" msgid="4520635321425529085">"Maska sieci"</string>
-    <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"Przenośny punkt dostępu Wi-Fi"</string>
-    <string name="wifi_tether_enabled_subtext" msgid="8948641212931906143">"Przenośny punkt dostępu <xliff:g id="NETWORK_SSID">%1$s</xliff:g> jest aktywny"</string>
-    <string name="wifi_tether_failed_subtext" msgid="2654888578056042315">"Błąd przenośnego punktu dostępu Wi-Fi"</string>
-    <string name="wifi_tether_settings_text" msgid="123573487844470195">"Ustawienia przenośnych punktów dostępu Wi-Fi"</string>
-    <string name="wifi_tether_settings_subtext" msgid="8064755682383367008">"Skonfiguruj przenośne punkty dostępu Wi-Fi i zarządzaj nimi"</string>
-    <string name="wifi_tether_settings_title" msgid="3749063216348284432">"Ustawienia przenośnych punktów dostępu Wi-Fi"</string>
-    <string name="wifi_tether_configure_ap_text" msgid="3474995108398156258">"Skonfiguruj punkt dostępu Wi-Fi"</string>
-    <string name="wifi_tether_configure_subtext" msgid="1927454307836232128">"Przenośny punkt dostępu Wi-Fi <xliff:g id="NETWORK_SSID">%1$s</xliff:g> <xliff:g id="NETWORK_SECURITY">%2$s</xliff:g>"</string>
-    <string name="wifi_tether_configure_ssid_default" msgid="8467525402622138547">"Punkt dostępu Android"</string>
+    <string name="wifi_tether_checkbox_text" msgid="796007268580464534">"Powiązanie Wi-Fi"</string>
+    <string name="wifi_tether_enabled_subtext" msgid="6758080605207549918">"Punkt dostępu <xliff:g id="NETWORK_SSID">%1$s</xliff:g> aktywny"</string>
+    <string name="wifi_tether_failed_subtext" msgid="4379214348183654280">"Błąd powiązania Wi-Fi"</string>
+    <string name="wifi_tether_settings_text" msgid="8831276059149506799">"Ustawienia powiązania Wi-Fi"</string>
+    <string name="wifi_tether_settings_subtext" msgid="3415164631321782704">"Skonfiguruj punkt dostępu i zarządzaj nim"</string>
+    <string name="wifi_tether_settings_title" msgid="3233393750798545228">"Ustawienia powiązania Wi-Fi"</string>
+    <string name="wifi_tether_configure_ap_text" msgid="7849700175083202171">"Konfiguruj PD"</string>
+    <string name="wifi_tether_configure_subtext" msgid="54089556089657247">"Punkt dostępu <xliff:g id="NETWORK_SECURITY">%2$s</xliff:g> <xliff:g id="NETWORK_SSID">%1$s</xliff:g>"</string>
+    <string name="wifi_tether_configure_ssid_default" msgid="4491822321218336928">"AndroidAP"</string>
     <string name="sound_settings_title" msgid="8735891486683305886">"Dźwięk"</string>
     <string name="display_settings_title" msgid="1708697328627382561">"Wyświetlacz"</string>
     <string name="sound_settings" msgid="5007659014828162881">"Ustawienia dźwięku"</string>
@@ -401,16 +410,21 @@
     <string name="silent_mode_summary" msgid="3309650676072917899">"Wycisz wszystkie dźwięki z wyjątkiem multimediów i alarmów"</string>
     <string name="silent_mode_incl_alarm_summary" msgid="2088830834182228458">"Wszystkie dźwięki za wyjątkiem multimediów są wyciszone"</string>
     <string name="ringtone_title" msgid="5379026328015343686">"Dzwonek telefonu"</string>
-    <string name="ringtone_summary" msgid="2630023412632683493"></string>
+    <!-- no translation found for ringtone_summary (2630023412632683493) -->
+    <skip />
     <string name="all_volume_title" msgid="8741571721868253103">"Głośność"</string>
     <string name="ring_volume_title" msgid="7938706566797464165">"Głośność dzwonka"</string>
-    <string name="ring_volume_summary" msgid="7055497624193116879"></string>
+    <!-- no translation found for ring_volume_summary (7055497624193116879) -->
+    <skip />
     <string name="vibrate_in_silent_title" msgid="3897968069156767036">"Wibracje po wyciszeniu"</string>
     <string name="vibrate_in_silent_summary" msgid="3312600513070076281">"Zezwalaj na wibracje w trybie cichym"</string>
-    <string name="vibrate_title" msgid="6045820877942801599">"Wibracje"</string>
-    <string name="vibrate_summary" msgid="7378130397830790458">"Wibracje w przypadku połączeń i powiadomień"</string>
+    <!-- no translation found for vibrate_title (6045820877942801599) -->
+    <skip />
+    <!-- no translation found for vibrate_summary (7378130397830790458) -->
+    <skip />
     <string name="notification_sound_title" msgid="6316316069880531693">"Powiadomienia"</string>
-    <string name="notification_sound_summary" msgid="2953599929394109819"></string>
+    <!-- no translation found for notification_sound_summary (2953599929394109819) -->
+    <skip />
     <string name="notification_pulse_title" msgid="1247988024534030629">"Pulsująca dioda"</string>
     <string name="notification_pulse_summary" msgid="6899220780534617152">"Nowe powiadomienia sygnalizowane są pulsowaniem diody w kulce"</string>
     <string name="incoming_call_volume_title" msgid="8073714801365904099">"Dzwonek"</string>
@@ -438,8 +452,8 @@
     <string name="dock_settings" msgid="1820107306693002541">"Podstawka"</string>
     <string name="dock_settings_title" msgid="9161438664257429372">"Ustawienia podstawki"</string>
     <string name="dock_audio_settings_title" msgid="3324750259959570305">"Dźwięk"</string>
-    <string name="dock_audio_summary_desk" msgid="6487784412371139335">"Ustawienia dla biurkowej stacji dokującej"</string>
-    <string name="dock_audio_summary_car" msgid="6740897586006248450">"Ustawienia dla samochodowej stacji dokującej"</string>
+    <string name="dock_audio_summary_desk" msgid="6487784412371139335">"Ustawienia dla podstawki na biurku"</string>
+    <string name="dock_audio_summary_car" msgid="6740897586006248450">"Ustawienia dla podstawki w samochodzie"</string>
     <string name="dock_audio_summary_none" msgid="289909253741048784">"Telefon niezadokowany"</string>
     <string name="dock_audio_summary_unknown" msgid="4465059868974255693">"Ustawienia dla podłączonej podstawki"</string>
     <string name="dock_not_found_title" msgid="3290961741828952424">"Nie znaleziono podstawki"</string>
@@ -486,7 +500,8 @@
     <string name="sim_enter_cancel" msgid="6240422158517208036">"Anuluj"</string>
     <string name="device_info_settings" msgid="475872867864762157">"Stan telefonu"</string>
     <string name="system_update_settings_list_item_title" msgid="3342887311059985961">"Aktualizacje systemowe"</string>
-    <string name="system_update_settings_list_item_summary" msgid="3853057315907710747"></string>
+    <!-- no translation found for system_update_settings_list_item_summary (3853057315907710747) -->
+    <skip />
     <string name="firmware_version" msgid="4801135784886859972">"Wersja systemu Android"</string>
     <string name="model_number" msgid="3765737700545384794">"Numer modelu"</string>
     <string name="baseband_version" msgid="1848990160763524801">"Wersja pasma podstawowego"</string>
@@ -588,12 +603,9 @@
     <string name="media_format_gesture_explanation" msgid="4239529439389660159">"Aby potwierdzić formatowanie karty SD, należy narysować swój wzór odblokowania."</string>
     <string name="call_settings_title" msgid="5188713413939232801">"Ustawienia połączeń"</string>
     <string name="call_settings_summary" msgid="7291195704801002886">"Poczta głosowa, przekierowania połączeń, poł. oczekujące, ID rozmówcy"</string>
-    <string name="tether_settings_title_usb" msgid="4315031513434087777">"Powiązanie"</string>
-    <string name="tether_settings_title_wifi" msgid="3277144155960302049">"Przenośny punkt dostępu"</string>
-    <string name="tether_settings_title_both" msgid="2734066355556891504">"Powiązanie i przenośny punkt dostępu"</string>
-    <string name="tether_settings_summary_usb" msgid="3562431455625637370">"Udostępniaj bezprzewodowe połączenie transmisji danych swojego telefonu przez USB"</string>
-    <string name="tether_settings_summary_wifi" msgid="4690912027002467246">"Udostępniaj bezprzewodowe połączenie swojego telefonu jako przenośny punkt dostępu Wi-Fi"</string>
-    <string name="tether_settings_summary_both" msgid="7460063951190682635">"Udostępniaj bezprzewodowe połączenie transmisji danych swojego telefonu przez USB lub jako przenośny punkt dostępu Wi-Fi"</string>
+    <string name="tether_settings_title" msgid="8703982377504005349">"Powiązanie"</string>
+    <string name="tether_settings_summary" msgid="6679594629002850490">"Skonfiguruj powiązanie i zarządzaj nim"</string>
+    <string name="tether_screen_title" msgid="1521966915332491855">"Ustawienia powiązania"</string>
     <string name="usb_title" msgid="7483344855356312510">"USB"</string>
     <string name="usb_tethering_button_text" msgid="585829947108007917">"Powiązanie USB"</string>
     <string name="usb_tethering_available_subtext" msgid="156779271296152605">"Podłączono USB – zaznacz, aby powiązać"</string>
@@ -601,7 +613,7 @@
     <string name="usb_tethering_storage_active_subtext" msgid="6608933594288072573">"Nie można utworzyć powiązania, gdy nośnik USB jest w użyciu"</string>
     <string name="usb_tethering_unavailable_subtext" msgid="1044622421184007254">"Nie podłączono USB"</string>
     <string name="usb_tethering_errored_subtext" msgid="1377574819427841992">"Błąd powiązania USB"</string>
-    <string name="tethering_help_button_text" msgid="656117495547173630">"Pomoc"</string>
+    <string name="tethering_help_button_text" msgid="7322604807045355030">"Pomoc dotycząca powiązania"</string>
     <string name="network_settings_title" msgid="7967552516440151852">"Sieci komórkowe"</string>
     <string name="network_settings_summary" msgid="5149750850846813553">"Ustaw opcje roamingu, sieci, nazw APN"</string>
     <string name="location_title" msgid="1029961368397484576">"Moja lokalizacja"</string>
@@ -668,7 +680,7 @@
     <string name="skip_button_label" msgid="8680422740354436943">"Anuluj"</string>
     <string name="next_button_label" msgid="8890792540116568321">"Dalej"</string>
     <string name="lock_title" msgid="4059246467204273930">"Zabezpieczanie telefonu"</string>
-    <string name="lock_intro_message" msgid="9100785646737118042"><font size="17">"Chroń swój telefon przed nieautoryzowanym użyciem, tworząc osobisty wzorzec odblokowywania ekranu. "\n<font height="17">\n</font><b>"1"</b>"  Na następnym ekranie obejrzyj procedurę rysowania przykładowego wzorca. "\n<font height="17">\n</font><b>"2"</b>"  Po przygotowaniu się narysuj własny osobisty wzorzec odblokowywania. Wypróbuj różne wzorce, łącząc co najmniej cztery kropki. "\n<font height="17">\n</font><b>"3"</b>"  Ponownie narysuj swój wzorzec, aby go potwierdzić. "\n<font height="17">\n</font><b>"Wszystko gotowe? Dotknij przycisku „Dalej”"</b>". "\n<font height="3">\n</font>"Aby pozostawić telefon bez ochrony, dotknij przycisku „Anuluj”."</font></string>
+    <string name="lock_intro_message" msgid="9100785646737118042"><font size="17">"Chroń swój telefon przed nieautoryzowanym użyciem, tworząc osobisty wzór odblokowywania ekranu. "\n<font height="17">\n</font><b>"1"</b>"  Na następnym ekranie obejrzyj procedurę rysowania przykładowego wzoru. "\n<font height="17">\n</font><b>"2"</b>"  Po przygotowaniu się narysuj własny osobisty wzór odblokowywania. Wypróbuj różne wzory, łącząc co najmniej cztery kropki. "\n<font height="17">\n</font><b>"3"</b>"  Ponownie narysuj swój wzór, aby go potwierdzić. "\n<font height="17">\n</font><b>"Wszystko gotowe? Dotknij przycisku „Dalej”"</b>". "\n<font height="3">\n</font>"Aby pozostawić telefon bez ochrony, dotknij przycisku „Anuluj”."</font></string>
     <string name="lock_example_title" msgid="8052305554017485410">"Przykładowy wzór"</string>
     <string name="lock_example_message" msgid="1838650097090632706">"Połącz co najmniej cztery kropki."\n" "\n"Dotknij przycisku „Dalej”, aby rozpocząć rysowanie własnego wzoru."</string>
     <string name="manageapplications_settings_title" msgid="5712405848153426706">"Zarządzaj aplikacjami"</string>
@@ -759,7 +771,8 @@
     <string name="language_category" msgid="3391756582724541530">"Ustawienia regionalne"</string>
     <string name="text_category" msgid="6342540511465136739">"Ustawienia tekstu"</string>
     <string name="phone_language" msgid="1165758957501090679">"Wybierz język"</string>
-    <string name="phone_language_summary" msgid="3871309445655554211"></string>
+    <!-- no translation found for phone_language_summary (3871309445655554211) -->
+    <skip />
     <string name="auto_replace" msgid="6199184757891937822">"Autokorekta"</string>
     <string name="auto_replace_summary" msgid="370288728200084466">"Poprawiaj błędnie wpisane słowa"</string>
     <string name="auto_caps" msgid="581633131114124121">"Wielka litera po kropce"</string>
@@ -772,7 +785,8 @@
     <string name="ime_security_warning" msgid="812267421486877917">"Ta metoda wprowadzania może gromadzić cały wpisywany tekst, w tym dane osobiste w postaci haseł i numerów kart kredytowych. Metoda pochodzi z aplikacji <xliff:g id="IME_APPLICATION_NAME">%1$s</xliff:g>. Czy użyć tej metody wprowadzania?"</string>
     <string name="user_dict_settings_titlebar" msgid="765659257455000490">"Słownik użytkownika"</string>
     <string name="user_dict_settings_title" msgid="8357027437499042191">"Słownik użytkownika"</string>
-    <string name="user_dict_settings_summary" msgid="7965571192902870454"></string>
+    <!-- no translation found for user_dict_settings_summary (7965571192902870454) -->
+    <skip />
     <string name="user_dict_settings_add_menu_title" msgid="4056762757149923551">"Dodaj"</string>
     <string name="user_dict_settings_add_dialog_title" msgid="4702613990174126482">"Dodaj do słownika"</string>
     <string name="user_dict_settings_edit_dialog_title" msgid="8967476444840548674">"Edytuj słowo"</string>
@@ -1068,12 +1082,25 @@
     <string name="credentials_erased" msgid="7700309135582200849">"Magazyn danych uwierzytelniania został wyczyszczony."</string>
     <string name="credentials_enabled" msgid="7588607413349978930">"Magazyn danych logowania jest włączony."</string>
     <string name="credentials_disabled" msgid="7453188089059045380">"Magazyn danych logowania jest wyłączony."</string>
+    <string name="encrypted_fs_category" msgid="1841367653663913956">"System szyfrowania plików"</string>
+    <string name="encrypted_fs_enable" msgid="3884033081603327729">"Zaszyfruj prywatne dane użytkownika"</string>
+    <string name="encrypted_fs_enable_summary" msgid="5635188119509076089">"Włącz magazyn zaszyfrowanego systemu plików na potrzeby prywatnych danych użytkownika na tym urządzeniu"</string>
+    <string name="encrypted_fs_enable_dialog" msgid="919487211207214266">"Włączenie systemów szyfrowania plików wymaga wymazania danych urządzenia."</string>
+    <string name="encrypted_fs_disable_dialog" msgid="6960413613985682501">"Wyłączenie systemów szyfrowania plików wymaga wymazania danych urządzenia."</string>
+    <string name="encrypted_fs_enable_button" msgid="8453841319751433751">"Włącz"</string>
+    <string name="encrypted_fs_disable_button" msgid="8468354944060220496">"Wyłącz"</string>
+    <string name="encrypted_fs_cancel_button" msgid="4785921255266305799">"Anuluj"</string>
+    <string name="encrypted_fs_cancel_confirm" msgid="853572431153803557">"Zmiana trybu systemów szyfrowania plików została anulowana."</string>
+    <string name="encrypted_fs_alert_dialog_title" msgid="583462447886934755">"Ostrzeżenie dotyczące systemów szyfrowania plików"</string>
     <string name="emergency_tone_title" msgid="1055954530111587114">"Sygnał alarmowy"</string>
     <string name="emergency_tone_summary" msgid="722259232924572153">"Skonfiguruj sposób działania w przypadku połączenia alarmowego"</string>
     <string name="privacy_settings" msgid="9206631214140954954">"Prywatność"</string>
     <string name="privacy_settings_title" msgid="1987089301293213705">"Ustawienia prywatności"</string>
+    <string name="backup_section_title" msgid="717834414028702406">"Tworzenie i przywracanie kopii zapasowej"</string>
     <string name="personal_data_section_title" msgid="7815209034443782061">"Dane osobiste"</string>
+    <string name="backup_settings_title" msgid="2968262658155327829">"Utwórz kopię zapasową moich ustawień"</string>
     <string name="auto_restore_title" msgid="5397528966329126506">"Autoprzywracanie"</string>
+    <string name="auto_restore_summary" msgid="2029683590724508019">"Przy instalowaniu aplikacji przywróć ich dane z kopii zapasowej"</string>
     <string name="backup_erase_dialog_title" msgid="3438255037256586237">"Kopia zapasowa"</string>
     <string name="backup_erase_dialog_message" msgid="2948090854996352245">"Czy na pewno chcesz zakończyć tworzenie kopii zapasowych ustawień i danych aplikacji oraz usunąć wszystkie kopie z serwerów Google?"</string>
     <string name="device_admin_settings_title" msgid="1335557832906433309">"Ustawienia administracji"</string>
@@ -1087,8 +1114,12 @@
     <string name="device_admin_warning" msgid="1149471041373876923">"Aktywowanie tego administratora zezwoli aplikacji <xliff:g id="APP_NAME">%1$s</xliff:g> na wykonywanie następujących operacji:"</string>
     <string name="device_admin_status" msgid="7169948053970923035">"Administrator jest aktywny i zezwala aplikacji <xliff:g id="APP_NAME">%1$s</xliff:g> na wykonywanie następujących operacji:"</string>
     <string name="untitled_apn" msgid="1230060359198685513">"Bez nazwy"</string>
-    <string name="sound_category_sound_title" msgid="1488759370067953996">"Ogólne"</string>
-    <string name="sound_category_calls_title" msgid="3688531959256239012">"Połączenia przychodzące"</string>
-    <string name="sound_category_notification_title" msgid="3502115998790286943">"Powiadomienia"</string>
-    <string name="sound_category_feedback_title" msgid="4399742321363475393">"Reakcje"</string>
+    <!-- no translation found for sound_category_sound_title (1488759370067953996) -->
+    <skip />
+    <!-- no translation found for sound_category_calls_title (3688531959256239012) -->
+    <skip />
+    <!-- no translation found for sound_category_notification_title (3502115998790286943) -->
+    <skip />
+    <!-- no translation found for sound_category_feedback_title (4399742321363475393) -->
+    <skip />
 </resources>
diff --git a/res/values-pt-rPT/arrays.xml b/res/values-pt-rPT/arrays.xml
index e4436ec..544d6f3 100644
--- a/res/values-pt-rPT/arrays.xml
+++ b/res/values-pt-rPT/arrays.xml
@@ -69,32 +69,10 @@
     <item msgid="5972100016440094433">"Italiano"</item>
     <item msgid="5811378076054402537">"Espanhol"</item>
   </string-array>
-  <string-array name="wifi_status">
-    <item msgid="1922181315419294640"></item>
-    <item msgid="8934131797783724664">"A procurar..."</item>
-    <item msgid="8513729475867537913">"A ligar..."</item>
-    <item msgid="515055375277271756">"A autenticar..."</item>
-    <item msgid="1943354004029184381">"A obter endereço IP..."</item>
-    <item msgid="4221763391123233270">"Ligado"</item>
-    <item msgid="624838831631122137">"Suspenso"</item>
-    <item msgid="7979680559596111948">"A desligar..."</item>
-    <item msgid="1634960474403853625">"Desligado"</item>
-    <item msgid="746097431216080650">"Sem sucesso"</item>
-  </string-array>
-  <string-array name="wifi_status_with_ssid">
-    <item msgid="7714855332363650812"></item>
-    <item msgid="8878186979715711006">"A procurar..."</item>
-    <item msgid="355508996603873860">"A ligar a <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</item>
-    <item msgid="554971459996405634">"A autenticar com <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</item>
-    <item msgid="7928343808033020343">"A obter endereço IP de <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</item>
-    <item msgid="8937994881315223448">"Ligado a <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</item>
-    <item msgid="1330262655415760617">"Suspenso"</item>
-    <item msgid="7698638434317271902">"A desligar de <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</item>
-    <item msgid="197508606402264311">"Desligado"</item>
-    <item msgid="8578370891960825148">"Sem sucesso"</item>
-  </string-array>
+    <!-- no translation found for wifi_status:0 (1922181315419294640) -->
+    <!-- no translation found for wifi_status_with_ssid:0 (7714855332363650812) -->
   <string-array name="wifi_security">
-    <item msgid="1435933968767043814">"Aberta"</item>
+    <item msgid="1435933968767043814">"Abrir"</item>
     <item msgid="6318432659048829665">"WEP"</item>
     <item msgid="2966395706508338179">"WPA/WPA2 PSK"</item>
     <item msgid="9098390198768443435">"EAP 802.1x"</item>
@@ -161,10 +139,7 @@
     <item msgid="3738430123799803530">"Cartão SD amovível"</item>
     <item msgid="4498124044785815005">"Permitir que seja o sistema a decidir"</item>
   </string-array>
-  <string-array name="vibrate_entries">
-    <item msgid="3388952299521009213">"Sempre"</item>
-    <item msgid="6293147072807231256">"Nunca"</item>
-    <item msgid="1276641209451816572">"Apenas em modo silencioso"</item>
-    <item msgid="8418930333779132418">"Apenas quando não estiver em modo silencioso"</item>
-  </string-array>
+    <!-- no translation found for vibrate_entries:1 (6293147072807231256) -->
+    <!-- no translation found for vibrate_entries:2 (1276641209451816572) -->
+    <!-- no translation found for vibrate_entries:3 (8418930333779132418) -->
 </resources>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index c9ef469..cd112cb 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -99,7 +99,8 @@
     <string name="bluetooth_disconnected" msgid="6557104142667339895">"Desligado"</string>
     <string name="bluetooth_disconnecting" msgid="8913264760027764974">"A desligar..."</string>
     <string name="bluetooth_connecting" msgid="8555009514614320497">"A ligar..."</string>
-    <string name="bluetooth_unknown" msgid="644716244548801421"></string>
+    <!-- no translation found for bluetooth_unknown (644716244548801421) -->
+    <skip />
     <string name="bluetooth_not_connected" msgid="3389882907500605937">"Emparelhar com este dispositivo"</string>
     <string name="bluetooth_pairing" msgid="1426882272690346242">"A emparelhar..."</string>
     <string name="bluetooth_paired" msgid="1247541089000057726">"Emparelhado mas não ligado"</string>
@@ -235,20 +236,34 @@
     <string name="security_settings_summary" msgid="967393342537986570">"Definir A minha localização, desbloqueio do ecrã, bloqueio do cartão SIM, bloqueio do armazenamento de credenciais"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Definir O meu local, desbloqueio do ecrã, bloqueio do armazenamento de credenciais"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"Palavras-passe"</string>
-    <string name="lock_settings_picker_title" msgid="3973555216065628262">"Segurança de desbloqueio do ecrã"</string>
-    <string name="unlock_set_unlock_launch_picker_title" msgid="1129684221223017902">"Configurar bloqueio do ecrã"</string>
-    <string name="unlock_set_unlock_launch_picker_summary" msgid="1667332113134720845">"Bloquear ecrã com um padrão, PIN ou palavra-passe"</string>
-    <string name="unlock_set_unlock_launch_picker_change_title" msgid="6987228635944678726">"Alterar bloqueio do ecrã"</string>
-    <string name="unlock_set_unlock_launch_picker_change_summary" msgid="2790960639554590668">"Alterar ou desactivar segurança de padrão, PIN ou palavra-passe"</string>
-    <string name="unlock_set_unlock_none_title" msgid="3760684669884671990">"Nenhuma"</string>
-    <string name="unlock_set_unlock_none_summary" msgid="2658550480388272618">"Desactivar segurança de desbloqueio do ecrã"</string>
-    <string name="unlock_set_unlock_pattern_title" msgid="2912067603917311700">"Padrão"</string>
-    <string name="unlock_set_unlock_pattern_summary" msgid="3018395214738645405">"Desenhar padrão para desbloquear ecrã"</string>
-    <string name="unlock_set_unlock_pin_title" msgid="5846029709462329515">"PIN"</string>
-    <string name="unlock_set_unlock_pin_summary" msgid="4131169672844263316">"Introduzir um PIN numérico para desbloquear o ecrã"</string>
-    <string name="unlock_set_unlock_password_title" msgid="8775603825675090937">"Palavra-passe"</string>
-    <string name="unlock_set_unlock_password_summary" msgid="4623254789833899286">"Introduzir uma palavra-passe para desbloquear ecrã"</string>
-    <string name="unlock_set_unlock_disabled_summary" msgid="736557879526940324">"Desactivada pelo administrador de telefone remoto"</string>
+    <!-- no translation found for lock_settings_picker_title (3973555216065628262) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_launch_picker_title (1129684221223017902) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_launch_picker_summary (1667332113134720845) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_launch_picker_change_title (6987228635944678726) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_launch_picker_change_summary (2790960639554590668) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_none_title (3760684669884671990) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_none_summary (2658550480388272618) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_pattern_title (2912067603917311700) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_pattern_summary (3018395214738645405) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_pin_title (5846029709462329515) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_pin_summary (4131169672844263316) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_password_title (8775603825675090937) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_password_summary (4623254789833899286) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_disabled_summary (736557879526940324) -->
+    <skip />
     <string name="unlock_disable_lock_title" msgid="1427036227416979120">"Desactivar bloqueio do ecrã"</string>
     <string name="unlock_disable_lock_pattern_summary" msgid="6801602880568869201">"Remover padrão de desbloqueio"</string>
     <string name="unlock_disable_lock_pin_summary" msgid="8856842745366993387">"Remover PIN de desbloqueio"</string>
@@ -385,15 +400,15 @@
     <string name="wifi_dns2" msgid="1368601006824882659">"DNS 2"</string>
     <string name="wifi_gateway" msgid="163914742461092086">"Gateway"</string>
     <string name="wifi_netmask" msgid="4520635321425529085">"Máscara de rede"</string>
-    <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"Hotspot Wi-Fi portátil"</string>
-    <string name="wifi_tether_enabled_subtext" msgid="8948641212931906143">"Hotspot portátil <xliff:g id="NETWORK_SSID">%1$s</xliff:g> activo"</string>
-    <string name="wifi_tether_failed_subtext" msgid="2654888578056042315">"Erro do hotspot Wi-Fi portátil"</string>
-    <string name="wifi_tether_settings_text" msgid="123573487844470195">"Definições de hotspot Wi-Fi portátil"</string>
-    <string name="wifi_tether_settings_subtext" msgid="8064755682383367008">"Configurar e gerir hotspot Wi-Fi portátil"</string>
-    <string name="wifi_tether_settings_title" msgid="3749063216348284432">"Definições de hotspot Wi-Fi portátil"</string>
-    <string name="wifi_tether_configure_ap_text" msgid="3474995108398156258">"Configurar hotspot Wi-Fi"</string>
-    <string name="wifi_tether_configure_subtext" msgid="1927454307836232128">"Hotspot Wi-Fi portátil <xliff:g id="NETWORK_SSID">%1$s</xliff:g> <xliff:g id="NETWORK_SECURITY">%2$s</xliff:g>"</string>
-    <string name="wifi_tether_configure_ssid_default" msgid="8467525402622138547">"AndroidHotspot"</string>
+    <string name="wifi_tether_checkbox_text" msgid="796007268580464534">"Associação Wi-Fi"</string>
+    <string name="wifi_tether_enabled_subtext" msgid="6758080605207549918">"Ponto de acesso <xliff:g id="NETWORK_SSID">%1$s</xliff:g> activo"</string>
+    <string name="wifi_tether_failed_subtext" msgid="4379214348183654280">"Erro na associação Wi-Fi"</string>
+    <string name="wifi_tether_settings_text" msgid="8831276059149506799">"Definições de associação Wi-Fi"</string>
+    <string name="wifi_tether_settings_subtext" msgid="3415164631321782704">"Configurar e gerir o ponto de acesso"</string>
+    <string name="wifi_tether_settings_title" msgid="3233393750798545228">"Definições de associação Wi-Fi"</string>
+    <string name="wifi_tether_configure_ap_text" msgid="7849700175083202171">"Configurar ponto de acesso"</string>
+    <string name="wifi_tether_configure_subtext" msgid="54089556089657247">"Ponto de acesso <xliff:g id="NETWORK_SSID">%1$s</xliff:g><xliff:g id="NETWORK_SECURITY">%2$s</xliff:g>"</string>
+    <string name="wifi_tether_configure_ssid_default" msgid="4491822321218336928">"Ponto de acesso do Android"</string>
     <string name="sound_settings_title" msgid="8735891486683305886">"Som"</string>
     <string name="display_settings_title" msgid="1708697328627382561">"Visor"</string>
     <string name="sound_settings" msgid="5007659014828162881">"Definições de som"</string>
@@ -401,16 +416,21 @@
     <string name="silent_mode_summary" msgid="3309650676072917899">"Silenciar todos os sons, excepto multimédia e alarmes"</string>
     <string name="silent_mode_incl_alarm_summary" msgid="2088830834182228458">"Todos os sons estão silenciados, excepto multimédia"</string>
     <string name="ringtone_title" msgid="5379026328015343686">"Toque do telefone"</string>
-    <string name="ringtone_summary" msgid="2630023412632683493"></string>
+    <!-- no translation found for ringtone_summary (2630023412632683493) -->
+    <skip />
     <string name="all_volume_title" msgid="8741571721868253103">"Volume"</string>
     <string name="ring_volume_title" msgid="7938706566797464165">"Volume da campainha"</string>
-    <string name="ring_volume_summary" msgid="7055497624193116879"></string>
+    <!-- no translation found for ring_volume_summary (7055497624193116879) -->
+    <skip />
     <string name="vibrate_in_silent_title" msgid="3897968069156767036">"Vibrar quando estiver em silêncio"</string>
     <string name="vibrate_in_silent_summary" msgid="3312600513070076281">"Permitir vibração no modo de silêncio"</string>
-    <string name="vibrate_title" msgid="6045820877942801599">"Vibrar"</string>
-    <string name="vibrate_summary" msgid="7378130397830790458">"Vibração para chamadas e notificações"</string>
+    <!-- no translation found for vibrate_title (6045820877942801599) -->
+    <skip />
+    <!-- no translation found for vibrate_summary (7378130397830790458) -->
+    <skip />
     <string name="notification_sound_title" msgid="6316316069880531693">"Toque de notificação"</string>
-    <string name="notification_sound_summary" msgid="2953599929394109819"></string>
+    <!-- no translation found for notification_sound_summary (2953599929394109819) -->
+    <skip />
     <string name="notification_pulse_title" msgid="1247988024534030629">"Sinalizar luz de notificação"</string>
     <string name="notification_pulse_summary" msgid="6899220780534617152">"Sinalizar repetidamente luz da trackball para novas notificações"</string>
     <string name="incoming_call_volume_title" msgid="8073714801365904099">"Toque"</string>
@@ -486,7 +506,8 @@
     <string name="sim_enter_cancel" msgid="6240422158517208036">"Cancelar"</string>
     <string name="device_info_settings" msgid="475872867864762157">"Estado do telefone"</string>
     <string name="system_update_settings_list_item_title" msgid="3342887311059985961">"Actualizações do sistema"</string>
-    <string name="system_update_settings_list_item_summary" msgid="3853057315907710747"></string>
+    <!-- no translation found for system_update_settings_list_item_summary (3853057315907710747) -->
+    <skip />
     <string name="firmware_version" msgid="4801135784886859972">"Versão do Android"</string>
     <string name="model_number" msgid="3765737700545384794">"Modelo"</string>
     <string name="baseband_version" msgid="1848990160763524801">"Versão de banda base"</string>
@@ -588,12 +609,9 @@
     <string name="media_format_gesture_explanation" msgid="4239529439389660159">"Tem de efectuar o padrão de desbloqueio para confirmar a formatação de um cartão SD."</string>
     <string name="call_settings_title" msgid="5188713413939232801">"Definições de chamadas"</string>
     <string name="call_settings_summary" msgid="7291195704801002886">"Configurar correio de voz, reencaminhamento de chamadas, chamada em espera, ID do autor da chamada"</string>
-    <string name="tether_settings_title_usb" msgid="4315031513434087777">"Ligação ponto a ponto"</string>
-    <string name="tether_settings_title_wifi" msgid="3277144155960302049">"Hotspot portátil"</string>
-    <string name="tether_settings_title_both" msgid="2734066355556891504">"Ligação ponto a ponto e hotspot portátil"</string>
-    <string name="tether_settings_summary_usb" msgid="3562431455625637370">"Partilhar a ligação móvel de dados do seu telefone por USB"</string>
-    <string name="tether_settings_summary_wifi" msgid="4690912027002467246">"Partilhar a ligação móvel do seu telefone como um hotspot Wi-Fi portátil"</string>
-    <string name="tether_settings_summary_both" msgid="7460063951190682635">"Partilhar a ligação móvel de dados do seu telefone por USB como um hotspot Wi-Fi portátil"</string>
+    <string name="tether_settings_title" msgid="8703982377504005349">"Associação"</string>
+    <string name="tether_settings_summary" msgid="6679594629002850490">"Configurar e gerir associação"</string>
+    <string name="tether_screen_title" msgid="1521966915332491855">"Definições de associação"</string>
     <string name="usb_title" msgid="7483344855356312510">"USB"</string>
     <string name="usb_tethering_button_text" msgid="585829947108007917">"Associação USB"</string>
     <string name="usb_tethering_available_subtext" msgid="156779271296152605">"Ligado via USB; confirme para associar"</string>
@@ -601,7 +619,7 @@
     <string name="usb_tethering_storage_active_subtext" msgid="6608933594288072573">"Não é possível associar quando o armazenamento USB está a ser utilizado"</string>
     <string name="usb_tethering_unavailable_subtext" msgid="1044622421184007254">"USB não ligado"</string>
     <string name="usb_tethering_errored_subtext" msgid="1377574819427841992">"Erro na associação USB"</string>
-    <string name="tethering_help_button_text" msgid="656117495547173630">"Ajuda"</string>
+    <string name="tethering_help_button_text" msgid="7322604807045355030">"Ajuda para associação"</string>
     <string name="network_settings_title" msgid="7967552516440151852">"Redes móveis"</string>
     <string name="network_settings_summary" msgid="5149750850846813553">"Definir opções de roaming, redes, APNs"</string>
     <string name="location_title" msgid="1029961368397484576">"A minha localização"</string>
@@ -759,7 +777,8 @@
     <string name="language_category" msgid="3391756582724541530">"Definição de região"</string>
     <string name="text_category" msgid="6342540511465136739">"Definições de texto"</string>
     <string name="phone_language" msgid="1165758957501090679">"Seleccionar idioma"</string>
-    <string name="phone_language_summary" msgid="3871309445655554211"></string>
+    <!-- no translation found for phone_language_summary (3871309445655554211) -->
+    <skip />
     <string name="auto_replace" msgid="6199184757891937822">"Substituir automaticamente"</string>
     <string name="auto_replace_summary" msgid="370288728200084466">"Corrigir erros ortográficos"</string>
     <string name="auto_caps" msgid="581633131114124121">"Maiúsculas automáticas"</string>
@@ -772,7 +791,8 @@
     <string name="ime_security_warning" msgid="812267421486877917">"Este método de entrada pode permitir a recolha de todo o texto que introduzir, incluindo dados pessoais como, por exemplo, palavras-passe e números de cartão de crédito. O serviço é fornecido com a aplicação <xliff:g id="IME_APPLICATION_NAME">%1$s</xliff:g>. Utilizar este método de entrada?"</string>
     <string name="user_dict_settings_titlebar" msgid="765659257455000490">"Dicionário do utilizador"</string>
     <string name="user_dict_settings_title" msgid="8357027437499042191">"Dicionário do utilizador"</string>
-    <string name="user_dict_settings_summary" msgid="7965571192902870454"></string>
+    <!-- no translation found for user_dict_settings_summary (7965571192902870454) -->
+    <skip />
     <string name="user_dict_settings_add_menu_title" msgid="4056762757149923551">"Adicionar"</string>
     <string name="user_dict_settings_add_dialog_title" msgid="4702613990174126482">"Adicionar ao dicionário"</string>
     <string name="user_dict_settings_edit_dialog_title" msgid="8967476444840548674">"Editar palavra"</string>
@@ -1068,12 +1088,25 @@
     <string name="credentials_erased" msgid="7700309135582200849">"O armazenamento de credenciais foi apagado."</string>
     <string name="credentials_enabled" msgid="7588607413349978930">"O armazenamento de credenciais está activado."</string>
     <string name="credentials_disabled" msgid="7453188089059045380">"O armazenamento de credenciais está desactivado."</string>
+    <string name="encrypted_fs_category" msgid="1841367653663913956">"Sistema de ficheiros encriptados"</string>
+    <string name="encrypted_fs_enable" msgid="3884033081603327729">"Encriptar dados de utilizador privados"</string>
+    <string name="encrypted_fs_enable_summary" msgid="5635188119509076089">"Activar armazenamento do sistema de ficheiros encriptados para dados de utilizador privados neste dispositivo"</string>
+    <string name="encrypted_fs_enable_dialog" msgid="919487211207214266">"A activação dos Sistemas de ficheiros encriptados requer uma limpeza de dados do dispositivo."</string>
+    <string name="encrypted_fs_disable_dialog" msgid="6960413613985682501">"A desactivação dos Sistemas de ficheiros encriptados requer uma limpeza de dados do dispositivo."</string>
+    <string name="encrypted_fs_enable_button" msgid="8453841319751433751">"Activar"</string>
+    <string name="encrypted_fs_disable_button" msgid="8468354944060220496">"Desactivar"</string>
+    <string name="encrypted_fs_cancel_button" msgid="4785921255266305799">"Cancelar"</string>
+    <string name="encrypted_fs_cancel_confirm" msgid="853572431153803557">"A alteração do modo Sistemas de ficheiros encriptados foi cancelada."</string>
+    <string name="encrypted_fs_alert_dialog_title" msgid="583462447886934755">"Aviso dos Sistemas de ficheiros encriptados."</string>
     <string name="emergency_tone_title" msgid="1055954530111587114">"Tom de emergência"</string>
     <string name="emergency_tone_summary" msgid="722259232924572153">"Definir o comportamento quando é efectuada uma chamada de emergência"</string>
     <string name="privacy_settings" msgid="9206631214140954954">"Privacidade"</string>
     <string name="privacy_settings_title" msgid="1987089301293213705">"Definições de privacidade"</string>
+    <string name="backup_section_title" msgid="717834414028702406">"Cópia de segurança e restauro"</string>
     <string name="personal_data_section_title" msgid="7815209034443782061">"Dados pessoais"</string>
+    <string name="backup_settings_title" msgid="2968262658155327829">"Efectuar uma cópia de segurança das minhas definições"</string>
     <string name="auto_restore_title" msgid="5397528966329126506">"Restauro automático"</string>
+    <string name="auto_restore_summary" msgid="2029683590724508019">"Restaurar dados das aplicações a partir da cópia de segurança quando forem instaladas"</string>
     <string name="backup_erase_dialog_title" msgid="3438255037256586237">"Cópia de segurança"</string>
     <string name="backup_erase_dialog_message" msgid="2948090854996352245">"Tem a certeza de que pretende parar a cópia de segurança das definições e dos dados da aplicação e apagar todas as cópias nos servidores da Google?"</string>
     <string name="device_admin_settings_title" msgid="1335557832906433309">"Definições de administração do dispositivo"</string>
@@ -1087,8 +1120,12 @@
     <string name="device_admin_warning" msgid="1149471041373876923">"A activação deste administrador permitirá à aplicação <xliff:g id="APP_NAME">%1$s</xliff:g> efectuar as seguintes operações:"</string>
     <string name="device_admin_status" msgid="7169948053970923035">"Este administrador está activo e permite à aplicação <xliff:g id="APP_NAME">%1$s</xliff:g> efectuar as seguintes operações:"</string>
     <string name="untitled_apn" msgid="1230060359198685513">"Sem título"</string>
-    <string name="sound_category_sound_title" msgid="1488759370067953996">"Geral"</string>
-    <string name="sound_category_calls_title" msgid="3688531959256239012">"Chamadas recebidas"</string>
-    <string name="sound_category_notification_title" msgid="3502115998790286943">"Notificações"</string>
-    <string name="sound_category_feedback_title" msgid="4399742321363475393">"Comentários"</string>
+    <!-- no translation found for sound_category_sound_title (1488759370067953996) -->
+    <skip />
+    <!-- no translation found for sound_category_calls_title (3688531959256239012) -->
+    <skip />
+    <!-- no translation found for sound_category_notification_title (3502115998790286943) -->
+    <skip />
+    <!-- no translation found for sound_category_feedback_title (4399742321363475393) -->
+    <skip />
 </resources>
diff --git a/res/values-pt/arrays.xml b/res/values-pt/arrays.xml
index 103d73a..95eaed0 100644
--- a/res/values-pt/arrays.xml
+++ b/res/values-pt/arrays.xml
@@ -69,32 +69,10 @@
     <item msgid="5972100016440094433">"Italiano"</item>
     <item msgid="5811378076054402537">"Espanhol"</item>
   </string-array>
-  <string-array name="wifi_status">
-    <item msgid="1922181315419294640"></item>
-    <item msgid="8934131797783724664">"Verificando…"</item>
-    <item msgid="8513729475867537913">"Conectando..."</item>
-    <item msgid="515055375277271756">"Autenticando..."</item>
-    <item msgid="1943354004029184381">"Obtendo endereço IP…"</item>
-    <item msgid="4221763391123233270">"Conectado"</item>
-    <item msgid="624838831631122137">"Suspenso"</item>
-    <item msgid="7979680559596111948">"Desconectando…"</item>
-    <item msgid="1634960474403853625">"Desconectado"</item>
-    <item msgid="746097431216080650">"Falha"</item>
-  </string-array>
-  <string-array name="wifi_status_with_ssid">
-    <item msgid="7714855332363650812"></item>
-    <item msgid="8878186979715711006">"Verificando…"</item>
-    <item msgid="355508996603873860">"Conectando-se a <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</item>
-    <item msgid="554971459996405634">"Autenticando com a <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</item>
-    <item msgid="7928343808033020343">"Obtendo endereço IP da <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</item>
-    <item msgid="8937994881315223448">"Conectado a <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</item>
-    <item msgid="1330262655415760617">"Suspenso"</item>
-    <item msgid="7698638434317271902">"Desconectando da <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</item>
-    <item msgid="197508606402264311">"Desconectado"</item>
-    <item msgid="8578370891960825148">"Falha"</item>
-  </string-array>
+    <!-- no translation found for wifi_status:0 (1922181315419294640) -->
+    <!-- no translation found for wifi_status_with_ssid:0 (7714855332363650812) -->
   <string-array name="wifi_security">
-    <item msgid="1435933968767043814">"Aberta"</item>
+    <item msgid="1435933968767043814">"Abrir"</item>
     <item msgid="6318432659048829665">"WEP"</item>
     <item msgid="2966395706508338179">"WPA/WPA2 PSK"</item>
     <item msgid="9098390198768443435">"802.1x EAP"</item>
@@ -161,10 +139,7 @@
     <item msgid="3738430123799803530">"Cartão SD removível"</item>
     <item msgid="4498124044785815005">"Deixar o sistema decidir"</item>
   </string-array>
-  <string-array name="vibrate_entries">
-    <item msgid="3388952299521009213">"Sempre"</item>
-    <item msgid="6293147072807231256">"Nunca"</item>
-    <item msgid="1276641209451816572">"Somente no modo silencioso"</item>
-    <item msgid="8418930333779132418">"Somente quando não está no modo silencioso"</item>
-  </string-array>
+    <!-- no translation found for vibrate_entries:1 (6293147072807231256) -->
+    <!-- no translation found for vibrate_entries:2 (1276641209451816572) -->
+    <!-- no translation found for vibrate_entries:3 (8418930333779132418) -->
 </resources>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index 66fe599..48a5c8c 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -99,7 +99,8 @@
     <string name="bluetooth_disconnected" msgid="6557104142667339895">"Desconectado"</string>
     <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Desconectando…"</string>
     <string name="bluetooth_connecting" msgid="8555009514614320497">"Conectando..."</string>
-    <string name="bluetooth_unknown" msgid="644716244548801421"></string>
+    <!-- no translation found for bluetooth_unknown (644716244548801421) -->
+    <skip />
     <string name="bluetooth_not_connected" msgid="3389882907500605937">"Parear com este dispositivo"</string>
     <string name="bluetooth_pairing" msgid="1426882272690346242">"Pareando…"</string>
     <string name="bluetooth_paired" msgid="1247541089000057726">"Pareado, mas não conectado"</string>
@@ -235,20 +236,34 @@
     <string name="security_settings_summary" msgid="967393342537986570">"Definir Meu local, desbloqueio de tela, bloqueio do SIM e do armazenamento de credenciais"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Definir o Meu local, o desbloqueio de tela, o bloqueio do armazenamento de credenciais"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"Senhas"</string>
-    <string name="lock_settings_picker_title" msgid="3973555216065628262">"Segurança do desbloqueio da tela"</string>
-    <string name="unlock_set_unlock_launch_picker_title" msgid="1129684221223017902">"Configurar bloqueio de tela"</string>
-    <string name="unlock_set_unlock_launch_picker_summary" msgid="1667332113134720845">"Bloquear a tela com um padrão, PIN ou senha"</string>
-    <string name="unlock_set_unlock_launch_picker_change_title" msgid="6987228635944678726">"Alterar bloqueio de tela"</string>
-    <string name="unlock_set_unlock_launch_picker_change_summary" msgid="2790960639554590668">"Alterar ou desativar o padrão, o PIN ou a segurança da senha"</string>
-    <string name="unlock_set_unlock_none_title" msgid="3760684669884671990">"Nenhum"</string>
-    <string name="unlock_set_unlock_none_summary" msgid="2658550480388272618">"Desativar o bloqueio de tela"</string>
-    <string name="unlock_set_unlock_pattern_title" msgid="2912067603917311700">"Padrão"</string>
-    <string name="unlock_set_unlock_pattern_summary" msgid="3018395214738645405">"Defina o padrão para desbloquear a tela"</string>
-    <string name="unlock_set_unlock_pin_title" msgid="5846029709462329515">"PIN"</string>
-    <string name="unlock_set_unlock_pin_summary" msgid="4131169672844263316">"Insira um PIN numérico para desbloquear a tela"</string>
-    <string name="unlock_set_unlock_password_title" msgid="8775603825675090937">"Senha"</string>
-    <string name="unlock_set_unlock_password_summary" msgid="4623254789833899286">"Digite uma senha para desbloquear a tela"</string>
-    <string name="unlock_set_unlock_disabled_summary" msgid="736557879526940324">"Desativado pelo administrador remoto do telefone"</string>
+    <!-- no translation found for lock_settings_picker_title (3973555216065628262) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_launch_picker_title (1129684221223017902) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_launch_picker_summary (1667332113134720845) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_launch_picker_change_title (6987228635944678726) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_launch_picker_change_summary (2790960639554590668) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_none_title (3760684669884671990) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_none_summary (2658550480388272618) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_pattern_title (2912067603917311700) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_pattern_summary (3018395214738645405) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_pin_title (5846029709462329515) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_pin_summary (4131169672844263316) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_password_title (8775603825675090937) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_password_summary (4623254789833899286) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_disabled_summary (736557879526940324) -->
+    <skip />
     <string name="unlock_disable_lock_title" msgid="1427036227416979120">"Desativar o bloqueio da tela"</string>
     <string name="unlock_disable_lock_pattern_summary" msgid="6801602880568869201">"Remover padrão de desbloqueio"</string>
     <string name="unlock_disable_lock_pin_summary" msgid="8856842745366993387">"Remover PIN de desbloqueio"</string>
@@ -385,15 +400,15 @@
     <string name="wifi_dns2" msgid="1368601006824882659">"DNS 2"</string>
     <string name="wifi_gateway" msgid="163914742461092086">"Gateway"</string>
     <string name="wifi_netmask" msgid="4520635321425529085">"Máscara de rede"</string>
-    <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"Ponto de acesso Wi-Fi portátil"</string>
-    <string name="wifi_tether_enabled_subtext" msgid="8948641212931906143">"Ponto de acesso portátil <xliff:g id="NETWORK_SSID">%1$s</xliff:g> ativo"</string>
-    <string name="wifi_tether_failed_subtext" msgid="2654888578056042315">"Erro de ponto de acesso Wi-Fi portátil"</string>
-    <string name="wifi_tether_settings_text" msgid="123573487844470195">"Configurações de ponto de acesso Wi-Fi portátil"</string>
-    <string name="wifi_tether_settings_subtext" msgid="8064755682383367008">"Configurar e gerenciar ponto de acesso Wi-Fi portátil"</string>
-    <string name="wifi_tether_settings_title" msgid="3749063216348284432">"Configurações do ponto de acesso Wi-Fi portátil"</string>
-    <string name="wifi_tether_configure_ap_text" msgid="3474995108398156258">"Configurar ponto de acesso Wi-Fi"</string>
-    <string name="wifi_tether_configure_subtext" msgid="1927454307836232128">"ponto de acesso Wi-Fi portátil <xliff:g id="NETWORK_SSID">%1$s</xliff:g> <xliff:g id="NETWORK_SECURITY">%2$s</xliff:g>"</string>
-    <string name="wifi_tether_configure_ssid_default" msgid="8467525402622138547">"Ponto de acesso Android"</string>
+    <string name="wifi_tether_checkbox_text" msgid="796007268580464534">"Vínculo de Wi-Fi"</string>
+    <string name="wifi_tether_enabled_subtext" msgid="6758080605207549918">"Ponto de acesso <xliff:g id="NETWORK_SSID">%1$s</xliff:g> ativo"</string>
+    <string name="wifi_tether_failed_subtext" msgid="4379214348183654280">"Erro de vínculo de Wi-Fi"</string>
+    <string name="wifi_tether_settings_text" msgid="8831276059149506799">"Configurações de vínculo de Wi-Fi"</string>
+    <string name="wifi_tether_settings_subtext" msgid="3415164631321782704">"Configurar e gerenciar o ponto de acesso"</string>
+    <string name="wifi_tether_settings_title" msgid="3233393750798545228">"Configurações de vínculo de Wi-Fi"</string>
+    <string name="wifi_tether_configure_ap_text" msgid="7849700175083202171">"Configurar ponto de acesso"</string>
+    <string name="wifi_tether_configure_subtext" msgid="54089556089657247">"Ponto de acesso <xliff:g id="NETWORK_SSID">%1$s</xliff:g> <xliff:g id="NETWORK_SECURITY">%2$s</xliff:g>"</string>
+    <string name="wifi_tether_configure_ssid_default" msgid="4491822321218336928">"AndroidAP"</string>
     <string name="sound_settings_title" msgid="8735891486683305886">"Som"</string>
     <string name="display_settings_title" msgid="1708697328627382561">"Tela"</string>
     <string name="sound_settings" msgid="5007659014828162881">"Configurações de som"</string>
@@ -401,16 +416,20 @@
     <string name="silent_mode_summary" msgid="3309650676072917899">"Silenciar todos os sons, exceto a mídia e os alarmes."</string>
     <string name="silent_mode_incl_alarm_summary" msgid="2088830834182228458">"Todos os sons, exceto de mídia, estão silenciados"</string>
     <string name="ringtone_title" msgid="5379026328015343686">"Toque do telefone"</string>
-    <string name="ringtone_summary" msgid="2630023412632683493"></string>
+    <!-- no translation found for ringtone_summary (2630023412632683493) -->
+    <skip />
     <string name="all_volume_title" msgid="8741571721868253103">"Volume"</string>
     <string name="ring_volume_title" msgid="7938706566797464165">"Volume da campainha"</string>
-    <string name="ring_volume_summary" msgid="7055497624193116879"></string>
+    <!-- no translation found for ring_volume_summary (7055497624193116879) -->
+    <skip />
     <string name="vibrate_in_silent_title" msgid="3897968069156767036">"Vibrar no modo silencioso"</string>
     <string name="vibrate_in_silent_summary" msgid="3312600513070076281">"Permitir comentário com vibração no modo silencioso"</string>
-    <string name="vibrate_title" msgid="6045820877942801599">"Vibrar"</string>
-    <string name="vibrate_summary" msgid="7378130397830790458">"Vibração para chamadas e notificações"</string>
+    <!-- no translation found for vibrate_title (6045820877942801599) -->
+    <skip />
+    <string name="vibrate_summary" msgid="7378130397830790458">"Retorno com vibração para chamadas e notificações"</string>
     <string name="notification_sound_title" msgid="6316316069880531693">"Toque de notificação"</string>
-    <string name="notification_sound_summary" msgid="2953599929394109819"></string>
+    <!-- no translation found for notification_sound_summary (2953599929394109819) -->
+    <skip />
     <string name="notification_pulse_title" msgid="1247988024534030629">"Pulsar luz de notificação"</string>
     <string name="notification_pulse_summary" msgid="6899220780534617152">"Pulsar luz do trackball repetidamente para novas notificações"</string>
     <string name="incoming_call_volume_title" msgid="8073714801365904099">"Toque"</string>
@@ -486,7 +505,8 @@
     <string name="sim_enter_cancel" msgid="6240422158517208036">"Cancelar"</string>
     <string name="device_info_settings" msgid="475872867864762157">"Status do telefone"</string>
     <string name="system_update_settings_list_item_title" msgid="3342887311059985961">"Atualizações do sistema"</string>
-    <string name="system_update_settings_list_item_summary" msgid="3853057315907710747"></string>
+    <!-- no translation found for system_update_settings_list_item_summary (3853057315907710747) -->
+    <skip />
     <string name="firmware_version" msgid="4801135784886859972">"Versão do Android"</string>
     <string name="model_number" msgid="3765737700545384794">"Número do modelo"</string>
     <string name="baseband_version" msgid="1848990160763524801">"Versão da banda de base"</string>
@@ -588,12 +608,9 @@
     <string name="media_format_gesture_explanation" msgid="4239529439389660159">"Você deve desenhar o seu padrão de desbloqueio para confirmar a formatação de um cartão SD."</string>
     <string name="call_settings_title" msgid="5188713413939232801">"Conf. de chamada"</string>
     <string name="call_settings_summary" msgid="7291195704801002886">"Configurar correio voz, encaminhamento, espera etc."</string>
-    <string name="tether_settings_title_usb" msgid="4315031513434087777">"Vínculo"</string>
-    <string name="tether_settings_title_wifi" msgid="3277144155960302049">"Ponto de acesso portátil"</string>
-    <string name="tether_settings_title_both" msgid="2734066355556891504">"Vínculo e ponto de acesso portátil"</string>
-    <string name="tether_settings_summary_usb" msgid="3562431455625637370">"Compartilhar a conexão de dados móveis do seu telefone via USB"</string>
-    <string name="tether_settings_summary_wifi" msgid="4690912027002467246">"Compartilhar a conexão de dados móveis do seu telefone como um ponto de acesso Wi-Fi portátil"</string>
-    <string name="tether_settings_summary_both" msgid="7460063951190682635">"Compartilhar a conexão de dados móveis do seu telefone via USB ou como ponto de acesso Wi-Fi"</string>
+    <string name="tether_settings_title" msgid="8703982377504005349">"Vínculo"</string>
+    <string name="tether_settings_summary" msgid="6679594629002850490">"Configurar e gerenciar vínculo"</string>
+    <string name="tether_screen_title" msgid="1521966915332491855">"Configurações de vínculo"</string>
     <string name="usb_title" msgid="7483344855356312510">"USB"</string>
     <string name="usb_tethering_button_text" msgid="585829947108007917">"Vínculo USB"</string>
     <string name="usb_tethering_available_subtext" msgid="156779271296152605">"USB conectado, marque para vincular"</string>
@@ -601,7 +618,7 @@
     <string name="usb_tethering_storage_active_subtext" msgid="6608933594288072573">"Não é possível vincular quando o armazenamento USB estiver em uso"</string>
     <string name="usb_tethering_unavailable_subtext" msgid="1044622421184007254">"USB não conectado"</string>
     <string name="usb_tethering_errored_subtext" msgid="1377574819427841992">"Erro de vínculo de USB"</string>
-    <string name="tethering_help_button_text" msgid="656117495547173630">"Ajuda"</string>
+    <string name="tethering_help_button_text" msgid="7322604807045355030">"Ajuda do vínculo"</string>
     <string name="network_settings_title" msgid="7967552516440151852">"Redes móveis"</string>
     <string name="network_settings_summary" msgid="5149750850846813553">"Definir opções para roaming, redes, APNs"</string>
     <string name="location_title" msgid="1029961368397484576">"Meu Local"</string>
@@ -759,7 +776,8 @@
     <string name="language_category" msgid="3391756582724541530">"Configuração de local"</string>
     <string name="text_category" msgid="6342540511465136739">"Configurações de texto"</string>
     <string name="phone_language" msgid="1165758957501090679">"Selecionar idioma"</string>
-    <string name="phone_language_summary" msgid="3871309445655554211"></string>
+    <!-- no translation found for phone_language_summary (3871309445655554211) -->
+    <skip />
     <string name="auto_replace" msgid="6199184757891937822">"Substituição automática"</string>
     <string name="auto_replace_summary" msgid="370288728200084466">"Corrigir palavras digitadas incorretamente"</string>
     <string name="auto_caps" msgid="581633131114124121">"Iniciar com maiúscula"</string>
@@ -772,7 +790,8 @@
     <string name="ime_security_warning" msgid="812267421486877917">"Este método de entrada pode coletar todo o texto que você digitar, incluindo dados pessoais como senhas e números de cartão de crédito. Ele é proveniente do aplicativo <xliff:g id="IME_APPLICATION_NAME">%1$s</xliff:g>. Usar este método de entrada?"</string>
     <string name="user_dict_settings_titlebar" msgid="765659257455000490">"Dicionário do usuário"</string>
     <string name="user_dict_settings_title" msgid="8357027437499042191">"Dicionário do usuário"</string>
-    <string name="user_dict_settings_summary" msgid="7965571192902870454"></string>
+    <!-- no translation found for user_dict_settings_summary (7965571192902870454) -->
+    <skip />
     <string name="user_dict_settings_add_menu_title" msgid="4056762757149923551">"Adicionar"</string>
     <string name="user_dict_settings_add_dialog_title" msgid="4702613990174126482">"Adicionar ao dicionário"</string>
     <string name="user_dict_settings_edit_dialog_title" msgid="8967476444840548674">"Editar palavra"</string>
@@ -1068,12 +1087,25 @@
     <string name="credentials_erased" msgid="7700309135582200849">"O armazenamento de credenciais foi apagado."</string>
     <string name="credentials_enabled" msgid="7588607413349978930">"O armazenamento de credenciais foi ativado."</string>
     <string name="credentials_disabled" msgid="7453188089059045380">"O armazenamento de credenciais foi desativado."</string>
+    <string name="encrypted_fs_category" msgid="1841367653663913956">"Sistema de arquivos criptografados"</string>
+    <string name="encrypted_fs_enable" msgid="3884033081603327729">"Criptografar dados privados de usuário"</string>
+    <string name="encrypted_fs_enable_summary" msgid="5635188119509076089">"Ativar armazenamento do sistema de arquivo criptografado para dados privados do usuário neste aparelho."</string>
+    <string name="encrypted_fs_enable_dialog" msgid="919487211207214266">"A ativação dos Sistemas de arquivo criptografados exige uma limpeza de dados do dispositivo."</string>
+    <string name="encrypted_fs_disable_dialog" msgid="6960413613985682501">"A desativação dos Sistemas de arquivo criptografados exige uma limpeza de dados do dispositivo."</string>
+    <string name="encrypted_fs_enable_button" msgid="8453841319751433751">"Ativar"</string>
+    <string name="encrypted_fs_disable_button" msgid="8468354944060220496">"Desativar"</string>
+    <string name="encrypted_fs_cancel_button" msgid="4785921255266305799">"Cancelar"</string>
+    <string name="encrypted_fs_cancel_confirm" msgid="853572431153803557">"A alteração do modo do Sistema de arquivos criptografados foi cancelada."</string>
+    <string name="encrypted_fs_alert_dialog_title" msgid="583462447886934755">"Aviso dos Sistemas de arquivo criptografados."</string>
     <string name="emergency_tone_title" msgid="1055954530111587114">"Tom de emergência"</string>
     <string name="emergency_tone_summary" msgid="722259232924572153">"Definir comportamento durante uma chamada de emergência"</string>
     <string name="privacy_settings" msgid="9206631214140954954">"Privacidade"</string>
     <string name="privacy_settings_title" msgid="1987089301293213705">"Configurações de privacidade"</string>
+    <string name="backup_section_title" msgid="717834414028702406">"Backup e restauração"</string>
     <string name="personal_data_section_title" msgid="7815209034443782061">"Dados pessoais"</string>
+    <string name="backup_settings_title" msgid="2968262658155327829">"Fazer backup de minhas configurações"</string>
     <string name="auto_restore_title" msgid="5397528966329126506">"Restauração automática"</string>
+    <string name="auto_restore_summary" msgid="2029683590724508019">"Restaura os dados do aplicativo do backup quando estiverem instalados."</string>
     <string name="backup_erase_dialog_title" msgid="3438255037256586237">"Backup"</string>
     <string name="backup_erase_dialog_message" msgid="2948090854996352245">"Tem certeza de que deseja parar de fazer backup das suas configurações e dados de aplicativo e apagar todas as cópias nos servidores do Google?"</string>
     <string name="device_admin_settings_title" msgid="1335557832906433309">"Configurações de administração do dispositivo"</string>
@@ -1087,8 +1119,9 @@
     <string name="device_admin_warning" msgid="1149471041373876923">"A ativação deste administrador permitirá que o aplicativo <xliff:g id="APP_NAME">%1$s</xliff:g> execute as seguintes operações:"</string>
     <string name="device_admin_status" msgid="7169948053970923035">"Este administrador está ativo e permite que o aplicativo <xliff:g id="APP_NAME">%1$s</xliff:g> execute as seguintes operações:"</string>
     <string name="untitled_apn" msgid="1230060359198685513">"Sem título"</string>
-    <string name="sound_category_sound_title" msgid="1488759370067953996">"Geral"</string>
+    <!-- no translation found for sound_category_sound_title (1488759370067953996) -->
+    <skip />
     <string name="sound_category_calls_title" msgid="3688531959256239012">"Chamadas recebidas"</string>
     <string name="sound_category_notification_title" msgid="3502115998790286943">"Notificações"</string>
-    <string name="sound_category_feedback_title" msgid="4399742321363475393">"Comentários"</string>
+    <string name="sound_category_feedback_title" msgid="4399742321363475393">"Retorno"</string>
 </resources>
diff --git a/res/values-ru/arrays.xml b/res/values-ru/arrays.xml
index 99eb90a..e466db9 100644
--- a/res/values-ru/arrays.xml
+++ b/res/values-ru/arrays.xml
@@ -37,14 +37,14 @@
   <string-array name="animations_summaries">
     <item msgid="4569165952409350897">"Анимация в окне не отображается"</item>
     <item msgid="4460915688877708508">"В окне отображается некоторая часть анимации"</item>
-    <item msgid="488968798204105119">"Плавные переходы при переключении между окнами"</item>
+    <item msgid="488968798204105119">"В окне отображается вся анимация полностью"</item>
   </string-array>
   <string-array name="screen_timeout_entries">
     <item msgid="3342301044271143016">"15 секунд"</item>
     <item msgid="8881760709354815449">"30 секунд"</item>
-    <item msgid="7589406073232279088">"1 минута"</item>
+    <item msgid="7589406073232279088">"за 1 минуту"</item>
     <item msgid="7001195990902244174">"2 минуты"</item>
-    <item msgid="5721688686241190620">"10 минут"</item>
+    <item msgid="5721688686241190620">"за 10 минут"</item>
     <item msgid="7156442995039264948">"30 минут"</item>
   </string-array>
   <string-array name="tts_rate_entries">
@@ -69,30 +69,8 @@
     <item msgid="5972100016440094433">"Итальянский"</item>
     <item msgid="5811378076054402537">"Испанский"</item>
   </string-array>
-  <string-array name="wifi_status">
-    <item msgid="1922181315419294640"></item>
-    <item msgid="8934131797783724664">"Поиск..."</item>
-    <item msgid="8513729475867537913">"Подключение..."</item>
-    <item msgid="515055375277271756">"Аутентификация..."</item>
-    <item msgid="1943354004029184381">"Получение IP-адреса..."</item>
-    <item msgid="4221763391123233270">"Подключено"</item>
-    <item msgid="624838831631122137">"Приостановлено"</item>
-    <item msgid="7979680559596111948">"Отключение..."</item>
-    <item msgid="1634960474403853625">"Отключено"</item>
-    <item msgid="746097431216080650">"Сбой"</item>
-  </string-array>
-  <string-array name="wifi_status_with_ssid">
-    <item msgid="7714855332363650812"></item>
-    <item msgid="8878186979715711006">"Поиск..."</item>
-    <item msgid="355508996603873860">"Соединение с сетью <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</item>
-    <item msgid="554971459996405634">"Аутентификация в сети <xliff:g id="NETWORK_NAME">%1$s</xliff:g>..."</item>
-    <item msgid="7928343808033020343">"Получение IP-адреса от <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</item>
-    <item msgid="8937994881315223448">"Подключено к <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</item>
-    <item msgid="1330262655415760617">"Приостановлено"</item>
-    <item msgid="7698638434317271902">"Отключение от <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</item>
-    <item msgid="197508606402264311">"Отключено"</item>
-    <item msgid="8578370891960825148">"Сбой"</item>
-  </string-array>
+    <!-- no translation found for wifi_status:0 (1922181315419294640) -->
+    <!-- no translation found for wifi_status_with_ssid:0 (7714855332363650812) -->
   <string-array name="wifi_security">
     <item msgid="1435933968767043814">"Не защищена"</item>
     <item msgid="6318432659048829665">"WEP"</item>
@@ -148,7 +126,7 @@
   <string-array name="emergency_tone_entries">
     <item msgid="5165439859689033665">"Выкл."</item>
     <item msgid="3165868966179561687">"Оповещение"</item>
-    <item msgid="6038758039030476855">"Виброзвонок"</item>
+    <item msgid="6038758039030476855">"Вибровызов"</item>
   </string-array>
   <string-array name="apn_auth_entries">
     <item msgid="3856896061242872146">"Нет"</item>
@@ -161,10 +139,7 @@
     <item msgid="3738430123799803530">"Съемная SD-карта"</item>
     <item msgid="4498124044785815005">"На усмотрение системы"</item>
   </string-array>
-  <string-array name="vibrate_entries">
-    <item msgid="3388952299521009213">"Всегда"</item>
-    <item msgid="6293147072807231256">"Никогда"</item>
-    <item msgid="1276641209451816572">"Только в режиме без звука"</item>
-    <item msgid="8418930333779132418">"Только не в режиме без звука"</item>
-  </string-array>
+    <!-- no translation found for vibrate_entries:1 (6293147072807231256) -->
+    <!-- no translation found for vibrate_entries:2 (1276641209451816572) -->
+    <!-- no translation found for vibrate_entries:3 (8418930333779132418) -->
 </resources>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index 04099a5..02a803b 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -27,7 +27,7 @@
     <string name="radioInfo_menu_getPDP" msgid="560610293888406317">"Получить список PDP"</string>
     <string name="radioInfo_service_in" msgid="1915416319177520020">"В зоне обслуживания"</string>
     <string name="radioInfo_service_out" msgid="5238736759641916278">"Вне зоны обслуживания"</string>
-    <string name="radioInfo_service_emergency" msgid="2485604591272668370">"Только экстренный вызов"</string>
+    <string name="radioInfo_service_emergency" msgid="2485604591272668370">"Только вызовы службы экстренной помощи"</string>
     <string name="radioInfo_service_off" msgid="1434084741785525415">"Радио отключено"</string>
     <string name="radioInfo_roaming_in" msgid="9045363884600341051">"Роуминг"</string>
     <string name="radioInfo_roaming_not" msgid="2851853244069662307">"Роуминг отключен"</string>
@@ -72,7 +72,7 @@
     <string name="battery_info_status_charging_usb" msgid="4059070156126770959">"(USB)"</string>
     <string name="battery_info_status_discharging" msgid="6222697503392774475">"Разрядка батареи"</string>
     <string name="battery_info_status_not_charging" msgid="2820070506621483576">"Не заряжается"</string>
-    <string name="battery_info_status_full" msgid="2824614753861462808">"Заряжена"</string>
+    <string name="battery_info_status_full" msgid="2824614753861462808">"Полностью"</string>
     <string name="battery_info_power_unplugged" msgid="5987246575519551081">"Не подключено"</string>
     <string name="battery_info_power_ac" msgid="6808516193001604634">"Питание от сети"</string>
     <string name="battery_info_power_usb" msgid="8012931702516331797">"USB"</string>
@@ -81,7 +81,7 @@
     <string name="battery_info_health_unknown" msgid="5664295556921944255">"Неизвестно"</string>
     <string name="battery_info_health_good" msgid="8070356565806711806">"Хорошо"</string>
     <string name="battery_info_health_overheat" msgid="8442959549291368806">"Перегрев"</string>
-    <string name="battery_info_health_dead" msgid="1725917445762829059">"Разряжена"</string>
+    <string name="battery_info_health_dead" msgid="1725917445762829059">"Отключено"</string>
     <string name="battery_info_health_over_voltage" msgid="2420269351664490121">"Слишком высокое напряжение"</string>
     <string name="battery_info_health_unspecified_failure" msgid="6347021103185471590">"Неизвестная ошибка"</string>
     <string name="bluetooth" msgid="5549625000628014477">"Bluetooth"</string>
@@ -99,8 +99,9 @@
     <string name="bluetooth_disconnected" msgid="6557104142667339895">"Отключено"</string>
     <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Отключение..."</string>
     <string name="bluetooth_connecting" msgid="8555009514614320497">"Подключение..."</string>
-    <string name="bluetooth_unknown" msgid="644716244548801421"></string>
-    <string name="bluetooth_not_connected" msgid="3389882907500605937">"Подключиться к этому устройству"</string>
+    <!-- no translation found for bluetooth_unknown (644716244548801421) -->
+    <skip />
+    <string name="bluetooth_not_connected" msgid="3389882907500605937">"Установить сопряжение с этим устройством"</string>
     <string name="bluetooth_pairing" msgid="1426882272690346242">"Сопряжение..."</string>
     <string name="bluetooth_paired" msgid="1247541089000057726">"Сопряжено, но не подключено"</string>
     <string name="bluetooth_device" msgid="6873461446424952003">"гарнитура/наушники"</string>
@@ -230,25 +231,39 @@
     <string name="date_time_date_format" msgid="436706100255870967">"Выбрать формат даты"</string>
     <string name="zone_list_menu_sort_alphabetically" msgid="5683377702671088588">"Упорядочить по алфавиту"</string>
     <string name="zone_list_menu_sort_by_timezone" msgid="2720190443744884114">"Упорядочить по часовому поясу"</string>
-    <string name="security_settings_title" msgid="5168491784222013179">"Местоположение и защита"</string>
-    <string name="location_security_settings_title" msgid="4624434296446625554">"Местоположение и защита устройства"</string>
+    <string name="security_settings_title" msgid="5168491784222013179">"Локация и безопасность"</string>
+    <string name="location_security_settings_title" msgid="4624434296446625554">"Настройки местоположения и безопасности"</string>
     <string name="security_settings_summary" msgid="967393342537986570">"Настройка функции \"Мое местоположение\", разблокировка экрана и блокировка хранилища регистрационных данных"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Настройка функции \"Мое местоположение\", разблокировка экрана и блокировка хранилища регистрационных данных"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"Пароли"</string>
-    <string name="lock_settings_picker_title" msgid="3973555216065628262">"Блокировка экрана"</string>
-    <string name="unlock_set_unlock_launch_picker_title" msgid="1129684221223017902">"Настроить блокировку экрана"</string>
-    <string name="unlock_set_unlock_launch_picker_summary" msgid="1667332113134720845">"Блокировка экрана графическим ключом, PIN и паролем"</string>
-    <string name="unlock_set_unlock_launch_picker_change_title" msgid="6987228635944678726">"Сменить способ блокировки"</string>
-    <string name="unlock_set_unlock_launch_picker_change_summary" msgid="2790960639554590668">"Смена или отключение графического ключа, PIN-кода и пароля"</string>
-    <string name="unlock_set_unlock_none_title" msgid="3760684669884671990">"Снять защиту"</string>
-    <string name="unlock_set_unlock_none_summary" msgid="2658550480388272618">"Отключить блокировку экрана"</string>
-    <string name="unlock_set_unlock_pattern_title" msgid="2912067603917311700">"Графический ключ"</string>
-    <string name="unlock_set_unlock_pattern_summary" msgid="3018395214738645405">"Создайте графический ключ разблокировки экрана"</string>
-    <string name="unlock_set_unlock_pin_title" msgid="5846029709462329515">"PIN"</string>
-    <string name="unlock_set_unlock_pin_summary" msgid="4131169672844263316">"Создайте PIN-код разблокировки экрана"</string>
-    <string name="unlock_set_unlock_password_title" msgid="8775603825675090937">"Пароль"</string>
-    <string name="unlock_set_unlock_password_summary" msgid="4623254789833899286">"Создайте пароль разблокировки экрана"</string>
-    <string name="unlock_set_unlock_disabled_summary" msgid="736557879526940324">"Запрещено удаленным администратором"</string>
+    <!-- no translation found for lock_settings_picker_title (3973555216065628262) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_launch_picker_title (1129684221223017902) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_launch_picker_summary (1667332113134720845) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_launch_picker_change_title (6987228635944678726) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_launch_picker_change_summary (2790960639554590668) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_none_title (3760684669884671990) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_none_summary (2658550480388272618) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_pattern_title (2912067603917311700) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_pattern_summary (3018395214738645405) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_pin_title (5846029709462329515) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_pin_summary (4131169672844263316) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_password_title (8775603825675090937) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_password_summary (4623254789833899286) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_disabled_summary (736557879526940324) -->
+    <skip />
     <string name="unlock_disable_lock_title" msgid="1427036227416979120">"Отключить блокировку экрана"</string>
     <string name="unlock_disable_lock_pattern_summary" msgid="6801602880568869201">"Удалить графический ключ разблокировки"</string>
     <string name="unlock_disable_lock_pin_summary" msgid="8856842745366993387">"Удалить ПИН-код разблокировки"</string>
@@ -271,7 +286,7 @@
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Отмена"</string>
     <string name="device_admin_title" msgid="3562216873644263804">"Администрирование устройства"</string>
     <string name="manage_device_admin" msgid="3864120111085199551">"Выбрать администраторов устройства"</string>
-    <string name="manage_device_admin_summary" msgid="915390201809231575">"Добавление и удаление администраторов устройства"</string>
+    <string name="manage_device_admin_summary" msgid="915390201809231575">"Добавление и удаление администраторов устройств"</string>
     <string name="bluetooth_quick_toggle_title" msgid="1037056952714061893">"Bluetooth"</string>
     <string name="bluetooth_quick_toggle_summary" msgid="5293641680139873341">"Включить Bluetooth"</string>
     <string name="bluetooth_settings" msgid="2725796451253089609">"Настройки Bluetooth"</string>
@@ -302,7 +317,7 @@
     <string name="bluetooth_device_context_connect_advanced" msgid="2643129703569788771">"Параметры..."</string>
     <string name="bluetooth_connect_specific_profiles_title" msgid="6952214406025825164">"Подключить к..."</string>
     <string name="bluetooth_profile_a2dp" msgid="3259633293424539529">"Мультимедиа"</string>
-    <string name="bluetooth_profile_headset" msgid="1874975688666658946">"Телефон"</string>
+    <string name="bluetooth_profile_headset" msgid="1874975688666658946">"Кнопки"</string>
     <string name="bluetooth_profile_opp" msgid="3799470046565284440">"Передать"</string>
     <string name="bluetooth_summary_connected_to_a2dp" msgid="510833839847758664">"Подключено к мультимедийному аудиоустройству"</string>
     <string name="bluetooth_summary_connected_to_headset" msgid="4876496372728623918">"Подключено к аудиоустройству телефона"</string>
@@ -339,7 +354,7 @@
     <string name="wifi_access_points" msgid="2664629396767022441">"Сети Wi-Fi"</string>
     <string name="wifi_menu_scan" msgid="1470911530412095868">"Поиск"</string>
     <string name="wifi_menu_advanced" msgid="7522252991919573664">"Дополнительные функции"</string>
-    <string name="wifi_menu_connect" msgid="4996220309848349408">"Подключиться к сети"</string>
+    <string name="wifi_menu_connect" msgid="4996220309848349408">"Подключить к сети"</string>
     <string name="wifi_menu_forget" msgid="8736964302477327114">"Удалить эту сеть"</string>
     <string name="wifi_menu_modify" msgid="2068554918652440105">"Изменить сеть"</string>
     <string name="wifi_ssid" msgid="641393708309146745">"Имя сети (SSID)"</string>
@@ -385,32 +400,37 @@
     <string name="wifi_dns2" msgid="1368601006824882659">"DNS 2"</string>
     <string name="wifi_gateway" msgid="163914742461092086">"Шлюз"</string>
     <string name="wifi_netmask" msgid="4520635321425529085">"Маска сети"</string>
-    <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"Точка доступа Wi-Fi"</string>
-    <string name="wifi_tether_enabled_subtext" msgid="8948641212931906143">"Точка доступа <xliff:g id="NETWORK_SSID">%1$s</xliff:g> активна"</string>
-    <string name="wifi_tether_failed_subtext" msgid="2654888578056042315">"Ошибка подключения"</string>
-    <string name="wifi_tether_settings_text" msgid="123573487844470195">"Настройки точки доступа"</string>
-    <string name="wifi_tether_settings_subtext" msgid="8064755682383367008">"Настройка точки доступа Wi-Fi"</string>
-    <string name="wifi_tether_settings_title" msgid="3749063216348284432">"Настройки точки доступа "</string>
-    <string name="wifi_tether_configure_ap_text" msgid="3474995108398156258">"Настроить точку доступа Wi-Fi"</string>
-    <string name="wifi_tether_configure_subtext" msgid="1927454307836232128">"Точка доступа <xliff:g id="NETWORK_SSID">%1$s</xliff:g> <xliff:g id="NETWORK_SECURITY">%2$s</xliff:g>"</string>
-    <string name="wifi_tether_configure_ssid_default" msgid="8467525402622138547">"Хот-спот Android"</string>
-    <string name="sound_settings_title" msgid="8735891486683305886">"Звук"</string>
+    <string name="wifi_tether_checkbox_text" msgid="796007268580464534">"Подключение Wi-Fi"</string>
+    <string name="wifi_tether_enabled_subtext" msgid="6758080605207549918">"Точка доступа <xliff:g id="NETWORK_SSID">%1$s</xliff:g> активна"</string>
+    <string name="wifi_tether_failed_subtext" msgid="4379214348183654280">"Ошибка подключения Wi-Fi"</string>
+    <string name="wifi_tether_settings_text" msgid="8831276059149506799">"Настройки подключения Wi-Fi"</string>
+    <string name="wifi_tether_settings_subtext" msgid="3415164631321782704">"Настройка и управление точкой доступа"</string>
+    <string name="wifi_tether_settings_title" msgid="3233393750798545228">"Настройки подключения Wi-Fi"</string>
+    <string name="wifi_tether_configure_ap_text" msgid="7849700175083202171">"Настроить точку доступа"</string>
+    <string name="wifi_tether_configure_subtext" msgid="54089556089657247">"Точка доступа <xliff:g id="NETWORK_SSID">%1$s</xliff:g> <xliff:g id="NETWORK_SECURITY">%2$s</xliff:g>"</string>
+    <string name="wifi_tether_configure_ssid_default" msgid="4491822321218336928">"AndroidAP"</string>
+    <string name="sound_settings_title" msgid="8735891486683305886">"Звуковой сигнал"</string>
     <string name="display_settings_title" msgid="1708697328627382561">"Экран"</string>
     <string name="sound_settings" msgid="5007659014828162881">"Настройки звука"</string>
     <string name="silent_mode_title" msgid="3181479108593217704">"Режим без звука"</string>
     <string name="silent_mode_summary" msgid="3309650676072917899">"Отключить все звуки, кроме мультимедиа и будильника"</string>
     <string name="silent_mode_incl_alarm_summary" msgid="2088830834182228458">"Все звуки, кроме аудио и видео, отключены"</string>
     <string name="ringtone_title" msgid="5379026328015343686">"Мелодия телефона"</string>
-    <string name="ringtone_summary" msgid="2630023412632683493"></string>
+    <!-- no translation found for ringtone_summary (2630023412632683493) -->
+    <skip />
     <string name="all_volume_title" msgid="8741571721868253103">"Громкость"</string>
     <string name="ring_volume_title" msgid="7938706566797464165">"Громкость звонка"</string>
-    <string name="ring_volume_summary" msgid="7055497624193116879"></string>
-    <string name="vibrate_in_silent_title" msgid="3897968069156767036">"Виброзвонок без звука"</string>
+    <!-- no translation found for ring_volume_summary (7055497624193116879) -->
+    <skip />
+    <string name="vibrate_in_silent_title" msgid="3897968069156767036">"Вибровызов без звука"</string>
     <string name="vibrate_in_silent_summary" msgid="3312600513070076281">"Разрешить вибрацию в режиме без звука"</string>
-    <string name="vibrate_title" msgid="6045820877942801599">"Виброзвонок"</string>
-    <string name="vibrate_summary" msgid="7378130397830790458">"Вибрация при входящих вызовах и оповещениях"</string>
+    <!-- no translation found for vibrate_title (6045820877942801599) -->
+    <skip />
+    <!-- no translation found for vibrate_summary (7378130397830790458) -->
+    <skip />
     <string name="notification_sound_title" msgid="6316316069880531693">"Звук уведомления"</string>
-    <string name="notification_sound_summary" msgid="2953599929394109819"></string>
+    <!-- no translation found for notification_sound_summary (2953599929394109819) -->
+    <skip />
     <string name="notification_pulse_title" msgid="1247988024534030629">"Мигание трекбола"</string>
     <string name="notification_pulse_summary" msgid="6899220780534617152">"Включать мигание трекбола при получении новых уведомлений"</string>
     <string name="incoming_call_volume_title" msgid="8073714801365904099">"Мелодия"</string>
@@ -460,7 +480,7 @@
     <string name="accelerometer_summary_off" msgid="5485489363715740761">"Автоматически менять ориентацию экрана при повороте телефона"</string>
     <string name="brightness" msgid="2354961343555249270">"Яркость"</string>
     <string name="brightness_summary" msgid="838917350127550703">"Настроить яркость экрана"</string>
-    <string name="screen_timeout" msgid="4882669461447531301">"Автоотключение экрана"</string>
+    <string name="screen_timeout" msgid="4882669461447531301">"Автоотключения экрана"</string>
     <string name="screen_timeout_summary" msgid="2905757633140605334">"Интервал времени до автоматического отключения экрана"</string>
     <string name="automatic_brightness" msgid="5014143533884135461">"Яркость автоматически"</string>
     <string name="sim_lock_settings" msgid="3392331196873564292">"Настройки блокировки SIM-карты"</string>
@@ -486,15 +506,16 @@
     <string name="sim_enter_cancel" msgid="6240422158517208036">"Отмена"</string>
     <string name="device_info_settings" msgid="475872867864762157">"Состояние телефона"</string>
     <string name="system_update_settings_list_item_title" msgid="3342887311059985961">"Обновления системы"</string>
-    <string name="system_update_settings_list_item_summary" msgid="3853057315907710747"></string>
+    <!-- no translation found for system_update_settings_list_item_summary (3853057315907710747) -->
+    <skip />
     <string name="firmware_version" msgid="4801135784886859972">"Версия Android"</string>
     <string name="model_number" msgid="3765737700545384794">"Модель"</string>
     <string name="baseband_version" msgid="1848990160763524801">"Версия ПО модуля связи"</string>
     <string name="kernel_version" msgid="9192574954196167602">"Версия ядра"</string>
     <string name="build_number" msgid="3075795840572241758">"Номер сборки"</string>
     <string name="device_info_not_available" msgid="8062521887156825182">"Недоступно"</string>
-    <string name="device_status_activity_title" msgid="1411201799384697904">"Общая информация"</string>
-    <string name="device_status" msgid="607405385799807324">"Общая информация"</string>
+    <string name="device_status_activity_title" msgid="1411201799384697904">"Статус "</string>
+    <string name="device_status" msgid="607405385799807324">"Статус "</string>
     <string name="device_status_summary" msgid="2599162787451519618">"Номер телефона, уровень сигнала и т.д."</string>
     <string name="storage_settings" msgid="6681164315506788024">"Память"</string>
     <string name="storage_settings_title" msgid="5379463509034022773">"Настройки SD-карты и памяти телефона"</string>
@@ -506,7 +527,7 @@
     <string name="status_network_type" msgid="3279383550222116235">"Тип мобильной сети"</string>
     <string name="status_data_state" msgid="5503181397066522950">"Передача данных в моб. сети"</string>
     <string name="status_service_state" msgid="2323931627519429503">"Доступность моб. сети"</string>
-    <string name="status_signal_strength" msgid="3732655254188304547">"Уровень сигнала"</string>
+    <string name="status_signal_strength" msgid="3732655254188304547">"Громкость сигнала"</string>
     <string name="status_roaming" msgid="2638800467430913403">"Роуминг"</string>
     <string name="status_operator" msgid="2274875196954742087">"Сеть"</string>
     <string name="status_wifi_mac_address" msgid="33109409206264790">"MAC-адрес Wi-Fi"</string>
@@ -588,20 +609,17 @@
     <string name="media_format_gesture_explanation" msgid="4239529439389660159">"Для подтверждения форматирования карты SD нужно начертить графический ключ разблокировки."</string>
     <string name="call_settings_title" msgid="5188713413939232801">"Вызовы"</string>
     <string name="call_settings_summary" msgid="7291195704801002886">"Голосовая почта, АОН, переадресация, параллельный вызов"</string>
-    <string name="tether_settings_title_usb" msgid="4315031513434087777">"USB-модем"</string>
-    <string name="tether_settings_title_wifi" msgid="3277144155960302049">"Точка доступа Wi-Fi"</string>
-    <string name="tether_settings_title_both" msgid="2734066355556891504">"Режим модема"</string>
-    <string name="tether_settings_summary_usb" msgid="3562431455625637370">"Открыть доступ к интернет-подключению телефона через USB"</string>
-    <string name="tether_settings_summary_wifi" msgid="4690912027002467246">"Открыть доступ к интернет-подключению телефона через Wi-Fi"</string>
-    <string name="tether_settings_summary_both" msgid="7460063951190682635">"Открыть доступ к интернет-подключению телефона через USB или Wi-Fi"</string>
+    <string name="tether_settings_title" msgid="8703982377504005349">"USB-подключение"</string>
+    <string name="tether_settings_summary" msgid="6679594629002850490">"Настройка и управление подключением"</string>
+    <string name="tether_screen_title" msgid="1521966915332491855">"Настройки подключения"</string>
     <string name="usb_title" msgid="7483344855356312510">"USB"</string>
-    <string name="usb_tethering_button_text" msgid="585829947108007917">"USB-модем"</string>
+    <string name="usb_tethering_button_text" msgid="585829947108007917">"USB-подключение"</string>
     <string name="usb_tethering_available_subtext" msgid="156779271296152605">"USB-связь установлена, установите флажок для подключения"</string>
     <string name="usb_tethering_active_subtext" msgid="8916210851136467042">"Подключено"</string>
     <string name="usb_tethering_storage_active_subtext" msgid="6608933594288072573">"Невозможно подключиться при использовании USB-накопителя"</string>
     <string name="usb_tethering_unavailable_subtext" msgid="1044622421184007254">"USB-подключения не обнаружено"</string>
     <string name="usb_tethering_errored_subtext" msgid="1377574819427841992">"Ошибка подключения USB"</string>
-    <string name="tethering_help_button_text" msgid="656117495547173630">"Справка"</string>
+    <string name="tethering_help_button_text" msgid="7322604807045355030">"Справка по подключению"</string>
     <string name="network_settings_title" msgid="7967552516440151852">"Мобильная сеть"</string>
     <string name="network_settings_summary" msgid="5149750850846813553">"Настроить параметры роуминга, сетей, точек доступа (APN)"</string>
     <string name="location_title" msgid="1029961368397484576">"Мое местоположение"</string>
@@ -620,7 +638,7 @@
     <string name="contributors_title" msgid="5917703088825286504">"Участники"</string>
     <string name="copyright_title" msgid="865906688917260647">"Авторские права"</string>
     <string name="license_title" msgid="1990487604356037871">"Лицензия"</string>
-    <string name="terms_title" msgid="7697580845616764642">"Условия использования"</string>
+    <string name="terms_title" msgid="7697580845616764642">"Условия предоставления услуг"</string>
     <string name="system_tutorial_list_item_title" msgid="9082844446660969729">"Обучение"</string>
     <string name="system_tutorial_list_item_summary" msgid="3861815254521030201">"Узнайте, как пользоваться телефоном"</string>
     <string name="settings_license_activity_title" msgid="7553683406244228650">"Лицензии открытого ПО"</string>
@@ -658,7 +676,7 @@
     <string name="lockpattern_settings_title" msgid="3207750489460466680">"Графический ключ разблокировки"</string>
     <string name="lockpattern_settings_enable_title" msgid="6920616873671115281">"Запрашивать ключ"</string>
     <string name="lockpattern_settings_enable_summary" msgid="1165707416664252167">"Использовать графический ключ для защиты телефона"</string>
-    <string name="lockpattern_settings_enable_visible_pattern_title" msgid="104851667540971729">"Показывать ключ"</string>
+    <string name="lockpattern_settings_enable_visible_pattern_title" msgid="104851667540971729">"Видимость ключа"</string>
     <string name="lockpattern_settings_enable_tactile_feedback_title" msgid="972174133075372341">"Включить виброотклик"</string>
     <string name="lockpattern_settings_choose_lock_pattern" msgid="1652352830005653447">"Установить ключ"</string>
     <string name="lockpattern_settings_change_lock_pattern" msgid="1123908306116495545">"Изменить ключ"</string>
@@ -681,13 +699,13 @@
     <string name="install_all_warning" msgid="1923717607319933741">"Телефон и личные сведения более уязвимы к атакам приложений из неизвестных источников. Вы подтверждаете, что берете на себя всю ответственность в случае повреждения телефона и потери данных при использовании этих приложений."</string>
     <string name="application_info_label" msgid="1150486628158409543">"Сведения о приложении"</string>
     <string name="storage_label" msgid="8700867073480107253">"Память"</string>
-    <string name="auto_launch_label" msgid="3012617472833815382">"Запускать по умолчанию"</string>
+    <string name="auto_launch_label" msgid="3012617472833815382">"Запустить по умолчанию"</string>
     <string name="permissions_label" msgid="2605296874922726203">"Разрешения"</string>
     <string name="cache_header_label" msgid="1877197634162461830">"Кэш"</string>
     <string name="clear_cache_btn_text" msgid="5756314834291116325">"Очистить кэш"</string>
     <string name="cache_size_label" msgid="7505481393108282913">"Кэш"</string>
     <string name="controls_label" msgid="7611113077086853799">"Элементы управления"</string>
-    <string name="force_stop" msgid="7435006169872876756">"Остановить"</string>
+    <string name="force_stop" msgid="7435006169872876756">"Остановить принудительно"</string>
     <string name="total_size_label" msgid="1048676419552557254">"Всего"</string>
     <string name="application_size_label" msgid="5055196275624686382">"Приложение"</string>
     <string name="data_size_label" msgid="8679376373625710107">"Данные"</string>
@@ -695,7 +713,7 @@
     <string name="clear_user_data_text" msgid="5597622864770098388">"Стереть данные"</string>
     <string name="app_factory_reset" msgid="6635744722502563022">"Удалить обновления"</string>
     <string name="auto_launch_enable_text" msgid="2630656657744196691">"Выбран запуск этого приложения по умолчанию при выполнении некоторых действий."</string>
-    <string name="auto_launch_disable_text" msgid="7800385822185540166">"Значения по умолчанию не установлены."</string>
+    <string name="auto_launch_disable_text" msgid="7800385822185540166">"Без настроек по умолчанию."</string>
     <string name="clear_activities" msgid="7408923511535174430">"Удалить настройки по умолчанию"</string>
     <string name="unknown" msgid="1592123443519355854">"Неизвестно"</string>
     <string name="sort_order_alpha" msgid="8622029358896599842">"Упорядочить"</string>
@@ -741,15 +759,15 @@
     <string name="app_install_location_title" msgid="2068975150026852168">"Место установки"</string>
     <string name="app_install_location_summary" msgid="879753854530300436">"Изменить установочную папку для новых приложений."</string>
     <string name="runningservices_settings_title" msgid="8097287939865165213">"Работающие программы"</string>
-    <string name="runningservices_settings_summary" msgid="854608995821032748">"Просмотр и управление работающими программами"</string>
+    <string name="runningservices_settings_summary" msgid="854608995821032748">"Просмотр и управление работающими службами"</string>
     <string name="service_restarting" msgid="2242747937372354306">"Перезапуск"</string>
     <string name="no_running_services" msgid="6981216347270280598">"Работающие программы отсутствуют"</string>
     <string name="confirm_stop_service" msgid="5700448757318301681">"Остановить службу?"</string>
     <string name="confirm_stop_service_msg" msgid="1166661293369421272">"Эта служба будет отключена до повторного запуска, что может негативно повлиять на программу <xliff:g id="APPLICATION">%1$s</xliff:g>."</string>
     <string name="confirm_stop_stop" msgid="7382363913280993331">"Остановить"</string>
     <string name="confirm_stop_cancel" msgid="206495326622692381">"Отмена"</string>
-    <string name="service_started_by_app" msgid="8432097226392386802">"Нажмите, чтобы остановить."</string>
-    <string name="service_client_name" msgid="2337664610975074717">"Нажмите, чтобы изменить <xliff:g id="CLIENT_NAME">%1$s</xliff:g>"</string>
+    <string name="service_started_by_app" msgid="8432097226392386802">"Запущено приложением. Нажмите, чтобы остановить."</string>
+    <string name="service_client_name" msgid="2337664610975074717">"<xliff:g id="CLIENT_NAME">%1$s</xliff:g>: нажмите, чтобы изменить"</string>
     <string name="service_background_processes" msgid="5158600475629177758">"Дост.: <xliff:g id="FREE">%2$s</xliff:g>+<xliff:g id="MEMORY">%3$s</xliff:g> (<xliff:g id="COUNT">%1$d</xliff:g>)"</string>
     <string name="service_foreground_processes" msgid="4013890350284680796">"Другое: <xliff:g id="MEMORY">%2$s</xliff:g> (<xliff:g id="COUNT">%1$d</xliff:g>)"</string>
     <string name="service_process_name" msgid="8630408984456958400">"Процесс <xliff:g id="PROCESS">%1$s</xliff:g>"</string>
@@ -759,7 +777,8 @@
     <string name="language_category" msgid="3391756582724541530">"Региональные настройки"</string>
     <string name="text_category" msgid="6342540511465136739">"Настройки ввода текста"</string>
     <string name="phone_language" msgid="1165758957501090679">"Выбрать язык"</string>
-    <string name="phone_language_summary" msgid="3871309445655554211"></string>
+    <!-- no translation found for phone_language_summary (3871309445655554211) -->
+    <skip />
     <string name="auto_replace" msgid="6199184757891937822">"Автокоррекция"</string>
     <string name="auto_replace_summary" msgid="370288728200084466">"Исправлять опечатки"</string>
     <string name="auto_caps" msgid="581633131114124121">"Автоподст. заглавных"</string>
@@ -767,12 +786,13 @@
     <string name="auto_punctuate" msgid="4595367243950425833">"Автопунктуация"</string>
     <string name="hardkeyboard_category" msgid="5957168411305769899">"Настройки внешней клавиатуры"</string>
     <string name="auto_punctuate_summary" msgid="4372126865670574837">"Нажмите дважды клавишу \"Пробел\" для ввода точки"</string>
-    <string name="show_password" msgid="2198798062604049206">"Показывать пароли"</string>
+    <string name="show_password" msgid="2198798062604049206">"Видимые пароли"</string>
     <string name="show_password_summary" msgid="3806709974395178121">"Показывать пароль при вводе"</string>
     <string name="ime_security_warning" msgid="812267421486877917">"Возможно, при использовании этого метода будут собираться все вводимые данные, в том числе такие личные сведения, как пароли или номера кредитных карт. Метод обеспечивается приложением <xliff:g id="IME_APPLICATION_NAME">%1$s</xliff:g>. Использовать этот метод ввода?"</string>
     <string name="user_dict_settings_titlebar" msgid="765659257455000490">"Словарь пользователя"</string>
     <string name="user_dict_settings_title" msgid="8357027437499042191">"Словарь пользователя"</string>
-    <string name="user_dict_settings_summary" msgid="7965571192902870454"></string>
+    <!-- no translation found for user_dict_settings_summary (7965571192902870454) -->
+    <skip />
     <string name="user_dict_settings_add_menu_title" msgid="4056762757149923551">"Добавить"</string>
     <string name="user_dict_settings_add_dialog_title" msgid="4702613990174126482">"Добавление в словарь"</string>
     <string name="user_dict_settings_edit_dialog_title" msgid="8967476444840548674">"Изменение слова"</string>
@@ -865,15 +885,15 @@
     <string name="power_usage_summary" msgid="7237084831082848168">"На что расходуется заряд батареи"</string>
     <string name="battery_since_unplugged" msgid="338073389740738437">"Расход заряда батареи с момента отключения от сети питания"</string>
     <string name="battery_since_reset" msgid="7464546661121187045">"Расход заряда батареи с момента перезагрузки"</string>
-    <string name="battery_stats_duration" msgid="7464501326709469282">"<xliff:g id="TIME">%1$s</xliff:g> с момента отключения от питания"</string>
+    <string name="battery_stats_duration" msgid="7464501326709469282">"<xliff:g id="TIME">%1$s</xliff:g> с момента отключения"</string>
     <!-- no translation found for battery_stats_last_duration (1535831453827905957) -->
     <skip />
     <string name="awake" msgid="387122265874485088">"Время включения устройства"</string>
     <string name="wifi_on_time" msgid="4630925382578609056">"Время работы WiFi"</string>
     <string name="bluetooth_on_time" msgid="4478515071957280711">"Время работы WiFi"</string>
     <string name="usage_name_percent" msgid="7976919382448235858">"<xliff:g id="NAME">%1$s</xliff:g> – <xliff:g id="NUMBER">%2$s</xliff:g><xliff:g id="PERCENT">%%</xliff:g>"</string>
-    <string name="details_title" msgid="7564809986329021063">"Сведения о расходе заряда батареи"</string>
-    <string name="details_subtitle" msgid="32593908269911734">"Сведения об использовании"</string>
+    <string name="details_title" msgid="7564809986329021063">"Подробные сведения о расходе заряда батареи"</string>
+    <string name="details_subtitle" msgid="32593908269911734">"Сведения об использования"</string>
     <string name="controls_subtitle" msgid="390468421138288702">"Настроить режим энергопотребления"</string>
     <string name="packages_subtitle" msgid="4736416171658062768">"Вложенные пакеты"</string>
     <string name="power_screen" msgid="2353149143338929583">"Экран"</string>
@@ -892,7 +912,7 @@
     <string name="usage_type_video" msgid="4295357792078579944">"Видео"</string>
     <string name="usage_type_on_time" msgid="3351200096173733159">"Время работы"</string>
     <string name="usage_type_no_coverage" msgid="3797004252954385053">"Время отсутствия сигнала"</string>
-    <string name="battery_action_stop" msgid="649958863744041872">"Остановить"</string>
+    <string name="battery_action_stop" msgid="649958863744041872">"Остановить принудительно"</string>
     <string name="battery_action_app_details" msgid="3275013531871113681">"Сведения о приложении"</string>
     <string name="battery_action_app_settings" msgid="350562653472577250">"Настройки приложения"</string>
     <string name="battery_action_display" msgid="5302763261448580102">"Настройки экрана"</string>
@@ -913,7 +933,7 @@
     <string name="battery_sugg_apps_info" msgid="6065882899391322442">"Остановить или удалить приложение"</string>
     <string name="battery_sugg_apps_gps" msgid="4145005297393800223">"Отключать GPS, когда не используется"</string>
     <string name="battery_sugg_apps_settings" msgid="8021302847272481168">"В программе могут быть настройки для снижения расхода заряда батареи"</string>
-    <string name="menu_stats_unplugged" msgid="8296577130840261624">"<xliff:g id="UNPLUGGED">%1$s</xliff:g> с момента отключения от питания"</string>
+    <string name="menu_stats_unplugged" msgid="8296577130840261624">"<xliff:g id="UNPLUGGED">%1$s</xliff:g> с момента отключения"</string>
     <string name="menu_stats_last_unplugged" msgid="5922246077592434526">"С последнего отключения <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
     <string name="menu_stats_total" msgid="8973377864854807854">"Всего"</string>
     <string name="menu_stats_refresh" msgid="1676215433344981075">"Обновить"</string>
@@ -979,7 +999,7 @@
     <string name="vpn_menu_done" msgid="93528279226907926">"Сохранить"</string>
     <string name="vpn_menu_cancel" msgid="7234451214611202868">"Отмена"</string>
     <string name="vpn_menu_revert" msgid="4407762442281467659">"Отмена"</string>
-    <string name="vpn_menu_connect" msgid="1089399414463784218">"Подключиться к сети"</string>
+    <string name="vpn_menu_connect" msgid="1089399414463784218">"Подключить к сети"</string>
     <string name="vpn_menu_disconnect" msgid="8254492450022562235">"Отключиться от сети"</string>
     <string name="vpn_menu_edit" msgid="4526245173583195618">"Изменить сеть"</string>
     <string name="vpn_menu_delete" msgid="3326527392609513129">"Удалить сеть"</string>
@@ -1006,7 +1026,7 @@
     <string name="vpn_connecting" msgid="8039521381692090116">"Подключение..."</string>
     <string name="vpn_disconnecting" msgid="7748050200708257066">"Отключение..."</string>
     <string name="vpn_connected" msgid="7641723116362845781">"Подключено"</string>
-    <string name="vpn_connect_hint" msgid="7442898962925875181">"Подключиться к сети"</string>
+    <string name="vpn_connect_hint" msgid="7442898962925875181">"Подключить к сети"</string>
     <string name="vpn_name" msgid="1550918148476193076">"Имя VPN"</string>
     <string name="vpn_a_name" msgid="8445736942405283509">"имя VPN"</string>
     <string name="vpn_profile_added" msgid="9061017910337129840">"Профиль \"<xliff:g id="NAME">%s</xliff:g>\" добавлен"</string>
@@ -1068,12 +1088,25 @@
     <string name="credentials_erased" msgid="7700309135582200849">"Хранилище регистрационных данных очищено."</string>
     <string name="credentials_enabled" msgid="7588607413349978930">"Хранилище регистрационных данных включено."</string>
     <string name="credentials_disabled" msgid="7453188089059045380">"Хранилище регистрационных данных отключено."</string>
+    <string name="encrypted_fs_category" msgid="1841367653663913956">"Зашифрованная файловая система"</string>
+    <string name="encrypted_fs_enable" msgid="3884033081603327729">"Зашифровать личные данные пользователя"</string>
+    <string name="encrypted_fs_enable_summary" msgid="5635188119509076089">"Включить хранилище в зашифрованной файловой системе для хранения личных данных пользователя на этом устройстве"</string>
+    <string name="encrypted_fs_enable_dialog" msgid="919487211207214266">"Для включения зашифрованных файловых систем требуется удаление данных с устройства."</string>
+    <string name="encrypted_fs_disable_dialog" msgid="6960413613985682501">"Для отключения зашифрованных файловых систем требуется удаление данных с устройства."</string>
+    <string name="encrypted_fs_enable_button" msgid="8453841319751433751">"Включить"</string>
+    <string name="encrypted_fs_disable_button" msgid="8468354944060220496">"Отключить"</string>
+    <string name="encrypted_fs_cancel_button" msgid="4785921255266305799">"Отмена"</string>
+    <string name="encrypted_fs_cancel_confirm" msgid="853572431153803557">"Изменение режима зашифрованной файловой системы отменено."</string>
+    <string name="encrypted_fs_alert_dialog_title" msgid="583462447886934755">"Предупреждение для зашифрованных файловых систем"</string>
     <string name="emergency_tone_title" msgid="1055954530111587114">"Тональный сигнал экстренного вызова"</string>
     <string name="emergency_tone_summary" msgid="722259232924572153">"Настроить режим работы при экстренном вызове"</string>
     <string name="privacy_settings" msgid="9206631214140954954">"Конфиденциальность"</string>
     <string name="privacy_settings_title" msgid="1987089301293213705">"Настройки конфиденциальности"</string>
+    <string name="backup_section_title" msgid="717834414028702406">"Резервное копирование и восстановление"</string>
     <string name="personal_data_section_title" msgid="7815209034443782061">"Личные данные"</string>
+    <string name="backup_settings_title" msgid="2968262658155327829">"Резерв. копия настроек"</string>
     <string name="auto_restore_title" msgid="5397528966329126506">"Автовосстановление"</string>
+    <string name="auto_restore_summary" msgid="2029683590724508019">"Восстан. данные программ из резерв. копии при установке"</string>
     <string name="backup_erase_dialog_title" msgid="3438255037256586237">"Резервное копирование"</string>
     <string name="backup_erase_dialog_message" msgid="2948090854996352245">"Вы уверены, что не хотите больше создавать резервные копии настроек и данных программ и хотите удалить все копии с серверов Google?"</string>
     <string name="device_admin_settings_title" msgid="1335557832906433309">"Настройки администрирования устройства"</string>
@@ -1087,8 +1120,12 @@
     <string name="device_admin_warning" msgid="1149471041373876923">"Активация администратора позволит программе <xliff:g id="APP_NAME">%1$s</xliff:g> выполнять следующие операции:"</string>
     <string name="device_admin_status" msgid="7169948053970923035">"Администратор активен и разрешает программе <xliff:g id="APP_NAME">%1$s</xliff:g> выполнять следующие операции:"</string>
     <string name="untitled_apn" msgid="1230060359198685513">"Без названия"</string>
-    <string name="sound_category_sound_title" msgid="1488759370067953996">"Общие"</string>
-    <string name="sound_category_calls_title" msgid="3688531959256239012">"Входящие вызовы"</string>
-    <string name="sound_category_notification_title" msgid="3502115998790286943">"Оповещения"</string>
-    <string name="sound_category_feedback_title" msgid="4399742321363475393">"Отклик на действия"</string>
+    <!-- no translation found for sound_category_sound_title (1488759370067953996) -->
+    <skip />
+    <!-- no translation found for sound_category_calls_title (3688531959256239012) -->
+    <skip />
+    <!-- no translation found for sound_category_notification_title (3502115998790286943) -->
+    <skip />
+    <!-- no translation found for sound_category_feedback_title (4399742321363475393) -->
+    <skip />
 </resources>
diff --git a/res/values-sv/arrays.xml b/res/values-sv/arrays.xml
index f583155..e466563 100644
--- a/res/values-sv/arrays.xml
+++ b/res/values-sv/arrays.xml
@@ -69,30 +69,8 @@
     <item msgid="5972100016440094433">"Italienska"</item>
     <item msgid="5811378076054402537">"Spanska"</item>
   </string-array>
-  <string-array name="wifi_status">
-    <item msgid="1922181315419294640"></item>
-    <item msgid="8934131797783724664">"Skannar…"</item>
-    <item msgid="8513729475867537913">"Ansluter…"</item>
-    <item msgid="515055375277271756">"Autentiserar…"</item>
-    <item msgid="1943354004029184381">"Erhåller IP-adress…"</item>
-    <item msgid="4221763391123233270">"Ansluten"</item>
-    <item msgid="624838831631122137">"Pausad"</item>
-    <item msgid="7979680559596111948">"Kopplar ifrån…"</item>
-    <item msgid="1634960474403853625">"Frånkopplad"</item>
-    <item msgid="746097431216080650">"Misslyckades"</item>
-  </string-array>
-  <string-array name="wifi_status_with_ssid">
-    <item msgid="7714855332363650812"></item>
-    <item msgid="8878186979715711006">"Skannar…"</item>
-    <item msgid="355508996603873860">"Ansluter till <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</item>
-    <item msgid="554971459996405634">"Autentiserar med <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</item>
-    <item msgid="7928343808033020343">"Hämtar IP-adress från <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</item>
-    <item msgid="8937994881315223448">"Ansluten till: <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</item>
-    <item msgid="1330262655415760617">"Pausad"</item>
-    <item msgid="7698638434317271902">"Kopplar ifrån <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</item>
-    <item msgid="197508606402264311">"Frånkopplad"</item>
-    <item msgid="8578370891960825148">"Misslyckades"</item>
-  </string-array>
+    <!-- no translation found for wifi_status:0 (1922181315419294640) -->
+    <!-- no translation found for wifi_status_with_ssid:0 (7714855332363650812) -->
   <string-array name="wifi_security">
     <item msgid="1435933968767043814">"Öppna"</item>
     <item msgid="6318432659048829665">"WEP"</item>
@@ -161,10 +139,7 @@
     <item msgid="3738430123799803530">"Flyttbart SD-kort"</item>
     <item msgid="4498124044785815005">"Låt systemet bestämma"</item>
   </string-array>
-  <string-array name="vibrate_entries">
-    <item msgid="3388952299521009213">"Alltid"</item>
-    <item msgid="6293147072807231256">"Aldrig"</item>
-    <item msgid="1276641209451816572">"Bara i tyst läge"</item>
-    <item msgid="8418930333779132418">"Bara i tyst läge"</item>
-  </string-array>
+    <!-- no translation found for vibrate_entries:1 (6293147072807231256) -->
+    <!-- no translation found for vibrate_entries:2 (1276641209451816572) -->
+    <!-- no translation found for vibrate_entries:3 (8418930333779132418) -->
 </resources>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index 86f6636..2ad4e4b 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -99,7 +99,8 @@
     <string name="bluetooth_disconnected" msgid="6557104142667339895">"Kopplas ifrån"</string>
     <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Kopplar ifrån…"</string>
     <string name="bluetooth_connecting" msgid="8555009514614320497">"Ansluter…"</string>
-    <string name="bluetooth_unknown" msgid="644716244548801421"></string>
+    <!-- no translation found for bluetooth_unknown (644716244548801421) -->
+    <skip />
     <string name="bluetooth_not_connected" msgid="3389882907500605937">"Parkoppla med den här enheten"</string>
     <string name="bluetooth_pairing" msgid="1426882272690346242">"Parkoppling…"</string>
     <string name="bluetooth_paired" msgid="1247541089000057726">"Parkopplad men inte ansluten"</string>
@@ -235,20 +236,34 @@
     <string name="security_settings_summary" msgid="967393342537986570">"Ställ in Min plats, skärmupplåsning, lås för SIM-kort och lås för uppgiftslagring"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Ställ in Min plats, skärmupplåsning, lås för uppgiftslagring"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"Lösenord"</string>
-    <string name="lock_settings_picker_title" msgid="3973555216065628262">"Skärmens upplåsningssäkerhet"</string>
-    <string name="unlock_set_unlock_launch_picker_title" msgid="1129684221223017902">"Ställ in skärmlåset"</string>
-    <string name="unlock_set_unlock_launch_picker_summary" msgid="1667332113134720845">"Lås skärmen med ett grafiskt lösenord, PIN eller lösenord"</string>
-    <string name="unlock_set_unlock_launch_picker_change_title" msgid="6987228635944678726">"Ändra skärmlåset"</string>
-    <string name="unlock_set_unlock_launch_picker_change_summary" msgid="2790960639554590668">"Ändra eller inaktivera grafiskt lösenord, PIN eller lösenord"</string>
-    <string name="unlock_set_unlock_none_title" msgid="3760684669884671990">"Ingen"</string>
-    <string name="unlock_set_unlock_none_summary" msgid="2658550480388272618">"Inaktivera skärmens upplåsningssäkerhet"</string>
-    <string name="unlock_set_unlock_pattern_title" msgid="2912067603917311700">"Grafiskt lösenord"</string>
-    <string name="unlock_set_unlock_pattern_summary" msgid="3018395214738645405">"Rita grafiskt lösenord för att låsa upp skärmen"</string>
-    <string name="unlock_set_unlock_pin_title" msgid="5846029709462329515">"PIN"</string>
-    <string name="unlock_set_unlock_pin_summary" msgid="4131169672844263316">"Ange en numerisk PIN-kod för att låsa upp skärmen"</string>
-    <string name="unlock_set_unlock_password_title" msgid="8775603825675090937">"Lösenord"</string>
-    <string name="unlock_set_unlock_password_summary" msgid="4623254789833899286">"Ange ett lösenord för att låsa upp skärmen"</string>
-    <string name="unlock_set_unlock_disabled_summary" msgid="736557879526940324">"Inaktiveras av en fjärradministratör"</string>
+    <!-- no translation found for lock_settings_picker_title (3973555216065628262) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_launch_picker_title (1129684221223017902) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_launch_picker_summary (1667332113134720845) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_launch_picker_change_title (6987228635944678726) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_launch_picker_change_summary (2790960639554590668) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_none_title (3760684669884671990) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_none_summary (2658550480388272618) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_pattern_title (2912067603917311700) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_pattern_summary (3018395214738645405) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_pin_title (5846029709462329515) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_pin_summary (4131169672844263316) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_password_title (8775603825675090937) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_password_summary (4623254789833899286) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_disabled_summary (736557879526940324) -->
+    <skip />
     <string name="unlock_disable_lock_title" msgid="1427036227416979120">"Inaktivera skärmlås"</string>
     <string name="unlock_disable_lock_pattern_summary" msgid="6801602880568869201">"Ta bort grafiskt lösenord"</string>
     <string name="unlock_disable_lock_pin_summary" msgid="8856842745366993387">"Ta bort PIN-kod för upplåsning"</string>
@@ -385,15 +400,15 @@
     <string name="wifi_dns2" msgid="1368601006824882659">"DNS 2"</string>
     <string name="wifi_gateway" msgid="163914742461092086">"Gateway"</string>
     <string name="wifi_netmask" msgid="4520635321425529085">"Nätmask"</string>
-    <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"Mobil Wi-Fi-surfpunkt"</string>
-    <string name="wifi_tether_enabled_subtext" msgid="8948641212931906143">"Mobil surfpunkt <xliff:g id="NETWORK_SSID">%1$s</xliff:g> aktiv"</string>
-    <string name="wifi_tether_failed_subtext" msgid="2654888578056042315">"Fel på mobil Wi-Fi-surfpunkt"</string>
-    <string name="wifi_tether_settings_text" msgid="123573487844470195">"Inställningar för mobil Wi-Fi-surfpunkt"</string>
-    <string name="wifi_tether_settings_subtext" msgid="8064755682383367008">"Konfigurera och hantera mobil Wi-Fi-surfpunkt"</string>
-    <string name="wifi_tether_settings_title" msgid="3749063216348284432">"Inställningar för mobil Wi-Fi-surfpunkt"</string>
-    <string name="wifi_tether_configure_ap_text" msgid="3474995108398156258">"Konfigurera Wi-Fi-surfpunkt"</string>
-    <string name="wifi_tether_configure_subtext" msgid="1927454307836232128">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> <xliff:g id="NETWORK_SECURITY">%2$s</xliff:g> mobil Wi-Fi-surfpunkt"</string>
-    <string name="wifi_tether_configure_ssid_default" msgid="8467525402622138547">"AndroidHotspot"</string>
+    <string name="wifi_tether_checkbox_text" msgid="796007268580464534">"WiFi-sammanlänkning"</string>
+    <string name="wifi_tether_enabled_subtext" msgid="6758080605207549918">"Åtkomstpunkten <xliff:g id="NETWORK_SSID">%1$s</xliff:g> är aktiv"</string>
+    <string name="wifi_tether_failed_subtext" msgid="4379214348183654280">"WiFi-sammanlänkningsfel"</string>
+    <string name="wifi_tether_settings_text" msgid="8831276059149506799">"Inställningar för WiFi-sammanlänkning"</string>
+    <string name="wifi_tether_settings_subtext" msgid="3415164631321782704">"Ställ in och hantera åtkomstpunkt"</string>
+    <string name="wifi_tether_settings_title" msgid="3233393750798545228">"Inställningar för WiFi-sammanlänkning"</string>
+    <string name="wifi_tether_configure_ap_text" msgid="7849700175083202171">"Konfigurera åtkomstpunkt"</string>
+    <string name="wifi_tether_configure_subtext" msgid="54089556089657247">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> <xliff:g id="NETWORK_SECURITY">%2$s</xliff:g> åtkomstpunkt"</string>
+    <string name="wifi_tether_configure_ssid_default" msgid="4491822321218336928">"Android-åtkomstpunkt"</string>
     <string name="sound_settings_title" msgid="8735891486683305886">"Ljud"</string>
     <string name="display_settings_title" msgid="1708697328627382561">"Skärm"</string>
     <string name="sound_settings" msgid="5007659014828162881">"Ljudinställningar"</string>
@@ -401,16 +416,21 @@
     <string name="silent_mode_summary" msgid="3309650676072917899">"Tysta ned alla ljud utom media och alarm"</string>
     <string name="silent_mode_incl_alarm_summary" msgid="2088830834182228458">"Alla ljud utom media tystas"</string>
     <string name="ringtone_title" msgid="5379026328015343686">"Telefonens ringsignal"</string>
-    <string name="ringtone_summary" msgid="2630023412632683493"></string>
+    <!-- no translation found for ringtone_summary (2630023412632683493) -->
+    <skip />
     <string name="all_volume_title" msgid="8741571721868253103">"Volym"</string>
     <string name="ring_volume_title" msgid="7938706566797464165">"Ringvolym"</string>
-    <string name="ring_volume_summary" msgid="7055497624193116879"></string>
+    <!-- no translation found for ring_volume_summary (7055497624193116879) -->
+    <skip />
     <string name="vibrate_in_silent_title" msgid="3897968069156767036">"Vibrera vid tyst"</string>
     <string name="vibrate_in_silent_summary" msgid="3312600513070076281">"Tillåt vibrationsfeedback i tyst läge"</string>
-    <string name="vibrate_title" msgid="6045820877942801599">"Vibrera"</string>
-    <string name="vibrate_summary" msgid="7378130397830790458">"Vibrationssignal för inkommande samtal och aviseringar"</string>
+    <!-- no translation found for vibrate_title (6045820877942801599) -->
+    <skip />
+    <!-- no translation found for vibrate_summary (7378130397830790458) -->
+    <skip />
     <string name="notification_sound_title" msgid="6316316069880531693">"Ringsignal för avisering"</string>
-    <string name="notification_sound_summary" msgid="2953599929394109819"></string>
+    <!-- no translation found for notification_sound_summary (2953599929394109819) -->
+    <skip />
     <string name="notification_pulse_title" msgid="1247988024534030629">"Pulserande ljusavisering"</string>
     <string name="notification_pulse_summary" msgid="6899220780534617152">"Pulserande styrkuleljus för nya aviseringar"</string>
     <string name="incoming_call_volume_title" msgid="8073714801365904099">"Ringsignal"</string>
@@ -486,7 +506,8 @@
     <string name="sim_enter_cancel" msgid="6240422158517208036">"Avbryt"</string>
     <string name="device_info_settings" msgid="475872867864762157">"Telefonens status"</string>
     <string name="system_update_settings_list_item_title" msgid="3342887311059985961">"Systemuppdateringar"</string>
-    <string name="system_update_settings_list_item_summary" msgid="3853057315907710747"></string>
+    <!-- no translation found for system_update_settings_list_item_summary (3853057315907710747) -->
+    <skip />
     <string name="firmware_version" msgid="4801135784886859972">"Android-version"</string>
     <string name="model_number" msgid="3765737700545384794">"Modellnummer"</string>
     <string name="baseband_version" msgid="1848990160763524801">"Basbandsversion"</string>
@@ -588,12 +609,9 @@
     <string name="media_format_gesture_explanation" msgid="4239529439389660159">"Du måste rita ditt grafiska lösenord för att bekräfta formateringen av SD-kortet."</string>
     <string name="call_settings_title" msgid="5188713413939232801">"Samtalsinställningar"</string>
     <string name="call_settings_summary" msgid="7291195704801002886">"Ställ in röstbrevlåda, vidarebefordra samtal, samtal väntar, nummerpres."</string>
-    <string name="tether_settings_title_usb" msgid="4315031513434087777">"Internetdelning"</string>
-    <string name="tether_settings_title_wifi" msgid="3277144155960302049">"Mobil surfpunkt"</string>
-    <string name="tether_settings_title_both" msgid="2734066355556891504">"Internetdelning och mobil surfpunkt"</string>
-    <string name="tether_settings_summary_usb" msgid="3562431455625637370">"Dela telefonens mobila dataanslutning via USB"</string>
-    <string name="tether_settings_summary_wifi" msgid="4690912027002467246">"Dela telefonens anslutning som en mobil Wi-Fi-surfpunkt"</string>
-    <string name="tether_settings_summary_both" msgid="7460063951190682635">"Dela telefonens mobila dataanslutning via USB eller som en mobil Wi-Fi-surfpunkt"</string>
+    <string name="tether_settings_title" msgid="8703982377504005349">"Sammanlänkning"</string>
+    <string name="tether_settings_summary" msgid="6679594629002850490">"Ställ in och hantera sammanlänkning"</string>
+    <string name="tether_screen_title" msgid="1521966915332491855">"Inställningar för sammanlänkning"</string>
     <string name="usb_title" msgid="7483344855356312510">"USB"</string>
     <string name="usb_tethering_button_text" msgid="585829947108007917">"USB-sammanlänkning"</string>
     <string name="usb_tethering_available_subtext" msgid="156779271296152605">"USB-ansluten, markera för att sammanlänka"</string>
@@ -601,7 +619,7 @@
     <string name="usb_tethering_storage_active_subtext" msgid="6608933594288072573">"Det går inte att sammanlänka när USB-lagret används"</string>
     <string name="usb_tethering_unavailable_subtext" msgid="1044622421184007254">"Ingen USB är ansluten"</string>
     <string name="usb_tethering_errored_subtext" msgid="1377574819427841992">"USB-sammanlänkningsfel"</string>
-    <string name="tethering_help_button_text" msgid="656117495547173630">"Hjälp"</string>
+    <string name="tethering_help_button_text" msgid="7322604807045355030">"Hjälp om sammanlänkning"</string>
     <string name="network_settings_title" msgid="7967552516440151852">"Mobila nätverk"</string>
     <string name="network_settings_summary" msgid="5149750850846813553">"Ställ in alternativ för roaming, nätverk, APN:er"</string>
     <string name="location_title" msgid="1029961368397484576">"Min plats"</string>
@@ -759,7 +777,8 @@
     <string name="language_category" msgid="3391756582724541530">"Språkkodsinställningar"</string>
     <string name="text_category" msgid="6342540511465136739">"Textinställningar"</string>
     <string name="phone_language" msgid="1165758957501090679">"Välj språk"</string>
-    <string name="phone_language_summary" msgid="3871309445655554211"></string>
+    <!-- no translation found for phone_language_summary (3871309445655554211) -->
+    <skip />
     <string name="auto_replace" msgid="6199184757891937822">"Ersätt automatiskt"</string>
     <string name="auto_replace_summary" msgid="370288728200084466">"Rätta felskrivna ord"</string>
     <string name="auto_caps" msgid="581633131114124121">"Inled med versal"</string>
@@ -772,7 +791,8 @@
     <string name="ime_security_warning" msgid="812267421486877917">"Den här inmatningsmetoden kan samla all text som du anger, inklusive personliga uppgifter som lösenord och kreditkortsnummer. Den kommer från programmet <xliff:g id="IME_APPLICATION_NAME">%1$s</xliff:g>. Ska inmatningsmetoden aktiveras?"</string>
     <string name="user_dict_settings_titlebar" msgid="765659257455000490">"Användarens ordlista"</string>
     <string name="user_dict_settings_title" msgid="8357027437499042191">"Användarens ordlista"</string>
-    <string name="user_dict_settings_summary" msgid="7965571192902870454"></string>
+    <!-- no translation found for user_dict_settings_summary (7965571192902870454) -->
+    <skip />
     <string name="user_dict_settings_add_menu_title" msgid="4056762757149923551">"Lägg till"</string>
     <string name="user_dict_settings_add_dialog_title" msgid="4702613990174126482">"Lägg till i ordlista"</string>
     <string name="user_dict_settings_edit_dialog_title" msgid="8967476444840548674">"Redigera ord"</string>
@@ -1068,12 +1088,25 @@
     <string name="credentials_erased" msgid="7700309135582200849">"Uppgiftslagringen raderades."</string>
     <string name="credentials_enabled" msgid="7588607413349978930">"Uppgiftslagring är aktiverat."</string>
     <string name="credentials_disabled" msgid="7453188089059045380">"Uppgiftslagring har inaktiverats."</string>
+    <string name="encrypted_fs_category" msgid="1841367653663913956">"Krypterat filsystem"</string>
+    <string name="encrypted_fs_enable" msgid="3884033081603327729">"Kryptera privata användardata"</string>
+    <string name="encrypted_fs_enable_summary" msgid="5635188119509076089">"Aktivera krypterat filsystemarkiv för privata användardata på den här enheten"</string>
+    <string name="encrypted_fs_enable_dialog" msgid="919487211207214266">"Aktivering av krypterade filsystem kräver datarensning på enheten."</string>
+    <string name="encrypted_fs_disable_dialog" msgid="6960413613985682501">"Inaktivering av krypterade filsystem kräver datarensning på enheten."</string>
+    <string name="encrypted_fs_enable_button" msgid="8453841319751433751">"Aktivera"</string>
+    <string name="encrypted_fs_disable_button" msgid="8468354944060220496">"Inaktivera"</string>
+    <string name="encrypted_fs_cancel_button" msgid="4785921255266305799">"Avbryt"</string>
+    <string name="encrypted_fs_cancel_confirm" msgid="853572431153803557">"Lägesändringen för krypterat filsystem avbröts."</string>
+    <string name="encrypted_fs_alert_dialog_title" msgid="583462447886934755">"Varning: växling av krypterat filsystem."</string>
     <string name="emergency_tone_title" msgid="1055954530111587114">"Nödsignal"</string>
     <string name="emergency_tone_summary" msgid="722259232924572153">"Ange beteende vid nödsamtal"</string>
     <string name="privacy_settings" msgid="9206631214140954954">"Sekretess"</string>
     <string name="privacy_settings_title" msgid="1987089301293213705">"Sekretessinställningar"</string>
+    <string name="backup_section_title" msgid="717834414028702406">"Säkerhetskopiera och återställ"</string>
     <string name="personal_data_section_title" msgid="7815209034443782061">"Personliga data"</string>
+    <string name="backup_settings_title" msgid="2968262658155327829">"Säkerhetskopiera mina inställningar"</string>
     <string name="auto_restore_title" msgid="5397528966329126506">"Automatisk återställning"</string>
+    <string name="auto_restore_summary" msgid="2029683590724508019">"Återställ programdata från säkerhetskopia när de installeras"</string>
     <string name="backup_erase_dialog_title" msgid="3438255037256586237">"Säkerhetskopia"</string>
     <string name="backup_erase_dialog_message" msgid="2948090854996352245">"Vill du avbryta säkerhetskopieringen av dina inställningar och programdata och radera alla kopior på Googles servrar?"</string>
     <string name="device_admin_settings_title" msgid="1335557832906433309">"Inställningar för enhetsadministration"</string>
@@ -1087,8 +1120,12 @@
     <string name="device_admin_warning" msgid="1149471041373876923">"Om du aktiverar den här administratören kan programmet <xliff:g id="APP_NAME">%1$s</xliff:g> utföra följande åtgärder:"</string>
     <string name="device_admin_status" msgid="7169948053970923035">"Den här administratören är aktiv och tillåter att programmet <xliff:g id="APP_NAME">%1$s</xliff:g> utför följande åtgärder:"</string>
     <string name="untitled_apn" msgid="1230060359198685513">"Namnlös"</string>
-    <string name="sound_category_sound_title" msgid="1488759370067953996">"Allmänt"</string>
-    <string name="sound_category_calls_title" msgid="3688531959256239012">"Inkommande samtal"</string>
-    <string name="sound_category_notification_title" msgid="3502115998790286943">"Aviseringar"</string>
-    <string name="sound_category_feedback_title" msgid="4399742321363475393">"Signaler"</string>
+    <!-- no translation found for sound_category_sound_title (1488759370067953996) -->
+    <skip />
+    <!-- no translation found for sound_category_calls_title (3688531959256239012) -->
+    <skip />
+    <!-- no translation found for sound_category_notification_title (3502115998790286943) -->
+    <skip />
+    <!-- no translation found for sound_category_feedback_title (4399742321363475393) -->
+    <skip />
 </resources>
diff --git a/res/values-tr/arrays.xml b/res/values-tr/arrays.xml
index 98d84d2..d8928f2 100644
--- a/res/values-tr/arrays.xml
+++ b/res/values-tr/arrays.xml
@@ -69,30 +69,8 @@
     <item msgid="5972100016440094433">"İtalyanca"</item>
     <item msgid="5811378076054402537">"İspanyolca"</item>
   </string-array>
-  <string-array name="wifi_status">
-    <item msgid="1922181315419294640"></item>
-    <item msgid="8934131797783724664">"Taranıyor…"</item>
-    <item msgid="8513729475867537913">"Bağlanıyor…"</item>
-    <item msgid="515055375277271756">"Kimlik doğrulanıyor…"</item>
-    <item msgid="1943354004029184381">"IP adresi alınıyor..."</item>
-    <item msgid="4221763391123233270">"Bağlandı"</item>
-    <item msgid="624838831631122137">"Askıya alındı"</item>
-    <item msgid="7979680559596111948">"Bağlantı kesiliyor…"</item>
-    <item msgid="1634960474403853625">"Bağlantı kesildi"</item>
-    <item msgid="746097431216080650">"Başarısız"</item>
-  </string-array>
-  <string-array name="wifi_status_with_ssid">
-    <item msgid="7714855332363650812"></item>
-    <item msgid="8878186979715711006">"Taranıyor…"</item>
-    <item msgid="355508996603873860">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g> ağına bağlanılıyor…"</item>
-    <item msgid="554971459996405634">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g> üzerinde kimlik doğrulanıyor…"</item>
-    <item msgid="7928343808033020343">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g> ağından IP adresi alınıyor…"</item>
-    <item msgid="8937994881315223448">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g> ağına bağlandı"</item>
-    <item msgid="1330262655415760617">"Askıya alındı"</item>
-    <item msgid="7698638434317271902">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g> bağlantısı kesiliyor…"</item>
-    <item msgid="197508606402264311">"Bağlantı kesildi"</item>
-    <item msgid="8578370891960825148">"Başarısız"</item>
-  </string-array>
+    <!-- no translation found for wifi_status:0 (1922181315419294640) -->
+    <!-- no translation found for wifi_status_with_ssid:0 (7714855332363650812) -->
   <string-array name="wifi_security">
     <item msgid="1435933968767043814">"Aç"</item>
     <item msgid="6318432659048829665">"WEP"</item>
@@ -161,10 +139,7 @@
     <item msgid="3738430123799803530">"Çıkarılabilir SD kart"</item>
     <item msgid="4498124044785815005">"Sistem karar versin"</item>
   </string-array>
-  <string-array name="vibrate_entries">
-    <item msgid="3388952299521009213">"Her zaman"</item>
-    <item msgid="6293147072807231256">"Hiçbir zaman"</item>
-    <item msgid="1276641209451816572">"Yalnızca Sessiz modda"</item>
-    <item msgid="8418930333779132418">"Yalnızca Sessiz modda değilken"</item>
-  </string-array>
+    <!-- no translation found for vibrate_entries:1 (6293147072807231256) -->
+    <!-- no translation found for vibrate_entries:2 (1276641209451816572) -->
+    <!-- no translation found for vibrate_entries:3 (8418930333779132418) -->
 </resources>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index d24d3dd..6a5f524 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -99,7 +99,8 @@
     <string name="bluetooth_disconnected" msgid="6557104142667339895">"Bağlantı kesildi"</string>
     <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Bağlantı kesiliyor…"</string>
     <string name="bluetooth_connecting" msgid="8555009514614320497">"Bağlanıyor…"</string>
-    <string name="bluetooth_unknown" msgid="644716244548801421"></string>
+    <!-- no translation found for bluetooth_unknown (644716244548801421) -->
+    <skip />
     <string name="bluetooth_not_connected" msgid="3389882907500605937">"Bu cihaz ile eşleştir"</string>
     <string name="bluetooth_pairing" msgid="1426882272690346242">"Eşleştiriliyor…"</string>
     <string name="bluetooth_paired" msgid="1247541089000057726">"Eşleşti ancak bağlanmadı"</string>
@@ -235,20 +236,34 @@
     <string name="security_settings_summary" msgid="967393342537986570">"Konumum, ekran kil. açma, SIM kart kil., kim. bilg. dep.kilidini ayarla"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Konumum, ekran kilidi açma, kimlik bilgileri deposunun kilidi özelliklerini ayarla"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"Şifreler"</string>
-    <string name="lock_settings_picker_title" msgid="3973555216065628262">"Ekran kilidini açma güvenliği"</string>
-    <string name="unlock_set_unlock_launch_picker_title" msgid="1129684221223017902">"Ekran kilidini ayarla"</string>
-    <string name="unlock_set_unlock_launch_picker_summary" msgid="1667332113134720845">"Ekranı bir şekil, PIN veya şifre ile kilitle"</string>
-    <string name="unlock_set_unlock_launch_picker_change_title" msgid="6987228635944678726">"Ekran kilidini değiştir"</string>
-    <string name="unlock_set_unlock_launch_picker_change_summary" msgid="2790960639554590668">"Şekil, PIN veya şifre güvenliğini değiştir veya devre dışı bırak"</string>
-    <string name="unlock_set_unlock_none_title" msgid="3760684669884671990">"Yok"</string>
-    <string name="unlock_set_unlock_none_summary" msgid="2658550480388272618">"Ekran kilidi güvenliğini devre dışı bırak"</string>
-    <string name="unlock_set_unlock_pattern_title" msgid="2912067603917311700">"Şekil"</string>
-    <string name="unlock_set_unlock_pattern_summary" msgid="3018395214738645405">"Ekran kilidini açmak için şekil çizin"</string>
-    <string name="unlock_set_unlock_pin_title" msgid="5846029709462329515">"PIN"</string>
-    <string name="unlock_set_unlock_pin_summary" msgid="4131169672844263316">"Ekran kilidinin açılması için sayısal bir PIN girin"</string>
-    <string name="unlock_set_unlock_password_title" msgid="8775603825675090937">"Şifre"</string>
-    <string name="unlock_set_unlock_password_summary" msgid="4623254789833899286">"Ekran kilidini açmak için kullanılacak bir şifre girin"</string>
-    <string name="unlock_set_unlock_disabled_summary" msgid="736557879526940324">"Telefonun uzaktan yöneticisi tarafından devre dışı bırakıldı"</string>
+    <!-- no translation found for lock_settings_picker_title (3973555216065628262) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_launch_picker_title (1129684221223017902) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_launch_picker_summary (1667332113134720845) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_launch_picker_change_title (6987228635944678726) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_launch_picker_change_summary (2790960639554590668) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_none_title (3760684669884671990) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_none_summary (2658550480388272618) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_pattern_title (2912067603917311700) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_pattern_summary (3018395214738645405) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_pin_title (5846029709462329515) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_pin_summary (4131169672844263316) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_password_title (8775603825675090937) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_password_summary (4623254789833899286) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_disabled_summary (736557879526940324) -->
+    <skip />
     <string name="unlock_disable_lock_title" msgid="1427036227416979120">"Ekran kilidini kapat"</string>
     <string name="unlock_disable_lock_pattern_summary" msgid="6801602880568869201">"Kilit açma desenini kaldır"</string>
     <string name="unlock_disable_lock_pin_summary" msgid="8856842745366993387">"Kilit açma PIN\'ini kaldır"</string>
@@ -385,15 +400,15 @@
     <string name="wifi_dns2" msgid="1368601006824882659">"DNS 2"</string>
     <string name="wifi_gateway" msgid="163914742461092086">"Geçit"</string>
     <string name="wifi_netmask" msgid="4520635321425529085">"Ağ maskesi"</string>
-    <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"Taşınabilir kablosuz ortak erişim noktası"</string>
-    <string name="wifi_tether_enabled_subtext" msgid="8948641212931906143">"Taşınabilir ortak erişim noktası <xliff:g id="NETWORK_SSID">%1$s</xliff:g> etkin"</string>
-    <string name="wifi_tether_failed_subtext" msgid="2654888578056042315">"Taşınabilir kablosuz ortak erişim noktası hatası"</string>
-    <string name="wifi_tether_settings_text" msgid="123573487844470195">"Taşınabilir kablosuz ortak erişim noktası ayarları"</string>
-    <string name="wifi_tether_settings_subtext" msgid="8064755682383367008">"Taşınabilir Kablosuz ortak erişim noktası ayarla ve yönet"</string>
-    <string name="wifi_tether_settings_title" msgid="3749063216348284432">"Taşınabilir kablosuz ortak erişim noktası ayarları"</string>
-    <string name="wifi_tether_configure_ap_text" msgid="3474995108398156258">"Kablosuz ortak erişim noktası yapılandır"</string>
-    <string name="wifi_tether_configure_subtext" msgid="1927454307836232128">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> <xliff:g id="NETWORK_SECURITY">%2$s</xliff:g> taşınabilir kablosuz ortak erişim noktası"</string>
-    <string name="wifi_tether_configure_ssid_default" msgid="8467525402622138547">"Android Ortak Erişim Noktası"</string>
+    <string name="wifi_tether_checkbox_text" msgid="796007268580464534">"Kablosuz bağlantı"</string>
+    <string name="wifi_tether_enabled_subtext" msgid="6758080605207549918">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> erişim noktası etkin"</string>
+    <string name="wifi_tether_failed_subtext" msgid="4379214348183654280">"Kablosuz bağlantı hatası"</string>
+    <string name="wifi_tether_settings_text" msgid="8831276059149506799">"Kablosuz bağlantı ayarları"</string>
+    <string name="wifi_tether_settings_subtext" msgid="3415164631321782704">"Erişim noktasını ayarlama ve yönetme"</string>
+    <string name="wifi_tether_settings_title" msgid="3233393750798545228">"Kablosuz bağlantı ayarları"</string>
+    <string name="wifi_tether_configure_ap_text" msgid="7849700175083202171">"AP\'yi Yapılandır"</string>
+    <string name="wifi_tether_configure_subtext" msgid="54089556089657247">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> <xliff:g id="NETWORK_SECURITY">%2$s</xliff:g> erişim noktası"</string>
+    <string name="wifi_tether_configure_ssid_default" msgid="4491822321218336928">"AndroidAP"</string>
     <string name="sound_settings_title" msgid="8735891486683305886">"Ses"</string>
     <string name="display_settings_title" msgid="1708697328627382561">"Ekran"</string>
     <string name="sound_settings" msgid="5007659014828162881">"Ses ayarları"</string>
@@ -401,16 +416,21 @@
     <string name="silent_mode_summary" msgid="3309650676072917899">"Medya ve alarmlar dışında tüm sesleri kapat"</string>
     <string name="silent_mode_incl_alarm_summary" msgid="2088830834182228458">"Medya dışında tüm sesler susturulur"</string>
     <string name="ringtone_title" msgid="5379026328015343686">"Telefon zil sesi"</string>
-    <string name="ringtone_summary" msgid="2630023412632683493"></string>
+    <!-- no translation found for ringtone_summary (2630023412632683493) -->
+    <skip />
     <string name="all_volume_title" msgid="8741571721868253103">"Ses"</string>
     <string name="ring_volume_title" msgid="7938706566797464165">"Zil sesi düzeyi"</string>
-    <string name="ring_volume_summary" msgid="7055497624193116879"></string>
+    <!-- no translation found for ring_volume_summary (7055497624193116879) -->
+    <skip />
     <string name="vibrate_in_silent_title" msgid="3897968069156767036">"Sessizken titret"</string>
     <string name="vibrate_in_silent_summary" msgid="3312600513070076281">"Sessiz modda titreşimli geri bildirime izin ver"</string>
-    <string name="vibrate_title" msgid="6045820877942801599">"Titreşim"</string>
-    <string name="vibrate_summary" msgid="7378130397830790458">"Aramalarda ve bildirimlerde titreşimle geri bildirim"</string>
+    <!-- no translation found for vibrate_title (6045820877942801599) -->
+    <skip />
+    <!-- no translation found for vibrate_summary (7378130397830790458) -->
+    <skip />
     <string name="notification_sound_title" msgid="6316316069880531693">"Bildirim zil sesi"</string>
-    <string name="notification_sound_summary" msgid="2953599929394109819"></string>
+    <!-- no translation found for notification_sound_summary (2953599929394109819) -->
+    <skip />
     <string name="notification_pulse_title" msgid="1247988024534030629">"Bildirim ışığını yakıp söndür"</string>
     <string name="notification_pulse_summary" msgid="6899220780534617152">"Yeni bildirimler için iztopu ışığını arka arkaya yakıp söndürün"</string>
     <string name="incoming_call_volume_title" msgid="8073714801365904099">"Zil sesi"</string>
@@ -486,7 +506,8 @@
     <string name="sim_enter_cancel" msgid="6240422158517208036">"İptal"</string>
     <string name="device_info_settings" msgid="475872867864762157">"Telefon durumu"</string>
     <string name="system_update_settings_list_item_title" msgid="3342887311059985961">"Sistem güncellemeleri"</string>
-    <string name="system_update_settings_list_item_summary" msgid="3853057315907710747"></string>
+    <!-- no translation found for system_update_settings_list_item_summary (3853057315907710747) -->
+    <skip />
     <string name="firmware_version" msgid="4801135784886859972">"Android sürümü"</string>
     <string name="model_number" msgid="3765737700545384794">"Model numarası"</string>
     <string name="baseband_version" msgid="1848990160763524801">"Ana bant sürümü"</string>
@@ -588,12 +609,9 @@
     <string name="media_format_gesture_explanation" msgid="4239529439389660159">"Bir SD kart biçimini onaylamak için kilit açma deseninizi çizmelisiniz."</string>
     <string name="call_settings_title" msgid="5188713413939232801">"Çağrı ayarları"</string>
     <string name="call_settings_summary" msgid="7291195704801002886">"Sesli mesaj, çağrı yönlendirme ve bekletme, arayan kimliğini ayarla"</string>
-    <string name="tether_settings_title_usb" msgid="4315031513434087777">"Doğrudan bağlantı oluşturma"</string>
-    <string name="tether_settings_title_wifi" msgid="3277144155960302049">"Taşınabilir ortak erişim noktası"</string>
-    <string name="tether_settings_title_both" msgid="2734066355556891504">"Doğrudan bağlantı ve taşınabilir ortak erişim noktası"</string>
-    <string name="tether_settings_summary_usb" msgid="3562431455625637370">"Telefonunuzun mobil veri bağlantısını USB üzerinden paylaşın"</string>
-    <string name="tether_settings_summary_wifi" msgid="4690912027002467246">"Telefonunuzun mobil bağlantısını taşınabilir kablosuz ortak erişim noktası olarak paylaşın"</string>
-    <string name="tether_settings_summary_both" msgid="7460063951190682635">"Telefonunuzun mobil veri bağlantısını USB üzerinden veya taşınabilir kablosuz ortak erişim noktası olarak paylaşın"</string>
+    <string name="tether_settings_title" msgid="8703982377504005349">"Bağlantı"</string>
+    <string name="tether_settings_summary" msgid="6679594629002850490">"Bağlantıyı ayarlama ve yönetme"</string>
+    <string name="tether_screen_title" msgid="1521966915332491855">"Bağlantı ayarları"</string>
     <string name="usb_title" msgid="7483344855356312510">"USB"</string>
     <string name="usb_tethering_button_text" msgid="585829947108007917">"USB bağlantısı"</string>
     <string name="usb_tethering_available_subtext" msgid="156779271296152605">"USB bağlandı, bağlantıyı kontrol edin"</string>
@@ -601,7 +619,7 @@
     <string name="usb_tethering_storage_active_subtext" msgid="6608933594288072573">"USB depolama birimi kullanılırken bağlanamıyor"</string>
     <string name="usb_tethering_unavailable_subtext" msgid="1044622421184007254">"USB bağlı değil"</string>
     <string name="usb_tethering_errored_subtext" msgid="1377574819427841992">"USB bağlantısı hatası"</string>
-    <string name="tethering_help_button_text" msgid="656117495547173630">"Yardım"</string>
+    <string name="tethering_help_button_text" msgid="7322604807045355030">"Bağlantı yardımı"</string>
     <string name="network_settings_title" msgid="7967552516440151852">"Mobil ağlar"</string>
     <string name="network_settings_summary" msgid="5149750850846813553">"Dolaşım, şebeke, APN seçeneklerini ayarla"</string>
     <string name="location_title" msgid="1029961368397484576">"Konumum"</string>
@@ -759,7 +777,8 @@
     <string name="language_category" msgid="3391756582724541530">"Yerel ayar"</string>
     <string name="text_category" msgid="6342540511465136739">"Metin ayarları"</string>
     <string name="phone_language" msgid="1165758957501090679">"Dil seçin"</string>
-    <string name="phone_language_summary" msgid="3871309445655554211"></string>
+    <!-- no translation found for phone_language_summary (3871309445655554211) -->
+    <skip />
     <string name="auto_replace" msgid="6199184757891937822">"Otomatik değiştir"</string>
     <string name="auto_replace_summary" msgid="370288728200084466">"Yanlış yazılmış kelimeleri düzelt"</string>
     <string name="auto_caps" msgid="581633131114124121">"Otomatik büyük harf"</string>
@@ -772,7 +791,8 @@
     <string name="ime_security_warning" msgid="812267421486877917">"Bu giriş yöntemi, şifreler ve kredi kartı numaraları gibi kişisel veriler de dahil olmak üzere yazdığınız tüm metni toplayabilir. <xliff:g id="IME_APPLICATION_NAME">%1$s</xliff:g> uygulamasından gelmektedir. Bu giriş yöntemini kullanmak istiyor musunuz?"</string>
     <string name="user_dict_settings_titlebar" msgid="765659257455000490">"Kullanıcı sözlüğü"</string>
     <string name="user_dict_settings_title" msgid="8357027437499042191">"Kullanıcı sözlüğü"</string>
-    <string name="user_dict_settings_summary" msgid="7965571192902870454"></string>
+    <!-- no translation found for user_dict_settings_summary (7965571192902870454) -->
+    <skip />
     <string name="user_dict_settings_add_menu_title" msgid="4056762757149923551">"Ekle"</string>
     <string name="user_dict_settings_add_dialog_title" msgid="4702613990174126482">"Sözlüğe ekle"</string>
     <string name="user_dict_settings_edit_dialog_title" msgid="8967476444840548674">"Kelimeyi düzenle"</string>
@@ -1068,12 +1088,25 @@
     <string name="credentials_erased" msgid="7700309135582200849">"Kimlik bilgileri deposu silindi."</string>
     <string name="credentials_enabled" msgid="7588607413349978930">"Kimlik bilgileri deposu etkin."</string>
     <string name="credentials_disabled" msgid="7453188089059045380">"Kimlik bilgileri deposu devre dışı."</string>
+    <string name="encrypted_fs_category" msgid="1841367653663913956">"Şifrelenmiş Dosya Sistemi"</string>
+    <string name="encrypted_fs_enable" msgid="3884033081603327729">"Özel kullanıcı verilerini şifrele"</string>
+    <string name="encrypted_fs_enable_summary" msgid="5635188119509076089">"Bu cihazdaki özel kullanıcı verileri için şifrelenmiş dosya sistemi depolamasını etkinleştir"</string>
+    <string name="encrypted_fs_enable_dialog" msgid="919487211207214266">"Şifrelenmiş Dosya Sistemlerini etkinleştirilmek, cihazda veri silme işlemi yapılmasını gerektirir."</string>
+    <string name="encrypted_fs_disable_dialog" msgid="6960413613985682501">"Şifrelenmiş Dosya Sistemlerini devre dışı bırakmak, cihazda veri silme işlemi yapılmasını gerektirir."</string>
+    <string name="encrypted_fs_enable_button" msgid="8453841319751433751">"Etkinleştir"</string>
+    <string name="encrypted_fs_disable_button" msgid="8468354944060220496">"Devre dışı bırak"</string>
+    <string name="encrypted_fs_cancel_button" msgid="4785921255266305799">"İptal"</string>
+    <string name="encrypted_fs_cancel_confirm" msgid="853572431153803557">"Şifrelenmiş Dosya Sistemleri modu değişikliği iptal edildi."</string>
+    <string name="encrypted_fs_alert_dialog_title" msgid="583462447886934755">"Şifrelenmiş Dosya Sistemi Uyarısı."</string>
     <string name="emergency_tone_title" msgid="1055954530111587114">"Acil sesi"</string>
     <string name="emergency_tone_summary" msgid="722259232924572153">"Acil çağrı yapıldığında nasıl işlev göreceğini ayarlayın"</string>
     <string name="privacy_settings" msgid="9206631214140954954">"Gizlilik"</string>
     <string name="privacy_settings_title" msgid="1987089301293213705">"Gizlilik ayarları"</string>
+    <string name="backup_section_title" msgid="717834414028702406">"Yedekleme ve Geri Yükleme"</string>
     <string name="personal_data_section_title" msgid="7815209034443782061">"Kişisel veriler"</string>
+    <string name="backup_settings_title" msgid="2968262658155327829">"Ayarlarımı yedekle"</string>
     <string name="auto_restore_title" msgid="5397528966329126506">"Otomatik geri yükle"</string>
+    <string name="auto_restore_summary" msgid="2029683590724508019">"Yüklendiklerinde uygulamaların verilerini yedekten geri yükleyin"</string>
     <string name="backup_erase_dialog_title" msgid="3438255037256586237">"Yedekle"</string>
     <string name="backup_erase_dialog_message" msgid="2948090854996352245">"Ayarlarınızın ve uygulama verilerinizin yedeklenmesini durdurmak ve Google sunucularındaki tüm kopyaları silmek istediğinizden emin misiniz?"</string>
     <string name="device_admin_settings_title" msgid="1335557832906433309">"Aygıt yönetimi ayarları"</string>
@@ -1087,8 +1120,12 @@
     <string name="device_admin_warning" msgid="1149471041373876923">"Bu yöneticinin etkinleştirilmesi, <xliff:g id="APP_NAME">%1$s</xliff:g> uygulamasının şu işlemleri gerçekleştirilmesine izin verecektir:"</string>
     <string name="device_admin_status" msgid="7169948053970923035">"Bu yönetici etkin ve <xliff:g id="APP_NAME">%1$s</xliff:g> uygulamasının şu işlemleri gerçekleştirmesine izin veriyor:"</string>
     <string name="untitled_apn" msgid="1230060359198685513">"Başlıksız"</string>
-    <string name="sound_category_sound_title" msgid="1488759370067953996">"Genel"</string>
-    <string name="sound_category_calls_title" msgid="3688531959256239012">"Gelen çağrılar"</string>
-    <string name="sound_category_notification_title" msgid="3502115998790286943">"Bildirimler"</string>
-    <string name="sound_category_feedback_title" msgid="4399742321363475393">"Geri bildirim"</string>
+    <!-- no translation found for sound_category_sound_title (1488759370067953996) -->
+    <skip />
+    <!-- no translation found for sound_category_calls_title (3688531959256239012) -->
+    <skip />
+    <!-- no translation found for sound_category_notification_title (3502115998790286943) -->
+    <skip />
+    <!-- no translation found for sound_category_feedback_title (4399742321363475393) -->
+    <skip />
 </resources>
diff --git a/res/values-zh-rCN/arrays.xml b/res/values-zh-rCN/arrays.xml
index dee805a..96e070b 100644
--- a/res/values-zh-rCN/arrays.xml
+++ b/res/values-zh-rCN/arrays.xml
@@ -69,32 +69,10 @@
     <item msgid="5972100016440094433">"意大利语"</item>
     <item msgid="5811378076054402537">"西班牙语"</item>
   </string-array>
-  <string-array name="wifi_status">
-    <item msgid="1922181315419294640"></item>
-    <item msgid="8934131797783724664">"正在扫描..."</item>
-    <item msgid="8513729475867537913">"正在连接..."</item>
-    <item msgid="515055375277271756">"正在进行身份验证..."</item>
-    <item msgid="1943354004029184381">"正在获取 IP 地址..."</item>
-    <item msgid="4221763391123233270">"已连接"</item>
-    <item msgid="624838831631122137">"已暂停"</item>
-    <item msgid="7979680559596111948">"正在断开连接..."</item>
-    <item msgid="1634960474403853625">"已断开连接"</item>
-    <item msgid="746097431216080650">"失败"</item>
-  </string-array>
-  <string-array name="wifi_status_with_ssid">
-    <item msgid="7714855332363650812"></item>
-    <item msgid="8878186979715711006">"正在扫描..."</item>
-    <item msgid="355508996603873860">"正在连接到 <xliff:g id="NETWORK_NAME">%1$s</xliff:g>..."</item>
-    <item msgid="554971459996405634">"正在通过 <xliff:g id="NETWORK_NAME">%1$s</xliff:g> 进行身份验证..."</item>
-    <item msgid="7928343808033020343">"正在从 <xliff:g id="NETWORK_NAME">%1$s</xliff:g> 获取 IP 地址..."</item>
-    <item msgid="8937994881315223448">"已连接到 <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</item>
-    <item msgid="1330262655415760617">"已暂停"</item>
-    <item msgid="7698638434317271902">"正在断开与 <xliff:g id="NETWORK_NAME">%1$s</xliff:g> 的连接..."</item>
-    <item msgid="197508606402264311">"已断开连接"</item>
-    <item msgid="8578370891960825148">"失败"</item>
-  </string-array>
+    <!-- no translation found for wifi_status:0 (1922181315419294640) -->
+    <!-- no translation found for wifi_status_with_ssid:0 (7714855332363650812) -->
   <string-array name="wifi_security">
-    <item msgid="1435933968767043814">"开放"</item>
+    <item msgid="1435933968767043814">"打开"</item>
     <item msgid="6318432659048829665">"WEP"</item>
     <item msgid="2966395706508338179">"WPA/WPA2 PSK"</item>
     <item msgid="9098390198768443435">"802.1x EAP"</item>
@@ -161,10 +139,7 @@
     <item msgid="3738430123799803530">"可卸载的 SD 卡"</item>
     <item msgid="4498124044785815005">"由系统确定"</item>
   </string-array>
-  <string-array name="vibrate_entries">
-    <item msgid="3388952299521009213">"始终"</item>
-    <item msgid="6293147072807231256">"一律不"</item>
-    <item msgid="1276641209451816572">"仅在静音模式下来电振动"</item>
-    <item msgid="8418930333779132418">"仅在非静音模式下来电振动"</item>
-  </string-array>
+    <!-- no translation found for vibrate_entries:1 (6293147072807231256) -->
+    <!-- no translation found for vibrate_entries:2 (1276641209451816572) -->
+    <!-- no translation found for vibrate_entries:3 (8418930333779132418) -->
 </resources>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index b30b974..5a71779 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -85,21 +85,22 @@
     <string name="battery_info_health_over_voltage" msgid="2420269351664490121">"过电压"</string>
     <string name="battery_info_health_unspecified_failure" msgid="6347021103185471590">"未知错误"</string>
     <string name="bluetooth" msgid="5549625000628014477">"蓝牙"</string>
-    <string name="bluetooth_visibility" msgid="2930835434091839916">"可检测性"</string>
+    <string name="bluetooth_visibility" msgid="2930835434091839916">"可检测的"</string>
     <string name="bluetooth_is_discoverable" msgid="1205694503775884903">"<xliff:g id="DISCOVERABLE_TIME_PERIOD">%1$s</xliff:g> 秒内可检测到..."</string>
     <string name="bluetooth_not_discoverable" msgid="128269993123955177">"可以检测到设备"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="3139322992062086225">"锁定语音拨号"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4741338867496787042">"屏幕锁定时停止使用蓝牙拨号器"</string>
     <string name="bluetooth_devices" msgid="1886018064039454227">"蓝牙设备"</string>
     <string name="bluetooth_device_name" msgid="8415828355207423800">"设备名称"</string>
-    <string name="bluetooth_name_not_set" msgid="2653752006416027426">"未设置名称，使用帐户名"</string>
+    <string name="bluetooth_name_not_set" msgid="2653752006416027426">"无名称集，使用帐户名"</string>
     <string name="bluetooth_scan_for_devices" msgid="9214184305566815727">"扫描查找设备"</string>
     <string name="bluetooth_disconnect_blank" msgid="8102076504922229274">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>将断开连接。"</string>
     <string name="bluetooth_connected" msgid="6038755206916626419">"已连接"</string>
     <string name="bluetooth_disconnected" msgid="6557104142667339895">"已断开连接"</string>
     <string name="bluetooth_disconnecting" msgid="8913264760027764974">"正在断开连接..."</string>
     <string name="bluetooth_connecting" msgid="8555009514614320497">"正在连接..."</string>
-    <string name="bluetooth_unknown" msgid="644716244548801421"></string>
+    <!-- no translation found for bluetooth_unknown (644716244548801421) -->
+    <skip />
     <string name="bluetooth_not_connected" msgid="3389882907500605937">"与此设备配对"</string>
     <string name="bluetooth_pairing" msgid="1426882272690346242">"正在配对..."</string>
     <string name="bluetooth_paired" msgid="1247541089000057726">"已配对但未连接"</string>
@@ -235,20 +236,34 @@
     <string name="security_settings_summary" msgid="967393342537986570">"设置我的位置、屏幕解锁、SIM 卡锁定和凭据存储锁定"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"设置我的位置、屏幕解锁和凭据存储锁定"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"密码"</string>
-    <string name="lock_settings_picker_title" msgid="3973555216065628262">"屏幕解锁保护"</string>
-    <string name="unlock_set_unlock_launch_picker_title" msgid="1129684221223017902">"设置屏幕锁定"</string>
-    <string name="unlock_set_unlock_launch_picker_summary" msgid="1667332113134720845">"使用图案、PIN 或密码锁定屏幕"</string>
-    <string name="unlock_set_unlock_launch_picker_change_title" msgid="6987228635944678726">"更改屏幕锁定"</string>
-    <string name="unlock_set_unlock_launch_picker_change_summary" msgid="2790960639554590668">"更改或停用图案、PIN 或密码保护"</string>
-    <string name="unlock_set_unlock_none_title" msgid="3760684669884671990">"无"</string>
-    <string name="unlock_set_unlock_none_summary" msgid="2658550480388272618">"停用屏幕解锁保护"</string>
-    <string name="unlock_set_unlock_pattern_title" msgid="2912067603917311700">"图案"</string>
-    <string name="unlock_set_unlock_pattern_summary" msgid="3018395214738645405">"绘制图案给屏幕解锁"</string>
-    <string name="unlock_set_unlock_pin_title" msgid="5846029709462329515">"PIN"</string>
-    <string name="unlock_set_unlock_pin_summary" msgid="4131169672844263316">"输入数字 PIN 给屏幕解锁"</string>
-    <string name="unlock_set_unlock_password_title" msgid="8775603825675090937">"密码"</string>
-    <string name="unlock_set_unlock_password_summary" msgid="4623254789833899286">"输入密码给屏幕解锁"</string>
-    <string name="unlock_set_unlock_disabled_summary" msgid="736557879526940324">"已由远程手机管理员停用"</string>
+    <!-- no translation found for lock_settings_picker_title (3973555216065628262) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_launch_picker_title (1129684221223017902) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_launch_picker_summary (1667332113134720845) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_launch_picker_change_title (6987228635944678726) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_launch_picker_change_summary (2790960639554590668) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_none_title (3760684669884671990) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_none_summary (2658550480388272618) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_pattern_title (2912067603917311700) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_pattern_summary (3018395214738645405) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_pin_title (5846029709462329515) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_pin_summary (4131169672844263316) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_password_title (8775603825675090937) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_password_summary (4623254789833899286) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_disabled_summary (736557879526940324) -->
+    <skip />
     <string name="unlock_disable_lock_title" msgid="1427036227416979120">"关闭屏幕锁定"</string>
     <string name="unlock_disable_lock_pattern_summary" msgid="6801602880568869201">"删除解锁图案"</string>
     <string name="unlock_disable_lock_pin_summary" msgid="8856842745366993387">"删除解锁 PIN"</string>
@@ -385,15 +400,15 @@
     <string name="wifi_dns2" msgid="1368601006824882659">"域名 2"</string>
     <string name="wifi_gateway" msgid="163914742461092086">"网关"</string>
     <string name="wifi_netmask" msgid="4520635321425529085">"网络掩码"</string>
-    <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"便携式 Wi-Fi 热点"</string>
-    <string name="wifi_tether_enabled_subtext" msgid="8948641212931906143">"便携式热点 <xliff:g id="NETWORK_SSID">%1$s</xliff:g> 已启用"</string>
-    <string name="wifi_tether_failed_subtext" msgid="2654888578056042315">"便携式 Wi-Fi 热点错误"</string>
-    <string name="wifi_tether_settings_text" msgid="123573487844470195">"便携式 Wi-Fi 热点设置"</string>
-    <string name="wifi_tether_settings_subtext" msgid="8064755682383367008">"设置与管理便携式 Wi-Fi 热点"</string>
-    <string name="wifi_tether_settings_title" msgid="3749063216348284432">"便携式 Wi-Fi 热点设置"</string>
-    <string name="wifi_tether_configure_ap_text" msgid="3474995108398156258">"配置 Wi-Fi 热点"</string>
-    <string name="wifi_tether_configure_subtext" msgid="1927454307836232128">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> <xliff:g id="NETWORK_SECURITY">%2$s</xliff:g> 便携式 Wi-Fi 热点"</string>
-    <string name="wifi_tether_configure_ssid_default" msgid="8467525402622138547">"Android 热点"</string>
+    <string name="wifi_tether_checkbox_text" msgid="796007268580464534">"Wi-Fi 绑定"</string>
+    <string name="wifi_tether_enabled_subtext" msgid="6758080605207549918">"接入点 <xliff:g id="NETWORK_SSID">%1$s</xliff:g> 已生效"</string>
+    <string name="wifi_tether_failed_subtext" msgid="4379214348183654280">"Wi-Fi 绑定出错"</string>
+    <string name="wifi_tether_settings_text" msgid="8831276059149506799">"Wi-Fi 绑定设置"</string>
+    <string name="wifi_tether_settings_subtext" msgid="3415164631321782704">"设置和管理接入点"</string>
+    <string name="wifi_tether_settings_title" msgid="3233393750798545228">"Wi-Fi 绑定设置"</string>
+    <string name="wifi_tether_configure_ap_text" msgid="7849700175083202171">"配置接入点"</string>
+    <string name="wifi_tether_configure_subtext" msgid="54089556089657247">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> <xliff:g id="NETWORK_SECURITY">%2$s</xliff:g> 接入点"</string>
+    <string name="wifi_tether_configure_ssid_default" msgid="4491822321218336928">"AndroidAP"</string>
     <string name="sound_settings_title" msgid="8735891486683305886">"声音"</string>
     <string name="display_settings_title" msgid="1708697328627382561">"显示"</string>
     <string name="sound_settings" msgid="5007659014828162881">"声音设置"</string>
@@ -401,16 +416,21 @@
     <string name="silent_mode_summary" msgid="3309650676072917899">"除媒体和闹钟以外，所有声音均设为静音"</string>
     <string name="silent_mode_incl_alarm_summary" msgid="2088830834182228458">"对所有非多媒体声音进行静音处理"</string>
     <string name="ringtone_title" msgid="5379026328015343686">"手机铃声"</string>
-    <string name="ringtone_summary" msgid="2630023412632683493"></string>
+    <!-- no translation found for ringtone_summary (2630023412632683493) -->
+    <skip />
     <string name="all_volume_title" msgid="8741571721868253103">"音量"</string>
     <string name="ring_volume_title" msgid="7938706566797464165">"铃声音量"</string>
-    <string name="ring_volume_summary" msgid="7055497624193116879"></string>
+    <!-- no translation found for ring_volume_summary (7055497624193116879) -->
+    <skip />
     <string name="vibrate_in_silent_title" msgid="3897968069156767036">"静音时振动"</string>
     <string name="vibrate_in_silent_summary" msgid="3312600513070076281">"静音模式下允许振动反馈"</string>
-    <string name="vibrate_title" msgid="6045820877942801599">"振动"</string>
-    <string name="vibrate_summary" msgid="7378130397830790458">"在接到电话和通知时发出振动反馈"</string>
+    <!-- no translation found for vibrate_title (6045820877942801599) -->
+    <skip />
+    <!-- no translation found for vibrate_summary (7378130397830790458) -->
+    <skip />
     <string name="notification_sound_title" msgid="6316316069880531693">"通知铃声"</string>
-    <string name="notification_sound_summary" msgid="2953599929394109819"></string>
+    <!-- no translation found for notification_sound_summary (2953599929394109819) -->
+    <skip />
     <string name="notification_pulse_title" msgid="1247988024534030629">"闪动通知指示灯"</string>
     <string name="notification_pulse_summary" msgid="6899220780534617152">"在收到新通知时，跟踪球指示灯会不断闪动"</string>
     <string name="incoming_call_volume_title" msgid="8073714801365904099">"铃声"</string>
@@ -445,7 +465,7 @@
     <string name="dock_not_found_title" msgid="3290961741828952424">"未找到底座"</string>
     <string name="dock_not_found_text" msgid="3035260358985111855">"必须将手机插入底座，才能配置底座音频"</string>
     <string name="dock_sounds_enable_title" msgid="3659084028644948905">"插入底座提示音"</string>
-    <string name="dock_sounds_enable_summary_on" msgid="8491180514199743771">"将电话插入底座或拔出时发出声音"</string>
+    <string name="dock_sounds_enable_summary_on" msgid="8491180514199743771">"将电话插入底座或拔出时播放声音"</string>
     <string name="dock_sounds_enable_summary_off" msgid="3151046599205265919">"电话插入底座或拔出时不播放声音"</string>
     <string name="sync_settings" msgid="9186125469300013491">"帐户与同步"</string>
     <string name="sync_settings_summary" msgid="2962179505214965667">"添加或删除帐户和更改帐户设置"</string>
@@ -486,7 +506,8 @@
     <string name="sim_enter_cancel" msgid="6240422158517208036">"取消"</string>
     <string name="device_info_settings" msgid="475872867864762157">"手机状态"</string>
     <string name="system_update_settings_list_item_title" msgid="3342887311059985961">"系统更新"</string>
-    <string name="system_update_settings_list_item_summary" msgid="3853057315907710747"></string>
+    <!-- no translation found for system_update_settings_list_item_summary (3853057315907710747) -->
+    <skip />
     <string name="firmware_version" msgid="4801135784886859972">"Android 版本"</string>
     <string name="model_number" msgid="3765737700545384794">"型号"</string>
     <string name="baseband_version" msgid="1848990160763524801">"基带版本"</string>
@@ -588,12 +609,9 @@
     <string name="media_format_gesture_explanation" msgid="4239529439389660159">"您必须绘制解锁图案以确认将 SD 卡格式化。"</string>
     <string name="call_settings_title" msgid="5188713413939232801">"通话设置"</string>
     <string name="call_settings_summary" msgid="7291195704801002886">"设置语音信箱、来电转接、来电等待和本机号码显示"</string>
-    <string name="tether_settings_title_usb" msgid="4315031513434087777">"绑定"</string>
-    <string name="tether_settings_title_wifi" msgid="3277144155960302049">"便携式热点"</string>
-    <string name="tether_settings_title_both" msgid="2734066355556891504">"绑定与便携式热点"</string>
-    <string name="tether_settings_summary_usb" msgid="3562431455625637370">"将您手机的移动数据连接通过 USB 分享"</string>
-    <string name="tether_settings_summary_wifi" msgid="4690912027002467246">"将您手机的移动连接作为便携式 Wi-Fi 热点分享"</string>
-    <string name="tether_settings_summary_both" msgid="7460063951190682635">"将您手机的移动数据连接通过 USB 或作为便携式 Wi-Fi 热点分享"</string>
+    <string name="tether_settings_title" msgid="8703982377504005349">"绑定"</string>
+    <string name="tether_settings_summary" msgid="6679594629002850490">"设置和管理绑定"</string>
+    <string name="tether_screen_title" msgid="1521966915332491855">"绑定设置"</string>
     <string name="usb_title" msgid="7483344855356312510">"USB 绑定选项"</string>
     <string name="usb_tethering_button_text" msgid="585829947108007917">"USB 绑定"</string>
     <string name="usb_tethering_available_subtext" msgid="156779271296152605">"USB 已连接，选中以绑定"</string>
@@ -601,7 +619,7 @@
     <string name="usb_tethering_storage_active_subtext" msgid="6608933594288072573">"使用 USB 存储设备时无法绑定"</string>
     <string name="usb_tethering_unavailable_subtext" msgid="1044622421184007254">"USB 未连接"</string>
     <string name="usb_tethering_errored_subtext" msgid="1377574819427841992">"USB 绑定出错"</string>
-    <string name="tethering_help_button_text" msgid="656117495547173630">"帮助"</string>
+    <string name="tethering_help_button_text" msgid="7322604807045355030">"绑定帮助"</string>
     <string name="network_settings_title" msgid="7967552516440151852">"移动网络"</string>
     <string name="network_settings_summary" msgid="5149750850846813553">"设置漫游、网络、APN 选项"</string>
     <string name="location_title" msgid="1029961368397484576">"我的位置"</string>
@@ -759,7 +777,8 @@
     <string name="language_category" msgid="3391756582724541530">"语言区域设置"</string>
     <string name="text_category" msgid="6342540511465136739">"文字设置"</string>
     <string name="phone_language" msgid="1165758957501090679">"选择语言"</string>
-    <string name="phone_language_summary" msgid="3871309445655554211"></string>
+    <!-- no translation found for phone_language_summary (3871309445655554211) -->
+    <skip />
     <string name="auto_replace" msgid="6199184757891937822">"自动替换"</string>
     <string name="auto_replace_summary" msgid="370288728200084466">"更正错误输入的字词"</string>
     <string name="auto_caps" msgid="581633131114124121">"自动大写"</string>
@@ -772,7 +791,8 @@
     <string name="ime_security_warning" msgid="812267421486877917">"该输入法可能会收集您输入的所有文字，包括密码和信用卡号码等个人数据。它源自 <xliff:g id="IME_APPLICATION_NAME">%1$s</xliff:g> 应用程序。是否要使用该输入法？"</string>
     <string name="user_dict_settings_titlebar" msgid="765659257455000490">"用户词典"</string>
     <string name="user_dict_settings_title" msgid="8357027437499042191">"用户词典"</string>
-    <string name="user_dict_settings_summary" msgid="7965571192902870454"></string>
+    <!-- no translation found for user_dict_settings_summary (7965571192902870454) -->
+    <skip />
     <string name="user_dict_settings_add_menu_title" msgid="4056762757149923551">"添加"</string>
     <string name="user_dict_settings_add_dialog_title" msgid="4702613990174126482">"添加到词典"</string>
     <string name="user_dict_settings_edit_dialog_title" msgid="8967476444840548674">"编辑字词"</string>
@@ -1033,7 +1053,7 @@
     <string name="vpn_dns_search_list" msgid="4230034234026605360">"DNS 搜索范围"</string>
     <string name="vpn_field_is_set" msgid="7137320847812992243">"已设置 <xliff:g id="VALUE">%s</xliff:g>"</string>
     <string name="vpn_field_not_set" msgid="2972519243515893804">"<xliff:g id="VALUE">%s</xliff:g> 未设置"</string>
-    <string name="vpn_field_not_set_optional" msgid="8840557698252556791">"未设置<xliff:g id="VALUE">%s</xliff:g>（可选）"</string>
+    <string name="vpn_field_not_set_optional" msgid="8840557698252556791">"未设置 <xliff:g id="VALUE">%s</xliff:g>（可选）"</string>
     <string name="vpn_enable_field" msgid="3700967675854517191">"启用<xliff:g id="OPTION">%s</xliff:g>"</string>
     <string name="vpn_disable_field" msgid="6905658811179634005">"停用<xliff:g id="OPTION">%s</xliff:g>"</string>
     <string name="vpn_is_enabled" msgid="1266304230417098877">"已启用<xliff:g id="OPTION">%s</xliff:g>"</string>
@@ -1068,12 +1088,25 @@
     <string name="credentials_erased" msgid="7700309135582200849">"该凭证存储已删除。"</string>
     <string name="credentials_enabled" msgid="7588607413349978930">"凭证存储已启用。"</string>
     <string name="credentials_disabled" msgid="7453188089059045380">"凭证存储已停用。"</string>
+    <string name="encrypted_fs_category" msgid="1841367653663913956">"加密文件系统"</string>
+    <string name="encrypted_fs_enable" msgid="3884033081603327729">"加密用户私人数据"</string>
+    <string name="encrypted_fs_enable_summary" msgid="5635188119509076089">"在此设备中针对用户私人数据启用加密文件系统存储"</string>
+    <string name="encrypted_fs_enable_dialog" msgid="919487211207214266">"必须清除设备数据才能启用加密文件系统。"</string>
+    <string name="encrypted_fs_disable_dialog" msgid="6960413613985682501">"必须清除设备数据才能停用加密文件系统。"</string>
+    <string name="encrypted_fs_enable_button" msgid="8453841319751433751">"启用"</string>
+    <string name="encrypted_fs_disable_button" msgid="8468354944060220496">"停用"</string>
+    <string name="encrypted_fs_cancel_button" msgid="4785921255266305799">"取消"</string>
+    <string name="encrypted_fs_cancel_confirm" msgid="853572431153803557">"已取消加密文件系统的模式更改。"</string>
+    <string name="encrypted_fs_alert_dialog_title" msgid="583462447886934755">"加密文件系统警告。"</string>
     <string name="emergency_tone_title" msgid="1055954530111587114">"紧急提示音"</string>
     <string name="emergency_tone_summary" msgid="722259232924572153">"设置进行紧急呼救时的行为"</string>
     <string name="privacy_settings" msgid="9206631214140954954">"隐私权"</string>
     <string name="privacy_settings_title" msgid="1987089301293213705">"隐私权设置"</string>
+    <string name="backup_section_title" msgid="717834414028702406">"备份和还原"</string>
     <string name="personal_data_section_title" msgid="7815209034443782061">"个人数据"</string>
+    <string name="backup_settings_title" msgid="2968262658155327829">"备份我的设置"</string>
     <string name="auto_restore_title" msgid="5397528966329126506">"自动还原"</string>
+    <string name="auto_restore_summary" msgid="2029683590724508019">"如果安装了备份，则从中还原应用程序数据"</string>
     <string name="backup_erase_dialog_title" msgid="3438255037256586237">"备份"</string>
     <string name="backup_erase_dialog_message" msgid="2948090854996352245">"您是否确定要停止备份您的设置和应用程序数据，并清除 Google 服务器上的所有副本？"</string>
     <string name="device_admin_settings_title" msgid="1335557832906433309">"设备管理设置"</string>
@@ -1087,8 +1120,12 @@
     <string name="device_admin_warning" msgid="1149471041373876923">"激活此管理器可允许应用程序 <xliff:g id="APP_NAME">%1$s</xliff:g> 执行以下操作："</string>
     <string name="device_admin_status" msgid="7169948053970923035">"此管理器已激活，从而允许应用程序 <xliff:g id="APP_NAME">%1$s</xliff:g> 执行以下操作："</string>
     <string name="untitled_apn" msgid="1230060359198685513">"未命名"</string>
-    <string name="sound_category_sound_title" msgid="1488759370067953996">"常规"</string>
-    <string name="sound_category_calls_title" msgid="3688531959256239012">"来电"</string>
-    <string name="sound_category_notification_title" msgid="3502115998790286943">"通知"</string>
-    <string name="sound_category_feedback_title" msgid="4399742321363475393">"反馈"</string>
+    <!-- no translation found for sound_category_sound_title (1488759370067953996) -->
+    <skip />
+    <!-- no translation found for sound_category_calls_title (3688531959256239012) -->
+    <skip />
+    <!-- no translation found for sound_category_notification_title (3502115998790286943) -->
+    <skip />
+    <!-- no translation found for sound_category_feedback_title (4399742321363475393) -->
+    <skip />
 </resources>
diff --git a/res/values-zh-rTW/arrays.xml b/res/values-zh-rTW/arrays.xml
index 0aae95f..b11ac3c 100644
--- a/res/values-zh-rTW/arrays.xml
+++ b/res/values-zh-rTW/arrays.xml
@@ -69,30 +69,8 @@
     <item msgid="5972100016440094433">"義大利文"</item>
     <item msgid="5811378076054402537">"西班牙文"</item>
   </string-array>
-  <string-array name="wifi_status">
-    <item msgid="1922181315419294640"></item>
-    <item msgid="8934131797783724664">"掃描中..."</item>
-    <item msgid="8513729475867537913">"連線中…"</item>
-    <item msgid="515055375277271756">"驗證中..."</item>
-    <item msgid="1943354004029184381">"正在取得 IP 位址..."</item>
-    <item msgid="4221763391123233270">"已連線"</item>
-    <item msgid="624838831631122137">"已暫停"</item>
-    <item msgid="7979680559596111948">"中斷連線中…"</item>
-    <item msgid="1634960474403853625">"已中斷連線"</item>
-    <item msgid="746097431216080650">"失敗"</item>
-  </string-array>
-  <string-array name="wifi_status_with_ssid">
-    <item msgid="7714855332363650812"></item>
-    <item msgid="8878186979715711006">"掃描中..."</item>
-    <item msgid="355508996603873860">"正在連線到 <xliff:g id="NETWORK_NAME">%1$s</xliff:g>..."</item>
-    <item msgid="554971459996405634">"正在取得 <xliff:g id="NETWORK_NAME">%1$s</xliff:g> 的授權..."</item>
-    <item msgid="7928343808033020343">"正在由 <xliff:g id="NETWORK_NAME">%1$s</xliff:g> 取得 IP 位址..."</item>
-    <item msgid="8937994881315223448">"已連線到 <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</item>
-    <item msgid="1330262655415760617">"已暫停"</item>
-    <item msgid="7698638434317271902">"正在中斷 <xliff:g id="NETWORK_NAME">%1$s</xliff:g> 連線 ..."</item>
-    <item msgid="197508606402264311">"已中斷連線"</item>
-    <item msgid="8578370891960825148">"失敗"</item>
-  </string-array>
+    <!-- no translation found for wifi_status:0 (1922181315419294640) -->
+    <!-- no translation found for wifi_status_with_ssid:0 (7714855332363650812) -->
   <string-array name="wifi_security">
     <item msgid="1435933968767043814">"開放"</item>
     <item msgid="6318432659048829665">"WEP"</item>
@@ -113,7 +91,7 @@
   <string-array name="wifi_sleep_policy_entries">
     <item msgid="3804733751095821976">"關上螢幕時"</item>
     <item msgid="1549288661423279207">"插入時絕不"</item>
-    <item msgid="1986753720941888596">"永不"</item>
+    <item msgid="1986753720941888596">"從不"</item>
   </string-array>
   <string-array name="battery_history_type_spinner">
     <item msgid="2193799199027871385">"CPU 使用率"</item>
@@ -161,10 +139,7 @@
     <item msgid="3738430123799803530">"卸除式 SD 卡"</item>
     <item msgid="4498124044785815005">"讓系統決定"</item>
   </string-array>
-  <string-array name="vibrate_entries">
-    <item msgid="3388952299521009213">"永遠要"</item>
-    <item msgid="6293147072807231256">"永遠不要"</item>
-    <item msgid="1276641209451816572">"僅適用於靜音模式"</item>
-    <item msgid="8418930333779132418">"僅適用於非靜音模式"</item>
-  </string-array>
+    <!-- no translation found for vibrate_entries:1 (6293147072807231256) -->
+    <!-- no translation found for vibrate_entries:2 (1276641209451816572) -->
+    <!-- no translation found for vibrate_entries:3 (8418930333779132418) -->
 </resources>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index 43199c5..76b1555 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -99,7 +99,8 @@
     <string name="bluetooth_disconnected" msgid="6557104142667339895">"已中斷連線"</string>
     <string name="bluetooth_disconnecting" msgid="8913264760027764974">"連線中斷..."</string>
     <string name="bluetooth_connecting" msgid="8555009514614320497">"連線中..."</string>
-    <string name="bluetooth_unknown" msgid="644716244548801421"></string>
+    <!-- no translation found for bluetooth_unknown (644716244548801421) -->
+    <skip />
     <string name="bluetooth_not_connected" msgid="3389882907500605937">"與此裝置配對"</string>
     <string name="bluetooth_pairing" msgid="1426882272690346242">"配對中..."</string>
     <string name="bluetooth_paired" msgid="1247541089000057726">"已配對，但尚未連接"</string>
@@ -235,20 +236,34 @@
     <string name="security_settings_summary" msgid="967393342537986570">"設定我的位置、畫面解鎖、SIM 卡鎖定、認證儲存空間鎖定"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"設定我的位置、解除鎖定畫面及鎖定認證儲存空間"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"密碼"</string>
-    <string name="lock_settings_picker_title" msgid="3973555216065628262">"螢幕解鎖安全性"</string>
-    <string name="unlock_set_unlock_launch_picker_title" msgid="1129684221223017902">"設定螢幕鎖定"</string>
-    <string name="unlock_set_unlock_launch_picker_summary" msgid="1667332113134720845">"使用解鎖圖形、PIN 或密碼來鎖定螢幕"</string>
-    <string name="unlock_set_unlock_launch_picker_change_title" msgid="6987228635944678726">"變更螢幕鎖定"</string>
-    <string name="unlock_set_unlock_launch_picker_change_summary" msgid="2790960639554590668">"變更或停用圖案、PIN 或密碼安全性"</string>
-    <string name="unlock_set_unlock_none_title" msgid="3760684669884671990">"無"</string>
-    <string name="unlock_set_unlock_none_summary" msgid="2658550480388272618">"停用螢幕解鎖安全性"</string>
-    <string name="unlock_set_unlock_pattern_title" msgid="2912067603917311700">"圖形"</string>
-    <string name="unlock_set_unlock_pattern_summary" msgid="3018395214738645405">"畫出解鎖圖形以解鎖螢幕"</string>
-    <string name="unlock_set_unlock_pin_title" msgid="5846029709462329515">"PIN"</string>
-    <string name="unlock_set_unlock_pin_summary" msgid="4131169672844263316">"輸入解鎖數字 PIN 以解鎖螢幕"</string>
-    <string name="unlock_set_unlock_password_title" msgid="8775603825675090937">"密碼"</string>
-    <string name="unlock_set_unlock_password_summary" msgid="4623254789833899286">"輸入解鎖密碼以解鎖螢幕"</string>
-    <string name="unlock_set_unlock_disabled_summary" msgid="736557879526940324">"已由遠端手機管理員停用"</string>
+    <!-- no translation found for lock_settings_picker_title (3973555216065628262) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_launch_picker_title (1129684221223017902) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_launch_picker_summary (1667332113134720845) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_launch_picker_change_title (6987228635944678726) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_launch_picker_change_summary (2790960639554590668) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_none_title (3760684669884671990) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_none_summary (2658550480388272618) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_pattern_title (2912067603917311700) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_pattern_summary (3018395214738645405) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_pin_title (5846029709462329515) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_pin_summary (4131169672844263316) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_password_title (8775603825675090937) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_password_summary (4623254789833899286) -->
+    <skip />
+    <!-- no translation found for unlock_set_unlock_disabled_summary (736557879526940324) -->
+    <skip />
     <string name="unlock_disable_lock_title" msgid="1427036227416979120">"關閉螢幕鎖定"</string>
     <string name="unlock_disable_lock_pattern_summary" msgid="6801602880568869201">"移除解鎖圖形"</string>
     <string name="unlock_disable_lock_pin_summary" msgid="8856842745366993387">"移除解鎖 PIN"</string>
@@ -358,7 +373,7 @@
     <string name="wifi_show_password" msgid="4235237470701732009">"顯示密碼"</string>
     <string name="wifi_unchanged" msgid="3410422020930397102">"(未變更)"</string>
     <string name="wifi_unspecified" msgid="5431501214192991253">"(未指定)"</string>
-    <string name="wifi_remembered" msgid="8426719916135950136">"已記住"</string>
+    <string name="wifi_remembered" msgid="8426719916135950136">"已記憶"</string>
     <string name="wifi_disabled" msgid="2104752038187543712">"已停用"</string>
     <string name="wifi_not_in_range" msgid="1136191511238508967">"超出可用範圍"</string>
     <string name="wifi_secured" msgid="6759903183748011566">"以 <xliff:g id="WIFI_SECURITY">%1$s</xliff:g> 保護連線安全性"</string>
@@ -385,15 +400,15 @@
     <string name="wifi_dns2" msgid="1368601006824882659">"DNS 2"</string>
     <string name="wifi_gateway" msgid="163914742461092086">"閘道"</string>
     <string name="wifi_netmask" msgid="4520635321425529085">"網路遮罩"</string>
-    <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"可攜式 Wi-Fi 無線基地台"</string>
-    <string name="wifi_tether_enabled_subtext" msgid="8948641212931906143">"可攜式無線基地台 <xliff:g id="NETWORK_SSID">%1$s</xliff:g> 已啟用"</string>
-    <string name="wifi_tether_failed_subtext" msgid="2654888578056042315">"可攜式 Wi-Fi 無線基地台發生錯誤"</string>
-    <string name="wifi_tether_settings_text" msgid="123573487844470195">"可攜式 Wi-Fi 無線基地台設定"</string>
-    <string name="wifi_tether_settings_subtext" msgid="8064755682383367008">"設定與管理可攜式 Wi-Fi 無線基地台"</string>
-    <string name="wifi_tether_settings_title" msgid="3749063216348284432">"可攜式 Wi-Fi 無線基地台設定"</string>
-    <string name="wifi_tether_configure_ap_text" msgid="3474995108398156258">"設定 Wi-Fi 無線基地台"</string>
-    <string name="wifi_tether_configure_subtext" msgid="1927454307836232128">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> <xliff:g id="NETWORK_SECURITY">%2$s</xliff:g> 可攜式 Wi-Fi 無線基地台"</string>
-    <string name="wifi_tether_configure_ssid_default" msgid="8467525402622138547">"Android 無線基地台"</string>
+    <string name="wifi_tether_checkbox_text" msgid="796007268580464534">"Wi-Fi 數據連線"</string>
+    <string name="wifi_tether_enabled_subtext" msgid="6758080605207549918">"啟用存取點 <xliff:g id="NETWORK_SSID">%1$s</xliff:g>"</string>
+    <string name="wifi_tether_failed_subtext" msgid="4379214348183654280">"Wi-Fi 數據連線發生錯誤"</string>
+    <string name="wifi_tether_settings_text" msgid="8831276059149506799">"Wi-Fi 數據連線設定"</string>
+    <string name="wifi_tether_settings_subtext" msgid="3415164631321782704">"設定及管理存取點"</string>
+    <string name="wifi_tether_settings_title" msgid="3233393750798545228">"Wi-Fi 數據連線設定"</string>
+    <string name="wifi_tether_configure_ap_text" msgid="7849700175083202171">"設定 AP"</string>
+    <string name="wifi_tether_configure_subtext" msgid="54089556089657247">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> <xliff:g id="NETWORK_SECURITY">%2$s</xliff:g> 存取點"</string>
+    <string name="wifi_tether_configure_ssid_default" msgid="4491822321218336928">"AndroidAP"</string>
     <string name="sound_settings_title" msgid="8735891486683305886">"音效"</string>
     <string name="display_settings_title" msgid="1708697328627382561">"顯示"</string>
     <string name="sound_settings" msgid="5007659014828162881">"音效設定"</string>
@@ -401,16 +416,21 @@
     <string name="silent_mode_summary" msgid="3309650676072917899">"將所有非媒體音效及鬧鐘音效設為靜音"</string>
     <string name="silent_mode_incl_alarm_summary" msgid="2088830834182228458">"將所有非媒體音效設為靜音"</string>
     <string name="ringtone_title" msgid="5379026328015343686">"電話鈴聲"</string>
-    <string name="ringtone_summary" msgid="2630023412632683493"></string>
+    <!-- no translation found for ringtone_summary (2630023412632683493) -->
+    <skip />
     <string name="all_volume_title" msgid="8741571721868253103">"音量"</string>
     <string name="ring_volume_title" msgid="7938706566797464165">"鈴聲音量"</string>
-    <string name="ring_volume_summary" msgid="7055497624193116879"></string>
+    <!-- no translation found for ring_volume_summary (7055497624193116879) -->
+    <skip />
     <string name="vibrate_in_silent_title" msgid="3897968069156767036">"靜音時震動"</string>
     <string name="vibrate_in_silent_summary" msgid="3312600513070076281">"允許在靜音模式時開啟震動功能"</string>
-    <string name="vibrate_title" msgid="6045820877942801599">"震動"</string>
-    <string name="vibrate_summary" msgid="7378130397830790458">"來電或收到通知時震動提示"</string>
+    <!-- no translation found for vibrate_title (6045820877942801599) -->
+    <skip />
+    <!-- no translation found for vibrate_summary (7378130397830790458) -->
+    <skip />
     <string name="notification_sound_title" msgid="6316316069880531693">"通知鈴聲"</string>
-    <string name="notification_sound_summary" msgid="2953599929394109819"></string>
+    <!-- no translation found for notification_sound_summary (2953599929394109819) -->
+    <skip />
     <string name="notification_pulse_title" msgid="1247988024534030629">"閃爍燈光通知"</string>
     <string name="notification_pulse_summary" msgid="6899220780534617152">"有新通知時重複閃爍軌跡球燈光"</string>
     <string name="incoming_call_volume_title" msgid="8073714801365904099">"鈴聲"</string>
@@ -486,7 +506,8 @@
     <string name="sim_enter_cancel" msgid="6240422158517208036">"取消"</string>
     <string name="device_info_settings" msgid="475872867864762157">"手機狀態"</string>
     <string name="system_update_settings_list_item_title" msgid="3342887311059985961">"系統更新"</string>
-    <string name="system_update_settings_list_item_summary" msgid="3853057315907710747"></string>
+    <!-- no translation found for system_update_settings_list_item_summary (3853057315907710747) -->
+    <skip />
     <string name="firmware_version" msgid="4801135784886859972">"Android 版本"</string>
     <string name="model_number" msgid="3765737700545384794">"模組號碼"</string>
     <string name="baseband_version" msgid="1848990160763524801">"基頻版本"</string>
@@ -588,12 +609,9 @@
     <string name="media_format_gesture_explanation" msgid="4239529439389660159">"您必須畫出解鎖圖形，以確認將 SD 卡格式化。"</string>
     <string name="call_settings_title" msgid="5188713413939232801">"通話設定"</string>
     <string name="call_settings_summary" msgid="7291195704801002886">"設定語音信箱、來電轉接、來電待接及本機號碼顯示"</string>
-    <string name="tether_settings_title_usb" msgid="4315031513434087777">"數據連線"</string>
-    <string name="tether_settings_title_wifi" msgid="3277144155960302049">"可攜式無線基地台"</string>
-    <string name="tether_settings_title_both" msgid="2734066355556891504">"數據連線與可攜式無線基地台"</string>
-    <string name="tether_settings_summary_usb" msgid="3562431455625637370">"透過 USB 分享手機的行動數據連線"</string>
-    <string name="tether_settings_summary_wifi" msgid="4690912027002467246">"分享您的手機行動連線，讓手機成為可攜式 Wi-Fi 無線基地台"</string>
-    <string name="tether_settings_summary_both" msgid="7460063951190682635">"透過 USB 或可攜式 Wi-Fi 無線基地台方式，分享手機的行動數據連線"</string>
+    <string name="tether_settings_title" msgid="8703982377504005349">"數據連線"</string>
+    <string name="tether_settings_summary" msgid="6679594629002850490">"設定及管理數據連線"</string>
+    <string name="tether_screen_title" msgid="1521966915332491855">"數據連線設定"</string>
     <string name="usb_title" msgid="7483344855356312510">"USB"</string>
     <string name="usb_tethering_button_text" msgid="585829947108007917">"USB 數據連線"</string>
     <string name="usb_tethering_available_subtext" msgid="156779271296152605">"已連接 USB，選取即可進行數據連線"</string>
@@ -601,7 +619,7 @@
     <string name="usb_tethering_storage_active_subtext" msgid="6608933594288072573">"使用 USB 儲存空間時無法進行數據連線"</string>
     <string name="usb_tethering_unavailable_subtext" msgid="1044622421184007254">"USB 尚未連線"</string>
     <string name="usb_tethering_errored_subtext" msgid="1377574819427841992">"USB 數據連線發生錯誤"</string>
-    <string name="tethering_help_button_text" msgid="656117495547173630">"說明"</string>
+    <string name="tethering_help_button_text" msgid="7322604807045355030">"數據連線說明"</string>
     <string name="network_settings_title" msgid="7967552516440151852">"行動網路"</string>
     <string name="network_settings_summary" msgid="5149750850846813553">"設定漫遊、網路、APN 選項"</string>
     <string name="location_title" msgid="1029961368397484576">"我的位置"</string>
@@ -759,7 +777,8 @@
     <string name="language_category" msgid="3391756582724541530">"地區設定"</string>
     <string name="text_category" msgid="6342540511465136739">"文字設定"</string>
     <string name="phone_language" msgid="1165758957501090679">"選取語言"</string>
-    <string name="phone_language_summary" msgid="3871309445655554211"></string>
+    <!-- no translation found for phone_language_summary (3871309445655554211) -->
+    <skip />
     <string name="auto_replace" msgid="6199184757891937822">"自動替換"</string>
     <string name="auto_replace_summary" msgid="370288728200084466">"修改不正確的字"</string>
     <string name="auto_caps" msgid="581633131114124121">"自動大寫"</string>
@@ -772,7 +791,8 @@
     <string name="ime_security_warning" msgid="812267421486877917">"此輸入法可能會收集您輸入的所有文字，包括密碼和信用卡號等個人資料。此輸入法來自「<xliff:g id="IME_APPLICATION_NAME">%1$s</xliff:g>」應用程式。是否要使用此輸入法？"</string>
     <string name="user_dict_settings_titlebar" msgid="765659257455000490">"使用者字典"</string>
     <string name="user_dict_settings_title" msgid="8357027437499042191">"使用者字典"</string>
-    <string name="user_dict_settings_summary" msgid="7965571192902870454"></string>
+    <!-- no translation found for user_dict_settings_summary (7965571192902870454) -->
+    <skip />
     <string name="user_dict_settings_add_menu_title" msgid="4056762757149923551">"新增"</string>
     <string name="user_dict_settings_add_dialog_title" msgid="4702613990174126482">"新增至字典"</string>
     <string name="user_dict_settings_edit_dialog_title" msgid="8967476444840548674">"編輯文字"</string>
@@ -1068,12 +1088,25 @@
     <string name="credentials_erased" msgid="7700309135582200849">"已清除認證儲存空間內容。"</string>
     <string name="credentials_enabled" msgid="7588607413349978930">"已啟用認證儲存空間。"</string>
     <string name="credentials_disabled" msgid="7453188089059045380">"已停用認證儲存空間。"</string>
+    <string name="encrypted_fs_category" msgid="1841367653663913956">"加密檔案系統"</string>
+    <string name="encrypted_fs_enable" msgid="3884033081603327729">"加密使用者隱私資訊"</string>
+    <string name="encrypted_fs_enable_summary" msgid="5635188119509076089">"啟用加密檔案系統，以儲存此裝置的使用者隱私資訊"</string>
+    <string name="encrypted_fs_enable_dialog" msgid="919487211207214266">"啟用加密檔案系統前必須抹除裝置資料。"</string>
+    <string name="encrypted_fs_disable_dialog" msgid="6960413613985682501">"停用加密檔案系統前必須抹除裝置資料。"</string>
+    <string name="encrypted_fs_enable_button" msgid="8453841319751433751">"啟用"</string>
+    <string name="encrypted_fs_disable_button" msgid="8468354944060220496">"停用"</string>
+    <string name="encrypted_fs_cancel_button" msgid="4785921255266305799">"取消"</string>
+    <string name="encrypted_fs_cancel_confirm" msgid="853572431153803557">"已取消變更加密檔案系統模式。"</string>
+    <string name="encrypted_fs_alert_dialog_title" msgid="583462447886934755">"加密檔案系統警告。"</string>
     <string name="emergency_tone_title" msgid="1055954530111587114">"緊急警示音"</string>
     <string name="emergency_tone_summary" msgid="722259232924572153">"設定撥打緊急電話時的運作方式"</string>
     <string name="privacy_settings" msgid="9206631214140954954">"隱私設定"</string>
     <string name="privacy_settings_title" msgid="1987089301293213705">"隱私設定"</string>
+    <string name="backup_section_title" msgid="717834414028702406">"備份與還原"</string>
     <string name="personal_data_section_title" msgid="7815209034443782061">"個人資料"</string>
+    <string name="backup_settings_title" msgid="2968262658155327829">"備份我的設定"</string>
     <string name="auto_restore_title" msgid="5397528966329126506">"自動還原功能"</string>
+    <string name="auto_restore_summary" msgid="2029683590724508019">"安裝後可由備份檔案復原應用程式資料"</string>
     <string name="backup_erase_dialog_title" msgid="3438255037256586237">"備份"</string>
     <string name="backup_erase_dialog_message" msgid="2948090854996352245">"您確定要停止備份設定及應用程式資料，並清除 Google 伺服器上的所有相關資料嗎？"</string>
     <string name="device_admin_settings_title" msgid="1335557832906433309">"裝置管理設定"</string>
@@ -1087,8 +1120,12 @@
     <string name="device_admin_warning" msgid="1149471041373876923">"啟用此管理員將允許 <xliff:g id="APP_NAME">%1$s</xliff:g> 應用程式執行以下活動："</string>
     <string name="device_admin_status" msgid="7169948053970923035">"此管理員正在作業中，且允許 <xliff:g id="APP_NAME">%1$s</xliff:g> 應用程式執行以下活動："</string>
     <string name="untitled_apn" msgid="1230060359198685513">"未命名"</string>
-    <string name="sound_category_sound_title" msgid="1488759370067953996">"一般"</string>
-    <string name="sound_category_calls_title" msgid="3688531959256239012">"來電"</string>
-    <string name="sound_category_notification_title" msgid="3502115998790286943">"通知"</string>
-    <string name="sound_category_feedback_title" msgid="4399742321363475393">"意見"</string>
+    <!-- no translation found for sound_category_sound_title (1488759370067953996) -->
+    <skip />
+    <!-- no translation found for sound_category_calls_title (3688531959256239012) -->
+    <skip />
+    <!-- no translation found for sound_category_notification_title (3502115998790286943) -->
+    <skip />
+    <!-- no translation found for sound_category_feedback_title (4399742321363475393) -->
+    <skip />
 </resources>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 1e0d807..ebd11f8 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -871,6 +871,9 @@
     <!-- Wi-Fi settings screen, advanced, title of the item to show the Wi-Fi device's MAC address. -->
     <string name="wifi_advanced_mac_address_title">MAC address</string>
     <!-- Title of the screen to adjust IP settings -->
+    <!-- Wi-Fi settings screen, advanced, title of the item to show the Wi-Fi device's current IP address. -->
+    <string name="wifi_advanced_ip_address_title">IP address</string>
+
     <string name="wifi_ip_settings_titlebar">IP settings</string>
     <!-- Menu ietm to save the IP settings -->
     <string name="wifi_ip_settings_menu_save">Save</string>
@@ -1763,16 +1766,55 @@
     <!-- Running services, button to cancel stopping of a service -->
     <string name="confirm_stop_cancel">Cancel</string>
     <!-- Running services, description for a service in the started state -->
-    <string name="service_started_by_app">Started by application: touch to stop</string>
+    <string name="service_started_by_app">Started by application.</string>
     <!-- Running services, description for a service in the started state -->
-    <string name="service_client_name"><xliff:g id="client_name">%1$s</xliff:g>: touch to manage</string>
+    <string name="service_client_name"><xliff:g id="client_name">%1$s</xliff:g></string>
     <!-- Running services, summary of background processes -->
-    <string name="service_background_processes">Avail: <xliff:g id="free">%2$s</xliff:g>+<xliff:g id="memory">%3$s</xliff:g> in <xliff:g id="count">%1$d</xliff:g></string>
+    <string name="service_background_processes"><xliff:g id="memory">%1$s</xliff:g> available</string>
     <!-- Running services, summary of foreground processes -->
-    <string name="service_foreground_processes">Other: <xliff:g id="memory">%2$s</xliff:g> in <xliff:g id="count">%1$d</xliff:g></string>
+    <string name="service_foreground_processes"><xliff:g id="memory">%1$s</xliff:g> in use</string>
     <!-- Text to label a process entry with the process name. -->
-    <string name="service_process_name">Process: <xliff:g id="process">%1$s</xliff:g></string>
+    <string name="service_process_name"><xliff:g id="process">%1$s</xliff:g></string>
+    <!-- Descriptive text of a running process: singular process, singular service. -->
+    <string name="running_processes_item_description_s_s"><xliff:g id="numprocess">%1$d</xliff:g>
+        process and <xliff:g id="numservices">%2$d</xliff:g> service</string>
+    <!-- Descriptive text of a running process: singular process, plural service. -->
+    <string name="running_processes_item_description_s_p"><xliff:g id="numprocess">%1$d</xliff:g>
+        process and <xliff:g id="numservices">%2$d</xliff:g> services</string>
+     <!-- Descriptive text of a running process: plural process, singular service. -->
+    <string name="running_processes_item_description_p_s"><xliff:g id="numprocess">%1$d</xliff:g>
+        processes and <xliff:g id="numservices">%2$d</xliff:g> service</string>
+    <!-- Descriptive text of a running process: plural process, plural service. -->
+    <string name="running_processes_item_description_p_p"><xliff:g id="numprocess">%1$d</xliff:g>
+        processes and <xliff:g id="numservices">%2$d</xliff:g> services</string>
 
+    <!-- Details about an application's running services. -->
+    <string name="runningservicedetails_settings_title">Running application</string>
+    <!-- Message displayed when there are no active services in a process. -->
+    <string name="no_services">Not active</string>
+    <!-- Title for list of services. -->
+    <string name="runningservicedetails_services_title">Services</string>
+    <!-- Title for list of services. -->
+    <string name="runningservicedetails_processes_title">Processes</string>
+    <!-- Running service details, stop a service that has started itself. -->
+    <string name="service_stop">Stop</string>
+    <!-- Running service details, manage a service that is running for some other reason. -->
+    <string name="service_manage">Manage</string>
+    <!-- Running service details, default description for services that are started. -->
+    <string name="service_stop_description">This service was started by its
+        application.  Stopping it may cause the application to misbehave.</string>
+    <!-- Running service details, default description for services that are managed. -->
+    <string name="service_manage_description"><xliff:g id="client_name">%1$s</xliff:g>:
+        currently in use.  You can manage your settings to stop it.</string>
+    <!-- Description of the main process in the details. -->
+    <string name="main_running_process_description">Main process that is in use.</string>
+    <!-- Message that a process's service is in use. -->
+    <string name="process_service_in_use_description">Service <xliff:g id="comp_name">%1$s</xliff:g>
+        is in use.</string>
+    <!-- Message that a process's provider is in use. -->
+    <string name="process_provider_in_use_description">Provider <xliff:g id="comp_name">%1$s</xliff:g>
+        is in use.</string>
+    
     <!-- Language Settings --> <skip />
     <!-- Title of setting on main settings screen.  This item will take the user to the screen to tweak settings realted to locale and text -->
     <string name="language_settings">Language &amp; keyboard</string>
@@ -2467,6 +2509,27 @@
     <!-- toast message -->
     <string name="credentials_disabled">Credential storage is disabled.</string>
 
+    <!-- Title of preference group for encrypted filesystem settings -->
+    <string name="encrypted_fs_category">Encrypted File System</string>
+    <!-- Title of preference to enable/dislable encrypted filesystem -->
+    <string name="encrypted_fs_enable">Encrypt private user data</string>
+    <!-- Summary of preference to enable/dislable encrypted filesystem -->
+    <string name="encrypted_fs_enable_summary">Enable encrypted file system storage for private user data in this device</string>
+    <!-- Dialog message to enable encrypted filesystem -->
+    <string name="encrypted_fs_enable_dialog">Enabling Encrypted File Systems requires a device data wipe.</string>
+    <!-- Dialog message to disable encrypted filesystem -->
+    <string name="encrypted_fs_disable_dialog">Disabling Encrypted File Systems requires a device data wipe.</string>
+    <!-- Button label to enable encrypted filesystem -->
+    <string name="encrypted_fs_enable_button">Enable</string>
+    <!-- Button label to disable encrypted filesystem -->
+    <string name="encrypted_fs_disable_button">Disable</string>
+    <!-- Button message to cancel toggling encrypted filesystem -->
+    <string name="encrypted_fs_cancel_button">Cancel</string>
+    <!-- Toast message to notify cancel toggling encrypted filesystem -->
+    <string name="encrypted_fs_cancel_confirm">Encrypted File Systems mode change cancelled.</string>
+    <!-- Dialog title to toggle encrypted filesystem -->
+    <string name="encrypted_fs_alert_dialog_title">Encrypted File Systems Warning.</string>
+
     <!-- Sound settings screen, setting check box label -->
     <string name="emergency_tone_title">Emergency tone</string>
     <!-- Sound settings screen, setting option summary text -->
diff --git a/res/xml/application_settings.xml b/res/xml/application_settings.xml
index 4df21da..6ac58d1 100644
--- a/res/xml/application_settings.xml
+++ b/res/xml/application_settings.xml
@@ -59,6 +59,15 @@
                 android:targetClass="com.android.settings.RunningServices" />
     </PreferenceScreen>
 
+    <PreferenceScreen
+            android:key="power_usage"
+            android:title="@string/power_usage_summary_title"
+            android:summary="@string/power_usage_summary">
+        <intent android:action="android.intent.action.MAIN"
+                android:targetPackage="com.android.settings"
+                android:targetClass="com.android.settings.fuelgauge.PowerUsageSummary" />
+    </PreferenceScreen>
+
     <PreferenceScreen 
             android:title="@string/development_settings_title" 
             android:summary="@string/development_settings_summary">
diff --git a/res/xml/wifi_advanced_settings.xml b/res/xml/wifi_advanced_settings.xml
index 3e0ff05..e603be9 100644
--- a/res/xml/wifi_advanced_settings.xml
+++ b/res/xml/wifi_advanced_settings.xml
@@ -38,6 +38,11 @@
         android:title="@string/wifi_advanced_mac_address_title"
         />
     
+    <Preference android:key="current_ip_address"
+        style="?android:attr/preferenceInformationStyle"
+        android:title="@string/wifi_advanced_ip_address_title"
+        />
+
     <PreferenceCategory
             android:title="@string/wifi_ip_settings_titlebar"
             />
diff --git a/src/com/android/settings/ApnEditor.java b/src/com/android/settings/ApnEditor.java
index 62856d1..e097854 100644
--- a/src/com/android/settings/ApnEditor.java
+++ b/src/com/android/settings/ApnEditor.java
@@ -458,7 +458,11 @@
     public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
         Preference pref = findPreference(key);
         if (pref != null) {
-            pref.setSummary(checkNull(sharedPreferences.getString(key, "")));
+            if (pref.equals(mPassword)){
+                pref.setSummary(starify(sharedPreferences.getString(key, "")));
+            } else {
+                pref.setSummary(checkNull(sharedPreferences.getString(key, "")));
+            }
         }
     }
 }
diff --git a/src/com/android/settings/ApplicationSettings.java b/src/com/android/settings/ApplicationSettings.java
index c743f1c..a919ae8 100644
--- a/src/com/android/settings/ApplicationSettings.java
+++ b/src/com/android/settings/ApplicationSettings.java
@@ -124,7 +124,7 @@
     }
 
     public void onClick(DialogInterface dialog, int which) {
-        if (dialog == mWarnInstallApps && which == DialogInterface.BUTTON1) {
+        if (dialog == mWarnInstallApps && which == DialogInterface.BUTTON_POSITIVE) {
             setNonMarketAppsAllowed(true);
             mToggleAppInstallation.setChecked(true);
         }
diff --git a/src/com/android/settings/RunningServices.java b/src/com/android/settings/RunningServices.java
deleted file mode 100644
index e67adf0..0000000
--- a/src/com/android/settings/RunningServices.java
+++ /dev/null
@@ -1,1172 +0,0 @@
-/*
- * Copyright (C) 2006 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.settings;
-
-import com.android.settings.R;
-import android.app.ActivityManager;
-import android.app.ActivityManagerNative;
-import android.app.AlertDialog;
-import android.app.Dialog;
-import android.app.ListActivity;
-import android.app.PendingIntent;
-import android.content.ActivityNotFoundException;
-import android.content.ComponentName;
-import android.content.Context;
-import android.content.DialogInterface;
-import android.content.Intent;
-import android.content.IntentSender;
-import android.content.pm.ApplicationInfo;
-import android.content.pm.PackageInfo;
-import android.content.pm.PackageItemInfo;
-import android.content.pm.PackageManager;
-import android.content.pm.ServiceInfo;
-import android.content.res.Resources;
-import android.graphics.Canvas;
-import android.graphics.Paint;
-import android.graphics.Rect;
-import android.os.Bundle;
-import android.os.Debug;
-import android.os.Handler;
-import android.os.HandlerThread;
-import android.os.Looper;
-import android.os.Message;
-import android.os.RemoteException;
-import android.os.SystemClock;
-import android.os.SystemProperties;
-import android.text.format.DateUtils;
-import android.text.format.Formatter;
-import android.util.AttributeSet;
-import android.util.Log;
-import android.util.SparseArray;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.AbsListView;
-import android.widget.BaseAdapter;
-import android.widget.ImageView;
-import android.widget.LinearLayout;
-import android.widget.ListView;
-import android.widget.TextView;
-
-import java.io.FileInputStream;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-
-public class RunningServices extends ListActivity
-        implements AbsListView.RecyclerListener,
-        DialogInterface.OnClickListener {
-    static final String TAG = "RunningServices";
-    
-    /** Maximum number of services to retrieve */
-    static final int MAX_SERVICES = 100;
-    
-    static final int MSG_UPDATE_TIMES = 1;
-    static final int MSG_UPDATE_CONTENTS = 2;
-    static final int MSG_REFRESH_UI = 3;
-    
-    static final long TIME_UPDATE_DELAY = 1000;
-    static final long CONTENTS_UPDATE_DELAY = 2000;
-    
-    // Memory pages are 4K.
-    static final long PAGE_SIZE = 4*1024;
-    
-    long SECONDARY_SERVER_MEM;
-    
-    final HashMap<View, ActiveItem> mActiveItems = new HashMap<View, ActiveItem>();
-    
-    ActivityManager mAm;
-    
-    State mState;
-    
-    StringBuilder mBuilder = new StringBuilder(128);
-    
-    BaseItem mCurSelected;
-    
-    int mProcessBgColor;
-    
-    LinearColorBar mColorBar;
-    TextView mBackgroundProcessText;
-    TextView mForegroundProcessText;
-    
-    int mLastNumBackgroundProcesses = -1;
-    int mLastNumForegroundProcesses = -1;
-    int mLastNumServiceProcesses = -1;
-    long mLastBackgroundProcessMemory = -1;
-    long mLastForegroundProcessMemory = -1;
-    long mLastServiceProcessMemory = -1;
-    long mLastAvailMemory = -1;
-    
-    Dialog mCurDialog;
-    
-    byte[] mBuffer = new byte[1024];
-    
-    class ActiveItem {
-        View mRootView;
-        BaseItem mItem;
-        ActivityManager.RunningServiceInfo mService;
-        ViewHolder mHolder;
-        long mFirstRunTime;
-        
-        void updateTime(Context context) {
-            if (mItem.mIsProcess) {
-                String size = mItem.mSizeStr != null ? mItem.mSizeStr : "";
-                if (!size.equals(mItem.mCurSizeStr)) {
-                    mItem.mCurSizeStr = size;
-                    mHolder.size.setText(size);
-                }
-            } else {
-                if (mItem.mActiveSince >= 0) {
-                    mHolder.size.setText(DateUtils.formatElapsedTime(mBuilder,
-                            (SystemClock.uptimeMillis()-mFirstRunTime)/1000));
-                } else {
-                    mHolder.size.setText(context.getResources().getText(
-                            R.string.service_restarting));
-                }
-            }
-        }
-    }
-    
-    static class BaseItem {
-        final boolean mIsProcess;
-        
-        PackageItemInfo mPackageInfo;
-        CharSequence mDisplayLabel;
-        String mLabel;
-        String mDescription;
-        
-        int mCurSeq;
-        
-        long mActiveSince;
-        long mSize;
-        String mSizeStr;
-        String mCurSizeStr;
-        boolean mNeedDivider;
-        
-        public BaseItem(boolean isProcess) {
-            mIsProcess = isProcess;
-        }
-    }
-    
-    static class ServiceItem extends BaseItem {
-        ActivityManager.RunningServiceInfo mRunningService;
-        ServiceInfo mServiceInfo;
-        boolean mShownAsStarted;
-        
-        public ServiceItem() {
-            super(false);
-        }
-    }
-    
-    static class ProcessItem extends BaseItem {
-        final HashMap<ComponentName, ServiceItem> mServices
-                = new HashMap<ComponentName, ServiceItem>();
-        final SparseArray<ProcessItem> mDependentProcesses
-                = new SparseArray<ProcessItem>();
-        
-        final int mUid;
-        final String mProcessName;
-        int mPid;
-        
-        ProcessItem mClient;
-        int mLastNumDependentProcesses;
-        
-        int mRunningSeq;
-        ActivityManager.RunningAppProcessInfo mRunningProcessInfo;
-        
-        // Purely for sorting.
-        boolean mIsSystem;
-        boolean mIsStarted;
-        long mActiveSince;
-        
-        public ProcessItem(Context context, int uid, String processName) {
-            super(true);
-            mDescription = context.getResources().getString(
-                    R.string.service_process_name, processName);
-            mUid = uid;
-            mProcessName = processName;
-        }
-        
-        void ensureLabel(PackageManager pm) {
-            if (mLabel != null) {
-                return;
-            }
-            
-            try {
-                ApplicationInfo ai = pm.getApplicationInfo(mProcessName, 0);
-                if (ai.uid == mUid) {
-                    mDisplayLabel = ai.loadLabel(pm);
-                    mLabel = mDisplayLabel.toString();
-                    mPackageInfo = ai;
-                    return;
-                }
-            } catch (PackageManager.NameNotFoundException e) {
-            }
-            
-            // If we couldn't get information about the overall
-            // process, try to find something about the uid.
-            String[] pkgs = pm.getPackagesForUid(mUid);
-            
-            // If there is one package with this uid, that is what we want.
-            if (pkgs.length == 1) {
-                try {
-                    ApplicationInfo ai = pm.getApplicationInfo(pkgs[0], 0);
-                    mDisplayLabel = ai.loadLabel(pm);
-                    mLabel = mDisplayLabel.toString();
-                    mPackageInfo = ai;
-                    return;
-                } catch (PackageManager.NameNotFoundException e) {
-                }
-            }
-            
-            // If there are multiple, see if one gives us the official name
-            // for this uid.
-            for (String name : pkgs) {
-                try {
-                    PackageInfo pi = pm.getPackageInfo(name, 0);
-                    if (pi.sharedUserLabel != 0) {
-                        CharSequence nm = pm.getText(name,
-                                pi.sharedUserLabel, pi.applicationInfo);
-                        if (nm != null) {
-                            mDisplayLabel = nm;
-                            mLabel = nm.toString();
-                            mPackageInfo = pi.applicationInfo;
-                            return;
-                        }
-                    }
-                } catch (PackageManager.NameNotFoundException e) {
-                }
-            }
-            
-            // If still don't have anything to display, just use the
-            // service info.
-            if (mServices.size() > 0) {
-                mPackageInfo = mServices.values().iterator().next()
-                        .mServiceInfo.applicationInfo;
-                mDisplayLabel = mPackageInfo.loadLabel(pm);
-                mLabel = mDisplayLabel.toString();
-                return;
-            }
-            
-            // Finally... whatever, just pick the first package's name.
-            try {
-                ApplicationInfo ai = pm.getApplicationInfo(pkgs[0], 0);
-                mDisplayLabel = ai.loadLabel(pm);
-                mLabel = mDisplayLabel.toString();
-                mPackageInfo = ai;
-                return;
-            } catch (PackageManager.NameNotFoundException e) {
-            }
-        }
-        
-        boolean updateService(Context context,
-                ActivityManager.RunningServiceInfo service) {
-            final PackageManager pm = context.getPackageManager();
-            
-            boolean changed = false;
-            ServiceItem si = mServices.get(service.service);
-            if (si == null) {
-                changed = true;
-                si = new ServiceItem();
-                si.mRunningService = service;
-                try {
-                    si.mServiceInfo = pm.getServiceInfo(service.service, 0);
-                } catch (PackageManager.NameNotFoundException e) {
-                }
-                if (si.mServiceInfo != null && (si.mServiceInfo.labelRes != 0
-                        || si.mServiceInfo.nonLocalizedLabel != null)) {
-                    si.mDisplayLabel = si.mServiceInfo.loadLabel(pm);
-                    si.mLabel = si.mDisplayLabel.toString();
-                } else {
-                    si.mLabel = si.mRunningService.service.getClassName();
-                    int tail = si.mLabel.lastIndexOf('.');
-                    if (tail >= 0) {
-                        si.mLabel = si.mLabel.substring(tail+1, si.mLabel.length());
-                    }
-                    si.mDisplayLabel = si.mLabel;
-                }
-                si.mPackageInfo = si.mServiceInfo.applicationInfo;
-                mServices.put(service.service, si);
-            }
-            si.mCurSeq = mCurSeq;
-            si.mRunningService = service;
-            long activeSince = service.restarting == 0 ? service.activeSince : -1;
-            if (si.mActiveSince != activeSince) {
-                si.mActiveSince = activeSince;
-                changed = true;
-            }
-            if (service.clientPackage != null && service.clientLabel != 0) {
-                if (si.mShownAsStarted) {
-                    si.mShownAsStarted = false;
-                    changed = true;
-                }
-                try {
-                    Resources clientr = pm.getResourcesForApplication(service.clientPackage);
-                    String label = clientr.getString(service.clientLabel);
-                    si.mDescription = context.getResources().getString(
-                            R.string.service_client_name, label);
-                } catch (PackageManager.NameNotFoundException e) {
-                    si.mDescription = null;
-                }
-            } else {
-                if (!si.mShownAsStarted) {
-                    si.mShownAsStarted = true;
-                    changed = true;
-                }
-                si.mDescription = context.getResources().getString(
-                        R.string.service_started_by_app);
-            }
-            
-            return changed;
-        }
-        
-        boolean updateSize(Context context, Debug.MemoryInfo mem, int curSeq) {
-            mSize = ((long)mem.getTotalPss()) * 1024;
-            if (mCurSeq == curSeq) {
-                String sizeStr = Formatter.formatShortFileSize(
-                        context, mSize);
-                if (!sizeStr.equals(mSizeStr)){
-                    mSizeStr = sizeStr;
-                    // We update this on the second tick where we update just
-                    // the text in the current items, so no need to say we
-                    // changed here.
-                    return false;
-                }
-            }
-            return false;
-        }
-        
-        boolean buildDependencyChain(Context context, PackageManager pm, int curSeq) {
-            final int NP = mDependentProcesses.size();
-            boolean changed = false;
-            for (int i=0; i<NP; i++) {
-                ProcessItem proc = mDependentProcesses.valueAt(i);
-                if (proc.mClient != this) {
-                    changed = true;
-                    proc.mClient = this;
-                }
-                proc.mCurSeq = curSeq;
-                proc.ensureLabel(pm);
-                changed |= proc.buildDependencyChain(context, pm, curSeq);
-            }
-            
-            if (mLastNumDependentProcesses != mDependentProcesses.size()) {
-                changed = true;
-                mLastNumDependentProcesses = mDependentProcesses.size();
-            }
-            
-            return changed;
-        }
-        
-        void addDependentProcesses(ArrayList<BaseItem> dest,
-                ArrayList<ProcessItem> destProc) {
-            final int NP = mDependentProcesses.size();
-            for (int i=0; i<NP; i++) {
-                ProcessItem proc = mDependentProcesses.valueAt(i);
-                proc.addDependentProcesses(dest, destProc);
-                dest.add(proc);
-                if (proc.mPid > 0) {
-                    destProc.add(proc);
-                }
-            }
-        }
-    }
-    
-    static class ServiceProcessComparator implements Comparator<ProcessItem> {
-        public int compare(ProcessItem object1, ProcessItem object2) {
-            if (object1.mIsStarted != object2.mIsStarted) {
-                // Non-started processes go last.
-                return object1.mIsStarted ? -1 : 1;
-            }
-            if (object1.mIsSystem != object2.mIsSystem) {
-                // System processes go below non-system.
-                return object1.mIsSystem ? 1 : -1;
-            }
-            if (object1.mActiveSince != object2.mActiveSince) {
-                // Remaining ones are sorted with the longest running
-                // services last.
-                return (object1.mActiveSince > object2.mActiveSince) ? -1 : 1;
-            }
-            return 0;
-        }
-    }
-    
-    static class State {
-        final SparseArray<HashMap<String, ProcessItem>> mProcesses
-                = new SparseArray<HashMap<String, ProcessItem>>();
-        final SparseArray<ProcessItem> mActiveProcesses
-                = new SparseArray<ProcessItem>();
-        final ServiceProcessComparator mServiceProcessComparator
-                = new ServiceProcessComparator();
-        
-        // Temporary for finding process dependencies.
-        final SparseArray<ProcessItem> mRunningProcesses
-                = new SparseArray<ProcessItem>();
-        
-        final ArrayList<ProcessItem> mProcessItems = new ArrayList<ProcessItem>();
-        final ArrayList<ProcessItem> mAllProcessItems = new ArrayList<ProcessItem>();
-        
-        int mSequence = 0;
-        
-        // ----- following protected by mLock -----
-        
-        // Lock for protecting the state that will be shared between the
-        // background update thread and the UI thread.
-        final Object mLock = new Object();
-        
-        ArrayList<BaseItem> mItems = new ArrayList<BaseItem>();
-        
-        int mNumBackgroundProcesses;
-        long mBackgroundProcessMemory;
-        int mNumForegroundProcesses;
-        long mForegroundProcessMemory;
-        int mNumServiceProcesses;
-        long mServiceProcessMemory;
-        
-        boolean update(Context context, ActivityManager am) {
-            final PackageManager pm = context.getPackageManager();
-            
-            mSequence++;
-            
-            boolean changed = false;
-            
-            List<ActivityManager.RunningServiceInfo> services 
-                    = am.getRunningServices(MAX_SERVICES);
-            final int NS = services != null ? services.size() : 0;
-            for (int i=0; i<NS; i++) {
-                ActivityManager.RunningServiceInfo si = services.get(i);
-                // We are not interested in services that have not been started
-                // and don't have a known client, because
-                // there is nothing the user can do about them.
-                if (!si.started && si.clientLabel == 0) {
-                    continue;
-                }
-                // We likewise don't care about services running in a
-                // persistent process like the system or phone.
-                if ((si.flags&ActivityManager.RunningServiceInfo.FLAG_PERSISTENT_PROCESS)
-                        != 0) {
-                    continue;
-                }
-                
-                HashMap<String, ProcessItem> procs = mProcesses.get(si.uid);
-                if (procs == null) {
-                    procs = new HashMap<String, ProcessItem>();
-                    mProcesses.put(si.uid, procs);
-                }
-                ProcessItem proc = procs.get(si.process);
-                if (proc == null) {
-                    changed = true;
-                    proc = new ProcessItem(context, si.uid, si.process);
-                    procs.put(si.process, proc);
-                }
-                
-                if (proc.mCurSeq != mSequence) {
-                    int pid = si.restarting == 0 ? si.pid : 0;
-                    if (pid != proc.mPid) {
-                        changed = true;
-                        if (proc.mPid != pid) {
-                            if (proc.mPid != 0) {
-                                mActiveProcesses.remove(proc.mPid);
-                            }
-                            if (pid != 0) {
-                                mActiveProcesses.put(pid, proc);
-                            }
-                            proc.mPid = pid;
-                        }
-                    }
-                    proc.mDependentProcesses.clear();
-                    proc.mCurSeq = mSequence;
-                }
-                changed |= proc.updateService(context, si);
-            }
-            
-            // Now update the map of other processes that are running (but
-            // don't have services actively running inside them).
-            List<ActivityManager.RunningAppProcessInfo> processes
-                    = am.getRunningAppProcesses();
-            final int NP = processes != null ? processes.size() : 0;
-            for (int i=0; i<NP; i++) {
-                ActivityManager.RunningAppProcessInfo pi = processes.get(i);
-                ProcessItem proc = mActiveProcesses.get(pi.pid);
-                if (proc == null) {
-                    // This process is not one that is a direct container
-                    // of a service, so look for it in the secondary
-                    // running list.
-                    proc = mRunningProcesses.get(pi.pid);
-                    if (proc == null) {
-                        proc = new ProcessItem(context, pi.uid, pi.processName);
-                        proc.mPid = pi.pid;
-                        mRunningProcesses.put(pi.pid, proc);
-                    }
-                    proc.mDependentProcesses.clear();
-                }
-                proc.mRunningSeq = mSequence;
-                proc.mRunningProcessInfo = pi;
-            }
-            
-            // Build the chains from client processes to the process they are
-            // dependent on; also remove any old running processes.
-            int NRP = mRunningProcesses.size();
-            for (int i=0; i<NRP; i++) {
-                ProcessItem proc = mRunningProcesses.valueAt(i);
-                if (proc.mRunningSeq == mSequence) {
-                    int clientPid = proc.mRunningProcessInfo.importanceReasonPid;
-                    if (clientPid != 0) {
-                        ProcessItem client = mActiveProcesses.get(clientPid);
-                        if (client == null) {
-                            client = mRunningProcesses.get(clientPid);
-                        }
-                        if (client != null) {
-                            client.mDependentProcesses.put(proc.mPid, proc);
-                        }
-                    } else {
-                        // In this pass the process doesn't have a client.
-                        // Clear to make sure if it later gets the same one
-                        // that we will detect the change.
-                        proc.mClient = null;
-                    }
-                } else {
-                    mRunningProcesses.remove(mRunningProcesses.keyAt(i));
-                }
-            }
-            
-            // Follow the tree from all primary service processes to all
-            // processes they are dependent on, marking these processes as
-            // still being active and determining if anything has changed.
-            final int NAP = mActiveProcesses.size();
-            for (int i=0; i<NAP; i++) {
-                ProcessItem proc = mActiveProcesses.valueAt(i);
-                if (proc.mCurSeq == mSequence) {
-                    changed |= proc.buildDependencyChain(context, pm, mSequence);
-                }
-            }
-            
-            // Look for services and their primary processes that no longer exist...
-            for (int i=0; i<mProcesses.size(); i++) {
-                HashMap<String, ProcessItem> procs = mProcesses.valueAt(i);
-                Iterator<ProcessItem> pit = procs.values().iterator();
-                while (pit.hasNext()) {
-                    ProcessItem pi = pit.next();
-                    if (pi.mCurSeq == mSequence) {
-                        pi.ensureLabel(pm);
-                        if (pi.mPid == 0) {
-                            // Sanity: a non-process can't be dependent on
-                            // anything.
-                            pi.mDependentProcesses.clear();
-                        }
-                    } else {
-                        changed = true;
-                        pit.remove();
-                        if (procs.size() == 0) {
-                            mProcesses.remove(mProcesses.keyAt(i));
-                        }
-                        if (pi.mPid != 0) {
-                            mActiveProcesses.remove(pi.mPid);
-                        }
-                        continue;
-                    }
-                    Iterator<ServiceItem> sit = pi.mServices.values().iterator();
-                    while (sit.hasNext()) {
-                        ServiceItem si = sit.next();
-                        if (si.mCurSeq != mSequence) {
-                            changed = true;
-                            sit.remove();
-                        }
-                    }
-                }
-            }
-            
-            if (changed) {
-                // First determine an order for the services.
-                ArrayList<ProcessItem> sortedProcesses = new ArrayList<ProcessItem>();
-                for (int i=0; i<mProcesses.size(); i++) {
-                    for (ProcessItem pi : mProcesses.valueAt(i).values()) {
-                        pi.mIsSystem = false;
-                        pi.mIsStarted = true;
-                        pi.mActiveSince = Long.MAX_VALUE;
-                        for (ServiceItem si : pi.mServices.values()) {
-                            if (si.mServiceInfo != null
-                                    && (si.mServiceInfo.applicationInfo.flags
-                                            & ApplicationInfo.FLAG_SYSTEM) != 0) {
-                                pi.mIsSystem = true;
-                            }
-                            if (si.mRunningService != null
-                                    && si.mRunningService.clientLabel != 0) {
-                                pi.mIsStarted = false;
-                                if (pi.mActiveSince > si.mRunningService.activeSince) {
-                                    pi.mActiveSince = si.mRunningService.activeSince;
-                                }
-                            }
-                        }
-                        sortedProcesses.add(pi);
-                    }
-                }
-                
-                Collections.sort(sortedProcesses, mServiceProcessComparator);
-                
-                ArrayList<BaseItem> newItems = new ArrayList<BaseItem>();
-                mProcessItems.clear();
-                for (int i=0; i<sortedProcesses.size(); i++) {
-                    ProcessItem pi = sortedProcesses.get(i);
-                    pi.mNeedDivider = false;
-                    // First add processes we are dependent on.
-                    pi.addDependentProcesses(newItems, mProcessItems);
-                    // And add the process itself.
-                    newItems.add(pi);
-                    if (pi.mPid > 0) {
-                        mProcessItems.add(pi);
-                    }
-                    // And finally the services running in it.
-                    boolean needDivider = false;
-                    for (ServiceItem si : pi.mServices.values()) {
-                        si.mNeedDivider = needDivider;
-                        needDivider = true;
-                        newItems.add(si);
-                    }
-                }
-                synchronized (mLock) {
-                    mItems = newItems;
-                }
-            }
-            
-            // Count number of interesting other (non-active) processes, and
-            // build a list of all processes we will retrieve memory for.
-            mAllProcessItems.clear();
-            mAllProcessItems.addAll(mProcessItems);
-            int numBackgroundProcesses = 0;
-            int numForegroundProcesses = 0;
-            int numServiceProcesses = 0;
-            NRP = mRunningProcesses.size();
-            for (int i=0; i<NRP; i++) {
-                ProcessItem proc = mRunningProcesses.valueAt(i);
-                if (proc.mCurSeq != mSequence) {
-                    // We didn't hit this process as a dependency on one
-                    // of our active ones, so add it up if needed.
-                    if (proc.mRunningProcessInfo.importance >=
-                            ActivityManager.RunningAppProcessInfo.IMPORTANCE_BACKGROUND) {
-                        numBackgroundProcesses++;
-                        mAllProcessItems.add(proc);
-                    } else if (proc.mRunningProcessInfo.importance <=
-                            ActivityManager.RunningAppProcessInfo.IMPORTANCE_VISIBLE) {
-                        numForegroundProcesses++;
-                        mAllProcessItems.add(proc);
-                    } else {
-                        Log.i(TAG, "Unknown non-service process: "
-                                + proc.mProcessName + " #" + proc.mPid);
-                    }
-                } else {
-                    numServiceProcesses++;
-                }
-            }
-            
-            long backgroundProcessMemory = 0;
-            long foregroundProcessMemory = 0;
-            long serviceProcessMemory = 0;
-            try {
-                final int numProc = mAllProcessItems.size();
-                int[] pids = new int[numProc];
-                for (int i=0; i<numProc; i++) {
-                    pids[i] = mAllProcessItems.get(i).mPid;
-                }
-                Debug.MemoryInfo[] mem = ActivityManagerNative.getDefault()
-                        .getProcessMemoryInfo(pids);
-                for (int i=pids.length-1; i>=0; i--) {
-                    ProcessItem proc = mAllProcessItems.get(i);
-                    changed |= proc.updateSize(context, mem[i], mSequence);
-                    if (proc.mCurSeq == mSequence) {
-                        serviceProcessMemory += proc.mSize;
-                    } else if (proc.mRunningProcessInfo.importance >=
-                            ActivityManager.RunningAppProcessInfo.IMPORTANCE_BACKGROUND) {
-                        backgroundProcessMemory += proc.mSize;
-                    } else if (proc.mRunningProcessInfo.importance <=
-                            ActivityManager.RunningAppProcessInfo.IMPORTANCE_VISIBLE) {
-                        foregroundProcessMemory += proc.mSize;
-                    }
-                }
-            } catch (RemoteException e) {
-            }
-            
-            synchronized (mLock) {
-                mNumBackgroundProcesses = numBackgroundProcesses;
-                mNumForegroundProcesses = numForegroundProcesses;
-                mNumServiceProcesses = numServiceProcesses;
-                mBackgroundProcessMemory = backgroundProcessMemory;
-                mForegroundProcessMemory = foregroundProcessMemory;
-                mServiceProcessMemory = serviceProcessMemory;
-            }
-            
-            return changed;
-        }
-        
-        ArrayList<BaseItem> getCurrentItems() {
-            synchronized (mLock) {
-                return mItems;
-            }
-        }
-    }
-    
-    static class TimeTicker extends TextView {
-        public TimeTicker(Context context, AttributeSet attrs) {
-            super(context, attrs);
-        }
-    }
-    
-    static class ViewHolder {
-        ImageView separator;
-        ImageView icon;
-        TextView name;
-        TextView description;
-        TextView size;
-    }
-    
-    class ServiceListAdapter extends BaseAdapter {
-        final State mState;
-        final LayoutInflater mInflater;
-        ArrayList<BaseItem> mItems;
-        
-        ServiceListAdapter(State state) {
-            mState = state;
-            mInflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
-            refreshItems();
-        }
-
-        void refreshItems() {
-            ArrayList<BaseItem> newItems = mState.getCurrentItems();
-            if (mItems != newItems) {
-                mItems = newItems;
-            }
-            if (mItems == null) {
-                mItems = new ArrayList<BaseItem>();
-            }
-        }
-        
-        public boolean hasStableIds() {
-            return true;
-        }
-        
-        public int getCount() {
-            return mItems.size();
-        }
-
-        public Object getItem(int position) {
-            return mItems.get(position);
-        }
-
-        public long getItemId(int position) {
-            return mItems.get(position).hashCode();
-        }
-
-        public boolean areAllItemsEnabled() {
-            return false;
-        }
-
-        public boolean isEnabled(int position) {
-            return !mItems.get(position).mIsProcess;
-        }
-
-        public View getView(int position, View convertView, ViewGroup parent) {
-            View v;
-            if (convertView == null) {
-                v = newView(parent);
-            } else {
-                v = convertView;
-            }
-            bindView(v, position);
-            return v;
-        }
-        
-        public View newView(ViewGroup parent) {
-            View v = mInflater.inflate(R.layout.running_services_item, parent, false);
-            ViewHolder h = new ViewHolder();
-            h.separator = (ImageView)v.findViewById(R.id.separator);
-            h.icon = (ImageView)v.findViewById(R.id.icon);
-            h.name = (TextView)v.findViewById(R.id.name);
-            h.description = (TextView)v.findViewById(R.id.description);
-            h.size = (TextView)v.findViewById(R.id.size);
-            v.setTag(h);
-            return v;
-        }
-        
-        public void bindView(View view, int position) {
-            synchronized (mState.mLock) {
-                ViewHolder vh = (ViewHolder) view.getTag();
-                if (position >= mItems.size()) {
-                    // List must have changed since we last reported its
-                    // size...  ignore here, we will be doing a data changed
-                    // to refresh the entire list.
-                    return;
-                }
-                BaseItem item = mItems.get(position);
-                vh.name.setText(item.mDisplayLabel);
-                vh.separator.setVisibility(item.mNeedDivider
-                        ? View.VISIBLE : View.INVISIBLE);
-                ActiveItem ai = new ActiveItem();
-                ai.mRootView = view;
-                ai.mItem = item;
-                ai.mHolder = vh;
-                ai.mFirstRunTime = item.mActiveSince;
-                vh.description.setText(item.mDescription);
-                if (item.mIsProcess) {
-                    view.setBackgroundColor(mProcessBgColor);
-                    vh.icon.setImageDrawable(null);
-                    vh.icon.setVisibility(View.GONE);
-                    vh.description.setText(item.mDescription);
-                    item.mCurSizeStr = null;
-                } else {
-                    view.setBackgroundDrawable(null);
-                    vh.icon.setImageDrawable(item.mPackageInfo.loadIcon(getPackageManager()));
-                    vh.icon.setVisibility(View.VISIBLE);
-                    vh.description.setText(item.mDescription);
-                    ai.mFirstRunTime = item.mActiveSince;
-                }
-                ai.updateTime(RunningServices.this);
-                mActiveItems.put(view, ai);
-            }
-        }
-    }
-    
-    public static class LinearColorBar extends LinearLayout {
-        private float mRedRatio;
-        private float mYellowRatio;
-        private float mGreenRatio;
-        
-        final Rect mRect = new Rect();
-        final Paint mPaint = new Paint();
-        
-        public LinearColorBar(Context context, AttributeSet attrs) {
-            super(context, attrs);
-            setWillNotDraw(false);
-            mPaint.setStyle(Paint.Style.FILL);
-        }
-
-        public void setRatios(float red, float yellow, float green) {
-            mRedRatio = red;
-            mYellowRatio = yellow;
-            mGreenRatio = green;
-            invalidate();
-        }
-        
-        @Override
-        protected void onDraw(Canvas canvas) {
-            super.onDraw(canvas);
-            
-            int width = getWidth();
-            mRect.top = 0;
-            mRect.bottom = getHeight();
-            
-            int left = 0;
-            
-            int right = left + (int)(width*mRedRatio);
-            if (left < right) {
-                mRect.left = left;
-                mRect.right = right;
-                mPaint.setColor(0xffff8080);
-                canvas.drawRect(mRect, mPaint);
-                width -= (right-left);
-                left = right;
-            }
-            
-            right = left + (int)(width*mYellowRatio);
-            if (left < right) {
-                mRect.left = left;
-                mRect.right = right;
-                mPaint.setColor(0xffffff00);
-                canvas.drawRect(mRect, mPaint);
-                width -= (right-left);
-                left = right;
-            }
-            
-            right = left + width;
-            if (left < right) {
-                mRect.left = left;
-                mRect.right = right;
-                mPaint.setColor(0xff80ff80);
-                canvas.drawRect(mRect, mPaint);
-            }
-        }
-    }
-    
-    HandlerThread mBackgroundThread;
-    final class BackgroundHandler extends Handler {
-        public BackgroundHandler(Looper looper) {
-            super(looper);
-        }
-        
-        @Override
-        public void handleMessage(Message msg) {
-            switch (msg.what) {
-                case MSG_UPDATE_CONTENTS:
-                    Message cmd = mHandler.obtainMessage(MSG_REFRESH_UI);
-                    cmd.arg1 = mState.update(RunningServices.this, mAm) ? 1 : 0;
-                    mHandler.sendMessage(cmd);
-                    removeMessages(MSG_UPDATE_CONTENTS);
-                    msg = obtainMessage(MSG_UPDATE_CONTENTS);
-                    sendMessageDelayed(msg, CONTENTS_UPDATE_DELAY);
-                    break;
-            }
-        }
-    };
-    BackgroundHandler mBackgroundHandler;
-    
-    final Handler mHandler = new Handler() {
-        @Override
-        public void handleMessage(Message msg) {
-            switch (msg.what) {
-                case MSG_UPDATE_TIMES:
-                    Iterator<ActiveItem> it = mActiveItems.values().iterator();
-                    while (it.hasNext()) {
-                        ActiveItem ai = it.next();
-                        if (ai.mRootView.getWindowToken() == null) {
-                            // Clean out any dead views, just in case.
-                            it.remove();
-                            continue;
-                        }
-                        ai.updateTime(RunningServices.this);
-                    }
-                    removeMessages(MSG_UPDATE_TIMES);
-                    msg = obtainMessage(MSG_UPDATE_TIMES);
-                    sendMessageDelayed(msg, TIME_UPDATE_DELAY);
-                    break;
-                case MSG_REFRESH_UI:
-                    refreshUi(msg.arg1 != 0);
-                    break;
-            }
-        }
-    };
-    
-    private boolean matchText(byte[] buffer, int index, String text) {
-        int N = text.length();
-        if ((index+N) >= buffer.length) {
-            return false;
-        }
-        for (int i=0; i<N; i++) {
-            if (buffer[index+i] != text.charAt(i)) {
-                return false;
-            }
-        }
-        return true;
-    }
-    
-    private long extractMemValue(byte[] buffer, int index) {
-        while (index < buffer.length && buffer[index] != '\n') {
-            if (buffer[index] >= '0' && buffer[index] <= '9') {
-                int start = index;
-                index++;
-                while (index < buffer.length && buffer[index] >= '0'
-                    && buffer[index] <= '9') {
-                    index++;
-                }
-                String str = new String(buffer, 0, start, index-start);
-                return ((long)Integer.parseInt(str)) * 1024;
-            }
-            index++;
-        }
-        return 0;
-    }
-    
-    private long readAvailMem() {
-        try {
-            long memFree = 0;
-            long memCached = 0;
-            FileInputStream is = new FileInputStream("/proc/meminfo");
-            int len = is.read(mBuffer);
-            is.close();
-            final int BUFLEN = mBuffer.length;
-            for (int i=0; i<len && (memFree == 0 || memCached == 0); i++) {
-                if (matchText(mBuffer, i, "MemFree")) {
-                    i += 7;
-                    memFree = extractMemValue(mBuffer, i);
-                } else if (matchText(mBuffer, i, "Cached")) {
-                    i += 6;
-                    memCached = extractMemValue(mBuffer, i);
-                }
-                while (i < BUFLEN && mBuffer[i] != '\n') {
-                    i++;
-                }
-            }
-            return memFree + memCached;
-        } catch (java.io.FileNotFoundException e) {
-        } catch (java.io.IOException e) {
-        }
-        return 0;
-    }
-
-    @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        mAm = (ActivityManager)getSystemService(Context.ACTIVITY_SERVICE);
-        mState = (State)getLastNonConfigurationInstance();
-        if (mState == null) {
-            mState = new State();
-        }
-        mProcessBgColor = 0xff505050;
-        setContentView(R.layout.running_services);
-        getListView().setDivider(null);
-        getListView().setAdapter(new ServiceListAdapter(mState));
-        mColorBar = (LinearColorBar)findViewById(R.id.color_bar);
-        mBackgroundProcessText = (TextView)findViewById(R.id.backgroundText);
-        mForegroundProcessText = (TextView)findViewById(R.id.foregroundText);
-        
-        // Magic!  Implementation detail!  Don't count on this!
-        SECONDARY_SERVER_MEM =
-            Integer.valueOf(SystemProperties.get("ro.SECONDARY_SERVER_MEM"))*PAGE_SIZE;
-    }
-
-    void refreshUi(boolean dataChanged) {
-        if (dataChanged) {
-            ServiceListAdapter adapter = (ServiceListAdapter)(getListView().getAdapter());
-            adapter.refreshItems();
-            adapter.notifyDataSetChanged();
-        }
-        
-        // This is the amount of available memory until we start killing
-        // background services.
-        long availMem = readAvailMem() - SECONDARY_SERVER_MEM;
-        if (availMem < 0) {
-            availMem = 0;
-        }
-        
-        synchronized (mState.mLock) {
-            if (mLastNumBackgroundProcesses != mState.mNumBackgroundProcesses
-                    || mLastBackgroundProcessMemory != mState.mBackgroundProcessMemory
-                    || mLastAvailMemory != availMem) {
-                mLastNumBackgroundProcesses = mState.mNumBackgroundProcesses;
-                mLastBackgroundProcessMemory = mState.mBackgroundProcessMemory;
-                mLastAvailMemory = availMem;
-                String availStr = availMem != 0
-                        ? Formatter.formatShortFileSize(this, availMem) : "0";
-                String sizeStr = Formatter.formatShortFileSize(this, mLastBackgroundProcessMemory);
-                mBackgroundProcessText.setText(getResources().getString(
-                        R.string.service_background_processes,
-                        mLastNumBackgroundProcesses, availStr, sizeStr));
-            }
-            if (mLastNumForegroundProcesses != mState.mNumForegroundProcesses
-                    || mLastForegroundProcessMemory != mState.mForegroundProcessMemory) {
-                mLastNumForegroundProcesses = mState.mNumForegroundProcesses;
-                mLastForegroundProcessMemory = mState.mForegroundProcessMemory;
-                String sizeStr = Formatter.formatShortFileSize(this, mLastForegroundProcessMemory);
-                mForegroundProcessText.setText(getResources().getString(
-                        R.string.service_foreground_processes, mLastNumForegroundProcesses, sizeStr));
-            }
-            mLastNumServiceProcesses = mState.mNumServiceProcesses;
-            mLastServiceProcessMemory = mState.mServiceProcessMemory;
-            
-            float totalMem = availMem + mLastBackgroundProcessMemory
-                    + mLastForegroundProcessMemory + mLastServiceProcessMemory;
-            mColorBar.setRatios(mLastForegroundProcessMemory/totalMem,
-                    mLastServiceProcessMemory/totalMem,
-                    (availMem+mLastBackgroundProcessMemory)/totalMem);
-        }
-    }
-    
-    @Override
-    protected void onListItemClick(ListView l, View v, int position, long id) {
-        BaseItem bi = (BaseItem)l.getAdapter().getItem(position);
-        if (!bi.mIsProcess) {
-            ServiceItem si = (ServiceItem)bi;
-            if (si.mRunningService.clientLabel != 0) {
-                mCurSelected = null;
-                PendingIntent pi = mAm.getRunningServiceControlPanel(
-                        si.mRunningService.service);
-                if (pi != null) {
-                    try {
-                        this.startIntentSender(pi.getIntentSender(), null,
-                                Intent.FLAG_ACTIVITY_NEW_TASK
-                                        | Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET,
-                                Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET, 0);
-                    } catch (IntentSender.SendIntentException e) {
-                        Log.w(TAG, e);
-                    } catch (IllegalArgumentException e) {
-                        Log.w(TAG, e);
-                    } catch (ActivityNotFoundException e) {
-                        Log.w(TAG, e);
-                    }
-                }
-            } else {
-                mCurSelected = bi;
-                AlertDialog.Builder builder = new AlertDialog.Builder(this);
-                builder.setTitle(R.string.confirm_stop_service);
-                String msg = getResources().getString(
-                        R.string.confirm_stop_service_msg,
-                        si.mPackageInfo.loadLabel(getPackageManager()));
-                builder.setMessage(msg);
-                builder.setPositiveButton(R.string.confirm_stop_stop, this);
-                builder.setNegativeButton(R.string.confirm_stop_cancel, null);
-                builder.setCancelable(true);
-                mCurDialog = builder.show();
-            }
-        } else {
-            mCurSelected = null;
-        }
-    }
-
-    public void onClick(DialogInterface dialog, int which) {
-        if (mCurSelected != null) {
-            stopService(new Intent().setComponent(
-                    ((ServiceItem)mCurSelected).mRunningService.service));
-            if (mBackgroundHandler != null) {
-                mBackgroundHandler.sendEmptyMessage(MSG_UPDATE_CONTENTS);
-            }
-        }
-    }
-
-    @Override
-    protected void onPause() {
-        super.onPause();
-        mHandler.removeMessages(MSG_UPDATE_TIMES);
-        if (mBackgroundThread != null) {
-            mBackgroundThread.quit();
-            mBackgroundThread = null;
-            mBackgroundHandler = null;
-        }
-    }
-
-    @Override
-    protected void onResume() {
-        super.onResume();
-        refreshUi(mState.update(this, mAm));
-        mBackgroundThread = new HandlerThread("RunningServices");
-        mBackgroundThread.start();
-        mBackgroundHandler = new BackgroundHandler(mBackgroundThread.getLooper());
-        mHandler.removeMessages(MSG_UPDATE_TIMES);
-        Message msg = mHandler.obtainMessage(MSG_UPDATE_TIMES);
-        mHandler.sendMessageDelayed(msg, TIME_UPDATE_DELAY);
-        mBackgroundHandler.removeMessages(MSG_UPDATE_CONTENTS);
-        msg = mBackgroundHandler.obtainMessage(MSG_UPDATE_CONTENTS);
-        mBackgroundHandler.sendMessageDelayed(msg, CONTENTS_UPDATE_DELAY);
-    }
-
-    @Override
-    public Object onRetainNonConfigurationInstance() {
-        return mState;
-    }
-
-    public void onMovedToScrapHeap(View view) {
-        mActiveItems.remove(view);
-    }
-
-    @Override
-    protected void onDestroy() {
-        super.onDestroy();
-        if (mCurDialog != null) {
-            mCurDialog.dismiss();
-        }
-    }
-}
diff --git a/src/com/android/settings/SecuritySettings.java b/src/com/android/settings/SecuritySettings.java
index 1348d48..05a655a 100644
--- a/src/com/android/settings/SecuritySettings.java
+++ b/src/com/android/settings/SecuritySettings.java
@@ -66,6 +66,10 @@
     private static final String KEY_VISIBLE_PATTERN = "visiblepattern";
     private static final String KEY_TACTILE_FEEDBACK_ENABLED = "unlock_tactile_feedback";
 
+    // Encrypted File Systems constants
+    private static final String PROPERTY_EFS_ENABLED = "persist.security.efs.enabled";
+    private static final String PROPERTY_EFS_TRANSITION = "persist.security.efs.trans";
+
     private CheckBoxPreference mVisiblePattern;
     private CheckBoxPreference mTactileFeedback;
 
@@ -80,6 +84,9 @@
     // Credential storage
     private CredentialStorage mCredentialStorage = new CredentialStorage();
 
+    // Encrypted file system
+    private  CheckBoxPreference mEncryptedFSEnabled;
+
     private CheckBoxPreference mNetwork;
     private CheckBoxPreference mGps;
     private CheckBoxPreference mAssistedGps;
@@ -209,6 +216,11 @@
         root.addPreference(credentialsCat);
         mCredentialStorage.createPreferences(credentialsCat, CredentialStorage.TYPE_KEYSTORE);
 
+        // File System Encryption
+        PreferenceCategory encryptedfsCat = new PreferenceCategory(this);
+        encryptedfsCat.setTitle(R.string.encrypted_fs_category);
+        //root.addPreference(encryptedfsCat);
+        mCredentialStorage.createPreferences(encryptedfsCat, CredentialStorage.TYPE_ENCRYPTEDFS);
         return root;
     }
 
@@ -302,18 +314,21 @@
         private static final int MINIMUM_PASSWORD_LENGTH = 8;
 
         private static final int TYPE_KEYSTORE = 0;
+        private static final int TYPE_ENCRYPTEDFS = 1;
 
         // Dialog identifiers
         private static final int DLG_BASE = 0;
         private static final int DLG_UNLOCK = DLG_BASE + 1;
         private static final int DLG_PASSWORD = DLG_UNLOCK + 1;
         private static final int DLG_RESET = DLG_PASSWORD + 1;
+        private static final int DLG_ENABLE_EFS = DLG_RESET + 1;
 
         private KeyStore mKeyStore = KeyStore.getInstance();
         private int mState;
         private boolean mSubmit = false;
         private boolean mExternal = false;
 
+        private boolean mWillEnableEncryptedFS;
         private int mShowingDialog = 0;
 
         // Key Store controls
@@ -322,6 +337,10 @@
         private Preference mPasswordButton;
         private Preference mResetButton;
 
+
+        // Encrypted file system controls
+        private  CheckBoxPreference mEncryptedFSEnabled;
+
         void resume() {
             mState = mKeyStore.test();
             updatePreferences(mState);
@@ -373,6 +392,10 @@
                     lock();
                 }
                 return true;
+            } else if (preference == mEncryptedFSEnabled) {
+                Boolean bval = (Boolean)value;
+                mWillEnableEncryptedFS = bval.booleanValue();
+                showSwitchEncryptedFSDialog();
             }
             return true;
         }
@@ -391,9 +414,26 @@
         }
 
         public void onClick(DialogInterface dialog, int button) {
-            mSubmit = (button == DialogInterface.BUTTON_POSITIVE);
-            if (button == DialogInterface.BUTTON_NEUTRAL) {
-                reset();
+            if (mShowingDialog != DLG_ENABLE_EFS) {
+                mSubmit = (button == DialogInterface.BUTTON_POSITIVE);
+                if (button == DialogInterface.BUTTON_NEUTRAL) {
+                    reset();
+                }
+            } else {
+                if (button == DialogInterface.BUTTON_POSITIVE) {
+                    Intent intent = new Intent("android.intent.action.MASTER_CLEAR");
+                    intent.putExtra("enableEFS", mWillEnableEncryptedFS);
+                    sendBroadcast(intent);
+                    updatePreferences(mState);
+                } else if (button == DialogInterface.BUTTON_NEGATIVE) {
+                    // Cancel action
+                    Toast.makeText(SecuritySettings.this, R.string.encrypted_fs_cancel_confirm,
+                            Toast.LENGTH_SHORT).show();
+                    updatePreferences(mState);
+                } else {
+                    // Unknown - should not happen
+                    return;
+                }
             }
         }
 
@@ -507,16 +547,25 @@
                 category.addPreference(mResetButton);
                 break;
 
+            case TYPE_ENCRYPTEDFS:
+                mEncryptedFSEnabled = new CheckBoxPreference(SecuritySettings.this);
+                mEncryptedFSEnabled.setTitle(R.string.encrypted_fs_enable);
+                mEncryptedFSEnabled.setSummary(R.string.encrypted_fs_enable_summary);
+                mEncryptedFSEnabled.setOnPreferenceChangeListener(this);
+                // category.addPreference(mEncryptedFSEnabled);
+                break;
             }
         }
 
         private void updatePreferences(int state) {
             mAccessCheckBox.setChecked(state == KeyStore.NO_ERROR);
-
-            mResetButton.setEnabled(state != KeyStore.UNINITIALIZED);
-            mAccessCheckBox.setEnabled(state != KeyStore.UNINITIALIZED);
+            boolean encFSEnabled = SystemProperties.getBoolean(PROPERTY_EFS_ENABLED,
+                    false);
+            mResetButton.setEnabled((!encFSEnabled) && (state != KeyStore.UNINITIALIZED));
+            mAccessCheckBox.setEnabled((state != KeyStore.UNINITIALIZED) && (!encFSEnabled));
 
             // Encrypted File system preferences
+            mEncryptedFSEnabled.setChecked(encFSEnabled);
 
             // Show a toast message if the state is changed.
             if (mState == state) {
@@ -586,5 +635,24 @@
                     .setNegativeButton(getString(android.R.string.cancel), this)
                     .create().show();
         }
+
+        private void showSwitchEncryptedFSDialog() {
+            AlertDialog.Builder builder = new AlertDialog.Builder(SecuritySettings.this)
+                    .setCancelable(false)
+                    .setTitle(R.string.encrypted_fs_alert_dialog_title);
+
+            mShowingDialog = DLG_ENABLE_EFS;
+            if (mWillEnableEncryptedFS) {
+                 builder.setMessage(R.string.encrypted_fs_enable_dialog)
+                         .setPositiveButton(R.string.encrypted_fs_enable_button, this)
+                         .setNegativeButton(R.string.encrypted_fs_cancel_button, this)
+                         .create().show();
+            } else {
+                builder.setMessage(R.string.encrypted_fs_disable_dialog)
+                        .setPositiveButton(R.string.encrypted_fs_disable_button, this)
+                        .setNegativeButton(R.string.encrypted_fs_cancel_button, this)
+                        .create().show();
+            }
+        }
     }
 }
diff --git a/src/com/android/settings/InstalledAppDetails.java b/src/com/android/settings/applications/InstalledAppDetails.java
similarity index 98%
rename from src/com/android/settings/InstalledAppDetails.java
rename to src/com/android/settings/applications/InstalledAppDetails.java
index 0ca35b8..92fe9d2 100644
--- a/src/com/android/settings/InstalledAppDetails.java
+++ b/src/com/android/settings/applications/InstalledAppDetails.java
@@ -16,10 +16,14 @@
  * under the License.
  */
 
-package com.android.settings;
+package com.android.settings.applications;
 
 import com.android.internal.content.PackageHelper;
 import com.android.settings.R;
+import com.android.settings.R.id;
+import com.android.settings.R.layout;
+import com.android.settings.R.string;
+
 import android.app.Activity;
 import android.app.ActivityManager;
 import android.app.AlertDialog;
@@ -312,7 +316,7 @@
         
         // Get application's name from intent
         Intent intent = getIntent();
-        final String packageName = intent.getStringExtra(ManageApplications.APP_PKG_NAME);
+        final String packageName = intent.getData().getSchemeSpecificPart();
         if (! initAppInfo(packageName)) {
             return; // could not find package, finish called
         }
diff --git a/src/com/android/settings/ManageApplications.java b/src/com/android/settings/applications/ManageApplications.java
similarity index 93%
rename from src/com/android/settings/ManageApplications.java
rename to src/com/android/settings/applications/ManageApplications.java
index dfff8c9..52ea376 100644
--- a/src/com/android/settings/ManageApplications.java
+++ b/src/com/android/settings/applications/ManageApplications.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.settings;
+package com.android.settings.applications;
 
 import com.android.settings.R;
 
@@ -41,6 +41,7 @@
 import android.os.Handler;
 import android.os.Message;
 import android.os.SystemClock;
+import android.provider.Settings;
 import android.text.format.Formatter;
 import android.util.Log;
 import android.view.LayoutInflater;
@@ -119,7 +120,6 @@
     private static final boolean DEBUG_TIME = false;
     
     // attributes used as keys when passing values to InstalledAppDetails activity
-    public static final String APP_PKG_NAME = "pkg";
     public static final String APP_CHG = "chg";
     
     // attribute name used in receiver for tagging names of added/deleted packages
@@ -140,9 +140,8 @@
     private static final int MENU_OPTIONS_BASE = 0;
     // Filter options used for displayed list of applications
     public static final int FILTER_APPS_ALL = MENU_OPTIONS_BASE + 0;
-    public static final int FILTER_APPS_RUNNING = MENU_OPTIONS_BASE + 1;
-    public static final int FILTER_APPS_THIRD_PARTY = MENU_OPTIONS_BASE + 2;
-    public static final int FILTER_APPS_SDCARD = MENU_OPTIONS_BASE + 3;
+    public static final int FILTER_APPS_THIRD_PARTY = MENU_OPTIONS_BASE + 1;
+    public static final int FILTER_APPS_SDCARD = MENU_OPTIONS_BASE + 2;
 
     public static final int SORT_ORDER_ALPHA = MENU_OPTIONS_BASE + 4;
     public static final int SORT_ORDER_SIZE = MENU_OPTIONS_BASE + 5;
@@ -220,6 +219,8 @@
     private boolean mSizesFirst = false;
     // ListView used to display list
     private ListView mListView;
+    // Custom view used to display running processes
+    private RunningProcessesView mRunningProcessesView;
     // State variables used to figure out menu options and also
     // initiate the first computation and loading of resources
     private boolean mJustCreated = true;
@@ -227,6 +228,14 @@
     private long mLoadTimeStart;
     private boolean mSetListViewLater = true;
     
+    // These are for keeping track of activity and tab switch state.
+    private int mCurView;
+    private boolean mCreatedRunning;
+
+    private boolean mResumedRunning;
+    private boolean mActivityResumed;
+    private Object mNonConfigInstance;
+    
     /*
      * Handler class to handle messages for various operations.
      * Most of the operations that effect Application related data
@@ -268,10 +277,8 @@
             boolean status;
             long size;
             String formattedSize;
-            ApplicationInfo info;
             Bundle data;
             String pkgName = null;
-            AppInfo appInfo;
             data = msg.getData();
             if(data != null) {
                 pkgName = data.getString(ATTR_PKG_NAME);
@@ -359,12 +366,6 @@
                     }
                     break;
                 }
-                try {
-                    info = mPm.getApplicationInfo(pkgName, 0);
-                } catch (NameNotFoundException e) {
-                    Log.w(TAG, "Couldnt find application info for:"+pkgName);
-                    break;
-                }
                 mObserver.invokeGetSizeInfo(pkgName);
                 break;
             case ADD_PKG_DONE:
@@ -456,7 +457,6 @@
             // Set the adapter here.
             mJustCreated = false;
             mListView.setAdapter(mAppInfoAdapter);
-            dismissLoadingMsg();
         }
     }
 
@@ -645,32 +645,6 @@
                 }
             }
             return appList;
-        } else if (filterOption == FILTER_APPS_RUNNING) {
-            List<ApplicationInfo> appList =new ArrayList<ApplicationInfo> ();
-            List<ActivityManager.RunningAppProcessInfo> procList = getRunningAppProcessesList();
-            if ((procList == null) || (procList.size() == 0)) {
-                return appList;
-            }
-            // Retrieve running processes from ActivityManager
-            for (ActivityManager.RunningAppProcessInfo appProcInfo : procList) {
-                if ((appProcInfo != null)  && (appProcInfo.pkgList != null)){
-                    int size = appProcInfo.pkgList.length;
-                    for (int i = 0; i < size; i++) {
-                        ApplicationInfo appInfo = null;
-                        try {
-                            appInfo = mPm.getApplicationInfo(appProcInfo.pkgList[i], 
-                                    PackageManager.GET_UNINSTALLED_PACKAGES);
-                        } catch (NameNotFoundException e) {
-                           Log.w(TAG, "Error retrieving ApplicationInfo for pkg:"+appProcInfo.pkgList[i]);
-                           continue;
-                        }
-                        if(appInfo != null) {
-                            appList.add(appInfo);
-                        }
-                    }
-                }
-            }
-            return appList;
         } else {
             return installedAppList;
         }
@@ -728,31 +702,6 @@
                 }
             }
             return retList;
-        } else if (filterOption == FILTER_APPS_RUNNING) {
-            List<ActivityManager.RunningAppProcessInfo> procList = getRunningAppProcessesList();
-            if ((procList == null) || (procList.size() == 0)) {
-                return retList;
-            }
-            // Retrieve running processes from ActivityManager
-            HashMap<String, ActivityManager.RunningAppProcessInfo> runningMap = 
-                new HashMap<String, ActivityManager.RunningAppProcessInfo>();
-            for (ActivityManager.RunningAppProcessInfo appProcInfo : procList) {
-                if ((appProcInfo != null)  && (appProcInfo.pkgList != null)){
-                    int size = appProcInfo.pkgList.length;
-                    for (int i = 0; i < size; i++) {
-                        runningMap.put(appProcInfo.pkgList[i], appProcInfo);
-                    }
-                }
-            }
-            // Query list to find running processes in current list
-            for (ApplicationInfo appInfo : pAppList) {
-                if (runningMap.get(appInfo.packageName) != null) {
-                    if (matchFilter(filter, filterMap, appInfo.packageName)) {
-                        retList.add(appInfo);
-                    }
-                }
-            }
-            return retList;
         } else {
             for (ApplicationInfo appInfo : pAppList) {
                 if (matchFilter(filter, filterMap, appInfo.packageName)) {
@@ -763,11 +712,6 @@
         }
     }
 
-    private List<ActivityManager.RunningAppProcessInfo> getRunningAppProcessesList() {
-        ActivityManager am = (ActivityManager)getSystemService(Context.ACTIVITY_SERVICE);
-        return am.getRunningAppProcesses();
-    }
-
      // Some initialization code used when kicking off the size computation
     private void initAppList(List<ApplicationInfo> appList, int filterOption) {
         setProgressBarIndeterminateVisibility(true);
@@ -1261,14 +1205,7 @@
 
         private boolean shouldBeInList(int filterOption, ApplicationInfo info) {
             // Match filter here
-            if (filterOption == FILTER_APPS_RUNNING) {
-                List<ApplicationInfo> runningList = getInstalledApps(FILTER_APPS_RUNNING);
-                for (ApplicationInfo running : runningList) {
-                    if (running.packageName.equalsIgnoreCase(info.packageName)) {
-                        return true;
-                    }
-                }
-            } else if (filterOption == FILTER_APPS_THIRD_PARTY) {
+            if (filterOption == FILTER_APPS_THIRD_PARTY) {
                 if ((info.flags & ApplicationInfo.FLAG_SYSTEM) == 0) {
                     return true;
                 } else if ((info.flags & ApplicationInfo.FLAG_UPDATED_SYSTEM_APP) != 0) {
@@ -1611,11 +1548,44 @@
         }
     }
 
+    static final int VIEW_NOTHING = 0;
+    static final int VIEW_LIST = 1;
+    static final int VIEW_RUNNING = 2;
+    
+    private void selectView(int which) {
+        if (mCurView == which) {
+            return;
+        }
+        
+        mCurView = which;
+        
+        if (which == VIEW_LIST) {
+            if (mResumedRunning) {
+                mRunningProcessesView.doPause();
+                mResumedRunning = false;
+            }
+            mRunningProcessesView.setVisibility(View.GONE);
+            mListView.setVisibility(View.VISIBLE);
+        } else if (which == VIEW_RUNNING) {
+            if (!mCreatedRunning) {
+                mRunningProcessesView.doCreate(null, mNonConfigInstance);
+                mCreatedRunning = true;
+            }
+            if (mActivityResumed && !mResumedRunning) {
+                mRunningProcessesView.doResume();
+                mResumedRunning = true;
+            }
+            mRunningProcessesView.setVisibility(View.VISIBLE);
+            mListView.setVisibility(View.GONE);
+        }
+    }
+    
     static final String TAB_DOWNLOADED = "Downloaded";
     static final String TAB_RUNNING = "Running";
     static final String TAB_ALL = "All";
     static final String TAB_SDCARD = "OnSdCard";
     private View mRootView;
+    
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
@@ -1627,18 +1597,31 @@
         Intent intent = getIntent();
         String action = intent.getAction();
         String defaultTabTag = TAB_DOWNLOADED;
+        if (intent.getComponent().getClassName().equals(
+                "com.android.settings.RunningServices")) {
+            defaultTabTag = TAB_RUNNING;
+        }
         if (action.equals(Intent.ACTION_MANAGE_PACKAGE_STORAGE)) {
             mSortOrder = SORT_ORDER_SIZE;
             mFilterApps = FILTER_APPS_ALL;
             defaultTabTag = TAB_ALL;
             mSizesFirst = true;
         }
+        
+        if (savedInstanceState != null) {
+            mSortOrder = savedInstanceState.getInt("sortOrder", mSortOrder);
+            mFilterApps = savedInstanceState.getInt("filterApps", mFilterApps);
+            String tmp = savedInstanceState.getString("defaultTabTag");
+            if (tmp != null) defaultTabTag = tmp;
+            mSizesFirst = savedInstanceState.getBoolean("sizesFirst", mSizesFirst);
+        }
+        
+        mNonConfigInstance = getLastNonConfigurationInstance();
+        
         mPm = getPackageManager();
         // initialize some window features
         requestWindowFeature(Window.FEATURE_RIGHT_ICON);
-        requestWindowFeature(Window.FEATURE_PROGRESS);
         requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
-        showLoadingMsg();
         mDefaultAppIcon = Resources.getSystem().getDrawable(
                 com.android.internal.R.drawable.sym_def_app_icon);
         mInvalidSizeStr = getText(R.string.invalid_size_value);
@@ -1658,6 +1641,8 @@
         lv.setOnItemClickListener(this);
         lv.setTextFilterEnabled(true);
         mListView = lv;
+        mRunningProcessesView = (RunningProcessesView)mRootView.findViewById(
+                R.id.running_processes);
         if (DEBUG_TIME) {
             Log.i(TAG, "Total time in Activity.create:: " +
                     (SystemClock.elapsedRealtime() - sCreate)+ " ms");
@@ -1677,10 +1662,6 @@
                 .setIndicator(getString(R.string.filter_apps_third_party),
                         getResources().getDrawable(R.drawable.ic_tab_download))
                 .setContent(this));
-        tabHost.addTab(tabHost.newTabSpec(TAB_RUNNING)
-                .setIndicator(getString(R.string.filter_apps_running),
-                        getResources().getDrawable(R.drawable.ic_tab_running))
-                .setContent(this));
         tabHost.addTab(tabHost.newTabSpec(TAB_ALL)
                 .setIndicator(getString(R.string.filter_apps_all),
                         getResources().getDrawable(R.drawable.ic_tab_all))
@@ -1689,8 +1670,95 @@
                 .setIndicator(getString(R.string.filter_apps_onsdcard),
                         getResources().getDrawable(R.drawable.ic_tab_sdcard))
                 .setContent(this));
+        tabHost.addTab(tabHost.newTabSpec(TAB_RUNNING)
+                .setIndicator(getString(R.string.filter_apps_running),
+                        getResources().getDrawable(R.drawable.ic_tab_running))
+                .setContent(this));
         tabHost.setCurrentTabByTag(defaultTabTag);
         tabHost.setOnTabChangedListener(this);
+        
+        selectView(TAB_RUNNING.equals(defaultTabTag) ? VIEW_RUNNING : VIEW_LIST);
+    }
+    
+    @Override
+    public void onStart() {
+        super.onStart();
+        // Register receiver
+        mReceiver.registerReceiver();
+        sendMessageToHandler(INIT_PKG_INFO);
+    }
+
+    @Override
+    protected void onResume() {
+        super.onResume();
+        mActivityResumed = true;
+        if (mCurView == VIEW_RUNNING) {
+            mRunningProcessesView.doResume();
+            mResumedRunning = true;
+        }
+    }
+
+    @Override
+    protected void onSaveInstanceState(Bundle outState) {
+        super.onSaveInstanceState(outState);
+        outState.putInt("sortOrder", mSortOrder);
+        outState.putInt("filterApps", mFilterApps);
+        outState.putString("defautTabTag", getTabHost().getCurrentTabTag());
+        outState.putBoolean("sizesFirst", mSizesFirst);
+    }
+
+    @Override
+    public Object onRetainNonConfigurationInstance() {
+        return mRunningProcessesView.doRetainNonConfigurationInstance();
+    }
+    
+    @Override
+    protected void onPause() {
+        super.onPause();
+        mActivityResumed = false;
+        if (mResumedRunning) {
+            mRunningProcessesView.doPause();
+            mResumedRunning = false;
+        }
+    }
+
+    @Override
+    public void onStop() {
+        super.onStop();
+        // Stop the background threads
+        if (mResourceThread != null) {
+            mResourceThread.setAbort();
+        }
+        if (mSizeComputor != null) {
+            mSizeComputor.setAbort();
+        }
+        // clear all messages related to application list
+        clearMessagesInHandler();
+        // register receiver here
+        unregisterReceiver(mReceiver);
+    }
+
+    @Override
+    protected void onActivityResult(int requestCode, int resultCode,
+            Intent data) {
+        if (requestCode == INSTALLED_APP_DETAILS && mCurrentPkgName != null) {
+            // Refresh package attributes
+            try {
+                ApplicationInfo info = mPm.getApplicationInfo(mCurrentPkgName,
+                        PackageManager.GET_UNINSTALLED_PACKAGES);
+            } catch (NameNotFoundException e) {
+                Bundle rData = new Bundle();
+                rData.putString(ATTR_PKG_NAME, mCurrentPkgName);
+                sendMessageToHandler(REMOVE_PKG, rData);
+                mCurrentPkgName = null;
+            }
+        }
+    }
+    
+    // Avoid the restart and pause when orientation changes
+    @Override
+    public void onConfigurationChanged(Configuration newConfig) {
+        super.onConfigurationChanged(newConfig);
     }
     
     @Override
@@ -1700,34 +1768,6 @@
         super.onDestroy();
     }
 
-    @Override
-    public Dialog onCreateDialog(int id, Bundle args) {
-        if (id == DLG_LOADING) {
-            ProgressDialog dlg = new ProgressDialog(this);
-            dlg.setProgressStyle(ProgressDialog.STYLE_SPINNER);
-            dlg.setMessage(getText(R.string.loading));
-            dlg.setIndeterminate(true);        
-            dlg.setOnCancelListener(this);
-            return dlg;
-        }
-        return null;
-    }
-
-    private void showLoadingMsg() {
-        if (DEBUG_TIME) {
-            mLoadTimeStart = SystemClock.elapsedRealtime();
-        }
-        showDialog(DLG_LOADING); 
-        if(localLOGV) Log.i(TAG, "Displaying Loading message");
-    }
-    
-    private void dismissLoadingMsg() {
-        if(localLOGV) Log.i(TAG, "Dismissing Loading message");
-        dismissDialog(DLG_LOADING);
-        if (DEBUG_TIME) Log.i(TAG, "Displayed loading message for "+
-                (SystemClock.elapsedRealtime() - mLoadTimeStart) + " ms");
-    }
-
     class AppInfoCache {
         final static boolean FILE_CACHE = true;
         private static final String mFileCacheName="ManageAppsInfo.txt";
@@ -1923,36 +1963,6 @@
         }
     }
 
-    @Override
-    public void onStart() {
-        super.onStart();
-        // Register receiver
-        mReceiver.registerReceiver();
-        sendMessageToHandler(INIT_PKG_INFO);
-    }
-
-    @Override
-    public void onStop() {
-        super.onStop();
-        // Stop the background threads
-        if (mResourceThread != null) {
-            mResourceThread.setAbort();
-        }
-        if (mSizeComputor != null) {
-            mSizeComputor.setAbort();
-        }
-        // clear all messages related to application list
-        clearMessagesInHandler();
-        // register receiver here
-        unregisterReceiver(mReceiver);
-    }
-    
-    // Avoid the restart and pause when orientation changes
-    @Override
-    public void onConfigurationChanged(Configuration newConfig) {
-        super.onConfigurationChanged(newConfig);
-    }
-    
     /*
      * comparator class used to sort AppInfo objects based on size
      */
@@ -1994,9 +2004,8 @@
     // utility method used to start sub activity
     private void startApplicationDetailsActivity() {
         // Create intent to start new activity
-        Intent intent = new Intent(Intent.ACTION_VIEW);
-        intent.setClass(this, InstalledAppDetails.class);
-        intent.putExtra(APP_PKG_NAME, mCurrentPkgName);
+        Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS,
+                Uri.fromParts("package", mCurrentPkgName, null));
         // start new activity to display extended information
         startActivityForResult(intent, INSTALLED_APP_DETAILS);
     }
@@ -2049,33 +2058,19 @@
         int newOption;
         if (TAB_DOWNLOADED.equalsIgnoreCase(tabId)) {
             newOption = FILTER_APPS_THIRD_PARTY;
-        } else if (TAB_RUNNING.equalsIgnoreCase(tabId)) {
-            newOption = FILTER_APPS_RUNNING;
         } else if (TAB_ALL.equalsIgnoreCase(tabId)) {
             newOption = FILTER_APPS_ALL;
         } else if (TAB_SDCARD.equalsIgnoreCase(tabId)) {
             newOption = FILTER_APPS_SDCARD;
+        } else if (TAB_RUNNING.equalsIgnoreCase(tabId)) {
+            selectView(VIEW_RUNNING);
+            return;
         } else {
             // Invalid option. Do nothing
             return;
         }
+        
+        selectView(VIEW_LIST);
         sendMessageToHandler(REORDER_LIST, newOption);
     }
-
-    @Override
-    protected void onActivityResult(int requestCode, int resultCode,
-            Intent data) {
-        if (requestCode == INSTALLED_APP_DETAILS && mCurrentPkgName != null) {
-            // Refresh package attributes
-            try {
-                ApplicationInfo info = mPm.getApplicationInfo(mCurrentPkgName,
-                        PackageManager.GET_UNINSTALLED_PACKAGES);
-            } catch (NameNotFoundException e) {
-                Bundle rData = new Bundle();
-                rData.putString(ATTR_PKG_NAME, mCurrentPkgName);
-                sendMessageToHandler(REMOVE_PKG, rData);
-                mCurrentPkgName = null;
-            }
-        }
-    }
 }
diff --git a/src/com/android/settings/applications/RunningProcessesView.java b/src/com/android/settings/applications/RunningProcessesView.java
new file mode 100644
index 0000000..9fbae6d
--- /dev/null
+++ b/src/com/android/settings/applications/RunningProcessesView.java
@@ -0,0 +1,548 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.applications;
+
+import com.android.settings.R;
+
+import android.app.ActivityManager;
+import android.app.Dialog;
+import android.content.Context;
+import android.content.Intent;
+import android.graphics.Canvas;
+import android.graphics.Paint;
+import android.graphics.Rect;
+import android.os.Bundle;
+import android.os.Handler;
+import android.os.HandlerThread;
+import android.os.Looper;
+import android.os.Message;
+import android.os.SystemClock;
+import android.os.SystemProperties;
+import android.text.format.DateUtils;
+import android.text.format.Formatter;
+import android.util.AttributeSet;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.AdapterView;
+import android.widget.BaseAdapter;
+import android.widget.FrameLayout;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.ListView;
+import android.widget.TextView;
+
+import java.io.FileInputStream;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+
+public class RunningProcessesView extends FrameLayout
+        implements AdapterView.OnItemClickListener {
+    
+    /** Maximum number of services to retrieve */
+    static final int MAX_SERVICES = 100;
+    
+    static final int MSG_UPDATE_TIMES = 1;
+    static final int MSG_UPDATE_CONTENTS = 2;
+    static final int MSG_REFRESH_UI = 3;
+    
+    static final long TIME_UPDATE_DELAY = 1000;
+    static final long CONTENTS_UPDATE_DELAY = 2000;
+    
+    // Memory pages are 4K.
+    static final long PAGE_SIZE = 4*1024;
+    
+    long SECONDARY_SERVER_MEM;
+    
+    final HashMap<View, ActiveItem> mActiveItems = new HashMap<View, ActiveItem>();
+    
+    ActivityManager mAm;
+    
+    RunningState mState;
+    
+    StringBuilder mBuilder = new StringBuilder(128);
+    
+    RunningState.BaseItem mCurSelected;
+    
+    ListView mListView;
+    LinearColorBar mColorBar;
+    TextView mBackgroundProcessText;
+    TextView mForegroundProcessText;
+    
+    int mLastNumBackgroundProcesses = -1;
+    int mLastNumForegroundProcesses = -1;
+    int mLastNumServiceProcesses = -1;
+    long mLastBackgroundProcessMemory = -1;
+    long mLastForegroundProcessMemory = -1;
+    long mLastServiceProcessMemory = -1;
+    long mLastAvailMemory = -1;
+    
+    Dialog mCurDialog;
+    
+    byte[] mBuffer = new byte[1024];
+    
+    public static class ActiveItem {
+        View mRootView;
+        RunningState.BaseItem mItem;
+        ActivityManager.RunningServiceInfo mService;
+        ViewHolder mHolder;
+        long mFirstRunTime;
+        
+        void updateTime(Context context, StringBuilder builder) {
+            TextView uptimeView = null;
+            
+            if (mItem instanceof RunningState.ServiceItem) {
+                // If we are displaying a service, then the service
+                // uptime goes at the top.
+                uptimeView = mHolder.size;
+                
+            } else {
+                String size = mItem.mSizeStr != null ? mItem.mSizeStr : "";
+                if (!size.equals(mItem.mCurSizeStr)) {
+                    mItem.mCurSizeStr = size;
+                    mHolder.size.setText(size);
+                }
+                
+                if (mItem instanceof RunningState.MergedItem) {
+                    // This item represents both services and proceses,
+                    // so show the service uptime below.
+                    uptimeView = mHolder.uptime;
+                }
+            }
+            
+            if (uptimeView != null) {
+                if (mItem.mActiveSince >= 0) {
+                    uptimeView.setText(DateUtils.formatElapsedTime(builder,
+                            (SystemClock.uptimeMillis()-mFirstRunTime)/1000));
+                } else {
+                    uptimeView.setText(context.getResources().getText(
+                            R.string.service_restarting));
+                }
+            }
+        }
+    }
+    
+    public static class ViewHolder {
+        public View rootView;
+        public ImageView icon;
+        public TextView name;
+        public TextView description;
+        public TextView size;
+        public TextView uptime;
+        
+        public ViewHolder(View v) {
+            rootView = v;
+            icon = (ImageView)v.findViewById(R.id.icon);
+            name = (TextView)v.findViewById(R.id.name);
+            description = (TextView)v.findViewById(R.id.description);
+            size = (TextView)v.findViewById(R.id.size);
+            uptime = (TextView)v.findViewById(R.id.uptime);
+            v.setTag(this);
+        }
+        
+        public ActiveItem bind(RunningState state, RunningState.BaseItem item,
+                StringBuilder builder) {
+            synchronized (state.mLock) {
+                name.setText(item.mDisplayLabel);
+                ActiveItem ai = new ActiveItem();
+                ai.mRootView = rootView;
+                ai.mItem = item;
+                ai.mHolder = this;
+                ai.mFirstRunTime = item.mActiveSince;
+                description.setText(item.mDescription);
+                item.mCurSizeStr = null;
+                icon.setImageDrawable(item.mPackageInfo.loadIcon(
+                        rootView.getContext().getPackageManager()));
+                icon.setVisibility(View.VISIBLE);
+                ai.updateTime(rootView.getContext(), builder);
+                return ai;
+            }
+        }
+    }
+    
+    static class TimeTicker extends TextView {
+        public TimeTicker(Context context, AttributeSet attrs) {
+            super(context, attrs);
+        }
+    }
+    
+    class ServiceListAdapter extends BaseAdapter {
+        final RunningState mState;
+        final LayoutInflater mInflater;
+        ArrayList<RunningState.MergedItem> mItems;
+        
+        ServiceListAdapter(RunningState state) {
+            mState = state;
+            mInflater = (LayoutInflater)getContext().getSystemService(
+                    Context.LAYOUT_INFLATER_SERVICE);
+            refreshItems();
+        }
+
+        void refreshItems() {
+            ArrayList<RunningState.MergedItem> newItems = mState.getCurrentMergedItems();
+            if (mItems != newItems) {
+                mItems = newItems;
+            }
+            if (mItems == null) {
+                mItems = new ArrayList<RunningState.MergedItem>();
+            }
+        }
+        
+        public boolean hasStableIds() {
+            return true;
+        }
+        
+        public int getCount() {
+            return mItems.size();
+        }
+
+        public Object getItem(int position) {
+            return mItems.get(position);
+        }
+
+        public long getItemId(int position) {
+            return mItems.get(position).hashCode();
+        }
+
+        public boolean areAllItemsEnabled() {
+            return false;
+        }
+
+        public boolean isEnabled(int position) {
+            return !mItems.get(position).mIsProcess;
+        }
+
+        public View getView(int position, View convertView, ViewGroup parent) {
+            View v;
+            if (convertView == null) {
+                v = newView(parent);
+            } else {
+                v = convertView;
+            }
+            bindView(v, position);
+            return v;
+        }
+        
+        public View newView(ViewGroup parent) {
+            View v = mInflater.inflate(R.layout.running_processes_item, parent, false);
+            new ViewHolder(v);
+            return v;
+        }
+        
+        public void bindView(View view, int position) {
+            synchronized (mState.mLock) {
+                if (position >= mItems.size()) {
+                    // List must have changed since we last reported its
+                    // size...  ignore here, we will be doing a data changed
+                    // to refresh the entire list.
+                    return;
+                }
+                ViewHolder vh = (ViewHolder) view.getTag();
+                RunningState.MergedItem item = mItems.get(position);
+                ActiveItem ai = vh.bind(mState, item, mBuilder);
+                mActiveItems.put(view, ai);
+            }
+        }
+    }
+    
+    public static class LinearColorBar extends LinearLayout {
+        private float mRedRatio;
+        private float mYellowRatio;
+        private float mGreenRatio;
+        
+        final Rect mRect = new Rect();
+        final Paint mPaint = new Paint();
+        
+        public LinearColorBar(Context context, AttributeSet attrs) {
+            super(context, attrs);
+            setWillNotDraw(false);
+            mPaint.setStyle(Paint.Style.FILL);
+        }
+
+        public void setRatios(float red, float yellow, float green) {
+            mRedRatio = red;
+            mYellowRatio = yellow;
+            mGreenRatio = green;
+            invalidate();
+        }
+        
+        @Override
+        protected void onDraw(Canvas canvas) {
+            super.onDraw(canvas);
+            
+            int width = getWidth();
+            mRect.top = 0;
+            mRect.bottom = getHeight();
+            
+            int left = 0;
+            
+            int right = left + (int)(width*mRedRatio);
+            if (left < right) {
+                mRect.left = left;
+                mRect.right = right;
+                mPaint.setColor(0xffff8080);
+                canvas.drawRect(mRect, mPaint);
+                width -= (right-left);
+                left = right;
+            }
+            
+            right = left + (int)(width*mYellowRatio);
+            if (left < right) {
+                mRect.left = left;
+                mRect.right = right;
+                mPaint.setColor(0xffffff00);
+                canvas.drawRect(mRect, mPaint);
+                width -= (right-left);
+                left = right;
+            }
+            
+            right = left + width;
+            if (left < right) {
+                mRect.left = left;
+                mRect.right = right;
+                mPaint.setColor(0xff80ff80);
+                canvas.drawRect(mRect, mPaint);
+            }
+        }
+    }
+    
+    HandlerThread mBackgroundThread;
+    final class BackgroundHandler extends Handler {
+        public BackgroundHandler(Looper looper) {
+            super(looper);
+        }
+        
+        @Override
+        public void handleMessage(Message msg) {
+            switch (msg.what) {
+                case MSG_UPDATE_CONTENTS:
+                    Message cmd = mHandler.obtainMessage(MSG_REFRESH_UI);
+                    cmd.arg1 = mState.update(getContext(), mAm) ? 1 : 0;
+                    mHandler.sendMessage(cmd);
+                    removeMessages(MSG_UPDATE_CONTENTS);
+                    msg = obtainMessage(MSG_UPDATE_CONTENTS);
+                    sendMessageDelayed(msg, CONTENTS_UPDATE_DELAY);
+                    break;
+            }
+        }
+    };
+
+    BackgroundHandler mBackgroundHandler;
+    
+    final Handler mHandler = new Handler() {
+        @Override
+        public void handleMessage(Message msg) {
+            switch (msg.what) {
+                case MSG_UPDATE_TIMES:
+                    Iterator<ActiveItem> it = mActiveItems.values().iterator();
+                    while (it.hasNext()) {
+                        ActiveItem ai = it.next();
+                        if (ai.mRootView.getWindowToken() == null) {
+                            // Clean out any dead views, just in case.
+                            it.remove();
+                            continue;
+                        }
+                        ai.updateTime(getContext(), mBuilder);
+                    }
+                    removeMessages(MSG_UPDATE_TIMES);
+                    msg = obtainMessage(MSG_UPDATE_TIMES);
+                    sendMessageDelayed(msg, TIME_UPDATE_DELAY);
+                    break;
+                case MSG_REFRESH_UI:
+                    refreshUi(msg.arg1 != 0);
+                    break;
+            }
+        }
+    };
+    
+    private boolean matchText(byte[] buffer, int index, String text) {
+        int N = text.length();
+        if ((index+N) >= buffer.length) {
+            return false;
+        }
+        for (int i=0; i<N; i++) {
+            if (buffer[index+i] != text.charAt(i)) {
+                return false;
+            }
+        }
+        return true;
+    }
+    
+    private long extractMemValue(byte[] buffer, int index) {
+        while (index < buffer.length && buffer[index] != '\n') {
+            if (buffer[index] >= '0' && buffer[index] <= '9') {
+                int start = index;
+                index++;
+                while (index < buffer.length && buffer[index] >= '0'
+                    && buffer[index] <= '9') {
+                    index++;
+                }
+                String str = new String(buffer, 0, start, index-start);
+                return ((long)Integer.parseInt(str)) * 1024;
+            }
+            index++;
+        }
+        return 0;
+    }
+    
+    private long readAvailMem() {
+        try {
+            long memFree = 0;
+            long memCached = 0;
+            FileInputStream is = new FileInputStream("/proc/meminfo");
+            int len = is.read(mBuffer);
+            is.close();
+            final int BUFLEN = mBuffer.length;
+            for (int i=0; i<len && (memFree == 0 || memCached == 0); i++) {
+                if (matchText(mBuffer, i, "MemFree")) {
+                    i += 7;
+                    memFree = extractMemValue(mBuffer, i);
+                } else if (matchText(mBuffer, i, "Cached")) {
+                    i += 6;
+                    memCached = extractMemValue(mBuffer, i);
+                }
+                while (i < BUFLEN && mBuffer[i] != '\n') {
+                    i++;
+                }
+            }
+            return memFree + memCached;
+        } catch (java.io.FileNotFoundException e) {
+        } catch (java.io.IOException e) {
+        }
+        return 0;
+    }
+
+    
+    void refreshUi(boolean dataChanged) {
+        if (dataChanged) {
+            ServiceListAdapter adapter = (ServiceListAdapter)(mListView.getAdapter());
+            adapter.refreshItems();
+            adapter.notifyDataSetChanged();
+        }
+        
+        // This is the amount of available memory until we start killing
+        // background services.
+        long availMem = readAvailMem() - SECONDARY_SERVER_MEM;
+        if (availMem < 0) {
+            availMem = 0;
+        }
+        
+        synchronized (mState.mLock) {
+            if (mLastNumBackgroundProcesses != mState.mNumBackgroundProcesses
+                    || mLastBackgroundProcessMemory != mState.mBackgroundProcessMemory
+                    || mLastAvailMemory != availMem) {
+                mLastNumBackgroundProcesses = mState.mNumBackgroundProcesses;
+                mLastBackgroundProcessMemory = mState.mBackgroundProcessMemory;
+                mLastAvailMemory = availMem;
+                String sizeStr = Formatter.formatShortFileSize(getContext(),
+                        mLastAvailMemory + mLastBackgroundProcessMemory);
+                mBackgroundProcessText.setText(getResources().getString(
+                        R.string.service_background_processes, sizeStr));
+            }
+            if (mLastNumForegroundProcesses != mState.mNumForegroundProcesses
+                    || mLastForegroundProcessMemory != mState.mForegroundProcessMemory
+                    || mLastNumServiceProcesses != mState.mNumServiceProcesses
+                    || mLastServiceProcessMemory != mState.mServiceProcessMemory) {
+                mLastNumForegroundProcesses = mState.mNumForegroundProcesses;
+                mLastForegroundProcessMemory = mState.mForegroundProcessMemory;
+                mLastNumServiceProcesses = mState.mNumServiceProcesses;
+                mLastServiceProcessMemory = mState.mServiceProcessMemory;
+                String sizeStr = Formatter.formatShortFileSize(getContext(),
+                        mLastForegroundProcessMemory + mLastServiceProcessMemory);
+                mForegroundProcessText.setText(getResources().getString(
+                        R.string.service_foreground_processes, sizeStr));
+            }
+            
+            float totalMem = availMem + mLastBackgroundProcessMemory
+                    + mLastForegroundProcessMemory + mLastServiceProcessMemory;
+            mColorBar.setRatios(mLastForegroundProcessMemory/totalMem,
+                    mLastServiceProcessMemory/totalMem,
+                    (availMem+mLastBackgroundProcessMemory)/totalMem);
+        }
+    }
+    
+    public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
+        ListView l = (ListView)parent;
+        RunningState.MergedItem mi = (RunningState.MergedItem)l.getAdapter().getItem(position);
+        mCurSelected = mi;
+        Intent intent = new Intent();
+        intent.putExtra(RunningServiceDetails.KEY_UID, mi.mProcess.mUid);
+        intent.putExtra(RunningServiceDetails.KEY_PROCESS, mi.mProcess.mProcessName);
+        intent.setClass(getContext(), RunningServiceDetails.class);
+        getContext().startActivity(intent);
+    }
+
+    public void onMovedToScrapHeap(View view) {
+        mActiveItems.remove(view);
+    }
+
+    public RunningProcessesView(Context context, AttributeSet attrs) {
+        super(context, attrs);
+    }
+    
+    public void doCreate(Bundle savedInstanceState, Object nonConfigurationInstace) {
+        mAm = (ActivityManager)getContext().getSystemService(Context.ACTIVITY_SERVICE);
+        mState = (RunningState)nonConfigurationInstace;
+        if (mState == null) {
+            mState = new RunningState();
+        }
+        LayoutInflater inflater = (LayoutInflater)getContext().getSystemService(
+                Context.LAYOUT_INFLATER_SERVICE);
+        inflater.inflate(R.layout.running_processes_view, this);
+        mListView = (ListView)findViewById(android.R.id.list);
+        View emptyView = findViewById(com.android.internal.R.id.empty);
+        if (emptyView != null) {
+            mListView.setEmptyView(emptyView);
+        }
+        mListView.setOnItemClickListener(this);
+        mListView.setAdapter(new ServiceListAdapter(mState));
+        mColorBar = (LinearColorBar)findViewById(R.id.color_bar);
+        mBackgroundProcessText = (TextView)findViewById(R.id.backgroundText);
+        mForegroundProcessText = (TextView)findViewById(R.id.foregroundText);
+        
+        // Magic!  Implementation detail!  Don't count on this!
+        SECONDARY_SERVER_MEM =
+            Integer.valueOf(SystemProperties.get("ro.SECONDARY_SERVER_MEM"))*PAGE_SIZE;
+    }
+    
+    public void doPause() {
+        mHandler.removeMessages(MSG_UPDATE_TIMES);
+        if (mBackgroundThread != null) {
+            mBackgroundThread.quit();
+            mBackgroundThread = null;
+            mBackgroundHandler = null;
+        }
+    }
+
+    public void doResume() {
+        refreshUi(mState.update(getContext(), mAm));
+        mBackgroundThread = new HandlerThread("RunningServices");
+        mBackgroundThread.start();
+        mBackgroundHandler = new BackgroundHandler(mBackgroundThread.getLooper());
+        mHandler.removeMessages(MSG_UPDATE_TIMES);
+        Message msg = mHandler.obtainMessage(MSG_UPDATE_TIMES);
+        mHandler.sendMessageDelayed(msg, TIME_UPDATE_DELAY);
+        mBackgroundHandler.removeMessages(MSG_UPDATE_CONTENTS);
+        msg = mBackgroundHandler.obtainMessage(MSG_UPDATE_CONTENTS);
+        mBackgroundHandler.sendMessageDelayed(msg, CONTENTS_UPDATE_DELAY);
+    }
+
+    public Object doRetainNonConfigurationInstance() {
+        return mState;
+    }
+}
diff --git a/src/com/android/settings/applications/RunningProcessesViewOld.java b/src/com/android/settings/applications/RunningProcessesViewOld.java
new file mode 100644
index 0000000..dc7302c
--- /dev/null
+++ b/src/com/android/settings/applications/RunningProcessesViewOld.java
@@ -0,0 +1,538 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.applications;
+
+import com.android.settings.R;
+
+import android.app.ActivityManager;
+import android.app.AlertDialog;
+import android.app.Dialog;
+import android.app.PendingIntent;
+import android.content.ActivityNotFoundException;
+import android.content.Context;
+import android.content.DialogInterface;
+import android.content.Intent;
+import android.content.IntentSender;
+import android.graphics.Canvas;
+import android.graphics.Paint;
+import android.graphics.Rect;
+import android.os.Bundle;
+import android.os.Handler;
+import android.os.HandlerThread;
+import android.os.Looper;
+import android.os.Message;
+import android.os.SystemClock;
+import android.os.SystemProperties;
+import android.text.format.DateUtils;
+import android.text.format.Formatter;
+import android.util.AttributeSet;
+import android.util.Log;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.AbsListView;
+import android.widget.AdapterView;
+import android.widget.BaseAdapter;
+import android.widget.FrameLayout;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.ListView;
+import android.widget.TextView;
+
+import java.io.FileInputStream;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+
+public class RunningProcessesViewOld extends FrameLayout
+        implements AdapterView.OnItemClickListener {
+    
+    static final String TAG = "RunningServices";
+    
+    /** Maximum number of services to retrieve */
+    static final int MAX_SERVICES = 100;
+    
+    static final int MSG_UPDATE_TIMES = 1;
+    static final int MSG_UPDATE_CONTENTS = 2;
+    static final int MSG_REFRESH_UI = 3;
+    
+    static final long TIME_UPDATE_DELAY = 1000;
+    static final long CONTENTS_UPDATE_DELAY = 2000;
+    
+    // Memory pages are 4K.
+    static final long PAGE_SIZE = 4*1024;
+    
+    long SECONDARY_SERVER_MEM;
+    
+    final HashMap<View, ActiveItem> mActiveItems = new HashMap<View, ActiveItem>();
+    
+    ActivityManager mAm;
+    
+    RunningState mState;
+    
+    StringBuilder mBuilder = new StringBuilder(128);
+    
+    RunningState.BaseItem mCurSelected;
+    
+    int mProcessBgColor;
+    
+    ListView mListView;
+    LinearColorBar mColorBar;
+    TextView mBackgroundProcessText;
+    TextView mForegroundProcessText;
+    
+    int mLastNumBackgroundProcesses = -1;
+    int mLastNumForegroundProcesses = -1;
+    int mLastNumServiceProcesses = -1;
+    long mLastBackgroundProcessMemory = -1;
+    long mLastForegroundProcessMemory = -1;
+    long mLastServiceProcessMemory = -1;
+    long mLastAvailMemory = -1;
+    
+    Dialog mCurDialog;
+    
+    byte[] mBuffer = new byte[1024];
+    
+    class ActiveItem {
+        View mRootView;
+        RunningState.BaseItem mItem;
+        ActivityManager.RunningServiceInfo mService;
+        ViewHolder mHolder;
+        long mFirstRunTime;
+        
+        void updateTime(Context context) {
+            if (mItem.mIsProcess) {
+                String size = mItem.mSizeStr != null ? mItem.mSizeStr : "";
+                if (!size.equals(mItem.mCurSizeStr)) {
+                    mItem.mCurSizeStr = size;
+                    mHolder.size.setText(size);
+                }
+            } else {
+                if (mItem.mActiveSince >= 0) {
+                    mHolder.size.setText(DateUtils.formatElapsedTime(mBuilder,
+                            (SystemClock.uptimeMillis()-mFirstRunTime)/1000));
+                } else {
+                    mHolder.size.setText(context.getResources().getText(
+                            R.string.service_restarting));
+                }
+            }
+        }
+    }
+    
+    static class ViewHolder {
+        ImageView separator;
+        ImageView icon;
+        TextView name;
+        TextView description;
+        TextView size;
+    }
+    
+    static class TimeTicker extends TextView {
+        public TimeTicker(Context context, AttributeSet attrs) {
+            super(context, attrs);
+        }
+    }
+    
+    class ServiceListAdapter extends BaseAdapter {
+        final RunningState mState;
+        final LayoutInflater mInflater;
+        ArrayList<RunningState.BaseItem> mItems;
+        
+        ServiceListAdapter(RunningState state) {
+            mState = state;
+            mInflater = (LayoutInflater)getContext().getSystemService(
+                    Context.LAYOUT_INFLATER_SERVICE);
+            refreshItems();
+        }
+
+        void refreshItems() {
+            ArrayList<RunningState.BaseItem> newItems = mState.getCurrentItems();
+            if (mItems != newItems) {
+                mItems = newItems;
+            }
+            if (mItems == null) {
+                mItems = new ArrayList<RunningState.BaseItem>();
+            }
+        }
+        
+        public boolean hasStableIds() {
+            return true;
+        }
+        
+        public int getCount() {
+            return mItems.size();
+        }
+
+        public Object getItem(int position) {
+            return mItems.get(position);
+        }
+
+        public long getItemId(int position) {
+            return mItems.get(position).hashCode();
+        }
+
+        public boolean areAllItemsEnabled() {
+            return false;
+        }
+
+        public boolean isEnabled(int position) {
+            return !mItems.get(position).mIsProcess;
+        }
+
+        public View getView(int position, View convertView, ViewGroup parent) {
+            View v;
+            if (convertView == null) {
+                v = newView(parent);
+            } else {
+                v = convertView;
+            }
+            bindView(v, position);
+            return v;
+        }
+        
+        public View newView(ViewGroup parent) {
+            View v = mInflater.inflate(R.layout.running_services_item, parent, false);
+            ViewHolder h = new ViewHolder();
+            h.separator = (ImageView)v.findViewById(R.id.separator);
+            h.icon = (ImageView)v.findViewById(R.id.icon);
+            h.name = (TextView)v.findViewById(R.id.name);
+            h.description = (TextView)v.findViewById(R.id.description);
+            h.size = (TextView)v.findViewById(R.id.size);
+            v.setTag(h);
+            return v;
+        }
+        
+        public void bindView(View view, int position) {
+            synchronized (mState.mLock) {
+                ViewHolder vh = (ViewHolder) view.getTag();
+                if (position >= mItems.size()) {
+                    // List must have changed since we last reported its
+                    // size...  ignore here, we will be doing a data changed
+                    // to refresh the entire list.
+                    return;
+                }
+                RunningState.BaseItem item = mItems.get(position);
+                vh.name.setText(item.mDisplayLabel);
+                vh.separator.setVisibility(item.mNeedDivider
+                        ? View.VISIBLE : View.INVISIBLE);
+                ActiveItem ai = new ActiveItem();
+                ai.mRootView = view;
+                ai.mItem = item;
+                ai.mHolder = vh;
+                ai.mFirstRunTime = item.mActiveSince;
+                vh.description.setText(item.mDescription);
+                if (item.mIsProcess) {
+                    view.setBackgroundColor(mProcessBgColor);
+                    vh.icon.setImageDrawable(null);
+                    vh.icon.setVisibility(View.GONE);
+                    vh.description.setText(item.mDescription);
+                    item.mCurSizeStr = null;
+                } else {
+                    view.setBackgroundDrawable(null);
+                    vh.icon.setImageDrawable(item.mPackageInfo.loadIcon(
+                            getContext().getPackageManager()));
+                    vh.icon.setVisibility(View.VISIBLE);
+                    vh.description.setText(item.mDescription);
+                    ai.mFirstRunTime = item.mActiveSince;
+                }
+                ai.updateTime(getContext());
+                mActiveItems.put(view, ai);
+            }
+        }
+    }
+    
+    public static class LinearColorBar extends LinearLayout {
+        private float mRedRatio;
+        private float mYellowRatio;
+        private float mGreenRatio;
+        
+        final Rect mRect = new Rect();
+        final Paint mPaint = new Paint();
+        
+        public LinearColorBar(Context context, AttributeSet attrs) {
+            super(context, attrs);
+            setWillNotDraw(false);
+            mPaint.setStyle(Paint.Style.FILL);
+        }
+
+        public void setRatios(float red, float yellow, float green) {
+            mRedRatio = red;
+            mYellowRatio = yellow;
+            mGreenRatio = green;
+            invalidate();
+        }
+        
+        @Override
+        protected void onDraw(Canvas canvas) {
+            super.onDraw(canvas);
+            
+            int width = getWidth();
+            mRect.top = 0;
+            mRect.bottom = getHeight();
+            
+            int left = 0;
+            
+            int right = left + (int)(width*mRedRatio);
+            if (left < right) {
+                mRect.left = left;
+                mRect.right = right;
+                mPaint.setColor(0xffff8080);
+                canvas.drawRect(mRect, mPaint);
+                width -= (right-left);
+                left = right;
+            }
+            
+            right = left + (int)(width*mYellowRatio);
+            if (left < right) {
+                mRect.left = left;
+                mRect.right = right;
+                mPaint.setColor(0xffffff00);
+                canvas.drawRect(mRect, mPaint);
+                width -= (right-left);
+                left = right;
+            }
+            
+            right = left + width;
+            if (left < right) {
+                mRect.left = left;
+                mRect.right = right;
+                mPaint.setColor(0xff80ff80);
+                canvas.drawRect(mRect, mPaint);
+            }
+        }
+    }
+    
+    HandlerThread mBackgroundThread;
+    final class BackgroundHandler extends Handler {
+        public BackgroundHandler(Looper looper) {
+            super(looper);
+        }
+        
+        @Override
+        public void handleMessage(Message msg) {
+            switch (msg.what) {
+                case MSG_UPDATE_CONTENTS:
+                    Message cmd = mHandler.obtainMessage(MSG_REFRESH_UI);
+                    cmd.arg1 = mState.update(getContext(), mAm) ? 1 : 0;
+                    mHandler.sendMessage(cmd);
+                    removeMessages(MSG_UPDATE_CONTENTS);
+                    msg = obtainMessage(MSG_UPDATE_CONTENTS);
+                    sendMessageDelayed(msg, CONTENTS_UPDATE_DELAY);
+                    break;
+            }
+        }
+    };
+
+    BackgroundHandler mBackgroundHandler;
+    
+    final Handler mHandler = new Handler() {
+        @Override
+        public void handleMessage(Message msg) {
+            switch (msg.what) {
+                case MSG_UPDATE_TIMES:
+                    Iterator<ActiveItem> it = mActiveItems.values().iterator();
+                    while (it.hasNext()) {
+                        ActiveItem ai = it.next();
+                        if (ai.mRootView.getWindowToken() == null) {
+                            // Clean out any dead views, just in case.
+                            it.remove();
+                            continue;
+                        }
+                        ai.updateTime(getContext());
+                    }
+                    removeMessages(MSG_UPDATE_TIMES);
+                    msg = obtainMessage(MSG_UPDATE_TIMES);
+                    sendMessageDelayed(msg, TIME_UPDATE_DELAY);
+                    break;
+                case MSG_REFRESH_UI:
+                    refreshUi(msg.arg1 != 0);
+                    break;
+            }
+        }
+    };
+    
+    private boolean matchText(byte[] buffer, int index, String text) {
+        int N = text.length();
+        if ((index+N) >= buffer.length) {
+            return false;
+        }
+        for (int i=0; i<N; i++) {
+            if (buffer[index+i] != text.charAt(i)) {
+                return false;
+            }
+        }
+        return true;
+    }
+    
+    private long extractMemValue(byte[] buffer, int index) {
+        while (index < buffer.length && buffer[index] != '\n') {
+            if (buffer[index] >= '0' && buffer[index] <= '9') {
+                int start = index;
+                index++;
+                while (index < buffer.length && buffer[index] >= '0'
+                    && buffer[index] <= '9') {
+                    index++;
+                }
+                String str = new String(buffer, 0, start, index-start);
+                return ((long)Integer.parseInt(str)) * 1024;
+            }
+            index++;
+        }
+        return 0;
+    }
+    
+    private long readAvailMem() {
+        try {
+            long memFree = 0;
+            long memCached = 0;
+            FileInputStream is = new FileInputStream("/proc/meminfo");
+            int len = is.read(mBuffer);
+            is.close();
+            final int BUFLEN = mBuffer.length;
+            for (int i=0; i<len && (memFree == 0 || memCached == 0); i++) {
+                if (matchText(mBuffer, i, "MemFree")) {
+                    i += 7;
+                    memFree = extractMemValue(mBuffer, i);
+                } else if (matchText(mBuffer, i, "Cached")) {
+                    i += 6;
+                    memCached = extractMemValue(mBuffer, i);
+                }
+                while (i < BUFLEN && mBuffer[i] != '\n') {
+                    i++;
+                }
+            }
+            return memFree + memCached;
+        } catch (java.io.FileNotFoundException e) {
+        } catch (java.io.IOException e) {
+        }
+        return 0;
+    }
+
+    
+    void refreshUi(boolean dataChanged) {
+        if (dataChanged) {
+            ServiceListAdapter adapter = (ServiceListAdapter)(mListView.getAdapter());
+            adapter.refreshItems();
+            adapter.notifyDataSetChanged();
+        }
+        
+        // This is the amount of available memory until we start killing
+        // background services.
+        long availMem = readAvailMem() - SECONDARY_SERVER_MEM;
+        if (availMem < 0) {
+            availMem = 0;
+        }
+        
+        synchronized (mState.mLock) {
+            if (mLastNumBackgroundProcesses != mState.mNumBackgroundProcesses
+                    || mLastBackgroundProcessMemory != mState.mBackgroundProcessMemory
+                    || mLastAvailMemory != availMem) {
+                mLastNumBackgroundProcesses = mState.mNumBackgroundProcesses;
+                mLastBackgroundProcessMemory = mState.mBackgroundProcessMemory;
+                mLastAvailMemory = availMem;
+                String sizeStr = Formatter.formatShortFileSize(getContext(),
+                        mLastAvailMemory + mLastBackgroundProcessMemory);
+                mBackgroundProcessText.setText(getResources().getString(
+                        R.string.service_background_processes, sizeStr));
+            }
+            if (mLastNumForegroundProcesses != mState.mNumForegroundProcesses
+                    || mLastForegroundProcessMemory != mState.mForegroundProcessMemory) {
+                mLastNumForegroundProcesses = mState.mNumForegroundProcesses;
+                mLastForegroundProcessMemory = mState.mForegroundProcessMemory;
+                String sizeStr = Formatter.formatShortFileSize(getContext(),
+                        mLastForegroundProcessMemory);
+                mForegroundProcessText.setText(getResources().getString(
+                        R.string.service_foreground_processes, sizeStr));
+            }
+            mLastNumServiceProcesses = mState.mNumServiceProcesses;
+            mLastServiceProcessMemory = mState.mServiceProcessMemory;
+            
+            float totalMem = availMem + mLastBackgroundProcessMemory
+                    + mLastForegroundProcessMemory + mLastServiceProcessMemory;
+            mColorBar.setRatios(mLastForegroundProcessMemory/totalMem,
+                    mLastServiceProcessMemory/totalMem,
+                    (availMem+mLastBackgroundProcessMemory)/totalMem);
+        }
+    }
+    
+    public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
+        ListView l = (ListView)parent;
+        RunningState.BaseItem bi = (RunningState.BaseItem)l.getAdapter().getItem(position);
+        mCurSelected = bi;
+    }
+
+    public void onMovedToScrapHeap(View view) {
+        mActiveItems.remove(view);
+    }
+
+    public RunningProcessesViewOld(Context context, AttributeSet attrs) {
+        super(context, attrs);
+    }
+    
+    public void doCreate(Bundle savedInstanceState, Object nonConfigurationInstace) {
+        mAm = (ActivityManager)getContext().getSystemService(Context.ACTIVITY_SERVICE);
+        mState = (RunningState)nonConfigurationInstace;
+        if (mState == null) {
+            mState = new RunningState();
+        }
+        mProcessBgColor = 0xff505050;
+        LayoutInflater inflater = (LayoutInflater)getContext().getSystemService(
+                Context.LAYOUT_INFLATER_SERVICE);
+        inflater.inflate(R.layout.running_processes_view, this);
+        mListView = (ListView)findViewById(android.R.id.list);
+        View emptyView = findViewById(com.android.internal.R.id.empty);
+        if (emptyView != null) {
+            mListView.setEmptyView(emptyView);
+        }
+        mListView.setOnItemClickListener(this);
+        mListView.setDivider(null);
+        mListView.setAdapter(new ServiceListAdapter(mState));
+        mColorBar = (LinearColorBar)findViewById(R.id.color_bar);
+        mBackgroundProcessText = (TextView)findViewById(R.id.backgroundText);
+        mForegroundProcessText = (TextView)findViewById(R.id.foregroundText);
+        
+        // Magic!  Implementation detail!  Don't count on this!
+        SECONDARY_SERVER_MEM =
+            Integer.valueOf(SystemProperties.get("ro.SECONDARY_SERVER_MEM"))*PAGE_SIZE;
+    }
+    
+    public void doPause() {
+        mHandler.removeMessages(MSG_UPDATE_TIMES);
+        if (mBackgroundThread != null) {
+            mBackgroundThread.quit();
+            mBackgroundThread = null;
+            mBackgroundHandler = null;
+        }
+    }
+
+    public void doResume() {
+        refreshUi(mState.update(getContext(), mAm));
+        mBackgroundThread = new HandlerThread("RunningServices");
+        mBackgroundThread.start();
+        mBackgroundHandler = new BackgroundHandler(mBackgroundThread.getLooper());
+        mHandler.removeMessages(MSG_UPDATE_TIMES);
+        Message msg = mHandler.obtainMessage(MSG_UPDATE_TIMES);
+        mHandler.sendMessageDelayed(msg, TIME_UPDATE_DELAY);
+        mBackgroundHandler.removeMessages(MSG_UPDATE_CONTENTS);
+        msg = mBackgroundHandler.obtainMessage(MSG_UPDATE_CONTENTS);
+        mBackgroundHandler.sendMessageDelayed(msg, CONTENTS_UPDATE_DELAY);
+    }
+
+    public Object doRetainNonConfigurationInstance() {
+        return mState;
+    }
+}
diff --git a/src/com/android/settings/applications/RunningServiceDetails.java b/src/com/android/settings/applications/RunningServiceDetails.java
new file mode 100644
index 0000000..f33625e
--- /dev/null
+++ b/src/com/android/settings/applications/RunningServiceDetails.java
@@ -0,0 +1,390 @@
+package com.android.settings.applications;
+
+import com.android.settings.R;
+
+import android.app.Activity;
+import android.app.ActivityManager;
+import android.app.PendingIntent;
+import android.content.ActivityNotFoundException;
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentSender;
+import android.content.pm.PackageManager;
+import android.content.pm.ProviderInfo;
+import android.content.pm.ServiceInfo;
+import android.content.pm.PackageManager.NameNotFoundException;
+import android.content.res.Resources;
+import android.os.Bundle;
+import android.os.Handler;
+import android.os.HandlerThread;
+import android.os.Looper;
+import android.os.Message;
+import android.util.Log;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class RunningServiceDetails extends Activity {
+    static final String TAG = "RunningServicesDetails";
+    
+    static final String KEY_UID = "uid";
+    static final String KEY_PROCESS = "process";
+    
+    static final int MSG_UPDATE_TIMES = 1;
+    static final int MSG_UPDATE_CONTENTS = 2;
+    static final int MSG_REFRESH_UI = 3;
+    
+    ActivityManager mAm;
+    LayoutInflater mInflater;
+    
+    RunningState mState;
+    
+    int mUid;
+    String mProcessName;
+    
+    RunningState.MergedItem mMergedItem;
+    
+    ViewGroup mAllDetails;
+    ViewGroup mSnippet;
+    RunningProcessesView.ActiveItem mSnippetActiveItem;
+    RunningProcessesView.ViewHolder mSnippetViewHolder;
+    
+    TextView mServicesHeader;
+    TextView mProcessesHeader;
+    final ArrayList<ActiveDetail> mActiveDetails = new ArrayList<ActiveDetail>();
+    
+    class ActiveDetail implements View.OnClickListener {
+        View mRootView;
+        RunningProcessesView.ActiveItem mActiveItem;
+        RunningProcessesView.ViewHolder mViewHolder;
+        PendingIntent mManageIntent;
+
+        public void onClick(View v) {
+            if (mManageIntent != null) {
+                try {
+                    startIntentSender(mManageIntent.getIntentSender(), null,
+                            Intent.FLAG_ACTIVITY_NEW_TASK
+                                    | Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET,
+                            Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET, 0);
+                } catch (IntentSender.SendIntentException e) {
+                    Log.w(TAG, e);
+                } catch (IllegalArgumentException e) {
+                    Log.w(TAG, e);
+                } catch (ActivityNotFoundException e) {
+                    Log.w(TAG, e);
+                }
+            } else {
+                RunningState.ServiceItem si = (RunningState.ServiceItem)mActiveItem.mItem;
+                stopService(new Intent().setComponent(si.mRunningService.service));
+                if (mMergedItem == null || mMergedItem.mServices.size() <= 1) {
+                    // If there was only one service, we are finishing it,
+                    // so no reason for the UI to stick around.
+                    finish();
+                } else {
+                    if (mBackgroundHandler != null) {
+                        mBackgroundHandler.sendEmptyMessage(MSG_UPDATE_CONTENTS);
+                    }
+                }
+            }
+        }
+    }
+    
+    StringBuilder mBuilder = new StringBuilder(128);
+    
+    HandlerThread mBackgroundThread;
+    final class BackgroundHandler extends Handler {
+        public BackgroundHandler(Looper looper) {
+            super(looper);
+        }
+        
+        @Override
+        public void handleMessage(Message msg) {
+            switch (msg.what) {
+                case MSG_UPDATE_CONTENTS:
+                    Message cmd = mHandler.obtainMessage(MSG_REFRESH_UI);
+                    cmd.arg1 = mState.update(RunningServiceDetails.this, mAm) ? 1 : 0;
+                    mHandler.sendMessage(cmd);
+                    removeMessages(MSG_UPDATE_CONTENTS);
+                    msg = obtainMessage(MSG_UPDATE_CONTENTS);
+                    sendMessageDelayed(msg, RunningProcessesView.CONTENTS_UPDATE_DELAY);
+                    break;
+            }
+        }
+    };
+
+    BackgroundHandler mBackgroundHandler;
+    
+    final Handler mHandler = new Handler() {
+        @Override
+        public void handleMessage(Message msg) {
+            switch (msg.what) {
+                case MSG_UPDATE_TIMES:
+                    if (mSnippetActiveItem != null) {
+                        mSnippetActiveItem.updateTime(RunningServiceDetails.this, mBuilder);
+                    }
+                    for (int i=0; i<mActiveDetails.size(); i++) {
+                        mActiveDetails.get(i).mActiveItem.updateTime(
+                                RunningServiceDetails.this, mBuilder);
+                    }
+                    removeMessages(MSG_UPDATE_TIMES);
+                    msg = obtainMessage(MSG_UPDATE_TIMES);
+                    sendMessageDelayed(msg, RunningProcessesView.TIME_UPDATE_DELAY);
+                    break;
+                case MSG_REFRESH_UI:
+                    refreshUi(msg.arg1 != 0);
+                    break;
+            }
+        }
+    };
+    
+    boolean findMergedItem() {
+        RunningState.MergedItem item = null;
+        ArrayList<RunningState.MergedItem> newItems = mState.getCurrentMergedItems();
+        if (newItems != null) {
+            for (int i=0; i<newItems.size(); i++) {
+                RunningState.MergedItem mi = newItems.get(i);
+                if (mi.mProcess.mUid == mUid
+                        && mi.mProcess.mProcessName.equals(mProcessName)) {
+                    item = mi;
+                    break;
+                }
+            }
+        }
+        if (mMergedItem != item) {
+            mMergedItem = item;
+            return true;
+        }
+        return false;
+    }
+    
+    void addDetailViews() {
+        for (int i=mActiveDetails.size()-1; i>=0; i--) {
+            mAllDetails.removeView(mActiveDetails.get(i).mRootView);
+        }
+        mActiveDetails.clear();
+        
+        if (mServicesHeader != null) {
+            mAllDetails.removeView(mServicesHeader);
+            mServicesHeader = null;
+        }
+        
+        if (mProcessesHeader != null) {
+            mAllDetails.removeView(mProcessesHeader);
+            mProcessesHeader = null;
+        }
+        
+        if (mMergedItem != null) {
+            for (int i=0; i<mMergedItem.mServices.size(); i++) {
+                if (i == 0) {
+                    mServicesHeader = (TextView)mInflater.inflate(R.layout.separator_label,
+                            mAllDetails, false);
+                    mServicesHeader.setText(R.string.runningservicedetails_services_title);
+                    mAllDetails.addView(mServicesHeader);
+                }
+                RunningState.ServiceItem si = mMergedItem.mServices.get(i);
+                ActiveDetail detail = new ActiveDetail();
+                View root = mInflater.inflate(R.layout.running_service_details_service,
+                        mAllDetails, false);
+                mAllDetails.addView(root);
+                detail.mRootView = root;
+                detail.mViewHolder = new RunningProcessesView.ViewHolder(root);
+                detail.mActiveItem = detail.mViewHolder.bind(mState, si, mBuilder);
+                
+                if (si.mRunningService.clientLabel != 0) {
+                    detail.mManageIntent = mAm.getRunningServiceControlPanel(
+                            si.mRunningService.service);
+                }
+                
+                TextView description = (TextView)root.findViewById(R.id.comp_description);
+                if (si.mServiceInfo.descriptionRes != 0) {
+                    description.setText(getPackageManager().getText(
+                            si.mServiceInfo.packageName, si.mServiceInfo.descriptionRes,
+                            si.mServiceInfo.applicationInfo));
+                } else {
+                    if (detail.mManageIntent != null) {
+                        try {
+                            Resources clientr = getPackageManager().getResourcesForApplication(
+                                    si.mRunningService.clientPackage);
+                            String label = clientr.getString(si.mRunningService.clientLabel);
+                            description.setText(getString(R.string.service_manage_description,
+                                    label));
+                        } catch (PackageManager.NameNotFoundException e) {
+                        }
+                    } else {
+                        description.setText(getText(R.string.service_stop_description));
+                    }
+                }
+                
+                View button = root.findViewById(R.id.right_button);
+                button.setOnClickListener(detail);
+                ((TextView)button).setText(getText(detail.mManageIntent != null
+                        ? R.string.service_manage : R.string.service_stop));
+                root.findViewById(R.id.left_button).setVisibility(View.INVISIBLE);
+                
+                mActiveDetails.add(detail);
+            }
+            
+            boolean didProcess = false;
+            for (int i=-1; i<mMergedItem.mOtherProcesses.size(); i++) {
+                RunningState.ProcessItem pi = i < 0 ? mMergedItem.mProcess
+                        : mMergedItem.mOtherProcesses.get(i);
+                if (pi.mPid <= 0) {
+                    continue;
+                }
+                
+                if (!didProcess) {
+                    mProcessesHeader = (TextView)mInflater.inflate(R.layout.separator_label,
+                            mAllDetails, false);
+                    mProcessesHeader.setText(R.string.runningservicedetails_processes_title);
+                    mAllDetails.addView(mProcessesHeader);
+                    didProcess = true;
+                }
+                ActiveDetail detail = new ActiveDetail();
+                View root = mInflater.inflate(R.layout.running_service_details_process,
+                        mAllDetails, false);
+                mAllDetails.addView(root);
+                detail.mRootView = root;
+                detail.mViewHolder = new RunningProcessesView.ViewHolder(root);
+                detail.mActiveItem = detail.mViewHolder.bind(mState, pi, mBuilder);
+                
+                TextView description = (TextView)root.findViewById(R.id.comp_description);
+                if (i < 0) {
+                    description.setText(R.string.main_running_process_description);
+                } else {
+                    int textid = 0;
+                    CharSequence label = null;
+                    ActivityManager.RunningAppProcessInfo rpi = pi.mRunningProcessInfo;
+                    final ComponentName comp = rpi.importanceReasonComponent;
+                    //Log.i(TAG, "Secondary proc: code=" + rpi.importanceReasonCode
+                    //        + " pid=" + rpi.importanceReasonPid + " comp=" + comp);
+                    switch (rpi.importanceReasonCode) {
+                        case ActivityManager.RunningAppProcessInfo.REASON_PROVIDER_IN_USE:
+                            textid = R.string.process_provider_in_use_description;
+                            List<ProviderInfo> providers = null;
+                            if (comp != null) {
+                                providers = getPackageManager()
+                                        .queryContentProviders(comp.getPackageName(),
+                                                rpi.uid, 0);
+                            }
+                            if (providers != null) {
+                                for (int j=0; j<providers.size(); j++) {
+                                    ProviderInfo prov = providers.get(i);
+                                    if (comp.getClassName().equals(prov.name)) {
+                                        label = RunningState.makeLabel(getPackageManager(),
+                                                prov.name, prov);
+                                        break;
+                                    }
+                                }
+                            }
+                            break;
+                        case ActivityManager.RunningAppProcessInfo.REASON_SERVICE_IN_USE:
+                            textid = R.string.process_service_in_use_description;
+                            if (rpi.importanceReasonComponent != null) {
+                                try {
+                                    ServiceInfo serv = getPackageManager().getServiceInfo(
+                                            rpi.importanceReasonComponent, 0);
+                                    label = RunningState.makeLabel(getPackageManager(),
+                                            serv.name, serv);
+                                } catch (NameNotFoundException e) {
+                                }
+                            }
+                            break;
+                    }
+                    if (textid != 0 && label != null) {
+                        description.setText(getString(textid, label));
+                    }
+                }
+                
+                mActiveDetails.add(detail);
+            }
+        }
+    }
+    
+    void refreshUi(boolean dataChanged) {
+        if (findMergedItem()) {
+            dataChanged = true;
+        }
+        if (dataChanged) {
+            if (mMergedItem != null) {
+                mSnippetActiveItem = mSnippetViewHolder.bind(mState,
+                        mMergedItem, mBuilder);
+            } else if (mSnippetActiveItem != null) {
+                // Clear whatever is currently being shown.
+                mSnippetActiveItem.mHolder.size.setText("");
+                mSnippetActiveItem.mHolder.uptime.setText("");
+                mSnippetActiveItem.mHolder.description.setText(R.string.no_services);
+            } else {
+                // No merged item, never had one.  Nothing to do.
+                finish();
+                return;
+            }
+            addDetailViews();
+        }
+    }
+    
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        
+        mUid = getIntent().getIntExtra(KEY_UID, 0);
+        mProcessName = getIntent().getStringExtra(KEY_PROCESS);
+        
+        mAm = (ActivityManager)getSystemService(Context.ACTIVITY_SERVICE);
+        mInflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
+        
+        mState = (RunningState)getLastNonConfigurationInstance();
+        if (mState == null) {
+            mState = new RunningState();
+        }
+        
+        setContentView(R.layout.running_service_details);
+        
+        mAllDetails = (ViewGroup)findViewById(R.id.all_details);
+        mSnippet = (ViewGroup)findViewById(R.id.snippet);
+        mSnippet.setBackgroundResource(com.android.internal.R.drawable.title_bar_medium);
+        mSnippet.setPadding(0, mSnippet.getPaddingTop(), 0, mSnippet.getPaddingBottom());
+        mSnippetViewHolder = new RunningProcessesView.ViewHolder(mSnippet);
+    }
+
+    @Override
+    protected void onPause() {
+        super.onPause();
+        mHandler.removeMessages(MSG_UPDATE_TIMES);
+        if (mBackgroundThread != null) {
+            mBackgroundThread.quit();
+            mBackgroundThread = null;
+            mBackgroundHandler = null;
+        }
+    }
+
+    @Override
+    protected void onResume() {
+        super.onResume();
+        refreshUi(mState.update(this, mAm));
+        mBackgroundThread = new HandlerThread("RunningServices");
+        mBackgroundThread.start();
+        mBackgroundHandler = new BackgroundHandler(mBackgroundThread.getLooper());
+        mHandler.removeMessages(MSG_UPDATE_TIMES);
+        Message msg = mHandler.obtainMessage(MSG_UPDATE_TIMES);
+        mHandler.sendMessageDelayed(msg, RunningProcessesView.TIME_UPDATE_DELAY);
+        mBackgroundHandler.removeMessages(MSG_UPDATE_CONTENTS);
+        msg = mBackgroundHandler.obtainMessage(MSG_UPDATE_CONTENTS);
+        mBackgroundHandler.sendMessageDelayed(msg, RunningProcessesView.CONTENTS_UPDATE_DELAY);
+    }
+
+    @Override
+    public Object onRetainNonConfigurationInstance() {
+        return mState;
+    }
+
+    @Override
+    protected void onSaveInstanceState(Bundle outState) {
+        super.onSaveInstanceState(outState);
+    }
+}
diff --git a/src/com/android/settings/applications/RunningServices.java b/src/com/android/settings/applications/RunningServices.java
new file mode 100644
index 0000000..703e8c7
--- /dev/null
+++ b/src/com/android/settings/applications/RunningServices.java
@@ -0,0 +1,582 @@
+/*
+ * Copyright (C) 2006 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.settings.applications;
+
+import com.android.settings.R;
+
+import android.app.ActivityManager;
+import android.app.AlertDialog;
+import android.app.Dialog;
+import android.app.ListActivity;
+import android.app.PendingIntent;
+import android.content.ActivityNotFoundException;
+import android.content.Context;
+import android.content.DialogInterface;
+import android.content.Intent;
+import android.content.IntentSender;
+import android.graphics.Canvas;
+import android.graphics.Paint;
+import android.graphics.Rect;
+import android.os.Bundle;
+import android.os.Handler;
+import android.os.HandlerThread;
+import android.os.Looper;
+import android.os.Message;
+import android.os.SystemClock;
+import android.os.SystemProperties;
+import android.text.format.DateUtils;
+import android.text.format.Formatter;
+import android.util.AttributeSet;
+import android.util.Log;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.AbsListView;
+import android.widget.BaseAdapter;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.ListView;
+import android.widget.TextView;
+
+import java.io.FileInputStream;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+
+public class RunningServices extends ListActivity
+        implements AbsListView.RecyclerListener,
+        DialogInterface.OnClickListener {
+    static final String TAG = "RunningServices";
+    
+    /** Maximum number of services to retrieve */
+    static final int MAX_SERVICES = 100;
+    
+    static final int MSG_UPDATE_TIMES = 1;
+    static final int MSG_UPDATE_CONTENTS = 2;
+    static final int MSG_REFRESH_UI = 3;
+    
+    static final long TIME_UPDATE_DELAY = 1000;
+    static final long CONTENTS_UPDATE_DELAY = 2000;
+    
+    // Memory pages are 4K.
+    static final long PAGE_SIZE = 4*1024;
+    
+    long SECONDARY_SERVER_MEM;
+    
+    final HashMap<View, ActiveItem> mActiveItems = new HashMap<View, ActiveItem>();
+    
+    ActivityManager mAm;
+    
+    RunningState mState;
+    
+    StringBuilder mBuilder = new StringBuilder(128);
+    
+    RunningState.BaseItem mCurSelected;
+    
+    int mProcessBgColor;
+    
+    LinearColorBar mColorBar;
+    TextView mBackgroundProcessText;
+    TextView mForegroundProcessText;
+    
+    int mLastNumBackgroundProcesses = -1;
+    int mLastNumForegroundProcesses = -1;
+    int mLastNumServiceProcesses = -1;
+    long mLastBackgroundProcessMemory = -1;
+    long mLastForegroundProcessMemory = -1;
+    long mLastServiceProcessMemory = -1;
+    long mLastAvailMemory = -1;
+    
+    Dialog mCurDialog;
+    
+    byte[] mBuffer = new byte[1024];
+    
+    class ActiveItem {
+        View mRootView;
+        RunningState.BaseItem mItem;
+        ActivityManager.RunningServiceInfo mService;
+        ViewHolder mHolder;
+        long mFirstRunTime;
+        
+        void updateTime(Context context) {
+            if (mItem.mIsProcess) {
+                String size = mItem.mSizeStr != null ? mItem.mSizeStr : "";
+                if (!size.equals(mItem.mCurSizeStr)) {
+                    mItem.mCurSizeStr = size;
+                    mHolder.size.setText(size);
+                }
+            } else {
+                if (mItem.mActiveSince >= 0) {
+                    mHolder.size.setText(DateUtils.formatElapsedTime(mBuilder,
+                            (SystemClock.uptimeMillis()-mFirstRunTime)/1000));
+                } else {
+                    mHolder.size.setText(context.getResources().getText(
+                            R.string.service_restarting));
+                }
+            }
+        }
+    }
+    
+    static class ViewHolder {
+        ImageView separator;
+        ImageView icon;
+        TextView name;
+        TextView description;
+        TextView size;
+    }
+    
+    static class TimeTicker extends TextView {
+        public TimeTicker(Context context, AttributeSet attrs) {
+            super(context, attrs);
+        }
+    }
+    
+    class ServiceListAdapter extends BaseAdapter {
+        final RunningState mState;
+        final LayoutInflater mInflater;
+        ArrayList<RunningState.BaseItem> mItems;
+        
+        ServiceListAdapter(RunningState state) {
+            mState = state;
+            mInflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
+            refreshItems();
+        }
+
+        void refreshItems() {
+            ArrayList<RunningState.BaseItem> newItems = mState.getCurrentItems();
+            if (mItems != newItems) {
+                mItems = newItems;
+            }
+            if (mItems == null) {
+                mItems = new ArrayList<RunningState.BaseItem>();
+            }
+        }
+        
+        public boolean hasStableIds() {
+            return true;
+        }
+        
+        public int getCount() {
+            return mItems.size();
+        }
+
+        public Object getItem(int position) {
+            return mItems.get(position);
+        }
+
+        public long getItemId(int position) {
+            return mItems.get(position).hashCode();
+        }
+
+        public boolean areAllItemsEnabled() {
+            return false;
+        }
+
+        public boolean isEnabled(int position) {
+            return !mItems.get(position).mIsProcess;
+        }
+
+        public View getView(int position, View convertView, ViewGroup parent) {
+            View v;
+            if (convertView == null) {
+                v = newView(parent);
+            } else {
+                v = convertView;
+            }
+            bindView(v, position);
+            return v;
+        }
+        
+        public View newView(ViewGroup parent) {
+            View v = mInflater.inflate(R.layout.running_services_item, parent, false);
+            ViewHolder h = new ViewHolder();
+            h.separator = (ImageView)v.findViewById(R.id.separator);
+            h.icon = (ImageView)v.findViewById(R.id.icon);
+            h.name = (TextView)v.findViewById(R.id.name);
+            h.description = (TextView)v.findViewById(R.id.description);
+            h.size = (TextView)v.findViewById(R.id.size);
+            v.setTag(h);
+            return v;
+        }
+        
+        public void bindView(View view, int position) {
+            synchronized (mState.mLock) {
+                ViewHolder vh = (ViewHolder) view.getTag();
+                if (position >= mItems.size()) {
+                    // List must have changed since we last reported its
+                    // size...  ignore here, we will be doing a data changed
+                    // to refresh the entire list.
+                    return;
+                }
+                RunningState.BaseItem item = mItems.get(position);
+                vh.name.setText(item.mDisplayLabel);
+                vh.separator.setVisibility(item.mNeedDivider
+                        ? View.VISIBLE : View.INVISIBLE);
+                ActiveItem ai = new ActiveItem();
+                ai.mRootView = view;
+                ai.mItem = item;
+                ai.mHolder = vh;
+                ai.mFirstRunTime = item.mActiveSince;
+                vh.description.setText(item.mDescription);
+                if (item.mIsProcess) {
+                    view.setBackgroundColor(mProcessBgColor);
+                    vh.icon.setImageDrawable(null);
+                    vh.icon.setVisibility(View.GONE);
+                    vh.description.setText(item.mDescription);
+                    item.mCurSizeStr = null;
+                } else {
+                    view.setBackgroundDrawable(null);
+                    vh.icon.setImageDrawable(item.mPackageInfo.loadIcon(getPackageManager()));
+                    vh.icon.setVisibility(View.VISIBLE);
+                    vh.description.setText(item.mDescription);
+                    ai.mFirstRunTime = item.mActiveSince;
+                }
+                ai.updateTime(RunningServices.this);
+                mActiveItems.put(view, ai);
+            }
+        }
+    }
+    
+    public static class LinearColorBar extends LinearLayout {
+        private float mRedRatio;
+        private float mYellowRatio;
+        private float mGreenRatio;
+        
+        final Rect mRect = new Rect();
+        final Paint mPaint = new Paint();
+        
+        public LinearColorBar(Context context, AttributeSet attrs) {
+            super(context, attrs);
+            setWillNotDraw(false);
+            mPaint.setStyle(Paint.Style.FILL);
+        }
+
+        public void setRatios(float red, float yellow, float green) {
+            mRedRatio = red;
+            mYellowRatio = yellow;
+            mGreenRatio = green;
+            invalidate();
+        }
+        
+        @Override
+        protected void onDraw(Canvas canvas) {
+            super.onDraw(canvas);
+            
+            int width = getWidth();
+            mRect.top = 0;
+            mRect.bottom = getHeight();
+            
+            int left = 0;
+            
+            int right = left + (int)(width*mRedRatio);
+            if (left < right) {
+                mRect.left = left;
+                mRect.right = right;
+                mPaint.setColor(0xffff8080);
+                canvas.drawRect(mRect, mPaint);
+                width -= (right-left);
+                left = right;
+            }
+            
+            right = left + (int)(width*mYellowRatio);
+            if (left < right) {
+                mRect.left = left;
+                mRect.right = right;
+                mPaint.setColor(0xffffff00);
+                canvas.drawRect(mRect, mPaint);
+                width -= (right-left);
+                left = right;
+            }
+            
+            right = left + width;
+            if (left < right) {
+                mRect.left = left;
+                mRect.right = right;
+                mPaint.setColor(0xff80ff80);
+                canvas.drawRect(mRect, mPaint);
+            }
+        }
+    }
+    
+    HandlerThread mBackgroundThread;
+    final class BackgroundHandler extends Handler {
+        public BackgroundHandler(Looper looper) {
+            super(looper);
+        }
+        
+        @Override
+        public void handleMessage(Message msg) {
+            switch (msg.what) {
+                case MSG_UPDATE_CONTENTS:
+                    Message cmd = mHandler.obtainMessage(MSG_REFRESH_UI);
+                    cmd.arg1 = mState.update(RunningServices.this, mAm) ? 1 : 0;
+                    mHandler.sendMessage(cmd);
+                    removeMessages(MSG_UPDATE_CONTENTS);
+                    msg = obtainMessage(MSG_UPDATE_CONTENTS);
+                    sendMessageDelayed(msg, CONTENTS_UPDATE_DELAY);
+                    break;
+            }
+        }
+    };
+
+    BackgroundHandler mBackgroundHandler;
+    
+    final Handler mHandler = new Handler() {
+        @Override
+        public void handleMessage(Message msg) {
+            switch (msg.what) {
+                case MSG_UPDATE_TIMES:
+                    Iterator<ActiveItem> it = mActiveItems.values().iterator();
+                    while (it.hasNext()) {
+                        ActiveItem ai = it.next();
+                        if (ai.mRootView.getWindowToken() == null) {
+                            // Clean out any dead views, just in case.
+                            it.remove();
+                            continue;
+                        }
+                        ai.updateTime(RunningServices.this);
+                    }
+                    removeMessages(MSG_UPDATE_TIMES);
+                    msg = obtainMessage(MSG_UPDATE_TIMES);
+                    sendMessageDelayed(msg, TIME_UPDATE_DELAY);
+                    break;
+                case MSG_REFRESH_UI:
+                    refreshUi(msg.arg1 != 0);
+                    break;
+            }
+        }
+    };
+    
+    private boolean matchText(byte[] buffer, int index, String text) {
+        int N = text.length();
+        if ((index+N) >= buffer.length) {
+            return false;
+        }
+        for (int i=0; i<N; i++) {
+            if (buffer[index+i] != text.charAt(i)) {
+                return false;
+            }
+        }
+        return true;
+    }
+    
+    private long extractMemValue(byte[] buffer, int index) {
+        while (index < buffer.length && buffer[index] != '\n') {
+            if (buffer[index] >= '0' && buffer[index] <= '9') {
+                int start = index;
+                index++;
+                while (index < buffer.length && buffer[index] >= '0'
+                    && buffer[index] <= '9') {
+                    index++;
+                }
+                String str = new String(buffer, 0, start, index-start);
+                return ((long)Integer.parseInt(str)) * 1024;
+            }
+            index++;
+        }
+        return 0;
+    }
+    
+    private long readAvailMem() {
+        try {
+            long memFree = 0;
+            long memCached = 0;
+            FileInputStream is = new FileInputStream("/proc/meminfo");
+            int len = is.read(mBuffer);
+            is.close();
+            final int BUFLEN = mBuffer.length;
+            for (int i=0; i<len && (memFree == 0 || memCached == 0); i++) {
+                if (matchText(mBuffer, i, "MemFree")) {
+                    i += 7;
+                    memFree = extractMemValue(mBuffer, i);
+                } else if (matchText(mBuffer, i, "Cached")) {
+                    i += 6;
+                    memCached = extractMemValue(mBuffer, i);
+                }
+                while (i < BUFLEN && mBuffer[i] != '\n') {
+                    i++;
+                }
+            }
+            return memFree + memCached;
+        } catch (java.io.FileNotFoundException e) {
+        } catch (java.io.IOException e) {
+        }
+        return 0;
+    }
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        mAm = (ActivityManager)getSystemService(Context.ACTIVITY_SERVICE);
+        mState = (RunningState)getLastNonConfigurationInstance();
+        if (mState == null) {
+            mState = new RunningState();
+        }
+        mProcessBgColor = 0xff505050;
+        setContentView(R.layout.running_services);
+        getListView().setDivider(null);
+        getListView().setAdapter(new ServiceListAdapter(mState));
+        mColorBar = (LinearColorBar)findViewById(R.id.color_bar);
+        mBackgroundProcessText = (TextView)findViewById(R.id.backgroundText);
+        mForegroundProcessText = (TextView)findViewById(R.id.foregroundText);
+        
+        // Magic!  Implementation detail!  Don't count on this!
+        SECONDARY_SERVER_MEM =
+            Integer.valueOf(SystemProperties.get("ro.SECONDARY_SERVER_MEM"))*PAGE_SIZE;
+    }
+
+    void refreshUi(boolean dataChanged) {
+        if (dataChanged) {
+            ServiceListAdapter adapter = (ServiceListAdapter)(getListView().getAdapter());
+            adapter.refreshItems();
+            adapter.notifyDataSetChanged();
+        }
+        
+        // This is the amount of available memory until we start killing
+        // background services.
+        long availMem = readAvailMem() - SECONDARY_SERVER_MEM;
+        if (availMem < 0) {
+            availMem = 0;
+        }
+        
+        synchronized (mState.mLock) {
+            if (mLastNumBackgroundProcesses != mState.mNumBackgroundProcesses
+                    || mLastBackgroundProcessMemory != mState.mBackgroundProcessMemory
+                    || mLastAvailMemory != availMem) {
+                mLastNumBackgroundProcesses = mState.mNumBackgroundProcesses;
+                mLastBackgroundProcessMemory = mState.mBackgroundProcessMemory;
+                mLastAvailMemory = availMem;
+                String availStr = availMem != 0
+                        ? Formatter.formatShortFileSize(this, availMem) : "0";
+                String sizeStr = Formatter.formatShortFileSize(this, mLastBackgroundProcessMemory);
+                mBackgroundProcessText.setText(getResources().getString(
+                        R.string.service_background_processes,
+                        mLastNumBackgroundProcesses, availStr, sizeStr));
+            }
+            if (mLastNumForegroundProcesses != mState.mNumForegroundProcesses
+                    || mLastForegroundProcessMemory != mState.mForegroundProcessMemory) {
+                mLastNumForegroundProcesses = mState.mNumForegroundProcesses;
+                mLastForegroundProcessMemory = mState.mForegroundProcessMemory;
+                String sizeStr = Formatter.formatShortFileSize(this, mLastForegroundProcessMemory);
+                mForegroundProcessText.setText(getResources().getString(
+                        R.string.service_foreground_processes, mLastNumForegroundProcesses, sizeStr));
+            }
+            mLastNumServiceProcesses = mState.mNumServiceProcesses;
+            mLastServiceProcessMemory = mState.mServiceProcessMemory;
+            
+            float totalMem = availMem + mLastBackgroundProcessMemory
+                    + mLastForegroundProcessMemory + mLastServiceProcessMemory;
+            mColorBar.setRatios(mLastForegroundProcessMemory/totalMem,
+                    mLastServiceProcessMemory/totalMem,
+                    (availMem+mLastBackgroundProcessMemory)/totalMem);
+        }
+    }
+    
+    @Override
+    protected void onListItemClick(ListView l, View v, int position, long id) {
+        RunningState.BaseItem bi = (RunningState.BaseItem)l.getAdapter().getItem(position);
+        if (!bi.mIsProcess) {
+            RunningState.ServiceItem si = (RunningState.ServiceItem)bi;
+            if (si.mRunningService.clientLabel != 0) {
+                mCurSelected = null;
+                PendingIntent pi = mAm.getRunningServiceControlPanel(
+                        si.mRunningService.service);
+                if (pi != null) {
+                    try {
+                        this.startIntentSender(pi.getIntentSender(), null,
+                                Intent.FLAG_ACTIVITY_NEW_TASK
+                                        | Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET,
+                                Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET, 0);
+                    } catch (IntentSender.SendIntentException e) {
+                        Log.w(TAG, e);
+                    } catch (IllegalArgumentException e) {
+                        Log.w(TAG, e);
+                    } catch (ActivityNotFoundException e) {
+                        Log.w(TAG, e);
+                    }
+                }
+            } else {
+                mCurSelected = bi;
+                AlertDialog.Builder builder = new AlertDialog.Builder(this);
+                builder.setTitle(R.string.confirm_stop_service);
+                String msg = getResources().getString(
+                        R.string.confirm_stop_service_msg,
+                        si.mPackageInfo.loadLabel(getPackageManager()));
+                builder.setMessage(msg);
+                builder.setPositiveButton(R.string.confirm_stop_stop, this);
+                builder.setNegativeButton(R.string.confirm_stop_cancel, null);
+                builder.setCancelable(true);
+                mCurDialog = builder.show();
+            }
+        } else {
+            mCurSelected = null;
+        }
+    }
+
+    public void onClick(DialogInterface dialog, int which) {
+        if (mCurSelected != null) {
+            stopService(new Intent().setComponent(
+                    ((RunningState.ServiceItem)mCurSelected).mRunningService.service));
+            if (mBackgroundHandler != null) {
+                mBackgroundHandler.sendEmptyMessage(MSG_UPDATE_CONTENTS);
+            }
+        }
+    }
+
+    @Override
+    protected void onPause() {
+        super.onPause();
+        mHandler.removeMessages(MSG_UPDATE_TIMES);
+        if (mBackgroundThread != null) {
+            mBackgroundThread.quit();
+            mBackgroundThread = null;
+            mBackgroundHandler = null;
+        }
+    }
+
+    @Override
+    protected void onResume() {
+        super.onResume();
+        refreshUi(mState.update(this, mAm));
+        mBackgroundThread = new HandlerThread("RunningServices");
+        mBackgroundThread.start();
+        mBackgroundHandler = new BackgroundHandler(mBackgroundThread.getLooper());
+        mHandler.removeMessages(MSG_UPDATE_TIMES);
+        Message msg = mHandler.obtainMessage(MSG_UPDATE_TIMES);
+        mHandler.sendMessageDelayed(msg, TIME_UPDATE_DELAY);
+        mBackgroundHandler.removeMessages(MSG_UPDATE_CONTENTS);
+        msg = mBackgroundHandler.obtainMessage(MSG_UPDATE_CONTENTS);
+        mBackgroundHandler.sendMessageDelayed(msg, CONTENTS_UPDATE_DELAY);
+    }
+
+    @Override
+    public Object onRetainNonConfigurationInstance() {
+        return mState;
+    }
+
+    public void onMovedToScrapHeap(View view) {
+        mActiveItems.remove(view);
+    }
+
+    @Override
+    protected void onDestroy() {
+        super.onDestroy();
+        if (mCurDialog != null) {
+            mCurDialog.dismiss();
+        }
+    }
+}
diff --git a/src/com/android/settings/applications/RunningState.java b/src/com/android/settings/applications/RunningState.java
new file mode 100644
index 0000000..11b40be
--- /dev/null
+++ b/src/com/android/settings/applications/RunningState.java
@@ -0,0 +1,736 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.applications;
+
+import com.android.settings.R;
+
+import android.app.ActivityManager;
+import android.app.ActivityManagerNative;
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.PackageInfo;
+import android.content.pm.PackageItemInfo;
+import android.content.pm.PackageManager;
+import android.content.pm.ServiceInfo;
+import android.content.res.Resources;
+import android.os.Debug;
+import android.os.RemoteException;
+import android.text.format.Formatter;
+import android.util.Log;
+import android.util.SparseArray;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+
+/**
+ * Singleton for retrieving and monitoring the state about all running
+ * applications/processes/services.
+ */
+public class RunningState {
+
+    final SparseArray<HashMap<String, ProcessItem>> mProcesses
+            = new SparseArray<HashMap<String, ProcessItem>>();
+    final SparseArray<ProcessItem> mActiveProcesses
+            = new SparseArray<ProcessItem>();
+    final ServiceProcessComparator mServiceProcessComparator
+            = new ServiceProcessComparator();
+    
+    // Temporary for finding process dependencies.
+    final SparseArray<ProcessItem> mRunningProcesses
+            = new SparseArray<ProcessItem>();
+    
+    final ArrayList<ProcessItem> mProcessItems = new ArrayList<ProcessItem>();
+    final ArrayList<ProcessItem> mAllProcessItems = new ArrayList<ProcessItem>();
+    
+    int mSequence = 0;
+    
+    // ----- following protected by mLock -----
+    
+    // Lock for protecting the state that will be shared between the
+    // background update thread and the UI thread.
+    final Object mLock = new Object();
+    
+    ArrayList<BaseItem> mItems = new ArrayList<BaseItem>();
+    ArrayList<MergedItem> mMergedItems = new ArrayList<MergedItem>();
+    
+    int mNumBackgroundProcesses;
+    long mBackgroundProcessMemory;
+    int mNumForegroundProcesses;
+    long mForegroundProcessMemory;
+    int mNumServiceProcesses;
+    long mServiceProcessMemory;
+
+    static class BaseItem {
+        final boolean mIsProcess;
+        
+        PackageItemInfo mPackageInfo;
+        CharSequence mDisplayLabel;
+        String mLabel;
+        String mDescription;
+        
+        int mCurSeq;
+        
+        long mActiveSince;
+        long mSize;
+        String mSizeStr;
+        String mCurSizeStr;
+        boolean mNeedDivider;
+        
+        public BaseItem(boolean isProcess) {
+            mIsProcess = isProcess;
+        }
+    }
+
+    static class ServiceItem extends BaseItem {
+        ActivityManager.RunningServiceInfo mRunningService;
+        ServiceInfo mServiceInfo;
+        boolean mShownAsStarted;
+        
+        MergedItem mMergedItem;
+        
+        public ServiceItem() {
+            super(false);
+        }
+    }
+
+    static class ProcessItem extends BaseItem {
+        final HashMap<ComponentName, ServiceItem> mServices
+                = new HashMap<ComponentName, ServiceItem>();
+        final SparseArray<ProcessItem> mDependentProcesses
+                = new SparseArray<ProcessItem>();
+        
+        final int mUid;
+        final String mProcessName;
+        int mPid;
+        
+        ProcessItem mClient;
+        int mLastNumDependentProcesses;
+        
+        int mRunningSeq;
+        ActivityManager.RunningAppProcessInfo mRunningProcessInfo;
+        
+        // Purely for sorting.
+        boolean mIsSystem;
+        boolean mIsStarted;
+        long mActiveSince;
+        
+        public ProcessItem(Context context, int uid, String processName) {
+            super(true);
+            mDescription = context.getResources().getString(
+                    R.string.service_process_name, processName);
+            mUid = uid;
+            mProcessName = processName;
+        }
+        
+        void ensureLabel(PackageManager pm) {
+            if (mLabel != null) {
+                return;
+            }
+            
+            try {
+                ApplicationInfo ai = pm.getApplicationInfo(mProcessName, 0);
+                if (ai.uid == mUid) {
+                    mDisplayLabel = ai.loadLabel(pm);
+                    mLabel = mDisplayLabel.toString();
+                    mPackageInfo = ai;
+                    return;
+                }
+            } catch (PackageManager.NameNotFoundException e) {
+            }
+            
+            // If we couldn't get information about the overall
+            // process, try to find something about the uid.
+            String[] pkgs = pm.getPackagesForUid(mUid);
+            
+            // If there is one package with this uid, that is what we want.
+            if (pkgs.length == 1) {
+                try {
+                    ApplicationInfo ai = pm.getApplicationInfo(pkgs[0], 0);
+                    mDisplayLabel = ai.loadLabel(pm);
+                    mLabel = mDisplayLabel.toString();
+                    mPackageInfo = ai;
+                    return;
+                } catch (PackageManager.NameNotFoundException e) {
+                }
+            }
+            
+            // If there are multiple, see if one gives us the official name
+            // for this uid.
+            for (String name : pkgs) {
+                try {
+                    PackageInfo pi = pm.getPackageInfo(name, 0);
+                    if (pi.sharedUserLabel != 0) {
+                        CharSequence nm = pm.getText(name,
+                                pi.sharedUserLabel, pi.applicationInfo);
+                        if (nm != null) {
+                            mDisplayLabel = nm;
+                            mLabel = nm.toString();
+                            mPackageInfo = pi.applicationInfo;
+                            return;
+                        }
+                    }
+                } catch (PackageManager.NameNotFoundException e) {
+                }
+            }
+            
+            // If still don't have anything to display, just use the
+            // service info.
+            if (mServices.size() > 0) {
+                mPackageInfo = mServices.values().iterator().next()
+                        .mServiceInfo.applicationInfo;
+                mDisplayLabel = mPackageInfo.loadLabel(pm);
+                mLabel = mDisplayLabel.toString();
+                return;
+            }
+            
+            // Finally... whatever, just pick the first package's name.
+            try {
+                ApplicationInfo ai = pm.getApplicationInfo(pkgs[0], 0);
+                mDisplayLabel = ai.loadLabel(pm);
+                mLabel = mDisplayLabel.toString();
+                mPackageInfo = ai;
+                return;
+            } catch (PackageManager.NameNotFoundException e) {
+            }
+        }
+        
+        boolean updateService(Context context,
+                ActivityManager.RunningServiceInfo service) {
+            final PackageManager pm = context.getPackageManager();
+            
+            boolean changed = false;
+            ServiceItem si = mServices.get(service.service);
+            if (si == null) {
+                changed = true;
+                si = new ServiceItem();
+                si.mRunningService = service;
+                try {
+                    si.mServiceInfo = pm.getServiceInfo(service.service, 0);
+                } catch (PackageManager.NameNotFoundException e) {
+                }
+                si.mDisplayLabel = makeLabel(pm,
+                        si.mRunningService.service.getClassName(), si.mServiceInfo);
+                mLabel = mDisplayLabel != null ? mDisplayLabel.toString() : null;
+                si.mPackageInfo = si.mServiceInfo.applicationInfo;
+                mServices.put(service.service, si);
+            }
+            si.mCurSeq = mCurSeq;
+            si.mRunningService = service;
+            long activeSince = service.restarting == 0 ? service.activeSince : -1;
+            if (si.mActiveSince != activeSince) {
+                si.mActiveSince = activeSince;
+                changed = true;
+            }
+            if (service.clientPackage != null && service.clientLabel != 0) {
+                if (si.mShownAsStarted) {
+                    si.mShownAsStarted = false;
+                    changed = true;
+                }
+                try {
+                    Resources clientr = pm.getResourcesForApplication(service.clientPackage);
+                    String label = clientr.getString(service.clientLabel);
+                    si.mDescription = context.getResources().getString(
+                            R.string.service_client_name, label);
+                } catch (PackageManager.NameNotFoundException e) {
+                    si.mDescription = null;
+                }
+            } else {
+                if (!si.mShownAsStarted) {
+                    si.mShownAsStarted = true;
+                    changed = true;
+                }
+                si.mDescription = context.getResources().getString(
+                        R.string.service_started_by_app);
+            }
+            
+            return changed;
+        }
+        
+        boolean updateSize(Context context, Debug.MemoryInfo mem, int curSeq) {
+            mSize = ((long)mem.getTotalPss()) * 1024;
+            if (mCurSeq == curSeq) {
+                String sizeStr = Formatter.formatShortFileSize(
+                        context, mSize);
+                if (!sizeStr.equals(mSizeStr)){
+                    mSizeStr = sizeStr;
+                    // We update this on the second tick where we update just
+                    // the text in the current items, so no need to say we
+                    // changed here.
+                    return false;
+                }
+            }
+            return false;
+        }
+        
+        boolean buildDependencyChain(Context context, PackageManager pm, int curSeq) {
+            final int NP = mDependentProcesses.size();
+            boolean changed = false;
+            for (int i=0; i<NP; i++) {
+                ProcessItem proc = mDependentProcesses.valueAt(i);
+                if (proc.mClient != this) {
+                    changed = true;
+                    proc.mClient = this;
+                }
+                proc.mCurSeq = curSeq;
+                proc.ensureLabel(pm);
+                changed |= proc.buildDependencyChain(context, pm, curSeq);
+            }
+            
+            if (mLastNumDependentProcesses != mDependentProcesses.size()) {
+                changed = true;
+                mLastNumDependentProcesses = mDependentProcesses.size();
+            }
+            
+            return changed;
+        }
+        
+        void addDependentProcesses(ArrayList<BaseItem> dest,
+                ArrayList<ProcessItem> destProc) {
+            final int NP = mDependentProcesses.size();
+            for (int i=0; i<NP; i++) {
+                ProcessItem proc = mDependentProcesses.valueAt(i);
+                proc.addDependentProcesses(dest, destProc);
+                dest.add(proc);
+                if (proc.mPid > 0) {
+                    destProc.add(proc);
+                }
+            }
+        }
+    }
+
+    static class MergedItem extends BaseItem {
+        ProcessItem mProcess;
+        final ArrayList<ProcessItem> mOtherProcesses = new ArrayList<ProcessItem>();
+        final ArrayList<ServiceItem> mServices = new ArrayList<ServiceItem>();
+        
+        MergedItem() {
+            super(false);
+        }
+        
+        boolean update(Context context) {
+            mPackageInfo = mProcess.mPackageInfo;
+            mDisplayLabel = mProcess.mDisplayLabel;
+            mLabel = mProcess.mLabel;
+            
+            int numProcesses = (mProcess.mPid > 0 ? 1 : 0) + mOtherProcesses.size();
+            int numServices = mServices.size();
+            int resid = R.string.running_processes_item_description_s_s;
+            if (numProcesses != 1) {
+                resid = numServices != 1
+                        ? R.string.running_processes_item_description_p_p
+                        : R.string.running_processes_item_description_p_s;
+            } else if (numServices != 1) {
+                resid = R.string.running_processes_item_description_s_p;
+            }
+            mDescription = context.getResources().getString(resid, numProcesses, numServices);
+            
+            mActiveSince = -1;
+            for (int i=0; i<mServices.size(); i++) {
+                ServiceItem si = mServices.get(i);
+                if (si.mActiveSince >= 0 && mActiveSince < si.mActiveSince) {
+                    mActiveSince = si.mActiveSince;
+                }
+            }
+            
+            return false;
+        }
+        
+        boolean updateSize(Context context) {
+            mSize = mProcess.mSize;
+            for (int i=0; i<mOtherProcesses.size(); i++) {
+                mSize += mOtherProcesses.get(i).mSize;
+            }
+            
+            String sizeStr = Formatter.formatShortFileSize(
+                    context, mSize);
+            if (!sizeStr.equals(mSizeStr)){
+                mSizeStr = sizeStr;
+                // We update this on the second tick where we update just
+                // the text in the current items, so no need to say we
+                // changed here.
+                return false;
+            }
+            return false;
+        }
+    }
+    
+    static class ServiceProcessComparator implements Comparator<ProcessItem> {
+        public int compare(ProcessItem object1, ProcessItem object2) {
+            if (object1.mIsStarted != object2.mIsStarted) {
+                // Non-started processes go last.
+                return object1.mIsStarted ? -1 : 1;
+            }
+            if (object1.mIsSystem != object2.mIsSystem) {
+                // System processes go below non-system.
+                return object1.mIsSystem ? 1 : -1;
+            }
+            if (object1.mActiveSince != object2.mActiveSince) {
+                // Remaining ones are sorted with the longest running
+                // services last.
+                return (object1.mActiveSince > object2.mActiveSince) ? -1 : 1;
+            }
+            return 0;
+        }
+    }
+    
+    static CharSequence makeLabel(PackageManager pm,
+            String className, PackageItemInfo item) {
+        if (item != null && (item.labelRes != 0
+                || item.nonLocalizedLabel != null)) {
+            CharSequence label = item.loadLabel(pm);
+            if (label != null) {
+                return label;
+            }
+        }
+        
+        String label = className;
+        int tail = label.lastIndexOf('.');
+        if (tail >= 0) {
+            label = label.substring(tail+1, label.length());
+        }
+        return label;
+    }
+    
+    boolean update(Context context, ActivityManager am) {
+        final PackageManager pm = context.getPackageManager();
+        
+        mSequence++;
+        
+        boolean changed = false;
+        
+        List<ActivityManager.RunningServiceInfo> services 
+                = am.getRunningServices(RunningServices.MAX_SERVICES);
+        final int NS = services != null ? services.size() : 0;
+        for (int i=0; i<NS; i++) {
+            ActivityManager.RunningServiceInfo si = services.get(i);
+            // We are not interested in services that have not been started
+            // and don't have a known client, because
+            // there is nothing the user can do about them.
+            if (!si.started && si.clientLabel == 0) {
+                continue;
+            }
+            // We likewise don't care about services running in a
+            // persistent process like the system or phone.
+            if ((si.flags&ActivityManager.RunningServiceInfo.FLAG_PERSISTENT_PROCESS)
+                    != 0) {
+                continue;
+            }
+            
+            HashMap<String, ProcessItem> procs = mProcesses.get(si.uid);
+            if (procs == null) {
+                procs = new HashMap<String, ProcessItem>();
+                mProcesses.put(si.uid, procs);
+            }
+            ProcessItem proc = procs.get(si.process);
+            if (proc == null) {
+                changed = true;
+                proc = new ProcessItem(context, si.uid, si.process);
+                procs.put(si.process, proc);
+            }
+            
+            if (proc.mCurSeq != mSequence) {
+                int pid = si.restarting == 0 ? si.pid : 0;
+                if (pid != proc.mPid) {
+                    changed = true;
+                    if (proc.mPid != pid) {
+                        if (proc.mPid != 0) {
+                            mActiveProcesses.remove(proc.mPid);
+                        }
+                        if (pid != 0) {
+                            mActiveProcesses.put(pid, proc);
+                        }
+                        proc.mPid = pid;
+                    }
+                }
+                proc.mDependentProcesses.clear();
+                proc.mCurSeq = mSequence;
+            }
+            changed |= proc.updateService(context, si);
+        }
+        
+        // Now update the map of other processes that are running (but
+        // don't have services actively running inside them).
+        List<ActivityManager.RunningAppProcessInfo> processes
+                = am.getRunningAppProcesses();
+        final int NP = processes != null ? processes.size() : 0;
+        for (int i=0; i<NP; i++) {
+            ActivityManager.RunningAppProcessInfo pi = processes.get(i);
+            ProcessItem proc = mActiveProcesses.get(pi.pid);
+            if (proc == null) {
+                // This process is not one that is a direct container
+                // of a service, so look for it in the secondary
+                // running list.
+                proc = mRunningProcesses.get(pi.pid);
+                if (proc == null) {
+                    proc = new ProcessItem(context, pi.uid, pi.processName);
+                    proc.mPid = pi.pid;
+                    mRunningProcesses.put(pi.pid, proc);
+                }
+                proc.mDependentProcesses.clear();
+            }
+            proc.mRunningSeq = mSequence;
+            proc.mRunningProcessInfo = pi;
+        }
+        
+        // Build the chains from client processes to the process they are
+        // dependent on; also remove any old running processes.
+        int NRP = mRunningProcesses.size();
+        for (int i=0; i<NRP; i++) {
+            ProcessItem proc = mRunningProcesses.valueAt(i);
+            if (proc.mRunningSeq == mSequence) {
+                int clientPid = proc.mRunningProcessInfo.importanceReasonPid;
+                if (clientPid != 0) {
+                    ProcessItem client = mActiveProcesses.get(clientPid);
+                    if (client == null) {
+                        client = mRunningProcesses.get(clientPid);
+                    }
+                    if (client != null) {
+                        client.mDependentProcesses.put(proc.mPid, proc);
+                    }
+                } else {
+                    // In this pass the process doesn't have a client.
+                    // Clear to make sure if it later gets the same one
+                    // that we will detect the change.
+                    proc.mClient = null;
+                }
+            } else {
+                mRunningProcesses.remove(mRunningProcesses.keyAt(i));
+            }
+        }
+        
+        // Follow the tree from all primary service processes to all
+        // processes they are dependent on, marking these processes as
+        // still being active and determining if anything has changed.
+        final int NAP = mActiveProcesses.size();
+        for (int i=0; i<NAP; i++) {
+            ProcessItem proc = mActiveProcesses.valueAt(i);
+            if (proc.mCurSeq == mSequence) {
+                changed |= proc.buildDependencyChain(context, pm, mSequence);
+            }
+        }
+        
+        // Look for services and their primary processes that no longer exist...
+        for (int i=0; i<mProcesses.size(); i++) {
+            HashMap<String, ProcessItem> procs = mProcesses.valueAt(i);
+            Iterator<ProcessItem> pit = procs.values().iterator();
+            while (pit.hasNext()) {
+                ProcessItem pi = pit.next();
+                if (pi.mCurSeq == mSequence) {
+                    pi.ensureLabel(pm);
+                    if (pi.mPid == 0) {
+                        // Sanity: a non-process can't be dependent on
+                        // anything.
+                        pi.mDependentProcesses.clear();
+                    }
+                } else {
+                    changed = true;
+                    pit.remove();
+                    if (procs.size() == 0) {
+                        mProcesses.remove(mProcesses.keyAt(i));
+                    }
+                    if (pi.mPid != 0) {
+                        mActiveProcesses.remove(pi.mPid);
+                    }
+                    continue;
+                }
+                Iterator<ServiceItem> sit = pi.mServices.values().iterator();
+                while (sit.hasNext()) {
+                    ServiceItem si = sit.next();
+                    if (si.mCurSeq != mSequence) {
+                        changed = true;
+                        sit.remove();
+                    }
+                }
+            }
+        }
+        
+        if (changed) {
+            // First determine an order for the services.
+            ArrayList<ProcessItem> sortedProcesses = new ArrayList<ProcessItem>();
+            for (int i=0; i<mProcesses.size(); i++) {
+                for (ProcessItem pi : mProcesses.valueAt(i).values()) {
+                    pi.mIsSystem = false;
+                    pi.mIsStarted = true;
+                    pi.mActiveSince = Long.MAX_VALUE;
+                    for (ServiceItem si : pi.mServices.values()) {
+                        if (si.mServiceInfo != null
+                                && (si.mServiceInfo.applicationInfo.flags
+                                        & ApplicationInfo.FLAG_SYSTEM) != 0) {
+                            pi.mIsSystem = true;
+                        }
+                        if (si.mRunningService != null
+                                && si.mRunningService.clientLabel != 0) {
+                            pi.mIsStarted = false;
+                            if (pi.mActiveSince > si.mRunningService.activeSince) {
+                                pi.mActiveSince = si.mRunningService.activeSince;
+                            }
+                        }
+                    }
+                    sortedProcesses.add(pi);
+                }
+            }
+            
+            Collections.sort(sortedProcesses, mServiceProcessComparator);
+            
+            ArrayList<BaseItem> newItems = new ArrayList<BaseItem>();
+            ArrayList<MergedItem> newMergedItems = new ArrayList<MergedItem>();
+            mProcessItems.clear();
+            for (int i=0; i<sortedProcesses.size(); i++) {
+                ProcessItem pi = sortedProcesses.get(i);
+                pi.mNeedDivider = false;
+                
+                int firstProc = mProcessItems.size();
+                // First add processes we are dependent on.
+                pi.addDependentProcesses(newItems, mProcessItems);
+                // And add the process itself.
+                newItems.add(pi);
+                if (pi.mPid > 0) {
+                    mProcessItems.add(pi);
+                }
+                
+                // Now add the services running in it.
+                MergedItem mergedItem = null;
+                boolean haveAllMerged = false;
+                boolean needDivider = false;
+                for (ServiceItem si : pi.mServices.values()) {
+                    si.mNeedDivider = needDivider;
+                    needDivider = true;
+                    newItems.add(si);
+                    if (si.mMergedItem != null) {
+                        if (mergedItem != null && mergedItem != si.mMergedItem) {
+                            haveAllMerged = false;
+                        }
+                        mergedItem = si.mMergedItem;
+                    } else {
+                        haveAllMerged = false;
+                    }
+                }
+                
+                if (!haveAllMerged || mergedItem == null
+                        || mergedItem.mServices.size() != pi.mServices.size()) {
+                    // Whoops, we need to build a new MergedItem!
+                    mergedItem = new MergedItem();
+                    for (ServiceItem si : pi.mServices.values()) {
+                        mergedItem.mServices.add(si);
+                        si.mMergedItem = mergedItem;
+                    }
+                    mergedItem.mProcess = pi;
+                    mergedItem.mOtherProcesses.clear();
+                    for (int mpi=firstProc; mpi<(mProcessItems.size()-1); mpi++) {
+                        mergedItem.mOtherProcesses.add(mProcessItems.get(mpi));
+                    }
+                }
+                
+                mergedItem.update(context);
+                newMergedItems.add(mergedItem);
+            }
+            synchronized (mLock) {
+                mItems = newItems;
+                mMergedItems = newMergedItems;
+            }
+        }
+        
+        // Count number of interesting other (non-active) processes, and
+        // build a list of all processes we will retrieve memory for.
+        mAllProcessItems.clear();
+        mAllProcessItems.addAll(mProcessItems);
+        int numBackgroundProcesses = 0;
+        int numForegroundProcesses = 0;
+        int numServiceProcesses = 0;
+        NRP = mRunningProcesses.size();
+        for (int i=0; i<NRP; i++) {
+            ProcessItem proc = mRunningProcesses.valueAt(i);
+            if (proc.mCurSeq != mSequence) {
+                // We didn't hit this process as a dependency on one
+                // of our active ones, so add it up if needed.
+                if (proc.mRunningProcessInfo.importance >=
+                        ActivityManager.RunningAppProcessInfo.IMPORTANCE_BACKGROUND) {
+                    numBackgroundProcesses++;
+                    mAllProcessItems.add(proc);
+                } else if (proc.mRunningProcessInfo.importance <=
+                        ActivityManager.RunningAppProcessInfo.IMPORTANCE_VISIBLE) {
+                    numForegroundProcesses++;
+                    mAllProcessItems.add(proc);
+                } else {
+                    Log.i(RunningServices.TAG, "Unknown non-service process: "
+                            + proc.mProcessName + " #" + proc.mPid);
+                }
+            } else {
+                numServiceProcesses++;
+            }
+        }
+        
+        long backgroundProcessMemory = 0;
+        long foregroundProcessMemory = 0;
+        long serviceProcessMemory = 0;
+        try {
+            final int numProc = mAllProcessItems.size();
+            int[] pids = new int[numProc];
+            for (int i=0; i<numProc; i++) {
+                pids[i] = mAllProcessItems.get(i).mPid;
+            }
+            Debug.MemoryInfo[] mem = ActivityManagerNative.getDefault()
+                    .getProcessMemoryInfo(pids);
+            for (int i=pids.length-1; i>=0; i--) {
+                ProcessItem proc = mAllProcessItems.get(i);
+                changed |= proc.updateSize(context, mem[i], mSequence);
+                if (proc.mCurSeq == mSequence) {
+                    serviceProcessMemory += proc.mSize;
+                } else if (proc.mRunningProcessInfo.importance >=
+                        ActivityManager.RunningAppProcessInfo.IMPORTANCE_BACKGROUND) {
+                    backgroundProcessMemory += proc.mSize;
+                } else if (proc.mRunningProcessInfo.importance <=
+                        ActivityManager.RunningAppProcessInfo.IMPORTANCE_VISIBLE) {
+                    foregroundProcessMemory += proc.mSize;
+                }
+            }
+        } catch (RemoteException e) {
+        }
+        
+        for (int i=0; i<mMergedItems.size(); i++) {
+            mMergedItems.get(i).updateSize(context);
+        }
+        
+        synchronized (mLock) {
+            mNumBackgroundProcesses = numBackgroundProcesses;
+            mNumForegroundProcesses = numForegroundProcesses;
+            mNumServiceProcesses = numServiceProcesses;
+            mBackgroundProcessMemory = backgroundProcessMemory;
+            mForegroundProcessMemory = foregroundProcessMemory;
+            mServiceProcessMemory = serviceProcessMemory;
+        }
+        
+        return changed;
+    }
+    
+    ArrayList<BaseItem> getCurrentItems() {
+        synchronized (mLock) {
+            return mItems;
+        }
+    }
+    
+    ArrayList<MergedItem> getCurrentMergedItems() {
+        synchronized (mLock) {
+            return mMergedItems;
+        }
+    }
+}
diff --git a/src/com/android/settings/bluetooth/CachedBluetoothDevice.java b/src/com/android/settings/bluetooth/CachedBluetoothDevice.java
index aa4a958..48fd85d 100644
--- a/src/com/android/settings/bluetooth/CachedBluetoothDevice.java
+++ b/src/com/android/settings/bluetooth/CachedBluetoothDevice.java
@@ -35,11 +35,7 @@
 import com.android.settings.R;
 import com.android.settings.bluetooth.LocalBluetoothProfileManager.Profile;
 
-import java.text.DateFormat;
 import java.util.ArrayList;
-import java.util.Date;
-import java.util.Iterator;
-import java.util.LinkedList;
 import java.util.List;
 import java.util.Set;
 
@@ -90,219 +86,39 @@
     // See mConnectAttempted
     private static final long MAX_UUID_DELAY_FOR_AUTO_CONNECT = 5000;
 
-    // Max time to hold the work queue if we don't get or missed a response
-    // from the bt framework.
-    private static final long MAX_WAIT_TIME_FOR_FRAMEWORK = 25 * 1000;
-
-    private enum BluetoothCommand {
-        CONNECT, DISCONNECT, REMOVE_BOND,
-    }
-
-    static class BluetoothJob {
-        final BluetoothCommand command; // CONNECT, DISCONNECT
-        final CachedBluetoothDevice cachedDevice;
-        final Profile profile; // HEADSET, A2DP, etc
-        // 0 means this command was not been sent to the bt framework.
-        long timeSent;
-
-        public BluetoothJob(BluetoothCommand command,
-                CachedBluetoothDevice cachedDevice, Profile profile) {
-            this.command = command;
-            this.cachedDevice = cachedDevice;
-            this.profile = profile;
-            this.timeSent = 0;
-        }
-
-        @Override
-        public String toString() {
-            StringBuilder sb = new StringBuilder();
-            sb.append(command.name());
-            sb.append(" Address:").append(cachedDevice.mDevice);
-            if (profile != null) {
-                sb.append(" Profile:").append(profile.name());
-            }
-            sb.append(" TimeSent:");
-            if (timeSent == 0) {
-                sb.append("not yet");
-            } else {
-                sb.append(DateFormat.getTimeInstance().format(new Date(timeSent)));
-            }
-            return sb.toString();
-        }
-    }
-
+    
     /**
-     * We want to serialize connect and disconnect calls. http://b/170538
-     * This are some headsets that may have L2CAP resource limitation. We want
-     * to limit the bt bandwidth usage.
-     *
-     * A queue to keep track of asynchronous calls to the bt framework.  The
-     * first item, if exist, should be in progress i.e. went to the bt framework
-     * already, waiting for a notification to come back. The second item and
-     * beyond have not been sent to the bt framework yet.
+     * Describes the current device and profile for logging.
+     * 
+     * @param profile Profile to describe
+     * @return Description of the device and profile
      */
-    private static LinkedList<BluetoothJob> workQueue = new LinkedList<BluetoothJob>();
-
-    private void queueCommand(BluetoothJob job) {
-        synchronized (workQueue) {
-            if (D) {
-                Log.d(TAG, workQueue.toString());
-            }
-            boolean processNow = pruneQueue(job);
-
-            // Add job to queue
-            if (D) {
-                Log.d(TAG, "Adding: " + job.toString());
-            }
-            workQueue.add(job);
-
-            // if there's nothing pending from before, send the command to bt
-            // framework immediately.
-            if (workQueue.size() == 1 || processNow) {
-                // If the failed to process, just drop it from the queue.
-                // There will be no callback to remove this from the queue.
-                processCommands();
-            }
+    private String describe(CachedBluetoothDevice cachedDevice, Profile profile) {
+        StringBuilder sb = new StringBuilder();
+        sb.append("Address:").append(cachedDevice.mDevice);
+        if (profile != null) {
+            sb.append(" Profile:").append(profile.name());
         }
+
+        return sb.toString();
     }
-
-    private boolean pruneQueue(BluetoothJob job) {
-        boolean removedStaleItems = false;
-        long now = System.currentTimeMillis();
-        Iterator<BluetoothJob> it = workQueue.iterator();
-        while (it.hasNext()) {
-            BluetoothJob existingJob = it.next();
-
-            // Remove any pending CONNECTS when we receive a DISCONNECT
-            if (job != null && job.command == BluetoothCommand.DISCONNECT) {
-                if (existingJob.timeSent == 0
-                        && existingJob.command == BluetoothCommand.CONNECT
-                        && existingJob.cachedDevice.mDevice.equals(job.cachedDevice.mDevice)
-                        && existingJob.profile == job.profile) {
-                    if (D) {
-                        Log.d(TAG, "Removed because of a pending disconnect. " + existingJob);
-                    }
-                    it.remove();
-                    continue;
-                }
-            }
-
-            // Defensive Code: Remove any job that older than a preset time.
-            // We never got a call back. It is better to have overlapping
-            // calls than to get stuck.
-            if (existingJob.timeSent != 0
-                    && (now - existingJob.timeSent) >= MAX_WAIT_TIME_FOR_FRAMEWORK) {
-                Log.w(TAG, "Timeout. Removing Job:" + existingJob.toString());
-                it.remove();
-                removedStaleItems = true;
-                continue;
-            }
-        }
-        return removedStaleItems;
-    }
-
-    private boolean processCommand(BluetoothJob job) {
-        boolean successful = false;
-        if (job.timeSent == 0) {
-            job.timeSent = System.currentTimeMillis();
-            switch (job.command) {
-            case CONNECT:
-                successful = connectInt(job.cachedDevice, job.profile);
-                break;
-            case DISCONNECT:
-                successful = disconnectInt(job.cachedDevice, job.profile);
-                break;
-            case REMOVE_BOND:
-                BluetoothDevice dev = job.cachedDevice.getDevice();
-                if (dev != null) {
-                    successful = dev.removeBond();
-                }
-                break;
-            }
-
-            if (successful) {
-                if (D) {
-                    Log.d(TAG, "Command sent successfully:" + job.toString());
-                }
-            } else if (V) {
-                Log.v(TAG, "Framework rejected command immediately:" + job.toString());
-            }
-        } else if (D) {
-            Log.d(TAG, "Job already has a sent time. Skip. " + job.toString());
-        }
-
-        return successful;
+    
+    private String describe(Profile profile) {
+        return describe(this, profile);
     }
 
     public void onProfileStateChanged(Profile profile, int newProfileState) {
-        synchronized (workQueue) {
-            if (D) {
-                Log.d(TAG, "onProfileStateChanged:" + workQueue.toString());
-            }
-
-            int newState = LocalBluetoothProfileManager.getProfileManager(mLocalManager,
-                    profile).convertState(newProfileState);
-
-            if (newState == SettingsBtStatus.CONNECTION_STATUS_CONNECTED) {
-                if (!mProfiles.contains(profile)) {
-                    mProfiles.add(profile);
-                }
-            }
-
-            /* Ignore the transient states e.g. connecting, disconnecting */
-            if (newState == SettingsBtStatus.CONNECTION_STATUS_CONNECTED ||
-                    newState == SettingsBtStatus.CONNECTION_STATUS_DISCONNECTED) {
-                BluetoothJob job = workQueue.peek();
-                if (job == null) {
-                    return;
-                } else if (!job.cachedDevice.mDevice.equals(mDevice)) {
-                    // This can happen in 2 cases: 1) BT device initiated pairing and
-                    // 2) disconnects of one headset that's triggered by connects of
-                    // another.
-                    if (D) {
-                        Log.d(TAG, "mDevice:" + mDevice + " != head:" + job.toString());
-                    }
-
-                    // Check to see if we need to remove the stale items from the queue
-                    if (!pruneQueue(null)) {
-                        // nothing in the queue was modify. Just ignore the notification and return.
-                        return;
-                    }
-                } else {
-                    // Remove the first item and process the next one
-                    workQueue.poll();
-                }
-
-                processCommands();
-            }
-        }
-    }
-
-    /*
-     * This method is called in 2 places:
-     * 1) queryCommand() - when someone or something want to connect or
-     *    disconnect
-     * 2) onProfileStateChanged() - when the framework sends an intent
-     *    notification when it finishes processing a command
-     */
-    private void processCommands() {
         if (D) {
-            Log.d(TAG, "processCommands:" + workQueue.toString());
+            Log.d(TAG, "onProfileStateChanged: profile " + profile.toString() +
+                    " newProfileState " + newProfileState);
         }
-        Iterator<BluetoothJob> it = workQueue.iterator();
-        while (it.hasNext()) {
-            BluetoothJob job = it.next();
-            if (processCommand(job)) {
-                // Sent to bt framework. Done for now. Will remove this job
-                // from queue when we get an event
-                return;
-            } else {
-                /*
-                 * If the command failed immediately, there will be no event
-                 * callbacks. So delete the job immediately and move on to the
-                 * next one
-                 */
-                it.remove();
+
+        int newState = LocalBluetoothProfileManager.getProfileManager(mLocalManager,
+                profile).convertState(newProfileState);
+
+        if (newState == SettingsBtStatus.CONNECTION_STATUS_CONNECTED) {
+            if (!mProfiles.contains(profile)) {
+                mProfiles.add(profile);
             }
         }
     }
@@ -338,7 +154,7 @@
     }
 
     public void disconnect(Profile profile) {
-        queueCommand(new BluetoothJob(BluetoothCommand.DISCONNECT, this, profile));
+        disconnectInt(this, profile);
     }
 
     private boolean disconnectInt(CachedBluetoothDevice cachedDevice, Profile profile) {
@@ -347,9 +163,17 @@
         int status = profileManager.getConnectionStatus(cachedDevice.mDevice);
         if (SettingsBtStatus.isConnectionStatusConnected(status)) {
             if (profileManager.disconnect(cachedDevice.mDevice)) {
+                if (D) {
+                    Log.d(TAG, "Command sent successfully:DISCONNECT " + describe(profile));
+                }
                 return true;
             }
+            if (V) {
+                Log.v(TAG, "Framework rejected command immediately:DISCONNECT " +
+                        describe(profile));
+            }
         }
+
         return false;
     }
 
@@ -419,7 +243,7 @@
                 if (profileManager.isPreferred(mDevice)) {
                     ++preferredProfiles;
                     disconnectConnected(profile);
-                    queueCommand(new BluetoothJob(BluetoothCommand.CONNECT, this, profile));
+                    connectInt(this, profile);
                 }
             }
         }
@@ -442,7 +266,7 @@
                         .getProfileManager(mLocalManager, profile);
                 profileManager.setPreferred(mDevice, false);
                 disconnectConnected(profile);
-                queueCommand(new BluetoothJob(BluetoothCommand.CONNECT, this, profile));
+                connectInt(this, profile);
             }
         }
     }
@@ -452,7 +276,7 @@
         // Reset the only-show-one-error-dialog tracking variable
         mIsConnectingErrorPossible = true;
         disconnectConnected(profile);
-        queueCommand(new BluetoothJob(BluetoothCommand.CONNECT, this, profile));
+        connectInt(this, profile);
     }
 
     private void disconnectConnected(Profile profile) {
@@ -464,7 +288,7 @@
         for (BluetoothDevice device : devices) {
             CachedBluetoothDevice cachedDevice = cachedDeviceManager.findDevice(device);
             if (cachedDevice != null) {
-                queueCommand(new BluetoothJob(BluetoothCommand.DISCONNECT, cachedDevice, profile));
+                disconnectInt(cachedDevice, profile);
             }
         }
     }
@@ -477,12 +301,16 @@
         int status = profileManager.getConnectionStatus(cachedDevice.mDevice);
         if (!SettingsBtStatus.isConnectionStatusConnected(status)) {
             if (profileManager.connect(cachedDevice.mDevice)) {
+                if (D) {
+                    Log.d(TAG, "Command sent successfully:CONNECT " + describe(profile));
+                }
                 return true;
             }
             Log.i(TAG, "Failed to connect " + profile.toString() + " to " + cachedDevice.mName);
         } else {
             Log.i(TAG, "Already connected");
         }
+
         return false;
     }
 
@@ -527,7 +355,18 @@
         }
 
         if (state != BluetoothDevice.BOND_NONE) {
-            queueCommand(new BluetoothJob(BluetoothCommand.REMOVE_BOND, this, null));
+            final BluetoothDevice dev = getDevice();
+            if (dev != null) {
+                final boolean successful = dev.removeBond();
+                if (successful) {
+                    if (D) {
+                        Log.d(TAG, "Command sent successfully:REMOVE_BOND " + describe(null));
+                    }
+                } else if (V) {
+                    Log.v(TAG, "Framework rejected command immediately:REMOVE_BOND " +
+                            describe(null));
+                }
+            }
         }
     }
 
@@ -749,30 +588,6 @@
     public void onBondingStateChanged(int bondState) {
         if (bondState == BluetoothDevice.BOND_NONE) {
             mProfiles.clear();
-
-            BluetoothJob job = workQueue.peek();
-            if (job != null) {
-                // Remove the first item and process the next one
-                if (job.command == BluetoothCommand.REMOVE_BOND
-                        && job.cachedDevice.mDevice.equals(mDevice)) {
-                    workQueue.poll(); // dequeue
-                } else {
-                    // Unexpected job
-                    if (D) {
-                        Log.d(TAG, "job.command = " + job.command);
-                        Log.d(TAG, "mDevice:" + mDevice + " != head:" + job.toString());
-                    }
-
-                    // Check to see if we need to remove the stale items from the queue
-                    if (!pruneQueue(null)) {
-                        // nothing in the queue was modify. Just ignore the notification and return.
-                        refresh();
-                        return;
-                    }
-                }
-
-                processCommands();
-            }
         }
 
         refresh();
diff --git a/src/com/android/settings/bluetooth/ConnectSpecificProfilesActivity.java b/src/com/android/settings/bluetooth/ConnectSpecificProfilesActivity.java
index 08534f3..2a8af5f 100644
--- a/src/com/android/settings/bluetooth/ConnectSpecificProfilesActivity.java
+++ b/src/com/android/settings/bluetooth/ConnectSpecificProfilesActivity.java
@@ -179,6 +179,9 @@
     }
 
     private void onProfileCheckedStateChanged(Profile profile, boolean checked) {
+        LocalBluetoothProfileManager profileManager = LocalBluetoothProfileManager
+                .getProfileManager(mManager, profile);
+        profileManager.setPreferred(mCachedDevice.getDevice(), checked);
         if (mOnlineMode) {
             if (checked) {
                 mCachedDevice.connect(profile);
@@ -186,10 +189,6 @@
                 mCachedDevice.disconnect(profile);
             }
         }
-
-        LocalBluetoothProfileManager profileManager = LocalBluetoothProfileManager
-                .getProfileManager(mManager, profile);
-        profileManager.setPreferred(mCachedDevice.getDevice(), checked);
     }
 
     public void onDeviceAttributesChanged(CachedBluetoothDevice cachedDevice) {
diff --git a/src/com/android/settings/bluetooth/DockService.java b/src/com/android/settings/bluetooth/DockService.java
index f318987..d0f8099 100644
--- a/src/com/android/settings/bluetooth/DockService.java
+++ b/src/com/android/settings/bluetooth/DockService.java
@@ -18,6 +18,7 @@
 
 import com.android.settings.R;
 import com.android.settings.bluetooth.LocalBluetoothProfileManager.Profile;
+import com.android.settings.bluetooth.LocalBluetoothProfileManager.ServiceListener;
 
 import android.app.AlertDialog;
 import android.app.Notification;
@@ -48,7 +49,7 @@
 
 public class DockService extends Service implements AlertDialog.OnMultiChoiceClickListener,
         DialogInterface.OnClickListener, DialogInterface.OnDismissListener,
-        CompoundButton.OnCheckedChangeListener {
+        CompoundButton.OnCheckedChangeListener, ServiceListener {
 
     private static final String TAG = "DockService";
 
@@ -101,6 +102,7 @@
     // Created in OnCreate()
     private volatile Looper mServiceLooper;
     private volatile ServiceHandler mServiceHandler;
+    private Runnable mRunnable;
     private DockService mContext;
     private LocalBluetoothManager mBtManager;
 
@@ -138,6 +140,8 @@
     @Override
     public void onDestroy() {
         if (DEBUG) Log.d(TAG, "onDestroy");
+        mRunnable = null;
+        LocalBluetoothProfileManager.removeServiceListener(this);
         if (mDialog != null) {
             mDialog.dismiss();
             mDialog = null;
@@ -228,8 +232,8 @@
     // This method gets messages from both onStartCommand and mServiceHandler/mServiceLooper
     private synchronized void processMessage(Message msg) {
         int msgType = msg.what;
-        int state = msg.arg1;
-        int startId = msg.arg2;
+        final int state = msg.arg1;
+        final int startId = msg.arg2;
         boolean deferFinishCall = false;
         BluetoothDevice device = null;
         if (msg.obj != null) {
@@ -271,12 +275,23 @@
                     }
 
                     mDevice = device;
-                    if (mBtManager.getDockAutoConnectSetting(device.getAddress())) {
-                        // Setting == auto connect
-                        initBtSettings(mContext, device, state, false);
-                        applyBtSettings(mDevice, startId);
+
+                    // Register first in case LocalBluetoothProfileManager
+                    // becomes ready after isManagerReady is called and it
+                    // would be too late to register a service listener.
+                    LocalBluetoothProfileManager.addServiceListener(this);
+                    if (LocalBluetoothProfileManager.isManagerReady()) {
+                        handleDocked(device, state, startId);
+                        // Not needed after all
+                        LocalBluetoothProfileManager.removeServiceListener(this);
                     } else {
-                        createDialog(mContext, mDevice, state, startId);
+                        final BluetoothDevice d = device;
+                        mRunnable = new Runnable() {
+                            public void run() {
+                                handleDocked(d, state, startId);
+                            }
+                        };
+                        deferFinishCall = true;
                     }
                 }
                 break;
@@ -721,8 +736,21 @@
         }
     }
 
+    private synchronized void handleDocked(final BluetoothDevice device, final int state,
+            final int startId) {
+        if (mBtManager.getDockAutoConnectSetting(device.getAddress())) {
+            // Setting == auto connect
+            initBtSettings(mContext, device, state, false);
+            applyBtSettings(mDevice, startId);
+        } else {
+            createDialog(mContext, device, state, startId);
+        }
+    }
+
     private synchronized void handleUndocked(Context context, LocalBluetoothManager localManager,
             BluetoothDevice device) {
+        mRunnable = null;
+        LocalBluetoothProfileManager.removeServiceListener(this);
         if (mDialog != null) {
             mDialog.dismiss();
             mDialog = null;
@@ -778,4 +806,15 @@
         editor.commit();
         return;
     }
+
+    public synchronized void onServiceConnected() {
+        if (mRunnable != null) {
+            mRunnable.run();
+            mRunnable = null;
+            LocalBluetoothProfileManager.removeServiceListener(this);
+        }
+    }
+
+    public void onServiceDisconnected() {
+    }
 }
diff --git a/src/com/android/settings/bluetooth/LocalBluetoothProfileManager.java b/src/com/android/settings/bluetooth/LocalBluetoothProfileManager.java
index f3aaade..01714fe 100644
--- a/src/com/android/settings/bluetooth/LocalBluetoothProfileManager.java
+++ b/src/com/android/settings/bluetooth/LocalBluetoothProfileManager.java
@@ -28,6 +28,8 @@
 
 import java.util.HashMap;
 import java.util.HashSet;
+import java.util.Iterator;
+import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -53,6 +55,29 @@
         BluetoothUuid.ObexObjectPush
     };
 
+    /**
+     * An interface for notifying BluetoothHeadset IPC clients when they have
+     * been connected to the BluetoothHeadset service.
+     */
+    public interface ServiceListener {
+        /**
+         * Called to notify the client when this proxy object has been
+         * connected to the BluetoothHeadset service. Clients must wait for
+         * this callback before making IPC calls on the BluetoothHeadset
+         * service.
+         */
+        public void onServiceConnected();
+
+        /**
+         * Called to notify the client that this proxy object has been
+         * disconnected from the BluetoothHeadset service. Clients must not
+         * make IPC calls on the BluetoothHeadset service after this callback.
+         * This callback will currently only occur if the application hosting
+         * the BluetoothHeadset service, but may be called more often in future.
+         */
+        public void onServiceDisconnected();
+    }
+
     // TODO: close profiles when we're shutting down
     private static Map<Profile, LocalBluetoothProfileManager> sProfileMap =
             new HashMap<Profile, LocalBluetoothProfileManager>();
@@ -76,6 +101,26 @@
         }
     }
 
+    private static LinkedList<ServiceListener> mServiceListeners = new LinkedList<ServiceListener>();
+
+    public static void addServiceListener(ServiceListener l) {
+        mServiceListeners.add(l);
+    }
+
+    public static void removeServiceListener(ServiceListener l) {
+        mServiceListeners.remove(l);
+    }
+
+    public static boolean isManagerReady() {
+        // Getting just the headset profile is fine for now. Will need to deal with A2DP
+        // and others if they aren't always in a ready state.
+        LocalBluetoothProfileManager profileManager = sProfileMap.get(Profile.HEADSET);
+        if (profileManager == null) {
+            return sProfileMap.size() > 0;
+        }
+        return profileManager.isProfileReady();
+    }
+
     public static LocalBluetoothProfileManager getProfileManager(LocalBluetoothManager localManager,
             Profile profile) {
         // Note: This code assumes that "localManager" is same as the
@@ -144,6 +189,8 @@
         return SettingsBtStatus.isConnectionStatusConnected(getConnectionStatus(device));
     }
 
+    public abstract boolean isProfileReady();
+
     // TODO: int instead of enum
     public enum Profile {
         HEADSET(R.string.bluetooth_profile_headset),
@@ -247,6 +294,11 @@
                 return SettingsBtStatus.CONNECTION_STATUS_UNKNOWN;
             }
         }
+
+        @Override
+        public boolean isProfileReady() {
+            return true;
+        }
     }
 
     /**
@@ -256,6 +308,7 @@
             implements BluetoothHeadset.ServiceListener {
         private BluetoothHeadset mService;
         private Handler mUiHandler = new Handler();
+        private boolean profileReady = false;
 
         public HeadsetProfileManager(LocalBluetoothManager localManager) {
             super(localManager);
@@ -263,6 +316,7 @@
         }
 
         public void onServiceConnected() {
+            profileReady = true;
             // This could be called on a non-UI thread, funnel to UI thread.
             mUiHandler.post(new Runnable() {
                 public void run() {
@@ -277,9 +331,28 @@
                                                    BluetoothHeadset.STATE_CONNECTED);
                 }
             });
+
+            if (mServiceListeners.size() > 0) {
+                Iterator<ServiceListener> it = mServiceListeners.iterator();
+                while(it.hasNext()) {
+                    it.next().onServiceConnected();
+                }
+            }
         }
 
         public void onServiceDisconnected() {
+            profileReady = false;
+            if (mServiceListeners.size() > 0) {
+                Iterator<ServiceListener> it = mServiceListeners.iterator();
+                while(it.hasNext()) {
+                    it.next().onServiceDisconnected();
+                }
+            }
+        }
+
+        @Override
+        public boolean isProfileReady() {
+            return profileReady;
         }
 
         @Override
@@ -297,7 +370,10 @@
         public boolean connect(BluetoothDevice device) {
             // Since connectHeadset fails if already connected to a headset, we
             // disconnect from any headset first
-            mService.disconnectHeadset();
+            BluetoothDevice currDevice = mService.getCurrentHeadset();
+            if (currDevice != null) {
+                mService.disconnectHeadset(currDevice);
+            }
             return mService.connectHeadset(device);
         }
 
@@ -308,7 +384,7 @@
                 if (mService.getPriority(device) > BluetoothHeadset.PRIORITY_ON) {
                     mService.setPriority(device, BluetoothHeadset.PRIORITY_ON);
                 }
-                return mService.disconnectHeadset();
+                return mService.disconnectHeadset(device);
             } else {
                 return false;
             }
@@ -318,7 +394,7 @@
         public int getConnectionStatus(BluetoothDevice device) {
             BluetoothDevice currentDevice = mService.getCurrentHeadset();
             return currentDevice != null && currentDevice.equals(device)
-                    ? convertState(mService.getState())
+                    ? convertState(mService.getState(device))
                     : SettingsBtStatus.CONNECTION_STATUS_DISCONNECTED;
         }
 
@@ -424,6 +500,11 @@
         }
 
         @Override
+        public boolean isProfileReady() {
+            return true;
+        }
+
+        @Override
         public int convertState(int oppState) {
             switch (oppState) {
             case 0:
diff --git a/src/com/android/settings/fuelgauge/PowerUsageDetail.java b/src/com/android/settings/fuelgauge/PowerUsageDetail.java
index 4db968a..cc112f8 100644
--- a/src/com/android/settings/fuelgauge/PowerUsageDetail.java
+++ b/src/com/android/settings/fuelgauge/PowerUsageDetail.java
@@ -40,9 +40,9 @@
 import android.widget.Button;
 import android.widget.ImageView;
 import android.widget.TextView;
-import com.android.settings.InstalledAppDetails;
-import com.android.settings.ManageApplications;
 import com.android.settings.R;
+import com.android.settings.applications.InstalledAppDetails;
+import com.android.settings.applications.ManageApplications;
 
 public class PowerUsageDetail extends Activity implements Button.OnClickListener {
 
@@ -248,9 +248,9 @@
                 startActivity(new Intent(Settings.ACTION_WIRELESS_SETTINGS));
                 break;
             case ACTION_APP_DETAILS:
-                Intent intent = new Intent(Intent.ACTION_VIEW);
+                Intent intent = new Intent(Intent.ACTION_VIEW,
+                        Uri.fromParts("package", mPackages[0], null));
                 intent.setClass(this, InstalledAppDetails.class);
-                intent.putExtra(ManageApplications.APP_PKG_NAME, mPackages[0]);
                 startActivity(intent);
                 break;
             case ACTION_SECURITY_SETTINGS:
diff --git a/src/com/android/settings/quicklaunch/QuickLaunchSettings.java b/src/com/android/settings/quicklaunch/QuickLaunchSettings.java
index fb9fbcd..ca5d3ab 100644
--- a/src/com/android/settings/quicklaunch/QuickLaunchSettings.java
+++ b/src/com/android/settings/quicklaunch/QuickLaunchSettings.java
@@ -178,7 +178,7 @@
     }
     
     public void onClick(DialogInterface dialog, int which) {
-        if (mClearDialogShortcut > 0 && which == AlertDialog.BUTTON1) {
+        if (mClearDialogShortcut > 0 && which == AlertDialog.BUTTON_POSITIVE) {
             // Clear the shortcut
             clearShortcut(mClearDialogShortcut);
         }
diff --git a/src/com/android/settings/vpn/VpnSettings.java b/src/com/android/settings/vpn/VpnSettings.java
index 8880780..7b8d433 100644
--- a/src/com/android/settings/vpn/VpnSettings.java
+++ b/src/com/android/settings/vpn/VpnSettings.java
@@ -17,7 +17,6 @@
 package com.android.settings.vpn;
 
 import com.android.settings.R;
-import com.android.settings.SecuritySettings;
 
 import android.app.AlertDialog;
 import android.app.Dialog;
@@ -38,13 +37,10 @@
 import android.os.Bundle;
 import android.os.ConditionVariable;
 import android.os.IBinder;
-import android.os.Parcel;
 import android.os.Parcelable;
-import android.os.RemoteException;
 import android.preference.Preference;
 import android.preference.PreferenceActivity;
 import android.preference.PreferenceCategory;
-import android.preference.PreferenceManager;
 import android.preference.PreferenceScreen;
 import android.preference.Preference.OnPreferenceClickListener;
 import android.security.Credentials;
@@ -53,7 +49,6 @@
 import android.util.Log;
 import android.view.ContextMenu;
 import android.view.ContextMenu.ContextMenuInfo;
-import android.view.Menu;
 import android.view.MenuItem;
 import android.view.View;
 import android.widget.AdapterView.AdapterContextMenuInfo;
@@ -67,12 +62,9 @@
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.Comparator;
-import java.util.HashSet;
-import java.util.Iterator;
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
-import java.util.Set;
 
 /**
  * The preference activity for configuring VPN settings.
@@ -101,8 +93,8 @@
     private static final int CONTEXT_MENU_EDIT_ID = ContextMenu.FIRST + 2;
     private static final int CONTEXT_MENU_DELETE_ID = ContextMenu.FIRST + 3;
 
-    private static final int CONNECT_BUTTON = DialogInterface.BUTTON1;
-    private static final int OK_BUTTON = DialogInterface.BUTTON1;
+    private static final int CONNECT_BUTTON = DialogInterface.BUTTON_POSITIVE;
+    private static final int OK_BUTTON = DialogInterface.BUTTON_POSITIVE;
 
     private static final int DIALOG_CONNECT = VpnManager.VPN_ERROR_LARGEST + 1;
     private static final int DIALOG_SECRET_NOT_SET = DIALOG_CONNECT + 1;
diff --git a/src/com/android/settings/wifi/AdvancedSettings.java b/src/com/android/settings/wifi/AdvancedSettings.java
index 7d62f8e..636e1df 100644
--- a/src/com/android/settings/wifi/AdvancedSettings.java
+++ b/src/com/android/settings/wifi/AdvancedSettings.java
@@ -40,6 +40,7 @@
         implements Preference.OnPreferenceChangeListener {
 
     private static final String KEY_MAC_ADDRESS = "mac_address";
+    private static final String KEY_CURRENT_IP_ADDRESS = "current_ip_address";
     private static final String KEY_USE_STATIC_IP = "use_static_ip";
     private static final String KEY_NUM_CHANNELS = "num_channels";
     private static final String KEY_SLEEP_POLICY = "sleep_policy";
@@ -109,7 +110,7 @@
             initNumChannelsPreference();
         }
         initSleepPolicyPreference();
-        refreshMacAddress();
+        refreshWifiInfo();
     }
 
     private void initNumChannelsPreference() {
@@ -307,7 +308,7 @@
         }
     }
     
-    private void refreshMacAddress() {
+    private void refreshWifiInfo() {
         WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE);
         WifiInfo wifiInfo = wifiManager.getConnectionInfo();
 
@@ -315,6 +316,20 @@
         String macAddress = wifiInfo == null ? null : wifiInfo.getMacAddress();
         wifiMacAddressPref.setSummary(!TextUtils.isEmpty(macAddress) ? macAddress 
                 : getString(R.string.status_unavailable));
+
+        Preference wifiIpAddressPref = findPreference(KEY_CURRENT_IP_ADDRESS);
+        String ipAddress = null;
+        if (wifiInfo != null) {
+            long addr = wifiInfo.getIpAddress();
+            if (addr != 0) {
+                // handle negative values whe first octet > 127
+                if (addr < 0) addr += 0x100000000L;
+                ipAddress = String.format("%d.%d.%d.%d",
+                        addr & 0xFF, (addr >> 8) & 0xFF, (addr >> 16) & 0xFF, (addr >> 24) & 0xFF);
+            }
+        }
+        wifiIpAddressPref.setSummary(ipAddress == null ?
+                getString(R.string.status_unavailable) : ipAddress);
     }
-    
+
 }
diff --git a/tests/res/values-zh-rCN/strings.xml b/tests/res/values-zh-rCN/strings.xml
index d17ee92..a721676 100644
--- a/tests/res/values-zh-rCN/strings.xml
+++ b/tests/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="discoverable" msgid="3169265480789026010">"可检测性"</string>
+    <string name="discoverable" msgid="3169265480789026010">"可检测的"</string>
     <string name="start_scan" msgid="6035699220942169744">"开始扫描"</string>
     <string name="stop_scan" msgid="527546916633745779">"停止扫描"</string>
 </resources>
